Commit Graph

171 Commits

Author SHA1 Message Date
Thomas Mundt
73ce8162f3 avfilter/vf_scale: set proper out frame color range
Prevents that following scalers in the filter chain will do unintentional color range conversions.
Fixes Ticket #5096

Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-31 02:08:20 +01:00
Clément Bœsch
244766e407 lavfi/scale: add nb_slices debug option 2015-12-21 10:30:52 +01:00
Clément Bœsch
0e62b5d1ef avfilter: use AV_OPT_TYPE_BOOL in a bunch of places 2015-12-04 15:37:06 +01:00
Ganesh Ajjanagadde
6aaac24d72 avfilter/all: propagate errors of functions from avfilter/formats
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.

All of these were found by using av_warn_unused_result, demonstrating its utility.

Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.

Fixes: CID 1325680, 1325679, 1325678.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04:00
Christophe Gisquet
552faecf4b vf_scale: conditionally override chroma position
For yuv420p, the chroma position is unilaterally overriden, even
if ffmpeg's command-line explicitly set it. To fix this, override
only if the value is the default one.

Regression since 1515bfb3.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-23 23:30:53 +02:00
Carl Eugen Hoyos
0cb6c0ec48 lavfi/scale: Pass src_range and dst_range to libswscale.
Fixes ticket #4812.
2015-09-01 09:17:26 +02:00
Hendrik Leppkes
ea1061e147 Merge commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6'
* commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6':
  vf_scale: Add an option to pass the scaler params

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-31 10:07:34 +02:00
Michael Niedermayer
58a0b7f114 avfilter/vf_scale: If no output color matrix is specified, use the input
This should only affect yuv->yuv, and not change behavior

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 01:33:05 +02:00
Michael Niedermayer
5a00c30041 avfilter/vf_scale: Do not skip scale if the color matrix mismatches
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 01:33:05 +02:00
Carl Eugen Hoyos
75d9006475 avfilter/vf_scale: Do not skip scale if range mismatches
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 01:33:05 +02:00
Luca Barbato
b1abd2aaf9 vf_scale: Add an option to pass the scaler params
Reported-By: zehan@magicpony.technology
2015-08-26 12:13:23 +02:00
Michael Niedermayer
22f85543ed scale2ref: override request_frame() and correctly connect them to the corresponding inputs
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-18 15:59:23 +02:00
Michael Niedermayer
db0f8f3f9d avfilter/vf_scale: Set scale2ref ref output timebase
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-18 15:59:23 +02:00
Michael Niedermayer
21566b21d5 avfilter: add scale2ref filter
This filter can be used to scale one stream to match another or based on
another, useful to scale subtitles or other things to be overlayed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-17 17:18:01 +02:00
Michael Niedermayer
d3d776ccf9 avfilter/vf_scale: apply generic options after flags.
Otherwise the flags overwrite anything set by the generic stuff to the flags

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-08 14:44:15 +02:00
Bernd Bleßmann
99ad832c7e libavfilter/vf_scale: implement process_command
Signed-off-by: Bernd Bleßmann <bb@it-entwicklung.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 18:20:22 +02:00
Anton Khirnov
3735b5c616 Revert "lavfi: always check av_expr_parse_and_eval() return value"
This reverts commit 63be97ec40.

All those calls were unchecked on purpose, as explained in the comments
in the code.
2015-05-05 16:27:24 +02:00
Michael Niedermayer
d5dcd94630 avfilter/vf_scale: Add warning for AVCOL_SPC_YCGCO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 13:45:41 +02:00
Kieran Kunhya
1515bfb313 vf_scale: Use correct chroma positions for YUV420P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 02:53:29 +01:00
Vittorio Giovara
63be97ec40 lavfi: always check av_expr_parse_and_eval() return value
CC: libav-stable@libav.org
Bug-Id: CID 703624
2014-12-18 23:27:14 +01:00
Michael Niedermayer
e927682e1b avfilter/vf_scale: Allow chroma samples to be above and to the left of luma samples
Found-by: Kierank
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:24:03 +02:00
Michael Niedermayer
cab8fc624b avfilter/vf_scale: fix log message category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 05:15:16 +02:00
Michael Niedermayer
de5ec08825 Merge commit '862f33c10ea38ea49fa4188725df5e5246dbd1d8'
* commit '862f33c10ea38ea49fa4188725df5e5246dbd1d8':
  vf_scale: use the pixfmt descriptor API

Conflicts:
	libavfilter/vf_scale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 02:54:58 +02:00
Anton Khirnov
862f33c10e vf_scale: use the pixfmt descriptor API
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
2014-05-26 22:24:46 +02:00
Michael Niedermayer
74a8dbe1c4 Merge commit '58400ac133bcfb6bf8196b4e5208bc178307739b'
* commit '58400ac133bcfb6bf8196b4e5208bc178307739b':
  lavfi: name anonymous structs

Conflicts:
	libavfilter/buffersink.c
	libavfilter/f_select.c
	libavfilter/src_movie.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_overlay.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_unsharp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:20:17 +02:00
Vittorio Giovara
58400ac133 lavfi: name anonymous structs 2014-04-19 16:20:57 +02:00
Michael Niedermayer
214a3b8bf9 avfilter/vf_scale: simplify alignment code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-25 16:54:24 +01:00
Michael Niedermayer
1e48c39ece avfilter/vf_scale: do aspect ratio and scale factor compensation together
Fixes rounding error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-25 16:48:13 +01:00
Lars Kiesow
69b1d1d99b Documentation for scale filter factor 2014-01-25 15:02:15 +01:00
Lars Kiesow
e395f8de5a Fixed factor for scale filter 2014-01-25 15:00:02 +01:00
Lars Kiesow
7fc4c18463 Factors for scale filter 2014-01-25 14:40:48 +01:00
Michael Niedermayer
d0ac60730d avfilter/vf_scale: add ov/hsub
Suggested-by: divVerent
Reviewed-by: Stefano
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 15:23:26 +01:00
Rudolf Polzer
3a14b160bd vf_scale: make the dar variable return the DAR.
Before, it just returned width/height. Correct is width/height*sar.

That way it is consistent with DAR as in probe output and setdar.

Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-02 21:16:29 +01:00
Michael Niedermayer
325f6e0a97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: do not export the filters from shared objects

Conflicts:
	libavfilter/af_amix.c
	libavfilter/af_anull.c
	libavfilter/asrc_anullsrc.c
	libavfilter/f_select.c
	libavfilter/f_settb.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_colorbalance.c
	libavfilter/vf_copy.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_format.c
	libavfilter/vf_framestep.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_hflip.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_null.c
	libavfilter/vf_overlay.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_vflip.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 11:58:11 +01:00
Anton Khirnov
cd43ca0443 lavfi: do not export the filters from shared objects 2013-10-28 15:29:54 +01:00
Robert Krüger
83922cccb2 avfilter/vf_scale: Correct vf_scale mappings from arguments to color range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 15:44:31 +02:00
Michael Niedermayer
3ee796760a avfilter/vf_scale: dont duplicate default.
use the defaults set by swscale

Suggested-by: stefano
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 12:39:47 +02:00
Michael Niedermayer
931a4b433d avfilter/vf_scale: change the default scaler to bicubic
See: [FFmpeg-devel] [PATCH] swscale/options: switch default to bicubic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:00:48 +02:00
Paul B Mahol
59d72f8b16 lavfi/pad,crop,scale: remove options description from filter description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-21 12:50:02 +00:00
Paul B Mahol
b211607b5c avfilter: various cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Michael Niedermayer
ec0e0eb4c1 avfilter/vf_scale+aresample: minor simpification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 04:26:59 +02:00
Michael Niedermayer
6d246f440e avfilter/vf_scale: generic swscale option support
With this all AVOptions from swscale can be set without each needing
changes to vf_scale.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 23:23:58 +02:00
Timothy Gu
3415058541 vf_scale: add force_original_aspect_ratio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 13:27:01 +02:00
Michael Niedermayer
8720d3ac21 avfilter/vf_scale: set in_color_matrix default to "auto" 2013-07-27 01:16:07 +02:00
Michael Niedermayer
f3f4e133d6 avfilter/vf_scale: use sws_getCoefficients()
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 23:07:19 +02:00
Michael Niedermayer
5156d482cd avfilter/vf_scale: use the inputs color range when its set and its not overridden
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 02:50:46 +02:00
Michael Niedermayer
24a4367ae9 vf_scale: add input h/v_chr_pos parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 18:33:58 +02:00
Michael Niedermayer
e31d20255d vf_scale: add output h/v_chr_pos parameterss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 18:27:10 +02:00
Michael Niedermayer
1f7acf3cff vfilter/vf_scale: avoid using "{}"
Should fix compile issues with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:47:09 +02:00
Michael Niedermayer
3242747df3 avfilter/vf_scale; fix indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:20:25 +02:00