umc_mpeg4_video_encoder.h

来自「这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数」· C头文件 代码 · 共 67 行

H
67
字号
/*//////////////////////////////////////////////////////////////////////////////////                  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) 2003-2005 Intel Corporation. All Rights Reserved.//*/#ifndef _ENCODER_MPEG4_H_#define _ENCODER_MPEG4_H_#include "umc_video_encoder.h"#include "umc_dynamic_cast.h"#include "vm_strings.h"#include "ippvideoencodermpeg4.hpp"namespace UMC{#define STR_LEN 511class MPEG4EncoderParams : public VideoEncoderParams{    DYNAMIC_CAST_DECL(MPEG4EncoderParams, VideoEncoderParams)public:    mp4_Param  m_Param;    vm_char    m_SourceFileName[STR_LEN+1];    MPEG4EncoderParams() { ippsZero_8u((Ipp8u*)(&m_Param), sizeof(m_Param)); };    Status ReadParamFile(const vm_char *FileName);};class MPEG4VideoEncoder: public VideoEncoder{public:    ippVideoEncoderMPEG4 mp4enc;    bool        m_IsInit;    int         m_FrameCount;    MPEG4VideoEncoder();    ~MPEG4VideoEncoder();    virtual Status Init(BaseCodecParams *init);    virtual Status GetFrame(MediaData *in, MediaData *out);    virtual Status GetInfo(BaseCodecParams *info);    virtual Status Close();    virtual Status Reset();    virtual Status SetParams(BaseCodecParams* params);    int GetFrameMacroBlockPerRow() { return mp4enc.GetFrameMacroBlockPerRow(); }    int GetFrameMacroBlockPerCol() { return mp4enc.GetFrameMacroBlockPerCol(); }    Ipp8u* GetFrameQuant() { return mp4enc.GetFrameQuant(); };    IppMotionVector* GetFrameMVpred() { return mp4enc.GetFrameMVpred(); };    Ipp32u* GetFrameMBpos() { return mp4enc.GetFrameMBpos(); };    void GetFrameMSE(Ipp64s *y, Ipp64s *u, Ipp64s *v) { mp4enc.GetFrameMSE(y, u, v); };protected:    MPEG4EncoderParams  m_Param;    double             *bTime;    int                 bTimePos;};VideoEncoder* createMPEG4VideoEncoder();} //namespace UMC#endif /*_ENCODER_MPEG4_H_*/

⌨️ 快捷键说明

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