[FFmpeg-devel] [PATCH 1/9] cbs_av1: fix incorrect data type

Wang, Fei W fei.w.wang at intel.com
Mon Jul 5 04:32:13 EEST 2021


On Fri, 2021-07-02 at 08:29 -0300, James Almer wrote:
> On 7/2/2021 2:55 AM, Wang, Fei W wrote:
> > On Thu, 2021-07-01 at 09:41 -0300, James Almer wrote:
> > > On 6/17/2021 3:10 AM, Fei Wang wrote:
> > > > shifted_order_hints is computed by data with int plus data with
> > > > int.
> > > > Switch to int8_t may lose its precision.
> > > > 
> > > > Signed-off-by: Fei Wang <fei.w.wang at intel.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 6fe6e9a4f3..956d45e132 100644
> > > > --- a/libavcodec/cbs_av1_syntax_template.c
> > > > +++ b/libavcodec/cbs_av1_syntax_template.c
> > > > @@ -355,7 +355,7 @@ static int
> > > > FUNC(set_frame_refs)(CodedBitstreamContext *ctx, RWContext *rw,
> > > >            AV1_REF_FRAME_ALTREF2, AV1_REF_FRAME_ALTREF
> > > >        };
> > > >        int8_t ref_frame_idx[AV1_REFS_PER_FRAME],
> > > > used_frame[AV1_NUM_REF_FRAMES];
> > > > -    int8_t shifted_order_hints[AV1_NUM_REF_FRAMES];
> > > > +    int shifted_order_hints[AV1_NUM_REF_FRAMES];
> > > 
> > > Would int16_t be enough? If so, use that.
> > 
> > int16_t can fixed my clip. But as I mentioned in commit message,
> > this
> > variable is get with int plus int, switch to int16_t may still has
> > potential threat.
> 
> It wont since seq->order_hint_bits_minus_1 has a range of 0-7,
> meaning 
> cur_frame_hint can be at most 128. Similar situation for the return 
> value of cbs_av1_get_relative_dist().

That's make sense. Thanks James. I will submit V2 to use int16_t. 

Thanks
Fei

> 
> > 
> > Also when shifted_order_hints is called, it turns back to int
> > again:
> > 
> >      int hint = shifted_order_hints[i];
> 
> For arrays we prefer fixed size types, whereas for scalars native
> sizes 
> are better.
> 
> > 
> > Thanks
> > Fei
> > 
> > > 
> > > LGTM either way.
> > > 
> > > >        int cur_frame_hint, latest_order_hint,
> > > > earliest_order_hint,
> > > > ref;
> > > >        int i, j;
> > > >    
> > > > 
> > > 
> > > _______________________________________________
> > > 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
> > 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
> 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