Fix comment
[xy_vsfilter.git] / src / filters / transform / vsfilter / IDirectVobSubXy.h
blob54cfb921685d73946263dc975dd55f022ac8e21e
1 #pragma once
3 #include "../BaseVideoFilter/BaseVideoFilter.h"
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 namespace DirectVobSubXyOptions
10 enum//int
12 INT_COLOR_SPACE = 0,
13 INT_YUV_RANGE,
14 INT_OVERLAY_CACHE_MAX_ITEM_NUM,
15 INT_SCAN_LINE_DATA_CACHE_MAX_ITEM_NUM,
16 INT_PATH_DATA_CACHE_MAX_ITEM_NUM,
17 INT_OVERLAY_NO_BLUR_CACHE_MAX_ITEM_NUM,
19 INT_BITMAP_MRU_CACHE_ITEM_NUM,
20 INT_CLIPPER_MRU_CACHE_ITEM_NUM,
22 INT_TEXT_INFO_CACHE_ITEM_NUM,
23 INT_ASS_TAG_LIST_CACHE_ITEM_NUM,
25 INT_SUBPIXEL_VARIANCE_CACHE_ITEM_NUM,
27 INT_SUBPIXEL_POS_LEVEL,
29 INT_LAYOUT_SIZE_OPT,//see @LayoutSizeOpt
30 INT_COUNT
32 enum//bool
34 BOOL_FOLLOW_UPSTREAM_PREFERRED_ORDER,
35 BOOL_HIDE_TRAY_ICON,
36 BOOL_COUNT
38 enum//SIZE
40 SIZE_ORIGINAL_VIDEO,
41 SIZE_ASS_PLAY_RESOLUTION,
42 SIZE_USER_SPECIFIED_LAYOUT_SIZE,
43 SIZE_LAYOUT_WITH,//read only
44 SIZE_COUNT
46 enum//string
48 STRING_LOAD_EXT_LIST,
49 STRING_COUNT
51 enum
53 //[ColorSpaceOpt1...ColorSpaceOptN]
54 //size=N
55 BIN_OUTPUT_COLOR_FORMAT,
56 BIN_INPUT_COLOR_FORMAT,
58 //struct CachesInfo
59 //size = 1
60 BIN_CACHES_INFO,
62 //struct XyFlyWeightInfo
63 //size = 1
64 BIN_XY_FLY_WEIGHT_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;
90 struct CacheInfo
92 std::size_t cur_item_num, query_count, hit_count;
94 struct XyFlyWeightInfo
96 CacheInfo xy_fw_string_w;
97 CacheInfo xy_fw_grouped_draw_items_hash_key;
99 enum LayoutSizeOpt
101 LAYOUT_SIZE_OPT_FOLLOW_ORIGINAL_VIDEO_SIZE,
102 LAYOUT_SIZE_OPT_USER_SPECIFIED,
103 LAYOUT_SIZE_OPT_COUNT
107 [uuid("85E5D6F9-BEFB-4E01-B047-758359CDF9AB")]
108 interface IDirectVobSubXy : public IUnknown
110 STDMETHOD(XyGetBool )(int field, bool *value) = 0;
111 STDMETHOD(XyGetInt )(int field, int *value) = 0;
112 STDMETHOD(XyGetSize )(int field, SIZE *value) = 0;
113 STDMETHOD(XyGetRect )(int field, RECT *value) = 0;
114 STDMETHOD(XyGetUlonglong)(int field, ULONGLONG *value) = 0;
115 STDMETHOD(XyGetDouble )(int field, double *value) = 0;
116 STDMETHOD(XyGetString )(int field, LPWSTR *value, int *chars) = 0;
117 STDMETHOD(XyGetBin )(int field, LPVOID *value, int *size ) = 0;
119 STDMETHOD(XySetBool )(int field, bool value) = 0;
120 STDMETHOD(XySetInt )(int field, int value) = 0;
121 STDMETHOD(XySetSize )(int field, SIZE value) = 0;
122 STDMETHOD(XySetRect )(int field, RECT value) = 0;
123 STDMETHOD(XySetUlonglong)(int field, ULONGLONG value) = 0;
124 STDMETHOD(XySetDouble )(int field, double value) = 0;
125 STDMETHOD(XySetString )(int field, LPWSTR value, int chars) = 0;
126 STDMETHOD(XySetBin )(int field, LPVOID value, int size ) = 0;
129 #ifdef __cplusplus
131 #endif