mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 08:12:44 +00:00
avio: Add avio_put_str16be
This commit is contained in:
parent
9b56ac74b1
commit
252d6200c3
@ -13,6 +13,9 @@ libavutil: 2014-08-09
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2015-xx-xx - xxxxxxx - lavf 56.20.0 - avio.h
|
||||
Add avio_put_str16be.
|
||||
|
||||
2015-xx-xx - xxxxxxx - lavu 54.14.0 - cpu.h
|
||||
Add AV_CPU_FLAG_AVXSLOW.
|
||||
|
||||
|
@ -178,10 +178,22 @@ int avio_put_str(AVIOContext *s, const char *str);
|
||||
|
||||
/**
|
||||
* Convert an UTF-8 string to UTF-16LE and write it.
|
||||
* @param s the AVIOContext
|
||||
* @param str NULL-terminated UTF-8 string
|
||||
*
|
||||
* @return number of bytes written.
|
||||
*/
|
||||
int avio_put_str16le(AVIOContext *s, const char *str);
|
||||
|
||||
/**
|
||||
* Convert an UTF-8 string to UTF-16BE and write it.
|
||||
* @param s the AVIOContext
|
||||
* @param str NULL-terminated UTF-8 string
|
||||
*
|
||||
* @return number of bytes written.
|
||||
*/
|
||||
int avio_put_str16be(AVIOContext *s, const char *str);
|
||||
|
||||
/**
|
||||
* Passing this as the "whence" parameter to a seek function causes it to
|
||||
* return the filesize without seeking anywhere. Supporting this is optional.
|
||||
|
@ -284,23 +284,29 @@ int avio_put_str(AVIOContext *s, const char *str)
|
||||
return len;
|
||||
}
|
||||
|
||||
int avio_put_str16le(AVIOContext *s, const char *str)
|
||||
{
|
||||
const uint8_t *q = str;
|
||||
int ret = 0;
|
||||
|
||||
while (*q) {
|
||||
uint32_t ch;
|
||||
uint16_t tmp;
|
||||
|
||||
GET_UTF8(ch, *q++, break;)
|
||||
PUT_UTF16(ch, tmp, avio_wl16(s, tmp); ret += 2;)
|
||||
}
|
||||
avio_wl16(s, 0);
|
||||
ret += 2;
|
||||
return ret;
|
||||
#define PUT_STR16(type, write) \
|
||||
int avio_put_str16 ## type(AVIOContext * s, const char *str) \
|
||||
{ \
|
||||
const uint8_t *q = str; \
|
||||
int ret = 0; \
|
||||
\
|
||||
while (*q) { \
|
||||
uint32_t ch; \
|
||||
uint16_t tmp; \
|
||||
\
|
||||
GET_UTF8(ch, *q++, break; ) \
|
||||
PUT_UTF16(ch, tmp, write(s, tmp); ret += 2; ) \
|
||||
} \
|
||||
write(s, 0); \
|
||||
ret += 2; \
|
||||
return ret; \
|
||||
}
|
||||
|
||||
PUT_STR16(le, avio_wl16)
|
||||
PUT_STR16(be, avio_wb16)
|
||||
|
||||
#undef PUT_STR16
|
||||
|
||||
int ff_get_v_length(uint64_t val)
|
||||
{
|
||||
int i = 1;
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "libavutil/version.h"
|
||||
|
||||
#define LIBAVFORMAT_VERSION_MAJOR 56
|
||||
#define LIBAVFORMAT_VERSION_MINOR 19
|
||||
#define LIBAVFORMAT_VERSION_MINOR 20
|
||||
#define LIBAVFORMAT_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user