www.pudn.com > w_ipp-sample-media_p_5.0.017.zip > utils.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) 2005 Intel Corporation. All Rights Reserved. // // */ #ifndef __VIDEO_ENC_UTILS_H #define __VIDEO_ENC_UTILS_H #include#define VIDEO_ENC_STR_LEN 1024 #define YUV_ERROR_NOERR 0 #define YUV_ERROR_NOTINIT 1 #define YUV_ERROR_FILE_OPEN 2 #define YUV_ERROR_FILE_READ 3 class UMCReadYUV { public : int mType; // yuv, set of yuv, ... ColorFormat mColorFormat; // 4:2:0, 4:2:2, 4:4:4, ... int mWidth; // width int mHeight; // height int mWidthChroma; // width chroma int mHeightChroma; // height chroma int mFrameSize; // frame size int mFrameCount; // current frame protected : FILE *mFile; bool mIsInit; int mError; public : int LoadNextFrame(VideoData *data); int GetError() { return mError; }; int Init(const vm_char *yuvFileName, int yuvWidth, int yuvHeight, ColorFormat yuvColorFormat = YV12, int yuvType = 0); void Close(); UMCReadYUV(const vm_char *yuvFileName, int yuvWidth, int yuvHeight, ColorFormat yuvColorFormat = YV12, int yuvType = 0); UMCReadYUV() { mIsInit = false; mError = YUV_ERROR_NOTINIT; }; ~UMCReadYUV(); }; int ReadH264EncoderParams(vm_char *ParFileName, H264EncoderParams* pParams, vm_char *SrcFileName, int lenSrcFileName ); int ReadMPEG2EncoderParams(vm_char *ParFileName, MPEG2EncoderParams* pParams, vm_char *SrcFileName, int lenSrcFileName ); int ReadMPEG4EncoderParams(vm_char *ParFileName, MPEG4EncoderParams* pParams, vm_char *SrcFileName, int lenSrcFileName ); int ReadH263EncoderParams(vm_char *ParFileName, H263EncoderParams* pParams, vm_char *SrcFileName, int lenSrcFileName ); int ReadH261EncoderParams(vm_char *ParFileName, H261EncoderParams* pParams, vm_char *SrcFileName, int lenSrcFileName ); int encode_threaded(VideoEncoder *Encoder, VideoEncoderParams *Params, UMCReadYUV *YUVReader, vm_char *DstFileName, int *encoded_size, double *enc_time); #endif //__VIDEO_ENC_UTILS_H /* EOF */