video: do not use pp if tdm pp does not support csc or rotation 47/245347/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Wed, 7 Oct 2020 11:09:42 +0000 (20:09 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 28 Oct 2020 22:54:45 +0000 (22:54 +0000)
Change-Id: I29e80bfc7ee8b81e29820abe05fee3fc45abf33b
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/video/iface/e_video_hwc.c

index cfedf71..8c5c674 100644 (file)
@@ -287,6 +287,12 @@ _e_video_hwc_pp_create(tdm_display *display, void *user_data)
    err = tdm_display_get_pp_capabilities(display, &caps);
    if (err == TDM_ERROR_NONE)
      {
+        if ((caps & TDM_PP_CAPABILITY_NO_CSC) || (caps & TDM_PP_CAPABILITY_NO_TRANSFORM_ROTATION))
+          {
+             VER("tdm pp not support csc or transform", NULL);
+             goto not_support;
+          }
+
         if (caps & TDM_PP_CAPABILITY_SCANOUT)
           pp->scanout = EINA_TRUE;
      }
@@ -295,12 +301,15 @@ _e_video_hwc_pp_create(tdm_display *display, void *user_data)
    if (err != TDM_ERROR_NONE)
      {
         VER("tdm_pp_set_done_handler() failed", NULL);
-        tdm_pp_destroy(pp->tdm_handle);
-        free(pp);
-        return NULL;
+        goto not_support;
      }
 
    return pp;
+
+not_support:
+       tdm_pp_destroy(pp->tdm_handle);
+       free(pp);
+       return NULL;
 }
 
 static Eina_Bool