[FFmpeg-devel] [PATCH] avcodec/aacenc_tns: remove unreachable code branch

Timo Rothenpieler timo at rothenpieler.org
Sun May 12 14:19:12 EEST 2024


On 12.05.2024 10:53, Yotam Ofek wrote:
> the condition being tested was the same as the stop condition for the containing loop,
> so inside the loop it would always test positive
> ---
>   libavcodec/aacenc_tns.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/aacenc_tns.c b/libavcodec/aacenc_tns.c
> index 60888fece7..fa3cd2af39 100644
> --- a/libavcodec/aacenc_tns.c
> +++ b/libavcodec/aacenc_tns.c
> @@ -181,7 +181,7 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce)
>   
>       for (w = 0; w < sce->ics.num_windows; w++) {
>           float en[2] = {0.0f, 0.0f};
> -        int oc_start = 0, os_start = 0;
> +        int oc_start = 0;
>           int coef_start = sce->ics.swb_offset[sfb_start];
>   
>           for (g = sfb_start; g < sce->ics.num_swb && g <= sfb_end; g++) {
> @@ -202,12 +202,11 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce)
>           tns->n_filt[w] = is8 ? 1 : order != TNS_MAX_ORDER ? 2 : 3;
>           for (g = 0; g < tns->n_filt[w]; g++) {
>               tns->direction[w][g] = slant != 2 ? slant : en[g] < en[!g];
> -            tns->order[w][g] = g < tns->n_filt[w] ? order/tns->n_filt[w] : order - oc_start;
> -            tns->length[w][g] = g < tns->n_filt[w] ? sfb_len/tns->n_filt[w] : sfb_len - os_start;
> +            tns->order[w][g] = order/tns->n_filt[w];
> +            tns->length[w][g] = sfb_len/tns->n_filt[w];

Are you sure this isn't an indication that this code was meant to do 
something else, and there is actually a different issue than just dead 
code here?

>               quantize_coefs(&coefs[oc_start], tns->coef_idx[w][g], tns->coef[w][g],
>                               tns->order[w][g], c_bits);
>               oc_start += tns->order[w][g];
> -            os_start += tns->length[w][g];
>           }
>           count++;
>       }


More information about the ffmpeg-devel mailing list