All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/image-png/tests/bugfixes.rs:7,1
    - Dst: unwrap
      Src: /src/image-png/tests/bugfixes.rs:7,1
    - Dst: DecodeOptions::default
      Src: /src/image-png/tests/bugfixes.rs:9,1
    - Dst: Self::set_skip_ancillary_crc_failures
      Src: /src/image-png/tests/bugfixes.rs:10,1
    - Dst: Decoder::new_with_options
      Src: /src/image-png/tests/bugfixes.rs:12,1
    - Dst: BufReader::new
      Src: /src/image-png/tests/bugfixes.rs:12,1
    - Dst: Decoder::read_info
      Src: /src/image-png/tests/bugfixes.rs:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 6
    functionDepth: 16
    functionLinenumber: 6
    functionLinenumberEnd: 18
    functionName: issue_430
    functionSourceFile: /src/image-png/tests/bugfixes.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - File::open
    - Decoder::read_info
    - Decoder::new_with_options
    - DecodeOptions::default
    - Self::set_skip_ancillary_crc_failures
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn issue_430()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/image-png/tests/check_testimages.rs:17,1
    - Dst: collect
      Src: /src/image-png/tests/check_testimages.rs:17,1
    - Dst: BTreeMap::new
      Src: /src/image-png/tests/check_testimages.rs:18,1
    - Dst: clone
      Src: /src/image-png/tests/check_testimages.rs:21,1
    - Dst: PathBuf::push
      Src: /src/image-png/tests/check_testimages.rs:22,1
    - Dst: PathBuf::push
      Src: /src/image-png/tests/check_testimages.rs:23,1
    - Dst: glob::glob
      Src: /src/image-png/tests/check_testimages.rs:26,1
    - Dst: unwrap
      Src: /src/image-png/tests/check_testimages.rs:26,1
    - Dst: filter_map
      Src: /src/image-png/tests/check_testimages.rs:26,1
    - Dst: func
      Src: /src/image-png/tests/check_testimages.rs:28,1
    - Dst: PathBuf::clone
      Src: /src/image-png/tests/check_testimages.rs:28,1
    - Dst: Self::insert
      Src: /src/image-png/tests/check_testimages.rs:30,1
    - Dst: PathBuf::file_name
      Src: /src/image-png/tests/check_testimages.rs:33,1
    - Dst: unwrap
      Src: /src/image-png/tests/check_testimages.rs:33,1
    - Dst: to_str
      Src: /src/image-png/tests/check_testimages.rs:33,1
    - Dst: unwrap
      Src: /src/image-png/tests/check_testimages.rs:33,1
    - Dst: starts_with
      Src: /src/image-png/tests/check_testimages.rs:33,1
    - Dst: push
      Src: /src/image-png/tests/check_testimages.rs:34,1
    - Dst: PathBuf::push
      Src: /src/image-png/tests/check_testimages.rs:42,1
    - Dst: BTreeMap::new
      Src: /src/image-png/tests/check_testimages.rs:43,1
    - Dst: BufReader::new
      Src: /src/image-png/tests/check_testimages.rs:45,1
    - Dst: File::open
      Src: /src/image-png/tests/check_testimages.rs:45,1
    - Dst: unwrap
      Src: /src/image-png/tests/check_testimages.rs:45,1
    - Dst: Self::lines
      Src: /src/image-png/tests/check_testimages.rs:45,1
    - Dst: unwrap
      Src: /src/image-png/tests/check_testimages.rs:46,1
    - Dst: split
      Src: /src/image-png/tests/check_testimages.rs:47,1
    - Dst: collect
      Src: /src/image-png/tests/check_testimages.rs:47,1
    - Dst: is_empty
      Src: /src/image-png/tests/check_testimages.rs:48,1
    - Dst: push
      Src: /src/image-png/tests/check_testimages.rs:55,1
    - Dst: Self::insert
      Src: /src/image-png/tests/check_testimages.rs:61,1
    - Dst: to_string
      Src: /src/image-png/tests/check_testimages.rs:61,1
    - Dst: Self::iter
      Src: /src/image-png/tests/check_testimages.rs:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 87
    argCount: 3
    argNames:
    - results_path
    - test_suites
    - func
    argTypes:
    - '&str'
    - '&[&str]'
    - F
    constantsTouched: []
    func_position:
      end: 92
      start: 13
    functionDepth: 26
    functionLinenumber: 13
    functionLinenumberEnd: 92
    functionName: process_images
    functionSourceFile: /src/image-png/tests/check_testimages.rs
    functionUses: 4
    functionsReached:
    - collect
    - Self::lines
    - iter
    - glob::glob
    - unwrap
    - File::open
    - filter_map
    - clone
    - BTreeMap::new
    - is_empty
    - Self::insert
    - func
    - PathBuf::clone
    - Self::iter
    - PathBuf::push
    - to_string
    - starts_with
    - split
    - BufReader::new
    - PathBuf::file_name
    - to_str
    - push
    linkageType: ''
    returnType: void
    signature: 'fn process_images<F>(results_path: &str, test_suites: &[&str], func:
      F)whereF: Fn(PathBuf) -> Result<u32, png::DecodingError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_images
      Src: /src/image-png/tests/check_testimages.rs:96,1
    - Dst: png::Decoder::new
      Src: /src/image-png/tests/check_testimages.rs:97,1
    - Dst: BufReader::new
      Src: /src/image-png/tests/check_testimages.rs:97,1
    - Dst: File::open
      Src: /src/image-png/tests/check_testimages.rs:97,1
    - Dst: Self::set_transformations
      Src: /src/image-png/tests/check_testimages.rs:98,1
    - Dst: png::Transformations::normalize_to_color8
      Src: /src/image-png/tests/check_testimages.rs:98,1
    - Dst: Self::read_info
      Src: /src/image-png/tests/check_testimages.rs:99,1
    - Dst: Reader::next_frame
      Src: /src/image-png/tests/check_testimages.rs:101,1
    - Dst: Crc32::new
      Src: /src/image-png/tests/check_testimages.rs:111,1
    - Dst: update
      Src: /src/image-png/tests/check_testimages.rs:112,1
    - Dst: Ok
      Src: /src/image-png/tests/check_testimages.rs:113,1
    - Dst: finalize
      Src: /src/image-png/tests/check_testimages.rs:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 27
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: render_images
    functionSourceFile: /src/image-png/tests/check_testimages.rs
    functionUses: 0
    functionsReached:
    - Crc32::new
    - File::open
    - update
    - png::Decoder::new
    - png::Transformations::normalize_to_color8
    - finalize
    - process_images
    - Self::set_transformations
    - Reader::next_frame
    - Self::read_info
    - Ok
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn render_images()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_images
      Src: /src/image-png/tests/check_testimages.rs:119,1
    - Dst: png::Decoder::new
      Src: /src/image-png/tests/check_testimages.rs:120,1
    - Dst: BufReader::new
      Src: /src/image-png/tests/check_testimages.rs:120,1
    - Dst: File::open
      Src: /src/image-png/tests/check_testimages.rs:120,1
    - Dst: Self::read_info
      Src: /src/image-png/tests/check_testimages.rs:121,1
    - Dst: Reader::next_frame
      Src: /src/image-png/tests/check_testimages.rs:123,1
    - Dst: samples
      Src: /src/image-png/tests/check_testimages.rs:125,1
    - Dst: Crc32::new
      Src: /src/image-png/tests/check_testimages.rs:136,1
    - Dst: update
      Src: /src/image-png/tests/check_testimages.rs:137,1
    - Dst: Ok
      Src: /src/image-png/tests/check_testimages.rs:138,1
    - Dst: finalize
      Src: /src/image-png/tests/check_testimages.rs:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 27
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: render_images_identity
    functionSourceFile: /src/image-png/tests/check_testimages.rs
    functionUses: 0
    functionsReached:
    - Crc32::new
    - File::open
    - update
    - png::Decoder::new
    - finalize
    - samples
    - process_images
    - Reader::next_frame
    - Self::read_info
    - Ok
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn render_images_identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_images
      Src: /src/image-png/tests/check_testimages.rs:144,1
    - Dst: png::Decoder::new
      Src: /src/image-png/tests/check_testimages.rs:145,1
    - Dst: BufReader::new
      Src: /src/image-png/tests/check_testimages.rs:145,1
    - Dst: File::open
      Src: /src/image-png/tests/check_testimages.rs:145,1
    - Dst: Self::set_transformations
      Src: /src/image-png/tests/check_testimages.rs:146,1
    - Dst: Self::read_info
      Src: /src/image-png/tests/check_testimages.rs:147,1
    - Dst: Reader::next_frame
      Src: /src/image-png/tests/check_testimages.rs:149,1
    - Dst: samples
      Src: /src/image-png/tests/check_testimages.rs:151,1
    - Dst: Crc32::new
      Src: /src/image-png/tests/check_testimages.rs:162,1
    - Dst: update
      Src: /src/image-png/tests/check_testimages.rs:163,1
    - Dst: Ok
      Src: /src/image-png/tests/check_testimages.rs:164,1
    - Dst: finalize
      Src: /src/image-png/tests/check_testimages.rs:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 27
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: render_images_alpha
    functionSourceFile: /src/image-png/tests/check_testimages.rs
    functionUses: 0
    functionsReached:
    - Crc32::new
    - File::open
    - update
    - png::Decoder::new
    - finalize
    - samples
    - process_images
    - Self::set_transformations
    - Reader::next_frame
    - Self::read_info
    - Ok
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn render_images_alpha()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_images
      Src: /src/image-png/tests/check_testimages.rs:170,1
    - Dst: PathBuf::file_stem
      Src: /src/image-png/tests/check_testimages.rs:172,1
    - Dst: expect
      Src: /src/image-png/tests/check_testimages.rs:172,1
    - Dst: to_str
      Src: /src/image-png/tests/check_testimages.rs:172,1
    - Dst: expect
      Src: /src/image-png/tests/check_testimages.rs:172,1
    - Dst: rsplit
      Src: /src/image-png/tests/check_testimages.rs:177,1
    - Dst: next
      Src: /src/image-png/tests/check_testimages.rs:177,1
    - Dst: expect
      Src: /src/image-png/tests/check_testimages.rs:177,1
    - Dst: parse
      Src: /src/image-png/tests/check_testimages.rs:177,1
    - Dst: expect
      Src: /src/image-png/tests/check_testimages.rs:177,1
    - Dst: png::Decoder::new
      Src: /src/image-png/tests/check_testimages.rs:186,1
    - Dst: BufReader::new
      Src: /src/image-png/tests/check_testimages.rs:186,1
    - Dst: File::open
      Src: /src/image-png/tests/check_testimages.rs:186,1
    - Dst: Self::set_transformations
      Src: /src/image-png/tests/check_testimages.rs:187,1
    - Dst: png::Transformations::normalize_to_color8
      Src: /src/image-png/tests/check_testimages.rs:187,1
    - Dst: Self::read_info
      Src: /src/image-png/tests/check_testimages.rs:188,1
    - Dst: Reader::info
      Src: /src/image-png/tests/check_testimages.rs:190,1
    - Dst: '&Info::animation_control'
      Src: /src/image-png/tests/check_testimages.rs:190,1
    - Dst: Option::unwrap
      Src: /src/image-png/tests/check_testimages.rs:190,1
    - Dst: Crc32::new
      Src: /src/image-png/tests/check_testimages.rs:199,1
    - Dst: Reader::next_frame
      Src: /src/image-png/tests/check_testimages.rs:201,1
    - Dst: update
      Src: /src/image-png/tests/check_testimages.rs:202,1
    - Dst: Ok
      Src: /src/image-png/tests/check_testimages.rs:204,1
    - Dst: finalize
      Src: /src/image-png/tests/check_testimages.rs:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 27
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: apng_images
    functionSourceFile: /src/image-png/tests/check_testimages.rs
    functionUses: 0
    functionsReached:
    - process_images
    - Self::set_transformations
    - '&Info::animation_control'
    - Ok
    - Crc32::new
    - File::open
    - update
    - finalize
    - PathBuf::file_stem
    - expect
    - Reader::next_frame
    - next
    - Self::read_info
    - rsplit
    - png::Decoder::new
    - BufReader::new
    - to_str
    - parse
    - png::Transformations::normalize_to_color8
    - Option::unwrap
    - Reader::info
    linkageType: ''
    returnType: void
    signature: fn apng_images()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::components
      Src: /src/image-png/tests/check_testimages.rs:210,1
    - Dst: peekable
      Src: /src/image-png/tests/check_testimages.rs:210,1
    - Dst: peek
      Src: /src/image-png/tests/check_testimages.rs:211,1
    - Dst: cloned
      Src: /src/image-png/tests/check_testimages.rs:211,1
    - Dst: next
      Src: /src/image-png/tests/check_testimages.rs:212,1
    - Dst: PathBuf::from
      Src: /src/image-png/tests/check_testimages.rs:213,1
    - Dst: as_os_str
      Src: /src/image-png/tests/check_testimages.rs:213,1
    - Dst: PathBuf::new
      Src: /src/image-png/tests/check_testimages.rs:215,1
    - Dst: push
      Src: /src/image-png/tests/check_testimages.rs:222,1
    - Dst: as_os_str
      Src: /src/image-png/tests/check_testimages.rs:222,1
    - Dst: pop
      Src: /src/image-png/tests/check_testimages.rs:226,1
    - Dst: push
      Src: /src/image-png/tests/check_testimages.rs:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: normalize_path
    functionSourceFile: /src/image-png/tests/check_testimages.rs
    functionUses: 0
    functionsReached:
    - peekable
    - PathBuf::from
    - PathBuf::components
    - as_os_str
    - peek
    - cloned
    - pop
    - push
    - next
    - PathBuf::new
    linkageType: ''
    returnType: PathBuf
    signature: 'fn normalize_path(path: &Path) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::count_samples
      Src: /src/image-png/src/adam7.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pass
    - line
    - width
    argTypes:
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: Adam7Info::new
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - Result::count_samples
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(pass: u8, line: u32, width: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Adam7Info::pass_constants
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PassConstants
    signature: fn pass_constants(&self) -> PassConstants
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Info::pass_constants
      Src: /src/image-png/src/adam7.rs:69,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:70,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:70,1
    - Dst: min
      Src: /src/image-png/src/adam7.rs:71,1
    - Dst: splat_x_repeat
      Src: /src/image-png/src/adam7.rs:71,1
    - Dst: u8::into
      Src: /src/image-png/src/adam7.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - idx
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Adam7Info::splat_pixel_repeat
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - u8::into
    - min
    - splat_x_repeat
    - Adam7Info::pass_constants
    - u32::from
    linkageType: ''
    returnType: u8
    signature: 'fn splat_pixel_repeat(self, idx: usize) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Info::pass_constants
      Src: /src/image-png/src/adam7.rs:75,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:76,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:76,1
    - Dst: min
      Src: /src/image-png/src/adam7.rs:77,1
    - Dst: splat_y_repeat
      Src: /src/image-png/src/adam7.rs:77,1
    - Dst: u8::into
      Src: /src/image-png/src/adam7.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - height
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: Adam7Info::splat_line_repeat
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - u8::into
    - min
    - splat_y_repeat
    - Adam7Info::pass_constants
    - u32::from
    linkageType: ''
    returnType: u8
    signature: 'fn splat_line_repeat(self, height: u32) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: PassConstants::splat_x_repeat
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: const fn splat_x_repeat(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: PassConstants::splat_y_repeat
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: const fn splat_y_repeat(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saturating_sub
      Src: /src/image-png/src/adam7.rs:99,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:100,1
    - Dst: div_ceil
      Src: /src/image-png/src/adam7.rs:99,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - width
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: PassConstants::count_samples
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - saturating_sub
    - div_ceil
    - u32::from
    linkageType: ''
    returnType: u32
    signature: 'fn count_samples(self, width: u32) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::saturating_sub
      Src: /src/image-png/src/adam7.rs:105,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:106,1
    - Dst: div_ceil
      Src: /src/image-png/src/adam7.rs:105,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - height
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: PassConstants::count_lines
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - Vec::saturating_sub
    - u32::from
    - div_ceil
    linkageType: ''
    returnType: u32
    signature: 'fn count_lines(self, height: u32) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_pass
      Src: /src/image-png/src/adam7.rs:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: Adam7Iterator::new
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 8
    functionsReached:
    - init_pass
    linkageType: ''
    returnType: Adam7Iterator
    signature: 'pub fn new(width: u32, height: u32) -> Adam7Iterator'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::count_samples
      Src: /src/image-png/src/adam7.rs:174,1
    - Dst: Result::count_lines
      Src: /src/image-png/src/adam7.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: Adam7Iterator::init_pass
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 1
    functionsReached:
    - Result::count_samples
    - Result::count_lines
    linkageType: ''
    returnType: void
    signature: fn init_pass(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/adam7.rs:187,1
    - Dst: Adam7Iterator::init_pass
      Src: /src/image-png/src/adam7.rs:195,1
    - Dst: Adam7Iterator::next
      Src: /src/image-png/src/adam7.rs:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: Adam7Iterator::next
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 1
    functionsReached:
    - Adam7Iterator::init_pass
    - Adam7Iterator::next
    - Some
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::iter'
      Src: /src/image-png/src/adam7.rs:241,1
    - Dst: Result::copied
      Src: /src/image-png/src/adam7.rs:241,1
    - Dst: flat_map
      Src: /src/image-png/src/adam7.rs:241,1
    - Dst: '[u8; N]::map'
      Src: /src/image-png/src/adam7.rs:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - scanline
    - bit_pos
    - mask
    argTypes:
    - '&[u8]'
    - '[u8; N]'
    - u8
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 26
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: subbyte_values
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 3
    functionsReached:
    - flat_map
    - Result::copied
    - '&[u8]::iter'
    - '[u8; N]::map'
    linkageType: ''
    returnType: impl Iterator
    signature: 'fn subbyte_values<const N: usize>(scanline: &[u8],bit_pos: [u8; N],mask:
      u8,) -> impl Iterator<Item = u8> + ''_'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::pass_constants
      Src: /src/image-png/src/adam7.rs:256,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:259,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:260,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:261,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:262,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:271,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:271,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:273,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - row_stride_in_bytes
    - info
    - bits_pp
    argTypes:
    - usize
    - '&Adam7Info'
    - u8
    constantsTouched: []
    func_position:
      end: 279
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 279
    functionName: expand_adam7_bits
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 2
    functionsReached:
    - Result::pass_constants
    - u64::from
    - usize::from
    - map
    linkageType: ''
    returnType: impl Iterator
    signature: 'fn expand_adam7_bits(row_stride_in_bytes: usize,info: &Adam7Info,bits_pp:
      u8,) -> impl Iterator<Item = BitPostion>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::pass_constants
      Src: /src/image-png/src/adam7.rs:287,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:290,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:291,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:292,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:293,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:301,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:301,1
    - Dst: u64::from
      Src: /src/image-png/src/adam7.rs:302,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 3
    argNames:
    - row_stride_in_bytes
    - info
    - bytes_pp
    argTypes:
    - usize
    - '&Adam7Info'
    - u8
    constantsTouched: []
    func_position:
      end: 305
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 305
    functionName: expand_adam7_bytes
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 2
    functionsReached:
    - Result::pass_constants
    - u64::from
    - usize::from
    - map
    linkageType: ''
    returnType: impl Iterator
    signature: 'fn expand_adam7_bytes(row_stride_in_bytes: usize,info: &Adam7Info,bytes_pp:
      u8,) -> impl Iterator<Item = usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_adam7_bits
      Src: /src/image-png/src/adam7.rs:354,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:355,1
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:355,1
    - Dst: expand_adam7_bits
      Src: /src/image-png/src/adam7.rs:362,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:364,1
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:364,1
    - Dst: expand_adam7_bits
      Src: /src/image-png/src/adam7.rs:371,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:373,1
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:373,1
    - Dst: expand_adam7_bytes
      Src: /src/image-png/src/adam7.rs:382,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:384,1
    - Dst: expand_adam7_bytes
      Src: /src/image-png/src/adam7.rs:389,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:391,1
    - Dst: Result::chunks
      Src: /src/image-png/src/adam7.rs:391,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/adam7.rs:392,1
    - Dst: expand_adam7_bytes
      Src: /src/image-png/src/adam7.rs:398,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:400,1
    - Dst: Result::chunks
      Src: /src/image-png/src/adam7.rs:400,1
    - Dst: into
      Src: /src/image-png/src/adam7.rs:400,1
    - Dst: len
      Src: /src/image-png/src/adam7.rs:401,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/adam7.rs:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 86
    argCount: 5
    argNames:
    - img
    - img_row_stride
    - interlaced_row
    - interlace_info
    - bits_per_pixel
    argTypes:
    - '&mut [u8]'
    - usize
    - '&[u8]'
    - '&Adam7Info'
    - u8
    constantsTouched: []
    func_position:
      end: 405
      start: 341
    functionDepth: 27
    functionLinenumber: 341
    functionLinenumberEnd: 405
    functionName: expand_pass
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 4
    functionsReached:
    - impl Iterator::zip
    - copy_from_slice
    - len
    - into
    - expand_adam7_bits
    - subbyte_values
    - Result::chunks
    - expand_adam7_bytes
    linkageType: ''
    returnType: void
    signature: 'pub fn expand_pass(img: &mut [u8],img_row_stride: usize,interlaced_row:
      &[u8],interlace_info: &Adam7Info,bits_per_pixel: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_first_mut
      Src: /src/image-png/src/adam7.rs:453,1
    - Dst: unwrap
      Src: /src/image-png/src/adam7.rs:453,1
    - Dst: split_first_mut
      Src: /src/image-png/src/adam7.rs:461,1
    - Dst: unwrap
      Src: /src/image-png/src/adam7.rs:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 5
    argNames:
    - img
    - px
    - pos
    - repeat
    - bpp
    argTypes:
    - '&mut [u8]'
    - u8
    - BitPostion
    - RangeTo<u8>
    - u8
    constantsTouched: []
    func_position:
      end: 471
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 471
    functionName: e::x::p::a::n::d::_::p::a::s::s::_::s::p::l::a::t::expand_bits_to_img
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - split_first_mut
    linkageType: ''
    returnType: void
    signature: 'fn expand_bits_to_img(img: &mut [u8],px: u8,mut pos: BitPostion,repeat:
      RangeTo<u8>,bpp: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/image-png/src/adam7.rs:473,1
    - Dst: usize::splat_line_repeat
      Src: /src/image-png/src/adam7.rs:474,1
    - Dst: expand_adam7_bits
      Src: /src/image-png/src/adam7.rs:485,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:486,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:488,1
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:489,1
    - Dst: enumerate
      Src: /src/image-png/src/adam7.rs:488,1
    - Dst: usize::splat_pixel_repeat
      Src: /src/image-png/src/adam7.rs:492,1
    - Dst: expand_bits_to_img
      Src: /src/image-png/src/adam7.rs:495,1
    - Dst: expand_adam7_bits
      Src: /src/image-png/src/adam7.rs:503,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:504,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:506,1
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:507,1
    - Dst: enumerate
      Src: /src/image-png/src/adam7.rs:506,1
    - Dst: usize::splat_pixel_repeat
      Src: /src/image-png/src/adam7.rs:510,1
    - Dst: expand_bits_to_img
      Src: /src/image-png/src/adam7.rs:512,1
    - Dst: expand_adam7_bits
      Src: /src/image-png/src/adam7.rs:520,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:521,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:523,1
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:524,1
    - Dst: enumerate
      Src: /src/image-png/src/adam7.rs:523,1
    - Dst: usize::splat_pixel_repeat
      Src: /src/image-png/src/adam7.rs:527,1
    - Dst: expand_bits_to_img
      Src: /src/image-png/src/adam7.rs:529,1
    - Dst: expand_adam7_bytes
      Src: /src/image-png/src/adam7.rs:538,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:539,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:541,1
    - Dst: enumerate
      Src: /src/image-png/src/adam7.rs:541,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:542,1
    - Dst: usize::splat_pixel_repeat
      Src: /src/image-png/src/adam7.rs:542,1
    - Dst: fill
      Src: /src/image-png/src/adam7.rs:544,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:551,1
    - Dst: expand_adam7_bytes
      Src: /src/image-png/src/adam7.rs:554,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:555,1
    - Dst: impl Iterator::zip
      Src: /src/image-png/src/adam7.rs:557,1
    - Dst: Result::chunks_exact
      Src: /src/image-png/src/adam7.rs:558,1
    - Dst: enumerate
      Src: /src/image-png/src/adam7.rs:557,1
    - Dst: usize::from
      Src: /src/image-png/src/adam7.rs:561,1
    - Dst: usize::splat_pixel_repeat
      Src: /src/image-png/src/adam7.rs:561,1
    - Dst: chunks_exact_mut
      Src: /src/image-png/src/adam7.rs:564,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/adam7.rs:565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 176
    argCount: 5
    argNames:
    - img
    - img_row_stride
    - interlaced_row
    - interlace_info
    - bits_per_pixel
    argTypes:
    - '&mut [u8]'
    - usize
    - '&[u8]'
    - '&Adam7Info'
    - u8
    constantsTouched: []
    func_position:
      end: 571
      start: 439
    functionDepth: 21
    functionLinenumber: 439
    functionLinenumberEnd: 571
    functionName: expand_pass_splat
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 3
    functionsReached:
    - fill
    - impl Iterator::zip
    - usize::from
    - usize::splat_pixel_repeat
    - copy_from_slice
    - len
    - expand_bits_to_img
    - expand_adam7_bits
    - enumerate
    - Result::chunks_exact
    - subbyte_values
    - usize::splat_line_repeat
    - chunks_exact_mut
    - expand_adam7_bytes
    linkageType: ''
    returnType: void
    signature: 'pub fn expand_pass_splat(img: &mut [u8],img_row_stride: usize,interlaced_row:
      &[u8],interlace_info: &Adam7Info,bits_per_pixel: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/adam7.rs:585,1
    - Dst: Result::collect
      Src: /src/image-png/src/adam7.rs:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 634
    functionName: tests::test_adam7
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - Adam7Iterator::new
    - Result::collect
    linkageType: ''
    returnType: void
    signature: fn test_adam7()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subbyte_values
      Src: /src/image-png/src/adam7.rs:641,1
    - Dst: collect::<Vec<_>>
      Src: /src/image-png/src/adam7.rs:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 27
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: tests::test_subbyte_pixels
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - collect::<Vec<_>>
    - subbyte_values
    linkageType: ''
    returnType: void
    signature: fn test_subbyte_pixels()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_adam7_info_for_tests
      Src: /src/image-png/src/adam7.rs:653,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:656,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:656,1
    - Dst: ".count)\n                .map(move |i| step * i + offset)\n          \
        \      .map(|i| BitPostion {\n                    byte: i / 8,\n         \
        \           bit: (i % 8) as u8,\n                })\n                .collect::<Vec<_>>"
      Src: /src/image-png/src/adam7.rs:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 721
    functionName: tests::test_expand_adam7_bits
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - ".count)\n                .map(move |i| step * i + offset)\n               \
      \ .map(|i| BitPostion {\n                    byte: i / 8,\n                \
      \    bit: (i % 8) as u8,\n                })\n                .collect::<Vec<_>>"
    - map
    - create_adam7_info_for_tests
    linkageType: ''
    returnType: void
    signature: fn test_expand_adam7_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 745
    functionName: tests::test_expand_adam7_bits_independent_row_stride
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_expand_adam7_bits_independent_row_stride()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:755,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:755,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:758,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:758,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:761,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:761,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:764,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:764,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:767,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:767,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:770,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:770,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:773,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:773,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:779,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:779,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:785,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:785,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:791,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:791,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:797,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:797,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:803,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:803,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:818,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:818,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:833,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:833,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:848,1
    - Dst: info
      Src: /src/image-png/src/adam7.rs:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 748
    functionDepth: 28
    functionLinenumber: 748
    functionLinenumberEnd: 862
    functionName: tests::test_expand_pass_subbyte
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - info
    - expand_pass
    linkageType: ''
    returnType: void
    signature: fn test_expand_pass_subbyte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/adam7.rs:890,1
    - Dst: iter
      Src: /src/image-png/src/adam7.rs:891,1
    - Dst: zip
      Src: /src/image-png/src/adam7.rs:891,1
    - Dst: expand_pass_splat
      Src: /src/image-png/src/adam7.rs:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 895
      start: 867
    functionDepth: 24
    functionLinenumber: 867
    functionLinenumberEnd: 895
    functionName: tests::test_expand_pass_splat_4bpp
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - Adam7Iterator::new
    - iter
    - expand_pass_splat
    - zip
    linkageType: ''
    returnType: void
    signature: fn test_expand_pass_splat_4bpp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/image-png/src/adam7.rs:905,1
    - Dst: collect
      Src: /src/image-png/src/adam7.rs:905,1
    - Dst: u32::from
      Src: /src/image-png/src/adam7.rs:908,1
    - Dst: next_multiple_of
      Src: /src/image-png/src/adam7.rs:908,1
    - Dst: bytes_of
      Src: /src/image-png/src/adam7.rs:910,1
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/adam7.rs:918,1
    - Dst: bytes_of
      Src: /src/image-png/src/adam7.rs:919,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:922,1
    - Dst: expand_pass_splat
      Src: /src/image-png/src/adam7.rs:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 931
      start: 900
    functionDepth: 26
    functionLinenumber: 900
    functionLinenumberEnd: 931
    functionName: tests::adam7_equivalence
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - collect
    - expand_pass_splat
    - take
    - next_multiple_of
    - expand_pass
    - bytes_of
    - Adam7Iterator::new
    - u32::from
    linkageType: ''
    returnType: void
    signature: fn adam7_equivalence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/adam7.rs:962,1
    - Dst: iter
      Src: /src/image-png/src/adam7.rs:963,1
    - Dst: zip
      Src: /src/image-png/src/adam7.rs:963,1
    - Dst: expand_pass_splat
      Src: /src/image-png/src/adam7.rs:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 934
    functionDepth: 24
    functionLinenumber: 934
    functionLinenumberEnd: 967
    functionName: tests::test_expand_pass_splat_1bpp
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - Adam7Iterator::new
    - iter
    - expand_pass_splat
    - zip
    linkageType: ''
    returnType: void
    signature: fn test_expand_pass_splat_1bpp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/adam7.rs:981,1
    - Dst: Adam7Iterator::into_iter
      Src: /src/image-png/src/adam7.rs:981,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:993,1
    - Dst: collect
      Src: /src/image-png/src/adam7.rs:993,1
    - Dst: expand_pass
      Src: /src/image-png/src/adam7.rs:995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 3
    argNames:
    - width
    - height
    - bits_pp
    argTypes:
    - usize
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 999
      start: 975
    functionDepth: 26
    functionLinenumber: 975
    functionLinenumberEnd: 999
    functionName: t::e::s::t::s::::::::r::e::g::r::e::s::s::i::o::n::_::o::v::e::r::f::l::o::w::_::a::d::a::m::7::_::b::i::t::f::i::l::l::multibyte_expand_pass_test_helper
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - collect
    - map
    - expand_pass
    - Adam7Iterator::into_iter
    - Adam7Iterator::new
    linkageType: ''
    returnType: Vec
    signature: 'fn multibyte_expand_pass_test_helper(width: usize, height: usize,
      bits_pp: u8) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multibyte_expand_pass_test_helper
      Src: /src/image-png/src/adam7.rs:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 974
    functionDepth: 27
    functionLinenumber: 974
    functionLinenumberEnd: 1003
    functionName: tests::regression_overflow_adam7_bitfill
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - multibyte_expand_pass_test_helper
    linkageType: ''
    returnType: void
    signature: fn regression_overflow_adam7_bitfill()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/adam7.rs:1009,1
    - Dst: Adam7Iterator::filter
      Src: /src/image-png/src/adam7.rs:1009,1
    - Dst: map
      Src: /src/image-png/src/adam7.rs:1009,1
    - Dst: next
      Src: /src/image-png/src/adam7.rs:1009,1
    - Dst: unwrap
      Src: /src/image-png/src/adam7.rs:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pass
    - line
    - img_width
    argTypes:
    - u8
    - u32
    - usize
    constantsTouched: []
    func_position:
      end: 1022
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1022
    functionName: tests::create_adam7_info_for_tests
    functionSourceFile: /src/image-png/src/adam7.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Adam7Iterator::filter
    - map
    - next
    - Adam7Iterator::new
    linkageType: ''
    returnType: Adam7Info
    signature: 'fn create_adam7_info_for_tests(pass: u8, line: u32, img_width: usize)
      -> Adam7Info'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_png_sig
      Src: /src/image-png/src/test_utils.rs:30,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/test_utils.rs:31,1
    - Dst: write_rgba8_idats
      Src: /src/image-png/src/test_utils.rs:32,1
    - Dst: write_iend
      Src: /src/image-png/src/test_utils.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - w
    - size
    - idat_bytes
    argTypes:
    - '&mut impl Write'
    - u32
    - usize
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 21
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: write_noncompressed_png
    functionSourceFile: /src/image-png/src/test_utils.rs
    functionUses: 4
    functionsReached:
    - write_rgba8_idats
    - write_png_sig
    - write_iend
    - write_rgba8_ihdr_with_width
    linkageType: ''
    returnType: void
    signature: 'pub fn write_noncompressed_png(w: &mut impl Write, size: u32, idat_bytes:
      usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::write_all
      Src: /src/image-png/src/test_utils.rs:40,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut impl Write'
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: write_png_sig
    functionSourceFile: /src/image-png/src/test_utils.rs
    functionUses: 10
    functionsReached:
    - Self::write_all
    - unwrap
    linkageType: ''
    returnType: void
    signature: 'pub fn write_png_sig(w: &mut impl Write)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::write_be
      Src: /src/image-png/src/encoder.rs:521,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:521,1
    - Dst: Self::write_all
      Src: /src/image-png/src/encoder.rs:522,1
    - Dst: Self::write_all
      Src: /src/image-png/src/encoder.rs:523,1
    - Dst: Crc32::new
      Src: /src/image-png/src/encoder.rs:524,1
    - Dst: update
      Src: /src/image-png/src/encoder.rs:525,1
    - Dst: update
      Src: /src/image-png/src/encoder.rs:526,1
    - Dst: Self::write_be
      Src: /src/image-png/src/encoder.rs:527,1
    - Dst: finalize
      Src: /src/image-png/src/encoder.rs:527,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - w
    - name
    - data
    argTypes:
    - W
    - chunk::ChunkType
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 19
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: write_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 31
    functionsReached:
    - Self::write_be
    - Crc32::new
    - update
    - Result::len
    - finalize
    - Self::write_all
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_chunk<W: Write>(mut w: W, name: chunk::ChunkType,
      data: &[u8]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/test_utils.rs:64,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/test_utils.rs:65,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:65,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/test_utils.rs:66,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:66,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/test_utils.rs:67,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:67,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/test_utils.rs:68,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:68,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/test_utils.rs:69,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:69,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/test_utils.rs:70,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:70,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/test_utils.rs:71,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:71,1
    - Dst: write_chunk
      Src: /src/image-png/src/test_utils.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 2
    argNames:
    - w
    - width
    argTypes:
    - '&mut impl Write'
    - u32
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 20
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: write_rgba8_ihdr_with_width
    functionSourceFile: /src/image-png/src/test_utils.rs
    functionUses: 9
    functionsReached:
    - write_chunk
    - unwrap
    - write_u32::<byteorder::BigEndian>
    - Result::write_u8
    - Vec::new
    linkageType: ''
    returnType: void
    signature: 'pub fn write_rgba8_ihdr_with_width(w: &mut impl Write, width: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/test_utils.rs:79,1
    - Dst: write_u8
      Src: /src/image-png/src/test_utils.rs:80,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:80,1
    - Dst: flat_map
      Src: /src/image-png/src/test_utils.rs:82,1
    - Dst: extend
      Src: /src/image-png/src/test_utils.rs:87,1
    - Dst: std::iter::repeat
      Src: /src/image-png/src/test_utils.rs:89,1
    - Dst: u8::take
      Src: /src/image-png/src/test_utils.rs:89,1
    - Dst: Wrapper::flatten
      Src: /src/image-png/src/test_utils.rs:89,1
    - Dst: "take(height as usize)\n            .flatten()\n            .collect::<Vec<_>>"
      Src: /src/image-png/src/test_utils.rs:89,1
    - Dst: Vec::new
      Src: /src/image-png/src/test_utils.rs:95,1
    - Dst: fdeflate::StoredOnlyCompressor::new
      Src: /src/image-png/src/test_utils.rs:97,1
    - Dst: std::io::Cursor::new
      Src: /src/image-png/src/test_utils.rs:97,1
    - Dst: Self::unwrap
      Src: /src/image-png/src/test_utils.rs:97,1
    - Dst: write_data
      Src: /src/image-png/src/test_utils.rs:98,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:98,1
    - Dst: finish
      Src: /src/image-png/src/test_utils.rs:99,1
    - Dst: unwrap
      Src: /src/image-png/src/test_utils.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 24
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: generate_rgba8_with_width_and_height
    functionSourceFile: /src/image-png/src/test_utils.rs
    functionUses: 9
    functionsReached:
    - write_data
    - unwrap
    - std::iter::repeat
    - u8::take
    - Vec::new
    - extend
    - finish
    - Wrapper::flatten
    - std::io::Cursor::new
    - Self::unwrap
    - "take(height as usize)\n            .flatten()\n            .collect::<Vec<_>>"
    - fdeflate::StoredOnlyCompressor::new
    - flat_map
    - write_u8
    linkageType: ''
    returnType: Vec
    signature: 'pub fn generate_rgba8_with_width_and_height(width: u32, height: u32)
      -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/test_utils.rs:106,1
    - Dst: Result::chunks
      Src: /src/image-png/src/test_utils.rs:108,1
    - Dst: write_chunk
      Src: /src/image-png/src/test_utils.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - size
    - idat_bytes
    argTypes:
    - '&mut impl Write'
    - u32
    - usize
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 25
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: write_rgba8_idats
    functionSourceFile: /src/image-png/src/test_utils.rs
    functionUses: 2
    functionsReached:
    - write_chunk
    - Result::chunks
    - generate_rgba8_with_width_and_height
    linkageType: ''
    returnType: void
    signature: 'pub fn write_rgba8_idats(w: &mut impl Write, size: u32, idat_bytes:
      usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_chunk
      Src: /src/image-png/src/test_utils.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut impl Write'
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 20
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: write_iend
    functionSourceFile: /src/image-png/src/test_utils.rs
    functionUses: 11
    functionsReached:
    - write_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn write_iend(w: &mut impl Write)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Filter::default
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - RowFilter
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Filter::from
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: RowFilter) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - compression
    argTypes:
    - Compression
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: Filter::from_simple
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn from_simple(compression: Compression) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: RowFilter::default
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/filter.rs:75,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:76,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:77,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:78,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: RowFilter::from_u8
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u8(n: u8) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/filter.rs:86,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:87,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:88,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:89,1
    - Dst: Some
      Src: /src/image-png/src/filter.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - strat
    argTypes:
    - Filter
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: RowFilter::from_method
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 2
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_method(strat: Filter) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:100,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:100,1
    - Dst: abs
      Src: /src/image-png/src/filter.rs:100,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:101,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:101,1
    - Dst: abs
      Src: /src/image-png/src/filter.rs:101,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:102,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:102,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:102,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:102,1
    - Dst: abs
      Src: /src/image-png/src/filter.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: filter_paeth
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 1
    functionsReached:
    - i16::from
    - abs
    linkageType: ''
    returnType: u8
    signature: 'fn filter_paeth(a: u8, b: u8, c: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:127,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:127,1
    - Dst: i16::from
      Src: /src/image-png/src/filter.rs:127,1
    - Dst: min
      Src: /src/image-png/src/filter.rs:128,1
    - Dst: max
      Src: /src/image-png/src/filter.rs:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: filter_paeth_stbi
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 1
    functionsReached:
    - max
    - i16::from
    - min
    linkageType: ''
    returnType: u8
    signature: 'fn filter_paeth_stbi(a: u8, b: u8, c: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/image-png/src/filter.rs:159,1
    - Dst: min
      Src: /src/image-png/src/filter.rs:159,1
    - Dst: max
      Src: /src/image-png/src/filter.rs:160,1
    - Dst: min
      Src: /src/image-png/src/filter.rs:160,1
    - Dst: max
      Src: /src/image-png/src/filter.rs:162,1
    - Dst: min
      Src: /src/image-png/src/filter.rs:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: filter_paeth_fpnge
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 2
    functionsReached:
    - max
    - min
    linkageType: ''
    returnType: u8
    signature: 'fn filter_paeth_fpnge(a: u8, b: u8, c: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RowFilter::from_method
      Src: /src/image-png/src/benchable_apis.rs:12,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/benchable_apis.rs:12,1
    - Dst: BytesPerPixel::from_usize
      Src: /src/image-png/src/benchable_apis.rs:13,1
    - Dst: crate::filter::unfilter
      Src: /src/image-png/src/benchable_apis.rs:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - filter
    - tbpp
    - previous
    - current
    argTypes:
    - Filter
    - u8
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: unfilter
    functionSourceFile: /src/image-png/src/benchable_apis.rs
    functionUses: 6
    functionsReached:
    - BytesPerPixel::from_usize
    - crate::filter::unfilter
    - RowFilter::from_method
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: 'pub fn unfilter(filter: Filter, tbpp: u8, previous: &[u8], current:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/image-png/src/filter.rs:692,1
    - Dst: chunks_exact_mut
      Src: /src/image-png/src/filter.rs:696,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:697,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:698,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:700,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:700,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:702,1
    - Dst: into_remainder
      Src: /src/image-png/src/filter.rs:706,1
    - Dst: iter_mut
      Src: /src/image-png/src/filter.rs:706,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:706,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:709,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:706,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:710,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:712,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/filter.rs:715,1
    - Dst: '&mut [u8]::chunks_exact_mut'
      Src: /src/image-png/src/filter.rs:719,1
    - Dst: '&[u8]::chunks_exact'
      Src: /src/image-png/src/filter.rs:720,1
    - Dst: '&[u8]::chunks_exact'
      Src: /src/image-png/src/filter.rs:721,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:723,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:723,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:725,1
    - Dst: into_remainder
      Src: /src/image-png/src/filter.rs:729,1
    - Dst: iter_mut
      Src: /src/image-png/src/filter.rs:729,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:729,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:732,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:729,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:733,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:735,1
    - Dst: chunks_exact_mut
      Src: /src/image-png/src/filter.rs:740,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:741,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:742,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:743,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:745,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:745,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:745,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:756,1
    - Dst: into_remainder
      Src: /src/image-png/src/filter.rs:762,1
    - Dst: iter_mut
      Src: /src/image-png/src/filter.rs:762,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:762,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:765,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:762,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:766,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:762,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:767,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:769,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:773,1
    - Dst: chunks_exact_mut
      Src: /src/image-png/src/filter.rs:778,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:779,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:780,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:781,1
    - Dst: chunks_exact
      Src: /src/image-png/src/filter.rs:782,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:784,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:784,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:784,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:784,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:791,1
    - Dst: filter_paeth_fpnge
      Src: /src/image-png/src/filter.rs:791,1
    - Dst: into_remainder
      Src: /src/image-png/src/filter.rs:795,1
    - Dst: iter_mut
      Src: /src/image-png/src/filter.rs:795,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:795,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:798,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:795,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:799,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:795,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:800,1
    - Dst: zip
      Src: /src/image-png/src/filter.rs:795,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:801,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:803,1
    - Dst: filter_paeth_fpnge
      Src: /src/image-png/src/filter.rs:803,1
    - Dst: wrapping_sub
      Src: /src/image-png/src/filter.rs:807,1
    - Dst: filter_paeth_fpnge
      Src: /src/image-png/src/filter.rs:807,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 291
    argCount: 6
    argNames:
    - method
    - bpp
    - len
    - previous
    - current
    - output
    argTypes:
    - RowFilter
    - usize
    - usize
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 812
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 812
    functionName: filter_internal
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 1
    functionsReached:
    - remainder
    - copy_from_slice
    - into_remainder
    - wrapping_sub
    - zip
    - chunks_exact
    - '&mut [u8]::chunks_exact_mut'
    - '&mut [u8]::copy_from_slice'
    - '&[u8]::chunks_exact'
    - iter_mut
    - filter_paeth_fpnge
    - chunks_exact_mut
    linkageType: ''
    returnType: RowFilter
    signature: 'fn filter_internal(method: RowFilter,bpp: usize,len: usize,previous:
      &[u8],current: &[u8],output: &mut [u8],) -> RowFilter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_usize
      Src: /src/image-png/src/filter.rs:822,1
    - Dst: '&[u8]::len'
      Src: /src/image-png/src/filter.rs:823,1
    - Dst: iter
      Src: /src/image-png/src/filter.rs:829,1
    - Dst: filter_internal
      Src: /src/image-png/src/filter.rs:830,1
    - Dst: sum_buffer
      Src: /src/image-png/src/filter.rs:831,1
    - Dst: filter_internal
      Src: /src/image-png/src/filter.rs:839,1
    - Dst: RowFilter::from_method
      Src: /src/image-png/src/filter.rs:844,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/filter.rs:844,1
    - Dst: filter_internal
      Src: /src/image-png/src/filter.rs:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - method
    - bpp
    - previous
    - current
    - output
    argTypes:
    - Filter
    - BytesPerPixel
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 848
      start: 814
    functionDepth: 21
    functionLinenumber: 814
    functionLinenumberEnd: 848
    functionName: filter
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 15
    functionsReached:
    - RowFilter::from_method
    - sum_buffer
    - filter_internal
    - iter
    - '&[u8]::len'
    - Option::unwrap
    - into_usize
    linkageType: ''
    returnType: RowFilter
    signature: 'pub(crate) fn filter(method: Filter,bpp: BytesPerPixel,previous: &[u8],current:
      &[u8],output: &mut [u8],) -> RowFilter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilterBuf::chunks_exact
      Src: /src/image-png/src/filter.rs:854,1
    - Dst: u64::from
      Src: /src/image-png/src/filter.rs:861,1
    - Dst: unsigned_abs
      Src: /src/image-png/src/filter.rs:861,1
    - Dst: saturating_add
      Src: /src/image-png/src/filter.rs:863,1
    - Dst: remainder
      Src: /src/image-png/src/filter.rs:867,1
    - Dst: u64::from
      Src: /src/image-png/src/filter.rs:868,1
    - Dst: unsigned_abs
      Src: /src/image-png/src/filter.rs:868,1
    - Dst: saturating_add
      Src: /src/image-png/src/filter.rs:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 872
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 872
    functionName: sum_buffer
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 1
    functionsReached:
    - remainder
    - UnfilterBuf::chunks_exact
    - u64::from
    - saturating_add
    - unsigned_abs
    linkageType: ''
    returnType: u64
    signature: 'fn sum_buffer(buf: &[u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter::repeat
      Src: /src/image-png/src/filter.rs:883,1
    - Dst: u8::take
      Src: /src/image-png/src/filter.rs:883,1
    - Dst: into
      Src: /src/image-png/src/filter.rs:883,1
    - Dst: Wrapper::collect
      Src: /src/image-png/src/filter.rs:883,1
    - Dst: collect
      Src: /src/image-png/src/filter.rs:884,1
    - Dst: clone
      Src: /src/image-png/src/filter.rs:885,1
    - Dst: filter
      Src: /src/image-png/src/filter.rs:889,1
    - Dst: into
      Src: /src/image-png/src/filter.rs:889,1
    - Dst: unfilter
      Src: /src/image-png/src/filter.rs:890,1
    - Dst: iter
      Src: /src/image-png/src/filter.rs:915,1
    - Dst: iter
      Src: /src/image-png/src/filter.rs:916,1
    - Dst: roundtrip
      Src: /src/image-png/src/filter.rs:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 880
    functionDepth: 22
    functionLinenumber: 880
    functionLinenumberEnd: 920
    functionName: test::roundtrip
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached:
    - Wrapper::collect
    - collect
    - u8::take
    - iter::repeat
    - clone
    - unfilter
    - into
    - iter
    - filter
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: filter_paeth
      Src: /src/image-png/src/filter.rs:928,1
    - Dst: filter_paeth_fpnge
      Src: /src/image-png/src/filter.rs:929,1
    - Dst: filter_paeth_stbi
      Src: /src/image-png/src/filter.rs:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 937
    functionName: test::paeth_impls_are_equivalent
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached:
    - filter_paeth_fpnge
    - filter_paeth
    - filter_paeth_stbi
    linkageType: ''
    returnType: void
    signature: fn paeth_impls_are_equivalent()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/image-png/src/filter.rs:943,1
    - Dst: collect
      Src: /src/image-png/src/filter.rs:944,1
    - Dst: clone
      Src: /src/image-png/src/filter.rs:945,1
    - Dst: filter
      Src: /src/image-png/src/filter.rs:949,1
    - Dst: into
      Src: /src/image-png/src/filter.rs:949,1
    - Dst: unfilter
      Src: /src/image-png/src/filter.rs:950,1
    - Dst: iter
      Src: /src/image-png/src/filter.rs:975,1
    - Dst: iter
      Src: /src/image-png/src/filter.rs:976,1
    - Dst: roundtrip
      Src: /src/image-png/src/filter.rs:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 980
      start: 940
    functionDepth: 22
    functionLinenumber: 940
    functionLinenumberEnd: 980
    functionName: test::roundtrip_ascending_previous_line
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached:
    - collect
    - clone
    - unfilter
    - into
    - iter
    - filter
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn roundtrip_ascending_previous_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: .=128).sum::<u64>
      Src: /src/image-png/src/filter.rs:988,1
    - Dst: .=127).sum::<u64>
      Src: /src/image-png/src/filter.rs:988,1
    - Dst: collect
      Src: /src/image-png/src/filter.rs:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 992
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 992
    functionName: test::sum_buffer_test
    functionSourceFile: /src/image-png/src/filter.rs
    functionUses: 0
    functionsReached:
    - collect
    - .=128).sum::<u64>
    - .=127).sum::<u64>
    linkageType: ''
    returnType: void
    signature: fn sum_buffer_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::mem::size_of::<$output_type>
      Src: /src/image-png/src/traits.rs:5,1
    - Dst: read_bytes_ext::read_exact
      Src: /src/image-png/src/traits.rs:6,1
    - Dst: Ok
      Src: /src/image-png/src/traits.rs:7,1
    - Dst: <$output_type>::from_be_bytes
      Src: /src/image-png/src/traits.rs:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 14
    functionName: read_bytes_ext
    functionSourceFile: /src/image-png/src/traits.rs
    functionUses: 0
    functionsReached:
    - std::mem::size_of::<$output_type>
    - read_bytes_ext::read_exact
    - <$output_type>::from_be_bytes
    - Ok
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_bytes_ext::write_all
      Src: /src/image-png/src/traits.rs:5,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/traits.rs:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: write_bytes_ext
    functionSourceFile: /src/image-png/src/traits.rs
    functionUses: 0
    functionsReached:
    - write_bytes_ext::write_all
    - to_be_bytes
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: EncodingError::cause
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: fn cause(&self) -> Option<&(dyn error::Error + 'static)>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: EncodingError::fmt
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result::Result
    signature: 'fn fmt(&self, fmt: &mut fmt::Formatter) -> result::Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 408
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 408
    functionName: FormatError::fmt
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:136,1
    - Dst: FormatErrorKind::BadTextEncoding
      Src: /src/image-png/src/encoder.rs:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tee
    argTypes:
    - TextEncodingError
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: EncodingError::from
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 4
    functionsReached:
    - FormatErrorKind::BadTextEncoding
    - EncodingError::Format
    linkageType: ''
    returnType: Self
    signature: 'fn from(tee: TextEncodingError) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io::Error::new
      Src: /src/image-png/src/decoder/stream.rs:433,1
    - Dst: DecodingError::to_string
      Src: /src/image-png/src/decoder/stream.rs:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - DecodingError
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: io::Error::from
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - DecodingError::to_string
    - io::Error::new
    linkageType: ''
    returnType: io::Error
    signature: 'fn from(err: DecodingError) -> io::Error'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inner
    argTypes:
    - FormatErrorInner
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: FormatError::from
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(inner: FormatErrorInner) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Info::with_size
      Src: /src/image-png/src/encoder.rs:168,1
    - Dst: Options::default
      Src: /src/image-png/src/encoder.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - width
    - height
    argTypes:
    - W
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: Encoder::new
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 31
    functionsReached:
    - Options::default
    - Info::with_size
    linkageType: ''
    returnType: Encoder
    signature: 'pub fn new(w: W, width: u32, height: u32) -> Encoder<''static, W>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:174,1
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:174,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:175,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:175,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:175,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:180,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:180,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:180,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:184,1
    - Dst: Options::default
      Src: /src/image-png/src/encoder.rs:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - w
    - info
    argTypes:
    - W
    - Info<'a>
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: Encoder::with_info
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 3
    functionsReached:
    - is_some
    - EncodingError::Format
    - Err
    - Options::default
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn with_info(w: W, info: Info<''a>) -> Result<Encoder<''a, W>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:205,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:205,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:205,1
    - Dst: Default::default
      Src: /src/image-png/src/encoder.rs:217,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:220,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:221,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - num_frames
    - num_plays
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: Encoder::set_animated
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 4
    functionsReached:
    - Some
    - Err
    - into
    - Default::default
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_animated(&mut self, num_frames: u32, num_plays: u32) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:235,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:237,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:239,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:239,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - sep_def_img
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: Encoder::set_sep_def_img
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - is_some
    - Err
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_sep_def_img(&mut self, sep_def_img: bool) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:246,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - palette
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Encoder::set_palette
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 4
    functionsReached:
    - into
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub fn set_palette<T: Into<Cow<''a, [u8]>>>(&mut self, palette: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:252,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - trns
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: Encoder::set_trns
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - into
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub fn set_trns<T: Into<Cow<''a, [u8]>>>(&mut self, trns: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - source_gamma
    argTypes:
    - ScaledFloat
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Encoder::set_source_gamma
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub fn set_source_gamma(&mut self, source_gamma: ScaledFloat)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - source_chromaticities
    argTypes:
    - super::SourceChromaticities
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: Encoder::set_source_chromaticities
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub fn set_source_chromaticities(&mut self,source_chromaticities:
      super::SourceChromaticities,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_source_srgb
      Src: /src/image-png/src/encoder.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rendering_intent
    argTypes:
    - super::SrgbRenderingIntent
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: Encoder::set_source_srgb
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - set_source_srgb
    linkageType: ''
    returnType: void
    signature: 'pub fn set_source_srgb(&mut self, rendering_intent: super::SrgbRenderingIntent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::new
      Src: /src/image-png/src/encoder.rs:283,1
    - Dst: PartialInfo::new
      Src: /src/image-png/src/encoder.rs:283,1
    - Dst: Writer::init
      Src: /src/image-png/src/encoder.rs:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 23
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Encoder::write_header
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 21
    functionsReached:
    - PartialInfo::new
    - Writer::new
    - Writer::init
    linkageType: ''
    returnType: Result
    signature: pub fn write_header(self) -> Result<Writer<W>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - color
    argTypes:
    - ColorType
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: Encoder::set_color
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_color(&mut self, color: ColorType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - depth
    argTypes:
    - BitDepth
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: Encoder::set_depth
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_depth(&mut self, depth: BitDepth)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder::set_deflate_compression
      Src: /src/image-png/src/encoder.rs:302,1
    - Dst: DeflateCompression::from_simple
      Src: /src/image-png/src/encoder.rs:302,1
    - Dst: Encoder::set_filter
      Src: /src/image-png/src/encoder.rs:303,1
    - Dst: Filter::from_simple
      Src: /src/image-png/src/encoder.rs:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - compression
    argTypes:
    - Compression
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: Encoder::set_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 2
    functionsReached:
    - Encoder::set_deflate_compression
    - Filter::from_simple
    - DeflateCompression::from_simple
    - Encoder::set_filter
    linkageType: ''
    returnType: void
    signature: 'pub fn set_compression(&mut self, compression: Compression)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - compression
    argTypes:
    - DeflateCompression
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: Encoder::set_deflate_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_deflate_compression(&mut self, compression: DeflateCompression)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: Encoder::set_filter
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_filter(&mut self, filter: Filter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:345,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:347,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:347,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - numerator
    - denominator
    argTypes:
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: Encoder::set_frame_delay
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_delay(&mut self, numerator: u16, denominator: u16)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:376,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:378,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:378,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - op
    argTypes:
    - BlendOp
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: Encoder::set_blend_op
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_blend_op(&mut self, op: BlendOp) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:405,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:407,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:407,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - op
    argTypes:
    - DisposeOp
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: Encoder::set_dispose_op
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_dispose_op(&mut self, op: DisposeOp) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pixel_dims
    argTypes:
    - Option<PixelDimensions>
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: Encoder::set_pixel_dims
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_pixel_dims(&mut self, pixel_dims: Option<PixelDimensions>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEXtChunk::new
      Src: /src/image-png/src/encoder.rs:415,1
    - Dst: push
      Src: /src/image-png/src/encoder.rs:416,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - keyword
    - text
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: Encoder::add_text_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - TEXtChunk::new
    - Ok
    - push
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_text_chunk(&mut self, keyword: String, text: String) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZTXtChunk::new
      Src: /src/image-png/src/encoder.rs:422,1
    - Dst: push
      Src: /src/image-png/src/encoder.rs:423,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - keyword
    - text
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: Encoder::add_ztxt_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - ZTXtChunk::new
    - Ok
    - push
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_ztxt_chunk(&mut self, keyword: String, text: String) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ITXtChunk::new
      Src: /src/image-png/src/encoder.rs:432,1
    - Dst: push
      Src: /src/image-png/src/encoder.rs:433,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - keyword
    - text
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: Encoder::add_itxt_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - push
    - Ok
    - ITXtChunk::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_itxt_chunk(&mut self, keyword: String, text: String) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - validate
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: Encoder::validate_sequence
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn validate_sequence(&mut self, validate: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info'
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: PartialInfo::new
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - is_some
    linkageType: ''
    returnType: Self
    signature: 'fn new(info: &Info) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesPerPixel::from_usize
      Src: /src/image-png/src/encoder.rs:501,1
    - Dst: PartialInfo::bytes_per_pixel
      Src: /src/image-png/src/encoder.rs:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: PartialInfo::bpp_in_prediction
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - BytesPerPixel::from_usize
    - PartialInfo::bytes_per_pixel
    linkageType: ''
    returnType: BytesPerPixel
    signature: fn bpp_in_prediction(&self) -> BytesPerPixel
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_per_pixel
      Src: /src/image-png/src/encoder.rs:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: PartialInfo::bytes_per_pixel
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - bytes_per_pixel
    linkageType: ''
    returnType: usize
    signature: fn bytes_per_pixel(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PartialInfo::raw_row_length_from_width
      Src: /src/image-png/src/encoder.rs:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 4
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: PartialInfo::raw_row_length
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - PartialInfo::raw_row_length_from_width
    linkageType: ''
    returnType: usize
    signature: fn raw_row_length(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_row_length_from_width
      Src: /src/image-png/src/encoder.rs:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - width
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: PartialInfo::raw_row_length_from_width
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - raw_row_length_from_width
    linkageType: ''
    returnType: usize
    signature: 'fn raw_row_length_from_width(&self, width: u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - w
    - info
    - options
    argTypes:
    - W
    - PartialInfo
    - Options
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: Writer::new
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Writer
    signature: 'fn new(w: W, info: PartialInfo, options: Options) -> Writer<W>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:545,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:545,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:545,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:549,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:549,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:549,1
    - Dst: is_combination_invalid
      Src: /src/image-png/src/encoder.rs:552,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:557,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:557,1
    - Dst: FormatErrorKind::InvalidColorCombination
      Src: /src/image-png/src/encoder.rs:558,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:558,1
    - Dst: Writer::encode_header
      Src: /src/image-png/src/encoder.rs:563,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info<''_>'
    constantsTouched: []
    func_position:
      end: 566
      start: 543
    functionDepth: 22
    functionLinenumber: 543
    functionLinenumberEnd: 566
    functionName: Writer::init
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - is_combination_invalid
    - FormatErrorKind::InvalidColorCombination
    - Err
    - into
    - Writer::encode_header
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'fn init(mut self, info: &Info<''_>) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/image-png/src/encoder.rs:570,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:574,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/encoder.rs:574,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:575,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/encoder.rs:575,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:579,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:584,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/encoder.rs:584,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:585,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/encoder.rs:585,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:590,1
    - Dst: encode
      Src: /src/image-png/src/encoder.rs:595,1
    - Dst: crate::srgb::substitute_gamma
      Src: /src/image-png/src/encoder.rs:598,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:599,1
    - Dst: ScaledFloat::encode_gama
      Src: /src/image-png/src/encoder.rs:600,1
    - Dst: crate::srgb::substitute_chromaticities
      Src: /src/image-png/src/encoder.rs:602,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:603,1
    - Dst: SourceChromaticities::encode
      Src: /src/image-png/src/encoder.rs:604,1
    - Dst: encode_gama
      Src: /src/image-png/src/encoder.rs:608,1
    - Dst: encode
      Src: /src/image-png/src/encoder.rs:611,1
    - Dst: Writer::write_iccp_chunk
      Src: /src/image-png/src/encoder.rs:614,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:619,1
    - Dst: Result::encode
      Src: /src/image-png/src/encoder.rs:623,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:629,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:633,1
    - Dst: Writer::write_text_chunk
      Src: /src/image-png/src/encoder.rs:637,1
    - Dst: Writer::write_text_chunk
      Src: /src/image-png/src/encoder.rs:641,1
    - Dst: Writer::write_text_chunk
      Src: /src/image-png/src/encoder.rs:645,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:648,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 196
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info<''_>'
    constantsTouched: []
    func_position:
      end: 649
      start: 569
    functionDepth: 21
    functionLinenumber: 569
    functionLinenumberEnd: 649
    functionName: Writer::encode_header
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - ScaledFloat::encode_gama
    - crate::srgb::substitute_chromaticities
    - copy_from_slice
    - crate::srgb::substitute_gamma
    - Some
    - Writer::write_text_chunk
    - encode
    - Writer::write_chunk
    - to_be_bytes
    - Result::encode
    - Writer::write_iccp_chunk
    - write_all
    - SourceChromaticities::encode
    - encode_gama
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode_header(&mut self, info: &Info<''_>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::try_from
      Src: /src/image-png/src/encoder.rs:660,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:660,1
    - Dst: map_or
      Src: /src/image-png/src/encoder.rs:660,1
    - Dst: FormatErrorKind::WrittenTooMuch
      Src: /src/image-png/src/encoder.rs:661,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:661,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:662,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:662,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:662,1
    - Dst: write_chunk
      Src: /src/image-png/src/encoder.rs:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - ChunkType
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 666
      start: 657
    functionDepth: 21
    functionLinenumber: 657
    functionLinenumberEnd: 666
    functionName: Writer::write_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 4
    functionsReached:
    - write_chunk
    - Result::len
    - Err
    - into
    - u32::try_from
    - FormatErrorKind::WrittenTooMuch
    - map_or
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_chunk(&mut self, name: ChunkType, data: &[u8]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::encode
      Src: /src/image-png/src/encoder.rs:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - text_chunk
    argTypes:
    - '&T'
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 22
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: Writer::write_text_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - Result::encode
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_text_chunk<T: EncodableTextChunk>(&mut self, text_chunk:
      &T) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1
      Src: /src/image-png/src/encoder.rs:673,1
    - Dst: '&str::is_empty'
      Src: /src/image-png/src/encoder.rs:674,1
    - Dst: '&str::len'
      Src: /src/image-png/src/encoder.rs:674,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:675,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:675,1
    - Dst: '&[u8]::len'
      Src: /src/image-png/src/encoder.rs:678,1
    - Dst: '&str::len'
      Src: /src/image-png/src/encoder.rs:679,1
    - Dst: Result::checked_add
      Src: /src/image-png/src/encoder.rs:679,1
    - Dst: and_then
      Src: /src/image-png/src/encoder.rs:679,1
    - Dst: checked_add
      Src: /src/image-png/src/encoder.rs:682,1
    - Dst: ok_or
      Src: /src/image-png/src/encoder.rs:679,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:685,1
    - Dst: Result::try_reserve_exact
      Src: /src/image-png/src/encoder.rs:686,1
    - Dst: map_err
      Src: /src/image-png/src/encoder.rs:686,1
    - Dst: Result::extend
      Src: /src/image-png/src/encoder.rs:689,1
    - Dst: '&str::into_iter'
      Src: /src/image-png/src/encoder.rs:689,1
    - Dst: chain
      Src: /src/image-png/src/encoder.rs:689,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/encoder.rs:691,1
    - Dst: flate2::Compression::default
      Src: /src/image-png/src/encoder.rs:691,1
    - Dst: Self::write_all
      Src: /src/image-png/src/encoder.rs:692,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:694,1
    - Dst: Self::finish
      Src: /src/image-png/src/encoder.rs:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 2
    argNames:
    - profile_name
    - icc_profile
    argTypes:
    - '&str'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 695
      start: 672
    functionDepth: 21
    functionLinenumber: 672
    functionLinenumberEnd: 695
    functionName: Writer::write_iccp_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - Err
    - ok_or
    - '&[u8]::len'
    - checked_add
    - and_then
    - flate2::Compression::default
    - Self::write_all
    - chain
    - Result::checked_add
    - Self::finish
    - ZlibEncoder::new
    - map_err
    - Result::try_reserve_exact
    - encode_iso_8859_1
    - '&str::len'
    - into
    - Result::extend
    - '&str::into_iter'
    - Writer::write_chunk
    - '&str::is_empty'
    - Vec::new
    linkageType: ''
    returnType: Result
    signature: 'fn write_iccp_chunk(&mut self, profile_name: &str, icc_profile: &[u8])
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:700,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:706,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:708,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:708,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:708,1
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:712,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:713,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:715,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:715,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 719
    functionName: Writer::validate_new_image
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - is_some
    - Err
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: fn validate_new_image(&self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:723,1
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:726,1
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:726,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:729,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:729,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:729,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 733
    functionName: Writer::validate_sequence_done
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - is_some
    - Err
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: fn validate_sequence_done(&self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:742,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:742,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:742,1
    - Dst: Writer::validate_new_image
      Src: /src/image-png/src/encoder.rs:745,1
    - Dst: raw_row_length_from_width
      Src: /src/image-png/src/encoder.rs:757,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:759,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:760,1
    - Dst: EncodingError::Parameter
      Src: /src/image-png/src/encoder.rs:760,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:763,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:761,1
    - Dst: as_slice
      Src: /src/image-png/src/encoder.rs:770,1
    - Dst: bpp_in_prediction
      Src: /src/image-png/src/encoder.rs:772,1
    - Dst: fdeflate::StoredOnlyCompressor::new
      Src: /src/image-png/src/encoder.rs:778,1
    - Dst: std::io::Cursor::new
      Src: /src/image-png/src/encoder.rs:778,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:778,1
    - Dst: Result::chunks
      Src: /src/image-png/src/encoder.rs:779,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:780,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:781,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:783,1
    - Dst: into_inner
      Src: /src/image-png/src/encoder.rs:783,1
    - Dst: fdeflate::Compressor::new
      Src: /src/image-png/src/encoder.rs:786,1
    - Dst: std::io::Cursor::new
      Src: /src/image-png/src/encoder.rs:786,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:786,1
    - Dst: Result::chunks
      Src: /src/image-png/src/encoder.rs:789,1
    - Dst: filter::filter
      Src: /src/image-png/src/encoder.rs:790,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:793,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:797,1
    - Dst: into_inner
      Src: /src/image-png/src/encoder.rs:797,1
    - Dst: len
      Src: /src/image-png/src/encoder.rs:798,1
    - Dst: fdeflate::StoredOnlyCompressor::<()>::compressed_size
      Src: /src/image-png/src/encoder.rs:799,1
    - Dst: fdeflate::StoredOnlyCompressor::new
      Src: /src/image-png/src/encoder.rs:806,1
    - Dst: std::io::Cursor::new
      Src: /src/image-png/src/encoder.rs:806,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:806,1
    - Dst: Result::chunks
      Src: /src/image-png/src/encoder.rs:807,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:808,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:809,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:811,1
    - Dst: into_inner
      Src: /src/image-png/src/encoder.rs:811,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/encoder.rs:820,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:820,1
    - Dst: flate2::Compression::new
      Src: /src/image-png/src/encoder.rs:820,1
    - Dst: u32::from
      Src: /src/image-png/src/encoder.rs:820,1
    - Dst: Result::chunks
      Src: /src/image-png/src/encoder.rs:821,1
    - Dst: filter::filter
      Src: /src/image-png/src/encoder.rs:822,1
    - Dst: Self::write_all
      Src: /src/image-png/src/encoder.rs:824,1
    - Dst: Self::write_all
      Src: /src/image-png/src/encoder.rs:825,1
    - Dst: Self::finish
      Src: /src/image-png/src/encoder.rs:828,1
    - Dst: Writer::write_zlib_encoded_idat
      Src: /src/image-png/src/encoder.rs:834,1
    - Dst: Writer::should_skip_frame_control_on_default_image
      Src: /src/image-png/src/encoder.rs:836,1
    - Dst: Writer::write_zlib_encoded_idat
      Src: /src/image-png/src/encoder.rs:837,1
    - Dst: encode
      Src: /src/image-png/src/encoder.rs:840,1
    - Dst: wrapping_add
      Src: /src/image-png/src/encoder.rs:841,1
    - Dst: Writer::write_zlib_encoded_idat
      Src: /src/image-png/src/encoder.rs:846,1
    - Dst: len
      Src: /src/image-png/src/encoder.rs:848,1
    - Dst: min
      Src: /src/image-png/src/encoder.rs:848,1
    - Dst: chunks
      Src: /src/image-png/src/encoder.rs:850,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:851,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/encoder.rs:851,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:852,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:852,1
    - Dst: write_chunk
      Src: /src/image-png/src/encoder.rs:853,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:853,1
    - Dst: wrapping_add
      Src: /src/image-png/src/encoder.rs:854,1
    - Dst: Writer::increment_images_written
      Src: /src/image-png/src/encoder.rs:860,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:862,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 270
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 863
      start: 740
    functionDepth: 18
    functionLinenumber: 740
    functionLinenumberEnd: 863
    functionName: Writer::write_image_data
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - raw_row_length_from_width
    - write_chunk
    - fdeflate::Compressor::new
    - Err
    - fdeflate::StoredOnlyCompressor::<()>::compressed_size
    - to_be_bytes
    - std::io::Cursor::new
    - EncodingError::Format
    - Ok
    - copy_from_slice
    - Writer::should_skip_frame_control_on_default_image
    - encode
    - Writer::validate_new_image
    - Writer::write_zlib_encoded_idat
    - Self::write_all
    - into_inner
    - Self::finish
    - Result::len
    - ZlibEncoder::new
    - wrapping_add
    - min
    - Writer::increment_images_written
    - as_slice
    - finish
    - fdeflate::StoredOnlyCompressor::new
    - u32::from
    - flate2::Compression::new
    - bpp_in_prediction
    - len
    - into
    - EncodingError::Parameter
    - filter::filter
    - Result::chunks
    - write_data
    - Vec::new
    - chunks
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_image_data(&mut self, data: &[u8]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saturating_add
      Src: /src/image-png/src/encoder.rs:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: Writer::increment_images_written
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - saturating_add
    linkageType: ''
    returnType: void
    signature: fn increment_images_written(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 22
    functionLinenumber: 876
    functionLinenumberEnd: 879
    functionName: Writer::write_iend
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 2
    functionsReached:
    - Writer::write_chunk
    linkageType: ''
    returnType: Result
    signature: fn write_iend(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: Writer::should_skip_frame_control_on_default_image
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn should_skip_frame_control_on_default_image(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::chunks'
      Src: /src/image-png/src/encoder.rs:886,1
    - Dst: Writer::write_chunk
      Src: /src/image-png/src/encoder.rs:887,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - zlib_encoded
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 17
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: Writer::write_zlib_encoded_idat
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - Writer::write_chunk
    - '&[u8]::chunks'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write_zlib_encoded_idat(&mut self, zlib_encoded: &[u8]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: Writer::set_filter
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_filter(&mut self, filter: Filter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:916,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:918,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:918,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - numerator
    - denominator
    argTypes:
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 920
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 920
    functionName: Writer::set_frame_delay
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_delay(&mut self, numerator: u16, denominator: u16)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:936,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:936,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:937,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:937,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:939,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:939,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:939,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:941,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:941,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:941,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:943,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:943,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:943,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:947,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:949,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:949,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 951
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 951
    functionName: Writer::set_frame_dimension
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Some
    - Err
    - checked_sub
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_dimension(&mut self, width: u32, height: u32) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:965,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:965,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:966,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:966,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:968,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:968,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:968,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:972,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:974,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:974,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 976
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 976
    functionName: Writer::set_frame_position
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Some
    - Err
    - checked_sub
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_position(&mut self, x: u32, y: u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:991,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:993,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:993,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 995
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 995
    functionName: Writer::reset_frame_dimension
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn reset_frame_dimension(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1008,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1010,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1010,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1012
    functionName: Writer::reset_frame_position
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn reset_frame_position(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1030,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1032,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1032,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - op
    argTypes:
    - BlendOp
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: Writer::set_blend_op
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_blend_op(&mut self, op: BlendOp) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1050,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1052,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1052,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - op
    argTypes:
    - DisposeOp
    constantsTouched: []
    func_position:
      end: 1054
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1054
    functionName: Writer::set_dispose_op
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_dispose_op(&mut self, op: DisposeOp) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::stream_writer_with_size
      Src: /src/image-png/src/encoder.rs:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 25
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Writer::stream_writer
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Writer::stream_writer_with_size
    linkageType: ''
    returnType: Result
    signature: pub fn stream_writer(&mut self) -> Result<StreamWriter<'_, W>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamWriter::new
      Src: /src/image-png/src/encoder.rs:1074,1
    - Dst: ChunkOutput::Borrowed
      Src: /src/image-png/src/encoder.rs:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 24
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    functionName: Writer::stream_writer_with_size
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - ChunkOutput::Borrowed
    - StreamWriter::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn stream_writer_with_size(&mut self, size: usize) -> Result<StreamWriter<''_,
      W>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::into_stream_writer_with_size
      Src: /src/image-png/src/encoder.rs:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1084
    functionDepth: 25
    functionLinenumber: 1084
    functionLinenumberEnd: 1086
    functionName: Writer::into_stream_writer
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Writer::into_stream_writer_with_size
    linkageType: ''
    returnType: Result
    signature: pub fn into_stream_writer(self) -> Result<StreamWriter<'static, W>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamWriter::new
      Src: /src/image-png/src/encoder.rs:1094,1
    - Dst: ChunkOutput::Owned
      Src: /src/image-png/src/encoder.rs:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 1095
      start: 1093
    functionDepth: 24
    functionLinenumber: 1093
    functionLinenumberEnd: 1095
    functionName: Writer::into_stream_writer_with_size
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - ChunkOutput::Owned
    - StreamWriter::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn into_stream_writer_with_size(self, size: usize) -> Result<StreamWriter<''static,
      W>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::validate_sequence_done
      Src: /src/image-png/src/encoder.rs:1103,1
    - Dst: Writer::write_iend
      Src: /src/image-png/src/encoder.rs:1104,1
    - Dst: flush
      Src: /src/image-png/src/encoder.rs:1105,1
    - Dst: drop
      Src: /src/image-png/src/encoder.rs:1108,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1102
    functionDepth: 23
    functionLinenumber: 1102
    functionLinenumberEnd: 1110
    functionName: Writer::finish
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Writer::write_iend
    - drop
    - flush
    - Writer::validate_sequence_done
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn finish(mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::write_iend
      Src: /src/image-png/src/encoder.rs:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1114
    functionDepth: 23
    functionLinenumber: 1114
    functionLinenumberEnd: 1118
    functionName: Writer::drop
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Writer::write_iend
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: ChunkOutput::deref
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1144
    functionName: ChunkOutput::deref_mut
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Target'
    signature: fn deref_mut(&mut self) -> &mut Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - writer
    - buf_len
    argTypes:
    - ChunkOutput<'a, W>
    - usize
    constantsTouched: []
    func_position:
      end: 1189
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1189
    functionName: ChunkWriter::new
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ChunkWriter
    signature: 'fn new(writer: ChunkOutput<''a, W>, buf_len: usize) -> ChunkWriter<''a,
      W>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deref
      Src: /src/image-png/src/encoder.rs:1198,1
    - Dst: raw_row_length_from_width
      Src: /src/image-png/src/encoder.rs:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1197
    functionDepth: 3
    functionLinenumber: 1197
    functionLinenumberEnd: 1214
    functionName: ChunkWriter::next_frame_info
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - deref
    - raw_row_length_from_width
    linkageType: ''
    returnType: (usize, usize)
    signature: fn next_frame_info(&self) -> (usize, usize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deref_mut
      Src: /src/image-png/src/encoder.rs:1220,1
    - Dst: should_skip_frame_control_on_default_image
      Src: /src/image-png/src/encoder.rs:1229,1
    - Dst: encode
      Src: /src/image-png/src/encoder.rs:1231,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1218
    functionDepth: 22
    functionLinenumber: 1218
    functionLinenumberEnd: 1238
    functionName: ChunkWriter::write_header
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - should_skip_frame_control_on_default_image
    - encode
    - deref_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn write_header(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - FrameControl
    constantsTouched: []
    func_position:
      end: 1254
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1254
    functionName: ChunkWriter::set_fctl
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_fctl(&mut self, f: FrameControl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_chunk
      Src: /src/image-png/src/encoder.rs:1260,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1257
    functionDepth: 20
    functionLinenumber: 1257
    functionLinenumberEnd: 1269
    functionName: ChunkWriter::flush_inner
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 2
    functionsReached:
    - write_chunk
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: fn flush_inner(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::is_empty
      Src: /src/image-png/src/encoder.rs:1274,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1275,1
    - Dst: deref_mut
      Src: /src/image-png/src/encoder.rs:1280,1
    - Dst: should_skip_frame_control_on_default_image
      Src: /src/image-png/src/encoder.rs:1283,1
    - Dst: is_some
      Src: /src/image-png/src/encoder.rs:1284,1
    - Dst: as_mut
      Src: /src/image-png/src/encoder.rs:1285,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1285,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:1286,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/encoder.rs:1286,1
    - Dst: Result::len
      Src: /src/image-png/src/encoder.rs:1294,1
    - Dst: Result::min
      Src: /src/image-png/src/encoder.rs:1294,1
    - Dst: len
      Src: /src/image-png/src/encoder.rs:1294,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/encoder.rs:1297,1
    - Dst: len
      Src: /src/image-png/src/encoder.rs:1301,1
    - Dst: ChunkWriter::flush_inner
      Src: /src/image-png/src/encoder.rs:1302,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 82
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1306
      start: 1273
    functionDepth: 21
    functionLinenumber: 1273
    functionLinenumberEnd: 1306
    functionName: ChunkWriter::write
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - as_mut
    - Result::len
    - is_some
    - copy_from_slice
    - len
    - deref_mut
    - Result::min
    - to_be_bytes
    - ChunkWriter::flush_inner
    - should_skip_frame_control_on_default_image
    - Ok
    - Result::is_empty
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, mut data: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChunkWriter::flush_inner
      Src: /src/image-png/src/encoder.rs:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 21
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: ChunkWriter::flush
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - ChunkWriter::flush_inner
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChunkWriter::flush
      Src: /src/image-png/src/encoder.rs:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1314
    functionDepth: 22
    functionLinenumber: 1314
    functionLinenumberEnd: 1316
    functionName: ChunkWriter::drop
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - ChunkWriter::flush
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1347,1
    - Dst: Wrapper::Flate2
      Src: /src/image-png/src/encoder.rs:1349,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/encoder.rs:1349,1
    - Dst: flate2::Compression::none
      Src: /src/image-png/src/encoder.rs:1349,1
    - Dst: Wrapper::FDeflate
      Src: /src/image-png/src/encoder.rs:1352,1
    - Dst: fdeflate::Compressor::new
      Src: /src/image-png/src/encoder.rs:1352,1
    - Dst: Wrapper::Flate2
      Src: /src/image-png/src/encoder.rs:1354,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/encoder.rs:1354,1
    - Dst: flate2::Compression::new
      Src: /src/image-png/src/encoder.rs:1356,1
    - Dst: u32::from
      Src: /src/image-png/src/encoder.rs:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - writer
    - compression
    argTypes:
    - ChunkWriter<'a, W>
    - DeflateCompression
    constantsTouched: []
    func_position:
      end: 1359
      start: 1346
    functionDepth: 3
    functionLinenumber: 1346
    functionLinenumberEnd: 1359
    functionName: Wrapper::from_level
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 2
    functionsReached:
    - Wrapper::Flate2
    - flate2::Compression::none
    - flate2::Compression::new
    - fdeflate::Compressor::new
    - ZlibEncoder::new
    - Wrapper::FDeflate
    - u32::from
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn from_level(writer: ChunkWriter<''a, W>, compression: DeflateCompression)
      -> io::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem::swap
      Src: /src/image-png/src/encoder.rs:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1367
    functionName: Wrapper::take
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - mem::swap
    linkageType: ''
    returnType: Wrapper
    signature: fn take(&mut self) -> Wrapper<'a, W>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bpp_in_prediction
      Src: /src/image-png/src/encoder.rs:1409,1
    - Dst: raw_row_length
      Src: /src/image-png/src/encoder.rs:1410,1
    - Dst: ChunkWriter::new
      Src: /src/image-png/src/encoder.rs:1417,1
    - Dst: ChunkWriter::next_frame_info
      Src: /src/image-png/src/encoder.rs:1418,1
    - Dst: ChunkWriter::write_header
      Src: /src/image-png/src/encoder.rs:1419,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1421,1
    - Dst: Wrapper::from_level
      Src: /src/image-png/src/encoder.rs:1422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - writer
    - buf_len
    argTypes:
    - ChunkOutput<'a, W>
    - usize
    constantsTouched: []
    func_position:
      end: 1436
      start: 1401
    functionDepth: 23
    functionLinenumber: 1401
    functionLinenumberEnd: 1436
    functionName: StreamWriter::new
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 2
    functionsReached:
    - ChunkWriter::next_frame_info
    - ChunkWriter::write_header
    - bpp_in_prediction
    - raw_row_length
    - ChunkWriter::new
    - Wrapper::from_level
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(writer: ChunkOutput<''a, W>, buf_len: usize) -> Result<StreamWriter<''a,
      W>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter
    constantsTouched: []
    func_position:
      end: 1447
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1447
    functionName: StreamWriter::set_filter
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_filter(&mut self, filter: Filter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1462,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1464,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1464,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - numerator
    - denominator
    argTypes:
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 1466
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1466
    functionName: StreamWriter::set_frame_delay
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_delay(&mut self, numerator: u16, denominator: u16)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:1480,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:1480,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:1481,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:1481,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1483,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1483,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1483,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1485,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1485,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1485,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1487,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1487,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1487,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1491,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1493,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1493,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1495
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1495
    functionName: StreamWriter::set_frame_dimension
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Some
    - Err
    - checked_sub
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_dimension(&mut self, width: u32, height: u32) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:1507,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:1507,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:1508,1
    - Dst: checked_sub
      Src: /src/image-png/src/encoder.rs:1508,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1510,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1510,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1510,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1514,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1516,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1516,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 1518
      start: 1505
    functionDepth: 2
    functionLinenumber: 1505
    functionLinenumberEnd: 1518
    functionName: StreamWriter::set_frame_position
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Some
    - Err
    - checked_sub
    - into
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_frame_position(&mut self, x: u32, y: u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1533,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1535,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1535,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1537
    functionName: StreamWriter::reset_frame_dimension
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn reset_frame_dimension(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1550,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1552,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1552,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1546
    functionDepth: 2
    functionLinenumber: 1546
    functionLinenumberEnd: 1554
    functionName: StreamWriter::reset_frame_position
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn reset_frame_position(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1572,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1574,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1574,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - op
    argTypes:
    - BlendOp
    constantsTouched: []
    func_position:
      end: 1576
      start: 1569
    functionDepth: 2
    functionLinenumber: 1569
    functionLinenumberEnd: 1576
    functionName: StreamWriter::set_blend_op
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_blend_op(&mut self, op: BlendOp) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1592,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1594,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1594,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - op
    argTypes:
    - DisposeOp
    constantsTouched: []
    func_position:
      end: 1596
      start: 1589
    functionDepth: 2
    functionLinenumber: 1589
    functionLinenumberEnd: 1596
    functionName: StreamWriter::set_dispose_op
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - EncodingError::Format
    - Err
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn set_dispose_op(&mut self, op: DisposeOp) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamWriter::finish_mut
      Src: /src/image-png/src/encoder.rs:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1604
    functionDepth: 24
    functionLinenumber: 1604
    functionLinenumberEnd: 1606
    functionName: StreamWriter::finish
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - StreamWriter::finish_mut
    linkageType: ''
    returnType: Result
    signature: pub fn finish(mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormatErrorKind::MissingData
      Src: /src/image-png/src/encoder.rs:1612,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1612,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1613,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1613,1
    - Dst: StreamWriter::flush
      Src: /src/image-png/src/encoder.rs:1616,1
    - Dst: take
      Src: /src/image-png/src/encoder.rs:1617,1
    - Dst: validate_sequence_done
      Src: /src/image-png/src/encoder.rs:1619,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:1622,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:1625,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1629,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1630,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1630,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1610
    functionDepth: 23
    functionLinenumber: 1610
    functionLinenumberEnd: 1635
    functionName: StreamWriter::finish_mut
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 2
    functionsReached:
    - Ok
    - take
    - Err
    - StreamWriter::flush
    - into
    - validate_sequence_done
    - FormatErrorKind::MissingData
    - finish
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: fn finish_mut(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1645,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1646,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1646,1
    - Dst: flush
      Src: /src/image-png/src/encoder.rs:1653,1
    - Dst: validate_new_image
      Src: /src/image-png/src/encoder.rs:1654,1
    - Dst: set_fctl
      Src: /src/image-png/src/encoder.rs:1657,1
    - Dst: next_frame_info
      Src: /src/image-png/src/encoder.rs:1659,1
    - Dst: write_header
      Src: /src/image-png/src/encoder.rs:1663,1
    - Dst: increment_images_written
      Src: /src/image-png/src/encoder.rs:1664,1
    - Dst: take
      Src: /src/image-png/src/encoder.rs:1667,1
    - Dst: Wrapper::from_level
      Src: /src/image-png/src/encoder.rs:1668,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1672,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1672,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1641
    functionDepth: 22
    functionLinenumber: 1641
    functionLinenumberEnd: 1679
    functionName: StreamWriter::new_frame
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - increment_images_written
    - Err
    - take
    - into
    - validate_new_image
    - flush
    - set_fctl
    - write_header
    - Wrapper::from_level
    - Ok
    - next_frame_info
    - EncodingError::Format
    linkageType: ''
    returnType: Result
    signature: fn new_frame(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1685,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1686,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1686,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1686,1
    - Dst: Result::is_empty
      Src: /src/image-png/src/encoder.rs:1689,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1690,1
    - Dst: take
      Src: /src/image-png/src/encoder.rs:1694,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:1695,1
    - Dst: Wrapper::Chunk
      Src: /src/image-png/src/encoder.rs:1696,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1699,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:1702,1
    - Dst: Wrapper::Chunk
      Src: /src/image-png/src/encoder.rs:1703,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1706,1
    - Dst: StreamWriter::new_frame
      Src: /src/image-png/src/encoder.rs:1715,1
    - Dst: Result::read
      Src: /src/image-png/src/encoder.rs:1718,1
    - Dst: filter::filter
      Src: /src/image-png/src/encoder.rs:1723,1
    - Dst: write_all
      Src: /src/image-png/src/encoder.rs:1733,1
    - Dst: write_all
      Src: /src/image-png/src/encoder.rs:1734,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:1737,1
    - Dst: write_data
      Src: /src/image-png/src/encoder.rs:1738,1
    - Dst: mem::swap
      Src: /src/image-png/src/encoder.rs:1743,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1747,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 126
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1748
      start: 1683
    functionDepth: 24
    functionLinenumber: 1683
    functionLinenumberEnd: 1748
    functionName: StreamWriter::write
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - mem::swap
    - Wrapper::Chunk
    - EncodingError::Format
    - Err
    - take
    - into
    - Result::read
    - StreamWriter::new_frame
    - filter::filter
    - write_all
    - finish
    - write_data
    - Ok
    - Result::is_empty
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, mut data: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/image-png/src/encoder.rs:1752,1
    - Dst: flush
      Src: /src/image-png/src/encoder.rs:1753,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1758,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1759,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1759,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1759,1
    - Dst: FormatErrorKind::WrittenTooMuch
      Src: /src/image-png/src/encoder.rs:1764,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1764,1
    - Dst: Err
      Src: /src/image-png/src/encoder.rs:1765,1
    - Dst: EncodingError::Format
      Src: /src/image-png/src/encoder.rs:1765,1
    - Dst: into
      Src: /src/image-png/src/encoder.rs:1765,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1750
    functionDepth: 22
    functionLinenumber: 1750
    functionLinenumberEnd: 1769
    functionName: StreamWriter::flush
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 1
    functionsReached:
    - Err
    - into
    - flush
    - FormatErrorKind::WrittenTooMuch
    - Ok
    - EncodingError::Format
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamWriter::finish_mut
      Src: /src/image-png/src/encoder.rs:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1773
    functionDepth: 24
    functionLinenumber: 1773
    functionLinenumberEnd: 1775
    functionName: StreamWriter::drop
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - StreamWriter::finish_mut
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_inner
      Src: /src/image-png/src/encoder.rs:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1790
    functionDepth: 17
    functionLinenumber: 1790
    functionLinenumberEnd: 1792
    functionName: tests::roundtrip1
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - roundtrip_inner
    linkageType: ''
    returnType: void
    signature: fn roundtrip1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_inner
      Src: /src/image-png/src/encoder.rs:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1795
    functionDepth: 17
    functionLinenumber: 1795
    functionLinenumberEnd: 1797
    functionName: tests::roundtrip2
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - roundtrip_inner
    linkageType: ''
    returnType: void
    signature: fn roundtrip2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glob::glob
      Src: /src/image-png/src/encoder.rs:1802,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1802,1
    - Dst: map
      Src: /src/image-png/src/encoder.rs:1802,1
    - Dst: Vec::unwrap
      Src: /src/image-png/src/encoder.rs:1804,1
    - Dst: PathBuf::file_name
      Src: /src/image-png/src/encoder.rs:1806,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1806,1
    - Dst: to_str
      Src: /src/image-png/src/encoder.rs:1806,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1806,1
    - Dst: starts_with
      Src: /src/image-png/src/encoder.rs:1806,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:1812,1
    - Dst: BufReader::new
      Src: /src/image-png/src/encoder.rs:1812,1
    - Dst: File::open
      Src: /src/image-png/src/encoder.rs:1812,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1812,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:1813,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1813,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:1815,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1815,1
    - Dst: Level
      Src: /src/image-png/src/encoder.rs:1817,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:1819,1
    - Dst: thread_rng
      Src: /src/image-png/src/encoder.rs:1822,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1826,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:1827,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:1828,1
    - Dst: Encoder::set_deflate_compression
      Src: /src/image-png/src/encoder.rs:1829,1
    - Dst: Reader::info
      Src: /src/image-png/src/encoder.rs:1830,1
    - Dst: Encoder::set_palette
      Src: /src/image-png/src/encoder.rs:1831,1
    - Dst: clone
      Src: /src/image-png/src/encoder.rs:1831,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:1833,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1833,1
    - Dst: Encoder::write_image_data
      Src: /src/image-png/src/encoder.rs:1834,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1834,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:1837,1
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:1837,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:1838,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1838,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:1840,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1799
    functionDepth: 16
    functionLinenumber: 1799
    functionLinenumberEnd: 1846
    functionName: tests::roundtrip_inner
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - glob::glob
    - unwrap
    - File::open
    - clone
    - Vec::unwrap
    - Reader::next_frame
    - Level
    - Decoder::read_info
    - map
    - Encoder::new
    - starts_with
    - Result::unwrap
    - Encoder::set_color
    - Encoder::set_depth
    - BufReader::new
    - PathBuf::file_name
    - Decoder::new
    - to_str
    - Encoder::set_deflate_compression
    - Encoder::write_header
    - Encoder::set_palette
    - Reader::info
    - thread_rng
    - Vec::new
    - Encoder::write_image_data
    linkageType: ''
    returnType: void
    signature: fn roundtrip_inner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_stream_inner
      Src: /src/image-png/src/encoder.rs:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1849
    functionDepth: 17
    functionLinenumber: 1849
    functionLinenumberEnd: 1851
    functionName: tests::roundtrip_stream1
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - roundtrip_stream_inner
    linkageType: ''
    returnType: void
    signature: fn roundtrip_stream1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_stream_inner
      Src: /src/image-png/src/encoder.rs:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1854
    functionDepth: 17
    functionLinenumber: 1854
    functionLinenumberEnd: 1856
    functionName: tests::roundtrip_stream2
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - roundtrip_stream_inner
    linkageType: ''
    returnType: void
    signature: fn roundtrip_stream2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glob::glob
      Src: /src/image-png/src/encoder.rs:1861,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1861,1
    - Dst: map
      Src: /src/image-png/src/encoder.rs:1861,1
    - Dst: Vec::unwrap
      Src: /src/image-png/src/encoder.rs:1863,1
    - Dst: PathBuf::file_name
      Src: /src/image-png/src/encoder.rs:1865,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1865,1
    - Dst: to_str
      Src: /src/image-png/src/encoder.rs:1865,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1865,1
    - Dst: starts_with
      Src: /src/image-png/src/encoder.rs:1865,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:1870,1
    - Dst: BufReader::new
      Src: /src/image-png/src/encoder.rs:1870,1
    - Dst: File::open
      Src: /src/image-png/src/encoder.rs:1870,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1870,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:1871,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1871,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:1873,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1873,1
    - Dst: Level
      Src: /src/image-png/src/encoder.rs:1875,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:1877,1
    - Dst: thread_rng
      Src: /src/image-png/src/encoder.rs:1880,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1884,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:1885,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:1886,1
    - Dst: Encoder::set_deflate_compression
      Src: /src/image-png/src/encoder.rs:1887,1
    - Dst: Reader::info
      Src: /src/image-png/src/encoder.rs:1888,1
    - Dst: Encoder::set_palette
      Src: /src/image-png/src/encoder.rs:1889,1
    - Dst: clone
      Src: /src/image-png/src/encoder.rs:1889,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:1891,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1891,1
    - Dst: Encoder::stream_writer
      Src: /src/image-png/src/encoder.rs:1892,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1892,1
    - Dst: thread_rng
      Src: /src/image-png/src/encoder.rs:1895,1
    - Dst: write_all
      Src: /src/image-png/src/encoder.rs:1899,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1899,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:1902,1
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:1902,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:1903,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1903,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:1905,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1858
    functionDepth: 16
    functionLinenumber: 1858
    functionLinenumberEnd: 1911
    functionName: tests::roundtrip_stream_inner
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - write_all
    - Encoder::stream_writer
    - glob::glob
    - unwrap
    - File::open
    - clone
    - Vec::unwrap
    - Reader::next_frame
    - Level
    - Decoder::read_info
    - map
    - Encoder::new
    - starts_with
    - Result::unwrap
    - Encoder::set_color
    - Encoder::set_depth
    - BufReader::new
    - PathBuf::file_name
    - Decoder::new
    - to_str
    - Encoder::set_deflate_compression
    - Encoder::write_header
    - Encoder::set_palette
    - Reader::info
    - thread_rng
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn roundtrip_stream_inner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:1918,1
    - Dst: BufReader::new
      Src: /src/image-png/src/encoder.rs:1918,1
    - Dst: File::open
      Src: /src/image-png/src/encoder.rs:1918,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1918,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:1919,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1919,1
    - Dst: Reader::info
      Src: /src/image-png/src/encoder.rs:1922,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:1927,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1927,1
    - Dst: Reader::info
      Src: /src/image-png/src/encoder.rs:1930,1
    - Dst: as_ref
      Src: /src/image-png/src/encoder.rs:1930,1
    - Dst: unwrap
      Src: /src/image-png/src/encoder.rs:1930,1
    - Dst: Vec::new
      Src: /src/image-png/src/encoder.rs:1931,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1933,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:1934,1
    - Dst: BitDepth::from_u8
      Src: /src/image-png/src/encoder.rs:1934,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/encoder.rs:1934,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:1935,1
    - Dst: Encoder::set_palette
      Src: /src/image-png/src/encoder.rs:1936,1
    - Dst: as_ref
      Src: /src/image-png/src/encoder.rs:1936,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:1938,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1938,1
    - Dst: Result::write_image_data
      Src: /src/image-png/src/encoder.rs:1939,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1939,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:1943,1
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:1943,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:1944,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1944,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:1946,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/encoder.rs:1946,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1914
    functionDepth: 16
    functionLinenumber: 1914
    functionLinenumberEnd: 1951
    functionName: tests::image_palette
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - BitDepth::from_u8
    - Ok
    - unwrap
    - File::open
    - Reader::next_frame
    - Decoder::read_info
    - Result::write_image_data
    - as_ref
    - Encoder::new
    - Result::unwrap
    - Encoder::set_color
    - Encoder::set_depth
    - BufReader::new
    - Decoder::new
    - Encoder::write_header
    - Option::unwrap
    - Encoder::set_palette
    - Reader::info
    - Vec::new
    linkageType: ''
    returnType: Result
    signature: fn image_palette() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:1959,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1960,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:1961,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:1962,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:1963,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:1967,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:1967,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1954
    functionDepth: 20
    functionLinenumber: 1954
    functionLinenumberEnd: 1971
    functionName: tests::expect_error_on_wrong_image_len
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - Ok
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn expect_error_on_wrong_image_len() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:1976,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1978,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1981,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1984,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1974
    functionDepth: 3
    functionLinenumber: 1974
    functionLinenumberEnd: 1988
    functionName: tests::expect_error_on_empty_image
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - Encoder::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn expect_error_on_empty_image() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:1993,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:1995,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:1996,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:1997,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2000,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2001,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2002,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2005,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2006,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2007,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2010,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2011,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2012,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2015,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2016,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2017,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2020,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2021,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2022,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2025,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2026,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2027,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2030,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2031,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2032,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2035,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2036,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2037,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2040,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2041,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2042,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 1991
    functionDepth: 3
    functionLinenumber: 1991
    functionLinenumberEnd: 2046
    functionName: tests::expect_error_on_invalid_bit_depth_color_type_combination
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Encoder::set_depth
    - Encoder::new
    - Encoder::set_color
    - Cursor::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn expect_error_on_invalid_bit_depth_color_type_combination() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2051,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2053,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2054,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2055,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2058,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2059,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2060,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2063,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2064,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2065,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2068,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2069,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2070,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2073,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2074,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2075,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2078,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2079,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2080,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2083,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2084,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2085,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2088,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2089,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2090,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2093,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2094,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2095,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2098,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2099,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2100,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2103,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2104,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2105,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2108,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2109,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2110,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2113,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2114,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2115,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2118,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2119,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2120,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2123,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2124,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2125,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2049
    functionDepth: 3
    functionLinenumber: 2049
    functionLinenumberEnd: 2129
    functionName: tests::can_write_header_with_valid_bit_depth_color_type_combination
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Encoder::set_depth
    - Encoder::new
    - Encoder::set_color
    - Cursor::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn can_write_header_with_valid_bit_depth_color_type_combination() ->
      Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/image-png/src/encoder.rs:2133,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2137,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2138,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2139,1
    - Dst: Encoder::set_filter
      Src: /src/image-png/src/encoder.rs:2140,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2141,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2141,1
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/encoder.rs:2143,1
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2143,1
    - Dst: Self::read_info
      Src: /src/image-png/src/encoder.rs:2144,1
    - Dst: Reader::info
      Src: /src/image-png/src/encoder.rs:2145,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:2149,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2152,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2155,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2156,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2157,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2158,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2159,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2132
    functionDepth: 24
    functionLinenumber: 2132
    functionLinenumberEnd: 2162
    functionName: tests::all_filters_roundtrip
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - collect
    - Ok
    - Encoder::write_header
    - Reader::next_frame
    - Encoder::new
    - crate::Decoder::new
    - Encoder::set_color
    - write_image_data
    - Encoder::set_filter
    - Cursor::new
    - Self::read_info
    - roundtrip
    - Reader::info
    - Encoder::set_depth
    linkageType: ''
    returnType: io::Result
    signature: fn all_filters_roundtrip() -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/image-png/src/encoder.rs:2166,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2170,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2171,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2172,1
    - Dst: Encoder::set_filter
      Src: /src/image-png/src/encoder.rs:2173,1
    - Dst: Encoder::set_source_gamma
      Src: /src/image-png/src/encoder.rs:2175,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2177,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2177,1
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/encoder.rs:2179,1
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2179,1
    - Dst: Self::read_info
      Src: /src/image-png/src/encoder.rs:2180,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/encoder.rs:2188,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2192,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2195,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2196,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:2196,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/encoder.rs:2196,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2197,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:2197,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/encoder.rs:2197,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2198,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:2198,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/encoder.rs:2198,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2199,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:2199,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/encoder.rs:2199,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2200,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:2200,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/encoder.rs:2200,1
    - Dst: roundtrip
      Src: /src/image-png/src/encoder.rs:2201,1
    - Dst: Some
      Src: /src/image-png/src/encoder.rs:2201,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/encoder.rs:2201,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2165
    functionDepth: 24
    functionLinenumber: 2165
    functionLinenumberEnd: 2204
    functionName: tests::some_gamma_roundtrip
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - collect
    - Some
    - Encoder::write_header
    - Reader::next_frame
    - Encoder::set_source_gamma
    - Encoder::new
    - crate::Decoder::new
    - Encoder::set_color
    - write_image_data
    - ScaledFloat::new
    - Encoder::set_filter
    - Cursor::new
    - Self::read_info
    - roundtrip
    - Ok
    - Encoder::set_depth
    linkageType: ''
    returnType: io::Result
    signature: fn some_gamma_roundtrip() -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2212,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2217,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2218,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2219,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2220,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2225,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2225,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2207
    functionDepth: 24
    functionLinenumber: 2207
    functionLinenumberEnd: 2229
    functionName: tests::write_image_chunks_beyond_first
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - Ok
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn write_image_chunks_beyond_first() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2237,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2239,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2240,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2241,1
    - Dst: Encoder::validate_sequence
      Src: /src/image-png/src/encoder.rs:2242,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2243,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2247,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2247,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2232
    functionDepth: 24
    functionLinenumber: 2232
    functionLinenumberEnd: 2251
    functionName: tests::image_validate_sequence_without_animation
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - Ok
    - Encoder::validate_sequence
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn image_validate_sequence_without_animation() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2259,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2263,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2264,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2265,1
    - Dst: Encoder::set_animated
      Src: /src/image-png/src/encoder.rs:2266,1
    - Dst: Encoder::validate_sequence
      Src: /src/image-png/src/encoder.rs:2267,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2268,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2270,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2270,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2254
    functionDepth: 24
    functionLinenumber: 2254
    functionLinenumberEnd: 2273
    functionName: tests::image_validate_animation
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Encoder::set_animated
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - Ok
    - Encoder::validate_sequence
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn image_validate_animation() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2281,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2285,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2286,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2287,1
    - Dst: Encoder::set_animated
      Src: /src/image-png/src/encoder.rs:2288,1
    - Dst: Encoder::validate_sequence
      Src: /src/image-png/src/encoder.rs:2289,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2290,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2292,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2292,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2293,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2293,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:2294,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2276
    functionDepth: 24
    functionLinenumber: 2276
    functionLinenumberEnd: 2297
    functionName: tests::image_validate_animation2
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Result::as_ref
    - Encoder::set_animated
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - finish
    - Encoder::validate_sequence
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn image_validate_animation2() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2305,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2309,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2310,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2311,1
    - Dst: Encoder::set_animated
      Src: /src/image-png/src/encoder.rs:2312,1
    - Dst: Encoder::set_sep_def_img
      Src: /src/image-png/src/encoder.rs:2313,1
    - Dst: Encoder::validate_sequence
      Src: /src/image-png/src/encoder.rs:2314,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2315,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2317,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2317,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2318,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2318,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:2319,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2300
    functionDepth: 24
    functionLinenumber: 2300
    functionLinenumberEnd: 2322
    functionName: tests::image_validate_animation_sep_def_image
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Result::as_ref
    - Encoder::set_animated
    - Encoder::set_sep_def_img
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - finish
    - Encoder::validate_sequence
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn image_validate_animation_sep_def_image() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2330,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2332,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2333,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2334,1
    - Dst: Encoder::validate_sequence
      Src: /src/image-png/src/encoder.rs:2335,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2336,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2325
    functionDepth: 24
    functionLinenumber: 2325
    functionLinenumberEnd: 2340
    functionName: tests::image_validate_missing_image
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - Cursor::new
    - Ok
    - Encoder::validate_sequence
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn image_validate_missing_image() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2348,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2352,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2353,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2354,1
    - Dst: Encoder::set_animated
      Src: /src/image-png/src/encoder.rs:2355,1
    - Dst: Encoder::validate_sequence
      Src: /src/image-png/src/encoder.rs:2356,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2357,1
    - Dst: write_image_data
      Src: /src/image-png/src/encoder.rs:2359,1
    - Dst: Result::as_ref
      Src: /src/image-png/src/encoder.rs:2359,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2343
    functionDepth: 24
    functionLinenumber: 2343
    functionLinenumberEnd: 2363
    functionName: tests::image_validate_missing_animated_frame
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Encoder::set_animated
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - write_image_data
    - Cursor::new
    - Ok
    - Encoder::validate_sequence
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn image_validate_missing_animated_frame() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2368,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2370,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2371,1
    - Dst: Result::stream_writer
      Src: /src/image-png/src/encoder.rs:2372,1
    - Dst: write
      Src: /src/image-png/src/encoder.rs:2374,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:2376,1
    - Dst: drop
      Src: /src/image-png/src/encoder.rs:2377,1
    - Dst: Self::set_position
      Src: /src/image-png/src/encoder.rs:2380,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:2381,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:2381,1
    - Dst: Result::expect
      Src: /src/image-png/src/encoder.rs:2381,1
    - Dst: next_frame
      Src: /src/image-png/src/encoder.rs:2383,1
    - Dst: expect
      Src: /src/image-png/src/encoder.rs:2383,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2366
    functionDepth: 24
    functionLinenumber: 2366
    functionLinenumberEnd: 2388
    functionName: tests::issue_307_stream_validation
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Decoder::new
    - Self::set_position
    - Decoder::read_info
    - next_frame
    - Result::expect
    - Encoder::write_header
    - finish
    - drop
    - Encoder::new
    - write
    - expect
    - Cursor::new
    - Result::stream_writer
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn issue_307_stream_validation() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2393,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2395,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2396,1
    - Dst: Encoder::set_filter
      Src: /src/image-png/src/encoder.rs:2397,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2398,1
    - Dst: Result::stream_writer
      Src: /src/image-png/src/encoder.rs:2399,1
    - Dst: write
      Src: /src/image-png/src/encoder.rs:2402,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:2405,1
    - Dst: drop
      Src: /src/image-png/src/encoder.rs:2406,1
    - Dst: Self::set_position
      Src: /src/image-png/src/encoder.rs:2409,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:2410,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:2410,1
    - Dst: Result::expect
      Src: /src/image-png/src/encoder.rs:2410,1
    - Dst: next_frame
      Src: /src/image-png/src/encoder.rs:2412,1
    - Dst: expect
      Src: /src/image-png/src/encoder.rs:2412,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2391
    functionDepth: 24
    functionLinenumber: 2391
    functionLinenumberEnd: 2417
    functionName: tests::stream_filtering
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Decoder::new
    - Self::set_position
    - Decoder::read_info
    - next_frame
    - Result::expect
    - Encoder::write_header
    - finish
    - drop
    - Encoder::new
    - write
    - Encoder::set_color
    - expect
    - Encoder::set_filter
    - Cursor::new
    - Result::stream_writer
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn stream_filtering() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2421,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2423,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2424,1
    - Dst: Encoder::set_compression
      Src: /src/image-png/src/encoder.rs:2425,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2426,1
    - Dst: Result::stream_writer
      Src: /src/image-png/src/encoder.rs:2427,1
    - Dst: write
      Src: /src/image-png/src/encoder.rs:2430,1
    - Dst: flush
      Src: /src/image-png/src/encoder.rs:2432,1
    - Dst: finish
      Src: /src/image-png/src/encoder.rs:2434,1
    - Dst: drop
      Src: /src/image-png/src/encoder.rs:2435,1
    - Dst: Self::set_position
      Src: /src/image-png/src/encoder.rs:2438,1
    - Dst: Decoder::new
      Src: /src/image-png/src/encoder.rs:2439,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/encoder.rs:2439,1
    - Dst: Result::expect
      Src: /src/image-png/src/encoder.rs:2439,1
    - Dst: next_frame
      Src: /src/image-png/src/encoder.rs:2441,1
    - Dst: expect
      Src: /src/image-png/src/encoder.rs:2441,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 1
    argNames:
    - compression
    argTypes:
    - Compression
    constantsTouched: []
    func_position:
      end: 2446
      start: 2419
    functionDepth: 24
    functionLinenumber: 2419
    functionLinenumberEnd: 2446
    functionName: tests::test_stream_flushing
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Decoder::new
    - Self::set_position
    - Decoder::read_info
    - next_frame
    - Result::expect
    - Encoder::write_header
    - finish
    - drop
    - Encoder::new
    - flush
    - Encoder::set_compression
    - Encoder::set_color
    - write
    - expect
    - Cursor::new
    - Result::stream_writer
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn test_stream_flushing(compression: Compression) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_stream_flushing
      Src: /src/image-png/src/encoder.rs:2450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2449
    functionDepth: 25
    functionLinenumber: 2449
    functionLinenumberEnd: 2451
    functionName: tests::stream_flushing_with_high_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - test_stream_flushing
    linkageType: ''
    returnType: Result
    signature: fn stream_flushing_with_high_compression() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_stream_flushing
      Src: /src/image-png/src/encoder.rs:2455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2454
    functionDepth: 25
    functionLinenumber: 2454
    functionLinenumberEnd: 2456
    functionName: tests::stream_flushing_with_balanced_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - test_stream_flushing
    linkageType: ''
    returnType: Result
    signature: fn stream_flushing_with_balanced_compression() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_stream_flushing
      Src: /src/image-png/src/encoder.rs:2460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2459
    functionDepth: 25
    functionLinenumber: 2459
    functionLinenumberEnd: 2461
    functionName: tests::stream_flushing_with_fast_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - test_stream_flushing
    linkageType: ''
    returnType: Result
    signature: fn stream_flushing_with_fast_compression() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_stream_flushing
      Src: /src/image-png/src/encoder.rs:2465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2464
    functionDepth: 25
    functionLinenumber: 2464
    functionLinenumberEnd: 2466
    functionName: tests::stream_flushing_with_fastest_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - test_stream_flushing
    linkageType: ''
    returnType: Result
    signature: fn stream_flushing_with_fastest_compression() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_stream_flushing
      Src: /src/image-png/src/encoder.rs:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2469
    functionDepth: 25
    functionLinenumber: 2469
    functionLinenumberEnd: 2471
    functionName: tests::stream_flushing_with_no_compression
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - test_stream_flushing
    linkageType: ''
    returnType: Result
    signature: fn stream_flushing_with_no_compression() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2479,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2481,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2482,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2483,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2484,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2475
    functionDepth: 24
    functionLinenumber: 2475
    functionLinenumberEnd: 2488
    functionName: tests::exper_error_on_huge_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - Cursor::new
    - Ok
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn exper_error_on_huge_chunk() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/image-png/src/encoder.rs:2496,1
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2498,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2499,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2500,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2501,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2492
    functionDepth: 24
    functionLinenumber: 2492
    functionLinenumberEnd: 2505
    functionName: tests::exper_error_on_non_u32_chunk
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - Cursor::new
    - Ok
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn exper_error_on_non_u32_chunk() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder::new
      Src: /src/image-png/src/encoder.rs:2528,1
    - Dst: NoWriter
      Src: /src/image-png/src/encoder.rs:2528,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/src/encoder.rs:2529,1
    - Dst: Encoder::set_color
      Src: /src/image-png/src/encoder.rs:2530,1
    - Dst: Encoder::write_header
      Src: /src/image-png/src/encoder.rs:2532,1
    - Dst: Result::write_image_data
      Src: /src/image-png/src/encoder.rs:2533,1
    - Dst: Result::finish
      Src: /src/image-png/src/encoder.rs:2534,1
    - Dst: Ok
      Src: /src/image-png/src/encoder.rs:2538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2508
    functionDepth: 24
    functionLinenumber: 2508
    functionLinenumberEnd: 2539
    functionName: tests::finish_drops_inner_writer
    functionSourceFile: /src/image-png/src/encoder.rs
    functionUses: 0
    functionsReached:
    - NoWriter
    - Result::finish
    - Result::write_image_data
    - Encoder::write_header
    - Encoder::new
    - Encoder::set_color
    - Ok
    - Encoder::set_depth
    linkageType: ''
    returnType: Result
    signature: fn finish_drops_inner_writer() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::iter
      Src: /src/image-png/src/text_metadata.rs:158,1
    - Dst: Result::map
      Src: /src/image-png/src/text_metadata.rs:158,1
    - Dst: collect
      Src: /src/image-png/src/text_metadata.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 26
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: decode_iso_8859_1
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 5
    functionsReached:
    - collect
    - Result::map
    - Result::iter
    linkageType: ''
    returnType: String
    signature: 'fn decode_iso_8859_1(text: &[u8]) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1_iter
      Src: /src/image-png/src/text_metadata.rs:162,1
    - Dst: impl Iterator::collect
      Src: /src/image-png/src/text_metadata.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: encode_iso_8859_1
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 5
    functionsReached:
    - impl Iterator::collect
    - encode_iso_8859_1_iter
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn encode_iso_8859_1(text: &str) -> Result<Vec<u8>, TextEncodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1_iter
      Src: /src/image-png/src/text_metadata.rs:166,1
    - Dst: UnfilterBuf::push
      Src: /src/image-png/src/text_metadata.rs:167,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - text
    argTypes:
    - '&mut Vec<u8>'
    - '&str'
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: encode_iso_8859_1_into
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - UnfilterBuf::push
    - Ok
    - encode_iso_8859_1_iter
    linkageType: ''
    returnType: Result
    signature: 'fn encode_iso_8859_1_into(buf: &mut Vec<u8>, text: &str) -> Result<(),
      TextEncodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::chars
      Src: /src/image-png/src/text_metadata.rs:173,1
    - Dst: map
      Src: /src/image-png/src/text_metadata.rs:173,1
    - Dst: u8::try_from
      Src: /src/image-png/src/text_metadata.rs:174,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: encode_iso_8859_1_iter
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 2
    functionsReached:
    - u8::try_from
    - map_err
    - Result::chars
    - map
    linkageType: ''
    returnType: impl Iterator
    signature: 'fn encode_iso_8859_1_iter(text: &str) -> impl Iterator<Item = Result<u8,
      TextEncodingError>> + ''_'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::is_ascii
      Src: /src/image-png/src/text_metadata.rs:178,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:181,1
    - Dst: std::str::from_utf8
      Src: /src/image-png/src/text_metadata.rs:181,1
    - Dst: expect
      Src: /src/image-png/src/text_metadata.rs:181,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - text
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: decode_ascii
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - std::str::from_utf8
    - Err
    - expect
    - Result::is_ascii
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn decode_ascii(text: &[u8]) -> Result<&str, TextDecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into
      Src: /src/image-png/src/text_metadata.rs:192,1
    - Dst: Result::into
      Src: /src/image-png/src/text_metadata.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - keyword
    - text
    argTypes:
    - impl Into<String>
    - impl Into<String>
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: TEXtChunk::new
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - Result::into
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(keyword: impl Into<String>, text: impl Into<String>) ->
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::is_empty'
      Src: /src/image-png/src/text_metadata.rs:203,1
    - Dst: '&[u8]::len'
      Src: /src/image-png/src/text_metadata.rs:203,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:204,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:207,1
    - Dst: decode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:208,1
    - Dst: decode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - keyword_slice
    - text_slice
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 21
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: TEXtChunk::decode
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - decode_iso_8859_1
    - Err
    - '&[u8]::is_empty'
    - '&[u8]::len'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn decode(keyword_slice: &[u8],text_slice: &[u8],) -> Result<Self,
      TextDecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:217,1
    - Dst: Result::is_empty
      Src: /src/image-png/src/text_metadata.rs:219,1
    - Dst: Result::len
      Src: /src/image-png/src/text_metadata.rs:219,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:220,1
    - Dst: into
      Src: /src/image-png/src/text_metadata.rs:220,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:223,1
    - Dst: encode_iso_8859_1_into
      Src: /src/image-png/src/text_metadata.rs:225,1
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/text_metadata.rs:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 21
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: TEXtChunk::encode
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - encode_iso_8859_1
    - Err
    - Result::push
    - into
    - encode_iso_8859_1_into
    - encoder::write_chunk
    - Result::is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn encode<W: Write>(&self, w: &mut W) -> Result<(), EncodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into
      Src: /src/image-png/src/text_metadata.rs:253,1
    - Dst: OptCompressed::Uncompressed
      Src: /src/image-png/src/text_metadata.rs:254,1
    - Dst: Result::into
      Src: /src/image-png/src/text_metadata.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - keyword
    - text
    argTypes:
    - impl Into<String>
    - impl Into<String>
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: ZTXtChunk::new
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - Result::into
    - OptCompressed::Uncompressed
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(keyword: impl Into<String>, text: impl Into<String>) ->
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::is_empty'
      Src: /src/image-png/src/text_metadata.rs:263,1
    - Dst: '&[u8]::len'
      Src: /src/image-png/src/text_metadata.rs:263,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:264,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:268,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:271,1
    - Dst: decode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:272,1
    - Dst: OptCompressed::Compressed
      Src: /src/image-png/src/text_metadata.rs:273,1
    - Dst: '&[u8]::to_vec'
      Src: /src/image-png/src/text_metadata.rs:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - keyword_slice
    - compression_method
    - text_slice
    argTypes:
    - '&[u8]'
    - u8
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 21
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: ZTXtChunk::decode
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::to_vec'
    - decode_iso_8859_1
    - OptCompressed::Compressed
    - Err
    - '&[u8]::is_empty'
    - '&[u8]::len'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn decode(keyword_slice: &[u8],compression_method: u8,text_slice:
      &[u8],) -> Result<Self, TextDecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZTXtChunk::decompress_text_with_limit
      Src: /src/image-png/src/text_metadata.rs:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 28
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: ZTXtChunk::decompress_text
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - ZTXtChunk::decompress_text_with_limit
    linkageType: ''
    returnType: Result
    signature: pub fn decompress_text(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdeflate::decompress_to_vec_bounded
      Src: /src/image-png/src/text_metadata.rs:286,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:289,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/text_metadata.rs:289,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:294,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/text_metadata.rs:294,1
    - Dst: OptCompressed::Uncompressed
      Src: /src/image-png/src/text_metadata.rs:297,1
    - Dst: decode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:297,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - limit
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 302
      start: 283
    functionDepth: 27
    functionLinenumber: 283
    functionLinenumberEnd: 302
    functionName: ZTXtChunk::decompress_text_with_limit
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - decode_iso_8859_1
    - Err
    - fdeflate::decompress_to_vec_bounded
    - DecodingError::from
    - OptCompressed::Uncompressed
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decompress_text_with_limit(&mut self, limit: usize) -> Result<(),
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdeflate::decompress_to_vec
      Src: /src/image-png/src/text_metadata.rs:309,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:309,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/text_metadata.rs:310,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:311,1
    - Dst: decode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:311,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:313,1
    - Dst: clone
      Src: /src/image-png/src/text_metadata.rs:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 27
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: ZTXtChunk::get_text
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - decode_iso_8859_1
    - clone
    - map_err
    - fdeflate::decompress_to_vec
    - DecodingError::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn get_text(&self) -> Result<String, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:321,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/text_metadata.rs:322,1
    - Dst: Vec::new
      Src: /src/image-png/src/text_metadata.rs:322,1
    - Dst: Compression::fast
      Src: /src/image-png/src/text_metadata.rs:322,1
    - Dst: Self::write_all
      Src: /src/image-png/src/text_metadata.rs:323,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:323,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:325,1
    - Dst: OptCompressed::Compressed
      Src: /src/image-png/src/text_metadata.rs:326,1
    - Dst: Self::finish
      Src: /src/image-png/src/text_metadata.rs:327,1
    - Dst: Result::map_err
      Src: /src/image-png/src/text_metadata.rs:327,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:329,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 24
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: ZTXtChunk::compress_text
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - Self::finish
    - encode_iso_8859_1
    - ZlibEncoder::new
    - OptCompressed::Compressed
    - map_err
    - EncodingError::from
    - Result::map_err
    - Compression::fast
    - Self::write_all
    - Ok
    - Vec::new
    linkageType: ''
    returnType: Result
    signature: pub fn compress_text(&mut self) -> Result<(), EncodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:341,1
    - Dst: Result::is_empty
      Src: /src/image-png/src/text_metadata.rs:343,1
    - Dst: Result::len
      Src: /src/image-png/src/text_metadata.rs:343,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:344,1
    - Dst: into
      Src: /src/image-png/src/text_metadata.rs:344,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:348,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:351,1
    - Dst: Result::extend_from_slice
      Src: /src/image-png/src/text_metadata.rs:355,1
    - Dst: encode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:359,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/text_metadata.rs:360,1
    - Dst: Compression::fast
      Src: /src/image-png/src/text_metadata.rs:360,1
    - Dst: Self::write_all
      Src: /src/image-png/src/text_metadata.rs:361,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:361,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:363,1
    - Dst: Self::finish
      Src: /src/image-png/src/text_metadata.rs:364,1
    - Dst: Result::map_err
      Src: /src/image-png/src/text_metadata.rs:364,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:366,1
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/text_metadata.rs:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 371
      start: 340
    functionDepth: 21
    functionLinenumber: 340
    functionLinenumberEnd: 371
    functionName: ZTXtChunk::encode
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - Self::finish
    - Result::len
    - encode_iso_8859_1
    - Result::extend_from_slice
    - ZlibEncoder::new
    - Err
    - Result::push
    - into
    - map_err
    - EncodingError::from
    - Result::map_err
    - Compression::fast
    - encoder::write_chunk
    - Self::write_all
    - Result::is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn encode<W: Write>(&self, w: &mut W) -> Result<(), EncodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into
      Src: /src/image-png/src/text_metadata.rs:393,1
    - Dst: '&str::to_string'
      Src: /src/image-png/src/text_metadata.rs:395,1
    - Dst: '&str::to_string'
      Src: /src/image-png/src/text_metadata.rs:396,1
    - Dst: OptCompressed::Uncompressed
      Src: /src/image-png/src/text_metadata.rs:397,1
    - Dst: Result::into
      Src: /src/image-png/src/text_metadata.rs:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - keyword
    - text
    argTypes:
    - impl Into<String>
    - impl Into<String>
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: ITXtChunk::new
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - Result::into
    - '&str::to_string'
    - OptCompressed::Uncompressed
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(keyword: impl Into<String>, text: impl Into<String>) ->
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::is_empty'
      Src: /src/image-png/src/text_metadata.rs:409,1
    - Dst: '&[u8]::len'
      Src: /src/image-png/src/text_metadata.rs:409,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:410,1
    - Dst: decode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:412,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:417,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:421,1
    - Dst: decode_ascii
      Src: /src/image-png/src/text_metadata.rs:424,1
    - Dst: to_owned
      Src: /src/image-png/src/text_metadata.rs:424,1
    - Dst: std::str::from_utf8
      Src: /src/image-png/src/text_metadata.rs:426,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:426,1
    - Dst: to_string
      Src: /src/image-png/src/text_metadata.rs:426,1
    - Dst: OptCompressed::Compressed
      Src: /src/image-png/src/text_metadata.rs:430,1
    - Dst: '&[u8]::to_vec'
      Src: /src/image-png/src/text_metadata.rs:430,1
    - Dst: OptCompressed::Uncompressed
      Src: /src/image-png/src/text_metadata.rs:432,1
    - Dst: String::from_utf8
      Src: /src/image-png/src/text_metadata.rs:433,1
    - Dst: '&[u8]::to_vec'
      Src: /src/image-png/src/text_metadata.rs:433,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:433,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 6
    argNames:
    - keyword_slice
    - compression_flag
    - compression_method
    - language_tag_slice
    - translated_keyword_slice
    - text_slice
    argTypes:
    - '&[u8]'
    - u8
    - u8
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 445
      start: 401
    functionDepth: 21
    functionLinenumber: 401
    functionLinenumberEnd: 445
    functionName: ITXtChunk::decode
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - std::str::from_utf8
    - '&[u8]::to_vec'
    - decode_iso_8859_1
    - OptCompressed::Compressed
    - Err
    - to_string
    - String::from_utf8
    - map_err
    - '&[u8]::is_empty'
    - decode_ascii
    - '&[u8]::len'
    - to_owned
    - OptCompressed::Uncompressed
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn decode(keyword_slice: &[u8],compression_flag: u8,compression_method:
      u8,language_tag_slice: &[u8],translated_keyword_slice: &[u8],text_slice: &[u8],)
      -> Result<Self, TextDecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ITXtChunk::decompress_text_with_limit
      Src: /src/image-png/src/text_metadata.rs:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: ITXtChunk::decompress_text
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - ITXtChunk::decompress_text_with_limit
    linkageType: ''
    returnType: Result
    signature: pub fn decompress_text(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdeflate::decompress_to_vec_bounded
      Src: /src/image-png/src/text_metadata.rs:456,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:459,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/text_metadata.rs:459,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:464,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/text_metadata.rs:464,1
    - Dst: OptCompressed::Uncompressed
      Src: /src/image-png/src/text_metadata.rs:467,1
    - Dst: String::from_utf8
      Src: /src/image-png/src/text_metadata.rs:468,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:468,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - limit
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 475
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 475
    functionName: ITXtChunk::decompress_text_with_limit
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 1
    functionsReached:
    - String::from_utf8
    - Err
    - map_err
    - fdeflate::decompress_to_vec_bounded
    - DecodingError::from
    - OptCompressed::Uncompressed
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decompress_text_with_limit(&mut self, limit: usize) -> Result<(),
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdeflate::decompress_to_vec
      Src: /src/image-png/src/text_metadata.rs:482,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:482,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/text_metadata.rs:483,1
    - Dst: String::from_utf8
      Src: /src/image-png/src/text_metadata.rs:484,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:484,1
    - Dst: into
      Src: /src/image-png/src/text_metadata.rs:485,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:487,1
    - Dst: clone
      Src: /src/image-png/src/text_metadata.rs:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: ITXtChunk::get_text
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - clone
    - String::from_utf8
    - into
    - map_err
    - fdeflate::decompress_to_vec
    - DecodingError::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn get_text(&self) -> Result<String, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/image-png/src/text_metadata.rs:495,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/text_metadata.rs:496,1
    - Dst: Vec::new
      Src: /src/image-png/src/text_metadata.rs:496,1
    - Dst: Compression::fast
      Src: /src/image-png/src/text_metadata.rs:496,1
    - Dst: Self::write_all
      Src: /src/image-png/src/text_metadata.rs:497,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:497,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:499,1
    - Dst: OptCompressed::Compressed
      Src: /src/image-png/src/text_metadata.rs:500,1
    - Dst: Self::finish
      Src: /src/image-png/src/text_metadata.rs:501,1
    - Dst: Result::map_err
      Src: /src/image-png/src/text_metadata.rs:501,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:503,1
    - Dst: Ok
      Src: /src/image-png/src/text_metadata.rs:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 24
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ITXtChunk::compress_text
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - Self::finish
    - as_bytes
    - ZlibEncoder::new
    - OptCompressed::Compressed
    - map_err
    - EncodingError::from
    - Result::map_err
    - Compression::fast
    - Self::write_all
    - Ok
    - Vec::new
    linkageType: ''
    returnType: Result
    signature: pub fn compress_text(&mut self) -> Result<(), EncodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_iso_8859_1
      Src: /src/image-png/src/text_metadata.rs:516,1
    - Dst: Result::is_empty
      Src: /src/image-png/src/text_metadata.rs:518,1
    - Dst: Result::len
      Src: /src/image-png/src/text_metadata.rs:518,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:519,1
    - Dst: into
      Src: /src/image-png/src/text_metadata.rs:519,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:523,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:527,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:529,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:533,1
    - Dst: is_ascii
      Src: /src/image-png/src/text_metadata.rs:536,1
    - Dst: Err
      Src: /src/image-png/src/text_metadata.rs:537,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:537,1
    - Dst: Result::extend
      Src: /src/image-png/src/text_metadata.rs:539,1
    - Dst: as_bytes
      Src: /src/image-png/src/text_metadata.rs:539,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:542,1
    - Dst: Result::extend_from_slice
      Src: /src/image-png/src/text_metadata.rs:545,1
    - Dst: as_bytes
      Src: /src/image-png/src/text_metadata.rs:545,1
    - Dst: Result::push
      Src: /src/image-png/src/text_metadata.rs:548,1
    - Dst: Result::extend_from_slice
      Src: /src/image-png/src/text_metadata.rs:554,1
    - Dst: as_bytes
      Src: /src/image-png/src/text_metadata.rs:557,1
    - Dst: ZlibEncoder::new
      Src: /src/image-png/src/text_metadata.rs:558,1
    - Dst: Compression::fast
      Src: /src/image-png/src/text_metadata.rs:558,1
    - Dst: Self::write_all
      Src: /src/image-png/src/text_metadata.rs:559,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:559,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:561,1
    - Dst: Self::finish
      Src: /src/image-png/src/text_metadata.rs:562,1
    - Dst: Result::map_err
      Src: /src/image-png/src/text_metadata.rs:562,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:564,1
    - Dst: fdeflate::decompress_to_vec
      Src: /src/image-png/src/text_metadata.rs:570,1
    - Dst: map_err
      Src: /src/image-png/src/text_metadata.rs:570,1
    - Dst: EncodingError::from
      Src: /src/image-png/src/text_metadata.rs:571,1
    - Dst: Result::extend_from_slice
      Src: /src/image-png/src/text_metadata.rs:572,1
    - Dst: Result::extend_from_slice
      Src: /src/image-png/src/text_metadata.rs:575,1
    - Dst: as_bytes
      Src: /src/image-png/src/text_metadata.rs:575,1
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/text_metadata.rs:580,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 117
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 581
      start: 514
    functionDepth: 21
    functionLinenumber: 514
    functionLinenumberEnd: 581
    functionName: ITXtChunk::encode
    functionSourceFile: /src/image-png/src/text_metadata.rs
    functionUses: 0
    functionsReached:
    - Result::extend_from_slice
    - Err
    - EncodingError::from
    - encoder::write_chunk
    - Self::write_all
    - Self::finish
    - as_bytes
    - Result::len
    - ZlibEncoder::new
    - is_ascii
    - map_err
    - fdeflate::decompress_to_vec
    - Compression::fast
    - encode_iso_8859_1
    - Result::push
    - into
    - Result::extend
    - Result::map_err
    - Result::is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn encode<W: Write>(&self, w: &mut W) -> Result<(), EncodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ColorType::samples_u8
      Src: /src/image-png/src/common.rs:28,1
    - Dst: u8::into
      Src: /src/image-png/src/common.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: ColorType::samples
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 3
    functionsReached:
    - ColorType::samples_u8
    - u8::into
    linkageType: ''
    returnType: usize
    signature: pub fn samples(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: ColorType::samples_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub(crate) fn samples_u8(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:44,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:45,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:46,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:47,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: ColorType::from_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 2
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u8(n: u8) -> Option<ColorType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/image-png/src/common.rs:55,1
    - Dst: u64::from
      Src: /src/image-png/src/common.rs:55,1
    - Dst: ColorType::samples_u8
      Src: /src/image-png/src/common.rs:55,1
    - Dst: u64::from
      Src: /src/image-png/src/common.rs:55,1
    - Dst: into_u8
      Src: /src/image-png/src/common.rs:55,1
    - Dst: TryFrom::try_from
      Src: /src/image-png/src/common.rs:56,1
    - Dst: ok
      Src: /src/image-png/src/common.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - depth
    - width
    argTypes:
    - BitDepth
    - u32
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ColorType::checked_raw_row_length
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - into_u8
    - u64::from
    - ColorType::samples_u8
    - ok
    - TryFrom::try_from
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn checked_raw_row_length(self, depth: BitDepth, width:
      u32) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ColorType::samples
      Src: /src/image-png/src/common.rs:60,1
    - Dst: usize::from
      Src: /src/image-png/src/common.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - depth
    - width
    argTypes:
    - BitDepth
    - u32
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ColorType::raw_row_length_from_width
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - usize::from
    - ColorType::samples
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) fn raw_row_length_from_width(self, depth: BitDepth, width:
      u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - bit_depth
    argTypes:
    - BitDepth
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: ColorType::is_combination_invalid
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn is_combination_invalid(self, bit_depth: BitDepth) ->
      bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ColorType::samples
      Src: /src/image-png/src/common.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bit_depth
    argTypes:
    - BitDepth
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ColorType::bits_per_pixel
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - ColorType::samples
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) fn bits_per_pixel(&self, bit_depth: BitDepth) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ColorType::samples
      Src: /src/image-png/src/common.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bit_depth
    argTypes:
    - BitDepth
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ColorType::bytes_per_pixel
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - ColorType::samples
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) fn bytes_per_pixel(&self, bit_depth: BitDepth) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:125,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:126,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:127,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:128,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: BitDepth::from_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 6
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u8(n: u8) -> Option<BitDepth>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: BitDepth::into_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub(crate) fn into_u8(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:162,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Unit::from_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u8(n: u8) -> Option<Unit>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:185,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:186,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: DisposeOp::from_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u8(n: u8) -> Option<DisposeOp>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: DisposeOp::fmt
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:218,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: BlendOp::from_u8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u8(n: u8) -> Option<BlendOp>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: BlendOp::fmt
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: FrameControl::default
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrameControl
    signature: fn default() -> FrameControl
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: FrameControl::set_seq_num
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_seq_num(&mut self, s: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: FrameControl::inc_seq_num
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn inc_seq_num(&mut self, i: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:285,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:285,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:286,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:286,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:287,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:287,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:288,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:288,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:289,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:289,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:290,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:290,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:291,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:291,1
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/common.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 20
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: FrameControl::encode
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - encoder::write_chunk
    - to_be_bytes
    - copy_from_slice
    linkageType: ''
    returnType: encoder::Result
    signature: 'pub fn encode<W: Write>(self, w: &mut W) -> encoder::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:311,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:311,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/common.rs:312,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:312,1
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/common.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 20
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: AnimationControl::encode
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - encoder::write_chunk
    - to_be_bytes
    - copy_from_slice
    linkageType: ''
    returnType: encoder::Result
    signature: 'pub fn encode<W: Write>(self, w: &mut W) -> encoder::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: Compression::default
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_simple
      Src: /src/image-png/src/common.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: DeflateCompression::default
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - Self::from_simple
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::Level
      Src: /src/image-png/src/common.rs:416,1
    - Dst: flate2::Compression::default
      Src: /src/image-png/src/common.rs:416,1
    - Dst: Self::level
      Src: /src/image-png/src/common.rs:416,1
    - Dst: Self::Level
      Src: /src/image-png/src/common.rs:417,1
    - Dst: flate2::Compression::best
      Src: /src/image-png/src/common.rs:417,1
    - Dst: level
      Src: /src/image-png/src/common.rs:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - Compression
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: DeflateCompression::from_simple
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - flate2::Compression::default
    - Self::level
    - Self::Level
    - flate2::Compression::best
    - level
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn from_simple(value: Compression) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/image-png/src/common.rs:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - f32
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: ScaledFloat::in_range
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: bool
    signature: 'pub fn in_range(value: f32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::forward
      Src: /src/image-png/src/common.rs:438,1
    - Dst: Self::reverse
      Src: /src/image-png/src/common.rs:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - f32
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: ScaledFloat::exact
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - Self::forward
    - Self::reverse
    linkageType: ''
    returnType: bool
    signature: 'pub fn exact(value: f32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f32::max
      Src: /src/image-png/src/common.rs:444,1
    - Dst: floor
      Src: /src/image-png/src/common.rs:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - f32
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: ScaledFloat::forward
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - f32::max
    - floor
    linkageType: ''
    returnType: u32
    signature: 'fn forward(value: f32) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoded
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: ScaledFloat::reverse
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f32
    signature: 'fn reverse(encoded: u32) -> f32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/image-png/src/common.rs:454,1
    - Dst: Self::forward
      Src: /src/image-png/src/common.rs:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - f32
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: ScaledFloat::new
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 3
    functionsReached:
    - Self::forward
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(value: f32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/image-png/src/common.rs:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: ScaledFloat::from_scaled
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 5
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_scaled(val: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: ScaledFloat::into_scaled
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn into_scaled(self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::reverse
      Src: /src/image-png/src/common.rs:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: ScaledFloat::into_value
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - Self::reverse
    linkageType: ''
    returnType: f32
    signature: pub fn into_value(self) -> f32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/common.rs:473,1
    - Dst: ScaledFloat::into_scaled
      Src: /src/image-png/src/common.rs:473,1
    - Dst: u32::to_be_bytes
      Src: /src/image-png/src/common.rs:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 20
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: ScaledFloat::encode_gama
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - ScaledFloat::into_scaled
    - u32::to_be_bytes
    - encoder::write_chunk
    linkageType: ''
    returnType: encoder::Result
    signature: 'pub(crate) fn encode_gama<W: Write>(self, w: &mut W) -> encoder::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:489,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:489,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:490,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:490,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:491,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:491,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:492,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/common.rs:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - white
    - red
    - green
    - blue
    argTypes:
    - (f32, f32)
    - (f32, f32)
    - (f32, f32)
    - (f32, f32)
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: SourceChromaticities::new
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - ScaledFloat::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(white: (f32, f32), red: (f32, f32), green: (f32, f32),
      blue: (f32, f32)) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:498,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:498,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:499,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:499,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:500,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:500,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:501,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:501,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:502,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:502,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:503,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:503,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:504,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:504,1
    - Dst: into_scaled
      Src: /src/image-png/src/common.rs:505,1
    - Dst: to_be_bytes
      Src: /src/image-png/src/common.rs:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 516
    functionName: SourceChromaticities::to_be_bytes
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - into_scaled
    - to_be_bytes
    linkageType: ''
    returnType: '[u8; 32]'
    signature: pub fn to_be_bytes(self) -> [u8; 32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/common.rs:519,1
    - Dst: SourceChromaticities::to_be_bytes
      Src: /src/image-png/src/common.rs:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 20
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: SourceChromaticities::encode
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - SourceChromaticities::to_be_bytes
    - encoder::write_chunk
    linkageType: ''
    returnType: encoder::Result
    signature: 'pub fn encode<W: Write>(self, w: &mut W) -> encoder::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: SrgbRenderingIntent::into_raw
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub(crate) fn into_raw(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:546,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:547,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:548,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - raw
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: SrgbRenderingIntent::from_raw
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn from_raw(raw: u8) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoder::write_chunk
      Src: /src/image-png/src/common.rs:555,1
    - Dst: SrgbRenderingIntent::into_raw
      Src: /src/image-png/src/common.rs:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - w
    argTypes:
    - '&mut W'
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 20
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: SrgbRenderingIntent::encode
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - SrgbRenderingIntent::into_raw
    - encoder::write_chunk
    linkageType: ''
    returnType: encoder::Result
    signature: 'pub fn encode<W: Write>(self, w: &mut W) -> encoder::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/common.rs:729,1
    - Dst: Vec::new
      Src: /src/image-png/src/common.rs:730,1
    - Dst: Vec::new
      Src: /src/image-png/src/common.rs:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 733
    functionName: Info::default
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 2
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Info
    signature: fn default() -> Info<'static>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/image-png/src/common.rs:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 744
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 744
    functionName: Info::with_size
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 4
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_size(width: u32, height: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 749
    functionName: Info::size
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: (u32, u32)
    signature: pub fn size(&self) -> (u32, u32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/common.rs:753,1
    - Dst: is_some
      Src: /src/image-png/src/common.rs:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: Info::is_animated
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - is_some
    linkageType: ''
    returnType: bool
    signature: pub fn is_animated(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/image-png/src/common.rs:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionName: Info::animation_control
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: Option
    signature: pub fn animation_control(&self) -> Option<&AnimationControl>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/image-png/src/common.rs:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 764
    functionName: Info::frame_control
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: Option
    signature: pub fn frame_control(&self) -> Option<&FrameControl>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits_per_pixel
      Src: /src/image-png/src/common.rs:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: Info::bits_per_pixel
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - bits_per_pixel
    linkageType: ''
    returnType: usize
    signature: pub fn bits_per_pixel(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_per_pixel
      Src: /src/image-png/src/common.rs:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: Info::bytes_per_pixel
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 2
    functionsReached:
    - bytes_per_pixel
    linkageType: ''
    returnType: usize
    signature: pub fn bytes_per_pixel(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesPerPixel::from_usize
      Src: /src/image-png/src/common.rs:786,1
    - Dst: Info::bytes_per_pixel
      Src: /src/image-png/src/common.rs:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 787
    functionName: Info::bpp_in_prediction
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - BytesPerPixel::from_usize
    - Info::bytes_per_pixel
    linkageType: ''
    returnType: BytesPerPixel
    signature: pub(crate) fn bpp_in_prediction(&self) -> BytesPerPixel
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Info::raw_row_length
      Src: /src/image-png/src/common.rs:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 5
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: Info::raw_bytes
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - Info::raw_row_length
    linkageType: ''
    returnType: usize
    signature: pub fn raw_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Info::raw_row_length_from_width
      Src: /src/image-png/src/common.rs:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 795
    functionDepth: 4
    functionLinenumber: 795
    functionLinenumberEnd: 797
    functionName: Info::raw_row_length
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - Info::raw_row_length_from_width
    linkageType: ''
    returnType: usize
    signature: pub fn raw_row_length(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_raw_row_length
      Src: /src/image-png/src/common.rs:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: Info::checked_raw_row_length
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - checked_raw_row_length
    linkageType: ''
    returnType: Option
    signature: pub(crate) fn checked_raw_row_length(&self) -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_row_length_from_width
      Src: /src/image-png/src/common.rs:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - width
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: Info::raw_row_length_from_width
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 3
    functionsReached:
    - raw_row_length_from_width
    linkageType: ''
    returnType: usize
    signature: 'pub fn raw_row_length_from_width(&self, width: u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/common.rs:812,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:813,1
    - Dst: crate::srgb::substitute_gamma
      Src: /src/image-png/src/common.rs:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 817
    functionName: Info::gamma
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - crate::srgb::substitute_gamma
    - Some
    - is_some
    linkageType: ''
    returnType: Option
    signature: pub fn gamma(&self) -> Option<ScaledFloat>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/common.rs:821,1
    - Dst: Some
      Src: /src/image-png/src/common.rs:822,1
    - Dst: crate::srgb::substitute_chromaticities
      Src: /src/image-png/src/common.rs:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: Info::chromaticities
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 1
    functionsReached:
    - crate::srgb::substitute_chromaticities
    - Some
    - is_some
    linkageType: ''
    returnType: Option
    signature: pub fn chromaticities(&self) -> Option<SourceChromaticities>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/common.rs:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rendering_intent
    argTypes:
    - SrgbRenderingIntent
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: Info::set_source_srgb
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn set_source_srgb(&mut self, rendering_intent: SrgbRenderingIntent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bpp
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 851
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 851
    functionName: BytesPerPixel::from_usize
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn from_usize(bpp: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 855
    functionName: BytesPerPixel::into_usize
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn into_usize(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: Transformations::normalize_to_color8
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Transformations
    signature: pub fn normalize_to_color8() -> Transformations
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 923
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionName: Transformations::default
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Transformations
    signature: fn default() -> Transformations
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inner
    argTypes:
    - ParameterErrorKind
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: ParameterError::from
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(inner: ParameterErrorKind) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 970
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 970
    functionName: ParameterError::fmt
    functionSourceFile: /src/image-png/src/common.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/image-png/src/benchable_apis.rs:19,1
    - Dst: u64::from
      Src: /src/image-png/src/benchable_apis.rs:19,1
    - Dst: div_ceil
      Src: /src/image-png/src/benchable_apis.rs:19,1
    - Dst: usize::try_from
      Src: /src/image-png/src/benchable_apis.rs:20,1
    - Dst: unwrap
      Src: /src/image-png/src/benchable_apis.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - width
    - bpp
    argTypes:
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: a::d::a::m::7::bytes_of_width
    functionSourceFile: /src/image-png/src/benchable_apis.rs
    functionUses: 0
    functionsReached:
    - usize::try_from
    - unwrap
    - u64::from
    - div_ceil
    linkageType: ''
    returnType: usize
    signature: 'fn bytes_of_width(width: u32, bpp: u8) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_of_width
      Src: /src/image-png/src/benchable_apis.rs:23,1
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/benchable_apis.rs:24,1
    - Dst: Adam7Iterator::into_iter
      Src: /src/image-png/src/benchable_apis.rs:24,1
    - Dst: bytes_of_width
      Src: /src/image-png/src/benchable_apis.rs:29,1
    - Dst: adam7::expand_pass
      Src: /src/image-png/src/benchable_apis.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - img
    - buffer
    - width
    - height
    - bpp
    argTypes:
    - '&mut [u8]'
    - '&[u8]'
    - u32
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 26
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: adam7
    functionSourceFile: /src/image-png/src/benchable_apis.rs
    functionUses: 1
    functionsReached:
    - Adam7Iterator::new
    - bytes_of_width
    - adam7::expand_pass
    - Adam7Iterator::into_iter
    linkageType: ''
    returnType: void
    signature: 'pub fn adam7(img: &mut [u8], buffer: &[u8], width: u32, height: u32,
      bpp: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitDepth::from_u8
      Src: /src/image-png/src/benchable_apis.rs:43,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/benchable_apis.rs:43,1
    - Dst: Some
      Src: /src/image-png/src/benchable_apis.rs:44,1
    - Dst: Result::into
      Src: /src/image-png/src/benchable_apis.rs:44,1
    - Dst: map
      Src: /src/image-png/src/benchable_apis.rs:45,1
    - Dst: Info::default
      Src: /src/image-png/src/benchable_apis.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - plte
    - trns
    - bit_depth
    argTypes:
    - '&''a [u8]'
    - Option<&'a [u8]>
    - u8
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: create_info_from_plte_trns_bitdepth
    functionSourceFile: /src/image-png/src/benchable_apis.rs
    functionUses: 2
    functionsReached:
    - Some
    - map
    - Result::into
    - Info::default
    - Option::unwrap
    - BitDepth::from_u8
    linkageType: ''
    returnType: Info
    signature: 'pub fn create_info_from_plte_trns_bitdepth<''a>(plte: &''a [u8],trns:
      Option<&''a [u8]>,bit_depth: u8,) -> Info<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: substitute_gamma
    functionSourceFile: /src/image-png/src/srgb.rs
    functionUses: 2
    functionsReached:
    - ScaledFloat::from_scaled
    linkageType: ''
    returnType: ScaledFloat
    signature: pub fn substitute_gamma() -> ScaledFloat
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:14,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:15,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:18,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:19,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:22,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:23,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:26,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/srgb.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 30
    functionName: substitute_chromaticities
    functionSourceFile: /src/image-png/src/srgb.rs
    functionUses: 2
    functionsReached:
    - ScaledFloat::from_scaled
    linkageType: ''
    returnType: SourceChromaticities
    signature: pub fn substitute_chromaticities() -> SourceChromaticities
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames: []
    argTypes:
    - ChunkType
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: is_critical
    functionSourceFile: /src/image-png/src/chunk.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_critical(ChunkType(type_): ChunkType) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames: []
    argTypes:
    - ChunkType
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: is_private
    functionSourceFile: /src/image-png/src/chunk.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_private(ChunkType(type_): ChunkType) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames: []
    argTypes:
    - ChunkType
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: reserved_set
    functionSourceFile: /src/image-png/src/chunk.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn reserved_set(ChunkType(type_): ChunkType) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames: []
    argTypes:
    - ChunkType
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: safe_to_copy
    functionSourceFile: /src/image-png/src/chunk.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn safe_to_copy(ChunkType(type_): ChunkType) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Self::Target::debug_struct'
      Src: /src/image-png/src/chunk.rs:100,1
    - Dst: field
      Src: /src/image-png/src/chunk.rs:100,1
    - Dst: DebugType
      Src: /src/image-png/src/chunk.rs:101,1
    - Dst: field
      Src: /src/image-png/src/chunk.rs:100,1
    - Dst: is_critical
      Src: /src/image-png/src/chunk.rs:102,1
    - Dst: field
      Src: /src/image-png/src/chunk.rs:100,1
    - Dst: is_private
      Src: /src/image-png/src/chunk.rs:103,1
    - Dst: field
      Src: /src/image-png/src/chunk.rs:100,1
    - Dst: reserved_set
      Src: /src/image-png/src/chunk.rs:104,1
    - Dst: field
      Src: /src/image-png/src/chunk.rs:100,1
    - Dst: safe_to_copy
      Src: /src/image-png/src/chunk.rs:105,1
    - Dst: finish
      Src: /src/image-png/src/chunk.rs:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 24
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: ChunkType::fmt
    functionSourceFile: /src/image-png/src/chunk.rs
    functionUses: 0
    functionsReached:
    - is_critical
    - safe_to_copy
    - field
    - '&Self::Target::debug_struct'
    - is_private
    - reserved_set
    - finish
    - DebugType
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/decoder/transform.rs:26,1
    - Dst: Transformations::contains
      Src: /src/image-png/src/decoder/transform.rs:26,1
    - Dst: Transformations::contains
      Src: /src/image-png/src/decoder/transform.rs:28,1
    - Dst: Transformations::contains
      Src: /src/image-png/src/decoder/transform.rs:28,1
    - Dst: Transformations::contains
      Src: /src/image-png/src/decoder/transform.rs:29,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/transform.rs:32,1
    - Dst: Err
      Src: /src/image-png/src/decoder/transform.rs:33,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/transform.rs:33,1
    - Dst: into
      Src: /src/image-png/src/decoder/transform.rs:34,1
    - Dst: Err
      Src: /src/image-png/src/decoder/transform.rs:38,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/transform.rs:38,1
    - Dst: into
      Src: /src/image-png/src/decoder/transform.rs:39,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/transform.rs:46,1
    - Dst: palette::create_expansion_into_rgba8
      Src: /src/image-png/src/decoder/transform.rs:47,1
    - Dst: palette::create_expansion_into_rgb8
      Src: /src/image-png/src/decoder/transform.rs:49,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/transform.rs:54,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform.rs:54,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/transform.rs:61,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform.rs:61,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/transform.rs:73,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform.rs:73,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/transform.rs:75,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform.rs:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - info
    - transform
    argTypes:
    - '&Info'
    - Transformations
    constantsTouched: []
    func_position:
      end: 77
      start: 20
    functionDepth: 23
    functionLinenumber: 20
    functionLinenumberEnd: 77
    functionName: create_transform_fn
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 3
    functionsReached:
    - Box::new
    - is_none
    - is_some
    - palette::create_expansion_into_rgb8
    - Err
    - palette::create_expansion_into_rgba8
    - into
    - Transformations::contains
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_transform_fn(info: &Info,transform: Transformations,)
      -> Result<TransformFn, DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/image-png/src/decoder/transform.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - row
    - output_buffer
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: copy_row
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8]::copy_from_slice'
    linkageType: ''
    returnType: void
    signature: 'fn copy_row(row: &[u8], output_buffer: &mut [u8], _: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/image-png/src/decoder/transform.rs:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - row
    - output_buffer
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 21
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: transform_row_strip16
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: void
    signature: 'fn transform_row_strip16(row: &[u8], output_buffer: &mut [u8], _:
      &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::chunks_exact_mut'
      Src: /src/image-png/src/decoder/transform.rs:100,1
    - Dst: Result::iter
      Src: /src/image-png/src/decoder/transform.rs:101,1
    - Dst: Result::zip
      Src: /src/image-png/src/decoder/transform.rs:113,1
    - Dst: func
      Src: /src/image-png/src/decoder/transform.rs:114,1
    - Dst: Result::next
      Src: /src/image-png/src/decoder/transform.rs:126,1
    - Dst: Option::expect
      Src: /src/image-png/src/decoder/transform.rs:126,1
    - Dst: func
      Src: /src/image-png/src/decoder/transform.rs:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 5
    argNames:
    - input
    - output
    - channels
    - bit_depth
    - func
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - usize
    - u8
    - F
    constantsTouched: []
    func_position:
      end: 135
      start: 90
    functionDepth: 26
    functionLinenumber: 90
    functionLinenumberEnd: 135
    functionName: unpack_bits
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 6
    functionsReached:
    - Result::next
    - Result::iter
    - Result::zip
    - '&mut [u8]::chunks_exact_mut'
    - func
    - Option::expect
    linkageType: ''
    returnType: void
    signature: 'fn unpack_bits<F>(input: &[u8], output: &mut [u8], channels: usize,
      bit_depth: u8, func: F)whereF: Fn(u8, &mut [u8]),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: samples
      Src: /src/image-png/src/decoder/transform.rs:138,1
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform.rs:139,1
    - Dst: Result::chunks_exact
      Src: /src/image-png/src/decoder/transform.rs:140,1
    - Dst: zip
      Src: /src/image-png/src/decoder/transform.rs:140,1
    - Dst: '&mut [u8]::chunks_exact_mut'
      Src: /src/image-png/src/decoder/transform.rs:142,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/transform.rs:144,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform.rs:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - input
    - output
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: expand_trns_line
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - Some
    - samples
    - as_deref
    - zip
    - '&mut [u8]::chunks_exact_mut'
    - Result::chunks_exact
    linkageType: ''
    returnType: void
    signature: 'fn expand_trns_line(input: &[u8], output: &mut [u8], info: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: samples
      Src: /src/image-png/src/decoder/transform.rs:150,1
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform.rs:151,1
    - Dst: Result::chunks_exact
      Src: /src/image-png/src/decoder/transform.rs:152,1
    - Dst: zip
      Src: /src/image-png/src/decoder/transform.rs:152,1
    - Dst: '&mut [u8]::chunks_exact_mut'
      Src: /src/image-png/src/decoder/transform.rs:154,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/transform.rs:156,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform.rs:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - input
    - output
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: expand_trns_line16
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - Some
    - samples
    - as_deref
    - zip
    - '&mut [u8]::chunks_exact_mut'
    - Result::chunks_exact
    linkageType: ''
    returnType: void
    signature: 'fn expand_trns_line16(input: &[u8], output: &mut [u8], info: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: samples
      Src: /src/image-png/src/decoder/transform.rs:168,1
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform.rs:169,1
    - Dst: Result::chunks_exact
      Src: /src/image-png/src/decoder/transform.rs:170,1
    - Dst: zip
      Src: /src/image-png/src/decoder/transform.rs:170,1
    - Dst: '&mut [u8]::chunks_exact_mut'
      Src: /src/image-png/src/decoder/transform.rs:172,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform.rs:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - input
    - output
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: expand_trns_and_strip_line16
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - Some
    - samples
    - as_deref
    - zip
    - '&mut [u8]::chunks_exact_mut'
    - Result::chunks_exact
    linkageType: ''
    returnType: void
    signature: 'fn expand_trns_and_strip_line16(input: &[u8], output: &mut [u8], info:
      &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unpack_bits
      Src: /src/image-png/src/decoder/transform.rs:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - row
    - buffer
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 27
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: expand_gray_u8
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - unpack_bits
    linkageType: ''
    returnType: void
    signature: 'fn expand_gray_u8(row: &[u8], buffer: &mut [u8], info: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform.rs:190,1
    - Dst: unpack_bits
      Src: /src/image-png/src/decoder/transform.rs:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - row
    - buffer
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 27
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: expand_gray_u8_with_trns
    functionSourceFile: /src/image-png/src/decoder/transform.rs
    functionUses: 0
    functionsReached:
    - as_deref
    - unpack_bits
    linkageType: ''
    returnType: void
    signature: 'fn expand_gray_u8_with_trns(row: &[u8], buffer: &mut [u8], info: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingDecoder::new
      Src: /src/image-png/src/decoder/read_decoder.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: ReadDecoder::new
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 1
    functionsReached:
    - StreamingDecoder::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(r: R) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingDecoder::new_with_options
      Src: /src/image-png/src/decoder/read_decoder.rs:33,1
    - Dst: Limits::default
      Src: /src/image-png/src/decoder/read_decoder.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - options
    argTypes:
    - R
    - DecodeOptions
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ReadDecoder::with_options
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 1
    functionsReached:
    - Limits::default
    - StreamingDecoder::new_with_options
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_options(r: R, options: DecodeOptions) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limits
    argTypes:
    - Limits
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ReadDecoder::set_limits
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_limits(&mut self, limits: Limits)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/read_decoder.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: ReadDecoder::reserve_bytes
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - reserve_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub fn reserve_bytes(&mut self, bytes: usize) -> Result<(), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_text_chunk
      Src: /src/image-png/src/decoder/read_decoder.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_text_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ReadDecoder::set_ignore_text_chunk
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - set_ignore_text_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_text_chunk(&mut self, ignore_text_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_iccp_chunk
      Src: /src/image-png/src/decoder/read_decoder.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_iccp_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: ReadDecoder::set_ignore_iccp_chunk
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - set_ignore_iccp_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_iccp_chunk(&mut self, ignore_iccp_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_adler32
      Src: /src/image-png/src/decoder/read_decoder.rs:56,1
    - Dst: set_ignore_crc
      Src: /src/image-png/src/decoder/read_decoder.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ignore_checksums
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ReadDecoder::ignore_checksums
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - set_ignore_crc
    - set_ignore_adler32
    linkageType: ''
    returnType: void
    signature: 'pub fn ignore_checksums(&mut self, ignore_checksums: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_buf
      Src: /src/image-png/src/decoder/read_decoder.rs:67,1
    - Dst: UnfilterBuf::is_empty
      Src: /src/image-png/src/decoder/read_decoder.rs:68,1
    - Dst: Err
      Src: /src/image-png/src/decoder/read_decoder.rs:69,1
    - Dst: DecodingError::IoError
      Src: /src/image-png/src/decoder/read_decoder.rs:69,1
    - Dst: into
      Src: /src/image-png/src/decoder/read_decoder.rs:69,1
    - Dst: update
      Src: /src/image-png/src/decoder/read_decoder.rs:71,1
    - Dst: consume
      Src: /src/image-png/src/decoder/read_decoder.rs:73,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - image_data
    argTypes:
    - Option<&mut UnfilterBuf<'_>>
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 12
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: ReadDecoder::decode_next
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 3
    functionsReached:
    - update
    - consume
    - DecodingError::IoError
    - Err
    - into
    - fill_buf
    - UnfilterBuf::is_empty
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn decode_next(&mut self,image_data: Option<&mut UnfilterBuf<''_>>,)
      -> Result<Decoded, DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::decode_next
      Src: /src/image-png/src/decoder/read_decoder.rs:78,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 13
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ReadDecoder::decode_next_without_image_data
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 2
    functionsReached:
    - ReadDecoder::decode_next
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn decode_next_without_image_data(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::decode_next
      Src: /src/image-png/src/decoder/read_decoder.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 13
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: ReadDecoder::decode_next_and_discard_image_data
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - ReadDecoder::decode_next
    linkageType: ''
    returnType: Result
    signature: fn decode_next_and_discard_image_data(&mut self) -> Result<Decoded,
      DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::info
      Src: /src/image-png/src/decoder/read_decoder.rs:90,1
    - Dst: Option::is_none
      Src: /src/image-png/src/decoder/read_decoder.rs:90,1
    - Dst: ReadDecoder::decode_next_without_image_data
      Src: /src/image-png/src/decoder/read_decoder.rs:91,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:95,1
    - Dst: ReadDecoder::info
      Src: /src/image-png/src/decoder/read_decoder.rs:95,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/decoder/read_decoder.rs:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 14
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: ReadDecoder::read_header_info
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - ReadDecoder::decode_next_without_image_data
    - Option::unwrap
    - ReadDecoder::info
    - Option::is_none
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn read_header_info(&mut self) -> Result<&Info<'static>, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::decode_next_without_image_data
      Src: /src/image-png/src/decoder/read_decoder.rs:103,1
    - Dst: Err
      Src: /src/image-png/src/decoder/read_decoder.rs:106,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/read_decoder.rs:106,1
    - Dst: into
      Src: /src/image-png/src/decoder/read_decoder.rs:107,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 14
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: ReadDecoder::read_until_image_data
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - Err
    - into
    - ReadDecoder::decode_next_without_image_data
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn read_until_image_data(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::decode_next
      Src: /src/image-png/src/decoder/read_decoder.rs:126,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:127,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:128,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - image_data
    argTypes:
    - Option<&mut UnfilterBuf<'_>>
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 13
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: ReadDecoder::decode_image_data
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 1
    functionsReached:
    - ReadDecoder::decode_next
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decode_image_data(&mut self,image_data: Option<&mut UnfilterBuf<''_>>,)
      -> Result<ImageDataCompletionStatus, DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::decode_image_data
      Src: /src/image-png/src/decoder/read_decoder.rs:145,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 14
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: ReadDecoder::finish_decoding_image_data
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - ReadDecoder::decode_image_data
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn finish_decoding_image_data(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/decoder/read_decoder.rs:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: ReadDecoder::read_until_end_of_input
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn read_until_end_of_input(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/image-png/src/decoder/read_decoder.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: ReadDecoder::info
    functionSourceFile: /src/image-png/src/decoder/read_decoder.rs
    functionUses: 1
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: Option
    signature: pub fn info(&self) -> Option<&Info<'static>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: InterlaceInfo::line_number
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub(crate) fn line_number(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/decoder/interlace_info.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: InterlaceInfo::get_adam7_info
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: pub(crate) fn get_adam7_info(&self) -> Option<&Adam7Info>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/image-png/src/decoder/interlace_info.rs:57,1
    - Dst: IterImpl::None
      Src: /src/image-png/src/decoder/interlace_info.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: InterlaceInfoIter::empty
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 1
    functionsReached:
    - IterImpl::None
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn empty() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/image-png/src/decoder/interlace_info.rs:62,1
    - Dst: IterImpl::Adam7
      Src: /src/image-png/src/decoder/interlace_info.rs:62,1
    - Dst: Adam7Iterator::new
      Src: /src/image-png/src/decoder/interlace_info.rs:62,1
    - Dst: Self
      Src: /src/image-png/src/decoder/interlace_info.rs:64,1
    - Dst: IterImpl::None
      Src: /src/image-png/src/decoder/interlace_info.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - width
    - height
    - interlaced
    argTypes:
    - u32
    - u32
    - bool
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: InterlaceInfoIter::new
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 1
    functionsReached:
    - IterImpl::Adam7
    - IterImpl::None
    - Self
    - Adam7Iterator::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(width: u32, height: u32, interlaced: bool) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/decoder/interlace_info.rs:74,1
    - Dst: InterlaceInfo::Adam7
      Src: /src/image-png/src/decoder/interlace_info.rs:74,1
    - Dst: next
      Src: /src/image-png/src/decoder/interlace_info.rs:74,1
    - Dst: Some
      Src: /src/image-png/src/decoder/interlace_info.rs:75,1
    - Dst: InterlaceInfo::Null
      Src: /src/image-png/src/decoder/interlace_info.rs:75,1
    - Dst: Vec::next
      Src: /src/image-png/src/decoder/interlace_info.rs:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: InterlaceInfoIter::next
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 0
    functionsReached:
    - Vec::next
    - InterlaceInfo::Adam7
    - Some
    - InterlaceInfo::Null
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<InterlaceInfo>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: test::null
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn null()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: test::adam7
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn adam7()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: test::empty
    functionSourceFile: /src/image-png/src/decoder/interlace_info.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: OutputInfo::buffer_size
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn buffer_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:74,1
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: Limits::reserve_bytes
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn reserve_bytes(&mut self, bytes: usize) -> Result<(),
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: Limits::default
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Limits
    signature: fn default() -> Limits
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: InterlacedRow::data
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''data [u8]'
    signature: pub fn data(&self) -> &'data [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: InterlacedRow::interlace
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&InterlaceInfo'
    signature: pub fn interlace(&self) -> &InterlaceInfo
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Row::data
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''data [u8]'
    signature: pub fn data(&self) -> &'data [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder::new_with_limits
      Src: /src/image-png/src/decoder/mod.rs:128,1
    - Dst: Limits::default
      Src: /src/image-png/src/decoder/mod.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 8
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Decoder::new
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 42
    functionsReached:
    - Decoder::new_with_limits
    - Limits::default
    linkageType: ''
    returnType: Decoder
    signature: 'pub fn new(r: R) -> Decoder<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::new
      Src: /src/image-png/src/decoder/mod.rs:133,1
    - Dst: Self::set_limits
      Src: /src/image-png/src/decoder/mod.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - limits
    argTypes:
    - R
    - Limits
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: Decoder::new_with_limits
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached:
    - ReadDecoder::new
    - Self::set_limits
    linkageType: ''
    returnType: Decoder
    signature: 'pub fn new_with_limits(r: R, limits: Limits) -> Decoder<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadDecoder::with_options
      Src: /src/image-png/src/decoder/mod.rs:144,1
    - Dst: Self::set_limits
      Src: /src/image-png/src/decoder/mod.rs:145,1
    - Dst: Limits::default
      Src: /src/image-png/src/decoder/mod.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - decode_options
    argTypes:
    - R
    - DecodeOptions
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: Decoder::new_with_options
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached:
    - Limits::default
    - Self::set_limits
    - ReadDecoder::with_options
    linkageType: ''
    returnType: Decoder
    signature: 'pub fn new_with_options(r: R, decode_options: DecodeOptions) -> Decoder<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_limits
      Src: /src/image-png/src/decoder/mod.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limits
    argTypes:
    - Limits
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Decoder::set_limits
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached:
    - set_limits
    linkageType: ''
    returnType: void
    signature: 'pub fn set_limits(&mut self, limits: Limits)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_header_info
      Src: /src/image-png/src/decoder/mod.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 15
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Decoder::read_header_info
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - read_header_info
    linkageType: ''
    returnType: Result
    signature: pub fn read_header_info(&mut self) -> Result<&Info<'static>, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder::read_header_info
      Src: /src/image-png/src/decoder/mod.rs:191,1
    - Dst: UnfilteringBuffer::new
      Src: /src/image-png/src/decoder/mod.rs:192,1
    - Dst: SubframeInfo::not_yet_init
      Src: /src/image-png/src/decoder/mod.rs:197,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/mod.rs:202,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:213,1
    - Dst: '&Info::checked_raw_row_length'
      Src: /src/image-png/src/decoder/mod.rs:213,1
    - Dst: Option::is_none
      Src: /src/image-png/src/decoder/mod.rs:213,1
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:214,1
    - Dst: Reader::output_buffer_size
      Src: /src/image-png/src/decoder/mod.rs:221,1
    - Dst: Option::is_none
      Src: /src/image-png/src/decoder/mod.rs:221,1
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:222,1
    - Dst: Reader::read_until_image_data
      Src: /src/image-png/src/decoder/mod.rs:225,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:227,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/mod.rs:227,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:231,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/mod.rs:231,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 190
    functionDepth: 15
    functionLinenumber: 190
    functionLinenumberEnd: 240
    functionName: Decoder::read_info
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 23
    functionsReached:
    - Ok
    - Option::is_none
    - is_none
    - SubframeInfo::not_yet_init
    - Decoder::read_header_info
    - Err
    - as_ref
    - '&Info::checked_raw_row_length'
    - Reader::read_until_image_data
    - Reader::output_buffer_size
    - Reader::info
    - UnfilteringBuffer::new
    - Vec::new
    linkageType: ''
    returnType: Result
    signature: pub fn read_info(mut self) -> Result<Reader<R>, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transform
    argTypes:
    - Transformations
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Decoder::set_transformations
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_transformations(&mut self, transform: Transformations)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_text_chunk
      Src: /src/image-png/src/decoder/mod.rs:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_text_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: Decoder::set_ignore_text_chunk
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached:
    - set_ignore_text_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_text_chunk(&mut self, ignore_text_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_iccp_chunk
      Src: /src/image-png/src/decoder/mod.rs:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_iccp_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Decoder::set_ignore_iccp_chunk
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached:
    - set_ignore_iccp_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_iccp_chunk(&mut self, ignore_iccp_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_checksums
      Src: /src/image-png/src/decoder/mod.rs:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_checksums
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Decoder::ignore_checksums
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 0
    functionsReached:
    - ignore_checksums
    linkageType: ''
    returnType: void
    signature: 'pub fn ignore_checksums(&mut self, ignore_checksums: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:342,1
    - Dst: DecodingError::Parameter
      Src: /src/image-png/src/decoder/mod.rs:342,1
    - Dst: into
      Src: /src/image-png/src/decoder/mod.rs:343,1
    - Dst: Reader::finish_decoding
      Src: /src/image-png/src/decoder/mod.rs:349,1
    - Dst: Reader::read_until_image_data
      Src: /src/image-png/src/decoder/mod.rs:351,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:356,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:356,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/mod.rs:356,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/mod.rs:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 334
    functionDepth: 16
    functionLinenumber: 334
    functionLinenumberEnd: 357
    functionName: Reader::next_frame_info
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 4
    functionsReached:
    - DecodingError::Parameter
    - unwrap
    - Err
    - into
    - as_ref
    - Reader::read_until_image_data
    - Reader::finish_decoding
    - Reader::info
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn next_frame_info(&mut self) -> Result<&FrameControl, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_until_image_data
      Src: /src/image-png/src/decoder/mod.rs:362,1
    - Dst: SubframeInfo::new
      Src: /src/image-png/src/decoder/mod.rs:364,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:364,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:365,1
    - Dst: '&Info::bpp_in_prediction'
      Src: /src/image-png/src/decoder/mod.rs:365,1
    - Dst: reset_all
      Src: /src/image-png/src/decoder/mod.rs:366,1
    - Dst: Reader::unguarded_output_line_size
      Src: /src/image-png/src/decoder/mod.rs:369,1
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/mod.rs:370,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 361
    functionDepth: 14
    functionLinenumber: 361
    functionLinenumberEnd: 373
    functionName: Reader::read_until_image_data
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached:
    - Reader::unguarded_output_line_size
    - read_until_image_data
    - '&Info::bpp_in_prediction'
    - reserve_bytes
    - SubframeInfo::new
    - Reader::info
    - Ok
    - reset_all
    linkageType: ''
    returnType: Result
    signature: fn read_until_image_data(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/image-png/src/decoder/mod.rs:379,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/mod.rs:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: Reader::info
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 25
    functionsReached:
    - unwrap
    - info
    linkageType: ''
    returnType: '&Info'
    signature: pub fn info(&self) -> &Info<'static>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:397,1
    - Dst: DecodingError::Parameter
      Src: /src/image-png/src/decoder/mod.rs:397,1
    - Dst: into
      Src: /src/image-png/src/decoder/mod.rs:398,1
    - Dst: Reader::read_until_image_data
      Src: /src/image-png/src/decoder/mod.rs:403,1
    - Dst: Reader::output_buffer_size
      Src: /src/image-png/src/decoder/mod.rs:409,1
    - Dst: Option::ok_or
      Src: /src/image-png/src/decoder/mod.rs:409,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/mod.rs:413,1
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:414,1
    - Dst: DecodingError::Parameter
      Src: /src/image-png/src/decoder/mod.rs:414,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/mod.rs:417,1
    - Dst: into
      Src: /src/image-png/src/decoder/mod.rs:415,1
    - Dst: Reader::output_color_type
      Src: /src/image-png/src/decoder/mod.rs:423,1
    - Dst: Reader::unguarded_output_line_size
      Src: /src/image-png/src/decoder/mod.rs:429,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:432,1
    - Dst: Reader::unguarded_output_line_size
      Src: /src/image-png/src/decoder/mod.rs:433,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:433,1
    - Dst: (ColorType, BitDepth)::samples
      Src: /src/image-png/src/decoder/mod.rs:434,1
    - Dst: Reader::next_interlaced_row
      Src: /src/image-png/src/decoder/mod.rs:442,1
    - Dst: '&InterlaceInfo::get_adam7_info'
      Src: /src/image-png/src/decoder/mod.rs:445,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/decoder/mod.rs:445,1
    - Dst: expand
      Src: /src/image-png/src/decoder/mod.rs:446,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/mod.rs:449,1
    - Dst: map
      Src: /src/image-png/src/decoder/mod.rs:450,1
    - Dst: Result::line_number
      Src: /src/image-png/src/decoder/mod.rs:451,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/mod.rs:450,1
    - Dst: UnfilterBuf::chunks_exact_mut
      Src: /src/image-png/src/decoder/mod.rs:454,1
    - Dst: take
      Src: /src/image-png/src/decoder/mod.rs:454,1
    - Dst: skip
      Src: /src/image-png/src/decoder/mod.rs:454,1
    - Dst: Reader::next_interlaced_row_impl
      Src: /src/image-png/src/decoder/mod.rs:459,1
    - Dst: Reader::finish_decoding
      Src: /src/image-png/src/decoder/mod.rs:464,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 111
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 467
      start: 395
    functionDepth: 15
    functionLinenumber: 395
    functionLinenumberEnd: 467
    functionName: Reader::next_frame
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 24
    functionsReached:
    - Result::line_number
    - DecodingError::Parameter
    - Err
    - Reader::next_interlaced_row
    - '&InterlaceInfo::get_adam7_info'
    - Ok
    - UnfilterBuf::chunks_exact_mut
    - Reader::read_until_image_data
    - skip
    - expand
    - unwrap_or
    - Option::ok_or
    - take
    - Reader::finish_decoding
    - as_ref
    - map
    - Reader::next_interlaced_row_impl
    - Reader::unguarded_output_line_size
    - into
    - Reader::output_color_type
    - Option::unwrap
    - Reader::output_buffer_size
    - UnfilterBuf::len
    - Reader::info
    - (ColorType, BitDepth)::samples
    linkageType: ''
    returnType: Result
    signature: 'pub fn next_frame(&mut self, buf: &mut [u8]) -> Result<OutputInfo,
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: Reader::mark_subframe_as_consumed_and_flushed
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn mark_subframe_as_consumed_and_flushed(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish_decoding_image_data
      Src: /src/image-png/src/decoder/mod.rs:485,1
    - Dst: Reader::mark_subframe_as_consumed_and_flushed
      Src: /src/image-png/src/decoder/mod.rs:486,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 15
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: Reader::finish_decoding
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached:
    - finish_decoding_image_data
    - Reader::mark_subframe_as_consumed_and_flushed
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn finish_decoding(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::next_interlaced_row
      Src: /src/image-png/src/decoder/mod.rs:496,1
    - Dst: Result::map
      Src: /src/image-png/src/decoder/mod.rs:496,1
    - Dst: Decoded::map
      Src: /src/image-png/src/decoder/mod.rs:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 18
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: Reader::next_row
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - Decoded::map
    - Reader::next_interlaced_row
    - Result::map
    linkageType: ''
    returnType: Result
    signature: pub fn next_row(&mut self) -> Result<Option<Row<'_>>, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem::take
      Src: /src/image-png/src/decoder/mod.rs:504,1
    - Dst: Reader::output_line_size
      Src: /src/image-png/src/decoder/mod.rs:505,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:506,1
    - Dst: Option::ok_or
      Src: /src/image-png/src/decoder/mod.rs:505,1
    - Dst: Wrapper::resize
      Src: /src/image-png/src/decoder/mod.rs:508,1
    - Dst: Reader::read_row
      Src: /src/image-png/src/decoder/mod.rs:509,1
    - Dst: Result::map
      Src: /src/image-png/src/decoder/mod.rs:511,1
    - Dst: map
      Src: /src/image-png/src/decoder/mod.rs:512,1
    - Dst: Reader::output_line_size_for_interlace_info
      Src: /src/image-png/src/decoder/mod.rs:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 503
    functionDepth: 17
    functionLinenumber: 503
    functionLinenumberEnd: 520
    functionName: Reader::next_interlaced_row
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached:
    - mem::take
    - Option::ok_or
    - Reader::read_row
    - Result::map
    - Wrapper::resize
    - map
    - Reader::output_line_size
    - Reader::output_line_size_for_interlace_info
    - Reader::info
    linkageType: ''
    returnType: Result
    signature: pub fn next_interlaced_row(&mut self) -> Result<Option<InterlacedRow<'_>>,
      DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/image-png/src/decoder/mod.rs:534,1
    - Dst: Reader::finish_decoding
      Src: /src/image-png/src/decoder/mod.rs:536,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:537,1
    - Dst: '&InterlaceInfo::line_number'
      Src: /src/image-png/src/decoder/mod.rs:541,1
    - Dst: reset_prev_row
      Src: /src/image-png/src/decoder/mod.rs:542,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:547,1
    - Dst: '&Info::raw_row_length_from_width'
      Src: /src/image-png/src/decoder/mod.rs:547,1
    - Dst: Reader::output_line_size_for_interlace_info
      Src: /src/image-png/src/decoder/mod.rs:551,1
    - Dst: Reader::next_interlaced_row_impl
      Src: /src/image-png/src/decoder/mod.rs:554,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:556,1
    - Dst: Some
      Src: /src/image-png/src/decoder/mod.rs:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - output_buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 557
      start: 530
    functionDepth: 16
    functionLinenumber: 530
    functionLinenumberEnd: 557
    functionName: Reader::read_row
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - Some
    - as_ref
    - Reader::output_line_size_for_interlace_info
    - '&Info::raw_row_length_from_width'
    - Reader::finish_decoding
    - reset_prev_row
    - Reader::info
    - '&InterlaceInfo::line_number'
    - Ok
    - Reader::next_interlaced_row_impl
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_row(&mut self,output_buffer: &mut [u8],) -> Result<Option<InterlaceInfo>,
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::unguarded_output_line_size
      Src: /src/image-png/src/decoder/mod.rs:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - interlace
    argTypes:
    - '&InterlaceInfo'
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 6
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: Reader::output_line_size_for_interlace_info
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - Reader::unguarded_output_line_size
    linkageType: ''
    returnType: usize
    signature: 'fn output_line_size_for_interlace_info(&self, interlace: &InterlaceInfo)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:571,1
    - Dst: DecodingError::Parameter
      Src: /src/image-png/src/decoder/mod.rs:571,1
    - Dst: into
      Src: /src/image-png/src/decoder/mod.rs:572,1
    - Dst: reset_all
      Src: /src/image-png/src/decoder/mod.rs:577,1
    - Dst: read_until_end_of_input
      Src: /src/image-png/src/decoder/mod.rs:578,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: Reader::finish
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 1
    functionsReached:
    - DecodingError::Parameter
    - Err
    - into
    - read_until_end_of_input
    - Ok
    - reset_all
    linkageType: ''
    returnType: Result
    signature: pub fn finish(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::next_raw_interlaced_row
      Src: /src/image-png/src/decoder/mod.rs:590,1
    - Dst: prev_row
      Src: /src/image-png/src/decoder/mod.rs:591,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/mod.rs:596,1
    - Dst: Some
      Src: /src/image-png/src/decoder/mod.rs:597,1
    - Dst: self::transform::create_transform_fn
      Src: /src/image-png/src/decoder/mod.rs:597,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:597,1
    - Dst: as_deref
      Src: /src/image-png/src/decoder/mod.rs:599,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/mod.rs:599,1
    - Dst: transform_fn
      Src: /src/image-png/src/decoder/mod.rs:601,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:601,1
    - Dst: next
      Src: /src/image-png/src/decoder/mod.rs:603,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/mod.rs:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - rowlen
    - output_buffer
    argTypes:
    - usize
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 605
      start: 585
    functionDepth: 23
    functionLinenumber: 585
    functionLinenumberEnd: 605
    functionName: Reader::next_interlaced_row_impl
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - unwrap
    - prev_row
    - Some
    - is_none
    - self::transform::create_transform_fn
    - as_deref
    - Reader::next_raw_interlaced_row
    - next
    - transform_fn
    - Reader::info
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn next_interlaced_row_impl(&mut self,rowlen: usize,output_buffer:
      &mut [u8],) -> Result<(), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:612,1
    - Dst: u8::intersects
      Src: /src/image-png/src/decoder/mod.rs:617,1
    - Dst: u8::contains
      Src: /src/image-png/src/decoder/mod.rs:619,1
    - Dst: u8::contains
      Src: /src/image-png/src/decoder/mod.rs:620,1
    - Dst: u8::contains
      Src: /src/image-png/src/decoder/mod.rs:627,1
    - Dst: u8::contains
      Src: /src/image-png/src/decoder/mod.rs:627,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/mod.rs:628,1
    - Dst: u8::contains
      Src: /src/image-png/src/decoder/mod.rs:628,1
    - Dst: BitDepth::from_u8
      Src: /src/image-png/src/decoder/mod.rs:639,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/decoder/mod.rs:639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 641
    functionName: Reader::output_color_type
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 4
    functionsReached:
    - u8::intersects
    - is_some
    - Option::unwrap
    - u8::contains
    - Reader::info
    - BitDepth::from_u8
    linkageType: ''
    returnType: (ColorType, BitDepth)
    signature: pub fn output_color_type(&self) -> (ColorType, BitDepth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/mod.rs:649,1
    - Dst: '&Info::size'
      Src: /src/image-png/src/decoder/mod.rs:649,1
    - Dst: Reader::output_color_type
      Src: /src/image-png/src/decoder/mod.rs:650,1
    - Dst: checked_raw_row_length
      Src: /src/image-png/src/decoder/mod.rs:655,1
    - Dst: checked_sub
      Src: /src/image-png/src/decoder/mod.rs:655,1
    - Dst: usize::try_from
      Src: /src/image-png/src/decoder/mod.rs:656,1
    - Dst: ok
      Src: /src/image-png/src/decoder/mod.rs:656,1
    - Dst: checked_mul
      Src: /src/image-png/src/decoder/mod.rs:657,1
    - Dst: then_some
      Src: /src/image-png/src/decoder/mod.rs:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 25
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: Reader::output_buffer_size
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - usize::try_from
    - checked_raw_row_length
    - checked_sub
    - ok
    - '&Info::size'
    - then_some
    - Reader::output_color_type
    - checked_mul
    - Reader::info
    linkageType: ''
    returnType: Option
    signature: pub fn output_buffer_size(&self) -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::output_color_type
      Src: /src/image-png/src/decoder/mod.rs:664,1
    - Dst: raw_row_length_from_width
      Src: /src/image-png/src/decoder/mod.rs:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - width
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 5
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: Reader::unguarded_output_line_size
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 3
    functionsReached:
    - raw_row_length_from_width
    - Reader::output_color_type
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) fn unguarded_output_line_size(&self, width: u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::output_color_type
      Src: /src/image-png/src/decoder/mod.rs:673,1
    - Dst: checked_raw_row_length
      Src: /src/image-png/src/decoder/mod.rs:674,1
    - Dst: checked_sub
      Src: /src/image-png/src/decoder/mod.rs:674,1
    - Dst: then_some
      Src: /src/image-png/src/decoder/mod.rs:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - width
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 5
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: Reader::output_line_size
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 2
    functionsReached:
    - then_some
    - checked_raw_row_length
    - checked_sub
    - Reader::output_color_type
    linkageType: ''
    returnType: Option
    signature: 'pub fn output_line_size(&self, width: u32) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curr_row_len
      Src: /src/image-png/src/decoder/mod.rs:682,1
    - Dst: Err
      Src: /src/image-png/src/decoder/mod.rs:684,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/mod.rs:684,1
    - Dst: into
      Src: /src/image-png/src/decoder/mod.rs:685,1
    - Dst: as_unfilled_buffer
      Src: /src/image-png/src/decoder/mod.rs:689,1
    - Dst: decode_image_data
      Src: /src/image-png/src/decoder/mod.rs:690,1
    - Dst: Some
      Src: /src/image-png/src/decoder/mod.rs:690,1
    - Dst: Reader::mark_subframe_as_consumed_and_flushed
      Src: /src/image-png/src/decoder/mod.rs:692,1
    - Dst: unfilter_curr_row
      Src: /src/image-png/src/decoder/mod.rs:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - rowlen
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 697
      start: 680
    functionDepth: 22
    functionLinenumber: 680
    functionLinenumberEnd: 697
    functionName: Reader::next_raw_interlaced_row
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 1
    functionsReached:
    - curr_row_len
    - decode_image_data
    - Some
    - Err
    - into
    - Reader::mark_subframe_as_consumed_and_flushed
    - as_unfilled_buffer
    - unfilter_curr_row
    - DecodingError::Format
    linkageType: ''
    returnType: Result
    signature: 'fn next_raw_interlaced_row(&mut self, rowlen: usize) -> Result<(),
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlaceInfoIter::empty
      Src: /src/image-png/src/decoder/mod.rs:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: SubframeInfo::not_yet_init
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 1
    functionsReached:
    - InterlaceInfoIter::empty
    linkageType: ''
    returnType: Self
    signature: fn not_yet_init() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlaceInfoIter::new
      Src: /src/image-png/src/decoder/mod.rs:721,1
    - Dst: Self::next
      Src: /src/image-png/src/decoder/mod.rs:722,1
    - Dst: Result::raw_row_length_from_width
      Src: /src/image-png/src/decoder/mod.rs:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info'
    constantsTouched: []
    func_position:
      end: 731
      start: 712
    functionDepth: 5
    functionLinenumber: 712
    functionLinenumberEnd: 731
    functionName: SubframeInfo::new
    functionSourceFile: /src/image-png/src/decoder/mod.rs
    functionUses: 1
    functionsReached:
    - Result::raw_row_length_from_width
    - InterlaceInfoIter::new
    - Self::next
    linkageType: ''
    returnType: Self
    signature: 'fn new(info: &Info) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kind
    argTypes:
    - U32ValueKind
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: State::new_u32
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn new_u32(kind: U32ValueKind) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: DecodingError::cause
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: fn cause(&self) -> Option<&(dyn error::Error + 'static)>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: DecodingError::fmt
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:440,1
    - Dst: FormatErrorInner::BadTextEncoding
      Src: /src/image-png/src/decoder/stream.rs:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tbe
    argTypes:
    - TextDecodingError
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: DecodingError::from
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 8
    functionsReached:
    - FormatErrorInner::BadTextEncoding
    - DecodingError::Format
    linkageType: ''
    returnType: Self
    signature: 'fn from(tbe: TextDecodingError) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: DecodeOptions::default
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore_adler32
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: DecodeOptions::set_ignore_adler32
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_adler32(&mut self, ignore_adler32: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore_crc
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: DecodeOptions::set_ignore_crc
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_crc(&mut self, ignore_crc: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ignore_checksums
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: DecodeOptions::set_ignore_checksums
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_checksums(&mut self, ignore_checksums: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore_text_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: DecodeOptions::set_ignore_text_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_text_chunk(&mut self, ignore_text_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore_iccp_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: DecodeOptions::set_ignore_iccp_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_iccp_chunk(&mut self, ignore_iccp_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skip_ancillary_crc_failures
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: DecodeOptions::set_skip_ancillary_crc_failures
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_skip_ancillary_crc_failures(&mut self, skip_ancillary_crc_failures:
      bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingDecoder::new_with_options
      Src: /src/image-png/src/decoder/stream.rs:562,1
    - Dst: DecodeOptions::default
      Src: /src/image-png/src/decoder/stream.rs:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 5
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: StreamingDecoder::new
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 2
    functionsReached:
    - DecodeOptions::default
    - StreamingDecoder::new_with_options
    linkageType: ''
    returnType: StreamingDecoder
    signature: pub fn new() -> StreamingDecoder
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZlibStream::new
      Src: /src/image-png/src/decoder/stream.rs:566,1
    - Dst: Self::set_ignore_adler32
      Src: /src/image-png/src/decoder/stream.rs:567,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:570,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:570,1
    - Dst: chunk::ChunkType
      Src: /src/image-png/src/decoder/stream.rs:572,1
    - Dst: Crc32::new
      Src: /src/image-png/src/decoder/stream.rs:573,1
    - Dst: Vec::with_capacity
      Src: /src/image-png/src/decoder/stream.rs:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - decode_options
    argTypes:
    - DecodeOptions
    constantsTouched: []
    func_position:
      end: 587
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 587
    functionName: StreamingDecoder::new_with_options
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 2
    functionsReached:
    - Crc32::new
    - chunk::ChunkType
    - Some
    - Vec::with_capacity
    - State::new_u32
    - Self::set_ignore_adler32
    - ZlibStream::new
    linkageType: ''
    returnType: StreamingDecoder
    signature: 'pub fn new_with_options(decode_options: DecodeOptions) -> StreamingDecoder'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:591,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:591,1
    - Dst: Crc32::new
      Src: /src/image-png/src/decoder/stream.rs:592,1
    - Dst: clear
      Src: /src/image-png/src/decoder/stream.rs:594,1
    - Dst: reset
      Src: /src/image-png/src/decoder/stream.rs:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: StreamingDecoder::reset
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Crc32::new
    - clear
    - Some
    - State::new_u32
    - reset
    linkageType: ''
    returnType: void
    signature: pub fn reset(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: StreamingDecoder::info
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: Option
    signature: pub fn info(&self) -> Option<&Info<'static>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_text_chunk
      Src: /src/image-png/src/decoder/stream.rs:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_text_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: StreamingDecoder::set_ignore_text_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - set_ignore_text_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_text_chunk(&mut self, ignore_text_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_iccp_chunk
      Src: /src/image-png/src/decoder/stream.rs:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ignore_iccp_chunk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: StreamingDecoder::set_ignore_iccp_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - set_ignore_iccp_chunk
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_iccp_chunk(&mut self, ignore_iccp_chunk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_adler32
      Src: /src/image-png/src/decoder/stream.rs:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: StreamingDecoder::ignore_adler32
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - ignore_adler32
    linkageType: ''
    returnType: bool
    signature: pub fn ignore_adler32(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_adler32
      Src: /src/image-png/src/decoder/stream.rs:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore_adler32
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: StreamingDecoder::set_ignore_adler32
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - set_ignore_adler32
    linkageType: ''
    returnType: bool
    signature: 'pub fn set_ignore_adler32(&mut self, ignore_adler32: bool) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_ignore_crc
      Src: /src/image-png/src/decoder/stream.rs:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore_crc
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: StreamingDecoder::set_ignore_crc
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - set_ignore_crc
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ignore_crc(&mut self, ignore_crc: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_skip_ancillary_crc_failures
      Src: /src/image-png/src/decoder/stream.rs:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skip_ancillary_crc_failures
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: StreamingDecoder::set_skip_ancillary_crc_failures
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - set_skip_ancillary_crc_failures
    linkageType: ''
    returnType: void
    signature: 'pub fn set_skip_ancillary_crc_failures(&mut self, skip_ancillary_crc_failures:
      bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:656,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:657,1
    - Dst: DecodingError::Parameter
      Src: /src/image-png/src/decoder/stream.rs:657,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:658,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:662,1
    - Dst: UnfilterBuf::is_empty
      Src: /src/image-png/src/decoder/stream.rs:663,1
    - Dst: Result::as_deref_mut
      Src: /src/image-png/src/decoder/stream.rs:664,1
    - Dst: StreamingDecoder::next_state
      Src: /src/image-png/src/decoder/stream.rs:666,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:670,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:670,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:674,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:678,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 2
    argNames:
    - buf
    - image_data
    argTypes:
    - '&[u8]'
    - Option<&mut UnfilterBuf<'_>>
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 11
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: StreamingDecoder::update
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - DecodingError::Parameter
    - is_none
    - StreamingDecoder::next_state
    - Err
    - into
    - UnfilterBuf::is_empty
    - Result::as_deref_mut
    - UnfilterBuf::len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn update(&mut self,mut buf: &[u8],mut image_data: Option<&mut
      UnfilterBuf<''_>>,) -> Result<(usize, Decoded), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/image-png/src/decoder/stream.rs:689,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:689,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:698,1
    - Dst: StreamingDecoder::parse_u32
      Src: /src/image-png/src/decoder/stream.rs:705,1
    - Dst: Result::map
      Src: /src/image-png/src/decoder/stream.rs:705,1
    - Dst: std::cmp::min
      Src: /src/image-png/src/decoder/stream.rs:710,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:710,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/stream.rs:711,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:718,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:723,1
    - Dst: StreamingDecoder::parse_u32
      Src: /src/image-png/src/decoder/stream.rs:726,1
    - Dst: Result::map
      Src: /src/image-png/src/decoder/stream.rs:726,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:734,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:734,1
    - Dst: U32ValueKind::Crc
      Src: /src/image-png/src/decoder/stream.rs:734,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:735,1
    - Dst: usize::len
      Src: /src/image-png/src/decoder/stream.rs:744,1
    - Dst: usize::capacity
      Src: /src/image-png/src/decoder/stream.rs:744,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:746,1
    - Dst: usize::capacity
      Src: /src/image-png/src/decoder/stream.rs:751,1
    - Dst: std::cmp::min
      Src: /src/image-png/src/decoder/stream.rs:751,1
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:753,1
    - Dst: usize::reserve_exact
      Src: /src/image-png/src/decoder/stream.rs:754,1
    - Dst: usize::capacity
      Src: /src/image-png/src/decoder/stream.rs:757,1
    - Dst: usize::len
      Src: /src/image-png/src/decoder/stream.rs:757,1
    - Dst: std::cmp::min
      Src: /src/image-png/src/decoder/stream.rs:758,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:758,1
    - Dst: std::cmp::min
      Src: /src/image-png/src/decoder/stream.rs:759,1
    - Dst: update
      Src: /src/image-png/src/decoder/stream.rs:763,1
    - Dst: usize::extend_from_slice
      Src: /src/image-png/src/decoder/stream.rs:765,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:771,1
    - Dst: StreamingDecoder::parse_chunk
      Src: /src/image-png/src/decoder/stream.rs:771,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:773,1
    - Dst: ReadChunkData
      Src: /src/image-png/src/decoder/stream.rs:773,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:774,1
    - Dst: std::cmp::min
      Src: /src/image-png/src/decoder/stream.rs:780,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:780,1
    - Dst: decompress
      Src: /src/image-png/src/decoder/stream.rs:784,1
    - Dst: update
      Src: /src/image-png/src/decoder/stream.rs:790,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:795,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:795,1
    - Dst: U32ValueKind::Crc
      Src: /src/image-png/src/decoder/stream.rs:795,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:797,1
    - Dst: ImageData
      Src: /src/image-png/src/decoder/stream.rs:797,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:799,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 200
    argCount: 2
    argNames:
    - buf
    - image_data
    argTypes:
    - '&[u8]'
    - Option<&mut UnfilterBuf<'_>>
    constantsTouched: []
    func_position:
      end: 802
      start: 681
    functionDepth: 11
    functionLinenumber: 681
    functionLinenumberEnd: 802
    functionName: StreamingDecoder::next_state
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - ReadChunkData
    - Err
    - ImageData
    - U32ValueKind::Crc
    - State::new_u32
    - StreamingDecoder::parse_chunk
    - reserve_bytes
    - Ok
    - StreamingDecoder::parse_u32
    - unwrap
    - update
    - copy_from_slice
    - usize::capacity
    - Result::map
    - decompress
    - take
    - usize::reserve_exact
    - usize::extend_from_slice
    - Some
    - std::cmp::min
    - usize::len
    - UnfilterBuf::len
    linkageType: ''
    returnType: Result
    signature: 'fn next_state(&mut self,buf: &[u8],image_data: Option<&mut UnfilterBuf<''_>>,)
      -> Result<(usize, Decoded), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::try_into'
      Src: /src/image-png/src/decoder/stream.rs:811,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:811,1
    - Dst: u32::from_be_bytes
      Src: /src/image-png/src/decoder/stream.rs:812,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:817,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:817,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:818,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:820,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:820,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:821,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:827,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:827,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:828,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:830,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:830,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:831,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:836,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:836,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:837,1
    - Dst: chunk::ChunkType
      Src: /src/image-png/src/decoder/stream.rs:840,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:841,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:842,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:842,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:843,1
    - Dst: finish_compressed_chunks
      Src: /src/image-png/src/decoder/stream.rs:851,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:856,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:861,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:866,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:866,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:867,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:874,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:874,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:875,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:878,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:878,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:882,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:882,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:883,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:890,1
    - Dst: State::ImageData
      Src: /src/image-png/src/decoder/stream.rs:890,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:892,1
    - Dst: State::ReadChunkData
      Src: /src/image-png/src/decoder/stream.rs:892,1
    - Dst: reset
      Src: /src/image-png/src/decoder/stream.rs:896,1
    - Dst: update
      Src: /src/image-png/src/decoder/stream.rs:897,1
    - Dst: clear
      Src: /src/image-png/src/decoder/stream.rs:900,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:901,1
    - Dst: Decoded::ChunkBegin
      Src: /src/image-png/src/decoder/stream.rs:901,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:910,1
    - Dst: finalize
      Src: /src/image-png/src/decoder/stream.rs:910,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:916,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:918,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:918,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:919,1
    - Dst: Decoded::ChunkComplete
      Src: /src/image-png/src/decoder/stream.rs:919,1
    - Dst: chunk::is_critical
      Src: /src/image-png/src/decoder/stream.rs:922,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:925,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:925,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:926,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:928,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:928,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:929,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:948,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:948,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:949,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:956,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:958,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:958,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:958,1
    - Dst: val::to_be_bytes
      Src: /src/image-png/src/decoder/stream.rs:962,1
    - Dst: update
      Src: /src/image-png/src/decoder/stream.rs:963,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:966,1
    - Dst: State::ImageData
      Src: /src/image-png/src/decoder/stream.rs:966,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:967,1
    - Dst: Decoded::PartialChunk
      Src: /src/image-png/src/decoder/stream.rs:967,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 265
    argCount: 3
    argNames:
    - kind
    - u32_be_bytes
    - image_data
    argTypes:
    - U32ValueKind
    - '&[u8]'
    - Option<&mut UnfilterBuf<'_>>
    constantsTouched: []
    func_position:
      end: 970
      start: 804
    functionDepth: 23
    functionLinenumber: 804
    functionLinenumberEnd: 970
    functionName: StreamingDecoder::parse_u32
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - chunk::ChunkType
    - Err
    - '&[u8]::try_into'
    - finish_compressed_chunks
    - State::new_u32
    - reset
    - DecodingError::Format
    - Ok
    - u32::from_be_bytes
    - unwrap
    - update
    - finalize
    - clone
    - Decoded::PartialChunk
    - chunk::is_critical
    - val::to_be_bytes
    - clear
    - State::ReadChunkData
    - Decoded::ChunkComplete
    - State::ImageData
    - Some
    - is_none
    - Decoded::ChunkBegin
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn parse_u32(&mut self,kind: U32ValueKind,u32_be_bytes: &[u8],image_data:
      Option<&mut UnfilterBuf<''_>>,) -> Result<Decoded, DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:973,1
    - Dst: State::new_u32
      Src: /src/image-png/src/decoder/stream.rs:973,1
    - Dst: U32ValueKind::Crc
      Src: /src/image-png/src/decoder/stream.rs:973,1
    - Dst: StreamingDecoder::parse_ihdr
      Src: /src/image-png/src/decoder/stream.rs:975,1
    - Dst: StreamingDecoder::parse_sbit
      Src: /src/image-png/src/decoder/stream.rs:976,1
    - Dst: StreamingDecoder::parse_plte
      Src: /src/image-png/src/decoder/stream.rs:977,1
    - Dst: StreamingDecoder::parse_trns
      Src: /src/image-png/src/decoder/stream.rs:978,1
    - Dst: StreamingDecoder::parse_phys
      Src: /src/image-png/src/decoder/stream.rs:979,1
    - Dst: StreamingDecoder::parse_gama
      Src: /src/image-png/src/decoder/stream.rs:980,1
    - Dst: StreamingDecoder::parse_actl
      Src: /src/image-png/src/decoder/stream.rs:981,1
    - Dst: StreamingDecoder::parse_fctl
      Src: /src/image-png/src/decoder/stream.rs:982,1
    - Dst: StreamingDecoder::parse_chrm
      Src: /src/image-png/src/decoder/stream.rs:983,1
    - Dst: StreamingDecoder::parse_srgb
      Src: /src/image-png/src/decoder/stream.rs:984,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:985,1
    - Dst: StreamingDecoder::parse_cicp
      Src: /src/image-png/src/decoder/stream.rs:985,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:986,1
    - Dst: StreamingDecoder::parse_mdcv
      Src: /src/image-png/src/decoder/stream.rs:986,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:987,1
    - Dst: StreamingDecoder::parse_clli
      Src: /src/image-png/src/decoder/stream.rs:987,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:988,1
    - Dst: StreamingDecoder::parse_exif
      Src: /src/image-png/src/decoder/stream.rs:988,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:989,1
    - Dst: StreamingDecoder::parse_bkgd
      Src: /src/image-png/src/decoder/stream.rs:989,1
    - Dst: StreamingDecoder::parse_iccp
      Src: /src/image-png/src/decoder/stream.rs:990,1
    - Dst: StreamingDecoder::parse_text
      Src: /src/image-png/src/decoder/stream.rs:991,1
    - Dst: StreamingDecoder::parse_ztxt
      Src: /src/image-png/src/decoder/stream.rs:992,1
    - Dst: StreamingDecoder::parse_itxt
      Src: /src/image-png/src/decoder/stream.rs:993,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:994,1
    - Dst: Decoded::PartialChunk
      Src: /src/image-png/src/decoder/stream.rs:994,1
    - Dst: map_err
      Src: /src/image-png/src/decoder/stream.rs:997,1
    - Dst: kind
      Src: /src/image-png/src/decoder/stream.rs:1003,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1005,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1006,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1022,1
    - Dst: is_err
      Src: /src/image-png/src/decoder/stream.rs:1026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 93
    argCount: 1
    argNames:
    - type_str
    argTypes:
    - ChunkType
    constantsTouched: []
    func_position:
      end: 1031
      start: 972
    functionDepth: 13
    functionLinenumber: 972
    functionLinenumberEnd: 1031
    functionName: StreamingDecoder::parse_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - StreamingDecoder::parse_itxt
    - StreamingDecoder::parse_cicp
    - StreamingDecoder::parse_gama
    - U32ValueKind::Crc
    - State::new_u32
    - StreamingDecoder::parse_sbit
    - Ok
    - is_err
    - StreamingDecoder::parse_clli
    - Decoded::PartialChunk
    - StreamingDecoder::parse_plte
    - StreamingDecoder::parse_trns
    - StreamingDecoder::parse_mdcv
    - kind
    - StreamingDecoder::parse_actl
    - map_err
    - StreamingDecoder::parse_text
    - StreamingDecoder::parse_exif
    - StreamingDecoder::parse_phys
    - StreamingDecoder::parse_srgb
    - Some
    - StreamingDecoder::parse_fctl
    - into
    - StreamingDecoder::parse_ztxt
    - StreamingDecoder::parse_ihdr
    - StreamingDecoder::parse_iccp
    - StreamingDecoder::parse_bkgd
    - StreamingDecoder::parse_chrm
    linkageType: ''
    returnType: Result
    signature: 'fn parse_chunk(&mut self, type_str: ChunkType) -> Result<Decoded,
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1035,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1038,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1040,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1040,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1041,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1051,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1051,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1052,1
    - Dst: reset
      Src: /src/image-png/src/decoder/stream.rs:1061,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1065,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1066,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1067,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1068,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1069,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1070,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1072,1
    - Dst: DisposeOp::from_u8
      Src: /src/image-png/src/decoder/stream.rs:1073,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1076,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1076,1
    - Dst: FormatErrorInner::InvalidDisposeOp
      Src: /src/image-png/src/decoder/stream.rs:1077,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1077,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1083,1
    - Dst: BlendOp::from_u8
      Src: /src/image-png/src/decoder/stream.rs:1084,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1087,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1087,1
    - Dst: FormatErrorInner::InvalidBlendOp
      Src: /src/image-png/src/decoder/stream.rs:1088,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1088,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:1094,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1094,1
    - Dst: validate
      Src: /src/image-png/src/decoder/stream.rs:1094,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:1096,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1096,1
    - Dst: validate_default_image
      Src: /src/image-png/src/decoder/stream.rs:1096,1
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1098,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1098,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1098,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1099,1
    - Dst: Decoded::FrameControl
      Src: /src/image-png/src/decoder/stream.rs:1099,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1033
    functionDepth: 4
    functionLinenumber: 1033
    functionLinenumberEnd: 1100
    functionName: StreamingDecoder::parse_fctl
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - validate
    - FormatErrorInner::InvalidBlendOp
    - unwrap
    - Some
    - UnfilterBuf::read_be
    - Err
    - DisposeOp::from_u8
    - into
    - as_ref
    - Decoded::FrameControl
    - reset
    - FormatErrorInner::InvalidDisposeOp
    - validate_default_image
    - BlendOp::from_u8
    - Ok
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_fctl(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1104,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1104,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1105,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1110,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1111,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1116,1
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1118,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1118,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1118,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1119,1
    - Dst: Decoded::AnimationControl
      Src: /src/image-png/src/decoder/stream.rs:1119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1121
    functionName: StreamingDecoder::parse_actl
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - as_mut
    - Some
    - UnfilterBuf::read_be
    - Err
    - into
    - Decoded::AnimationControl
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn parse_actl(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1124,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1124,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1125,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1127,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1127,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1128,1
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1131,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1132,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1133,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1133,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:1133,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1123
    functionDepth: 21
    functionLinenumber: 1123
    functionLinenumberEnd: 1136
    functionName: StreamingDecoder::parse_plte
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - is_some
    - Some
    - len
    - Cow::Owned
    - Err
    - clone
    - into
    - reserve_bytes
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_plte(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1139,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1139,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1140,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1141,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1141,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1142,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1147,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1147,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1148,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1152,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1153,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1153,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1154,1
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1165,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1166,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:1167,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1168,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1180,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1180,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1181,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1192,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1192,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1193,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1201,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1201,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1138
    functionDepth: 21
    functionLinenumber: 1138
    functionLinenumberEnd: 1203
    functionName: StreamingDecoder::parse_sbit
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - is_some
    - Some
    - len
    - clone
    - Err
    - Cow::Owned
    - into
    - reserve_bytes
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_sbit(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1206,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1206,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1207,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1208,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1208,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1209,1
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1213,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1214,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:1215,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1216,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1220,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1220,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1221,1
    - Dst: truncate
      Src: /src/image-png/src/decoder/stream.rs:1226,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1228,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1228,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1229,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1233,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1233,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1234,1
    - Dst: truncate
      Src: /src/image-png/src/decoder/stream.rs:1241,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1243,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1243,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1244,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1249,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1250,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1250,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1251,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1254,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1254,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1255,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1259,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1259,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1260,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1262,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1262,1
    - Dst: FormatErrorInner::ColorWithBadTrns
      Src: /src/image-png/src/decoder/stream.rs:1263,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1205
    functionDepth: 21
    functionLinenumber: 1205
    functionLinenumberEnd: 1266
    functionName: StreamingDecoder::parse_trns
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - is_some
    - Some
    - is_none
    - len
    - clone
    - Err
    - Cow::Owned
    - into
    - truncate
    - FormatErrorInner::ColorWithBadTrns
    - reserve_bytes
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_trns(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1269,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1269,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1271,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1271,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1272,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1274,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1275,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1275,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1276,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1280,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1281,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1282,1
    - Dst: Unit::from_u8
      Src: /src/image-png/src/decoder/stream.rs:1283,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1286,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1286,1
    - Dst: FormatErrorInner::InvalidUnit
      Src: /src/image-png/src/decoder/stream.rs:1287,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1287,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1292,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1293,1
    - Dst: Decoded::PixelDimensions
      Src: /src/image-png/src/decoder/stream.rs:1293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1295
    functionName: StreamingDecoder::parse_phys
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - is_some
    - Some
    - FormatErrorInner::InvalidUnit
    - UnfilterBuf::read_be
    - Err
    - into
    - Unit::from_u8
    - Decoded::PixelDimensions
    - Ok
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_phys(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1298,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1298,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1300,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1300,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1301,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1303,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1304,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1304,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1305,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1309,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1310,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1311,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1312,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1313,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1314,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1315,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1316,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1320,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1321,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1324,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1325,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1328,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1329,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1332,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1333,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1337,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1340
    functionName: StreamingDecoder::parse_chrm
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - ScaledFloat::from_scaled
    - unwrap
    - is_some
    - Some
    - UnfilterBuf::read_be
    - Err
    - into
    - Ok
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_chrm(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1343,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1343,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1345,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1345,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1346,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1348,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1349,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1349,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1350,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1354,1
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1355,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1357,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1360
    functionName: StreamingDecoder::parse_gama
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - ScaledFloat::from_scaled
    - unwrap
    - is_some
    - Some
    - UnfilterBuf::read_be
    - Err
    - into
    - Ok
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_gama(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1363,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1363,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1365,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1365,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1366,1
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1368,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1369,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1369,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1370,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1374,1
    - Dst: crate::SrgbRenderingIntent::from_raw
      Src: /src/image-png/src/decoder/stream.rs:1375,1
    - Dst: Option::ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1375,1
    - Dst: FormatError::from
      Src: /src/image-png/src/decoder/stream.rs:1376,1
    - Dst: FormatErrorInner::InvalidSrgbRenderingIntent
      Src: /src/image-png/src/decoder/stream.rs:1376,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1380,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1362
    functionDepth: 2
    functionLinenumber: 1362
    functionLinenumberEnd: 1383
    functionName: StreamingDecoder::parse_srgb
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - is_some
    - FormatError::from
    - Some
    - UnfilterBuf::read_be
    - Err
    - into
    - FormatErrorInner::InvalidSrgbRenderingIntent
    - crate::SrgbRenderingIntent::from_raw
    - Option::ok_or_else
    - Ok
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_srgb(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1390,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1391,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1392,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1394,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1399,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1399,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1407,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1407,1
    - Dst: UnfilterBuf::is_empty
      Src: /src/image-png/src/decoder/stream.rs:1410,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1411,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1411,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1420
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1420
    functionName: S::t::r::e::a::m::i::n::g::D::e::c::o::d::e::r::::::::p::a::r::s::e::_::c::i::c::p::parse
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - UnfilterBuf::read_be
    - Err
    - into
    - UnfilterBuf::is_empty
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse(mut buf: &[u8]) -> Result<CodingIndependentCodePoints, std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1424,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1424,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1425,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1426,1
    - Dst: parse
      Src: /src/image-png/src/decoder/stream.rs:1427,1
    - Dst: Result::ok
      Src: /src/image-png/src/decoder/stream.rs:1427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1431
    functionName: StreamingDecoder::parse_cicp
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - Result::ok
    - is_none
    - parse
    - as_mut
    linkageType: ''
    returnType: Decoded
    signature: fn parse_cicp(&mut self) -> Decoded
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ScaledFloat::from_scaled
      Src: /src/image-png/src/decoder/stream.rs:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 1454
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1454
    functionName: S::::::::t::::::::r::::::::e::::::::a::::::::m::::::::i::::::::n::::::::g::::::::D::::::::e::::::::c::::::::o::::::::d::::::::e::::::::r::::::::::::::::::::::::::p::::::::a::::::::r::::::::s::::::::e::::::::_::::::::m::::::::d::::::::c::::::::v::::::::p::a::r::s::e::scale
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - ScaledFloat::from_scaled
    linkageType: ''
    returnType: ScaledFloat
    signature: 'fn scale(chunk: u16) -> ScaledFloat'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1438,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1439,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1440,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1441,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1442,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1443,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1444,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1445,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1456,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1456,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1457,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1457,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1458,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1458,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1459,1
    - Dst: scale
      Src: /src/image-png/src/decoder/stream.rs:1459,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1461,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1462,1
    - Dst: UnfilterBuf::is_empty
      Src: /src/image-png/src/decoder/stream.rs:1463,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1464,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1464,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1471
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1471
    functionName: S::t::r::e::a::m::i::n::g::D::e::c::o::d::e::r::::::::p::a::r::s::e::_::m::d::c::v::parse
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - UnfilterBuf::read_be
    - Err
    - into
    - scale
    - UnfilterBuf::is_empty
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse(mut buf: &[u8]) -> Result<MasteringDisplayColorVolume, std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1475,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1475,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1476,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1477,1
    - Dst: parse
      Src: /src/image-png/src/decoder/stream.rs:1478,1
    - Dst: Result::ok
      Src: /src/image-png/src/decoder/stream.rs:1478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1436
    functionDepth: 3
    functionLinenumber: 1436
    functionLinenumberEnd: 1482
    functionName: StreamingDecoder::parse_mdcv
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - Result::ok
    - is_none
    - parse
    - as_mut
    linkageType: ''
    returnType: Decoded
    signature: fn parse_mdcv(&mut self) -> Decoded
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1489,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1490,1
    - Dst: UnfilterBuf::is_empty
      Src: /src/image-png/src/decoder/stream.rs:1491,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1492,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1492,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1498
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1498
    functionName: S::t::r::e::a::m::i::n::g::D::e::c::o::d::e::r::::::::p::a::r::s::e::_::c::l::l::i::parse
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - UnfilterBuf::read_be
    - Err
    - into
    - UnfilterBuf::is_empty
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse(mut buf: &[u8]) -> Result<ContentLightLevelInfo, std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1501,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1501,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1502,1
    - Dst: parse
      Src: /src/image-png/src/decoder/stream.rs:1503,1
    - Dst: Result::ok
      Src: /src/image-png/src/decoder/stream.rs:1503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1507
    functionName: StreamingDecoder::parse_clli
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - Result::ok
    - is_none
    - parse
    - as_mut
    linkageType: ''
    returnType: Decoded
    signature: fn parse_clli(&mut self) -> Decoded
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1511,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1511,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1512,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1513,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:1513,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1517
    functionName: StreamingDecoder::parse_exif
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - Some
    - is_none
    - clone
    - into
    - as_mut
    linkageType: ''
    returnType: Decoded
    signature: fn parse_exif(&mut self) -> Decoded
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1521,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1521,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1522,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1536,1
    - Dst: StreamingDecoder::parse_iccp_raw
      Src: /src/image-png/src/decoder/stream.rs:1539,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1519
    functionDepth: 22
    functionLinenumber: 1519
    functionLinenumberEnd: 1542
    functionName: StreamingDecoder::parse_iccp
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Err
    - into
    - StreamingDecoder::parse_iccp_raw
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn parse_iccp(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1545,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1545,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1550,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1552,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1552,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1559,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1563,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1563,1
    - Dst: FormatErrorInner::UnknownCompressionMethod
      Src: /src/image-png/src/decoder/stream.rs:1564,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1564,1
    - Dst: fdeflate::decompress_to_vec_bounded
      Src: /src/image-png/src/decoder/stream.rs:1569,1
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1571,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1571,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1572,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1572,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1575,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1575,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1576,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1580,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1584,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1544
    functionDepth: 21
    functionLinenumber: 1544
    functionLinenumberEnd: 1585
    functionName: StreamingDecoder::parse_iccp_raw
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - FormatErrorInner::UnknownCompressionMethod
    - Some
    - UnfilterBuf::read_be
    - len
    - Err
    - Cow::Owned
    - into
    - fdeflate::decompress_to_vec_bounded
    - DecodingError::from
    - reserve_bytes
    - DecodingError::Format
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_iccp_raw(&mut self) -> Result<(), DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/image-png/src/decoder/stream.rs:1588,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1589,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1589,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1590,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1594,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1595,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1597,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1597,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1598,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1601,1
    - Dst: BitDepth::from_u8
      Src: /src/image-png/src/decoder/stream.rs:1602,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1605,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1605,1
    - Dst: FormatErrorInner::InvalidBitDepth
      Src: /src/image-png/src/decoder/stream.rs:1606,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1606,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1610,1
    - Dst: ColorType::from_u8
      Src: /src/image-png/src/decoder/stream.rs:1611,1
    - Dst: (ColorType, BitDepth)::is_combination_invalid
      Src: /src/image-png/src/decoder/stream.rs:1613,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1614,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1614,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1615,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1626,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1626,1
    - Dst: FormatErrorInner::InvalidColorType
      Src: /src/image-png/src/decoder/stream.rs:1627,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1627,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1631,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1635,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1635,1
    - Dst: FormatErrorInner::UnknownCompressionMethod
      Src: /src/image-png/src/decoder/stream.rs:1636,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1636,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1640,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1644,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1644,1
    - Dst: FormatErrorInner::UnknownFilterMethod
      Src: /src/image-png/src/decoder/stream.rs:1645,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1645,1
    - Dst: UnfilterBuf::read_be
      Src: /src/image-png/src/decoder/stream.rs:1649,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1653,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1653,1
    - Dst: FormatErrorInner::UnknownInterlaceMethod
      Src: /src/image-png/src/decoder/stream.rs:1654,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1654,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1659,1
    - Dst: Default::default
      Src: /src/image-png/src/decoder/stream.rs:1665,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1668,1
    - Dst: Decoded::Header
      Src: /src/image-png/src/decoder/stream.rs:1668,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1587
    functionDepth: 2
    functionLinenumber: 1587
    functionLinenumberEnd: 1671
    functionName: StreamingDecoder::parse_ihdr
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - FormatErrorInner::InvalidColorType
    - is_some
    - ColorType::from_u8
    - Some
    - UnfilterBuf::read_be
    - (ColorType, BitDepth)::is_combination_invalid
    - Err
    - into
    - Default::default
    - Decoded::Header
    - FormatErrorInner::UnknownFilterMethod
    - FormatErrorInner::UnknownCompressionMethod
    - FormatErrorInner::UnknownInterlaceMethod
    - Ok
    - DecodingError::Format
    - BitDepth::from_u8
    - FormatErrorInner::InvalidBitDepth
    linkageType: ''
    returnType: Result
    signature: fn parse_ihdr(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilterBuf::iter
      Src: /src/image-png/src/decoder/stream.rs:1674,1
    - Dst: Result::position
      Src: /src/image-png/src/decoder/stream.rs:1674,1
    - Dst: Result::ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1674,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1677,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1680,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1680,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1684
      start: 1673
    functionDepth: 26
    functionLinenumber: 1673
    functionLinenumberEnd: 1684
    functionName: StreamingDecoder::split_keyword
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Err
    - Result::ok_or_else
    - UnfilterBuf::iter
    - Result::position
    - DecodingError::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn split_keyword(buf: &[u8]) -> Result<(&[u8], &[u8]), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1688,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:1688,1
    - Dst: Self::split_keyword
      Src: /src/image-png/src/decoder/stream.rs:1690,1
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1692,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1692,1
    - Dst: push
      Src: /src/image-png/src/decoder/stream.rs:1692,1
    - Dst: TEXtChunk::decode
      Src: /src/image-png/src/decoder/stream.rs:1696,1
    - Dst: Result::map_err
      Src: /src/image-png/src/decoder/stream.rs:1696,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1686
    functionDepth: 21
    functionLinenumber: 1686
    functionLinenumberEnd: 1699
    functionName: StreamingDecoder::parse_text
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - Self::split_keyword
    - Result::map_err
    - TEXtChunk::decode
    - push
    - UnfilterBuf::len
    - reserve_bytes
    - as_mut
    linkageType: ''
    returnType: Result
    signature: fn parse_text(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1703,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:1703,1
    - Dst: Self::split_keyword
      Src: /src/image-png/src/decoder/stream.rs:1705,1
    - Dst: first
      Src: /src/image-png/src/decoder/stream.rs:1707,1
    - Dst: ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1707,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1709,1
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1713,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1713,1
    - Dst: push
      Src: /src/image-png/src/decoder/stream.rs:1713,1
    - Dst: ZTXtChunk::decode
      Src: /src/image-png/src/decoder/stream.rs:1714,1
    - Dst: Result::map_err
      Src: /src/image-png/src/decoder/stream.rs:1714,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1701
    functionDepth: 21
    functionLinenumber: 1701
    functionLinenumberEnd: 1719
    functionName: StreamingDecoder::parse_ztxt
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - Self::split_keyword
    - as_mut
    - first
    - push
    - Result::map_err
    - ZTXtChunk::decode
    - DecodingError::from
    - UnfilterBuf::len
    - reserve_bytes
    - ok_or_else
    linkageType: ''
    returnType: Result
    signature: fn parse_ztxt(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve_bytes
      Src: /src/image-png/src/decoder/stream.rs:1723,1
    - Dst: UnfilterBuf::len
      Src: /src/image-png/src/decoder/stream.rs:1723,1
    - Dst: Self::split_keyword
      Src: /src/image-png/src/decoder/stream.rs:1725,1
    - Dst: first
      Src: /src/image-png/src/decoder/stream.rs:1727,1
    - Dst: ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1727,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1729,1
    - Dst: get
      Src: /src/image-png/src/decoder/stream.rs:1731,1
    - Dst: ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1731,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1733,1
    - Dst: iter
      Src: /src/image-png/src/decoder/stream.rs:1735,1
    - Dst: position
      Src: /src/image-png/src/decoder/stream.rs:1735,1
    - Dst: ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1735,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1738,1
    - Dst: iter
      Src: /src/image-png/src/decoder/stream.rs:1743,1
    - Dst: position
      Src: /src/image-png/src/decoder/stream.rs:1743,1
    - Dst: ok_or_else
      Src: /src/image-png/src/decoder/stream.rs:1743,1
    - Dst: DecodingError::from
      Src: /src/image-png/src/decoder/stream.rs:1746,1
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1754,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1754,1
    - Dst: push
      Src: /src/image-png/src/decoder/stream.rs:1754,1
    - Dst: ITXtChunk::decode
      Src: /src/image-png/src/decoder/stream.rs:1755,1
    - Dst: Result::map_err
      Src: /src/image-png/src/decoder/stream.rs:1755,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1721
    functionDepth: 21
    functionLinenumber: 1721
    functionLinenumberEnd: 1767
    functionName: StreamingDecoder::parse_itxt
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - Ok
    - unwrap
    - position
    - Self::split_keyword
    - as_mut
    - first
    - push
    - Result::map_err
    - iter
    - ITXtChunk::decode
    - DecodingError::from
    - UnfilterBuf::len
    - reserve_bytes
    - get
    - ok_or_else
    linkageType: ''
    returnType: Result
    signature: fn parse_itxt(&mut self) -> Result<Decoded, DecodingError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/image-png/src/decoder/stream.rs:1773,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1773,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1774,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/stream.rs:1777,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:1785,1
    - Dst: len
      Src: /src/image-png/src/decoder/stream.rs:1786,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1788,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:1788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1772
    functionDepth: 21
    functionLinenumber: 1772
    functionLinenumberEnd: 1793
    functionName: StreamingDecoder::parse_bkgd
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - is_none
    - Some
    - len
    - clone
    - Cow::Owned
    - as_mut
    linkageType: ''
    returnType: Decoded
    signature: fn parse_bkgd(&mut self) -> Decoded
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1811,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1811,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1812,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - fc
    argTypes:
    - '&FrameControl'
    constantsTouched: []
    func_position:
      end: 1816
      start: 1797
    functionDepth: 2
    functionLinenumber: 1797
    functionLinenumberEnd: 1816
    functionName: Info::validate_default_image
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    - DecodingError::Format
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn validate_default_image(&self, fc: &FrameControl) -> Result<(),
      DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1820,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1820,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1821,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1826,1
    - Dst: checked_sub
      Src: /src/image-png/src/decoder/stream.rs:1826,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1828,1
    - Dst: checked_sub
      Src: /src/image-png/src/decoder/stream.rs:1828,1
    - Dst: Err
      Src: /src/image-png/src/decoder/stream.rs:1831,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/stream.rs:1831,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:1833,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - fc
    argTypes:
    - '&FrameControl'
    constantsTouched: []
    func_position:
      end: 1838
      start: 1818
    functionDepth: 2
    functionLinenumber: 1818
    functionLinenumberEnd: 1838
    functionName: Info::validate
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Some
    - Err
    - checked_sub
    - into
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn validate(&self, fc: &FrameControl) -> Result<(), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/image-png/src/decoder/stream.rs:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1842
    functionDepth: 3
    functionLinenumber: 1842
    functionLinenumberEnd: 1844
    functionName: StreamingDecoder::default
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:1868,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:1868,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:1868,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1868,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:1869,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:1869,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:1870,1
    - Dst: '&Info::gamma'
      Src: /src/image-png/src/decoder/stream.rs:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Option<ScaledFloat>
    constantsTouched: []
    func_position:
      end: 1872
      start: 1867
    functionDepth: 16
    functionLinenumber: 1867
    functionLinenumberEnd: 1872
    functionName: t::e::s::t::s::::::::i::m::a::g::e::_::g::a::m::m::a::trial
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - '&Info::gamma'
    - unwrap
    - File::open
    - crate::Decoder::new
    - Result::unwrap
    - Self::read_info
    - Reader::info
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: 'fn trial(path: &str, expected: Option<ScaledFloat>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1873,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1874,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1875,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1876,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1877,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1878,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1879,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1880,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1881,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1882,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1883,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1884,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1885,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1885,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1885,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1886,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1886,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1886,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1887,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1887,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1887,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1888,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1888,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1888,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1889,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1889,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1889,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1890,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1890,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1890,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1891,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1891,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1891,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1892,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1892,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1892,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1893,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1893,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1893,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1894,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1894,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1894,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1895,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1895,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1895,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1896,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1896,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1896,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1897,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1897,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1897,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1898,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1898,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1898,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1899,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1899,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1899,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1900,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1900,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1900,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1901,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1901,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1901,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1902,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1902,1
    - Dst: ScaledFloat::new
      Src: /src/image-png/src/decoder/stream.rs:1902,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:1903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1866
    functionDepth: 17
    functionLinenumber: 1866
    functionLinenumberEnd: 1904
    functionName: tests::image_gamma
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - trial
    - ScaledFloat::new
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: fn image_gamma() -> Result<(), ()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:1909,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:1909,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:1909,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:1909,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:1910,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:1910,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:1911,1
    - Dst: '&Info::chromaticities'
      Src: /src/image-png/src/decoder/stream.rs:1911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Option<SourceChromaticities>
    constantsTouched: []
    func_position:
      end: 1913
      start: 1908
    functionDepth: 16
    functionLinenumber: 1908
    functionLinenumberEnd: 1913
    functionName: t::e::s::t::s::::::::i::m::a::g::e::_::s::o::u::r::c::e::_::c::h::r::o::m::a::t::i::c::i::t::i::e::s::trial
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - File::open
    - '&Info::chromaticities'
    - crate::Decoder::new
    - Result::unwrap
    - Self::read_info
    - Reader::info
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: 'fn trial(path: &str, expected: Option<SourceChromaticities>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1914,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1916,1
    - Dst: SourceChromaticities::new
      Src: /src/image-png/src/decoder/stream.rs:1916,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1923,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:1925,1
    - Dst: SourceChromaticities::new
      Src: /src/image-png/src/decoder/stream.rs:1925,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1932,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1933,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1934,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1935,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1936,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1937,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1938,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1939,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1940,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1941,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1942,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1943,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1944,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1945,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1946,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1947,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1948,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1949,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1950,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1951,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1952,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1953,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1954,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1955,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1956,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1957,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1958,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1959,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1960,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1961,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1962,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1963,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1964,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1965,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1966,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1967,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1968,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1969,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1970,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1971,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1972,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1973,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1974,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1975,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1976,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1977,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1978,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1979,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1980,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1981,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1982,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1983,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1984,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1985,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1986,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1987,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1988,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1989,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1990,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1991,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1992,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1993,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1994,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1995,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1996,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1997,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1998,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:1999,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2000,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2001,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2002,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2003,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2004,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2005,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2006,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2007,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2008,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2009,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2010,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2011,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2012,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2013,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2014,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2015,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2016,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2017,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2018,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2019,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2020,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2021,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2022,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2023,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2024,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2025,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2026,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2027,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2028,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2029,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2030,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2031,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2032,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2033,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2034,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2035,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2036,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2037,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2038,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2039,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2040,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2041,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2042,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2043,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2044,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2045,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2046,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2047,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2048,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2049,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2050,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2051,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2052,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2053,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2054,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2055,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2056,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2057,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2058,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2059,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2060,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2061,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2062,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2063,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2064,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2065,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2066,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2067,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2068,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2069,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2070,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2071,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2072,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2073,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2074,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2075,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2076,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2077,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2078,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2079,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2080,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2081,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2082,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2083,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2084,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2085,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2086,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2087,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2088,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2089,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/stream.rs:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 348
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 1907
    functionDepth: 17
    functionLinenumber: 1907
    functionLinenumberEnd: 2091
    functionName: tests::image_source_chromaticities
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - trial
    - SourceChromaticities::new
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: fn image_source_chromaticities() -> Result<(), ()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2096,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:2096,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:2096,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2096,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2097,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2097,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2098,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Option<Cow<[u8]>>
    constantsTouched: []
    func_position:
      end: 2100
      start: 2095
    functionDepth: 16
    functionLinenumber: 2095
    functionLinenumberEnd: 2100
    functionName: t::e::s::t::s::::::::i::m::a::g::e::_::s::o::u::r::c::e::_::s::b::i::t::trial
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - File::open
    - clone
    - crate::Decoder::new
    - Result::unwrap
    - Self::read_info
    - Reader::info
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: 'fn trial(path: &str, expected: Option<Cow<[u8]>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2102,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2102,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:2102,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2103,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2103,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:2103,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2104,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2106,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:2106,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2108,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2108,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:2108,1
    - Dst: trial
      Src: /src/image-png/src/decoder/stream.rs:2109,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2111,1
    - Dst: Cow::Owned
      Src: /src/image-png/src/decoder/stream.rs:2111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2094
    functionDepth: 17
    functionLinenumber: 2094
    functionLinenumberEnd: 2113
    functionName: tests::image_source_sbit
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - trial
    - Cow::Owned
    - Some
    linkageType: ''
    returnType: void
    signature: fn image_source_sbit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2123,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:2123,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:2124,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2124,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2126,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2126,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2127,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:2127,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2127,1
    - Dst: into_owned
      Src: /src/image-png/src/decoder/stream.rs:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2118
    functionDepth: 16
    functionLinenumber: 2118
    functionLinenumberEnd: 2134
    functionName: tests::test_two_iccp_chunks
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - File::open
    - into_owned
    - clone
    - crate::Decoder::new
    - Result::unwrap
    - Self::read_info
    - Reader::info
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn test_two_iccp_chunks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Info::with_size
      Src: /src/image-png/src/decoder/stream.rs:2140,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2141,1
    - Dst: into
      Src: /src/image-png/src/decoder/stream.rs:2141,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2142,1
    - Dst: crate::Encoder::with_info
      Src: /src/image-png/src/decoder/stream.rs:2143,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2143,1
    - Dst: write_header
      Src: /src/image-png/src/decoder/stream.rs:2144,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2144,1
    - Dst: write_image_data
      Src: /src/image-png/src/decoder/stream.rs:2145,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2145,1
    - Dst: finish
      Src: /src/image-png/src/decoder/stream.rs:2146,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2146,1
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2148,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2148,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2149,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2137
    functionDepth: 24
    functionLinenumber: 2137
    functionLinenumberEnd: 2151
    functionName: tests::test_iccp_roundtrip
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - Cursor::new
    - into
    - crate::Encoder::with_info
    - crate::Decoder::new
    - Result::unwrap
    - write_header
    - write_image_data
    - crate::Info::with_size
    - Self::read_info
    - finish
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_iccp_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Info::with_size
      Src: /src/image-png/src/decoder/stream.rs:2155,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2156,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2161,1
    - Dst: crate::Encoder::with_info
      Src: /src/image-png/src/decoder/stream.rs:2162,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2162,1
    - Dst: write_header
      Src: /src/image-png/src/decoder/stream.rs:2163,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2163,1
    - Dst: write_image_data
      Src: /src/image-png/src/decoder/stream.rs:2164,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2164,1
    - Dst: finish
      Src: /src/image-png/src/decoder/stream.rs:2165,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2165,1
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2167,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2167,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2168,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2168,1
    - Dst: Self::info
      Src: /src/image-png/src/decoder/stream.rs:2169,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:2169,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2154
    functionDepth: 24
    functionLinenumber: 2154
    functionLinenumberEnd: 2173
    functionName: tests::test_phys_roundtrip
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - Cursor::new
    - Self::info
    - crate::Encoder::with_info
    - as_ref
    - crate::Decoder::new
    - Result::unwrap
    - write_header
    - write_image_data
    - crate::Info::with_size
    - Self::read_info
    - finish
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_phys_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Info::with_size
      Src: /src/image-png/src/decoder/stream.rs:2177,1
    - Dst: Some
      Src: /src/image-png/src/decoder/stream.rs:2178,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2179,1
    - Dst: crate::Encoder::with_info
      Src: /src/image-png/src/decoder/stream.rs:2180,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2180,1
    - Dst: write_header
      Src: /src/image-png/src/decoder/stream.rs:2181,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2181,1
    - Dst: write_image_data
      Src: /src/image-png/src/decoder/stream.rs:2182,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2182,1
    - Dst: finish
      Src: /src/image-png/src/decoder/stream.rs:2183,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2183,1
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2185,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2185,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2186,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2176
    functionDepth: 24
    functionLinenumber: 2176
    functionLinenumberEnd: 2188
    functionName: tests::test_srgb_roundtrip
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - Cursor::new
    - crate::Encoder::with_info
    - crate::Decoder::new
    - Result::unwrap
    - write_header
    - write_image_data
    - crate::Info::with_size
    - Self::read_info
    - finish
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_srgb_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2192,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:2192,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:2193,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2193,1
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2196,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:2196,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:2197,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2197,1
    - Dst: Self::set_ignore_iccp_chunk
      Src: /src/image-png/src/decoder/stream.rs:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2191
    functionDepth: 7
    functionLinenumber: 2191
    functionLinenumberEnd: 2201
    functionName: tests::test_png_with_broken_iccp
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Self::set_ignore_iccp_chunk
    - unwrap
    - File::open
    - crate::Decoder::new
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn test_png_with_broken_iccp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2206,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:2206,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:2207,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2207,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2209,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2209,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2210,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2212,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2218,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2205
    functionDepth: 16
    functionLinenumber: 2205
    functionLinenumberEnd: 2233
    functionName: tests::test_cicp_mdcv_and_clli_chunks
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - File::open
    - crate::Decoder::new
    - Result::unwrap
    - Self::read_info
    - Reader::info
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn test_cicp_mdcv_and_clli_chunks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2238,1
    - Dst: BufReader::new
      Src: /src/image-png/src/decoder/stream.rs:2238,1
    - Dst: File::open
      Src: /src/image-png/src/decoder/stream.rs:2239,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2239,1
    - Dst: Self::read_info
      Src: /src/image-png/src/decoder/stream.rs:2241,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2241,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2242,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:2243,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2243,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2237
    functionDepth: 16
    functionLinenumber: 2237
    functionLinenumberEnd: 2245
    functionName: tests::test_exif_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - File::open
    - as_ref
    - crate::Decoder::new
    - Result::unwrap
    - Self::read_info
    - Reader::info
    - BufReader::new
    linkageType: ''
    returnType: void
    signature: fn test_exif_chunk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2250,1
    - Dst: write_noncompressed_png
      Src: /src/image-png/src/decoder/stream.rs:2251,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2252,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2252,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2253,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2253,1
    - Dst: Reader::finish
      Src: /src/image-png/src/decoder/stream.rs:2256,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2256,1
    - Dst: Reader::finish
      Src: /src/image-png/src/decoder/stream.rs:2259,1
    - Dst: Result::unwrap_err
      Src: /src/image-png/src/decoder/stream.rs:2259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2249
    functionDepth: 22
    functionLinenumber: 2249
    functionLinenumberEnd: 2262
    functionName: tests::test_finishing_twice
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::finish
    - Decoder::new
    - Decoder::read_info
    - Result::unwrap_err
    - Result::unwrap
    - Cursor::new
    - Vec::new
    - write_noncompressed_png
    linkageType: ''
    returnType: void
    signature: fn test_finishing_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2267,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2268,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2268,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2270,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2270,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - w
    - animation
    argTypes:
    - '&mut impl Write'
    - '&crate::AnimationControl'
    constantsTouched: []
    func_position:
      end: 2273
      start: 2266
    functionDepth: 20
    functionLinenumber: 2266
    functionLinenumberEnd: 2273
    functionName: tests::write_actl
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_u32::<byteorder::BigEndian>
    - write_chunk
    - unwrap
    - Vec::new
    linkageType: ''
    returnType: void
    signature: 'fn write_actl(w: &mut impl Write, animation: &crate::AnimationControl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2278,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2279,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2279,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2281,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2281,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2282,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2282,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2284,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2284,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2286,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2286,1
    - Dst: write_u16::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2288,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2288,1
    - Dst: write_u16::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2290,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2290,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/decoder/stream.rs:2292,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2292,1
    - Dst: Result::write_u8
      Src: /src/image-png/src/decoder/stream.rs:2293,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2293,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 2
    argNames:
    - w
    - frame
    argTypes:
    - '&mut impl Write'
    - '&crate::FrameControl'
    constantsTouched: []
    func_position:
      end: 2295
      start: 2277
    functionDepth: 20
    functionLinenumber: 2277
    functionLinenumberEnd: 2295
    functionName: tests::write_fctl
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_chunk
    - unwrap
    - write_u16::<byteorder::BigEndian>
    - write_u32::<byteorder::BigEndian>
    - Result::write_u8
    - Vec::new
    linkageType: ''
    returnType: void
    signature: 'fn write_fctl(w: &mut impl Write, frame: &crate::FrameControl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2300,1
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/image-png/src/decoder/stream.rs:2301,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2301,1
    - Dst: Result::write_all
      Src: /src/image-png/src/decoder/stream.rs:2303,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2303,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - w
    - sequence_number
    - image_data
    argTypes:
    - '&mut impl Write'
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 2305
      start: 2299
    functionDepth: 20
    functionLinenumber: 2299
    functionLinenumberEnd: 2305
    functionName: tests::write_fdat
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_chunk
    - unwrap
    - write_u32::<byteorder::BigEndian>
    - Result::write_all
    - Vec::new
    linkageType: ''
    returnType: void
    signature: 'fn write_fdat(w: &mut impl Write, sequence_number: u32, image_data:
      &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:2312,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:2313,1
    - Dst: write_actl
      Src: /src/image-png/src/decoder/stream.rs:2314,1
    - Dst: Default::default
      Src: /src/image-png/src/decoder/stream.rs:2325,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:2327,1
    - Dst: write_rgba8_idats
      Src: /src/image-png/src/decoder/stream.rs:2328,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - w
    - num_frames
    - width
    argTypes:
    - '&mut impl Write'
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 2332
      start: 2311
    functionDepth: 21
    functionLinenumber: 2311
    functionLinenumberEnd: 2332
    functionName: tests::write_fdat_prefix
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_rgba8_idats
    - Default::default
    - write_fctl
    - write_actl
    - write_rgba8_ihdr_with_width
    - write_png_sig
    linkageType: ''
    returnType: void
    signature: 'fn write_fdat_prefix(w: &mut impl Write, num_frames: u32, width: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2336,1
    - Dst: write_fdat_prefix
      Src: /src/image-png/src/decoder/stream.rs:2337,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2338,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2340,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2340,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2341,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2341,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2343,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2343,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2346,1
    - Dst: Result::unwrap_err
      Src: /src/image-png/src/decoder/stream.rs:2346,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2354,1
    - Dst: Result::unwrap_err
      Src: /src/image-png/src/decoder/stream.rs:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2335
    functionDepth: 22
    functionLinenumber: 2335
    functionLinenumberEnd: 2360
    functionName: tests::test_fdat_chunk_payload_length_0
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - write_fdat_prefix
    - Result::unwrap_err
    - Reader::next_frame
    - Result::unwrap
    - Cursor::new
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_fdat_chunk_payload_length_0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2364,1
    - Dst: write_fdat_prefix
      Src: /src/image-png/src/decoder/stream.rs:2365,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2366,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2368,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2368,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2369,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2369,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2371,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2371,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2374,1
    - Dst: Result::unwrap_err
      Src: /src/image-png/src/decoder/stream.rs:2374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2363
    functionDepth: 22
    functionLinenumber: 2363
    functionLinenumberEnd: 2377
    functionName: tests::test_fdat_chunk_payload_length_3
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - write_fdat_prefix
    - Result::unwrap_err
    - Reader::next_frame
    - Result::unwrap
    - Cursor::new
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_fdat_chunk_payload_length_3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2396,1
    - Dst: write_fdat_prefix
      Src: /src/image-png/src/decoder/stream.rs:2397,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:2398,1
    - Dst: write_fdat
      Src: /src/image-png/src/decoder/stream.rs:2399,1
    - Dst: write_fdat
      Src: /src/image-png/src/decoder/stream.rs:2400,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:2401,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2406,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2406,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2407,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2407,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2409,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2417,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2417,1
    - Dst: UnfilterBuf::clone
      Src: /src/image-png/src/decoder/stream.rs:2418,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2423,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2434,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2434,1
    - Dst: UnfilterBuf::clone
      Src: /src/image-png/src/decoder/stream.rs:2435,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2380
    functionDepth: 22
    functionLinenumber: 2380
    functionLinenumberEnd: 2448
    functionName: tests::test_frame_split_across_two_fdat_chunks
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_fdat
    - Decoder::new
    - Decoder::read_info
    - write_fdat_prefix
    - Reader::next_frame
    - generate_rgba8_with_width_and_height
    - UnfilterBuf::clone
    - Result::unwrap
    - Cursor::new
    - Reader::info
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_frame_split_across_two_fdat_chunks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2453,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:2454,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:2455,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2460,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:2463,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:2466,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2469,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2469,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2470,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2470,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2475,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2451
    functionDepth: 21
    functionLinenumber: 2451
    functionLinenumberEnd: 2477
    functionName: tests::test_idat_bigger_than_image_size_from_ihdr
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - Reader::next_frame
    - generate_rgba8_with_width_and_height
    - Result::unwrap
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_idat_bigger_than_image_size_from_ihdr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2482,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:2483,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2484,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2487,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2487,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2480
    functionDepth: 20
    functionLinenumber: 2480
    functionLinenumberEnd: 2501
    functionName: tests::test_only_idat_chunk_in_input_stream
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_only_idat_chunk_in_input_stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingInput::with_noncompressed_png
      Src: /src/image-png/src/decoder/stream.rs:2605,1
    - Dst: decode_full_input
      Src: /src/image-png/src/decoder/stream.rs:2608,1
    - Dst: Vec::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2610,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2610,1
    - Dst: stream_input_until_reader_is_available
      Src: /src/image-png/src/decoder/stream.rs:2614,1
    - Dst: next_frame
      Src: /src/image-png/src/decoder/stream.rs:2617,1
    - Dst: as_mut_slice
      Src: /src/image-png/src/decoder/stream.rs:2617,1
    - Dst: kind
      Src: /src/image-png/src/decoder/stream.rs:2619,1
    - Dst: expose_next_byte
      Src: /src/image-png/src/decoder/stream.rs:2620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2602
    functionDepth: 16
    functionLinenumber: 2602
    functionLinenumberEnd: 2630
    functionName: tests::test_streaming_input_and_decoding_via_next_frame
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - expose_next_byte
    - StreamingInput::with_noncompressed_png
    - stream_input_until_reader_is_available
    - Vec::next_frame
    - next_frame
    - kind
    - Result::unwrap
    - as_mut_slice
    - decode_full_input
    linkageType: ''
    returnType: void
    signature: fn test_streaming_input_and_decoding_via_next_frame()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingInput::with_noncompressed_png
      Src: /src/image-png/src/decoder/stream.rs:2637,1
    - Dst: decode_full_input
      Src: /src/image-png/src/decoder/stream.rs:2639,1
    - Dst: Vec::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2641,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2641,1
    - Dst: stream_input_until_reader_is_available
      Src: /src/image-png/src/decoder/stream.rs:2645,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2646,1
    - Dst: next_row
      Src: /src/image-png/src/decoder/stream.rs:2648,1
    - Dst: Self::extend_from_slice
      Src: /src/image-png/src/decoder/stream.rs:2650,1
    - Dst: data
      Src: /src/image-png/src/decoder/stream.rs:2650,1
    - Dst: kind
      Src: /src/image-png/src/decoder/stream.rs:2651,1
    - Dst: expose_next_byte
      Src: /src/image-png/src/decoder/stream.rs:2652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2634
    functionDepth: 16
    functionLinenumber: 2634
    functionLinenumberEnd: 2661
    functionName: tests::test_streaming_input_and_decoding_via_next_row
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - expose_next_byte
    - Self::extend_from_slice
    - StreamingInput::with_noncompressed_png
    - stream_input_until_reader_is_available
    - Vec::next_frame
    - next_row
    - kind
    - Result::unwrap
    - data
    - Vec::new
    - decode_full_input
    linkageType: ''
    returnType: void
    signature: fn test_streaming_input_and_decoding_via_next_row()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingInput::with_noncompressed_png
      Src: /src/image-png/src/decoder/stream.rs:2668,1
    - Dst: decode_full_input
      Src: /src/image-png/src/decoder/stream.rs:2670,1
    - Dst: Vec::info
      Src: /src/image-png/src/decoder/stream.rs:2670,1
    - Dst: Result::clone
      Src: /src/image-png/src/decoder/stream.rs:2670,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2672,1
    - Dst: clone
      Src: /src/image-png/src/decoder/stream.rs:2672,1
    - Dst: Decoder::read_header_info
      Src: /src/image-png/src/decoder/stream.rs:2674,1
    - Dst: Result::clone
      Src: /src/image-png/src/decoder/stream.rs:2675,1
    - Dst: kind
      Src: /src/image-png/src/decoder/stream.rs:2676,1
    - Dst: expose_next_byte
      Src: /src/image-png/src/decoder/stream.rs:2677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2665
    functionDepth: 16
    functionLinenumber: 2665
    functionLinenumberEnd: 2700
    functionName: tests::test_streaming_input_and_reading_header_info
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - expose_next_byte
    - StreamingInput::with_noncompressed_png
    - Decoder::new
    - kind
    - Vec::info
    - clone
    - Result::clone
    - Decoder::read_header_info
    - decode_full_input
    linkageType: ''
    returnType: void
    signature: fn test_streaming_input_and_reading_header_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2705,1
    - Dst: write_noncompressed_png
      Src: /src/image-png/src/decoder/stream.rs:2706,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2707,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2707,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2707,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2704
    functionDepth: 22
    functionLinenumber: 2704
    functionLinenumberEnd: 2708
    functionName: tests::create_reader_of_ihdr_idat
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Decoder::new
    - Decoder::read_info
    - Result::unwrap
    - Cursor::new
    - Vec::new
    - write_noncompressed_png
    linkageType: ''
    returnType: Reader
    signature: fn create_reader_of_ihdr_idat() -> Reader<Cursor<Vec<u8>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/image-png/src/decoder/stream.rs:2717,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2720,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:2721,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:2722,1
    - Dst: write_actl
      Src: /src/image-png/src/decoder/stream.rs:2723,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:2731,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:2735,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2736,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:2744,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:2745,1
    - Dst: write_fdat
      Src: /src/image-png/src/decoder/stream.rs:2746,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:2747,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2749,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2749,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2749,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2712
    functionDepth: 21
    functionLinenumber: 2712
    functionLinenumberEnd: 2750
    functionName: tests::create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - write_fdat
    - Decoder::new
    - Decoder::read_info
    - Default::default
    - write_fctl
    - generate_rgba8_with_width_and_height
    - Result::unwrap
    - write_actl
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: Reader
    signature: fn create_reader_of_ihdr_actl_fctl_idat_fctl_fdat() -> Reader<Cursor<Vec<u8>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:2756,1
    - Dst: Default::default
      Src: /src/image-png/src/decoder/stream.rs:2760,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:2763,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:2764,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:2765,1
    - Dst: write_actl
      Src: /src/image-png/src/decoder/stream.rs:2766,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:2773,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:2775,1
    - Dst: write_fdat
      Src: /src/image-png/src/decoder/stream.rs:2776,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:2778,1
    - Dst: write_fdat
      Src: /src/image-png/src/decoder/stream.rs:2779,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:2780,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:2782,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:2782,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:2782,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2754
    functionDepth: 25
    functionLinenumber: 2754
    functionLinenumberEnd: 2783
    functionName: tests::create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - write_fdat
    - Decoder::new
    - Decoder::read_info
    - Default::default
    - generate_rgba8_with_width_and_height
    - write_fctl
    - Result::unwrap
    - write_actl
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: Reader
    signature: fn create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat() -> Reader<Cursor<Vec<u8>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:2786,1
    - Dst: as_ref
      Src: /src/image-png/src/decoder/stream.rs:2786,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:2786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&Reader<impl BufRead + Seek>'
    constantsTouched: []
    func_position:
      end: 2792
      start: 2785
    functionDepth: 4
    functionLinenumber: 2785
    functionLinenumberEnd: 2792
    functionName: tests::get_fctl_sequence_number
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Reader::info
    - as_ref
    linkageType: ''
    returnType: u32
    signature: 'fn get_fctl_sequence_number(reader: &Reader<impl BufRead + Seek>)
      -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_idat
      Src: /src/image-png/src/decoder/stream.rs:2798,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2800,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2800,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2804,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:2804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2797
    functionDepth: 23
    functionLinenumber: 2797
    functionLinenumberEnd: 2812
    functionName: tests::test_next_frame_polling_after_end_non_animated
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame
    - Result::expect
    - create_reader_of_ihdr_idat
    - Result::expect_err
    linkageType: ''
    returnType: void
    signature: fn test_next_frame_polling_after_end_non_animated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_idat
      Src: /src/image-png/src/decoder/stream.rs:2818,1
    - Dst: Reader::next_frame_info
      Src: /src/image-png/src/decoder/stream.rs:2820,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:2820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2817
    functionDepth: 23
    functionLinenumber: 2817
    functionLinenumberEnd: 2828
    functionName: tests::test_next_frame_info_polling_after_end_non_animated
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame_info
    - create_reader_of_ihdr_idat
    - Result::expect_err
    linkageType: ''
    returnType: void
    signature: fn test_next_frame_info_polling_after_end_non_animated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
      Src: /src/image-png/src/decoder/stream.rs:2835,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2839,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2839,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2846,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2846,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2851,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:2851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2834
    functionDepth: 22
    functionLinenumber: 2834
    functionLinenumberEnd: 2859
    functionName: tests::test_next_frame_polling_after_end_idat_part_of_animation
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame
    - Result::expect
    - create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
    - Result::expect_err
    linkageType: ''
    returnType: void
    signature: fn test_next_frame_polling_after_end_idat_part_of_animation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat
      Src: /src/image-png/src/decoder/stream.rs:2866,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2870,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2870,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2877,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2877,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2882,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2882,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2887,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:2887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2865
    functionDepth: 26
    functionLinenumber: 2865
    functionLinenumberEnd: 2895
    functionName: tests::test_next_frame_polling_after_end_idat_not_part_of_animation
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame
    - Result::expect
    - create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat
    - Result::expect_err
    linkageType: ''
    returnType: void
    signature: fn test_next_frame_polling_after_end_idat_not_part_of_animation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
      Src: /src/image-png/src/decoder/stream.rs:2901,1
    - Dst: Reader::next_row
      Src: /src/image-png/src/decoder/stream.rs:2905,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2905,1
    - Dst: UnfilterBuf::fill
      Src: /src/image-png/src/decoder/stream.rs:2908,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2909,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2900
    functionDepth: 22
    functionLinenumber: 2900
    functionLinenumberEnd: 2916
    functionName: tests::test_row_by_row_then_next_frame
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
    - Result::expect
    - Result::unwrap
    - Reader::next_frame
    - Reader::next_row
    - UnfilterBuf::fill
    linkageType: ''
    returnType: void
    signature: fn test_row_by_row_then_next_frame()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
      Src: /src/image-png/src/decoder/stream.rs:2923,1
    - Dst: Reader::next_row
      Src: /src/image-png/src/decoder/stream.rs:2927,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2927,1
    - Dst: Reader::next_row
      Src: /src/image-png/src/decoder/stream.rs:2936,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:2936,1
    - Dst: Reader::next_frame_info
      Src: /src/image-png/src/decoder/stream.rs:2942,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:2942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2922
    functionDepth: 22
    functionLinenumber: 2922
    functionLinenumberEnd: 2950
    functionName: tests::test_row_by_row_of_two_frames
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame_info
    - create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
    - Result::expect_err
    - Result::unwrap
    - Reader::next_row
    linkageType: ''
    returnType: void
    signature: fn test_row_by_row_of_two_frames()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
      Src: /src/image-png/src/decoder/stream.rs:2959,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2963,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2963,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:2974,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:2974,1
    - Dst: Reader::next_frame_info
      Src: /src/image-png/src/decoder/stream.rs:2979,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:2979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2958
    functionDepth: 22
    functionLinenumber: 2958
    functionLinenumberEnd: 2987
    functionName: tests::test_next_frame_info_after_next_frame
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame_info
    - create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
    - Result::expect_err
    - Result::expect
    - Reader::next_frame
    linkageType: ''
    returnType: void
    signature: fn test_next_frame_info_after_next_frame()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat
      Src: /src/image-png/src/decoder/stream.rs:2993,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:3004,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:3004,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:3011,1
    - Dst: Result::expect
      Src: /src/image-png/src/decoder/stream.rs:3011,1
    - Dst: Reader::next_frame_info
      Src: /src/image-png/src/decoder/stream.rs:3016,1
    - Dst: Result::expect_err
      Src: /src/image-png/src/decoder/stream.rs:3016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 2992
    functionDepth: 26
    functionLinenumber: 2992
    functionLinenumberEnd: 3024
    functionName: tests::test_next_frame_info_to_skip_first_frame
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - Reader::next_frame_info
    - create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat
    - Result::expect_err
    - Result::expect
    - Reader::next_frame
    linkageType: ''
    returnType: void
    signature: fn test_next_frame_info_to_skip_first_frame()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:3029,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:3030,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:3031,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:3032,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:3033,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:3036,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:3038,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:3041,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:3041,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:3042,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:3042,1
    - Dst: Reader::next_frame
      Src: /src/image-png/src/decoder/stream.rs:3045,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:3045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3027
    functionDepth: 21
    functionLinenumber: 3027
    functionLinenumberEnd: 3048
    functionName: tests::test_incorrect_trns_chunk_is_ignored
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - Reader::next_frame
    - generate_rgba8_with_width_and_height
    - Result::unwrap
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_incorrect_trns_chunk_is_ignored()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:3054,1
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:3056,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:3057,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:3058,1
    - Dst: write_actl
      Src: /src/image-png/src/decoder/stream.rs:3059,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:3071,1
    - Dst: Default::default
      Src: /src/image-png/src/decoder/stream.rs:3076,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:3079,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:3080,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:3082,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:3082,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:3082,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:3082,1
    - Dst: Reader::next_interlaced_row
      Src: /src/image-png/src/decoder/stream.rs:3089,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:3089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3052
    functionDepth: 25
    functionLinenumber: 3052
    functionLinenumberEnd: 3090
    functionName: tests::test_actl_num_frames_zero
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - generate_rgba8_with_width_and_height
    - write_fctl
    - Default::default
    - Result::unwrap
    - write_actl
    - Reader::next_interlaced_row
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_actl_num_frames_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:3096,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:3097,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:3098,1
    - Dst: write_actl
      Src: /src/image-png/src/decoder/stream.rs:3099,1
    - Dst: write_fctl
      Src: /src/image-png/src/decoder/stream.rs:3106,1
    - Dst: Default::default
      Src: /src/image-png/src/decoder/stream.rs:3114,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:3117,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:3120,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:3122,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:3124,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:3124,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:3124,1
    - Dst: Reader::err
      Src: /src/image-png/src/decoder/stream.rs:3125,1
    - Dst: unwrap
      Src: /src/image-png/src/decoder/stream.rs:3125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3093
    functionDepth: 21
    functionLinenumber: 3093
    functionLinenumberEnd: 3128
    functionName: tests::test_small_fctl
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - unwrap
    - Decoder::new
    - Decoder::read_info
    - Default::default
    - write_fctl
    - generate_rgba8_with_width_and_height
    - Reader::err
    - write_actl
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_small_fctl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/src/decoder/stream.rs:3138,1
    - Dst: write_png_sig
      Src: /src/image-png/src/decoder/stream.rs:3139,1
    - Dst: write_rgba8_ihdr_with_width
      Src: /src/image-png/src/decoder/stream.rs:3140,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:3141,1
    - Dst: as_slice
      Src: /src/image-png/src/decoder/stream.rs:3141,1
    - Dst: write_chunk
      Src: /src/image-png/src/decoder/stream.rs:3142,1
    - Dst: generate_rgba8_with_width_and_height
      Src: /src/image-png/src/decoder/stream.rs:3145,1
    - Dst: write_iend
      Src: /src/image-png/src/decoder/stream.rs:3147,1
    - Dst: Decoder::new
      Src: /src/image-png/src/decoder/stream.rs:3149,1
    - Dst: Cursor::new
      Src: /src/image-png/src/decoder/stream.rs:3149,1
    - Dst: Decoder::read_info
      Src: /src/image-png/src/decoder/stream.rs:3149,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/stream.rs:3149,1
    - Dst: Reader::info
      Src: /src/image-png/src/decoder/stream.rs:3150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3131
    functionDepth: 21
    functionLinenumber: 3131
    functionLinenumberEnd: 3153
    functionName: tests::test_invalid_text_chunk
    functionSourceFile: /src/image-png/src/decoder/stream.rs
    functionUses: 0
    functionsReached:
    - write_iend
    - write_chunk
    - Decoder::new
    - Decoder::read_info
    - generate_rgba8_with_width_and_height
    - Result::unwrap
    - as_slice
    - write_rgba8_ihdr_with_width
    - Cursor::new
    - write_png_sig
    - Reader::info
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_invalid_text_chunk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/image-png/src/decoder/zlib.rs:66,1
    - Dst: Decompressor::new
      Src: /src/image-png/src/decoder/zlib.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: ZlibStream::new
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 1
    functionsReached:
    - Box::new
    - Decompressor::new
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decompressor::new
      Src: /src/image-png/src/decoder/zlib.rs:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ZlibStream::reset
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached:
    - Decompressor::new
    linkageType: ''
    returnType: void
    signature: pub(crate) fn reset(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: ZlibStream::set_ignore_adler32
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn set_ignore_adler32(&mut self, flag: bool) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: ZlibStream::ignore_adler32
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn ignore_adler32(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_done
      Src: /src/image-png/src/decoder/zlib.rs:108,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/zlib.rs:109,1
    - Dst: Result::len
      Src: /src/image-png/src/decoder/zlib.rs:109,1
    - Dst: ignore_adler32
      Src: /src/image-png/src/decoder/zlib.rs:113,1
    - Dst: Result::borrow_mut
      Src: /src/image-png/src/decoder/zlib.rs:116,1
    - Dst: min
      Src: /src/image-png/src/decoder/zlib.rs:117,1
    - Dst: u64::len
      Src: /src/image-png/src/decoder/zlib.rs:117,1
    - Dst: read
      Src: /src/image-png/src/decoder/zlib.rs:118,1
    - Dst: map_err
      Src: /src/image-png/src/decoder/zlib.rs:118,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/zlib.rs:122,1
    - Dst: into
      Src: /src/image-png/src/decoder/zlib.rs:122,1
    - Dst: Result::filled
      Src: /src/image-png/src/decoder/zlib.rs:127,1
    - Dst: is_done
      Src: /src/image-png/src/decoder/zlib.rs:129,1
    - Dst: Result::commit
      Src: /src/image-png/src/decoder/zlib.rs:130,1
    - Dst: Result::commit
      Src: /src/image-png/src/decoder/zlib.rs:133,1
    - Dst: saturating_sub
      Src: /src/image-png/src/decoder/zlib.rs:133,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/zlib.rs:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 63
    argCount: 2
    argNames:
    - data
    - image_data
    argTypes:
    - '&[u8]'
    - '&mut UnfilterBuf<''_>'
    constantsTouched: []
    func_position:
      end: 137
      start: 100
    functionDepth: 21
    functionLinenumber: 100
    functionLinenumberEnd: 137
    functionName: ZlibStream::decompress
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached:
    - u64::len
    - Result::commit
    - read
    - Result::len
    - Result::borrow_mut
    - min
    - Result::filled
    - into
    - is_done
    - map_err
    - ignore_adler32
    - saturating_sub
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn decompress(&mut self,data: &[u8],image_data: &mut UnfilterBuf<''_>,)
      -> Result<usize, DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/image-png/src/decoder/zlib.rs:149,1
    - Dst: is_done
      Src: /src/image-png/src/decoder/zlib.rs:152,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/zlib.rs:156,1
    - Dst: Result::borrow_mut
      Src: /src/image-png/src/decoder/zlib.rs:159,1
    - Dst: is_done
      Src: /src/image-png/src/decoder/zlib.rs:160,1
    - Dst: Result::borrow_mut
      Src: /src/image-png/src/decoder/zlib.rs:161,1
    - Dst: read
      Src: /src/image-png/src/decoder/zlib.rs:163,1
    - Dst: map_err
      Src: /src/image-png/src/decoder/zlib.rs:163,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/zlib.rs:164,1
    - Dst: into
      Src: /src/image-png/src/decoder/zlib.rs:164,1
    - Dst: is_done
      Src: /src/image-png/src/decoder/zlib.rs:169,1
    - Dst: Result::flush_allocate
      Src: /src/image-png/src/decoder/zlib.rs:170,1
    - Dst: Result::filled
      Src: /src/image-png/src/decoder/zlib.rs:174,1
    - Dst: Result::commit
      Src: /src/image-png/src/decoder/zlib.rs:175,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/zlib.rs:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 1
    argNames:
    - image_data
    argTypes:
    - '&mut UnfilterBuf<''_>'
    constantsTouched: []
    func_position:
      end: 178
      start: 144
    functionDepth: 22
    functionLinenumber: 144
    functionLinenumberEnd: 178
    functionName: ZlibStream::finish_compressed_chunks
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached:
    - Result::commit
    - read
    - Result::borrow_mut
    - Result::filled
    - into
    - map_err
    - is_done
    - Result::flush_allocate
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn finish_compressed_chunks(&mut self,image_data: &mut
      UnfilterBuf<''_>,) -> Result<(), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&''data mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: UnfilterRegion::as_buf
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnfilterBuf
    signature: 'pub fn as_buf<''data>(&''data mut self, buffer: &''data mut Vec<u8>)
      -> UnfilterBuf<''data>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: UnfilterBuf::borrow_mut
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (&mut [u8], usize)
    signature: pub(crate) fn borrow_mut(&mut self) -> (&mut [u8], usize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filled
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: UnfilterBuf::filled
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn filled(&mut self, filled: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - howmany
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: UnfilterBuf::commit
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn commit(&mut self, howmany: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/image-png/src/decoder/zlib.rs:210,1
    - Dst: resize
      Src: /src/image-png/src/decoder/zlib.rs:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 21
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: UnfilterBuf::flush_allocate
    functionSourceFile: /src/image-png/src/decoder/zlib.rs
    functionUses: 0
    functionsReached:
    - len
    - resize
    linkageType: ''
    returnType: void
    signature: pub(crate) fn flush_allocate(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: UnfilteringBuffer::debug_assert_invariants
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn debug_assert_invariants(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::checked_raw_row_length
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:50,1
    - Dst: Option::and_then
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:50,1
    - Dst: Decoded::checked_mul
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:59,1
    - Dst: min
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:59,1
    - Dst: and_then
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:50,1
    - Dst: checked_next_multiple_of
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:62,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:50,1
    - Dst: min
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:67,1
    - Dst: Result::checked_raw_row_length
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:73,1
    - Dst: Option::and_then
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:73,1
    - Dst: Decoded::checked_mul
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:77,1
    - Dst: and_then
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:73,1
    - Dst: checked_next_multiple_of
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:82,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:73,1
    - Dst: max
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:85,1
    - Dst: Vec::with_capacity
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:89,1
    - Dst: debug_assert_invariants
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info<''_>'
    constantsTouched: []
    func_position:
      end: 99
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 99
    functionName: UnfilteringBuffer::new
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 1
    functionsReached:
    - Result::checked_raw_row_length
    - and_then
    - unwrap_or
    - min
    - Vec::with_capacity
    - debug_assert_invariants
    - max
    - Decoded::checked_mul
    - checked_next_multiple_of
    - Option::and_then
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(info: &Info<''_>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnfilteringBuffer::debug_assert_invariants
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: UnfilteringBuffer::reset_prev_row
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached:
    - UnfilteringBuffer::debug_assert_invariants
    linkageType: ''
    returnType: void
    signature: pub fn reset_prev_row(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: UnfilteringBuffer::reset_all
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: pub fn reset_all(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: UnfilteringBuffer::prev_row
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn prev_row(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: UnfilteringBuffer::curr_row_len
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn curr_row_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:141,1
    - Dst: len
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:149,1
    - Dst: checked_sub
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:149,1
    - Dst: copy_within
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:150,1
    - Dst: copy_within
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:153,1
    - Dst: len
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:164,1
    - Dst: resize
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 21
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: UnfilteringBuffer::as_unfilled_buffer
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached:
    - copy_within
    - len
    - checked_sub
    - resize
    linkageType: ''
    returnType: UnfilterBuf
    signature: pub fn as_unfilled_buffer(&mut self) -> UnfilterBuf<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at_mut
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:185,1
    - Dst: RowFilter::from_u8
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:191,1
    - Dst: Option::ok_or
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:191,1
    - Dst: DecodingError::Format
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:191,1
    - Dst: FormatErrorInner::UnknownFilterMethod
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:192,1
    - Dst: into
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:192,1
    - Dst: filter::unfilter
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:196,1
    - Dst: UnfilteringBuffer::debug_assert_invariants
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:201,1
    - Dst: Ok
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - rowlen
    - bpp
    argTypes:
    - usize
    - BytesPerPixel
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: UnfilteringBuffer::unfilter_curr_row
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached:
    - split_at_mut
    - UnfilteringBuffer::debug_assert_invariants
    - Option::ok_or
    - RowFilter::from_u8
    - into
    - FormatErrorInner::UnknownFilterMethod
    - filter::unfilter
    - DecodingError::Format
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn unfilter_curr_row(&mut self,rowlen: usize,bpp: BytesPerPixel,)
      -> Result<(), DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::checked_add
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:215,1
    - Dst: Some
      Src: /src/image-png/src/decoder/unfiltering_buffer.rs:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - val
    - factor
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: checked_next_multiple_of
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 1
    functionsReached:
    - usize::checked_add
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn checked_next_multiple_of(val: usize, factor: usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: next_multiple_of_backport_testsuite
    functionSourceFile: /src/image-png/src/decoder/unfiltering_buffer.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn next_multiple_of_backport_testsuite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rgba_palette
      Src: /src/image-png/src/decoder/transform/palette.rs:23,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform/palette.rs:26,1
    - Dst: expand_8bit_into_rgb8
      Src: /src/image-png/src/decoder/transform/palette.rs:26,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform/palette.rs:28,1
    - Dst: expand_into_rgb8
      Src: /src/image-png/src/decoder/transform/palette.rs:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info'
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 22
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: create_expansion_into_rgb8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 1
    functionsReached:
    - expand_into_rgb8
    - expand_8bit_into_rgb8
    - Box::new
    - create_rgba_palette
    linkageType: ''
    returnType: TransformFn
    signature: 'pub fn create_expansion_into_rgb8(info: &Info) -> TransformFn'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rgba_palette
      Src: /src/image-png/src/decoder/transform/palette.rs:33,1
    - Dst: Box::new
      Src: /src/image-png/src/decoder/transform/palette.rs:34,1
    - Dst: expand_paletted_into_rgba8
      Src: /src/image-png/src/decoder/transform/palette.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info'
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 22
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: create_expansion_into_rgba8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 1
    functionsReached:
    - Box::new
    - expand_paletted_into_rgba8
    - create_rgba_palette
    linkageType: ''
    returnType: TransformFn
    signature: 'pub fn create_expansion_into_rgba8(info: &Info) -> TransformFn'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform/palette.rs:40,1
    - Dst: expect
      Src: /src/image-png/src/decoder/transform/palette.rs:40,1
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform/palette.rs:41,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:41,1
    - Dst: len
      Src: /src/image-png/src/decoder/transform/palette.rs:50,1
    - Dst: len
      Src: /src/image-png/src/decoder/transform/palette.rs:50,1
    - Dst: palette::len
      Src: /src/image-png/src/decoder/transform/palette.rs:64,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/transform/palette.rs:68,1
    - Dst: palette::is_empty
      Src: /src/image-png/src/decoder/transform/palette.rs:73,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/transform/palette.rs:74,1
    - Dst: iter
      Src: /src/image-png/src/decoder/transform/palette.rs:81,1
    - Dst: Result::copied
      Src: /src/image-png/src/decoder/transform/palette.rs:81,1
    - Dst: zip
      Src: /src/image-png/src/decoder/transform/palette.rs:81,1
    - Dst: '[[u8; 4]; 256]::iter_mut'
      Src: /src/image-png/src/decoder/transform/palette.rs:81,1
    - Dst: len
      Src: /src/image-png/src/decoder/transform/palette.rs:86,1
    - Dst: len
      Src: /src/image-png/src/decoder/transform/palette.rs:86,1
    - Dst: iter_mut
      Src: /src/image-png/src/decoder/transform/palette.rs:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info'
    constantsTouched: []
    func_position:
      end: 91
      start: 39
    functionDepth: 21
    functionLinenumber: 39
    functionLinenumberEnd: 91
    functionName: create_rgba_palette
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 3
    functionsReached:
    - unwrap_or
    - copy_from_slice
    - len
    - '[[u8; 4]; 256]::iter_mut'
    - palette::len
    - as_deref
    - zip
    - expect
    - iter
    - Result::copied
    - iter_mut
    - palette::is_empty
    linkageType: ''
    returnType: '[[u8; 4]; 256]'
    signature: 'fn create_rgba_palette(info: &Info) -> [[u8; 4]; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/image-png/src/decoder/transform/palette.rs:94,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/transform/palette.rs:97,1
    - Dst: '&mut [u8]::is_empty'
      Src: /src/image-png/src/decoder/transform/palette.rs:102,1
    - Dst: copy_from_slice
      Src: /src/image-png/src/decoder/transform/palette.rs:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - input
    - output
    - rgba_palette
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&[[u8; 4]; 256]'
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 21
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: expand_8bit_into_rgb8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 1
    functionsReached:
    - '&mut [u8]::len'
    - '&mut [u8]::is_empty'
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn expand_8bit_into_rgb8(mut input: &[u8], mut output: &mut [u8],
      rgba_palette: &[[u8; 4]; 256])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::unpack_bits
      Src: /src/image-png/src/decoder/transform/palette.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - row
    - buffer
    - info
    - rgba_palette
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    - '&[[u8; 4]; 256]'
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 27
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: expand_into_rgb8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 1
    functionsReached:
    - super::unpack_bits
    linkageType: ''
    returnType: void
    signature: 'fn expand_into_rgb8(row: &[u8], buffer: &mut [u8], info: &Info, rgba_palette:
      &[[u8; 4]; 256])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::unpack_bits
      Src: /src/image-png/src/decoder/transform/palette.rs:123,1
    - Dst: Result::copy_from_slice
      Src: /src/image-png/src/decoder/transform/palette.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - row
    - buffer
    - info
    - rgba_palette
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    - '&[[u8; 4]; 256]'
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 27
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: expand_paletted_into_rgba8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 2
    functionsReached:
    - super::unpack_bits
    - Result::copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn expand_paletted_into_rgba8(row: &[u8],buffer: &mut [u8],info: &Info,rgba_palette:
      &[[u8; 4]; 256],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform/palette.rs:134,1
    - Dst: expect
      Src: /src/image-png/src/decoder/transform/palette.rs:134,1
    - Dst: super::unpack_bits
      Src: /src/image-png/src/decoder/transform/palette.rs:137,1
    - Dst: get
      Src: /src/image-png/src/decoder/transform/palette.rs:138,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 3
    argNames:
    - row
    - buffer
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 27
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: test::oracle_expand_paletted_into_rgb8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - unwrap_or
    - super::unpack_bits
    - as_deref
    - expect
    - get
    linkageType: ''
    returnType: void
    signature: 'fn oracle_expand_paletted_into_rgb8(row: &[u8], buffer: &mut [u8],
      info: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform/palette.rs:149,1
    - Dst: expect
      Src: /src/image-png/src/decoder/transform/palette.rs:149,1
    - Dst: as_deref
      Src: /src/image-png/src/decoder/transform/palette.rs:150,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:150,1
    - Dst: len
      Src: /src/image-png/src/decoder/transform/palette.rs:160,1
    - Dst: len
      Src: /src/image-png/src/decoder/transform/palette.rs:160,1
    - Dst: super::unpack_bits
      Src: /src/image-png/src/decoder/transform/palette.rs:166,1
    - Dst: get
      Src: /src/image-png/src/decoder/transform/palette.rs:168,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:168,1
    - Dst: get
      Src: /src/image-png/src/decoder/transform/palette.rs:171,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    argCount: 3
    argNames:
    - row
    - buffer
    - info
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&Info'
    constantsTouched: []
    func_position:
      end: 178
      start: 148
    functionDepth: 21
    functionLinenumber: 148
    functionLinenumberEnd: 178
    functionName: test::oracle_expand_paletted_into_rgba8
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - unwrap_or
    - len
    - super::unpack_bits
    - as_deref
    - expect
    - get
    linkageType: ''
    returnType: void
    signature: 'fn oracle_expand_paletted_into_rgba8(row: &[u8], buffer: &mut [u8],
      info: &Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitDepth::from_u8
      Src: /src/image-png/src/decoder/transform/palette.rs:183,1
    - Dst: Option::unwrap
      Src: /src/image-png/src/decoder/transform/palette.rs:183,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform/palette.rs:184,1
    - Dst: into
      Src: /src/image-png/src/decoder/transform/palette.rs:184,1
    - Dst: map
      Src: /src/image-png/src/decoder/transform/palette.rs:185,1
    - Dst: Info::default
      Src: /src/image-png/src/decoder/transform/palette.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - src_bit_depth
    - palette
    - trns
    argTypes:
    - u8
    - '&''a [u8]'
    - Option<&'a [u8]>
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: test::create_info
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - Some
    - into
    - map
    - Info::default
    - Option::unwrap
    - BitDepth::from_u8
    linkageType: ''
    returnType: Info
    signature: 'fn create_info<''a>(src_bit_depth: u8, palette: &''a [u8], trns: Option<&''a
      [u8]>) -> Info<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/image-png/src/decoder/transform/palette.rs:196,1
    - Dst: '&[u8]::len'
      Src: /src/image-png/src/decoder/transform/palette.rs:202,1
    - Dst: super::super::create_transform_fn
      Src: /src/image-png/src/decoder/transform/palette.rs:206,1
    - Dst: Result::unwrap
      Src: /src/image-png/src/decoder/transform/palette.rs:206,1
    - Dst: transform_fn
      Src: /src/image-png/src/decoder/transform/palette.rs:207,1
    - Dst: as_mut_slice
      Src: /src/image-png/src/decoder/transform/palette.rs:207,1
    - Dst: is_none
      Src: /src/image-png/src/decoder/transform/palette.rs:212,1
    - Dst: oracle_expand_paletted_into_rgb8
      Src: /src/image-png/src/decoder/transform/palette.rs:213,1
    - Dst: oracle_expand_paletted_into_rgba8
      Src: /src/image-png/src/decoder/transform/palette.rs:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 4
    argNames:
    - src
    - src_bit_depth
    - palette
    - trns
    argTypes:
    - '&[u8]'
    - u8
    - '&[u8]'
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 221
      start: 190
    functionDepth: 21
    functionLinenumber: 190
    functionLinenumberEnd: 221
    functionName: test::expand_paletted
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - create_info
    - oracle_expand_paletted_into_rgb8
    - is_none
    - oracle_expand_paletted_into_rgba8
    - Result::unwrap
    - '&[u8]::len'
    - super::super::create_transform_fn
    - transform_fn
    - as_mut_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn expand_paletted(src: &[u8],src_bit_depth: u8,palette: &[u8],trns:
      Option<&[u8]>,) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_paletted
      Src: /src/image-png/src/decoder/transform/palette.rs:225,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform/palette.rs:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 22
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: test::test_expand_paletted_rgba_8bit
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - expand_paletted
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_expand_paletted_rgba_8bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_paletted
      Src: /src/image-png/src/decoder/transform/palette.rs:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 22
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: test::test_expand_paletted_rgb_8bit
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - expand_paletted
    linkageType: ''
    returnType: void
    signature: fn test_expand_paletted_rgb_8bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_paletted
      Src: /src/image-png/src/decoder/transform/palette.rs:259,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform/palette.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 22
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: test::test_expand_paletted_rgba_4bit
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - expand_paletted
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_expand_paletted_rgba_4bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_paletted
      Src: /src/image-png/src/decoder/transform/palette.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 22
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: test::test_expand_paletted_rgb_4bit
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - expand_paletted
    linkageType: ''
    returnType: void
    signature: fn test_expand_paletted_rgb_4bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_paletted
      Src: /src/image-png/src/decoder/transform/palette.rs:293,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform/palette.rs:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 22
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: test::test_expand_paletted_rgba_8bit_more_trns_entries_than_palette_entries
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - expand_paletted
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_expand_paletted_rgba_8bit_more_trns_entries_than_palette_entries()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_paletted
      Src: /src/image-png/src/decoder/transform/palette.rs:315,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform/palette.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 22
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: test::test_expand_paletted_rgba_8bit_less_trns_entries_than_palette_entries
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - expand_paletted
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_expand_paletted_rgba_8bit_less_trns_entries_than_palette_entries()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/image-png/src/decoder/transform/palette.rs:340,1
    - Dst: enumerate
      Src: /src/image-png/src/decoder/transform/palette.rs:340,1
    - Dst: Result::get
      Src: /src/image-png/src/decoder/transform/palette.rs:341,1
    - Dst: map
      Src: /src/image-png/src/decoder/transform/palette.rs:341,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:341,1
    - Dst: Result::get
      Src: /src/image-png/src/decoder/transform/palette.rs:342,1
    - Dst: map
      Src: /src/image-png/src/decoder/transform/palette.rs:342,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:342,1
    - Dst: Result::get
      Src: /src/image-png/src/decoder/transform/palette.rs:343,1
    - Dst: map
      Src: /src/image-png/src/decoder/transform/palette.rs:343,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:343,1
    - Dst: get
      Src: /src/image-png/src/decoder/transform/palette.rs:344,1
    - Dst: map
      Src: /src/image-png/src/decoder/transform/palette.rs:344,1
    - Dst: unwrap_or
      Src: /src/image-png/src/decoder/transform/palette.rs:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - plte
    - trns
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: t::e::s::t::::::::t::e::s::t::_::c::r::e::a::t::e::_::r::g::b::a::_::p::a::l::e::t::t::e::create_expected_rgba_palette
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - unwrap_or
    - Result::get
    - map
    - enumerate
    - iter_mut
    - get
    linkageType: ''
    returnType: '[[u8; 4]; 256]'
    signature: 'fn create_expected_rgba_palette(plte: &[u8], trns: &[u8]) -> [[u8;
      4]; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/image-png/src/decoder/transform/palette.rs:351,1
    - Dst: map
      Src: /src/image-png/src/decoder/transform/palette.rs:352,1
    - Dst: collect
      Src: /src/image-png/src/decoder/transform/palette.rs:352,1
    - Dst: create_info
      Src: /src/image-png/src/decoder/transform/palette.rs:354,1
    - Dst: Some
      Src: /src/image-png/src/decoder/transform/palette.rs:354,1
    - Dst: create_expected_rgba_palette
      Src: /src/image-png/src/decoder/transform/palette.rs:355,1
    - Dst: super::create_rgba_palette
      Src: /src/image-png/src/decoder/transform/palette.rs:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 22
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: test::test_create_rgba_palette
    functionSourceFile: /src/image-png/src/decoder/transform/palette.rs
    functionUses: 0
    functionsReached:
    - collect
    - create_info
    - Some
    - map
    - create_expected_rgba_palette
    - super::create_rgba_palette
    linkageType: ''
    returnType: void
    signature: fn test_create_rgba_palette()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: png::Decoder::new_with_limits
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:9,1
    - Dst: Cursor::new
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:9,1
    - Dst: Decoder::read_info
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:10,1
    - Dst: Result::map_err
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:10,1
    - Dst: Reader::info
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:12,1
    - Dst: '&Info::raw_bytes'
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:12,1
    - Dst: Err
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:13,1
    - Dst: Reader::next_frame
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:19,1
    - Dst: Some
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:20,1
    - Dst: Ok
      Src: /src/image-png/fuzz/fuzz_targets/decode.rs:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 24
      start: 7
    functionDepth: 16
    functionLinenumber: 7
    functionLinenumberEnd: 24
    functionName: png_decode
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/decode.rs
    functionUses: 0
    functionsReached:
    - png::Decoder::new_with_limits
    - Decoder::read_info
    - Some
    - Err
    - Reader::next_frame
    - Result::map_err
    - Cursor::new
    - Reader::info
    - '&Info::raw_bytes'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn png_decode(data: &[u8]) -> Result<(Option<png::OutputInfo>, Vec<u8>),
      ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/image-png/examples/pngcheck.rs:289,1
    - Dst: Self::opt_present
      Src: /src/image-png/examples/pngcheck.rs:292,1
    - Dst: Self::opt_present
      Src: /src/image-png/examples/pngcheck.rs:293,1
    - Dst: Self::opt_present
      Src: /src/image-png/examples/pngcheck.rs:294,1
    - Dst: Self::opt_present
      Src: /src/image-png/examples/pngcheck.rs:295,1
    - Dst: contains
      Src: /src/image-png/examples/pngcheck.rs:299,1
    - Dst: glob::glob
      Src: /src/image-png/examples/pngcheck.rs:300,1
    - Dst: map_err
      Src: /src/image-png/examples/pngcheck.rs:300,1
    - Dst: io::Error::new
      Src: /src/image-png/examples/pngcheck.rs:301,1
    - Dst: and_then
      Src: /src/image-png/examples/pngcheck.rs:300,1
    - Dst: try_for_each
      Src: /src/image-png/examples/pngcheck.rs:303,1
    - Dst: map_err
      Src: /src/image-png/examples/pngcheck.rs:304,1
    - Dst: io::Error::new
      Src: /src/image-png/examples/pngcheck.rs:305,1
    - Dst: and_then
      Src: /src/image-png/examples/pngcheck.rs:304,1
    - Dst: check_image
      Src: /src/image-png/examples/pngcheck.rs:306,1
    - Dst: check_image
      Src: /src/image-png/examples/pngcheck.rs:310,1
    - Dst: unwrap_or_else
      Src: /src/image-png/examples/pngcheck.rs:313,1
    - Dst: std::process::exit
      Src: /src/image-png/examples/pngcheck.rs:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 22
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: main
    functionSourceFile: /src/image-png/examples/pngcheck.rs
    functionUses: 0
    functionsReached:
    - glob::glob
    - and_then
    - Self::opt_present
    - try_for_each
    - contains
    - unwrap_or_else
    - io::Error::new
    - map_err
    - std::process::exit
    - check_image
    - parse_args
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_png
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:2,1
    - Dst: decode_png
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:3,1
    - Dst: u8::len
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:5,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 22
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: fuzz_target
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
    functionUses: 0
    functionsReached:
    - decode_png
    - encode_png
    - u8::len
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: filter_from_u8
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:20,1
    - Dst: BitDepth::from_u8
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:21,1
    - Dst: u32::pow
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:22,1
    - Dst: ColorType::from_u8
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:24,1
    - Dst: '&''a [u8]::len'
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:27,1
    - Dst: png::DeflateCompression::Level
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:34,1
    - Dst: raw_row_length_from_width
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:42,1
    - Dst: Result::len
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:43,1
    - Dst: Vec::new
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:48,1
    - Dst: png::Encoder::new
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:50,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:51,1
    - Dst: Encoder::set_color
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:52,1
    - Dst: Encoder::set_filter
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:53,1
    - Dst: Encoder::set_deflate_compression
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:54,1
    - Dst: Encoder::set_palette
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:56,1
    - Dst: Encoder::write_header
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:60,1
    - Dst: Result::ok
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:60,1
    - Dst: Result::write_image_data
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:61,1
    - Dst: Result::expect
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:61,1
    - Dst: Some
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 7
    argNames:
    - width
    - filter
    - compression
    - color_type
    - raw_bit_depth
    - raw_palette
    - data
    argTypes:
    - u8
    - u8
    - u8
    - u8
    - u8
    - '&''a [u8]'
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 64
      start: 16
    functionDepth: 21
    functionLinenumber: 16
    functionLinenumberEnd: 64
    functionName: encode_png
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
    functionUses: 1
    functionsReached:
    - raw_row_length_from_width
    - Result::expect
    - png::Encoder::new
    - BitDepth::from_u8
    - png::DeflateCompression::Level
    - '&''a [u8]::len'
    - Encoder::set_filter
    - filter_from_u8
    - Result::len
    - Result::write_image_data
    - Encoder::set_color
    - Encoder::set_depth
    - Result::ok
    - ColorType::from_u8
    - u32::pow
    - Encoder::set_deflate_compression
    - Some
    - Encoder::write_header
    - Encoder::set_palette
    - Vec::new
    linkageType: ''
    returnType: Option
    signature: 'fn encode_png<''a>(width: u8, filter: u8, compression: u8, color_type:
      u8, raw_bit_depth: u8, raw_palette: &''a [u8], data: &''a [u8]) -> Option<(&''a
      [u8], Vec<u8>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: png::Decoder::new
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:67,1
    - Dst: Cursor::new
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:67,1
    - Dst: Self::read_info
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:68,1
    - Dst: Result::unwrap
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:68,1
    - Dst: Reader::next_frame
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:72,1
    - Dst: Result::unwrap
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 16
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: decode_png
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
    functionUses: 1
    functionsReached:
    - png::Decoder::new
    - Reader::next_frame
    - Result::unwrap
    - Cursor::new
    - Self::read_info
    linkageType: ''
    returnType: (png::OutputInfo, Vec
    signature: 'fn decode_png(data: &[u8]) -> (png::OutputInfo, Vec<u8>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: filter_from_u8
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Filter
    signature: 'fn filter_from_u8(input: u8) -> Filter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: samples
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:91,1
    - Dst: usize::from
      Src: /src/image-png/fuzz/fuzz_targets/roundtrip.rs:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - depth
    - color
    - width
    argTypes:
    - BitDepth
    - ColorType
    - u32
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: raw_row_length_from_width
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
    functionUses: 10
    functionsReached:
    - samples
    - usize::from
    linkageType: ''
    returnType: usize
    signature: 'fn raw_row_length_from_width(depth: BitDepth, color: ColorType, width:
      u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:180,1
    - Dst: Cursor::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:180,1
    - Dst: Box::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:181,1
    - Dst: smal_buf::SmalBuf::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:181,1
    - Dst: Result::to_owned
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:181,1
    - Dst: Box::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:182,1
    - Dst: intermittent_eofs::IntermittentEofs::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:182,1
    - Dst: smal_buf::SmalBuf::new
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:183,1
    - Dst: Result::to_owned
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:183,1
    - Dst: Self::controller
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:185,1
    - Dst: into_iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:195,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:195,1
    - Dst: png::Decoder::new_with_limits
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:200,1
    - Dst: "into_iter()\n        .map(|data_reader| {\n            // Small limits,\
        \ we don't need them hopefully.\n            let limits = png::Limits { bytes:\
        \ 1 << 16 };\n            png::Decoder::new_with_limits(data_reader, limits)\n\
        \        })\n        .collect::<Vec<_>>"
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:195,1
    - Dst: disable_intermittent_eofs
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:206,1
    - Dst: into_iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:207,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:207,1
    - Dst: read_info
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:209,1
    - Dst: assert_all_results_are_consistent
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:207,1
    - Dst: "into_iter()\n        .map(|decoder| decoder.read_info())\n        .assert_all_results_are_consistent()\n\
        \        .collect::<Result<Vec<_>, _>>"
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:207,1
    - Dst: map_err
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:207,1
    - Dst: enable_intermittent_eofs
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:213,1
    - Dst: iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:215,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:215,1
    - Dst: Vec::info
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:217,1
    - Dst: Result::clone
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:217,1
    - Dst: assert_all_items_are_same
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:215,1
    - Dst: assert_same_info
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:219,1
    - Dst: Result::raw_bytes
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:225,1
    - Dst: Err
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:226,1
    - Dst: iter_mut
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: zip
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: iter_mut
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:233,1
    - Dst: enumerate
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: Some
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:237,1
    - Dst: retry_after_eofs
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:241,1
    - Dst: next_frame
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:242,1
    - Dst: u64::as_mut_slice
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:242,1
    - Dst: assert_all_results_are_consistent
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: "iter_mut()\n            .zip(buffers.iter_mut())\n            .enumerate()\n\
        \            .map(|(i, (png_reader, buffer))| {\n                let eof_controller\
        \ = if i == 2 {\n                    Some(&intermittent_eofs_controller)\n\
        \                } else {\n                    None\n                };\n\
        \                retry_after_eofs(eof_controller, || {\n                 \
        \   png_reader.next_frame(buffer.as_mut_slice())\n                })\n   \
        \         })\n            .assert_all_results_are_consistent()\n         \
        \   .collect::<Result<Vec<_>, _>>"
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: map_err
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:231,1
    - Dst: into_iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:248,1
    - Dst: assert_all_items_are_equal
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:248,1
    - Dst: iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:249,1
    - Dst: assert_all_items_are_equal
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 111
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 251
      start: 179
    functionDepth: 20
    functionLinenumber: 179
    functionLinenumberEnd: 251
    functionName: test_data
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
    functionUses: 0
    functionsReached:
    - "into_iter()\n        .map(|data_reader| {\n            // Small limits, we\
      \ don't need them hopefully.\n            let limits = png::Limits { bytes:\
      \ 1 << 16 };\n            png::Decoder::new_with_limits(data_reader, limits)\n\
      \        })\n        .collect::<Vec<_>>"
    - assert_same_info
    - Result::raw_bytes
    - Err
    - Result::to_owned
    - "into_iter()\n        .map(|decoder| decoder.read_info())\n        .assert_all_results_are_consistent()\n\
      \        .collect::<Result<Vec<_>, _>>"
    - enable_intermittent_eofs
    - iter
    - Cursor::new
    - u64::as_mut_slice
    - next_frame
    - Vec::info
    - Result::clone
    - zip
    - assert_all_results_are_consistent
    - assert_all_items_are_same
    - map
    - map_err
    - read_info
    - enumerate
    - into_iter
    - disable_intermittent_eofs
    - smal_buf::SmalBuf::new
    - png::Decoder::new_with_limits
    - Box::new
    - retry_after_eofs
    - Some
    - assert_all_items_are_equal
    - Self::controller
    - iter_mut
    - intermittent_eofs::IntermittentEofs::new
    - "iter_mut()\n            .zip(buffers.iter_mut())\n            .enumerate()\n\
      \            .map(|(i, (png_reader, buffer))| {\n                let eof_controller\
      \ = if i == 2 {\n                    Some(&intermittent_eofs_controller)\n \
      \               } else {\n                    None\n                };\n   \
      \             retry_after_eofs(eof_controller, || {\n                    png_reader.next_frame(buffer.as_mut_slice())\n\
      \                })\n            })\n            .assert_all_results_are_consistent()\n\
      \            .collect::<Result<Vec<_>, _>>"
    linkageType: ''
    returnType: Result
    signature: 'fn test_data<''a>(data: &''a [u8]) -> Result<(), ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Self::Target::as_ref'
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:259,1
    - Dst: kind
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:261,1
    - Dst: did_reach_inner_eof
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - eof_controller
    - f
    argTypes:
    - Option<&std::rc::Rc<intermittent_eofs::EofController>>
    - impl FnMut() -> Result<T, png::DecodingError>
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: retry_after_eofs
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
    functionUses: 1
    functionsReached:
    - '&Self::Target::as_ref'
    - did_reach_inner_eof
    - kind
    linkageType: ''
    returnType: Result
    signature: 'fn retry_after_eofs<T>(eof_controller: Option<&std::rc::Rc<intermittent_eofs::EofController>>,mut
      f: impl FnMut() -> Result<T, png::DecodingError>,) -> Result<T, png::DecodingError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - '&png::Info'
    - '&png::Info'
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: assert_same_info
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn assert_same_info(lhs: &png::Info, rhs: &png::Info)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect::<Vec<_>>
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:305,1
    - Dst: iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:307,1
    - Dst: any
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:307,1
    - Dst: is_err
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:307,1
    - Dst: iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:308,1
    - Dst: any
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:308,1
    - Dst: is_ok
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:308,1
    - Dst: iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:312,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:312,1
    - Dst: as_ref
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:312,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:312,1
    - Dst: enumerate
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:313,1
    - Dst: into_iter
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 297
    functionDepth: 26
    functionLinenumber: 297
    functionLinenumberEnd: 320
    functionName: IteratorExtensionsForFuzzing::assert_all_results_are_consistent
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
    functionUses: 0
    functionsReached:
    - is_ok
    - map
    - as_ref
    - enumerate
    - iter
    - into_iter
    - collect::<Vec<_>>
    - any
    - is_err
    linkageType: ''
    returnType: impl Iterator
    signature: 'fn assert_all_results_are_consistent<T>(self) -> impl Iterator<Item
      = Self::Item>whereSelf: Iterator<Item = Result<T, png::DecodingError>>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IteratorExtensionsForFuzzing::assert_all_items_are_same
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: IteratorExtensionsForFuzzing::assert_all_items_are_equal
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
    functionUses: 0
    functionsReached:
    - IteratorExtensionsForFuzzing::assert_all_items_are_same
    linkageType: ''
    returnType: Self::Item
    signature: 'fn assert_all_items_are_equal(self) -> Self::ItemwhereSelf::Item:
      Debug + Eq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IteratorExtensionsForFuzzing::enumerate
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:337,1
    - Dst: reduce
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:337,1
    - Dst: std::panic::AssertUnwindSafe
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:340,1
    - Dst: std::panic::AssertUnwindSafe
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:341,1
    - Dst: std::panic::AssertUnwindSafe
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:342,1
    - Dst: std::panic::catch_unwind
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:343,1
    - Dst: assert_same
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:343,1
    - Dst: std::panic::resume_unwind
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:349,1
    - Dst: map
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:337,1
    - Dst: expect
      Src: /src/image-png/fuzz/fuzz_targets/buf_independent.rs:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - assert_same
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 358
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 358
    functionName: IteratorExtensionsForFuzzing::assert_all_items_are_same
    functionSourceFile: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
    functionUses: 1
    functionsReached:
    - IteratorExtensionsForFuzzing::enumerate
    - std::panic::resume_unwind
    - map
    - std::panic::catch_unwind
    - expect
    - std::panic::AssertUnwindSafe
    - reduce
    - assert_same
    linkageType: ''
    returnType: ''
    signature: 'fn assert_all_items_are_same<F>(self, mut assert_same: F) -> <Self
      as Iterator>::ItemwhereF: for<''a, ''b> FnMut(&''a Self::Item, &''b Self::Item),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/examples/corpus-bench.rs:40,1
    - Dst: png::Encoder::new
      Src: /src/image-png/examples/corpus-bench.rs:41,1
    - Dst: Encoder::set_color
      Src: /src/image-png/examples/corpus-bench.rs:42,1
    - Dst: Encoder::set_depth
      Src: /src/image-png/examples/corpus-bench.rs:43,1
    - Dst: Encoder::set_compression
      Src: /src/image-png/examples/corpus-bench.rs:44,1
    - Dst: Encoder::set_filter
      Src: /src/image-png/examples/corpus-bench.rs:49,1
    - Dst: Encoder::write_header
      Src: /src/image-png/examples/corpus-bench.rs:57,1
    - Dst: Result::unwrap
      Src: /src/image-png/examples/corpus-bench.rs:57,1
    - Dst: Encoder::write_image_data
      Src: /src/image-png/examples/corpus-bench.rs:58,1
    - Dst: Result::unwrap
      Src: /src/image-png/examples/corpus-bench.rs:58,1
    - Dst: Encoder::finish
      Src: /src/image-png/examples/corpus-bench.rs:59,1
    - Dst: Result::unwrap
      Src: /src/image-png/examples/corpus-bench.rs:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 5
    argNames:
    - args
    - dimensions
    - color_type
    - bit_depth
    - image
    argTypes:
    - '&Args'
    - (u32, u32)
    - png::ColorType
    - png::BitDepth
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 27
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: run_encode
    functionSourceFile: /src/image-png/examples/corpus-bench.rs
    functionUses: 0
    functionsReached:
    - Encoder::finish
    - Encoder::write_header
    - Vec::new
    - Encoder::set_compression
    - Encoder::set_color
    - png::Encoder::new
    - Result::unwrap
    - Encoder::set_filter
    - Encoder::set_depth
    - Encoder::write_image_data
    linkageType: ''
    returnType: Vec
    signature: 'fn run_encode(args: &Args,dimensions: (u32, u32),color_type: png::ColorType,bit_depth:
      png::BitDepth,image: &[u8],) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder::new
      Src: /src/image-png/examples/corpus-bench.rs:65,1
    - Dst: Cursor::new
      Src: /src/image-png/examples/corpus-bench.rs:65,1
    - Dst: Decoder::read_info
      Src: /src/image-png/examples/corpus-bench.rs:65,1
    - Dst: Result::unwrap
      Src: /src/image-png/examples/corpus-bench.rs:65,1
    - Dst: Reader::next_frame
      Src: /src/image-png/examples/corpus-bench.rs:66,1
    - Dst: Result::unwrap
      Src: /src/image-png/examples/corpus-bench.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - image
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 20
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: run_decode
    functionSourceFile: /src/image-png/examples/corpus-bench.rs
    functionUses: 0
    functionsReached:
    - Decoder::new
    - Decoder::read_info
    - Reader::next_frame
    - Result::unwrap
    - Cursor::new
    linkageType: ''
    returnType: void
    signature: 'fn run_decode(image: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::args
      Src: /src/image-png/examples/pngcheck.rs:12,1
    - Dst: Matches::collect
      Src: /src/image-png/examples/pngcheck.rs:12,1
    - Dst: Options::new
      Src: /src/image-png/examples/pngcheck.rs:13,1
    - Dst: Self::optflag
      Src: /src/image-png/examples/pngcheck.rs:14,1
    - Dst: optflag
      Src: /src/image-png/examples/pngcheck.rs:14,1
    - Dst: optflag
      Src: /src/image-png/examples/pngcheck.rs:14,1
    - Dst: optflag
      Src: /src/image-png/examples/pngcheck.rs:14,1
    - Dst: parsing_style
      Src: /src/image-png/examples/pngcheck.rs:14,1
    - Dst: Matches::len
      Src: /src/image-png/examples/pngcheck.rs:23,1
    - Dst: Self::parse
      Src: /src/image-png/examples/pngcheck.rs:24,1
    - Dst: std::process::exit
      Src: /src/image-png/examples/pngcheck.rs:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 11
    functionDepth: 21
    functionLinenumber: 11
    functionLinenumberEnd: 31
    functionName: parse_args
    functionSourceFile: /src/image-png/examples/pngcheck.rs
    functionUses: 1
    functionsReached:
    - Self::optflag
    - Options::new
    - Matches::collect
    - parsing_style
    - Matches::len
    - optflag
    - Self::parse
    - std::process::exit
    - env::args
    linkageType: ''
    returnType: Matches
    signature: fn parse_args() -> Matches
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: display_interlaced
    functionSourceFile: /src/image-png/examples/pngcheck.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: 'fn display_interlaced(i: bool) -> &''static str'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - bits
    - color
    argTypes:
    - u8
    - png::ColorType
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: display_image_type
    functionSourceFile: /src/image-png/examples/pngcheck.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn display_image_type(bits: u8, color: png::ColorType) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/image-png/examples/pngcheck.rs:67,1
    - Dst: u8::from
      Src: /src/image-png/examples/pngcheck.rs:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - trns
    argTypes:
    - png::ColorType
    - bool
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: final_channels
    functionSourceFile: /src/image-png/examples/pngcheck.rs
    functionUses: 0
    functionsReached:
    - u8::from
    linkageType: ''
    returnType: u8
    signature: 'fn final_channels(c: png::ColorType, trns: bool) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::stdout
      Src: /src/image-png/examples/pngcheck.rs:77,1
    - Dst: io::BufReader::new
      Src: /src/image-png/examples/pngcheck.rs:79,1
    - Dst: File::open
      Src: /src/image-png/examples/pngcheck.rs:79,1
    - Dst: P::as_ref
      Src: /src/image-png/examples/pngcheck.rs:80,1
    - Dst: to_string_lossy
      Src: /src/image-png/examples/pngcheck.rs:80,1
    - Dst: Reader::read
      Src: /src/image-png/examples/pngcheck.rs:81,1
    - Dst: png::StreamingDecoder::new
      Src: /src/image-png/examples/pngcheck.rs:84,1
    - Dst: std::io::stderr
      Src: /src/image-png/examples/pngcheck.rs:105,1
    - Dst: Ok
      Src: /src/image-png/examples/pngcheck.rs:117,1
    - Dst: UnfilterBuf::is_empty
      Src: /src/image-png/examples/pngcheck.rs:126,1
    - Dst: Reader::read
      Src: /src/image-png/examples/pngcheck.rs:129,1
    - Dst: StreamingDecoder::update
      Src: /src/image-png/examples/pngcheck.rs:138,1
    - Dst: display_error
      Src: /src/image-png/examples/pngcheck.rs:142,1
    - Dst: png::DecodingError::IoError
      Src: /src/image-png/examples/pngcheck.rs:142,1
    - Dst: io::Error::new
      Src: /src/image-png/examples/pngcheck.rs:142,1
    - Dst: display_error
      Src: /src/image-png/examples/pngcheck.rs:259,1
    - Dst: StreamingDecoder::info
      Src: /src/image-png/examples/pngcheck.rs:266,1
    - Dst: Option::unwrap
      Src: /src/image-png/examples/pngcheck.rs:266,1
    - Dst: StreamingDecoder::info
      Src: /src/image-png/examples/pngcheck.rs:271,1
    - Dst: Option::unwrap
      Src: /src/image-png/examples/pngcheck.rs:271,1
    - Dst: Result::clone
      Src: /src/image-png/examples/pngcheck.rs:272,1
    - Dst: decompress_text
      Src: /src/image-png/examples/pngcheck.rs:273,1
    - Dst: StreamingDecoder::info
      Src: /src/image-png/examples/pngcheck.rs:278,1
    - Dst: Option::unwrap
      Src: /src/image-png/examples/pngcheck.rs:278,1
    - Dst: Result::clone
      Src: /src/image-png/examples/pngcheck.rs:279,1
    - Dst: decompress_text
      Src: /src/image-png/examples/pngcheck.rs:280,1
    - Dst: Ok
      Src: /src/image-png/examples/pngcheck.rs:285,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 185
    argCount: 2
    argNames:
    - c
    - fname
    argTypes:
    - Config
    - P
    constantsTouched: []
    func_position:
      end: 286
      start: 74
    functionDepth: 15
    functionLinenumber: 74
    functionLinenumberEnd: 286
    functionName: check_image
    functionSourceFile: /src/image-png/examples/pngcheck.rs
    functionUses: 1
    functionsReached:
    - StreamingDecoder::info
    - P::as_ref
    - File::open
    - to_string_lossy
    - std::io::stdout
    - display_error
    - Result::clone
    - std::io::stderr
    - png::DecodingError::IoError
    - io::Error::new
    - decompress_text
    - StreamingDecoder::update
    - UnfilterBuf::is_empty
    - io::BufReader::new
    - Option::unwrap
    - Reader::read
    - png::StreamingDecoder::new
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn check_image<P: AsRef<Path>>(c: Config, fname: P) -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/image-png/benches/adam7.rs:16,1
    - Dst: iter
      Src: /src/image-png/benches/adam7.rs:17,1
    - Dst: bench_group_expand_full
      Src: /src/image-png/benches/adam7.rs:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 26
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: expand_all
    functionSourceFile: /src/image-png/benches/adam7.rs
    functionUses: 0
    functionsReached:
    - iter
    - bench_group_expand_full
    linkageType: ''
    returnType: void
    signature: 'fn expand_all(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_group
      Src: /src/image-png/benches/adam7.rs:27,1
    - Dst: throughput
      Src: /src/image-png/benches/adam7.rs:29,1
    - Dst: Throughput::Bytes
      Src: /src/image-png/benches/adam7.rs:29,1
    - Dst: u64::from
      Src: /src/image-png/benches/adam7.rs:30,1
    - Dst: u64::from
      Src: /src/image-png/benches/adam7.rs:30,1
    - Dst: u64::from
      Src: /src/image-png/benches/adam7.rs:30,1
    - Dst: div_ceil
      Src: /src/image-png/benches/adam7.rs:30,1
    - Dst: usize::from
      Src: /src/image-png/benches/adam7.rs:33,1
    - Dst: div_ceil
      Src: /src/image-png/benches/adam7.rs:33,1
    - Dst: core::cell::RefCell::new
      Src: /src/image-png/benches/adam7.rs:35,1
    - Dst: core::hint::black_box
      Src: /src/image-png/benches/adam7.rs:36,1
    - Dst: bench_with_input
      Src: /src/image-png/benches/adam7.rs:38,1
    - Dst: iter
      Src: /src/image-png/benches/adam7.rs:39,1
    - Dst: png::benchable_apis::adam7
      Src: /src/image-png/benches/adam7.rs:39,1
    - Dst: borrow_mut
      Src: /src/image-png/benches/adam7.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 3
    argNames:
    - c
    - sz
    - bpp
    argTypes:
    - '&mut Criterion'
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 26
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: bench_group_expand_full
    functionSourceFile: /src/image-png/benches/adam7.rs
    functionUses: 1
    functionsReached:
    - throughput
    - core::hint::black_box
    - usize::from
    - bench_with_input
    - u64::from
    - png::benchable_apis::adam7
    - borrow_mut
    - div_ceil
    - benchmark_group
    - core::cell::RefCell::new
    - iter
    - Throughput::Bytes
    linkageType: ''
    returnType: void
    signature: 'fn bench_group_expand_full(c: &mut Criterion, sz: u32, bpp: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/image-png/benches/unfilter.rs:18,1
    - Dst: iter
      Src: /src/image-png/benches/unfilter.rs:19,1
    - Dst: bench_unfilter
      Src: /src/image-png/benches/unfilter.rs:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 26
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: unfilter_all
    functionSourceFile: /src/image-png/benches/unfilter.rs
    functionUses: 0
    functionsReached:
    - bench_unfilter
    - iter
    linkageType: ''
    returnType: void
    signature: 'fn unfilter_all(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut_slice
      Src: /src/image-png/benches/unfilter.rs:34,1
    - Dst: try_fill
      Src: /src/image-png/benches/unfilter.rs:34,1
    - Dst: unwrap
      Src: /src/image-png/benches/unfilter.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rng
    - n
    argTypes:
    - '&mut R'
    - usize
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: b::e::n::c::h::_::u::n::f::i::l::t::e::r::get_random_bytes
    functionSourceFile: /src/image-png/benches/unfilter.rs
    functionUses: 0
    functionsReached:
    - try_fill
    - unwrap
    - as_mut_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn get_random_bytes<R: Rng>(rng: &mut R, n: usize) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_group
      Src: /src/image-png/benches/unfilter.rs:29,1
    - Dst: rand::thread_rng
      Src: /src/image-png/benches/unfilter.rs:37,1
    - Dst: get_random_bytes
      Src: /src/image-png/benches/unfilter.rs:39,1
    - Dst: throughput
      Src: /src/image-png/benches/unfilter.rs:41,1
    - Dst: Throughput::Bytes
      Src: /src/image-png/benches/unfilter.rs:41,1
    - Dst: bench_with_input
      Src: /src/image-png/benches/unfilter.rs:42,1
    - Dst: Vec::split_at
      Src: /src/image-png/benches/unfilter.rs:46,1
    - Dst: Result::to_vec
      Src: /src/image-png/benches/unfilter.rs:47,1
    - Dst: iter
      Src: /src/image-png/benches/unfilter.rs:48,1
    - Dst: png::benchable_apis::unfilter
      Src: /src/image-png/benches/unfilter.rs:48,1
    - Dst: Result::as_mut_slice
      Src: /src/image-png/benches/unfilter.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 3
    argNames:
    - c
    - filter
    - bpp
    argTypes:
    - '&mut Criterion'
    - Filter
    - u8
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 26
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: bench_unfilter
    functionSourceFile: /src/image-png/benches/unfilter.rs
    functionUses: 1
    functionsReached:
    - throughput
    - png::benchable_apis::unfilter
    - rand::thread_rng
    - bench_with_input
    - Result::as_mut_slice
    - get_random_bytes
    - benchmark_group
    - iter
    - Result::to_vec
    - Throughput::Bytes
    - Vec::split_at
    linkageType: ''
    returnType: void
    signature: 'fn bench_unfilter(c: &mut Criterion, filter: Filter, bpp: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_group
      Src: /src/image-png/benches/decoder.rs:12,1
    - Dst: fs::read_dir
      Src: /src/image-png/benches/decoder.rs:13,1
    - Dst: unwrap
      Src: /src/image-png/benches/decoder.rs:13,1
    - Dst: flatten
      Src: /src/image-png/benches/decoder.rs:13,1
    - Dst: path
      Src: /src/image-png/benches/decoder.rs:14,1
    - Dst: extension
      Src: /src/image-png/benches/decoder.rs:14,1
    - Dst: fs::read
      Src: /src/image-png/benches/decoder.rs:19,1
    - Dst: path
      Src: /src/image-png/benches/decoder.rs:19,1
    - Dst: unwrap
      Src: /src/image-png/benches/decoder.rs:19,1
    - Dst: bench_file
      Src: /src/image-png/benches/decoder.rs:20,1
    - Dst: file_name
      Src: /src/image-png/benches/decoder.rs:20,1
    - Dst: into_string
      Src: /src/image-png/benches/decoder.rs:20,1
    - Dst: unwrap
      Src: /src/image-png/benches/decoder.rs:20,1
    - Dst: finish
      Src: /src/image-png/benches/decoder.rs:22,1
    - Dst: benchmark_group
      Src: /src/image-png/benches/decoder.rs:25,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:26,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:27,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:28,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:29,1
    - Dst: finish
      Src: /src/image-png/benches/decoder.rs:30,1
    - Dst: benchmark_group
      Src: /src/image-png/benches/decoder.rs:33,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:34,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:35,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:36,1
    - Dst: finish
      Src: /src/image-png/benches/decoder.rs:37,1
    - Dst: benchmark_group
      Src: /src/image-png/benches/decoder.rs:40,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:41,1
    - Dst: bench_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:42,1
    - Dst: finish
      Src: /src/image-png/benches/decoder.rs:43,1
    - Dst: benchmark_group
      Src: /src/image-png/benches/decoder.rs:46,1
    - Dst: Vec::new
      Src: /src/image-png/benches/decoder.rs:47,1
    - Dst: test_utils::write_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:48,1
    - Dst: bench_read_row
      Src: /src/image-png/benches/decoder.rs:49,1
    - Dst: finish
      Src: /src/image-png/benches/decoder.rs:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 88
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 51
      start: 11
    functionDepth: 22
    functionLinenumber: 11
    functionLinenumberEnd: 51
    functionName: load_all
    functionSourceFile: /src/image-png/benches/decoder.rs
    functionUses: 0
    functionsReached:
    - bench_read_row
    - unwrap
    - extension
    - fs::read
    - into_string
    - path
    - fs::read_dir
    - bench_noncompressed_png
    - benchmark_group
    - file_name
    - flatten
    - bench_file
    - test_utils::write_noncompressed_png
    - finish
    - Vec::new
    linkageType: ''
    returnType: void
    signature: 'fn load_all(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/image-png/benches/decoder.rs:57,1
    - Dst: test_utils::write_noncompressed_png
      Src: /src/image-png/benches/decoder.rs:58,1
    - Dst: bench_file
      Src: /src/image-png/benches/decoder.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - g
    - size
    - idat_bytes
    argTypes:
    - '&mut BenchmarkGroup<WallTime>'
    - u32
    - usize
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 26
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: bench_noncompressed_png
    functionSourceFile: /src/image-png/benches/decoder.rs
    functionUses: 1
    functionsReached:
    - bench_file
    - test_utils::write_noncompressed_png
    - Vec::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_noncompressed_png(g: &mut BenchmarkGroup<WallTime>, size:
      u32, idat_bytes: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/image-png/benches/decoder.rs:64,1
    - Dst: sample_size
      Src: /src/image-png/benches/decoder.rs:65,1
    - Dst: create_reader
      Src: /src/image-png/benches/decoder.rs:68,1
    - Dst: Result::as_slice
      Src: /src/image-png/benches/decoder.rs:68,1
    - Dst: Reader::next_frame
      Src: /src/image-png/benches/decoder.rs:70,1
    - Dst: Result::unwrap
      Src: /src/image-png/benches/decoder.rs:70,1
    - Dst: throughput
      Src: /src/image-png/benches/decoder.rs:72,1
    - Dst: Throughput::Bytes
      Src: /src/image-png/benches/decoder.rs:72,1
    - Dst: Result::buffer_size
      Src: /src/image-png/benches/decoder.rs:72,1
    - Dst: bench_with_input
      Src: /src/image-png/benches/decoder.rs:73,1
    - Dst: iter
      Src: /src/image-png/benches/decoder.rs:74,1
    - Dst: create_reader
      Src: /src/image-png/benches/decoder.rs:75,1
    - Dst: Result::as_slice
      Src: /src/image-png/benches/decoder.rs:75,1
    - Dst: Reader::next_frame
      Src: /src/image-png/benches/decoder.rs:76,1
    - Dst: Result::unwrap
      Src: /src/image-png/benches/decoder.rs:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 3
    argNames:
    - g
    - data
    - name
    argTypes:
    - '&mut BenchmarkGroup<WallTime>'
    - Vec<u8>
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 21
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: bench_file
    functionSourceFile: /src/image-png/benches/decoder.rs
    functionUses: 2
    functionsReached:
    - Result::as_slice
    - throughput
    - Result::len
    - bench_with_input
    - Result::unwrap
    - iter
    - Result::buffer_size
    - create_reader
    - Reader::next_frame
    - Throughput::Bytes
    - sample_size
    linkageType: ''
    returnType: void
    signature: 'fn bench_file(g: &mut BenchmarkGroup<WallTime>, data: Vec<u8>, name:
      String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_reader
      Src: /src/image-png/benches/decoder.rs:83,1
    - Dst: Result::as_slice
      Src: /src/image-png/benches/decoder.rs:83,1
    - Dst: Reader::output_line_size
      Src: /src/image-png/benches/decoder.rs:85,1
    - Dst: Reader::info
      Src: /src/image-png/benches/decoder.rs:85,1
    - Dst: Option::unwrap
      Src: /src/image-png/benches/decoder.rs:85,1
    - Dst: throughput
      Src: /src/image-png/benches/decoder.rs:86,1
    - Dst: Throughput::Bytes
      Src: /src/image-png/benches/decoder.rs:86,1
    - Dst: Result::len
      Src: /src/image-png/benches/decoder.rs:86,1
    - Dst: bench_with_input
      Src: /src/image-png/benches/decoder.rs:87,1
    - Dst: iter
      Src: /src/image-png/benches/decoder.rs:88,1
    - Dst: create_reader
      Src: /src/image-png/benches/decoder.rs:89,1
    - Dst: Result::as_slice
      Src: /src/image-png/benches/decoder.rs:89,1
    - Dst: Result::chunks_exact_mut
      Src: /src/image-png/benches/decoder.rs:91,1
    - Dst: Reader::read_row
      Src: /src/image-png/benches/decoder.rs:92,1
    - Dst: Result::unwrap
      Src: /src/image-png/benches/decoder.rs:92,1
    - Dst: unwrap
      Src: /src/image-png/benches/decoder.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 3
    argNames:
    - g
    - data
    - name
    argTypes:
    - '&mut BenchmarkGroup<WallTime>'
    - Vec<u8>
    - '&str'
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 21
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: bench_read_row
    functionSourceFile: /src/image-png/benches/decoder.rs
    functionUses: 1
    functionsReached:
    - Result::as_slice
    - throughput
    - unwrap
    - Reader::read_row
    - Result::len
    - Result::chunks_exact_mut
    - bench_with_input
    - Result::unwrap
    - Reader::output_line_size
    - iter
    - Option::unwrap
    - create_reader
    - Reader::info
    - Throughput::Bytes
    linkageType: ''
    returnType: void
    signature: 'fn bench_read_row(g: &mut BenchmarkGroup<WallTime>, data: Vec<u8>,
      name: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder::new
      Src: /src/image-png/benches/decoder.rs:99,1
    - Dst: Cursor::new
      Src: /src/image-png/benches/decoder.rs:99,1
    - Dst: Decoder::set_transformations
      Src: /src/image-png/benches/decoder.rs:103,1
    - Dst: Decoder::read_info
      Src: /src/image-png/benches/decoder.rs:105,1
    - Dst: Result::unwrap
      Src: /src/image-png/benches/decoder.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 20
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: create_reader
    functionSourceFile: /src/image-png/benches/decoder.rs
    functionUses: 2
    functionsReached:
    - Decoder::set_transformations
    - Decoder::new
    - Decoder::read_info
    - Result::unwrap
    - Cursor::new
    linkageType: ''
    returnType: Reader
    signature: 'fn create_reader(data: &[u8]) -> Reader<Cursor<&[u8]>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: TrnsPresence::fmt
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/image-png/benches/expand_paletted.rs:43,1
    - Dst: copied
      Src: /src/image-png/benches/expand_paletted.rs:43,1
    - Dst: iter
      Src: /src/image-png/benches/expand_paletted.rs:44,1
    - Dst: copied
      Src: /src/image-png/benches/expand_paletted.rs:44,1
    - Dst: bench_expand_palette
      Src: /src/image-png/benches/expand_paletted.rs:45,1
    - Dst: bench_create_fn
      Src: /src/image-png/benches/expand_paletted.rs:49,1
    - Dst: bench_create_fn
      Src: /src/image-png/benches/expand_paletted.rs:50,1
    - Dst: bench_create_fn
      Src: /src/image-png/benches/expand_paletted.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 26
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: expand_paletted_all
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 0
    functionsReached:
    - bench_create_fn
    - iter
    - bench_expand_palette
    - copied
    linkageType: ''
    returnType: void
    signature: 'fn expand_paletted_all(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut_slice
      Src: /src/image-png/benches/expand_paletted.rs:60,1
    - Dst: try_fill
      Src: /src/image-png/benches/expand_paletted.rs:60,1
    - Dst: unwrap
      Src: /src/image-png/benches/expand_paletted.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rng
    - n
    argTypes:
    - '&mut R'
    - usize
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: get_random_bytes
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 3
    functionsReached:
    - try_fill
    - unwrap
    - as_mut_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn get_random_bytes<R: Rng>(rng: &mut R, n: usize) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::thread_rng
      Src: /src/image-png/benches/expand_paletted.rs:73,1
    - Dst: get_random_bytes
      Src: /src/image-png/benches/expand_paletted.rs:80,1
    - Dst: min
      Src: /src/image-png/benches/expand_paletted.rs:80,1
    - Dst: Some
      Src: /src/image-png/benches/expand_paletted.rs:83,1
    - Dst: get_random_bytes
      Src: /src/image-png/benches/expand_paletted.rs:83,1
    - Dst: min
      Src: /src/image-png/benches/expand_paletted.rs:83,1
    - Dst: get_random_bytes
      Src: /src/image-png/benches/expand_paletted.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - trns
    - src_bit_depth
    - input_size_in_bytes
    argTypes:
    - TrnsPresence
    - u8
    - usize
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: Input::new
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 1
    functionsReached:
    - min
    - rand::thread_rng
    - Some
    - get_random_bytes
    linkageType: ''
    returnType: Self
    signature: 'fn new(trns: TrnsPresence, src_bit_depth: u8, input_size_in_bytes:
      usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/image-png/benches/expand_paletted.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 21
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: Input::output_size_in_bytes
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: fn output_size_in_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: png::benchable_apis::create_info_from_plte_trns_bitdepth
      Src: /src/image-png/benches/expand_paletted.rs:106,1
    - Dst: as_deref
      Src: /src/image-png/benches/expand_paletted.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Input::to_info
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 0
    functionsReached:
    - png::benchable_apis::create_info_from_plte_trns_bitdepth
    - as_deref
    linkageType: ''
    returnType: Info
    signature: fn to_info(&self) -> Info
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: png::benchable_apis::create_transform_fn
      Src: /src/image-png/benches/expand_paletted.rs:112,1
    - Dst: Result::unwrap
      Src: /src/image-png/benches/expand_paletted.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&Info'
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: create_expand_palette_fn
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 2
    functionsReached:
    - png::benchable_apis::create_transform_fn
    - Result::unwrap
    linkageType: ''
    returnType: TransformFn
    signature: 'fn create_expand_palette_fn(info: &Info) -> TransformFn'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_group
      Src: /src/image-png/benches/expand_paletted.rs:116,1
    - Dst: sample_size
      Src: /src/image-png/benches/expand_paletted.rs:117,1
    - Dst: rand::thread_rng
      Src: /src/image-png/benches/expand_paletted.rs:119,1
    - Dst: get_random_bytes
      Src: /src/image-png/benches/expand_paletted.rs:120,1
    - Dst: get_random_bytes
      Src: /src/image-png/benches/expand_paletted.rs:121,1
    - Dst: png::benchable_apis::create_info_from_plte_trns_bitdepth
      Src: /src/image-png/benches/expand_paletted.rs:122,1
    - Dst: Some
      Src: /src/image-png/benches/expand_paletted.rs:122,1
    - Dst: bench_with_input
      Src: /src/image-png/benches/expand_paletted.rs:123,1
    - Dst: iter
      Src: /src/image-png/benches/expand_paletted.rs:127,1
    - Dst: create_expand_palette_fn
      Src: /src/image-png/benches/expand_paletted.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 3
    argNames:
    - c
    - plte_size
    - trns_size
    argTypes:
    - '&mut Criterion'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 26
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: bench_create_fn
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 1
    functionsReached:
    - rand::thread_rng
    - create_expand_palette_fn
    - Some
    - bench_with_input
    - get_random_bytes
    - png::benchable_apis::create_info_from_plte_trns_bitdepth
    - benchmark_group
    - iter
    - sample_size
    linkageType: ''
    returnType: void
    signature: 'fn bench_create_fn(c: &mut Criterion, plte_size: usize, trns_size:
      usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_group
      Src: /src/image-png/benches/expand_paletted.rs:138,1
    - Dst: Input::new
      Src: /src/image-png/benches/expand_paletted.rs:140,1
    - Dst: create_expand_palette_fn
      Src: /src/image-png/benches/expand_paletted.rs:141,1
    - Dst: Result::to_info
      Src: /src/image-png/benches/expand_paletted.rs:141,1
    - Dst: throughput
      Src: /src/image-png/benches/expand_paletted.rs:142,1
    - Dst: Throughput::Bytes
      Src: /src/image-png/benches/expand_paletted.rs:142,1
    - Dst: Result::output_size_in_bytes
      Src: /src/image-png/benches/expand_paletted.rs:142,1
    - Dst: sample_size
      Src: /src/image-png/benches/expand_paletted.rs:143,1
    - Dst: bench_with_input
      Src: /src/image-png/benches/expand_paletted.rs:144,1
    - Dst: Result::to_info
      Src: /src/image-png/benches/expand_paletted.rs:149,1
    - Dst: iter
      Src: /src/image-png/benches/expand_paletted.rs:150,1
    - Dst: transform_fn
      Src: /src/image-png/benches/expand_paletted.rs:151,1
    - Dst: as_slice
      Src: /src/image-png/benches/expand_paletted.rs:151,1
    - Dst: as_mut_slice
      Src: /src/image-png/benches/expand_paletted.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 4
    argNames:
    - c
    - trns
    - src_bit_depth
    - input_size_in_bytes
    argTypes:
    - '&mut Criterion'
    - TrnsPresence
    - u8
    - usize
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 22
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: bench_expand_palette
    functionSourceFile: /src/image-png/benches/expand_paletted.rs
    functionUses: 1
    functionsReached:
    - throughput
    - Result::to_info
    - create_expand_palette_fn
    - bench_with_input
    - Result::output_size_in_bytes
    - benchmark_group
    - Input::new
    - iter
    - as_slice
    - transform_fn
    - Throughput::Bytes
    - as_mut_slice
    - sample_size
    linkageType: ''
    returnType: void
    signature: 'fn bench_expand_palette(c: &mut Criterion,trns: TrnsPresence,src_bit_depth:
      u8,input_size_in_bytes: usize,)'
Fuzzer filename: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - issue_430
  source_file: /src/image-png/tests/bugfixes.rs
- function_names:
  - process_images
  - render_images
  - render_images_identity
  - render_images_alpha
  - apng_images
  - normalize_path
  source_file: /src/image-png/tests/check_testimages.rs
- function_names:
  - Adam7Info::new
  - Adam7Info::pass_constants
  - Adam7Info::splat_pixel_repeat
  - Adam7Info::splat_line_repeat
  - PassConstants::splat_x_repeat
  - PassConstants::splat_y_repeat
  - PassConstants::count_samples
  - PassConstants::count_lines
  - Adam7Iterator::new
  - Adam7Iterator::init_pass
  - Adam7Iterator::next
  - subbyte_values
  - expand_adam7_bits
  - expand_adam7_bytes
  - expand_pass
  - e::x::p::a::n::d::_::p::a::s::s::_::s::p::l::a::t::expand_bits_to_img
  - expand_pass_splat
  - tests::test_adam7
  - tests::test_subbyte_pixels
  - tests::test_expand_adam7_bits
  - tests::test_expand_adam7_bits_independent_row_stride
  - tests::test_expand_pass_subbyte
  - tests::test_expand_pass_splat_4bpp
  - tests::adam7_equivalence
  - tests::test_expand_pass_splat_1bpp
  - t::e::s::t::s::::::::r::e::g::r::e::s::s::i::o::n::_::o::v::e::r::f::l::o::w::_::a::d::a::m::7::_::b::i::t::f::i::l::l::multibyte_expand_pass_test_helper
  - tests::regression_overflow_adam7_bitfill
  - tests::create_adam7_info_for_tests
  source_file: /src/image-png/src/adam7.rs
- function_names:
  - write_noncompressed_png
  - write_png_sig
  - write_chunk
  - write_rgba8_ihdr_with_width
  - generate_rgba8_with_width_and_height
  - write_rgba8_idats
  - write_iend
  source_file: /src/image-png/src/test_utils.rs
- function_names:
  - Filter::default
  - Filter::from
  - Filter::from_simple
  - RowFilter::default
  - RowFilter::from_u8
  - RowFilter::from_method
  - filter_paeth
  - filter_paeth_stbi
  - filter_paeth_fpnge
  - unfilter
  - filter_internal
  - filter
  - sum_buffer
  - test::roundtrip
  - test::paeth_impls_are_equivalent
  - test::roundtrip_ascending_previous_line
  - test::sum_buffer_test
  source_file: /src/image-png/src/filter.rs
- function_names:
  - read_bytes_ext
  - write_bytes_ext
  source_file: /src/image-png/src/traits.rs
- function_names:
  - EncodingError::cause
  - EncodingError::fmt
  - FormatError::fmt
  - EncodingError::from
  - io::Error::from
  - FormatError::from
  - EncodingError::from
  - Encoder::new
  - Encoder::with_info
  - Encoder::set_animated
  - Encoder::set_sep_def_img
  - Encoder::set_palette
  - Encoder::set_trns
  - Encoder::set_source_gamma
  - Encoder::set_source_chromaticities
  - Encoder::set_source_srgb
  - Encoder::write_header
  - Encoder::set_color
  - Encoder::set_depth
  - Encoder::set_compression
  - Encoder::set_deflate_compression
  - Encoder::set_filter
  - Encoder::set_frame_delay
  - Encoder::set_blend_op
  - Encoder::set_dispose_op
  - Encoder::set_pixel_dims
  - Encoder::add_text_chunk
  - Encoder::add_ztxt_chunk
  - Encoder::add_itxt_chunk
  - Encoder::validate_sequence
  - PartialInfo::new
  - PartialInfo::bpp_in_prediction
  - PartialInfo::bytes_per_pixel
  - PartialInfo::raw_row_length
  - PartialInfo::raw_row_length_from_width
  - write_chunk
  - Writer::new
  - Writer::init
  - Writer::encode_header
  - Writer::write_chunk
  - Writer::write_text_chunk
  - Writer::write_iccp_chunk
  - Writer::validate_new_image
  - Writer::validate_sequence_done
  - Writer::write_image_data
  - Writer::increment_images_written
  - Writer::write_iend
  - Writer::should_skip_frame_control_on_default_image
  - Writer::write_zlib_encoded_idat
  - Writer::set_filter
  - Writer::set_frame_delay
  - Writer::set_frame_dimension
  - Writer::set_frame_position
  - Writer::reset_frame_dimension
  - Writer::reset_frame_position
  - Writer::set_blend_op
  - Writer::set_dispose_op
  - Writer::stream_writer
  - Writer::stream_writer_with_size
  - Writer::into_stream_writer
  - Writer::into_stream_writer_with_size
  - Writer::finish
  - Writer::drop
  - ChunkOutput::deref
  - ChunkOutput::deref_mut
  - ChunkWriter::new
  - ChunkWriter::next_frame_info
  - ChunkWriter::write_header
  - ChunkWriter::set_fctl
  - ChunkWriter::flush_inner
  - ChunkWriter::write
  - ChunkWriter::flush
  - ChunkWriter::drop
  - Wrapper::from_level
  - Wrapper::take
  - StreamWriter::new
  - StreamWriter::set_filter
  - StreamWriter::set_frame_delay
  - StreamWriter::set_frame_dimension
  - StreamWriter::set_frame_position
  - StreamWriter::reset_frame_dimension
  - StreamWriter::reset_frame_position
  - StreamWriter::set_blend_op
  - StreamWriter::set_dispose_op
  - StreamWriter::finish
  - StreamWriter::finish_mut
  - StreamWriter::new_frame
  - StreamWriter::write
  - StreamWriter::flush
  - StreamWriter::drop
  - tests::roundtrip1
  - tests::roundtrip2
  - tests::roundtrip_inner
  - tests::roundtrip_stream1
  - tests::roundtrip_stream2
  - tests::roundtrip_stream_inner
  - tests::image_palette
  - tests::expect_error_on_wrong_image_len
  - tests::expect_error_on_empty_image
  - tests::expect_error_on_invalid_bit_depth_color_type_combination
  - tests::can_write_header_with_valid_bit_depth_color_type_combination
  - tests::all_filters_roundtrip
  - tests::some_gamma_roundtrip
  - tests::write_image_chunks_beyond_first
  - tests::image_validate_sequence_without_animation
  - tests::image_validate_animation
  - tests::image_validate_animation2
  - tests::image_validate_animation_sep_def_image
  - tests::image_validate_missing_image
  - tests::image_validate_missing_animated_frame
  - tests::issue_307_stream_validation
  - tests::stream_filtering
  - tests::test_stream_flushing
  - tests::stream_flushing_with_high_compression
  - tests::stream_flushing_with_balanced_compression
  - tests::stream_flushing_with_fast_compression
  - tests::stream_flushing_with_fastest_compression
  - tests::stream_flushing_with_no_compression
  - tests::exper_error_on_huge_chunk
  - tests::exper_error_on_non_u32_chunk
  - tests::finish_drops_inner_writer
  source_file: /src/image-png/src/encoder.rs
- function_names:
  - decode_iso_8859_1
  - encode_iso_8859_1
  - encode_iso_8859_1_into
  - encode_iso_8859_1_iter
  - decode_ascii
  - TEXtChunk::new
  - TEXtChunk::decode
  - TEXtChunk::encode
  - ZTXtChunk::new
  - ZTXtChunk::decode
  - ZTXtChunk::decompress_text
  - ZTXtChunk::decompress_text_with_limit
  - ZTXtChunk::get_text
  - ZTXtChunk::compress_text
  - ZTXtChunk::encode
  - ITXtChunk::new
  - ITXtChunk::decode
  - ITXtChunk::decompress_text
  - ITXtChunk::decompress_text_with_limit
  - ITXtChunk::get_text
  - ITXtChunk::compress_text
  - ITXtChunk::encode
  source_file: /src/image-png/src/text_metadata.rs
- function_names:
  - ColorType::samples
  - ColorType::samples_u8
  - ColorType::from_u8
  - ColorType::checked_raw_row_length
  - ColorType::raw_row_length_from_width
  - ColorType::is_combination_invalid
  - ColorType::bits_per_pixel
  - ColorType::bytes_per_pixel
  - BitDepth::from_u8
  - BitDepth::into_u8
  - Unit::from_u8
  - DisposeOp::from_u8
  - DisposeOp::fmt
  - BlendOp::from_u8
  - BlendOp::fmt
  - FrameControl::default
  - FrameControl::set_seq_num
  - FrameControl::inc_seq_num
  - FrameControl::encode
  - AnimationControl::encode
  - Compression::default
  - DeflateCompression::default
  - DeflateCompression::from_simple
  - ScaledFloat::in_range
  - ScaledFloat::exact
  - ScaledFloat::forward
  - ScaledFloat::reverse
  - ScaledFloat::new
  - ScaledFloat::from_scaled
  - ScaledFloat::into_scaled
  - ScaledFloat::into_value
  - ScaledFloat::encode_gama
  - SourceChromaticities::new
  - SourceChromaticities::to_be_bytes
  - SourceChromaticities::encode
  - SrgbRenderingIntent::into_raw
  - SrgbRenderingIntent::from_raw
  - SrgbRenderingIntent::encode
  - Info::default
  - Info::with_size
  - Info::size
  - Info::is_animated
  - Info::animation_control
  - Info::frame_control
  - Info::bits_per_pixel
  - Info::bytes_per_pixel
  - Info::bpp_in_prediction
  - Info::raw_bytes
  - Info::raw_row_length
  - Info::checked_raw_row_length
  - Info::raw_row_length_from_width
  - Info::gamma
  - Info::chromaticities
  - Info::set_source_srgb
  - BytesPerPixel::from_usize
  - BytesPerPixel::into_usize
  - Transformations::normalize_to_color8
  - Transformations::default
  - ParameterError::from
  - ParameterError::fmt
  source_file: /src/image-png/src/common.rs
- function_names:
  - unfilter
  - a::d::a::m::7::bytes_of_width
  - adam7
  - create_info_from_plte_trns_bitdepth
  source_file: /src/image-png/src/benchable_apis.rs
- function_names: []
  source_file: /src/image-png/src/lib.rs
- function_names:
  - substitute_gamma
  - substitute_chromaticities
  source_file: /src/image-png/src/srgb.rs
- function_names:
  - is_critical
  - is_private
  - reserved_set
  - safe_to_copy
  - ChunkType::fmt
  source_file: /src/image-png/src/chunk.rs
- function_names:
  - create_transform_fn
  - copy_row
  - transform_row_strip16
  - unpack_bits
  - expand_trns_line
  - expand_trns_line16
  - expand_trns_and_strip_line16
  - expand_gray_u8
  - expand_gray_u8_with_trns
  source_file: /src/image-png/src/decoder/transform.rs
- function_names:
  - ReadDecoder::new
  - ReadDecoder::with_options
  - ReadDecoder::set_limits
  - ReadDecoder::reserve_bytes
  - ReadDecoder::set_ignore_text_chunk
  - ReadDecoder::set_ignore_iccp_chunk
  - ReadDecoder::ignore_checksums
  - ReadDecoder::decode_next
  - ReadDecoder::decode_next_without_image_data
  - ReadDecoder::decode_next_and_discard_image_data
  - ReadDecoder::read_header_info
  - ReadDecoder::read_until_image_data
  - ReadDecoder::decode_image_data
  - ReadDecoder::finish_decoding_image_data
  - ReadDecoder::read_until_end_of_input
  - ReadDecoder::info
  source_file: /src/image-png/src/decoder/read_decoder.rs
- function_names:
  - InterlaceInfo::line_number
  - InterlaceInfo::get_adam7_info
  - InterlaceInfoIter::empty
  - InterlaceInfoIter::new
  - InterlaceInfoIter::next
  - test::null
  - test::adam7
  - test::empty
  source_file: /src/image-png/src/decoder/interlace_info.rs
- function_names:
  - OutputInfo::buffer_size
  - Limits::reserve_bytes
  - Limits::default
  - InterlacedRow::data
  - InterlacedRow::interlace
  - Row::data
  - Decoder::new
  - Decoder::new_with_limits
  - Decoder::new_with_options
  - Decoder::set_limits
  - Decoder::read_header_info
  - Decoder::read_info
  - Decoder::set_transformations
  - Decoder::set_ignore_text_chunk
  - Decoder::set_ignore_iccp_chunk
  - Decoder::ignore_checksums
  - Reader::next_frame_info
  - Reader::read_until_image_data
  - Reader::info
  - Reader::next_frame
  - Reader::mark_subframe_as_consumed_and_flushed
  - Reader::finish_decoding
  - Reader::next_row
  - Reader::next_interlaced_row
  - Reader::read_row
  - Reader::output_line_size_for_interlace_info
  - Reader::finish
  - Reader::next_interlaced_row_impl
  - Reader::output_color_type
  - Reader::output_buffer_size
  - Reader::unguarded_output_line_size
  - Reader::output_line_size
  - Reader::next_raw_interlaced_row
  - SubframeInfo::not_yet_init
  - SubframeInfo::new
  source_file: /src/image-png/src/decoder/mod.rs
- function_names:
  - State::new_u32
  - DecodingError::cause
  - DecodingError::fmt
  - FormatError::fmt
  - DecodingError::from
  - DecodingError::from
  - FormatError::from
  - io::Error::from
  - DecodingError::from
  - DecodeOptions::default
  - DecodeOptions::set_ignore_adler32
  - DecodeOptions::set_ignore_crc
  - DecodeOptions::set_ignore_checksums
  - DecodeOptions::set_ignore_text_chunk
  - DecodeOptions::set_ignore_iccp_chunk
  - DecodeOptions::set_skip_ancillary_crc_failures
  - StreamingDecoder::new
  - StreamingDecoder::new_with_options
  - StreamingDecoder::reset
  - StreamingDecoder::info
  - StreamingDecoder::set_ignore_text_chunk
  - StreamingDecoder::set_ignore_iccp_chunk
  - StreamingDecoder::ignore_adler32
  - StreamingDecoder::set_ignore_adler32
  - StreamingDecoder::set_ignore_crc
  - StreamingDecoder::set_skip_ancillary_crc_failures
  - StreamingDecoder::update
  - StreamingDecoder::next_state
  - StreamingDecoder::parse_u32
  - StreamingDecoder::parse_chunk
  - StreamingDecoder::parse_fctl
  - StreamingDecoder::parse_actl
  - StreamingDecoder::parse_plte
  - StreamingDecoder::parse_sbit
  - StreamingDecoder::parse_trns
  - StreamingDecoder::parse_phys
  - StreamingDecoder::parse_chrm
  - StreamingDecoder::parse_gama
  - StreamingDecoder::parse_srgb
  - S::t::r::e::a::m::i::n::g::D::e::c::o::d::e::r::::::::p::a::r::s::e::_::c::i::c::p::parse
  - StreamingDecoder::parse_cicp
  - S::::::::t::::::::r::::::::e::::::::a::::::::m::::::::i::::::::n::::::::g::::::::D::::::::e::::::::c::::::::o::::::::d::::::::e::::::::r::::::::::::::::::::::::::p::::::::a::::::::r::::::::s::::::::e::::::::_::::::::m::::::::d::::::::c::::::::v::::::::p::a::r::s::e::scale
  - S::t::r::e::a::m::i::n::g::D::e::c::o::d::e::r::::::::p::a::r::s::e::_::m::d::c::v::parse
  - StreamingDecoder::parse_mdcv
  - S::t::r::e::a::m::i::n::g::D::e::c::o::d::e::r::::::::p::a::r::s::e::_::c::l::l::i::parse
  - StreamingDecoder::parse_clli
  - StreamingDecoder::parse_exif
  - StreamingDecoder::parse_iccp
  - StreamingDecoder::parse_iccp_raw
  - StreamingDecoder::parse_ihdr
  - StreamingDecoder::split_keyword
  - StreamingDecoder::parse_text
  - StreamingDecoder::parse_ztxt
  - StreamingDecoder::parse_itxt
  - StreamingDecoder::parse_bkgd
  - Info::validate_default_image
  - Info::validate
  - StreamingDecoder::default
  - t::e::s::t::s::::::::i::m::a::g::e::_::g::a::m::m::a::trial
  - tests::image_gamma
  - t::e::s::t::s::::::::i::m::a::g::e::_::s::o::u::r::c::e::_::c::h::r::o::m::a::t::i::c::i::t::i::e::s::trial
  - tests::image_source_chromaticities
  - t::e::s::t::s::::::::i::m::a::g::e::_::s::o::u::r::c::e::_::s::b::i::t::trial
  - tests::image_source_sbit
  - tests::test_two_iccp_chunks
  - tests::test_iccp_roundtrip
  - tests::test_phys_roundtrip
  - tests::test_srgb_roundtrip
  - tests::test_png_with_broken_iccp
  - tests::test_cicp_mdcv_and_clli_chunks
  - tests::test_exif_chunk
  - tests::test_finishing_twice
  - tests::write_actl
  - tests::write_fctl
  - tests::write_fdat
  - tests::write_fdat_prefix
  - tests::test_fdat_chunk_payload_length_0
  - tests::test_fdat_chunk_payload_length_3
  - tests::test_frame_split_across_two_fdat_chunks
  - tests::test_idat_bigger_than_image_size_from_ihdr
  - tests::test_only_idat_chunk_in_input_stream
  - tests::test_streaming_input_and_decoding_via_next_frame
  - tests::test_streaming_input_and_decoding_via_next_row
  - tests::test_streaming_input_and_reading_header_info
  - tests::create_reader_of_ihdr_idat
  - tests::create_reader_of_ihdr_actl_fctl_idat_fctl_fdat
  - tests::create_reader_of_ihdr_actl_idat_fctl_fdat_fctl_fdat
  - tests::get_fctl_sequence_number
  - tests::test_next_frame_polling_after_end_non_animated
  - tests::test_next_frame_info_polling_after_end_non_animated
  - tests::test_next_frame_polling_after_end_idat_part_of_animation
  - tests::test_next_frame_polling_after_end_idat_not_part_of_animation
  - tests::test_row_by_row_then_next_frame
  - tests::test_row_by_row_of_two_frames
  - tests::test_next_frame_info_after_next_frame
  - tests::test_next_frame_info_to_skip_first_frame
  - tests::test_incorrect_trns_chunk_is_ignored
  - tests::test_actl_num_frames_zero
  - tests::test_small_fctl
  - tests::test_invalid_text_chunk
  source_file: /src/image-png/src/decoder/stream.rs
- function_names:
  - ZlibStream::new
  - ZlibStream::reset
  - ZlibStream::set_ignore_adler32
  - ZlibStream::ignore_adler32
  - ZlibStream::decompress
  - ZlibStream::finish_compressed_chunks
  - UnfilterRegion::as_buf
  - UnfilterBuf::borrow_mut
  - UnfilterBuf::filled
  - UnfilterBuf::commit
  - UnfilterBuf::flush_allocate
  source_file: /src/image-png/src/decoder/zlib.rs
- function_names:
  - UnfilteringBuffer::debug_assert_invariants
  - UnfilteringBuffer::new
  - UnfilteringBuffer::reset_prev_row
  - UnfilteringBuffer::reset_all
  - UnfilteringBuffer::prev_row
  - UnfilteringBuffer::curr_row_len
  - UnfilteringBuffer::as_unfilled_buffer
  - UnfilteringBuffer::unfilter_curr_row
  - checked_next_multiple_of
  - next_multiple_of_backport_testsuite
  source_file: /src/image-png/src/decoder/unfiltering_buffer.rs
- function_names:
  - create_expansion_into_rgb8
  - create_expansion_into_rgba8
  - create_rgba_palette
  - expand_8bit_into_rgb8
  - expand_into_rgb8
  - expand_paletted_into_rgba8
  - test::oracle_expand_paletted_into_rgb8
  - test::oracle_expand_paletted_into_rgba8
  - test::create_info
  - test::expand_paletted
  - test::test_expand_paletted_rgba_8bit
  - test::test_expand_paletted_rgb_8bit
  - test::test_expand_paletted_rgba_4bit
  - test::test_expand_paletted_rgb_4bit
  - test::test_expand_paletted_rgba_8bit_more_trns_entries_than_palette_entries
  - test::test_expand_paletted_rgba_8bit_less_trns_entries_than_palette_entries
  - t::e::s::t::::::::t::e::s::t::_::c::r::e::a::t::e::_::r::g::b::a::_::p::a::l::e::t::t::e::create_expected_rgba_palette
  - test::test_create_rgba_palette
  source_file: /src/image-png/src/decoder/transform/palette.rs
- function_names:
  - png_decode
  - main
  source_file: /src/image-png/png-afl/src/main.rs
- function_names:
  - png_decode
  - fuzz_target
  source_file: /src/image-png/fuzz/fuzz_targets/decode.rs
- function_names:
  - fuzz_target
  - encode_png
  - decode_png
  - filter_from_u8
  - raw_row_length_from_width
  source_file: /src/image-png/fuzz/fuzz_targets/roundtrip.rs
- function_names:
  - fuzz_target
  - test_data
  - retry_after_eofs
  - assert_same_info
  - IteratorExtensionsForFuzzing::assert_all_results_are_consistent
  - IteratorExtensionsForFuzzing::assert_all_items_are_equal
  - IteratorExtensionsForFuzzing::assert_all_items_are_same
  source_file: /src/image-png/fuzz/fuzz_targets/buf_independent.rs
- function_names:
  - run_encode
  - run_decode
  - main
  source_file: /src/image-png/examples/corpus-bench.rs
- function_names:
  - main
  source_file: /src/image-png/examples/png-generate.rs
- function_names:
  - main
  source_file: /src/image-png/examples/change-png-info.rs
- function_names:
  - parse_args
  - display_interlaced
  - display_image_type
  - final_channels
  - check_image
  - main
  source_file: /src/image-png/examples/pngcheck.rs
- function_names:
  - expand_all
  - bench_group_expand_full
  source_file: /src/image-png/benches/adam7.rs
- function_names:
  - unfilter_all
  - b::e::n::c::h::_::u::n::f::i::l::t::e::r::get_random_bytes
  - bench_unfilter
  source_file: /src/image-png/benches/unfilter.rs
- function_names:
  - load_all
  - bench_noncompressed_png
  - bench_file
  - bench_read_row
  - create_reader
  source_file: /src/image-png/benches/decoder.rs
- function_names:
  - TrnsPresence::fmt
  - expand_paletted_all
  - get_random_bytes
  - Input::new
  - Input::output_size_in_bytes
  - Input::to_info
  - create_expand_palette_fn
  - bench_create_fn
  - bench_expand_palette
  source_file: /src/image-png/benches/expand_paletted.rs
