www.pudn.com > AVS.rar > avsdeclib.h


/************************************************************************* 
 AVS1-P2视频解码器源码 
 版权所有:联合信源数字音视频技术(北京)有限公司, (c) 2005-2006  
 
 AVS1-P2 Video Decoder Source Code 
 (c) Copyright, NSCC All Rights Reserved, 2005-2006 
 ************************************************************************* 
 Distributed 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 
*************************************************************************/ 
/************************************************************************* 
  本代码为AVS1-P2标准视频解码器的源代码,实现了AVS1-P2标准文本中所规定的 
  绝大部分功能,但不包括: 
  1) 场编码(field coding) 
  2) 多Slice结构 
  3) 加权预测 
  4) 去伪起始码 
 *************************************************************************/ 
/************************************************************************* 
  Revision History 
  data          Modification                                    Author 
  2006-3-13      Created                                        jthou 
 *************************************************************************/ 
 
#ifndef _AVSLIB_H_d0808y76666550U887YTH9OH9H 
#define _AVSLIB_H_d0808y76666550U887YTH9OH9H 
struct SEQ_INFO { 
  int   image_width; 
  int   image_height; 
  float frame_rate; 
}; 
 
#define DLLEXPORT __declspec( dllexport ) 
#ifdef __cplusplus 
extern "C" {  // only need to export C interface if 
              // used by C++ source code 
#endif 
 
DLLEXPORT int OpenAVSDec(BYTE* pbData, int len, SEQ_INFO* pInfo); 
  
DLLEXPORT int GetOneFrameBitsFromBuffer(unsigned char *pFrameBuf,  
                               int iBufLen,  
                               int *pFrameLen,  
                              int* pNoUseDataLen); 
 
DLLEXPORT int DecOneFrameFromBuffer(unsigned char *pbData,  
                          int iFrameLen,  
                          BYTE** ppOutY,  
                          BYTE** ppOutU,  
                          BYTE** ppOutV); 
DLLEXPORT void CloseAVSDec(); 
#ifdef __cplusplus 
} 
#endif 
#endif