mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Add av_get_profile_name() to get profile names.
Patch by Anssi Hannula, anssi d hannula a iki d fi Originally committed as revision 26259 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
f2953365d1
commit
060ec0a829
@ -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.
|
||||
|
||||
|
@ -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, \
|
||||
@ -2793,6 +2793,14 @@ typedef struct AVCodecContext {
|
||||
int subtitle_header_size;
|
||||
} AVCodecContext;
|
||||
|
||||
/**
|
||||
* AVProfile.
|
||||
*/
|
||||
typedef struct AVProfile {
|
||||
int profile;
|
||||
const char *name; ///< short name for the profile
|
||||
} AVProfile;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
@ -3393,6 +3402,15 @@ AVCodec *avcodec_find_decoder(enum CodecID id);
|
||||
AVCodec *avcodec_find_decoder_by_name(const char *name);
|
||||
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.
|
||||
*
|
||||
|
@ -966,6 +966,19 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user