Change #278850
| Category | ffmpeg |
| Changed by | younengxiao <steven.xiao@amd.com> |
| Changed at | Fri 21 Aug 2026 10:25:47 |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Project | ffmpeg |
| Branch | master |
| Revision | 806f739fe553678496ac903917f4154803309ea8 |
Comments
avcodec/d3d12va_encode_av1: add AV1 B-frame (compound prediction) support
This commit adds AV1 B-frame support.
- Enable B-frame scheduling for the D3D12VA AV1 encoder by setting the
ref_l0/ref_l1 capability.
- Stash hidden (non-independent) anchor frames coded data and prepend
it to the next visible frame packet (show_existing_frame handling).
- Add FF_HW_FLAG_TIMESTAMP_NO_DELAY to avoid non-monotonic DTS warnings
at higher B-frame reorder depths.
- Set 2 B-frames as default(align with D3D12VA H.264 and HEVC encoder)
Example usage:
- default (2 B-frames will be applied):
ffmpeg -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4 -c:v av1_d3d12va output.mp4
- 3 B-frames:
ffmpeg -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4 -c:v av1_d3d12va -bf 3 output.mp4
Signed-off-by: younengxiao <steven.xiao@amd.com>
Changed files
- libavcodec/d3d12va_encode.c
- libavcodec/d3d12va_encode.h
- libavcodec/d3d12va_encode_av1.c
- libavcodec/hw_base_encode.h