forked from chermenin/REminiscence
-
Notifications
You must be signed in to change notification settings - Fork 0
/
scaler.h
40 lines (29 loc) · 766 Bytes
/
scaler.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* REminiscence - Flashback interpreter
* Copyright (C) 2005-2019 Gregory Montoir (cyx@users.sourceforge.net)
*/
#ifndef SCALER_H__
#define SCALER_H__
#include <stdint.h>
typedef void (*ScaleProc32)(int factor, uint32_t *dst, int dstPitch, const uint32_t *src, int srcPitch, int w, int h);
enum ScalerType {
kScalerTypePoint,
kScalerTypeLinear,
kScalerTypeInternal,
kScalerTypeExternal,
};
#define SCALER_TAG 1
struct Scaler {
uint32_t tag;
const char *name;
int factorMin, factorMax;
ScaleProc32 scale;
};
extern const Scaler _internalScaler;
extern const Scaler scaler_xbr;
const Scaler *findScaler(const char *name);
#ifdef USE_STATIC_SCALER
extern const Scaler scaler_nearest;
extern const Scaler scaler_tv2x;
#endif
#endif // SCALER_H__