Closed sivileri closed 1 year ago
@sivileri , thank you for reporting this. Fei taking a vacation. He will be back next week.
Hi @sivileri, Just wonder what's the issue will be if doesn't set this flag? The flag is unused in media-dirver for linux, not sure how it used on windows? In my unsderstanding this flags only helpful for uplayer app to maintain DPB buffer.
Hi @feiwan1, thanks for following up on this. refresh_frame_flags
tells in which slots (8 DPB slots) the reconstructed picture for the current frame being encoded will be stored in the DPB for future frames to use it. I think this information is useful to know how to handle any DPB updates on every frame. Also, if the driver is coding the headers, they need the value for refresh_frame_flags
for the picture header (otherwise they may have to ask for the packed headers, bitstream parse the bitstream buffer passed down to the driver to get this info and re-encode the headers). Could we please add it so VAEncPictureParameterBufferAV1
has all the info directly? This was recently added to the libva-utils sample app: https://github.com/intel/libva-utils/commit/75f632fc0933c1e13df9519962720bc7ed3d4689 as well.
@sivileri, sounds good for me. Will fix this in next weeks.
@feiwan1 thanks!
The fix also merged in cartwheel. Close this issue.
@feiwan1 I noticed the vaapi av1 encoder is calculating
refresh_frame_flags
in the frame header and sending it down to VAAPI in the packed header but it's not copying it invpic
which would send it asVAEncPictureParameterBufferAV1
(zero gets sent instead always).This one-liner below should address it in https://github.com/intel/cartwheel-ffmpeg/blob/master/patches/0071-lavc-vaapi-support-av1-encode.patch#L1568