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

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

?? aacinfo.c

?? the mpeg2/4 aac decoder
?? C
字號:
/*** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com**  ** 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.**** Any non-GPL usage of this software or parts of this software is strictly** forbidden.**** Commercial non-GPL licensing of this software is possible.** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.**** $Id: aacinfo.c,v 1.5 2003/07/29 08:20:14 menno Exp $**/#define WIN32_LEAN_AND_MEAN#include <windows.h>#include <malloc.h>#include <stdlib.h>#include <stdio.h>#include "aacinfo.h"#include "utils.h"#define ADIF_MAX_SIZE 30 /* Should be enough */#define ADTS_MAX_SIZE 10 /* Should be enough */static int sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000};static int read_ADIF_header(FILE *file, faadAACInfo *info){    int bitstream;    unsigned char buffer[ADIF_MAX_SIZE];    int skip_size = 0;    int sf_idx;    /* Get ADIF header data */    info->headertype = 1;    if (fread(buffer, 1, ADIF_MAX_SIZE, file) != ADIF_MAX_SIZE)        return -1;    /* copyright string */    if(buffer[0] & 0x80)        skip_size += 9; /* skip 9 bytes */    bitstream = buffer[0 + skip_size] & 0x10;    info->bitrate = ((unsigned int)(buffer[0 + skip_size] & 0x0F)<<19)|        ((unsigned int)buffer[1 + skip_size]<<11)|        ((unsigned int)buffer[2 + skip_size]<<3)|        ((unsigned int)buffer[3 + skip_size] & 0xE0);    if (bitstream == 0)    {        info->object_type =  ((buffer[6 + skip_size]&0x01)<<1)|((buffer[7 + skip_size]&0x80)>>7);        sf_idx = (buffer[7 + skip_size]&0x78)>>3;    } else {        info->object_type = (buffer[4 + skip_size] & 0x18)>>3;        sf_idx = ((buffer[4 + skip_size] & 0x07)<<1)|((buffer[5 + skip_size] & 0x80)>>7);    }    info->sampling_rate = sample_rates[sf_idx];    return 0;}static int read_ADTS_header(FILE *file, faadAACInfo *info){    /* Get ADTS header data */    unsigned char buffer[ADTS_MAX_SIZE];    int frames, t_framelength = 0, frame_length, sr_idx = 0, ID;    int second = 0, pos;    float frames_per_sec = 0;    unsigned long bytes;    unsigned long *tmp_seek_table = NULL;    info->headertype = 2;    /* Read all frames to ensure correct time and bitrate */    for (frames = 0; /* */; frames++)    {        bytes = fread(buffer, 1, ADTS_MAX_SIZE, file);        if (bytes != ADTS_MAX_SIZE)            break;        /* check syncword */        if (!((buffer[0] == 0xFF)&&((buffer[1] & 0xF6) == 0xF0)))            break;        if (!frames)        {            /* fixed ADTS header is the same for every frame, so we read it only once */            /* Syncword found, proceed to read in the fixed ADTS header */            ID = buffer[1] & 0x08;            info->object_type = (buffer[2]&0xC0)>>6;            sr_idx = (buffer[2]&0x3C)>>2;            info->channels = ((buffer[2]&0x01)<<2)|((buffer[3]&0xC0)>>6);            frames_per_sec = sample_rates[sr_idx] / 1024.f;        }        /* ...and the variable ADTS header */        if (ID == 0)        {            info->version = 4;        } else { /* MPEG-2 */            info->version = 2;        }        frame_length = ((((unsigned int)buffer[3] & 0x3)) << 11)            | (((unsigned int)buffer[4]) << 3) | (buffer[5] >> 5);        t_framelength += frame_length;        pos = ftell(file) - ADTS_MAX_SIZE;        fseek(file, frame_length - ADTS_MAX_SIZE, SEEK_CUR);    }    if (frames > 0)    {        float sec_per_frame, bytes_per_frame;        info->sampling_rate = sample_rates[sr_idx];        sec_per_frame = (float)info->sampling_rate/1024.0;        bytes_per_frame = (float)t_framelength / (float)frames;        info->bitrate = 8 * (int)floor(bytes_per_frame * sec_per_frame);        info->length = (int)floor((float)frames/frames_per_sec)*1000;    } else {        info->sampling_rate = 4;        info->bitrate = 128000;        info->length = 0;        info->channels = 0;    }    return 0;}int get_AAC_format(char *filename, faadAACInfo *info){    unsigned long tagsize;    FILE *file;    char buffer[10];    unsigned long file_len;    unsigned char adxx_id[5];    unsigned long tmp;    memset(info, 0, sizeof(faadAACInfo));    file = fopen(filename, "rb");    if(file == NULL)        return -1;    fseek(file, 0, SEEK_END);    file_len = ftell(file);    fseek(file, 0, SEEK_SET);    /* Skip the tag, if it's there */    tmp = fread(buffer, 10, 1, file);    if (StringComp(buffer, "ID3", 3) == 0)    {        /* high bit is not used */        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |            (buffer[8] <<  7) | (buffer[9] <<  0);        fseek(file, tagsize, SEEK_CUR);        tagsize += 10;    } else {        tagsize = 0;        fseek(file, 0, SEEK_SET);    }    if (file_len)        file_len -= tagsize;    tmp = fread(adxx_id, 2, 1, file);    adxx_id[5-1] = 0;    info->length = 0;    /* Determine the header type of the file, check the first two bytes */    if (StringComp(adxx_id, "AD", 2) == 0)    {        /* We think its an ADIF header, but check the rest just to make sure */        tmp = fread(adxx_id + 2, 2, 1, file);        if (StringComp(adxx_id, "ADIF", 4) == 0)        {            read_ADIF_header(file, info);            info->length = (int)((float)file_len*8000.0/((float)info->bitrate));        }    } else {        /* No ADIF, check for ADTS header */        if ((adxx_id[0] == 0xFF)&&((adxx_id[1] & 0xF6) == 0xF0))        {            /* ADTS  header located */            fseek(file, tagsize, SEEK_SET);            read_ADTS_header(file, info);        } else {            /* Unknown/headerless AAC file, assume format: */            info->version = 2;            info->bitrate = 128000;            info->sampling_rate = 44100;            info->channels = 2;            info->headertype = 0;            info->object_type = 1;        }    }    fclose(file);    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩女同互慰一区二区| 精品国产三级a在线观看| 亚洲精品国久久99热| 欧美日韩精品久久久| 久久国产精品免费| 欧美国产一区在线| 97se亚洲国产综合自在线不卡| 欧美福利一区二区| 91精品婷婷国产综合久久性色| 97精品国产露脸对白| 麻豆精品一区二区三区| 亚洲品质自拍视频| 亚洲色图一区二区三区| 精品裸体舞一区二区三区| 91一区一区三区| 国产成人在线观看免费网站| 美女视频网站黄色亚洲| 中文字幕亚洲一区二区va在线| 97精品久久久午夜一区二区三区| 亚洲免费观看高清在线观看| 91精品国产全国免费观看| 日韩国产精品91| 亚洲国产日韩a在线播放| 国产精品视频yy9299一区| 欧美不卡一区二区三区| 6080亚洲精品一区二区| 91久久久免费一区二区| 91麻豆国产福利精品| 欧美日韩性生活| 捆绑调教美女网站视频一区| 五月婷婷激情综合网| 国产日韩欧美精品综合| 91精品久久久久久久91蜜桃| 欧洲在线/亚洲| 日韩精品中文字幕在线一区| 精品三级av在线| 欧美激情资源网| 久久夜色精品国产噜噜av| 在线观看91av| 久久久久亚洲蜜桃| 亚洲欧洲国产专区| 一区二区在线看| 日本va欧美va精品发布| 国产99久久久精品| 欧美日韩综合一区| 制服丝袜av成人在线看| 亚洲成人激情自拍| 狠狠色综合日日| 色系网站成人免费| 精品国产网站在线观看| 亚洲天堂成人在线观看| 日韩激情视频网站| 欧美精品乱人伦久久久久久| 精品福利av导航| 91精品麻豆日日躁夜夜躁| 国产日韩欧美激情| 极品少妇xxxx精品少妇| 欧美日韩三级一区二区| 中文字幕永久在线不卡| 韩国一区二区三区| 国产aⅴ综合色| 欧美一级精品在线| 日本美女视频一区二区| 7777精品久久久大香线蕉| 亚洲欧美aⅴ...| 欧美三级电影一区| 亚洲色图.com| 91免费看视频| 一区二区在线观看av| 91在线免费看| 亚洲国产成人porn| av影院午夜一区| 亚洲午夜一区二区三区| 色婷婷久久99综合精品jk白丝| 久久人人爽人人爽| 亚洲日本一区二区| 欧美精品三级日韩久久| 老色鬼精品视频在线观看播放| 日韩精品每日更新| 成人黄色国产精品网站大全在线免费观看| 精品国产91久久久久久久妲己| 黄色资源网久久资源365| 国产日韩欧美高清在线| 色婷婷精品久久二区二区蜜臀av| 《视频一区视频二区| 日韩精品电影在线| 国产成人精品免费| 亚洲另类在线视频| 日韩欧美国产麻豆| 一本大道久久a久久综合婷婷 | 亚洲欧美日韩在线不卡| 91精品国产综合久久精品麻豆| 极品少妇一区二区三区精品视频 | jvid福利写真一区二区三区| 日韩高清国产一区在线| 欧美精品一区二区三区在线| 91国产丝袜在线播放| 国产一区二区伦理片| 三级久久三级久久| 日本午夜一本久久久综合| 亚洲精品久久久蜜桃| 日韩一级高清毛片| 欧美综合一区二区三区| 成人久久视频在线观看| 久久草av在线| 免费在线观看成人| 视频一区二区中文字幕| 日韩二区三区四区| 视频一区二区三区中文字幕| 欧洲精品中文字幕| 欧洲生活片亚洲生活在线观看| av毛片久久久久**hd| 99精品1区2区| 在线观看精品一区| 欧美日韩在线播放三区| 91精品在线观看入口| 2023国产精品自拍| 国产日韩综合av| 亚洲欧美日韩国产中文在线| 亚洲欧美一区二区三区极速播放| 最新日韩在线视频| 日精品一区二区| 国产一区二区精品久久99| 丁香啪啪综合成人亚洲小说| 成人免费视频免费观看| 91视频免费看| 欧美一级高清片| 亚洲视频小说图片| 精油按摩中文字幕久久| 成人av在线网| 精品久久久久av影院| 日韩一区在线看| 黄色日韩三级电影| 欧美日韩综合一区| 国产精品无圣光一区二区| 亚洲成人免费影院| a4yy欧美一区二区三区| 欧美成人video| 精品精品欲导航| 亚洲欧美激情在线| 成人丝袜视频网| 久久天堂av综合合色蜜桃网| 水野朝阳av一区二区三区| 91影院在线免费观看| 精品久久久久久无| 久久成人麻豆午夜电影| 色噜噜狠狠一区二区三区果冻| 国产精品毛片大码女人| 成人免费va视频| 久久免费国产精品| 成人午夜av电影| 亚洲欧洲av一区二区三区久久| 麻豆成人免费电影| 精品电影一区二区三区| 美女视频黄 久久| 久久夜色精品一区| 国产69精品久久久久毛片| 国产日产欧美一区二区视频| 国产不卡免费视频| 中文字幕不卡在线| 日本韩国一区二区| 日韩精品亚洲专区| 久久久噜噜噜久久中文字幕色伊伊| 激情深爱一区二区| 欧美—级在线免费片| 在线观看一区二区精品视频| 午夜av一区二区| 久久欧美一区二区| 欧美色综合天天久久综合精品| 美女一区二区三区| 一区二区三区在线视频观看58 | 欧美日韩一卡二卡三卡 | 日韩欧美在线1卡| 不卡的电影网站| 青草av.久久免费一区| 国产精品久久久久久亚洲毛片| 欧美日韩在线免费视频| 粉嫩蜜臀av国产精品网站| 亚洲一区二区三区国产| 久久久久久亚洲综合| 欧美三日本三级三级在线播放| 另类综合日韩欧美亚洲| 亚洲在线中文字幕| 亚洲国产精品精华液2区45| 欧美乱熟臀69xxxxxx| 色婷婷亚洲一区二区三区| 成人精品在线视频观看| 国产精品91xxx| 久久99精品国产麻豆不卡| 一区二区高清在线| 1000部国产精品成人观看| 国产精品久久久一区麻豆最新章节| 日韩一级完整毛片| 精品国产网站在线观看| 日韩欧美亚洲一区二区| 欧美成人a视频| 日韩久久久精品| 精品免费视频.| 亚洲国产精品v| 日韩伦理电影网|