⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpeg2dec.h

📁 DirectFB-1.0.1可用于linux的嵌入式GUI
💻 H
字号:
/* mpeg2dec.h, MPEG specific defines                                        *//* 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. * */#include <dfb_types.h>typedef int  (*MPEG2_Read)(void *buf, int count, void *ctx);typedef void (*MPEG2_Write)(int x, int y, u32 argb, void *ctx);typedef struct {     int Fault_Flag;     /* buffers for multiuse purposes */     char Error_Text[256];     unsigned char _Clip[1024];     unsigned char *Clip;     /* pointers to generic picture buffers */     unsigned char *backward_reference_frame[3];     unsigned char *forward_reference_frame[3];     unsigned char *auxframe[3];     unsigned char *current_frame[3];     /* non-normative variables derived from normative elements */     int Coded_Picture_Width;     int Coded_Picture_Height;     int Chroma_Width;     int Chroma_Height;     int block_count;     int Second_Field;     int profile, level;     /* normative derived variables (as per ISO/IEC 13818-2) */     int horizontal_size;     int vertical_size;     int mb_width;     int mb_height;     double bit_rate;     double frame_rate;     /* headers */     /* ISO/IEC 13818-2 section 6.2.2.1:  sequence_header() */     int aspect_ratio_information;     int frame_rate_code;     int bit_rate_value;     int vbv_buffer_size;     int constrained_parameters_flag;     /* ISO/IEC 13818-2 section 6.2.2.3:  sequence_extension() */     int profile_and_level_indication;     int progressive_sequence;     int chroma_format;     int low_delay;     int frame_rate_extension_n;     int frame_rate_extension_d;     /* ISO/IEC 13818-2 section 6.2.2.4:  sequence_display_extension() */     int video_format;     int color_description;     int color_primaries;     int transfer_characteristics;     int matrix_coefficients;     int display_horizontal_size;     int display_vertical_size;     /* ISO/IEC 13818-2 section 6.2.3: picture_header() */     int temporal_reference;     int picture_coding_type;     int vbv_delay;     int full_pel_forward_vector;     int forward_f_code;     int full_pel_backward_vector;     int backward_f_code;     /* ISO/IEC 13818-2 section 6.2.3.1: picture_coding_extension() header */     int f_code[2][2];     int intra_dc_precision;     int picture_structure;     int top_field_first;     int frame_pred_frame_dct;     int concealment_motion_vectors;     int intra_vlc_format;     int repeat_first_field;     int chroma_420_type;     int progressive_frame;     int composite_display_flag;     int v_axis;     int field_sequence;     int sub_carrier;     int burst_amplitude;     int sub_carrier_phase;     /* ISO/IEC 13818-2 section 6.2.3.3: picture_display_extension() header */     int frame_center_horizontal_offset[3];     int frame_center_vertical_offset[3];     /* ISO/IEC 13818-2 section 6.2.3.6: copyright_extension() header */     int copyright_flag;     int copyright_identifier;     int original_or_copy;     int copyright_number_1;     int copyright_number_2;     int copyright_number_3;     /* ISO/IEC 13818-2 section 6.2.2.6: group_of_pictures_header()  */     int drop_flag;     int hour;     int minute;     int sec;     int frame;     int closed_gop;     int broken_link;     /* bit input */     MPEG2_Read   mpeg2_read;     void        *mpeg2_read_ctx;     MPEG2_Write  mpeg2_write;     void        *mpeg2_write_ctx;     unsigned char Rdbfr[2048];     unsigned char *Rdptr;     unsigned char Inbfr[16];     /* from mpeg2play */     unsigned int Bfr;     unsigned char *Rdmax;     int Incnt;     int Bitcnt;     /* sequence header and quant_matrix_extension() */     int intra_quantizer_matrix[64];     int non_intra_quantizer_matrix[64];     int chroma_intra_quantizer_matrix[64];     int chroma_non_intra_quantizer_matrix[64];     int load_intra_quantizer_matrix;     int load_non_intra_quantizer_matrix;     int load_chroma_intra_quantizer_matrix;     int load_chroma_non_intra_quantizer_matrix;     int MPEG2_Flag;     /* picture coding extension */     int q_scale_type;     int alternate_scan;     /* slice/macroblock */     int priority_breakpoint;     int quantizer_scale;     int intra_slice;     short block[12][64];     int global_MBA;     int global_pic;     int True_Framenum;} MPEG2_Decoder;MPEG2_Decoder *MPEG2_Init(MPEG2_Read mpeg2_read, void *read_ctx, int *width, int *height);int  MPEG2_Decode(MPEG2_Decoder *dec, MPEG2_Write mpeg2_write, void *write_ctx);void MPEG2_Close(MPEG2_Decoder *dec);#define ERROR (-1)#define PICTURE_START_CODE      0x100#define SLICE_START_CODE_MIN    0x101#define SLICE_START_CODE_MAX    0x1AF#define USER_DATA_START_CODE    0x1B2#define SEQUENCE_HEADER_CODE    0x1B3#define SEQUENCE_ERROR_CODE     0x1B4#define EXTENSION_START_CODE    0x1B5#define SEQUENCE_END_CODE       0x1B7#define GROUP_START_CODE        0x1B8#define SYSTEM_START_CODE_MIN   0x1B9#define SYSTEM_START_CODE_MAX   0x1FF#define ISO_END_CODE            0x1B9#define PACK_START_CODE         0x1BA#define SYSTEM_START_CODE       0x1BB#define VIDEO_ELEMENTARY_STREAM 0x1e0/* scalable_mode */#define SC_NONE 0#define SC_DP   1#define SC_SPAT 2#define SC_SNR  3#define SC_TEMP 4/* 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 MACROBLOCK_INTRA                        1#define MACROBLOCK_PATTERN                      2#define MACROBLOCK_MOTION_BACKWARD              4#define MACROBLOCK_MOTION_FORWARD               8#define MACROBLOCK_QUANT                        16#define SPATIAL_TEMPORAL_WEIGHT_CODE_FLAG       32#define PERMITTED_SPATIAL_TEMPORAL_WEIGHT_CLASS 64/* 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 SEQUENCE_EXTENSION_ID                    1#define SEQUENCE_DISPLAY_EXTENSION_ID            2#define QUANT_MATRIX_EXTENSION_ID                3#define COPYRIGHT_EXTENSION_ID                   4#define SEQUENCE_SCALABLE_EXTENSION_ID           5#define PICTURE_DISPLAY_EXTENSION_ID             7#define PICTURE_CODING_EXTENSION_ID              8#define PICTURE_SPATIAL_SCALABLE_EXTENSION_ID    9#define PICTURE_TEMPORAL_SCALABLE_EXTENSION_ID  10#define ZIG_ZAG                                  0#define PROFILE_422                             (128+5)#define MAIN_LEVEL                              8/* Layers: used by Verbose_Flag, Verifier_Flag, Stats_Flag, and Trace_Flag */#define NO_LAYER                                0#define SEQUENCE_LAYER                          1#define PICTURE_LAYER                           2#define SLICE_LAYER                             3#define MACROBLOCK_LAYER                        4#define BLOCK_LAYER                             5#define EVENT_LAYER                             6#define ALL_LAYERS                              7#define FILENAME_LENGTH                       256#define MB_WEIGHT                  32#define MB_CLASS4                  64

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -