Fuzz introspector: encoder_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
167 4 heif_init call site: 00004 list_all_potential_plugins_in_directory
44 204 heif_image_create call site: 00204 MemoryHandle::alloc
27 309 heif_context_encode_image call site: 00309 get_encoder_or_skip_test
19 289 heif_context_encode_image call site: 00289 ImageExtraData::has_nclx_color_profile
14 250 heif_image_create call site: 00250 Catch::ReporterRegistry::create
8 265 heif_image_add_plane call site: 00265 Error::error_struct
7 277 heif_image_get_plane call site: 00277 heif_image_get_plane
6 177 heif_get_encoder_descriptors call site: 00177 load_plugins_if_not_initialized_yet
4 338 heif_context_encode_image call site: 00338
4 350 LLVMFuzzerTestOneInput call site: 00350 Error::error_struct
2 355 heif_context_write call site: 00355 Catch::JsonUtils::appendCommaNewline
1 2 heif_context_alloc call site: 00002 heif_init

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 heif_context_alloc [function] [call site] 00001
2 load_plugins_if_not_initialized_yet [function] [call site] 00002
3 heif_init [function] [call site] 00003
4 ColorConversionPipeline::init_ops [function] [call site] 00004
5 emplace_back [function] [call site] 00006
5 std::make_shared<Op_RGB_to_RGB24_32> [function] [call site] 00007
5 emplace_back [function] [call site] 00008
5 std::make_shared<Op_RGB24_32_to_RGB> [function] [call site] 00009
5 emplace_back [function] [call site] 00010
5 std::make_shared<Op_YCbCr_to_RGB<uint16_t>> [function] [call site] 00011
5 emplace_back [function] [call site] 00012
5 std::make_shared<Op_YCbCr_to_RGB<uint8_t>> [function] [call site] 00013
5 emplace_back [function] [call site] 00014
5 std::make_shared<Op_YCbCr420_to_RGB24> [function] [call site] 00015
5 emplace_back [function] [call site] 00016
5 std::make_shared<Op_YCbCr420_to_RGB32> [function] [call site] 00017
5 emplace_back [function] [call site] 00018
5 std::make_shared<Op_YCbCr420_to_RRGGBBaa> [function] [call site] 00019
5 emplace_back [function] [call site] 00020
5 std::make_shared<Op_RGB_HDR_to_RRGGBBaa_BE> [function] [call site] 00021
5 emplace_back [function] [call site] 00022
5 std::make_shared<Op_RGB_to_RRGGBBaa_BE> [function] [call site] 00023
5 emplace_back [function] [call site] 00024
5 std::make_shared<Op_mono_to_YCbCr420> [function] [call site] 00025
5 emplace_back [function] [call site] 00026
5 std::make_shared<Op_mono_to_RGB24_32> [function] [call site] 00027
5 emplace_back [function] [call site] 00028
5 std::make_shared<Op_RRGGBBaa_swap_endianness> [function] [call site] 00029
5 emplace_back [function] [call site] 00030
5 std::make_shared<Op_RRGGBBaa_BE_to_RGB_HDR> [function] [call site] 00031
5 emplace_back [function] [call site] 00032
5 std::make_shared<Op_RGB24_32_to_YCbCr> [function] [call site] 00033
5 emplace_back [function] [call site] 00034
5 std::make_shared<Op_RGB_to_YCbCr<uint8_t>> [function] [call site] 00035
5 emplace_back [function] [call site] 00036
5 std::make_shared<Op_RGB_to_YCbCr<uint16_t>> [function] [call site] 00037
5 emplace_back [function] [call site] 00038
5 std::make_shared<Op_RRGGBBxx_HDR_to_YCbCr420> [function] [call site] 00039
5 emplace_back [function] [call site] 00040
5 std::make_shared<Op_RGB24_32_to_YCbCr444_GBR> [function] [call site] 00041
5 emplace_back [function] [call site] 00042
5 std::make_shared<Op_drop_alpha_plane> [function] [call site] 00043
5 emplace_back [function] [call site] 00044
5 std::make_shared<Op_flatten_alpha_plane<uint8_t>> [function] [call site] 00045
5 emplace_back [function] [call site] 00046
5 std::make_shared<Op_flatten_alpha_plane<uint16_t>> [function] [call site] 00047
5 emplace_back [function] [call site] 00048
5 std::make_shared<Op_to_hdr_planes> [function] [call site] 00049
5 emplace_back [function] [call site] 00050
5 std::make_shared<Op_to_sdr_planes> [function] [call site] 00051
5 emplace_back [function] [call site] 00052
5 std::make_shared<Op_YCbCr420_bilinear_to_YCbCr444<uint8_t>> [function] [call site] 00053
5 emplace_back [function] [call site] 00054
5 std::make_shared<Op_YCbCr420_bilinear_to_YCbCr444<uint16_t>> [function] [call site] 00055
5 emplace_back [function] [call site] 00056
5 std::make_shared<Op_YCbCr422_bilinear_to_YCbCr444<uint8_t>> [function] [call site] 00057
5 emplace_back [function] [call site] 00058
5 std::make_shared<Op_YCbCr422_bilinear_to_YCbCr444<uint16_t>> [function] [call site] 00059
5 emplace_back [function] [call site] 00060
5 std::make_shared<Op_YCbCr444_to_YCbCr420_average<uint8_t>> [function] [call site] 00061
5 emplace_back [function] [call site] 00062
5 std::make_shared<Op_YCbCr444_to_YCbCr420_average<uint16_t>> [function] [call site] 00063
5 emplace_back [function] [call site] 00064
5 std::make_shared<Op_YCbCr444_to_YCbCr422_average<uint8_t>> [function] [call site] 00065
5 emplace_back [function] [call site] 00066
5 std::make_shared<Op_YCbCr444_to_YCbCr422_average<uint16_t>> [function] [call site] 00067
5 emplace_back [function] [call site] 00068
5 std::make_shared<Op_Any_RGB_to_YCbCr_420_Sharp> [function] [call site] 00069
4 register_default_plugins [function] [call site] 00070
5 register_decoder [function] [call site] 00071
5 get_decoder_plugin_webcodecs [function] [call site] 00073
5 register_decoder [function] [call site] 00074
5 get_decoder_plugin_libde265 [function] [call site] 00075
5 register_encoder [function] [call site] 00076
6 std::unique_ptr<heif_encoder_descriptor> [function] [call site] 00077
6 heif_encoder_descriptor::heif_encoder_descriptor [function] [call site] 00078
6 std::move [function] [call site] 00080
5 get_encoder_plugin_x265 [function] [call site] 00081
5 register_encoder [function] [call site] 00082
5 get_encoder_plugin_kvazaar [function] [call site] 00083
5 register_encoder [function] [call site] 00084
5 get_encoder_plugin_uvg266 [function] [call site] 00085
5 register_encoder [function] [call site] 00086
5 get_encoder_plugin_vvenc [function] [call site] 00087
5 register_decoder [function] [call site] 00088
5 get_decoder_plugin_vvdec [function] [call site] 00089
5 register_encoder [function] [call site] 00090
5 get_encoder_plugin_aom [function] [call site] 00091
5 register_decoder [function] [call site] 00092
5 get_decoder_plugin_aom [function] [call site] 00093
5 register_encoder [function] [call site] 00094
5 get_encoder_plugin_rav1e [function] [call site] 00095
5 register_decoder [function] [call site] 00096
5 get_decoder_plugin_dav1d [function] [call site] 00097
5 register_encoder [function] [call site] 00098
5 get_encoder_plugin_svt [function] [call site] 00099
5 register_decoder [function] [call site] 00100
5 get_decoder_plugin_ffmpeg [function] [call site] 00101
5 register_decoder [function] [call site] 00102
5 get_decoder_plugin_jpeg [function] [call site] 00103
5 register_encoder [function] [call site] 00104
5 get_encoder_plugin_jpeg [function] [call site] 00105
5 register_encoder [function] [call site] 00106
5 get_encoder_plugin_openjpeg [function] [call site] 00107
5 register_decoder [function] [call site] 00108
5 get_decoder_plugin_openjpeg [function] [call site] 00109
5 register_encoder [function] [call site] 00110
5 get_encoder_plugin_openjph [function] [call site] 00111
5 register_decoder [function] [call site] 00112
5 get_decoder_plugin_openh264 [function] [call site] 00113
5 register_encoder [function] [call site] 00114
5 get_encoder_plugin_x264 [function] [call site] 00115
5 register_encoder [function] [call site] 00116
5 get_encoder_plugin_uncompressed [function] [call site] 00117
5 register_decoder [function] [call site] 00118
5 get_decoder_plugin_uncompressed [function] [call site] 00119
5 register_encoder [function] [call site] 00120
5 get_encoder_plugin_mask [function] [call site] 00121
4 get_plugin_paths [function] [call site] 00122
5 get_plugin_directories_from_environment_variable_windows [function] [call site] 00123
6 std::vector::push_back [function] [call site] 00126
5 get_plugin_directories_from_environment_variable_unix [function] [call site] 00127
6 std::vector::push_back [function] [call site] 00130
5 std::vector::empty [function] [call site] 00131
5 std::vector::push_back [function] [call site] 00132
4 heif_load_plugins [function] [call site] 00133
5 list_all_potential_plugins_in_directory [function] [call site] 00134
6 list_all_potential_plugins_in_directory_windows [function] [call site] 00135
7 FindFirstFile [function] [call site] 00137
7 std::string::c_str [function] [call site] 00138
7 std::vector::push_back [function] [call site] 00139
7 FindNextFile [function] [call site] 00140
7 FindClose [function] [call site] 00141
6 list_all_potential_plugins_in_directory_unix [function] [call site] 00142
5 heif_load_plugin [function] [call site] 00150
6 PluginLibrary_Unix::load_from_file [function] [call site] 00151
6 PluginLibrary_Unix::get_plugin_info [function] [call site] 00158
6 push_back [function] [call site] 00159
6 static_cast<const [call site] 00160
6 STRINGIFY [function] [call site] 00161
6 heif_get_version_number [function] [call site] 00162
6 heif_register_encoder_plugin [function] [call site] 00163
7 register_encoder [function] [call site] 00164
6 static_cast<const [call site] 00165
6 STRINGIFY [function] [call site] 00166
6 heif_get_version_number [function] [call site] 00167
6 heif_register_decoder_plugin [function] [call site] 00168
7 register_decoder [function] [call site] 00169
2 heif_context::heif_context [function] [call site] 00172
2 std::make_shared<HeifContext> [function] [call site] 00173
1 heif_context_free [function] [call site] 00174
1 heif_get_encoder_descriptors [function] [call site] 00176
2 get_filtered_encoder_descriptors [function] [call site] 00177
3 load_plugins_if_not_initialized_yet [function] [call site] 00178
3 std::vector::push_back [function] [call site] 00180
2 static_cast<int> [function] [call site] 00182
2 std::vector::size [function] [call site] 00183
2 static_cast<size_t> [function] [call site] 00184
2 std::vector::size [function] [call site] 00185
1 heif_context_get_encoder [function] [call site] 00187
2 heif_encoder::heif_encoder [function] [call site] 00188
1 std::shared_ptr::get [function] [call site] 00190
1 heif_encoder_set_lossy_quality [function] [call site] 00191
2 uvg266_set_parameter_quality [function] [call site] 00192
1 heif_encoder_set_lossless [function] [call site] 00193
2 uvg266_set_parameter_lossless [function] [call site] 00194
1 create_image [function] [call site] 00195
2 heif_image_create [function] [call site] 00196
3 get_valid_chroma_values_for_colorspace [function] [call site] 00197
3 std::find [function] [call site] 00198
3 Catch::TextFlow::AnsiSkippingString::begin [function] [call site] 00199
4 const_iterator [function] [call site] 00200
3 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00201
4 const_iterator [function] [call site] 00202
3 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00203
3 convert_libde265_image_to_heif_image [function] [call site] 00204
4 de265_get_chroma_format [function] [call site] 00205
4 heif_image_create [function] [call site] 00206
4 de265_get_image_width [function] [call site] 00207
4 de265_get_image_height [function] [call site] 00208
4 de265_get_chroma_format [function] [call site] 00209
4 de265_get_bits_per_pixel [function] [call site] 00210
4 de265_get_bits_per_pixel [function] [call site] 00211
4 heif_image_release [function] [call site] 00212
4 de265_get_image_plane [function] [call site] 00213
4 de265_get_image_width [function] [call site] 00214
4 de265_get_image_height [function] [call site] 00215
4 heif_image_release [function] [call site] 00216
4 heif_image_add_plane_safe [function] [call site] 00217
5 HeifPixelImage::add_plane [function] [call site] 00218
6 num_interleaved_components_per_plane [function] [call site] 00219
6 MemoryHandle::alloc [function] [call site] 00221
7 std::stringstream::str [function] [call site] 00223
7 std::stringstream::str [function] [call site] 00227
6 push_back [function] [call site] 00228
5 Error::error_struct [function] [call site] 00229
6 ErrorBuffer::set_success [function] [call site] 00230
6 Error::get_error_string [function] [call site] 00231
6 Error::get_error_string [function] [call site] 00233
6 ErrorBuffer::set_error [function] [call site] 00235
6 std::stringstream::str [function] [call site] 00237
6 StreamReader::get_error [function] [call site] 00238
5 Catch::Detail::unique_ptr::get [function] [call site] 00239
4 libde265_decoder*::error_message::c_str [function] [call site] 00240
4 heif_image_release [function] [call site] 00241
4 heif_image_get_plane2 [function] [call site] 00242
5 HeifPixelImage::get_plane [function] [call site] 00243
6 HeifPixelImage::get_channel [function] [call site] 00244
7 HeifPixelImage::find_component_for_channel [function] [call site] 00245
7 static_cast<int> [function] [call site] 00246
7 static_cast<T*> [function] [call site] 00247
3 std::make_shared<HeifPixelImage> [function] [call site] 00249
3 Catch::ReporterRegistry::create [function] [call site] 00250
4 Catch::TagAliasRegistry::find [function] [call site] 00251
5 Catch::TagAliasRegistry::find [function] [call site] 00252
6 Catch::TagAliasRegistry::find [function] [call site] 00253
4 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00256
5 const_iterator [function] [call site] 00257
4 Catch::ReporterRegistry::create [function] [call site] 00258
5 Catch::TagAliasRegistry::find [function] [call site] 00259
5 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00260
5 Catch::ReporterRegistry::create [function] [call site] 00261
5 CATCH_MOVE [function] [call site] 00262
4 CATCH_MOVE [function] [call site] 00263
2 heif_image_add_plane [function] [call site] 00264
3 HeifPixelImage::add_plane [function] [call site] 00265
3 Error::error_struct [function] [call site] 00266
3 Catch::Detail::unique_ptr::get [function] [call site] 00267
2 heif_image_add_plane [function] [call site] 00269
2 heif_image_add_plane [function] [call site] 00271
2 heif_image_get_plane [function] [call site] 00273
3 HeifPixelImage::get_plane [function] [call site] 00274
3 static_cast<uint32_t> [function] [call site] 00275
3 std::numeric_limits<int>::max [function] [call site] 00276
3 static_cast<int> [function] [call site] 00277
2 heif_image_get_plane [function] [call site] 00281
2 generate_plane [function] [call site] 00282
2 heif_image_get_plane [function] [call site] 00283
2 generate_plane [function] [call site] 00284
1 heif_image_release [function] [call site] 00286
1 heif_encoder_release [function] [call site] 00287
1 heif_context_encode_image [function] [call site] 00288
2 set_default_encoding_options [function] [call site] 00289
2 heif_encoding_options_copy [function] [call site] 00290
2 ImageExtraData::has_nclx_color_profile [function] [call site] 00292
3 nclx_default_if_undefined [function] [call site] 00293
4 Box_mini::get_colour_primaries [function] [call site] 00294
4 set_colour_primaries [function] [call site] 00295
4 get_matrix_coefficients [function] [call site] 00296
5 static_cast<heif_matrix_coefficients> [function] [call site] 00297
4 set_matrix_coefficients [function] [call site] 00298
4 get_transfer_characteristics [function] [call site] 00299
5 static_cast<heif_transfer_characteristics> [function] [call site] 00300
4 set_transfer_characteristics [function] [call site] 00301
2 ImageExtraData::get_color_profile_nclx [function] [call site] 00302
2 Box_mini::get_colour_primaries [function] [call site] 00303
2 get_transfer_characteristics [function] [call site] 00304
3 static_cast<heif_transfer_characteristics> [function] [call site] 00305
2 get_matrix_coefficients [function] [call site] 00306
3 static_cast<heif_matrix_coefficients> [function] [call site] 00307
2 get_full_range_flag [function] [call site] 00308
2 encode_image [function] [call site] 00309
3 heif_context_alloc [function] [call site] 00310
3 get_encoder_or_skip_test [function] [call site] 00311
4 heif_context_get_encoder_for_format [function] [call site] 00312
5 get_filtered_encoder_descriptors [function] [call site] 00313
5 std::vector::size [function] [call site] 00314
5 heif_encoder::heif_encoder [function] [call site] 00315
5 Error::error_struct [function] [call site] 00317
6 ErrorBuffer::set_success [function] [call site] 00318
6 Error::get_error_string [function] [call site] 00319
6 Error::get_error_string [function] [call site] 00320
6 ErrorBuffer::set_error [function] [call site] 00322
6 std::stringstream::str [function] [call site] 00323
6 StreamReader::get_error [function] [call site] 00324
5 Catch::Detail::unique_ptr::get [function] [call site] 00325
3 heif_context_encode_image [function] [call site] 00329
3 heif_encoder_release [function] [call site] 00330
3 heif_context_free [function] [call site] 00331
3 heif_encoder_release [function] [call site] 00332
3 heif_image_handle_release [function] [call site] 00333
3 heif_context_free [function] [call site] 00334
2 Error::error_struct [function] [call site] 00335
2 Catch::Detail::unique_ptr::get [function] [call site] 00336
2 HeifContext::is_primary_image_set [function] [call site] 00337
2 HeifContext::set_primary_image [function] [call site] 00338
3 set_primary [function] [call site] 00339
3 set_primary [function] [call site] 00340
3 set_primary_item_id [function] [call site] 00341
2 heif_image_handle::heif_image_handle [function] [call site] 00343
2 std::move [function] [call site] 00344
1 std::shared_ptr::get [function] [call site] 00345
1 heif_image_release [function] [call site] 00346
1 heif_encoder_release [function] [call site] 00347
1 heif_image_handle_release [function] [call site] 00348
1 MemoryWriter::MemoryWriter [function] [call site] 00349
1 heif_context_write [function] [call site] 00350
2 Catch::Detail::unique_ptr::get [function] [call site] 00352
2 Error::error_struct [function] [call site] 00353
2 Catch::Detail::unique_ptr::get [function] [call site] 00354
2 Catch::JsonObjectWriter::write [function] [call site] 00355
3 Catch::JsonUtils::appendCommaNewline [function] [call site] 00356
4 Catch::JsonUtils::indent [function] [call site] 00357
2 StreamWriter::get_data [function] [call site] 00358
2 Catch::JsonObjectWriter::write [function] [call site] 00359
3 Catch::JsonUtils::appendCommaNewline [function] [call site] 00360
1 std::shared_ptr::get [function] [call site] 00363
1 MemoryWriter::size [function] [call site] 00365