OSDN Git Service
Tim Walker [Mon, 3 Mar 2014 14:53:42 +0000 (14:53 +0000)]
movenc: enable Annex B to MP4 conversion for HEVC tracks.
Tim Walker [Mon, 3 Mar 2014 14:53:41 +0000 (14:53 +0000)]
movenc: write hvcC tag for HEVC.
Tim Walker [Mon, 3 Mar 2014 14:53:40 +0000 (14:53 +0000)]
movenc: use 'hev1' tag for HEVC in MODE_MOV.
'hvc1' requires that parameter set NAL units be
present only in the samples entry, but not in the
samples themselves, requiring that additional
parameter sets, if present, be filtered out of the
samples and placed in new, additional sample entries
if they override or otherwise conflict with the
parameter sets present in the first sample entry.
We do not have any way of doing this at present, so
the files we produce can only comply with the
restrictions set for the 'hev1' sample entry name in
ISO/IEC 14496-15.
James Zern [Sat, 9 Nov 2013 04:16:17 +0000 (20:16 -0800)]
riff: add VP9 fourcc
Ben Littler [Thu, 23 Feb 2012 04:34:45 +0000 (23:34 -0500)]
riff: IPJ2 decodes with JPEG2000 decoder
Samples can be made from mencoder and jp2avi.dll codec.
Baptiste Coudurier [Wed, 21 Mar 2012 21:18:16 +0000 (14:18 -0700)]
movdec: handle 0x7fff langcode as macintosh per the specs
The correct point that seperates ISO and MAC language codes is 0x400
according to the current QT spec. Old QT specs did not list where this
seperation is but apparently only defined the meaning of the first 137.
Piotr Bandurski [Wed, 16 Jan 2013 18:32:54 +0000 (19:32 +0100)]
libspeex: support ZygoAudio (quality 10 mode)
Mark Himsley [Fri, 1 Nov 2013 11:22:53 +0000 (11:22 +0000)]
isom: lpcm in mov default to big endian
It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.
I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]
Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.
This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.
[1]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 21
[2]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 178
Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Piotr Bandurski [Sat, 14 Jul 2012 16:42:29 +0000 (18:42 +0200)]
isom: add "MNG" FourCC
Carl Eugen Hoyos [Sat, 22 Feb 2014 23:31:50 +0000 (00:31 +0100)]
isom: Support MPEG-2 video mov files from FPC5
Piotr Bandurski [Sun, 15 Jul 2012 11:25:47 +0000 (13:25 +0200)]
isom: add "NO16" FourCC
Piotr Bandurski [Tue, 5 Jun 2012 10:13:39 +0000 (12:13 +0200)]
isom: add Radius DV YUV FourCCs
Carl Eugen Hoyos [Fri, 18 Oct 2013 05:50:50 +0000 (07:50 +0200)]
isom: Support Sony XAVC in mov
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Ben Littler [Wed, 19 Jun 2013 14:43:48 +0000 (10:43 -0400)]
isom: add xd51 hdcam
Someone needs to binary search FCP for new isom...
Vittorio Giovara [Sun, 9 Mar 2014 16:15:26 +0000 (17:15 +0100)]
hevc: make pps/sps ids unsigned where necessary
Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
Michael Niedermayer [Sat, 15 Feb 2014 22:09:55 +0000 (23:09 +0100)]
hevc: Do not turn 32bit timebases into negative numbers
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Michael Niedermayer [Sat, 11 Jan 2014 19:23:51 +0000 (20:23 +0100)]
hevc: use av_mallocz() for allocating tab_ipm
Fixes use of uninitialized memory and out of stack array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Michael Niedermayer [Sat, 15 Feb 2014 21:29:17 +0000 (22:29 +0100)]
hevc: Use get_bits_long() in decode_vui()
Fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Janne Grunau [Sun, 2 Mar 2014 19:33:49 +0000 (20:33 +0100)]
float_dsp: fix errors in documentation
Janne Grunau [Fri, 24 Jan 2014 00:15:31 +0000 (01:15 +0100)]
timer: use mach_absolute_time as high resolution clock on darwin
Not guaranteed to be in nanosecond resolution. On iOS 7 the duration
of one tick is 125/3 ns which is still more than an order of magnitude
better then microseconds.
Replace decicycles with the neutral UNITS. Decicycles is strange but
tenths of a nanosecond and unspecific "deci"-ticks for mach_absolute_time
is just silly.
Janne Grunau [Wed, 29 Jan 2014 13:48:22 +0000 (14:48 +0100)]
arm: get_cabac inline asm
Based on the aarch64 asm. CPU cycle counts on cortex-a9 compared to
gcc 4.8.2:
before: 475 decicycles in get_cabac_noinline,
67106035 runs, 2829 skips
after: 393 decicycles in get_cabac_noinline,
67106474 runs, 2390 skips
Overall speedup is above 2%. Code generated by clang 3.4 is slower on
the same hardware and the relative change is a little larger.
Janne Grunau [Mon, 13 Jan 2014 00:06:20 +0000 (01:06 +0100)]
aarch64: get_cabac inline asm
Based on the x86 branchless get_cabac asm. get_cabac_noinline() gets
approximately 20% faster (no cycle counts available) compared to clang
from Xcode 5.1 beta5. More than 6% faster overall. A part of the overall
speedup might be explained by additional inlining of get_cabac().
Janne Grunau [Sat, 8 Mar 2014 18:15:16 +0000 (19:15 +0100)]
arm: vp3: remove incorrect const in ff_vp3_idct_dc_add_neon declaration
Was missed in
aeaf268e52fc11c1f64914a319e0edddf1346d6a when integrating
clear_blocks into the idct.
Pierre Lejeune [Sat, 8 Mar 2014 12:19:17 +0000 (12:19 +0000)]
build: Use pkg-config for openjpeg
Bug-Id: 387
CC: libav-stable@libav.org
John Stebbins [Mon, 3 Mar 2014 20:20:15 +0000 (20:20 +0000)]
movenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
CC: libav-stable@libav.org
John Stebbins [Mon, 3 Mar 2014 20:20:14 +0000 (20:20 +0000)]
matroskaenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
CC: libav-stable@libav.org
Janne Grunau [Sat, 8 Mar 2014 10:52:14 +0000 (11:52 +0100)]
arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
The overread avoidance fix in
cbddee1cca0ebd01e8c5aa694d31228eb4de4b41
broke the computation for the last row since it prevented the safe
reading from the height+1-th row.
CC: libav-stable@libav.org
Keiji Costantini [Sat, 1 Mar 2014 18:44:01 +0000 (19:44 +0100)]
rv10: K&R formatting cosmetics
Also sort #includes into canonical order.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Keiji Costantini [Sat, 1 Mar 2014 18:44:00 +0000 (19:44 +0100)]
rv10: Forward error from rv10_decode_packet
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Fri, 7 Mar 2014 14:15:02 +0000 (15:15 +0100)]
g2meet: K&R formatting cosmetics
Derek Buitenhuis [Fri, 7 Mar 2014 14:31:53 +0000 (14:31 +0000)]
fic: Properly handle skip frames
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diego Biurrun [Fri, 7 Mar 2014 12:54:18 +0000 (13:54 +0100)]
matroskadec: cosmetics: Fix "attachement" vs. "attachment" typo
Keiji Costantini [Sat, 1 Mar 2014 16:28:15 +0000 (17:28 +0100)]
matroskadec: K&R formatting cosmetics
Also sort #includes into canonical order.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Martin Storsjö [Wed, 5 Mar 2014 14:07:37 +0000 (16:07 +0200)]
rtmppkt: Rename the ts_delta field to ts_field
Based on a suggestion by Martin Panter. This is more descriptive,
since it's the actual timestamp field from the RTMP packet,
which might or might not be a delta depending on context (in
some packets it's a delta, in some packets it's an absolute
timestamp, and in some packets it's 0xffffff to indicate that
the actual delta or absolute timestamp is transmitted separately).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Panter [Wed, 5 Mar 2014 14:02:18 +0000 (16:02 +0200)]
rtmppkt: Properly handle extended timestamps when writing
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Panter [Wed, 5 Mar 2014 14:00:44 +0000 (16:00 +0200)]
rtmppkt: Add a descriptive comment
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Panter [Wed, 5 Mar 2014 04:04:39 +0000 (04:04 +0000)]
rtmppkt: Handle extended timestamp field even for one-byte header
Related fix in "rtmpdump":
https://repo.or.cz/w/rtmpdump.git/commitdiff/
79459a2
Adobe's RTMP specification (21 Dec 2012), section 5.3.1.3 ("Extended
Timestamp"), says "this field is present in Type 3 chunks". Type 3 chunks are
those with the one-byte header size.
This resolves intermittent hangs and segfaults caused by the read function,
and also includes an untested fix for the write function.
The read function was tested with ABC (Australia) News 24 streams, however
they are probably restricted to only Australian internet addresses. Some of
the packets at the start of these streams seem to contain junk timestamp
fields, often requiring the extended field. Test command:
avplay rtmp://cp81899.live.edgefcs.net/live/news24-med@28772
Signed-off-by: Martin Storsjö <martin@martin.st>
Patrice Clement [Thu, 6 Mar 2014 18:40:56 +0000 (19:40 +0100)]
dict: K&R formatting cosmetics
Derek Buitenhuis [Thu, 6 Mar 2014 20:01:17 +0000 (20:01 +0000)]
libx265: Support API version 9
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Rainer Hochecker [Thu, 6 Mar 2014 13:40:43 +0000 (14:40 +0100)]
dxva2: Increase maximum number of slices for mpeg2
Some content requires an higher number of slices in order to
render properly.
Rise the number to 1024 and warn if ever it exceeds.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Wed, 8 Jan 2014 00:51:48 +0000 (01:51 +0100)]
mxf: Return meaningful errors
Paul B Mahol [Fri, 18 Oct 2013 10:44:56 +0000 (10:44 +0000)]
mxf: Parse random index pack
Get the last partition offset and use it when footer partition
offset is missing.
Footer partition may not be present and even if present footer
partition offset may not be set in any partition except last one.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Matthieu Bouron [Fri, 29 Mar 2013 13:09:31 +0000 (14:09 +0100)]
mxf: Handle identification metadata
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Matthieu Bouron [Thu, 13 Sep 2012 19:15:48 +0000 (21:15 +0200)]
mxf: Set audio packets pts
Extrapolate audio timestamps based on the number of samples demuxed.
Deal with some MXF nastiness involving fractional number of
samples per EditUnit when seeking (the specs handwave this away).
Further fixes from Tomas Härdin.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Matthieu Bouron [Thu, 20 Sep 2012 18:31:28 +0000 (20:31 +0200)]
mxf: Introduce ff_mxf_get_samples_per_frame
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Thu, 6 Mar 2014 12:04:03 +0000 (13:04 +0100)]
build: Let the SVQ3 decoder depend on the H.264 decoder
The SVQ3 decoder reuses large parts of the H.264 decoder so it
makes no sense to enable the former but not the latter.
Also drop unnecessary h263.o object from SVQ3 decoder object list.
Diego Biurrun [Sat, 2 Nov 2013 16:21:53 +0000 (17:21 +0100)]
configure: Split x86 SIMD architecture extensions into separate list
This avoids checking inline/external assembly dependencies for x86
extensions that do not play a role in inline/external assembly.
Anton Khirnov [Thu, 6 Mar 2014 07:32:50 +0000 (08:32 +0100)]
vf_shuffleplanes: fix the type of the mapping indices
They are TYPE_INT AVOptions, so they must be ints
Diego Biurrun [Tue, 4 Mar 2014 18:40:21 +0000 (19:40 +0100)]
x86: dcadsp: Fix linking with yasm and optimizations disabled
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
Anton Khirnov [Mon, 24 Feb 2014 10:32:16 +0000 (11:32 +0100)]
FATE: add tests for the shuffleplanes filter
Anton Khirnov [Sun, 23 Feb 2014 14:38:13 +0000 (15:38 +0100)]
lavfi: add shuffleplanes filter
Anton Khirnov [Sun, 23 Feb 2014 14:40:06 +0000 (15:40 +0100)]
lavfi: use the correct filter context for logging an error.
Janne Grunau [Wed, 5 Mar 2014 11:44:57 +0000 (12:44 +0100)]
arm: hpeldsp: prevent overreads in armv6 asm
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk>
Bug-Id: 646
CC: libav-stable@libav.org
Diego Biurrun [Tue, 4 Mar 2014 18:26:28 +0000 (19:26 +0100)]
x86: cabac: Use correct #includes to make header compile standalone
Luca Barbato [Wed, 5 Mar 2014 09:41:33 +0000 (10:41 +0100)]
avfilter: Add missing emms_c when needed
Arch specific calls should have an emms_c following to keep the cpu
state consistent.
Reported-By: wm4
CC: libav-stable@libav.org
Reinhard Tartler [Sun, 2 Mar 2014 07:11:05 +0000 (02:11 -0500)]
configure: enable PIC on s390(x)
The s390 architecture requires shared libraries to be built in PIC mode.
Otherwise applications will get wrong relocations at run-time, leading
to confusing segmentation faults.
CC: libav-stable@libav.org
Rémi Denis-Courmont [Tue, 4 Mar 2014 19:13:09 +0000 (19:13 +0000)]
av_vdpau_get_profile: mask out H.264 intra profile flag
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Keiji Costantini [Fri, 28 Feb 2014 18:58:20 +0000 (19:58 +0100)]
avienc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Vittorio Giovara [Tue, 4 Mar 2014 17:27:09 +0000 (18:27 +0100)]
vf_frei0r: fix missing end of line character
Error introduced in
61b323ce7c7cdc101eadfd7de2203922b8a39e8d.
Vittorio Giovara [Tue, 4 Mar 2014 14:16:51 +0000 (15:16 +0100)]
doc: fix a couple of typos in frame.h
Vittorio Giovara [Wed, 26 Feb 2014 01:26:29 +0000 (02:26 +0100)]
put_bits: Remove unused includes
This requires adding includes to other files that relied on these being
included implicitly.
Vittorio Giovara [Sat, 1 Mar 2014 12:01:43 +0000 (13:01 +0100)]
mathops: move macro to the only place it is used
This helps in disentangling lavf and lavc too.
Vittorio Giovara [Thu, 27 Feb 2014 11:29:37 +0000 (12:29 +0100)]
vf_frei0r: refactor library loading from env variable
strtok_r is not needed any more, so remove it from configure.
Vittorio Giovara [Thu, 27 Feb 2014 11:06:15 +0000 (12:06 +0100)]
vf_frei0r: prevent a segfault when filter parameters are not set
Vittorio Giovara [Thu, 27 Feb 2014 12:41:57 +0000 (13:41 +0100)]
vf_frei0r: adjust error messages
Patrice Clement [Fri, 28 Feb 2014 17:31:29 +0000 (18:31 +0100)]
ass: K&R formatting cosmetics
Keiji Costantini [Sat, 1 Mar 2014 18:17:04 +0000 (18:17 +0000)]
ituh263: reject b-frame with pp_time = 0
Avoid a division by 0 in ff_mpeg4_set_one_direct_mv.
Sample-Id:
00000168-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Lou Logan [Tue, 7 Jan 2014 19:59:04 +0000 (10:59 -0900)]
qt-faststart: Add a note about the -movflags +faststart feature
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 28 Feb 2014 10:19:49 +0000 (12:19 +0200)]
qt-faststart: Avoid unintentionally sign extending BE_32
Without this cast, the BE_32() expression is sign extended when
assigned to an uint64_t, since the uint8_t|uint8_t expression
is promoted to an int.
Also avoid undefined behaviour when left shifting an uint8_t
by 24 by casting it to an uint32_t explicitly before shifting.
Based on a patch by Michael Niedermayer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Thu, 13 Dec 2012 14:07:20 +0000 (15:07 +0100)]
qt-faststart: Check offset_count before reading from the moov_atom buffer
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 24 Oct 2012 22:39:33 +0000 (00:39 +0200)]
qt-faststart: Check the ftello() return codes
This silences a warning in the coverity static analyzer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 29 Oct 2012 21:05:33 +0000 (22:05 +0100)]
qt-faststart: Fix the signedness of variables keeping the ftello return values
These variables are assigned the return values of ftello, which
returns an off_t, which is a signed type. On errors, ftello returns
-1, thus make sure this error return value can be stored properly.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 22 Oct 2012 20:42:51 +0000 (22:42 +0200)]
qt-faststart: Check fseeko() return codes
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 30 Sep 2012 19:53:26 +0000 (21:53 +0200)]
qt-faststart: Simplify code by using a MIN() macro
qt-faststart doesn't use the normal libav headers at all since
it's supposed to be a completely standalone tool, so we implement
the macro locally in this file.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 28 Feb 2014 09:41:55 +0000 (11:41 +0200)]
qt-faststart: Increase the copy buffer size to 64 KB
Copying data in chunks of 1 KB is a little wasteful.
64 KB should still easily fit on the stack, so there's no need
to allocate it dynamically.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Thu, 27 Feb 2014 20:36:33 +0000 (21:36 +0100)]
pthread_frame: flush all threads on flush, not just the first one
avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
flushed.
CC:libav-stable@libav.org
Bug-Id: vlc/9665
Anton Khirnov [Wed, 26 Feb 2014 21:37:06 +0000 (22:37 +0100)]
af_compand: replace strtok_r() with av_get_token()
Diego Biurrun [Mon, 23 Dec 2013 03:24:53 +0000 (04:24 +0100)]
configure: Set the thread type after resolving dependencies
A threading type might be detected originally, but later disabled
if one of its dependencies is unavailable.
This makes sure that the threading support item in the configure
output is right for setups where w32threads are available but
native atomics aren't.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Thu, 27 Feb 2014 23:02:25 +0000 (15:02 -0800)]
build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
Almost all of the code is shared so there is little point in
enabling one decoder/encoder without the other.
Diego Biurrun [Thu, 27 Feb 2014 23:02:24 +0000 (15:02 -0800)]
build: Let the iac decoder depend on the imc decoder
Almost all of the code is shared so there is little point in
enabling one decoder without the other.
Diego Biurrun [Thu, 27 Feb 2014 23:02:23 +0000 (15:02 -0800)]
build: Let all MJPEG-related decoders depend on the MJPEG decoder
These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
Diego Biurrun [Thu, 27 Feb 2014 23:02:22 +0000 (15:02 -0800)]
build: Let AMV decoder depend on the SP5X decoder
This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
Vittorio Giovara [Fri, 28 Feb 2014 12:16:37 +0000 (13:16 +0100)]
h264: fix clang warning about uninitialized variable
Vittorio Giovara [Wed, 19 Feb 2014 02:23:17 +0000 (03:23 +0100)]
h264: update flag name in ff_h264_decode_ref_pic_list_reordering()
This is the name used in the specifications.
Vittorio Giovara [Wed, 19 Feb 2014 02:19:23 +0000 (03:19 +0100)]
h264: parse two additional constraint flags
Vittorio Giovara [Mon, 17 Feb 2014 12:55:15 +0000 (13:55 +0100)]
h264: add MVCD to the list of High profiles in SPS
Also comment all previous profiles.
Hendrik Leppkes [Thu, 22 Dec 2011 23:14:32 +0000 (00:14 +0100)]
latm: Always reconfigure if no extradata was set previously
AAC LOAS can have new audio config objects in the stream itself.
Make sure the decoder reconfigures itself when the first one arrives
midstream.
Bug-Id: 644
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Sat, 22 Feb 2014 17:27:10 +0000 (18:27 +0100)]
arm: dcadsp: implement decode_hf as external NEON asm
Christophe Gisquet [Fri, 14 Feb 2014 15:03:13 +0000 (15:03 +0000)]
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.
Janne Grunau [Fri, 21 Feb 2014 12:13:36 +0000 (13:13 +0100)]
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.
Christophe Gisquet [Fri, 14 Feb 2014 15:03:09 +0000 (15:03 +0000)]
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>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:08 +0000 (15:03 +0000)]
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>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:07 +0000 (15:03 +0000)]
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>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:06 +0000 (15:03 +0000)]
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>
Diego Biurrun [Thu, 27 Feb 2014 22:49:55 +0000 (14:49 -0800)]
proresenc: Reuse proper dsputil infrastructure for FDCT
Diego Biurrun [Thu, 27 Feb 2014 22:49:54 +0000 (14:49 -0800)]
prores: Drop DSP infrastructure for prores encoder bits
None of the encoder bits are arch-optimized.
Diego Biurrun [Thu, 27 Feb 2014 22:49:53 +0000 (14:49 -0800)]
proresenc: Drop unnecessary DCT permutation bits
No permutation is necessary for the FDCT.
Diego Biurrun [Thu, 27 Feb 2014 22:49:52 +0000 (14:49 -0800)]
prores: Use consistent names for DSP arch initialization functions
Diego Biurrun [Tue, 18 Feb 2014 17:57:45 +0000 (09:57 -0800)]
Give IDCT matrix transpose macro a more descriptive name
This also avoids a macro name clash and related warning on ARM.
Anton Khirnov [Wed, 26 Feb 2014 12:44:53 +0000 (13:44 +0100)]
af_compand: add a dependency on strtok_r