• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavcodec/

Lines Matching refs:sce

311 static void encode_window_bands_info(AACEncContext *s, SingleChannelElement *sce,
317 const int max_sfb = sce->ics.max_sfb;
318 const int run_bits = sce->ics.num_windows == 1 ? 5 : 3;
325 abs_pow34_v(s->scoefs, sce->coeffs, 1024);
333 size = sce->ics.swb_sizes[swb];
334 if (sce->zeroes[win*16 + swb]) {
350 rd += quantize_band_cost(s, sce->coeffs + start + w*128,
352 sce->sf_idx[(win+w)*16+swb], cb,
357 if ( run_value_bits[sce->ics.num_windows == 8][path[swb][cb].run]
358 != run_value_bits[sce->ics.num_windows == 8][path[swb][cb].run+1])
375 start += sce->ics.swb_sizes[swb];
398 memset(sce->zeroes + win*16 + start, !stackcb[i], count);
401 sce->band_type[win*16 + start] = stackcb[i];
412 static void codebook_trellis_rate(AACEncContext *s, SingleChannelElement *sce,
418 const int max_sfb = sce->ics.max_sfb;
419 const int run_bits = sce->ics.num_windows == 1 ? 5 : 3;
426 abs_pow34_v(s->scoefs, sce->coeffs, 1024);
434 size = sce->ics.swb_sizes[swb];
435 if (sce->zeroes[win*16 + swb]) {
438 if ( run_value_bits[sce->ics.num_windows == 8][path[swb][0].run]
439 != run_value_bits[sce->ics.num_windows == 8][path[swb][0].run+1])
460 int startcb = sce->band_type[win*16+swb];
472 rd += quantize_band_cost(s, sce->coeffs + start + w*128,
474 sce->sf_idx[(win+w)*16+swb], cb,
479 if ( run_value_bits[sce->ics.num_windows == 8][path[swb][cb].run]
480 != run_value_bits[sce->ics.num_windows == 8][path[swb][cb].run+1])
497 start += sce->ics.swb_sizes[swb];
521 memset(sce->zeroes + win*16 + start, !stackcb[i], count);
524 sce->band_type[win*16 + start] = stackcb[i];
554 SingleChannelElement *sce,
568 float t = fabsf(sce->coeffs[i]);
578 memset(sce->sf_idx, 0, sizeof(sce->sf_idx));
579 memset(sce->zeroes, 1, sizeof(sce->zeroes));
617 abs_pow34_v(s->scoefs, sce->coeffs, 1024);
618 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
620 for (g = 0; g < sce->ics.num_swb; g++) {
621 const float *coefs = sce->coeffs + start;
628 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
631 sce->zeroes[(w+w2)*16+g] = 1;
634 sce->zeroes[(w+w2)*16+g] = 0;
636 for (i = 0; i < sce->ics.swb_sizes[g]; i++) {
653 maxval = find_max_val(sce->ics.group_len[w], sce->ics.swb_sizes[g], s->scoefs+start);
656 int cb = find_min_book(maxval, sce->sf_idx[w*16+g]);
657 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
659 dist += quantize_band_cost(s, coefs + w2*128, s->scoefs + start + w2*128, sce->ics.swb_sizes[g],
680 sce->zeroes[w*16+g] = !nz;
681 start += sce->ics.swb_sizes[g];
695 sce->sf_idx[bandaddr[idx]] = minq + q0;
700 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w])
701 for (g = 0; g < sce->ics.num_swb; g++)
702 for (w2 = 1; w2 < sce->ics.group_len[w]; w2++)
703 sce->sf_idx[(w+w2)*16+g] = sce->sf_idx[w*16+g];
711 SingleChannelElement *sce,
726 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
727 for (g = 0; g < sce->ics.num_swb; g++) {
730 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
734 sce->zeroes[(w+w2)*16+g] = 1;
740 sce->zeroes[w*16+g] = !nz;
746 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
747 for (g = 0; g < sce->ics.num_swb; g++) {
748 if (sce->zeroes[w*16+g]) {
749 sce->sf_idx[w*16+g] = SCALE_ONE_POS;
752 sce->sf_idx[w*16+g] = SCALE_ONE_POS + FFMIN(log2f(uplims[w*16+g]/minthr)*4,59);
758 abs_pow34_v(s->scoefs, sce->coeffs, 1024);
760 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
762 for (g = 0; g < sce->ics.num_swb; g++) {
764 maxvals[w*16+g] = find_max_val(sce->ics.group_len[w], sce->ics.swb_sizes[g], scaled);
765 start += sce->ics.swb_sizes[g];
773 minscaler = sce->sf_idx[0];
780 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
782 for (g = 0; g < sce->ics.num_swb; g++) {
783 const float *coefs = sce->coeffs + start;
789 if (sce->zeroes[w*16+g] || sce->sf_idx[w*16+g] >= 218) {
790 start += sce->ics.swb_sizes[g];
793 minscaler = FFMIN(minscaler, sce->sf_idx[w*16+g]);
794 cb = find_min_book(maxvals[w*16+g], sce->sf_idx[w*16+g]);
795 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
799 sce->ics.swb_sizes[g],
800 sce->sf_idx[w*16+g],
809 bits += ff_aac_scalefactor_bits[sce->sf_idx[w*16+g] - prev + SCALE_DIFF_ZERO];
812 start += sce->ics.swb_sizes[g];
813 prev = sce->sf_idx[w*16+g];
818 if (sce->sf_idx[i] < 218 - qstep)
819 sce->sf_idx[i] += qstep;
822 if (sce->sf_idx[i] > 60 - qstep)
823 sce->sf_idx[i] -= qstep;
826 if (!qstep && tbits > destbits*1.02 && sce->sf_idx[0] < 217)
832 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
833 for (g = 0; g < sce->ics.num_swb; g++) {
834 int prevsc = sce->sf_idx[w*16+g];
835 if (dists[w*16+g] > uplims[w*16+g] && sce->sf_idx[w*16+g] > 60) {
836 if (find_min_book(maxvals[w*16+g], sce->sf_idx[w*16+g]-1))
837 sce->sf_idx[w*16+g]--;
839 sce->sf_idx[w*16+g]-=2;
841 sce->sf_idx[w*16+g] = av_clip(sce->sf_idx[w*16+g], minscaler, minscaler + SCALE_MAX_DIFF);
842 sce->sf_idx[w*16+g] = FFMIN(sce->sf_idx[w*16+g], 219);
843 if (sce->sf_idx[w*16+g] != prevsc)
845 sce->band_type[w*16+g] = find_min_book(maxvals[w*16+g], sce->sf_idx[w*16+g]);
853 SingleChannelElement *sce,
859 float distfact = ((sce->ics.num_windows > 1) ? 85.80 : 147.84) / lambda;
862 if (sce->ics.num_windows == 1) {
865 if (i - start >= sce->ics.swb_sizes[curband]) {
866 start += sce->ics.swb_sizes[curband];
869 if (sce->coeffs[i]) {
870 avg_energy += sce->coeffs[i] * sce->coeffs[i];
877 const float *coeffs = sce->coeffs + w*128;
880 if (i - start >= sce->ics.swb_sizes[curband]) {
881 start += sce->ics.swb_sizes[curband];
895 for (i = 0; i < FF_ARRAY_ELEMS(sce->sf_idx); i++)
896 sce->sf_idx[i] = SCALE_ONE_POS;
899 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
901 for (g = 0; g < sce->ics.num_swb; g++) {
902 float *coefs = sce->coeffs + start;
903 const int size = sce->ics.swb_sizes[g];
910 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++)
914 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
919 if (sce->ics.num_windows == 1 && maxval < t) {
925 if (sce->ics.num_windows == 1) {
938 memset(sce->sf_idx, 0, sizeof(sce->sf_idx));
939 abs_pow34_v(s->scoefs, sce->coeffs, 1024);
940 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
942 for (g = 0; g < sce->ics.num_swb; g++) {
943 const float *coefs = sce->coeffs + start;
945 const int size = sce->ics.swb_sizes[g];
950 sce->zeroes[w*16+g] = 1;
954 sce->zeroes[w*16+g] = 0;
961 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
965 sce->ics.swb_sizes[g],
976 sce->sf_idx[w*16+g] = prev_scf;
991 sce->sf_idx[w*16+g] = av_clip(scf, min_scf, max_scf);
1002 minq = sce->sf_idx[0] ? sce->sf_idx[0] : INT_MAX;
1004 if (!sce->sf_idx[i])
1005 sce->sf_idx[i] = sce->sf_idx[i-1];
1007 minq = FFMIN(minq, sce->sf_idx[i]);
1014 if (!sce->sf_idx[i])
1015 sce->sf_idx[i] = sce->sf_idx[i+1];
1016 sce->sf_idx[i] = av_clip(sce->sf_idx[i], minq, maxsf);
1021 SingleChannelElement *sce,
1027 memset(sce->sf_idx, 0, sizeof(sce->sf_idx));
1028 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
1029 for (g = 0; g < sce->ics.num_swb; g++) {
1030 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
1033 sce->sf_idx[(w+w2)*16+g] = 218;
1034 sce->zeroes[(w+w2)*16+g] = 1;
1036 sce->sf_idx[(w+w2)*16+g] = av_clip(SCALE_ONE_POS - SCALE_DIV_512 + log2f(band->threshold), 80, 218);
1037 sce->zeroes[(w+w2)*16+g] = 0;
1039 minq = FFMIN(minq, sce->sf_idx[(w+w2)*16+g]);
1044 sce->sf_idx[i] = 140;
1045 //av_clip(sce->sf_idx[i], minq, minq + SCALE_MAX_DIFF - 1);
1048 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w])
1049 for (g = 0; g < sce->ics.num_swb; g++)
1050 for (w2 = 1; w2 < sce->ics.group_len[w]; w2++)
1051 sce->sf_idx[(w+w2)*16+g] = sce->sf_idx[w*16+g];