Commit Graph

28863 Commits

Author SHA1 Message Date
Michael Niedermayer
681868cbbe avcodec/mpegvideo: Fix psnr calculation with slice threads
This fixes a race condition and use of the wrong field, which become shared
instead of per thread during some AVFrame changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 13:16:27 +02:00
Michael Niedermayer
cf9050c715 libavcodec/wmv2: remove dead code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 04:26:19 +02:00
Michael Niedermayer
c5fc8ae126 avcodec/mpegvideo: fix edge emulation with uvlinesize below 25
Fixes fate-vsynth3-wmv2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 01:56:01 +02:00
Michael Niedermayer
c600c8e966 Merge commit 'dca7ba4bffe3e4aeb620cb62955256a0d87561f4'
* commit 'dca7ba4bffe3e4aeb620cb62955256a0d87561f4':
  Remove some unnecessary CONFIG_FOO_COMPONENT ifdefs

Conflicts:
	libavcodec/ac3enc_float.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 20:25:48 +02:00
Derek Buitenhuis
ceada893be libx265: Remove unneeded bit depth check
This is no longer needed since the version bump.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:45:02 +01:00
Derek Buitenhuis
61a344916d libx265: Add 4:2:2 support
It is also not final yet, so require -strict experimental.

Requires a bump to version 17.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:45:02 +01:00
Derek Buitenhuis
180e6b4806 libx265: Actually use X265_API_IMPORTS
It obvously needs to be above the include statement.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:45:02 +01:00
Derek Buitenhuis
7ed89addb7 libx265: Remove unneeded bit depth check
This is no longer needed since the version bump.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:43:31 +01:00
Diego Biurrun
dca7ba4bff Remove some unnecessary CONFIG_FOO_COMPONENT ifdefs
The files are only ever compiled if that condition is true.
2014-06-12 07:10:18 -07:00
Derek Buitenhuis
6ee95af8a1 libx265: Add 4:2:2 support
It is also not final yet, so require -strict experimental.

Requires a bump to version 17.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 13:53:34 +01:00
Derek Buitenhuis
4e9b46b056 libx265: Actually use X265_API_IMPORTS
It obvously needs to be above the include statement.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 13:53:34 +01:00
Ronald S. Bultje
385a3420d1 vp9/x86: fix overwrite in ipred_vl_4x4_ssse3.
Fixes track ticket 3717.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 04:11:20 +02:00
Michael Niedermayer
3a1c8951bc avcodec/libx264: fix "bitrate reconfiguration" 2014-06-12 01:20:07 +02:00
Michael Niedermayer
8159fe255c Merge commit '2f4170312f605c1f02a14c01347e94cf46726dbd'
* commit '2f4170312f605c1f02a14c01347e94cf46726dbd':
  libx264: Support bitrate reconfiguration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 01:19:57 +02:00
Christophe Gisquet
508e7a5c16 x86: huffyuv: fix {add,diff}_int16
They used an extra, undeclared register. Fixes a crash in
fate-vsynth3-ffvhuff444p16

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 00:26:19 +02:00
Michael Niedermayer
2cf4d91cf2 Merge commit 'cd62c04d009b3baf7582556866a7029291b54573'
* commit 'cd62c04d009b3baf7582556866a7029291b54573':
  h263enc: keep block_last_index always valid during advanced intra coding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:53:28 +02:00
Luca Barbato
2f4170312f libx264: Support bitrate reconfiguration
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-06-11 22:51:00 +02:00
Michael Niedermayer
67911cc57b Merge commit '0ddc53dabbc6f636d062b187ea27934610aaad30'
* commit '0ddc53dabbc6f636d062b187ea27934610aaad30':
  mpegvideo: synchronize AVFrame pointers in ERContext fully

Conflicts:
	libavcodec/mpegvideo.c

See: 8ef9dcf1d7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:30:49 +02:00
Michael Niedermayer
67d29da4bd avcodec: increase FF_INPUT_BUFFER_PADDING_SIZE to 32
Sometimes the input buffers get directly used as raw images and
SIMD optimized video/image filters can sometimes read more than 16 bytes
over the end.
a specific example is the AVX 24bpp to yuv code

This also fixes fate-vsynth3-rgb

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:15:29 +02:00
Michael Niedermayer
ef8725122d avcodec/motion_est: Only clip MVs which are used
Fixes valgrind mpeg4 failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:15:04 +02:00
Janne Grunau
cd62c04d00 h263enc: keep block_last_index always valid during advanced intra coding
Prevents a triggered assert during fate-vsynth{1,2}-rv20 in
dct_unquantize_h263_intra_c().
2014-06-11 21:28:39 +02:00
Janne Grunau
0ddc53dabb mpegvideo: synchronize AVFrame pointers in ERContext fully
Since error resilience uses AVFrame pointers instead of references it
has to copy NULL pointers too. After a codec flush the last/next frame
pointers in MpegEncContext are NULL and the old pointers remaining in
ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
Reported and debugged by Adrien Maglo <magsoft@videolan.org>.
2014-06-11 21:28:27 +02:00
Michael Niedermayer
60ab6e2457 avcodec/mpegvideo_enc: fix padding for odd dimensions and interlaced video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 05:02:46 +02:00
Michael Niedermayer
c69defd4d0 avcodec/qtrleenc: Check that width is a multiple of 4 for grayscale
grayscale is coded as 4 pixels at a time, the encoder lacks support
for the case where width%4 != 0, and will simply encode less data
leaving random data after decoding at the right side

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 04:02:53 +02:00
Michael Niedermayer
b3a647d9ce Merge commit 'd7705be9617ed691c7a2924a2088de2d96f38af1'
* commit 'd7705be9617ed691c7a2924a2088de2d96f38af1':
  mpegvideoenc: check color_range

Conflicts:
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 02:57:08 +02:00
Michael Niedermayer
1290143fda Merge commit '27860819d508068f056cf48473af04868791ad77'
* commit '27860819d508068f056cf48473af04868791ad77':
  ppc: Consistently use convenience macro for runtime CPU detection

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 02:50:50 +02:00
Michael Niedermayer
26be0e31fc Merge commit '205fdd4ea5e1264946917a26fde01e137a485f5a'
* commit '205fdd4ea5e1264946917a26fde01e137a485f5a':
  ppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 02:22:53 +02:00
Vittorio Giovara
d7705be961 mpegvideoenc: check color_range
Rework the comparison into something simpler to understand.
2014-06-10 19:41:59 -04:00
Diego Biurrun
27860819d5 ppc: Consistently use convenience macro for runtime CPU detection 2014-06-10 15:13:57 -07:00
Diego Biurrun
205fdd4ea5 ppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc 2014-06-10 15:13:57 -07:00
Carl Eugen Hoyos
723adfb1df Fix standalone compilation of the webvtt encoder. 2014-06-10 23:47:04 +02:00
Michael Niedermayer
1a2ff62859 Merge commit '570d4b21863b6254d6bbca9c528bede471bb4478'
* commit '570d4b21863b6254d6bbca9c528bede471bb4478':
  x86: h264: Don't keep data in the redzone across function calls on 64 bit unix

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 18:35:49 +02:00
Martin Storsjö
570d4b2186 x86: h264: Don't keep data in the redzone across function calls on 64 bit unix
We know that the called function (ff_chroma_inter_body_mmxext)
doesn't touch the redzone, and thus will be kept intact - thus,
this doesn't fix any bug per se.

However, valgrind's memcheck tool intentionally assumes that the
redzone is clobbered on every function call and function return
(see a long comment in valgrind/memcheck/mc_main.c). This avoids
false positives in that tool, at the cost of an extra stack pointer
adjustment.

The other alternative would be a valgrind suppression for this issue,
but that's an extra burden for everybody that wants to run libavcodec
within valgrind.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-10 16:31:48 +03:00
Martin Storsjö
0776e0ef6b adpcm: Write the proper predictor in trellis mode in IMA QT
The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-10 16:28:47 +03:00
Michael Niedermayer
06f576c4ab avcodec/x86/dct_init: fix build failure with clang && disable-optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 19:32:41 +02:00
Michael Niedermayer
637093a2db avcodec/utvideoenc: skip unused huffman entries
This very slightly improves compression
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 15:11:53 +02:00
Michael Niedermayer
29a1164e60 avcodec/utvideodec: fix use of get_vlc2()
The max depth is 3

Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 14:56:00 +02:00
Michael Niedermayer
334aafe565 avcodec/huffman/ff_huff_gen_len_table: support skiping stat=0 entries
This is probably not the simplest solution but as this is needed for a bugfix,
simplification is left for later.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 14:56:00 +02:00
Carl Eugen Hoyos
673716c54b avcodec/utvideodec: Increase vlc len
Fixes a regression since fb3e380 similar to ticket #2661,
reported by fluffrabbit at aol dot com.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 14:56:00 +02:00
Michael Niedermayer
0accf24b15 cavsdec: fix qp fixed slice handling
Fixes Ticket3400

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 05:47:49 +02:00
James Almer
6d408495b5 x86/dct32: don't build ff_dct32_float_sse on x86_64
There's an SSE2 version already, and technically the SSE version
on x86_64 was wrong (using pshufd and pshuflw, SSE2 instructions).

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 00:51:43 +02:00
Michael Niedermayer
7d8a60a442 avcodec/options_table: improve max/min rate help text
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 23:02:25 +02:00
Michael Niedermayer
4959c4a793 avcodec/pthread_slice: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 16:34:50 +02:00
Michael Niedermayer
ab1e191720 avcodec/pthread_frame: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 16:34:20 +02:00
Michael Niedermayer
007547b282 avcodec: fix () in TRANSPOSE macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:26:18 +02:00
Michael Niedermayer
ee5145c05d avcodec/aacpsy: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:14:03 +02:00
Michael Niedermayer
6e6bd5481c avcodec/alsdec: Clear MPEG4AudioConfig so that no use of uninitialized memory is possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 14:30:30 +02:00
James Almer
fc8db12a73 x86/vp9: inital AVX2 intra_pred
tos3k-vp9-b10000.webm on a Core i5-4200U @1.6GHz

1219 decicycles in ff_vp9_ipred_dc_32x32_ssse3, 131070 runs, 2 skips
439 decicycles in ff_vp9_ipred_dc_32x32_avx2, 131070 runs, 2 skips

3570 decicycles in ff_vp9_ipred_dc_top_32x32_ssse3, 4096 runs, 0 skips
2494 decicycles in ff_vp9_ipred_dc_top_32x32_avx2, 4096 runs, 0 skips

1419 decicycles in ff_vp9_ipred_dc_left_32x32_ssse3, 16384 runs, 0 skips
717 decicycles in ff_vp9_ipred_dc_left_32x32_avx2, 16384 runs, 0 skips

2737 decicycles in ff_vp9_ipred_tm_32x32_avx, 1024 runs, 0 skips
2088 decicycles in ff_vp9_ipred_tm_32x32_avx2, 1024 runs, 0 skips

3090 decicycles in ff_vp9_ipred_v_32x32_avx, 512 runs, 0 skips
2226 decicycles in ff_vp9_ipred_v_32x32_avx2, 512 runs, 0 skips

1565 decicycles in ff_vp9_ipred_h_32x32_avx, 1024 runs, 0 skips
922 decicycles in ff_vp9_ipred_h_32x32_avx2, 1024 runs, 0 skips

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 02:37:20 +02:00
Michael Niedermayer
5183fac92f avcodec/hevc_sei: fix invalid get_bits() in a comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 23:37:27 +02:00
Michael Niedermayer
118c042116 avcodec/tscc2: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 17:44:23 +02:00
Michael Niedermayer
925bd174f2 avcodec/tta: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 17:44:14 +02:00
Michael Niedermayer
5a376976a0 avcodec/vorbisdec: Reset first_frame
This avoids returning a initial frame after seeking which does
not match what would be received when decoding from the begin.

Suggested-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 02:09:27 +02:00
Michael Niedermayer
71da91e887 avcodec/libvpxenc: update the ranges for "cpu_used" so it matches the "speed" alias
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:52:20 +02:00
Rafaël Carré
5265e3e40f avcodec/libvpxenc: Update the "cpu-used" options default to match the "speed" alias
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:50:03 +02:00
Michael Niedermayer
cd016db425 Merge commit 'f558f0d2da9426c7f5ba346b5b8e6eb720148362'
* commit 'f558f0d2da9426c7f5ba346b5b8e6eb720148362':
  avcodec options: add enum option for color_range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:34:44 +02:00
Michael Niedermayer
00acf5c42a Merge commit '7c29b7229bedf0c37d09bd02dab88e563adffd3c'
* commit '7c29b7229bedf0c37d09bd02dab88e563adffd3c':
  avcodec options: add enum option for colorspace

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:19:45 +02:00
Michael Niedermayer
9e1d97aa06 Merge commit 'efc2dfe6a0238ec08769626db899ea910be24407'
* commit 'efc2dfe6a0238ec08769626db899ea910be24407':
  avcodec options: add enum option for color_trc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:09:26 +02:00
Michael Niedermayer
58e501b1e9 Merge commit 'bd71c300f9ba7f9875bb5df17ce522e9128bae10'
* commit 'bd71c300f9ba7f9875bb5df17ce522e9128bae10':
  avcodec options: add enum option for color_primaries

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:01:31 +02:00
Michael Niedermayer
3b42a8e439 avcodec/mpeg12enc: store sequence display extension only if we have something to store in it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:54:22 +02:00
Michael Niedermayer
5163fb9446 Merge commit '8a06794112d02a5707f766b8b38a5d50dfd03898'
* commit '8a06794112d02a5707f766b8b38a5d50dfd03898':
  mpeg2: add sequence display extension information

Conflicts:
	libavcodec/mpeg12enc.c
	tests/ref/lavf/gxf
	tests/ref/lavf/mxf
	tests/ref/lavf/mxf_d10
	tests/ref/lavf/ts
	tests/ref/seek/lavf-gxf
	tests/ref/seek/lavf-mxf
	tests/ref/seek/lavf-ts
	tests/ref/seek/vsynth2-mpeg2-422
	tests/ref/seek/vsynth2-mpeg2-idct-int
	tests/ref/seek/vsynth2-mpeg2-ilace
	tests/ref/seek/vsynth2-mpeg2-ivlc-qprd
	tests/ref/seek/vsynth2-mpeg2-thread
	tests/ref/seek/vsynth2-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth1-mpeg2
	tests/ref/vsynth/vsynth1-mpeg2-422
	tests/ref/vsynth/vsynth1-mpeg2-idct-int
	tests/ref/vsynth/vsynth1-mpeg2-ilace
	tests/ref/vsynth/vsynth1-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth1-mpeg2-thread
	tests/ref/vsynth/vsynth1-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth2-mpeg2
	tests/ref/vsynth/vsynth2-mpeg2-422
	tests/ref/vsynth/vsynth2-mpeg2-idct-int
	tests/ref/vsynth/vsynth2-mpeg2-ilace
	tests/ref/vsynth/vsynth2-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth2-mpeg2-thread
	tests/ref/vsynth/vsynth2-mpeg2-thread-ivlc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:36:07 +02:00
Christophe Gisquet
7eb5b20a87 huffyuvdec: trick for plane decoding <= 14bits
Refactor the code to minimize code duplication.

Before:
130870 decicycles in g, 1048139 runs, 437 skips
10bits:  9.048
12bits: 10.733

After:
126960 decicycles in g, 1048136 runs, 440 skips
10bits:  8.642
12bits:  9.656

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 21:42:52 +02:00
Martin Storsjö
3d79d0c93e adpcm: Avoid reading out of bounds in the IMA QT trellis encoder
This was broken in 095be4fb - samples+ch (for the previous
non-planar case) equals &samples_p[ch][0]. The confusion
probably stemmed from the IMA WAV case where it originally
was &samples[avctx->channels + ch], which was correctly
changed into &samples_p[ch][1].

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-06 19:23:54 +03:00
Michael Niedermayer
049b20b287 avcodec/adpcmenc: fix integer overflow / undefined behavior in STORE_NODE()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 18:03:31 +02:00
Martin Storsjö
fa8f060b75 adpcm: Write the proper predictor in trellis mode in IMA QT
The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

Fixes part of Ticket3701

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:08:21 +02:00
Martin Storsjö
a32765c425 adpcm: Fix trellis encoding of IMA QT
This was broken in 095be4fb - samples+ch (for the previous
non-planar case) equals &samples_p[ch][0]. The confusion
probably stemmed from the IMA WAV case where it originally
was &samples[avctx->channels + ch], which was correctly
changed into &samples_p[ch][1].

Fixes part of Ticket3701

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:07:11 +02:00
Marc-Antoine Arnaud
f558f0d2da avcodec options: add enum option for color_range
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:40:08 +01:00
Marc-Antoine Arnaud
7c29b7229b avcodec options: add enum option for colorspace
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:39:50 +01:00
Marc-Antoine Arnaud
efc2dfe6a0 avcodec options: add enum option for color_trc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:39:34 +01:00
Marc-Antoine Arnaud
bd71c300f9 avcodec options: add enum option for color_primaries
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:39:08 +01:00
Marc-Antoine Arnaud
8a06794112 mpeg2: add sequence display extension information
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:38:10 +01:00
Christophe Gisquet
adf4ee40e7 wma lossless: reuse scalarproduct_and_madd_int16
This is done by padding the coefficient buffer with 0s, because the order
may be only a multiple of 4, and the DSP function requires batches of 8.

However, no sample with such a case was found, so request one if it uses
that kind of order.

Approximate relative speedup depending on instruction set:
plain C: -6%
mmxext:  51%
sse2:    54%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 13:51:41 +02:00
Michael Niedermayer
c2e2b29b73 Merge commit '2f7065190ad48744014a02288799d03adfa613e0'
* commit '2f7065190ad48744014a02288799d03adfa613e0':
  libfdk-aac: Relicense the library wrappers to the ISC license

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 13:41:27 +02:00
Martin Storsjö
2f7065190a libfdk-aac: Relicense the library wrappers to the ISC license
This reduces the number of different licenses used within libav,
and is preferrable since it has less ambiguous wordings than
the BSD license with respect to the duties of the user of the code.

Fraunhofer have now indicated that they're allowed to contribute
code under this license as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-06 10:48:27 +03:00
James Almer
ec98f80af4 x86/dsputil: move some mmx init code inside dsputil_init_mmx()
This reduces differences with the fork

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 05:26:04 +02:00
Michael Niedermayer
0545ef7116 avcodec/mjpegdec: Improve intel jpeg flip heuristic
Fixes Ticket3698

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 01:32:22 +02:00
Michael Niedermayer
0a2004b6d1 avcodec/aic: fix quantization table permutation
Fixes Ticket3700

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 23:21:15 +02:00
Michael Niedermayer
bd650ee318 avcodec/mpegaudiodec: Reset dither and mdct state
This makes the mp3 decoder produce the same result when repeatly flushing and decoding

Suggested-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 21:25:51 +02:00
Christophe Gisquet
ccff45a0d3 apedsp: move to llauddsp
APE is not the sole codec using scalarproduct_and_madd_int16.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 20:31:59 +02:00
Christophe Gisquet
0d632b35a0 huffyuvdec: remove superfluous check in BGR code
Before: 154861 decicycles
After:  152912 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 01:55:27 +02:00
Christophe Gisquet
6848325acb huffyuvdec: remove superfluous check
An invalid entry already has the property of having a negative number
of bits, so remove the check on the reserved value, and rearrange the
code as a consequence.

346800 decicycles in 422, 262079 runs, 65 skips
168197 decicycles in gray, 262077 runs, 67 skips
Overall time: 7.878s

319076 decicycles in 422, 262096 runs, 48 skips
159875 decicycles in gray, 262057 runs, 87 skips
Overall time: 7.394s

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 01:47:07 +02:00
Christophe Gisquet
a37020402a huffyuvdec: trick for plane decoding, 8bits
10496 -> 9105 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 00:08:57 +02:00
Christophe Gisquet
35dae62204 huffyuvdec: clean up macro
It's no longer used inside another specific macro, so rename it.
Also remove duplicated definition and realign code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 23:55:48 +02:00
Michael Niedermayer
98ff07d1c6 avcodec/dcadec: Check dca_dmixtable index
Found-by: Niels Möller <nisse@lysator.liu.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 22:13:39 +02:00
Michael Niedermayer
47313bbb5f avcodec/dcadec: remove fishy FFMAX()
These where intended to maintain the previous behavior before dca_dmix_code()
but it is unclear (to me) which way is correct and no sample seem to trigger
the case, also they are incomplete for the purprose of error checking

Found-by: Niels Möller <nisse@lysator.liu.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 22:11:03 +02:00
Carl Eugen Hoyos
7738f925a6 Fix rc_max_rate documentation.
The mpegvideo decoder sets rc_max_rate since 25b7aa98.
2014-06-04 20:13:55 +02:00
Michael Niedermayer
8f4b176c55 avcodec/dvbsubdec: add some basic av_log debuging support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 18:09:18 +02:00
Christophe Gisquet
deadcf5e71 huffyuvdec: implement trick for BGR
Before:
179436 decicycles in rgb, 32735 runs, 33 skips
Stripped object size: 23188

After:
154861 decicycles in rgb, 32738 runs, 30 skips
Stripped object size: 22736

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 13:25:24 +02:00
Christophe Gisquet
11b4703813 huffyuvdec: implement trick
When the joint table does not contain a valid entry, the decoding restarts
from scratch. By implementing the trick of jumping to the 2nd level of the
individual table (and inlining the whole), a speed improvement of 5-10%
is possible.

On a 1000-frames YUV4:2:0 video, before:
362851 decicycles in 422, 262094 runs, 50 skips
182488 decicycles in gray, 262087 runs, 57 skips
Object size: 23584
Overall time: 8.377

After:
346800 decicycles in 422, 262079 runs, 65 skips
168197 decicycles in gray, 262077 runs, 67 skips
Object size: 23188
Overall time: 7.878

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 13:12:48 +02:00
Michael Niedermayer
d5c9d055ea avcodec/x86/dsputilenc_mmx: fix build without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 05:39:03 +02:00
Michael Niedermayer
19c9d1e8e7 avcodec/h264: in the absence of recovery points, be more tolerant on accepting plain I frames
Fixes: Ticket3652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 04:25:14 +02:00
Michael Niedermayer
fbaf73a33d avcodec/lagarithrac: lag_get_rac: use normal division
maybe 0.3% faster and simpler code
2014-06-04 02:15:24 +02:00
Michael Niedermayer
d8ae0dfd99 avcodec/lagarithrac: increase LUT from 256 to 1024 bytes
about 2 cycles (~1%) faster lag_get_rac()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 02:03:34 +02:00
Michael Niedermayer
4fb4bf7289 avcodec/lagarithrac.h/lag_get_rac: drop apparently unneeded operations 2014-06-04 02:03:33 +02:00
James Almer
625ffa1457 x86/motion_est: sad_{x, y}2_mmxext functions are bitexact
Only the xy2 functions aren't.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 00:48:35 +02:00
James Almer
3ab4f96a91 motion-test: force C functions for the reference C context
It was instead using the highest available asm functions, which completely
kills the point of being a reference C context.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 00:48:28 +02:00
Timothy Gu
108dec3055 x86: dsputilenc: convert hf_noise*_mmx to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Several bugfixes by: Christophe Gisquet <christophe.gisquet@gmail.com>
See: [FFmpeg-devel] [WIP] [PATCH 4/4] x86: dsputilenc: convert hf_noise*_mmx to yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 23:59:43 +02:00
Dave Rice
d63d964fb3 avcodec/libopenjpegenc: Add frame-threading capability
This gives a >50% speed up when encoding with libopenjpeg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 21:17:04 +02:00
Lou Logan
88f2586adb fix various typos
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Michael Niedermayer
83e8650f77 Merge commit '896a5bff64264f4d01ed98eacc97a67260c1e17e'
* commit '896a5bff64264f4d01ed98eacc97a67260c1e17e':
  arm: check if AS supports .dn

Conflicts:
	configure
	libavcodec/arm/vc1dsp_init_neon.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:19:21 +02:00
Michael Niedermayer
a4ed51ab40 avcodec/vp3: free tables before allocating new ones
Fixes memleak on seeking

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 17:09:17 +02:00