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

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

?? encg711.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
字號:
/*/////////////////////////////////////////////////////////////////////////////
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 2004-2005 Intel Corporation. All Rights Reserved.
//
//     Intel(R) Integrated Performance Primitives
//     USC - Unified Speech Codec interface library
//
// By downloading and installing USC codec, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ipplic.htm located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// A speech coding standards promoted by ITU, ETSI, 3GPP and other
// organizations. Implementations of these standards, or the standard enabled
// platforms may require licenses from various entities, including
// Intel Corporation.
//
//
// Purpose: G711 speech codec: encoder API.
//
*/

#include <stdio.h>
#include <stdlib.h>
#include <ippsc.h>
#include <ipps.h>
#include "owng711.h"
#include "g729api.h"

static int EncoderObjSize(void) {
    int objSize=sizeof(G711Encoder_Obj);
    int g729_size;
    apiG729Encoder_Alloc(G729A_CODEC, &g729_size);
    objSize += g729_size;
    return objSize;
}

G711_CODECFUN( APIG711_Status, apiG711Codec_ScratchMemoryAlloc,(int *pCodecSize)) {
    if (NULL==pCodecSize)
        return APIG711_StsBadArgErr;
#if !defined (NO_SCRATCH_MEMORY_USED)
    *pCodecSize = G711_ENCODER_SCRATCH_MEMORY_SIZE;
#endif
    return APIG711_StsNoErr;
}

G711_CODECFUN( APIG711_Status, apiG711Encoder_Alloc,
               (int *pCodecSize)) {
   if (NULL==pCodecSize)
      return APIG711_StsBadArgErr;
   *pCodecSize = EncoderObjSize();
   return APIG711_StsNoErr;
}

G711_CODECFUN( APIG711_Status, apiG711Encoder_Init,
               (G711Encoder_Obj* encoderObj, G711Codec_Type codecType, G711Encode_Mode mode)) {
    if (NULL==encoderObj)
        return APIG711_StsBadArgErr;

    if ((codecType != G711_ALAW_CODEC)&&(codecType != G711_MULAW_CODEC)) {
        return APIG711_StsBadCodecType;
    }
    if (G711Encode_VAD_Enabled != mode && G711Encode_VAD_Disabled != mode) {
        return APIG711_StsBadArgErr;
    }

    ippsZero_16s((short*)encoderObj, sizeof(*encoderObj)>>1);

    encoderObj->objPrm.objSize = EncoderObjSize();
    encoderObj->objPrm.mode = mode;
    encoderObj->objPrm.key = ENC_KEY;
    encoderObj->objPrm.codecType=codecType;

    encoderObj->codecType = codecType;

    encoderObj->g729_obj = (char*)encoderObj + sizeof(G711Encoder_Obj);

    apiG729Encoder_Init(encoderObj->g729_obj, G729A_CODEC, G729Encode_VAD_Enabled);

    return APIG711_StsNoErr;
}

G711_CODECFUN( APIG711_Status, apiG711Encoder_Mode,
               (G711Encoder_Obj* encoderObj, G711Encode_Mode mode))
{
   if (NULL==encoderObj)
        return APIG711_StsBadArgErr;
   encoderObj->objPrm.mode = mode;
   return APIG711_StsNoErr;
}
G711_CODECFUN( APIG711_Status, apiG711Encoder_InitBuff,
               (G711Encoder_Obj* encoderObj, char *buff)) {
#if !defined (NO_SCRATCH_MEMORY_USED)
    if (NULL==encoderObj || NULL==buff)
        return APIG711_StsBadArgErr;
    encoderObj->Mem.base = buff;
    encoderObj->Mem.CurPtr = encoderObj->Mem.base;
    encoderObj->Mem.VecPtr = (int *)(encoderObj->Mem.base+G711_ENCODER_SCRATCH_MEMORY_SIZE);
#endif
    return APIG711_StsNoErr;
}

G711_CODECFUN( APIG711_Status, apiG711Encode,
               (G711Encoder_Obj* encoderObj, const short *src, unsigned char* dst, int *frametype)) {
    short *inputHistory = encoderObj->inputHistory;
    short anau[4];

    if (encoderObj->objPrm.mode == G711Encode_VAD_Enabled) {
        APIG729_Status status;
        status = apiG729EncodeVAD(encoderObj->g729_obj,src,anau,G729A_CODEC,frametype);
        if (status != APIG729_StsNoErr) {
            return APIG711_StsErr;
        }
        if (*frametype == G711_Voice_Frame) {
            if (encoderObj->codecType == G711_ALAW_CODEC) {
                ippsLinToALaw_16s8u(inputHistory, dst, LP_SUBFRAME_DIM);
                ippsLinToALaw_16s8u(src, dst + LP_SUBFRAME_DIM, LP_SUBFRAME_DIM);
            } else { /* G711_MULAW_CODEC */
                ippsLinToMuLaw_16s8u(inputHistory, dst, LP_SUBFRAME_DIM);
                ippsLinToMuLaw_16s8u(src, dst + LP_SUBFRAME_DIM, LP_SUBFRAME_DIM);
            }
        } else {
            dst[0] = ((anau[0] & 1) << 7) | ((anau[1] & 31) << 2) | ((anau[2] & 15)>>2);
            dst[1] = ((anau[2] & 3) << 6) | ((anau[3] & 31) << 1);
        }
        ippsCopy_16s(src + LP_SUBFRAME_DIM, inputHistory, LP_SUBFRAME_DIM);
    } else {
        *frametype = G711_Voice_Frame;
        if (encoderObj->codecType == G711_ALAW_CODEC) {
            ippsLinToALaw_16s8u(src, dst, LP_FRAME_DIM);
        } else { /* G711_MULAW_CODEC */
            ippsLinToMuLaw_16s8u(src, dst, LP_FRAME_DIM);
        }
    }
    return APIG711_StsNoErr;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产sm精品调教视频网站| 有码一区二区三区| 国产美女娇喘av呻吟久久| 91福利在线导航| 亚洲国产成人精品视频| 在线观看三级视频欧美| 午夜精品福利在线| 精品国产凹凸成av人网站| 欧美视频中文字幕| 日韩美一区二区三区| 看电影不卡的网站| 亚洲愉拍自拍另类高清精品| 欧美激情一区二区在线| 91国模大尺度私拍在线视频| 国产亚洲短视频| 精品在线播放午夜| 91猫先生在线| 国产精品不卡一区二区三区| 韩国一区二区视频| 91精品国产入口在线| 亚洲一区在线观看视频| 亚洲中国最大av网站| 欧美电影免费提供在线观看| 色欲综合视频天天天| av一区二区不卡| 欧美最新大片在线看| 激情伊人五月天久久综合| 日本少妇一区二区| 国产传媒一区在线| 国产精品1024| 久久精品亚洲精品国产欧美kt∨ | 美女mm1313爽爽久久久蜜臀| 欧美日韩你懂的| 亚洲综合色网站| 欧美在线你懂得| 一区二区三区四区在线免费观看 | 国产一区二区不卡在线| 日韩免费一区二区三区在线播放| 亚洲国产精品麻豆| 欧美乱妇23p| 麻豆精品蜜桃视频网站| 久久精品亚洲一区二区三区浴池 | 91福利资源站| 天天色天天爱天天射综合| 91精品久久久久久蜜臀| 精品少妇一区二区三区免费观看| 色婷婷综合久久久久中文一区二区 | 久久久国际精品| 337p亚洲精品色噜噜狠狠| 在线一区二区视频| 欧美在线视频全部完| 欧美一区二区日韩| 欧美亚洲一区二区在线| www激情久久| 日韩欧美资源站| 一本一道久久a久久精品| 亚洲精选视频免费看| 欧美亚洲综合在线| 国产激情一区二区三区四区| 国产精品久久综合| 在线观看日韩国产| 免费观看30秒视频久久| 欧美激情一区二区三区蜜桃视频 | 欧美国产国产综合| 色综合久久久久网| 日本视频在线一区| 中文字幕欧美日本乱码一线二线| 一本色道**综合亚洲精品蜜桃冫 | 91精品国产综合久久国产大片| 久久精品国产免费看久久精品| 国产三级欧美三级日产三级99| www.日韩av| 日韩国产欧美在线播放| 国产精品成人免费在线| 日韩女优av电影| 色综合天天天天做夜夜夜夜做| 日韩av网站在线观看| 国产精品丝袜91| 日韩欧美精品三级| 欧美一区二区不卡视频| 国产伦精品一区二区三区免费迷| 国产精品网站导航| 337p亚洲精品色噜噜狠狠| 成人国产精品免费网站| 午夜私人影院久久久久| 精品成人在线观看| 337p亚洲精品色噜噜噜| 亚洲一区二区三区四区在线观看 | 成人的网站免费观看| 精品奇米国产一区二区三区| 亚洲卡通欧美制服中文| 色欧美片视频在线观看| 图片区日韩欧美亚洲| 日韩欧美在线影院| 国产69精品久久久久777| 亚洲自拍偷拍综合| 欧美片在线播放| 亚洲一区中文日韩| 国产精品系列在线| 欧美三级视频在线| 国产高清不卡一区二区| 一级做a爱片久久| 欧美精品一区二区三区蜜桃视频 | 精品欧美久久久| 一本久道久久综合中文字幕| 蜜臀av性久久久久蜜臀av麻豆| 亚洲欧洲性图库| 精品精品国产高清一毛片一天堂| 99久久久无码国产精品| 福利电影一区二区| 视频一区二区不卡| 亚洲图片激情小说| 国产精品视频第一区| 337p日本欧洲亚洲大胆精品| 欧美日韩精品一区二区三区蜜桃| 国产精品一线二线三线| 免费精品99久久国产综合精品| 亚洲黄色av一区| 亚洲国产欧美一区二区三区丁香婷| 欧美韩国一区二区| 国产欧美一区二区三区鸳鸯浴 | 99re成人精品视频| 97se狠狠狠综合亚洲狠狠| 五月天激情小说综合| 国产亚洲精品aa| 国产精品久久久久久久久动漫 | 亚洲成精国产精品女| 亚洲视频1区2区| 亚洲最快最全在线视频| 亚洲国产一区二区在线播放| 一区二区三区自拍| 秋霞国产午夜精品免费视频| 国产在线视视频有精品| 国产成人亚洲综合a∨婷婷图片| 成人午夜短视频| 欧洲人成人精品| 欧美肥妇bbw| 日韩精品最新网址| 国产精品国产a级| 亚洲国产成人精品视频| 国产在线精品不卡| 精品视频一区二区不卡| 欧美一级欧美三级在线观看| 日韩免费看的电影| 在线成人av网站| 亚洲国产精品黑人久久久| 亚洲另类春色校园小说| 日本成人在线看| 99热国产精品| 日韩国产欧美在线视频| 国产.精品.日韩.另类.中文.在线.播放| 91视频精品在这里| 日本一区二区三区久久久久久久久不| 亚洲bdsm女犯bdsm网站| 99久久99久久精品国产片果冻| 9191国产精品| 天涯成人国产亚洲精品一区av| 成人激情免费电影网址| 欧美一区二区三区成人| 亚洲成人中文在线| 欧美私人免费视频| 综合亚洲深深色噜噜狠狠网站| 国产精品中文字幕日韩精品 | 久久先锋影音av鲁色资源| 丝袜美腿一区二区三区| 正在播放亚洲一区| 国产精品色婷婷久久58| 亚洲成人精品影院| 欧美男同性恋视频网站| 午夜精品福利在线| 日韩一级在线观看| 免费av成人在线| 国产精品午夜在线| 91麻豆国产福利在线观看| 亚洲日本一区二区| 欧美日韩激情一区二区| 寂寞少妇一区二区三区| 国产欧美日韩久久| 色综合天天视频在线观看 | 亚洲免费av网站| 日韩欧美电影一二三| 国产成人超碰人人澡人人澡| 国产欧美日韩在线观看| 色综合久久天天| 麻豆中文一区二区| 亚洲一区在线观看免费观看电影高清| 色综合欧美在线视频区| 久久国产视频网| 亚洲美女视频在线| 久久久九九九九| 日韩欧美卡一卡二| 色先锋aa成人| 国产激情视频一区二区三区欧美 | 欧美日韩一区二区三区高清| 国产精品综合一区二区三区| 一区二区三区四区中文字幕| 久久久无码精品亚洲日韩按摩| 欧美日韩在线三区| 色综合久久久久久久久久久| 国产在线精品一区二区三区不卡 |