diff options
Diffstat (limited to 'media/libstagefright/codecs/m4v_h263/enc/src/mp4def.h')
-rw-r--r-- | media/libstagefright/codecs/m4v_h263/enc/src/mp4def.h | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/m4v_h263/enc/src/mp4def.h b/media/libstagefright/codecs/m4v_h263/enc/src/mp4def.h new file mode 100644 index 0000000..0d5a3e8 --- /dev/null +++ b/media/libstagefright/codecs/m4v_h263/enc/src/mp4def.h @@ -0,0 +1,229 @@ +/* ------------------------------------------------------------------ + * Copyright (C) 1998-2009 PacketVideo + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. + * See the License for the specific language governing permissions + * and limitations under the License. + * ------------------------------------------------------------------- + */ +#ifndef _PVDECDEF_H_ +#define _PVDECDEF_H_ + +#include <stdint.h> // for uint8_t, etc +#include <stdlib.h> +#include <string.h> + +// Redefine the int types +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef int16_t int16; +typedef uint32_t uint32; +typedef int32_t int32; +typedef unsigned int uint; + +/********** platform dependent in-line assembly *****************************/ + +/*************** Intel *****************/ + +/*************** ARM *****************/ +/* for general ARM instruction. #define __ARM has to be defined in compiler set up.*/ +/* for DSP MUL */ +#ifdef __TARGET_FEATURE_DSPMUL +#define _ARM_DSP_MUL +#endif + +/* for Count Leading Zero instruction */ +#ifdef __TARGET_ARCH_5T +#define _ARM_CLZ +#endif +#ifdef __TARGET_ARCH_5TE +#define _ARM_CLZ +#endif +/****************************************************************************/ + +#ifndef _PV_TYPES_ +#define _PV_TYPES_ +typedef unsigned char UChar; +typedef char Char; +typedef unsigned int UInt; +typedef int Int; +typedef unsigned short UShort; +typedef short Short; +typedef short int SInt; +typedef unsigned int Bool; +typedef unsigned long ULong; +typedef void Void; + +#define PV_CODEC_INIT 0 +#define PV_CODEC_STOP 1 +#define PV_CODEC_RUNNING 2 +#define PV_CODEC_RESET 3 +#endif + +typedef enum +{ + PV_SUCCESS, + PV_FAIL, + PV_EOS, /* hit End_Of_Sequence */ + PV_MB_STUFFING, /* hit Macroblock_Stuffing */ + PV_END_OF_VOP, /* hit End_of_Video_Object_Plane */ + PV_END_OF_MB, /* hit End_of_Macroblock */ + PV_END_OF_BUF /* hit End_of_Bitstream_Buffer */ +} PV_STATUS; + +typedef UChar PIXEL; +//typedef Int MOT; /* : "int" type runs faster on RISC machine */ + +#define HTFM /* 3/2/01, Hypothesis Test Fast Matching for early drop-out*/ +//#define _MOVE_INTERFACE + +//#define RANDOM_REFSELCODE + +/* handle the case of devision by zero in RC */ +#define MAD_MIN 1 + +/* 4/11/01, if SSE or MMX, no HTFM, no SAD_HP_FLY */ + +/* Code size reduction related Macros */ +#ifdef H263_ONLY +#ifndef NO_RVLC +#define NO_RVLC +#endif +#ifndef NO_MPEG_QUANT +#define NO_MPEG_QUANT +#endif +#ifndef NO_INTER4V +#define NO_INTER4V +#endif +#endif +/**************************************/ + +#define TRUE 1 +#define FALSE 0 + +#define PV_ABS(x) (((x)<0)? -(x) : (x)) +#define PV_SIGN(x) (((x)<0)? -1 : 1) +#define PV_SIGN0(a) (((a)<0)? -1 : (((a)>0) ? 1 : 0)) +#define PV_MAX(a,b) ((a)>(b)? (a):(b)) +#define PV_MIN(a,b) ((a)<(b)? (a):(b)) + +#define MODE_INTRA 0 +#define MODE_INTER 1 +#define MODE_INTRA_Q 2 +#define MODE_INTER_Q 3 +#define MODE_INTER4V 4 +#define MODE_SKIPPED 6 + +#define I_VOP 0 +#define P_VOP 1 +#define B_VOP 2 + +/*09/04/00 Add MB height and width */ +#define MB_WIDTH 16 +#define MB_HEIGHT 16 + +#define VOP_BRIGHT_WHITEENC 255 + + +#define LUMINANCE_DC_TYPE 1 +#define CHROMINANCE_DC_TYPE 2 + +#define EOB_CODE 1 +#define EOB_CODE_LENGTH 32 + +/* 11/30/98 */ +#define FoundRM 1 /* Resync Marker */ +#define FoundVSC 2 /* VOP_START_CODE. */ +#define FoundGSC 3 /* GROUP_START_CODE */ +#define FoundEOB 4 /* EOB_CODE */ + + +/* 05/08/2000, the error code returned from BitstreamShowBits() */ +#define BITSTREAM_ERROR_CODE 0xFFFFFFFF + +/* PacketVideo "absolution timestamp" object. 06/13/2000 */ +#define PVTS_START_CODE 0x01C4 +#define PVTS_START_CODE_LENGTH 32 + +/* session layer and vop layer start codes */ + +#define SESSION_START_CODE 0x01B0 +#define SESSION_END_CODE 0x01B1 +#define VISUAL_OBJECT_START_CODE 0x01B5 + +#define VO_START_CODE 0x8 +#define VO_HEADER_LENGTH 32 /* lengtho of VO header: VO_START_CODE + VO_ID */ + +#define SOL_START_CODE 0x01BE +#define SOL_START_CODE_LENGTH 32 + +#define VOL_START_CODE 0x12 +#define VOL_START_CODE_LENGTH 28 + +#define VOP_START_CODE 0x1B6 +#define VOP_START_CODE_LENGTH 32 + +#define GROUP_START_CODE 0x01B3 +#define GROUP_START_CODE_LENGTH 32 + +#define VOP_ID_CODE_LENGTH 5 +#define VOP_TEMP_REF_CODE_LENGTH 16 + +#define USER_DATA_START_CODE 0x01B2 +#define USER_DATA_START_CODE_LENGTH 32 + +#define START_CODE_PREFIX 0x01 +#define START_CODE_PREFIX_LENGTH 24 + +#define SHORT_VIDEO_START_MARKER 0x20 +#define SHORT_VIDEO_START_MARKER_LENGTH 22 +#define SHORT_VIDEO_END_MARKER 0x3F +#define GOB_RESYNC_MARKER 0x01 +#define GOB_RESYNC_MARKER_LENGTH 17 + +/* motion and resync markers used in error resilient mode */ + +#define DC_MARKER 438273 +#define DC_MARKER_LENGTH 19 + +#define MOTION_MARKER_COMB 126977 +#define MOTION_MARKER_COMB_LENGTH 17 + +#define MOTION_MARKER_SEP 81921 +#define MOTION_MARKER_SEP_LENGTH 17 + +#define RESYNC_MARKER 1 +#define RESYNC_MARKER_LENGTH 17 + +#define SPRITE_NOT_USED 0 +#define STATIC_SPRITE 1 +#define ONLINE_SPRITE 2 +#define GMC_SPRITE 3 + +/* macroblock and block size */ +#define MB_SIZE 16 +#define NCOEFF_MB (MB_SIZE*MB_SIZE) +#define B_SIZE 8 +#define NCOEFF_BLOCK (B_SIZE*B_SIZE) +#define NCOEFF_Y NCOEFF_MB +#define NCOEFF_U NCOEFF_BLOCK +#define NCOEFF_V NCOEFF_BLOCK + +/* overrun buffer size */ +#define DEFAULT_OVERRUN_BUFFER_SIZE 1000 + + +/* VLC decoding related definitions */ +#define VLC_ERROR (-1) +#define VLC_ESCAPE 7167 + +#endif /* _PVDECDEF_H_ */ |