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

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

?? dpcm.c

?? arm平臺下的H264編碼和解碼源代碼
?? C
字號:
/* * Assorted DPCM codecs * Copyright (c) 2003 The ffmpeg Project. * * This library 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 of the License, or (at your option) any later version. * * This library 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 this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//** * @file: dpcm.c * Assorted DPCM (differential pulse code modulation) audio codecs * by Mike Melanson (melanson@pcisys.net) * Xan DPCM decoder by Mario Brito (mbrito@student.dei.uc.pt) * for more information on the specific data formats, visit: *   http://www.pcisys.net/~melanson/codecs/simpleaudio.html * * Note about using the Xan DPCM decoder: Xan DPCM is used in AVI files * found in the Wing Commander IV computer game. These AVI files contain * WAVEFORMAT headers which report the audio format as 0x01: raw PCM. * Clearly incorrect. To detect Xan DPCM, you will probably have to * special-case your AVI demuxer to use Xan DPCM if the file uses 'Xxan' * (Xan video) for its video codec. Alternately, such AVI files also contain * the fourcc 'Axan' in the 'auds' chunk of the AVI header. */#include "avcodec.h"typedef struct DPCMContext {    int channels;    short roq_square_array[256];} DPCMContext;#define SATURATE_S16(x)  if (x < -32768) x = -32768; \  else if (x > 32767) x = 32767;#define SE_16BIT(x)  if (x & 0x8000) x -= 0x10000;static int interplay_delta_table[] = {         0,      1,      2,      3,      4,      5,      6,      7,         8,      9,     10,     11,     12,     13,     14,     15,        16,     17,     18,     19,     20,     21,     22,     23,        24,     25,     26,     27,     28,     29,     30,     31,        32,     33,     34,     35,     36,     37,     38,     39,        40,     41,     42,     43,     47,     51,     56,     61,        66,     72,     79,     86,     94,    102,    112,    122,       133,    145,    158,    173,    189,    206,    225,    245,       267,    292,    318,    348,    379,    414,    452,    493,       538,    587,    640,    699,    763,    832,    908,    991,      1081,   1180,   1288,   1405,   1534,   1673,   1826,   1993,      2175,   2373,   2590,   2826,   3084,   3365,   3672,   4008,      4373,   4772,   5208,   5683,   6202,   6767,   7385,   8059,      8794,   9597,  10472,  11428,  12471,  13609,  14851,  16206,     17685,  19298,  21060,  22981,  25078,  27367,  29864,  32589,    -29973, -26728, -23186, -19322, -15105, -10503,  -5481,     -1,         1,      1,   5481,  10503,  15105,  19322,  23186,  26728,     29973, -32589, -29864, -27367, -25078, -22981, -21060, -19298,    -17685, -16206, -14851, -13609, -12471, -11428, -10472,  -9597,     -8794,  -8059,  -7385,  -6767,  -6202,  -5683,  -5208,  -4772,     -4373,  -4008,  -3672,  -3365,  -3084,  -2826,  -2590,  -2373,     -2175,  -1993,  -1826,  -1673,  -1534,  -1405,  -1288,  -1180,     -1081,   -991,   -908,   -832,   -763,   -699,   -640,   -587,      -538,   -493,   -452,   -414,   -379,   -348,   -318,   -292,      -267,   -245,   -225,   -206,   -189,   -173,   -158,   -145,      -133,   -122,   -112,   -102,    -94,    -86,    -79,    -72,       -66,    -61,    -56,    -51,    -47,    -43,    -42,    -41,       -40,    -39,    -38,    -37,    -36,    -35,    -34,    -33,       -32,    -31,    -30,    -29,    -28,    -27,    -26,    -25,       -24,    -23,    -22,    -21,    -20,    -19,    -18,    -17,       -16,    -15,    -14,    -13,    -12,    -11,    -10,     -9,        -8,     -7,     -6,     -5,     -4,     -3,     -2,     -1};static int dpcm_decode_init(AVCodecContext *avctx){    DPCMContext *s = avctx->priv_data;    int i;    short square;    s->channels = avctx->channels;    switch(avctx->codec->id) {    case CODEC_ID_ROQ_DPCM:        /* initialize square table */        for (i = 0; i < 128; i++) {            square = i * i;            s->roq_square_array[i] = square;            s->roq_square_array[i + 128] = -square;        }        break;    default:        break;    }    return 0;}static int dpcm_decode_frame(AVCodecContext *avctx,                             void *data, int *data_size,                             uint8_t *buf, int buf_size){    DPCMContext *s = avctx->priv_data;    int in, out = 0;    int predictor[2];    int channel_number = 0;    short *output_samples = data;    int shift[2];    unsigned char byte;    short diff;    if (!buf_size)        return 0;    switch(avctx->codec->id) {    case CODEC_ID_ROQ_DPCM:        if (s->channels == 1)            predictor[0] = LE_16(&buf[6]);        else {            predictor[0] = buf[7] << 8;            predictor[1] = buf[6] << 8;        }        SE_16BIT(predictor[0]);        SE_16BIT(predictor[1]);        /* decode the samples */        for (in = 8, out = 0; in < buf_size; in++, out++) {            predictor[channel_number] += s->roq_square_array[buf[in]];            SATURATE_S16(predictor[channel_number]);            output_samples[out] = predictor[channel_number];            /* toggle channel */            channel_number ^= s->channels - 1;        }        break;    case CODEC_ID_INTERPLAY_DPCM:        in = 6;  /* skip over the stream mask and stream length */        predictor[0] = LE_16(&buf[in]);        in += 2;        SE_16BIT(predictor[0])        output_samples[out++] = predictor[0];        if (s->channels == 2) {            predictor[1] = LE_16(&buf[in]);            in += 2;            SE_16BIT(predictor[1])            output_samples[out++] = predictor[1];        }        while (in < buf_size) {            predictor[channel_number] += interplay_delta_table[buf[in++]];            SATURATE_S16(predictor[channel_number]);            output_samples[out++] = predictor[channel_number];            /* toggle channel */            channel_number ^= s->channels - 1;        }        break;    case CODEC_ID_XAN_DPCM:        in = 0;        shift[0] = shift[1] = 4;        predictor[0] = LE_16(&buf[in]);        in += 2;        SE_16BIT(predictor[0]);        if (s->channels == 2) {            predictor[1] = LE_16(&buf[in]);            in += 2;            SE_16BIT(predictor[1]);        }        while (in < buf_size) {            byte = buf[in++];            diff = (byte & 0xFC) << 8;            if ((byte & 0x03) == 3)                shift[channel_number]++;            else                shift[channel_number] -= (2 * (byte & 3));            /* saturate the shifter to a lower limit of 0 */            if (shift[channel_number] < 0)                shift[channel_number] = 0;            diff >>= shift[channel_number];            predictor[channel_number] += diff;            SATURATE_S16(predictor[channel_number]);            output_samples[out++] = predictor[channel_number];            /* toggle channel */            channel_number ^= s->channels - 1;        }        break;    }    *data_size = out * sizeof(short);    return buf_size;}AVCodec roq_dpcm_decoder = {    "roq_dpcm",    CODEC_TYPE_AUDIO,    CODEC_ID_ROQ_DPCM,    sizeof(DPCMContext),    dpcm_decode_init,    NULL,    NULL,    dpcm_decode_frame,};AVCodec interplay_dpcm_decoder = {    "interplay_dpcm",    CODEC_TYPE_AUDIO,    CODEC_ID_INTERPLAY_DPCM,    sizeof(DPCMContext),    dpcm_decode_init,    NULL,    NULL,    dpcm_decode_frame,};AVCodec xan_dpcm_decoder = {    "xan_dpcm",    CODEC_TYPE_AUDIO,    CODEC_ID_XAN_DPCM,    sizeof(DPCMContext),    dpcm_decode_init,    NULL,    NULL,    dpcm_decode_frame,};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级电影网站| 99r国产精品| 亚洲一区电影777| 国产精品的网站| 日韩一区在线播放| 成人免费视频在线观看| 亚洲欧美国产77777| 亚洲欧美日韩久久| 亚洲大片一区二区三区| 午夜精品一区在线观看| 日韩av中文字幕一区二区三区 | 国内精品伊人久久久久av一坑| 日韩激情一二三区| 精品一区二区免费| 国产精品一区二区黑丝| a在线播放不卡| 在线观看91视频| 欧美精品一级二级| 精品国产乱子伦一区| 国产欧美一区视频| 亚洲欧美另类图片小说| 视频一区二区三区在线| 黄页网站大全一区二区| 99精品久久久久久| 欧美日韩亚洲丝袜制服| 久久蜜臀中文字幕| 最新日韩av在线| 丝瓜av网站精品一区二区| 国产在线不卡一卡二卡三卡四卡| 成人午夜精品在线| 欧美亚洲国产一区在线观看网站 | 色婷婷久久一区二区三区麻豆| 欧美日韩一区精品| 久久天堂av综合合色蜜桃网| 国产精品国产a| 日韩国产一二三区| 成人免费看的视频| 91精品国产91久久综合桃花| 国产精品免费看片| 久久精品99久久久| 色94色欧美sute亚洲线路一久| 日韩欧美123| 亚洲女人****多毛耸耸8| 久久成人麻豆午夜电影| 91福利视频久久久久| www国产成人| 天堂成人免费av电影一区| 99久久久国产精品免费蜜臀| 日韩欧美www| 丝袜亚洲另类欧美综合| 91福利国产精品| 国产精品久久久久影院色老大| 日本中文字幕一区二区视频| 99re亚洲国产精品| 国产亚洲午夜高清国产拍精品| 亚洲高清在线精品| 99精品视频一区二区三区| 日韩欧美一区二区久久婷婷| 亚欧色一区w666天堂| 91麻豆精东视频| 国产精品视频在线看| 国产一区在线视频| 精品国产不卡一区二区三区| 日韩精品福利网| 欧美日本在线观看| 亚洲一区二区精品视频| 91色乱码一区二区三区| 国产精品全国免费观看高清 | 日本一区二区三区在线不卡| 久久精品国产久精国产爱| 欧美日韩精品欧美日韩精品一综合| 国产免费久久精品| 成人涩涩免费视频| 国产精品日韩成人| 99视频有精品| 亚洲欧美日韩成人高清在线一区| av一区二区三区黑人| 亚洲欧洲日韩女同| 色综合久久中文综合久久97 | 久久久久久综合| 精品一区二区三区影院在线午夜| 欧美xxxxx牲另类人与| 激情小说亚洲一区| 国产三级精品在线| 岛国一区二区三区| 亚洲日本青草视频在线怡红院 | 欧美不卡一区二区三区| 久久精品久久99精品久久| 日韩精品一区国产麻豆| 久久99精品一区二区三区| 久久先锋资源网| eeuss鲁片一区二区三区在线看| 亚洲同性gay激情无套| 欧美自拍丝袜亚洲| 日韩精品亚洲专区| 久久久久久久久99精品| 色又黄又爽网站www久久| 午夜影院在线观看欧美| 精品国产百合女同互慰| 色综合一区二区| 日韩国产欧美三级| 欧美激情一区不卡| 欧美亚洲自拍偷拍| 精品亚洲免费视频| 国产精品国产三级国产三级人妇| 欧美伊人久久久久久午夜久久久久| 婷婷久久综合九色综合绿巨人| 精品国内二区三区| 色综合一个色综合亚洲| 精品一区二区久久| 亚洲综合激情小说| 久久蜜桃av一区二区天堂 | 91丨porny丨蝌蚪视频| 热久久久久久久| 国产精品夫妻自拍| 欧美电视剧在线看免费| 一本久久精品一区二区| 国产在线乱码一区二区三区| 一区二区三区欧美日韩| 久久久久久99久久久精品网站| 欧洲一区在线观看| 成人一区二区三区| 老司机免费视频一区二区| 亚洲精品中文字幕在线观看| 久久午夜电影网| 欧美一区午夜精品| 91一区二区三区在线观看| 国产一区二区三区免费观看| 午夜久久久久久电影| 中文字幕在线免费不卡| 久久综合久色欧美综合狠狠| 91精品国产综合久久精品app| 99精品视频一区二区| 国产成人av福利| 国内精品视频一区二区三区八戒| 夜夜嗨av一区二区三区网页 | 奇米在线7777在线精品| 亚洲裸体xxx| 国产精品家庭影院| 亚洲国产精品高清| 国产视频一区二区在线| 日韩免费一区二区| 日韩一区二区在线观看视频 | 久久99国产精品久久99| 日韩精品免费视频人成| 亚洲 欧美综合在线网络| 亚洲国产视频直播| 亚洲一区二区精品视频| 亚洲电影你懂得| 亚洲综合色在线| 一个色在线综合| 午夜精品一区二区三区三上悠亚| 亚洲图片有声小说| 亚洲成年人网站在线观看| 亚洲成人久久影院| 亚洲bt欧美bt精品| 日本欧美一区二区三区| 免费成人性网站| 国产在线一区二区| 韩国女主播一区| 国产高清不卡二三区| 99精品视频在线观看| 在线观看亚洲成人| 制服丝袜亚洲色图| 日韩欧美一二三| 国产拍揄自揄精品视频麻豆| 国产精品福利影院| 亚洲精品成人在线| 午夜精品影院在线观看| 久久99精品久久久| 高清不卡在线观看av| 欧美在线制服丝袜| 91精品国产综合久久久久久久久久| 精品国产乱码久久久久久蜜臀| 国产性做久久久久久| 亚洲人成7777| 免费在线看成人av| 高清av一区二区| 欧美美女网站色| 久久久精品一品道一区| 亚洲欧美电影院| 韩国av一区二区三区在线观看| 国产宾馆实践打屁股91| 在线观看不卡视频| 国产亚洲午夜高清国产拍精品| 亚洲另类中文字| 久久成人18免费观看| 91视频xxxx| 久久蜜桃av一区二区天堂| 亚洲一区免费在线观看| 国产一区二三区好的| 欧美一a一片一级一片| 欧美精品一区二区不卡| 亚洲综合偷拍欧美一区色| 经典三级视频一区| 欧美日韩精品三区| 中文字幕一区在线| 国产一区二区毛片| 欧美日韩不卡在线| 国产精品国产三级国产专播品爱网|