OSDN Git Service

android-x86/external-ffmpeg.git
10 years agoconfigure: support raising major version in soname
Michael Niedermayer [Wed, 18 Dec 2013 04:20:11 +0000 (05:20 +0100)]
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>
10 years agoffmpeg: use timestamp from before and after the decoder to detect backward moving...
Michael Niedermayer [Sun, 22 Dec 2013 18:42:13 +0000 (19:42 +0100)]
ffmpeg: use timestamp from before and after the decoder to detect backward moving dts for discontinuity detection

This should make discontinuity detection more robust and detect
more cases. Timestamps after the decoder can be delayed due to threads,
timestamps before can be missing

no testcase available/known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agonutenc/write_index: warn if 2 consecutive keyframes have the same PTS and discard...
Michael Niedermayer [Sun, 22 Dec 2013 17:47:28 +0000 (18:47 +0100)]
nutenc/write_index: warn if 2 consecutive keyframes have the same PTS and discard the 2nd

This fixes an assertion failure and regression and restores previous behaviour
Fixes Ticket3197

An alternative would be to fail hard in this case and refuse to mux such data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agovc1: simplify *_use_ic initialization
Michael Niedermayer [Sun, 22 Dec 2013 13:37:30 +0000 (14:37 +0100)]
vc1: simplify *_use_ic initialization

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoVC1: Fix intensity compensation performance regression
Mason Carter [Sun, 22 Dec 2013 01:27:18 +0000 (17:27 -0800)]
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>
10 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sun, 22 Dec 2013 11:43:43 +0000 (12:43 +0100)]
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: c8dd048ab8cff815c9f4b16a62db0b74df011f0a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit 'be7c323176e2e5fcf30e3d2ff20975b2f936811b'
Michael Niedermayer [Sun, 22 Dec 2013 10:53:41 +0000 (11:53 +0100)]
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>
10 years agohevc: move DSP declarations from hevc.h into hevcdsp.h
Guillaume Martres [Fri, 20 Dec 2013 23:08:50 +0000 (00:08 +0100)]
hevc: move DSP declarations from hevc.h into hevcdsp.h

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agoavformat/4xm: shrink packet if it was only partially initialized
Michael Niedermayer [Sat, 21 Dec 2013 11:52:23 +0000 (12:52 +0100)]
avformat/4xm: shrink packet if it was only partially initialized

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f6c76ab7950_4920_dracula.4xm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/isom: check avio_read() result
Michael Niedermayer [Sat, 21 Dec 2013 11:52:23 +0000 (12:52 +0100)]
avformat/isom: check avio_read() result

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f7aa4151661_4885_dmbts3.ts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/rmdec: zero string destination before use
Michael Niedermayer [Sat, 21 Dec 2013 11:52:23 +0000 (12:52 +0100)]
avformat/rmdec: zero string destination before use

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f9677850d99_4635_crashed.rm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoAdd a libwebp encoder
Justin Ruggles [Fri, 22 Nov 2013 16:05:13 +0000 (11:05 -0500)]
Add a libwebp encoder

10 years agovcodec/rv34: use av_mallocz() to allocate tables
Michael Niedermayer [Sat, 21 Dec 2013 11:52:23 +0000 (12:52 +0100)]
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>
10 years agoavformat/electronicarts: detect endianness by comparing sizes instead of using an...
Michael Niedermayer [Sat, 21 Dec 2013 13:09:45 +0000 (14:09 +0100)]
avformat/electronicarts: detect endianness by comparing sizes instead of using an arbitrary threshold

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/gxfenc: dont use a int intermediate to store in a unsigned int table
Michael Niedermayer [Sat, 21 Dec 2013 12:48:15 +0000 (13:48 +0100)]
avformat/gxfenc: dont use a int intermediate to store in a unsigned int table

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/electronicarts: use 64bit variable for avio_tell() result
Michael Niedermayer [Sat, 21 Dec 2013 12:48:15 +0000 (13:48 +0100)]
avformat/electronicarts: use 64bit variable for avio_tell() result

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/vqavideo: clear uninitialized parts of the decode buffer
Michael Niedermayer [Sat, 21 Dec 2013 11:52:23 +0000 (12:52 +0100)]
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>
10 years agoavcodec/vqavideo: check destination size on all exit pathes
Michael Niedermayer [Sat, 21 Dec 2013 11:52:23 +0000 (12:52 +0100)]
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>
10 years agoexamples/muxing: fix memleaks in resampler
Ilya Basin [Mon, 16 Dec 2013 09:08:34 +0000 (13:08 +0400)]
examples/muxing: fix memleaks in resampler

  - do not allocate resample dst buffer when resample is off
  - free sample buffers in addition to freeing data pointer arrays

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoexamples/muxing: use S16 sample_fmt for resample src regardless of codec sample_fmt
Ilya Basin [Mon, 16 Dec 2013 09:08:03 +0000 (13:08 +0400)]
examples/muxing: use S16 sample_fmt for resample src regardless of codec sample_fmt

We generate S16 samples and we should allocate the right buffer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoexamples/muxing: fix av_frame_free() not called when got_packet is false
Ilya Basin [Mon, 16 Dec 2013 09:05:51 +0000 (13:05 +0400)]
examples/muxing: fix av_frame_free() not called when got_packet is false

Hi list! Since my last patch (fix 2 memleaks in doc/examples/muxing.c)
I found more problems to fix.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agowtvdec: when testing for truncated files, actually check the .wtv file size
Peter Ross [Sat, 21 Dec 2013 08:42:23 +0000 (19:42 +1100)]
wtvdec: when testing for truncated files, actually check the .wtv file size

Previously the demuxer was testing against avio_tell, and this would generate
many false warnings.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sat, 21 Dec 2013 00:19:38 +0000 (01:19 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  arm: Don't clobber callee saved registers in scalarproduct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '5c3fa74b94fdedfd63b606f36920d7fbbc069b72'
Michael Niedermayer [Sat, 21 Dec 2013 00:02:14 +0000 (01:02 +0100)]
Merge commit '5c3fa74b94fdedfd63b606f36920d7fbbc069b72'

* commit '5c3fa74b94fdedfd63b606f36920d7fbbc069b72':
  hevc: support luma bit depth != chroma bit depth for PCM coding units

Conflicts:
libavcodec/hevc.c

See: 0afa254d4efd3c06fd0194789aefc193c8506947
See: a7e300649a7a2105a4f7edfaf936f0a9e05a2d43
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '78d0b7f36e39bb4745613e312024ddd508e2f0fb'
Michael Niedermayer [Fri, 20 Dec 2013 23:52:49 +0000 (00:52 +0100)]
Merge commit '78d0b7f36e39bb4745613e312024ddd508e2f0fb'

* commit '78d0b7f36e39bb4745613e312024ddd508e2f0fb':
  hevc: warn when an unknown profile is used

See: a21839149cddf2fa6d4cfc37d066cdb68a2ac8aa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '259cddb137988a25607f091c2414158ff81ca7d6'
Michael Niedermayer [Fri, 20 Dec 2013 23:50:14 +0000 (00:50 +0100)]
Merge commit '259cddb137988a25607f091c2414158ff81ca7d6'

* commit '259cddb137988a25607f091c2414158ff81ca7d6':
  hevc_ps: fix indentation

See: 36658c978f5d7df2ce556075946f3a80f7eca753
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '2d18aaa14bc2233b0647d2c5abb72e0bc828c2a8'
Michael Niedermayer [Fri, 20 Dec 2013 23:39:11 +0000 (00:39 +0100)]
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: 36658c978f5d7df2ce556075946f3a80f7eca753
See: dddc9b7a8ec3a03e48c69991ca7f20f10dd6f022
See: ecb21d24373ccf8f1d090cff48f4e0c384b7f998
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '321cb8b048c7a8c0d2950f9278f36d912a886fa0'
Michael Niedermayer [Fri, 20 Dec 2013 23:30:31 +0000 (00:30 +0100)]
Merge commit '321cb8b048c7a8c0d2950f9278f36d912a886fa0'

* commit '321cb8b048c7a8c0d2950f9278f36d912a886fa0':
  hevc: store profile and level in AVCodecContext

See: fb7d70c1cd95529cbbbeeab5e9fa3b200ef2545c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '2a41826bea3833895dc06939831b7f35ca1f597e'
Michael Niedermayer [Fri, 20 Dec 2013 23:22:14 +0000 (00:22 +0100)]
Merge commit '2a41826bea3833895dc06939831b7f35ca1f597e'

* commit '2a41826bea3833895dc06939831b7f35ca1f597e':
  lavc: add HEVC profiles names

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

See: fb7d70c1cd95529cbbbeeab5e9fa3b200ef2545c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit 'f412b2c9f3a7add0ab8021262ec4bad249347e30'
Michael Niedermayer [Fri, 20 Dec 2013 23:11:59 +0000 (00:11 +0100)]
Merge commit 'f412b2c9f3a7add0ab8021262ec4bad249347e30'

* commit 'f412b2c9f3a7add0ab8021262ec4bad249347e30':
  flv: Use the correct type to hold the file offset

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '15739a9bd19a7d47ad8afb25348c684a3bdd6ef2'
Michael Niedermayer [Fri, 20 Dec 2013 23:04:19 +0000 (00:04 +0100)]
Merge commit '15739a9bd19a7d47ad8afb25348c684a3bdd6ef2'

* commit '15739a9bd19a7d47ad8afb25348c684a3bdd6ef2':
  jvdec: Do not feed the decoder with known wrong data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit 'e518cb863edc931888ccca6cad86f73ca7430cef'
Michael Niedermayer [Fri, 20 Dec 2013 22:56:43 +0000 (23:56 +0100)]
Merge commit 'e518cb863edc931888ccca6cad86f73ca7430cef'

* commit 'e518cb863edc931888ccca6cad86f73ca7430cef':
  jvdec: Fix memory leak of jv->frames

See: 596814f9781772050c65bdd8add27445bc8374a4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '027712e851da4d124a842c9e2802f95d50582553'
Michael Niedermayer [Fri, 20 Dec 2013 22:49:56 +0000 (23:49 +0100)]
Merge commit '027712e851da4d124a842c9e2802f95d50582553'

* commit '027712e851da4d124a842c9e2802f95d50582553':
  jvdec: Return EOF on end of file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit 'dfc50ac85e9d68a771b556297b7c411650206f3b'
Michael Niedermayer [Fri, 20 Dec 2013 22:44:31 +0000 (23:44 +0100)]
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>
10 years agoMerge commit 'b254490bdabb21bd517c05b1a68717f9952ac8c4'
Michael Niedermayer [Fri, 20 Dec 2013 22:33:10 +0000 (23:33 +0100)]
Merge commit 'b254490bdabb21bd517c05b1a68717f9952ac8c4'

* commit 'b254490bdabb21bd517c05b1a68717f9952ac8c4':
  vc1: arm: Add NEON no_rnd chroma MC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '832e19063209a5f355af733d1a45f5051f49ce33'
Michael Niedermayer [Fri, 20 Dec 2013 22:11:29 +0000 (23:11 +0100)]
Merge commit '832e19063209a5f355af733d1a45f5051f49ce33'

* commit '832e19063209a5f355af733d1a45f5051f49ce33':
  vc1: arm: Add NEON assembly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/pva: Make sure the header is large enough before reading the timestamp from it
Michael Niedermayer [Fri, 20 Dec 2013 17:07:30 +0000 (18:07 +0100)]
avformat/pva: Make sure the header is large enough before reading the timestamp from it

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f34b5dc6d58_2674_PVA_test-partial.pva
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/pva: Make sure the first byte of pes_header_data has been initialized
Michael Niedermayer [Fri, 20 Dec 2013 17:07:30 +0000 (18:07 +0100)]
avformat/pva: Make sure the first byte of pes_header_data has been initialized

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f53c1d0e95c_2674_PVA_test-partial.pva
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoarm: Don't clobber callee saved registers in scalarproduct
Martin Storsjö [Fri, 20 Dec 2013 13:02:35 +0000 (15:02 +0200)]
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>
10 years agohevc: support luma bit depth != chroma bit depth for PCM coding units
Mickaël Raulet [Sat, 14 Dec 2013 14:50:32 +0000 (15:50 +0100)]
hevc: support luma bit depth != chroma bit depth for PCM coding units

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc: warn when an unknown profile is used
Guillaume Martres [Sat, 14 Dec 2013 14:50:31 +0000 (15:50 +0100)]
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>
10 years agohevc_ps: fix indentation
Gildas Cocherel [Fri, 20 Dec 2013 18:39:10 +0000 (19:39 +0100)]
hevc_ps: fix indentation

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc: refactor Profile Tier Level
Gildas Cocherel [Wed, 18 Dec 2013 23:36:45 +0000 (00:36 +0100)]
hevc: refactor Profile Tier Level

Also store a few PTL flags which were skipped before

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc: don't check for errors in PTL code
Guillaume Martres [Sat, 14 Dec 2013 14:50:29 +0000 (15:50 +0100)]
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>
10 years agohevc: store profile and level in AVCodecContext
Gildas Cocherel [Sat, 14 Dec 2013 14:50:28 +0000 (15:50 +0100)]
hevc: store profile and level in AVCodecContext

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agolavc: add HEVC profiles names
Gildas Cocherel [Wed, 18 Dec 2013 23:30:24 +0000 (00:30 +0100)]
lavc: add HEVC profiles names

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agolavfi/hue: show first decimal value of saturation
Stefano Sabatini [Fri, 20 Dec 2013 18:25:42 +0000 (19:25 +0100)]
lavfi/hue: show first decimal value of saturation

10 years agolavfi/hue: use av_clip_uint8() instead of av_clip_uint8_c()
Stefano Sabatini [Fri, 20 Dec 2013 18:11:35 +0000 (19:11 +0100)]
lavfi/hue: use av_clip_uint8() instead of av_clip_uint8_c()

The generic version should be faster if optimized.

10 years agolavfi/hue: force table initialization for the first frame
Stefano Sabatini [Fri, 20 Dec 2013 18:10:46 +0000 (19:10 +0100)]
lavfi/hue: force table initialization for the first frame

10 years agoavformat/smacker: check for format mismatch more completely
Michael Niedermayer [Fri, 20 Dec 2013 17:07:30 +0000 (18:07 +0100)]
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>
10 years agoavformat/nistspheredec: initialize header_size to -1
Michael Niedermayer [Fri, 20 Dec 2013 17:07:30 +0000 (18:07 +0100)]
avformat/nistspheredec: initialize header_size to -1

Fixes use of uninitialized memory
This also avoids the need to check the scanf() return as the subsequent check catches it
Fixes: msan_uninit-mem_7f712e4dc173_7414_nist_ulaw.nist
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoflv: Use the correct type to hold the file offset
Luca Barbato [Thu, 19 Dec 2013 06:38:15 +0000 (07:38 +0100)]
flv: Use the correct type to hold the file offset

10 years agojvdec: Do not feed the decoder with known wrong data
Luca Barbato [Fri, 13 Dec 2013 02:07:57 +0000 (03:07 +0100)]
jvdec: Do not feed the decoder with known wrong data

Still assume the size value is right in non-explode mode.

10 years agojvdec: Fix memory leak of jv->frames
Paul B Mahol [Tue, 3 Jul 2012 09:51:44 +0000 (09:51 +0000)]
jvdec: Fix memory leak of jv->frames

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agojvdec: Return EOF on end of file
Luca Barbato [Fri, 13 Dec 2013 02:10:16 +0000 (03:10 +0100)]
jvdec: Return EOF on end of file

10 years agox86: mpegvideo: move denoise_dct asm to mpegvideoenc
Anton Khirnov [Fri, 20 Dec 2013 12:00:22 +0000 (13:00 +0100)]
x86: mpegvideo: move denoise_dct asm to mpegvideoenc

This function is encoding-only.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoavcodec/mpegvideo_enc: fix frame skipping with intra only codecs
Michael Niedermayer [Fri, 20 Dec 2013 12:50:46 +0000 (13:50 +0100)]
avcodec/mpegvideo_enc: fix frame skipping with intra only codecs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/mpegvideo_enc: fix integer overflow with -skip_exp >= 2
Michael Niedermayer [Fri, 20 Dec 2013 12:35:39 +0000 (13:35 +0100)]
avcodec/mpegvideo_enc: fix integer overflow with -skip_exp >= 2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agovc1: arm: Add NEON no_rnd chroma MC
Mason Carter [Sun, 15 Dec 2013 01:32:57 +0000 (17:32 -0800)]
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>
10 years agovc1: arm: Add NEON assembly
Mason Carter [Sun, 15 Dec 2013 01:32:56 +0000 (17:32 -0800)]
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>
10 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Fri, 20 Dec 2013 12:09:39 +0000 (13:09 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  atomics: cosmetics: Restructure ifdefs for greater clarity

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit '8558595a59913a4667f57d5a4658b1340f1a4354'
Michael Niedermayer [Fri, 20 Dec 2013 11:48:16 +0000 (12:48 +0100)]
Merge commit '8558595a59913a4667f57d5a4658b1340f1a4354'

* commit '8558595a59913a4667f57d5a4658b1340f1a4354':
  configure: Express atomics/thread deps through the dependency system

Conflicts:
configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoatomics: cosmetics: Restructure ifdefs for greater clarity
Diego Biurrun [Wed, 18 Dec 2013 21:28:11 +0000 (22:28 +0100)]
atomics: cosmetics: Restructure ifdefs for greater clarity

Also fix the #endif comment in a few places and #include config.h to
avoid assuming it is #included implicitly.

10 years agoavformat/sierravmd: Check avio_read return value
Michael Niedermayer [Thu, 19 Dec 2013 19:48:51 +0000 (20:48 +0100)]
avformat/sierravmd: Check avio_read return value

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f82af392dae_1848_HR060606.VMD
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoremuxing .opus files to .webm codec->delay must be copied too
Jan Gerber [Thu, 19 Dec 2013 14:56:49 +0000 (20:26 +0530)]
remuxing .opus files to .webm codec->delay must be copied too

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/nistspheredec: check sscanf() success before using the result
Michael Niedermayer [Thu, 19 Dec 2013 19:48:51 +0000 (20:48 +0100)]
avformat/nistspheredec: check sscanf() success before using the result

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f935c3c6c1a_7413_nist_pcms8.nist
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/iff: warn about truncated input to decode_byterun() and clear remaining output
Michael Niedermayer [Thu, 19 Dec 2013 19:48:51 +0000 (20:48 +0100)]
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>
10 years agoconfigure: Express atomics/thread deps through the dependency system
Diego Biurrun [Wed, 18 Dec 2013 20:52:28 +0000 (21:52 +0100)]
configure: Express atomics/thread deps through the dependency system

10 years agorpl: Dont fill the index with entries that failed to be parsed
Michael Niedermayer [Thu, 19 Dec 2013 18:22:38 +0000 (19:22 +0100)]
rpl: Dont fill the index with entries that failed to be parsed

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fd10a199a3c_6204_landing.rpl
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agolibavformat/mpegts: expose raw packet size
Leandro Dorileo [Thu, 19 Dec 2013 16:39:51 +0000 (14:39 -0200)]
libavformat/mpegts: expose raw packet size

We cannot easily determine if an mpeg TS's packet size is DVHS, FEC
or so on, for that we need to expose the internal raw_packet_size
field.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/dxa: check avio_read() return
Michael Niedermayer [Thu, 19 Dec 2013 16:14:59 +0000 (17:14 +0100)]
avformat/dxa: check avio_read() return

Fixes use of uninitialized memory
Fixes msan_uninit-mem_7fd4d4323ddd_2453_MUSOSP1.dxa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/dxa: check for overread in decode_13()
Michael Niedermayer [Thu, 19 Dec 2013 16:14:59 +0000 (17:14 +0100)]
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>
10 years agoavcodec/dxa: add padding to decomp_buf
Michael Niedermayer [Thu, 19 Dec 2013 16:14:59 +0000 (17:14 +0100)]
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>
10 years agoavcodec/flashsv: check decode_hybrid() for overread
Michael Niedermayer [Thu, 19 Dec 2013 15:17:21 +0000 (16:17 +0100)]
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>
10 years agolavfi/deshake_opencl: optimze transform filter
Lenny Wang [Sat, 14 Dec 2013 11:11:00 +0000 (05:11 -0600)]
lavfi/deshake_opencl: optimze transform filter

Reviewed-by: Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/swfdec: clear 4 bytes at the end of a packet if they are not initialized
Michael Niedermayer [Thu, 19 Dec 2013 03:38:16 +0000 (04:38 +0100)]
avformat/swfdec: clear 4 bytes at the end of a packet if they are not initialized

Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7f055dd0ab1b_9558_videopop_guitar_300k.swf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/swfdec: check avio_read() return code
Michael Niedermayer [Thu, 19 Dec 2013 02:50:05 +0000 (03:50 +0100)]
avformat/swfdec: check avio_read() return code

Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7f055dd0ab1b_9558_videopop_guitar_300k.swf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Thu, 19 Dec 2013 02:18:07 +0000 (03:18 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  fate: Explicitly specify the pixel format for the pngparser test

Conflicts:
tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/swfdec: check avio_read() return code
Michael Niedermayer [Thu, 19 Dec 2013 00:48:15 +0000 (01:48 +0100)]
avformat/swfdec: check avio_read() return code

Fixes use of uninitialized memory
Fixes msan_uninit-mem_7f90d9cce964_9558_videopop_guitar_300k.swf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/interplayvideo: Check that enough data is available for opcode_0x7/8/D
Michael Niedermayer [Wed, 18 Dec 2013 23:17:12 +0000 (00:17 +0100)]
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>
10 years agoavcodec/interplayvideo: Check that enough data is available for opcode_0x9
Michael Niedermayer [Wed, 18 Dec 2013 23:17:12 +0000 (00:17 +0100)]
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>
10 years agoavcodec/interplayvideo: Check that enough data is available for opcode_0xA
Michael Niedermayer [Wed, 18 Dec 2013 23:17:12 +0000 (00:17 +0100)]
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>
10 years agoavformat/ipmovie: Check palette size in OPCODE_SET_PALETTE
Michael Niedermayer [Wed, 18 Dec 2013 22:46:37 +0000 (23:46 +0100)]
avformat/ipmovie: Check palette size in OPCODE_SET_PALETTE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/ipmovie: Check that OPCODE_SET_PALETTE size is large enough
Michael Niedermayer [Wed, 18 Dec 2013 22:43:20 +0000 (23:43 +0100)]
avformat/ipmovie: Check that OPCODE_SET_PALETTE size is large enough

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fec1f40656c_4819_descent3_level5_16bit_partial.mve
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/ipmovie: remove superflous ()
Michael Niedermayer [Wed, 18 Dec 2013 22:15:52 +0000 (23:15 +0100)]
avformat/ipmovie: remove superflous ()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/ipmovie: Check that the OPCODE_INIT_AUDIO_BUFFERS size is large enough
Michael Niedermayer [Wed, 18 Dec 2013 22:13:15 +0000 (23:13 +0100)]
avformat/ipmovie: Check that the OPCODE_INIT_AUDIO_BUFFERS size is large enough

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f75b03c1f19_4820_descent3_level5_16bit_partial.mve
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/pngdec: fix signed overflow
Michael Niedermayer [Wed, 18 Dec 2013 21:15:32 +0000 (22:15 +0100)]
avcodec/pngdec: fix signed overflow

fixes fate ftrapv failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agofate: Explicitly specify the pixel format for the pngparser test
Martin Storsjö [Wed, 18 Dec 2013 16:27:07 +0000 (18:27 +0200)]
fate: Explicitly specify the pixel format for the pngparser test

The RGB32 pixel format is RGBA/BGRA depending on target
endianness - make sure to convert it to one specific format for
the framecrc tests.

This fixes the pngparser fate test on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Wed, 18 Dec 2013 18:54:04 +0000 (19:54 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  Prepare release notes for Libav 10 "Eks"

Conflicts:
doc/RELEASE_NOTES

Not merged because all that stuff has been in past releases

Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavformat/isom: zero MPEG4AudioConfig to avoid leaving fields uninitialized
Michael Niedermayer [Wed, 18 Dec 2013 18:39:05 +0000 (19:39 +0100)]
avformat/isom: zero MPEG4AudioConfig to avoid leaving fields uninitialized

Fixes: use of uninitialized memory
Fixes: msan_uninit-mem_7f392c443e0d_1433_Crowd_Applause_01.caf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoavcodec/nuv: zero buffer padding
Michael Niedermayer [Wed, 18 Dec 2013 17:14:24 +0000 (18:14 +0100)]
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>
10 years agoavcodec/dirac_dwt: initialize support value for fidelity wavelet
Michael Niedermayer [Wed, 18 Dec 2013 14:49:20 +0000 (15:49 +0100)]
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>
10 years agoPrepare release notes for Libav 10 "Eks"
Anton Khirnov [Wed, 18 Dec 2013 02:52:13 +0000 (21:52 -0500)]
Prepare release notes for Libav 10 "Eks"

Additional editing by Diego Biurrun

10 years agolavf/concatdec: fix crash in case a file in script cannot be opened
Stefano Sabatini [Wed, 18 Dec 2013 13:56:36 +0000 (14:56 +0100)]
lavf/concatdec: fix crash in case a file in script cannot be opened

10 years agolavf/segment: increase logging level for message with segment start information
Stefano Sabatini [Tue, 17 Dec 2013 09:43:32 +0000 (10:43 +0100)]
lavf/segment: increase logging level for message with segment start information

Help debugging.

10 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Wed, 18 Dec 2013 11:37:42 +0000 (12:37 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  png_parser: Fix parsing on big endian

See: 3d42addf336739a69aee47891413a46e4f64995b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agoMerge commit 'd8fd183683b7495566b7e510a6536ae2efe8dfed'
Michael Niedermayer [Wed, 18 Dec 2013 11:23:41 +0000 (12:23 +0100)]
Merge commit 'd8fd183683b7495566b7e510a6536ae2efe8dfed'

* commit 'd8fd183683b7495566b7e510a6536ae2efe8dfed':
  vc1: Fix mb_height for field pictures

See: 017e234c204f8ffb5f85a073231247881be1ac6f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
10 years agopng_parser: Fix parsing on big endian
Martin Storsjö [Wed, 18 Dec 2013 08:39:47 +0000 (10:39 +0200)]
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>
10 years agoavcodec/aacdec: default to non-wide 7.1 in non-strict mode
Anssi Hannula [Tue, 17 Dec 2013 21:04:31 +0000 (23:04 +0200)]
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>
10 years agoRevert "Merge commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c'" (Bump libavutil...
Michael Niedermayer [Mon, 16 Dec 2013 22:24:52 +0000 (23:24 +0100)]
Revert "Merge commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c'" (Bump libavutil major version to account for the LLS API/ABI changes.)

This reverts commit 792845e436ddc5f3ce11ba02535a3372919061f2, reversing
changes made to 1d6666a6b828cca6c6b355a9b62f25607b1ced08.

Bumping libavutil requires all libraries that use libavutil to have their
major version bumped (yes breakage has been confirmed this is not a hypotheses)

One case of breakage is due to new types being added to AVOptions and
applications that linked to old libavutil and libswresample
then trying to use old libavutil (its soname changed so the old isnt updated)
and new swresample (its soame didnt change so it is updated)
the new swresample contains AVOption types that the old libavutil doesnt
know of thus the application attempting to access these avoptions
fails

AVOptions are used by all libs so the issue can potentially happen with
any other lib, libswresample was just the first that showed the problem
ive not checked if the other libs are affected currently by the same issue
or not

Also in addition to AVOptions, AVFrames are also defined in
libavutil, bumping it without all libs that use AVFrames could lead to
serious inconsistencies when 2 libs/app end up using 2 different libavutils

The alternative of bumping all is still possible after this revert, if it
turns out to be the preferred solution