diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-04-01 13:13:03 +0200 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2016-04-02 22:48:15 +0100 |
commit | ce87711df563a9d2d0537a062b86bb91b15ea1a0 (patch) | |
tree | 83f98f7de933fa06473812ff8dcc6d62ff5a9c19 | |
parent | 994412fb9b07dd3d012a76f480f4f5e0cfa883cc (diff) | |
download | ffmpeg-ce87711df563a9d2d0537a062b86bb91b15ea1a0.tar.gz |
exif: take a generic log context
The AVCodecContext is only used for logging, so instead take any valid log context.
This allows reusing the exif functions more easily in avformat.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rw-r--r-- | libavcodec/exif.c | 16 | ||||
-rw-r--r-- | libavcodec/exif.h | 2 |
2 files changed, 9 insertions, 9 deletions
diff --git a/libavcodec/exif.c b/libavcodec/exif.c index fa30f0573f..07ce1741c2 100644 --- a/libavcodec/exif.c +++ b/libavcodec/exif.c @@ -41,14 +41,14 @@ static const char *exif_get_tag_name(uint16_t id) } -static int exif_add_metadata(AVCodecContext *avctx, int count, int type, +static int exif_add_metadata(void *logctx, int count, int type, const char *name, const char *sep, GetByteContext *gb, int le, AVDictionary **metadata) { switch(type) { case 0: - av_log(avctx, AV_LOG_WARNING, + av_log(logctx, AV_LOG_WARNING, "Invalid TIFF tag type 0 found for %s with size %d\n", name, count); return 0; @@ -64,13 +64,13 @@ static int exif_add_metadata(AVCodecContext *avctx, int count, int type, case TIFF_SLONG : case TIFF_LONG : return ff_tadd_long_metadata(count, name, sep, gb, le, metadata); default: - avpriv_request_sample(avctx, "TIFF tag type (%u)", type); + avpriv_request_sample(logctx, "TIFF tag type (%u)", type); return 0; }; } -static int exif_decode_tag(AVCodecContext *avctx, GetByteContext *gbytes, int le, +static int exif_decode_tag(void *logctx, GetByteContext *gbytes, int le, int depth, AVDictionary **metadata) { int ret, cur_pos; @@ -92,7 +92,7 @@ static int exif_decode_tag(AVCodecContext *avctx, GetByteContext *gbytes, int le // store metadata or proceed with next IFD ret = ff_tis_ifd(id); if (ret) { - ret = avpriv_exif_decode_ifd(avctx, gbytes, le, depth + 1, metadata); + ret = avpriv_exif_decode_ifd(logctx, gbytes, le, depth + 1, metadata); } else { const char *name = exif_get_tag_name(id); char *use_name = (char*) name; @@ -105,7 +105,7 @@ static int exif_decode_tag(AVCodecContext *avctx, GetByteContext *gbytes, int le snprintf(use_name, 7, "0x%04X", id); } - ret = exif_add_metadata(avctx, count, type, use_name, NULL, + ret = exif_add_metadata(logctx, count, type, use_name, NULL, gbytes, le, metadata); if (!name) { @@ -119,7 +119,7 @@ static int exif_decode_tag(AVCodecContext *avctx, GetByteContext *gbytes, int le } -int avpriv_exif_decode_ifd(AVCodecContext *avctx, GetByteContext *gbytes, int le, +int avpriv_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le, int depth, AVDictionary **metadata) { int i, ret; @@ -132,7 +132,7 @@ int avpriv_exif_decode_ifd(AVCodecContext *avctx, GetByteContext *gbytes, int le } for (i = 0; i < entries; i++) { - if ((ret = exif_decode_tag(avctx, gbytes, le, depth, metadata)) < 0) { + if ((ret = exif_decode_tag(logctx, gbytes, le, depth, metadata)) < 0) { return ret; } } diff --git a/libavcodec/exif.h b/libavcodec/exif.h index 2f509ba1e9..5f09208b9d 100644 --- a/libavcodec/exif.h +++ b/libavcodec/exif.h @@ -164,7 +164,7 @@ static const struct exif_tag tag_list[] = { // JEITA CP-3451 EXIF specification: /** Recursively decodes all IFD's and * adds included TAGS into the metadata dictionary. */ -int avpriv_exif_decode_ifd(AVCodecContext *avctx, GetByteContext *gbytes, int le, +int avpriv_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le, int depth, AVDictionary **metadata); #endif /* AVCODEC_EXIF_H */ |