#ifndef ECE73282_2093_4767_B1C9_C38188A584FF #define ECE73282_2093_4767_B1C9_C38188A584FF /* ******************************************************************************* * INCLUDE ******************************************************************************* */ #include "../../core/VideoOverlay.h" #include #include namespace Video { namespace MPP5 { /* ******************************************************************************* * CLASS DECLARE ******************************************************************************* */ class VideoOverlay: public Core::VideoOverlay { public: VideoOverlay(Core::VideoOverlayType type, const std::string& name, const Core::Rect& region); ~VideoOverlay(); void render(Core::Image::Ptr pImage) override; void scrollRender(Core::Image::Ptr pImage, int hscroll) override; void attach(Core::VideoComponent::Ptr pVideoComponent) override; protected: void onConfigChanged(ParameterNames& names) override; hi_mosaic_blk_size getBlockSize(); hi_u32 getLayer(); private: hi_rgn_handle _handle; unsigned _bytesPerPixel; uint32_t _imagePhyAddr; uint8_t* _pImageVirAddr; Poco::Util::Timer _timer; int _progressX; Core::Image::Ptr _pTextImage; int _textWidth; int _winW; int _winH; uint32_t _stride; int _period; }; } } #endif