tahoma2d/toonz/sources/image/mov/tiio_movL.h

72 lines
1.5 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef TIIO_MOV_H
#define TIIO_MOV_H
#include "openquicktime.h"
#include "tlevel_io.h"
#include "tthread.h"
class TImageWriterMov;
class TImageReaderMov;
bool IsQuickTimeInstalled();
2016-06-15 18:43:10 +12:00
class TLevelWriterMov : public TLevelWriter {
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
TLevelWriterMov(const TFilePath &path, TWriterInfo *winfo);
~TLevelWriterMov();
TImageWriterP getFrameWriter(TFrameId fid);
friend class TImageWriterMov;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
static TLevelWriter *create(const TFilePath &f, TWriterInfo *winfo) {
return new TLevelWriterMov(f, winfo);
};
void saveSoundTrack(TSoundTrack *st);
2016-03-19 06:57:51 +13:00
};
2016-06-15 18:43:10 +12:00
class TLevelReaderMov : public TLevelReader {
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
TLevelReaderMov(const TFilePath &path);
~TLevelReaderMov();
TImageReaderP getFrameReader(TFrameId fid);
friend class TImageReaderMov;
TLevelP loadInfo();
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
int m_IOError;
2016-03-19 06:57:51 +13:00
private:
2016-06-15 18:43:10 +12:00
TThread::Mutex m_mutex;
short m_refNum;
short m_resId;
long m_depth;
int m_lx, m_ly;
oqt_t *m_fileMov;
int m_lastFrameDecoded;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
static TLevelReader *create(const TFilePath &f) {
return new TLevelReaderMov(f);
};
2016-03-19 06:57:51 +13:00
};
//-----------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
class TWriterInfoMov : public TWriterInfo {
// friend TImageWriterMov;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
static TWriterInfo *create(const string &ext) { return new TWriterInfoMov(); }
~TWriterInfoMov() {}
TWriterInfo *clone() const { return new TWriterInfoMov(); }
2016-03-19 06:57:51 +13:00
private:
2016-06-15 18:43:10 +12:00
TWriterInfoMov() {}
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
TWriterInfoMov(const TWriterInfoMov &);
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
TWriterInfoMov &operator=(const TWriterInfoMov &); // not implemented
2016-03-19 06:57:51 +13:00
};
2016-06-15 18:43:10 +12:00
#endif // TIIO_MOV_H