Lines Matching full:decoder
15 use crabby_avif::decoder::track::RepetitionCount;
16 use crabby_avif::decoder::CompressionFormat;
17 use crabby_avif::decoder::ImageContentType;
33 let mut decoder = get_decoder("alpha_noispe.avif"); in alpha_no_ispe() localVariable
36 decoder.settings.strictness, in alpha_no_ispe()
37 decoder::Strictness::All in alpha_no_ispe()
39 let res = decoder.parse(); in alpha_no_ispe()
42 decoder.settings.strictness = in alpha_no_ispe()
43 decoder::Strictness::SpecificExclude(vec![decoder::StrictnessFlag::AlphaIspeRequired]); in alpha_no_ispe()
44 let res = decoder.parse(); in alpha_no_ispe()
46 let image = decoder.image().expect("image was none"); in alpha_no_ispe()
52 let res = decoder.next_image(); in alpha_no_ispe()
54 let image = decoder.image().expect("image was none"); in alpha_no_ispe()
63 let mut decoder = get_decoder("colors-animated-8bpc.avif"); in animated_image() localVariable
64 let res = decoder.parse(); in animated_image()
66 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in animated_image()
67 let image = decoder.image().expect("image was none"); in animated_image()
70 assert_eq!(decoder.image_count(), 5); in animated_image()
71 assert_eq!(decoder.repetition_count(), RepetitionCount::Finite(0)); in animated_image()
73 assert_eq!(decoder.nearest_keyframe(i), 0); in animated_image()
79 assert!(decoder.next_image().is_ok()); in animated_image()
86 let mut decoder = get_decoder("colors-animated-8bpc.avif"); in animated_image_with_source_set_to_primary_item() localVariable
87 decoder.settings.source = decoder::Source::PrimaryItem; in animated_image_with_source_set_to_primary_item()
88 let res = decoder.parse(); in animated_image_with_source_set_to_primary_item()
90 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in animated_image_with_source_set_to_primary_item()
91 let image = decoder.image().expect("image was none"); in animated_image_with_source_set_to_primary_item()
97 assert_eq!(decoder.image_count(), 1); in animated_image_with_source_set_to_primary_item()
98 assert_eq!(decoder.repetition_count(), RepetitionCount::Finite(0)); in animated_image_with_source_set_to_primary_item()
103 assert!(decoder.next_image().is_ok()); in animated_image_with_source_set_to_primary_item()
106 assert!(decoder.next_image().is_err()); in animated_image_with_source_set_to_primary_item()
112 let mut decoder = get_decoder("colors-animated-8bpc-alpha-exif-xmp.avif"); in animated_image_with_alpha_and_metadata() localVariable
113 let res = decoder.parse(); in animated_image_with_alpha_and_metadata()
115 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in animated_image_with_alpha_and_metadata()
116 let image = decoder.image().expect("image was none"); in animated_image_with_alpha_and_metadata()
119 assert_eq!(decoder.image_count(), 5); in animated_image_with_alpha_and_metadata()
120 assert_eq!(decoder.repetition_count(), RepetitionCount::Infinite); in animated_image_with_alpha_and_metadata()
127 assert!(decoder.next_image().is_ok()); in animated_image_with_alpha_and_metadata()
134 let mut decoder = get_decoder("colors-animated-12bpc-keyframes-0-2-3.avif"); in keyframes() localVariable
135 let res = decoder.parse(); in keyframes()
137 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in keyframes()
138 let image = decoder.image().expect("image was none"); in keyframes()
140 assert_eq!(decoder.image_count(), 5); in keyframes()
143 assert!(decoder.is_keyframe(0)); in keyframes()
144 assert_eq!(decoder.nearest_keyframe(0), 0); in keyframes()
146 assert!(!decoder.is_keyframe(1)); in keyframes()
147 assert_eq!(decoder.nearest_keyframe(1), 0); in keyframes()
149 assert!(decoder.is_keyframe(2)); in keyframes()
150 assert_eq!(decoder.nearest_keyframe(2), 2); in keyframes()
152 assert!(decoder.is_keyframe(3)); in keyframes()
153 assert_eq!(decoder.nearest_keyframe(3), 3); in keyframes()
155 assert!(!decoder.is_keyframe(4)); in keyframes()
156 assert_eq!(decoder.nearest_keyframe(4), 3); in keyframes()
159 assert!(!decoder.is_keyframe(15)); in keyframes()
160 assert_eq!(decoder.nearest_keyframe(15), 3); in keyframes()
167 let mut decoder = get_decoder("color_grid_alpha_nogrid.avif"); in color_grid_alpha_no_grid() localVariable
168 let res = decoder.parse(); in color_grid_alpha_no_grid()
170 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in color_grid_alpha_no_grid()
171 let image = decoder.image().expect("image was none"); in color_grid_alpha_no_grid()
177 let res = decoder.next_image(); in color_grid_alpha_no_grid()
179 let image = decoder.image().expect("image was none"); in color_grid_alpha_no_grid()
195 let mut decoder = get_decoder(&filename_with_prefix); in progressive() localVariable
197 decoder.settings.allow_progressive = false; in progressive()
198 let res = decoder.parse(); in progressive()
200 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in progressive()
201 let image = decoder.image().expect("image was none"); in progressive()
204 decoder::ProgressiveState::Available in progressive()
207 decoder.settings.allow_progressive = true; in progressive()
208 let res = decoder.parse(); in progressive()
210 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in progressive()
211 let image = decoder.image().expect("image was none"); in progressive()
214 decoder::ProgressiveState::Active in progressive()
218 assert_eq!(decoder.image_count(), layer_count); in progressive()
222 for _i in 0..decoder.image_count() { in progressive()
223 let res = decoder.next_image(); in progressive()
225 let image = decoder.image().expect("image was none"); in progressive()
235 let mut decoder = get_decoder("paris_icc_exif_xmp.avif"); in decoder_parse_icc_exif_xmp() localVariable
237 decoder.settings.ignore_xmp = true; in decoder_parse_icc_exif_xmp()
238 decoder.settings.ignore_exif = true; in decoder_parse_icc_exif_xmp()
239 let res = decoder.parse(); in decoder_parse_icc_exif_xmp()
241 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decoder_parse_icc_exif_xmp()
242 let image = decoder.image().expect("image was none"); in decoder_parse_icc_exif_xmp()
253 decoder.settings.ignore_xmp = false; in decoder_parse_icc_exif_xmp()
254 decoder.settings.ignore_exif = false; in decoder_parse_icc_exif_xmp()
255 let res = decoder.parse(); in decoder_parse_icc_exif_xmp()
257 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decoder_parse_icc_exif_xmp()
258 let image = decoder.image().expect("image was none"); in decoder_parse_icc_exif_xmp()
276 let mut decoder = get_decoder("color_grid_gainmap_different_grid.avif"); in color_grid_gainmap_different_grid() localVariable
277 decoder.settings.image_content_to_decode = ImageContentType::All; in color_grid_gainmap_different_grid()
278 let res = decoder.parse(); in color_grid_gainmap_different_grid()
280 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in color_grid_gainmap_different_grid()
281 let image = decoder.image().expect("image was none"); in color_grid_gainmap_different_grid()
287 assert!(decoder.gainmap_present()); in color_grid_gainmap_different_grid()
288 assert_eq!(decoder.gainmap().image.width, 64 * 2); in color_grid_gainmap_different_grid()
289 assert_eq!(decoder.gainmap().image.height, 80 * 2); in color_grid_gainmap_different_grid()
290 assert_eq!(decoder.gainmap().image.depth, 8); in color_grid_gainmap_different_grid()
291 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.0, 6); in color_grid_gainmap_different_grid()
292 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.1, 2); in color_grid_gainmap_different_grid()
296 let res = decoder.next_image(); in color_grid_gainmap_different_grid()
298 assert!(decoder.gainmap().image.row_bytes[0] > 0); in color_grid_gainmap_different_grid()
304 let mut decoder = get_decoder("color_grid_alpha_grid_gainmap_nogrid.avif"); in color_grid_alpha_grid_gainmap_nogrid() localVariable
305 decoder.settings.image_content_to_decode = ImageContentType::All; in color_grid_alpha_grid_gainmap_nogrid()
306 let res = decoder.parse(); in color_grid_alpha_grid_gainmap_nogrid()
308 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in color_grid_alpha_grid_gainmap_nogrid()
309 let image = decoder.image().expect("image was none"); in color_grid_alpha_grid_gainmap_nogrid()
315 assert!(decoder.gainmap_present()); in color_grid_alpha_grid_gainmap_nogrid()
316 assert_eq!(decoder.gainmap().image.width, 64); in color_grid_alpha_grid_gainmap_nogrid()
317 assert_eq!(decoder.gainmap().image.height, 80); in color_grid_alpha_grid_gainmap_nogrid()
318 assert_eq!(decoder.gainmap().image.depth, 8); in color_grid_alpha_grid_gainmap_nogrid()
319 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.0, 6); in color_grid_alpha_grid_gainmap_nogrid()
320 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.1, 2); in color_grid_alpha_grid_gainmap_nogrid()
324 let res = decoder.next_image(); in color_grid_alpha_grid_gainmap_nogrid()
326 assert!(decoder.gainmap().image.row_bytes[0] > 0); in color_grid_alpha_grid_gainmap_nogrid()
332 let mut decoder = get_decoder("color_nogrid_alpha_nogrid_gainmap_grid.avif"); in color_nogrid_alpha_nogrid_gainmap_grid() localVariable
333 decoder.settings.image_content_to_decode = ImageContentType::All; in color_nogrid_alpha_nogrid_gainmap_grid()
334 let res = decoder.parse(); in color_nogrid_alpha_nogrid_gainmap_grid()
336 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in color_nogrid_alpha_nogrid_gainmap_grid()
337 let image = decoder.image().expect("image was none"); in color_nogrid_alpha_nogrid_gainmap_grid()
343 assert!(decoder.gainmap_present()); in color_nogrid_alpha_nogrid_gainmap_grid()
344 assert_eq!(decoder.gainmap().image.width, 64 * 2); in color_nogrid_alpha_nogrid_gainmap_grid()
345 assert_eq!(decoder.gainmap().image.height, 80 * 2); in color_nogrid_alpha_nogrid_gainmap_grid()
346 assert_eq!(decoder.gainmap().image.depth, 8); in color_nogrid_alpha_nogrid_gainmap_grid()
347 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.0, 6); in color_nogrid_alpha_nogrid_gainmap_grid()
348 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.1, 2); in color_nogrid_alpha_nogrid_gainmap_grid()
352 let res = decoder.next_image(); in color_nogrid_alpha_nogrid_gainmap_grid()
354 assert!(decoder.gainmap().image.row_bytes[0] > 0); in color_nogrid_alpha_nogrid_gainmap_grid()
360 let mut decoder = get_decoder("gainmap_oriented.avif"); in gainmap_oriented() localVariable
361 decoder.settings.image_content_to_decode = ImageContentType::All; in gainmap_oriented()
362 let res = decoder.parse(); in gainmap_oriented()
364 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in gainmap_oriented()
365 let image = decoder.image().expect("image was none"); in gainmap_oriented()
368 assert!(decoder.gainmap_present()); in gainmap_oriented()
369 assert_eq!(decoder.gainmap().image.irot_angle, None); in gainmap_oriented()
370 assert_eq!(decoder.gainmap().image.imir_axis, None); in gainmap_oriented()
381 let mut decoder = get_decoder(filename); in decode_unsupported_version() localVariable
382 let res = decoder.parse(); in decode_unsupported_version()
384 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decode_unsupported_version()
386 assert!(!decoder.gainmap_present()); in decode_unsupported_version()
387 assert_eq!(decoder.gainmap().image.width, 0); in decode_unsupported_version()
388 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.0, 0); in decode_unsupported_version()
389 assert_eq!(decoder.gainmap().metadata.alternate_hdr_headroom.0, 0); in decode_unsupported_version()
391 decoder = get_decoder(filename); in decode_unsupported_version()
392 decoder.settings.image_content_to_decode = ImageContentType::All; in decode_unsupported_version()
393 let res = decoder.parse(); in decode_unsupported_version()
395 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decode_unsupported_version()
397 assert!(!decoder.gainmap_present()); in decode_unsupported_version()
398 assert_eq!(decoder.gainmap().image.width, 0); in decode_unsupported_version()
399 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.0, 0); in decode_unsupported_version()
400 assert_eq!(decoder.gainmap().metadata.alternate_hdr_headroom.0, 0); in decode_unsupported_version()
406 let mut decoder = get_decoder("unsupported_gainmap_writer_version_with_extra_bytes.avif"); in decode_unsupported_writer_version_with_extra_bytes() localVariable
407 let res = decoder.parse(); in decode_unsupported_writer_version_with_extra_bytes()
409 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decode_unsupported_writer_version_with_extra_bytes()
413 assert!(decoder.gainmap_present()); in decode_unsupported_writer_version_with_extra_bytes()
414 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.0, 6); in decode_unsupported_writer_version_with_extra_bytes()
415 assert_eq!(decoder.gainmap().metadata.base_hdr_headroom.1, 2); in decode_unsupported_writer_version_with_extra_bytes()
421 let mut decoder = get_decoder("supported_gainmap_writer_version_with_extra_bytes.avif"); in decode_supported_writer_version_with_extra_bytes() localVariable
422 let res = decoder.parse(); in decode_supported_writer_version_with_extra_bytes()
431 let mut decoder = get_decoder("seine_sdr_gainmap_srgb.avif"); in decode_ignore_gain_map_but_read_metadata() localVariable
433 let res = decoder.parse(); in decode_ignore_gain_map_but_read_metadata()
435 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decode_ignore_gain_map_but_read_metadata()
436 decoder.image().expect("image was none"); in decode_ignore_gain_map_but_read_metadata()
438 assert!(decoder.gainmap_present()); in decode_ignore_gain_map_but_read_metadata()
440 assert_eq!(decoder.gainmap().image.width, 0); in decode_ignore_gain_map_but_read_metadata()
441 assert_eq!(decoder.gainmap().image.row_bytes[0], 0); in decode_ignore_gain_map_but_read_metadata()
443 assert_eq!(decoder.gainmap().metadata.alternate_hdr_headroom.0, 13); in decode_ignore_gain_map_but_read_metadata()
444 assert_eq!(decoder.gainmap().metadata.alternate_hdr_headroom.1, 10); in decode_ignore_gain_map_but_read_metadata()
450 let mut decoder = get_decoder("seine_sdr_gainmap_srgb.avif"); in decode_ignore_color_and_alpha() localVariable
451 decoder.settings.image_content_to_decode = ImageContentType::GainMap; in decode_ignore_color_and_alpha()
453 let res = decoder.parse(); in decode_ignore_color_and_alpha()
455 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decode_ignore_color_and_alpha()
457 let image = decoder.image().expect("image was none"); in decode_ignore_color_and_alpha()
461 assert!(decoder.gainmap_present()); in decode_ignore_color_and_alpha()
462 assert_eq!(decoder.gainmap().image.width, 400); in decode_ignore_color_and_alpha()
463 assert_eq!(decoder.gainmap().metadata.alternate_hdr_headroom.0, 13); in decode_ignore_color_and_alpha()
468 let res = decoder.next_image(); in decode_ignore_color_and_alpha()
469 let image = decoder.image().expect("image was none"); in decode_ignore_color_and_alpha()
474 assert!(decoder.gainmap().image.row_bytes[0] > 0); in decode_ignore_color_and_alpha()
483 let mut decoder = get_decoder(filename); in decode_ignore_all() localVariable
485 decoder.settings.image_content_to_decode = ImageContentType::None; in decode_ignore_all()
488 let res = decoder.parse(); in decode_ignore_all()
490 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in decode_ignore_all()
491 let image = decoder.image().expect("image was none"); in decode_ignore_all()
496 let res = decoder.next_image(); in decode_ignore_all()
513 let mut decoder = get_decoder(&filename_with_prefix); in clli() localVariable
514 let res = decoder.parse(); in clli()
516 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in clli()
517 let image = decoder.image().expect("image was none"); in clli()
532 let mut decoder = decoder::Decoder::default(); in raw_io() localVariable
534 decoder in raw_io()
538 assert!(decoder.parse().is_ok()); in raw_io()
539 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in raw_io()
540 assert_eq!(decoder.image_count(), 5); in raw_io()
545 assert!(decoder.next_image().is_ok()); in raw_io()
554 impl decoder::IO for CustomIO {
586 let mut decoder = decoder::Decoder::default(); in custom_io() localVariable
592 decoder.set_io(io); in custom_io()
593 assert!(decoder.parse().is_ok()); in custom_io()
594 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in custom_io()
595 assert_eq!(decoder.image_count(), 5); in custom_io()
600 assert!(decoder.next_image().is_ok()); in custom_io()
685 let mut decoder = decoder::Decoder::default(); in incremental_decode() localVariable
686 decoder.settings.allow_incremental = true; in incremental_decode()
691 decoder.set_io(io); in incremental_decode()
695 let mut parse_result = decoder.parse(); in incremental_decode()
707 parse_result = decoder.parse(); in incremental_decode()
716 let mut decode_result = decoder.next_image(); in incremental_decode()
729 let decoded_row_count = decoder.decoded_row_count(); in incremental_decode()
732 decoder.image().unwrap().height, in incremental_decode()
743 decode_result = decoder.next_image(); in incremental_decode()
746 assert_eq!(decoder.decoded_row_count(), decoder.image().unwrap().height); in incremental_decode()
753 let mut decoder = get_decoder("colors-animated-8bpc.avif"); in nth_image() localVariable
754 let res = decoder.parse(); in nth_image()
756 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in nth_image()
757 assert_eq!(decoder.image_count(), 5); in nth_image()
761 assert!(decoder.nth_image(3).is_ok()); in nth_image()
762 assert!(decoder.next_image().is_ok()); in nth_image()
763 assert!(decoder.next_image().is_err()); in nth_image()
764 assert!(decoder.nth_image(1).is_ok()); in nth_image()
765 assert!(decoder.nth_image(4).is_ok()); in nth_image()
766 assert!(decoder.nth_image(50).is_err()); in nth_image()
771 let mut decoder = get_decoder("invalid_color10x10_alpha5x5.avif"); in color_and_alpha_dimensions_do_not_match() localVariable
773 let res = decoder.parse(); in color_and_alpha_dimensions_do_not_match()
775 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in color_and_alpha_dimensions_do_not_match()
776 let image = decoder.image().expect("image was none"); in color_and_alpha_dimensions_do_not_match()
783 let res = decoder.next_image(); in color_and_alpha_dimensions_do_not_match()
789 let mut decoder = get_decoder("alpha.avif"); in rgb_conversion_alpha_premultiply() localVariable
790 let res = decoder.parse(); in rgb_conversion_alpha_premultiply()
792 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in rgb_conversion_alpha_premultiply()
796 let res = decoder.next_image(); in rgb_conversion_alpha_premultiply()
798 let image = decoder.image().expect("image was none"); in rgb_conversion_alpha_premultiply()
808 let mut decoder = get_decoder("white_1x1.avif"); in white_1x1() localVariable
809 assert_eq!(decoder.parse(), Ok(())); in white_1x1()
810 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in white_1x1()
814 assert_eq!(decoder.next_image(), Ok(())); in white_1x1()
816 let image = decoder.image().expect("image was none"); in white_1x1()
839 let mut decoder = decoder::Decoder::default(); in white_1x1_mdat_size0() localVariable
840 decoder.set_io_vec(file_bytes); in white_1x1_mdat_size0()
841 assert_eq!(decoder.parse(), Ok(())); in white_1x1_mdat_size0()
842 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in white_1x1_mdat_size0()
854 let mut decoder = decoder::Decoder::default(); in white_1x1_meta_size0() localVariable
855 decoder.set_io_vec(file_bytes); in white_1x1_meta_size0()
861 assert_eq!(decoder.parse(), Ok(())); in white_1x1_meta_size0()
862 assert_eq!(decoder.compression_format(), CompressionFormat::Avif); in white_1x1_meta_size0()
866 assert_eq!(decoder.next_image(), Ok(())); in white_1x1_meta_size0()
876 let mut decoder = decoder::Decoder::default(); in white_1x1_ftyp_size0() localVariable
877 decoder.set_io_vec(file_bytes); in white_1x1_ftyp_size0()
879 decoder.parse(), in white_1x1_ftyp_size0()
887 let mut decoder = get_decoder("sofa_grid1x5_420_dimg_repeat.avif"); in dimg_repetition() localVariable
889 decoder.parse(), in dimg_repetition()
898 let mut decoder = get_decoder("color_grid_alpha_grid_tile_shared_in_dimg.avif"); in dimg_shared() localVariable
899 assert_eq!(decoder.parse(), Err(AvifError::NotImplemented)); in dimg_shared()
929 decoder::Decoder::peek_compatible_file_type(&file_data), in heic_peek()
936 let mut decoder = get_decoder("blue.heic"); in heic_parsing() localVariable
937 let res = decoder.parse(); in heic_parsing()
940 let image = decoder.image().expect("image was none"); in heic_parsing()
943 assert_eq!(decoder.compression_format(), CompressionFormat::Heic); in heic_parsing()
947 decoder.next_image(), in heic_parsing()