53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
#ifndef ECE73282_2093_4767_B1C9_C38188A584FF
|
|
#define ECE73282_2093_4767_B1C9_C38188A584FF
|
|
/*
|
|
*******************************************************************************
|
|
* INCLUDE
|
|
*******************************************************************************
|
|
*/
|
|
#include "../../core/VideoOverlay.h"
|
|
#include <hi_mpi_region.h>
|
|
#include <Poco/Util/Timer.h>
|
|
|
|
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
|