]> git.sesse.net Git - mlt/blobdiff - src/framework/mlt_geometry.c
Merge filter_detect and filter_transform into filter_vidstab
[mlt] / src / framework / mlt_geometry.c
index cbd62b32e058d3db44f73881cd840ea8ffcb8317..6b41d3306e7fd32ff7ac1d7400a53c1f89f33138 100644 (file)
@@ -1,7 +1,10 @@
-/*
- * mlt_geometry.c -- provides the geometry API
+/**
+ * \file mlt_geometry.c
+ * \brief geometry animation API (deprecated)
+ * \deprecated use mlt_animation_s instead
+ *
  * Copyright (C) 2004-2005 Ushodaya Enterprises Limited
- * Author: Charles Yates <charles.yates@pandora.be>
+ * \author Charles Yates <charles.yates@pandora.be>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
 #include <stdlib.h>
 #include <string.h>
 
+/** private part of geometry animation item (deprecated)
+ * \deprecated use mlt_animation_s instead
+ */
+
 typedef struct geometry_item_s
 {
        struct mlt_geometry_item_s data;
@@ -34,6 +41,10 @@ typedef struct geometry_item_s
 }
 *geometry_item;
 
+/** private part of geometry object (deprecated)
+ * \deprecated use mlt_animation_s instead
+ */
+
 typedef struct
 {
        char *data;
@@ -570,9 +581,6 @@ int mlt_geometry_prev_key( mlt_geometry self, mlt_geometry_item item, int positi
        return place == NULL;
 }
 
-#define ISINT(x) ( (x) == (int64_t) (x) )
-#define PICKFMT(x) ( ISINT(x) ? "%.0f" : "%f" )
-
 char *mlt_geometry_serialise_cut( mlt_geometry self, int in, int out )
 {
        geometry g = self->local;
@@ -639,22 +647,22 @@ char *mlt_geometry_serialise_cut( mlt_geometry self, int in, int out )
                                sprintf( temp, "%d=", item.frame - in );
 
                        if ( item.f[0] )
-                               sprintf( temp + strlen( temp ), PICKFMT( item.x ), item.x );
+                               sprintf( temp + strlen( temp ), "%g", item.x );
                        if ( item.f[1] ) {
                                strcat( temp, "/" );
-                               sprintf( temp + strlen( temp ), PICKFMT( item.y ), item.y );
+                               sprintf( temp + strlen( temp ), "%g", item.y );
                        }
                        if ( item.f[2] ) {
                                strcat( temp, ":" );
-                               sprintf( temp + strlen( temp ), PICKFMT( item.w ), item.w );
+                               sprintf( temp + strlen( temp ), "%g", item.w );
                        }
                        if ( item.f[3] ) {
                                strcat( temp, "x" );
-                               sprintf( temp + strlen( temp ), PICKFMT( item.h ), item.h );
+                               sprintf( temp + strlen( temp ), "%g", item.h );
                        }
                        if ( item.f[4] ) {
                                strcat( temp, ":" );
-                               sprintf( temp + strlen( temp ), PICKFMT( item.mix ), item.mix );
+                               sprintf( temp + strlen( temp ), "%g", item.mix );
                        }
 
                        if ( used + strlen( temp ) + 2 > size ) // +2 for ';' and NULL
@@ -692,7 +700,7 @@ char *mlt_geometry_serialise( mlt_geometry self )
                        free( g->data );
                g->data = ret;
        }
-       return ret;
+       return strdup( ret );
 }
 
 // Close the geometry