142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* ------------------------------------------------------------------ 242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * Copyright (C) 1998-2009 PacketVideo 342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * 442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * Licensed under the Apache License, Version 2.0 (the "License"); 542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * you may not use this file except in compliance with the License. 642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * You may obtain a copy of the License at 742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * 842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * http://www.apache.org/licenses/LICENSE-2.0 942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * 1042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * Unless required by applicable law or agreed to in writing, software 1142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * distributed under the License is distributed on an "AS IS" BASIS, 1242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 1342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * express or implied. 1442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * See the License for the specific language governing permissions 1542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * and limitations under the License. 1642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong * ------------------------------------------------------------------- 1742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong */ 1842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifndef _PVDECDEF_H_ 1942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define _PVDECDEF_H_ 2042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 21faf775e772e329e821d81ba735474df097b1e1e9James Dong#include <stdint.h> // for uint8_t, etc 2242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#include <stdlib.h> 2342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#include <string.h> 2442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 2542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong// Redefine the int types 2642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef uint8_t uint8; 2742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef uint16_t uint16; 2842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef int16_t int16; 2942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef uint32_t uint32; 3042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef int32_t int32; 3142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef unsigned int uint; 3242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 3342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/********** platform dependent in-line assembly *****************************/ 3442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 3542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/*************** Intel *****************/ 3642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 3742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/*************** ARM *****************/ 3842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* for general ARM instruction. #define __ARM has to be defined in compiler set up.*/ 3942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* for DSP MUL */ 4042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifdef __TARGET_FEATURE_DSPMUL 4142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define _ARM_DSP_MUL 4242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 4342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 4442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* for Count Leading Zero instruction */ 4542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifdef __TARGET_ARCH_5T 4642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define _ARM_CLZ 4742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 4842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifdef __TARGET_ARCH_5TE 4942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define _ARM_CLZ 5042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 5142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/****************************************************************************/ 5242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 5342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifndef _PV_TYPES_ 5442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define _PV_TYPES_ 5542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef unsigned char UChar; 5642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef char Char; 5742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef unsigned int UInt; 5842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef int Int; 5942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef unsigned short UShort; 6042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef short Short; 6142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef short int SInt; 6242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef unsigned int Bool; 6342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef unsigned long ULong; 6442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef void Void; 6542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 6642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_CODEC_INIT 0 6742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_CODEC_STOP 1 6842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_CODEC_RUNNING 2 6942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_CODEC_RESET 3 7042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 7142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 7242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef enum 7342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong{ 7442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_SUCCESS, 7542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_FAIL, 7642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_EOS, /* hit End_Of_Sequence */ 7742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_MB_STUFFING, /* hit Macroblock_Stuffing */ 7842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_END_OF_VOP, /* hit End_of_Video_Object_Plane */ 7942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_END_OF_MB, /* hit End_of_Macroblock */ 8042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong PV_END_OF_BUF /* hit End_of_Bitstream_Buffer */ 8142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong} PV_STATUS; 8242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 8342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dongtypedef UChar PIXEL; 8442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong//typedef Int MOT; /* : "int" type runs faster on RISC machine */ 8542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 8642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define HTFM /* 3/2/01, Hypothesis Test Fast Matching for early drop-out*/ 8742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong//#define _MOVE_INTERFACE 8842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 8942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong//#define RANDOM_REFSELCODE 9042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 9142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* handle the case of devision by zero in RC */ 9242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MAD_MIN 1 9342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 9442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* 4/11/01, if SSE or MMX, no HTFM, no SAD_HP_FLY */ 9542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 9642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* Code size reduction related Macros */ 9742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifdef H263_ONLY 9842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifndef NO_RVLC 9942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NO_RVLC 10042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 10142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifndef NO_MPEG_QUANT 10242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NO_MPEG_QUANT 10342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 10442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#ifndef NO_INTER4V 10542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NO_INTER4V 10642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 10742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif 10842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/**************************************/ 10942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 11042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define TRUE 1 11142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define FALSE 0 11242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 11342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_ABS(x) (((x)<0)? -(x) : (x)) 11442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_SIGN(x) (((x)<0)? -1 : 1) 11542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_SIGN0(a) (((a)<0)? -1 : (((a)>0) ? 1 : 0)) 11642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_MAX(a,b) ((a)>(b)? (a):(b)) 11742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PV_MIN(a,b) ((a)<(b)? (a):(b)) 11842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 11942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MODE_INTRA 0 12042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MODE_INTER 1 12142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MODE_INTRA_Q 2 12242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MODE_INTER_Q 3 12342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MODE_INTER4V 4 12442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MODE_SKIPPED 6 12542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 12642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define I_VOP 0 12742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define P_VOP 1 12842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define B_VOP 2 12942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 13042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/*09/04/00 Add MB height and width */ 13142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MB_WIDTH 16 13242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MB_HEIGHT 16 13342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 13442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOP_BRIGHT_WHITEENC 255 13542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 13642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 13742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define LUMINANCE_DC_TYPE 1 13842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define CHROMINANCE_DC_TYPE 2 13942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 14042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define EOB_CODE 1 14142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define EOB_CODE_LENGTH 32 14242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 14342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* 11/30/98 */ 14442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define FoundRM 1 /* Resync Marker */ 14542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define FoundVSC 2 /* VOP_START_CODE. */ 14642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define FoundGSC 3 /* GROUP_START_CODE */ 14742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define FoundEOB 4 /* EOB_CODE */ 14842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 14942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 15042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* 05/08/2000, the error code returned from BitstreamShowBits() */ 15142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define BITSTREAM_ERROR_CODE 0xFFFFFFFF 15242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 15342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* PacketVideo "absolution timestamp" object. 06/13/2000 */ 15442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PVTS_START_CODE 0x01C4 15542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define PVTS_START_CODE_LENGTH 32 15642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 15742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* session layer and vop layer start codes */ 15842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 15942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SESSION_START_CODE 0x01B0 16042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SESSION_END_CODE 0x01B1 16142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VISUAL_OBJECT_START_CODE 0x01B5 16242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 16342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VO_START_CODE 0x8 16442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VO_HEADER_LENGTH 32 /* lengtho of VO header: VO_START_CODE + VO_ID */ 16542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 16642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SOL_START_CODE 0x01BE 16742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SOL_START_CODE_LENGTH 32 16842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 16942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOL_START_CODE 0x12 17042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOL_START_CODE_LENGTH 28 17142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 17242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOP_START_CODE 0x1B6 17342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOP_START_CODE_LENGTH 32 17442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 17542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define GROUP_START_CODE 0x01B3 17642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define GROUP_START_CODE_LENGTH 32 17742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 17842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOP_ID_CODE_LENGTH 5 17942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VOP_TEMP_REF_CODE_LENGTH 16 18042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 18142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define USER_DATA_START_CODE 0x01B2 18242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define USER_DATA_START_CODE_LENGTH 32 18342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 18442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define START_CODE_PREFIX 0x01 18542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define START_CODE_PREFIX_LENGTH 24 18642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 18742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SHORT_VIDEO_START_MARKER 0x20 18842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SHORT_VIDEO_START_MARKER_LENGTH 22 18942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SHORT_VIDEO_END_MARKER 0x3F 19042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define GOB_RESYNC_MARKER 0x01 19142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define GOB_RESYNC_MARKER_LENGTH 17 19242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 19342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* motion and resync markers used in error resilient mode */ 19442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 19542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define DC_MARKER 438273 19642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define DC_MARKER_LENGTH 19 19742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 19842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MOTION_MARKER_COMB 126977 19942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MOTION_MARKER_COMB_LENGTH 17 20042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 20142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MOTION_MARKER_SEP 81921 20242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MOTION_MARKER_SEP_LENGTH 17 20342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 20442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define RESYNC_MARKER 1 20542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define RESYNC_MARKER_LENGTH 17 20642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 20742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define SPRITE_NOT_USED 0 20842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define STATIC_SPRITE 1 20942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define ONLINE_SPRITE 2 21042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define GMC_SPRITE 3 21142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 21242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* macroblock and block size */ 21342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define MB_SIZE 16 21442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NCOEFF_MB (MB_SIZE*MB_SIZE) 21542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define B_SIZE 8 21642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NCOEFF_BLOCK (B_SIZE*B_SIZE) 21742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NCOEFF_Y NCOEFF_MB 21842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NCOEFF_U NCOEFF_BLOCK 21942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define NCOEFF_V NCOEFF_BLOCK 22042ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 22142ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* overrun buffer size */ 22242ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define DEFAULT_OVERRUN_BUFFER_SIZE 1000 22342ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 22442ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 22542ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong/* VLC decoding related definitions */ 22642ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VLC_ERROR (-1) 22742ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#define VLC_ESCAPE 7167 22842ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong 22942ef0c715da879a9878b7bf4eb9c90b21e4ab8aeJames Dong#endif /* _PVDECDEF_H_ */ 230