[問題] ffmpeg使用vaapi硬體加速

看板C_and_CPP (C/C++)作者 (好滋好滋)時間5年前 (2020/04/16 21:19), 編輯推噓1(101)
留言2則, 2人參與, 5年前最新討論串1/1
目前使用ffmpeg搭Qt QOpenGLWidget 想把decode完的frame資料輸出到QOpenGLWidget上 從AVFrame的format讀出來是AV_PIX_FMT_VAAPI_VLD 但目前卡在不知該怎麼處理vaapi的frame 以軟解yuv420p來說 AVFrame的format是AV_PIX_FMT_YUV420P datas[0]放Y datas[1]放U datas[2]放V 此時AVFrame的data[0]~data[2]分別對應YUV memcpy(datas[0],pFrame->data[0],m_nWidth*m_nHeight); memcpy(datas[1],pFrame->data[1],m_nWidth*m_nHeight/4); memcpy(datas[2],pFrame->data[2],m_nWidth*m_nHeight/4); 而這樣排列可以正常顯示畫面 但AV_PIX_FMT_VAAPI_VLD data[0]~data[2]都是0 在data[3]讀出來的是VASurfaceID 這個東西不知道該怎麼用... 我該怎麼使用這個VASurfaceID呢? 硬解的流程基本上參照 ffmpeg examples內的hw_decode.c範例 最後只差在範例是儲存成file 而我要把它render到QOpenGLWidget -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.235.60 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1587043180.A.1F2.html

04/18 18:23, 5年前 , 1F
https://github.com/wang-bin/QtAV 也許可看看他怎麼做
04/18 18:23, 1F

04/18 18:42, 5年前 , 2F
謝謝 我參考看看
04/18 18:42, 2F
文章代碼(AID): #1Uc5ji7o (C_and_CPP)
文章代碼(AID): #1Uc5ji7o (C_and_CPP)