Commit 425b708d for libheif
commit 425b708de4c8b0f9431bb349de0a65ddffbc3019
Author: Flávio Zavan <959292+flaviozavan@users.noreply.github.com>
Date: Thu May 21 19:13:34 2026 +0300
svt: don't allow getting qp unless it's set
Prevents getting the qp parameter unless `qp_set` is `true`. Without this
check, no distinction is made between real values and uninitialized ones, which
can lead to false assumptions.
diff --git a/libheif/plugins/encoder_svt.cc b/libheif/plugins/encoder_svt.cc
index 6aa01f59..5635128a 100644
--- a/libheif/plugins/encoder_svt.cc
+++ b/libheif/plugins/encoder_svt.cc
@@ -475,10 +475,16 @@ heif_error svt_get_parameter_integer(void* encoder_raw, const char* name, int* v
else if (strcmp(name, heif_encoder_parameter_name_lossless) == 0) {
return svt_get_parameter_lossless(encoder, value);
}
+ else if (strcmp(name, kParam_qp) == 0) {
+ if (!encoder->qp_set) {
+ return heif_error_unsupported_parameter;
+ }
+ *value = encoder->qp;
+ return heif_error_ok;
+ }
get_value(kParam_min_q, min_q);
get_value(kParam_max_q, max_q);
- get_value(kParam_qp, qp); // TODO: what if qp was not set ?
get_value(kParam_threads, threads);
get_value(kParam_speed, speed);
get_value("tile-rows", tile_rows);