Some video codecs are not meant to output frames on their own but to be applied
on top of frames generated by other codecs, as is the case of LCEVC, Dolby Vision,
etc. Add a codec prop to signal this kind of codec, so that library users may know
to not expect a standalone decoder for them to be present.
Signed-off-by: James Almer <jamrial@gmail.com>
It is only used by the MPEG-2 encoder, so replace it
by a private option instead. Use a more elaborate term
for it: intra_dc_precision ("dc" could be anything).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Clarify the behavior of seek keyboard shortcuts in both the
documentation and command-line help text. Specifically:
- left/right: mention custom interval option support
- page down/up: improve wording for chapter seeking fallback
This commit introduces new options to support more than one decryption
keys:
* add a decryption_keys option to MOV, that supports a dictionary of
KID=>key (in hex), using AV_OPT_TYPE_DICT
* add the corresponding cenc_decryption_keys option to DASH
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
It has come to my attention that a way to limit the request range size
would be useful in general, for reasons beyond just speeding up initial
header parsing.
This patch generalizez -initial_request_size to -request_size. I decided
to continue allowing both options to be used simultaneously, so users can
e.g. set -request_size to something large like 10 MiB, but still use a smaller
size for initial header parsing (e.g. 256 KiB).
Fixes: https://github.com/mpv-player/mpv/issues/8655
Allows users to test if a given hardware pixel format is supported by swscale.
This is only a rough heuristic anyways, because the actual support may
depend on the specific *combination* of frame attributes, and ultimately
is better served by the `sws_test_frame` and `sws_frame_setup()` APIs anyways.
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
loudnorm provides stats output that's meant to be used for two-pass
normalization. These stats are often interleaved with ffmpeg's stream
descriptions and other output, making them difficult to parse and pass
to the second pass. The new stats_file option enables writing the stats
to a separate file, or to standard output, for simple parsing and other
programmatic usage.
Signed-off-by: Adam Jensen <adam@acj.sh>
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>
Said function has presumably been added in order to check
that we have successfully reset the floating point state
after having violated the ABI/calling convention by not
issuing emms in our MMX DSP routines.
Yet the ability to check this should not have been made public,
because there is no external need for it and because the
function does not even always achieve what its documentation
claims to do: It only works when inline assembly is available.
It should have been implemented in emms.h like emms_c()
(which is where a replacement should be put if there is still
ABI-violating MMX code when av_assert0_fpu() is removed).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Fixes peak detection for samples like in https://github.com/haasn/libplacebo/issues/358
This might introduce flickering on some other samples, but was agreed
upstream that they are better overall.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Sometimes, HTTP sources require a lot of seeking during probing / header
parsing (especially for formats like MXF). Currently, we need to completely
tear down and re-establish the connection most times this happens, which puts
a lot of stress on the network stack and also results in transmission of
possibly many unnecessary bytes.
This patch adds an option to allow FFmpeg to request partial ranges during
the initialization stage. This is done until the initial request size is fully
read, after which we fall back to the normal behavior (i.e. infinite streaming
via an unbounded request).
The usefulness of this is limited without also specifying -multiple_requests 1,
since otherwise there is little point to requesting partial ranges to begin
with. (However, it is semantically independent, so we keep it that way.)
Add chroma_location option so that, in the subsampled-to-subsampled case, the destination's chroma siting can be changed from the source's without having to use other filters. Useful, for example, when converting BT.2020 to BT.709, where the former customarily uses "top left" and the latter "left."
Update documentation.
Closes: #21185
Add support for standard -pass and -passlogfile options, matching the behavior
of libx264.
Add the -x265-stats option to specify the stats filename.
Update documentation.
Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
When prescale is enabled, time fields are converted to the output
timebase before expression evaluation. This allows option specification
even if the input timebase is unknown.
Ensure the allocated AVCodecContext is properly freed if avcodec_parameters_to_context fails.
Signed-off-by: 0xBat <monsterbat02@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Validate return value of av_malloc for dynamic_setting to avoid null pointer dereference.
Signed-off-by: 0xBat <monsterbat02@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Properly free decoder_ctx on failure to prevent a memory leak during initialization.
Signed-off-by: 0xBat <monsterbat02@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Colors expressions (like `#RRGGBB`) can now be used as arguments for `setvar`
and `call`.
The trick of setting a variable with a `0xRRGGBBAA` value is not valid anymore.
Signed-off-by: Ayose <ayosec@gmail.com>
Previously, the pkt_size option only affected write buffering in the file
protocol. This change extends its effect to read mode as well.
On embedded systems with limited RAM, users can now reduce I/O buffer
memory by setting a smaller pkt_size.
Signed-off-by: caifan3 <caifan3@xiaomi.com>
Some tools like v4l2-ctl dump data without skip padding. If the
padding size is not an integer multiple of the number of pixel
bytes, we cannot handle it by using a larger width, e.g.,, for
RGB24 image with 32 bytes padding in each line.
This avoids needing to use the extra_conf variable. That variable
is problematic for setting a value that contains spaces.
This adds options for another tool in the same fashion as other
tools were added in 523d688c2b.
Explicitly spell it out that we are not going to modify the
individual libraries for the purposes of improving conformance
to ARM64EC.
We may (or may not) accept build system patches for making such
a build succeed, provided that it does not require changes to
the actual library code.