mpeg2enc.h
资源名称:mpeg2编解码.zip [点击查看]
上传用户:hkgotone
上传日期:2013-02-17
资源大小:293k
文件大小:3k
源码类别:
Windows Mobile
开发平台:
C/C++
- /* mpg2enc.h, defines and types */
- /* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. */
- /*
- * Disclaimer of Warranty
- *
- * These software programs are available to the user without any license fee or
- * royalty on an "as is" basis. The MPEG Software Simulation Group disclaims
- * any and all warranties, whether express, implied, or statuary, including any
- * implied warranties or merchantability or of fitness for a particular
- * purpose. In no event shall the copyright-holder be liable for any
- * incidental, punitive, or consequential damages of any kind whatsoever
- * arising from the use of these programs.
- *
- * This disclaimer of warranty extends to the user of these programs and user's
- * customers, employees, agents, transferees, successors, and assigns.
- *
- * The MPEG Software Simulation Group does not represent or warrant that the
- * programs furnished hereunder are free of infringement of any third-party
- * patents.
- *
- * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware,
- * are subject to royalty fees to patent holders. Many of these patents are
- * general enough such that they are unavoidable regardless of implementation
- * design.
- *
- */
- #define PICTURE_START_CODE 0x100L
- #define SLICE_MIN_START 0x101L
- #define SLICE_MAX_START 0x1AFL
- #define USER_START_CODE 0x1B2L
- #define SEQ_START_CODE 0x1B3L
- #define EXT_START_CODE 0x1B5L
- #define SEQ_END_CODE 0x1B7L
- #define GOP_START_CODE 0x1B8L
- #define ISO_END_CODE 0x1B9L
- #define PACK_START_CODE 0x1BAL
- #define SYSTEM_START_CODE 0x1BBL
- /* picture coding type */
- #define I_TYPE 1
- #define P_TYPE 2
- #define B_TYPE 3
- #define D_TYPE 4
- /* picture structure */
- #define TOP_FIELD 1
- #define BOTTOM_FIELD 2
- #define FRAME_PICTURE 3
- /* macroblock type */
- #define MB_INTRA 1
- #define MB_PATTERN 2
- #define MB_BACKWARD 4
- #define MB_FORWARD 8
- #define MB_QUANT 16
- /* motion_type */
- #define MC_FIELD 1
- #define MC_FRAME 2
- #define MC_16X8 2
- #define MC_DMV 3
- /* mv_format */
- #define MV_FIELD 0
- #define MV_FRAME 1
- /* chroma_format */
- #define CHROMA420 1
- #define CHROMA422 2
- #define CHROMA444 3
- /* extension start code IDs */
- #define SEQ_ID 1
- #define DISP_ID 2
- #define QUANT_ID 3
- #define SEQSCAL_ID 5
- #define PANSCAN_ID 7
- #define CODING_ID 8
- #define SPATSCAL_ID 9
- #define TEMPSCAL_ID 10
- /* inputtype */
- #define T_Y_U_V 0
- #define T_YUV 1
- #define T_PPM 2
- /* macroblock information */
- struct mbinfo {
- int mb_type; /* intra/forward/backward/interpolated */
- int motion_type; /* frame/field/16x8/dual_prime */
- int dct_type; /* field/frame DCT */
- int mquant; /* quantization parameter */
- int cbp; /* coded block pattern */
- int skipped; /* skipped macroblock */
- int MV[2][2][2]; /* motion vectors */
- int mv_field_sel[2][2]; /* motion vertical field select */
- int dmvector[2]; /* dual prime vectors */
- double act; /* activity measure */
- int var; /* for debugging */
- };
- /* motion data */
- struct motion_data {
- int forw_hor_f_code,forw_vert_f_code; /* vector range */
- int sxf,syf; /* search range */
- int back_hor_f_code,back_vert_f_code;
- int sxb,syb;
- };