Commit Graph

25 Commits

Author SHA1 Message Date
Gyan Doshi
e73688eff4 avfilter: rename scale.c,h to scale_eval
scale.c is too generic; scale_eval is more representative
2019-12-10 12:55:48 +05:30
Gyan Doshi
1b4f473d18 avfilter/scale.c: factorize ff_scale_eval_dimensions
Adjustment of evaluated values shifted to ff_adjust_scale_dimensions
Shifted code for force_original_aspect_ratio and force_divisble_by from
vf_scale so it is now available for scale_cuda, scale_npp and
scale_vaapi as well.
2019-12-08 16:12:31 +05:30
Mark Thompson
ef2f89bbcc vf_scale_vaapi: Add options to configure output colour properties
The "out_color_matrix" and "out_range" properties match the same options
in vf_scale; the others attempt to follow the same pattern.
2019-06-02 17:30:41 +01:00
Mark Thompson
5051b7f898 lavfi/vaapi: Improve support for colour properties
Attempts to pick the set of supported colour properties best matching the
input.  Output is then set with the same values, except for the colour
matrix which may change when converting between RGB and YUV.
2019-06-02 17:30:41 +01:00
Mark Thompson
6ed34a4379 lavfi/vaapi: Factorise out common code for parameter buffer setup
Also enables cropping on all VAAPI filters, inherited from the existing
support in scale_vaapi.
2019-06-02 17:30:41 +01:00
Zachary Zhou
b6b3159b04 lavfi/vaapi: Add constant VAAPI_VPP_BACKGROUND_BLACK
Signed-off-by: Zachary Zhou <zachary.zhou@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-12-30 18:10:16 +00:00
Jun Zhao
a271025215 lavfi/vf_scale_vaapi: add scaling mode setting support.
before this change, scale_vaapi hard coding the scaling mode, add a
new option "mode" to setting the scaling mode, it can be use to change
scaling algorithm for performance/quality trade off.

Note: VA_FILTER_SCALING_NL_ANAMORPHIC(nolinear ananorphic scaling
algorithm) doesn't support by i965/iHD driver now, add this just for
completeness.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-10 15:24:47 +08:00
Mark Thompson
abf35afb6f vf_scale_vaapi: Apply cropping rectangle to input 2018-03-22 23:19:04 +00:00
Jun Zhao
4dbae00bac lavfi/vf_xxx_vaapi: fix typo.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2018-01-24 11:31:14 +01:00
Jun Zhao
19214f0051 lavfi: use common VAAPI VPP infrastructure for vf_scale_vaapi.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-21 22:56:52 +00:00
Rodger Combs
381a4820c6 lavfi/vf_scale_vaapi: set output SAR 2018-01-18 19:18:33 -06:00
Mark Thompson
e339411691 vaapi: Always free parameter buffers after vaEndPicture() with libva2
This is an ABI change in libva2: previously the Intel driver had this
behaviour and it was implemented as a driver quirk, but now it is part
of the specification so all drivers must do it.
2017-10-09 00:11:53 +01:00
Matthieu Bouron
b5e1ec5660 Merge commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9'
* commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9':
  lavfi: Always propagate hw_frames_ctx through links

Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-03-30 00:02:08 +02:00
Matthieu Bouron
78e871ebbc Merge commit '7e2561fa8313982aa21f7657953eedeeb33b210d'
* commit '7e2561fa8313982aa21f7657953eedeeb33b210d':
  lavfi: Use ff_get_video_buffer in all filters using hwframes
  vf_hwupload_cuda: Fix build error

Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-03-29 23:33:20 +02:00
Clément Bœsch
bc1023eb36 Merge commit 'bdf7610eb266fd3de650040c97328791868abd82'
* commit 'bdf7610eb266fd3de650040c97328791868abd82':
  vf_scale_vaapi: Crop input surface to active region

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 16:44:53 +01:00
Mark Thompson
326b1ed93e vf_scale_vaapi: Add missing return value checks
Fixes CID 1374119.
2017-02-05 15:13:16 +00:00
Aman Gupta
037bb4021c avfilter/scale: refactor common code for scaling height/width expressions
Implements support for height/width expressions in vf_scale_vaapi,
by refactoring common code into a new libavfilter/scale.c

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-02-02 22:58:54 +00:00
Mark Thompson
1a359e5341 vf_scale_vaapi: Respect driver quirks around buffer destruction
(cherry picked from commit 582d4211e0)
2016-11-13 20:39:48 +00:00
Mark Thompson
e3fb74f7f9 lavfi: Always propagate hw_frames_ctx through links
Also adds a new flag to mark filters which are aware of hwframes and
will perform this task themselves, and marks all appropriate filters
with this flag.

This is required to allow software-mapped hardware frames to work,
because we need to have the frames context available for any later
mapping operation in the filter graph.

The output from the filter graph should only propagate further to an
encoder if the hardware format actually matches the visible format
(mapped frames are valid here and have an hw_frames_ctx, but this
should not be given to the encoder as its hardware context).
2016-11-02 20:29:05 +00:00
Mark Thompson
7e2561fa83 lavfi: Use ff_get_video_buffer in all filters using hwframes 2016-11-02 20:07:15 +00:00
Mark Thompson
bdf7610eb2 vf_scale_vaapi: Crop input surface to active region
If the input has been decoded from a stream which uses edge cropping
then the whole surface need not be valid.  This defines an input
region for the scaler so we only use the active area of the frame.
2016-09-14 20:48:36 +01:00
Mark Thompson
582d4211e0 vf_scale_vaapi: Respect driver quirks around buffer destruction 2016-07-02 14:09:58 +01:00
Michael Niedermayer
7b7c338e9a avfilter: Add AV_OPT_FLAG_FILTERING_PARAM to where it was missing
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-21 20:20:42 +02:00
Derek Buitenhuis
34245eccaf Merge commit '98114d70e48caf871b0fe9b8e5bf8ebd989b845d'
* commit '98114d70e48caf871b0fe9b8e5bf8ebd989b845d':
  lavf: VAAPI scale filter

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-18 15:22:24 +01:00
Mark Thompson
98114d70e4 lavf: VAAPI scale filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-23 19:40:15 +01:00