video: Create e_video_hwc_input_buffer_valid() function to remove duplicated function. 83/204483/1
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 12 Apr 2019 08:07:47 +0000 (17:07 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Wed, 24 Apr 2019 06:33:14 +0000 (15:33 +0900)
Change-Id: If0f06bb1f464cbeb47e85f5c92120d686dced91f

src/bin/video/iface/e_video_hwc.c
src/bin/video/iface/e_video_hwc.h
src/bin/video/iface/e_video_hwc_planes.c
src/bin/video/iface/e_video_hwc_windows.c

index 90c2085..119856d 100644 (file)
 
 #define IS_RGB(f) ((f) == TBM_FORMAT_XRGB8888 || (f) == TBM_FORMAT_ARGB8888)
 
+EINTERN void
+e_video_hwc_input_buffer_valid(E_Video_Hwc *evh, E_Comp_Wl_Buffer *comp_buffer)
+{
+   E_Comp_Wl_Video_Buf *vbuf;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(evh->input_buffer_list, l, vbuf)
+     {
+        tbm_surface_h tbm_surf;
+        tbm_bo bo;
+        uint32_t size = 0, offset = 0, pitch = 0;
+
+        if (!vbuf->comp_buffer) continue;
+        if (vbuf->resource == comp_buffer->resource)
+          {
+             WRN("got wl_buffer@%d twice", wl_resource_get_id(comp_buffer->resource));
+             return;
+          }
+
+        tbm_surf = wayland_tbm_server_get_surface(e_comp->wl_comp_data->tbm.server, comp_buffer->resource);
+        bo = tbm_surface_internal_get_bo(tbm_surf, 0);
+        tbm_surface_internal_get_plane_data(tbm_surf, 0, &size, &offset, &pitch);
+
+        if (vbuf->names[0] == tbm_bo_export(bo) && vbuf->offsets[0] == offset)
+          {
+             WRN("can tearing: wl_buffer@%d, wl_buffer@%d are same. gem_name(%d)",
+                 wl_resource_get_id(vbuf->resource),
+                 wl_resource_get_id(comp_buffer->resource), vbuf->names[0]);
+             return;
+          }
+     }
+}
+
 EINTERN E_Comp_Wl_Video_Buf *
 e_video_hwc_input_buffer_copy(E_Video_Hwc *evh, E_Comp_Wl_Buffer *comp_buf, E_Comp_Wl_Video_Buf *vbuf, Eina_Bool scanout)
 {
index afc89d1..07ada25 100644 (file)
@@ -85,6 +85,7 @@ EINTERN Eina_Bool    e_video_hwc_planes_init(E_Video_Hwc *evh);
 EINTERN Eina_Bool    e_video_hwc_windows_init(E_Video_Hwc *evh);
 
 EINTERN Eina_Bool    e_video_hwc_can_commit(E_Video_Hwc *evh);
+EINTERN void         e_video_hwc_input_buffer_valid(E_Video_Hwc *evh, E_Comp_Wl_Buffer *comp_buffer);
 
 EINTERN E_Client    *e_video_hwc_child_client_get(E_Client *ec);
 EINTERN E_Client    *e_video_hwc_client_offscreen_parent_get(E_Client *ec);
index c1bb6c2..2b6683f 100644 (file)
@@ -415,39 +415,6 @@ _e_video_input_buffer_get(E_Video_Hwc_Planes *evhp, E_Comp_Wl_Buffer *comp_buffe
 }
 
 static void
-_e_video_input_buffer_valid(E_Video_Hwc_Planes *evhp, E_Comp_Wl_Buffer *comp_buffer)
-{
-   E_Comp_Wl_Video_Buf *vbuf;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(evhp->base.input_buffer_list, l, vbuf)
-     {
-        tbm_surface_h tbm_surf;
-        tbm_bo bo;
-        uint32_t size = 0, offset = 0, pitch = 0;
-
-        if (!vbuf->comp_buffer) continue;
-        if (vbuf->resource == comp_buffer->resource)
-          {
-             WRN("got wl_buffer@%d twice", wl_resource_get_id(comp_buffer->resource));
-             return;
-          }
-
-        tbm_surf = wayland_tbm_server_get_surface(e_comp->wl_comp_data->tbm.server, comp_buffer->resource);
-        bo = tbm_surface_internal_get_bo(tbm_surf, 0);
-        tbm_surface_internal_get_plane_data(tbm_surf, 0, &size, &offset, &pitch);
-
-        if (vbuf->names[0] == tbm_bo_export(bo) && vbuf->offsets[0] == offset)
-          {
-             WRN("can tearing: wl_buffer@%d, wl_buffer@%d are same. gem_name(%d)",
-                 wl_resource_get_id(vbuf->resource),
-                 wl_resource_get_id(comp_buffer->resource), vbuf->names[0]);
-             return;
-          }
-     }
-}
-
-static void
 _e_video_commit_handler(tdm_layer *layer, unsigned int sequence,
                         unsigned int tv_sec, unsigned int tv_usec,
                         void *user_data)
@@ -1114,7 +1081,7 @@ _e_video_render(E_Video_Hwc_Planes *evhp, const char *func)
 
    evhp->base.need_force_render = EINA_FALSE;
 
-   _e_video_input_buffer_valid(evhp, comp_buffer);
+   e_video_hwc_input_buffer_valid((E_Video_Hwc *)evhp, comp_buffer);
 
    if (!_e_video_check_if_pp_needed(evhp))
      {
index 48f8321..f8eaddd 100644 (file)
@@ -130,39 +130,6 @@ _e_video_input_buffer_get(E_Video_Hwc_Windows *evhw, E_Comp_Wl_Buffer *comp_buff
 }
 
 static void
-_e_video_input_buffer_valid(E_Video_Hwc_Windows *evhw, E_Comp_Wl_Buffer *comp_buffer)
-{
-   E_Comp_Wl_Video_Buf *vbuf;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(evhw->base.input_buffer_list, l, vbuf)
-     {
-        tbm_surface_h tbm_surf;
-        tbm_bo bo;
-        uint32_t size = 0, offset = 0, pitch = 0;
-
-        if (!vbuf->comp_buffer) continue;
-        if (vbuf->resource == comp_buffer->resource)
-          {
-             WRN("got wl_buffer@%d twice", wl_resource_get_id(comp_buffer->resource));
-             return;
-          }
-
-        tbm_surf = wayland_tbm_server_get_surface(e_comp->wl_comp_data->tbm.server, comp_buffer->resource);
-        bo = tbm_surface_internal_get_bo(tbm_surf, 0);
-        tbm_surface_internal_get_plane_data(tbm_surf, 0, &size, &offset, &pitch);
-
-        if (vbuf->names[0] == tbm_bo_export(bo) && vbuf->offsets[0] == offset)
-          {
-             WRN("can tearing: wl_buffer@%d, wl_buffer@%d are same. gem_name(%d)",
-                 wl_resource_get_id(vbuf->resource),
-                 wl_resource_get_id(comp_buffer->resource), vbuf->names[0]);
-             return;
-          }
-     }
-}
-
-static void
 _e_video_commit_handler(tdm_layer *layer, unsigned int sequence,
                         unsigned int tv_sec, unsigned int tv_usec,
                         void *user_data)
@@ -626,7 +593,7 @@ _e_video_render(E_Video_Hwc_Windows *evhw, const char *func)
 
    evhw->base.need_force_render = EINA_FALSE;
 
-   _e_video_input_buffer_valid(evhw, comp_buffer);
+   e_video_hwc_input_buffer_valid((E_Video_Hwc *)evhw, comp_buffer);
 
    if (!_e_video_check_if_pp_needed(evhw))
      {