You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.7 KiB

/*
* 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 <android/rect.h>
#include <cutils/native_handle.h>
#include <cstdint>
#include <vendor/huanglong/hardware/hwgraphics/1.0/IGraphicsCallback.h>
#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<int32_t> hwNotify() override
{
return 0;
}
};
}
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
#endif