Commit Graph

27409 Commits

Author SHA1 Message Date
Janne Grunau
1e9265cd8f dct-test: test ff_simple_idct_neon only on ARM for now
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-01-15 11:58:39 +01:00
Michael Niedermayer
ab296c7a9f avcodec/hevc_ps: Override max_dec_pic_buffering when its inconsistent with num_reorder_pics
Fixes Ticket3304

Alternatively max_dec_pic_buffering could be removed completely as its not used.

Based on a patch by Jose Santiago <santiago@haivision.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 04:45:42 +01:00
James Almer
8bfa5f7fab webp: fix capitalization of the word Exif
Also remove "webp:" from log messages. Using the AVCodecContext is enough.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 02:54:36 +01:00
Michael Niedermayer
785dc14654 avcodec/adpcm: fix sample count for stereo SBPRO3
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f9b9902ed90_7462_new_alaw.voc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 01:30:38 +01:00
Janne Grunau
8b4119187b cabac: remove leftovers from the cabac encoder
The cabac encoder was only used by the removed cabac test.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-01-14 22:19:03 +01:00
Michael Niedermayer
afbe8c6a84 avcodec/mpegaudiodec_template: decode_frame_mp3on4: conceal errors in decoding instead of discarding data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 21:00:58 +01:00
Michael Niedermayer
2545182c29 avcodec/mpegaudiodec_template/mp3on4: check that all channels have been decoded before returnig a frame
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f80bf9a259e_5774_id5_1.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 20:56:08 +01:00
Michael Niedermayer
b821def9f5 avcodec/proresdsp: rename CLIP_AND_BIAS to BANANA
See: IRC log
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 16:33:16 +01:00
Michael Niedermayer
cb613657ee avcodec/x86/proresdsp_init: x86 prores IDCT is bitexact again
reenable it for for bitexact mode

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:59:00 +01:00
Michael Niedermayer
4b0cad6596 avcodec/simple_idct_template: fix rounding of the special DC case for 10bit
MSE doesnt change for the test as the code only triggers
for very sparse matrixes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:58:59 +01:00
Michael Niedermayer
a7ea733b72 avcodec/simple_idct_template: fix row rounder
MSE changes from 0.04890000 to 0.02969844

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:58:59 +01:00
Michael Niedermayer
cca2772e16 avcodec/simple_idct_template: change the idct coefficients so that they match the x86 code
no changes in either standard deviation or PSNR is seen in any of the changed fate
cases

MSE changes from 0.05012422 to 0.04890000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:58:58 +01:00
Michael Niedermayer
d9e556ebd0 avcodec/proresdsp & idct: move biasing from after the IDCT into the IDCT
This replaces 64 additions by 8 additions

MSE Changes from 0.04873672 to 0.05012422

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:58:57 +01:00
Michael Niedermayer
b148a39d55 Merge commit '46bacb5cc6169ff5e8e982495c4925467c1d8bb7'
* commit '46bacb5cc6169ff5e8e982495c4925467c1d8bb7':
  x86: Consistently use cpu flag detection macros in places that still miss it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:44:59 +01:00
Michael Niedermayer
7766c7b7a0 Merge commit '7151c5d04aed3b496c21f713dcb603e2cbdb9c49'
* commit '7151c5d04aed3b496c21f713dcb603e2cbdb9c49':
  arm: Use full filenames as multiple inclusion guards

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:38:10 +01:00
James Almer
0b54bc24db webp: add support for EXIF metadata chunks
Based on mjpeg code by Thilo Borgmann

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 05:08:22 +01:00
Diego Biurrun
46bacb5cc6 x86: Consistently use cpu flag detection macros in places that still miss it 2014-01-14 00:04:58 +01:00
Diego Biurrun
7151c5d04a arm: Use full filenames as multiple inclusion guards 2014-01-14 00:04:52 +01:00
Michael Niedermayer
58eb9b9299 Merge commit '6d98959c8a5a749592a878b9523b31eccea5d102'
* commit '6d98959c8a5a749592a878b9523b31eccea5d102':
  vc1: Add avg_no_rnd_vc1_chroma_mc4_c()

Conflicts:
	libavcodec/vc1dsp.c

See: dd6e291e40
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 14:19:15 +01:00
Michael Niedermayer
1df53ff22d Merge commit 'c798a6fedc3dd9ed3ac1fb2d95819af58705a87e'
* commit 'c798a6fedc3dd9ed3ac1fb2d95819af58705a87e':
  vc1: Factorize out chroma MC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 14:04:58 +01:00
Tim Walker
49b9badcaa vc1: Enable the interlaced B-frame codepath.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-13 10:23:01 +01:00
Michael Niedermayer
6d98959c8a vc1: Add avg_no_rnd_vc1_chroma_mc4_c()
Needed for proper interlaced support.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-13 10:22:58 +01:00
Luca Barbato
c798a6fedc vc1: Factorize out chroma MC 2014-01-13 10:21:53 +01:00
Michael Niedermayer
22bfb4be28 avcodec/hevc: Check entry point arrays for malloc failure
Fixes null pointer dereference
Fixes: signal_sigsegv_e1d3b6_2192_DBLK_F_VIXS_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 05:04:13 +01:00
Luca Barbato
aead772b58 hevc: Bound check slice_qp
The T-REC-H.265-2013044 page 79 states they have to be into the range
[-s->sps->qp_bd_offset, 51].

Fixes: asan_stack-oob_eae8e3_9522_WP_MAIN10_B_Toshiba_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 05:04:13 +01:00
Luca Barbato
48a5b15543 hevc: Reject impossible dependent tile
The tile 0 cannot depend on a previous one.
Prevent an out of array bound load in ff_hevc_cabac_init().

Fixes: asan_heap-oob_e3a924_1630_DBLK_A_MAIN10_VIXS_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Reviewed-by: Guillaume Martres <smarter@ubuntu.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 02:51:53 +01:00
Michael Niedermayer
7a8318fbb1 avcodec/huffman: raise the input capability of ff_huff_gen_len_table() from 8 to 14bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 01:30:24 +01:00
Michael Niedermayer
7b41cbac7f avcodec/huffman: extend ff_huff_gen_len_table() to allow >8bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 01:22:43 +01:00
Clément Bœsch
af68bd1c06 vp9/x86: add ff_vp9_loop_filter_[vh]_16_16_ssse3().
16662 decicycles in loop_filter_h_16_16_c, 8387355 runs, 1253 skips
17510 decicycles in loop_filter_v_16_16_c, 8387516 runs, 1092 skips

4941 decicycles in ff_vp9_loop_filter_h_16_16_ssse3, 8387887 runs, 721 skips
3899 decicycles in ff_vp9_loop_filter_v_16_16_ssse3, 8387980 runs, 628 skips

Overall decode time goes from:
  ./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null -  8.10s user 0.02s system 99% cpu 8.126 total
to:
  ./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null -  6.15s user 0.04s system 99% cpu 6.199 total

(46 to 61 fps)
2014-01-12 20:20:24 +01:00
Clément Bœsch
e11ceea68f vp9/x86: factor out some code in VP9_UNPACK_MULSUB_2W_4X. 2014-01-12 20:19:00 +01:00
Clément Bœsch
c9aa0b8f70 vp9/x86: remove reg redundancy in VP9_MULSUB_2W_2X. 2014-01-12 20:18:55 +01:00
Clément Bœsch
7c55ee6168 vp9/x86: merge IDCT coef macros. 2014-01-12 20:18:44 +01:00
Michael Niedermayer
4daf8bc31b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1dsp: K&R formatting cosmetics

Conflicts:
	libavcodec/vc1dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-12 20:04:35 +01:00
Luca Barbato
a1f5164814 vc1dsp: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-01-12 18:33:25 +01:00
Serhii Marchuk
c917cde9cc mpegts muxer, DVB subtitles encoder: common DVB subtitles payload
Improved DVB subtitles encoder to generate AVPacket.data in the same
format as generates MPEGTS demuxer + DVB subtitles parser. So now single
format of DVB subtitles data is used across all the components of FFmpeg:
only subtitles payload WITHOUT 0x20 0x00 bytes at the beginning and 0xFF
trailing byte.

Improved MPEGTS muxer to support format of DVB subtitles in
AVPacket.data described above: while muxing we add two bytes 0x20 0x00 to
the beginning of and 0xFF to the end of DVB subtitles payload.

The patch fixes DVB subtitle copy problems: tickets #2989 fully and #2024
partly.

Signed-off-by: Clément Bœsch <u@pkh.me>
2014-01-12 16:40:52 +01:00
Michael Niedermayer
2ce4543286 avcodec/dct-test: add support for C prores IDCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-12 04:15:20 +01:00
Guillaume Martres
b00a8b4d19 hevc: remove useless clip in FUNC(sao_band_filter)()
The src buffer should only contain values in the interval
[0, (1 << BIT_DEPTH) - 1]. Since shift = (BIT_DEPTH - 5), src[x] >> shift
must be in the interval [0, 31], so no clip is needed.

This removes the code that was changed in 5856bca360
as the clip that was repositioned in that commit is removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-12 01:03:19 +01:00
Guillaume Martres
c9fe0caf7a hevc: clip pixels when transquant bypass is used
Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

This is a more proper fix than 5856bca360

The reconstructed picture should always be clipped (see section 8.6.5),
previously we did not clip coding units where
cu_transquant_bypass_flag == 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-12 00:49:11 +01:00
Michael Niedermayer
65801040c6 avcodec/dct-test: reproduce 4..1019 clipping when testing prores IDCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-12 00:21:07 +01:00
Michael Niedermayer
2981f6a79f avcodec/dct-test: correct output bias of prores idct
This way the output values make sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 23:57:47 +01:00
Ronald S. Bultje
0065d2d520 vp9: fix mt-related hang a parser infinite loop.
Fixes trac ticket 3274.

Looked-at-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 22:35:14 +01:00
Michael Niedermayer
7dc0aba3fb avcodec/mjpegenc: use a seperate chroma matrix when luma and chroma differ
drop hardcoded TWOMATRIX code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 21:45:41 +01:00
Michael Niedermayer
b8ff951ce0 avcodec/mpegvideo_enc: init chroma matrix for mjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 21:38:11 +01:00
Michael Niedermayer
859d74040e avcodec/mjpegenc: pass chroma quantization matrix through as well, not just luma
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 21:26:51 +01:00
Luca Barbato
5856bca360 hevc: Clip the pixel before shifting
Prevent an out of array bound read.

Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 20:33:05 +01:00
Michael Niedermayer
0999f1613b avcodec/hevc: use av_mallocz() for allocating tab_ipm
Fixes use of uninitialized memory and out of stack array read
Fixes: signal_sigsegv_ecc526_7846_WPP_C_ericsson_MAIN_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 20:30:22 +01:00
Michael Niedermayer
d5af400713 avcodec/alac: warn if not all channels where decoded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 04:44:42 +01:00
Michael Niedermayer
e11983bda0 avcodec/alac: only set *got_frame_ptr when all channels have been decoded
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f8b64436530_7895_quicktime_newcodec_applelosslessaudiocodec.m4a
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 04:37:27 +01:00
Michael Niedermayer
9d5cc55f0f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add an option for making sure NEON registers aren't clobbered

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 03:08:10 +01:00
Michael Niedermayer
6b18a6839b avcodec/wmalosslessdec: shrink output on error so no uninitialized data is returned
Fixes use of uninitialized memory
partly fixes: msan_uninit-mem_7f7834b6a530_6473_luckynight-partial.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 02:04:01 +01:00
Michael Niedermayer
ae3856dcaf avcodec/wmalosslessdec: deallocate uninitialized frame on decode_tilehdr() failure
Fixes use of uninitialized memory
partly fixes: msan_uninit-mem_7f7834b6a530_6473_luckynight-partial.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 02:03:20 +01:00
Michael Niedermayer
03fff09b32 avcodec/wmalosslessdec: Pass on error code from decode_tilehdr()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 01:58:36 +01:00
Michael Niedermayer
7cd46acdd5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Cast signed libopenjpeg data values to unsigned before shifting.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 00:14:42 +01:00
Carl Eugen Hoyos
26fc6ffec4 Cast signed libopenjpeg data values to unsigned before shifting.
This avoids undefined behaviour on left-shift.

Reviewed-by: Michael Bradshaw
2014-01-11 00:03:37 +01:00
Hendrik Leppkes
23bc1351ad vdpau: restore compatibility with deprecated fields in AVVDPAUContext
Fixes ticket #3133.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Tested-by: EricV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 23:54:14 +01:00
Martin Storsjö
44a0a98f92 arm: Add an option for making sure NEON registers aren't clobbered
This is pretty much based on the same test for XMM registers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-11 00:03:00 +02:00
Michael Niedermayer
e2bb185e62 nut: Support XYZ12 rawvideo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 17:51:13 +01:00
Michael Niedermayer
e1d8ef4c21 avcodec/mss2: fix chroma dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 17:08:04 +01:00
Carl Eugen Hoyos
8298b54179 Fix libopenjpeg colour range adjust for 8<bpp<16.
Fixes ticket #3284.

Reviewed-by: Michael Bradshaw
2014-01-10 10:57:43 +01:00
Carl Eugen Hoyos
8b7cce441c Support signed j2k images via libopenjpeg.
Fixes ticket #3283.

Reviewed-by: Michael Bradshaw
2014-01-10 10:55:51 +01:00
Michael Niedermayer
ebfa1264aa avcodec/mjpegdec: allow lowres with amv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 21:40:13 +01:00
Michael Niedermayer
7c3700cd1d avcodec/mjpegdec: use the AVFrame width/height for flipping
This makes it possible to use the code with lowres

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 21:40:13 +01:00
Michael Niedermayer
af15c17daa avcodec/mjpegdec: remove new flipping code
It stored images wrong in the user provided buffers (that is you would
end up with a wrongly flipped image if you used direct rendering).
Also it used wrong dimensions as noticed by ubitux

Enable the old code unconditionally so flipping works correctly
again.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 21:36:21 +01:00
Michael Niedermayer
268d931724 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ATRAC3+ decoder

Conflicts:
	Changelog
	configure
	libavcodec/atrac3plus.c
	libavcodec/atrac3plus.h
	libavcodec/atrac3plus_data.h
	libavcodec/atrac3plusdec.c
	libavcodec/atrac3plusdsp.c
	libavcodec/version.h

See: 2e1fb96af3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 20:58:03 +01:00
Michael Niedermayer
92b2404571 Merge commit '4c642d8d98703faf52983243098f35865e15b312'
* commit '4c642d8d98703faf52983243098f35865e15b312':
  x86: hpeldsp: Add missing av_cold attribute to init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 20:32:53 +01:00
Michael Niedermayer
390452bab6 Merge commit 'b0be1ae792ac8bbfb0fc7b9b9cb39eaf0feb489b'
* commit 'b0be1ae792ac8bbfb0fc7b9b9cb39eaf0feb489b':
  x86: avcodec: Add a bunch of missing #includes for av_cold

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 20:24:15 +01:00
Michael Niedermayer
b4f97d4a0e Merge commit '4b48201d4d9d57a2a1ecf8504bc928aff83cb99a'
* commit '4b48201d4d9d57a2a1ecf8504bc928aff83cb99a':
  ac3tab.h: #include the correct headers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 20:23:41 +01:00
Maxim Polijakowski
e6f0bb6527 ATRAC3+ decoder
Cleanup by Diego Biurrun.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-01-09 19:33:07 +01:00
Michael Niedermayer
cab5315519 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mjpegdec: apply flipping after decoding, not before

Conflicts:
	libavcodec/mjpegdec.c
	libavcodec/mjpegdec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 15:46:31 +01:00
Michael Niedermayer
c1362ca047 Merge commit 'e588615d938f8581f0d6f3771662d08cadfc00de'
* commit 'e588615d938f8581f0d6f3771662d08cadfc00de':
  hevc: fix decoding of one PU wide files

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 15:30:50 +01:00
Diego Biurrun
4c642d8d98 x86: hpeldsp: Add missing av_cold attribute to init function 2014-01-09 15:09:07 +01:00
Diego Biurrun
b0be1ae792 x86: avcodec: Add a bunch of missing #includes for av_cold 2014-01-09 15:09:07 +01:00
Diego Biurrun
4b48201d4d ac3tab.h: #include the correct headers 2014-01-09 15:09:07 +01:00
Michael Niedermayer
3773738e26 Merge commit 'ca96e337169093979d7c763064ad9dae12b3108c'
* commit 'ca96e337169093979d7c763064ad9dae12b3108c':
  vp9: drop support for real (non-emulated) edges

Conflicts:
	libavcodec/vp9block.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 14:41:23 +01:00
Michael Niedermayer
7904dfed73 Merge commit 'ef8c93e2f18c624d0c266687e43ab99af7921dd3'
* commit 'ef8c93e2f18c624d0c266687e43ab99af7921dd3':
  vp8: drop support for real (non-emulated) edges

Conflicts:
	tests/fate/vpx.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 14:32:09 +01:00
Michael Niedermayer
2830f287e2 Merge commit 'ebfe622bb1ca57cecb932e42926745cba7161913'
* commit 'ebfe622bb1ca57cecb932e42926745cba7161913':
  mpegvideo: drop support for real (non-emulated) edges

Conflicts:
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_motion.c
	libavcodec/wmv2.c

If this is slower on a major platform then it should be investigated
and potentially reverted.

See: 8fc52a5ef9
See: 3969b4b861
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 14:19:24 +01:00
Anton Khirnov
d48132b7de mjpegdec: apply flipping after decoding, not before
This is simpler and removes a silly restriction on edges being present.
2014-01-09 09:56:51 +01:00
Guillaume Martres
e588615d93 hevc: fix decoding of one PU wide files
For those the block size may be larger than the source linesize (if the
edges are not allocated).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-01-09 09:46:13 +01:00
Anton Khirnov
ca96e33716 vp9: drop support for real (non-emulated) edges
They are not measurably faster on x86, they might be somewhat faster on
other platforms due to missing emu edge SIMD, but the gain is not large
enough to justify the added complexity.
2014-01-09 09:43:59 +01:00
Anton Khirnov
ef8c93e2f1 vp8: drop support for real (non-emulated) edges
They are not measurably faster on x86, they might be somewhat faster on
other platforms due to missing emu edge SIMD, but the gain is not large
enough to justify the added complexity.
2014-01-09 09:41:24 +01:00
Anton Khirnov
ebfe622bb1 mpegvideo: drop support for real (non-emulated) edges
Several decoders disable those anyway and they are not measurably faster
on x86. They might be somewhat faster on other platforms due to missing
emu edge SIMD, but the gain is not large enough (and those decoders
relevant enough) to justify the added complexity.
2014-01-09 09:41:19 +01:00
Michael Niedermayer
fb8f5d0510 avcodec/msvideo1enc: fix SKIPS_MAX
Fixes Ticket3270

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 04:04:40 +01:00
Michael Niedermayer
48ad1f392a avcodec/libstagefright: drop dependancy on sizeof(AVFrame)
untested (noone tested within about a month) and the change is
quite trivial so should be ok. While the code before this change
is broken.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 23:56:05 +01:00
Michael Niedermayer
1a0370ad94 avcodec/kgv1dec: remove unused function and variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 20:17:23 +01:00
Ronald S. Bultje
c6fe984f2f vp9/x86: make STORE_2X2 macro local.
Prevents this assembler warning:
libavcodec/x86/vp9itxfm.asm:1208: warning: (VP9_IDCT32_1D:309)
redefining multi-line macro `STORE_2X2'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 14:07:15 +01:00
Michael Niedermayer
9d098ea32f avcodec/huffyuvenc: Factorize store_huffman_tables() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 14:01:22 +01:00
Michael Niedermayer
9e7b477c8c avcodec/ffv1enc: choose 1.2 by default for higher resolutions to ensure multi-threaded decodability
Reviewed-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 13:24:37 +01:00
Michael Niedermayer
dcc9009e14 Merge remote-tracking branch 'rbultje/vp9-simd'
* rbultje/vp9-simd:
  vp9: make mv bounds 32bit.
  vp9: reset contextual caches on frame size change with mt enabled.
  vp9/x86: idct_32x32_add_ssse3 sub-8x8-idct.
  vp9/x86: idct_32x32_add_ssse3 sub-16x16-idct.
  vp9/x86: idct_32x32_add_ssse3.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 13:02:53 +01:00
Michael Niedermayer
5d4541007f avcodec/huffyuvenc: fix -context 1 encoding
Fixes Ticket3281

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 12:39:31 +01:00
Michael Niedermayer
8be8dddd13 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add a missing # as prefix for an immediate constant

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:44:56 +01:00
Michael Niedermayer
edba54630b Merge commit '5dae4872357613a0b51120b54a4c5221e0ec3f69'
* commit '5dae4872357613a0b51120b54a4c5221e0ec3f69':
  arm: Allow overriding the alignment set in the function macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:36:56 +01:00
Michael Niedermayer
3c00d4c5f0 Merge commit 'b7b932f5e3602bd34c3cc634b71c8bbbc0fb8dc0'
* commit 'b7b932f5e3602bd34c3cc634b71c8bbbc0fb8dc0':
  arm: Remove a leftover define for the pld instruction

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:21:18 +01:00
Michael Niedermayer
9ef7c0c551 Merge commit '67bb3a4e285a5871770cbaa2d78bf9024961dd0f'
* commit '67bb3a4e285a5871770cbaa2d78bf9024961dd0f':
  arm: cosmetics: Reindent the h264dsp neon init function

Conflicts:
	libavcodec/arm/h264dsp_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:13:25 +01:00
Ronald S. Bultje
024fac5cd4 vp9: make mv bounds 32bit.
Fixes an assert in file from trac ticket 3188.
2014-01-07 20:43:35 -05:00
Ronald S. Bultje
5b0fc07819 vp9: reset contextual caches on frame size change with mt enabled.
Fixes crash/valgrind errors in trac ticket 3188 and hang in 3274.
2014-01-07 20:43:35 -05:00
Ronald S. Bultje
04a187fb2a vp9/x86: idct_32x32_add_ssse3 sub-8x8-idct.
Runtime of the full 32x32 idct goes from 2446 to 2441 cycles (intra) or
from 1425 to 1306 cycles (inter). Overall runtime is not significantly
affected.
2014-01-07 20:43:35 -05:00
Ronald S. Bultje
37b001d14d vp9/x86: idct_32x32_add_ssse3 sub-16x16-idct.
Runtime of all IDCTs together goes from 3327 to 2473 cycles (intra, i.e.
~35% faster) or from 2312 to 1448 cycles (inter, i.e. ~60% faster). Total
decode time of ped1080p.webm goes from 8.086sec to 7.974sec (1.4% faster).
2014-01-07 20:43:34 -05:00
Ronald S. Bultje
e84d14df10 vp9/x86: idct_32x32_add_ssse3.
Sub-IDCTs will follow later. ped1080.webm goes from 9.295s to 8.191s
(13.5% faster). The IDCT itself goes from 4372 (intra) or 4337 (inter)
to 403 (intra) or 329 (inter) cycles for the DC-only form, 23755 (intra)
or 23723 (inter) to 3497 (intra) or 3607 (inter) cycles for the no-DC
form, which averages from 23393 (intra) or 16612 (inter) to 3449 (intra)
or 2392 (inter) for all 32x32s together, i.e. about ~7x faster (all
tests done on ped1080p.webm).
2014-01-07 20:43:30 -05:00
Martin Storsjö
952d3187d8 arm: Add a missing # as prefix for an immediate constant
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:30:13 +02:00
Martin Storsjö
5dae487235 arm: Allow overriding the alignment set in the function macro
The function macro always sets .align 2 before declaring the
function label (since 5c5e1ea3) and always sets the section to
.text (since 278caa6a).

The .align 5 before certain functions, added in fc252eba, were added
before .text and .align were added to the function macro and thus
became useless/unused when the function macro got them.

This restores the original intention, to align the loop entry
points.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:29:56 +02:00
Martin Storsjö
b7b932f5e3 arm: Remove a leftover define for the pld instruction
This file no longer uses the pld instruction at all, all such uses
have been split into hpeldsp_arm.S.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:29:42 +02:00
Martin Storsjö
67bb3a4e28 arm: cosmetics: Reindent the h264dsp neon init function
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:29:31 +02:00
Michael Niedermayer
8aead3ffa8 avformat/adxdec: dont return random data on EOF
Fixes use of uninitialized memory
Partly fixes; msan_uninit-mem_7fb7d24780d0_2744_R03T.CAK
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 16:05:56 +01:00
Michael Niedermayer
8ca9a68f19 avcodec/flacdec: check rice_order against blocksize
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f6e13c220d0_8489_short.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 14:02:53 +01:00
Michael Niedermayer
99b6357f37 rename CONFIG_FFT_FIXED_32 -> FFT_FIXED_32
This matches FFT_FLOAT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 13:11:06 +01:00
Michael Niedermayer
7778979f6f Merge commit '794fcf79a89eca2d4e889803b2c804a0b1defbb3'
* commit '794fcf79a89eca2d4e889803b2c804a0b1defbb3':
  Rename CONFIG_FFT_FLOAT ---> FFT_FLOAT

Conflicts:
	libavcodec/fft-internal.h
	libavcodec/fft-test.c
	libavcodec/fft_fixed.c
	libavcodec/fft_float.c
	libavcodec/fft_template.c
	libavcodec/mdct_fixed.c
	libavcodec/mdct_float.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 13:10:56 +01:00
Michael Niedermayer
21b25537fb avcodec/mpeg4videodec: use av_fast_padded_malloc() for bitstream buffer
Fixes use of uninitialized memory with vlc (sample from ticket3277)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 01:29:38 +01:00
Michael Niedermayer
13f3092b38 avcodec/huffyuv: add YUVA420P, YUVA422P, YUVA444P, GBRAP, GRAY8A
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 21:19:32 +01:00
Michael Niedermayer
60ab582a4e avcodec/huffyuv: add GRAY8 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 20:00:25 +01:00
Michael Niedermayer
22f59a8cbe avcodec/huffyuv: add GBRP support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 19:56:52 +01:00
Diego Biurrun
794fcf79a8 Rename CONFIG_FFT_FLOAT ---> FFT_FLOAT
The define does not originate from configure, so it should not
have a name that is CONFIG_-prefixed.
2014-01-06 19:12:48 +01:00
Paul B Mahol
63debaa74c libopusenc: Change default frame duration to 20 ms
20 ms is the default in the libopus encoder, and gives better
quality than 10 ms.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-06 18:56:44 +02:00
Michael Niedermayer
8367bc6be8 Merge commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9'
* commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9':
  pthread_frame: unref decoded frames on failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 17:01:20 +01:00
Michael Niedermayer
30056fd0be Merge commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb'
* commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb':
  h264: do not use 422 functions for monochrome

See: 07abf13da4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 16:51:23 +01:00
Michael Niedermayer
64591f8f86 Merge commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf'
* commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf':
  h264: check that execute_decode_slices() is not called too many times

Conflicts:
	libavcodec/h264.c

The check is replaced by an assert() as the mb index should not ever go out
of bounds.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 16:39:38 +01:00
Michael Niedermayer
a60abb1ee0 Merge commit 'bfd26b7ce6efea594f2b99441d900419df3af638'
* commit 'bfd26b7ce6efea594f2b99441d900419df3af638':
  h264: reject mismatching luma/chroma bit depths during sps parsing

Conflicts:
	libavcodec/h264_ps.c

See: bdeb61ccc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 16:28:55 +01:00
Michael Niedermayer
98dcbb47fa avcodec/h264: reset list_count too in case of error in ff_set_ref_count()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 16:17:45 +01:00
Michael Niedermayer
7ee8a1c562 Merge commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8'
* commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8':
  h264: rebuild the default ref list if the reference count changes

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 16:17:38 +01:00
Michael Niedermayer
a4f8a56495 Merge commit '4736d003fac30af4afd8390182f12f480ad78801'
* commit '4736d003fac30af4afd8390182f12f480ad78801':
  cavsdec: check ff_get_buffer() return value

Conflicts:
	libavcodec/cavsdec.c

See: eee8c94f50
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:52:44 +01:00
Michael Niedermayer
3328d105f7 Merge commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d'
* commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d':
  lavc: do not leak the internal frame if opening the codec fails

Conflicts:
	libavcodec/utils.c

See: 8b285f03f7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:44:11 +01:00
Michael Niedermayer
4e276b84e6 Merge commit '8058284ce09030b47512746d726fb2ad3ae8a20f'
* commit '8058284ce09030b47512746d726fb2ad3ae8a20f':
  lavc: add 422/444 YUV with alpha to align_dimensions()

Conflicts:
	libavcodec/utils.c

Only cosmetical changes happen as these formats already where in the list before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:17:34 +01:00
Michael Niedermayer
b7697d29ed Merge commit '2f97094608cfd2665660f7a26a3291559b186752'
* commit '2f97094608cfd2665660f7a26a3291559b186752':
  lagarith: do not call simd functions on unaligned lines

Conflicts:
	libavcodec/lagarith.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:07:35 +01:00
Michael Niedermayer
e86cd37a70 Merge commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b'
* commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b':
  sgidec: fix buffer size check in expand_rle_row()

Conflicts:
	libavcodec/sgidec.c

See: 39c56ef921
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 14:43:04 +01:00
Michael Niedermayer
80d44190c4 Merge commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f'
* commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f':
  kgv1dec: replace forcing EMU_EDGE by a copy

Conflicts:
	libavcodec/kgv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 14:23:01 +01:00
Michael Niedermayer
d1134ababd Merge commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307'
* commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307':
  4xm: replace forcing EMU_EDGE by a copy

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 13:51:01 +01:00
Anton Khirnov
9cbf2d78f0 pthread_frame: unref decoded frames on failure
This is similar to what the non-threaded code already does.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:25:55 +01:00
Anton Khirnov
a03a642d5c h264: do not use 422 functions for monochrome
Fixes invalid memory access.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:25:36 +01:00
Anton Khirnov
9eef9eb301 h264: check that execute_decode_slices() is not called too many times
Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:25:25 +01:00
Anton Khirnov
bfd26b7ce6 h264: reject mismatching luma/chroma bit depths during sps parsing
There is no point in delaying the check and it avoids bugs with a
half-initialized context.

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:23:45 +01:00
Anton Khirnov
9a026c7298 h264: rebuild the default ref list if the reference count changes
Fixes possible access to freed memory.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:23:17 +01:00
Anton Khirnov
4736d003fa cavsdec: check ff_get_buffer() return value
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-06 08:22:48 +01:00
Anton Khirnov
50079a6aa9 lavc: do not leak the internal frame if opening the codec fails 2014-01-06 08:21:58 +01:00
Anton Khirnov
8058284ce0 lavc: add 422/444 YUV with alpha to align_dimensions()
Aligns frame dimensions to 16, which fixes potential invalid writes.
2014-01-06 08:20:56 +01:00
Kostya Shishkov
2f97094608 lagarith: do not call simd functions on unaligned lines
They end up overwriting past the line end.

Partially based on a patch by Michael Niedermayer <michaelni@gmx.at>

Bug-Id: vlc/9700
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-01-06 08:19:29 +01:00
Anton Khirnov
f4a8a00805 sgidec: fix buffer size check in expand_rle_row()
Right now it will spuriously fail if the linesize is exactly equal to
the data width.

CC:libav-stable@libav.org
2014-01-06 08:18:45 +01:00
Anton Khirnov
adb199d1bc kgv1dec: replace forcing EMU_EDGE by a copy
The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on
get_buffer2() to always provide buffers with linesize == 2 * width.
This is wrong, since we place no such restriction on get_buffer2()
implementations.

Fix this by decoding into internal buffers and copying them to output
frames. Since this is a very obscure decoder, the performance hit should
not be an issue.
2014-01-06 08:15:36 +01:00
Anton Khirnov
fe80fa53bc 4xm: replace forcing EMU_EDGE by a copy
The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on
get_buffer2() to always provide buffers with linesize == 2 * width.
This is wrong, since we place no such restriction on get_buffer2()
implementations.

Fix this by decoding into internal buffers and copying them to output
frames. Since this is a very obscure decoder, the performance hit should
not be an issue.
2014-01-06 08:14:14 +01:00
Anton Khirnov
fffca3d278 4xm: return a proper error code. 2014-01-06 08:13:50 +01:00
Michael Niedermayer
4ced5d7780 avcodec/hevc: Fix modulo operations
Fixes qp fields becoming out of range
Fixes: asan_static-oob_e393a3_6998_WPP_A_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 04:32:37 +01:00
Michael Niedermayer
d66bab0a69 avcodec/hevc_ps: check that VPS referenced from SPS exists
This matches how its done for SPS/PPS.
An alternative to this is to check it when its used.

Fixes null pointer dereference
Fixes: signal_sigsegv_e30a43_1437_CIP_A_Panasonic_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 04:30:04 +01:00
Michael Niedermayer
4816d63fb7 avcodec/huffyuvdec: optimize decode_plane_bitstream(), use joint tables for new yuv formats
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 01:38:14 +01:00
Michael Niedermayer
27b1e63f32 avcodec/huffyuv: Support more 8bit YUV formats
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 01:02:26 +01:00
Michael Niedermayer
d18234f319 Merge commit '7840c40445c9f52aeccba96de3d27613398bfbf2'
* commit '7840c40445c9f52aeccba96de3d27613398bfbf2':
  (e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 23:14:26 +01:00
Michael Niedermayer
7b3c78b5e6 Merge commit '13345fc1f86fc3615789e196d5a339c1c27c9068'
* commit '13345fc1f86fc3615789e196d5a339c1c27c9068':
  (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 23:06:53 +01:00
Michael Niedermayer
85b424a45e Merge commit 'e92123093dfdca0ef6608998240e2f9345d63bff'
* commit 'e92123093dfdca0ef6608998240e2f9345d63bff':
  mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 23:00:22 +01:00
Michael Niedermayer
b4107f7805 Merge commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09'
* commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09':
  mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream.

Conflicts:
	libavcodec/mlp_parser.h
	libavcodec/mlpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:53:13 +01:00
Michael Niedermayer
ae01af2475 Merge commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7'
* commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7':
  dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:34:21 +01:00
Michael Niedermayer
bc7f76377c Merge commit '6bfdb2de881372048be7fbda643417e1fd3ce93c'
* commit '6bfdb2de881372048be7fbda643417e1fd3ce93c':
  dcadec: set the output channel mode more accurately.

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:27:34 +01:00
Michael Niedermayer
4cf4da9dc5 Merge commit '5b4797a21db900b7d509660b7a4d49829089b004'
* commit '5b4797a21db900b7d509660b7a4d49829089b004':
  avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:12:41 +01:00
Ronald S. Bultje
847072873c vp9_parse: don't use AVCodecParserContext as av_log context.
Fixes trac ticket 3273.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 21:45:24 +01:00
Tim Walker
7840c40445 (e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data. 2014-01-05 16:41:56 +01:00
Tim Walker
13345fc1f8 (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags. 2014-01-05 16:41:56 +01:00
Tim Walker
e92123093d mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data. 2014-01-05 16:41:56 +01:00
Tim Walker
4b7f1a7ced mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream. 2014-01-05 16:41:56 +01:00
Tim Walker
30d70e79a6 dcadec: set AV_FRAME_DATA_MATRIXENCODING side data. 2014-01-05 16:41:56 +01:00
Tim Walker
6bfdb2de88 dcadec: set the output channel mode more accurately.
When downmixing 2.1 to 2-channel, if the 2.0 portion is Lt/Rt, sum-difference or dual mono, the actual output will be the same (with the LFE either mixed-in or discarded).

Also, when downmixing an arbitrary layout to 2-channel, if the bitstream contains custom downmix coefficients targeting Lt/Rt, then the output will be Lt/Rt rather than regular Stereo.
2014-01-05 16:41:56 +01:00
Tim Walker
5b4797a21d avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.
Includes a libavcodec utility function to update a frame's side data.
2014-01-05 16:41:56 +01:00
Michael Niedermayer
fd53f9d985 Merge commit '7f29644108c5fbd80f160930b31b78b8704c1a49'
* commit '7f29644108c5fbd80f160930b31b78b8704c1a49':
  aac: Fix low delay windowing.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 02:18:57 +01:00
Michael Niedermayer
4195ae0fd8 Merge commit 'b2212dec0f011893ec68eecaa990170fa24050d7'
* commit 'b2212dec0f011893ec68eecaa990170fa24050d7':
  aac: Fix TNS decoding for the 512 sample window family.

also temporarily disable fate-aac-er_ad6000np_44_ep0 as this commit
causes a mismatch with the reference pcm file
The test will be reenabled after all fixes and with a new pcm reference

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 02:02:02 +01:00
Alex Converse
7f29644108 aac: Fix low delay windowing.
AAC LD uses a low overlap sine window instead of a KBD window.
2014-01-04 14:42:38 -08:00
Alex Converse
b2212dec0f aac: Fix TNS decoding for the 512 sample window family. 2014-01-04 14:42:38 -08:00
Michael Niedermayer
d8e65e9224 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Use the matching endfunc macro instead of the assembler directive directly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 13:19:54 +01:00
Michael Niedermayer
63ce041a7d Merge commit '2ad4ee345a4216aef3999f57dd14c56128d27a13'
* commit '2ad4ee345a4216aef3999f57dd14c56128d27a13':
  arm: Add a missing endfunc macro call

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 13:13:39 +01:00
Martin Storsjö
3348e3492d arm: Use the matching endfunc macro instead of the assembler directive directly
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-04 13:53:08 +02:00
Martin Storsjö
2ad4ee345a arm: Add a missing endfunc macro call
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-04 13:53:02 +02:00
Michael Niedermayer
be524ffc16 avcodec/rv30: put the rpr check back in init with the max vs bits bug fixed
Its usefull to know immediatly if extradata is wrong and not just when later
the decoder tries to use it.

This check was removed by: a6a2282c25
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 04:33:01 +01:00
Michael Niedermayer
d08c6e1101 avcodec/rv30: check rpr before use against maximum
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 04:17:15 +01:00
Michael Niedermayer
a881b9aa08 avcodec/rv30: cleanup rpr handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 04:16:46 +01:00
Michael Niedermayer
958e311974 avcodec/rv10: cleanup rpr handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 04:15:22 +01:00
Michael Niedermayer
adc09a353c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: remove disabled bfin asm

Conflicts:
	libavcodec/bfin/mpegvideo_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 03:13:54 +01:00
Michael Niedermayer
9b9f64fe31 Merge commit 'a4d0c6e0503562d4cc8f9f6d02d84d7b32583b15'
* commit 'a4d0c6e0503562d4cc8f9f6d02d84d7b32583b15':
  mpegvideo: move dct_unquantize functions up to avoid forward declarations

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 03:03:02 +01:00
Michael Niedermayer
fb17f03dad Merge commit 'aec25b1c4650944d32706bfd40eb02bbd5587303'
* commit 'aec25b1c4650944d32706bfd40eb02bbd5587303':
  mpegvideo: split the encoding-only parts of frame_start() into a separate function

Conflicts:
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 02:56:29 +01:00
Michael Niedermayer
8e6af036b9 Merge commit '58312b2472d3a44d7458865c459d59ef2e02bf1a'
* commit '58312b2472d3a44d7458865c459d59ef2e02bf1a':
  h264: reset data_partitioning if decoding the slice header for NAL_DPA fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 02:06:21 +01:00
Michael Niedermayer
508229adb9 Merge commit 'e89aa4bf56e5b5c45f569eb12733519789e057da'
* commit 'e89aa4bf56e5b5c45f569eb12733519789e057da':
  lzw: switch to bytestream2

Conflicts:
	libavcodec/lzw.c

See: 44c4170c52
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 02:00:07 +01:00
Michael Niedermayer
405b1ef898 Merge commit '24057c83207d6ea8bfd824155ac37be8a33dfd0c'
* commit '24057c83207d6ea8bfd824155ac37be8a33dfd0c':
  eacmv: check the framerate before setting it.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 01:07:05 +01:00
Michael Niedermayer
c13e73c25b Merge commit '5569146d48f06564e8fa393424782cceed510916'
* commit '5569146d48f06564e8fa393424782cceed510916':
  adx: check that the offset is not negative

See: 30bce34b67
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 01:00:19 +01:00
Michael Niedermayer
3cf1503beb Merge commit 'a6a2282c25abe43e352010a7c3fbc92994c0bc1c'
* commit 'a6a2282c25abe43e352010a7c3fbc92994c0bc1c':
  rv30: fix extradata size check.

Conflicts:
	libavcodec/rv30.c

See: 09c5f990bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 00:39:51 +01:00
Michael Niedermayer
532b93b516 Merge commit 'feded990e3ef9af4a0b827d5b6d8fe86f0b94942'
* commit 'feded990e3ef9af4a0b827d5b6d8fe86f0b94942':
  mpegvideo: set reference/pict_type on generated reference frames

Conflicts:
	libavcodec/mpegvideo.c

The picture type is left at P type as it was explicitly set before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 00:16:58 +01:00
Michael Niedermayer
950fb8acb4 avcodec/mpegvideo: fix ac/dc_val and coded_block table sizes
With interlaced vc1 it was possible that accesses could happen outside these
tables before this.

Regression since 017e234c20
Reproduced with a sample from Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Fixes (again) : 480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.SIGFPE.bfa.390.wmv
No releases are affected by this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-03 20:35:55 +01:00
Anton Khirnov
a3a55645f0 mpegvideo: remove disabled bfin asm
It has been disabled as 'broken' over 3 years ago in b716a792
2014-01-03 16:54:24 +01:00
Anton Khirnov
a4d0c6e050 mpegvideo: move dct_unquantize functions up to avoid forward declarations 2014-01-03 16:54:00 +01:00
Anton Khirnov
aec25b1c46 mpegvideo: split the encoding-only parts of frame_start() into a separate function
This introduces some code duplication. However, much of it should go
away once the decoders stop using MpegEncContext.
2014-01-03 16:52:49 +01:00
Anton Khirnov
58312b2472 h264: reset data_partitioning if decoding the slice header for NAL_DPA fails
If it was set before then we can end up trying to decode a slice without
a valid slice header, which can lead to invalid memory access.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:42:02 +01:00
Anton Khirnov
e89aa4bf56 lzw: switch to bytestream2
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:40:43 +01:00
Anton Khirnov
24057c8320 eacmv: check the framerate before setting it.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:39:09 +01:00
Anton Khirnov
5569146d48 adx: check that the offset is not negative
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:38:36 +01:00
Anton Khirnov
a6a2282c25 rv30: fix extradata size check.
It has been checking the number of bits in the offset instead of the
actual offset.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:38:33 +01:00
Anton Khirnov
feded990e3 mpegvideo: set reference/pict_type on generated reference frames
Otherwise the generic code will unref them, which can then result in
last_picture_ptr == current_picture_ptr, which causes deadlocks at least
in rv40.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:36:43 +01:00
Michael Niedermayer
0389f9abe9 avcodec/avcodec: document that some video decoders do not support linesizes changing between frames.
Omission in the documentation found by: Sebastian Dröge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-03 15:35:11 +01:00
Dale Curtis
4feca2214a h264: Clear ERContext.cur_pic when unref'ing current picture.
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
2014-01-02 23:49:06 +01:00
Michael Niedermayer
2e59ffbb79 avcodec/mace: check buffer size
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f9d2775e090_8782_surge-2-8-MAC3.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-02 22:07:09 +01:00
Michael Niedermayer
c925e960e8 mp3on4: fail when the header check fails
It seems the code assumed that when one out of multiple blocks fail
some span of time is correct, its not, its some channels
that are correct

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f44a03ba3ce_5692_id5_1.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-02 18:53:41 +01:00
Michael Niedermayer
6433b393ba avcodec/aacps: fix number of bands used with ipd/opd
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f861d16355f_1664_File1_fixed.aac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-02 17:48:01 +01:00
Michael Niedermayer
4843227b2c avcodec/iff: ensure that runs with insufficient input dont leave uninitialized bytes in the output
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fa0dea15eae_8988_test.iff
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-02 14:52:02 +01:00
Maxim Poliakovski
4663a550f5 atrac3plus: Add forgotten initialization of an internal struct
This patch also fixes trac ticket 3254.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-02 02:25:37 +01:00
Michael Niedermayer
e6364ea26d avcodec/vqavideo: use av_mallocz() for decode_buffer()
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f62eaba897d_595_4D6EFA92.VQA
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 15:35:34 +01:00
Michael Niedermayer
07728a1115 avcodec/binkaudio: clear padding area of packet_buffer
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f0dba198b34_2970_Snd0a3a2ad4.dee
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 03:31:09 +01:00
Hendrik Leppkes
3d8eeea620 dxva2_vc1: signal skipped p frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:57:56 +01:00
Hendrik Leppkes
c5562890c7 dxva2_vc1: fix signaling of intensity compensation values
lumscale/lumshift don't get reset back to their default values if
intensity compensation is not active, and a wrong signaling here can
cause playback issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:57:51 +01:00
Hendrik Leppkes
719f1ce5fb vc1: set chromaformat = 1 for simple/main profile
1 is the only valid value for VC-1/WMV3, and setting it here makes sure
no invalid value is send to a hw accelerator, for example.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:57:44 +01:00
Hendrik Leppkes
e1facd3f81 dxva2_vc1: set PQUANT as described by the 2010 spec update
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:57:33 +01:00
Hendrik Leppkes
3021d1be9e dxva2_vc1: set bfraction in slice info according to spec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:57:23 +01:00
Hendrik Leppkes
8abdf46b38 dxva2_vc1: set refdist value according to spec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:57:16 +01:00
Michael Niedermayer
46b06bd894 avcodec/mpegvideo_enc: implement frame skip score normalization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-01 02:46:39 +01:00
Michael Niedermayer
21a2fb7e05 avcodec/hevc: clear HEVClc when its deallocated in hevc_decode_free()
Fixes reading freed memory
Fixes: asan_heap-uaf_1abf8ef_3987_NUT_A_ericsson_4.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-31 15:19:59 +01:00
Reimar Döffinger
cbeaf67888 Avoid using empty macro arguments.
These are not supported by all compilers (gcc 2.95 but also older SPARC
compilers, see gcc bug #33304 for example), and there is no real need for them.
One use of this feature remains in libavdevice/v4l2.c which can't be
replaced quite as easily.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-12-31 12:19:59 +01:00
Anssi Hannula
4a4437c0fb avformat/mpegts: demux timed ID3 metadata
Used in some HLS streams ("Timed Metadata for HTTP Live Streaming").

This is just ID3 tags at arbitrary stream positions, but I still added
"timed" to the codec name to avoid confusion with regular non-stream ID3
tags.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2013-12-31 03:13:12 +02:00
Michael Niedermayer
61d43a2651 avcodec/lagarith: check and propagate return value from init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 14:27:33 +01:00
Michael Niedermayer
afd1245433 avcodec/lagarith: use init_get_bits8()
Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 13:49:49 +01:00
Michael Niedermayer
6f1b296771 avcodec/lagarith: reenable buggy lag_decode_zero_run_line()
This is to prevent regressions in case the old code was able to partly
decode frames (no way to say without a testcase)
Add a memset to prevent use of uninitialized memory until we have a
testcase and can test/fix it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 13:47:34 +01:00
Nicolas George
2ebaadf35c lavc/mjpegenc: use proper error codes. 2013-12-30 10:58:02 +01:00
Nicolas George
19a2d101ac lavc/mjpegenc: check av_frame_alloc() failure. 2013-12-30 10:58:02 +01:00
Nicolas George
97af2faaba lavc/libopenjpegenc: check av_frame_alloc() failure. 2013-12-30 10:58:02 +01:00
Nicolas George
a91394f4de lavc/diracdec: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
Nicolas George
38004051b5 lavc/utils: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
Nicolas George
bcfcb8b852 lavc/ffwavesynth: fix dependency sizeof(AVFrame). 2013-12-30 10:58:01 +01:00
Michael Niedermayer
4aa9c91508 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix condition for transparency warning in xsub encoder.
  Allow hiding the banner.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 02:12:53 +01:00
Michael Niedermayer
e80aa47abf avcodec/lagarith: fix init_get_bits() size in lag_decode_arith_plane()
untested due to lack of sample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 00:55:32 +01:00
Michael Niedermayer
3410122c68 avcodec/lagarith: fix src/src_size for esc_count < 8
untested due to lack of sample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 00:55:32 +01:00
Michael Niedermayer
100a54da52 avcodec/lagarith: disable lag_decode_zero_run_line() and ask for a sample
The code seems to have never been tested
fixing it should be quite easy but needs a sample/testcase

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f9a862dfabf_413_2889_assassin_OL.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 00:52:24 +01:00
Carl Eugen Hoyos
de40905f55 Fix condition for transparency warning in xsub encoder. 2013-12-29 23:18:10 +01:00
Michael Niedermayer
5c74fa6ce0 avcodec/alsdec: skip cases where the master channel equals the current channel
Fixes: msan_uninit-mem_7f6c73c97cf9_3571_als_04_2ch48k16b.mp4
Fixes use of uninitialized memory
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-29 12:35:57 +01:00
Michael Niedermayer
74a9c92840 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: namespace the decode function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-29 11:37:42 +01:00
Michael Niedermayer
fead24141a avcodec/vda_h264_dec: avoid declaring int in for arguments
Some compilers dont support that

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-29 03:16:28 +01:00
Michael Niedermayer
3477874abd Merge branch 'master' of https://github.com/upsuper/ffmpeg-vdadec
* 'master' of https://github.com/upsuper/ffmpeg-vdadec:
  avcodec/vda_h264_dec: add format check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-29 03:16:09 +01:00
Maxim Poliakovski
2e1fb96af3 ATRAC+ decoder
Cleanup by Diego Biurrun.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-29 01:11:16 +01:00
Michael Niedermayer
55fa898969 avcodec/jpeg2000dec: zero Jpeg2000QuantStyle structure before use in get_qcd()
Fixes: msan_uninit-mem_7f50b84aac30_6823_mjp2.mov
Fixes use of uninitialized memory
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-28 22:08:49 +01:00
Michael Niedermayer
6ea05ef278 avcodec/h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-28 18:19:46 +01:00
Michael Niedermayer
c09bb235bf Merge remote-tracking branch 'rbultje/vp9-simd'
* rbultje/vp9-simd:
  vp9/x86: 16px MC functions (64bit only).
  vp9/x86: 16x16 sub-IDCT for top-left 8x8 subblock (eob <= 38).

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-27 13:57:38 +01:00
Michael Niedermayer
25b243759c Merge commit 'b83d1ee3b41cfe8357836e2582104db2f3364cb0'
* commit 'b83d1ee3b41cfe8357836e2582104db2f3364cb0':
  avutil: Move library version related macros to version.h

Conflicts:
	libavcodec/version.h
	libavresample/version.h
	libavutil/avutil.h
	libavutil/utils.c

See: 183117fed7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-27 12:01:23 +01:00
Luca Barbato
4d2bb28931 h264: namespace the decode function
Make much easier debugging.
2013-12-27 07:48:13 +01:00
Ronald S. Bultje
18175baa54 vp9/x86: 16px MC functions (64bit only).
Cycle counts for large MCs (old -> new on ped1080p.webm, mx!=0&&my!=0):
16x8:    876 ->   870  (0.7%)
16x16:  1444 ->  1435  (0.7%)
16x32:  2784 ->  2748  (1.3%)
32x16:  2455 ->  2349  (4.5%)
32x32:  4641 ->  4084 (13.6%)
32x64:  9200 ->  7834 (17.4%)
64x32:  8980 ->  7197 (24.8%)
64x64: 17330 -> 13796 (25.6%)
Total decoding time goes from 9.326sec to 9.182sec.
2013-12-26 21:05:10 -05:00
Michael Niedermayer
f55bc96a54 avcodec/pcm-dvd: reset last header on errors
Fixes: msan_uninit-mem_7f4fff975a2c_4957_dvd_audio_sample.aob
Fixes use of uninitialized memory
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-27 03:00:52 +01:00
Michael Niedermayer
42b6805cc1 avcodec/huffyuvdec: clear remainder of the array on end of input in decode_422_bitstream()
Fixes: msan_uninit-mem_7f909423efcd_9923_yuv_predmed.avi
Fixes use of uninitialized memory
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-27 00:26:57 +01:00
Diego Biurrun
b83d1ee3b4 avutil: Move library version related macros to version.h
This is a more sensible place for these macros.
2013-12-26 19:05:22 +01:00
Michael Niedermayer
d164ad3298 avcodec/ivi_common: use av_mallocz() to allocate mbs array
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f1dffa1c016_8245_sasha.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-26 14:53:39 +01:00
Xidorn Quan
344d6db978 avcodec/vda_h264_dec: add format check
Fix crash when using this decoder for unsupported format on some version
of OS X.
2013-12-27 00:06:11 +11:00
Michael Niedermayer
14bec7dcf8 avcodec/wnv1: clear padding area of rbuf
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7faa48586020_2145_MAILTEST.AVI
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-26 13:53:15 +01:00
Ronald S. Bultje
0d9375fc90 vp9/x86: 16x16 sub-IDCT for top-left 8x8 subblock (eob <= 38).
Sub8x8 speed (w/o dc-only case) goes from ~750 cycles (inter) or ~735
cycles (intra) to ~415 cycles (inter) or ~430 cycles (intra). Average
overall 16x16 idct speed goes from ~635 cycles (inter) or ~720 cycles
(intra) to ~415 cycles (inter) or ~545 (intra) - all measurements done
using ped1080p.webm.
2013-12-26 07:40:25 -05:00
Stefano Sabatini
334e2e2363 lavu,lavc,lswr: do not hardcode AV_SAMPLE_FMT_NB value when setting sample format max value
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.

INT_MAX is used here to denote the max allowed value for a sample format.

The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
Michael Niedermayer
1486ed0815 avcodec/shorten: clear bitstream buffer
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f3ca95606fb_6393_luckynight-partial.shn
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-26 01:35:00 +01:00
Michael Niedermayer
f07ca542e3 avcodec/vmdav: return the amount of data that has been unpacked from lz_unpack() (as well as errors)
and setup the bytestream buffer size accordingly

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fdcc513cd45_229_12.vmd
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-25 00:44:58 +01:00
Michael Niedermayer
bb9f55163f avcodec/eatgv: use av_mallocz() for frame_buffer
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fbf6159587b_2571_ORIGIN.TGV
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-24 23:20:30 +01:00
Carl Eugen Hoyos
691dec6201 Allow stream-copying grayscale mov files.
This reverts 0de2157f / r12272.
Fixes ticket #3215.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-24 22:22:16 +01:00
Ronald S. Bultje
acafbb4dd2 vp9: fix crash if segmentation=1, keyframe/intraonly=1 and updatemap=0.
The reference map is never used in such cases, but we accidently copied
it anyway. This could cause crashes if this map has not yet been
allocated. Fixes trac ticket 3188.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-24 11:43:53 +01:00
Ronald S. Bultje
4a55bffad3 vp9: fix bug in updating of coef probabilities with parallelmode=1.
Fixes trac ticket 3228.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-24 11:43:08 +01:00
Jan Gerber
b2597042e5 avcodec/libopusdec: Set codec->delay to pre_skip not fixed value
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-24 04:53:52 +01:00
Michael Niedermayer
95953c1cfd avcodec/wavpack fix *void pointer arithmetic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-23 23:12:35 +01:00
Michael Niedermayer
99978320c0 avcodec/apedec: use av_fast_padded_malloc()
Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7fa0d8c8bd58_8417_sh3.ape
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-23 18:11:35 +01:00
Michael Niedermayer
d5128fce38 avcodec/apedec: more checks for k
Fixes assertion failure
Fixes part of msan_uninit-mem_7fa0d8c8bd58_8417_sh3.ape
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-23 18:10:44 +01:00
Michael Niedermayer
d94633409b avcodec/libopencore-amr: remove av_free coded_frame.
There seems to be nothing that sets coded_frame
also av_free is wrong

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-23 17:38:39 +01:00
Michael Niedermayer
8b285f03f7 avcodec/utils: fix memleak on avcodec_open2() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-23 01:54:13 +01:00
Michael Niedermayer
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
Ivan Kalvachev
1c63aed232 Convert XvMC to hwaccel v3
Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 22:03:47 +01:00
Michael Niedermayer
102b794e09 configure: support raising major version in soname
this allows seperate installation of shared libs that should not conflict with
whatever is already installed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 20:21:18 +01:00
Mason Carter
61ae993957 vc1: Fix intensity compensation performance regression
Introduced by 28243b0d35

Intensity compensation is always used once it was encountered, because
v->next_use_ic is never set back to zero.

Reset v->next_use_ic, when resetting v->next_luty/uv.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-22 18:31:44 +01:00
Michael Niedermayer
64b98df389 vc1: simplify *_use_ic initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 14:59:31 +01:00
Mason Carter
ed5bed4152 VC1: Fix intensity compensation performance regression
Fix https://trac.ffmpeg.org/ticket/3204

The problem was that intensity compensation was always used once it was
encountered. This is because v->next_use_ic was never set back to zero.
To fix this, when resetting v->next_luty/uv, also reset v->next_use_ic.

This improved (restored) performance by 85% when decoding
http://bit.ly/bbbwmv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 14:05:06 +01:00
Michael Niedermayer
5410a5dc66 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hevc: move DSP declarations from hevc.h into hevcdsp.h

Conflicts:
	libavcodec/hevc.h
	libavcodec/hevcdsp.c
	libavcodec/hevcdsp.h

See: c8dd048ab8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 12:46:19 +01:00
Michael Niedermayer
6fe5f770db Merge commit 'be7c323176e2e5fcf30e3d2ff20975b2f936811b'
* commit 'be7c323176e2e5fcf30e3d2ff20975b2f936811b':
  Add a libwebp encoder

Conflicts:
	Changelog
	doc/encoders.texi
	doc/general.texi
	libavcodec/version.h
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 11:53:41 +01:00
Guillaume Martres
7398e0516f hevc: move DSP declarations from hevc.h into hevcdsp.h
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-22 03:49:11 +01:00
Justin Ruggles
be7c323176 Add a libwebp encoder 2013-12-21 17:01:42 -05:00
Michael Niedermayer
ea1e630c47 vcodec/rv34: use av_mallocz() to allocate tables
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f75e2a55b88_4146_brokenaudio.rmvb
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 18:42:00 +01:00
Michael Niedermayer
03acb035d1 avcodec/vqavideo: clear uninitialized parts of the decode buffer
Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7f841fe2ab3b_4608_cow2_1.vqa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 13:16:32 +01:00
Michael Niedermayer
263105deeb avcodec/vqavideo: check destination size on all exit pathes
Fixes part of msan_uninit-mem_7f841fe2ab3b_4608_cow2_1.vqa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 13:16:00 +01:00
Michael Niedermayer
70d6ce783c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Don't clobber callee saved registers in scalarproduct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 01:19:59 +01:00
Michael Niedermayer
9567162237 Merge commit '78d0b7f36e39bb4745613e312024ddd508e2f0fb'
* commit '78d0b7f36e39bb4745613e312024ddd508e2f0fb':
  hevc: warn when an unknown profile is used

See: a21839149c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 00:54:15 +01:00
Michael Niedermayer
e00281b6f5 Merge commit '2d18aaa14bc2233b0647d2c5abb72e0bc828c2a8'
* commit '2d18aaa14bc2233b0647d2c5abb72e0bc828c2a8':
  hevc: refactor Profile Tier Level
  hevc: don't check for errors in PTL code

Conflicts:
	libavcodec/hevc_ps.c

See: 36658c978f
See: dddc9b7a8e
See: ecb21d2437
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 00:44:44 +01:00
Michael Niedermayer
d6b7ea06f1 Merge commit '2a41826bea3833895dc06939831b7f35ca1f597e'
* commit '2a41826bea3833895dc06939831b7f35ca1f597e':
  lavc: add HEVC profiles names

Conflicts:
	libavcodec/hevc.c
	libavcodec/version.h

See: fb7d70c1cd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 00:24:43 +01:00
Michael Niedermayer
ce612fc186 Merge commit 'dfc50ac85e9d68a771b556297b7c411650206f3b'
* commit 'dfc50ac85e9d68a771b556297b7c411650206f3b':
  x86: mpegvideo: move denoise_dct asm to mpegvideoenc

Conflicts:
	libavcodec/x86/mpegvideo.c
	libavcodec/x86/mpegvideoenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 23:44:31 +01:00
Michael Niedermayer
4fa91b88c6 Merge commit 'b254490bdabb21bd517c05b1a68717f9952ac8c4'
* commit 'b254490bdabb21bd517c05b1a68717f9952ac8c4':
  vc1: arm: Add NEON no_rnd chroma MC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 23:33:15 +01:00
Michael Niedermayer
69278d94c4 Merge commit '832e19063209a5f355af733d1a45f5051f49ce33'
* commit '832e19063209a5f355af733d1a45f5051f49ce33':
  vc1: arm: Add NEON assembly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 23:12:16 +01:00
Martin Storsjö
d307e408d4 arm: Don't clobber callee saved registers in scalarproduct
q4-q7/d8-d15 are supposed to not be clobbered by the callee.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 20:48:30 +02:00
Mickaël Raulet
5c3fa74b94 hevc: support luma bit depth != chroma bit depth for PCM coding units
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:53 +01:00
Guillaume Martres
78d0b7f36e hevc: warn when an unknown profile is used
Bitstreams conforming to the spec should not use profiles not defined
in it.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:38 +01:00
Gildas Cocherel
259cddb137 hevc_ps: fix indentation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:10 +01:00
Gildas Cocherel
2d18aaa14b hevc: refactor Profile Tier Level
Also store a few PTL flags which were skipped before

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:38:59 +01:00
Guillaume Martres
67bbaed5c4 hevc: don't check for errors in PTL code
According to the spec, the value of XXX_reserved_zero_44bits should be
ignored, so don't report an error when it's not zero.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:44 +01:00
Gildas Cocherel
321cb8b048 hevc: store profile and level in AVCodecContext
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:24 +01:00
Gildas Cocherel
2a41826bea lavc: add HEVC profiles names
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:35:27 +01:00
Michael Niedermayer
b07a5e9b6b avformat/smacker: check for format mismatch more completely
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f6e83322950_9769_wetlogo.smk
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 18:31:42 +01:00
Anton Khirnov
dfc50ac85e x86: mpegvideo: move denoise_dct asm to mpegvideoenc
This function is encoding-only.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-12-20 17:16:11 +01:00
Michael Niedermayer
34fe125f4b avcodec/mpegvideo_enc: fix frame skipping with intra only codecs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 15:04:40 +01:00
Michael Niedermayer
241eccd628 avcodec/mpegvideo_enc: fix integer overflow with -skip_exp >= 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 14:10:34 +01:00
Mason Carter
b254490bda vc1: arm: Add NEON no_rnd chroma MC
Apply David Conrad's old patch to the modern codebase.

http://ffmpeg.org/pipermail/ffmpeg-devel/2009-April/059877.html

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 14:53:42 +02:00
Mason Carter
832e190632 vc1: arm: Add NEON assembly
For:

ff_vc1_inv_trans_{8,4}x{8,4}_{dc_,}neon
ff_put_pixels8x8_neon
ff_put_vc1_mspel_mc{0,1,2,3}{0,1,2,3}_neon (except for 00)

Based on ARM assembly code in libavcodec/arm by Rob Clark and Mans
Rullgard.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 14:53:39 +02:00
Michael Niedermayer
b3f44eafa5 avcodec/iff: warn about truncated input to decode_byterun() and clear remaining output
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fe205e395ed_8988_test.iff
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 21:22:43 +01:00
Michael Niedermayer
5a5c1b2442 avcodec/dxa: check for overread in decode_13()
Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7f5ea8284fb7_8317_scummvm.dxa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 17:16:34 +01:00
Michael Niedermayer
f6c95f4f8c avcodec/dxa: add padding to decomp_buf
Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7f5ea8284fb7_8317_scummvm.dxa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 17:16:01 +01:00
Michael Niedermayer
a33c7dd213 avcodec/flashsv: check decode_hybrid() for overread
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f906558274e_268_14_244486_2009_04_28.flv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 16:28:26 +01:00
Michael Niedermayer
8eb76217d0 avcodec/interplayvideo: Check that enough data is available for opcode_0x7/8/D
Fixes hypothetical use of uninitialized memory, no sample available

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-19 00:38:11 +01:00
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
Guillaume Martres
dddc9b7a8e hevc: don't check for errors in PTL code
The value of XXX_reserved_zero_44bits should be ignored, no need to
report an error when it's not zero.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:35 +01:00
Guillaume Martres
c6afd0aacc hevc: fix PTL parsing
This was broken in commit 36658c978f

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:22 +01:00
Michael Niedermayer
48016f8feb avcodec/vc1dec: propagate errors from vc1_parse_sprites()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 01:46:11 +01:00
Michael Niedermayer
5f00b333a4 avcodec/vc1dec: zero SpriteData struct
Fixes use of uninitialized data, as alternative alpha could be
calculated conditionally

Fixes part of msan_uninit-mem_7f51a8b0b3b0_1009_Arlington.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 01:46:11 +01:00
Michael Niedermayer
cf95dee3de avcodec/vc1dec: dont calculate unused values from uninitialized sprites
Fixes use of uninitialized data
Fixes part of msan_uninit-mem_7f51a8b0b3b0_1009_Arlington.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 00:59:43 +01:00
Michael Niedermayer
0f242e62b4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Merge pthreads/w32threads OBJS declarations

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-13 21:33:13 +01:00
Michael Niedermayer
0c23ee1312 avcodec/mjpegdec: use mallocz for progressive blocks
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f849c599487_6828_mjpeg.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-13 20:26:38 +01:00
Pierre Yves MORDRET
0f02ea0afe libavcodec/dvbsub: fix for Display Definition Segment
Given ETSI EN 300 743 V1.3.1 (2006-11), 7.2.1 Display definition segment
display window parameters are given in this order XMin, XMax, YMin, YMax
if  display_window_flag is set, but here this is not the case.
As a consequence the DVB subtitles are not displayed upon some videos.

Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-13 16:53:22 +01:00
Diego Biurrun
79d9884e95 build: Merge pthreads/w32threads OBJS declarations 2013-12-13 16:47:50 +01:00
Michael Niedermayer
180a0b1bcb avcodec/hevc_sei: fix use of uninitialized variables in decode_nal_sei_frame_packing_arrangement()
Fixes CID1135773/1135774/1135775
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-13 00:07:06 +01:00
Michael Niedermayer
30ee4b3393 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3adu: Set the channel layout properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 13:02:20 +01:00
Martin Storsjö
35686a289f mp3adu: Set the channel layout properly
This fixes decoding, broken since 7e35037.

This is similar to what was done for the normal mp3 decoder in
f4a86bc9.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-12 10:18:25 +02:00
Michael Niedermayer
44967ab60a Merge commit 'd7b3ee9a3a03ab88d61a5895fbdbc6689f4dd671'
* commit 'd7b3ee9a3a03ab88d61a5895fbdbc6689f4dd671':
  lavc: deprecate avcodec_get_frame_defaults().

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 00:32:15 +01:00
Michael Niedermayer
e3578fd525 Merge commit '598ce4ab4f1893e0661fc038101487e511937877'
* commit '598ce4ab4f1893e0661fc038101487e511937877':
  h264: call av_frame_unref() instead of avcodec_get_frame_defaults().

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 00:25:31 +01:00
Michael Niedermayer
3b2b07397c Merge commit '2d1f4288dd02a624cb8b86ab06371d6434c9da69'
* commit '2d1f4288dd02a624cb8b86ab06371d6434c9da69':
  mpegvideo: call av_frame_unref() instead of avcodec_get_frame_defaults().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 00:08:08 +01:00
Michael Niedermayer
efb5ebe832 Merge commit 'b06c8bce02b15115a4789252365df2dda0c4713c'
* commit 'b06c8bce02b15115a4789252365df2dda0c4713c':
  mpegvideo: remove an unneeded call to avcodec_get_frame_defaults().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:55:51 +01:00
Michael Niedermayer
27e7977982 Merge commit '95a8a5aca60ce37d3abdf121a0285c2e317cf521'
* commit '95a8a5aca60ce37d3abdf121a0285c2e317cf521':
  lavc: call av_frame_unref() instead of avcodec_get_frame_defaults().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:41:27 +01:00
Michael Niedermayer
409a143e4b Merge commit '943135621830ac3857d3cf766cfc280a95bb3c13'
* commit '943135621830ac3857d3cf766cfc280a95bb3c13':
  lavc: deprecate avcodec_free_frame()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:24:48 +01:00
Michael Niedermayer
12a4042445 Merge commit '33452aede6acab78f726cd1924824585f00765cc'
* commit '33452aede6acab78f726cd1924824585f00765cc':
  hevc: store the VPS list as an AVBufferRef, just like the others *PS

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_ps.c

See: 36658c978f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:08:45 +01:00
Anton Khirnov
d7b3ee9a3a lavc: deprecate avcodec_get_frame_defaults().
Also bump libavcodec micro and add an APIchanges entry saying that
av_frame_* should now be used instead of the lavc AVFrame functions.
2013-12-11 20:39:55 +01:00
Anton Khirnov
598ce4ab4f h264: call av_frame_unref() instead of avcodec_get_frame_defaults().
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
2013-12-11 20:39:55 +01:00
Anton Khirnov
2d1f4288dd mpegvideo: call av_frame_unref() instead of avcodec_get_frame_defaults().
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
2013-12-11 20:39:55 +01:00
Anton Khirnov
b06c8bce02 mpegvideo: remove an unneeded call to avcodec_get_frame_defaults().
ff_mpeg_unref_picture() already resets the frame.
2013-12-11 20:39:55 +01:00
Anton Khirnov
95a8a5aca6 lavc: call av_frame_unref() instead of avcodec_get_frame_defaults().
avcodec_get_frame_defaults() will be deprecated.
2013-12-11 20:39:55 +01:00
Anton Khirnov
48d17ee6dc api-example: remove an unneeded call to avcodec_get_frame_defaults().
avcodec_decode_audio4() resets the frame itself.
2013-12-11 20:39:55 +01:00
Anton Khirnov
9431356218 lavc: deprecate avcodec_free_frame()
av_frame_free() should be used instead.
2013-12-11 20:39:54 +01:00
Gildas Cocherel
33452aede6 hevc: store the VPS list as an AVBufferRef, just like the others *PS
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Anton Khirnov
eb891b3114 Replace all uses of avcodec_free_frame with av_frame_free(). 2013-12-11 20:39:54 +01:00
Michael Niedermayer
b769cf4b44 hevc: do not dereference pointer before NULL check in verify_md5()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Guillaume Martres
17a10d51b8 hevc: set time_base when possible
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Michael Niedermayer
b6eee405ff avcodec/utils: Print warning if avcodec_set_dimensions() failed
Fixes CID1135744
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 15:28:27 +01:00
Michael Niedermayer
0f65503799 avcodec/bitstream: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 14:34:45 +01:00
Michael Niedermayer
43f9255368 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  alsdec: check block length

See: 0ceca269b6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 01:24:35 +01:00
Michael Niedermayer
42874666a6 avcodec/snowdec: check av_frame_ref() return value
Fixes CID1135742

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 01:13:24 +01:00
Michael Niedermayer
11679e1b90 avcodec/pthread_frame: Fix memleak of AVCodecContext on error
Fixes CID1135767
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 00:27:09 +01:00
Michael Niedermayer
81ed7efbe2 avcodec/indeo3: 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 CID1135740
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 00:05:34 +01:00
Michael Niedermayer
d9339ab553 avcodec/h264: fix code that blindly dereferences NULL DPB
Fixes mixed flushing and decoding NULL packets
Found-by: wm4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 23:50:08 +01:00
Michael Niedermayer
e23b18321f avcodec/hnm4video: change width/height to int
Fixes hypothetical integer overflows
Related to CID1135770 & CID1135771

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 23:50:08 +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
7fa9f7ef1c dvdsub_parse_extradata: fix memleak
Fixes CID1135765
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 18:30:44 +01:00
Guillaume Martres
f90281ca97 hevc: Correctly set time_base
- Try reading the time_base information from the VPS too, not just the VUI
- Only set time_base when an SPS is activated, not when it's decoded.
- Reduce the fraction before setting it.
- Don't set anything if the fraction is invalid (because the VUI is not
  present or because the encoded value is invalid).

Conflicts:
	libavcodec/hevc_ps.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 16:20:53 +01:00
Guillaume Martres
679a6377e4 hevc: avoid some unnecessary differences with libav
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 16:20:48 +01:00
Michael Niedermayer
6026a5ad4f sonic: Switch to rangecoder
significantly improves compression rate

This also bumps version to 2 and drops support for version 0/1
If someone used version 0/1 despite their experimental status then support
for these can and should be added back

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 16:18:51 +01:00
Michael Niedermayer
c61daa68e4 avcodec/sonic: add larger version and minor_version fields with version >= 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 15:56:01 +01:00
Michael Niedermayer
4c32629b82 avcodec/sonic: move version to the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 15:50:12 +01:00
Michael Niedermayer
ec4d761c74 avcodec/sonic: fix memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 14:42:17 +01:00
Michael Niedermayer
8477e63d3c sonic: use M_SQRT2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 14:38:38 +01:00
Reinhard Tartler
2a0fb7286d alsdec: check block length
Fix writing over the end

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Addresses: CVE-2013-0845
2013-12-10 07:21:40 -05:00
Michael Niedermayer
8e5a2989a3 avcodec/libvpx: set CODEC_CAP_EXPERIMENTAL correctly instead of testing at codec open time
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 04:02:10 +01:00
Michael Niedermayer
0e575c24d6 ffv1.4: use 2 coefficients for calculating the Y plane in the RCT
0-0.7% improved compression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 03:16:58 +01:00
Michael Niedermayer
2bdda9a15c avcodec/ffv1enc: fix use of uninitalized variable in choose_rct_params()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 02:53:04 +01:00
Michael Niedermayer
985c5f226a avcodec/utils: check that extended data has been set correctly instead of forcing it in avcodec_decode_video2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 01:11:32 +01:00
Michael Niedermayer
7102083a26 avcodec/libutvideodec: free coded_frame with av_frame_free() instead if av_free*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 01:11:32 +01:00
Michael Niedermayer
4c1b4ae1ba avcodec/libutvideodec: use av_frame_move_ref()
AVFrames cannot be copied literally, their definition is in
avutil and their extended_data can point to their data[]

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 01:11:32 +01:00
Michael Niedermayer
999ee28124 avcodec/utils: dont depend on the channel layout in unrefcount_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 01:11:32 +01:00
Michael Niedermayer
31a52a60c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hevc: parse frame packing arrangement SEI messages and save relevant stereo3d information

Conflicts:
	libavcodec/hevc.h
	libavcodec/hevc_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 22:25:38 +01:00
Michael Niedermayer
33dfddf653 Merge commit '3d1d175367f1f22e0c4952299a258272e2e2acf1'
* commit '3d1d175367f1f22e0c4952299a258272e2e2acf1':
  mpeg12enc: set frame packing information when relevant metadata is found

Conflicts:
	libavcodec/mpeg12enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 22:16:27 +01:00
Michael Niedermayer
1dab49c344 Merge commit 'bacc2869f37b17b2a89e1083289fdaf7f95f27bc'
* commit 'bacc2869f37b17b2a89e1083289fdaf7f95f27bc':
  mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 22:10:57 +01:00
Michael Niedermayer
2c9fc694f5 Merge commit '09cb75cdeba420d680bcb165a1ef668d8f381fed'
* commit '09cb75cdeba420d680bcb165a1ef668d8f381fed':
  libx264: set frame packing information when relevant information is found

Conflicts:
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 22:04:29 +01:00
Michael Niedermayer
be6e81463c Merge commit '5b10ef729f610fcbc9c485e7b643ce53268144cb'
* commit '5b10ef729f610fcbc9c485e7b643ce53268144cb':
  h264: parse frame packing arrangement SEI messages and save relevant stereo3d information

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 21:53:23 +01:00
Michael Niedermayer
8e702bd3a8 Merge commit 'd64341e498fa46c6cf4c23d408177d7489559654'
* commit 'd64341e498fa46c6cf4c23d408177d7489559654':
  configure: Prefix libc-related variables with "libc_"

Conflicts:
	libavdevice/Makefile
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 20:52:14 +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
Michael Niedermayer
94a849b8b6 Merge commit 'd4f1188d1a662fed5347e70016da49e01563e8a8'
* commit 'd4f1188d1a662fed5347e70016da49e01563e8a8':
  dv: use AVFrame API properly

Conflicts:
	libavcodec/dvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 20:10:15 +01:00
Michael Niedermayer
785066ae8a Merge commit 'c9ca220ef26e36abd22085e6fa156c0dbc43bbf0'
* commit 'c9ca220ef26e36abd22085e6fa156c0dbc43bbf0':
  ac3dec: make drc_scale exponentially

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 19:58:07 +01:00
Michael Niedermayer
7a901eb33a Merge commit '37a749012aaacc801fe860428417a6d7b81c103f'
* commit '37a749012aaacc801fe860428417a6d7b81c103f':
  lavc: rework handling of refcounted_frames=0

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 19:37:53 +01:00
Michael Niedermayer
f3acdd44bf Merge commit 'a1ee1648690726b34e98eaf8db04fd7b3303cfc8'
* commit 'a1ee1648690726b34e98eaf8db04fd7b3303cfc8':
  lavc/decode_video(): always unref the frame if there is no output in decode_video

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 17:48:24 +01:00
Michael Niedermayer
04dac5d1e0 Merge commit '85f947aefb3dae81f65f518acdffa8e31c679654'
* commit '85f947aefb3dae81f65f518acdffa8e31c679654':
  lavc: remove a pointless check in decode_audio4()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 16:13:42 +01:00
Michael Niedermayer
f4332e9591 Merge commit 'd4f0f2d1e80b76260eb6b9cdde472ac069dfda56'
* commit 'd4f0f2d1e80b76260eb6b9cdde472ac069dfda56':
  lavc: use buf[0] instead of data[0] as the indicator of an allocated frame

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 16:07:17 +01:00
Vittorio Giovara
acb77dff6a hevc: parse frame packing arrangement SEI messages and save relevant stereo3d information 2013-12-09 16:02:43 +01:00
Vittorio Giovara
3d1d175367 mpeg12enc: set frame packing information when relevant metadata is found 2013-12-09 16:02:43 +01:00
Vittorio Giovara
bacc2869f3 mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information 2013-12-09 16:02:43 +01:00
Vittorio Giovara
09cb75cdeb libx264: set frame packing information when relevant information is found 2013-12-09 16:02:43 +01:00
Vittorio Giovara
5b10ef729f h264: parse frame packing arrangement SEI messages and save relevant stereo3d information 2013-12-09 16:02:43 +01:00
Michael Niedermayer
cefabaad3e Merge commit 'e5419709f50593769037ab77d7102f82d9260784'
* commit 'e5419709f50593769037ab77d7102f82d9260784':
  lavc: remove the extended_data workarounds.

Conflicts:
	libavcodec/utils.c

One hunk is not merged as not all codecs are updated yet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 14:32:19 +01:00
Michael Niedermayer
45fd4ec9ef Merge commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac'
* commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac':
  pthread_frame: use the AVFrame API properly.

Conflicts:
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 13:25:17 +01:00
Michael Niedermayer
8947f47fdf Merge commit 'b605b123ef1d3bac0e7c221d8d7fa74cd8c7253c'
* commit 'b605b123ef1d3bac0e7c221d8d7fa74cd8c7253c':
  mxpegdec: use the AVFrame API properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 13:02:20 +01:00
Michael Niedermayer
37945584bf Merge commit 'afa21a12bf084f905187615706b0a8d92bc98661'
* commit 'afa21a12bf084f905187615706b0a8d92bc98661':
  p*menc: use the AVFrame API properly.

Conflicts:
	libavcodec/Makefile
	libavcodec/pamenc.c
	libavcodec/pnmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 12:54:59 +01:00
Michael Niedermayer
6393038676 Merge commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5'
* commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5':
  mjpegdec: use the AVFrame API properly.

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 12:42:10 +01:00
anatoly
2fade10cb0 Add support for picture_ptr field in MJpegDecodeContext
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit e0e3b8b297)

Conflicts:

	libavcodec/jpeglsdec.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 12:24:50 +01:00
Diego Biurrun
d64341e498 configure: Prefix libc-related variables with "libc_"
Simplifies host/target libc detection splitting.
2013-12-09 11:47:43 +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
Anton Khirnov
d4f1188d1a dv: use AVFrame API properly 2013-12-09 09:10:14 +01:00
John Stebbins
c9ca220ef2 ac3dec: make drc_scale exponentially
The a52 spec suggests that "partial compression" should scale the
drc value in this manner.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-09 08:54:42 +01:00
Anton Khirnov
37a749012a lavc: rework handling of refcounted_frames=0
Use only proper AVFrame API (no assigning of whole frames, since that
hardcodes sizeof(AVFrame) into lavc).

Make a copy of the side data, so the caller can use av_frame_unref/free
on non-refcounted frames, eliminating the need for
avcodec_get_frame_defaults()/avcodec_free_frame().
2013-12-09 08:54:29 +01:00
Anton Khirnov
a1ee164869 lavc/decode_video(): always unref the frame if there is no output in decode_video
Not just on failure. This is the same thing that is done in the audio
path and should prevent leaks in decoders that allocate a frame, but
then end up not writing into it.
2013-12-09 08:44:34 +01:00
Anton Khirnov
85f947aefb lavc: remove a pointless check in decode_audio4()
av_frame_unref() works fine on unallocated frames.
2013-12-09 08:44:24 +01:00
Anton Khirnov
d4f0f2d1e8 lavc: use buf[0] instead of data[0] as the indicator of an allocated frame
data[0] may be NULL for valid frames with hwaccel pixel formats.
2013-12-09 08:44:11 +01:00
Anton Khirnov
e5419709f5 lavc: remove the extended_data workarounds.
All decoders should now handle it properly.
2013-12-09 08:42:52 +01:00
Anton Khirnov
d351ef47d0 pthread_frame: use the AVFrame API properly.
Remove the extended_data workaround, all decoders should now handle this
properly.
2013-12-09 08:42:25 +01:00
Anton Khirnov
b605b123ef mxpegdec: use the AVFrame API properly. 2013-12-09 08:41:57 +01:00
Anton Khirnov
afa21a12bf p*menc: use the AVFrame API properly. 2013-12-09 08:41:20 +01:00
Anton Khirnov
e2274aa555 mjpegdec: use the AVFrame API properly. 2013-12-09 08:40:29 +01:00
Michael Niedermayer
8e70fdab36 Merge commit '4958f35a2ebc307049ff2104ffb944f5f457feb3'
* commit '4958f35a2ebc307049ff2104ffb944f5f457feb3':
  dsputil: Move apply_window_int16 to ac3dsp

Conflicts:
	libavcodec/arm/ac3dsp_init_arm.c
	libavcodec/arm/ac3dsp_neon.S
	libavcodec/x86/ac3dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 04:12:40 +01:00
Michael Niedermayer
b07da13ac0 avcodec/ffv1enc: support forcing experimental 1.4 version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 00:39:02 +01:00
Michael Niedermayer
7854d2d251 avcodec/ffv1: support adjusting the g vs r + b coefficient in the RCT
about 1% better compression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 00:37:38 +01:00
Diego Biurrun
4958f35a2e dsputil: Move apply_window_int16 to ac3dsp
The (optimized) functions are used nowhere else.
2013-12-08 17:57:15 +01:00
Michael Niedermayer
6faf426470 avcodec/mpeg4video: fix 2 more incorrectly associated comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08 16:06:23 +01:00
Michael Niedermayer
eb87d1f678 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0

Conflicts:
	libavcodec/libvpxdec.c
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08 13:49:16 +01:00
James Almer
ae330070ee libvpxenc: token_parts is VP8 specific
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08 00:38:40 +01:00
Guillaume Martres
9aa053cede libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-12-08 00:28:27 +01:00
Ronald S. Bultje
92436e8ad9 vp9: implement top/left half (4x4) sub-8x8-IDCT.
For that specific case (eob>3&&eob<=12), runtime of idct8x8 goes from
668 to 477 cycles. For all idct8x8, runtime goes from 521 to 490 cycles.
2013-12-07 12:39:36 -05:00
Ronald S. Bultje
b2045c44a9 vp9: split pre-load of 11585x2 out of 1d idct macro.
This allows us to load it only once, instead of twice, in this function.
2013-12-07 12:39:36 -05:00
Ronald S. Bultje
f9a0d4c6e0 vp9: minor refactorings in idct ssse3 assembly.
Make register usage in macros explicit; change mulsub_2w_4x to use 2
instead of 3 temp registers.
2013-12-07 12:39:35 -05:00
Ronald S. Bultje
8729964b99 vp9: split x86 assembly in two files.
(And in future, loopfilter or intra pred could be put in their own
respective files also.)
2013-12-07 12:39:35 -05:00
Michael Niedermayer
b6a9719941 dcadec: Decode LFE to avoid adding random data when downmixing with LFE
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-06 23:37:05 +01:00
Michael Niedermayer
90539cea33 avcodec/error_resilience: check that er is supported before attempting to read the status of the previous slice
Fixes incorrectly set error_occured and improves speed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 16:49:35 +01:00
Michael Niedermayer
afb18c5578 avcodec/error_resilience: factor er_supported() check out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 16:49:00 +01: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
133fbfc781 do O(1) instead of O(n) atomic operations in register functions
about 1ms faster startup time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 15:27:36 +01:00