| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Found-by: gcc5-ubsan.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The original code left-shifts negative values, which is undefined
in the C99 specification (the one used during normal Libav compilation).
This change multiplies by (1 << shift), which is functionally equivalent,
but has defined behavior.
With this change, fate-idct8x8 compiled with --fsanitize=undefined works.
Bug-Id: 686
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Samples produced by Omneon (Harmonic) store external references with
paths ending with 0s. Such movs cannot be loaded properly since every
0 is converted to '/', to keep the same parsing code for dref type 2
and type 18: this makes the external reference point to a non-existing
direactory, rather than to the actual referenced file.
Add a brief trimming loop that drops all ending 0s before trying to
parse the external reference path.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
|
|
| |
It's not practical to keep this with the new decode API.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
| |
Remove the duplicated code for handling failure of apply_param_change().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Store the file duration in the same timebase it arrives (i.e.
milliseconds) and only convert it to the file duration units (100ns)
when it's actually written, thus simplifying some calculations. Also,
store the duration as unsigned, since it cannot be negative.
CC: libav-stable@libav.org
Bug-ID: CVE-2016-2326
|
|
|
|
|
|
|
|
| |
parameters
This bitrate might not be known otherwise.
Bug-Id: 926
|
| |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
|
|
|
|
| |
Rename luma table to delta table and change how it is used.
CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
|
| |
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
| |
|
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The plugin loaded may not match the general implementation capability
wise.
|
|
|
|
|
| |
It currently just calls av_init_packet(), which does not touch those
fields.
|
| |
|
|
|
|
| |
This will be useful in the following commits.
|
|
|
|
|
| |
Do not pass just a bare AVFormatContext pointer around, wrap it in
struct. This will be useful in the following commits.
|
| |
|
|
|
|
|
| |
avprobe is not doing any decoding, so this is more correct than printing
information from a random codec implementation.
|
|
|
|
| |
AVStream.codec is always non-NULL
|
|
|
|
| |
Also, remove a stray line (apparently fallout from conflict resolution).
|
| |
|
|
|
|
| |
This avoids accessing NULL pointers in case of error.
|
|
|
|
|
| |
The deinit function in the 'error' section will correctly free
everything.
|
| |
|
| |
|
|
|
|
|
|
| |
This prefix is reserved for public functions only.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
| |
|
|
|
|
| |
The reasoning is the same as for the corresponding qsvenc patch.
|
|
|
|
|
|
|
|
| |
The QSV runtime expects the sync point address passed to
MFXVideoENCODE_EncodeFrameAsync() to be valid until
MFXVideoCORE_SyncOperation().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
AVStream.codec is now deprecated. Allocate a separate codec context
instead.
|
|
|
|
|
| |
The switch is not yet complete because the parsers and the bistream
filters do not have a new AVCodecParam-based API yet.
|
|
|
|
|
|
| |
Open decoders first, next encoders. This makes sure that that
subtitle_header is always set properly, without relying on
avformat_find_stream_info() setting it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, AVStream contains an embedded AVCodecContext instance, which
is used by demuxers to export stream parameters to the caller and by
muxers to receive stream parameters from the caller. It is also used
internally as the codec context that is passed to parsers.
In addition, it is also widely used by the callers as the decoding (when
demuxer) or encoding (when muxing) context, though this has been
officially discouraged since Libav 11.
There are multiple important problems with this approach:
- the fields in AVCodecContext are in general one of
* stream parameters
* codec options
* codec state
However, it's not clear which ones are which. It is consequently
unclear which fields are a demuxer allowed to set or a muxer allowed to
read. This leads to erratic behaviour depending on whether decoding or
encoding is being performed or not (and whether it uses the AVStream
embedded codec context).
- various synchronization issues arising from the fact that the same
context is used by several different APIs (muxers/demuxers,
parsers, bitstream filters and encoders/decoders) simultaneously, with
there being no clear rules for who can modify what and the different
processes being typically delayed with respect to each other.
- avformat_find_stream_info() making it necessary to support opening
and closing a single codec context multiple times, thus
complicating the semantics of freeing various allocated objects in the
codec context.
Those problems are resolved by replacing the AVStream embedded codec
context with a newly added AVCodecParameters instance, which stores only
the stream parameters exported by the demuxers or read by the muxers.
|
|
|
|
| |
AVCodecParameters
|
|
|
|
|
|
| |
This API is intended to allow passing around codec parameters without
using full AVCodecContext (which also contains codec options and
encoder/decoder state).
|
|
|
|
|
| |
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
|