DVBCore
1.0
Open source DVB engine
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2012 Ocean Blue Software Ltd 00004 * 00005 * This file is part of a DTVKit Software Component 00006 * You are permitted to copy, modify or distribute this file subject to the terms 00007 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00008 * 00009 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00010 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00011 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00012 * 00013 * If you or your organisation is not a member of DTVKit then you have access 00014 * to this source code outside of the terms of the licence agreement 00015 * and you are expected to delete this and any associated files immediately. 00016 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00017 *******************************************************************************/ 00026 // pre-processor mechanism so multiple inclusions don't cause compilation error 00027 00028 #ifndef _STBVTC_H 00029 #define _STBVTC_H 00030 00031 #include "osdtype.h" 00032 #include "vtctype.h" 00033 00034 //---Constant and macro definitions for public use----------------------------- 00035 00036 //---Enumerations for public use----------------------------------------------- 00037 00038 typedef void (*F_NOTIFY_VIDEO_AR)(E_ASPECT_RATIO ar); 00039 00040 //---Global type defs for public use------------------------------------------- 00041 00042 //---Global Function prototypes for public use--------------------------------- 00043 00044 /*!************************************************************************** 00045 * @brief Initialise the VTC module 00046 * @param None 00047 * @return None 00048 ****************************************************************************/ 00049 void STB_VTInitialise(void); 00050 00051 /*!************************************************************************** 00052 * @brief DVBCore application output window for entire video 00053 * @param output - output video rectangle 00054 * @return None 00055 ****************************************************************************/ 00056 void STB_VTSetVideoOutput(S_RECTANGLE *output); 00057 00058 /*!************************************************************************** 00059 * @brief Get display aspect ratio 00060 * @param aspect_ratio - display aspect ratio 00061 * @return None 00062 ****************************************************************************/ 00063 E_ASPECT_RATIO STB_VTGetDisplayAspectRatio(void); 00064 00065 /*!************************************************************************** 00066 * @brief Set display aspect ratio 00067 * @param aspect_ratio - display aspect ratio 00068 * @return None 00069 ****************************************************************************/ 00070 void STB_VTSetDisplayAspectRatio(E_ASPECT_RATIO aspect_ratio); 00071 00072 /*!************************************************************************** 00073 * @brief Turn on or off MHEG5 scaling calculation 00074 * @param enable TRUE - turn on MHEG5 calculations 00075 * @return None 00076 ****************************************************************************/ 00077 void STB_VTSetMhegEnable(BOOLEAN enable); 00078 00079 /*!************************************************************************** 00080 * @brief Set MHEG5 scaling resolution for video 00081 * @param width - width resolution 00082 * @param height - height resolution 00083 * @return None 00084 ****************************************************************************/ 00085 void STB_VTSetMhegScalingResolution(U16BIT width, U16BIT height); 00086 00087 /*!************************************************************************** 00088 * @brief Set video scaling by MHEG5 00089 * @param scaling - scaling transformation (offset, size) 00090 * @return None 00091 ****************************************************************************/ 00092 void STB_VTSetMhegVideoScaling(S_RECTANGLE *scaling); 00093 00094 /*!************************************************************************** 00095 * @brief Set scene aspect ratio (MHEG-5 specific) 00096 * @param aspect_ratio - scene aspect ratio 00097 * @return None 00098 ****************************************************************************/ 00099 void STB_VTSetMhegAspectRatio(E_ASPECT_RATIO aspect_ratio); 00100 00101 /*!************************************************************************** 00102 * @brief Set MHEG5 widescreen alignment 00103 * @param mode - widescreen alignment mode 00104 * @return None 00105 ****************************************************************************/ 00106 void STB_VTSetMhegVideoAlignment(E_VIDEO_ASPECT_MODE mode); 00107 00108 /*!************************************************************************** 00109 * @brief Turn on or off HBBTV scaling calculation 00110 * @param enable TRUE - turn on HbbTV calculations 00111 * @return None 00112 ****************************************************************************/ 00113 void STB_VTSetHbbtvEnable(BOOLEAN enable); 00114 00115 /*!************************************************************************** 00116 * @brief Set video scaling by HBBTV 00117 * @param rect output window rectangle 00118 * @return None 00119 ****************************************************************************/ 00120 void STB_VTSetHbbtvVideoWindow(S_RECTANGLE *rect); 00121 00122 /*!************************************************************************** 00123 * @brief Set video alignment preference 00124 * @param pref - video alignment 00125 * @return None 00126 ****************************************************************************/ 00127 void STB_VTSetVideoAlignmentPref(E_VIDEO_ASPECT_MODE pref); 00128 00129 /*!************************************************************************** 00130 * @brief Set video preferences change callback 00131 * 00132 * The callback function is called when video transformation is changed as a 00133 * result of a user preference change (only). 00134 * 00135 * @param callback - callback for notification 00136 * @param user_data - user data for the callback 00137 * @return None 00138 ****************************************************************************/ 00139 void STB_VTSetVideoPrefChangedCallback(void (*callback)(void *), 00140 void *user_data); 00141 00142 /*!************************************************************************** 00143 * @brief Set video preferences change callback 00144 * 00145 * The callback function is called when video transformation is changed as a 00146 * result of a user preference change (only). 00147 * 00148 * @param callback - callback for notification 00149 * @param user_data - user data for the callback 00150 * @return None 00151 ****************************************************************************/ 00152 void STB_VTSetVideoRatioCallback(F_NOTIFY_VIDEO_AR ar); 00153 00154 /*!************************************************************************** 00155 * @brief Return the current decoder format conversion 00156 * @return The current format conversion 00157 ****************************************************************************/ 00158 E_FORMAT_CONVERSION STB_VTGetDecoderFormatConversion(void); 00159 00160 /*!************************************************************************** 00161 * @brief Return the current video resolution 00162 * @param width - video width 00163 * @param height - video height 00164 * @return None 00165 ****************************************************************************/ 00166 void STB_VTGetVideoResolution(U16BIT *width, U16BIT *height); 00167 00168 /*!************************************************************************** 00169 * @brief Return the current video aspect ratio 00170 * @return E_ASPECT_RATIO aspect ratio 00171 ****************************************************************************/ 00172 E_ASPECT_RATIO STB_VTGetVideoAspectRatio(void); 00173 00174 #endif // _STBVTC_H 00175 00176 //***************************************************************************** 00177 // End of file 00178 //***************************************************************************** 00179