亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ac3.c

?? ffmpeg移植到symbian的全部源代碼
?? C
字號:
/* * Common code between AC3 encoder and decoder * Copyright (c) 2000 Fabrice Bellard. * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *//** * @file ac3.c * Common code between AC3 encoder and decoder. */#include "avcodec.h"#include "ac3.h"#include "bitstream.h"static uint8_t band_start_tab[51];static uint8_t bin_to_band_tab[253];static inline int calc_lowcomp1(int a, int b0, int b1, int c){    if ((b0 + 256) == b1) {        a = c;    } else if (b0 > b1) {        a = FFMAX(a - 64, 0);    }    return a;}static inline int calc_lowcomp(int a, int b0, int b1, int bin){    if (bin < 7) {        return calc_lowcomp1(a, b0, b1, 384);    } else if (bin < 20) {        return calc_lowcomp1(a, b0, b1, 320);    } else {        return FFMAX(a - 128, 0);    }}void ff_ac3_bit_alloc_calc_psd(int8_t *exp, int start, int end, int16_t *psd,                               int16_t *band_psd){    int bin, i, j, k, end1, v;    /* exponent mapping to PSD */    for(bin=start;bin<end;bin++) {        psd[bin]=(3072 - (exp[bin] << 7));    }    /* PSD integration */    j=start;    k=bin_to_band_tab[start];    do {        v=psd[j];        j++;        end1 = FFMIN(band_start_tab[k+1], end);        for(i=j;i<end1;i++) {            /* logadd */            int adr = FFMIN(FFABS(v - psd[j]) >> 1, 255);            v = FFMAX(v, psd[j]) + ff_ac3_log_add_tab[adr];            j++;        }        band_psd[k]=v;        k++;    } while (end > band_start_tab[k]);}void ff_ac3_bit_alloc_calc_mask(AC3BitAllocParameters *s, int16_t *band_psd,                                int start, int end, int fast_gain, int is_lfe,                                int dba_mode, int dba_nsegs, uint8_t *dba_offsets,                                uint8_t *dba_lengths, uint8_t *dba_values,                                int16_t *mask){    int16_t excite[50]; /* excitation */    int bin, k;    int bndstrt, bndend, begin, end1, tmp;    int lowcomp, fastleak, slowleak;    /* excitation function */    bndstrt = bin_to_band_tab[start];    bndend = bin_to_band_tab[end-1] + 1;    if (bndstrt == 0) {        lowcomp = 0;        lowcomp = calc_lowcomp1(lowcomp, band_psd[0], band_psd[1], 384);        excite[0] = band_psd[0] - fast_gain - lowcomp;        lowcomp = calc_lowcomp1(lowcomp, band_psd[1], band_psd[2], 384);        excite[1] = band_psd[1] - fast_gain - lowcomp;        begin = 7;        for (bin = 2; bin < 7; bin++) {            if (!(is_lfe && bin == 6))                lowcomp = calc_lowcomp1(lowcomp, band_psd[bin], band_psd[bin+1], 384);            fastleak = band_psd[bin] - fast_gain;            slowleak = band_psd[bin] - s->slow_gain;            excite[bin] = fastleak - lowcomp;            if (!(is_lfe && bin == 6)) {                if (band_psd[bin] <= band_psd[bin+1]) {                    begin = bin + 1;                    break;                }            }        }        end1=bndend;        if (end1 > 22) end1=22;        for (bin = begin; bin < end1; bin++) {            if (!(is_lfe && bin == 6))                lowcomp = calc_lowcomp(lowcomp, band_psd[bin], band_psd[bin+1], bin);            fastleak = FFMAX(fastleak - s->fast_decay, band_psd[bin] - fast_gain);            slowleak = FFMAX(slowleak - s->slow_decay, band_psd[bin] - s->slow_gain);            excite[bin] = FFMAX(fastleak - lowcomp, slowleak);        }        begin = 22;    } else {        /* coupling channel */        begin = bndstrt;        fastleak = (s->cpl_fast_leak << 8) + 768;        slowleak = (s->cpl_slow_leak << 8) + 768;    }    for (bin = begin; bin < bndend; bin++) {        fastleak = FFMAX(fastleak - s->fast_decay, band_psd[bin] - fast_gain);        slowleak = FFMAX(slowleak - s->slow_decay, band_psd[bin] - s->slow_gain);        excite[bin] = FFMAX(fastleak, slowleak);    }    /* compute masking curve */    for (bin = bndstrt; bin < bndend; bin++) {        tmp = s->db_per_bit - band_psd[bin];        if (tmp > 0) {            excite[bin] += tmp >> 2;        }        mask[bin] = FFMAX(ff_ac3_hearing_threshold_tab[bin >> s->sr_shift][s->sr_code], excite[bin]);    }    /* delta bit allocation */    if (dba_mode == DBA_REUSE || dba_mode == DBA_NEW) {        int band, seg, delta;        band = 0;        for (seg = 0; seg < FFMIN(8, dba_nsegs); seg++) {            band = FFMIN(49, band + dba_offsets[seg]);            if (dba_values[seg] >= 4) {                delta = (dba_values[seg] - 3) << 7;            } else {                delta = (dba_values[seg] - 4) << 7;            }            for (k = 0; k < dba_lengths[seg]; k++) {                mask[band] += delta;                band++;            }        }    }}void ff_ac3_bit_alloc_calc_bap(int16_t *mask, int16_t *psd, int start, int end,                               int snr_offset, int floor,                               const uint8_t *bap_tab, uint8_t *bap){    int i, j, k, end1, v, address;    /* special case, if snr offset is -960, set all bap's to zero */    if(snr_offset == -960) {        memset(bap, 0, 256);        return;    }    i = start;    j = bin_to_band_tab[start];    do {        v = (FFMAX(mask[j] - snr_offset - floor, 0) & 0x1FE0) + floor;        end1 = FFMIN(band_start_tab[j] + ff_ac3_critical_band_size_tab[j], end);        for (k = i; k < end1; k++) {            address = av_clip((psd[i] - v) >> 5, 0, 63);            bap[i] = bap_tab[address];            i++;        }    } while (end > band_start_tab[j++]);}/* AC3 bit allocation. The algorithm is the one described in the AC3   spec. */void ac3_parametric_bit_allocation(AC3BitAllocParameters *s, uint8_t *bap,                                   int8_t *exp, int start, int end,                                   int snr_offset, int fast_gain, int is_lfe,                                   int dba_mode, int dba_nsegs,                                   uint8_t *dba_offsets, uint8_t *dba_lengths,                                   uint8_t *dba_values){    int16_t psd[256];   /* scaled exponents */    int16_t band_psd[50]; /* interpolated exponents */    int16_t mask[50];   /* masking value */    ff_ac3_bit_alloc_calc_psd(exp, start, end, psd, band_psd);    ff_ac3_bit_alloc_calc_mask(s, band_psd, start, end, fast_gain, is_lfe,                               dba_mode, dba_nsegs, dba_offsets, dba_lengths, dba_values,                               mask);    ff_ac3_bit_alloc_calc_bap(mask, psd, start, end, snr_offset, s->floor,                              ff_ac3_bap_tab, bap);}/** * Initializes some tables. * note: This function must remain thread safe because it is called by the *       AVParser init code. */av_cold void ac3_common_init(void){    int i, j, k, l, v;    /* compute bndtab and masktab from bandsz */    k = 0;    l = 0;    for(i=0;i<50;i++) {        band_start_tab[i] = l;        v = ff_ac3_critical_band_size_tab[i];        for(j=0;j<v;j++) bin_to_band_tab[k++]=i;        l += v;    }    band_start_tab[50] = l;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成精品久久久久| 欧美一区二区三区成人| 狠狠狠色丁香婷婷综合久久五月| 亚洲成人精品一区| 亚洲午夜日本在线观看| 亚洲风情在线资源站| 亚洲成人动漫一区| 蜜臀a∨国产成人精品| 美腿丝袜在线亚洲一区| 青青青伊人色综合久久| 韩国v欧美v日本v亚洲v| 国产精品自拍三区| 色综合色狠狠天天综合色| www.66久久| 欧美综合久久久| 欧美一区二区黄色| 国产网站一区二区三区| 亚洲精品视频在线看| 亚洲成人动漫在线观看| 九色综合国产一区二区三区| 国产99久久久国产精品潘金网站| 99久久久国产精品| 精品视频全国免费看| 欧美成人猛片aaaaaaa| 中文成人av在线| 亚洲一区二区精品久久av| 久久99精品久久只有精品| 成人爱爱电影网址| 欧美卡1卡2卡| 中文字幕不卡的av| 午夜精品福利一区二区三区蜜桃| 激情图片小说一区| 在线中文字幕不卡| 精品粉嫩aⅴ一区二区三区四区| 欧美经典一区二区| 亚洲图片有声小说| 成人免费视频一区二区| 欧美日韩亚洲综合在线| 国产丝袜在线精品| 日韩av在线播放中文字幕| www.欧美色图| 精品国产一区二区三区不卡| 国产精品美女久久福利网站| 日本在线不卡视频| 欧美性受xxxx| 国产精品色呦呦| 久久精品国产成人一区二区三区 | 成人免费小视频| 一二三四区精品视频| 国产乱淫av一区二区三区| 欧美午夜寂寞影院| 中文字幕欧美国产| 国产麻豆精品视频| 欧美成人bangbros| 免费视频最近日韩| 欧美日韩国产大片| 一区二区三区日韩在线观看| 国产精品一区在线观看你懂的| 欧美精品色一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 成人性视频免费网站| 精品对白一区国产伦| 免费在线观看日韩欧美| 69堂成人精品免费视频| 一级日本不卡的影视| 99精品视频一区二区三区| 国产日产亚洲精品系列| 国产乱色国产精品免费视频| 久久综合成人精品亚洲另类欧美| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕中文字幕一区| 国产成人一级电影| 亚洲国产精品国自产拍av| 日韩av中文在线观看| 在线电影欧美成精品| 丝袜美腿亚洲色图| 9191国产精品| 美腿丝袜亚洲色图| 2014亚洲片线观看视频免费| 韩国三级在线一区| 久久精品无码一区二区三区| 国产精品影视在线观看| 日本一区二区三区四区在线视频 | 精品女同一区二区| 久久精品国产99国产精品| 日韩视频免费观看高清完整版| 日产国产高清一区二区三区 | 91丨porny丨中文| 亚洲激情图片qvod| 51精品秘密在线观看| 蜜臀av亚洲一区中文字幕| 欧美成人在线直播| 国产福利精品一区| 亚洲免费成人av| 在线播放欧美女士性生活| 美女脱光内衣内裤视频久久影院| 亚洲精品在线观看网站| 不卡视频在线看| 亚洲午夜三级在线| 精品国产3级a| 91理论电影在线观看| 日日噜噜夜夜狠狠视频欧美人 | 欧美夫妻性生活| 国产一区二区看久久| 亚洲视频中文字幕| 欧美一级在线视频| 99精品偷自拍| 青青草国产成人av片免费| 国产亚洲一区二区三区在线观看| 91视频观看视频| 精品一区二区三区视频 | 日韩一区二区三区在线观看| 国内成人精品2018免费看| 日韩在线观看一区二区| 久久人人超碰精品| 91福利精品第一导航| 国产呦精品一区二区三区网站| 亚洲免费伊人电影| 精品免费日韩av| 欧美色精品天天在线观看视频| 久久激五月天综合精品| 亚洲自拍偷拍麻豆| 久久品道一品道久久精品| 欧美日韩成人激情| 成人免费看视频| 麻豆精品在线看| 亚洲一区二区三区中文字幕在线| 久久久午夜电影| 欧美日韩精品欧美日韩精品| 波波电影院一区二区三区| 久久99精品久久久久久国产越南 | 国产风韵犹存在线视精品| 五月天国产精品| 亚洲精品大片www| 26uuu精品一区二区三区四区在线| 日本高清成人免费播放| 懂色av噜噜一区二区三区av| 精品一区二区三区在线观看国产 | 亚洲激情图片一区| 国产精品不卡在线| 国产精品无人区| 欧美精品一区二区三区很污很色的| 欧美日韩一区二区三区视频| 色婷婷精品久久二区二区蜜臀av| 成人在线视频一区| 国产精品亚洲第一区在线暖暖韩国| 国产精品系列在线观看| 视频一区二区三区在线| 亚洲h精品动漫在线观看| 亚洲黄色录像片| 亚洲综合区在线| 亚洲综合网站在线观看| 一区二区三区精品| 亚洲专区一二三| 亚洲大片在线观看| 日日夜夜精品视频免费| 视频一区二区中文字幕| 奇米色777欧美一区二区| 日韩专区中文字幕一区二区| 视频一区中文字幕| 日韩成人一级片| 久久精品国产精品青草| 国产精品主播直播| 国产成人免费xxxxxxxx| 福利一区二区在线| 成人午夜视频网站| 91亚洲精品乱码久久久久久蜜桃| 99久久综合色| 欧美唯美清纯偷拍| 91精品国产综合久久福利软件| 日韩免费高清电影| 久久精品一区二区三区av| 国产精品欧美极品| 亚洲精品国产视频| 日本中文一区二区三区| 国产另类ts人妖一区二区| 成人免费视频视频在线观看免费 | 精品黑人一区二区三区久久| 久久精品亚洲国产奇米99| 亚洲男人天堂av网| 天天综合天天做天天综合| 久久精品99国产国产精| 国产98色在线|日韩| 欧美色图一区二区三区| 欧美成人激情免费网| 中文av字幕一区| 日韩精品成人一区二区在线| 国产精品主播直播| 在线观看区一区二| 久久精品夜色噜噜亚洲a∨| 亚洲另类中文字| 国产剧情一区在线| 一本久久精品一区二区| 欧美成人一区二区三区片免费 | 日韩不卡一区二区三区| 成人三级在线视频| 91精品国产色综合久久ai换脸| 国产精品久久一卡二卡| 秋霞午夜av一区二区三区| 色先锋aa成人|