1 /*
2 * The contents of this file are subject to the Mozilla Public
3 * License Version 1.1 (the "License"); you may not use this file
4 * except in compliance with the License. You may obtain a copy of
5 * the License at http://www.mozilla.org/MPL/
6 *
7 * Software distributed under the License is distributed on an "AS
8 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9 * implied. See the License for the specific language governing
10 * rights and limitations under the License.
11 *
12 * The Original Code is MPEG4IP.
13 *
14 * The Initial Developer of the Original Code is Cisco Systems Inc.
15 * Portions created by Cisco Systems Inc. are
16 * Copyright (C) Cisco Systems Inc. 2000, 2001. All Rights Reserved.
17 *
18 * Contributor(s):
19 * Dave Mackie dmackie@cisco.com
20 */
21
22 #ifndef __VIDEO_XVID_H__
23 #define __VIDEO_XVID_H__
24
25 //#include "video_encoder.h"
26
27 //#include <xvid.h>
28
29 #define MPEG4IP
30
31 #include <inttypes.h>
32 #include <stdint.h>
33 #include "xvid.h"
34
35 class CXvidVideoEncoder {
36 public:
37 CXvidVideoEncoder();
38
39 //MediaType GetFrameType(void) { return MPEG4VIDEOFRAME; };
40
41 bool Init(
42 int height_, int width_, bool realTime = true);
43
44 bool EncodeImage(
45 u_int8_t* pY, u_int8_t* pU, u_int8_t* pV,
46 u_int32_t yStride, u_int32_t uvStride,
47 bool wantKeyFrame, u_int32_t videoMaxVopSize);
48
49 bool GetEncodedImage(
50 u_int8_t** ppBuffer, u_int32_t* pBufferLength);
51
52 bool GetReconstructedImage(
53 u_int8_t* pY, u_int8_t* pU, u_int8_t* pV, int height_, int width_);
54
55 void Stop();
56
57 protected:
58 void* m_xvidHandle;
59 u_int8_t* m_vopBuffer;
60 u_int32_t m_vopBufferLength;
61 XVID_ENC_FRAME m_xvidFrame;
62 XVID_ENC_STATS m_xvidResult;
63 int CONFIG_VIDEO_TIMEBITS;
64 int CONFIG_VIDEO_BIT_RATE;
65 float CONFIG_VIDEO_FRAME_RATE;
66 float CONFIG_VIDEO_KEY_FRAME_INTERVAL;
67 };
68
69 #endif /* __VIDEO_XVID_H__ */
70
71
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.