Commit Graph

28 Commits

Author SHA1 Message Date
Michael Niedermayer
3f01042142 ff_celp_lp_synthesis_filterf: change loop end check
This makes no difference for supported input but avoids a
out of array read with input that is never passed in currently

Fixes CID717919
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:32:38 +02:00
Michael Niedermayer
3f350a482f ff_celp_lp_synthesis_filterf: check that filter_length is within the supported range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:32:38 +02:00
Michael Niedermayer
c581cb4e4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix even more missing includes after the common.h removal
  build: Factor out rangecoder dependencies to CONFIG_RANGECODER
  build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
  x86: avcodec: Consistently name all init files
  Add more missing includes after removing the implicit common.h
  Add some more missing includes after removing the implicit common.h
  Don't include common.h from avutil.h
  rtmp: Automatically compute the hash for SWFVerification

Conflicts:
	configure
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/Makefile
	libavcodec/assdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/avpacket.c
	libavcodec/dv_profile.c
	libavcodec/dwt.c
	libavcodec/libtheoraenc.c
	libavcodec/rawdec.c
	libavcodec/rv40dsp.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.h
	libavcodec/vc1dsp.c
	libavcodec/x86/Makefile
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/buffer.c
	libavfilter/formats.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_select.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/version.h
	libavutil/audioconvert.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 16:20:30 +02:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Michael Niedermayer
d8c3170c9f Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  g723.1: do not pass large structs by value
  g723.1: do not bounce intermediate values via memory
  g723.1: declare a variable in the block it is used
  g723.1: avoid saving/restoring excitation
  g723.1: avoid unnecessary memcpy() in residual_interp()
  g723.1: make postfilter write directly to output buffer
  g723.1: drop unnecessary variable buf_ptr in formant_postfilter()
  g723.1: make scale_vector() output to a separate buffer
  g723.1: make autocorr_max() work on an arbitrary buffer
  g723.1: do not needlessly use int64_t
  g723.1: use saturating addition functions
  g723.1: optimise scale_vector()
  g723.1: remove useless uses of MUL64()
  g723.1: remove unnecessary argument 'shift' from dot_product()
  g723.1: deobfuscate "(x << 4) - x" to "15 * x"
  celp: optimise ff_celp_lp_synthesis_filter()
  libavutil: add saturating addition functions
  cllc: Implement ARGB support
  cllc: Add support for QRGB
  cllc: Rename some funcs to represent what they actually do
  ...

Conflicts:
	LICENSE
	libavcodec/g723_1.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 14:38:43 +02:00
Mans Rullgard
fddc5b9bea celp: optimise ff_celp_lp_synthesis_filter()
Adding instead of subtracting the products in the loop allows the
compiler to generate more efficient multiply-accumulate instructions
when 16-bit multiply-subtract is not available. ARM has only
multiply-accumulate for 16-bit operands.  In general, if only one
variant exists, it is usually accumulate rather than subtract.

In the same spirit, using the dedicated saturation function enables
use of any special optimised versions of this.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mohamed Naufal Basheer
8aac5585fa Add a shift parameter to celp_lp_synthesis_filter()
This is intended for reuse by the G.723.1 decoder

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:53 +02:00
Nedeljko Babic
3827a86eac Optimization of AMR NB and WB decoders for MIPS
AMR NB and WB decoders are optimized for MIPS architecture.
Appropriate Makefiles are changed accordingly.

Cnfigure script is changed in order to support optimizations.
 Optimizations are enabled by default when compiling is done for
  mips architecture.
 Appropriate cflags are automatically set.
 Support for several mips CPUs is added in configure script.

New ffmpeg options are added for disabling optimizations.

The FFMPEG option --disable-mipsfpu disables MIPS floating point
 optimizations.
The FFMPEG option --disable-mips32r2 disables MIPS32R2
 optimizations.
The FFMPEG option --disable-mipsdspr1 disables MIPS DSP ASE R1
 optimizations.
The FFMPEG option --disable-mipsdspr2 disables MIPS DSP ASE R2
 optimizations.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 21:12:39 +02:00
Michael Niedermayer
517dcc9b5f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  tests: Refactor rotozoom/videogen common code into a separate file.
  tests: Mark some file-internal symbols as static.
  build: Drop leftover .exp pattern from LIBSUFFIXES list.
  vsrc_buffer: return EAGAIN if no frame is available.
  WMAL: Shift output samples by the specified number of padding zeroes.
  WMAL: Restore removed code in mclms_predict()
  rtpdec_h264: Remove a useless ifdef
  rtpdec_h264: Remove outdated/useless/incorrect comments
  rtpdec_h264: Remove useless memory corruption checks
  rtpdec_h264: Return proper error codes
  rtpdec_h264: Check the available data length before reading
  rtpdec_h264: Add input size checks
  png: check bit depth for PAL8/Y400A pixel formats.
  ea: check chunk_size for validity.
  celp filters: Do not read earlier than the start of the 'out' vector.

Conflicts:
	libavcodec/pngdec.c
	libavfilter/src_buffer.c
	tests/rotozoom.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 20:22:09 +02:00
Alex Converse
37ddd38332 celp filters: Do not read earlier than the start of the 'out' vector.
CC: libav-stable@libav.org
2012-05-04 10:55:31 -07:00
Mohamed Naufal Basheer
bcc67dffa0 Add a shift parameter to celp_lp_synthesis_filter for reuse by the G.723.1 decoder 2011-09-29 21:43:52 +02:00
Mans Rullgard
e65ab9d94f Remove unused variables 2011-06-02 20:06:00 +01:00
Clément Bœsch
adba9c6352 Fix various unused variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-30 00:24:01 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Vitor Sessak
fe89ccd162 Fix spelling in comment
Originally committed as revision 22137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 20:42:13 +00:00
Vitor Sessak
efb0102fef Add commented-out unoptimized code to improve readability
Originally committed as revision 22136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 19:56:51 +00:00
Vitor Sessak
5c910fcad8 Cosmetics: make celp_filters.* formatting more consistent with the rest of
FFmpeg

Originally committed as revision 20885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 17:15:57 +00:00
Vitor Sessak
6ef607c2d5 Optimize ff_celp_lp_synthesis_filterf(). 50% faster in my tests.
Originally committed as revision 20884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 17:09:33 +00:00
Ronald S. Bultje
b1ade3d182 And on the sixth day, God gave us the <= operand, which makes the loop
"for (i = 1; i < num + 1; i++)" look like "for (i = 1; i <= num; i++)".
Programmers worldwide rejoiced and used the operand, e.g. in the thread
"[PATCH] remove ugliness in cel_filters.c", and He saw that it was good.

Originally committed as revision 20489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 22:04:03 +00:00
Colin McQuillan
d4d6ae1603 Add ff_celp_circ_addf() function to be used for sparse vector circular
convolution in the upcoming AMR-NB floating point decoder. The function scales
and adds a vector, that is lagged by some offset, to another vector with the
same number of elements.

Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-12 19:54:28 +00:00
Colin McQuillan
d5652f38fb Correct the sign of the arithmetic in ff_celp_lp_zero_synthesis_filterf()
Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 17:15:01 +00:00
Diego Biurrun
954489244e cosmetics: K&R coding style
Originally committed as revision 19561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 10:34:30 +00:00
Kenan Gillet
d1bf60771c Add LP zero synthesis filter. Patch by Kenan Gillet.
Originally committed as revision 18616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 22:53:37 +00:00
Reynaldo H. Verdejo Pinochet
e223a3bd38 [COSMETIC] Correct a minor nit. Should be clearer now.
Originally committed as revision 18529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 19:37:35 +00:00
Kenan Gillet
807c4c7875 Fix possibly harmful outbound addressing. Patch by Kenan Gillet.
Originally committed as revision 18528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 19:28:28 +00:00
Kenan Gillet
cacb82134e Change sign in ff_celp_lp_synthesis_filterf(). This makes this function
useful for AMR and RA144.

Patch by Kenan Gillet

Originally committed as revision 17546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 22:19:16 +00:00
Kenan Gillet
1fb0d4b8a6 Add a LPC filter
Part of the QCELP patch by Kenan Gillet, kenan.gillet gmail com

Originally committed as revision 15754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-30 21:05:37 +00:00
Kenan Gillet
4599d22c0c Split off celp_filters.[ch] from acelp_filters.[ch] for the QCELP decoder.
patch by Kenan Gillet, kenan.gillet gmail com

Originally committed as revision 15680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-24 21:29:23 +00:00