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
171 4 heif_init call site: 00004 list_all_potential_plugins_in_directory
35 208 heif_image_create call site: 00208 heif_image_create
25 304 heif_context_encode_image call site: 00304 get_encoder_or_skip_test
19 284 heif_context_encode_image call site: 00284 ImageDescription::has_nclx_color_profile
14 245 heif_image_create call site: 00245 Catch::ReporterRegistry::create
8 260 heif_image_add_plane call site: 00260 Error::error_struct
7 272 heif_image_get_plane call site: 00272 heif_image_get_plane
6 181 heif_get_encoder_descriptors call site: 00181 load_plugins_if_not_initialized_yet
4 333 heif_context_encode_image call site: 00333
4 345 LLVMFuzzerTestOneInput call site: 00345 Error::error_struct
4 350 heif_context_write call site: 00350 Error::error_struct
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_bayer_bilinear_to_RGB24_32> [function] [call site] 00029
5 emplace_back [function] [call site] 00030
5 std::make_shared<Op_RRGGBBaa_swap_endianness> [function] [call site] 00031
5 emplace_back [function] [call site] 00032
5 std::make_shared<Op_RRGGBBaa_BE_to_RGB_HDR> [function] [call site] 00033
5 emplace_back [function] [call site] 00034
5 std::make_shared<Op_RGB24_32_to_YCbCr> [function] [call site] 00035
5 emplace_back [function] [call site] 00036
5 std::make_shared<Op_RGB_to_YCbCr<uint8_t>> [function] [call site] 00037
5 emplace_back [function] [call site] 00038
5 std::make_shared<Op_RGB_to_YCbCr<uint16_t>> [function] [call site] 00039
5 emplace_back [function] [call site] 00040
5 std::make_shared<Op_RRGGBBxx_HDR_to_YCbCr420> [function] [call site] 00041
5 emplace_back [function] [call site] 00042
5 std::make_shared<Op_RGB24_32_to_YCbCr444_GBR> [function] [call site] 00043
5 emplace_back [function] [call site] 00044
5 std::make_shared<Op_drop_alpha_plane> [function] [call site] 00045
5 emplace_back [function] [call site] 00046
5 std::make_shared<Op_flatten_alpha_plane<uint8_t>> [function] [call site] 00047
5 emplace_back [function] [call site] 00048
5 std::make_shared<Op_flatten_alpha_plane<uint16_t>> [function] [call site] 00049
5 emplace_back [function] [call site] 00050
5 std::make_shared<Op_adjust_alpha_bit_depth> [function] [call site] 00051
5 emplace_back [function] [call site] 00052
5 std::make_shared<Op_to_hdr_planes> [function] [call site] 00053
5 emplace_back [function] [call site] 00054
5 std::make_shared<Op_to_sdr_planes> [function] [call site] 00055
5 emplace_back [function] [call site] 00056
5 std::make_shared<Op_YCbCr420_bilinear_to_YCbCr444<uint8_t>> [function] [call site] 00057
5 emplace_back [function] [call site] 00058
5 std::make_shared<Op_YCbCr420_bilinear_to_YCbCr444<uint16_t>> [function] [call site] 00059
5 emplace_back [function] [call site] 00060
5 std::make_shared<Op_YCbCr422_bilinear_to_YCbCr444<uint8_t>> [function] [call site] 00061
5 emplace_back [function] [call site] 00062
5 std::make_shared<Op_YCbCr422_bilinear_to_YCbCr444<uint16_t>> [function] [call site] 00063
5 emplace_back [function] [call site] 00064
5 std::make_shared<Op_YCbCr444_to_YCbCr420_average<uint8_t>> [function] [call site] 00065
5 emplace_back [function] [call site] 00066
5 std::make_shared<Op_YCbCr444_to_YCbCr420_average<uint16_t>> [function] [call site] 00067
5 emplace_back [function] [call site] 00068
5 std::make_shared<Op_YCbCr444_to_YCbCr422_average<uint8_t>> [function] [call site] 00069
5 emplace_back [function] [call site] 00070
5 std::make_shared<Op_YCbCr444_to_YCbCr422_average<uint16_t>> [function] [call site] 00071
5 emplace_back [function] [call site] 00072
5 std::make_shared<Op_Any_RGB_to_YCbCr_420_Sharp> [function] [call site] 00073
4 register_default_plugins [function] [call site] 00074
5 register_decoder [function] [call site] 00075
5 get_decoder_plugin_webcodecs [function] [call site] 00077
5 register_decoder [function] [call site] 00078
5 get_decoder_plugin_libde265 [function] [call site] 00079
5 register_encoder [function] [call site] 00080
6 std::unique_ptr<heif_encoder_descriptor> [function] [call site] 00081
6 heif_encoder_descriptor::heif_encoder_descriptor [function] [call site] 00082
6 std::move [function] [call site] 00084
5 get_encoder_plugin_x265 [function] [call site] 00085
5 register_encoder [function] [call site] 00086
5 get_encoder_plugin_kvazaar [function] [call site] 00087
5 register_encoder [function] [call site] 00088
5 get_encoder_plugin_uvg266 [function] [call site] 00089
5 register_encoder [function] [call site] 00090
5 get_encoder_plugin_vvenc [function] [call site] 00091
5 register_decoder [function] [call site] 00092
5 get_decoder_plugin_vvdec [function] [call site] 00093
5 register_encoder [function] [call site] 00094
5 get_encoder_plugin_aom [function] [call site] 00095
5 register_decoder [function] [call site] 00096
5 get_decoder_plugin_aom [function] [call site] 00097
5 register_encoder [function] [call site] 00098
5 get_encoder_plugin_rav1e [function] [call site] 00099
5 register_decoder [function] [call site] 00100
5 get_decoder_plugin_dav1d [function] [call site] 00101
5 register_encoder [function] [call site] 00102
5 get_encoder_plugin_svt [function] [call site] 00103
5 register_decoder [function] [call site] 00104
5 get_decoder_plugin_ffmpeg [function] [call site] 00105
5 register_decoder [function] [call site] 00106
5 get_decoder_plugin_jpeg [function] [call site] 00107
5 register_encoder [function] [call site] 00108
5 get_encoder_plugin_jpeg [function] [call site] 00109
5 register_encoder [function] [call site] 00110
5 get_encoder_plugin_openjpeg [function] [call site] 00111
5 register_decoder [function] [call site] 00112
5 get_decoder_plugin_openjpeg [function] [call site] 00113
5 register_encoder [function] [call site] 00114
5 get_encoder_plugin_openjph [function] [call site] 00115
5 register_decoder [function] [call site] 00116
5 get_decoder_plugin_openh264 [function] [call site] 00117
5 register_encoder [function] [call site] 00118
5 get_encoder_plugin_x264 [function] [call site] 00119
5 register_encoder [function] [call site] 00120
5 get_encoder_plugin_uncompressed [function] [call site] 00121
5 register_decoder [function] [call site] 00122
5 get_decoder_plugin_uncompressed [function] [call site] 00123
5 register_encoder [function] [call site] 00124
5 get_encoder_plugin_mask [function] [call site] 00125
4 get_plugin_paths [function] [call site] 00126
5 get_plugin_directories_from_environment_variable_windows [function] [call site] 00127
6 std::vector::push_back [function] [call site] 00130
5 get_plugin_directories_from_environment_variable_unix [function] [call site] 00131
6 std::vector::push_back [function] [call site] 00134
5 std::vector::empty [function] [call site] 00135
5 std::vector::push_back [function] [call site] 00136
4 heif_load_plugins [function] [call site] 00137
5 list_all_potential_plugins_in_directory [function] [call site] 00138
6 list_all_potential_plugins_in_directory_windows [function] [call site] 00139
7 FindFirstFile [function] [call site] 00141
7 std::string::c_str [function] [call site] 00142
7 std::vector::push_back [function] [call site] 00143
7 FindNextFile [function] [call site] 00144
7 FindClose [function] [call site] 00145
6 list_all_potential_plugins_in_directory_unix [function] [call site] 00146
5 heif_load_plugin [function] [call site] 00154
6 PluginLibrary_Unix::load_from_file [function] [call site] 00155
6 PluginLibrary_Unix::get_plugin_info [function] [call site] 00162
6 push_back [function] [call site] 00163
6 static_cast<const [call site] 00164
6 STRINGIFY [function] [call site] 00165
6 heif_get_version_number [function] [call site] 00166
6 heif_register_encoder_plugin [function] [call site] 00167
7 register_encoder [function] [call site] 00168
6 static_cast<const [call site] 00169
6 STRINGIFY [function] [call site] 00170
6 heif_get_version_number [function] [call site] 00171
6 heif_register_decoder_plugin [function] [call site] 00172
7 register_decoder [function] [call site] 00173
2 heif_context::heif_context [function] [call site] 00176
2 std::make_shared<HeifContext> [function] [call site] 00177
1 heif_context_free [function] [call site] 00178
1 heif_get_encoder_descriptors [function] [call site] 00180
2 get_filtered_encoder_descriptors [function] [call site] 00181
3 load_plugins_if_not_initialized_yet [function] [call site] 00182
3 std::vector::push_back [function] [call site] 00184
2 static_cast<int> [function] [call site] 00186
2 std::vector::size [function] [call site] 00187
2 static_cast<size_t> [function] [call site] 00188
2 std::vector::size [function] [call site] 00189
1 heif_context_get_encoder [function] [call site] 00191
2 heif_encoder::heif_encoder [function] [call site] 00192
1 std::shared_ptr::get [function] [call site] 00194
1 heif_encoder_set_lossy_quality [function] [call site] 00195
2 uvg266_set_parameter_quality [function] [call site] 00196
1 heif_encoder_set_lossless [function] [call site] 00197
2 uvg266_set_parameter_lossless [function] [call site] 00198
1 create_image [function] [call site] 00199
2 heif_image_create [function] [call site] 00200
3 get_valid_chroma_values_for_colorspace [function] [call site] 00201
3 std::find [function] [call site] 00202
3 Catch::TextFlow::AnsiSkippingString::begin [function] [call site] 00203
4 const_iterator [function] [call site] 00204
3 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00205
4 const_iterator [function] [call site] 00206
3 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00207
3 convert_libde265_image_to_heif_image [function] [call site] 00208
4 de265_get_chroma_format [function] [call site] 00209
4 heif_image_create [function] [call site] 00210
4 de265_get_image_width [function] [call site] 00211
4 de265_get_image_height [function] [call site] 00212
4 de265_get_chroma_format [function] [call site] 00213
4 de265_get_bits_per_pixel [function] [call site] 00214
4 de265_get_bits_per_pixel [function] [call site] 00215
4 heif_image_release [function] [call site] 00216
4 de265_get_image_plane [function] [call site] 00217
4 de265_get_image_width [function] [call site] 00218
4 de265_get_image_height [function] [call site] 00219
4 heif_image_release [function] [call site] 00220
4 heif_image_add_plane_safe [function] [call site] 00221
5 Box_cdef::add_channel [function] [call site] 00222
6 push_back [function] [call site] 00223
5 Error::error_struct [function] [call site] 00224
6 ErrorBuffer::set_success [function] [call site] 00225
6 Error::get_error_string [function] [call site] 00226
6 Error::get_error_string [function] [call site] 00228
6 ErrorBuffer::set_error [function] [call site] 00230
6 std::stringstream::str [function] [call site] 00232
6 StreamReader::get_error [function] [call site] 00233
5 Catch::Detail::unique_ptr::get [function] [call site] 00234
4 libde265_decoder*::error_message::c_str [function] [call site] 00235
4 heif_image_release [function] [call site] 00236
4 heif_image_get_plane2 [function] [call site] 00237
5 HeifPixelImage::get_channel_memory [function] [call site] 00238
6 HeifPixelImage::get_channel_memory [function] [call site] 00239
7 HeifPixelImage::get_channel_memory [function] [call site] 00240
4 static_cast<size_t> [function] [call site] 00242
4 static_cast<size_t> [function] [call site] 00243
3 std::make_shared<HeifPixelImage> [function] [call site] 00244
3 Catch::ReporterRegistry::create [function] [call site] 00245
4 Catch::TagAliasRegistry::find [function] [call site] 00246
5 Catch::TagAliasRegistry::find [function] [call site] 00247
6 Catch::TagAliasRegistry::find [function] [call site] 00248
4 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00251
5 const_iterator [function] [call site] 00252
4 Catch::ReporterRegistry::create [function] [call site] 00253
5 Catch::TagAliasRegistry::find [function] [call site] 00254
5 Catch::TextFlow::AnsiSkippingString::end [function] [call site] 00255
5 Catch::ReporterRegistry::create [function] [call site] 00256
5 CATCH_MOVE [function] [call site] 00257
4 CATCH_MOVE [function] [call site] 00258
2 heif_image_add_plane [function] [call site] 00259
3 Box_cdef::add_channel [function] [call site] 00260
3 Error::error_struct [function] [call site] 00261
3 Catch::Detail::unique_ptr::get [function] [call site] 00262
2 heif_image_add_plane [function] [call site] 00264
2 heif_image_add_plane [function] [call site] 00266
2 heif_image_get_plane [function] [call site] 00268
3 HeifPixelImage::get_channel_memory [function] [call site] 00269
3 static_cast<uint32_t> [function] [call site] 00270
3 std::numeric_limits<int>::max [function] [call site] 00271
3 static_cast<int> [function] [call site] 00272
2 heif_image_get_plane [function] [call site] 00276
2 generate_plane [function] [call site] 00277
2 heif_image_get_plane [function] [call site] 00278
2 generate_plane [function] [call site] 00279
1 heif_image_release [function] [call site] 00281
1 heif_encoder_release [function] [call site] 00282
1 heif_context_encode_image [function] [call site] 00283
2 set_default_encoding_options [function] [call site] 00284
2 heif_encoding_options_copy [function] [call site] 00285
2 ImageDescription::has_nclx_color_profile [function] [call site] 00287
3 nclx_default_if_undefined [function] [call site] 00288
4 Box_mini::get_colour_primaries [function] [call site] 00289
4 set_colour_primaries [function] [call site] 00290
4 get_matrix_coefficients [function] [call site] 00291
5 static_cast<heif_matrix_coefficients> [function] [call site] 00292
4 set_matrix_coefficients [function] [call site] 00293
4 get_transfer_characteristics [function] [call site] 00294
5 static_cast<heif_transfer_characteristics> [function] [call site] 00295
4 set_transfer_characteristics [function] [call site] 00296
2 ImageDescription::get_color_profile_nclx [function] [call site] 00297
2 Box_mini::get_colour_primaries [function] [call site] 00298
2 get_transfer_characteristics [function] [call site] 00299
3 static_cast<heif_transfer_characteristics> [function] [call site] 00300
2 get_matrix_coefficients [function] [call site] 00301
3 static_cast<heif_matrix_coefficients> [function] [call site] 00302
2 get_full_range_flag [function] [call site] 00303
2 encode_image [function] [call site] 00304
3 heif_context_alloc [function] [call site] 00305
3 get_encoder_or_skip_test [function] [call site] 00306
4 heif_context_get_encoder_for_format [function] [call site] 00307
5 get_filtered_encoder_descriptors [function] [call site] 00308
5 std::vector::size [function] [call site] 00309
5 heif_encoder::heif_encoder [function] [call site] 00310
5 Error::error_struct [function] [call site] 00312
6 ErrorBuffer::set_success [function] [call site] 00313
6 Error::get_error_string [function] [call site] 00314
6 Error::get_error_string [function] [call site] 00315
6 ErrorBuffer::set_error [function] [call site] 00317
6 std::stringstream::str [function] [call site] 00318
6 StreamReader::get_error [function] [call site] 00319
5 Catch::Detail::unique_ptr::get [function] [call site] 00320
3 heif_context_encode_image [function] [call site] 00324
3 heif_encoder_release [function] [call site] 00325
3 heif_context_free [function] [call site] 00326
3 heif_encoder_release [function] [call site] 00327
3 heif_image_handle_release [function] [call site] 00328
3 heif_context_free [function] [call site] 00329
2 Error::error_struct [function] [call site] 00330
2 Catch::Detail::unique_ptr::get [function] [call site] 00331
2 HeifContext::is_primary_image_set [function] [call site] 00332
2 HeifContext::set_primary_image [function] [call site] 00333
3 set_primary [function] [call site] 00334
3 set_primary [function] [call site] 00335
3 set_primary_item_id [function] [call site] 00336
2 heif_image_handle::heif_image_handle [function] [call site] 00338
2 std::move [function] [call site] 00339
1 std::shared_ptr::get [function] [call site] 00340
1 heif_image_release [function] [call site] 00341
1 heif_encoder_release [function] [call site] 00342
1 heif_image_handle_release [function] [call site] 00343
1 MemoryWriter::MemoryWriter [function] [call site] 00344
1 heif_context_write [function] [call site] 00345
2 Catch::Detail::unique_ptr::get [function] [call site] 00347
2 Error::error_struct [function] [call site] 00348
2 Catch::Detail::unique_ptr::get [function] [call site] 00349
2 Catch::JsonObjectWriter::write [function] [call site] 00350
3 Catch::JsonUtils::appendCommaNewline [function] [call site] 00351
4 Catch::JsonUtils::indent [function] [call site] 00352
2 Error::error_struct [function] [call site] 00353
2 Catch::Detail::unique_ptr::get [function] [call site] 00354
2 StreamWriter::get_data [function] [call site] 00355
2 Catch::JsonObjectWriter::write [function] [call site] 00356
3 Catch::JsonUtils::appendCommaNewline [function] [call site] 00357
1 std::shared_ptr::get [function] [call site] 00360
1 MemoryWriter::size [function] [call site] 00362