Revert "msdkdec: make sure to use video memory on Linux"
authorHaihao Xiang <haihao.xiang@intel.com>
Mon, 6 Jan 2020 04:59:36 +0000 (12:59 +0800)
committerHaihao Xiang <haihao.xiang@intel.com>
Fri, 10 Jan 2020 01:36:40 +0000 (01:36 +0000)
Commit a1584b6 caused big performance drop if the downstream element
is not a msdk element because it is very slow to read data from video
memory directly.

This reverts commit a1584b6f99caaf61812ac6a9654ec0e6da8240da.

sys/msdk/gstmsdkdec.c

index 4517032..90779a2 100644 (file)
@@ -681,19 +681,19 @@ gst_msdkdec_start (GstVideoDecoder * decoder)
 {
   GstMsdkDec *thiz = GST_MSDKDEC (decoder);
 
-  /* TODO: Currently d3d allocator is not implemented.
-   * So decoder uses system memory by default on Windows.
-   */
-#ifndef _WIN32
-  thiz->use_video_memory = TRUE;
-#else
-  thiz->use_video_memory = FALSE;
-#endif
-
   if (gst_msdk_context_prepare (GST_ELEMENT_CAST (thiz), &thiz->context)) {
     GST_INFO_OBJECT (thiz, "Found context %" GST_PTR_FORMAT " from neighbour",
         thiz->context);
 
+    /* TODO: Currently d3d allocator is not implemented.
+     * So decoder uses system memory by default on Windows.
+     */
+#ifndef _WIN32
+    thiz->use_video_memory = TRUE;
+#else
+    thiz->use_video_memory = FALSE;
+#endif
+
     if (gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
       GstMsdkContext *parent_context, *msdk_context;