📄 mpeg2_params.h
字号:
/*////////////////////////////////////////////////////////////////////////////////// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright(c) 2002-2005 Intel Corporation. All Rights Reserved.//*/#ifndef MPEG2_PARAMS_H_#define MPEG2_PARAMS_H_#include "ippdefs.h"#include "vm_types.h"#define VM_MALLOC_GLOBAL#include "umc_malloc.h"/* picture type */enum{ I_TYPE = 1, P_TYPE = 2, B_TYPE = 3};/* chroma_format */#define CHROMA420 1#define CHROMA422 2#define CHROMA444 3/* debug defines */#define PSNR_LOG 1#define FRAME_SIZE_LOG 2#define MVS_LOG 4#define QUANT_LOG 8#define LOG_SAVE_BMP 16// maximum string length in parameter file#define PAR_STRLEN 256// used to specify motion estimation ranges for different types of picturestypedef struct _MotionData // motion data{ int forw_hor_f_code; // vector range horizontal, forward int forw_vert_f_code; // vector range vertical, forward int SearchWidthF; // search range horizontal, forward int SearchHeightF; // search range vertical, forward int back_hor_f_code; // vector range horizontal, backward int back_vert_f_code; // vector range vertical, backward int SearchWidthB; // search range horizontal, backward int SearchHeightB; // search range vertical, backward} MotionData;class ippMPEG2EncoderParams{public: ippMPEG2EncoderParams(); ~ippMPEG2EncoderParams(); void ippMPEG2EncoderParams::operator=(ippMPEG2EncoderParams &p); IppStatus ReadParamFile(const vm_char *ParFileName, vm_char *SrcFileName, int *Width, int *Height, int *NumFramesToEncode, int *BitRate); // opens and reads MSSG standard par-file IppStatus ReadOldParamFile(const vm_char *ParFileName, vm_char *SrcFileName, int *Width, int *Height, int *NumFramesToEncode, int *BitRate); // opens and reads cutted par-file (obsolete) IppStatus ReadQMatrices(); IppStatus Profile_and_Level_Checks(); IppStatus RelationChecks(); vm_char err_warn_message[256]; vm_char IntraQMatrixFName[PAR_STRLEN]; vm_char NonIntraQMatrixFName[PAR_STRLEN]; vm_char TemplateLogFile[PAR_STRLEN]; VM_ALIGN16_DECL(Ipp16s) IntraQMatrix[64]; VM_ALIGN16_DECL(Ipp16s) NonIntraQMatrix[64]; MotionData *pMotionData; // motion estimation ranges for P, B0, B1, ... int prog_seq; // progressive sequence int progressive_frame; // progressive frame int LogMask; int CustomIntraQMatrix; int CustomNonIntraQMatrix; int IPDistance; // distance between key-frames int gopSize; // size of GOP int frame_rate_code; // code for values, specified in standard int aspectRatio; int ProfileID; int LevelID; int chroma_format; int repeat_first_field; int top_field_first; // display top field first int intra_dc_precision; int FieldPicture; // field or frame picture (if progframe=> frame) int VBV_BufferSize; int low_delay; int nonLinearQScale[3]; // sets of params for I,P,B int frame_pred_frame_dct[3]; // int intraVLCFormat[3]; // int altscan_tab[3]; int mpeg1; // 1 - mpeg1, 0 - mpeg2 vm_char idStr[PAR_STRLEN]; // user data to put to each sequence int numThreads; // not tested, use 1 double performance; double encode_time; double motion_estimation_perf; int me_alg_num; // these fields are currently ignored int inputtype; // format of input raw data int constrparms; // used only with mpeg1 // sequence display extension // also uses dst_ from base clas int video_format, color_primaries, transfer_characteristics; int matrix_coefficients; int conceal_tab[3];};#endif /* MPEG2_PARAMS_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -