avcodec/tiff_common: add ff_tadd_bytes_metadata()
The le argument is passed so the function has the same prototype as the other similar functions. It is otherwise unused Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
d87ff55502
commit
7859e89ff0
@ -207,6 +207,37 @@ int ff_tadd_shorts_metadata(int count, const char *name, const char *sep,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int ff_tadd_bytes_metadata(int count, const char *name, const char *sep,
|
||||||
|
GetByteContext *gb, int le, AVDictionary **metadata)
|
||||||
|
{
|
||||||
|
AVBPrint bp;
|
||||||
|
char *ap;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (count >= INT_MAX / sizeof(int8_t) || count <= 0)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
if (bytestream2_get_bytes_left(gb) < count * sizeof(int8_t))
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
if (!sep) sep = ", ";
|
||||||
|
|
||||||
|
av_bprint_init(&bp, 10 * count, AV_BPRINT_SIZE_AUTOMATIC);
|
||||||
|
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
av_bprintf(&bp, "%s%i", (i ? sep : ""), bytestream2_get_byte(gb));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((i = av_bprint_finalize(&bp, &ap))) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
if (!ap) {
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
}
|
||||||
|
|
||||||
|
av_dict_set(metadata, name, ap, AV_DICT_DONT_STRDUP_VAL);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int ff_tadd_string_metadata(int count, const char *name,
|
int ff_tadd_string_metadata(int count, const char *name,
|
||||||
GetByteContext *gb, int le, AVDictionary **metadata)
|
GetByteContext *gb, int le, AVDictionary **metadata)
|
||||||
{
|
{
|
||||||
|
@ -123,6 +123,12 @@ int ff_tadd_doubles_metadata(int count, const char *name, const char *sep,
|
|||||||
int ff_tadd_shorts_metadata(int count, const char *name, const char *sep,
|
int ff_tadd_shorts_metadata(int count, const char *name, const char *sep,
|
||||||
GetByteContext *gb, int le, AVDictionary **metadata);
|
GetByteContext *gb, int le, AVDictionary **metadata);
|
||||||
|
|
||||||
|
/** Adds count bytes converted to a string
|
||||||
|
* into the metadata dictionary.
|
||||||
|
*/
|
||||||
|
int ff_tadd_bytes_metadata(int count, const char *name, const char *sep,
|
||||||
|
GetByteContext *gb, int le, AVDictionary **metadata);
|
||||||
|
|
||||||
/** Adds a string of count characters
|
/** Adds a string of count characters
|
||||||
* into the metadata dictionary.
|
* into the metadata dictionary.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user