mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-20 21:00:41 +08:00
doc/filters: add entry for deinterlace_d3d12
Add documentation for the filter "deinterlace_d3d12" to the filters documentation. This is the follow-up for commit https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22386/commits Signed-off-by: younengxiao <steven.xiao@amd.com>
This commit is contained in:
@@ -11652,6 +11652,105 @@ Median
|
||||
Do not actually modify frame. Useful when one only wants metadata.
|
||||
@end table
|
||||
|
||||
@section deinterlace_d3d12
|
||||
|
||||
Deinterlace the input video using D3D12 hardware-accelerated video processing.
|
||||
|
||||
This filter uses the DirectX 12 Video Processor to perform deinterlacing on
|
||||
GPU, supporting both simple bob and driver-defined advanced (motion-adaptive)
|
||||
algorithms. It requires the input to be in @code{d3d12} hardware pixel format.
|
||||
|
||||
The filter automatically queries the hardware for the required number of
|
||||
temporal reference frames (if needed) and manages a frame queue to supply them.
|
||||
|
||||
It accepts the following options:
|
||||
|
||||
@table @option
|
||||
|
||||
@item method
|
||||
The deinterlacing method. It accepts one of the following values:
|
||||
|
||||
@table @samp
|
||||
@item default
|
||||
Select the best deinterlacing method available on the hardware.
|
||||
If the driver supports @code{custom}, that method is used; otherwise
|
||||
falls back to @code{bob}. This is the default.
|
||||
|
||||
@item bob
|
||||
Bob deinterlacing. Each field is independently scaled to full
|
||||
frame height. Simple and fast, but may produce visible bob artifacts
|
||||
on moving content.
|
||||
|
||||
@item custom
|
||||
Driver-defined advanced deinterlacing. The exact algorithm is
|
||||
hardware-specific and typically employs motion-adaptive techniques
|
||||
with temporal reference frames for higher quality.
|
||||
@end table
|
||||
|
||||
The default value is @code{default}.
|
||||
|
||||
@item mode
|
||||
Specify the interlacing mode. It accepts one of the following values:
|
||||
|
||||
@table @samp
|
||||
@item frame
|
||||
Send one frame for each frame. The output frame rate equals the input
|
||||
frame rate. This is the default.
|
||||
|
||||
@item field
|
||||
Send one frame for each field. The output frame rate is double the
|
||||
input frame rate.
|
||||
@end table
|
||||
|
||||
The default value is @code{frame}.
|
||||
|
||||
@item deint
|
||||
Specify which frames to deinterlace. It accepts one of the following values:
|
||||
|
||||
@table @samp
|
||||
@item all
|
||||
Deinterlace all frames. This is the default.
|
||||
|
||||
@item interlaced
|
||||
Only deinterlace frames marked as interlaced; progressive frames are
|
||||
passed through unchanged.
|
||||
@end table
|
||||
|
||||
The default value is @code{all}.
|
||||
@end table
|
||||
|
||||
@subsection Examples
|
||||
|
||||
@itemize
|
||||
|
||||
@item
|
||||
Deinterlace an interlaced video using software decoding and the best
|
||||
available hardware deinterlacing method:
|
||||
@example
|
||||
ffmpeg -init_hw_device d3d12va=d3d12 -filter_hw_device d3d12 -i input.ts \
|
||||
-vf "format=nv12,hwupload,deinterlace_d3d12=method=default,hwdownload,format=nv12" \
|
||||
-c:v libx264 -crf 18 output.mp4
|
||||
@end example
|
||||
|
||||
@item
|
||||
Deinterlace at field rate (double the frame rate) using bob method with
|
||||
hardware decoding (full d3d12 pipeline):
|
||||
@example
|
||||
ffmpeg -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.ts \
|
||||
-vf "deinterlace_d3d12=method=bob:mode=field" \
|
||||
-c:v h264_d3d12va output.mp4
|
||||
@end example
|
||||
|
||||
@item
|
||||
Deinterlace only interlaced frames, passing progressive frames through:
|
||||
@example
|
||||
ffmpeg -init_hw_device d3d12va=d3d12 -filter_hw_device d3d12 -i input.ts \
|
||||
-vf "format=nv12,hwupload,deinterlace_d3d12=deint=interlaced,hwdownload,format=nv12" \
|
||||
-c:v libx264 -crf 18 output.mp4
|
||||
@end example
|
||||
|
||||
@end itemize
|
||||
|
||||
@section dejudder
|
||||
|
||||
Remove judder produced by partially interlaced telecined content.
|
||||
|
||||
Reference in New Issue
Block a user