This repository was archived by the owner on May 16, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCAvisynth.h
More file actions
60 lines (52 loc) · 1.74 KB
/
CAvisynth.h
File metadata and controls
60 lines (52 loc) · 1.74 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// ************************************************************************
// *** Inspired by ffdshow from http://ffdshow.sf.net ***
// *** TimgFilterAvisynth.h ***
// *** Tobias Minich, Feb 2003 ***
// ************************************************************************
#ifndef _CAVISYNTH_H_
#define _CAVISYNTH_H_
#include "avisynth.h"
#define ICO_SCI_AVS_KEYWORDS 1
#define ICO_SCI_AVS_INTERNAL 2
#define ICO_SCI_AVS_EXTERNAL 3
class Tdll;
class CAviSynth {
private:
Tdll *avisynth;
IScriptEnvironment* (__stdcall *CreateScriptEnvironment)(int version/* = AVISYNTH_INTERFACE_VERSION*/); //TODO: uncomment when VC6 support will be dropped
IScriptEnvironment *env;
PClip *clip;
const unsigned char *srcY,*srcU,*srcV;
char oldscript[2048];
unsigned int framenum;
friend class Cvdub_source;
protected:
public:
char *Version;
char *coKeywords;
char *coInternal;
char *coExternal;
char *coAll;
char *coAllScintilla;
bool ok;
bool Version25;
CAviSynth(const char *path);
void LoadDll(const char *path);
virtual ~CAviSynth();
};
class Cvdub_source :public IClip {
private:
VideoInfo vi;
CAviSynth *self;
public:
Cvdub_source(CAviSynth *Iself, IScriptEnvironment* env);
virtual PVideoFrame __stdcall GetFrame(int n, IScriptEnvironment* env);
virtual bool __stdcall GetParity(int n) {return false;}
virtual const VideoInfo& __stdcall GetVideoInfo() {return vi;}
virtual void __stdcall SetCacheHints(int cachehints,int frame_range) {}
virtual void __stdcall GetAudio(void* buf, __int64 start, __int64 count, IScriptEnvironment* env) {}
static AVSValue __cdecl Create(AVSValue args, void *self, IScriptEnvironment *env) {
return new Cvdub_source((CAviSynth*)self,env);
}
};
#endif