MythTV  master
Classes | Macros | Enumerations
imagemetadata.h File Reference

Handles Exif/FFMpeg metadata tags for images. More...

#include <QCoreApplication>
#include <QStringBuilder>
#include <QStringList>
#include <QDateTime>
#include "mythmetaexp.h"
Include dependency graph for imagemetadata.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Orientation
 Encapsulates Exif orientation processing. More...
 
class  ImageMetaData
 Abstract class for image metadata. More...
 

Macros

#define EXIF_TAG_ORIENTATION   "Exif.Image.Orientation"
 
#define EXIF_TAG_DATETIME   "Exif.Image.DateTime"
 
#define EXIF_TAG_DATE_FORMAT   "yyyy:MM:dd hh:mm:ss"
 
#define EXIF_TAG_IMAGEDESCRIPTION   "Exif.Image.ImageDescription"
 
#define EXIF_TAG_USERCOMMENT   "Exif.Photo.UserComment"
 
#define EXIF_PRINT_IMAGE_MATCHING   0xc4a5
 
#define FFMPEG_TAG_ORIENTATION   "rotate"
 
#define FFMPEG_TAG_DATETIME   "creation_time"
 
#define FFMPEG_TAG_DATE_FORMAT   "yyyy-MM-dd hh:mm:ss"
 
#define EXIF_MYTH_HOST   "Myth.host"
 
#define EXIF_MYTH_PATH   "Myth.path"
 
#define EXIF_MYTH_NAME   "Myth.name"
 
#define EXIF_MYTH_SIZE   "Myth.size"
 
#define EXIF_MYTH_ORIENT   "Myth.orient"
 

Enumerations

enum  ImageFileTransform {
  kResetToExif = 0, kRotateCW = 1, kRotateCCW = 2, kFlipHorizontal = 3,
  kFlipVertical = 4
}
 Image transformations. More...
 

Detailed Description

Handles Exif/FFMpeg metadata tags for images.

For pictures, Exif tags are read using libexiv2 on demand For videos, tags are requested from mythffprobe Common tags (used by Gallery) are Orientation, Image Comment & Capture timestamp; all others are for information only. Videos have no comments; their orientation & timestamp are mutated into Exif format.

Definition in file imagemetadata.h.

Macro Definition Documentation

◆ EXIF_TAG_ORIENTATION

#define EXIF_TAG_ORIENTATION   "Exif.Image.Orientation"

Definition at line 21 of file imagemetadata.h.

◆ EXIF_TAG_DATETIME

#define EXIF_TAG_DATETIME   "Exif.Image.DateTime"

Definition at line 22 of file imagemetadata.h.

◆ EXIF_TAG_DATE_FORMAT

#define EXIF_TAG_DATE_FORMAT   "yyyy:MM:dd hh:mm:ss"

Definition at line 23 of file imagemetadata.h.

◆ EXIF_TAG_IMAGEDESCRIPTION

#define EXIF_TAG_IMAGEDESCRIPTION   "Exif.Image.ImageDescription"

Definition at line 24 of file imagemetadata.h.

◆ EXIF_TAG_USERCOMMENT

#define EXIF_TAG_USERCOMMENT   "Exif.Photo.UserComment"

Definition at line 25 of file imagemetadata.h.

◆ EXIF_PRINT_IMAGE_MATCHING

#define EXIF_PRINT_IMAGE_MATCHING   0xc4a5

Definition at line 26 of file imagemetadata.h.

◆ FFMPEG_TAG_ORIENTATION

#define FFMPEG_TAG_ORIENTATION   "rotate"

Definition at line 29 of file imagemetadata.h.

◆ FFMPEG_TAG_DATETIME

#define FFMPEG_TAG_DATETIME   "creation_time"

Definition at line 30 of file imagemetadata.h.

◆ FFMPEG_TAG_DATE_FORMAT

#define FFMPEG_TAG_DATE_FORMAT   "yyyy-MM-dd hh:mm:ss"

Definition at line 31 of file imagemetadata.h.

◆ EXIF_MYTH_HOST

#define EXIF_MYTH_HOST   "Myth.host"

Definition at line 34 of file imagemetadata.h.

◆ EXIF_MYTH_PATH

#define EXIF_MYTH_PATH   "Myth.path"

Definition at line 35 of file imagemetadata.h.

◆ EXIF_MYTH_NAME

#define EXIF_MYTH_NAME   "Myth.name"

Definition at line 36 of file imagemetadata.h.

◆ EXIF_MYTH_SIZE

#define EXIF_MYTH_SIZE   "Myth.size"

Definition at line 37 of file imagemetadata.h.

◆ EXIF_MYTH_ORIENT

#define EXIF_MYTH_ORIENT   "Myth.orient"

Definition at line 38 of file imagemetadata.h.

Enumeration Type Documentation

◆ ImageFileTransform

Image transformations.

Enumerator
kResetToExif 

Reset to Exif value.

kRotateCW 

Rotate clockwise.

kRotateCCW 

Rotate anti-clockwise.

kFlipHorizontal 

Reflect about vertical axis.

kFlipVertical 

Reflect about horizontal axis.

Definition at line 42 of file imagemetadata.h.