Andreas Rheinhardt
a247ac640d
avcodec: Constify AVCodecs
...
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 <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 10:43:15 -03:00
Anton Khirnov
e15371061d
lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump
...
They are not properly namespaced and not intended for public use.
2021-01-01 14:14:57 +01:00
Hendrik Leppkes
494f868e93
avcodec: set AV_CODEC_CAP_CHANNEL_CONF on decoders which set their own channels
...
The decoders in this set either have a fixed channel count, or read it
from the bitstream, and thus do not require the channel count as
external information.
Fixes various regressions since
81503ac58a
, which requires a valid channel
count for decoders which do not set this capability.
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2020-12-10 13:28:35 +01:00
Andreas Rheinhardt
5f2b30ba06
avcodec/qdm2: Make decoder init-threadsafe
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-12-08 17:51:46 +01:00
Andreas Rheinhardt
760217f469
avcodec/qdm2: Apply offsets when initializing VLCs
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-12-08 17:51:46 +01:00
Andreas Rheinhardt
278a27f651
avcodec/qdm2: Remove outdated comment
...
Forgotten in f054e309c5
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-11-24 11:35:03 +01:00
Andreas Rheinhardt
16bb8247b4
avcodec/mpegaudiodsp: Make initializing synth windows thread-safe
...
These arrays are used by the Musepack decoders, the MPEG audio decoders
as well as qdm2 and up until now, these arrays might be initialized more
than once, leading to potential data races as well as unnecessary
initializations. Therefore this commit ensures that each array will only
be initialized once.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-11-24 11:35:03 +01:00
Michael Niedermayer
9fc73bf022
avcodec/qdm2: Check fft_coefs_index
...
Fixes: out of array access
Fixes: 20660/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5658290216501248
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-02-19 22:37:30 +01:00
Michael Niedermayer
e36ccb5048
avcodec/qdm2: The smallest header seems to have 2 bytes so treat 1 as invalid
...
Fixes: Timeout (217sec -> 2ms)
Fixes: 18488/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5708293662310400
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-20 15:50:15 +01:00
Michael Niedermayer
12b909ba31
avcodec/qdm2: Check frame size
...
Fixes: index 2304 out of bounds for type 'float [2304]'
Fixes: 16332/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5679142481166336
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-06 22:26:55 +02:00
Michael Niedermayer
7b2ebf89a4
avcodec/qdm2: Check checksum_size for 0
...
Fixes: Infinite loop
Fixes: 15337/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5757428949319680
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-08 09:44:36 +02:00
Michael Niedermayer
694be24bd6
avcodec/qdm2: error out of qdm2_fft_decode_tones() before entering endless loop
...
Fixes: signed integer overflow: 2147483646 + 2 cannot be represented in type 'int'
Fixes: infinite loop
Fixes: 15396/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5116605501014016
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-08 09:44:35 +02:00
Michael Niedermayer
ae021c1239
avcodec/qdm2: Do not read out of array in fix_coding_method_array()
...
Instead we ask for a sample, its unclear what to do in this case.
Fixes: index 30 out of bounds for type 'int8_t [30][64]'
Fixes: 15339/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5749441484554240
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-08 09:41:47 +02:00
Michael Niedermayer
8d8b8c4ac6
avcodec/qdm2: Move fft_order check up
...
This avoids undefined computations with unchecked values
Fixes: shift exponent -21 is negative
Fixes: 15262/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDM2_fuzzer-5651261753393152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-06-29 19:22:19 +02:00
Paul B Mahol
24d31a8074
avcodec/qdm2: make use of bytestream2
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-09 18:43:19 +01:00
Adriano Pallavicino
25866680fd
lavc/qdm2: increase code clarity
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Josh de Kock <josh@itanimul.li>
2016-09-28 12:35:58 +01:00
Clément Bœsch
ae753dbd0d
Merge commit 'b668662939de3a02454cfc9ba3e6d10b87527a40'
...
* commit 'b668662939de3a02454cfc9ba3e6d10b87527a40':
get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes
The merge commit also includes changes for libavcodec/interplayacm.c and
libavcodec/truemotion2rt.c
Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-29 11:35:10 +02:00
Clément Bœsch
8ef57a0d61
Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
...
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
cosmetics: Fix spelling mistakes
Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Diego Biurrun
b668662939
get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes
...
This avoids the danger that get_bits.h might get indirectly #included before
BITSTREAM_READER_LE is defined.
Also sort headers into canonical order where appropriate.
2016-06-07 13:09:57 +02:00
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Diego Biurrun
0f40c90984
Drop pointless assert.h #includes
2016-05-03 15:45:10 +02:00
Derek Buitenhuis
1a12eb4a73
Merge commit '29c2d06d67724e994980045afa055c6c34611b30'
...
* commit '29c2d06d67724e994980045afa055c6c34611b30':
cosmetics: Drop empty comment lines
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 17:31:44 +00:00
Diego Biurrun
29c2d06d67
cosmetics: Drop empty comment lines
2016-02-18 15:35:30 +01:00
Michael Niedermayer
444e9874a7
Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
...
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
lavc: AV-prefix all codec capabilities
Conflicts:
cmdutils.c
ffmpeg.c
ffplay.c
libavcodec/8svx.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/adpcm.c
libavcodec/alac.c
libavcodec/atrac3plusdec.c
libavcodec/bink.c
libavcodec/dnxhddec.c
libavcodec/dvdec.c
libavcodec/dvenc.c
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
libavcodec/fic.c
libavcodec/flacdec.c
libavcodec/flacenc.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/hevc.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopenjpegdec.c
libavcodec/libvo-aacenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpegaudiodec_float.c
libavcodec/msmpeg4dec.c
libavcodec/mxpegdec.c
libavcodec/nvenc_h264.c
libavcodec/nvenc_hevc.c
libavcodec/pngdec.c
libavcodec/qpeg.c
libavcodec/ra288.c
libavcodec/rv10.c
libavcodec/s302m.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tiff.c
libavcodec/tta.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/vp9.c
libavcodec/wavpack.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:50:18 +02:00
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Michael Niedermayer
41572ac698
Merge commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2'
...
* commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2':
qdm2: Return meaningful error codes
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:26:56 +01:00
Himangi Saraogi
f3e045263e
qdm2: Return meaningful error codes
2015-02-17 12:18:20 -05:00
Michael Niedermayer
a94eba6f0c
Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'
...
* commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0':
avcodec: Don't anonymously typedef structs
Conflicts:
libavcodec/alac.c
libavcodec/cinepak.c
libavcodec/cscd.c
libavcodec/dcadec.c
libavcodec/g723_1.c
libavcodec/gif.c
libavcodec/iff.c
libavcodec/kgv1dec.c
libavcodec/libopenjpegenc.c
libavcodec/libspeexenc.c
libavcodec/ra288.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:18:17 +01:00
Diego Biurrun
7f9f771eac
avcodec: Don't anonymously typedef structs
2015-02-14 10:13:49 -08:00
Paul B Mahol
3db9960e0a
avcodec/qdm2: remove unneeded #include, there are no assert()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Reimar Döffinger
70d80ed40f
qdm2: Allow hard-coding VLC tables.
...
Also adds a lot of infrastructure necessary for it.
Some of it is a bit ugly though.
Increases binary size for hardcoded tables by about 12 kB,
which is about 15 kB from qdm2_table minus data and code
saved that was only used for creating it.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-18 23:51:07 +01:00
Vittorio Giovara
1f80742f49
qdm2: avoid integer overflow
...
CC: libav-stable@libav.org
Bug-Id: CID 700555
2014-11-21 12:37:50 +00:00
Michael Niedermayer
60dbed6067
Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
...
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
cosmetics: Write NULL pointer inequality checks more compactly
Conflicts:
libavcodec/dvdsubdec.c
libavcodec/h263dec.c
libavcodec/libxvid.c
libavcodec/rv10.c
libavcodec/utils.c
libavformat/format.c
libavformat/matroskadec.c
libavformat/segment.c
libavutil/opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02:00
Michael Niedermayer
fb33bff990
Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
...
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
cosmetics: Write NULL pointer equality checks more compactly
Conflicts:
cmdutils.c
ffmpeg_opt.c
ffplay.c
libavcodec/dvbsub.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/dxa.c
libavcodec/libxvid_rc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/rv10.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/vc1dec.c
libavcodec/zmbv.c
libavdevice/v4l2.c
libavformat/matroskadec.c
libavformat/movenc.c
libavformat/sdp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Gabriel Dume
4b1f5e5090
cosmetics: Write NULL pointer inequality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Michael Niedermayer
976fc5911c
avcodec/qdm2: move static init to normal init to avoid initializing tables that might never be used
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 15:40:44 +01:00
Michael Niedermayer
ee77140afa
Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
...
* commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2':
cosmetics: Group .name and .long_name together in codec/format declarations
Conflicts:
libavcodec/8svx.c
libavcodec/alac.c
libavcodec/cljr.c
libavcodec/dnxhddec.c
libavcodec/dnxhdenc.c
libavcodec/dpxenc.c
libavcodec/dvdec.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/ffv1dec.c
libavcodec/flacdec.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/g726.c
libavcodec/gif.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/h263dec.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopencore-amr.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libspeexenc.c
libavcodec/libvo-amrwbenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/ljpegenc.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpeg12dec.c
libavcodec/mpeg4videodec.c
libavcodec/msmpeg4dec.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/proresdec_lgpl.c
libavcodec/proresenc_kostya.c
libavcodec/ra144enc.c
libavcodec/rawdec.c
libavcodec/rv10.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tta.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/wavpack.c
libavcodec/xbmenc.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:34:23 +02:00
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
2013-10-03 23:32:01 +02:00
Michael Niedermayer
5f312139df
Merge commit '45ee556d51ef04d79d52bf6b0b7f28a4d231cb0c'
...
* commit '45ee556d51ef04d79d52bf6b0b7f28a4d231cb0c':
qdm2: Whitespace cosmetics
flac: use meaningful return values
Conflicts:
libavcodec/flacdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:34:07 +02:00
Luca Barbato
45ee556d51
qdm2: Whitespace cosmetics
2013-07-28 14:58:19 +02:00
Michael Niedermayer
8f09957194
avcodec/qdm2: initialize sign_bits
...
Fixes non deterministic output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:21:33 +02:00
Michael Niedermayer
fbe159e850
avcodec/qdm2: store bits in an integer instead of float variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:18:52 +02:00
Michael Niedermayer
2e6338b472
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
qdm2: Conceal broken samples
See: 5ee008e01d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:00:57 +02:00
Michael Niedermayer
564909093a
Merge commit 'adadc3f2443d25b375e21e801516ccfd78e0b080'
...
* commit 'adadc3f2443d25b375e21e801516ccfd78e0b080':
qdm2: refactor joined stereo support
Conflicts:
libavcodec/qdm2.c
See: 2b12d1ffd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 15:07:20 +02:00
Luca Barbato
4ecdb5ed44
qdm2: Conceal broken samples
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 15:57:46 +02:00
Luca Barbato
adadc3f244
qdm2: refactor joined stereo support
...
qdm2 does support only two channels. Loop over the run once.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 15:57:32 +02:00
Michael Niedermayer
44d0e520f8
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
qdm2: check and reset dithering index per channel
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:26:17 +02:00
Michael Niedermayer
e1f98f2231
Merge commit '76efedeadb1f6bf79020c44a71dd0cee13d932ad'
...
* commit '76efedeadb1f6bf79020c44a71dd0cee13d932ad':
qdm2: formatting cosmetics
Conflicts:
libavcodec/qdm2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:10:06 +02:00
Michael Niedermayer
d28a8ad8f3
Merge commit 'f054e309c58894450a5d18cce9799ef58aab9f14'
...
* commit 'f054e309c58894450a5d18cce9799ef58aab9f14':
qdm2: use init_static_data
westwood_vqa: do not free extradata on error in read_header
Conflicts:
libavformat/westwood_vqa.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:02:52 +02:00