1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Go to file
Mans Rullgard f2fd167835 x86: vc1: fix and enable optimised loop filter
The problem is that the ssse3 psign instruction does the wrong
thing here.  Commit ea60dfe incorrectly removed a macro emulating
this instruction for pre-ssse3 code.  However, the emulation is
incorrect, and the code relies on the behaviour of the macro.
Specifically, the psign sets destination elements to zero where
the corresponding source element is zero, whereas the emulation
only negates destination elements where the source is negative.

Furthermore, the PSIGNW_MMX macro in x86util.asm is totally bogus,
which is why the original VC-1 code had an additional right shift
when using it.  Since the psign instruction cannot be used here,
skip all the macro hell and use the working instruction sequence
directly.

None of this was noticed due a stray return statement in
ff_vc1dsp_init_mmx() which meant that only the mmx version of the
loop filter was ever used (before being removed in ea60dfe).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-30 00:12:05 +01:00
doc doc: Indicate that RTMPT is natively implemented in libavformat 2012-06-29 15:38:28 +03:00
libavcodec x86: vc1: fix and enable optimised loop filter 2012-06-30 00:12:05 +01:00
libavdevice Remove unnecessary inclusions of [sys/]time.h 2012-06-20 11:46:46 +01:00
libavfilter avfiltergraph: shut up uninitialized variable warning. 2012-06-26 19:10:17 +02:00
libavformat file: Only include unistd.h if it exists 2012-06-29 15:53:41 +03:00
libavresample lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes 2012-06-26 12:29:35 -04:00
libavutil random_seed: Only read /dev/*random if we have unistd.h 2012-06-29 15:52:07 +03:00
libswscale bfin: libswscale: add const where appropriate to fix warnings 2012-06-20 02:15:33 +01:00
presets
tests movenc: Add channel layouts for PCM. 2012-06-27 13:47:58 -07:00
tools Replace usleep() calls with av_usleep() 2012-06-22 17:15:36 +01:00
.gitignore build: Do not delete tests/vsynth2 directory, which is no longer created. 2012-06-13 12:27:49 +02:00
arch.mak build: Consistently handle conditional compilation for all optimization OBJS. 2012-04-12 09:00:49 +02:00
avconv.c avconv: add an assert to silence an uninitialized variable warning. 2012-06-26 19:32:41 +02:00
avplay.c Replace usleep() calls with av_usleep() 2012-06-22 17:15:36 +01:00
avprobe.c avprobe: Identify codec probe failures rather than calling them unsupported codecs. 2012-06-05 09:51:51 -07:00
avserver.c Remove unnecessary inclusions of [sys/]time.h 2012-06-20 11:46:46 +01:00
Changelog lavfi: Add the af_channelmap audio channel mapping filter. 2012-06-22 13:55:58 -07:00
cmdutils_common_opts.h
cmdutils.c avtools: move buffer management code from avconv to cmdutils. 2012-06-05 09:35:58 +02:00
cmdutils.h avtools: move buffer management code from avconv to cmdutils. 2012-06-05 09:35:58 +02:00
common.mak build: Drop leftover .exp pattern from LIBSUFFIXES list. 2012-05-05 16:32:56 +02:00
configure file: Only include unistd.h if it exists 2012-06-29 15:53:41 +03:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS
Doxyfile Fix a bunch of platform name and other typos. 2012-01-11 13:48:30 +01:00
INSTALL
library.mak build: Only clean the architecture subdirectory we build for. 2012-03-26 13:29:03 +02:00
LICENSE Remove libpostproc. 2012-02-23 19:36:16 +01:00
Makefile build: Add 'check' target to run all compile and test targets. 2012-05-15 19:10:46 +02:00
README
RELEASE Prepare for 0.8 Release 2012-01-21 14:54:31 +01:00
version.sh

Libav README
------------

1) Documentation
----------------

* Read the documentation in the doc/ directory.

2) Licensing
------------

* See the LICENSE file.