Browse Source

lavu: add av_fourcc_make_string() and av_fourcc2str()

tags/n3.3
Clément Bœsch 8 years ago
parent
commit
bfdcdd6d82
4 changed files with 42 additions and 1 deletions
  1. +4
    -0
      doc/APIchanges
  2. +14
    -0
      libavutil/avutil.h
  3. +23
    -0
      libavutil/utils.c
  4. +1
    -1
      libavutil/version.h

+ 4
- 0
doc/APIchanges View File

@@ -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


+ 14
- 0
libavutil/avutil.h View File

@@ -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);

/**
* @}
* @}


+ 23
- 0
libavutil/utils.c View File

@@ -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};


+ 1
- 1
libavutil/version.h View File

@@ -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…
Cancel
Save