| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
For use in the LucasArts VIMA decoder, where it is used as a subvariant.
Signed-off-by: Manuel Lauss <[email protected]>
|
|
|
|
|
|
| |
Fixes CID1655273 and CID1655274.
Signed-off-by: Marvin Scholz <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The aim of this is twofold: a) Clang warns when setting a deprecated
field in a definition and because several of the widely set
AVCodec fields are deprecated, one gets several hundred warnings
from Clang for an ordinary build. Yet fortunately Clang (unlike GCC)
allows to disable deprecation warnings inside a definition, so
that one can create simple macros to set these fields that also suppress
deprecation warnings for Clang. This has already been done in
fdff1b9cbfd8cf5a9810c29efa4baf13a4786742 for AVCodec.channel_layouts.
b) Using macros will allow to easily migrate these fields to internal ones.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
| |
|
|
|
|
|
|
| |
Fixes ticket #11133
Signed-off-by: James Almer <[email protected]>
|
|
|
|
| |
Fixes Coverity issue #1610760.
|
|
|
|
|
| |
Reviewed-by: Peter Ross <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
| |
Reviewed-by: Peter Ross <[email protected]>
|
|
|
|
| |
Signed-off-by: James Almer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes: runtime error: signed integer overflow: 2140143616 + 254665816 cannot be represented in type 'int'
Fixes: 45982/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_XMD_fuzzer-6690181676924928
As a sideeffect this simplifies the equation, the high bits are different after this but only
the low 16bits are stored and used in later steps.
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
It reduces typing: Before this patch, there were 105 codecs
whose long_name-definition exceeded the 80 char line length
limit. Now there are only nine of them.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Only used by decoders (encoders have ff_encode_alloc_frame()).
Also clean up the other headers a bit while removing now redundant
internal.h inclusions.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
and remove FF_CODEC_CAP_INIT_THREADSAFE
All our native codecs are already init-threadsafe
(only wrappers for external libraries and hwaccels
are typically not marked as init-threadsafe yet),
so it is only natural for this to also be the default state.
Reviewed-by: Anton Khirnov <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
This is possible, because every given FFCodec has to implement
exactly one of these. Doing so decreases sizeof(FFCodec) and
therefore decreases the size of the binary.
Notice that in case of position-independent code the decrease
is in .data.rel.ro, so that this translates to decreased
memory consumption.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
| |
This increases type-safety by avoiding conversions from/through void*.
It also avoids the boilerplate "AVFrame *frame = data;" line
for non-subtitle decoders.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Up until now, codec.h contains both public and private parts
of AVCodec. This exposes the internals of AVCodec to users
and leads them into the temptation of actually using them
and forces us to forward-declare structures and types that
users can't use at all.
This commit changes this by adding a new structure FFCodec to
codec_internal.h that extends AVCodec, i.e. contains the public
AVCodec as first member; the private fields of AVCodec are moved
to this structure, leaving codec.h clean.
Reviewed-by: Anton Khirnov <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Also move FF_CODEC_TAGS_END as well as struct AVCodecDefault.
This reduces the amount of files that have to include internal.h
(which comes with quite a lot of indirect inclusions), as e.g.
most encoders don't need it. It is furthemore in preparation
for moving the private part of AVCodec out of the public codec.h.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
| |
This avoids unnecessary rebuilds of most source files if only the
list of enabled components has changed, but not the other properties
of the build, set in config.h.
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
|
|
| |
Signed-off-by: Vittorio Giovara <[email protected]>
Signed-off-by: Anton Khirnov <[email protected]>
Signed-off-by: James Almer <[email protected]>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
| |
This change ensures that the linker can drop adpcm_data.o if no decoder
that actually uses anything from there is enabled.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
| |
This is to avoid unused variables warnings after the code for
the disabled encoders has been #if'ed away which will happen in
a subsequent commit.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
| |
Redundant with ff946633a30e15415974c3f0ec7751c04eb91701.
Found-by: Andreas Rheinhardt <[email protected]>
This reverts commit 7a403da0cb8e5fe308fe307b7ed219110f7021e0.
|
|
|
|
|
|
|
|
| |
Fixes: null pointer dereference
Fixes: 33172/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_IMA_WS_fuzzer-5200164273913856
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
| |
As per documentation.
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Even though all samples are meant to be zero (if flag == 0x07),
doesn't mean that they aren't there. See No$PSX docs [1].
[1]: https://problemkaputt.de/psx-spx.htm#spuadpcmsamples
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Andreas Rheinhardt <[email protected]>
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was added in error very early on, passing in only the required fields.
Later, the muxer and demuxer were changed to pass the entire APMState
struct as extradata.
Technically a breaking change, but this was only around for a *very* short
time before it was updated,
Reviewed-by: Andreas Rheinhardt <[email protected]>
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Given that the AVCodec.next pointer has now been removed, most of the
AVCodecs are not modified at all any more and can therefore be made
const (as this patch does); the only exceptions are the very few codecs
for external libraries that have a init_static_data callback.
Signed-off-by: Andreas Rheinhardt <[email protected]>
Signed-off-by: James Almer <[email protected]>
|
|
|
|
|
|
|
|
| |
Fixes bug #9198
Reviewed-by: Andreas Rheinhardt <[email protected]>
Signed-off-by: Aidan Richmond <[email protected]>
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Fixes a crash when decoding VQA files.
Regression since c012f9b265e172de9c240c9dfab8665936fa3e83.
Reported-by: Andreas Rheinhardt <[email protected]>
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the codecs just need everything zeroed. Those that don't
are either handled inline during decode, or pull state from
extradata.
Move state reset/init functionality into adpcm_flush(), and
invoke it from adpcm_decode_init().
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
| |
Commit 003b5c800fef909fa84dd2fae43d66bd434d3f7e introduced seeking in argo_asf,
but this was missed, leading to non-deterministic output.
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
| |
Changes the sample format to S16P, but was only ever mono so it
affects nothing.
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
|
|
|
| |
They don't modify any global state
Reviewed-by: Anton Khirnov <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|
|
|
|
| |
Signed-off-by: Zane van Iperen <[email protected]>
|