~ubuntu-branches/ubuntu/jaunty/xvidcap/jaunty-proposed

« back to all changes in this revision

Viewing changes to ffmpeg/libavcodec/i386/cavsdsp_mmx.c

  • Committer: Bazaar Package Importer
  • Author(s): Lionel Le Folgoc, Andrew Starr-Bochicchio, Lionel Le Folgoc
  • Date: 2008-12-26 00:10:06 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20081226001006-2040ls9680bd1blt
Tags: 1.1.7-0.2ubuntu1
[ Andrew Starr-Bochicchio ]
* Merge from debian-multimedia (LP: #298547), Ubuntu Changes:
 - For ffmpeg-related build-deps, fix versionized dependencies
   as the ubuntu versioning is different than debian-multimedia's.

[ Lionel Le Folgoc ]
* LP: #311412 is fixed since the 1.1.7~rc1-0.1 revision.
* debian/patches/03_ffmpeg.diff: updated to fix FTBFS due to libswscale API
  change (cherry-pick from Gentoo #234383).

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * Chinese AVS video (AVS1-P2, JiZhun profile) decoder.
3
3
 * Copyright (c) 2006  Stefan Gehrer <stefan.gehrer@gmx.de>
4
4
 *
5
 
 * MMX optimised DSP functions, based on H.264 optimisations by
 
5
 * MMX-optimized DSP functions, based on H.264 optimizations by
6
6
 * Michael Niedermayer and Loren Merritt
7
7
 *
8
8
 * This file is part of FFmpeg.
19
19
 *
20
20
 * You should have received a copy of the GNU Lesser General Public
21
21
 * License along with FFmpeg; if not, write to the Free Software
22
 
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
22
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
23
 */
24
24
 
25
 
#include "../dsputil.h"
 
25
#include "dsputil.h"
 
26
#include "dsputil_mmx.h"
26
27
#include "common.h"
27
28
 
28
 
DECLARE_ALIGNED_8(static const uint64_t,ff_pw_4 ) = 0x0004000400040004ULL;
29
 
DECLARE_ALIGNED_8(static const uint64_t,ff_pw_5 ) = 0x0005000500050005ULL;
30
 
DECLARE_ALIGNED_8(static const uint64_t,ff_pw_7 ) = 0x0007000700070007ULL;
31
 
DECLARE_ALIGNED_8(static const uint64_t,ff_pw_42) = 0x002A002A002A002AULL;
32
 
DECLARE_ALIGNED_8(static const uint64_t,ff_pw_64) = 0x0040004000400040ULL;
33
 
DECLARE_ALIGNED_8(static const uint64_t,ff_pw_96) = 0x0060006000600060ULL;
34
 
 
35
29
/*****************************************************************************
36
30
 *
37
31
 * inverse transform
38
32
 *
39
33
 ****************************************************************************/
40
34
 
41
 
#define SUMSUB_BA( a, b ) \
42
 
    "paddw "#b", "#a" \n\t"\
43
 
    "paddw "#b", "#b" \n\t"\
44
 
    "psubw "#a", "#b" \n\t"
45
 
 
46
 
#define SBUTTERFLY(a,b,t,n)\
47
 
    "movq " #a ", " #t "              \n\t" /* abcd */\
48
 
    "punpckl" #n " " #b ", " #a "     \n\t" /* aebf */\
49
 
    "punpckh" #n " " #b ", " #t "     \n\t" /* cgdh */
50
 
 
51
 
#define TRANSPOSE4(a,b,c,d,t)\
52
 
    SBUTTERFLY(a,b,t,wd) /* a=aebf t=cgdh */\
53
 
    SBUTTERFLY(c,d,b,wd) /* c=imjn b=kolp */\
54
 
    SBUTTERFLY(a,c,d,dq) /* a=aeim d=bfjn */\
55
 
    SBUTTERFLY(t,b,c,dq) /* t=cgko c=dhlp */
56
 
 
57
35
static inline void cavs_idct8_1d(int16_t *block, uint64_t bias)
58
36
{
59
37
    asm volatile(