Commit Graph

28769 Commits

Author SHA1 Message Date
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
Michael Niedermayer
be656c362d avcodec/h264_picture: Fix build without error resilience
Found-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 21:31:40 +02:00
Katerina Barone-Adesi
e50ae60d46 avcodec/fate-idct8x8: Defined behavior: eliminate negative left-shifts.
The original code left-shifts negative values, which is undefined
in the C99 specification (the one used during normal FFmpeg compilation).
This change multiplies by (1 << shift), which is functionally equivalent,
but has defined behavior.
With this change, fate-idct8x8 compiled with --fsanitize=undefined works.

Bug-Id: 686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

The assembly generated by gcc is unchanged by this commit
2014-05-20 04:21:06 +02:00
Michael Niedermayer
8408720453 avcodec/smvjpegdec: Dont ignore avcodec_close() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:21:07 +02:00
Michael Niedermayer
0739614c9c avcodec: remove no longer needed ff_codec_close_recursive()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:20:30 +02:00
Janne Grunau
132a5711a2 check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA) 2014-05-20 00:43:51 +02:00
Michael Niedermayer
6218831844 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavf/ftp: favour EPSV over PASV command
  lavf/audiointerleave: return more meaningful error codes
  lavf/audiointerleave: check for allocation failure
  lavf/audiointerleave: use av_fifo_alloc_array
  lavf/dvenc: use av_fifo_alloc_array
  lavc/flac_parser: use av_fifo_alloc_array
  lavc/frame_thread_encoder: use av_fifo_alloc_array
  lavfi/vf_fps: use av_fifo_alloc_array
  lavfi/buffersink: use av_fifo_alloc_array
  ffmpeg: use av_fifo_alloc_array
  lavd/jack_audio: use av_fifo_alloc_array
  lavu/fifo: add av_fifo_alloc_array function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 00:22:51 +02:00
Oliver Fromme
ab6228316a avcodec/dvdsubenc: accept forced flag
Reviewed-by: Anshul <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 00:08:08 +02:00
Lukasz Marek
8aa2988036 lavc/flac_parser: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
bc4f362c92 lavc/frame_thread_encoder: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
James Almer
d43c303038 x86/hevc_deblock: use constants instead of generating values at runtime
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 23:09:33 +02:00
Thierry FAUCK
41b928c5fa avcodec/ppc/asm: fix build with ABI v2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 22:10:01 +02:00
James Almer
b82274487b lavc: define STRIDE_ALIGN as 32 when compiling with AVX support
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 22:09:43 +02:00
Michael Niedermayer
55fe1582cb avcodec/pthread_frame: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:36:29 +02:00
Michael Niedermayer
ef1d4ee2f8 Merge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'
* commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834':
  Add transformation matrix API.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:12:30 +02:00
Michael Niedermayer
af72f62d7b Merge commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83'
* commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83':
  pthread_frame: simplify the code by using new AVPacket API

Conflicts:
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:02:36 +02:00
Michael Niedermayer
4a2fd251f4 Merge commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b'
* commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b':
  avpacket: fix copying side data in av_packet_copy_props()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 18:51:34 +02:00
Michael Niedermayer
f29cdfec96 avcodec/libvorbisenc: do not attempt to flush if no data was input
this prevents the creation of a packet even though no single sample has ever
been input, which some confusion in the timestamp generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 17:37:50 +02:00
Michael Niedermayer
ebbc33a42d avcodec/libmp3lame: do not attempt to flush lame if no data was input
this prevents the creation of a packet even though no single sample has ever
been input, which some confusion in the timestamp generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 17:37:26 +02:00