Commit Graph

29087 Commits

Author SHA1 Message Date
Christophe Gisquet
f6577bd9cf huffyuvdec: use unsafe bitstream reader
The reader reads in chunks of 11 bits at most, and at most 3 times. The unsafe
reader therefore may read 6 chunks instead of 1 in worst case, ie 8 bytes,
which is within the padding tolerance.

The reader ends up being ~10% faster. Cumulative effect of unsafe reading and
code block swapping on 3 sequences is for 1 thread, decoding time goes from
23.3s to 19.0s.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 00:52:09 +02:00
Kieran
bc21260e64 hevc: Fix 4K sample video
Reviewed-by: smarter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 23:24:11 +02:00
Anshul Maheshwari
fbb59a3bf4 avcodec/dvbsubdec: Split save_subtitle_set() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 20:16:49 +02:00
Anshul Maheshwari
77ade55fe5 avcodec/dvbsubdec: add AVClass to context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 19:59:26 +02:00
Anshul Maheshwari
9a11b33a2d avcodec/dvbsubdec: restructure version check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 19:56:09 +02:00
Christophe Gisquet
29f427c239 huffyuvdec: remove somewhat deprecated code
The old code was reserving the 0xFFFF entry to represent an inexisting
entry/codeword. These entries are now detected through their length
being <= 0. As this entry is often used for the residuals (-1,-1), which
should be among the most frequent, it is particularly important to not
reserve it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 17:43:47 +02:00
Michael Niedermayer
e9c477059d avcodec/huffyuvdec: assume vlcs can be 32 instead of 31 bits max
This should avoid a division as well

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 16:20:34 +02:00
Christophe Gisquet
9dc1791977 huffyuvdec: swap code blocks
The effect is not really deterministic, as it seems to be a combination
on x86_64 of fewer registers used, different jump offsets and, for all
archs, of likely branches.

Speedup is around 15%.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 15:13:28 +02:00
Christophe Gisquet
9107612818 x86util: add and use RSHIFT/LSHIFT macros
Those macros take a byte number as shift argument, as this argument
differs between MMX and SSE2 instructions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 13:19:27 +02:00
Christophe Gisquet
56a795e34f aandcttab: fix spelling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 12:11:46 +02:00
Michael Niedermayer
73d820ee1e avcodec/xbmdec: remove dependancy on zero padding on input packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 03:50:30 +02:00
Michael Niedermayer
103f9c261a avcodec/indeo5: Fix infinite loop in skip_hdr_extension()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 03:50:30 +02:00
Michael Niedermayer
b065d0014b avcodec/ppc/idct_altivec: add plain idct()
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 20:42:28 +02:00
Marton Balint
9236f7b5a2 mpeg12enc: add seq_disp_ext option for deciding when to write a sequence_display_extension
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 19:45:53 +02:00
Marton Balint
66f4891e64 mpeg12enc: add support for PANSCAN side data in sequence_display_extension
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 19:45:53 +02:00
Michael Niedermayer
759e793823 avcodec/vc1dec: Fix support for small widths/linesizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 16:33:09 +02:00
Carl Eugen Hoyos
a7dedd7bce Fix standalone compilation of the H264 decoder on ppc. 2014-06-14 15:44:52 +02:00
Michael Niedermayer
043bcdcdb0 avcodec/svq1enc: fix encoding of small widths
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 20:59:24 +02:00
Michael Niedermayer
97c285e61b Merge commit '27631796c9d1b8146ad4a16e6539ecc08afa7565'
* commit '27631796c9d1b8146ad4a16e6539ecc08afa7565':
  ac3: Only initialize float_dsp for the float encoder variant

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 19:51:35 +02:00
Michael Niedermayer
684a9152c3 Merge commit 'f0ce9913d0974ac0c7371a62c3324dd2863b5d1b'
* commit 'f0ce9913d0974ac0c7371a62c3324dd2863b5d1b':
  Rename tpel_template.c ---> pel_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 19:03:55 +02:00
Michael Niedermayer
dffb85a982 avcodec/mpegvideo: check that linesize is not too small
Note linesize is rounded up to at least a multiple of 8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 18:40:21 +02:00
Michael Niedermayer
4a0ec85b85 avcodec/rv34: fix edge emu with uv stride <= 25
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 16:21:40 +02:00
Diego Biurrun
27631796c9 ac3: Only initialize float_dsp for the float encoder variant 2014-06-13 05:21:34 -07:00
Diego Biurrun
f0ce9913d0 Rename tpel_template.c ---> pel_template.c
The new name more accurately describes what the file is about.
2014-06-13 05:21:34 -07:00
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
Michael Niedermayer
90b26d63ba avcodec/vp3: factorize out free_tables()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 17:08:32 +02:00
Michael Niedermayer
2422a7ffe4 Loose mplayer in MPlayer/incoming/
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 16:03:44 +02:00
Michael Niedermayer
3e7b4b9fbd Add direct link to ML in missing_feature_sample()
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 15:58:27 +02:00
Janne Grunau
896a5bff64 arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.

Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.

http://llvm.org/bugs/show_bug.cgi?id=18199.
2014-06-03 14:23:03 +02:00
Michael Niedermayer
4e3fe65610 avcodec/utils/ff_init_buffer_info: Favor color information from AVFrame if available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 05:13:51 +02:00
Michael Niedermayer
2addbeef8b bfin: add README
Based on sh4/README
Suggested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 20:18:44 +02:00
Michael Niedermayer
b55d3bbeed Merge commit '880e2aa23645ed9871c66ee1cbd00f93c72d2d73'
* commit '880e2aa23645ed9871c66ee1cbd00f93c72d2d73':
  Remove all Blackfin architecture optimizations

Conflicts:
	libavcodec/bfin/dsputil.S
	libavcodec/bfin/dsputil_init.c
	libavcodec/bfin/fdct_bfin.S
	libavcodec/bfin/hpel_pixels_no_rnd.S
	libavcodec/bfin/hpeldsp_init.c
	libavcodec/bfin/idct_bfin.S
	libavcodec/bfin/mathops.h
	libavcodec/bfin/pixels.S
	libavcodec/bfin/pixels.h
	libavcodec/bfin/vp3dsp.S
	libavcodec/bfin/vp3dsp_init.c
	libavutil/bfin/asm.h
	libavutil/bfin/attributes.h
	libswscale/bfin/internal_bfin.S
	libswscale/bfin/swscale_bfin.c
	libswscale/bfin/yuv2rgb_bfin.c
	libswscale/swscale_internal.h
	libswscale/version.h

If someone wants to maintain blackfin support in FFmpeg, please contact
ffmpeg-devel@ffmpeg.org

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 19:38:01 +02:00
Michael Niedermayer
fa4e17c140 Merge commit 'b88cc5cca111132b42c2ee99662bfefe7652e3da'
* commit 'b88cc5cca111132b42c2ee99662bfefe7652e3da':
  bink: Rename BinkDSPContext member so as not to clash with BlockDSPContext

Conflicts:
	libavcodec/bink.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 19:28:54 +02:00
Diego Biurrun
880e2aa236 Remove all Blackfin architecture optimizations
Blackfin is a painful platform to work with, no test machines are available
and the range of multimedia applications is dubious. Thus it only represents
a maintenance burden.
2014-06-02 08:41:47 -07:00
Diego Biurrun
b88cc5cca1 bink: Rename BinkDSPContext member so as not to clash with BlockDSPContext 2014-06-02 03:41:56 -07:00
Christophe Gisquet
dcd2a6ca36 x86: hevc_mc: remove unneeded shift
The immediate value may be 0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 23:34:33 +02:00
Christophe Gisquet
09fc28aed1 x86: hevcdsp_init: fix macro usage
The macro was not using the parameter but unconditionally using sse4.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 23:20:07 +02:00
Michael Niedermayer
8b686c886c avcodec/options: use av_opt_copy() in avcodec_copy_context() to copy priv_data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:50:08 +02:00
Michael Niedermayer
c4d88311cd avcodec/dpx_parser: fix off by 1 error
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:14:49 +02:00
Michael Niedermayer
d41a4a765b avcodec/mjpegenc: allow encoding amv with height % 16 != 0 when strict -1 is set
This should make it simpler for users to test if such videos work

Suggested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:04:54 +02:00
Reimar Döffinger
6d695d7acc Fix nonsense non-mod16 AMV flipping code.
It is obviously nonsense since it produces wrong results
or even crashes (crashes should be encode-only though).
Fixes trac issue #1092.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 19:47:07 +02:00
Michael Niedermayer
05c5dd403d Merge commit 'ed39cda02923316b6710c1bcc34d3445370be5b4'
* commit 'ed39cda02923316b6710c1bcc34d3445370be5b4':
  flacenc: send final extradata in packet side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:55:49 +02:00
Michael Niedermayer
03bb99ae1a Merge commit '0957b274e312e985d69cb490bee2a7ff820acaa6'
* commit '0957b274e312e985d69cb490bee2a7ff820acaa6':
  lavc: add an option to enable side data-only packets during encoding

Conflicts:
	libavcodec/avcodec.h
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:46:38 +02:00
Michael Niedermayer
0ccfcb0638 Merge commit 'eb800f120d2d42590fde2302fe828c847e41e773'
* commit 'eb800f120d2d42590fde2302fe828c847e41e773':
  libavcodec: set AVFrame colorspace fields on decoding

Conflicts:
	libavcodec/utils.c

See: a80e622924
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:39:31 +02:00
Michael Niedermayer
6e8e9f1e51 Merge commit '8c02adc62d71dfbb079a04753d8c16152c49de88'
* commit '8c02adc62d71dfbb079a04753d8c16152c49de88':
  lavu: add all color-related enums to AVFrame

Conflicts:
	libavcodec/avcodec.h
	libavutil/frame.c
	libavutil/frame.h
	libavutil/version.h

The version check is changed so they are available with the current ABI
FFmpeg libs should have no problems with added fields, nor should any
application using the libs, and we regularly added fields in the past.
We also moved 2 of these fields to AVFrame already previously without issues.

See: a80e622924
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:18:32 +02:00
Michael Niedermayer
ec1ed64506 avcodec/cljr: require (v)strict -1 to use width %4 != 0
Suggested-by: kurosu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 12:43:47 +02:00
Dirk Ausserhaus
f76e3669bb Decode both parts of Indeo4 IP frames
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-01 08:53:27 +02:00
Dirk Ausserhaus
3df0d20028 Move Indeo4 frametypes into common header.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-01 08:53:27 +02:00
Anton Khirnov
ed39cda029 flacenc: send final extradata in packet side data 2014-06-01 08:27:01 +02:00
Anton Khirnov
0957b274e3 lavc: add an option to enable side data-only packets during encoding
Some encoders (e.g. flac) need to send side data when there is no more
data to be output. This enables them to output a packet with no data in
it, only side data.
2014-06-01 08:26:43 +02:00
wm4
eb800f120d libavcodec: set AVFrame colorspace fields on decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 08:23:05 +02:00
wm4
8c02adc62d lavu: add all color-related enums to AVFrame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 08:22:02 +02:00
Michael Niedermayer
181b2c3724 avcodec/mjpegenc: disallow encoding amv with height%16!=0
I do not know on which side to place the padding to encode with 16x16 MBs
If someone knows or has a known to be correct sample, please contact me

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 04:00:47 +02:00
Michael Niedermayer
149be91374 avcodec/mjpegdec: request a AMV sample with non mod 16 height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 04:00:47 +02:00
James Almer
e1bd40fe6b x86/motion_est: enable sad16_sse2 on k10 CPUs
The check is meant for k8 CPUs. sad16_sse2 is ~20% faster than sad16_mmxext on k10.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 02:10:32 +02:00
Michael Niedermayer
6dc709f0f5 avcodec/cljr: support width%4 encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 00:48:48 +02:00
Michael Niedermayer
59a70422b1 avcodec/cljr: remove coded_frame code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 00:48:48 +02:00
James Almer
ac1077ab50 lavc/dsputil: add missing vsad8 and vsse8 functions
the mpeg encoder would try to use them if vsad or vsse were selected for frame_skip_cmp
and frame_skip_threshold or frame_skip_factor were set to values != 0

example: "ffmpeg -i INPUT -c:v mpeg2video -skipcmp vsad -skip_threshold 1 -f null -"

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 19:45:03 +02:00
Michael Niedermayer
e692c9672b avcodec/asvenc: fix encoding dimensions %16 != 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 17:16:44 +02:00
Michael Niedermayer
e868f84e83 avcodec/snow: fix 1 pixel block sizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 17:16:44 +02:00
Carl Eugen Hoyos
aab2e939a9 Fix compilation with --disable-everything --enable-demuxer=matroska.
Fixes ticket #3693.
2014-05-31 16:29:02 +02:00
Carl Eugen Hoyos
e91e626182 lavc/jpeglsenc: Enable frame-threading. 2014-05-31 13:41:11 +02:00
Carl Eugen Hoyos
64afc3bb93 lavc/lclenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
cdfe06aeb2 lavc/ljpegenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
b91bf48f00 lavc/tiffenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
c528d833a9 lavc/utvideoenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Christophe Gisquet
4ba8560077 huffyuv: increase VLC_BITS to 12
May require a different tuning for arm chips?

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 04:26:41 +02:00
James Almer
f128342df2 build: fix compilation of svq1enc_mmx.c with --disable-mmx
It's needed for ff_svq1enc_init_x86() even if simd functions are disabled.

Alternatively, svq1enc_init.c could be made and the relevant code moved there.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 00:38:24 +02:00
James Almer
4ac41a52e2 x86/huffyuvdsp: fix some prototypes
Remove duplicate prototypes and fix int -> intptr_t in another

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 00:29:00 +02:00
Michael Niedermayer
83b8987df7 Merge commit 'd6d767d93e532246cacf3567e6bcad76a821f838'
* commit 'd6d767d93e532246cacf3567e6bcad76a821f838':
  ppc: Fix compilation for ppc64le (ELFv2)

Conflicts:
	libavcodec/ppc/asm.S

See: 41b928c5fa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 23:15:20 +02:00
Thierry Fauck
d6d767d93e ppc: Fix compilation for ppc64le (ELFv2)
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-30 22:46:53 +03:00
Christophe Gisquet
d136fe6fd7 x86: huffyuvdsp: fewer functions for x86_64
When there are 2 functions that are <= SSE2, only one is needed for x86_64.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 21:39:06 +02:00
Michael Niedermayer
e0d0745560 avcodec/options: leave priv_data in avcodec_copy_context() intact
previously it was freed but the pointer not cleared

Found-by: ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 21:24:55 +02:00
Michael Niedermayer
82efa24c51 avcodec/proresenc_anatoliy: simplify get()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
f6b1cd3936 avcodec/proresenc_anatoliy: load 4 samples at a time in get()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
63b4d6feb8 avcodec/proresenc_anatoliy: Use fdct from DSPContext instead of direct call.
Based-on: a55546f48d by Diego Biurrun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
e263af3024 avcodec/proresenc_anatoliy: Set bits_per_raw_sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Carl Eugen Hoyos
3ea0d9c8a5 Fix VDPAU decoders, regression since f2f99f07. 2014-05-30 17:34:26 +02:00
Timothy Gu
154cee9292 x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 16:57:52 +02:00
Timothy Gu
0b6292b7b8 x86: dsputilenc: move all the function prototypes together
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 16:18:10 +02:00
Christophe Gisquet
f743fa9c7f x86: huffyuvdsp: add_hfyu_left_pred_bgr32
C   MMX   SSE2
Cycles: 3092  1053  578

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:20:36 +02:00
Michael Niedermayer
7be79c76d3 avcodec/huffyuvdsp: Change w to intptr in add_hfyu_median_pred() and add_hfyu_left_pred()
This avoids potential issues with the high 32bits being random in x86-64 asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:12:58 +02:00
Christophe Gisquet
884078d2df x86: huffyuvdsp: add SSE2 median prediction
From 5010c to 4566 on lagarith YUY2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 14:57:57 +02:00
Dirk Ausserhaus
8bfb4d72dd avcodec/indeo4: Decode both parts of IP frames
Fixes part of Ticket845

av_frame_move_ref() idea by Anton Khirnov

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:49:42 +02:00
Dirk Ausserhaus
d24673a2c8 avcodec/indeo4: Move frametypes into common header.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:49:25 +02:00
Carl Eugen Hoyos
ca2ec98cbe Do not overwrite the sample format with AV_SAMPLE_FMT_NONE in libspeex_decode_init().
Fixes a regression since ef48ac65 when decoding speex in f4v, reported
by irc user massdos.
2014-05-30 07:38:19 +02:00
Michael Niedermayer
772d46d3b3 avcodec/qpeldsp: Restore author attribution
See: 368f50359e
See:
similarity index 51%
copy from libavcodec/dsputil.c
copy to libavcodec/qpeldsp.c
index 6d41dfc..0beeab8 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/qpeldsp.c
@@ -1,9 +1,5 @@
 /*
- * DSP utils
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
- *
- * gmc & q-pel & 32/64 bit based MC by Michael Niedermayer <michaelni@gmx.at>
+ * quarterpel DSP functions
  *
  * This file is part of FFmpeg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 04:05:40 +02:00
Michael Niedermayer
8c891d90ca avcodec/x86/qpeldsp_init: Restore author attribution
See: 368f50359e
See: 44eb495128, and many others
See:
similarity index 83%
copy from libavcodec/x86/dsputil_init.c
copy to libavcodec/x86/qpeldsp_init.c
index ebbf97f..8f296a1 100644
--- a/libavcodec/x86/dsputil_init.c
+++ b/libavcodec/x86/qpeldsp_init.c
@@ -1,6 +1,5 @@
 /*
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
+ * quarterpel DSP functions
  *
  * This file is part of FFmpeg.
  *

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 04:05:29 +02:00
Michael Niedermayer
b15a3cc575 qpel_template: Restore author attribution
See: 368f50359e
See: 59fe111e81
See:
similarity index 98%
rename from libavcodec/dsputil_template.c
rename to libavcodec/qpel_template.c
index 95d966e..500c75b 100644
--- a/libavcodec/dsputil_template.c
+++ b/libavcodec/qpel_template.c
@@ -1,9 +1,5 @@
 /*
- * DSP utils
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
- *
- * gmc & q-pel & 32/64 bit based MC by Michael Niedermayer <michaelni@gmx.at>
+ * quarterpel DSP function templates
  *
  * This file is part of FFmpeg.
  *

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 04:05:13 +02:00
Michael Niedermayer
98a6806fdd Merge commit '368f50359eb328b0b9d67451f56fda20b3255f9a'
* commit '368f50359eb328b0b9d67451f56fda20b3255f9a':
  dsputil: Split off quarterpel bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/vc1dec.c
	libavcodec/vc1dsp.c
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/qpeldsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 02:43:34 +02:00
Michael Niedermayer
d35899ccce Merge commit 'cb52a17cb62297802b0a77e5af9850d87c3f925b'
* commit 'cb52a17cb62297802b0a77e5af9850d87c3f925b':
  dsputil: Move Bink-specific add_pixels8 to binkdsp

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 01:23:04 +02:00
Michael Niedermayer
40f3a87c10 Merge commit '054013a0fc6f2b52c60cee3e051be8cc7f82cef3'
* commit '054013a0fc6f2b52c60cee3e051be8cc7f82cef3':
  dsputil: Move APE-specific bits into apedsp

Conflicts:
	libavcodec/arm/int_neon.S
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:59:15 +02:00
Michael Niedermayer
5c6e94c42b Merge commit '256da0770e495176d1b2699ec6e9c7993c2a6d7b'
* commit '256da0770e495176d1b2699ec6e9c7993c2a6d7b':
  dsputil: Move mspel_pixels_tab to the only place it is used

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:42:36 +02:00
Michael Niedermayer
a9a312d299 Merge commit '3832a6590156e6abc575bed51cbffa78617ee5fd'
* commit '3832a6590156e6abc575bed51cbffa78617ee5fd':
  dsputil: Move ff_alternate_*_scan tables to mpegvideo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:30:45 +02:00
Michael Niedermayer
c814a6c778 avcodec/x86/svq1enc_mmx: Add author attribution
See: 5900637219
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:30:05 +02:00
Michael Niedermayer
ea0931fb96 Merge commit '65d5d5865845f057cc6530a8d0f34db952d9009c'
* commit '65d5d5865845f057cc6530a8d0f34db952d9009c':
  dsputil: Move SVQ1 encoding specific bits into svq1enc

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:01:45 +02:00
Michael Niedermayer
cb8763bda7 Merge commit '2ea2612df508abdd1f97c6a6ef56275a52c5c41e'
* commit '2ea2612df508abdd1f97c6a6ef56275a52c5c41e':
  svq1enc: Rename SVQ1Context to SVQ1EncContext

Conflicts:
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 23:50:56 +02:00
James Almer
02a3e327f1 x86/dsputilenc: add missing guards to ff_pix_sum16_xop
XOP support was added in Yasm 1.0.0 and Nasm 2.06, and we still
support older versions.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 22:31:28 +02:00
Christophe Gisquet
99a319c4e7 x86: huffyuvdsp: port add_bytes to yasm
C   MMX  SSE2
Cycles: 2972  587  302

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 21:56:00 +02:00
Christophe Gisquet
2267003981 x86: hpeldsp: better factorization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 21:47:40 +02:00
Michael Niedermayer
7b4c46050e rename add_hfyu_left_prediction_int16 to add_hfyu_left_pred_int16
This makes the naming more consistent with the 8bit variant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 19:50:44 +02:00
Michael Niedermayer
550ae6c02f rename add_hfyu_median_prediction_int16 to add_hfyu_median_pred_int16
This makes the naming more consistent with the 8bit variant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 19:49:29 +02:00
Michael Niedermayer
40a4ab8ba4 rename sub_hfyu_median_prediction_int16 to sub_hfyu_median_pred_int16
This makes the naming more consistent with the 8bit variant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 19:48:23 +02:00
James Almer
05de4d3011 x86/dsputilenc: implement XOP version of pix_sum16
SSE2: 137 cycles
XOP:   87 cycles
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 18:40:23 +02:00
Michael Niedermayer
fba0ac2805 avcodec/dpx_parser: Allow frame size to be too small
Fixes Ticket3402

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 17:28:06 +02:00
Michael Niedermayer
8df5d9aabf avcodec/dpx_parser: fix flushing end out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 17:22:26 +02:00
Michael Niedermayer
f518fb3318 avcodec/dpx_parser: reset index when finding a startcode, not after
This is simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 17:18:47 +02:00
Diego Biurrun
368f50359e dsputil: Split off quarterpel bits into their own context 2014-05-29 06:48:31 -07:00
Diego Biurrun
cb52a17cb6 dsputil: Move Bink-specific add_pixels8 to binkdsp 2014-05-29 06:48:08 -07:00
Diego Biurrun
054013a0fc dsputil: Move APE-specific bits into apedsp 2014-05-29 06:41:15 -07:00
Diego Biurrun
256da0770e dsputil: Move mspel_pixels_tab to the only place it is used 2014-05-29 06:41:15 -07:00
Diego Biurrun
3832a65901 dsputil: Move ff_alternate_*_scan tables to mpegvideo 2014-05-29 06:41:15 -07:00
Diego Biurrun
65d5d58658 dsputil: Move SVQ1 encoding specific bits into svq1enc 2014-05-29 06:41:15 -07:00
Diego Biurrun
2ea2612df5 svq1enc: Rename SVQ1Context to SVQ1EncContext
This allows making it visible without name clashes.
2014-05-29 06:41:14 -07:00
Christophe Gisquet
25e6310a3e huffyuv: change left prediction access in BGRA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 14:46:21 +02:00
Christophe Gisquet
c609f803e1 huffyuv: avoid duplicated defines
Move the defines to the dsp header.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 14:08:35 +02:00
Michael Niedermayer
b50559fc0b libavcodec/x86/dsputilenc: drop and 0xffff that should have becomei redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 00:16:52 +02:00
James Almer
561bfc85eb x86/dsputilenc: implement SSE2 versions of pix_{sum16, norm1}
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 23:29:34 +02:00
Christophe Gisquet
0810608e23 x86: hevc_mc: better register allocation
The xmm reg count was incorrect, and manual loading of the gprs
furthermore allows to noticeable reduce the number needed.

The modified functions are used in weighted prediction, so only a
few samples like WP_* exhibit a change. For this one and Win64
(some widths removed because of too few occurrences):

WP_A_Toshiba_3.bit, ff_hevc_put_hevc_uni_w
         16    32
before: 2194  3872
after:  2119  3767

WP_B_Toshiba_3.bit, ff_hevc_put_hevc_bi_w
         16    32    64
before: 2819  4960  9396
after:  2617  4788  9150

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 17:39:34 +02:00
Michael Niedermayer
ec33f59fed avcodec/mjpegdec: Support pix_fmt_id== 0x42111100
Fixes: 538782_300.jpg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 16:36:04 +02:00
Michael Niedermayer
175aeab0b4 Merge commit 'b5aa48551300eed678aaea86ced7086758598a35'
* commit 'b5aa48551300eed678aaea86ced7086758598a35':
  ppc: Move vec_unaligned_load macro to util_altivec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 14:53:55 +02:00
Michael Niedermayer
40beec6a43 Merge commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0'
* commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0':
  flac: make avpriv_flac_parse_block_header() inline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:33:49 +02:00
Diego Biurrun
b5aa485513 ppc: Move vec_unaligned_load macro to util_altivec
This allows reusing it from multiple files.
2014-05-28 03:29:33 -07:00
Michael Niedermayer
ef13967e60 Merge commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362'
* commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362':
  flacdec: do not overwrite a channel layout set by the caller

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:20:12 +02:00
Anton Khirnov
5fdaf312c5 flac: make avpriv_flac_parse_block_header() inline
This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
2014-05-28 07:48:30 +02:00
Anton Khirnov
f13ffb6636 flacdec: do not overwrite a channel layout set by the caller
The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
2014-05-28 07:46:04 +02:00
Michael Niedermayer
48a6916308 Merge commit '512f3ffe9b4bb86767c2b1176554407c75fe1a5c'
* commit '512f3ffe9b4bb86767c2b1176554407c75fe1a5c':
  dsputil: Split off HuffYUV encoding bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/huffyuv.h
	libavcodec/huffyuvenc.c
	libavcodec/pngenc.c
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 00:03:59 +02:00
Michael Niedermayer
e2abc0d5ca Merge commit '0d439fbede03854eac8a978cccf21a3425a3c82d'
* commit '0d439fbede03854eac8a978cccf21a3425a3c82d':
  dsputil: Split off HuffYUV decoding bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/huffyuv.h
	libavcodec/huffyuvdec.c
	libavcodec/lagarith.c
	libavcodec/vble.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil.asm
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 23:16:06 +02:00
Michael Niedermayer
43c57dbe14 Merge commit '888dcd86755d37e55fd74166f6d38ad66d41db58'
* commit '888dcd86755d37e55fd74166f6d38ad66d41db58':
  h264_picture: Remove pointless dsputil.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 22:34:16 +02:00
Michael Niedermayer
d84286b1ea Merge commit 'f1df0a4c08b54e722e7a2c797d0d31c7f2c531d0'
* commit 'f1df0a4c08b54e722e7a2c797d0d31c7f2c531d0':
  on2avc: Remove pointless dsputil.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 22:29:11 +02:00
Michael Niedermayer
2870617853 avcodec/vp3: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 20:42:50 +02:00
Michael Niedermayer
0674da997a avcodec/cavs: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 20:42:50 +02:00
Diego Biurrun
512f3ffe9b dsputil: Split off HuffYUV encoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:54:53 -07:00
Diego Biurrun
0d439fbede dsputil: Split off HuffYUV decoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:52:34 -07:00
James Almer
5863207086 x86/dsputilenc: use HADDD in ff_sse16_sse2
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 15:12:50 +02:00
Diego Biurrun
888dcd8675 h264_picture: Remove pointless dsputil.h #include 2014-05-27 03:12:17 -07:00
Diego Biurrun
f1df0a4c08 on2avc: Remove pointless dsputil.h #include 2014-05-27 03:12:17 -07:00
James Almer
e64e079ece x86/dsputilenc: implement SSE2 version of diff_pixels
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 05:55:11 +02:00
Michael Niedermayer
a0c5cd3475 avcodec/x86/dsputilenc: set the count of SSE registers correctly for get_pixels
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 05:52:25 +02:00
Michael Niedermayer
d35000c2dc avcodec/g723_1: fix writing into input frame data and warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 21:05:03 +02:00
Christophe Gisquet
86ae0da60c x86: hpeldsp: propagate changes across codecs
Some codecs still use mmx versions, so have them use the versions
with newer instruction sets.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 15:37:04 +02:00
Michael Niedermayer
b0d0e29ffb avcodec/sgirledec: fix () in RBG323_TO_BGR8() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 23:08:51 +02:00
Michael Niedermayer
9f50d3b944 avcodec/rv34: Fix () in GET_PTS_DIFF() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:42:19 +02:00
Michael Niedermayer
a45e6b7bc5 avcodec/psymodel: Fix () in AAC_CUTOFF() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:41:57 +02:00
Michael Niedermayer
e5dc7439e3 avcodec/proresenc_anatoliy: Fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:41:35 +02:00
Michael Niedermayer
a3950a90f6 Revert "x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm"
This reverts commit ad733089b0.

breaks with --disable-yasm
revert requested by: Christophe Gisquet <christophe.gisquet@gmail.com>
2014-05-25 19:42:18 +02:00
Michael Niedermayer
9babf13764 avcodec/msvideo1enc: Fix () in MKRGB555() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:26:37 +02:00
Michael Niedermayer
eb718f4c53 avcodec/opus: Fix () in ROUND_MULL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:58 +02:00
Michael Niedermayer
d62a4707f9 avcodec/opus_celt: Fix () in CELT_PVQ_V macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:29 +02:00
Michael Niedermayer
c163f5e601 avcodec/pngdec: fix () in OP_* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:10 +02:00
Timothy Gu
ad733089b0 x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 16:30:08 +02:00
Clément Bœsch
657c603263 avcodec/webvttenc: do not use EOVERFLOW.
According to doc/errno.txt EOVERFLOW is not available everywhere. The
use of -1 is consistent with avcodec/srtenc.c.
2014-05-25 10:28:16 +02:00
Michael Niedermayer
cf7ff0146c avcodec/mss4: Fix () in MKVAL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:19:09 +02:00
Michael Niedermayer
6e720c5c81 avcodec/mss34dsp: fix () in SOP* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:18:47 +02:00
Michael Niedermayer
fa160af08b avcodec/mlpdec: fix () in MSB_MASK() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:18:18 +02:00
Michael Niedermayer
f276bf303c avcodec/ivi_dsp: add some missing () to macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
70f671c39e avcodec/hevc: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
0f45e643cc avcodec/h264_slice: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
af62b42736 avcodec/h264: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
97e6b5ee3a avcodec/golomb-test: fix () in EXTEND() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
fa915d4193 avcodec/aac: fix () in IS_CODEBOOK_UNSIGNED macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Aman Gupta
4372fb7a57 avcodec/webvttenc: add webvtt encoder
Based off the srt encoder. The following features are unimplemented:

- fonts, colors, sizes
- alignment and positioning

The rest works well. For example, use ffmpeg to convert subtitles into the .vtt format:

  ffmpeg -i input.srt output.vtt

Signed-off-by: Aman Gupta <ffmpeg@tmm1.net>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-05-25 03:04:14 +02:00
James Almer
d94e255dd1 x86/dsputilenc: make the SUM_ABS_DCTELEM macro more readable
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 02:03:54 +02:00
Michael Niedermayer
46e3883519 avcodec/opusdec: check alignment, misalignment could lead to crashes with avx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 00:38:20 +02:00
James Almer
61eea421b2 x86/dsputilenc: port sum_abs_dctelem functions to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 21:46:25 +02:00
Michael Niedermayer
ddeb58b90c avcodec/asvenc: dont use a negative global_quality
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 20:33:49 +02:00
Michael Niedermayer
9a7d332b92 avcodec/aacenc: dont use global quality if its negative
Some applications used a negative value as default for "not set"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 20:32:37 +02:00
Christophe Gisquet
81aa0f4604 x86: hpeldsp: implement SSSE3 version of _xy2
Loading pb_1 rather than pw_8192 was benchmarked to be more efficient.
Loading of the 2 yields no advantage. Loading of one saves ~11 cycles.

decicycles count:
put8:  3223(mmx)    -> 2387
avg8:  2863(mmxext) -> 2125
put16: 4356(sse2)   -> 3553
avg16: 4481(sse2)   -> 3513

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 15:15:56 +02:00
Christophe Gisquet
9722a6a3f3 x86: hpeldsp: implement SSE2 put_pixels16_xy2
This is obviously equivalent to the avg version, without the avg.

3223(mmx) -> 2006(sse2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:45:17 +02:00
Christophe Gisquet
f0aca50e0b x86: hpeldsp: implement SSE2 versions
Those are mostly used in codecs older than H.264, eg MPEG-2.

put16 versions:
      mmx  mmx2  sse2
x2:  1888  1185   552
y2:  1778  1092   510

avg16 xy2: 3509(mmx2) -> 2169(sse2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:29:48 +02:00
James Almer
7538ad2248 x86/hevc_deblock: improve chroma functions register allocation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 01:16:26 +02:00
James Almer
584327f22f x86/dsputil: fix argument declaration in vector_clipf
Should fix fate failures in msvc x86_64

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 23:10:17 +02:00
James Almer
518cbf9b4a x86/dsputil: fix VECTOR_CLIP_INT32 macro
The inline loop was incrementing and using the value of %%i
the wrong way.

Disassembly of ff_vector_clip_int32_sse2 before and after
this patch:

    movdqa (%rdx),%xmm0      |  movdqa (%rdx),%xmm0
    movdqa 0x10(%rdx),%xmm1  |  movdqa 0x10(%rdx),%xmm1
    movdqa 0x20(%rdx),%xmm2  |  movdqa 0x20(%rdx),%xmm2
    movdqa 0x30(%rdx),%xmm3  |  movdqa 0x30(%rdx),%xmm3
[...]                        |
    movdqa %xmm0,(%rcx)      |  movdqa %xmm0,(%rcx)
    movdqa %xmm1,0x10(%rcx)  |  movdqa %xmm1,0x10(%rcx)
    movdqa %xmm2,0x20(%rcx)  |  movdqa %xmm2,0x20(%rcx)
    movdqa %xmm3,0x30(%rcx)  |  movdqa %xmm3,0x30(%rcx)
    movdqa (%rdx),%xmm0      |  movdqa 0x40(%rdx),%xmm0
    movdqa 0x20(%rdx),%xmm1  |  movdqa 0x50(%rdx),%xmm1
    movdqa 0x40(%rdx),%xmm2  |  movdqa 0x60(%rdx),%xmm2
    movdqa 0x60(%rdx),%xmm3  |  movdqa 0x70(%rdx),%xmm3
[...]                        |
    movdqa %xmm0,(%rcx)      |  movdqa %xmm0,0x40(%rcx)
    movdqa %xmm1,0x20(%rcx)  |  movdqa %xmm1,0x50(%rcx)
    movdqa %xmm2,0x40(%rcx)  |  movdqa %xmm2,0x60(%rcx)
    movdqa %xmm3,0x60(%rcx)  |  movdqa %xmm3,0x70(%rcx)
    add    $0x80,%rdx        |  add    $0x80,%rdx
    add    $0x80,%rcx        |  add    $0x80,%rcx

Other versions were unaffected.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:59:55 +02:00
Michael Niedermayer
6b88f22e89 avcodec/dcadec: dont use hex float, msvc doesnt support it
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:39:14 +02:00
Michael Niedermayer
9ccb5455ca avcodec/dcadec: use a constant instead of assuming every compiler can optimize pow(2,-15)
Idea-by: nevcairiel and wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:19:11 +02:00
Michael Niedermayer
6da06ef6bb avcodec/dcadec: make dca_dmix_code() 650% faster
This effectively replaces the ldexpf() function call by a multiplication
with a constant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:08:41 +02:00
Michael Niedermayer
d062db7880 Merge commit '21f68c2489cba2a1a4a41d0c5c828266e6162800'
* commit '21f68c2489cba2a1a4a41d0c5c828266e6162800':
  avcodec: bump version after rotation api

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:48:54 +02:00
Michael Niedermayer
4e4dbb9983 dcadec: fix xxch_dmix_coeff and xxch_dmix_sf after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:39:21 +02:00
Michael Niedermayer
c867be03f6 Merge commit '6b7b8585d73548f08b98959df39d80b97677662f'
* commit '6b7b8585d73548f08b98959df39d80b97677662f':
  dca: Convert dca_dmixtable to integers

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 19:01:12 +02:00
Vittorio Giovara
21f68c2489 avcodec: bump version after rotation api
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-05-23 17:50:38 +02:00
Niels Möller
6b7b8585d7 dca: Convert dca_dmixtable to integers
Also include zero in the table, eliminating a special case in the
decoder.

Signed-off-by: Niels Möller <nisse@southpole.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-23 15:07:05 +02:00
James Almer
6a4832caae x86/diracdsp: mark all functions as yasm
No inline asm dirac code remains in the tree, so replace every relevant check.
This also moves all the dirac functions from dsputil_mmx.c to diracdsp_mmx.c

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 15:02:42 +02:00
James Almer
1d36defe94 x86/dsputil: port ff_vector_clipf_sse to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 00:08:21 +02:00
Christophe Gisquet
c081ca851c x86: hpeldsp: avg_pixels_xy2 for mmx2&3dnow
This is a port of the inline assembly of the mmx version to use the
pavg(us|)b instruction.

        8    16
mmx   1498  4355
mmx2  1242  3509

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:17:49 +02:00
Christophe Gisquet
17ac998055 x86: hpeldsp: mark _xy2 versions as approximate
Currently, only the mmx version is bitexact, the others (mmxext and
3dnow) are not, in spite of their naming.

Therefore, make their name more obvious. Also restore a comment that
was removed in 71155d7b.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:17:45 +02:00
Christophe Gisquet
f8de35ebc4 x86: hpeldsp: kill hpeldsp_mmx.c
before:
1987 decicycles in 8_x2, 262121 runs, 23 skips

after:
1902 decicycles in 8_x2, 262112 runs, 32 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:17:40 +02:00
Michael Niedermayer
aca48725af avcodec/proresdec2: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 15:05:27 +02:00
Michael Niedermayer
e8e9186a70 avcodec/pgssubdec: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 15:04:34 +02:00
Michael Niedermayer
f932e5f716 avcodec/vdpau_internal: move "struct vdpau_picture_context" up to avoid "#else"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 01:53:54 +02:00
Dale Curtis
d5d6b8e259 Fix compilation error around struct visibility when VDPAU disabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 01:53:13 +02:00
James Almer
80ee2dfcf6 x86/dsputil: port ff_put_signed_pixels_clamped_mmx to yasm
Also add an SSE2 version

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 23:33:45 +02:00
James Almer
7b05267239 x86/dsputil: port clear_block functions to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 23:33:45 +02:00
Michael Niedermayer
91a8262b9d avcodec/utils: add error message for the recode_subtitle() without iconv case
Based on the assert command which was removed in ef0c466a0f

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 17:39:26 +02:00
Dale Curtis
ef0c466a0f Replace assert with AVERROR when recode_subtitle called w/o ICONV.
recode_subtitle() is called implicitly by avformat_find_stream_info().
As such, clients which disable ICONV always crash if a file contains
subtitles; even if they don't care about them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 17:33:21 +02:00
Michael Niedermayer
e61055fd8b avcodec/atrac3plusdec: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 16:03:22 +02:00
Michael Niedermayer
606a49d2e6 avcodec/atrac3: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 15:59:56 +02:00
Michael Niedermayer
3d4e365073 avcodec/x86/hpeldsp_init: remove redundant if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 13:38:27 +02:00
Hendrik Leppkes
cd9e08e110 hpeldsp: fix build without inline asm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 13:37:38 +02:00
Christophe Gisquet
d1a32c3f49 x86: kill fpel_mmx.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 03:25:08 +02:00
Michael Niedermayer
19e66c7232 avcodec/libvorbisenc: dont add the duration to AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 03:02:06 +02:00
Dale Curtis
ca2fd25988 Fix compilation errors when deprecated features are disabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 22:55:28 +02:00