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,
|
||||
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,
|
||||
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
|
||||
* into the metadata dictionary.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user