*/
kTrackRendererRscAllocConditional,
/**
- * @description exclusive no explicit policy, RM will return available
+ * @description inapp multiview policy, RM will return available
* resources.
* @version 6.0
*/
- kTrackRendererRscAllocExclusiveNoExplicit,
+ kTrackRendererRscAllocInAppMultiview,
+ /**
+ * @description Forced to allocate mfc decoder used scenario of get decoded data out.
+ * resources.
+ * @version 6.0
+ */
+ kTrackRendererRscAllocExclusiveMfcForced
};
/**
*/
int trackrenderer_set_anti_acoustic_shock(TrackRendererHandle handle);
+/**
+ * @brief Set on off video clone mode.
+ * @description Main scaler output is copied to sub scaler. Same content is
+ * displayed on two area.
+ * @param [in] handle : trackrenderer handle ptr.
+ * @param [in] on : video clone mode on/off.
+ * (@c true = on, @c false = off)
+ * @return 0 on success, otherwise -1 failed.
+ * @pre The trackrenderer must be at least created.
+ * @code
+ * trackrenderer_set_display_visible(handle, false);
+ * trackrenderer_set_display_mode(handle,kTrackRendererDisplayModeDstRoiAutoAsepct));
+ * TrackRendererGeometry main_roi = {0, 0, 960, 540};
+ * TrackRendererGeometry sub_roi = {960, 0, 960, 540};
+ * trackrenderer_set_display_clone_mode_roi(handle, &main_roi, &sub_roi);
+ * trackrnederer_set_video_clone_mode(handle, true);
+ * trackrenderer_set_display_visible(handle, true);
+ * //your logic
+ * trackrenderer_destroy(handle);
+ * clone mode roi should be set before video clone mode on.
+ * trackrenderer_set_display_clone_mode_roi()
+ * @endcode
+ * @post None
+ * @exception None
+ * @remark Video clone mode use main decoder, main scaler and sub scaler.
+ * In order to use this api, Application scenario must guarantee to be available
+ * for these resources.
+ * @version 6.3
+ * @see trackrenderer_create() \n
+ * trackrenderer_set_display_clone_mode_roi() \n
+ * trackrenderer_set_display_mode() \n
+ * trackrenderer_set_display_visible()
+ */
+int trackrenderer_set_video_clone_mode(TrackRendererHandle handle, bool on);
+
+/**
+ * @brief Set the ROIs area of display for video clone mode.
+ * @description In this function set contents rendering range.
+ * @param [in] handle : trackrenderer handle ptr.
+ * @param [in] main_roi : Roi Geometry for main.
+ * @param [in] sub_roi : Roi Geometry for sub.
+ * @return Return 0 if rendering range is successfully set or
+ * rendering range is stored for future video clone mode
+ * displaying. Otherwise -1 if the trackrenderer is not even setup.
+ * @code
+ * trackrenderer_create(&handle);
+ * trackrenderer_set_display_mode(
+ * handle, kTrackRendererDisplayModeDstRoiAutoAsepct));
+ * TrackRendererGeometry main_roi = {0, 0, 960, 540};
+ * TrackRendererGeometry sub_roi = {960, 0, 960, 540};
+ * trackrenderer_set_display_clone_mode_roi(handle, &main_roi,
+ * &sub_roi);
+ * //your logic
+ * trackrenderer_destroy(handle);
+ * @endcode
+ * @pre The trackrenderer must be at least created.
+ * The display mode should be set to
+ * kTrackRendererDisplayModeDstRoi or
+ * kTrackRendererDisplayModeDstRoiAutoAsepct.
+ * @post None
+ * @exception None
+ * @version 6.3
+ * @remark The minimum value of width and height are 1. Main and sub roi
+ * area must not be overlap.
+ * @see trackrenderer_create() \n
+ * trackrenderer_set_video_clone_mode()
+ */
+int trackrenderer_set_display_clone_mode_roi(
+ TrackRendererHandle handle, TrackRendererGeometry* main_roi,
+ TrackRendererGeometry* sub_roi);
+
+/**
+ * @brief Set the video display mode using int value.
+ * @description In this function set how display shows. If the
+ * trackrenderer is not prepared to update the display yet, the
+ * trackrenderer stored the mode and update display after
+ * trackrenderer is ready to update display.
+ * @param [in] handle : trackrenderer handle ptr.
+ * @param [in] mode : int type casting value from TrackRendererDisplayMode enum.
+ * @return Return 0 if rendering mode is successfully applied or stored
+ * for future displaying.
+ * Otherwise -1 if the trackrenderer is not even setup.
+ * @pre The trackrenderer must be at least created.
+ * @post None
+ * @exception None
+ * @version 6.3
+ * @remark None
+ * @see trackrenderer_set_display_mode()
+ */
+int trackrenderer_set_display_mode_ex(TrackRendererHandle handle, int mode);
+
+/**
+ * @brief Get trackrenderer video display mode.
+ * @description In this function get what mode trackrenderer displaying
+ * contents.
+ * @param [in] handle : trackrenderer handle ptr.
+ * @param [out] mode : int type casting value from TrackRendererDisplayMode enum.
+ * @pre The trackrenderer must be at least created.
+ * @post None
+ * @exception None
+ * @version 6.3
+ * @see trackrenderer_create() \n
+ * trackrenderer_get_display_mode_ex() \n
+ * trackrenderer_set_display_mode()
+ */
+void trackrenderer_get_display_mode_ex(TrackRendererHandle handle, int* mode);
#ifdef __cplusplus
} // extern "C"
#endif