Commit Graph

12386 Commits

Author SHA1 Message Date
Ronald S. Bultje
4bca677494 Unroll loop in h264_idct_add8_sse2(). This means we can inline scan8[] in the
code directly also and remove loop setup. 20% faster in function, 0.8% overall.

See "[PATCH] unroll loop in h264_idct_add8_sse2()" thread on ML.

Originally committed as revision 25171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 14:05:45 +00:00
Stefano Sabatini
e44c01563f Deprecate av_opt_show() in favor of a new function av_opt_show2(),
which allows to specify only a subset of all the options to show.

Originally committed as revision 25166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 00:51:40 +00:00
Martin Storsjö
21e681ba57 Add a G.722 encoder
Originally committed as revision 25164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 21:33:29 +00:00
Reimar Döffinger
2efcde73fc rawdec: only allocate a full-frame size buffer if it actually will
be used, place palette buffer in the context to simplify this.

Originally committed as revision 25163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 20:23:15 +00:00
Ivan Kalvachev
392c99007f The debug text output of macroblocks can indicate MB_TYPE_INTERLACED,
but it used to do it only for h264 codec.
Allow it for other codecs, as mpeg2 and mpeg4 also set this flag.

Originally committed as revision 25156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-21 22:44:27 +00:00
Måns Rullgård
c0bc8b9afb x86: disable SSE functions using stack when stack is not aligned
This fixes crashes with ICC 10.1.

Originally committed as revision 25153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-21 17:57:21 +00:00
Måns Rullgård
75c490f467 ARM: disable movw/movt for relocated values on Apple platforms
Apparently Apple platforms do not handle movw/movt relocations
properly, leading to runtime crashes in code using them.

Originally committed as revision 25150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 21:50:46 +00:00
Benjamin Larsson
4792d1e792 Support deinterlacing of YUVJ420P.
Originally committed as revision 25148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 11:34:27 +00:00
Måns Rullgård
f41237c9db x86: remove hack disabling sse2 h264 loop filter with 32-bit icc
Originally committed as revision 25146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-18 20:44:32 +00:00
Vitor Sessak
6e2ecc2dba Remove pointless semicolon
Originally committed as revision 25141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-17 19:33:56 +00:00
Ronald S. Bultje
ada65af9d1 Don't access upper 32 bits of a 32-bit int on 64-bit systems.
Originally committed as revision 25140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-17 12:24:22 +00:00
Ronald S. Bultje
6c3d021891 Properly add HAVE_YASM around yasmified symbols. Should fix compile error
on configurations using --disable-yasm.

Originally committed as revision 25138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-17 03:01:57 +00:00
Ronald S. Bultje
e2e341048e Move hadamard_diff{,16}_{mmx,mmx2,sse2,ssse3}() from inline asm to yasm,
which will hopefully solve the Win64/FATE failures caused by these functions.

Originally committed as revision 25137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-17 01:56:06 +00:00
Ronald S. Bultje
d0acc2d2e9 Move sse16_sse2() from inline asm to yasm. It is one of the functions causing
Win64/FATE issues.

Originally committed as revision 25136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-17 01:44:17 +00:00
Carl Eugen Hoyos
eb6fb058f2 Remove useless comment.
Originally committed as revision 25129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-16 08:30:01 +00:00
James Darnley
efec9ac8a9 Allow float values for libmp3lame quality.
Patch by James Darnley, james D darnley A gmail

Originally committed as revision 25128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-15 22:10:13 +00:00
Reimar Döffinger
82eac2f321 Check avctx width/height more thoroughly (e.g. all values 0 except width would
have been accepted before).
Also do not fail if they are invalid but instead override them to 0.
This allows decoding e.g. MPEG video when only the container values are corrupted.
For encoding a value of 0,0 of course makes no sense, but was allowed
through before and will be caught by an extra check in the encode function.

Originally committed as revision 25124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-15 04:46:55 +00:00
Måns Rullgård
4a6cc8fa25 ARM: fix NEON h264_idct_add8
Originally committed as revision 25121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-14 17:11:51 +00:00
Ronald S. Bultje
1d16a1cf99 Rename h264_idct_sse2.asm to h264_idct.asm; move inline IDCT asm from
h264dsp_mmx.c to h264_idct.asm (as yasm code). Because the loops are now
coded in asm instead of C, this is (depending on the function) up to 50%
faster for cases where gcc didn't do a great job at looping.

Since h264_idct_add8() is now faster than the manual loop setup in h264.c,
in-asm idct calling can now be enabled for chroma as well (see r16207). For
MMX, this is 5% faster. For SSE2 (which isn't done for chroma if h264.c does
the looping), this makes it up to 50% faster. Speed gain overall is ~0.5-1.0%.

Originally committed as revision 25119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-14 13:36:26 +00:00
Carl Eugen Hoyos
6639af56ea Reindent after r25115.
Originally committed as revision 25116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-13 22:09:28 +00:00
Zhou Zongyi
4383692896 Add R10k decoder.
Original patch by Zhou Zongyi, zhouzy A os pku edu cn, resubmitted by
James Darnley, james.darnley gmail, changes by me.

Originally committed as revision 25115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-13 22:08:51 +00:00
Carl Eugen Hoyos
527c91e34a Test lowres before codec init.
Originally committed as revision 25114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-13 22:03:29 +00:00
Justin Ruggles
c7d89948a3 Set a constant frame size for encoding G.726 audio.
Originally committed as revision 25107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-11 19:52:09 +00:00
Måns Rullgård
c058dc222c tta: remove stray semicolon
Originally committed as revision 25103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-11 09:32:14 +00:00
James Darnley
8d39fbd6d9 Allow mpeg encoding with qscale and very low frame rate.
Patch by James Darnley, james D darnley A gmail

Originally committed as revision 25102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 23:41:14 +00:00
Marcelo Galvăo Póvoa
c7bb7eff81 Move AMR-NB frame unpacking code to a common file so it can be reused in
the AMR-WB decoder.

Patch by Marcelo Galvăo Póvoa.

Originally committed as revision 25100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 19:51:08 +00:00
Luca Barbato
6f9932476d Update H263_AIC asm offset for the apple variant
Originally committed as revision 25099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 19:25:42 +00:00
Alex Converse
bb2d8e9f05 aacdec: Rework channel mapping compatibility hacks.
For a PCE based configuration map the channels solely based on tags.
For an indexed configuration map the channels solely based on position.

This works with all known exotic samples including al17, elem_id0, bad_concat,
and lfe_is_sce.

Originally committed as revision 25098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 18:01:48 +00:00
Reimar Döffinger
936cfbc589 Fix 24 bpp CSCD decoding, as for Windows bitmaps in this (and only this)
case the stride must be aligned to a multiple of 4.
The original CSCD encoder just compresses bitmaps it gets via Windows
API functions as-is, thus it uses exactly those alignment rules.

Originally committed as revision 25096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 17:33:31 +00:00
Martin Storsjö
535cb0434d Allow the lowres option to affect audio codecs, too
Originally committed as revision 25094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 06:19:31 +00:00
Jason Garrett-Glaser
8acb554aff LGPL SSE2 H.264 iDCT
This leaves no more GPL-only H.264 decoding asm code.

Approved by Loren.

Originally committed as revision 25092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 02:25:12 +00:00
Reimar Döffinger
23e05db79c Fix indentation.
Originally committed as revision 25089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-09 20:23:41 +00:00
Martin Storsjö
58e37eafce Add G.722 ADPCM audio decoder
Originally committed as revision 25086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-09 19:21:16 +00:00
Diego Biurrun
e47ca217cb Use filename as pattern for multiple inclusion guards.
Originally committed as revision 25079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 16:02:20 +00:00
Diego Biurrun
a9b98c0134 Add missing stdint.h #include; necessary to pass 'make checkheaders'.
Originally committed as revision 25078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 15:34:13 +00:00
Stefano Sabatini
c6c98d0897 Move mm_support() from libavcodec to libavutil, make it a public
function and rename it to av_get_cpu_flags().

Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 15:07:14 +00:00
Stefano Sabatini
9ec7458ddf Remove reference to not anymore existing symbol has_altivec and use
mm_support instead.

Fix compilation if altivec is present and libxvidff.c is compiled.

Originally committed as revision 25075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 14:36:13 +00:00
Stefano Sabatini
ccf22d3ed1 Merge has_altivec() function into mm_support(), remove it and use
mm_support() instead.

Reduce complexity and simplify pending move to libavutil.

Originally committed as revision 25074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 10:02:40 +00:00
Reimar Döffinger
83f72f138e Only draw the actually visible area in vp3_draw_horiz_band.
Fixes a black line in non-swapped, non-mod-16-height Theora videos
when vp3_draw_horiz_band is used.

Originally committed as revision 25073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 05:51:31 +00:00
Stefano Sabatini
9d2e0ad824 Remove use of deprecated functions av_image_fill_pointers/linesizes in
libavcodec/utils.c, fix warnings.

Originally committed as revision 25069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:24:03 +00:00
Stefano Sabatini
4afbcf46c9 Reindent.
Originally committed as revision 25068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:59 +00:00
Stefano Sabatini
34017fd9b2 Move av_picture_data_copy() to libavcore, and rename it
av_image_copy().

Originally committed as revision 25067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:55 +00:00
Stefano Sabatini
e7eb2033ff Reimplement av_picture_data_copy() avoiding the use of PixFmtInfo
information.

Required for moving the function to libavcore.

Originally committed as revision 25066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:52 +00:00
Stefano Sabatini
03ff61167e Reindent after the last commit.
Originally committed as revision 25065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:48 +00:00
Stefano Sabatini
9686abb826 Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,
and deprecate the old function.

Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:45 +00:00
Marcelo Galvăo Póvoa
48ac225db2 Move lsp2lpc_sipr() function to common code so it can be reused in a
AMRWB decoder.

Patch by Marcelo Galvăo Póvoa.

Originally committed as revision 25062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 20:46:29 +00:00
Marcelo Galvăo Póvoa
1d96cc0865 Move AMRNB lsf2lsp() function to common code for using in future AMRWB decoder.
Patch by Marcelo Galvăo Póvoa

Originally committed as revision 25061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 20:44:41 +00:00
Måns Rullgård
b33451eeac Check rc_buffer_size value using integer arithmetic
Using floating-point here can cause erroneous rejection of
parameters due to rounding errors leading to a slightly too
large result.

This fixes the mxf regression test with gcc 4.5 on x86_32.

Originally committed as revision 25060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:54:48 +00:00
Stefano Sabatini
e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Reimar Döffinger
3d487db153 Fix slice height for y position calculation for vp3_draw_horiz_band
when the video uses 4:2:2 instead of 4:2:0 coding.

Originally committed as revision 25052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-06 19:26:18 +00:00