[totem] thumbnailer: Remove film strip from generated thumbnails



commit dae3a26951b9efe68ea0ab9d2da6c40742dc6010
Author: Bastien Nocera <hadess hadess net>
Date:   Sat Feb 8 16:28:45 2014 +0100

    thumbnailer: Remove film strip from generated thumbnails
    
    https://bugzilla.gnome.org/show_bug.cgi?id=723832

 data/Makefile.am              |    3 -
 data/filmholes-big-left.png   |  Bin 719 -> 0 bytes
 data/filmholes-big-right.png  |  Bin 453 -> 0 bytes
 data/filmholes.png            |  Bin 173 -> 0 bytes
 src/totem-video-thumbnailer.c |  157 ++---------------------------------------
 5 files changed, 5 insertions(+), 155 deletions(-)
---
diff --git a/data/Makefile.am b/data/Makefile.am
index e214737..7992c52 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -19,9 +19,6 @@ EXTRA_DIST += \
 # UI files and images
 stuffdir = $(pkgdatadir)
 stuff_DATA =                           \
-       filmholes.png                   \
-       filmholes-big-left.png          \
-       filmholes-big-right.png         \
        totem.ui                        \
        playlist.ui                     \
        mozilla-viewer.ui               \
diff --git a/src/totem-video-thumbnailer.c b/src/totem-video-thumbnailer.c
index fda28a6..6633178 100644
--- a/src/totem-video-thumbnailer.c
+++ b/src/totem-video-thumbnailer.c
@@ -433,141 +433,6 @@ thumb_app_seek (ThumbApp *app,
        gst_element_get_state (app->play, NULL, NULL, GST_CLOCK_TIME_NONE);
 }
 
-static GdkPixbuf *
-add_holes_to_pixbuf_small (GdkPixbuf *pixbuf, int width, int height)
-{
-       GdkPixbuf *holes, *tmp, *target;
-       char *filename;
-       int i;
-
-       filename = g_build_filename (DATADIR, "totem", "filmholes.png", NULL);
-       holes = gdk_pixbuf_new_from_file (filename, NULL);
-       g_free (filename);
-
-       if (holes == NULL) {
-               g_object_ref (pixbuf);
-               return pixbuf;
-       }
-
-       g_assert (gdk_pixbuf_get_has_alpha (pixbuf) == FALSE);
-       g_assert (gdk_pixbuf_get_has_alpha (holes) != FALSE);
-       target = g_object_ref (pixbuf);
-
-       for (i = 0; i < height; i += gdk_pixbuf_get_height (holes))
-       {
-               gdk_pixbuf_composite (holes, target, 0, i,
-                                     MIN (width, gdk_pixbuf_get_width (holes)),
-                                     MIN (height - i, gdk_pixbuf_get_height (holes)),
-                                     0, i, 1, 1, GDK_INTERP_NEAREST, 255);
-       }
-
-       tmp = gdk_pixbuf_flip (holes, FALSE);
-       g_object_unref (holes);
-       holes = tmp;
-
-       for (i = 0; i < height; i += gdk_pixbuf_get_height (holes))
-       {
-               gdk_pixbuf_composite (holes, target,
-                                     width - gdk_pixbuf_get_width (holes), i,
-                                     MIN (width, gdk_pixbuf_get_width (holes)),
-                                     MIN (height - i, gdk_pixbuf_get_height (holes)),
-                                     width - gdk_pixbuf_get_width (holes), i,
-                                     1, 1, GDK_INTERP_NEAREST, 255);
-       }
-
-       g_object_unref (holes);
-
-       return target;
-}
-
-static GdkPixbuf *
-add_holes_to_pixbuf_large (GdkPixbuf *pixbuf, int size)
-{
-       char *filename;
-       int lh, lw, rh, rw, i;
-       GdkPixbuf *left, *right, *small;
-       int canvas_w, canvas_h;
-       int d_height, d_width;
-       double ratio;
-
-       filename = g_build_filename (DATADIR, "totem",
-                       "filmholes-big-left.png", NULL);
-       left = gdk_pixbuf_new_from_file (filename, NULL);
-       g_free (filename);
-
-       if (left == NULL) {
-               g_object_ref (pixbuf);
-               return pixbuf;
-       }
-
-       filename = g_build_filename (DATADIR, "totem",
-                       "filmholes-big-right.png", NULL);
-       right = gdk_pixbuf_new_from_file (filename, NULL);
-       g_free (filename);
-
-       if (right == NULL) {
-               g_object_unref (left);
-               g_object_ref (pixbuf);
-               return pixbuf;
-       }
-
-       lh = gdk_pixbuf_get_height (left);
-       lw = gdk_pixbuf_get_width (left);
-       rh = gdk_pixbuf_get_height (right);
-       rw = gdk_pixbuf_get_width (right);
-       g_assert (lh == rh);
-       g_assert (lw == rw);
-
-       {
-               int height, width;
-
-               height = gdk_pixbuf_get_height (pixbuf);
-               width = gdk_pixbuf_get_width (pixbuf);
-
-               if (width > height) {
-                       d_width = size - lw - lw;
-                       d_height = d_width * height / width;
-               } else {
-                       d_height = size - lw -lw;
-                       d_width = d_height * width / height;
-               }
-
-               canvas_h = d_height;
-               canvas_w = d_width + 2 * lw;
-       }
-
-       small = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
-                       canvas_w, canvas_h);
-       gdk_pixbuf_fill (small, 0x000000ff);
-       ratio = ((double)d_width / (double) gdk_pixbuf_get_width (pixbuf));
-
-       gdk_pixbuf_scale (pixbuf, small, lw, 0,
-                       d_width, d_height,
-                       lw, 0, ratio, ratio, GDK_INTERP_BILINEAR);
-
-       /* Left side holes */
-       for (i = 0; i < canvas_h; i += lh) {
-               gdk_pixbuf_composite (left, small, 0, i,
-                               MIN (canvas_w, lw),
-                               MIN (canvas_h - i, lh),
-                               0, i, 1, 1, GDK_INTERP_NEAREST, 255);
-       }
-
-       /* Right side holes */
-       for (i = 0; i < canvas_h; i += rh) {
-               gdk_pixbuf_composite (right, small,
-                               canvas_w - rw, i,
-                               MIN (canvas_w, rw),
-                               MIN (canvas_h - i, rh),
-                               canvas_w - rw, i,
-                               1, 1, GDK_INTERP_NEAREST, 255);
-       }
-
-       /* TODO Add a one pixel border of 0x33333300 all around */
-
-       return small;
-}
-
 /* This function attempts to detect images that are mostly solid images
  * It does this by calculating the statistical variance of the
  * black-and-white image */
@@ -630,24 +495,12 @@ scale_pixbuf (GdkPixbuf *pixbuf, int size, gboolean is_still)
                GdkPixbuf *small;
 
                small = gdk_pixbuf_scale_simple (pixbuf, d_width, d_height, GDK_INTERP_BILINEAR);
-
-               if (is_still == FALSE) {
-                       result = add_holes_to_pixbuf_small (small, d_width, d_height);
-                       g_return_val_if_fail (result != NULL, NULL);
-                       g_object_unref (small);
-               } else {
-                       result = small;
-               }
+               result = small;
        } else {
-               if (is_still == FALSE) {
-                       result = add_holes_to_pixbuf_large (pixbuf, size);
-                       g_return_val_if_fail (result != NULL, NULL);
-               } else {
-                       if (size > 0)
-                               result = gdk_pixbuf_scale_simple (pixbuf, d_width, d_height, 
GDK_INTERP_BILINEAR);
-                       else
-                               result = g_object_ref (pixbuf);
-               }
+               if (size > 0)
+                       result = gdk_pixbuf_scale_simple (pixbuf, d_width, d_height, GDK_INTERP_BILINEAR);
+               else
+                       result = g_object_ref (pixbuf);
        }
 
        return result;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]