Commit Graph

28778 Commits

Author SHA1 Message Date
Michael Niedermayer
f8de1caa6e Revert "avcodec/hevc: fix outputted AVFrame.key_frame"
This is not correct

Requested-by: mraulet
This reverts commit 973de9ebf8.
2014-05-15 21:34:34 +02:00
Michael Niedermayer
30cdf384d1 Merge commit 'd3f5b94762fb803c0f3b29f9ad6c5eaa813998ba'
* commit 'd3f5b94762fb803c0f3b29f9ad6c5eaa813998ba':
  aarch64: opus NEON iMDCT and FFT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 21:13:53 +02:00
Michael Niedermayer
97f856a4c2 avcodec/options: avcodec_copy_context() Check subtitle_header_size instead of setting it
The value is already copied in the generic code so it should always match

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:41:38 +02:00
Michael Niedermayer
098a699867 Merge commit '3b2fbe67bd63b00331db2a9b213f6d420418a312'
* commit '3b2fbe67bd63b00331db2a9b213f6d420418a312':
  lavc: properly handle subtitle_header in avcodec_copy_context()

Conflicts:
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:39:06 +02:00
Michael Niedermayer
9b7cb02319 Merge commit 'efc7df6c1f11b20a48e60c3f743ce2331b661973'
* commit 'efc7df6c1f11b20a48e60c3f743ce2331b661973':
  lavc: preserve the original private data in avcodec_copy_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:32:44 +02:00
Carl Eugen Hoyos
beeb7551d6 Fix make checkheaders if VDA is not available. 2014-05-15 19:09:36 +02:00
Michael Niedermayer
ffa05e0802 avcodec/opusdec: switch to swresample
This also fixes linking failures in doc/examples which where apparently
caused by the linking order between avcodec and avresample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 18:28:45 +02:00
Michael Niedermayer
2c7d3ecfc9 Merge commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222'
* commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222':
  lavc: add a native Opus decoder.

Conflicts:
	Changelog
	configure
	libavcodec/version.h

Fate tests pass with both avresample as well as swresample based opus decoder, but
are disabled (reference files are very large so i want to think a day or 2 about
if theres an alternative or if they could be avoided, they also dont match the
official samples)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 18:20:17 +02:00
Janne Grunau
d3f5b94762 aarch64: opus NEON iMDCT and FFT
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.
2014-05-15 18:17:02 +02:00
Anton Khirnov
3b2fbe67bd lavc: properly handle subtitle_header in avcodec_copy_context() 2014-05-15 07:51:39 +02:00
Anton Khirnov
efc7df6c1f lavc: preserve the original private data in avcodec_copy_context()
If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.
2014-05-15 07:51:16 +02:00
Anton Khirnov
b70d7a4ac7 lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.

Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.

Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
2014-05-15 06:49:34 +02:00
Peter Kovář
973de9ebf8 avcodec/hevc: fix outputted AVFrame.key_frame
previously it was always 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 20:30:44 +02:00
Michael Niedermayer
0aac9b76bc avcodec/libx264: Implement reference frame count limiting based on level
This makes libavcodec/libx264.c behave more similar to the x264 command line
util

Fixes Ticket3307

Implementation based on x264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 02:57:10 +02:00
Michael Niedermayer
3d7218d932 Merge commit '449511740f06a4675b0066730fa45cdb764ffafc'
* commit '449511740f06a4675b0066730fa45cdb764ffafc':
  build: handle library dependencies in configure

Conflicts:
	common.mak
	configure
	libavdevice/Makefile
	libavfilter/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 22:40:32 +02:00
Reimar Döffinger
d90ba411ab dpx: use intfloat.h instead of deprecated intfloat_readwrite.h.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-05-13 20:53:24 +02:00
Michael Niedermayer
76581ab833 Merge commit '9aa4592076d4dbb29d1198b0e258f9f85c0c00b5'
* commit '9aa4592076d4dbb29d1198b0e258f9f85c0c00b5':
  aarch64: assembler in clang-3.4 ignores the division by two

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 20:34:32 +02:00
Janne Grunau
449511740f build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
2014-05-13 20:02:01 +02:00
Janne Grunau
9aa4592076 aarch64: assembler in clang-3.4 ignores the division by two
Values are positive powers of two, so just replace it with right shift.
2014-05-13 19:44:09 +02:00
Matt Oliver
cef99e12bc Use rac_get_prob branchy version when used within a conditional branch.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 16:04:08 +02:00
Mickaël Raulet
bb9e5116fe hevc: fixing code indenting in hevcpred(cherry picked from commit 28a5916845928de2951013b5398465573b181925)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 14:29:50 +02:00
Mickaël Raulet
38df49a068 hevc/intrapred: fix indent(cherry picked from commit ab167f3158cf37bd679bda28566170e2c3691686)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 14:14:14 +02:00
Mickaël Raulet
053fdacde7 hevc: a much faster implementation of intra prediction (up to 1s on
haswell 2.6GHz on basket ball drive all intra qp 27)(cherry picked from commit 5de9739176f0eb4c205e80a91628a0196c9924b2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 14:14:05 +02:00
Michael Niedermayer
81d1fcf37d avcodec: add option to make is_intra_more_likely() from error concealment return "no"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 22:55:39 +02:00
Hendrik Leppkes
87f2d8079a hevcdsp: correctly indicate that hevc_put_hevc_bi_epel_h uses 9 GPRs
Fixes FATE on Windows.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 17:00:48 +02:00
Michael Niedermayer
96abdf2ffd avcodec/vda_h264: fix bistream typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 03:27:04 +02:00
Michael Niedermayer
2856332719 avcodec/vda_h264: fix null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 02:25:58 +02:00
Michael Niedermayer
5449239a03 Merge commit '67afcefb35932b420998f6f3fda46c7c85848a3f'
* commit '67afcefb35932b420998f6f3fda46c7c85848a3f':
  lavc: Add new VDA hwaccel

Conflicts:
	configure
	libavcodec/vda.h
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 01:57:02 +02:00
Michael Niedermayer
c6a683bf22 Merge commit '31a46750c7eafe6bce6a3e4f09853cd0a585292b'
* commit '31a46750c7eafe6bce6a3e4f09853cd0a585292b':
  vda: use hwaccel private data for internal bitstream buffer

Conflicts:
	libavcodec/vda.h
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 01:04:27 +02:00
Michael Niedermayer
2ec4586d77 Merge commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8'
* commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8':
  lavc: Add hwaccel private data and init/uninit callbacks

Conflicts:
	libavcodec/avcodec.h
	libavcodec/internal.h
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:21:44 +02:00
Michael Niedermayer
c4fe50b954 Merge commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436'
* commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436':
  hwaccel: Support specific frame allocators

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:06:35 +02:00
Michael Niedermayer
fa0f7c024e Merge commit 'a871ef0cc936612bdb0e643196be72efcf0c8986'
* commit 'a871ef0cc936612bdb0e643196be72efcf0c8986':
  hwaccel: Rename priv_data_size to frame_priv_data_size

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:49:13 +02:00
Michael Niedermayer
8d19dd91a5 Merge commit '08bb2567586599d62a282c4cd31567a0807f3d92'
* commit '08bb2567586599d62a282c4cd31567a0807f3d92':
  lavc: document which parts of AVHWAccel are private.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:40:51 +02:00
Michael Niedermayer
f2f99f07a5 Merge commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f'
* commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f':
  lavc: set AVCodecContext.hwaccel in ff_get_format()

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:28:40 +02:00
Michael Niedermayer
d93cf093f8 Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'
* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425':
  lavc: Add an internal wrapper around get_format()

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 21:48:32 +02:00
Michael Niedermayer
5e95551199 avcodec/dct: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 20:06:45 +02:00
Michael Niedermayer
e2c7816ab0 avcodec/cinepakenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 20:06:28 +02:00
Anton Khirnov
67afcefb35 lavc: Add new VDA hwaccel
It leverages the new hwaccel 1.2 features:

- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-11 15:00:03 +02:00
Anton Khirnov
31a46750c7 vda: use hwaccel private data for internal bitstream buffer 2014-05-11 15:00:03 +02:00
Anton Khirnov
dd2d3b766b lavc: Add hwaccel private data and init/uninit callbacks 2014-05-11 14:59:07 +02:00
Luca Barbato
ebc29519d1 hwaccel: Support specific frame allocators
It would reduce the boilerplate code users have to write.
2014-05-11 14:59:07 +02:00
Anton Khirnov
a871ef0cc9 hwaccel: Rename priv_data_size to frame_priv_data_size
This describes more accurately what this field is for.
2014-05-11 14:59:07 +02:00
Anton Khirnov
08bb256758 lavc: document which parts of AVHWAccel are private. 2014-05-11 14:59:07 +02:00
Anton Khirnov
5c1d7246cd lavc: set AVCodecContext.hwaccel in ff_get_format()
This way each decoder does not have to do the same thing manually.
2014-05-11 14:59:07 +02:00
Anton Khirnov
632ad2248e lavc: Add an internal wrapper around get_format()
It will be useful in the following commits.
2014-05-11 14:59:07 +02:00
Lukasz Marek
ab57cbb7b1 lavc/on2avc: silent warnings about const params
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 06:23:25 +02:00
Reimar Döffinger
97bcb05889 Add missing "const" to pointer arrays.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-05-10 21:57:28 +02:00
James Almer
8e07800001 hevcdsp: include stddef.h for ptrdiff_t definition
Including stdint.h was enough for systems like Mingw, but apparently not for Linux.
This should fix make checkheaders failures on every platform

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 18:23:30 +02:00
James Almer
fa23190a7a hevcdsp: add missing header include
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 14:55:03 +02:00
Matthew Lindner
b372f67342 avcodec: better level/index printing 2014-05-09 22:05:57 +02:00
Michael Niedermayer
398e3a591f avcodec: replace uses of deprecated avcodec_set_dimensions()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 19:43:30 +02:00
nu774
9880a0d4b1 pcm-dvd: Fix 20bit decoding
Increment the pointer as needed.

Bug-Id: 592

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-09 16:07:15 +02:00
Michael Niedermayer
2201d1a0f8 avcodec/hevc: Fix undefined shifts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 13:34:12 +02:00
Michael Niedermayer
0be95996d0 avcodec/mpegaudiodec_template: make shift unsigned to avoid undefined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 13:17:39 +02:00
Michael Niedermayer
341cacb9ac avcodec/x86/hevcdsp_init: fix build failure with --disable-mmx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 05:16:27 +02:00
Michael Niedermayer
e54c052bee avcodec/mpeg4videodec: print run/level/index values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 02:03:54 +02:00
Michael Niedermayer
6df33c4926 avcodec: include GET_RL_VLC() in trace output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 02:03:54 +02:00
plepere
63832e01c3 hvcodec/x86/hevcdsp: make macros more modular to support functions that are not sse4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 00:14:50 +02:00
Michael Niedermayer
126927c58e avcodec/exr: mark gama option as experimental / unsupported
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 21:10:53 +02:00
Gonzalo Garramuno
cd3daad77e avcodec/exr: Add a gamma flag to exr loader to avoid banding
This is needed to avoid banding artifacts when gammaing the picture.
Currently, if done with a video filter, the process is done on uints
instead of full float.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 21:00:56 +02:00
Michael Niedermayer
aff352be63 avcodec/mjpegdec: zero gb to silence warning about it being possibly uninitialized
The code is not speed relevant, also its more robust if the pointers are NULL instead of random.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 17:37:40 +02:00
Michael Niedermayer
ce4ae18405 avcodec/takdec: Always initialize hsize, silence "may be used uninitialized" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 17:33:28 +02:00
Michael Niedermayer
62a9725bc9 avcodec/dcadec: add an assert to silence a uninitialized variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:48:41 +02:00
Michael Niedermayer
7e79d72c28 avcodec/dcadec: remove always true if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:47:20 +02:00
Michael Niedermayer
364e8904ce avcodec/cinepakenc: Fix "may be used uninitialized in this function" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:40:58 +02:00
Michael Niedermayer
c71f8d40be Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavc: use av_fifo_freep
  lavf: use av_fifo_freep
  ffmpeg: use av_fifo_freep
  lavd/jack_audio: use av_fifo_freep
  lavfi: use av_fifo_freep
  lavu/fifo: add av_fifo_freep function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 03:49:12 +02:00
Lukasz Marek
9b60d907ae lavc: use av_fifo_freep
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:47 +02:00
Michael Niedermayer
9e58677438 avcodec/huffyuvenc: Make version 3 of ffvhuff non experimental
Tested-by: Tim Nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 23:24:38 +02:00
Michael Niedermayer
54ae58802e avcodec/cinepakenc: drop coded_frame init
Fixes const being lost warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 17:54:48 +02:00
Michael Niedermayer
a6e9448dc6 avcodec/cinepakenc: Zero AVPictures, silence "may be used uninitialized" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 17:54:03 +02:00
Michael Niedermayer
a779602584 avcodec/eamad: silence uninitialized variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 17:48:04 +02:00
Michael Niedermayer
eeb48353ab avcodec/ac3enc: silence 2 warnings about "possibly uninitialized" variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 16:52:36 +02:00
Matt Oliver
1898c2f49d inline asm: fix arrays as named constraints.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 15:02:45 +02:00
Michael Niedermayer
326463893b avcodec/wavpack: initialize pointers to silence warning about them possibly being uninitialized
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 02:13:56 +02:00
Michael Niedermayer
84655bdaed avcodec/hevc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 02:07:12 +02:00
Michael Niedermayer
fc7d0d8201 avcodec/x86/hevcdsp_init: fix SSE4 checks
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:27:49 +02:00
Michael Niedermayer
7be230b5fa avcodec/x86/Makefile: remove duplicate line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:23:42 +02:00
Michael Niedermayer
3b3db02f2e avcodec/x86/hevcdsp_init: fix build on 32bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:23:42 +02:00
plepere
7a2491c436 HEVC : added assembly MC functions
pretty print x86

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:23:36 +02:00
Mickaël Raulet
83976e40e8 hevc: C code update for new motion compensation
pretty print C

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:22:34 +02:00
Matt Oliver
ac9869ffb0 x86/mpegaudiodsp.c: msvc compilation error without sse/avx_external
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 14:15:02 +02:00
Michael Niedermayer
7db0f9bef1 avcodec/mpeg4videoenc: fix alternative implementation of mpeg4_encode_dc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 05:36:10 +02:00
Michael Niedermayer
141a84688f avcodec/mpeg4videodec: fix mcbpc error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 05:34:00 +02:00
Michael Niedermayer
2baf1c8c60 avcodec/snowenc: Fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 01:03:58 +02:00
Michael Niedermayer
89d2fc62db avcodec/svq3: Fix "incompatible pointer type" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 23:30:35 +02:00
Michael Niedermayer
ba040d4c8c Merge commit '3828eb8519c1530392ab8820b1aa784602128afc'
* commit '3828eb8519c1530392ab8820b1aa784602128afc':
  libfdk-aac: Relicense the library wrappers to 2-clause BSD

Conflicts:
	libavcodec/libfdk-aacdec.c
	libavcodec/libfdk-aacenc.c

<Daemon404> michaelni, fyi, for the fdk relicensing, wbs also contact all the ffmpeg-only contributers
<Daemon404> so it should be fine to merge.

Thanks-to: Martin Storsjö <martin@martin.st>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 16:18:15 +02:00
Martin Storsjö
3828eb8519 libfdk-aac: Relicense the library wrappers to 2-clause BSD
This should make it possible for Fraunhofer to contribute to these
wrappers - they didn't want to contribute to code under LGPL2.1 with
the "or any later version" clause (which allowed using the code
under the LGPL3 license).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-05 14:18:43 +03:00
Jean First
15fa856b82 libfdk-aacenc: Enable 7.1 channel encoding
7.1(wide) and 7.1(wide-side) channel layouts are supported in
fdk-aac since the 0.1.3 release.

The earlier versions of fdk-aac didn't include any library
version defines in the public headers, thus checking for
the AACENCODER_LIB_VL0 define is enough to know that we're
building against a new enough version of fdk-aac.

This change includes contributions by Tim Walker,
Michael Niedermayer and Timothy Gu.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-05 14:01:53 +03:00
Michael Niedermayer
ebf2c2c3a8 avcodec/lossless_videodsp: fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 05:49:18 +02:00
Michael Niedermayer
336901e060 avcodec/h263dec: use AV_EF_IGNORE_ERR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 13:24:40 +02:00
Michael Niedermayer
d7ade20adb avcodec: add AV_EF_IGNORE_ERR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 13:24:40 +02:00
Michael Niedermayer
0c06ca7a8a Merge commit 'a90d92ce2aeea8eaae5c616958d20e000e20b964'
* commit 'a90d92ce2aeea8eaae5c616958d20e000e20b964':
  aac: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:21:26 +02:00
Michael Niedermayer
3ea5beab8f Merge commit 'c6b42e85493915a3c3891345f57422f9031a0b4f'
* commit 'c6b42e85493915a3c3891345f57422f9031a0b4f':
  flv: K&R formatting cosmetics

Conflicts:
	libavcodec/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:15:37 +02:00
Michael Niedermayer
0a5cc20d4a avcodec/jpeglsdec: add cast to silence pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:54:01 +02:00
Michael Niedermayer
a520d8fd35 avcodec/snow_dwt: fix "incompatible pointer type" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:49:21 +02:00
Michael Niedermayer
5918c5a4cc avcodec/kgv1dec: add casts to silence "assignment from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:09:26 +02:00
Michael Niedermayer
bb605ef8ab avcodec/xbmdec: fix pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:07:54 +02:00
Michael Niedermayer
56cc178485 avcodec/h263dec: fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:23:12 +02:00
Michael Niedermayer
77df9de78c avcdoec/snowenc: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:08:18 +02:00
Michael Niedermayer
cc86158173 avcodec/ffv1dec: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:08:18 +02:00
Luca Barbato
925c37874b vp9: Read the frame size as unsigned
Sample-Id: 00001723-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-05-03 18:25:17 +02:00
Matt Oliver
3c3e02b8d1 x86/cavdsp: prevent named constraints appearing twice. 2014-05-03 17:47:55 +02:00
Michael Niedermayer
7ef01a7878 avcodec/h264: mark recovery_cnt==0 frames as keyframes
Fixes Ticket3063

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 16:01:45 +02:00
Carl Eugen Hoyos
a75349d0c8 Fix standalone compilation of dsd planar decoders. 2014-05-03 08:53:57 +02:00
Carl Eugen Hoyos
4116cbeaf5 Fix oga muxer standalone compilation. 2014-05-03 08:51:27 +02:00
Michael Niedermayer
64e448994c avcodec/h263dec: print MB position for each MB when TRACE is enabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 22:47:11 +02:00
Michael Niedermayer
41a679000f avcodec/mpegvideo: fix gray*() parameter types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 17:12:42 +02:00
Michael Niedermayer
c60b266eac avcodec/mpegvideo: support disabling motion compensation
This allows analyzing videos without having prior and current frames mixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 16:51:39 +02:00
Michael Niedermayer
e881a96632 avcodec/libxvid: improve return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 23:08:01 +02:00
Michael Niedermayer
2ff81d0916 avcodec/utils/ff_init_buffer_info factor avctx->internal->pkt; out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:59:59 +02:00
Michael Niedermayer
bbc604020f avcodec/utils: merge ff_decode_frame_props() and ff_init_buffer_info()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Michael Niedermayer
77811482ab avcodec/utils: ff_decode_frame_props: set pkt_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Michael Niedermayer
58f4d1266b Merge commit 'ba71c74017c287681153ec8f6f1cba650d797275'
* commit 'ba71c74017c287681153ec8f6f1cba650d797275':
  lavc: deprecate AVCodecContext.codec_name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 18:04:53 +02:00
Michael Niedermayer
e77b9853ea Merge commit 'a2941c8cb216bdc144953cace64973f5600ffa2d'
* commit 'a2941c8cb216bdc144953cace64973f5600ffa2d':
  lavc: move CODEC_FLAG_MV0 to mpegvideo

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:03:59 +02:00
Michael Niedermayer
e40ae8cc00 Merge commit '6484149158b6fc6d13d2b2ef84cb26a2d3275400'
* commit '6484149158b6fc6d13d2b2ef84cb26a2d3275400':
  lavc: make the xvid-specific "gmc" flag a private option of libxvid

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:56:40 +02:00
Michael Niedermayer
1851643987 Merge commit 'b2c31710c96fa47d9dcd40b64d39663e8957f683'
* commit 'b2c31710c96fa47d9dcd40b64d39663e8957f683':
  lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:46:38 +02:00
Michael Niedermayer
cac07d0e10 Merge commit '5fccedaa67390ccddd6347c8e1c71b7664558bcd'
* commit '5fccedaa67390ccddd6347c8e1c71b7664558bcd':
  lavc: deprecate CODEC_FLAG_INPUT_PRESERVED

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:41:41 +02:00
Luca Barbato
a90d92ce2a aac: K&R formatting cosmetics 2014-05-01 13:00:57 +02:00
Luca Barbato
c6b42e8549 flv: K&R formatting cosmetics 2014-05-01 13:00:57 +02:00
Anton Khirnov
ba71c74017 lavc: deprecate AVCodecContext.codec_name
It is undocumented and has no real use.
2014-05-01 09:31:32 +02:00
Anton Khirnov
e7fc9796d8 lavc: do not use AVCodecContext.codec_name in avcodec_string()
That field will be deprecated.
2014-05-01 09:26:57 +02:00
Anton Khirnov
a2941c8cb2 lavc: move CODEC_FLAG_MV0 to mpegvideo 2014-05-01 09:24:18 +02:00
Anton Khirnov
6484149158 lavc: make the xvid-specific "gmc" flag a private option of libxvid 2014-05-01 09:24:02 +02:00
Anton Khirnov
b2c31710c9 lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo 2014-05-01 09:23:19 +02:00
Anton Khirnov
5fccedaa67 lavc: deprecate CODEC_FLAG_INPUT_PRESERVED
The addition of reference-counted frames makes it pointless.
2014-05-01 09:22:47 +02:00
Michael Niedermayer
617e866e25 Move av_find_best_pix_fmt_of_2() from avcodec to avutil
This avoids a dependancy of libavfilter on libavcodec

See Ticket 3592
Fixes Ticket2784

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 23:14:05 +02:00
Michael Niedermayer
0eb9482e32 avcodec/flacenc: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 18:28:40 +02:00
Michael Niedermayer
f08ca91b05 avcodec/ivi_common: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 18:27:51 +02:00
Michael Niedermayer
8532566e80 avcodec/mjpegdec: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 18:26:28 +02:00
Michael Niedermayer
1e25afc181 avcodec/tiff: Support 410 and 440 YCbCr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 17:41:31 +02:00
Michael Niedermayer
f0c78b0769 avcodec/vorbisdec: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 05:23:44 +02:00
Michael Niedermayer
0a266cb55a avcodec/vorbisdec: try to workaround libvorbisenc bug
Fixes Ticket3590

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 05:23:37 +02:00
Michael Niedermayer
37ce3188de Merge commit '9d76dd952ffd9fffc7f9fb5cc5af6d093ba54521'
* commit '9d76dd952ffd9fffc7f9fb5cc5af6d093ba54521':
  h264: drop commented out cruft

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:38:13 +02:00
Michael Niedermayer
b3d48c315d Merge commit 'c1f92d13589d431e576d719dd44427486a5e05cd'
* commit 'c1f92d13589d431e576d719dd44427486a5e05cd':
  mpegvideo: remove unused MpegEncContext.b4_stride

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:28:51 +02:00
Michael Niedermayer
8b30702c44 Merge commit '6a13505c069890cb0e2a07e29fd819a0cf2e73c1'
* commit '6a13505c069890cb0e2a07e29fd819a0cf2e73c1':
  mpegvideo: move the MpegEncContext fields used from arm asm to the beginning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:23:01 +02:00
gcocherel
2eddf3a6ef avcodec/hevc: fix no output of prior pics and pic output flags(cherry picked from commit e99b96dff1d76d74cb5633aa9702828d863050e2)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 22:43:25 +02:00
Michael Niedermayer
03b88f6b39 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/drawtext: allow to format pts as HH:MM:SS.mmm.
  lavf/concatdec: implement automatic conversions.
  lavf/concatdec: reindent after last commit.
  lavf/concatdec: always do stream matching.
  lavf/concatdec: check match_streams() return value.
  lavf/concatdec: use a structure for each stream.
  ffprobe: use the codec descriptor if no decoder was found.
  lavf/matroska: add "binary" pseudo-MIME type.
  lavc: minor bump and APIchanges for AVCodecDescriptor.mime_types.
  lavc: add a mime_types field to codec descriptors.
  lavc: add AV_CODEC_ID_BIN_DATA.
  lavc: add codec descriptors for TTF and OTF.
  lavc: add codec descriptors for deprecated ids.
  lavc/codec_desc: add separation comment.
  tools/ffhash: implement base64 output.
  tools/ffhash: use av_hash_final_hex().
  lavu/hash: add hash_final helpers.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 19:29:48 +02:00
Michael Niedermayer
f694ca7ca7 avcodec/tiff: support 4:2:2 and 4:1:1 YCbCr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 18:39:24 +02:00
Michael Niedermayer
6a0b5e3476 avcodec/mpegvideo: fix null pointer dereference
Fixes: 111342.ogm with ffplay
Found-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 14:52:12 +02:00
Anton Khirnov
9d76dd952f h264: drop commented out cruft 2014-04-29 14:49:42 +02:00
Anton Khirnov
c1f92d1358 mpegvideo: remove unused MpegEncContext.b4_stride 2014-04-29 14:49:42 +02:00
Anton Khirnov
6a13505c06 mpegvideo: move the MpegEncContext fields used from arm asm to the beginning
This should reduce the frequency with which the offsets need to be
updated.
2014-04-29 14:49:42 +02:00
Nicolas George
70beebe357 lavc: minor bump and APIchanges for AVCodecDescriptor.mime_types.
The minor bump also covers AV_CODEC_ID_BIN_DATA.
2014-04-29 13:25:52 +02:00
Nicolas George
1bf6396498 lavc: add a mime_types field to codec descriptors. 2014-04-29 13:24:18 +02:00
Nicolas George
6ea1196673 lavc: add AV_CODEC_ID_BIN_DATA. 2014-04-29 13:24:18 +02:00
Nicolas George
892e2c2ad8 lavc: add codec descriptors for TTF and OTF. 2014-04-29 13:24:18 +02:00
Nicolas George
fa7bc7ed8b lavc: add codec descriptors for deprecated ids. 2014-04-29 13:24:18 +02:00
Nicolas George
e419e29e1c lavc/codec_desc: add separation comment. 2014-04-29 13:24:17 +02:00
Michael Niedermayer
ede411dd03 avcodec/vc1_parser: fix use of uinitialized memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 04:30:53 +02:00
Michael Niedermayer
0f630b7b12 Merge commit 'ed4b757177f9b563412cdbc8ee3405d82e10fc05'
* commit 'ed4b757177f9b563412cdbc8ee3405d82e10fc05':
  dxva2_h264: add a workaround for old Intel GPUs

Conflicts:
	doc/APIchanges
	libavcodec/version.h

See: 8b2a130d3f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:52:05 +02:00
Michael Niedermayer
8120668351 avcodec/hevc_cabac: decrease CABAC_MAX_BIN
Prevents shifts with undefined behavior

Fixes CID1206634
Fixes CID1206635
Fixed CID1206636

Reviewed-by: smarter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 20:37:48 +02:00
Michael Niedermayer
b2b4afe811 hwaccel: fix dxva2 & vaapi loop filter parameters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 20:23:17 +02:00
Hendrik Leppkes
ed4b757177 dxva2_h264: add a workaround for old Intel GPUs
Old Intel GPUs expect the reference frame index to the actual surface,
instead of the index into RefFrameList as specified by the spec.

This workaround should be set when using one of the "ClearVideo" decoder
devices.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 20:21:59 +02:00
Hendrik Leppkes
2fcef90bee dxva2_h264: set the correct ref frame index in the long slice struct
The latest H.264 DXVA specification states that the index in this
structure should refer to a valid entry in the RefFrameList of the picture
parameter structure, and not to the actual surface index.

Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 20:12:44 +02:00
Michael Niedermayer
2cf514354b avcodec/mpeg12enc: increase declared size of block function argument
Fixes CID1047236
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 01:11:04 +02:00
Michael Niedermayer
e31727bd53 avcodec/mjpegdec: make type of shift unsigned to avoid undefined behavior
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 00:22:38 +02:00
Michael Niedermayer
4260ed462b avcodec/h264_cabac: fix indention
Fixes CID1087088
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 00:22:38 +02:00
Michael Niedermayer
1fc28cf164 avcodec/g729postfilter: avoid potential negative shift
Fixes CID1194402

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 23:12:42 +02:00
Michael Niedermayer
d03defa778 avcodec/tiff: Support yuv 420 and 444
Fixes Ticket416
Trolled-by: jb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 21:03:15 +02:00
Michael Niedermayer
1ca21e1b76 avcodec/tiff: parse subsample factors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 18:44:58 +02:00
Michael Niedermayer
9341e9497b Fix overriden typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:20:45 +02:00
Michael Niedermayer
466988ab75 Fix dont and doesnt typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:14:32 +02:00
Michael Niedermayer
e9ad121ba5 Fix skiping typos
Found-by: Alessandro Ghedini <alessandro@ghedini.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 14:50:14 +02:00
Michael Niedermayer
e20ebe491c avcodec/shorten: check bitshift
Fixes invalid shift
Fixes CID1194400

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 13:03:28 +02:00
Michael Niedermayer
b432960528 avcodec/mjpegdec: Fix undefined shift
Fixes CID1194388

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 05:32:56 +02:00
Michael Niedermayer
bc3234062d avcodec/truemotion2: replace impossible condition by av_assert2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 05:20:04 +02:00
Michael Niedermayer
ebfe154bd5 avcodec/apedec: tmpk==32 is not supported, prevent undefined behavior
Fixes CID1206639
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 20:56:31 +02:00
Michael Niedermayer
3ba77ea369 avcodec/vc1dec: print debug message if a b frame without reference is skiped
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 01:41:31 +02:00
Michael Niedermayer
8b2c3d2ae9 Merge commit 'cdf6eb5a9710566be217a3f17d3d94ac4e4d2662'
* commit 'cdf6eb5a9710566be217a3f17d3d94ac4e4d2662':
  vc1: Do not return an error when skipping b frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 01:06:15 +02:00
Michael Niedermayer
e0e60c9211 avcodec/dpx: extract frame rate
Fixes part of Ticket3511

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 23:40:59 +02:00
Alessandro Ghedini
cdf6eb5a97 vc1: Do not return an error when skipping b frames
This caused mpv (and possibly others) to fallback to software decoding after
seeking a VC1 stream.

Bug-Id: 667

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 18:22:25 +02:00
Michael Niedermayer
92cc6d5163 avcodec/mdct_template: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:07:31 +02:00
Michael Niedermayer
681a5b8d6f avcodec/ttaenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:04:42 +02:00
Michael Niedermayer
abbcc6b26b avcodec/utils: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:03:26 +02:00
Michael Niedermayer
2f2629c870 Merge commit '6d69f9f37689c999815a65a2d99999fad3a41705'
* commit '6d69f9f37689c999815a65a2d99999fad3a41705':
  vp9: write uveob as 16-bit value for 16x16/32x32 transforms.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 13:55:44 +02:00
Ronald S. Bultje
6d69f9f376 vp9: write uveob as 16-bit value for 16x16/32x32 transforms.
This fixes make fate-vp9-00-quantizer-01 THREADS=2.
2014-04-25 07:51:39 -04:00
James Almer
c7b089048d vp9: use LOCAL_ALIGNED_32 for left/top intra_pred pointers
This is needed for future AVX2 implementations

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 06:13:15 +02:00
Ben Avison
a0d7f9ec9a vc-1: Optimise parser (with special attention to ARM)
The previous implementation of the parser made four passes over each input
buffer (reduced to two if the container format already guaranteed the input
buffer corresponded to frames, such as with MKV). But these buffers are
often 200K in size, certainly enough to flush the data out of L1 cache, and
for many CPUs, all the way out to main memory. The passes were:

1) locate frame boundaries (not needed for MKV etc)
2) copy the data into a contiguous block (not needed for MKV etc)
3) locate the start codes within each frame
4) unescape the data between start codes

After this, the unescaped data was parsed to extract certain header fields,
but because the unescape operation was so large, this was usually also
effectively operating on uncached memory. Most of the unescaped data was
simply thrown away and never processed further. Only step 2 - because it
used memcpy - was using prefetch, making things even worse.

This patch reorganises these steps so that, aside from the copying, the
operations are performed in parallel, maximising cache utilisation. No more
than the worst-case number of bytes needed for header parsing is unescaped.
Most of the data is, in practice, only read in order to search for a start
code, for which optimised implementations already existed in the H264 codec
(notably the ARM version uses prefetch, so we end up doing both remaining
passes at maximum speed). For MKV files, we know when we've found the last
start code of interest in a given frame, so we are able to avoid doing even
that one remaining pass for most of the buffer.

In some use-cases (such as the Raspberry Pi) video decode is handled by the
GPU, but the entire elementary stream is still fed through the parser to
pick out certain elements of the header which are necessary to manage the
decode process. As you might expect, in these cases, the performance of the
parser is significant.

To measure parser performance, I used the same VC-1 elementary stream in
either an MPEG-2 transport stream or a MKV file, and fed it through ffmpeg
with -c:v copy -c:a copy -f null. These are the gperftools counts for
those streams, both filtered to only include vc1_parse() and its callees,
and unfiltered (to include the whole binary). Lower numbers are better:

                Before          After
File  Filtered  Mean   StdDev   Mean   StdDev  Confidence  Change
M2TS  No        861.7  8.2      650.5  8.1     100.0%      +32.5%
MKV   No        868.9  7.4      731.7  9.0     100.0%      +18.8%
M2TS  Yes       250.0  11.2     27.2   3.4     100.0%      +817.9%
MKV   Yes       149.0  12.8     1.7    0.8     100.0%      +8526.3%

Yes, that last case shows vc1_parse() running 86 times faster! The M2TS
case does show a larger absolute improvement though, since it was worse
to begin with.

This patch has been tested with the FATE suite (albeit on x86 for speed).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:36:29 +02:00
Ben Avison
9d8ecdd8ca vc-1: Add platform-specific start code search routine to VC1DSPContext.
Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:36:11 +02:00
Ben Avison
270cede3f3 h264: Move search code search functions into separate source files.
This permits re-use with parsers for codecs which use similar start codes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:35:56 +02:00
Michael Niedermayer
e148a5820d Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Enable muxing ac-3 in caf.
  Use correct msvc type specifiers for ptrdiff_t and size_t.
  Fix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS.
  Fix libpostproc compilation with !HAVE_6REGS.
  Never write 0 as maximum bitrate for asf files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 01:56:23 +02:00
Michael Niedermayer
06e664366a Merge commit 'a88e1d1c598e641eecd5d43730211d91c82787c6'
* commit 'a88e1d1c598e641eecd5d43730211d91c82787c6':
  lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 00:55:40 +02:00
James Almer
5ac10d40fb x86/mpegaudiodsp: define apply_window_mp3 as SSE
None of the handwritten asm in this function seems to be SSE2

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 00:38:01 +02:00
Janne Grunau
a88e1d1c59 lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets 2014-04-24 18:28:26 +02:00
Carl Eugen Hoyos
ced0d6c14d Use correct msvc type specifiers for ptrdiff_t and size_t.
The Windows runtime aborts if it finds %t or %z.
Fixes ticket #3472.

Reviewed-by: Ronald Bultje
2014-04-24 18:01:30 +02:00
Michael Niedermayer
417ae6281b Merge commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84'
* commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84':
  on2avc: change a comment at #endif to match actual define

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 23:03:20 +02:00
Michael Niedermayer
23cd5cb18f avcodec/fic: avoid 2 additions per idct row
before:
5225 decicycles in IDCT, 32756 runs, 12 skips

after:
5057 decicycles in IDCT, 32765 runs, 3 skips

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 22:34:31 +02:00
Kostya Shishkov
7cade8ea2b on2avc: change a comment at #endif to match actual define 2014-04-23 20:54:29 +02:00
Michael Niedermayer
56efd98a65 Merge commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd'
* commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd':
  On2 AVC decoder

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 20:47:13 +02:00
Kostya Shishkov
e2834567d7 On2 AVC decoder 2014-04-23 19:57:44 +02:00
Derek Buitenhuis
14da7f9eb7 fic: Support rendering cursors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 13:31:22 -04:00
Derek Buitenhuis
d7eb8f9033 fic: Make warning message more accurate
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 17:53:00 +01:00
Derek Buitenhuis
7596fc3d4b fic: Remove redundant clips
The equations can't overflow or underflow anyway.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 12:40:39 -04:00
Michael Niedermayer
1aa388d439 avcodec/jpeg2000dwt: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:52:45 +02:00
Michael Niedermayer
7de2cea8a9 avcodec/motionpixels: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:52:28 +02:00
Michael Niedermayer
c161134035 avcodec/snow_dwt: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:51:41 +02:00
Derek Buitenhuis
e299cb2cd3 fic: Simplify alpha blending
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 17:51:43 -04:00
Michael Niedermayer
cc17ff8826 Merge commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261'
* commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261':
  aarch64: NEON vorbis_inverse_coupling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:51:19 +02:00
Michael Niedermayer
59bfddfcda Merge commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4'
* commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4':
  aarch64: NEON fixed/floating point MPADSP apply_window

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:45:50 +02:00
Michael Niedermayer
ef1961e7fc Merge commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855'
* commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855':
  aarch64: NEON float (i)MDCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:27:02 +02:00
Michael Niedermayer
13f4428915 Merge commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62'
* commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62':
  aarch64: NEON float FFT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:06:24 +02:00
Derek Buitenhuis
6d149d2818 fic: Use proper quantization matrix index
The matrices are not zigzagged.

Fixes artefacting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 16:22:08 -04:00
Derek Buitenhuis
9155c595f1 fic: Support rendering cursors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 21:20:23 +01:00
Derek Buitenhuis
40b331e1f4 fic: Use proper quantization matrix index
The matrices are not zigzagged.

Fixes artefacting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 21:20:23 +01:00
Janne Grunau
3956a5e0ea aarch64: NEON vorbis_inverse_coupling
From the ARMv7 NEON version. 16 times faster as the C version, overall
more than 12% faster vorbis decoding on Apple's A7.
2014-04-22 22:01:45 +02:00
Janne Grunau
8f9fe6ae34 aarch64: NEON fixed/floating point MPADSP apply_window
30%/25% (fixed/float) faster mp3 decoding on Apple's A7. The floating
point decoder is approximately 7% faster.
2014-04-22 22:01:45 +02:00
Reimar Döffinger
ab14bcb104 Add "const" to avoid compiler warning.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-22 20:44:31 +02:00
Reimar Döffinger
8cbf0827e1 Various small spelling fixes.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-22 20:44:31 +02:00
Michael Niedermayer
994a582a02 avcodec/dvbsubdec: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 20:08:30 +02:00
Michael Niedermayer
ea8e089ff7 avcodec/cook: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 20:08:30 +02:00
Michael Niedermayer
b20d6cf603 avcodec/dsddec: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 20:08:30 +02:00
Janne Grunau
ee2bc5974f aarch64: NEON float (i)MDCT
Approximately as fast as the ARM NEON version on Apple's A7.
2014-04-22 19:35:41 +02:00
Janne Grunau
650c4300d9 aarch64: NEON float FFT
Approximately as fast as the ARM NEON version on Apple's A7.
2014-04-22 19:35:40 +02:00
Hendrik Leppkes
5809c2a99d vc1dsp: fix build without inline asm
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 14:01:53 +02:00
Michael Niedermayer
5e6be52bac Merge commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9'
* commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9':
  lavc: improve AVCodecContext.delay doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 13:34:43 +02:00
Anton Khirnov
b19a5e5198 lavc: improve AVCodecContext.delay doxy 2014-04-22 07:44:40 +02:00
Michael Niedermayer
da621ffbcf avcodec/wma: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:41:05 +02:00
Michael Niedermayer
dcad6ba68a avcodec/libxavs: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:39:23 +02:00
Michael Niedermayer
78fb5f6e2a avcodec/cngenc: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:38:03 +02:00
Michael Niedermayer
0dadbbbfd1 avcodec/snow: use FF_ALLOC(Z)_ARRAY_OR_GOTO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:12:02 +02:00
Michael Niedermayer
1c7b71a5bd mpegvideo: Use the current_picture pts
The picture slot can be recycled by select_input_picture and
only current_picture is populated with the valid pts.

Unbreak timestamps when in cbr mode.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-21 21:58:58 +02:00
Michael Niedermayer
6f243b17c5 avcodec/fic: Fix return value check
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
144f7a561d avcodec/fic: clear slice_data
Fixes artifacts
Fixes use of freed memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
f34d3173fc avcodec/fic: fix slice checks
fix integer overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
451c78740a Merge commit '93e15a323871613fd26f1f1e317029a50b5b24ca'
* commit '93e15a323871613fd26f1f1e317029a50b5b24ca':
  fic: use correct IDCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 20:20:39 +02:00
Kostya Shishkov
93e15a3238 fic: use correct IDCT
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 12:37:54 -04:00
Clément Bœsch
62d31307c1 avcodec/x86/vp9lpf: add a comment above a bunch of SWAP. 2014-04-20 21:33:58 +02:00
Clément Bœsch
f0d368d758 avcodec/x86/vp9lpf: merge a few movs with other instructions. 2014-04-20 21:29:11 +02:00
Michael Niedermayer
af89a685c4 avcodec/arm/vc1dsp_init_neon: fix code so it compiles and passes fate-vc1
The original patch  seems to be missing a 16x16 function though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 20:32:21 +02:00
Christophe Gisquet
319235c67c vc1dsp: introduce cases for 8x8 and 16x16
This allows further unrolling the DSP implementation where possible.

x86 and ARM DSP modified by simply moving the multiple calls from vc1dec
to the DSP code. Decoding improvements should only occurs because of the
compiler actually able to unroll more.

Decoding time: ~8.80s -> 8.64s (ie around 2%)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 18:25:36 +02:00
Michael Niedermayer
de9cd58848 avcdoec/webp: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:35:19 +02:00
Michael Niedermayer
8c88ea76df avcodec/tiff: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:32:17 +02:00
Michael Niedermayer
1fd5c7f1ee avcodec/ratecontrol: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:30:15 +02:00
Michael Niedermayer
69bbe27b45 avcodec/huffman: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:25:01 +02:00
Michael Niedermayer
e70b9b32d5 avcodec/exif: do not follow 0 offsets
Fixes exif decoding failure of 1295328_300.jpg

Reviewed-by; Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:02:16 +02:00
Michael Niedermayer
a94de50ba0 avcodec/exif/exif_add_metadata: add support for SSHORT & SBYTE
No working testcase, this omission was just spoted when the parser apparently went out of
sync.

Reviewed-by; Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:01:46 +02:00
Michael Niedermayer
373d7dd371 Merge commit '911fa05b514e1be009e00b79d7004b93717c023b'
* commit '911fa05b514e1be009e00b79d7004b93717c023b':
  mvc: Specify the pixel format for the mv-mvc* tests

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 22:43:16 +02:00
Martin Storsjö
911fa05b51 mvc: Specify the pixel format for the mv-mvc* tests
Also set the RGBA pixel format correctly as the native endian format,
which is what it returns.

This fixes the tests on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-19 21:41:34 +03:00
Michael Niedermayer
0c67ef2729 Merge commit '86a0432688216562926d4aee36118f01be6d5e1b'
* commit '86a0432688216562926d4aee36118f01be6d5e1b':
  Silicon Graphics Motion Video Compressor 1 & 2 decoder

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/mvcdec.c
	libavcodec/version.h

See: 746b1dcc98
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 19:47:58 +02:00
Michael Niedermayer
e37dbfddda Merge commit '07761294fc3f08e139e8a406ef7d5b63aaf1ecee'
* commit '07761294fc3f08e139e8a406ef7d5b63aaf1ecee':
  Silicon Graphics RLE 8-bit video decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/sgirledec.c
	libavcodec/version.h

See: afa1617b93
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 19:26:46 +02:00
Michael Niedermayer
928b5708f9 Merge commit '34c5a6660a9e5e3cf301691bb29d011638953dc2'
* commit '34c5a6660a9e5e3cf301691bb29d011638953dc2':
  h264: codec reinit: remove statements without effect

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:50:32 +02:00
Michael Niedermayer
c1bc20bfd9 Merge commit '6ef96292d99302a59f824713fc763f6abd3754df'
* commit '6ef96292d99302a59f824713fc763f6abd3754df':
  utils: add yvyu422 to avcodec_align_dimensions2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:38:39 +02:00
Clément Bœsch
010732b73a vp9/x86: simplify FILTER_INIT.
In the 2 FILTER_INIT usages, the source is already preloaded so that
extra complexity taken from FILTER_UPDATE is not necessary.

Also add forgotten "mask" argument in FILTER_{INIT,UPDATE} comments.
2014-04-19 17:30:33 +02:00
Clément Bœsch
b8d002dc95 vp9/x86: clarify mixed splatb. 2014-04-19 17:00:51 +02:00
Peter Ross
86a0432688 Silicon Graphics Motion Video Compressor 1 & 2 decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-19 16:24:26 +02:00
Peter Ross
07761294fc Silicon Graphics RLE 8-bit video decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-19 16:24:26 +02:00
Janne Grunau
34c5a6660a h264: codec reinit: remove statements without effect
avctx->coded_{height,width} will always equal h->{height,width} since
init_dimensions() does that explicitly, Size changes are detected by
changes in mb_{height,width} earlier and propagated through the
needs_reinit variable.
2014-04-19 16:22:06 +02:00
Vittorio Giovara
6ef96292d9 utils: add yvyu422 to avcodec_align_dimensions2 2014-04-19 16:20:58 +02:00
Carl Eugen Hoyos
b38910c979 Fix compilation with !HAVE_6REGS.
Can be tested with:
$ ./configure --cc='cc -m32' --disable-optimizations --enable-pic
2014-04-19 09:56:01 +02:00
Carl Eugen Hoyos
72c93abaad Use MANGLE in cavsdsp.c to save two registers using gcc.
Fixes compilation with !HAVE_6REGS.
2014-04-19 09:54:26 +02:00
Michael Niedermayer
60c8c7144e avcodec/qtrleenc: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 20:43:02 +02:00
Michael Niedermayer
683b6e3183 avcodec/smacker: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 20:43:02 +02:00
Michael Niedermayer
9b888fb159 avcodec/roqvideoenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 20:43:02 +02:00
Justin Ruggles
591c0c26b5 mjpeg: cosmetics: indentation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-18 12:41:17 -04:00
Justin Ruggles
39ef000e19 mjpeg: Do not fail jpeg decoding on bad EXIF data.
It is not required to correctly decode the image.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-18 12:41:10 -04:00
Michael Niedermayer
71f8cdcc16 avcodec/snow: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:22:29 +02:00
Michael Niedermayer
bb0d9aedcb avcodec/tta: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:19:09 +02:00
Michael Niedermayer
b9831364de avcodec/vc1dec: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:15:08 +02:00
Carl Eugen Hoyos
941b2240f2 Do not overwrite VDPAU structures in ff_MPV_frame_start().
Fixes crashes with VDR and MPlayer as reported by irc user crow.
2014-04-18 05:08:24 +02:00
James Almer
197fe392db x86/dsputil: use HADDD where applicable
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 14:15:35 +02:00
James Almer
76ed71a72b x86: move horizontal add macros to x86util
Also port relevant AVX2/XOP optimizations from x264 with permission
to relicense to LGPL from the corresponding authors

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 14:15:09 +02:00
Michael Niedermayer
58a53123ba avcodec/vble: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 19:45:43 +02:00
Michael Niedermayer
cb53beb81a iavcodec/vc1dec: Fix missing {}
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 03:56:39 +02:00
Michael Niedermayer
1457f3fd90 avcodec/g723_1: add assert to help static code analyzers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:55:13 +02:00
Michael Niedermayer
b8598f6ce6 avcodec/diracdec: fix undefined behavior with shifts
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:51:41 +02:00
Michael Niedermayer
230db1426d avcodec/fic: Fix return value check
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:32:37 +02:00
Michael Niedermayer
f202af29c9 avcodec/dcadec: fix error message suppression code
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:24:12 +02:00
Michael Niedermayer
256f530603 avcodec/mjpegen: Fix declared argument size
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:14:14 +02:00
Peter Ross
5f4f9ee99f Direct Stream Digital (DSD) decoder
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 20:35:57 +02:00
Michael Niedermayer
c6902f96d7 avcodec/mpegaudioenc_template: Fix integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 15:09:57 +02:00
Michael Niedermayer
2adcd15f2e Merge commit 'a6ac4fcce44108f6f87278b8d12e890576f46a62'
* commit 'a6ac4fcce44108f6f87278b8d12e890576f46a62':
  vp78: Align the intra4x4_pred_mode_top array within VP8Macroblock

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 01:23:00 +02:00
Martin Storsjö
a6ac4fcce4 vp78: Align the intra4x4_pred_mode_top array within VP8Macroblock
This array is written using AV_WN32A, assuming alignment.

This hopefully fixes the failing vp7 fate test on sparc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-14 21:27:20 +03:00
Michael Niedermayer
3df787a1ef Merge branch 'flac' of https://github.com/FernetMenta/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 18:35:02 +02:00
Michael Niedermayer
46d5625f44 avcodec/x86/idct_sse2_xvid: fix non C99 inline function
Found-by: Matt Oliver <protogonoi@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 18:04:57 +02:00
Rainer Hochecker
e1fcd3a007 flac demuxer: improve seeking 2014-04-14 17:43:19 +02:00
Carl Eugen Hoyos
ef48ac6523 Set the bitrate when decoding speex.
The bitrate of the first frame is used as bitrate for the speex stream.
2014-04-14 15:36:01 +02:00
Michael Niedermayer
9468e9e5a2 Merge commit 'b3d905b702dcdda9e3ae2bcb7b5580ca77a96ab7'
* commit 'b3d905b702dcdda9e3ae2bcb7b5580ca77a96ab7':
  dcadec: Delete redundant init_get_bits call

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 14:44:58 +02:00
Niels Möller
b3d905b702 dcadec: Delete redundant init_get_bits call
No initialization is needed in dca_decode_frame, because the next
thing it does is calling dca_parse_frame_header, which takes care of
the needed initialization.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-14 11:56:26 +02:00
Michael Niedermayer
4b8e7a1414 avcodec/utils: prettify remap_deprecated_codec_id()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:54:49 +02:00
Michael Niedermayer
d42a61922b avcodec/psymodel: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:36:59 +02:00
Michael Niedermayer
5ec8192949 avcodec/fft-test: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:36:59 +02:00
James Almer
0f524b6c69 x86/synth_filter: remove the fma3 version ifdefs
This fixes compilation failures with --disable-fma3

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-13 11:29:28 +02:00
Michael Niedermayer
1dc2d4a8ef avcodec/tiff: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:33:20 +02:00
Michael Niedermayer
a676e48d39 Merge commit '801c39e1e3058fc4ba822bfb5d8612d777111e32'
* commit '801c39e1e3058fc4ba822bfb5d8612d777111e32':
  dcadec: Use correct channel count in stereo downmix check

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:23:56 +02:00
Michael Niedermayer
952614b899 Merge commit 'c8cf461c19e8e35df4b7364d9b90aa42f1ab4560'
* commit 'c8cf461c19e8e35df4b7364d9b90aa42f1ab4560':
  dcadec: Do not decode the XCh extension when downmixing to stereo

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:07:27 +02:00
Michael Niedermayer
a64d6d5152 Merge commit '345a96c327e8f2a8077189af9f5e8d2b3f4ad5fe'
* commit '345a96c327e8f2a8077189af9f5e8d2b3f4ad5fe':
  tiffdec: remove an unneeded variable

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:54:11 +02:00
Michael Niedermayer
b9b2f9d218 Merge commit 'a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed'
* commit 'a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed':
  tiff: use a better name and enum values for PhotometricInterpretation

Conflicts:
	libavcodec/tiff.c
	libavcodec/tiff.h
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:45:45 +02:00
Michael Niedermayer
75b4e40137 Merge commit 'fdbe18b7b0545f9b5923d25a5433e4f735719ecc'
* commit 'fdbe18b7b0545f9b5923d25a5433e4f735719ecc':
  tiffdec: use a single strip if RowsPerStrip is 0

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:30:02 +02:00
Michael Niedermayer
94cf83ff91 Merge commit '0a467a9b594dd67aa96bad687d05f8845b009f18'
* commit '0a467a9b594dd67aa96bad687d05f8845b009f18':
  tiffdec: use bytestream2 to simplify overread/overwrite protection

Conflicts:
	libavcodec/tiff.c

See: 1ec83d9a9e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:20:09 +02:00
Michael Niedermayer
31876ea620 Merge commit '5748faf291fec297ef25d81962b52b3438f54278'
* commit '5748faf291fec297ef25d81962b52b3438f54278':
  bytestream: add bytestream2_copy_buffer() functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 02:06:47 +02:00
Michael Niedermayer
6145b1d9c1 Merge commit 'bf2064f046af64c59a416c814474a39b0a457569'
* commit 'bf2064f046af64c59a416c814474a39b0a457569':
  tiffdec: rename variables for consistency and fix variable shadowing

Conflicts:
	libavcodec/tiff.c

See: 251345a3fe
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 01:49:19 +02:00
Tim Walker
801c39e1e3 dcadec: Use correct channel count in stereo downmix check
s->prim_channels is greater than num_core_channels
when an XCh extension is present in the bitstream.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 23:05:37 +02:00
Tim Walker
c8cf461c19 dcadec: Do not decode the XCh extension when downmixing to stereo
This is neither necessary nor currently supported.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 23:05:07 +02:00
Justin Ruggles
345a96c327 tiffdec: remove an unneeded variable 2014-04-12 14:52:10 -04:00
Jean First
e75ef2b7f4 tiffdec: support predictor type 2 with RGB48 pixel format 2014-04-12 14:52:10 -04:00
Justin Ruggles
a9b046fb0a tiff: use a better name and enum values for PhotometricInterpretation
Also add additional known values and log as missing features.
2014-04-12 14:52:07 -04:00
Justin Ruggles
fdbe18b7b0 tiffdec: use a single strip if RowsPerStrip is 0
The spec does not specify that 0 is an error condition, and there
are samples which use 0 when the whole image is in one strip.
2014-04-12 14:49:08 -04:00
Justin Ruggles
0a467a9b59 tiffdec: use bytestream2 to simplify overread/overwrite protection
Based on a patch by Paul B Mahol <onemda@gmail.com>

CC:libav-stable@libav.org
2014-04-12 14:49:08 -04:00
Justin Ruggles
5748faf291 bytestream: add bytestream2_copy_buffer() functions
This is basically an overread/overwrite-safe memcpy between a
GetByteContext and a PutByteContext.

CC:libav-stable@libav.org
2014-04-12 14:49:08 -04:00
Paul B Mahol
de9d2705f6 bytestream: add functions for accessing size of buffer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2014-04-12 14:49:08 -04:00
Jean First
bf2064f046 tiffdec: rename variables for consistency and fix variable shadowing
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2014-04-12 14:49:07 -04:00
Justin Ruggles
58bc38a5f2 tiffdec: use correct data type for palette entries and set alpha to 0xFF 2014-04-12 14:49:07 -04:00
Michael Niedermayer
e89f3d0ed2 avcodec/ffv1: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 15:41:00 +02:00
Michael Niedermayer
713e62e91d avcodec/faxcompr: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 15:37:57 +02:00
Michael Niedermayer
36053aeff6 vcodec/error_resilience: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 15:33:55 +02:00
Michael Niedermayer
fb4ac46d7f avcodec/elbg: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 05:40:37 +02:00
Michael Niedermayer
46375e9a97 avcodec/diracdec: use av_malloc(z)_array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 05:38:31 +02:00
Michael Niedermayer
66e959682c avcodec/mpegvideo_enc: override bitrate tolerance when its value is too small
Fixes Ticket3257

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 01:29:20 +02:00
Michael Niedermayer
27763db928 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Improve amr bitrate calculation for VBR files.
  Warn if rawvideo and an unreadable pix_fmt are written.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 00:17:35 +02:00
Michael Niedermayer
88ceede1fd avcodec/jpegls: print coding parameters stored in LSE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 23:39:09 +02:00
Carl Eugen Hoyos
8b122937af Warn if rawvideo and an unreadable pix_fmt are written.
Print an error if a combination of rawvideo and an unusual pix_fmt
that will be impossible to decode are written to avi or mov.
Fixes ticket #3545.
2014-04-11 23:35:11 +02:00
Michael Niedermayer
ee2a43798c Merge commit '676856204b84dfaffe329dce8502e834a0dbdb19'
* commit '676856204b84dfaffe329dce8502e834a0dbdb19':
  DNxHD: make get_pixel_8x4_sym accept ptrdiff_t as stride

Conflicts:
	libavcodec/dnxhdenc.h
	libavcodec/x86/dnxhdenc_init.c

See: cb11b9e89e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 14:28:19 +02:00
Michael Niedermayer
bad101ab8a Merge commit '89ef08c992c484a46711b1a68a988303679c288e'
* commit '89ef08c992c484a46711b1a68a988303679c288e':
  DNxHD: K&R formatting cosmetics

Conflicts:
	libavcodec/dnxhd_parser.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 14:04:10 +02:00
Timothy Gu
71c32ed533 DNxHD: convert inline asm to yasm 2014-04-11 12:09:09 +02:00
Timothy Gu
676856204b DNxHD: make get_pixel_8x4_sym accept ptrdiff_t as stride 2014-04-11 12:09:09 +02:00
Vittorio Giovara
89ef08c992 DNxHD: K&R formatting cosmetics 2014-04-11 12:09:08 +02:00
Michael Niedermayer
d9fef740bd avcodec/dnxhdenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 06:31:45 +02:00
Michael Niedermayer
1de8a4f736 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp2: Do not force a samplerate

Conflicts:
	libavcodec/mpegaudioenc_template.c

Only libtwolame changes, as the forcing of a sample rate was not merged for the native mp2 encoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 01:26:07 +02:00
Michael Niedermayer
268b1eae22 avcodec/mpegaudioenc_template: default to 384k bitrate as default
If 384k is too high for the samplerate, choose the closest
possible

Idea to increase the bitrate from: 46439e1562
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 01:13:16 +02:00
Luca Barbato
a7448064c5 mp2: Do not force a samplerate
The default should be not to resample.
2014-04-11 00:09:34 +02:00
Carl Eugen Hoyos
ecb80fe78c Cosmetics: Remove an outdated comment from lavc/rawdec.c.
The missing swscale feature was implemented in 2011.
2014-04-10 22:25:39 +02:00
Michael Niedermayer
c486cfab79 avcodec/imgconvert: fix nb_components and depth for PAL8 in get_pix_fmt_score()
This causes us to favor RGB8 over PAL8 when FF_LOSS_COLORQUANT is used

It probably makes sense to reinvestigate the exact scoring of pal8 when
our pal8 support improves to be supperior to rgb8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 19:58:14 +02:00
Derek Buitenhuis
cdd21f1f03 libx265: Only set the SAR if it is valid
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 16:49:03 +01:00
Derek Buitenhuis
fcc43e02d3 libx265: Use 16-bit SAR
The spec says it is 16 bits.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 16:49:03 +01:00
Matt Oliver
d1e6e5c887 avcodec/x86: Exclude broken get_cabac under icl.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 17:47:22 +02:00
Derek Buitenhuis
25fbfeed98 libx265: Only set the SAR if it is valid
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:28:59 +01:00
Derek Buitenhuis
cd0ac6f6e5 libx265: Use 16-bit SAR
The spec says it is 16 bits.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:28:55 +01:00
Derek Buitenhuis
8945dcbb52 libx265: Use x265_param_parse to set the SAR
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:08:01 +01:00
Derek Buitenhuis
4a2226451e libx265: Use x265_param_parse to set the SAR
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:06:45 +01:00
Michael Niedermayer
849d40dce6 avcodec/mpegvideo_enc: change some asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:57:18 +02:00
Michael Niedermayer
f703dae7aa avcodec/cngdec: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:18:32 +02:00
Michael Niedermayer
2773ab36cc avcodec/jpeglsdec/ff_jpegls_decode_lse: check len field validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:12:44 +02:00
Michael Niedermayer
020600eed1 avcodec/jpeglsdec: ask for sample for "oversized image"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:12:44 +02:00
Michael Niedermayer
375013e3d6 avcodec/mpeg12dec: drop confusing av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:12:44 +02:00
Anthoine Bourgeois
d8ab7f31dd avcodec/dirac_arith: Fix build with PIC and stack-check options
Fixes Ticket3540

The function dirac_get_arith_bit in libavcodec/dirac_arith.h can't be
built with PIC and check-stack because the asm code needs 6 registers
and PIC and check-stack options take 1 each and x86 is quite limited
in this area.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 19:41:48 +02:00
Michael Niedermayer
dddacf780f avcodec/sanm: use named consant instead of literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:23:57 +02:00
Michael Niedermayer
acf112ba6e avcodec/mpegvideo: remove AVFrame padding, as the hack isnt needed anymore
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:17:22 +02:00
Michael Niedermayer
2ca553ed9c avcodec/snowenc: remove operations that have become redundant with AVFrame pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:17:22 +02:00
Michael Niedermayer
59a53842d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: operate with pointers to AVFrames instead of whole structs

Conflicts:
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/intrax8.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/mpegvideo_xvmc.c
	libavcodec/msmpeg4.c
	libavcodec/ratecontrol.c
	libavcodec/vaapi.c
	libavcodec/vc1dec.c
	libavcodec/vdpau_vc1.c

See: fc567ac49e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 15:18:46 +02:00
Michael Niedermayer
44841528c1 avcodec/mpegaudioenc_template: reorder operations to prevent integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 07:04:12 +02:00
Michael Niedermayer
9d66aa2c8f avcodec/mpegaudioenc_template: dont crash on bitrate=0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 05:16:52 +02:00
Michael Niedermayer
233dbee3bc Merge commit 'b6a09ef700786b4e1e871dfa0f5c386ea43bbd0a'
* commit 'b6a09ef700786b4e1e871dfa0f5c386ea43bbd0a':
  rawvideo: Support decoding YVYU422 FourCC

See: ab7d6cb8f7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 04:06:35 +02:00
Michael Niedermayer
352e13e2a9 Merge commit '46439e156219d27f059cf687743ba5aacf238b87'
* commit '46439e156219d27f059cf687743ba5aacf238b87':
  mp2: match twolame default options

Not merged as the change breaks fate, also forcing resampling to specific sample rate
reduces quality, and would be like rescaling every movie to 1080.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 02:59:43 +02:00
Michael Niedermayer
6c019f05ed Merge commit '718907cd881a0b593264aed059c0e00da13f9e15'
* commit '718907cd881a0b593264aed059c0e00da13f9e15':
  libtwolame MP2 encoding support

Conflicts:
	Changelog
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/libtwolame.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 02:17:56 +02:00
wm4
f6774f905f mpegvideo: operate with pointers to AVFrames instead of whole structs
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().

ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.

NULL pointer checks are added to ff_thread_release_buffer() stub function.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-09 02:12:19 +02:00
Vittorio Giovara
b6a09ef700 rawvideo: Support decoding YVYU422 FourCC 2014-04-08 23:24:36 +02:00
Michael Niedermayer
2daf580284 avcodec/j2kenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 23:12:26 +02:00
Michael Niedermayer
8ff061095f avcodec/libzvbi-teletextdec: remove * 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 23:12:26 +02:00
Michael Niedermayer
818aaa7636 avcodec/libopencore-amr: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 23:12:26 +02:00
Michael Niedermayer
e20e854ca0 vcodec/bitstream: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 16:18:29 +02:00