[FFmpeg-cvslog] r26259 - in trunk: doc/APIchanges libavcodec/avcodec.h libavcodec/utils.c
cehoyos
subversion
Fri Jan 7 23:27:26 CET 2011
Author: cehoyos
Date: Fri Jan 7 23:27:26 2011
New Revision: 26259
Log:
Add av_get_profile_name() to get profile names.
Patch by Anssi Hannula, anssi d hannula a iki d fi
Modified:
trunk/doc/APIchanges
trunk/libavcodec/avcodec.h
trunk/libavcodec/utils.c
Modified: trunk/doc/APIchanges
==============================================================================
--- trunk/doc/APIchanges Fri Jan 7 22:54:52 2011 (r26258)
+++ trunk/doc/APIchanges Fri Jan 7 23:27:26 2011 (r26259)
@@ -13,6 +13,9 @@ libavutil: 2009-03-08
API changes, most recent first:
+2011-01-XX - r26XXX - lavc 52.104.0 - av_get_profile_name()
+ Add av_get_profile_name to libavcodec/avcodec.h.
+
2010-12-27 - r26108 - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
Add AV_PERM_NEG_LINESIZES in avfilter.h.
Modified: trunk/libavcodec/avcodec.h
==============================================================================
--- trunk/libavcodec/avcodec.h Fri Jan 7 22:54:52 2011 (r26258)
+++ trunk/libavcodec/avcodec.h Fri Jan 7 23:27:26 2011 (r26259)
@@ -32,8 +32,8 @@
#include "libavutil/cpu.h"
#define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR 103
-#define LIBAVCODEC_VERSION_MICRO 1
+#define LIBAVCODEC_VERSION_MINOR 104
+#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
@@ -2794,6 +2794,14 @@ typedef struct AVCodecContext {
} AVCodecContext;
/**
+ * AVProfile.
+ */
+typedef struct AVProfile {
+ int profile;
+ const char *name; ///< short name for the profile
+} AVProfile;
+
+/**
* AVCodec.
*/
typedef struct AVCodec {
@@ -2834,6 +2842,7 @@ typedef struct AVCodec {
const int64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
uint8_t max_lowres; ///< maximum value for lowres supported by the decoder
AVClass *priv_class; ///< AVClass for the private context
+ const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}
} AVCodec;
/**
@@ -3394,6 +3403,15 @@ AVCodec *avcodec_find_decoder_by_name(co
void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode);
/**
+ * Return a name for the specified profile, if available.
+ *
+ * @param codec the codec that is searched for the given profile
+ * @param profile the profile value for which a name is requested
+ * @return A name for the profile if found, NULL otherwise.
+ */
+const char *av_get_profile_name(const AVCodec *codec, int profile);
+
+/**
* Set the fields of the given AVCodecContext to default values.
*
* @param s The AVCodecContext of which the fields should be set to default values.
Modified: trunk/libavcodec/utils.c
==============================================================================
--- trunk/libavcodec/utils.c Fri Jan 7 22:54:52 2011 (r26258)
+++ trunk/libavcodec/utils.c Fri Jan 7 23:27:26 2011 (r26259)
@@ -966,6 +966,19 @@ void avcodec_string(char *buf, int buf_s
}
}
+const char *av_get_profile_name(const AVCodec *codec, int profile)
+{
+ const AVProfile *p;
+ if (profile == FF_PROFILE_UNKNOWN || !codec->profiles)
+ return NULL;
+
+ for (p = codec->profiles; p->profile != FF_PROFILE_UNKNOWN; p++)
+ if (p->profile == profile)
+ return p->name;
+
+ return NULL;
+}
+
unsigned avcodec_version( void )
{
return LIBAVCODEC_VERSION_INT;
More information about the ffmpeg-cvslog
mailing list