libopenraw
RawFile Class Referenceabstract
Inheritance diagram for RawFile:
OpenRaw::Internals::CRWFile OpenRaw::Internals::IfdFile OpenRaw::Internals::RafFile OpenRaw::Internals::Cr2File OpenRaw::Internals::MRWFile OpenRaw::Internals::OrfFile OpenRaw::Internals::PEFFile OpenRaw::Internals::Rw2File OpenRaw::Internals::TiffEpFile OpenRaw::Internals::ArwFile OpenRaw::Internals::DngFile OpenRaw::Internals::ERFFile OpenRaw::Internals::NefFile

Classes

struct  camera_ids_t
class  Private

Public Types

typedef ::or_rawfile_type Type
typedef ::or_rawfile_typeid TypeId

Public Member Functions

 RawFile (const RawFile &)=delete
RawFileoperator= (const RawFile &)=delete
virtual ~RawFile ()
Type type () const
TypeId typeId ()
const std::vector< uint32_t > & listThumbnailSizes (void)
::or_error getThumbnail (uint32_t size, Thumbnail &thumbnail)
::or_error getRawData (RawData &rawdata, uint32_t options)
::or_error getRenderedImage (BitmapData &bitmapdata, uint32_t options)
int32_t getOrientation ()
uint32_t colourMatrixSize ()
::or_error getColourMatrix1 (double *matrix, uint32_t &size)
::or_error getColourMatrix2 (double *matrix, uint32_t &size)
ExifLightsourceValue getCalibrationIlluminant1 ()
ExifLightsourceValue getCalibrationIlluminant2 ()
const MetaValue * getMetaValue (int32_t meta_index)

Static Public Member Functions

static const char ** fileExtensions ()
static RawFilenewRawFile (const char *_filename, Type _typeHint=OR_RAWFILE_TYPE_UNKNOWN)
static RawFilenewRawFileFromMemory (const uint8_t *buffer, uint32_t len, Type _typeHint=OR_RAWFILE_TYPE_UNKNOWN)

Protected Member Functions

 RawFile (Type _type)
void _setTypeId (TypeId _type_id)
TypeId _typeId () const
virtual Internals::RawContainer * getContainer () const=0
virtual::or_error _enumThumbnailSizes (std::vector< uint32_t > &list)=0
virtual::or_error _getThumbnail (uint32_t size, Thumbnail &thumbnail)
void _addThumbnail (uint32_t size, const Internals::ThumbDesc &desc)
virtual::or_error _getRawData (RawData &data, uint32_t options)=0
virtual::or_error _getColourMatrix (uint32_t index, double *matrix, uint32_t &size)
virtual ExifLightsourceValue _getCalibrationIlluminant (uint16_t index)
virtual MetaValue * _getMetaValue (int32_t)=0
TypeId _typeIdFromModel (const std::string &make, const std::string &model)
TypeId _typeIdFromMake (const std::string &make)
void _setIdMap (const camera_ids_t *map)
void _setMatrices (const Internals::BuiltinColourMatrix *matrices)
const Internals::BuiltinColourMatrix * _getMatrices () const
virtual void _identifyId ()=0

Static Protected Member Functions

::or_error _getBuiltinLevels (const Internals::BuiltinColourMatrix *m, TypeId type_id, uint16_t &black, uint16_t &white)
::or_error _getBuiltinColourMatrix (const Internals::BuiltinColourMatrix *m, TypeId type_id, double *matrix, uint32_t &size)

Detailed Description

Definition at line 50 of file rawfile.hpp.

Member Typedef Documentation

◆ Type

typedef ::or_rawfile_type OpenRaw::RawFile::Type

Definition at line 53 of file rawfile.hpp.

◆ TypeId

typedef ::or_rawfile_typeid OpenRaw::RawFile::TypeId

Definition at line 54 of file rawfile.hpp.

Constructor & Destructor Documentation

◆ RawFile()

OpenRaw::RawFile::RawFile ( RawFile::Type _type)
protected

Construct a raw file

Parameters
_typethe type

Definition at line 318 of file rawfile.cpp.

◆ ~RawFile()

OpenRaw::RawFile::~RawFile ( )
virtual

Destructor

Definition at line 324 of file rawfile.cpp.

Member Function Documentation

◆ _addThumbnail()

void OpenRaw::RawFile::_addThumbnail ( uint32_t size,
const Internals::ThumbDesc & desc )
protected

Definition at line 446 of file rawfile.cpp.

◆ _enumThumbnailSizes()

virtual::or_error OpenRaw::RawFile::_enumThumbnailSizes ( std::vector< uint32_t > & list)
protectedpure virtual

enumerate the thumbnail sizes.

Parameters
listthe list to enumerate into
Returns
OR_ERROR_NONE if success

◆ _getBuiltinColourMatrix()

or_error OpenRaw::RawFile::_getBuiltinColourMatrix ( const Internals::BuiltinColourMatrix * m,
TypeId type_id,
double * matrix,
uint32_t & size )
staticprotected

Definition at line 688 of file rawfile.cpp.

◆ _getBuiltinLevels()

or_error OpenRaw::RawFile::_getBuiltinLevels ( const Internals::BuiltinColourMatrix * m,
TypeId type_id,
uint16_t & black,
uint16_t & white )
staticprotected

Definition at line 669 of file rawfile.cpp.

◆ _getCalibrationIlluminant()

ExifLightsourceValue OpenRaw::RawFile::_getCalibrationIlluminant ( uint16_t index)
protectedvirtual

Definition at line 565 of file rawfile.cpp.

◆ _getColourMatrix()

or_error OpenRaw::RawFile::_getColourMatrix ( uint32_t index,
double * matrix,
uint32_t & size )
protected

get the colour matrix.

Parameters
index1 or 2

Definition at line 517 of file rawfile.cpp.

◆ _getMatrices()

const Internals::BuiltinColourMatrix * OpenRaw::RawFile::_getMatrices ( ) const
protected

Definition at line 658 of file rawfile.cpp.

◆ _getRawData()

virtual::or_error OpenRaw::RawFile::_getRawData ( RawData & data,
uint32_t options )
protectedpure virtual

get the RAW data

Parameters
datathe RAW data
optionthe option bits
Returns
OR_ERROR_NONE if success Return the data compressed or uncompressed.

◆ _getThumbnail()

or_error OpenRaw::RawFile::_getThumbnail ( uint32_t size,
Thumbnail & thumbnail )
protected

get the thumbnail of exact size.

Parameters
sizethe size in pixel of the square
Return values
thumbnailthe thumbnail to load
Returns
OR_ERROR_NONE if success @seealso listThumbnailSizes() to understand how to fetch the sizes available

Internal implementation of getThumbnail. The size must match.

< of the buffer

Definition at line 416 of file rawfile.cpp.

◆ _setIdMap()

void OpenRaw::RawFile::_setIdMap ( const camera_ids_t * map)
protected

Definition at line 652 of file rawfile.cpp.

◆ _setMatrices()

void OpenRaw::RawFile::_setMatrices ( const Internals::BuiltinColourMatrix * matrices)
protected

Definition at line 663 of file rawfile.cpp.

◆ _setTypeId()

void OpenRaw::RawFile::_setTypeId ( RawFile::TypeId _type_id)
protected

Set the file type id

Definition at line 348 of file rawfile.cpp.

◆ _typeId()

RawFile::TypeId OpenRaw::RawFile::_typeId ( ) const
protected

Just get the type id value. No identification. You might want to use typeId() in the general case.

Definition at line 343 of file rawfile.cpp.

◆ _typeIdFromMake()

RawFile::TypeId OpenRaw::RawFile::_typeIdFromMake ( const std::string & make)
protected

Definition at line 643 of file rawfile.cpp.

◆ _typeIdFromModel()

RawFile::TypeId OpenRaw::RawFile::_typeIdFromModel ( const std::string & make,
const std::string & model )
protected

Definition at line 619 of file rawfile.cpp.

◆ colourMatrixSize()

uint32_t OpenRaw::RawFile::colourMatrixSize ( )
Returns
the number of items in the colour matrix.

Definition at line 502 of file rawfile.cpp.

◆ fileExtensions()

const char ** OpenRaw::RawFile::fileExtensions ( )
static

return a NULL terminated list of file extensions that the library handle. This is purely informational.

Returns
a pointer the list, NULL terminated. The pointer is owned by the library.

Definition at line 159 of file rawfile.cpp.

◆ getCalibrationIlluminant1()

ExifLightsourceValue OpenRaw::RawFile::getCalibrationIlluminant1 ( )

Get calibration illuminant that match the colour matrix.

Returns
the Exif value. 0 = unknown. Likely not found.

Definition at line 555 of file rawfile.cpp.

◆ getCalibrationIlluminant2()

ExifLightsourceValue OpenRaw::RawFile::getCalibrationIlluminant2 ( )

Definition at line 560 of file rawfile.cpp.

◆ getColourMatrix1()

or_error OpenRaw::RawFile::getColourMatrix1 ( double * matrix,
uint32_t & size )

Get colour matrix

Parameters
indexThe matrix index.
[out]matrixan array of size double.
sizethe size of the buffer. On out the actual size. If it is too small the size is adjusted and an error OR_ERROR_BUF_TOO_SMALL returned.
Returns
an error code.

Definition at line 507 of file rawfile.cpp.

◆ getColourMatrix2()

or_error OpenRaw::RawFile::getColourMatrix2 ( double * matrix,
uint32_t & size )

Definition at line 512 of file rawfile.cpp.

◆ getContainer()

virtual Internals::RawContainer * OpenRaw::RawFile::getContainer ( ) const
protectedpure virtual

Get the container.

◆ getMetaValue()

const MetaValue * OpenRaw::RawFile::getMetaValue ( int32_t meta_index)

Definition at line 586 of file rawfile.cpp.

◆ getOrientation()

int32_t OpenRaw::RawFile::getOrientation ( )

Get the orientation of the image, using Exif enums.

Definition at line 485 of file rawfile.cpp.

◆ getRawData()

or_error OpenRaw::RawFile::getRawData ( RawData & rawdata,
uint32_t options )

Get the RAW data

Parameters
rawdatathe RawData to put the data into
optionsthe option bits defined by or_options
Returns
the error code

Definition at line 451 of file rawfile.cpp.

◆ getRenderedImage()

or_error OpenRaw::RawFile::getRenderedImage ( BitmapData & bitmapdata,
uint32_t options )

Get the rendered image

Parameters
bitmapdatathe BitmapData to put the image into
optionsthe option bits. Pass 0 for now.
Returns
the error code

Definition at line 473 of file rawfile.cpp.

◆ getThumbnail()

or_error OpenRaw::RawFile::getThumbnail ( uint32_t size,
Thumbnail & thumbnail )

Get the thumbnail from the raw file

Parameters
sizethe square size in px
thumbnailthe thumbnail to extract into
Returns
the error code

Definition at line 366 of file rawfile.cpp.

◆ listThumbnailSizes()

const std::vector< uint32_t > & OpenRaw::RawFile::listThumbnailSizes ( void )

list the available thumbnail sizes

Definition at line 353 of file rawfile.cpp.

◆ newRawFile()

RawFile * OpenRaw::RawFile::newRawFile ( const char * _filename,
RawFile::Type _typeHint = OR_RAWFILE_TYPE_UNKNOWN )
static

factory method to create the proper RawFile instance.

Parameters
_filenamethe name of the file to load
_typeHinta hint on the type. Use UNKNOWN_TYPE if you want to let the library detect it for you.

Definition at line 167 of file rawfile.cpp.

◆ newRawFileFromMemory()

RawFile * OpenRaw::RawFile::newRawFileFromMemory ( const uint8_t * buffer,
uint32_t len,
RawFile::Type _typeHint = OR_RAWFILE_TYPE_UNKNOWN )
static

factory method to create the proper RawFile instance from content

Parameters
bufferthe buffer to examine.
lenthe number of bytes in the length.
_typeHinta hint on the type. Use UNKNOWN_TYPE if you want to let the library detect it for you.

Definition at line 192 of file rawfile.cpp.

◆ type()

RawFile::Type OpenRaw::RawFile::type ( ) const

Accessor for the type

Definition at line 330 of file rawfile.cpp.

◆ typeId()

RawFile::TypeId OpenRaw::RawFile::typeId ( )

The RAW file type ID. Identify it if needed.

Todo
figure how to make this const.

Definition at line 335 of file rawfile.cpp.


The documentation for this class was generated from the following files: