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.

191 lines
7.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* Copyright (c) Hisilicon Technologies Co., Ltd.. 2012-2019. All rights reserved.
* Description:
* Author:
* Create:
*/
#ifndef IVIDEO3D_H
#define IVIDEO3D_H
#include <utils/RefBase.h>
/* ****************************** API Declaration **************************** */
/* * \addtogroup TVMW */
/* * @{ */ /* * <!-- [TVMW] */
namespace android {
class IVideo3D : virtual public RefBase {
public:
/**
\brief get 3dEnable. CNcomment:获取是否支持3D功能 CNend
\attention this func can be called for user getting 3dEnable. CNcomment:用户可以调用该接口获取是否支持3D功能 CNend
\param CNcomment:CNend
\retval boolean, TRUE:on,FALSE:off. CNcomment:布尔类型,TRUE:支持3DFALSE:不支持3D CNend
\see \n
CNcomment:CNend
*/
virtual bool is3dEnable() = 0;
/**
\brief get 3D Mode. CNcomment:获取3D模式CNend
\attention this func can be called for user getting Cur 3D Mode. CNcomment:用户可以调用该接口获取当前3D模式CNend
\param CNcomment:CNend
\retval 0:TV_3DMODE_OFF 3D off: 2D
\retval 1:TV_3DMODE_2DT3D 2D转3D
\retval 2:TV_3DMODE_SBS Side By Side
\retval 3:TV_3DMODE_TAB Top And Bottom
\retval 4:TV_3DMODE_FP frame paking:MVC
\retval 5:TV_3DMODE_LI Line Interlace 水平交织
\retval 6:TV_3DMODE_AUTO 3D Auto
\see \n
CNcomment:CNend
*/
virtual int get3dMode() = 0;
/**
\brief set 3D Mode. CNcomment:设置3D模式CNend
\attention this func can be called for user setting 3D Mode. CNcomment:用户可以调用该接口设置3D模式CNend
\param CNcomment:传入3D模式对应的枚举参数CNend
\param TV_3DMODE_OFF -> 0; 3D off: 2D
\param TV_3DMODE_2DT3D -> 1; 2D转3D
\param TV_3DMODE_SBS -> 2; Side By Side
\param TV_3DMODE_TAB -> 3; Top And Bottom
\param TV_3DMODE_FP -> 4; frame paking:MVC
\param TV_3DMODE_LI -> 5; Line Interlace 水平交织
\param TV_3DMODE_AUTO -> 6; 3D Auto
\retval 0:success,-1:failure CNcomment:0 成功,-1 失败CNend
\see \n
CNcomment:CNend
*/
virtual int set3dMode(int mode) = 0;
/**
\brief get Switch Lift and Right. CNcomment:获取左右眼交换开关CNend
\attention this func can be called for user getting Switch Lift and Right. CNcomment:用户可以调用该接口获取左右眼交换开关状态CNend
\param CNcomment:CNend
\retval boolean, TRUE:on,FALSE:off. CNcomment:布尔类型,TRUE:左右眼交换开FALSE:左右眼交换关 CNend
\see \n
CNcomment:CNend
*/
virtual bool getSwitchLR() = 0;
/**
\brief Enable Switch Lift and Right onOff. CNcomment:使能左右眼交换开关CNend
\attention this func can be called for user enabling switch lift and right on/off.
CNcomment:用户可以调用该接口控制左右眼交换开关CNend
\param boolean onoff, TRUE:on,FALSE:off. CNcomment:左右眼交换开关, TRUE:左右眼交换开FALSE:左右眼交换关CNend
\retval 0 :success. CNcomment:0 成功CNend
\retval -1:failure. CNcomment:-1 失败CNend
\see \n
CNcomment:CNend
*/
virtual int switchLR(bool onoff) = 0;
/**
\brief get 3D Depth. CNcomment:获取3D景深信息CNend
\attention this func can be called for user getting 3D Depth. CNcomment:用户可以调用该接口获取3D景深信息CNend
\param CNcomment:CNend
\retval 3D Depth value, range [0-20]. CNcomment:3D景深值, 范围[0-20]CNend
\see \n
CNcomment:CNend
*/
virtual int getDepth() = 0;
/**
\brief set 3D Depth. CNcomment:设置3D景深信息CNend
\attention this func can be called for user setting 3D Depth. CNcomment:用户可以调用该接口设置3D景深信息CNend
\param 3D Depth value, range [0-20]. CNcomment:3D景深值, 范围[0-20]CNend
\retval 0 :success. CNcomment:0 成功CNend
\retval -1:failure. CNcomment:-1 失败CNend
\see \n
CNcomment:CNend
*/
virtual int setDepth(int depth) = 0;
/**
\brief get 3D View. CNcomment:获取3D视点信息CNend
\attention this func can be called for user getting 3D View. CNcomment:用户可以调用该接口获取3D视点信息CNend
\param CNcomment:CNend
\retval 3D View value, range [0-20]. CNcomment:3D视点值, 范围[0-20]CNend
\see \n
CNcomment:CNend
*/
virtual int getView() = 0;
/**
\brief set 3D View. CNcomment:设置3D视点信息CNend
\attention this func can be called for user setting 3D View. CNcomment:用户可以调用该接口设置3D视点信息CNend
\param 3D View value, range [0-20]. CNcomment:3D视点值, 范围[0-20]CNend
\retval 0 :success. CNcomment:0 成功CNend
\retval -1:failure. CNcomment:-1 失败CNend
\see \n
CNcomment:CNend
*/
virtual int setView(int view) = 0;
/**
\brief get 3D to 2D. CNcomment:获取3D转2D开关CNend
\attention this func can be called for user getting 3D to 2D. CNcomment:用户可以调用该接口获取3D转2D开关状态CNend
\param CNcomment:CNend
\retval boolean, TRUE:on,FALSE:off. CNcomment:布尔类型,TRUE:3D转2D 开FALSE:3D转2D 关 CNend
\see \n
CNcomment:CNend
*/
virtual bool get3dEnable() = 0;
/**
\brief set 3D to 2D enable. CNcomment:3D转2D模式使能开关CNend
\attention this func can be called for user enabling set 3D to 2D on/off. CNcomment:用户可以调用该接口设置3D转2D模式使能CNend
\param boolean enable, TRUE:enable,FALSE:disable. CNcomment:3D转2D模式使能开关, TRUE:3d显示使能FALSE:3d->2d 默认配置左眼CNend
\retval 0:success,-1:failure CNcomment:0 成功,-1 失败CNend
\see \n
CNcomment:CNend
*/
virtual int set3dEnable(bool isEnable) = 0;
/**
\brief get 3D to 2D. CNcomment:获取3D帧的打包类型CNend
\attention this func can be called for user getting 3D to 2D. CNcomment:用户可以调用该接口获取3D帧的打包类型CNend
\param CNcomment:CNend
\retval 0:FRAME_PACKING_TYPE_NONE Normal frame, not a 3D frame
\retval 1:FRAME_PACKING_TYPE_SIDE_BY_SIDE Side by side
\retval 2:FRAME_PACKING_TYPE_TOP_AND_BOTTOM Top and bottom
\retval 3:FRAME_PACKING_TYPE_TIME_INTERLACED Time interlaced
\retval 4:FRAME_PACKING_TYPE_FRAME_PACKING frame packing
\see \n
CNcomment:CNend
*/
virtual int get3dFramePackingType() = 0;
/**
\brief set 3D to 2D Mode. CNcomment:设置3D帧的打包类型CNend
\attention this func can be called for user setting 3D to 2D Mode. CNcomment:用户可以调用该接口设置3D帧的打包类型CNend
\param CNcomment:传入3D帧的打包类型对应的枚举参数CNend
\param FRAME_PACKING_TYPE_NONE = 0; Normal frame, not a 3D frame
\param FRAME_PACKING_TYPE_SIDE_BY_SIDE = 1; Side by side
\param FRAME_PACKING_TYPE_TOP_AND_BOTTOM = 2; Top and bottom
\param FRAME_PACKING_TYPE_TIME_INTERLACED = 3; Time interlaced
\param FRAME_PACKING_TYPE_FRAME_PACKING = 4; frame packing
\retval 0:success,-1:failure CNcomment:0 成功,-1 失败CNend
\see \n
CNcomment:CNend
*/
virtual int set3dFramePackingType(int packingType) = 0;
/**
\brief get 3dEnable. CNcomment:获取当前源下是否支持3D功能 CNend
\attention this func can be called for user getting 3dEnable. CNcomment:用户可以调用该接口获取当前源下是否支持3D功能 CNend
\param CNcomment:CNend
\retval boolean, TRUE:on,FALSE:off. CNcomment:布尔类型,TRUE:支持3DFALSE:不支持3D CNend
\see \n
CNcomment:CNend
*/
virtual bool isVideoSourceSupport3D() = 0;
};
}; // namespace android
/* * @} */ /* * <!-- ==== API declaration end ==== */
#endif