在linux 環境中封裝intel硬編

背景

在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章