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

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

#include <utility>
#include <QCoreApplication>
#include <QDateTime>
#include <QStringBuilder>
#include <QStringList>
#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.


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


#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 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   ""
#define EXIF_MYTH_PATH   "Myth.path"
#define EXIF_MYTH_NAME   ""
#define EXIF_MYTH_SIZE   "Myth.size"
#define EXIF_MYTH_ORIENT   "Myth.orient"


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


#define EXIF_TAG_ORIENTATION   "Exif.Image.Orientation"

Definition at line 25 of file imagemetadata.h.


#define EXIF_TAG_DATETIME   "Exif.Image.DateTime"

Definition at line 26 of file imagemetadata.h.


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

Definition at line 27 of file imagemetadata.h.


#define EXIF_TAG_IMAGEDESCRIPTION   "Exif.Image.ImageDescription"

Definition at line 28 of file imagemetadata.h.


#define EXIF_TAG_USERCOMMENT   "Exif.Photo.UserComment"

Definition at line 29 of file imagemetadata.h.



Definition at line 30 of file imagemetadata.h.


#define FFMPEG_TAG_ORIENTATION   "rotate"

Definition at line 33 of file imagemetadata.h.


#define FFMPEG_TAG_DATETIME   "creation_time"

Definition at line 34 of file imagemetadata.h.


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

Definition at line 35 of file imagemetadata.h.


#define EXIF_MYTH_HOST   ""

Definition at line 38 of file imagemetadata.h.


#define EXIF_MYTH_PATH   "Myth.path"

Definition at line 39 of file imagemetadata.h.


#define EXIF_MYTH_NAME   ""

Definition at line 40 of file imagemetadata.h.


#define EXIF_MYTH_SIZE   "Myth.size"

Definition at line 41 of file imagemetadata.h.


#define EXIF_MYTH_ORIENT   "Myth.orient"

Definition at line 42 of file imagemetadata.h.

Enumeration Type Documentation

◆ ImageFileTransform

Image transformations.


Reset to Exif value.


Rotate clockwise.


Rotate anti-clockwise.


Reflect about vertical axis.


Reflect about horizontal axis.

Definition at line 46 of file imagemetadata.h.