1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* ***** BEGIN LICENSE BLOCK *****
- * Source last modified: $Id: bitstream.h,v 1.1 2005/02/26 01:47:34 jrecker Exp $
- *
- * Portions Copyright (c) 1995-2005 RealNetworks, Inc. All Rights Reserved.
- *
- * The contents of this file, and the files included with this file,
- * are subject to the current version of the RealNetworks Public
- * Source License (the "RPSL") available at
- * http://www.helixcommunity.org/content/rpsl unless you have licensed
- * the file under the current version of the RealNetworks Community
- * Source License (the "RCSL") available at
- * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
- * will apply. You may also obtain the license terms directly from
- * RealNetworks. You may not use this file except in compliance with
- * the RPSL or, if you have a valid RCSL with RealNetworks applicable
- * to this file, the RCSL. Please see the applicable RPSL or RCSL for
- * the rights, obligations and limitations governing use of the
- * contents of the file.
- *
- * This file is part of the Helix DNA Technology. RealNetworks is the
- * developer of the Original Code and owns the copyrights in the
- * portions it created.
- *
- * This file, and the files included with this file, is distributed
- * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
- * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
- * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
- * ENJOYMENT OR NON-INFRINGEMENT.
- *
- * Technology Compatibility Kit Test Suite(s) Location:
- * http://www.helixcommunity.org/content/tck
- *
- * Contributor(s):
- *
- * ***** END LICENSE BLOCK ***** */
- /**************************************************************************************
- * Fixed-point HE-AAC decoder
- * Jon Recker (jrecker@real.com)
- * February 2005
- *
- * bitstream.h - definitions of bitstream handling functions
- **************************************************************************************/
- #ifndef _BITSTREAM_H
- #define _BITSTREAM_H
- #include "aaccommon.h"
- /* additional external symbols to name-mangle for static linking */
- #define SetBitstreamPointer STATNAME(SetBitstreamPointer)
- #define GetBits STATNAME(GetBits)
- #define GetBitsNoAdvance STATNAME(GetBitsNoAdvance)
- #define AdvanceBitstream STATNAME(AdvanceBitstream)
- #define CalcBitsUsed STATNAME(CalcBitsUsed)
- #define ByteAlignBitstream STATNAME(ByteAlignBitstream)
- typedef struct _BitStreamInfo {
- unsigned char *bytePtr;
- unsigned int iCache;
- int cachedBits;
- int nBytes;
- } BitStreamInfo;
- /* bitstream.c */
- void SetBitstreamPointer(BitStreamInfo *bsi, int nBytes, unsigned char *buf);
- unsigned int GetBits(BitStreamInfo *bsi, int nBits);
- unsigned int GetBitsNoAdvance(BitStreamInfo *bsi, int nBits);
- void AdvanceBitstream(BitStreamInfo *bsi, int nBits);
- int CalcBitsUsed(BitStreamInfo *bsi, unsigned char *startBuf, int startOffset);
- void ByteAlignBitstream(BitStreamInfo *bsi);
- #endif /* _BITSTREAM_H */
|