VideoEncoderH263.h revision 82b428e49a70ddc051a36d2b3a25d90db79770dc
1/*
2* Copyright (c) 2009-2011 Intel Corporation.  All rights reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16
17#ifndef __VIDEO_ENCODER_H263_H__
18#define __VIDEO_ENCODER_H263_H__
19
20#include "VideoEncoderBase.h"
21
22/**
23  * H.263 Encoder class, derived from VideoEncoderBase
24  */
25class VideoEncoderH263: public VideoEncoderBase {
26public:
27    VideoEncoderH263();
28    virtual ~VideoEncoderH263() {};
29
30protected:
31    virtual Encode_Status sendEncodeCommand(EncodeTask *task);
32    virtual Encode_Status derivedSetParams(VideoParamConfigSet *) {
33        return ENCODE_SUCCESS;
34    }
35    virtual Encode_Status derivedGetParams(VideoParamConfigSet *) {
36        return ENCODE_SUCCESS;
37    }
38    virtual Encode_Status derivedGetConfig(VideoParamConfigSet *) {
39        return ENCODE_SUCCESS;
40    }
41    virtual Encode_Status derivedSetConfig(VideoParamConfigSet *) {
42        return ENCODE_SUCCESS;
43    }
44    virtual Encode_Status getExtFormatOutput(VideoEncOutputBuffer *) {
45        return ENCODE_NOT_SUPPORTED;
46    }
47    //virtual Encode_Status updateFrameInfo(EncodeTask* task);
48
49    // Local Methods
50private:
51    Encode_Status renderSequenceParams(EncodeTask *task);
52    Encode_Status renderPictureParams(EncodeTask *task);
53    Encode_Status renderSliceParams(EncodeTask *task);
54};
55
56#endif /* __VIDEO_ENCODER_H263_H__ */
57
58