/* * Copyright (c) Hisilicon Technologies Co., Ltd.. 2019-2019. All rights reserved. * Description: support private media overlay solution * Author: Hisilicon * Created: 2019.12.30 */ #ifndef TV_GRAPHICS_H #define TV_GRAPHICS_H #include #include #include #include #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif // init int Init(); // overlay int PresentOverlay(uint64_t display, int32_t seq, buffer_handle_t handle, bool visible); int SetOverlayPosition(int32_t seq, int32_t left, int32_t top, int32_t right, int32_t bottom); int SetOverlayCrop(int32_t seq, int32_t left, int32_t top, int32_t right, int32_t bottom); int SetOverlayTransform(int32_t seq, int32_t transform); int SetOverlayZOrder(int32_t seq, int32_t zOrder); void SetOverlayDataSpace(int32_t seq, int32_t dataSpace); void CloseOverlay(int32_t seq); void SfDeathRecipient(); // capture int CaptureScreenByVDP(int32_t mode, buffer_handle_t buffer, ARect cropRect); // cast int InitCast(uint64_t display, uint32_t format, uint32_t width, uint32_t height); int CastFrame(int32_t castHandle, const buffer_handle_t& rawHandle, const buffer_handle_t& fence, int& acqurieFence); int CloseCast(int32_t castHandle); void SetBlackCastFrame(bool isBlack); namespace android { class HwGraphicsListener : public ::vendor::huanglong::hardware::hwgraphics::V1_0::IGraphicsCallback { public: HwGraphicsListener() {} ~HwGraphicsListener() override {} android::hardware::Return hwNotify() override { return 0; } }; } #ifdef __cplusplus #if __cplusplus } #endif #endif #endif