On 12.06.2021 07:07, Lynne wrote:
Jun 12, 2021, 00:26 by t...@rothenpieler.org:

On 11.06.2021 17:33, Steven Liu wrote:



在 2021年6月11日,22:43,Timo Rothenpieler <t...@rothenpieler.org> 写道:

Hi Timo,


---
configure                           |   2 +
doc/filters.texi                    |  46 ++
libavfilter/Makefile                |   1 +
libavfilter/allfilters.c            |   1 +
libavfilter/cuda/vector_helpers.cuh |  14 +-
libavfilter/version.h               |   2 +-
libavfilter/vf_format_cuda.c        | 433 ++++++++++++++
libavfilter/vf_format_cuda.cu       | 849 ++++++++++++++++++++++++++++
8 files changed, 1345 insertions(+), 3 deletions(-)
create mode 100644 libavfilter/vf_format_cuda.c
create mode 100644 libavfilter/vf_format_cuda.cu

diff --git a/configure b/configure
index 6bfd98b384..7041c09177 100755
--- a/configure
+++ b/configure
@@ -3078,6 +3078,8 @@ qsvvpp_select="qsv"
vaapi_encode_deps="vaapi"
v4l2_m2m_deps="linux_videodev2_h sem_timedwait"

+format_cuda_filter_deps="ffnvcodec"
+format_cuda_filter_deps_any="cuda_nvcc cuda_llvm"
hwupload_cuda_filter_deps="ffnvcodec"
scale_npp_filter_deps="ffnvcodec libnpp"
scale_cuda_filter_deps="ffnvcodec"
diff --git a/doc/filters.texi b/doc/filters.texi
index 78faf767cf..27a0184cb3 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -12324,6 +12324,52 @@ format=pix_fmts=yuv420p|yuv444p|yuv410p
@end example
@end itemize

+@anchor{format_cuda}
+@section format_cuda
+
+Convert the input video to one of the specified pixel formats.
+Libavfilter will try to pick one that is suitable as input to
+the next filter.
+
+It accepts the following parameters:
+@table @option
+
+@item format
+The name of the desired output format.
+If none is specified, the input format will be used.
+
+@item passthrough
+If true, input frames matching the output format will be passed
+through as-is.
+If false, every input frame is processed. Frames matching the
+output format will be copied without data modification. This is
+the default mode.
+
+@end table
+
+@subsection Examples
+
+@itemize
+@item
+Convert the input video to the @var{yuv420p} format.
+@example
+format_cuda=yuv420p

maybe need an format for alpha blend, be used in overlay_cuda for colorkey 
linkly feature.


I had this lying around for a long time. It's also lacking support for the RGB 
formats.
Planned to enhance this, but never got around to it.

Kinda just want to get this merged as-is now, to enable work on enhancements of 
the filter.

Adding the alpha formats should be fairly simple, though I'm not sure what to 
do in the conversion. Should it just discard the alpha channel in the one 
direction, and add a fully opaque one the other way around?


Just a nit, could the filter get merged into scale_cuda? I'm used to how
other scale filters work.

Not easily, unless it gets literally written like two independent filters in one, which would remove most of the benefit of having it in a single filter.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to