Mercurial > libavcodec.hg
changeset 11809:867d82f512df libavcodec
Implement av_get_codec_tag_string() and use it in ffprobe.
author | stefano |
---|---|
date | Wed, 02 Jun 2010 10:54:45 +0000 |
parents | 85f6fd5dd599 |
children | 2ae71694d6ae |
files | avcodec.h utils.c |
diffstat | 2 files changed, 26 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/avcodec.h Tue Jun 01 20:59:06 2010 +0000 +++ b/avcodec.h Wed Jun 02 10:54:45 2010 +0000 @@ -30,8 +30,8 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 52 -#define LIBAVCODEC_VERSION_MINOR 72 -#define LIBAVCODEC_VERSION_MICRO 1 +#define LIBAVCODEC_VERSION_MINOR 73 +#define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ @@ -3093,6 +3093,15 @@ */ unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat pix_fmt); +/** + * Puts a string representing the codec tag codec_tag in buf. + * + * @param buf_size size in bytes of buf + * @return the length of the string that would have been generated if + * enough space had been available, excluding the trailing null + */ +size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag); + #define FF_LOSS_RESOLUTION 0x0001 /**< loss due to resolution change */ #define FF_LOSS_DEPTH 0x0002 /**< loss due to color depth change */ #define FF_LOSS_COLORSPACE 0x0004 /**< loss due to color space conversion */
--- a/utils.c Tue Jun 01 20:59:06 2010 +0000 +++ b/utils.c Wed Jun 02 10:54:45 2010 +0000 @@ -802,6 +802,21 @@ return bit_rate; } +size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag) +{ + int i, len, ret = 0; + + for (i = 0; i < 4; i++) { + len = snprintf(buf, buf_size, + isprint(codec_tag&0xFF) ? "%c" : "[%d]", codec_tag&0xFF); + buf += len; + buf_size = buf_size > len ? buf_size - len : 0; + ret += len; + codec_tag>>=8; + } + return ret; +} + void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) { const char *codec_name;