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

📄 tvideocodecx264.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
字号:
#ifndef _TVIDEOCODECX264_H_
#define _TVIDEOCODECX264_H_

#include "TvideoCodec.h"

class Tdll;
struct x264_t;
struct x264_param_t;
struct x264_picture_t;
struct x264_nal_t;
struct ff_x264_stats_t;
struct x264_frame_t;
class TvideoCodecX264 :public TvideoCodecEnc
{
private:
 Tdll *dll;
 x264_t* (*x264_encoder_open   )( x264_param_t * );
 int     (*x264_encoder_headers)( x264_t *, x264_nal_t **, int * );
 int     (*x264_encoder_encode )( x264_t *, x264_nal_t **, int *, void*,const void *pic_in_fill_data, x264_picture_t *);
 void    (*x264_encoder_close  )( x264_t * );
 void    (*x264_param_default  )( x264_param_t * );
 void    (*x264_picture_alloc  )( x264_picture_t *pic, int i_csp, int i_width, int i_height );
 void    (*x264_picture_clean  )( x264_picture_t *pic );
 int     (*x264_nal_encode     )( void *, int *, int b_annexeb, x264_nal_t *nal );

 x264_t *h;
 static void fill_x264_pict(x264_frame_t *out,const TffPict *in);
 bool lossless;
 mutable char_t codecName[50];
protected:
 virtual LRESULT beginCompress(int cfgcomode,int csp,const Trect &r);
public:
 TvideoCodecX264(IffdshowBase *Ideci,IencVideoSink *Isink);
 virtual ~TvideoCodecX264();
 static const char_t *dllname;
 virtual const char_t* getName(void) const;
 virtual int getType(void) const {return IDFF_MOVIE_X264;}
 virtual HRESULT compress(const TffPict &pict,TencFrameParams &params);
 virtual HRESULT flushEnc(const TffPict &pict,TencFrameParams &params) {return compress(pict,params);}
 virtual void end(void);
};

#endif

⌨️ 快捷键说明

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