Commit Graph

12297 Commits

Author SHA1 Message Date
Ronald S. Bultje
72f642400b Mark xmm6 and xmm7 as clobbered in ff_vp3_idct_sse2(), which is contributing
to the VP6 fate failures on Win64.

Originally committed as revision 24931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 19:57:05 +00:00
Måns Rullgård
69dad87c48 VP6: fix vp6_filter_diag4_mmx/sse on 64-bit
The stride can be negative and must be sign extended before being
used in pointer arithmetic.

Originally committed as revision 24926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 15:41:11 +00:00
Måns Rullgård
94f8b2d799 ARM: update struct offsets
Originally committed as revision 24923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 14:45:17 +00:00
Ronald S. Bultje
89fa3504ed Move vp6_filter_diag4() x86 SIMD code from inline ASM to YASM. This should
help in fixing the Win64 fate failures.

Originally committed as revision 24922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:44:16 +00:00
Ronald S. Bultje
3a0885146c Move vp6_filter_diag4() from DSPContext to VP56DSPContext.
Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:42:28 +00:00
Tobias Bindhammer
d09c0a1666 cleanup a bit in a64multi_encode_frame()
Originally committed as revision 24914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 11:47:50 +00:00
Tobias Bindhammer
9f63810491 added/extended some comments in a64multi_encode_frame()
Originally committed as revision 24913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 11:47:47 +00:00
Måns Rullgård
c0ec9918b0 Remove global mm_flags variable
Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 17:47:05 +00:00
Ronald S. Bultje
3611c45ab7 Mark xmm registers as clobbered in simple loopfilter. Should fix the last
two VP8-related fate failures on Win64.

Originally committed as revision 24908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 16:52:27 +00:00
Alex Converse
4c399dc82b Fix undefined expressions that use multiple calls to get_bits().
Because the order of evaluation of subexpressions is undefined, two
get_bits() calls may not be part of the same expression.

See also r24902.

Originally committed as revision 24906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 16:10:25 +00:00
Måns Rullgård
b3c1652b82 msmpeg4v1: fix undefined behaviour in msmpeg4_decode_picture_header()
Because the order of evaluation of subexpressions is undefined, two
get_bits() calls may not be part of the same expression.  In this
specific case, using get_bits_long() is simpler.

This fixes msmpeg4v1 decoding with armcc.

Originally committed as revision 24902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:40:57 +00:00
Tobias Bindhammer
e2f402f160 added interlacing option and compression option for colorram (lut)
Originally committed as revision 24901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:21:27 +00:00
Tobias Bindhammer
bb07ab7cf2 fixed some return values and deprecated CODEC_TYPE_VIDEO.
dithering (faster) along a linear gradient now.

Originally committed as revision 24898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 14:02:31 +00:00
Nathan Caldwell
62147469da acenc: LAME-inspired window decision
This performs quite a bit better than the current 3GPP-inspired window decision
on all the samples I have tested. On the castanets.wav sample it performs very
similar to iTunes window selection, and seems to perform better than Nero.
On fatboy.wav, it seems to perform at least as good as iTunes, if not better.
Nero performs horribly on this sample.

Patch by: Nathan Caldwell <saintdev@gmail.com>

Originally committed as revision 24892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 20:00:03 +00:00
Alex Converse
c36b2c010e Revert unintended changes to fft.h from r24890.
Originally committed as revision 24891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 19:35:58 +00:00
Nathan Caldwell
af00dddeca aacenc: Rename Psy3gpp* structs to AacPsy*
This allows cleaner implementation of other psymodels using the existing
structs. It also will make it easier to interchange individual parts of
the psymodel to create hybrid models.

Patch by: Nathan Caldwell <saintdev@gmail.com>

Originally committed as revision 24890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 19:27:24 +00:00
Alex Converse
cb4f12466b imdct/x86: Use "s->mdct_size" instead of "1 << s->mdct_bits".
It generates smaller cleaner code.

Originally committed as revision 24887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 15:51:09 +00:00
Tobias Bindhammer
e4d2ab5298 removed an unnecessary blank line
Originally committed as revision 24882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 13:19:48 +00:00
Tobias Bindhammer
b7cf4e4f55 enabling codec and muxer by registering it in allcodec.c and allformat.c and adding files to the build-system
Originally committed as revision 24878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 11:52:34 +00:00
Tobias Bindhammer
40c5ee9903 added codec-ids for the a64 codec
Originally committed as revision 24877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 11:51:04 +00:00
Tobias Bindhammer
7bf7833fb7 Initial version of the a64 (multicolor charset) codec
Originally committed as revision 24873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 11:46:32 +00:00
Ronald S. Bultje
684d608bde Fix segfaults in VP8 SIMD code on Win64 (and FATE/win64 failures).
Originally committed as revision 24871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 02:41:22 +00:00
Alex Converse
78b5c97d3e Convert ff_imdct_half_sse() to yasm.
This is to avoid split asm sections that attempt to preserve some
registers between sections.

Originally committed as revision 24869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-22 14:39:58 +00:00
Reimar Döffinger
2a86d4b905 The 24-bit ydt also should not depend on endianness,
since all of it ends up in a single 32-bit pixel.
This seems likely to be wrong though, since it is different
from the 15 and 16 bit modes and might explain the half-width
issue for 24 bit truemotion.

Originally committed as revision 24864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-21 19:50:36 +00:00
Reimar Döffinger
47af623967 Since the 24 bit format is decoded to endian-dependant
BGR32 and not BGR24, do not swap red and blue on big-endian
for this format as well.

Originally committed as revision 24863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-21 19:40:38 +00:00
Reimar Döffinger
751c5093c6 Do not swap red and blue when decoding truemotion
on big-endian.

Originally committed as revision 24862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-21 19:37:33 +00:00
Stefano Sabatini
c901f6ab6f Cosmetics: remove useless ().
Originally committed as revision 24860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-21 15:18:54 +00:00
Reimar Döffinger
a29b1700ee Export the presentation video dimensions as avctx->width/avctx->height.
Originally committed as revision 24858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-21 11:52:03 +00:00
Måns Rullgård
375fb9f17a dv: fix alignment of scratch buffer
Originally committed as revision 24854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 19:49:47 +00:00
Laurent Aimar
8bdf11815c Fixed mpeg12 top field first flag value with field picture encoding.
The relevent extract of the iso 13818-2 about the value of the syntaxical
element top_field_first of the Picture Coding Extension is:

"top_field_first -- The meaning of this element depends upon picture_structure,
progressive_sequence and repeat_first_field.
[...]
In a field picture top_field_first shall have the value '0', and the only field
output by the decoding process is the decoded field picture."

Originally committed as revision 24853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 18:28:42 +00:00
Måns Rullgård
dd5f3238c1 imc: fix undefined float to int conversion
Conversion of an out of range float to int is undefined.  Clipping to
the final range first avoids such problems.  This fixes decoding on
MIPS, which handles these conversions differently from many other CPUs.

Originally committed as revision 24838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-19 16:51:26 +00:00
Måns Rullgård
ead7ef8251 fft-test: format error output more readably
Originally committed as revision 24799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-16 20:34:06 +00:00
Jason Garrett-Glaser
2b476e02e1 Remove some stray +s in VP8
Originally committed as revision 24791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-13 02:02:07 +00:00
Stefano Sabatini
81c1ecabab Deprecate ff_get_plane_bytewidth() in favor of
av_get_image_linesize().

Originally committed as revision 24787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 15:06:04 +00:00
Stefano Sabatini
7906e2b974 Implement av_get_image_linesize() and use it in
ff_get_plane_bytewidth().

The new implementation is more generic, more compact and more correct.

Originally committed as revision 24786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 15:05:58 +00:00
Jason Garrett-Glaser
05c04cdf54 VP5/6/8: ~7% faster arithmetic decoding
Grab from the bitstream in 16-bit chunks instead of 8-bit chunks.
TODO: grab in 32-bit chunks on 64-bit systems.

Originally committed as revision 24783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 01:11:32 +00:00
S.N. Hemanth Meenakshisundaram
9f08d80363 Add av_picture_data_copy() and reimplement av_picture_copy() as a
wrapper of it.

The new function is more generic, and does not depend on the
definition of the AVPicture struct.

Patch by S.N. Hemanth Meenakshisundaram s + "meenakshisundaram".substr(0, 7) + "@ucsd.edu".

Originally committed as revision 24768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 14:18:52 +00:00
Pascal Massimino
aa93c52c21 remove b4_stride/mb_stride.
correct mb_xy to use mb_width.
tighten allocations.
reduce the amount of zeroing.

Originally committed as revision 24760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 08:27:38 +00:00
Pascal Massimino
ccf13f9e20 fix over-allocation. confused b4_stride with mb_width.
Originally committed as revision 24758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 05:24:19 +00:00
Ronald S. Bultje
af0a61cc40 Fix buffer overrun if idx is negative (it can be down to -23>>4), by prepending
two padding zeroes before it. Should fix fate failures on openBSD and crashes
on MacOSX (that I cannot reproduce).

Originally committed as revision 24750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 13:54:59 +00:00
Vitor Sessak
46a76dec93 Fix handling of truncated files. Should fix random FATE breakages.
Originally committed as revision 24745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 07:17:01 +00:00
Jason Garrett-Glaser
4a384de5b8 Split h264dsp and h264pred in configure.
Many H.264 derivatives, like RV40 and VP8, use the H.264 prediction functions
but not the weight/loopfilter functions.
This should reduce the size of builds with one of these derivatives but without
H.264 decoding itself.

Originally committed as revision 24741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 23:10:25 +00:00
Reinhard Tartler
2901cc9a95 Fix spelling in comment(s)
Originally committed as revision 24737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 14:11:43 +00:00
Jason Garrett-Glaser
b70c95e05a H.264: 8% faster CAVLC zero-run decoding
Originally committed as revision 24736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 12:30:44 +00:00
Stefano Sabatini
a63dbf3970 Fix the compilation of some libavcodec/lib* files which were not
including libavcore/imgutils.h, which was required since the recent
avcodec_check_dimensions() -> av_check_image_size() transition.

Originally committed as revision 24734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:36:35 +00:00
Alex Converse
18b95d85f2 libvpxdec: Fix "error: implicit declaration of function ‘av_check_image_size’".
av_check_image_size() is declared in libavcore/imgutils.h.

Originally committed as revision 24717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 18:57:14 +00:00
Alex Converse
51aaf51143 vorbis_dec: Change partition_class[] to uint8_t.
When sizeof(uint_fast8_t) >= sizeof(int) there are unintended size effects.

Originally committed as revision 24716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 16:10:42 +00:00
Diego Biurrun
3447f12d66 Add a CONFIG_ variable for generic Huffman routines.
Originally committed as revision 24715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 10:29:14 +00:00
Stefano Sabatini
6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +00:00
Stefano Sabatini
bf176f58b7 Deprecate avcodec_check_dimensions() in favor of the new function
av_check_image_size() declared in libavcore/imgutils.h.

Originally committed as revision 24709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:36:45 +00:00