FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
tiff_common.c File Reference

TIFF Common Routines. More...

#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)
 
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

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 31 of file tiff_common.c.

Referenced by exif_decode_tag(), and ff_tread_tag().

unsigned ff_tget_short ( GetByteContext gb,
int  le 
)

Reads a short from the bytestream using given endianness.

Definition at line 43 of file tiff_common.c.

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

unsigned ff_tget_long ( GetByteContext gb,
int  le 
)

Reads a long from the bytestream using given endianness.

Definition at line 49 of file tiff_common.c.

Referenced by avpriv_exif_decode_ifd(), ff_tadd_long_metadata(), ff_tadd_rational_metadata(), ff_tdecode_header(), ff_tget(), and ff_tread_tag().

double ff_tget_double ( GetByteContext gb,
int  le 
)

Reads a double from the bytestream using given endianness.

Definition at line 55 of file tiff_common.c.

Referenced by ff_tadd_doubles_metadata(), and tiff_decode_tag().

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

Reads a byte from the bytestream using given endianness.

Definition at line 62 of file tiff_common.c.

Referenced by decode_frame(), and tiff_decode_tag().

static const char* auto_sep ( int  count,
const char *  sep,
int  i,
int  columns 
)
static
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 82 of file tiff_common.c.

Referenced by exif_add_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 116 of file tiff_common.c.

Referenced by exif_add_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 147 of file tiff_common.c.

Referenced by add_metadata(), and exif_add_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 178 of file tiff_common.c.

Referenced by add_metadata(), and exif_add_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 210 of file tiff_common.c.

Referenced by exif_add_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 241 of file tiff_common.c.

Referenced by add_metadata(), and exif_add_metadata().

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 261 of file tiff_common.c.

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

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 286 of file tiff_common.c.

Referenced by exif_decode_tag(), and tiff_decode_tag().