Andreas Cadhalpun
0ccddbad20
smacker: limit recursion depth of smacker_decode_bigtree
...
This fixes segmentation faults due to stack-overflow caused by too deep
recursion.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com >
Signed-off-by: Sean McGovern <gseanmcg@gmail.com >
2017-11-10 20:41:32 -05:00
Michael Niedermayer
cd4663dc80
smacker: add sanity check for length in smacker_decode_tree()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
Bug-Id: 1098
Cc: libav-stable@libav.org
Signed-off-by: Sean McGovern <gseanmcg@gmail.com >
2017-11-10 20:38:44 -05:00
Diego Biurrun
5edded9df3
smacker: Improve error handling
...
Return sensible error values and forward error codes.
2017-06-01 14:22:01 +02:00
Michael Niedermayer
b98f082d8d
smacker: Check that the data size is a multiple of a sample vector
...
Fixes out of array access
Fixes: ce19e41f0ef1e52a23edc488faecdb58/asan_heap-oob_2504e97_4202_ffa0df1baed14022b9bfd4f8ac23d0cb.smk
Bug-Id: CVE-2015-8365
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 4a9af07a49 )
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2017-06-01 14:22:01 +02:00
Luca Barbato
73fc82f343
vlc: Add header #include when the types are used
...
Do not rely on indirectly including it from bitstream.h.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2017-05-02 18:38:26 +02:00
Diego Biurrun
a25dac976a
Use bitstream_init8() where appropriate
2017-02-07 18:27:21 +01:00
Alexandra Hájková
6efbc88a5c
smacker: Convert to the new bitstream reader
2016-11-24 11:22:11 +01: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
Diego Biurrun
6b96d2dcda
cosmetics: Drop particularly redundant silly comments
2016-02-18 15:35:43 +01: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
Anton Khirnov
84099f51f3
smacker: use the AVFrame API properly.
2013-11-16 13:23:38 +01:00
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
2013-10-03 23:32:01 +02:00
Martin Storsjö
f3d57dc691
smacker: Free memory properly if the init function fails
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-09-11 20:20:50 +03:00
Martin Storsjö
0679cec6e8
smacker: Make sure we don't fill in huffman codes out of range
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-09-11 20:20:45 +03:00
Martin Storsjö
d002fce24a
smacker: Check malloc return values
...
Also try to free local allocations on errors.
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-09-11 20:20:28 +03:00
Kostya Shishkov
bbb2945f2d
smacker: check the return value of smacker_decode_tree
...
Also prevent a memory leak.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-06-16 15:56:50 +02:00
Kostya Shishkov
f52edef301
smacker: fix an off by one in huff.length computation
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-06-16 15:55:53 +02:00
Kostya Shishkov
268bb88544
smacker: add a clarification notice about audio decoding
2013-05-28 06:17:08 +02:00
Kostya Shishkov
5f30c6c8ed
Revert "smackaud: clip output samples"
...
Smacker audio uses overflows instead of clipping.
This reverts commit 375ca0aca8 .
2013-05-27 18:19:01 +02:00
Anton Khirnov
3b199d29cd
lavc decoders: properly initialize AVFrame.
2013-03-08 07:39:37 +01:00
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
2013-03-08 07:38:30 +01:00
Justin Ruggles
903b62cc0b
smackaud: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Anton Khirnov
df9b956751
lavc: fix decode_frame() third parameter semantics for video decoders
...
It's got_frame, not data size
2012-12-04 21:45:36 +01:00
Anton Khirnov
594d4d5df3
lavc: add a wrapper for AVCodecContext.get_buffer().
...
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Justin Ruggles
a903f8f087
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
...
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00
Mans Rullgard
779f8bc24e
smacker: remove some unused code
...
This removes some code apparently left over from vlc reader
debugging.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2012-07-01 20:38:14 +01:00
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-04-06 22:37:38 +03:00
Franz Brauße
12cbbbb4ab
smacker audio: sign-extend the initial 16-bit predicted value
...
Fixes Bug #265
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com >
2012-03-30 14:44:11 -04:00
Diego Biurrun
a92be9b856
Replace memset(0) by zero initializations.
...
Also remove one pointless zero initialization in rangecoder.c.
2012-03-28 09:38:33 +02:00
Ronald S. Bultje
b2af057a36
smacker: convert palette and header reading to bytestream2.
2012-03-25 16:31:16 -07:00
Martin Storsjö
e96b4a53df
vlc/rl: Add ff_ prefix to the nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2012-02-15 22:06:26 +02:00
Alex Converse
7181c4edee
cosmetics: Remove extra newlines at EOF
2012-01-27 17:19:09 -08:00
Alex Converse
9adf25c1cf
smacker: Sanity check huffman tables found in the headers.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-01-26 10:18:00 -08:00
Alex Converse
90c0c83e14
smacker: remove dead store
2012-01-26 10:17:04 -08:00
Diego Biurrun
aaf47bcde7
Drop ALT_ prefix from BITSTREAM_READER_LE name.
...
The prefix is a historic remnant that probably meant "alternative".
Now that the A32 bitstream reader has been dropped it makes no sense anymore.
2011-12-22 16:51:23 +01:00
Justin Ruggles
0eea212943
Add avcodec_decode_audio4().
...
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Justin Ruggles
818a3bdedf
smackaud: use uint8_t* for 8-bit output buffer type
...
This matches the output sample format and the range of the output values.
2011-11-09 16:21:08 -05:00
Justin Ruggles
375ca0aca8
smackaud: clip output samples
2011-11-09 16:20:45 -05:00
Justin Ruggles
c86c3c8017
smackaud: use sign_extend() for difference value instead of casting
2011-11-09 16:19:52 -05:00
Justin Ruggles
ff1f89de2d
smacker: validate channels and sample format.
2011-10-11 07:48:16 -04:00
Justin Ruggles
cf044f8bff
smacker: check buffer size before reading output size
2011-10-11 07:48:16 -04:00
Justin Ruggles
e190e453bd
smacker: validate number of channels
2011-10-11 07:48:16 -04:00
Michael Niedermayer
5166376f24
smacker: fix a few off by 1 errors
...
stereo & 16bit is untested due to lack of samples
Signed-off-by: Martin Storsjö <martin@martin.st >
2011-09-14 11:13:54 +03:00
Laurent Aimar
6489455495
Check for invalid VLC value in smacker decoder.
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2011-09-14 10:40:31 +03:00
Laurent Aimar
9676ffba83
Check and propagate errors when VLC trees cannot be built in smacker decoder.
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2011-09-14 10:38:49 +03:00
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Stefano Sabatini
975a1447f7
Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2011-05-02 12:18:44 +02:00
Stefano Sabatini
4f2954e232
smacker: remove unnecessary call to avctx->release_buffer in decode_frame()
...
The release_buffer was cleaning the provided frame, thus causing the
successive call to avctx->reget_buffer() to allocate a new frame. In
case the returned frame was not the same one previously returned but a
new one with different data, it resulted in artifacts.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2011-04-27 07:41:59 -07:00