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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? common.c

?? 杜比AC-3編碼解碼器(參考程序)
?? C
字號:
/*
 * Common bit/dsp utils
 * Copyright (c) 2000 Gerard Lantau.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <math.h>
#include "common.h"

#define NDEBUG
#include <assert.h>

void init_put_bits(PutBitContext *s, 
                   UINT8 *buffer, int buffer_size,
                   void *opaque,
                   void (*write_data)(void *, UINT8 *, int))
{
    s->buf = buffer;
    s->buf_ptr = s->buf;
    s->buf_end = s->buf + buffer_size;
    s->bit_cnt=0;
    s->bit_buf=0;
    s->data_out_size = 0;
    s->write_data = write_data;
    s->opaque = opaque;
}

static void flush_buffer(PutBitContext *s)
{
    int size;
    if (s->write_data) {
        size = s->buf_ptr - s->buf;
        if (size > 0)
            s->write_data(s->opaque, s->buf, size);
        s->buf_ptr = s->buf;
        s->data_out_size += size;
    }
}

void put_bits(PutBitContext *s, int n, unsigned int value)
{
    unsigned int bit_buf;
    int bit_cnt;

    //    printf("put_bits=%d %x\n", n, value);
    assert(n == 32 || value < (1U << n));

    bit_buf = s->bit_buf;
    bit_cnt = s->bit_cnt;

    //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);
    /* XXX: optimize */
    if (n < (32-bit_cnt)) {
        bit_buf |= value << (32 - n - bit_cnt);
        bit_cnt+=n;
    } else {
        bit_buf |= value >> (n + bit_cnt - 32);
        *(UINT32 *)s->buf_ptr = htonl(bit_buf);
        //printf("bitbuf = %08x\n", bit_buf);
        s->buf_ptr+=4;
        if (s->buf_ptr >= s->buf_end)
            flush_buffer(s);
        bit_cnt=bit_cnt + n - 32;
        if (bit_cnt == 0) {
            bit_buf = 0;
        } else {
            bit_buf = value << (32 - bit_cnt);
        }
    }
    
    s->bit_buf = bit_buf;
    s->bit_cnt = bit_cnt;
}

/* return the number of bits output */
long long get_bit_count(PutBitContext *s)
{
    return (s->buf_ptr - s->buf + s->data_out_size) * 8 + (long long)s->bit_cnt;
}

void align_put_bits(PutBitContext *s)
{
    put_bits(s,(8 - s->bit_cnt) & 7,0);
}

/* pad the end of the output stream with zeros */
void flush_put_bits(PutBitContext *s)
{
    while (s->bit_cnt > 0) {
        /* XXX: should test end of buffer */
        *s->buf_ptr++=s->bit_buf >> 24;
        s->bit_buf<<=8;
        s->bit_cnt-=8;
    }
    flush_buffer(s);
    s->bit_cnt=0;
    s->bit_buf=0;
}

/* for jpeg : espace 0xff with 0x00 after it */
void jput_bits(PutBitContext *s, int n, unsigned int value)
{
    unsigned int bit_buf, b;
    int bit_cnt, i;
    
    assert(n == 32 || value < (1U << n));

    bit_buf = s->bit_buf;
    bit_cnt = s->bit_cnt;

    //printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);
    /* XXX: optimize */
    if (n < (32-bit_cnt)) {
        bit_buf |= value << (32 - n - bit_cnt);
        bit_cnt+=n;
    } else {
        bit_buf |= value >> (n + bit_cnt - 32);
        /* handle escape */
        for(i=0;i<4;i++) {
            b = (bit_buf >> 24);
            *(s->buf_ptr++) = b;
            if (b == 0xff)
                *(s->buf_ptr++) = 0;
            bit_buf <<= 8;
        }
        /* we flush the buffer sooner to handle worst case */
        if (s->buf_ptr >= (s->buf_end - 8))
            flush_buffer(s);

        bit_cnt=bit_cnt + n - 32;
        if (bit_cnt == 0) {
            bit_buf = 0;
        } else {
            bit_buf = value << (32 - bit_cnt);
        }
    }
    
    s->bit_buf = bit_buf;
    s->bit_cnt = bit_cnt;
}

/* pad the end of the output stream with zeros */
void jflush_put_bits(PutBitContext *s)
{
    unsigned int b;

    while (s->bit_cnt > 0) {
        b = s->bit_buf >> 24;
        *s->buf_ptr++ = b;
        if (b == 0xff)
            *s->buf_ptr++ = 0;
        s->bit_buf<<=8;
        s->bit_cnt-=8;
    }
    flush_buffer(s);
    s->bit_cnt=0;
    s->bit_buf=0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产欧美日韩| 在线观看视频一区| 亚洲成人资源网| 国产亚洲一区二区三区在线观看| 色老综合老女人久久久| 国产精品主播直播| 亚洲va在线va天堂| 中文字幕综合网| 久久久国产一区二区三区四区小说| 在线免费视频一区二区| 国产美女一区二区| 日本欧美肥老太交大片| 国产成人av电影在线观看| 亚洲成人7777| 亚洲精品欧美激情| 欧美激情在线一区二区三区| 欧美一区二区三区视频在线| 色欧美乱欧美15图片| 成人一区在线观看| 国产精品综合二区| 另类综合日韩欧美亚洲| 日韩成人一级片| 夜夜亚洲天天久久| 亚洲精品视频免费观看| 国产精品乱人伦| 久久精品一级爱片| 精品国内二区三区| 日韩欧美国产成人一区二区| 欧美片在线播放| 在线免费av一区| 日本乱人伦一区| 色网站国产精品| 91视视频在线直接观看在线看网页在线看 | 久久九九99视频| 日韩午夜精品电影| 91精品国产91综合久久蜜臀| 欧美日韩一级片网站| 91久久线看在观草草青青| 91丨porny丨首页| 91啪九色porn原创视频在线观看| www..com久久爱| 91伊人久久大香线蕉| 99久久精品情趣| 91女神在线视频| 在线视频中文字幕一区二区| 色狠狠一区二区| 色综合久久精品| 91国偷自产一区二区使用方法| 97久久精品人人做人人爽| 91麻豆精品在线观看| 在线视频综合导航| 欧美美女网站色| 日韩欧美你懂的| 精品福利一区二区三区| 国产日韩亚洲欧美综合| 国产精品美女久久久久久久久| 国产精品久久久久久久久果冻传媒 | 6080日韩午夜伦伦午夜伦| 在线不卡免费欧美| 日韩一区二区三区精品视频| 精品国产91久久久久久久妲己| xnxx国产精品| 国产精品久久午夜夜伦鲁鲁| 中文字幕佐山爱一区二区免费| 亚洲午夜久久久久久久久电影院| 日本一区中文字幕| 国产乱一区二区| 99久久er热在这里只有精品15 | 久久色.com| 国产精品麻豆视频| 亚洲综合色自拍一区| 日本视频中文字幕一区二区三区| 韩国精品在线观看| 99久久伊人精品| 亚洲一级电影视频| 蜜桃视频一区二区| 成人免费视频app| 欧美性极品少妇| 精品国产一区a| 国产精品成人网| 日韩av电影一区| 成人黄色软件下载| 欧美乱妇一区二区三区不卡视频| 久久久精品影视| 亚洲电影第三页| 国产成人丝袜美腿| 欧美日韩精品一区二区| 国产日产欧美一区| 午夜国产不卡在线观看视频| 国产精品中文字幕一区二区三区| 在线视频欧美区| 久久久久免费观看| 亚洲大片免费看| 成人av网站在线| 日韩亚洲欧美综合| 亚洲欧洲成人自拍| 韩日欧美一区二区三区| 欧美亚洲高清一区| 国产色婷婷亚洲99精品小说| 亚洲成人先锋电影| 97久久久精品综合88久久| www国产精品av| 亚洲电影第三页| 91在线观看地址| 国产欧美日韩综合| 久久精品免费观看| 欧美日韩久久久一区| 中文字幕中文乱码欧美一区二区| 开心九九激情九九欧美日韩精美视频电影 | 欧美高清一级片在线| 亚洲欧洲av色图| 国产91精品入口| 精品粉嫩超白一线天av| 天堂一区二区在线| 91视频com| 国产精品久久久一区麻豆最新章节| 蜜芽一区二区三区| 欧美日韩aaaaa| 亚洲精选视频在线| av网站一区二区三区| 久久精品一区二区三区不卡牛牛| 日韩国产精品大片| 欧美日韩在线精品一区二区三区激情 | 久久精品亚洲精品国产欧美kt∨ | 日韩精品一级二级 | 亚洲第四色夜色| 欧美在线制服丝袜| 亚洲免费资源在线播放| 成人av资源下载| 亚洲国产精品成人综合色在线婷婷 | 色综合天天性综合| 亚洲国产精品成人综合色在线婷婷 | 欧美午夜精品久久久久久孕妇| 国产精品电影一区二区| 国产成人a级片| 久久久久国产精品人| 经典三级视频一区| 欧美v亚洲v综合ⅴ国产v| 天天操天天干天天综合网| 欧美色男人天堂| 日韩国产欧美视频| 日韩欧美在线123| 久久成人免费网站| 日韩欧美国产一区二区三区| 免费在线看一区| 久久综合色之久久综合| 国产美女视频91| 欧美激情在线看| 91麻豆成人久久精品二区三区| 亚洲欧美偷拍另类a∨色屁股| 色综合天天天天做夜夜夜夜做| 亚洲精品写真福利| 欧美色图片你懂的| 亚洲成人精品在线观看| 欧美日韩亚洲综合在线| 轻轻草成人在线| 精品国产麻豆免费人成网站| 国产精品88av| 亚洲天堂2016| 欧美日韩成人高清| 国模冰冰炮一区二区| 国产日韩精品一区二区三区| 99久久精品国产观看| 一个色综合av| 欧美成人video| 成人综合婷婷国产精品久久 | 国产98色在线|日韩| 亚洲免费在线播放| 911精品国产一区二区在线| 激情图片小说一区| 中文字幕色av一区二区三区| 欧美亚洲图片小说| 久久国产欧美日韩精品| 中文字幕第一页久久| 欧洲亚洲精品在线| 黄色日韩网站视频| 亚洲视频一区在线| 欧美一二三区在线| 97久久精品人人澡人人爽| 午夜精品在线视频一区| 国产日本亚洲高清| 欧美日韩小视频| 国产成人在线视频网址| 亚洲一卡二卡三卡四卡| 精品国产欧美一区二区| 91在线免费看| 蜜臀久久久久久久| 亚洲精品中文字幕在线观看| 日韩欧美亚洲一区二区| av一二三不卡影片| 精品一区二区三区在线观看国产| 亚洲欧美日韩电影| 久久久久久久综合日本| 欧美午夜精品电影| 成人免费毛片片v| 奇米一区二区三区| 亚洲欧美日韩国产成人精品影院| 久久亚洲综合色一区二区三区| 欧美在线观看视频在线| 粉嫩一区二区三区在线看|