背景
在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