Commit Graph

73 Commits

Author SHA1 Message Date
Michael Niedermayer
b1e242bc56 avcodec/g2meet: Check R/G/B values in epic_decode_pixel_pred()
Fixes: asan_double-free_d34593_861_smp3.wmv

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-10 18:11:28 +02:00
Michael Niedermayer
80e42387dc avcodec/g2meet: Clear pointers after deallocation
Fixes double free

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 15:38:37 +02:00
Michael Niedermayer
6205143bb3 Merge commit '9eec23b8a7fd0f91827bbc3ed0792c39a8cc9a8a'
* commit '9eec23b8a7fd0f91827bbc3ed0792c39a8cc9a8a':
  g2meet: use av_ceil_log2 instead of a custom function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 19:09:55 +02:00
Michael Niedermayer
92c858ae66 Merge commit '4ccccd6c40a6d0ce85e96a6e37f558236e2a6a75'
* commit '4ccccd6c40a6d0ce85e96a6e37f558236e2a6a75':
  g2meet: use an unsigned type for the djb hash

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 19:09:10 +02:00
Janne Grunau
9eec23b8a7 g2meet: use av_ceil_log2 instead of a custom function 2015-07-01 13:58:34 +02:00
Janne Grunau
4ccccd6c40 g2meet: use an unsigned type for the djb hash 2015-07-01 13:34:50 +02:00
Michael Niedermayer
68939f7682 Merge commit '08c2d8f0aa679c2f060721d1d0d4f33d2ae32368'
* commit '08c2d8f0aa679c2f060721d1d0d4f33d2ae32368':
  Go2Meeting decoder

Conflicts:
	Changelog
	libavcodec/g2meet.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 03:18:30 +02:00
Kostya Shishkov
08c2d8f0aa Go2Meeting decoder
ELS and ePIC decoder courtesy of Maxim Poliakovski,
cleanup and integration by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-01 01:08:15 +02:00
Michael Niedermayer
b1b0baa3d6 avcodec/g2meet: Check init_get_bits8() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 22:50:39 +02:00
Michael Niedermayer
43e94d5af4 avcodec/g2meet: Use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 22:50:23 +02:00
Eric Zimmerman
eb31256f12 g2meet: Support G2M5 codec variant
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:45:35 +01:00
Michael Niedermayer
edaca0812a Merge commit 'bb815dfc38b8ef7a89d6b9684ce0cdc296385d6d'
* commit 'bb815dfc38b8ef7a89d6b9684ce0cdc296385d6d':
  g2meet: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 20:48:44 +02:00
Diego Biurrun
bb815dfc38 g2meet: K&R formatting cosmetics 2015-04-08 14:23:36 +02:00
Michael Niedermayer
a105931d3e Merge commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8'
* commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8':
  build: Split JPEG-related tables off into a separate component

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 01:11:02 +02:00
Diego Biurrun
4978850ca2 build: Split JPEG-related tables off into a separate component 2015-03-30 17:51:21 +02:00
Michael Niedermayer
2c22042aa0 avcodec/g2meet: Use av_mallocz_array() for framebuffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:04:59 +01:00
Vittorio Giovara
2b5c1efa14 g2meet: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135739
2014-11-13 01:41:26 +01:00
Michael Niedermayer
32e666c354 avcodec/g2meet: check tile dimensions to avoid integer overflow
Fixes out of array access
Fixes: asan_heap-oob_12a55d3_30_029.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 01:22:32 +01:00
Eric Zimmerman
4ba5420e4d Added support for G2M5 codec
This has also been independently found and fixed similarly by carl in
f4a3bbf4a3cd375121ea2495817f3e50e831ed48
The 2nd magic check is taken from carls implementation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 19:36:09 +02:00
Michael Niedermayer
f00bb086cb Merge commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b'
* commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b':
  g2meet: allow size changes within original sizes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 03:40:51 +02:00
Vittorio Giovara
14b4e64eab g2meet: allow size changes within original sizes 2014-07-15 20:08:16 -04:00
Michael Niedermayer
581b5f0b9b Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'
* commit 'e3fcb14347466095839c2a3c47ebecff02da891e':
  dsputil: Split off IDCT bits into their own context

Conflicts:
	configure
	libavcodec/aic.c
	libavcodec/arm/Makefile
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/asvdec.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.c
	libavcodec/dvdec.c
	libavcodec/dxva2_mpeg2.c
	libavcodec/intrax8.c
	libavcodec/mdec.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc_common.h
	libavcodec/mpegvideo.c
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/idctdsp.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:22:11 +02:00
Diego Biurrun
e3fcb14347 dsputil: Split off IDCT bits into their own context 2014-06-30 07:58:46 -07:00
Michael Niedermayer
2b05db4f81 Merge commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9'
* commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9':
  dsputil: Split clear_block*/fill_block* off into a separate context

Conflicts:
	configure
	libavcodec/asvdec.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.h
	libavcodec/eamad.c
	libavcodec/intrax8.c
	libavcodec/mjpegdec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/vc1dec.c
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 04:54:38 +02:00
Diego Biurrun
e74433a8e6 dsputil: Split clear_block*/fill_block* off into a separate context 2014-06-18 14:07:23 -07:00
Michael Niedermayer
45ba9d8545 Merge commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e'
* commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e':
  More correct printf format specifiers

Conflicts:
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 02:54:09 +02:00
Diego Biurrun
cba4e6062a More correct printf format specifiers
This avoids compiler warnings about argument and specifier type mismatch.
2014-04-02 00:27:22 +02:00
Michael Niedermayer
8d024c5107 Merge commit 'cc8163e1a3601a56f722a4720516e860bf1c6198'
* commit 'cc8163e1a3601a56f722a4720516e860bf1c6198':
  avcodec: more correct printf specifiers

Conflicts:
	libavcodec/4xm.c
	libavcodec/alsdec.c
	libavcodec/dfa.c
	libavcodec/h264_ps.c
	libavcodec/jpeg2000dec.c
	libavcodec/lagarith.c
	libavcodec/mpeg12dec.c
	libavcodec/rv10.c
	libavcodec/svq3.c
	libavcodec/wmaprodec.c
	libavcodec/xwddec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 18:43:40 +01:00
Diego Biurrun
cc8163e1a3 avcodec: more correct printf specifiers 2014-03-22 14:08:20 +01:00
Michael Niedermayer
17a5dbacf5 Merge commit 'a801453423420915425f902bf9f9cbe982a55d87'
* commit 'a801453423420915425f902bf9f9cbe982a55d87':
  g2meet: K&R formatting cosmetics

Conflicts:
	libavcodec/g2meet.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 00:41:47 +01:00
Diego Biurrun
a801453423 g2meet: K&R formatting cosmetics 2014-03-08 16:35:20 +01:00
Michael Niedermayer
8b8ae298af avcodec/g2meet: also reset local got_header when reseting the context got_header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 15:22:52 +01:00
Michael Niedermayer
6b53c1aa82 avcodec/g2meet: fix error returns
Fixes out of array accesses

This should not affect any release

Fixes: 8ab69af9e5a7a7e20fe04cdd25c0d6e7-asan_heap-oob_e72b82_5505_cov_2278389485_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 15:22:30 +01:00
Michael Niedermayer
573a8ce8f9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g2meet: validate bpp and bitmasks in the display info

Conflicts:
	libavcodec/g2meet.c

See: ae95b2f810
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-16 20:39:14 +01:00
Maxim Poliakovski
77fbc03265 g2meet: validate bpp and bitmasks in the display info
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-02-16 16:32:53 +01:00
Michael Niedermayer
bde58d9901 Merge commit '6477449243db4aab15a4db356e8354c60b5366ec'
* commit '6477449243db4aab15a4db356e8354c60b5366ec':
  g2meet: make JPEG tile decoder operate on 8x8 block mask

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-11 23:12:29 +01:00
Kostya Shishkov
6477449243 g2meet: make JPEG tile decoder operate on 8x8 block mask
This is needed for upcoming Go2Meeting (G2M2/G2M3) decoder.
2014-02-11 12:46:27 +01:00
Maxim Poliakovski
d6d7851801 g2meet: factor out seeking to the chunk end
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-02-11 12:46:11 +01:00
Maxim Poliakovski
bc3f03567a g2meet: rename FRAME_INFO to more appropriate DISPLAY_INFO
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-02-09 16:13:23 +01:00
Maxim Poliakovski
ae95b2f810 g2meet: Validate bpp and bitmasks in the display info
That prevents processing of media files with
incompatible or unsupported settings.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 23:30:02 +01:00
Maxim Poliakovski
3f826039dd g2meet: factor out chunk seeking
This version requires fewer code and is safer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 23:09:57 +01:00
Maxim Poliakovski
cb2162adba g2meet: Rename FRAME_INFO to more appropriate DISPLAY_INFO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 23:01:14 +01:00
Michael Niedermayer
3af9d8269e avcodec/g2meet: check the return code of ff_set_dimensions()
This is currently redundant as the checks before it are tighter than
the checks in ff_set_dimensions() but its more robust not to depend
on that.

Fixes CID1135739
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 18:34:52 +01:00
Michael Niedermayer
8c677a9f06 Merge commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c'
* commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c':
  avcodec: Use av_reallocp where suitable

Conflicts:
	libavcodec/bitstream.c
	libavcodec/eatgv.c
	libavcodec/flashsv.c
	libavcodec/libtheoraenc.c
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 20:31:29 +01:00
Alexandra Khirnova
9b8d11a76a avcodec: Use av_reallocp where suitable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-09 12:27:51 +02:00
Michael Niedermayer
5d9e663064 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  go2meeting: disallow tile dimensions that are not multiple of 16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:49:54 +01:00
Kostya Shishkov
01f6df01b6 go2meeting: disallow tile dimensions that are not multiple of 16
Original decoder seems to always use 176x128 tiles anyway and this helps
avoiding lots of issues with odd tile sizes in fuzzed files.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-29 17:37:59 +01:00
Michael Niedermayer
6d9dad6a7c avcodec/g2meet: check available space before copying palette
Fixes out of array read
Fixes: asan_heap-uaf_ae6067_5415_g2m4.wmv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 00:10:23 +01:00
Michael Niedermayer
83f7bd6dcf avcodec/g2meet: fix stride calculation, use correct format field
Fixes out of array accesses
Fixes: asan_heap-oob_ae5f63_5415_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 00:10:23 +01:00
Michael Niedermayer
e6b9d71ad9 Merge commit '3b086317277e3f3b61c0343930d8e2570b278bd6'
* commit '3b086317277e3f3b61c0343930d8e2570b278bd6':
  h26[13]dec: stop using deprecated avcodec_set_dimensions
  gifdec: stop using deprecated avcodec_set_dimensions
  g2meet: stop using deprecated avcodec_set_dimensions

Conflicts:
	libavcodec/gifdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 14:54:40 +01:00