diff mbox series

[FFmpeg-devel] avcodec/cbs_av1: fix setting FrameWidth in frame_size_with_refs()

Message ID 20200823234755.15326-1-jamrial@gmail.com
State Accepted
Commit 98f7e0081b998d0a31bda2a3214856435e321850
Headers show
Series [FFmpeg-devel] avcodec/cbs_av1: fix setting FrameWidth in frame_size_with_refs() | expand

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

James Almer Aug. 23, 2020, 11:47 p.m. UTC
Section 5.9.7 of the spec states

    UpscaledWidth = RefUpscaledWidth[ ref_frame_idx[ i ] ]
    FrameWidth    = UpscaledWidth
    FrameHeight   = RefFrameHeight[ ref_frame_idx[ i ] ]
    RenderWidth   = RefRenderWidth[ ref_frame_idx[ i ] ]
    RenderHeight  = RefRenderHeight[ ref_frame_idx[ i ] ]

Meaning FrameWidth must not be set to RefFrameWidth[ ref_frame_idx[ i ] ]
as we're currently doing.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/cbs_av1_syntax_template.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

James Almer Aug. 25, 2020, 6:26 p.m. UTC | #1
On 8/23/2020 8:47 PM, James Almer wrote:
> Section 5.9.7 of the spec states
> 
>     UpscaledWidth = RefUpscaledWidth[ ref_frame_idx[ i ] ]
>     FrameWidth    = UpscaledWidth
>     FrameHeight   = RefFrameHeight[ ref_frame_idx[ i ] ]
>     RenderWidth   = RefRenderWidth[ ref_frame_idx[ i ] ]
>     RenderHeight  = RefRenderHeight[ ref_frame_idx[ i ] ]
> 
> Meaning FrameWidth must not be set to RefFrameWidth[ ref_frame_idx[ i ] ]
> as we're currently doing.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/cbs_av1_syntax_template.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
> index dedd549572..d6b79dacd3 100644
> --- a/libavcodec/cbs_av1_syntax_template.c
> +++ b/libavcodec/cbs_av1_syntax_template.c
> @@ -553,7 +553,7 @@ static int FUNC(frame_size_with_refs)(CodedBitstreamContext *ctx, RWContext *rw,
>              infer(render_height_minus_1, ref->render_height - 1);
>  
>              priv->upscaled_width = ref->upscaled_width;
> -            priv->frame_width    = ref->frame_width;
> +            priv->frame_width    = priv->upscaled_width;
>              priv->frame_height   = ref->frame_height;
>              priv->render_width   = ref->render_width;
>              priv->render_height  = ref->render_height;
> 

Will apply soon.
Derek Buitenhuis Aug. 25, 2020, 9:38 p.m. UTC | #2
On 24/08/2020 00:47, James Almer wrote:
> Section 5.9.7 of the spec states
> 
>     UpscaledWidth = RefUpscaledWidth[ ref_frame_idx[ i ] ]
>     FrameWidth    = UpscaledWidth
>     FrameHeight   = RefFrameHeight[ ref_frame_idx[ i ] ]
>     RenderWidth   = RefRenderWidth[ ref_frame_idx[ i ] ]
>     RenderHeight  = RefRenderHeight[ ref_frame_idx[ i ] ]
> 
> Meaning FrameWidth must not be set to RefFrameWidth[ ref_frame_idx[ i ] ]
> as we're currently doing.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/cbs_av1_syntax_template.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

LGTM. (I went and double checked my own parse too ;))

- Derek
James Almer Aug. 25, 2020, 9:48 p.m. UTC | #3
On 8/25/2020 6:38 PM, Derek Buitenhuis wrote:
> On 24/08/2020 00:47, James Almer wrote:
>> Section 5.9.7 of the spec states
>>
>>     UpscaledWidth = RefUpscaledWidth[ ref_frame_idx[ i ] ]
>>     FrameWidth    = UpscaledWidth
>>     FrameHeight   = RefFrameHeight[ ref_frame_idx[ i ] ]
>>     RenderWidth   = RefRenderWidth[ ref_frame_idx[ i ] ]
>>     RenderHeight  = RefRenderHeight[ ref_frame_idx[ i ] ]
>>
>> Meaning FrameWidth must not be set to RefFrameWidth[ ref_frame_idx[ i ] ]
>> as we're currently doing.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>  libavcodec/cbs_av1_syntax_template.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> LGTM. (I went and double checked my own parse too ;))

Did you make the same mistake? :p

Pushed, thanks.

> 
> - Derek
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
diff mbox series

Patch

diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
index dedd549572..d6b79dacd3 100644
--- a/libavcodec/cbs_av1_syntax_template.c
+++ b/libavcodec/cbs_av1_syntax_template.c
@@ -553,7 +553,7 @@  static int FUNC(frame_size_with_refs)(CodedBitstreamContext *ctx, RWContext *rw,
             infer(render_height_minus_1, ref->render_height - 1);
 
             priv->upscaled_width = ref->upscaled_width;
-            priv->frame_width    = ref->frame_width;
+            priv->frame_width    = priv->upscaled_width;
             priv->frame_height   = ref->frame_height;
             priv->render_width   = ref->render_width;
             priv->render_height  = ref->render_height;