Anton Khirnov [Wed, 29 Feb 2012 07:07:57 +0000 (08:07 +0100)]
swfdec: do not set codec timebase.
It is not supposed to be set outside of lavc.
Fixes a divide by zero when the stored framerate is 0.
Kostya Shishkov [Tue, 28 Feb 2012 18:44:07 +0000 (19:44 +0100)]
prores: store and retrieve extended colourspace information
Based on the patch by Phil Barrett.
Phil Barrett [Tue, 28 Feb 2012 18:26:11 +0000 (19:26 +0100)]
proresenc: correct edge emulation
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Kostya Shishkov [Tue, 28 Feb 2012 18:03:09 +0000 (19:03 +0100)]
prores: handle 444 chroma in right order
ProRes codes chroma blocks in 444 mode in different order than luma blocks,
so make both decoder and encoder read/write chroma blocks in right order.
Reported by Phil Barrett
Anton Khirnov [Mon, 27 Feb 2012 19:06:23 +0000 (20:06 +0100)]
mpegvideo_enc: add quantizer_noise_shaping private option.
Deprecate corresponding AVCodecContext field.
Anton Khirnov [Mon, 27 Feb 2012 18:58:41 +0000 (19:58 +0100)]
lavc: deprecate AVCodecContext.inter_threshold.
It's unused.
Anton Khirnov [Mon, 27 Feb 2012 18:53:21 +0000 (19:53 +0100)]
lavc: deprecate AVCodecContext.color_table_id.
It's currently only used as temporary storage by the mov demuxer. Make
it use a local variable instead.
Anton Khirnov [Mon, 27 Feb 2012 18:44:41 +0000 (19:44 +0100)]
avplay: remove an unused variable.
Anton Khirnov [Mon, 27 Feb 2012 18:09:49 +0000 (19:09 +0100)]
mpegvideo_enc: add chroma/luma_elim_threshold private options.
Deprecate corresponding AVCodecContext fields.
Anton Khirnov [Mon, 27 Feb 2012 11:23:19 +0000 (12:23 +0100)]
mpegvideo_enc: add cbp_rd flag to mpv_flags.
Deprecate CODEC_FLAG_CBP_RD.
Anton Khirnov [Mon, 27 Feb 2012 11:23:19 +0000 (12:23 +0100)]
mpegvideo_enc: add qp_rd flag to mpv_flags.
Deprecate CODEC_FLAG_QP_RD.
Anton Khirnov [Mon, 27 Feb 2012 11:23:19 +0000 (12:23 +0100)]
mpegvideo_enc: add strict_gop flag to mpv_flags.
Deprecate CODEC_FLAG2_STRICT_GOP.
Anton Khirnov [Mon, 27 Feb 2012 11:12:19 +0000 (12:12 +0100)]
lavc: add -mpv_flags to mpegvideo_enc-based encoders.
Deprecate CODEC_FLAG2_SKIP_RD in favor of the corresponding mpv_flags
flag.
Michael Niedermayer [Fri, 21 Oct 2011 09:41:40 +0000 (09:41 +0000)]
aacdec: Support stereo streams that erroneously signal predefined channel configuration 1 (mono).
[alex.converse@mgail.com]
Move code to get_che()
Update for AAC new channel configuration interface
Only set chan_config if output_configure succeeds.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Alex Converse [Tue, 28 Feb 2012 18:36:29 +0000 (10:36 -0800)]
aacdec: Reshuffle functions so get_che() can call set_default_channel_config() and output_configure().
Ronald S. Bultje [Thu, 23 Feb 2012 19:19:33 +0000 (11:19 -0800)]
vp56: error out on invalid stream dimensions.
Prevents crashes when playing corrupt vp5/6 streams.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Wed, 29 Feb 2012 00:13:46 +0000 (16:13 -0800)]
asf: don't seek back on EOF.
Seeking back on EOF will reset the EOF flag, causing us to re-enter
the loop to find the next marker in the ASF file, thus potentially
causing an infinite loop.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Fri, 17 Feb 2012 20:21:22 +0000 (12:21 -0800)]
asf: error out on ridiculously large minpktsize values.
They cause various issues further down in demuxing.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Alex Converse [Tue, 28 Feb 2012 19:50:22 +0000 (11:50 -0800)]
adpcm: Clip step_index values read from the bitstream at the beginning of each frame.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Ronald S. Bultje [Tue, 28 Feb 2012 19:35:36 +0000 (11:35 -0800)]
oma: don't read beyond end of leaf_table.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Diego Biurrun [Tue, 21 Feb 2012 22:33:01 +0000 (23:33 +0100)]
doxygen: Remove documentation for non-existing parameters; misc small fixes.
Ronald S. Bultje [Tue, 28 Feb 2012 18:22:28 +0000 (10:22 -0800)]
Indeo3: fix crashes on corrupt bitstreams.
Splits at borders of cells are invalid, since it leaves one of the
cells with a width/height of zero. Also, propagate errors on buffer
allocation failures, so we don't continue decoding (which crashes).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Diego Biurrun [Sat, 18 Feb 2012 12:43:59 +0000 (13:43 +0100)]
msmpeg4: Replace forward declaration by proper #include.
Luca Barbato [Sat, 25 Feb 2012 20:45:23 +0000 (21:45 +0100)]
segment: implement wrap around
Provide a way to wrap around the segment index so pseudostreaming
live through a web server and html5 browser is simpler.
Also ensure that 0 (disable) is a valid value across the options
providing wrap around.
Luca Barbato [Mon, 27 Feb 2012 21:40:11 +0000 (22:40 +0100)]
avf: reorder AVStream and AVFormatContext
Alex Converse [Thu, 23 Feb 2012 19:08:47 +0000 (11:08 -0800)]
aacdec: Remove erroneous reference to global gain from the out of bounds scalefactor error message.
Diego Biurrun [Mon, 27 Feb 2012 19:52:06 +0000 (20:52 +0100)]
avcodec_default_reget_buffer(): fix compilation in DEBUG mode
Derek Buitenhuis [Fri, 24 Feb 2012 16:41:06 +0000 (11:41 -0500)]
fate: Overhaul WavPack coverage
WavPack has a comprehensive test suite, and a bunch
of corner cases.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Ronald S. Bultje [Sun, 26 Feb 2012 16:57:14 +0000 (08:57 -0800)]
h264: fix mmxext chroma deblock to use correct TC values.
Michael Niedermayer [Thu, 29 Dec 2011 22:23:34 +0000 (23:23 +0100)]
flvdec: Remove the now redundant check for known broken metadata creator
The index validation identifies these indexes as broken.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sat, 25 Feb 2012 14:08:06 +0000 (16:08 +0200)]
flvdec: Validate index entries added from metadata while reading
By validating the index entries while reading, we don't need to
seek at startup to validate the entries. If the error in the
index entries is not pointing to (our definition of) the start
of packets, and there is an index entry pointing at some of the
first packets after the metadata, the invalid index can be discarded
almost immediately.
Signed-off-by: Martin Storsjö <martin@martin.st>
Tommy Winther [Wed, 12 Oct 2011 09:26:45 +0000 (12:26 +0300)]
rtsp: Handle requests from server to client
This returns 200 OK for OPTIONS requests and 501 Not Implemented
for all other requests.
Even though this doesn't do much actual handling of the requests,
it makes the code properly identify server requests as such, instead
of interpreting it as a reply to the client's request as it did
before.
Signed-off-by: Martin Storsjö <martin@martin.st>
Justin Ruggles [Sun, 26 Feb 2012 21:25:46 +0000 (16:25 -0500)]
movenc: use timestamps instead of frame_size for samples-per-packet
For encoding, AVCodecContext.frame_size is the number of input samples to
send to the encoder and does not necessarily correspond directly to the
timestamps of the output packets.
Justin Ruggles [Sun, 26 Feb 2012 22:21:07 +0000 (17:21 -0500)]
movenc: use the first cluster duration as the tfhd default duration
Justin Ruggles [Sun, 26 Feb 2012 22:17:13 +0000 (17:17 -0500)]
movenc: factorize calculation of cluster duration into a separate function
Anton Khirnov [Sun, 26 Feb 2012 10:52:24 +0000 (11:52 +0100)]
doc/APIchanges: fill in missing dates and hashes.
Anton Khirnov [Sun, 26 Feb 2012 09:01:08 +0000 (10:01 +0100)]
lavc: reorder AVCodecContext fields.
Put related fields together, move the important ones closer to the
beginning, try to eliminate holes.
Anton Khirnov [Sun, 26 Feb 2012 09:01:08 +0000 (10:01 +0100)]
lavc: reorder AVFrame fields.
Put related fields together, move the important ones closer to the
beginning, try to eliminate holes.
Anton Khirnov [Mon, 28 Nov 2011 20:57:06 +0000 (21:57 +0100)]
lavf: don't guess r_frame_rate from either stream or codec timebase.
Neither of those is guaranteed to be connected to framerate in any way
(if it even exists).
Fixes bug 56.
Anton Khirnov [Fri, 24 Feb 2012 13:14:24 +0000 (14:14 +0100)]
avconv: set discard on input streams automatically.
Reinhard Tartler [Sun, 26 Feb 2012 09:50:45 +0000 (10:50 +0100)]
Fix parser not to clobber has_b_frames when extradata is set.
Because in contrast to the decoder, the parser does not setup low_delay.
The code in parse_nal_units would always end up setting has_b_frames
to "1", except when stream is explicitly marked as low delay.
Since the parser itself would create 'extradata', simply reopening
the parser would cause this.
This happens for instance in estimate_timings_from_pts(), which causes the
parser to be reopened on the same stream.
This fixes Libav #22 and FFmpeg (trac) #360
CC: libav-stable@libav.org
Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
(commit
31ac0ac29b6bba744493f7d1040757a3f51b9ad7)
Comments and description adapted by Reinhard Tartler.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Anton Khirnov [Mon, 28 Nov 2011 08:31:48 +0000 (09:31 +0100)]
lavf: don't set codec timebase in avformat_find_stream_info().
It's not supposed to be set outside of lavc.
Anton Khirnov [Tue, 7 Feb 2012 10:03:33 +0000 (11:03 +0100)]
avconv: saner output video timebase.
r_frame_rate should in theory have something to do with input framerate,
but in practice it is often made up from thin air by lavf. So unless we
are targeting a constant output framerate, it's better to just use input
stream timebase.
Brings back dropped frames in nuv and cscd tests introduced in
cd1ad18a6539bd7fc2dc4c1740fbcbd498c0c0a2
Anton Khirnov [Tue, 7 Feb 2012 07:13:05 +0000 (08:13 +0100)]
rawdec: set timebase to 1/fps.
Anton Khirnov [Mon, 6 Feb 2012 20:47:41 +0000 (21:47 +0100)]
avconv: refactor vsync code.
No functional changes, just make it more readable.
Anton Khirnov [Fri, 24 Feb 2012 18:24:27 +0000 (19:24 +0100)]
FATE: remove a bunch of useless -vsync 0
No changes in the test results.
Paul B Mahol [Sat, 25 Feb 2012 17:16:41 +0000 (17:16 +0000)]
cdxl: bit line plane arrangement support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Paul B Mahol [Sat, 25 Feb 2012 17:16:40 +0000 (17:16 +0000)]
cdxl: remove early check for bpp
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Paul B Mahol [Sat, 25 Feb 2012 17:16:39 +0000 (17:16 +0000)]
cdxl: set pix_fmt PAL8 only if palette is available
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Tim Walker [Sat, 25 Feb 2012 21:33:48 +0000 (22:33 +0100)]
mlp_parser: fix the channel mask value used for the top surround channel
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Justin Ruggles [Thu, 23 Feb 2012 00:23:18 +0000 (19:23 -0500)]
vorbisenc: check all allocations for failure
Justin Ruggles [Wed, 22 Feb 2012 23:33:39 +0000 (18:33 -0500)]
roqaudioenc: return AVERROR codes instead of -1
Justin Ruggles [Wed, 22 Feb 2012 23:32:19 +0000 (18:32 -0500)]
roqaudioenc: set correct bit rate
Justin Ruggles [Wed, 22 Feb 2012 21:20:49 +0000 (16:20 -0500)]
roqaudioenc: use AVCodecContext.frame_size correctly.
It is not allowed to change mid-stream like it does currently. Instead we need
to buffer the first 8 frames before returning them as a single packet, then
only return single frame packets after that.
Justin Ruggles [Wed, 22 Feb 2012 18:40:03 +0000 (13:40 -0500)]
roqaudioenc: remove unneeded sample_fmt check
Justin Ruggles [Wed, 22 Feb 2012 18:35:38 +0000 (13:35 -0500)]
ra144enc: use int16_t* for input samples rather than void*
Justin Ruggles [Wed, 22 Feb 2012 18:29:09 +0000 (13:29 -0500)]
ra144enc: set AVCodecContext.coded_frame
Justin Ruggles [Wed, 22 Feb 2012 18:10:38 +0000 (13:10 -0500)]
ra144enc: remove unneeded sample_fmt check
Justin Ruggles [Tue, 21 Feb 2012 23:47:50 +0000 (18:47 -0500)]
nellymoserenc: set AVCodecContext.coded_frame
Justin Ruggles [Tue, 21 Feb 2012 23:46:00 +0000 (18:46 -0500)]
nellymoserenc: improve error checking in encode_init()
Justin Ruggles [Tue, 21 Feb 2012 23:42:32 +0000 (18:42 -0500)]
nellymoserenc: return AVERROR codes instead of -1
Justin Ruggles [Tue, 21 Feb 2012 23:40:22 +0000 (18:40 -0500)]
libvorbis: improve error checking in oggvorbis_encode_init()
Justin Ruggles [Tue, 21 Feb 2012 20:27:23 +0000 (15:27 -0500)]
mpegaudioenc: return AVERROR codes instead of -1
Justin Ruggles [Thu, 16 Feb 2012 00:06:34 +0000 (19:06 -0500)]
libfaac: improve error checking and handling in Faac_encode_init()
Justin Ruggles [Sat, 25 Feb 2012 04:27:14 +0000 (23:27 -0500)]
avutil: add AVERROR_UNKNOWN
Useful to return instead of -1 when the cause of the error is unknown,
typically from an external library.
Justin Ruggles [Thu, 16 Feb 2012 00:26:09 +0000 (19:26 -0500)]
check for coded_frame allocation failure in several audio encoders
Justin Ruggles [Thu, 16 Feb 2012 00:11:06 +0000 (19:11 -0500)]
audio encoders: do not set coded_frame->key_frame.
it is already set in avcodec_alloc_frame()
Justin Ruggles [Mon, 20 Feb 2012 18:12:37 +0000 (13:12 -0500)]
g722enc: check for trellis data allocation error
Justin Ruggles [Fri, 10 Feb 2012 02:03:02 +0000 (21:03 -0500)]
libspeexenc: export encoder delay through AVCodecContext.delay
Justin Ruggles [Mon, 20 Feb 2012 21:52:27 +0000 (16:52 -0500)]
avcodec: document the use of AVCodecContext.delay for audio encoders
Ronald S. Bultje [Sat, 25 Feb 2012 00:27:53 +0000 (16:27 -0800)]
kgv1: release reference picture on size change.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Sat, 25 Feb 2012 00:12:18 +0000 (16:12 -0800)]
matroska: don't overwrite string values until read/alloc was succesful.
This prevents certain tags with a default value assigned to them (as per
the EBML syntax elements) from ever being assigned a NULL value. Other
parts of the code rely on these being non-NULL (i.e. they don't check for
NULL before e.g. using the string in strcmp() or similar), and thus in
effect this prevents crashes when reading of such specific tags fails,
either because of low memory or because of targeted file corruption.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Anton Khirnov [Fri, 24 Feb 2012 12:07:57 +0000 (13:07 +0100)]
lavc: merge two if()s with the same condition.
Anton Khirnov [Fri, 24 Feb 2012 12:06:23 +0000 (13:06 +0100)]
lavc: factorize setting got_packet_ptr in avcodec_encode_video2()
Anton Khirnov [Fri, 24 Feb 2012 12:02:05 +0000 (13:02 +0100)]
lavc: signal no output when a NULL frame is passed to audio encoder without delay
Paul B Mahol [Fri, 24 Feb 2012 04:53:26 +0000 (04:53 +0000)]
xwdenc: fix monow encoding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Paul B Mahol [Tue, 21 Feb 2012 21:44:21 +0000 (21:44 +0000)]
fate: add tests for cdxl video
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Paul B Mahol [Tue, 21 Feb 2012 20:41:14 +0000 (20:41 +0000)]
cdxl: fix ham6/8 on big endian
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Ronald S. Bultje [Fri, 24 Feb 2012 23:32:25 +0000 (15:32 -0800)]
swscale: fix another integer overflow at large dimensions/rescales.
Justin Ruggles [Tue, 24 Jan 2012 23:10:28 +0000 (18:10 -0500)]
vorbisdec: add a flush() function
clear MDCT overlap buffer and reset previous window mode when seeking
Ronald S. Bultje [Fri, 24 Feb 2012 22:11:04 +0000 (14:11 -0800)]
fraps: release reference buffer on pix_fmt change.
Prevents crash when trying to copy from a non-existing plane in e.g.
a RGB32 reference image to a YUV420P target image
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Fri, 17 Feb 2012 22:48:57 +0000 (14:48 -0800)]
avcodec: disallow reget_buffer() if pix_fmt changed.
Ronald S. Bultje [Thu, 29 Dec 2011 17:07:32 +0000 (09:07 -0800)]
kgv1: use avctx->get/release_buffer().
Also fixes crashes on corrupt bitstreams.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
John Van Sickle [Fri, 24 Feb 2012 18:46:48 +0000 (13:46 -0500)]
docs: use -bsf:[vas] instead of -[vas]bsf.
The latter syntax is now invalid.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Dale Curtis [Fri, 24 Feb 2012 18:17:39 +0000 (13:17 -0500)]
mpegaudiodec: Prevent premature clipping of mp3 input buffer.
Instead of clipping extrasize based on EXTRABYTES, clip based on the
amount of buffer actually left. Without this fix, there are warbles
and other distortions in the test case below.
http://kevincennis.com/mix/assets/sounds/1901_voxfx.mp3
Anton Khirnov [Wed, 15 Feb 2012 07:38:51 +0000 (08:38 +0100)]
lavf: move the packet keyframe setting code.
compute_pkt_fields() is for unreliable estimates or guessing. The
keyframe information from the parser is (at least in theory) reliable,
so it should be used even when the other guessing is disabled with the
AVFMT_FLAG_NOFILLIN flag.
Therefore, move setting the packet keyframe flag based on parser
information from compute_pkt_fields() to read_frame_internal().
Justin Ruggles [Thu, 23 Feb 2012 00:31:40 +0000 (19:31 -0500)]
oggenc: free comment header for all codecs
fixes a memleak for Vorbis and Theora, where the comment header from
avpriv_split_xiph_headers() is replaced by a buffer that must be freed
separately.
Ronald S. Bultje [Fri, 24 Feb 2012 00:09:36 +0000 (16:09 -0800)]
lcl: error out if uncompressed input buffer is smaller than framesize.
This prevents crashes when trying to read beyond the end of the buffer
while decoding frame data.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Thu, 23 Feb 2012 20:22:40 +0000 (12:22 -0800)]
mjpeg: abort decoding if packet is too large.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Fri, 17 Feb 2012 20:54:37 +0000 (12:54 -0800)]
golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Wed, 22 Feb 2012 20:09:33 +0000 (12:09 -0800)]
get_bits: add HAVE_BITS_REMAINING macro.
Anton Khirnov [Fri, 24 Feb 2012 07:59:38 +0000 (08:59 +0100)]
lavf/output-example: use new audio encoding API correctly.
Anton Khirnov [Sat, 28 Jan 2012 19:12:45 +0000 (20:12 +0100)]
lavf/output-example: more proper usage of the new API.
Passing the codec into avformat_new_stream() is preferred.
Alex Converse [Thu, 23 Feb 2012 18:47:50 +0000 (10:47 -0800)]
tiff: Prevent overreads in the type_sizes array.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Alex Converse [Thu, 23 Feb 2012 18:22:51 +0000 (10:22 -0800)]
tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned.
TIFF v6.0 (unimplemented) adds signed equivalents.
Paul B Mahol [Fri, 24 Feb 2012 00:15:36 +0000 (00:15 +0000)]
apetag: do not leak memory if avio_read() fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Ronald S. Bultje [Thu, 23 Feb 2012 23:35:24 +0000 (15:35 -0800)]
apetag: propagate errors.
Fixes crashes if reading the tag value fails.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Christophe GISQUET [Thu, 23 Feb 2012 19:12:39 +0000 (20:12 +0100)]
SBR DSP x86: implement SSE sbr_hf_g_filt
Unrolling the main loop to process, instead of 4 elements:
- 8: minor gain of 2 cycles (not worth the extra object size)
- 2: loss of 8 cycles.
Assigning STEP to a register is a loss. Output address (Y) is almost always
unaligned.
Timings:
- C (32/64 bits): 117/109 cycles
- SSE: 57 cycles
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Christophe GISQUET [Thu, 23 Feb 2012 18:48:58 +0000 (19:48 +0100)]
SBR DSP x86: implement SSE sbr_sum_square_sse
The 32bits targets have been compiled with -mfpmath=sse for proper reference.
sbr_sum_square C /32bits: 82c (unrolled)/102c
C /64bits: 69c (unrolled)/82c
SSE/32bits: 42c
SSE/64bits: 31c
Use of SSE4.1 dpps to perform the final sum is slower.
Not unrolling to perform 8 operations in a loop yields 10 more cycles.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Christophe GISQUET [Thu, 23 Feb 2012 21:25:48 +0000 (22:25 +0100)]
SBR DSP: use intptr_t for the ixh parameter.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>