Christophe Gisquet
4cb6964244
dcadec: simplify decoding of VQ high frequencies
...
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.
Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.
The decode_hf implementations have following timings:
For x86 Arrandale:
C SSE SSE2 SSE4
win32: 260 162 119 104
win64: 242 N/A 89 72
The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
2014-02-28 13:03:22 +01:00
Janne Grunau
7686afd049
dca: factorize scaling in inverse ADPCM
...
Based on a patch from Christophe Gisquet.
Unrolling of the m == 0 case avoids a possible use of the uninitilized
value sum when s->predictor_history is not set. I failed to find a
sample for it. It also reduced the cycle count from 220 to 150 on
sandy bridge, x86_64 linux, gcc 4.8.2 compared to his patch.
2014-02-28 13:00:48 +01:00
Christophe Gisquet
08e3ea60ff
x86: synth filter float: implement SSE2 version
...
Timings for Arrandale:
C SSE
win32: 2108 334
win64: 1152 322
Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.
Unrolling for ARCH_X86_64 is a 20 cycles gain.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:48 +01:00
Christophe Gisquet
57b1eb9f75
dcadsp: scan coefficients linearly in dca_lfe_fir
...
This change is inspired by x86 asm where it frees a register.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Christophe Gisquet
ad507d7907
x86: dcadsp: implement SSE lfe_dir
...
Results for Arrandale/Windows:
32: 1670 -> 316
64: 728 -> 298
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Christophe Gisquet
87ec849fe9
dcadec: remove scaling in lfe_interpolation_fir
...
The scaling factor is constant so it is faster to scale the
FIR coefficients in the tables during compilation.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Diego Biurrun
a55546f48d
proresenc: Reuse proper dsputil infrastructure for FDCT
2014-02-28 11:19:47 +01:00
Diego Biurrun
92e598a57a
prores: Drop DSP infrastructure for prores encoder bits
...
None of the encoder bits are arch-optimized.
2014-02-28 11:17:25 +01:00
Diego Biurrun
d6acefe058
proresenc: Drop unnecessary DCT permutation bits
...
No permutation is necessary for the FDCT.
2014-02-28 11:00:24 +01:00
Diego Biurrun
b23650491f
prores: Use consistent names for DSP arch initialization functions
2014-02-28 10:34:55 +01:00
Diego Biurrun
f2408ec9d7
Give IDCT matrix transpose macro a more descriptive name
...
This also avoids a macro name clash and related warning on ARM.
2014-02-27 13:38:00 -08:00
Anton Khirnov
291e49d4e7
af_compand: add a dependency on strtok_r
2014-02-26 21:59:14 +01:00
Diego Biurrun
a63ac1106d
build: Do not redundantly specifiy H.263-related object files for MSMPEG4v*
...
These are already covered through dependencies specified in configure.
2014-02-26 19:44:55 +01:00
Andrew Kelley
738f83582a
lavfi: add compand audio filter
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-02-26 08:09:58 +01:00
Diego Biurrun
4ec336484d
parser: cosmetics: Drop some unnecessary parentheses
2014-02-25 13:40:47 +01:00
Anton Khirnov
e7dfaf16a4
libavfilter: example audio filtering program
...
Based on a patch by Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-02-25 13:22:10 +01:00
Luca Barbato
a1c699659d
parser: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-02-25 12:28:33 +01:00
Diego Biurrun
ed61f3ca8a
parser: Remove commented-out cruft
2014-02-25 11:59:05 +01:00
Janne Grunau
5ea14d48a8
texi2pod: always declare the pod file as UTF-8 encoded
2014-02-24 23:36:09 +01:00
Vittorio Giovara
c91488ab33
doc: fix one accented word
2014-02-24 17:54:03 +01:00
Vittorio Giovara
48d1ed9c83
doc: name correct header
2014-02-24 17:54:03 +01:00
Anton Khirnov
39c2880eea
af_volume: preserve frame properties
2014-02-24 17:32:26 +01:00
Anton Khirnov
dcc7e4bf1d
af_resample: preserve frame properties
2014-02-24 17:30:48 +01:00
Anton Khirnov
67f2a68814
avconv: remove a write-only variable
2014-02-24 17:30:48 +01:00
Derek Buitenhuis
8aca00cc2b
libx265: Properly handled dynamic linking with MSVC
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 11:07:33 -05:00
Derek Buitenhuis
0f7fa48cf1
libx265: Support SAR
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 11:07:33 -05:00
Derek Buitenhuis
2142b2efcd
libx265: Support 4:4:4
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 11:06:59 -05:00
Derek Buitenhuis
d00a504b24
libx265: Update API usage
...
Framerate is now a sane rational instead of an integer, and
inputDepth is changed to what it actually is.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 15:50:04 +00:00
Anton Khirnov
30517a9f05
Use av_frame_copy() to simplify code where appropriate.
2014-02-24 07:25:07 +01:00
Anton Khirnov
8feac29cc4
lavc: use AVFrame API properly in ff_reget_buffer()
2014-02-24 07:25:07 +01:00
Anton Khirnov
1155fd02ae
frame: add a convenience function for copying AVFrame data
2014-02-24 07:25:07 +01:00
Anton Khirnov
746dca483a
avconv: support forcing codec tags for input streams
2014-02-24 07:25:07 +01:00
James Almer
d59fcdaff3
x86: add detection for Bit Manipulation Instruction sets
...
Based on x264 code
Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
James Almer
1b932eb150
x86: add detection for FMA3 instruction set
...
Based on x264 code
Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
James Almer
10b0161d78
x86: add missing XOP checks and macros
...
Signed-off-by: James Almer <jamrial@gmail.com>
2014-02-23 15:29:36 +01:00
Janne Grunau
5800ba0db6
configure: disable cpunop if the check fails
...
Moving cpunop from the HAVE_LIST to the ARCH_EXT_LIST_X86 has the side
effect of enabling it. The semantics of the check have to be changed
from enable if successful to disable if unsuccessful. This was missing
in 2b0bb69997
causing build errors with
nasm.
2014-02-23 15:29:20 +01:00
Luca Barbato
8eeacf31c5
hevc: Do not left shift a negative value in hevc_loop_filter_chroma
2014-02-23 14:34:41 +01:00
Luca Barbato
ff486c0f7f
hevc: Do not right shift a negative value in get_pcm
2014-02-23 14:34:40 +01:00
Luca Barbato
50c988aa6d
hevc: Drop unnecessary shifts in deblocking_filter_CTB
...
beta_offset is pre-multiplied by 2.
2014-02-23 14:34:34 +01:00
Anton Khirnov
1db03a6864
lavr: return an error if a avresample_open() is called on an open context
2014-02-22 20:53:09 +01:00
Anton Khirnov
7e86c27b4e
lavr: add a function for checking whether AVAudioResampleContext is open
2014-02-22 20:52:36 +01:00
Luca Barbato
d922c5a5fb
h264: Fix a typo from the previous commit
...
f777504f64
changed a - in +
CC: libav-stable@libav.org
2014-02-22 12:26:32 +01:00
Tomas Härdin
c416b5cdf1
mxf: Add DNxHD UL
...
Note that the old DNxHD UL is actually JPEG 2000 according to RP224.
Leaving it as-is for now.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-02-21 15:46:10 +01:00
Philip de Nier
a9099e0402
mxf: Add uncompressed 422 8-bit rawvideo UL
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-02-21 15:46:05 +01:00
Diego Biurrun
dc9e05e279
libvorbis: Give consistent names to all functions, structs, and defines
2014-02-21 11:08:09 +01:00
Vittorio Giovara
f777504f64
h264: Lower bound check for slice offsets
...
And use the value from the specification.
Sample-Id: 00000451-google
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-02-20 18:58:38 +01:00
Luca Barbato
5c79d2e12d
avconv: Do not divide by zero
2014-02-20 18:58:38 +01:00
Luca Barbato
d6a27f885b
configure: Add usan to the toolchain presets
...
clang-3.4 and gcc-4.9 have it.
2014-02-20 18:58:38 +01:00
Diego Biurrun
2b0bb69997
configure: Move cpunop into ARCH_EXT_LIST_X86
...
It is a processor feature, so it belongs there.
2014-02-20 18:20:08 +01:00
Diego Biurrun
6adf4290eb
configure: Move inet_aton check into network function check block
2014-02-20 18:20:07 +01:00