Commit Graph

26768 Commits

Author SHA1 Message Date
Michael Niedermayer 66875798eb avcodec/interplayvideo: Check that enough data is available for opcode_0x9
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fd5185b45df_5895_interplay-logo-2MB.mve
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 00:38:11 +01:00
Michael Niedermayer ff1e30c059 avcodec/interplayvideo: Check that enough data is available for opcode_0xA
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f90e5be6b30_3965_baldursgate_camp.mve
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 00:38:11 +01:00
Michael Niedermayer cb079b1b2b avcodec/pngdec: fix signed overflow
fixes fate ftrapv failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-18 22:15:32 +01:00
Michael Niedermayer 4a2570f50a avcodec/nuv: zero buffer padding
Fixes use of uninitialized memory
Fixes msan_uninit-mem_7f4a141261de_7405_nirvana.nuv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-18 18:15:15 +01:00
Michael Niedermayer 1935173fd1 avcodec/dirac_dwt: initialize support value for fidelity wavelet
Avoids use of uninitialized memory
Fixes: msan_uninit-mem_7f15e1988a6e_2748_RL_420p_ffdirac.drc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-18 15:52:08 +01:00
Martin Storsjö b3189aff8b png_parser: Fix parsing on big endian
Since pc.state is populated by shifting in from the end of the
32 bit word, the content within pc.state is already in native endian
and should not be read with the AV_R{L,B} functions.

This was already done correctly for state64 above.

This fixes the fate-corepng test on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-18 12:12:19 +02:00
Anssi Hannula e10fccf62a avcodec/aacdec: default to non-wide 7.1 in non-strict mode
AAC specification has 7.1(wide) as a default layout for 8-channel
streams (channel config 7). However, at least Nero AAC encoder encodes
non-wide 7.1 streams using the default channel config 7, mapping the
side channels of the original audio stream to the second
AAC_CHANNEL_FRONT pair in the AAC stream. Similarly, e.g. FAAD decodes
the second AAC_CHANNEL_FRONT pair as side channels, therefore decoding
the incorrect streams as if they were correct (and as the encoder
intended).

FFmpeg currently decodes such files by-the-spec, i.e. after decoding the
original front pair will be in AV_CH_FRONT_x_OF_CENTER and the original
side pair will be in AV_CH_FRONT_x.

As actual intended 7.1(wide) streams are very rare while misencoded 7.1
files actually exist in the wild, default to assuming a 7.1 layout was
intended unless in strict mode.

Fixes playback of e.g. 8_Channel_ID.m4a in samples.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-18 05:25:01 +01:00
Michael Niedermayer 3e626548ce avcodec/vc1dec: use av_mallocz for luma_mv
This ensures that no mvs are uninitialized at the time of loop filtering
Fixes: msan_uninit-mem_7f0b6dfe293c_2786_SA20021.vc1
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 21:54:20 +01:00
Michael Niedermayer d8fd183683 vc1: Fix mb_height for field pictures
Tables are always allocated now with sufficient space for either progressive
or interlaced content. The alternative would be to detect a change
and reallocate.

This fixes decoding of a sample.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-17 22:01:45 +02:00
Michael Niedermayer d6acf45ec2 Merge commit '3d9fc21e593aa89b5877bd739268499b079052f2'
* commit '3d9fc21e593aa89b5877bd739268499b079052f2':
  h264: Refactor decode_frame_packing_arrangement

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 19:30:57 +01:00
Michael Niedermayer 4e1dc600a1 Merge commit '3a149e23d37f06d49ab0bb013a3b9cb0224bba5c'
* commit '3a149e23d37f06d49ab0bb013a3b9cb0224bba5c':
  hevc: Refactor decode_nal_sei_frame_packing_arrangement

Conflicts:
	libavcodec/hevc_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 19:04:32 +01:00
Michael Niedermayer 47cc616864 Merge commit '6fd99e78def3c795bdd0bc31f3ae0998d24bc94c'
* commit '6fd99e78def3c795bdd0bc31f3ae0998d24bc94c':
  png: add a standalone parser

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

See: 2ee6dca3b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 17:58:53 +01:00
Michael Niedermayer c90f31146e avcodec/utils: drop 2 dependancies on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 17:26:10 +01:00
Michael Niedermayer 3c8b085764 avcodec/libvorbisenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 17:18:29 +01:00
Michael Niedermayer b8f4410ff6 avcodec/flashsv2enc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 16:58:06 +01:00
Michael Niedermayer 8443b27072 avcodec/j2kenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 16:57:58 +01:00
Michael Niedermayer 1458f0647c avcodec/libopenjpegenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 16:35:04 +01:00
Michael Niedermayer 5b3f4b3ef5 avcodec/mjpegenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 16:32:09 +01:00
Michael Niedermayer c81234651f avcodec/msvideo1enc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 16:27:36 +01:00
Michael Niedermayer fca7943850 avcodec/diracdec: avoid depending on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 15:45:24 +01:00
Michael Niedermayer c5f7c8f9a9 avcodec/svq3: set last/next frames to defaults before use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 15:45:24 +01:00
Michael Niedermayer 5abdda214d avcodec/utils: implement avcodec_alloc_frame() through av_alloc_frame()
This ensures that theres just one AVFrame allocation function and libs dont
produce multiple AVFrame variants after a minor lib update

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 14:03:38 +01:00
Michael Niedermayer 6aed7bfd84 avcodec: use av_frame_unref() to set frame defaults
This ensures that the code isnt duplicated and cant become out of sync

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 14:02:29 +01:00
Vittorio Giovara 3d9fc21e59 h264: Refactor decode_frame_packing_arrangement
Directly set the fields when necessary.
2013-12-17 09:34:08 +01:00
Luca Barbato 3a149e23d3 hevc: Refactor decode_nal_sei_frame_packing_arrangement
Directly set the fields when necessary.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-12-17 09:34:08 +01:00
Peter Holik 6fd99e78de png: add a standalone parser
Useful for reading png images from a pipe.
2013-12-17 09:34:08 +01:00
Michael Niedermayer 745c40a47f avcodec/gifdec: check that the correct number of bytes was decoded
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f084c646637_9261_top_title_green_frog.gif
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 02:33:19 +01:00
Michael Niedermayer ec464c9683 avcodec/utils: av_register_codec & hwaccel() that work in O(1) time
Its possible to implement this with a few lines less code but it then
would flip the order of the list and require registration of external
codecs to be done first, also it could break user applications due to
this. Thus to maintain ABI this slighty more complex solution is
used.

Reviewed-by: Stefano Sabatini
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 01:06:34 +01:00
Torsten Jager 48d39c8786 avcodec/libx264: Set colorspace details correctly
After adding colorspace support to xine-lib, I insist in proper
settings within media files at least when they do not follow
that implicit SD/HD routine.
2013-12-16 16:59:02 +01:00
Michael Niedermayer a8d702859b avcodec/mlpdec: check that streamtype matches the codec
Fixes use of uninitialized memory
Fixes msan_uninit-mem_7f126c8ed1ac_5945_issue1731_nonpublic.mpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-16 15:04:49 +01:00
Michael Niedermayer e2742d6ad6 avcodec/wmalosslessdec: completely initialize contains_subframe
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f60c46325d7_6415_luckynight.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-16 12:50:16 +01:00
Tomer Barletz fe285b04bb avcodec/mpeg12dec: Don't create side data when current picture ptr is NULL.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-16 03:25:44 +01:00
Michael Niedermayer e838c9852e avcodec/bink: use av_mallocz for data
Fixes use of uninitialized memory
Fixes msan_uninit-mem_7fe8a5fd759d_2838_SPECTRE.BIK
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 16:53:32 +01:00
Michael Niedermayer 61edda9a4a avcodec/msmpeg4dec: initialize dir_ptr in error cases
Fixes use of uinitialized memory
Fixes: msan_uninit-mem_7f01b8799186_7278_msnaudio.asf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 13:24:05 +01:00
Michael Niedermayer 81230e2612 avcodec/msmpeg4dec: print error in case of invalid vlc in msmpeg4_decode_dc for version <=2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 13:22:03 +01:00
Michael Niedermayer ec13849ce2 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  libzvbi-teletextdec: set bitmap teletext canvas dimensions
  libzvbi-teletextdec: add chopped top row size to y offset
  libzvbi-teletextdec: use defined constants for bitmap char width and height
  libzvbi-teletextdec: cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 03:27:11 +01:00
Michael Niedermayer b2361cfb94 avcodec/svq3: cleanup context in case init fails
Fixes memleaks

Fixes: msan_uninit-mem_7ff57193e77e_2715_RAW512K_Stream_004.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 00:37:19 +01:00
Michael Niedermayer 2d50ebc20b Merge remote-tracking branch 'rbultje/vp9-simd'
* rbultje/vp9-simd:
  vp9/x86: idct_add_16x16_ssse3.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 18:13:07 +01:00
Ronald S. Bultje 8d4c616fc0 vp9/x86: idct_add_16x16_ssse3.
Currently only dc-only and full 16x16. Other subforms will follow in the
near future. Total decoding time of ped1080p.webm goes from 9.7 to 9.3
seconds. DC-only goes from 957 -> 131 cycles, and the full IDCT goes
from ~4050 to ~745 cycles.
2013-12-14 12:13:26 -05:00
Michael Niedermayer 2224159c78 avcodec/vc1: fix DIFF2/NORM2 with width<=16
Fixes read of uninitialized memory
Fixes msan_uninit-mem_7f785da000e8_585_480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 18:02:01 +01:00
Michael Niedermayer c9f72e4b81 avcodec/vc1dec: fix mby_start for interlaced content
Fixes first frame of Ticket2531

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 17:12:18 +01:00
Michael Niedermayer 017e234c20 avcodec/vc1: fix mb_height for field pictures
Fixes ticket2531

Tables are always allocated now with sufficient space for either progressive
or interlaced content. The alternative would be to detect a change
and reallocate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 16:50:21 +01:00
Marton Balint 97f880e7a9 libzvbi-teletextdec: set bitmap teletext canvas dimensions
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-12-14 15:57:44 +01:00
Marton Balint c77e0c2130 libzvbi-teletextdec: add chopped top row size to y offset
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-12-14 15:57:44 +01:00
Marton Balint 249a435989 libzvbi-teletextdec: use defined constants for bitmap char width and height
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-12-14 15:57:44 +01:00
Marton Balint b50968169d libzvbi-teletextdec: cosmetics
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-12-14 15:57:43 +01:00
Michael Niedermayer 2cfccd8060 avcodec/vc1: Factorize imode enum out / remove duplication
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 05:16:25 +01:00
Guillaume Martres ecb21d2437 hevc: rename ptl structs and variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:56 +01:00
Guillaume Martres c90cdf4b64 hevc: pack PTL representation using uint8_t
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:51 +01:00
Guillaume Martres 8e72e19f64 hevc: remove unused PTL flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:46 +01:00