summaryrefslogtreecommitdiff
path: root/camera/inc/FrameDecoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'camera/inc/FrameDecoder.h')
-rw-r--r--camera/inc/FrameDecoder.h90
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