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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? alawencoderutil.java

?? FMJ(freedom media for java)是java視頻開(kāi)發(fā)的新選擇
?? JAVA
字號(hào):
package net.sf.fmj.media.codec.audio.alaw;import net.sf.fmj.utility.UnsignedUtils;/** *  Turns 16-bit linear PCM values into 8-bit A-law bytes. * Adapted from code by Marc Sweetgall at http://www.codeproject.com/csharp/g711audio.asp */public class ALawEncoderUtil{    public static final int MAX = 0x7fff; //maximum that can be held in 15 bits    /**     *  An array where the index is the 16-bit PCM input, and the value is     *  the a-law result.     */    private static byte[] pcmToALawMap;    static    {        pcmToALawMap = new byte[65536];        for (int i = Short.MIN_VALUE; i <= Short.MAX_VALUE; i++)            pcmToALawMap[UnsignedUtils.uShortToInt((short) i)] = encode(i);    }    /**     *  Encode one a-law byte from a 16-bit signed integer. Internal use only.     *       *  @param pcm A 16-bit signed pcm value     *  @return A a-law encoded byte     */    private static byte encode(int pcm)    {        //Get the sign bit.  Shift it for later use without further modification        int sign = (pcm & 0x8000) >> 8;        //If the number is negative, make it positive (now it's a magnitude)        if (sign != 0)            pcm = -pcm;        //The magnitude must fit in 15 bits to avoid overflow        if (pcm > MAX) pcm = MAX;        /* Finding the "exponent"         * Bits:         * 1 2 3 4 5 6 7 8 9 A B C D E F G         * S 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0         * We want to find where the first 1 after the sign bit is.         * We take the corresponding value from the second row as the exponent value.         * (i.e. if first 1 at position 7 -> exponent = 2)         * The exponent is 0 if the 1 is not found in bits 2 through 8.         * This means the exponent is 0 even if the "first 1" doesn't exist.         */        int exponent = 7;        //Move to the right and decrement exponent until we hit the 1 or the exponent hits 0        for (int expMask = 0x4000; (pcm & expMask) == 0 && exponent>0; exponent--, expMask >>= 1) { }        /* The last part - the "mantissa"         * We need to take the four bits after the 1 we just found.         * To get it, we shift 0x0f :         * 1 2 3 4 5 6 7 8 9 A B C D E F G         * S 0 0 0 0 0 1 . . . . . . . . . (say that exponent is 2)         * . . . . . . . . . . . . 1 1 1 1         * We shift it 5 times for an exponent of two, meaning         * we will shift our four bits (exponent + 3) bits.         * For convenience, we will actually just shift the number, then AND with 0x0f.          *          * NOTE: If the exponent is 0:         * 1 2 3 4 5 6 7 8 9 A B C D E F G         * S 0 0 0 0 0 0 0 Z Y X W V U T S (we know nothing about bit 9)         * . . . . . . . . . . . . 1 1 1 1         * We want to get ZYXW, which means a shift of 4 instead of 3         */        int mantissa = (pcm >> ((exponent == 0) ? 4 : (exponent + 3))) & 0x0f;        //The a-law byte bit arrangement is SEEEMMMM (Sign, Exponent, and Mantissa.)        byte alaw = (byte)(sign | exponent << 4 | mantissa);        //Last is to flip every other bit, and the sign bit (0xD5 = 1101 0101)        return (byte)(alaw^0xD5);    }    /**     *  Encode a pcm value into a a-law byte     *       *  @param pcm A 16-bit pcm value     *  @return A a-law encoded byte     */    public static byte aLawEncode(int pcm)    {        return pcmToALawMap[UnsignedUtils.uShortToInt((short) (pcm & 0xffff))];    }    /**     *  Encode a pcm value into a a-law byte     *       *  @param pcm A 16-bit pcm value     *  @return A a-law encoded byte     */    public static byte aLawEncode(short pcm)    {        return pcmToALawMap[UnsignedUtils.uShortToInt(pcm)];    }//    /**//     *  Encode an array of pcm values//     *  //     *  @param data An array of 16-bit pcm values//     *  @parem encoded An array to be filled with a-law bytes containing the results. must be same size as data.//     *///    public static void aLawEncode(int[] data, byte[] encoded)//    {//        int size = data.length;//        //byte[] encoded = new byte[size];//        for (int i = 0; i < size; i++)//            encoded[i] = aLawEncode(data[i]);//        //return encoded;//    }////    /**//     *  Encode an array of pcm values//     *  //     *  @param data An array of 16-bit pcm values//     *  @parem encoded An array to be filled with a-law bytes containing the results. must be same size as data.//     *///    public static void aLawEncode(short[] data, byte[] encoded)//    {//        int size = data.length;//        //byte[] encoded = new byte[size];//        for (int i = 0; i < size; i++)//            encoded[i] = aLawEncode(data[i]);//        //return encoded;//    }////    /**//     *  Encode an array of pcm values//     *  //     *  @param data An array of bytes in Little-Endian format//     *  @return An array of a-law bytes containing the results//     *///    public static byte[] aLawEncode(byte[] data)//    {//        int size = data.length / 2;//        byte[] encoded = new byte[size];//        for (int i = 0; i < size; i++)//            encoded[i] = aLawEncode((data[2 * i + 1] << 8) | data[2 * i]);//        return encoded;//    }    /**     *  Encode an array of pcm values into a pre-allocated target array     *       *  @param data An array of bytes in Little-Endian format     *  @param target A pre-allocated array to receive the A-law bytes.  This array must be at least half the size of the source.     */    public static void aLawEncode(boolean bigEndian, byte[] data, int offset, int length, byte[] target)    {    	if (bigEndian)    		aLawEncodeBigEndian(data, offset, length, target);    	else    		aLawEncodeLittleEndian(data, offset, length, target);     }    public static void aLawEncodeLittleEndian(byte[] data, int offset, int length, byte[] target)    {        int size = length / 2;        for (int i = 0; i < size; i++)            target[i] = aLawEncode(((data[offset + 2 * i + 1] & 0xff) << 8) | (data[offset + 2 * i]) & 0xff);    }    public static void aLawEncodeBigEndian(byte[] data, int offset, int length, byte[] target)    {        int size = length / 2;        for (int i = 0; i < size; i++)            target[i] = aLawEncode(((data[offset + 2 * i + 1]) & 0xff) | ((data[offset + 2 * i] & 0xff) << 8));    }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人丝袜视频网| 久久草av在线| 日本高清不卡aⅴ免费网站| 国产精品成人午夜| 欧美日韩中文字幕精品| 丝袜美腿一区二区三区| 精品久久久久香蕉网| 韩国欧美一区二区| 18欧美乱大交hd1984| 欧美视频精品在线观看| 久久9热精品视频| 国产日韩欧美a| 在线观看日韩国产| 日本视频一区二区三区| 国产性色一区二区| 欧美在线观看18| 黄页网站大全一区二区| 亚洲摸摸操操av| 91精品免费观看| 成人app网站| 午夜精品福利一区二区蜜股av| 日韩一区二区三区精品视频| 国产成人综合亚洲网站| 亚洲国产精品一区二区www在线 | 国产精品美女久久久久高潮| 一本大道综合伊人精品热热| 婷婷六月综合网| 国产欧美综合色| 欧美高清一级片在线| 国产成人亚洲精品青草天美| 午夜精品一区在线观看| 日本一区二区动态图| 欧美日韩高清在线播放| 丁香六月久久综合狠狠色| 舔着乳尖日韩一区| **欧美大码日韩| 久久一区二区三区四区| 欧美日韩午夜精品| aaa亚洲精品| 国产综合久久久久久鬼色 | 成人听书哪个软件好| 欧美网站大全在线观看| 国产精品成人免费精品自在线观看| 精品亚洲国内自在自线福利| 色综合久久久久久久| 国产精品视频一二| 成人一区二区三区视频在线观看| 日韩欧美在线影院| 麻豆精品一二三| 久久综合视频网| 国产精品羞羞答答xxdd| 久久精子c满五个校花| 欧美亚洲国产一区在线观看网站| 国产精品欧美综合在线| 日韩欧美电影一二三| 精品视频1区2区| 日本高清免费不卡视频| 欧美性色aⅴ视频一区日韩精品| 国产福利一区二区三区视频| 久久aⅴ国产欧美74aaa| 日本不卡视频在线| 亚洲综合色视频| 一区二区三区精品久久久| 国产精品久久久久久久浪潮网站| 日韩欧美成人一区| 日韩一区二区不卡| 欧美一区二区久久久| 欧美日韩成人高清| 欧美福利电影网| 欧美丰满少妇xxxxx高潮对白| 欧美日韩国产中文| 欧美日韩一区二区三区不卡| 日本韩国欧美一区| 欧美性极品少妇| 欧美日韩黄色一区二区| 欧美日韩高清一区二区三区| 欧美美女黄视频| 91精品综合久久久久久| 欧美一区永久视频免费观看| 欧美日韩成人综合在线一区二区| 欧美三区在线观看| 3d成人动漫网站| 日韩免费一区二区| 国产欧美一区二区三区鸳鸯浴| 国产亚洲精久久久久久| 国产精品―色哟哟| 亚洲私人影院在线观看| 亚洲美女视频在线观看| 亚洲一区中文日韩| 日本vs亚洲vs韩国一区三区| 久久国产精品免费| 成熟亚洲日本毛茸茸凸凹| 99久久久国产精品| 欧美唯美清纯偷拍| 日韩美女一区二区三区| 国产婷婷色一区二区三区四区 | 欧美丰满嫩嫩电影| 日韩一区二区精品在线观看| 国产成人在线视频网址| 国产精品911| 日本韩国欧美三级| 成人欧美一区二区三区1314| 久久久国产精品麻豆| 日本一区二区三区久久久久久久久不| 日韩美女天天操| www亚洲一区| 亚洲欧美中日韩| 国产精品视频一二| 亚洲动漫第一页| 国产精品综合视频| 色综合天天综合网天天看片| 欧美激情一区三区| 一区二区三区精品视频| 亚洲第一精品在线| 国产盗摄一区二区| 欧美三级中文字| 国产亚洲一区二区三区在线观看| 亚洲柠檬福利资源导航| 麻豆国产一区二区| 色婷婷精品久久二区二区蜜臀av| 日韩欧美亚洲一区二区| 亚洲精品老司机| 精品一区二区三区免费观看| 色综合天天综合网天天看片| 精品成人佐山爱一区二区| 一区二区三区四区不卡在线| 国产一区二区三区免费播放| 在线国产电影不卡| 久久精品亚洲精品国产欧美kt∨| 亚洲国产视频一区| 成人av在线一区二区三区| 日韩视频在线你懂得| 亚洲蜜臀av乱码久久精品| 激情丁香综合五月| 在线不卡一区二区| 成人免费在线观看入口| 国产一区二区精品久久91| 欧美日韩一级黄| 亚洲欧美日韩中文播放| 国内成人免费视频| 欧美一级国产精品| 亚洲超丰满肉感bbw| 99国产精品一区| 亚洲国产电影在线观看| 九九九精品视频| 欧美一区二区美女| 天天射综合影视| 欧美色图第一页| 亚洲丰满少妇videoshd| 在线观看www91| 亚洲欧美日韩国产一区二区三区| 成人国产精品免费观看动漫| 国产婷婷色一区二区三区| 久久精品二区亚洲w码| 欧美另类z0zxhd电影| 午夜日韩在线观看| 欧美色国产精品| 亚洲国产精品一区二区www在线| 色综合色综合色综合色综合色综合 | 亚洲欧洲在线观看av| 国产成人日日夜夜| 久久毛片高清国产| 国产精品综合一区二区三区| 久久久久久久综合狠狠综合| 韩国av一区二区三区四区| 欧美成人aa大片| 国产美女精品一区二区三区| 欧美精品一区二区久久久| 免费成人在线观看| 精品91自产拍在线观看一区| 激情都市一区二区| 国产亚洲欧美激情| 成人一区二区三区视频 | 欧美在线一区二区三区| 久久99久久99精品免视看婷婷 | 国产河南妇女毛片精品久久久| 欧美变态tickle挠乳网站| 国内一区二区在线| 久久久精品黄色| www.久久精品| 一区二区在线免费| 欧美日韩成人一区二区| 免费在线成人网| 国产视频一区在线观看| 成人免费电影视频| 亚洲专区一二三| 欧美变态tickle挠乳网站| 国产精品自拍三区| 亚洲人妖av一区二区| 在线观看亚洲精品| 日韩 欧美一区二区三区| 久久人人爽人人爽| 97久久超碰国产精品电影| 亚洲一区在线视频| www一区二区| 99国产精品一区| 视频一区中文字幕| 久久久午夜精品理论片中文字幕| 91丨九色丨尤物| 日韩黄色一级片|