1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
/* 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
#define T_MEMPPM 3
/* 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;
};
|