1d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/* ------------------------------------------------------------------ 2d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * Copyright (C) 1998-2009 PacketVideo 3d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * 4d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * you may not use this file except in compliance with the License. 6d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * You may obtain a copy of the License at 7d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * 8d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * 10d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * Unless required by applicable law or agreed to in writing, software 11d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * express or implied. 14d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * See the License for the specific language governing permissions 15d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * and limitations under the License. 16d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * ------------------------------------------------------------------- 17d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber */ 18d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/* 19d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 20d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber PacketVideo Corp. 21d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber MP3 Decoder Library 22d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 23d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber Filename: pvmp3_crc.h 24d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 25d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber Date: 09/21/2007 26d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 27d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 28d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber REVISION HISTORY 29d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 30d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber Description: 31d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 32d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 33d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber INCLUDE DESCRIPTION 34d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 35d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 36d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 37d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber*/ 38d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 39d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 40d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; CONTINUE ONLY IF NOT ALREADY DEFINED 41d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 42d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#ifndef PVMP3_CRC_H 43d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#define PVMP3_CRC_H 44d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 45d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 46d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; INCLUDES 47d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 48d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#include "pvmp3_audio_type_defs.h" 49d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#include "s_mp3bits.h" 50d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#include "pvmp3decoder_api.h" 51d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 52d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 53d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; MACROS 54d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Define module specific macros here 55d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 56d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 57d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 58d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; DEFINES 59d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Include all pre-processor statements here. 60d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 61d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#define CRC16_POLYNOMIAL 0x8005 62d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 63d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 64d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; EXTERNAL VARIABLES REFERENCES 65d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Declare variables used in this module but defined elsewhere 66d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 67d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 68d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 69d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; SIMPLE TYPEDEF'S 70d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 71d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 72d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 73d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; ENUMERATED TYPEDEF'S 74d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 75d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 76d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 77d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; STRUCTURES TYPEDEF'S 78d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 79d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#ifdef __cplusplus 80d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberextern "C" 81d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber{ 82d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#endif 83d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 84d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber uint32 getbits_crc(tmp3Bits *inputStream, 85d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber int32 neededBits, 86d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber uint32 *crc, 87d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber uint32 crc_enabled); 88d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 89d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 90d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber void calculate_crc(uint32 data, 91d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber uint32 length, 92d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber uint32 *crc); 93d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 94d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#ifdef __cplusplus 95d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber} 96d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#endif 97d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 98d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 99d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; GLOBAL FUNCTION DEFINITIONS 100d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Function Prototype declaration 101d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 102d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 103d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 104d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; END 105d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 106d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 107d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#endif 108d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 109d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 110d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 111