📄 bitstream.h
字号:
/***************************************************************************** * * XVID MPEG-4 VIDEO CODEC * - Bitstream reader/writer inlined functions and constants- * * Copyright (C) 2001-2003 Peter Ross <pross@xvid.org> * * This program is free software ; you can redistribute it and/or modify * it 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 * * $Id: bitstream.h,v 1.1.1.1 2005/07/13 14:36:12 jeanlf Exp $ * ****************************************************************************/#ifndef _BITSTREAM_H_#define _BITSTREAM_H_#include "portab.h"#include "decoder.h"/***************************************************************************** * Constants ****************************************************************************//* comment any #defs we dont use */#define VIDOBJ_START_CODE 0x00000100 /* ..0x0000011f */#define VIDOBJLAY_START_CODE 0x00000120 /* ..0x0000012f */#define VISOBJSEQ_START_CODE 0x000001b0#define VISOBJSEQ_STOP_CODE 0x000001b1 /* ??? */#define USERDATA_START_CODE 0x000001b2#define GRPOFVOP_START_CODE 0x000001b3/*#define VIDSESERR_ERROR_CODE 0x000001b4 */#define VISOBJ_START_CODE 0x000001b5#define VOP_START_CODE 0x000001b6/*#define STUFFING_START_CODE 0x000001c3 */#define VISOBJ_TYPE_VIDEO 1/*#define VISOBJ_TYPE_STILLTEXTURE 2 *//*#define VISOBJ_TYPE_MESH 3 *//*#define VISOBJ_TYPE_FBA 4 *//*#define VISOBJ_TYPE_3DMESH 5 */#define VIDOBJLAY_TYPE_SIMPLE 1/*#define VIDOBJLAY_TYPE_SIMPLE_SCALABLE 2 *//*#define VIDOBJLAY_TYPE_CORE 3 *//*#define VIDOBJLAY_TYPE_MAIN 4 *//*#define VIDOBJLAY_TYPE_NBIT 5 *//*#define VIDOBJLAY_TYPE_ANIM_TEXT 6 *//*#define VIDOBJLAY_TYPE_ANIM_MESH 7 *//*#define VIDOBJLAY_TYPE_SIMPLE_FACE 8 *//*#define VIDOBJLAY_TYPE_STILL_SCALABLE 9 */#define VIDOBJLAY_TYPE_ART_SIMPLE 10/*#define VIDOBJLAY_TYPE_CORE_SCALABLE 11 *//*#define VIDOBJLAY_TYPE_ACE 12 *//*#define VIDOBJLAY_TYPE_ADVANCED_SCALABLE_TEXTURE 13 *//*#define VIDOBJLAY_TYPE_SIMPLE_FBA 14 *//*#define VIDEOJLAY_TYPE_SIMPLE_STUDIO 15*//*#define VIDEOJLAY_TYPE_CORE_STUDIO 16*/#define VIDOBJLAY_TYPE_ASP 17/*#define VIDOBJLAY_TYPE_FGS 18*//*#define VIDOBJLAY_AR_SQUARE 1 *//*#define VIDOBJLAY_AR_625TYPE_43 2 *//*#define VIDOBJLAY_AR_525TYPE_43 3 *//*#define VIDOBJLAY_AR_625TYPE_169 8 *//*#define VIDOBJLAY_AR_525TYPE_169 9 */#define VIDOBJLAY_AR_EXTPAR 15#define VIDOBJLAY_SHAPE_RECTANGULAR 0#define VIDOBJLAY_SHAPE_BINARY 1#define VIDOBJLAY_SHAPE_BINARY_ONLY 2#define VIDOBJLAY_SHAPE_GRAYSCALE 3#define SPRITE_NONE 0#define SPRITE_STATIC 1#define SPRITE_GMC 2#define READ_MARKER() bs->Skip(1)//#define WRITE_MARKER() BitstreamPutBit(bs, 1)/* vop coding types *//* intra, prediction, backward, sprite, not_coded */#define I_VOP 0#define P_VOP 1#define B_VOP 2#define S_VOP 3#define N_VOP 4/* resync-specific */#define NUMBITS_VP_RESYNC_MARKER 17#define RESYNC_MARKER 1extern const dword scan_tables[3][64];#endif /* _BITSTREAM_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -