From b022b91c0c6fa807424b6c12cc92ac5946838083 Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 13 七月 2017 16:34:39 +0800 Subject: [PATCH] update pipeline --- RtspFace/PL_Paint.h | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/RtspFace/PL_Paint.h b/RtspFace/PL_Paint.h index 9421a02..9e7edab 100644 --- a/RtspFace/PL_Paint.h +++ b/RtspFace/PL_Paint.h @@ -2,6 +2,73 @@ #define _PL_PAINT_H_ #include "PipeLine.h" +#include "GraphicHelper.h" + +/* +PLPaint Language: +COLOR F/B,R,G,B,A +FILL 0/1 +PEN TYPE,WIDTH +RECT LTX,LTY,RBX,RBY +TEXT LTX,LTY,"STRING" +*/ + +enum PLPLCmd +{ + PLPLC__FIRST, + + PLPLC_COLOR, + PLPLC_FILL, + PLPLC_PEN, + PLPLC_RECT, + PLPLC_TEXT, + + PLPLC__LAST +}; + +union PLPLType +{ + int val_i; + float val_f; + char val_s[sizeof(int)]; + + PLPLType() : val_i(0) {} + PLPLType(int _val_i) : val_i(_val_i) {} + PLPLType(float _val_f) : val_f(_val_f) {} + PLPLType(const char* _val_s) + { + for (int i = 0; i < sizeof(val_s); i++) + val_s[i] = _val_s[i]; + } +}; + +typedef std::vector<PLPLCmd> plplc_vec_t; +typedef std::vector<PLPLType> plplt_vec_t; + +struct PLPLContext +{ + plplc_vec_t cmds; + plplt_vec_t params; + + PLGH_Color_RGBA color_front; + PLGH_Color_RGBA color_back; + int fill; + PLGH_Pen pen; + + PLPLContext() : + cmds(), params(), color_front(), color_back(), fill(0), pen(0, 0) + {} +}; + +struct PL_Paint_Config +{ + bool copyData; + PLPLContext* plplCtx; + + PL_Paint_Config() : + copyData(false), plplCtx(nullptr) + { } +}; class PL_Paint : public PipeLineElem { @@ -16,6 +83,9 @@ virtual bool gain(PipeMaterial& pm); private: + static bool pay_breaker_MBFT_YUV(const PipeMaterial* pm, void* args); + +private: void* internal; }; -- Gitblit v1.8.0