📄 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 1
extern const dword scan_tables[3][64];
#endif /* _BITSTREAM_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -