You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.5 KiB
69 lines
1.5 KiB
/*
|
|
copyfunctions implementation in mmx
|
|
Copyright (C) 2000 Martin Vogt
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU Library General Public License as published by
|
|
the Free Software Foundation.
|
|
|
|
For more information look at the file COPYRIGHT in this package
|
|
|
|
*/
|
|
|
|
|
|
#ifndef __COPYFUNCTIONS_MMX_H
|
|
#define __COPYFUNCTIONS_MMX_H
|
|
|
|
#include "copyFunctions_asm.h"
|
|
#include "../util/mmx/mmx.h"
|
|
|
|
|
|
class CopyFunctions_MMX : public CopyFunctions_ASM {
|
|
|
|
int lmmx;
|
|
|
|
public:
|
|
CopyFunctions_MMX();
|
|
~CopyFunctions_MMX();
|
|
|
|
int support();
|
|
|
|
#if defined (__GNUC__) && defined (INTEL)
|
|
|
|
void startNOFloatSection();
|
|
void endNOFloatSection();
|
|
|
|
|
|
void copy8_byte(unsigned char* source1,
|
|
unsigned char* dest,int inc);
|
|
|
|
void copy8_src1linear_crop(short* source1,
|
|
unsigned char* dest,int inc);
|
|
|
|
void copy8_div2_nocrop(unsigned char* source1,
|
|
unsigned char* source2,
|
|
unsigned char* dest,int inc);
|
|
|
|
void copy8_div2_destlinear_nocrop(unsigned char* source1,
|
|
unsigned char* source2,
|
|
unsigned char* dest,int inc);
|
|
|
|
void copy16_div2_destlinear_nocrop(unsigned char* source1,
|
|
unsigned char* source2,
|
|
unsigned char* dest,int inc);
|
|
|
|
void copy8_src2linear_crop(unsigned char* source1,
|
|
short int* source2,
|
|
unsigned char* dest,int inc);
|
|
|
|
void copy8_div2_src3linear_crop(unsigned char* source1,
|
|
unsigned char* source2,
|
|
short int* source3,
|
|
unsigned char* dest,int inc);
|
|
|
|
#endif
|
|
|
|
};
|
|
#endif
|
|
|