[FFmpeg-devel] [PATCH] avcodec/vvc decode: ALF filtering without CC-ALF

2024-12-02 Thread Chris Warrington via ffmpeg-devel
When a stream has ALF filtering enabled but not CC-ALF, the CC-ALF set indexes 
alf->ctb_cc_idc are being read uninitialized during ALF filtering.

This change initializes alf->ctb_cc_idc whenever ALF is enabled.

Ref. https://trac.ffmpeg.org/ticket/11325

---
 libavcodec/vvc/ctu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vvc/ctu.c b/libavcodec/vvc/ctu.c
index a32abdeb62..c972dcc33e 100644
--- a/libavcodec/vvc/ctu.c
+++ b/libavcodec/vvc/ctu.c
@@ -2288,6 +2288,7 @@ static void alf_params(VVCLocalContext *lc, const int rx, 
const int ry)
 ALFParams *alf= &CTB(fc->tab.alf, rx, ry);

 alf->ctb_flag[LUMA] = alf->ctb_flag[CB] = alf->ctb_flag[CR] = 0;
+alf->ctb_cc_idc[0] = alf->ctb_cc_idc[1] = 0;
 if (sh->sh_alf_enabled_flag) {
 alf->ctb_flag[LUMA] = ff_vvc_alf_ctb_flag(lc, rx, ry, LUMA);
 if (alf->ctb_flag[LUMA]) {
@@ -2318,7 +2319,6 @@ static void alf_params(VVCLocalContext *lc, const int rx, 
const int ry)
 const uint8_t cc_enabled[] = { sh->sh_alf_cc_cb_enabled_flag, 
sh->sh_alf_cc_cr_enabled_flag };
 const uint8_t cc_aps_id[]  = { sh->sh_alf_cc_cb_aps_id, 
sh->sh_alf_cc_cr_aps_id };
 for (int i = 0; i < 2; i++) {
-alf->ctb_cc_idc[i] = 0;
 if (cc_enabled[i]) {
 const VVCALF *aps = fc->ps.alf_list[cc_aps_id[i]];
 alf->ctb_cc_idc[i] = ff_vvc_alf_ctb_cc_idc(lc, rx, ry, i, 
aps->num_cc_filters[i]);
--
2.43.0


This message and any attachment are confidential and may be privileged or 
otherwise protected from disclosure. If you are not the intended recipient, 
please notify the sender immediately and delete this message and any attachment 
from your system. Do not copy them or disclose the contents to any other person.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] avcodec/vvc decode: ALF filtering without CC-ALF

2024-12-03 Thread Chris Warrington via ffmpeg-devel
Nuo Mi wrote:
> This will introduce two writes for all blocks, even if there is no CC ALF.
How about checking the sps_ccalf_enabled_flag in ff_vvc_alf_filter?

That makes sense too, but I'd think you'd need to check both 
sps_ccalf_enabled_flag and the slice header 
sh_alf_cc_cb_enabled_flag/sh_alf_cc_cr_enabled_flag or the similar picture 
header values.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".