The branch, master has been updated
via a0a16f2ea43e000816c1474f8295e3cf1cfd299b (commit)
from 4deb8b3a7a3fc6131c8adb90ee9e32f7f2029575 (commit)
- Log -----------------------------------------------------------------
commit a0a16f2ea43e000816c1474f8295e3cf1cfd299b
Author: David Rosca <[email protected]>
AuthorDate: Fri Aug 29 10:58:00 2025 +0200
Commit: Lynne <[email protected]>
CommitDate: Mon Oct 27 13:44:03 2025 +0000
cbs_vp9: Always update loop filter and segmentation from current frame
Fixes decoding vp90-2-09-aq2, vp90-2-15-segkey_adpq, vp90-2-15-segkey
and vp90-2-22-svc_1280x720_1 with Vulkan hwaccel.
Fixes: 26a2a76346 ("cbs_vp9: Fix VP9 passthrough")
diff --git a/libavcodec/cbs_vp9_syntax_template.c
b/libavcodec/cbs_vp9_syntax_template.c
index 9d01debb6d..0669cbed0c 100644
--- a/libavcodec/cbs_vp9_syntax_template.c
+++ b/libavcodec/cbs_vp9_syntax_template.c
@@ -392,39 +392,37 @@ static int
FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw,
memset(vp9->feature_enabled, 0, sizeof(vp9->feature_enabled));
memset(vp9->feature_value, 0, sizeof(vp9->feature_value));
memset(vp9->feature_sign, 0, sizeof(vp9->feature_sign));
+ }
- } else {
- // Modify previous state based on updates in this frame.
-
- if (current->loop_filter_delta_update) {
- for (i = 0; i < 4; i++) {
- if (current->update_ref_delta[i])
- vp9->loop_filter_ref_deltas[i] =
- current->loop_filter_ref_deltas[i];
- }
- for (i = 0; i < 2; i++) {
- if (current->update_mode_delta[i])
- vp9->loop_filter_mode_deltas[i] =
- current->loop_filter_mode_deltas[i];
- }
+ // Modify previous state based on updates in this frame.
+ if (current->loop_filter_delta_update) {
+ for (i = 0; i < 4; i++) {
+ if (current->update_ref_delta[i])
+ vp9->loop_filter_ref_deltas[i] =
+ current->loop_filter_ref_deltas[i];
+ }
+ for (i = 0; i < 2; i++) {
+ if (current->update_mode_delta[i])
+ vp9->loop_filter_mode_deltas[i] =
+ current->loop_filter_mode_deltas[i];
}
+ }
- if (current->segmentation_update_data) {
- memcpy(vp9->feature_enabled, current->feature_enabled,
- sizeof(vp9->feature_enabled));
- memcpy(vp9->feature_value, current->feature_value,
- sizeof(vp9->feature_value));
- memcpy(vp9->feature_sign, current->feature_sign,
- sizeof(vp9->feature_sign));
-
- if (current->segmentation_update_map) {
- memcpy(vp9->segmentation_tree_probs,
- current->segmentation_tree_probs,
- sizeof(vp9->segmentation_tree_probs));
- memcpy(vp9->segmentation_pred_prob,
- current->segmentation_pred_prob,
- sizeof(vp9->segmentation_pred_prob));
- }
+ if (current->segmentation_update_data) {
+ memcpy(vp9->feature_enabled, current->feature_enabled,
+ sizeof(vp9->feature_enabled));
+ memcpy(vp9->feature_value, current->feature_value,
+ sizeof(vp9->feature_value));
+ memcpy(vp9->feature_sign, current->feature_sign,
+ sizeof(vp9->feature_sign));
+
+ if (current->segmentation_update_map) {
+ memcpy(vp9->segmentation_tree_probs,
+ current->segmentation_tree_probs,
+ sizeof(vp9->segmentation_tree_probs));
+ memcpy(vp9->segmentation_pred_prob,
+ current->segmentation_pred_prob,
+ sizeof(vp9->segmentation_pred_prob));
}
}
-----------------------------------------------------------------------
Summary of changes:
libavcodec/cbs_vp9_syntax_template.c | 58 +++++++++++++++++-------------------
1 file changed, 28 insertions(+), 30 deletions(-)
hooks/post-receive
--
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]