Commit Graph

539 Commits

Author SHA1 Message Date
Thilo Borgmann d814a839ac Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
Michael Niedermayer e1c3e6277f Merge commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc'
* commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc':
  arm: fmtconvert: Split armv6 fmtconvert code off from vfp code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:10:39 +02:00
Michael Niedermayer 99e7c702db Merge commit 'bd549cbaacd33dfb7be81d0619c9b107b8a85be7'
* commit 'bd549cbaacd33dfb7be81d0619c9b107b8a85be7':
  arm: dcadsp: Move synth filter initialization to dcadsp file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:00:45 +02:00
Diego Biurrun f0389eb777 arm: fmtconvert: Split armv6 fmtconvert code off from vfp code 2013-08-29 11:24:14 +02:00
Diego Biurrun bd549cbaac arm: dcadsp: Move synth filter initialization to dcadsp file 2013-08-29 11:24:14 +02:00
Michael Niedermayer 6067186f3a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:30:57 +02:00
Michael Niedermayer f9418d156f Merge commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9'
* commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9':
  vp56: Mark VP6-only optimizations as such.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:04:11 +02:00
Diego Biurrun f407856968 arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder
The functions are used by all codecs that enable the h264chroma component
and the file is already compiled conditional on h264chroma being enabled.
2013-08-23 17:21:14 +02:00
Diego Biurrun 8506ff97c9 vp56: Mark VP6-only optimizations as such.
Most of our VP56 optimizations are VP6-only and will stay that way.
So avoid compiling them for VP5-only builds.
2013-08-23 14:42:19 +02:00
Michael Niedermayer e1a5ee25e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add assembly version of h264_find_start_code_candidate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:52:35 +02:00
Ben Avison 45e10e5c8d arm: Add assembly version of h264_find_start_code_candidate
Before          After
               Mean   StdDev   Mean   StdDev  Change
This function   508.8 23.4      185.4  9.0    +174.4%
Overall        3068.5 31.7     2752.1 29.4     +11.5%

In combination with the preceding patch:
                Before          After
                Mean   StdDev   Mean   StdDev  Change
Overall         2925.6 26.2     2752.1 29.4     +6.3%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:34 +03:00
Michael Niedermayer 0815b23062 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Comment out unused labels in simple_idct_arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 10:15:08 +02:00
Martin Storsjö 54ba52077c arm: Comment out unused labels in simple_idct_arm
When building for iOS in thumb mode, gas-preprocessor.pl doesn't
mark unused labels as thumb functions (as it does for other
local labels, where it can figure out that they are functions
due to being referenced in branch instructions). This leads to
linker warnings for some of those local labels, such as:

ld: warning: ARM function not 4-byte aligned: __a_evaluation from
libavcodec/libavcodec.a(simple_idct_arm.o)

Therefore, comment them out since they don't have any function.
They do still have a value in documenting key points in the
assembly source though.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-24 22:43:21 +03:00
Martin Storsjö 69e6702c01 arm: Mangle external symbols properly in new vfp assembly files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 14:48:30 +03:00
Martin Storsjö 47d57f24e3 arm: Mangle external symbols properly in new vfp assembly files
Reviewed-by: Kostya Shishkov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 13:16:21 +02:00
Michael Niedermayer 23f250d2bc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add VFP-accelerated version of qmf_32_subbands

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:11:23 +02:00
Michael Niedermayer c30eb74d18 Merge commit '8b9eba664edaddf9a304d3acbf0388b5c520781d'
* commit '8b9eba664edaddf9a304d3acbf0388b5c520781d':
  arm: Add VFP-accelerated version of fft16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:05:39 +02:00
Michael Niedermayer bacba8e5d1 Merge commit 'ba6836c966debc56314ce2ef133c7f0c1fdfdeac'
* commit 'ba6836c966debc56314ce2ef133c7f0c1fdfdeac':
  arm: Add VFP-accelerated version of dca_lfe_fir

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:04:28 +02:00
Michael Niedermayer 2305a6775d Merge commit 'b63bb251ea6d6ba23295294e37a92625c0192206'
* commit 'b63bb251ea6d6ba23295294e37a92625c0192206':
  arm: Add VFP-accelerated version of imdct_half

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:57:05 +02:00
Michael Niedermayer 3cab228005 Merge commit 'd6e4f5fef0d811e180fd7541941e07dca9e11dc0'
* commit 'd6e4f5fef0d811e180fd7541941e07dca9e11dc0':
  arm: Add VFP-accelerated version of int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:55:40 +02:00
Michael Niedermayer 877bbe05ce Merge commit 'ce9ed10ac27b9cf32a6257e083ea2f052692d971'
* commit 'ce9ed10ac27b9cf32a6257e083ea2f052692d971':
  arm: Add VFP-accelerated version of int32_to_float_fmul_scalar

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:42:19 +02:00
Michael Niedermayer 0129026c4e Merge commit '41ef1d360bac65032aa32f6b43ae137666507ae5'
* commit '41ef1d360bac65032aa32f6b43ae137666507ae5':
  arm: Add VFP-accelerated version of synth_filter_float

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:41:37 +02:00
Ben Avison ff30d12159 arm: Add VFP-accelerated version of qmf_32_subbands
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1323.0  98.0      746.2  60.6   +77.3%
Overall        15400.0 336.4    14147.5 288.4    +8.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:44 +03:00
Martin Storsjö 8b9eba664e arm: Add VFP-accelerated version of fft16
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1389.3  4.2       967.8  35.1   +43.6%
Overall        15577.5 83.2     15400.0 336.4    +1.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:41 +03:00
Martin Storsjö ba6836c966 arm: Add VFP-accelerated version of dca_lfe_fir
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function    868.2  33.5      436.0  27.0   +99.1%
Overall        15973.0 223.2    15577.5  83.2    +2.5%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:39 +03:00
Martin Storsjö b63bb251ea arm: Add VFP-accelerated version of imdct_half
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   2653.0  28.5     1108.8  51.4   +139.3%
Overall        17049.5 408.2    15973.0 223.2     +6.7%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:37 +03:00
Ben Avison d6e4f5fef0 arm: Add VFP-accelerated version of int32_to_float_fmul_array8
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function    366.2  18.3      277.8  13.7   +31.9%
Overall        18420.5 489.1    17049.5 408.2    +8.0%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:36 +03:00
Ben Avison ce9ed10ac2 arm: Add VFP-accelerated version of int32_to_float_fmul_scalar
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1175.0   4.4      366.2  18.3   +220.8%
Overall        19285.5 292.0    18420.5 489.1     +4.7%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:30 +03:00
Ben Avison 41ef1d360b arm: Add VFP-accelerated version of synth_filter_float
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   9295.0 114.9     4853.2 83.5    +91.5%
Overall        23699.8 397.6    19285.5 292.0   +22.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:17 +03:00
Christophe Gisquet b6293e2798 fmtconvert: Explicitly use int32_t instead of int
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 11:02:47 +03:00
Michael Niedermayer a40370661d use Kostyas full name in copyrights
This fixes 2 files that where not part of the original change
See: de421b2085

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:25:56 +02:00
Michael Niedermayer 1a7ae6be2a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Include hpeldsp_neon.o if h264qpel is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 11:21:45 +02:00
Michael Niedermayer e119d1b345 Merge commit 'efb7968cfe8b285ab4f27b363719b7c92d19ec74'
* commit 'efb7968cfe8b285ab4f27b363719b7c92d19ec74':
  arm: Don't unconditionally build dsputil files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 11:02:21 +02:00
Michael Niedermayer 0b539da4c7 Merge commit '36a7df8cf1115aa37a1b0d42324ecde5ab6c2304'
* commit '36a7df8cf1115aa37a1b0d42324ecde5ab6c2304':
  arm: Only build the FFT init files if FFT is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:57:14 +02:00
Michael Niedermayer 3a0e21f037 Merge commit '186599ffe0a94d587434e5e46e190e038357ed99'
* commit '186599ffe0a94d587434e5e46e190e038357ed99':
  build: cosmetics: Place unconditional before conditional OBJS lines

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:49:43 +02:00
Michael Niedermayer 1bbbbb0a32 Merge commit '9b9b2e9f3036abfd42916bcf734af14b4cb686aa'
* commit '9b9b2e9f3036abfd42916bcf734af14b4cb686aa':
  build: arm: cosmetics: Place all OBJS declarations in alphabetical order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:37:52 +02:00
Martin Storsjö 86113667c0 arm: Include hpeldsp_neon.o if h264qpel is enabled
A few of the h264qpel neon functions are shared with other
hpeldsp functions in this file.

This fixes standalone compilation of the h264 decoder on arm.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:37 +03:00
Martin Storsjö efb7968cfe arm: Don't unconditionally build dsputil files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:35 +03:00
Martin Storsjö 36a7df8cf1 arm: Only build the FFT init files if FFT is enabled
This fixes build errors in cases where FFT is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:33 +03:00
Diego Biurrun 186599ffe0 build: cosmetics: Place unconditional before conditional OBJS lines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:31 +03:00
Diego Biurrun 9b9b2e9f30 build: arm: cosmetics: Place all OBJS declarations in alphabetical order
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:27 +03:00
Christophe Gisquet f49564c607 fmtconvert: int32_t input to int32_to_float_fmul_scalar
It was previously declared as int.
Does not change fate results for x86.

Conflicts:

	libavcodec/ppc/fmtconvert_altivec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 18:01:16 +02:00
Michael Niedermayer dbcf7e9ef7 Merge commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d'
* commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d':
  ppc: Drop unnecessary ff_ name prefixes from static functions
  x86: Drop unnecessary ff_ name prefixes from static functions
  arm: Drop unnecessary ff_ name prefixes from static functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:21:35 +02:00
Diego Biurrun 383fd4d478 arm: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Michael Niedermayer c4010972c4 Merge commit '7384b7a71338d960e421d6dc3d77da09b0a442cb'
* commit '7384b7a71338d960e421d6dc3d77da09b0a442cb':
  arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/hpeldsp_arm.S
	libavcodec/arm/hpeldsp_arm.h
	libavcodec/arm/hpeldsp_armv6.S
	libavcodec/arm/hpeldsp_init_arm.c
	libavcodec/arm/hpeldsp_init_armv6.c
	libavcodec/arm/hpeldsp_init_neon.c
	libavcodec/arm/hpeldsp_neon.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:19:08 +02:00
Ronald S. Bultje 7384b7a713 arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:08 +03:00
Ronald S. Bultje 015821229f vp3: Use full transpose for all IDCTs
This way, the special IDCT permutations are no longer needed. This
is similar to how H264 does it, and removes the dsputil dependency
imposed by the scantable code.

Also remove the unused type == 0 cases from the plain C version
of the idct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:32:05 +03:00
Reimar Döffinger 8067f55edf Fix compilation on ARM with android gcc 4.7
With the current code it fails due to running out
of registers.
So code the store offsets manually into the assembler
instead.
Passes "make fate-dts".

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Michael Niedermayer 0724b4a16d Merge commit '62844c3fd66940c7747e9b2bb7804e265319f43f'
* commit '62844c3fd66940c7747e9b2bb7804e265319f43f':
  h264: Integrate clear_blocks calls with IDCT

Conflicts:
	libavcodec/arm/h264idct_neon.S
	libavcodec/h264idct_template.c
	libavcodec/x86/h264_idct.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:53:19 +02:00
Ronald S. Bultje 62844c3fd6 h264: Integrate clear_blocks calls with IDCT
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:06 +03:00