Add new cache options to reg.
[xy_vsfilter.git] / src / filters / transform / vsfilter / IDirectVobSubXy.h
blobf4b5ccdcac799487a114348f13882e961e2247aa
1 #pragma once
3 #include "../../../subtitles/STS.h"
4 #include "../BaseVideoFilter/BaseVideoFilter.h"
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 namespace DirectVobSubXyIntOptions
11 enum//int
13 INT_COLOR_SPACE = 0,
14 INT_YUV_RANGE,
15 INT_OVERLAY_CACHE_MAX_ITEM_NUM,
16 INT_SCAN_LINE_DATA_CACHE_MAX_ITEM_NUM,
17 INT_PATH_DATA_CACHE_MAX_ITEM_NUM,
18 INT_OVERLAY_NO_BLUR_CACHE_MAX_ITEM_NUM,
20 INT_BITMAP_MRU_CACHE_ITEM_NUM,
21 INT_CLIPPER_MRU_CACHE_ITEM_NUM,
23 INT_TEXT_INFO_CACHE_ITEM_NUM,
24 INT_ASS_TAG_LIST_CACHE_ITEM_NUM,
26 INT_SUBPIXEL_VARIANCE_CACHE_ITEM_NUM,
28 INT_SUBPIXEL_POS_LEVEL,
29 INT_COUNT
31 enum//bool
33 BOOL_FOLLOW_UPSTREAM_PREFERRED_ORDER,
34 BOOL_HIDE_TRAY_ICON,
35 BOOL_COUNT
37 enum//ULONGLONG
39 //read only
40 ULONGLONG_PATH_CACHE_CUR_ITEM_NUM, ULONGLONG_PATH_CACHE_QUERY_COUNT, ULONGLONG_PATH_CACHE_HIT_COUNT,
41 ULONGLONG_SCANLINE_CACHE2_CUR_ITEM_NUM, ULONGLONG_SCANLINE_CACHE2_QUERY_COUNT, ULONGLONG_SCANLINE_CACHE2_HIT_COUNT,
42 ULONGLONG_NON_BLUR_CACHE_CUR_ITEM_NUM, ULONGLONG_NON_BLUR_CACHE_QUERY_COUNT,ULONGLONG_NON_BLUR_CACHE_HIT_COUNT,
43 ULONGLONG_OVERLAY_CACHE_CUR_ITEM_NUM, ULONGLONG_OVERLAY_CACHE_QUERY_COUNT,ULONGLONG_OVERLAY_CACHE_HIT_COUNT,
44 ULONGLONG_BITMAP_CACHE_CUR_ITEM_NUM, ULONGLONG_BITMAP_CACHE_QUERY_COUNT, ULONGLONG_BITMAP_CACHE_HIT_COUNT,
46 ULONGLONG_INTERPOLATE_CACHE_CUR_ITEM_NUM, ULONGLONG_INTERPOLATE_CACHE_QUERY_COUNT,ULONGLONG_INTERPOLATE_CACHE_HIT_COUNT,
47 ULONGLONG_TEXT_INFO_CACHE_CUR_ITEM_NUM, ULONGLONG_TEXT_INFO_CACHE_QUERY_COUNT, ULONGLONG_TEXT_INFO_CACHE_HIT_COUNT,
48 ULONGLONG_WORD_INFO_CACHE_CUR_ITEM_NUM, ULONGLONG_WORD_INFO_CACHE_QUERY_COUNT, ULONGLONG_WORD_INFO_CACHE_HIT_COUNT,
50 ULONGLONG_SCANLINE_CACHE_CUR_ITEM_NUM, ULONGLONG_SCANLINE_CACHE_QUERY_COUNT,ULONGLONG_SCANLINE_CACHE_HIT_COUNT,
51 ULONGLONG_OVERLAY_KEY_CACHE_CUR_ITEM_NUM, ULONGLONG_OVERLAY_KEY_CACHE_QUERY_COUNT, ULONGLONG_OVERLAY_KEY_CACHE_HIT_COUNT,
52 ULONGLONG_CLIPPER_CACHE_CUR_ITEM_NUM, ULONGLONG_CLIPPER_CACHE_QUERY_COUNT, ULONGLONG_CLIPPER_CACHE_HIT_COUNT,
53 ULONGLONG_COUNT
55 enum
57 //[ColorSpaceOpt1...ColorSpaceOptN]
58 //size=N
59 BIN_OUTPUT_COLOR_FORMAT,
60 BIN_INPUT_COLOR_FORMAT,
62 //struct CachesInfo
63 //size = 1
64 BIN_CACHES_INFO,
66 BIN_COUNT
68 struct ColorSpaceOpt
70 int color_space;
71 bool selected;
73 struct CachesInfo
75 std::size_t path_cache_cur_item_num, path_cache_query_count,path_cache_hit_count,
76 scanline_cache2_cur_item_num, scanline_cache2_query_count,scanline_cache2_hit_count,
77 non_blur_cache_cur_item_num, non_blur_cache_query_count,non_blur_cache_hit_count,
78 overlay_cache_cur_item_num, overlay_cache_query_count,overlay_cache_hit_count,
79 bitmap_cache_cur_item_num, bitmap_cache_query_count, bitmap_cache_hit_count,
81 interpolate_cache_cur_item_num, interpolate_cache_query_count,interpolate_cache_hit_count,
82 text_info_cache_cur_item_num, text_info_cache_query_count, text_info_cache_hit_count,
83 word_info_cache_cur_item_num, word_info_cache_query_count, word_info_cache_hit_count,
85 scanline_cache_cur_item_num, scanline_cache_query_count,scanline_cache_hit_count,
86 overlay_key_cache_cur_item_num, overlay_key_cache_query_count, overlay_key_cache_hit_count,
87 clipper_cache_cur_item_num, clipper_cache_query_count, clipper_cache_hit_count;
91 [uuid("85E5D6F9-BEFB-4E01-B047-758359CDF9AB")]
92 interface IDirectVobSubXy : public IUnknown
94 STDMETHOD(XyGetBool )(int field, bool *value) = 0;
95 STDMETHOD(XyGetInt )(int field, int *value) = 0;
96 STDMETHOD(XyGetSize )(int field, SIZE *value) = 0;
97 STDMETHOD(XyGetRect )(int field, RECT *value) = 0;
98 STDMETHOD(XyGetUlonglong)(int field, ULONGLONG *value) = 0;
99 STDMETHOD(XyGetDouble )(int field, double *value) = 0;
100 STDMETHOD(XyGetString )(int field, LPWSTR *value, int *chars) = 0;
101 STDMETHOD(XyGetBin )(int field, LPVOID *value, int *size ) = 0;
103 STDMETHOD(XySetBool )(int field, bool value) = 0;
104 STDMETHOD(XySetInt )(int field, int value) = 0;
105 STDMETHOD(XySetSize )(int field, SIZE value) = 0;
106 STDMETHOD(XySetRect )(int field, RECT value) = 0;
107 STDMETHOD(XySetUlonglong)(int field, ULONGLONG value) = 0;
108 STDMETHOD(XySetDouble )(int field, double value) = 0;
109 STDMETHOD(XySetString )(int field, LPWSTR value, int chars) = 0;
110 STDMETHOD(XySetBin )(int field, LPVOID value, int size ) = 0;
113 #ifdef __cplusplus
115 #endif