背景
在linux上使用intel的gpu加速编码h264,根据以往的经验往往需要将intel gpu的demo集成到我们自己代码当中, 但是这样局限性很大, 每一代的gpu加速的修改, 我们代码都需要调整,得不偿失。
封装接口
class H264IntelEncode
{
public:
H264IntelEncode();
~H264IntelEncode();
int Release();
int InitEncode(const SR_VideoCodecSetting & /*[in]*/codecSetting);
int Encode(const SR_YuvData & /*[in]*/sr_yuv_data, bool /*[in]*/KeyFrameFlag, SR_H264Data & /*[out]*/sr_out_h264);
int ResetH264Encode(const SR_VideoCodecSetting & /*[in]*/codecSetting);
private:
VideoConfParams _enc_params; //intel media sdk
std::auto_ptr<IPipeline> _enc_pipeline; //intel media sdk
SR_H264Data sr_h264_frame;
H264Data _h264_frame;
};
注意
这里结合了sample_videoconf这个demo, 这个demo在2017的版本中已经摘除了, 需要做一些调整
联系
qq群 h264学习过程交流 191884149