|
|
/*
|
|
|
* 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:支持3D,FALSE:不支持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:支持3D,FALSE:不支持3D CNend
|
|
|
\see \n
|
|
|
CNcomment:CNend
|
|
|
*/
|
|
|
virtual bool isVideoSourceSupport3D() = 0;
|
|
|
};
|
|
|
}; // namespace android
|
|
|
|
|
|
/* * @} */ /* * <!-- ==== API declaration end ==== */
|
|
|
|
|
|
#endif
|