forked from FFmpeg/FFmpeg
lavu: add av_fourcc_make_string() and av_fourcc2str()
This commit is contained in:
parent
c1d822c554
commit
bfdcdd6d82
4 changed files with 42 additions and 1 deletions
|
@ -15,6 +15,10 @@ libavutil: 2015-08-28
|
|||
|
||||
API changes, most recent first:
|
||||
|
||||
2017-03-xx - xxxxxxx - lavu 55.52.100 - avutil.h
|
||||
add av_fourcc_make_string() function and av_fourcc2str() macro to replace
|
||||
av_get_codec_tag_string() from lavc.
|
||||
|
||||
2017-03-xx - xxxxxxx - lavf 57.68.100 - avformat.h
|
||||
Deprecate that demuxers export the stream rotation angle in AVStream.metadata
|
||||
(via an entry named "rotate"). Use av_stream_get_side_data() with
|
||||
|
|
|
@ -343,6 +343,20 @@ FILE *av_fopen_utf8(const char *path, const char *mode);
|
|||
*/
|
||||
AVRational av_get_time_base_q(void);
|
||||
|
||||
#define AV_FOURCC_MAX_STRING_SIZE 32
|
||||
|
||||
#define av_fourcc2str(fourcc) av_fourcc_make_string((char[AV_FOURCC_MAX_STRING_SIZE]){0}, fourcc)
|
||||
|
||||
/**
|
||||
* Fill the provided buffer with a string containing a FourCC (four-character
|
||||
* code) representation.
|
||||
*
|
||||
* @param buf a buffer with size in bytes of at least AV_FOURCC_MAX_STRING_SIZE
|
||||
* @param fourcc the fourcc to represent
|
||||
* @return the buffer in input
|
||||
*/
|
||||
char *av_fourcc_make_string(char *buf, uint32_t fourcc);
|
||||
|
||||
/**
|
||||
* @}
|
||||
* @}
|
||||
|
|
|
@ -121,6 +121,29 @@ unsigned av_int_list_length_for_size(unsigned elsize,
|
|||
return i;
|
||||
}
|
||||
|
||||
char *av_fourcc_make_string(char *buf, uint32_t fourcc)
|
||||
{
|
||||
int i;
|
||||
char *orig_buf = buf;
|
||||
size_t buf_size = AV_FOURCC_MAX_STRING_SIZE;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
const int c = fourcc & 0xff;
|
||||
const int print_chr = (c >= '0' && c <= '9') ||
|
||||
(c >= 'a' && c <= 'z') ||
|
||||
(c >= 'A' && c <= 'Z') ||
|
||||
(c && strchr(". -_", c));
|
||||
const int len = snprintf(buf, buf_size, print_chr ? "%c" : "[%d]", c);
|
||||
if (len < 0)
|
||||
break;
|
||||
buf += len;
|
||||
buf_size = buf_size > len ? buf_size - len : 0;
|
||||
fourcc >>= 8;
|
||||
}
|
||||
|
||||
return orig_buf;
|
||||
}
|
||||
|
||||
AVRational av_get_time_base_q(void)
|
||||
{
|
||||
return (AVRational){1, AV_TIME_BASE};
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 55
|
||||
#define LIBAVUTIL_VERSION_MINOR 51
|
||||
#define LIBAVUTIL_VERSION_MINOR 52
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
|
Loading…
Add table
Reference in a new issue