81 lines
1.8 KiB
C
81 lines
1.8 KiB
C
|
/***************************************************************************
|
|||
|
*
|
|||
|
* Copyright 2015-2019 BES.
|
|||
|
* All rights reserved. All unpublished rights reserved.
|
|||
|
*
|
|||
|
* No part of this work may be used or reproduced in any form or by any
|
|||
|
* means, or stored in a database or retrieval system, without prior written
|
|||
|
* permission of BES.
|
|||
|
*
|
|||
|
* Use of this work is governed by a license granted by BES.
|
|||
|
* This work contains confidential and proprietary information of
|
|||
|
* BES. which is protected by copyright, trade secret,
|
|||
|
* trademark and other intellectual property rights.
|
|||
|
*
|
|||
|
****************************************************************************/
|
|||
|
/*******************************************************************************
|
|||
|
** namer<EFBFBD><EFBFBD>CVSD CODEC header
|
|||
|
** description<EFBFBD><EFBFBD>CVSD encoder and CVSD decoder header
|
|||
|
** version<EFBFBD><EFBFBD>V1.0
|
|||
|
** author: xuml
|
|||
|
** modify<EFBFBD><EFBFBD>2015.8.21.
|
|||
|
*******************************************************************************/
|
|||
|
|
|||
|
#ifndef _CVSD_CODEC_H_
|
|||
|
#define _CVSD_CODEC_H_
|
|||
|
|
|||
|
|
|||
|
//Q fixed
|
|||
|
#define CVSD_Q 10
|
|||
|
|
|||
|
struct CvsdEncSt
|
|||
|
{
|
|||
|
unsigned short CvsdEncJudgeAlpha;
|
|||
|
int CvsdEncLastData;
|
|||
|
int CvsdEncDelta;
|
|||
|
int CvsdEncFirstFrameFlag;
|
|||
|
int FilterState0[3];
|
|||
|
int FilterState1[3];
|
|||
|
int FilterState2[3];
|
|||
|
};
|
|||
|
//decoder
|
|||
|
struct CvsdDecSt
|
|||
|
{
|
|||
|
unsigned short CvsdDecJudgeAlpha;
|
|||
|
int CvsdDecLastData;
|
|||
|
int CvsdDecDelta;
|
|||
|
int FilterState0[3];
|
|||
|
int FilterState1[3];
|
|||
|
int FilterState2[3];
|
|||
|
};
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
//encoder
|
|||
|
void CvsdEncInit(struct CvsdEncSt *CvsdEnc);
|
|||
|
int CvsdEncode(struct CvsdEncSt *CvsdEnc, short *pInPutData, short *pOutPutdata, int iEncSize);
|
|||
|
|
|||
|
//decoder
|
|||
|
void CvsdDecInit(struct CvsdDecSt *CvsdDec);
|
|||
|
int CvsdDecode(struct CvsdDecSt *CvsdDec, short *pInPutData, short *pOutPutdata, int iDecSize);
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|