c188f358aa
avcodec/wavpack: Treat the first block coding too many channels as an error
...
Fixes memleak
Fixes: 236/8aeebc9ca49b91bf71c114dcefac56c154a3a563
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-12-07 13:16:32 +01:00
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
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
fa66237b69
lavc: Use get_bitsz where needed
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2016-01-11 21:51:11 +01:00
43ff4aed26
lavc: use get_bitsz to simplify the code
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com >
2016-01-03 21:12:53 +01:00
2cbaa078d1
avcodec: use HAVE_THREADS header guards to silence -Wunused-function
...
When compiled with --disable-pthreads, e.g
http://fate.ffmpeg.org/report.cgi?time=20150917015044&slot=alpha-debian-qemu-gcc-4.7 ,
a bunch of -Wunused-functions are reported due to missing header guards
around threading related functions.
This patch should silence such warnings.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
2015-10-04 12:47:34 -04:00
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba':
lavc: Consistently prefix input buffer defines
Conflicts:
doc/examples/decoding_encoding.c
libavcodec/4xm.c
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.h
libavcodec/asvenc.c
libavcodec/avcodec.h
libavcodec/avpacket.c
libavcodec/dvdec.c
libavcodec/ffv1enc.c
libavcodec/g2meet.c
libavcodec/gif.c
libavcodec/h264.c
libavcodec/h264_mp4toannexb_bsf.c
libavcodec/huffyuvdec.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libxvid.c
libavcodec/mdec.c
libavcodec/motionpixels.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/noise_bsf.c
libavcodec/nuv.c
libavcodec/nvenc.c
libavcodec/options.c
libavcodec/parser.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/qsvdec.c
libavcodec/svq1enc.c
libavcodec/tiffenc.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/vc1dec.c
libavcodec/wmalosslessdec.c
libavformat/adxdec.c
libavformat/aiffdec.c
libavformat/apc.c
libavformat/apetag.c
libavformat/avidec.c
libavformat/bink.c
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/id3v2.c
libavformat/isom.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/mpc.c
libavformat/mpc8.c
libavformat/mpegts.c
libavformat/mvi.c
libavformat/mxfdec.c
libavformat/mxg.c
libavformat/nutdec.c
libavformat/oggdec.c
libavformat/oggparsecelt.c
libavformat/oggparseflac.c
libavformat/oggparseopus.c
libavformat/oggparsespeex.c
libavformat/omadec.c
libavformat/rawdec.c
libavformat/riffdec.c
libavformat/rl2.c
libavformat/rmdec.c
libavformat/rtpdec_latm.c
libavformat/rtpdec_mpeg4.c
libavformat/rtpdec_qdm2.c
libavformat/rtpdec_svq3.c
libavformat/sierravmd.c
libavformat/smacker.c
libavformat/smush.c
libavformat/spdifenc.c
libavformat/takdec.c
libavformat/tta.c
libavformat/utils.c
libavformat/vqf.c
libavformat/westwood_vqa.c
libavformat/xmv.c
libavformat/xwma.c
libavformat/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 23:15:19 +02:00
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
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:59 +01:00
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
d0eff8857c
wavpack: limit extra_bits to 32 and use get_bits_long
...
More than 32 bits can't be stored in an integer and get_bits should not
be used with more than 25 bits.
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com >
2015-07-02 23:31:16 +02:00
f9883a669c
wavpack: use get_bits_long to read up to 32 bits
...
get_bits should not be used for more than 25 bits.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at >
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com >
2015-06-28 11:29:46 +02:00
042260cde4
avcodec/wavpack: Check L/R values before use to avoid harmless integer overflow and undefined behavior in fate
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-03 16:37:10 +02:00
a59f85d106
wavpack: check number of channels
...
This means container and codec disagree. The codec is supposed to
know better so this could be an error instead.
2014-08-22 18:43:30 +00:00
11a39bdf53
wavpack: report if there is no bits left
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-19 17:47:46 +02:00
28bf111503
avcodec/wavpack: fix () in macros
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-18 03:13:36 +02:00
326463893b
avcodec/wavpack: initialize pointers to silence warning about them possibly being uninitialized
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-07 02:13:56 +02:00
95953c1cfd
avcodec/wavpack fix *void pointer arithmetic
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-12-23 23:12:35 +01:00
866c44d4b0
avcodec/wavpack: clear remainder of data in case of error in wv_unpack_mono/stereo()
...
Fixes use of uninitialized data
Fixes: msan_uninit-mem_7fd85b654950_4005_because.wv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-12-23 00:56:18 +01:00
82e576046c
avcodec/wavpack: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-10-30 11:04:07 +00:00
84f972f994
Merge commit '23a211cbba0b7c9ee694040031b2e5da1be54a00'
...
* commit '23a211cbba0b7c9ee694040031b2e5da1be54a00':
lavc: change all decoders to behave consistently with AV_EF_CRCCHECK.
Conflicts:
libavcodec/avcodec.h
libavcodec/tta.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-10-28 12:34:35 +01:00
23a211cbba
lavc: change all decoders to behave consistently with AV_EF_CRCCHECK.
...
Just crccheck prints a warning, crccheck+explode returns an error.
Also document this behavior.
2013-10-28 07:22:18 +01:00
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
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
2013-10-03 23:32:01 +02:00
93f4277714
WavPack encoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-08-14 14:04:05 +00:00
ff0bdf9375
lavc: copy AVCodecContext for threads
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-06-13 21:49:18 +00:00
b94f045b18
wavpack: add missing .\n to entropy error message
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-06-08 17:39:54 +00:00
9684d7f1a2
wavpack: frame multi-threading support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-06-05 22:35:32 +00:00
a44d39ae42
wavpack: remove redundant error log message
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-06-03 00:20:04 +00:00
7a2edcf1c8
Merge commit '89806691b1c39181c63d95e0fddc30f11e2a7b04'
...
* commit '89806691b1c39181c63d95e0fddc30f11e2a7b04':
wavpack: check that all the channels were coded.
wavpack: check that there aren't too many blocks per packet
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-29 05:01:35 +02:00
4d2825a317
Merge commit '7d039e70a5ff23a7deaa866684d2e8872acc5169'
...
* commit '7d039e70a5ff23a7deaa866684d2e8872acc5169':
wavpack: extract channel information from the bitstream
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-29 04:37:58 +02:00
8543575cc4
Merge commit '78f75b6fa421dd39a715588e9487579f1ce5bada'
...
* commit '78f75b6fa421dd39a715588e9487579f1ce5bada':
wavpack: extract sample rate from the bitstream
configure: support gcc-4.8 instrumentation
Conflicts:
libavcodec/wavpack.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-29 04:33:27 +02:00
89806691b1
wavpack: check that all the channels were coded.
2013-05-28 17:47:24 +02:00
eae1b8451a
wavpack: check that there aren't too many blocks per packet
2013-05-28 17:47:17 +02:00
7d039e70a5
wavpack: extract channel information from the bitstream
...
This way we don't require the caller to parse the block header. It also
allows the channel configuration to change mid-stream.
2013-05-28 17:47:04 +02:00
78f75b6fa4
wavpack: extract sample rate from the bitstream
...
This way we don't require the caller to parse the block header. It also
allows the sample rate to change mid-stream.
2013-05-28 17:46:03 +02:00
3ed3aaab32
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
smacker: assign video frame PTS
matroskadec: export full wavpack blocks.
Conflicts:
libavcodec/wavpack.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:58:46 +02:00
8012f93ed8
Merge commit '5074f4545c439420daebe4c2f28ed216440b6ec7'
...
* commit '5074f4545c439420daebe4c2f28ed216440b6ec7':
wavpack demuxer: export full wavpack blocks.
Conflicts:
libavformat/wv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:49:30 +02:00
aa6cf4c1b0
Merge commit '72dee5f40b236c5eb9e68df39df80c68392269e3'
...
* commit '72dee5f40b236c5eb9e68df39df80c68392269e3':
wavpack: don't set sample format in init.
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:41:38 +02:00
288e3fdfd3
Merge commit '35596bd4f4d3c39eed838cf3a2613817d62dda99'
...
* commit '35596bd4f4d3c39eed838cf3a2613817d62dda99':
wavpack: remove a useless parameter from wavpack_decode_block().
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:36:26 +02:00
f5dfc35157
Merge commit 'd1bec4be2207738669874e02605e879ea9620974'
...
* commit 'd1bec4be2207738669874e02605e879ea9620974':
wavpack: return an error on 0-sized blocks
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:28:22 +02:00
2ba0953ee4
Merge commit '1d177200ce1ffd8902729e3a4d647b04fc4b35f8'
...
* commit '1d177200ce1ffd8902729e3a4d647b04fc4b35f8':
wavpack: remove a useless check.
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:13:14 +02:00
8d4e934df9
Merge commit '0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840'
...
* commit '0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840':
wavpack: add an error message to a failure.
wavpack: return 0 instead of samples count from decoding functions
Conflicts:
libavcodec/wavpack.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:08:24 +02:00
107e9e4432
wavpack: Properly check channel index, dont write out of arrays
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:02:37 +02:00
a803ca54e5
Merge commit '528daa399018af74d52192eb1861d2b59d256111'
...
* commit '528daa399018af74d52192eb1861d2b59d256111':
wavpack: switch to planar output
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 11:02:27 +02:00
84051d57f5
Merge commit 'a7ec3a9a4eea4e374afcd6e05828b103e6fcb601'
...
* commit 'a7ec3a9a4eea4e374afcd6e05828b103e6fcb601':
wavpack: drop redundant if/else blocks
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 10:03:04 +02:00
be72853f8a
Merge commit '7b44c9918086c6aeacf7ef9f902af38b97f43170'
...
* commit '7b44c9918086c6aeacf7ef9f902af38b97f43170':
wavpack: remove the subframes codec cap
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 09:57:44 +02:00
9b6f47c448
matroskadec: export full wavpack blocks.
...
This allows us to get rid of demuxer-specific hacks in the decoder and
will allow streamcopy from matroska once we have a wavpack muxer.
2013-05-28 08:14:35 +02:00
5074f4545c
wavpack demuxer: export full wavpack blocks.
...
Currently the demuxer shaves the blocks and exports only the
information that is useful to the decoder.
Exporting the blocks just as they are stored is simpler to understand
and will make remuxing wavpack easier.
2013-05-28 08:14:05 +02:00
72dee5f40b
wavpack: don't set sample format in init.
...
We don't know whether it will be float until we look at the data.
2013-05-28 08:04:07 +02:00