@@ -483,26 +483,22 @@ void heif_gimi_content_id_release(const char* id)
483
483
}
484
484
*/
485
485
486
- extern void set_default_encoding_options (heif_encoding_options& options);
487
- extern void copy_options (heif_encoding_options& options, const heif_encoding_options& input_options);
488
-
489
486
490
487
struct heif_error heif_track_encode_sequence_image (struct heif_track * track,
491
488
const struct heif_image * input_image,
492
489
struct heif_encoder * encoder,
493
490
const struct heif_encoding_options * input_options,
494
491
const struct heif_sequence_encoding_options * seq_input_options)
495
492
{
496
- heif_encoding_options options;
493
+ heif_encoding_options* options = heif_encoding_options_alloc () ;
497
494
heif_color_profile_nclx nclx;
498
- set_default_encoding_options (options);
499
495
if (input_options) {
500
- copy_options (options, * input_options);
496
+ heif_encoding_options_copy (options, input_options);
501
497
502
- if (options. output_nclx_profile == nullptr ) {
498
+ if (options-> output_nclx_profile == nullptr ) {
503
499
auto input_nclx = input_image->image ->get_color_profile_nclx ();
504
500
if (input_nclx) {
505
- options. output_nclx_profile = &nclx;
501
+ options-> output_nclx_profile = &nclx;
506
502
nclx.version = 1 ;
507
503
nclx.color_primaries = (enum heif_color_primaries) input_nclx->get_colour_primaries ();
508
504
nclx.transfer_characteristics = (enum heif_transfer_characteristics) input_nclx->get_transfer_characteristics ();
@@ -514,15 +510,19 @@ struct heif_error heif_track_encode_sequence_image(struct heif_track* track,
514
510
515
511
auto visual_track = std::dynamic_pointer_cast<Track_Visual>(track->track );
516
512
if (!visual_track) {
513
+ heif_encoding_options_free (options);
514
+
517
515
return {heif_error_Usage_error,
518
516
heif_suberror_Invalid_parameter_value,
519
517
" Cannot encode image for non-visual track." };
520
518
}
521
519
522
520
auto error = visual_track->encode_image (input_image->image ,
523
521
encoder,
524
- options,
522
+ * options,
525
523
heif_image_input_class_normal);
524
+ heif_encoding_options_free (options);
525
+
526
526
if (error.error_code ) {
527
527
return error.error_struct (track->context .get ());
528
528
}
0 commit comments