filters
kis_tiff_ycbcr_reader.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _KIS_TIFF_YCBCR_READER_H_
00021 #define _KIS_TIFF_YCBCR_READER_H_
00022
00023 #include "kis_tiff_reader.h"
00024
00025 namespace KisTIFFYCbCr {
00026 enum Position {
00027 POSITION_CENTERED = 1,
00028 POSITION_COSITED = 2
00029 };
00030 }
00031
00032 class KisTIFFYCbCrReaderTarget8Bit : public KisTIFFReaderBase {
00033 public:
00038 KisTIFFYCbCrReaderTarget8Bit( KisPaintDeviceSP device, Q_UINT8* poses, int8 alphapos, uint8 sourceDepth, uint8 nbcolorssamples, uint8 extrasamplescount, cmsHTRANSFORM transformProfile, KisTIFFPostProcessor* postprocessor, uint16 hsub, uint16 vsub, KisTIFFYCbCr::Position position );
00039 ~KisTIFFYCbCrReaderTarget8Bit();
00040 virtual uint copyDataToChannels( Q_UINT32 x, Q_UINT32 y, Q_UINT32 dataWidth, TIFFStreamBase* tiffstream);
00041 virtual void finalize();
00042 private:
00043 Q_UINT8* m_bufferCb;
00044 Q_UINT8* m_bufferCr;
00045 Q_UINT32 m_bufferWidth, m_bufferHeight;
00046 uint16 m_hsub;
00047 uint16 m_vsub;
00048 KisTIFFYCbCr::Position m_position;
00049
00050 };
00051
00052 class KisTIFFYCbCrReaderTarget16Bit : public KisTIFFReaderBase {
00053 public:
00058 KisTIFFYCbCrReaderTarget16Bit( KisPaintDeviceSP device, Q_UINT8* poses, int8 alphapos, uint8 sourceDepth, uint8 nbcolorssamples, uint8 extrasamplescount, cmsHTRANSFORM transformProfile, KisTIFFPostProcessor* postprocessor, uint16 hsub, uint16 vsub, KisTIFFYCbCr::Position position );
00059 ~KisTIFFYCbCrReaderTarget16Bit();
00060 virtual uint copyDataToChannels( Q_UINT32 x, Q_UINT32 y, Q_UINT32 dataWidth, TIFFStreamBase* tiffstream);
00061 virtual void finalize();
00062 private:
00063 Q_UINT16* m_bufferCb;
00064 Q_UINT16* m_bufferCr;
00065 Q_UINT32 m_bufferWidth, m_bufferHeight;
00066 uint16 m_hsub;
00067 uint16 m_vsub;
00068 KisTIFFYCbCr::Position m_position;
00069
00070 };
00071
00072
00073 #endif
|