diff options
Diffstat (limited to 'camera/inc/FrameDecoder.h')
-rw-r--r-- | camera/inc/FrameDecoder.h | 90 |
1 files changed, 2 insertions, 88 deletions
diff --git a/camera/inc/FrameDecoder.h b/camera/inc/FrameDecoder.h index fab0544..79ced45 100644 --- a/camera/inc/FrameDecoder.h +++ b/camera/inc/FrameDecoder.h @@ -25,11 +25,6 @@ namespace Ti { namespace Camera { -enum DecoderType { - DecoderType_MJPEG, - DecoderType_H264 -}; - enum BufferStatus { BufferStatus_Unknown, BufferStatus_InQueued, @@ -40,25 +35,17 @@ enum BufferStatus { BufferStatus_OutFilled }; -enum DecoderState { - DecoderState_Uninitialized, - DecoderState_Initialized, - DecoderState_Running, - DecoderState_Requested_Stop, - DecoderState_Stoppped -}; - class MediaBuffer: public virtual android::RefBase { public: MediaBuffer() : bufferId(-1), buffer(0), filledLen(0), size(0), - mOffset(0), mTimestamp(0), mStatus(BufferStatus_Unknown) { + mOffset(0), mTimestamp(0) { } MediaBuffer(int id, void* buffer, size_t buffSize = 0) : bufferId(id), buffer(buffer), filledLen(0), size(buffSize), - mOffset(0), mTimestamp(0), mStatus(BufferStatus_Unknown) { + mOffset(0), mTimestamp(0) { } virtual ~MediaBuffer() { @@ -76,14 +63,6 @@ public: mTimestamp = ts; } - BufferStatus getStatus() const { - return mStatus; - } - - void setStatus(BufferStatus status) { - mStatus = status; - } - android::Mutex& getLock() const { return mLock; } @@ -99,74 +78,9 @@ public: private: uint32_t mOffset; nsecs_t mTimestamp; - BufferStatus mStatus; mutable android::Mutex mLock; }; -struct DecoderParameters { - int width; - int height; - int inputBufferCount; - int outputBufferCount; -}; - -class FrameDecoder { -public: - FrameDecoder(); - virtual ~FrameDecoder(); - void configure(const DecoderParameters& config); - status_t start(); - void stop(); - void release(); - void flush(); - status_t queueInputBuffer(int id); - status_t dequeueInputBuffer(int &id); - status_t queueOutputBuffer(int id); - status_t dequeueOutputBuffer(int &id); - - void registerOutputBuffers(android::Vector< android::sp<MediaBuffer> > *outBuffers) { - android::AutoMutex lock(mLock); - mOutQueue.clear(); - mOutBuffers = outBuffers; - } - - void registerInputBuffers(android::Vector< android::sp<MediaBuffer> > *inBuffers) { - android::AutoMutex lock(mLock); - mInQueue.clear(); - mInBuffers = inBuffers; - } - - virtual bool getPaddedDimensions(size_t &width, size_t &height) { - return false; - } - - void setHal(CameraHal* hal) { - mCameraHal = hal; - } - -protected: - virtual void doConfigure(const DecoderParameters& config) = 0; - virtual void doProcessInputBuffer() = 0; - virtual status_t doStart() = 0; - virtual void doStop() = 0; - virtual void doFlush() = 0; - virtual void doRelease() = 0; - - DecoderParameters mParams; - - android::Vector<int> mInQueue; - android::Vector<int> mOutQueue; - - android::Vector< android::sp<MediaBuffer> >* mInBuffers; - android::Vector< android::sp<MediaBuffer> >* mOutBuffers; - - CameraHal* mCameraHal; - -private: - DecoderState mState; - android::Mutex mLock; -}; - } // namespace Camera } // namespace Ti |