summaryrefslogtreecommitdiff
path: root/libavfilter/colorspace.c
Commit message (Collapse)AuthorAgeFilesLines
* lavfi/colorspace: add ff_matrix_mul_3x3_vecrcombs2022-06-191-0/+11
| | | | Signed-off-by: rcombs <rcombs@rcombs.me>
* avutil/csp: create public API for colorspace structsLeo Izen2022-06-011-113/+30
| | | | | | | | | | This commit moves some of the functionality from avfilter/colorspace into avutil/csp and exposes it as a public API so it can be used by libavcodec and/or libavformat. It also converts those structs from double values to AVRational to make regression testing easier and more consistent. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavfi: add ff_detect_color_primaries helperNiklas Haas2022-04-231-0/+25
| | | | | | | | | | | | Related to #9673, this helper exists to facilitate "guessing" the right primary tags from a given set of raw primary coefficients. The cutoff value of 0.001 was chosen by experimentation. The smallest "false positive" delta observed in practice was 0.023329, while the largest "false negative" delta was 0.00016. So, a value of 0.001 sits comfortably in the middle. Signed-off-by: Niklas Haas <git@haasn.dev>
* lavfi: generalize colorspace coefficent helpersNiklas Haas2022-04-231-0/+32
| | | | | | | | | | | | | | | These are needed beyond just vf_colorspace, so give them a new home in colorspace.h. In addition to moving code around, also merge the white point and primary coefficients into a single struct to slightly increase the convenience and shrink the size of the new API by avoiding the need to introduce an extra function just to look up the white point as well. The only place the distinction matters is in a single enum comparison, which can just as well be a single memcpy - the difference is negligible. Signed-off-by: Niklas Haas <git@haasn.dev>
* lavfi/colorspace: move some functions to common fileRuiling Song2019-03-221-0/+71
| | | | | | | These functions can be reused by other colorspace filters, so move them to common file. No functional changes. Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* vf_tonemap_opencl: Move update_metadata() to a shared fileVittorio Giovara2018-08-061-0/+17
|
* vf_tonemap[_opencl]: Move determine_signal_peak() to a shared fileVittorio Giovara2018-08-061-0/+29
| | | | The two functions are identical. Use the shared LumaCoeffients type too.
* lavfi/colorspace: Add namespace prefix to global functionsMark Thompson2018-06-281-6/+7
|
* lavfi: add opencl tonemap filterRuiling Song2018-06-211-0/+90
This filter does HDR(HDR10/HLG) to SDR conversion with tone-mapping. An example command to use this filter with vaapi codecs: FFMPEG -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device \ opencl=ocl@va -hwaccel vaapi -hwaccel_device va -hwaccel_output_format \ vaapi -i INPUT -filter_hw_device ocl -filter_complex \ '[0:v]hwmap,tonemap_opencl=t=bt2020:tonemap=linear:format=p010[x1]; \ [x1]hwmap=derive_device=vaapi:reverse=1' -c:v hevc_vaapi -profile 2 OUTPUT Signed-off-by: Ruiling Song <ruiling.song@intel.com>