FFmpeg
Functions
tiff_common.c File Reference
#include "libavutil/bprint.h"
#include "tiff_common.h"

Go to the source code of this file.

Functions

int ff_tis_ifd (unsigned tag)
 Returns a value > 0 if the tag is a known IFD-tag. More...
 
unsigned ff_tget_short (GetByteContext *gb, int le)
 Reads a short from the bytestream using given endianness. More...
 
unsigned ff_tget_long (GetByteContext *gb, int le)
 Reads a long from the bytestream using given endianness. More...
 
double ff_tget_double (GetByteContext *gb, int le)
 Reads a double from the bytestream using given endianness. More...
 
unsigned ff_tget (GetByteContext *gb, int type, int le)
 Reads a byte from the bytestream using given endianness. More...
 
static const char * auto_sep (int count, const char *sep, int i, int columns)
 
static int bprint_to_avdict (AVBPrint *bp, const char *name, AVDictionary **metadata)
 
int ff_tadd_rational_metadata (int count, const char *name, const char *sep, GetByteContext *gb, int le, AVDictionary **metadata)
 Adds count rationals converted to a string into the metadata dictionary. More...
 
int ff_tadd_long_metadata (int count, const char *name, const char *sep, GetByteContext *gb, int le, AVDictionary **metadata)
 Adds count longs converted to a string into the metadata dictionary. More...
 
int ff_tadd_doubles_metadata (int count, const char *name, const char *sep, GetByteContext *gb, int le, AVDictionary **metadata)
 Adds count doubles converted to a string into the metadata dictionary. More...
 
int ff_tadd_shorts_metadata (int count, const char *name, const char *sep, GetByteContext *gb, int le, int is_signed, AVDictionary **metadata)
 Adds count shorts converted to a string into the metadata dictionary. More...
 
int ff_tadd_bytes_metadata (int count, const char *name, const char *sep, GetByteContext *gb, int le, int is_signed, AVDictionary **metadata)
 Adds count bytes converted to a string into the metadata dictionary. More...
 
int ff_tadd_string_metadata (int count, const char *name, GetByteContext *gb, int le, AVDictionary **metadata)
 Adds a string of count characters into the metadata dictionary. More...
 
int ff_tdecode_header (GetByteContext *gb, int *le, int *ifd_offset)
 Decodes a TIFF header from the input bytestream and sets the endianness in *le and the offset to the first IFD in *ifd_offset accordingly. More...
 
int ff_tread_tag (GetByteContext *gb, int le, unsigned *tag, unsigned *type, unsigned *count, int *next)
 Reads the first 3 fields of a TIFF tag, which are the tag id, the tag type and the count of values for that tag. More...
 

Detailed Description

TIFF Common Routines

Author
Thilo Borgmann <thilo.borgmann at mail.de>

Definition in file tiff_common.c.

Function Documentation

◆ ff_tis_ifd()

int ff_tis_ifd ( unsigned  tag)

Returns a value > 0 if the tag is a known IFD-tag.

The return value is the array index + 1 within ifd_tags[].

Definition at line 32 of file tiff_common.c.

Referenced by exif_decode_tag(), and ff_tread_tag().

◆ ff_tget_short()

unsigned ff_tget_short ( GetByteContext gb,
int  le 
)

Reads a short from the bytestream using given endianness.

Definition at line 44 of file tiff_common.c.

Referenced by decode_frame(), ff_exif_decode_ifd(), ff_tadd_shorts_metadata(), ff_tdecode_header(), ff_tget(), ff_tread_tag(), and tiff_decode_tag().

◆ ff_tget_long()

unsigned ff_tget_long ( GetByteContext gb,
int  le 
)

Reads a long from the bytestream using given endianness.

Definition at line 50 of file tiff_common.c.

Referenced by decode_frame(), dng_decode_tiles(), ff_exif_decode_ifd(), ff_tadd_long_metadata(), ff_tadd_rational_metadata(), ff_tdecode_header(), ff_tget(), ff_tread_tag(), and tiff_decode_tag().

◆ ff_tget_double()

double ff_tget_double ( GetByteContext gb,
int  le 
)

Reads a double from the bytestream using given endianness.

Definition at line 56 of file tiff_common.c.

Referenced by ff_tadd_doubles_metadata(), and tiff_decode_tag().

◆ ff_tget()

unsigned ff_tget ( GetByteContext gb,
int  type,
int  le 
)

Reads a byte from the bytestream using given endianness.

Definition at line 63 of file tiff_common.c.

Referenced by decode_frame(), and tiff_decode_tag().

◆ auto_sep()

static const char* auto_sep ( int  count,
const char *  sep,
int  i,
int  columns 
)
static

◆ bprint_to_avdict()

static int bprint_to_avdict ( AVBPrint *  bp,
const char *  name,
AVDictionary **  metadata 
)
static

◆ ff_tadd_rational_metadata()

int ff_tadd_rational_metadata ( int  count,
const char *  name,
const char *  sep,
GetByteContext gb,
int  le,
AVDictionary **  metadata 
)

Adds count rationals converted to a string into the metadata dictionary.

Definition at line 99 of file tiff_common.c.

Referenced by exif_add_metadata().

◆ ff_tadd_long_metadata()

int ff_tadd_long_metadata ( int  count,
const char *  name,
const char *  sep,
GetByteContext gb,
int  le,
AVDictionary **  metadata 
)

Adds count longs converted to a string into the metadata dictionary.

Definition at line 123 of file tiff_common.c.

Referenced by exif_add_metadata().

◆ ff_tadd_doubles_metadata()

int ff_tadd_doubles_metadata ( int  count,
const char *  name,
const char *  sep,
GetByteContext gb,
int  le,
AVDictionary **  metadata 
)

Adds count doubles converted to a string into the metadata dictionary.

Definition at line 144 of file tiff_common.c.

Referenced by add_metadata(), and exif_add_metadata().

◆ ff_tadd_shorts_metadata()

int ff_tadd_shorts_metadata ( int  count,
const char *  name,
const char *  sep,
GetByteContext gb,
int  le,
int  is_signed,
AVDictionary **  metadata 
)

Adds count shorts converted to a string into the metadata dictionary.

Definition at line 165 of file tiff_common.c.

Referenced by add_metadata(), and exif_add_metadata().

◆ ff_tadd_bytes_metadata()

int ff_tadd_bytes_metadata ( int  count,
const char *  name,
const char *  sep,
GetByteContext gb,
int  le,
int  is_signed,
AVDictionary **  metadata 
)

Adds count bytes converted to a string into the metadata dictionary.

Definition at line 187 of file tiff_common.c.

Referenced by exif_add_metadata().

◆ ff_tadd_string_metadata()

int ff_tadd_string_metadata ( int  count,
const char *  name,
GetByteContext gb,
int  le,
AVDictionary **  metadata 
)

Adds a string of count characters into the metadata dictionary.

Definition at line 208 of file tiff_common.c.

Referenced by add_metadata(), and exif_add_metadata().

◆ ff_tdecode_header()

int ff_tdecode_header ( GetByteContext gb,
int le,
int ifd_offset 
)

Decodes a TIFF header from the input bytestream and sets the endianness in *le and the offset to the first IFD in *ifd_offset accordingly.

Definition at line 228 of file tiff_common.c.

Referenced by decode_frame(), mjpeg_decode_app(), and webp_decode_frame().

◆ ff_tread_tag()

int ff_tread_tag ( GetByteContext gb,
int  le,
unsigned *  tag,
unsigned *  type,
unsigned *  count,
int next 
)

Reads the first 3 fields of a TIFF tag, which are the tag id, the tag type and the count of values for that tag.

Afterwards the bytestream is located at the first value to read and *next holds the bytestream offset of the following tag.

Definition at line 253 of file tiff_common.c.

Referenced by exif_decode_tag(), and tiff_decode_tag().