I did consider putting the whole thing outside however I noticed that the outer loop modifies sf->idx[0] (by having w and g start from 0) which is also the initial value for both the noise and the normal minscaler vars. I'm pretty sure it wouldn't have caused a problem to just put it outside and only use the last value for the minscaler_n but I decided it's best to play it safe.
On 15 April 2015 at 17:55, Claudio Freire <klaussfre...@gmail.com> wrote: > On Wed, Apr 15, 2015 at 8:18 AM, Rostislav Pehlivanov > <atomnu...@gmail.com> wrote: > > @@ -828,9 +882,17 @@ static void > search_for_quantizers_twoloop(AVCodecContext *avctx, > > > > fflag = 0; > > minscaler = av_clip(minscaler, 60, 255 - SCALE_MAX_DIFF); > > + > > + for (w = 0; w < sce->ics.num_windows; w += > sce->ics.group_len[w]) > > + for (g = 0; g < sce->ics.num_swb; g++) > > + if (sce->band_type[w*16+g] == NOISE_BT) > > + sce->sf_idx[w*16+g] = av_clip(noise_sf[w*16+g], > minscaler_n, minscaler_n + SCALE_MAX_DIFF); > > + > > for (w = 0; w < sce->ics.num_windows; w += > sce->ics.group_len[w]) { > > for (g = 0; g < sce->ics.num_swb; g++) { > > int prevsc = sce->sf_idx[w*16+g]; > > + if (sce->band_type[w*16+g] == NOISE_BT) > > + continue; > > if (dists[w*16+g] > uplims[w*16+g] && > sce->sf_idx[w*16+g] > 60) { > > if (find_min_book(maxvals[w*16+g], > sce->sf_idx[w*16+g]-1)) > > sce->sf_idx[w*16+g]--; > > > This is still done at each iteration rather than at the end. > > Still, it will be a correct result nonetheless (it's idempotent now), > so I believe it can be committed. > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel