Commit 100fc395 authored by Arwa Arif's avatar Arwa Arif Committed by Michael Niedermayer

lavfi: USPP Filter

Previous version reviewed by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent e2829a81
...@@ -2622,6 +2622,7 @@ vidstabtransform_filter_deps="libvidstab" ...@@ -2622,6 +2622,7 @@ vidstabtransform_filter_deps="libvidstab"
pixfmts_super2xsai_test_deps="super2xsai_filter" pixfmts_super2xsai_test_deps="super2xsai_filter"
tinterlace_merge_test_deps="tinterlace_filter" tinterlace_merge_test_deps="tinterlace_filter"
tinterlace_pad_test_deps="tinterlace_filter" tinterlace_pad_test_deps="tinterlace_filter"
uspp_filter_deps="gpl avcodec"
zmq_filter_deps="libzmq" zmq_filter_deps="libzmq"
zoompan_filter_deps="swscale" zoompan_filter_deps="swscale"
......
...@@ -8935,6 +8935,31 @@ unsharp=7:7:-2:7:7:-2 ...@@ -8935,6 +8935,31 @@ unsharp=7:7:-2:7:7:-2
@end example @end example
@end itemize @end itemize
@section uspp
Apply ultra slow/simple postprocessing filter that compresses and decompresses
the image at several (or - in the case of @option{quality} level @code{8} - all)
shifts and average the results.
The way this differs from the behavior of spp is that uspp actually encodes &
decodes each case with libavcodec Snow, whereas spp uses a simplified intra only 8x8
DCT similar to MJPEG.
The filter accepts the following options:
@table @option
@item quality
Set quality. This option defines the number of levels for averaging. It accepts
an integer in the range 0-8. If set to @code{0}, the filter will have no
effect. A value of @code{8} means the higher quality. For each increment of
that value the speed drops by a factor of approximately 2. Default value is
@code{3}.
@item qp
Force a constant quantization parameter. If not set, the filter will use the QP
from the video stream (if available).
@end table
@anchor{vidstabdetect} @anchor{vidstabdetect}
@section vidstabdetect @section vidstabdetect
......
...@@ -193,6 +193,7 @@ OBJS-$(CONFIG_TINTERLACE_FILTER) += vf_tinterlace.o ...@@ -193,6 +193,7 @@ OBJS-$(CONFIG_TINTERLACE_FILTER) += vf_tinterlace.o
OBJS-$(CONFIG_TRANSPOSE_FILTER) += vf_transpose.o OBJS-$(CONFIG_TRANSPOSE_FILTER) += vf_transpose.o
OBJS-$(CONFIG_TRIM_FILTER) += trim.o OBJS-$(CONFIG_TRIM_FILTER) += trim.o
OBJS-$(CONFIG_UNSHARP_FILTER) += vf_unsharp.o OBJS-$(CONFIG_UNSHARP_FILTER) += vf_unsharp.o
OBJS-$(CONFIG_USPP_FILTER) += vf_uspp.o
OBJS-$(CONFIG_VFLIP_FILTER) += vf_vflip.o OBJS-$(CONFIG_VFLIP_FILTER) += vf_vflip.o
OBJS-$(CONFIG_VIDSTABDETECT_FILTER) += vidstabutils.o vf_vidstabdetect.o OBJS-$(CONFIG_VIDSTABDETECT_FILTER) += vidstabutils.o vf_vidstabdetect.o
OBJS-$(CONFIG_VIDSTABTRANSFORM_FILTER) += vidstabutils.o vf_vidstabtransform.o OBJS-$(CONFIG_VIDSTABTRANSFORM_FILTER) += vidstabutils.o vf_vidstabtransform.o
......
...@@ -208,6 +208,7 @@ void avfilter_register_all(void) ...@@ -208,6 +208,7 @@ void avfilter_register_all(void)
REGISTER_FILTER(TRANSPOSE, transpose, vf); REGISTER_FILTER(TRANSPOSE, transpose, vf);
REGISTER_FILTER(TRIM, trim, vf); REGISTER_FILTER(TRIM, trim, vf);
REGISTER_FILTER(UNSHARP, unsharp, vf); REGISTER_FILTER(UNSHARP, unsharp, vf);
REGISTER_FILTER(USPP, uspp, vf);
REGISTER_FILTER(VFLIP, vflip, vf); REGISTER_FILTER(VFLIP, vflip, vf);
REGISTER_FILTER(VIDSTABDETECT, vidstabdetect, vf); REGISTER_FILTER(VIDSTABDETECT, vidstabdetect, vf);
REGISTER_FILTER(VIDSTABTRANSFORM, vidstabtransform, vf); REGISTER_FILTER(VIDSTABTRANSFORM, vidstabtransform, vf);
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment