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 */