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

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

?? sbcenc.c

?? 這是Linux環境下的藍牙源代碼
?? C
字號:
/* * *  Bluetooth low-complexity, subband codec (SBC) encoder * *  Copyright (C) 2004-2008  Marcel Holtmann <marcel@holtmann.org> * * *  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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA * */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <stdint.h>#include <string.h>#include <getopt.h>#include <byteswap.h>#include <sys/stat.h>#include "sbc.h"#if __BYTE_ORDER == __LITTLE_ENDIAN#define COMPOSE_ID(a,b,c,d)	((a) | ((b)<<8) | ((c)<<16) | ((d)<<24))#define LE_SHORT(v)		(v)#define LE_INT(v)		(v)#define BE_SHORT(v)		bswap_16(v)#define BE_INT(v)		bswap_32(v)#elif __BYTE_ORDER == __BIG_ENDIAN#define COMPOSE_ID(a,b,c,d)	((d) | ((c)<<8) | ((b)<<16) | ((a)<<24))#define LE_SHORT(v)		bswap_16(v)#define LE_INT(v)		bswap_32(v)#define BE_SHORT(v)		(v)#define BE_INT(v)		(v)#else#error "Wrong endian"#endif#define AU_MAGIC		COMPOSE_ID('.','s','n','d')#define AU_FMT_ULAW		1#define AU_FMT_LIN8		2#define AU_FMT_LIN16		3struct au_header {	uint32_t magic;		/* '.snd' */	uint32_t hdr_size;	/* size of header (min 24) */	uint32_t data_size;	/* size of data */	uint32_t encoding;	/* see to AU_FMT_XXXX */	uint32_t sample_rate;	/* sample rate */	uint32_t channels;	/* number of channels (voices) */};static ssize_t __read(int fd, void *buf, size_t count){	ssize_t len, pos = 0;	while (count > 0) {		len = read(fd, buf + pos, count);		if (len <= 0)			return len;		count -= len;		pos   += len;	}	return pos;}static ssize_t __write(int fd, const void *buf, size_t count){	ssize_t len, pos = 0;	while (count > 0) {		len = write(fd, buf + pos, count);		if (len <= 0)			return len;		count -= len;		pos   += len;	}	return pos;}static void encode(char *filename, int subbands, int joint){	struct au_header *au_hdr;	unsigned char input[2048], output[2048];	sbc_t sbc;	int fd, len, size, count, encoded;	if (strcmp(filename, "-")) {		fd = open(filename, O_RDONLY);		if (fd < 0) {			fprintf(stderr, "Can't open file %s: %s\n",						filename, strerror(errno));			return;		}	} else		fd = fileno(stdin);	len = __read(fd, input, sizeof(input));	if (len < sizeof(*au_hdr)) {		if (fd > fileno(stderr))			fprintf(stderr, "Can't read header from file %s: %s\n",						filename, strerror(errno));		else			perror("Can't read audio header");		goto done;	}	au_hdr = (struct au_header *) input;	if (au_hdr->magic != AU_MAGIC ||			BE_INT(au_hdr->hdr_size) > 128 ||			BE_INT(au_hdr->hdr_size) < 24 ||			BE_INT(au_hdr->encoding) != AU_FMT_LIN16) {		fprintf(stderr, "Data is not in Sun/NeXT audio S16_BE format\n");		goto done;	}	sbc_init(&sbc, 0L);	switch (BE_INT(au_hdr->sample_rate)) {	case 16000:		sbc.frequency = SBC_FREQ_16000;		break;	case 32000:		sbc.frequency = SBC_FREQ_32000;		break;	case 44100:		sbc.frequency = SBC_FREQ_44100;		break;	case 48000:		sbc.frequency = SBC_FREQ_48000;		break;	}	sbc.subbands = subbands == 4 ? SBC_SB_4 : SBC_SB_8;	if (BE_INT(au_hdr->channels) == 1)		sbc.mode = SBC_MODE_MONO;	else if (joint)		sbc.mode = SBC_MODE_JOINT_STEREO;	else		sbc.mode = SBC_MODE_STEREO;	sbc.endian = SBC_BE;	count = BE_INT(au_hdr->data_size);	size = len - BE_INT(au_hdr->hdr_size);	memmove(input, input + BE_INT(au_hdr->hdr_size), size);	while (1) {		if (size < sizeof(input)) {			len = __read(fd, input + size, sizeof(input) - size);			if (len == 0)				break;			if (len < 0) {				perror("Can't read audio data");				break;			}			size += len;		}		len = sbc_encode(&sbc, input, size, output, sizeof(output),					&encoded);		if (len < size)			memmove(input, input + len, size - len);		size -= len;		len = __write(fileno(stdout), output, encoded);		if (len == 0)			break;		if (len < 0 || len != encoded) {			perror("Can't write SBC output");			break;		}	}	sbc_finish(&sbc);done:	if (fd > fileno(stderr))		close(fd);}static void usage(void){	printf("SBC encoder utility ver %s\n", VERSION);	printf("Copyright (c) 2004-2008  Marcel Holtmann\n\n");	printf("Usage:\n"		"\tsbcenc [options] file(s)\n"		"\n");	printf("Options:\n"		"\t-h, --help           Display help\n"		"\t-v, --verbose        Verbose mode\n"		"\t-s, --subbands       Number of subbands to use (4 or 8)\n"		"\t-j, --joint          Joint stereo\n"		"\n");}static struct option main_options[] = {	{ "help",	0, 0, 'h' },	{ "verbose",	0, 0, 'v' },	{ "subbands",	1, 0, 's' },	{ "joint",	0, 0, 'j' },	{ 0, 0, 0, 0 }};int main(int argc, char *argv[]){	int i, opt, verbose = 0, subbands = 8, joint = 0;	while ((opt = getopt_long(argc, argv, "+hvs:j", main_options, NULL)) != -1) {		switch(opt) {		case 'h':			usage();			exit(0);		case 'v':			verbose = 1;			break;		case 's':			subbands = atoi(strdup(optarg));			if (subbands != 8 && subbands != 4) {				fprintf(stderr, "Invalid subbands %d!\n",						subbands);				exit(1);			}			break;		case 'j':			joint = 1;			break;		default:			exit(1);		}	}	argc -= optind;	argv += optind;	optind = 0;	if (argc < 1) {		usage();		exit(1);	}	for (i = 0; i < argc; i++)		encode(argv[i], subbands, joint);	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲嫩草精品久久| 精品久久国产字幕高潮| 亚洲高清中文字幕| 日韩一区二区在线播放| 9久草视频在线视频精品| 亚洲国产一区在线观看| 蜜臀av国产精品久久久久| 亚洲一区二区三区在线播放| 国产日韩欧美在线一区| 欧美激情一区二区三区四区| 国产人成亚洲第一网站在线播放 | 亚洲激情网站免费观看| 亚洲综合精品自拍| 丁香五精品蜜臀久久久久99网站 | 欧美色视频一区| 一本色道久久加勒比精品| 白白色 亚洲乱淫| 精品国产1区2区3区| 久久精品视频一区二区| 国产午夜亚洲精品羞羞网站| 蜜臀av一区二区在线观看 | 成人av免费网站| 99久久久精品| 欧美少妇bbb| 91精品国产综合久久久久久久| 欧美最新大片在线看| 欧美一区二区免费| 中文在线一区二区| 色94色欧美sute亚洲线路一ni | 欧美视频一区二区三区四区 | 欧美色综合网站| 夜夜嗨av一区二区三区网页| 喷白浆一区二区| 国产经典欧美精品| 91啪九色porn原创视频在线观看| 91电影在线观看| 亚洲精品欧美在线| 欧美亚洲综合另类| 天天亚洲美女在线视频| 国产寡妇亲子伦一区二区| 久久色在线观看| 亚洲午夜日本在线观看| 欧美日韩高清不卡| 国产精品欧美综合在线| 亚洲成人中文在线| 成人免费av网站| 日韩精品最新网址| 亚洲精品大片www| 欧美日韩国产乱码电影| 久久精品久久99精品久久| 日本道精品一区二区三区| 亚洲国产综合91精品麻豆| 日韩一区二区在线免费观看| 国产精品99久久久久久有的能看| 在线看国产一区| 琪琪久久久久日韩精品| 久久综合久久鬼色| 91视视频在线观看入口直接观看www | 欧美最猛性xxxxx直播| 日韩av电影免费观看高清完整版 | 欧美国产一区二区| 91片黄在线观看| 人人狠狠综合久久亚洲| 国产女同互慰高潮91漫画| 一本在线高清不卡dvd| 日韩精品视频网| 在线视频一区二区免费| 美女脱光内衣内裤视频久久网站| 欧美一级一级性生活免费录像| 国产麻豆日韩欧美久久| 欧美日本一区二区三区四区| 激情综合亚洲精品| 精品国产亚洲在线| 色8久久人人97超碰香蕉987| 麻豆91小视频| 一区二区视频在线| 日韩欧美的一区二区| 色综合天天综合色综合av| 中文字幕一区二区三区在线不卡 | 亚洲综合在线视频| 精品电影一区二区三区 | 欧美va在线播放| 91亚洲资源网| 久久成人精品无人区| 亚洲综合一区二区精品导航| 国产日韩欧美精品在线| 欧美一区二区精品| 欧美特级限制片免费在线观看| 国产高清不卡一区| 蜜臀久久99精品久久久久宅男| 亚洲女同ⅹxx女同tv| 精品国产髙清在线看国产毛片 | 免费看欧美女人艹b| 亚洲在线观看免费| 一区在线中文字幕| 精品久久久久久久久久久久久久久| 欧美色国产精品| 日本韩国精品在线| 91丨国产丨九色丨pron| 菠萝蜜视频在线观看一区| 国产精品一级在线| 国产在线播精品第三| 久久精品国产99国产精品| 午夜电影一区二区三区| 亚洲国产日韩a在线播放性色| 中文字幕在线不卡一区| 中文欧美字幕免费| 国产午夜精品久久久久久久| 久久亚区不卡日本| 2020国产成人综合网| 欧美不卡在线视频| 欧美va亚洲va| 久久久高清一区二区三区| 成人黄色软件下载| 国产不卡视频在线观看| 国产成人一级电影| 国产成人综合在线播放| 一本久久a久久免费精品不卡| 成人永久aaa| 91天堂素人约啪| 欧美亚洲国产bt| 欧美日韩电影一区| 欧美一区二区三区性视频| 911国产精品| 91麻豆精品国产91久久久资源速度 | 一区二区三区视频在线看| 亚洲综合一区在线| 天天色天天操综合| 美国毛片一区二区三区| 国产美女视频一区| 成人h动漫精品一区二区| 99v久久综合狠狠综合久久| 欧洲一区在线电影| 69久久99精品久久久久婷婷 | 国产91丝袜在线观看| 972aa.com艺术欧美| 在线观看日韩av先锋影音电影院| 欧美三级电影在线看| 日韩欧美一区二区不卡| 日本一区二区三区国色天香| 亚洲女人的天堂| 美国毛片一区二区三区| 成人精品视频一区二区三区| 日本韩国精品在线| 日韩三级伦理片妻子的秘密按摩| 精品1区2区在线观看| 综合网在线视频| 国产日韩精品一区二区三区在线| 中文字幕在线观看一区| 亚瑟在线精品视频| 国产成都精品91一区二区三| 欧美中文字幕一区二区三区亚洲| 欧美不卡一二三| 一区二区三区在线视频免费观看| 美女一区二区久久| 色婷婷香蕉在线一区二区| 7777精品伊人久久久大香线蕉的| 久久婷婷一区二区三区| 偷拍与自拍一区| av在线播放一区二区三区| 欧美一级片在线观看| 亚洲人成电影网站色mp4| 免费成人av在线| 欧美专区亚洲专区| 国产精品水嫩水嫩| 琪琪一区二区三区| 欧美在线免费观看视频| 久久网这里都是精品| 亚洲国产一区视频| 99久久综合精品| 久久众筹精品私拍模特| 亚洲一级二级在线| 成人av在线影院| 久久久蜜桃精品| 蜜桃传媒麻豆第一区在线观看| 日本久久精品电影| 亚洲欧洲日韩综合一区二区| 久久精品国产色蜜蜜麻豆| 久久综合色天天久久综合图片| 亚洲美女淫视频| 成人免费视频网站在线观看| 日韩免费观看高清完整版| 亚洲第一会所有码转帖| 色拍拍在线精品视频8848| 国产精品色哟哟| 国产成人精品亚洲777人妖| 精品久久人人做人人爽| 久久电影国产免费久久电影| 欧美一区二区三区视频在线观看| 亚洲自拍偷拍九九九| 91成人在线免费观看| 一级做a爱片久久| 色婷婷综合久久久中文字幕| 亚洲视频免费观看| av在线播放不卡| 亚洲天堂av一区| 欧洲人成人精品| 亚洲成人三级小说| 777午夜精品视频在线播放| 丝袜美腿一区二区三区|