This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch release/8.0
in repository ffmpeg.
The following commit(s) were added to refs/heads/release/8.0 by this push:
new a6a220ed33 cbs_vp9: Always update loop filter and segmentation from
current frame
a6a220ed33 is described below
commit a6a220ed33be8155d45f9de59ffbc189273fd747
Author: David Rosca <[email protected]>
AuthorDate: Fri Aug 29 10:58:00 2025 +0200
Commit: Kacper Michajłow <[email protected]>
CommitDate: Thu Jan 1 13:49:08 2026 +0100
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")
(cherry picked from commit a0a16f2ea43e000816c1474f8295e3cf1cfd299b)
---
libavcodec/cbs_vp9_syntax_template.c | 58 +++++++++++++++++-------------------
1 file changed, 28 insertions(+), 30 deletions(-)
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));
}
}
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]