[FFmpeg-devel] [PATCH 1/2] avcodec/vvc: Remove NOP condition check in alf_filter_luma

Zhao Zhili quinkblack at foxmail.com
Tue Jul 16 19:17:20 EEST 2024



> On Jul 17, 2024, at 00:07, Zhao Zhili <quinkblack at foxmail.com> wrote:
> 
> 
> 
>> On Jul 16, 2024, at 20:31, Nuo Mi <nuomi2021 at gmail.com> wrote:
>> 
>> On Tue, Jul 16, 2024 at 10:50 AM Zhao Zhili <quinkblack at foxmail.com <mailto:quinkblack at foxmail.com>> wrote:
>> 
>>> From: Zhao Zhili <zhilizhao at tencent.com <mailto:zhilizhao at tencent.com>>
>>> 
>>> If (y + i == vb_above) or (y + i == vb_below), the if body has no
>>> operation.
>>> 
>> 👍, How did you find this? From a compiler warning or by reading the code?
> 
> There is compiler warning. I found this issue when trying to simplify the logic
> before rewrite in ARM assembly.

Oops, I mean there is “no" compiler warning.

> 
>> 
>> 
>>> ---
>>> libavcodec/vvc/filter_template.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>> 
>>> diff --git a/libavcodec/vvc/filter_template.c
>>> b/libavcodec/vvc/filter_template.c
>>> index 9b3a0e46f7..32777452b7 100644
>>> --- a/libavcodec/vvc/filter_template.c
>>> +++ b/libavcodec/vvc/filter_template.c
>>> @@ -77,7 +77,7 @@ static void FUNC(alf_filter_luma)(uint8_t *_dst,
>>> ptrdiff_t dst_stride, const uin
>>>                const int is_near_vb_below = (y + i >= vb_pos) && (y + i
>>> <= vb_pos);
>>>                const int is_near_vb = is_near_vb_above ||
>>> is_near_vb_below;
>>> 
>>> -                if ((y + i < vb_pos) && ((y + i) >= vb_above)) {
>>> +                if ((y + i < vb_pos) && ((y + i) > vb_above)) {
>>>                    p1 = (y + i == vb_pos - 1) ? p0 : p1;
>>>                    p3 = (y + i >= vb_pos - 2) ? p1 : p3;
>>>                    p5 = (y + i >= vb_pos - 3) ? p3 : p5;
>>> @@ -85,7 +85,7 @@ static void FUNC(alf_filter_luma)(uint8_t *_dst,
>>> ptrdiff_t dst_stride, const uin
>>>                    p2 = (y + i == vb_pos - 1) ? p0 : p2;
>>>                    p4 = (y + i >= vb_pos - 2) ? p2 : p4;
>>>                    p6 = (y + i >= vb_pos - 3) ? p4 : p6;
>>> -                } else if ((y + i >= vb_pos) && ((y + i) <= vb_below)) {
>>> +                } else if ((y + i >= vb_pos) && ((y + i) < vb_below)) {
>>>                    p2 = (y + i == vb_pos    ) ? p0 : p2;
>>>                    p4 = (y + i <= vb_pos + 1) ? p2 : p4;
>>>                    p6 = (y + i <= vb_pos + 2) ? p4 : p6;
>>> --
>>> 2.42.0
>>> 
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel at ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> 
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>> 
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org <mailto:ffmpeg-devel at ffmpeg.org>
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org <mailto:ffmpeg-devel-request at ffmpeg.org> with subject "unsubscribe".
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list