Commit Graph

165 Commits

Author SHA1 Message Date
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
6c4975eaaf libavutil: add saturating addition functions
Fixed-point audio codecs often use saturating arithmetic, and
special instructions for these operations are common.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:10 +01:00
Michael Bradshaw
b0e1557fe7 Fixed warnings about int64 to int32 conversion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-25 02:41:28 +02:00
Nicolas George
f16c950f32 lavu: document av_reverse. 2012-02-22 15:35:44 +01:00
Michael Niedermayer
ad1c8dd673 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add dxtory test
  adx_parser: rewrite.
  adxdec: Validate channel count to fix a division by zero.
  adxdec: Do not require extradata.
  cmdutils: K&R reformatting cosmetics
  alacdec: implement the 2-pass prediction type.
  alacenc: implement the 2-pass prediction type.
  alacenc: do not generate invalid multi-channel ALAC files
  alacdec: fill in missing or guessed info about the extradata format.
  utvideo: proper median prediction for interlaced videos
  lavu: bump lavu minor for av_popcount64
  dca: K&R formatting cosmetics
  dct: K&R formatting cosmetics
  lavf: flush decoders in avformat_find_stream_info().
  win32: detect number of CPUs using affinity
  Add av_popcount64
  snow: Restore three mistakenly removed casts.

Conflicts:
	cmdutils.c
	doc/APIchanges
	libavcodec/adx_parser.c
	libavcodec/adxdec.c
	libavcodec/alacenc.c
	libavutil/avutil.h
	tests/fate/screen.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-04 01:12:34 +01:00
Daniel Verkamp
b73ec05473 Add av_popcount64
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-01-03 14:25:43 +01:00
Michael Niedermayer
022f8d27dd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Readd #define _SVID_SOURCE
  Fix av_get_channel_layout_string() for positions >31
  configure: Store vda lib flags in extralibs instead of ldflags
  Make channel layout masks unsigned
  dca: ARMv6 optimised decode_blockcode()
  nullenc: drop AVFMT_RAWPICTURE from the flags
  frame-mt: return consumed packet size in ff_thread_decode_frame
  aacdec: add more fate tests covering SBR and PS
  MK(BE)TAG: avoid undefined shifts

Conflicts:
	configure
	libavcodec/arm/dca.h
	libavcodec/dca.c
	libavcodec/mlp_parser.c
	libavcodec/version.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/defaults.c
	libavutil/audioconvert.c
	libavutil/avutil.h
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 01:12:08 +01:00
Mans Rullgard
6b34fbba9b MK(BE)TAG: avoid undefined shifts
Casting the left-most byte to unsigned avoids an undefined
result of the shift by 24 if bit 7 is set.  This affects
the rm demuxer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 00:20:03 +00:00
Michael Niedermayer
686959e87e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: Consistently use '@' instead of '\' for Doxygen markup.
  Use av_printf_format to check the usage of printf style functions
  Add av_printf_format, for marking printf style format strings and their parameters
  ARM: enable thumb for Cortex-M* CPUs
  nsvdec: Propagate error values instead of returning 0 in nsv_read_header().
  build: remove SRC_PATH_BARE variable
  build: move basic rules and variables to main Makefile
  build: move special targets to end of main Makefile
  lavdev: improve feedback in case of invalid frame rate/size
  vfwcap: prefer "framerate_q" over "fps" in vfw_read_header()
  v4l2: prefer "framerate_q" over "fps" in v4l2_set_parameters()
  fbdev: prefer "framerate_q" over "fps" in device context
  bktr: prefer "framerate" over "fps" for grab_read_header()
  ALSA: implement channel layout for playback.
  alsa: support unsigned variants of already supported signed formats.
  alsa: add support for more formats.
  ARM: allow building in Thumb2 mode

Conflicts:
	common.mak
	doc/APIchanges
	libavcodec/vdpau.h
	libavdevice/alsa-audio-common.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-24 03:07:04 +02:00
Diego Biurrun
adbfc605f6 doxygen: Consistently use '@' instead of '\' for Doxygen markup.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-24 00:37:49 +02:00
Michael Niedermayer
58c03f6d7d Merge remote branch 'qatar/master'
* qatar/master:
  swscale: properly inline bits/endianness in yuv2yuvX16inC().
(We didnt pull the bug)  swscale: fix clipping of 9/10bit YUV420P.
  Add av_clip_uintp2() function
(our patch / duplicate)  dfa: fix buffer overflow checks to avoid integer overflows.
(our patch / duplicate)  movenc: always write esds descriptor length using 4 bytes.
(our patch / duplicate)  ffmpeg: use parse_number_and_die() when it makes sense
(No thanks)  ffmpeg: get rid of the 'q' key schizofrenia

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14 02:19:58 +02:00
Mans Rullgard
1550f45a89 Add av_clip_uintp2() function
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-13 16:45:24 -04:00
Michael Niedermayer
5192788321 avutil: add divide & modulo that round like unsigned ones do that is down.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 17:47:22 +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
Jason Garrett-Glaser
545dc699f8 Force inlining of avutil common routines
On some versions of gcc, these weren't always getting inlined due to hitting
the inline cap limit in some files.  This is generally bad, as most of these
functions are smaller inlined than not.
(cherry picked from commit eb3755a5aa)
2011-02-18 19:52:41 +01:00
Jason Garrett-Glaser
eb3755a5aa Force inlining of avutil common routines
On some versions of gcc, these weren't always getting inlined due to hitting
the inline cap limit in some files.  This is generally bad, as most of these
functions are smaller inlined than not.
2011-02-17 15:25:25 -08:00
Tomas Härdin
bc6f0af289 Add av_popcount() to libavutil/common.h and bump minor version
Originally committed as revision 25120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-14 14:45:43 +00:00
Benoit Fouet
573af7545e Add missing parentheses to AV_NE macro.
Originally committed as revision 24885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 15:31:50 +00:00
Måns Rullgård
6a36facc3d Fix out-of-tree build
Originally committed as revision 24816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 18:48:56 +00:00
Stefano Sabatini
4f2d2e4ed9 Define macro AV_NE() and use it in libavdevice.
Help further refactoring.

Originally committed as revision 24814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 18:25:34 +00:00
Måns Rullgård
216b43aed2 Allow arch-overrides for all common.h clip and log2 functions
Originally committed as revision 24087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 17:27:45 +00:00
Måns Rullgård
a955b59658 Remove macro duplication between common.h and intmath.h
Originally committed as revision 24086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 17:27:43 +00:00
Måns Rullgård
c2a5b4731b Improve GET_UTF{8,16} documentation
Originally committed as revision 23909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 20:09:48 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Ronald S. Bultje
45a1b86a05 Add av_clip_int8(), used in the upcoming VP8 decoder.
Originally committed as revision 23713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:11:33 +00:00
Benoit Fouet
1c7c0e2d40 Add missing parentheses in MKTAG and MKBETAG macros.
Originally committed as revision 23711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 15:02:09 +00:00
Ronald S. Bultje
90bc36b063 Reindent after r22968.
Originally committed as revision 22969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 21:01:38 +00:00
Ronald S. Bultje
ad6408960b Write clip-related decimal numbers into hex, where they make more sense.
Originally committed as revision 22968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 21:00:33 +00:00
Ronald S. Bultje
2d0525c27c Fix broken 32-bit clipping, and write numbers in hex instead of decimal so
they are easier to understand. Also give the add a 'u' postfix to silence
a pre-c99 compiler warning.

Originally committed as revision 22965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 13:36:17 +00:00
Ronald S. Bultje
b1078e9fe6 Move clipping of audio samples (for those codecs outputting float) from decoder
to the audio conversion routines.

Originally committed as revision 22937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:57:48 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Måns Rullgård
b90b1b4c3c Fix build on configurations without fast av_log2()
This is a bit hackish.  I will try to think of something nicer, but
this will do for now.

Originally committed as revision 22366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:19:28 +00:00
Måns Rullgård
3369888aa5 cosmetics: indent
Originally committed as revision 22348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:29:01 +00:00
Måns Rullgård
2acb5e10b9 Merge two adjacent ifdef blocks
Originally committed as revision 22347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:28:58 +00:00
Måns Rullgård
2791730dbf Move gcc attribute macros to new header libavutil/attributes.h
Originally committed as revision 22346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:28:56 +00:00
Anton Khirnov
ae529ddb32 Add PUT_UTF16() macro.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:08:30 +00:00
Måns Rullgård
544f5a922f Optimise av_log2 with clz when available
10% faster flac decoding on x86 and ARM.

Originally committed as revision 21217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 19:58:12 +00:00
Francesco Lavra
91cc5d3767 Move ff_reverse in libavcodec to av_reverse in libavutil.
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 20484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 09:11:35 +00:00
Anton Khirnov
20c6837880 id3v2: Add support for UTF-16 encoding.
patch by Anton Khirnov, wyskas gmail com

Originally committed as revision 20006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:22:00 +00:00
Thilo Borgmann
c6dbbc4576 Add function to compute ceil(log2(x)).
Patch by Thilo Borgmann <thilo.borgmann _at_ googlemail.com>

Originally committed as revision 19747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 15:50:03 +00:00
Ramiro Polla
f51fb686de Introduce av_clip_uint16().
Originally committed as revision 19636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-13 18:47:13 +00:00
Diego Biurrun
75af07495a Revert addition of '#undef av_always_inline' to config.h in the small case.
Instead, #include config.h at the top of common.h so that av_always_inline
does not get doubly defined.

Originally committed as revision 19553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:58:43 +00:00
Carl Eugen Hoyos
a3a55b7848 Icc does not support attribute flatten, do not try to use it.
Originally committed as revision 19286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-28 18:28:27 +00:00
Carl Eugen Hoyos
06be9d9d8e Icc 11.1 does not support attributes force_align_arg_pointer, alloc_size and cold.
Originally committed as revision 19282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-27 08:34:04 +00:00
David Conrad
ef516f7377 Move ALIGN macro to libavutil/common.h and use it in various places
Originally committed as revision 18898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 21:32:13 +00:00
Måns Rullgård
03bc0f3744 Avoid warnings from AV_GCC_VERSION_AT_LEAST with some non-gcc compilers
Originally committed as revision 17508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 00:13:23 +00:00
Carl Eugen Hoyos
0dd8966638 Silence one icc warning:
variable "..." is used before its value is set

Originally committed as revision 17127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-10 09:12:52 +00:00
Diego Biurrun
b7d3a8c13f Use AV_GCC_VERSION_AT_LEAST instead of complicated __GNUC__ version check.
Originally committed as revision 17114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-10 01:24:06 +00:00
Michael Niedermayer
3b49f69077 av_flatten to make the similarly named attribute available.
Originally committed as revision 17105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 21:47:57 +00:00
Michael Niedermayer
51066987cf av_uninit() to suppress false uninitialized warnings from gcc without deoptimizing code.
Originally committed as revision 17104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 21:47:05 +00:00