-/*
- * mlt_profile.c -- video output definition
- * Copyright (C) 2007 Ushodaya Enterprises Limited
- * Author: Dan Dennedy <dan@dennedy.org>
+/**
+ * \file mlt_profile.c
+ * \brief video output definition
+ * \see mlt_profile_s
+ *
+ * Copyright (C) 2007-2009 Ushodaya Enterprises Limited
+ * \author Dan Dennedy <dan@dennedy.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include <string.h>
#include <libgen.h>
+
+/** the default subdirectory of the prefix for holding profiles */
#define PROFILES_DIR "/share/mlt/profiles/"
-/** Load a profile from the system folder
-*/
+/** Load a profile from the system folder.
+ *
+ * The environment variable MLT_PROFILES_PATH overrides the default \p PROFILES_DIR.
+ *
+ * \private \memberof mlt_profile_s
+ * \param name the name of a profile settings file located in the standard location or
+ * the full path name to a profile settings file
+ * \return a profile or NULL on error
+ */
static mlt_profile mlt_profile_select( const char *name )
{
const char *prefix = getenv( "MLT_PROFILES_PATH" );
mlt_properties properties = mlt_properties_load( name );
mlt_profile profile = NULL;
-
+
// Try to load from file specification
if ( properties && mlt_properties_get_int( properties, "width" ) )
{
if ( filename[ strlen( filename ) - 1 ] != '/' )
filename[ strlen( filename ) ] = '/';
}
-
+
// Finish loading
strcat( filename, name );
profile = mlt_profile_load_file( filename );
}
/** Construct a profile.
-*/
+ *
+ * This will never return NULL as it uses the dv_pal settings as hard-coded fallback default.
+ *
+ * \public \memberof mlt_profile_s
+ * @param name the name of a profile settings file located in the standard location or
+ * the full path name to a profile settings file
+ * @return a profile
+ */
mlt_profile mlt_profile_init( const char *name )
{
profile->width = 720;
profile->height = 576;
profile->progressive = 0;
- profile->sample_aspect_num = 59;
- profile->sample_aspect_den = 54;
+ profile->sample_aspect_num = 16;
+ profile->sample_aspect_den = 15;
profile->display_aspect_num = 4;
profile->display_aspect_den = 3;
}
return profile;
}
-/** Load a profile from specific file
-*/
+/** Load a profile from specific file.
+ *
+ * \public \memberof mlt_profile_s
+ * @param file the full path name to a properties file
+ * @return a profile or NULL on error
+ */
mlt_profile mlt_profile_load_file( const char *file )
{
return profile;
}
-/** Load a profile from a properties object
-*/
+/** Load a profile from a properties object.
+ *
+ * \public \memberof mlt_profile_s
+ * @param properties a properties list
+ * @return a profile or NULL if out of memory
+ */
mlt_profile mlt_profile_load_properties( mlt_properties properties )
{
return profile;
}
-/** Load an anonymous profile from string
-*/
+/** Load an anonymous profile from string.
+ *
+ * \public \memberof mlt_profile_s
+ * @param string a newline-delimited list of properties as name=value pairs
+ * @return a profile or NULL if out of memory
+ */
mlt_profile mlt_profile_load_string( const char *string )
{
return mlt_profile_load_properties( properties );
}
-/** Get the framerate as float
-*/
+/** Get the video frame rate as a floating point value.
+ *
+ * \public \memberof mlt_profile_s
+ * @param aprofile a profile
+ * @return the frame rate
+ */
double mlt_profile_fps( mlt_profile aprofile )
{
return 0;
}
-/** Get the sample aspect ratio as float
-*/
+/** Get the sample aspect ratio as a floating point value.
+ *
+ * \public \memberof mlt_profile_s
+ * @param aprofile a profile
+ * @return the pixel aspect ratio
+ */
double mlt_profile_sar( mlt_profile aprofile )
{
return 0;
}
-/** Get the display aspect ratio as float
-*/
+/** Get the display aspect ratio as floating point value.
+ *
+ * \public \memberof mlt_profile_s
+ * @param aprofile a profile
+ * @return the image aspect ratio
+ */
double mlt_profile_dar( mlt_profile aprofile )
{
return 0;
}
-/** Free up the global profile resources
-*/
+/** Free up the global profile resources.
+ *
+ * \public \memberof mlt_profile_s
+ * @param profile a profile
+ */
void mlt_profile_close( mlt_profile profile )
{