mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-20 21:00:41 +08:00
Initial checkin of OCIO filter.
Initial checkin of OCIO filter. Initial checkin of OCIO filter. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Change for the right C++ library, should work on linux too. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Adding inverse when using display/view. Removed comments. Removed code that was setting the CICP values. Hopefully this can be done through OCIO at some point. Config cleanup - need a modified require_cpp to handle namespacing. Switch to using require_cpp so that namespace can be used. Adding documentation. Sadly a bit of linting went in here, but more importantly added a threads option to split the image into horizontal tiles, since OCIO was running rather slow. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Adding context parameters. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Add the OCIO config parameter. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Make the min threads 1 for now, reserve 0 for later if we can automatically pick something. Also added a few comments. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> This is using ffmpeg-slicing. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Adding OCIO filetransform. Making sure everything is using av_log rather than std::cerr. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Updating the tests so they would work without additional files. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Adding the file-transform documentation. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Adding copyright/license info. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Removing tests, since this is optional code. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Code cleanup. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Typo. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> I went the wrong way, av_log is expecting \n Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Fix indenting to 4 spaces. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Fixing lint issues and a spelling mistake. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Code formatting cleanup to match conventions. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org> Whitespace removal. Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org>
This commit is contained in:
committed by
Lynne
parent
a7522f3fef
commit
677cf95ea4
@@ -18793,6 +18793,69 @@ normalize=blackpt=red:whitept=cyan
|
||||
|
||||
Pass the video source unchanged to the output.
|
||||
|
||||
@section ocio
|
||||
OpenColorIO library filter
|
||||
|
||||
This filter allows you to do color management using the OpenColorIO library.
|
||||
See https://opencolorio.org/ for more details. To Enable
|
||||
compilation of this filter, you need to configure FFmpeg with @code{--enable-libopencolorio}.
|
||||
|
||||
It accepts the following options:
|
||||
|
||||
@table @option
|
||||
@item config
|
||||
By default the filter will use the OCIO config defined by the OCIO environment variable, but this parameter allows you to explicitly specify its location.
|
||||
If you are getting started, you can use config=ocio://studio-config-v1.0.0_aces-v1.3_ocio-v2.1 which specifies one of the built in defaults.
|
||||
|
||||
@item input
|
||||
Set the input colorspace.
|
||||
|
||||
@item output
|
||||
Set the output colorspace.
|
||||
|
||||
@item display
|
||||
Set the display colorspace, used in combination with view.
|
||||
|
||||
@item view
|
||||
Set the view colorspace, used in combination with display.
|
||||
|
||||
@item inverse
|
||||
When used in combination with display and view, this inverts the transform, so going from a display/view to the "input colorspace".
|
||||
|
||||
@item filetransform
|
||||
Allows you to specify an external file-transform to use instead of the OCIO config file. This is useful for applying a single transform without needing a full OCIO config file.
|
||||
|
||||
@item format
|
||||
Allow you to specify the output pix_fmt of the OCIO filter. This *has* to be a RGB colorspace, so you really are limited to rgb24, rgba, rgb48, rgba48, gbrp10, gbrp12, gbrpf32le, gbrapf32le, for most encoding we would recommend rgb48
|
||||
|
||||
@item context_params
|
||||
Allow you to specify additional context parameters for the OCIO filter. This is a list of key=value pairs, separated by colons.
|
||||
|
||||
@end table
|
||||
|
||||
@subsection Examples
|
||||
|
||||
Map from ACEScg to ACEScct, this assumes the OCIO file is defined with the OCIO environment variable.
|
||||
@example
|
||||
input=ACEScg:output=ACEScct:format=rgb48
|
||||
@end example
|
||||
|
||||
Map from ACEScg to a sRGB display using the "ACES 1.0 - SDR Video" view transform, this assumes the OCIO file is defined with the OCIO environment variable. Note you will need to wrap the argument in quotes to ensure that the spaces are interpreted correctly.
|
||||
@example
|
||||
input=ACEScg:display=sRGB - Display:view=ACES 1.0 - SDR Video:format=rgb48
|
||||
@end example
|
||||
|
||||
|
||||
As above but using the OCIO file studio-config-v1.0.0_aces-v1.3_ocio-v2.1_ns.ocio rather than the OCIO environment variable.
|
||||
@example
|
||||
config=studio-config-v1.0.0_aces-v1.3_ocio-v2.1_ns.ocio:input=ACEScg:display=sRGB - Display:view=ACES 1.0 - SDR Video:format=rgb48
|
||||
@end example
|
||||
|
||||
If you are converting to YCrCb you still will want to set the color matrix for the conversion. This is a good example of combining the two.
|
||||
@example
|
||||
ffmpeg -y -i SOURCEFRAMES.%05d.exr -c:v libx265 -vf "ocio=input=ACEScg:output=ACEScct:format=rgb48,scale=in_color_matrix=bt709:out_color_matrix=bt709,format=yuv444p10" OUTPUTFILE.mov
|
||||
@end example
|
||||
|
||||
@section ocr
|
||||
Optical Character Recognition
|
||||
|
||||
|
||||
Reference in New Issue
Block a user