test
diff --git a/include/ast_video_puller.hpp b/include/ast_video_puller.hpp
index d1ba3d5..de75fdf 100644
--- a/include/ast_video_puller.hpp
+++ b/include/ast_video_puller.hpp
@@ -1,13 +1,63 @@
#pragma once
#include <assert.h>
-#include <video.h>
+//#include <video.h>
#include <ast_video_types.hpp>
#include <iostream>
#include <vector>
namespace AstVideo {
class VideoPuller {
+ //
+ // Cursor struct is used in User Mode
+ //
+ typedef struct _cursor_attribution_tag {
+ unsigned int posX;
+ unsigned int posY;
+ unsigned int cur_width;
+ unsigned int cur_height;
+ unsigned int cur_type; // 0:mono 1:color 2:disappear cursor
+ unsigned int cur_change_flag;
+ } AST_CUR_ATTRIBUTION_TAG;
+
+ //
+ // For storing Cursor Information
+ //
+ typedef struct _cursor_tag {
+ AST_CUR_ATTRIBUTION_TAG attr;
+ // unsigned char icon[MAX_CUR_OFFSETX*MAX_CUR_OFFSETY*2];
+ unsigned char *icon; //[64*64*2];
+ } AST_CURSOR_TAG;
+
+ //
+ // For select image format, i.e. 422 JPG420, 444 JPG444, lumin/chrom table, 0
+ // ~ 11, low to high
+ //
+ typedef struct _video_features {
+ short jpg_fmt; // 422:JPG420, 444:JPG444
+ short lumin_tbl;
+ short chrom_tbl;
+ short tolerance_noise;
+ int w;
+ int h;
+ unsigned char *buf;
+ } FEATURES_TAG;
+
+ //
+ // For configure video engine control registers
+ //
+ typedef struct _image_info {
+ short do_image_refresh; // Action 0:motion 1:fullframe 2:quick cursor
+ char qc_valid; // quick cursor enable/disable
+ unsigned int len;
+ int crypttype;
+ char cryptkey[16];
+ union {
+ FEATURES_TAG features;
+ AST_CURSOR_TAG cursor_info;
+ } parameter;
+ } IMAGE_INFO;
+
public:
VideoPuller() : image_info(){};
@@ -26,7 +76,6 @@
assert(video_fd != 0);
RawVideoBuffer raw;
- IMAGE_INFO image_info{};
image_info.do_image_refresh = 1; // full frame refresh
image_info.qc_valid = 0; // quick cursor disabled
image_info.parameter.features.w = 0;