~ubuntu-branches/debian/wheezy/vlc/wheezy

« back to all changes in this revision

Viewing changes to extras/faad2/common/mp4av/mp4av_mpeg4.h

Tags: upstream-0.7.2.final
ImportĀ upstreamĀ versionĀ 0.7.2.final

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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-2002.  All Rights Reserved.
 
17
 * 
 
18
 * Contributor(s): 
 
19
 *              Dave Mackie             dmackie@cisco.com
 
20
 */
 
21
 
 
22
#ifndef __MP4AV_MPEG4_INCLUDED__
 
23
#define __MP4AV_MPEG4_INCLUDED__
 
24
 
 
25
#define MP4AV_MPEG4_SYNC                0x000001
 
26
#define MP4AV_MPEG4_VOSH_START  0xB0
 
27
#define MP4AV_MPEG4_VOL_START   0x20
 
28
#define MP4AV_MPEG4_GOV_START   0xB3
 
29
#define MP4AV_MPEG4_VO_START    0xB5
 
30
#define MP4AV_MPEG4_VOP_START   0xB6
 
31
 
 
32
#ifdef __cplusplus
 
33
extern "C" {
 
34
#endif
 
35
 
 
36
  uint8_t *MP4AV_Mpeg4FindVosh(uint8_t *pBuf, uint32_t bufLen);
 
37
bool MP4AV_Mpeg4ParseVosh(
 
38
        u_int8_t* pVoshBuf, 
 
39
        u_int32_t voshSize,
 
40
        u_int8_t* pProfileLevel);
 
41
 
 
42
bool MP4AV_Mpeg4CreateVosh(
 
43
        u_int8_t** ppBytes,
 
44
        u_int32_t* pNumBytes,
 
45
        u_int8_t profileLevel);
 
46
 
 
47
bool MP4AV_Mpeg4CreateVo(
 
48
        u_int8_t** ppBytes,
 
49
        u_int32_t* pNumBytes,
 
50
        u_int8_t objectId);
 
51
 
 
52
  uint8_t *MP4AV_Mpeg4FindVol(uint8_t *pBuf, uint32_t buflen);
 
53
 
 
54
bool MP4AV_Mpeg4ParseVol(
 
55
        u_int8_t* pVolBuf, 
 
56
        u_int32_t volSize,
 
57
        u_int8_t* pTimeBits, 
 
58
        u_int16_t* pTimeTicks, 
 
59
        u_int16_t* pFrameDuration, 
 
60
        u_int16_t* pFrameWidth, 
 
61
        u_int16_t* pFrameHeight);
 
62
 
 
63
bool MP4AV_Mpeg4CreateVol(
 
64
        u_int8_t** ppBytes,
 
65
        u_int32_t* pNumBytes,
 
66
        u_int8_t profile,
 
67
        float frameRate,
 
68
        bool shortTime,
 
69
        bool variableRate,
 
70
        u_int16_t width,
 
71
        u_int16_t height,
 
72
        u_int8_t quantType,
 
73
        u_int8_t* pTimeBits DEFAULT_PARM(NULL));
 
74
 
 
75
bool MP4AV_Mpeg4ParseGov(
 
76
        u_int8_t* pGovBuf, 
 
77
        u_int32_t govSize,
 
78
        u_int8_t* pHours, 
 
79
        u_int8_t* pMinutes, 
 
80
        u_int8_t* pSeconds);
 
81
 
 
82
bool MP4AV_Mpeg4ParseVop(
 
83
        u_int8_t* pVopBuf, 
 
84
        u_int32_t vopSize,
 
85
        u_char* pVopType, 
 
86
        u_int8_t timeBits, 
 
87
        u_int16_t timeTicks, 
 
88
        u_int32_t* pVopTimeIncrement);
 
89
 
 
90
u_int8_t MP4AV_Mpeg4VideoToSystemsProfileLevel(
 
91
        u_int8_t videoProfileLevel);
 
92
 
 
93
u_char MP4AV_Mpeg4GetVopType(
 
94
        u_int8_t* pVopBuf, 
 
95
        u_int32_t vopSize);
 
96
 
 
97
#ifdef __cplusplus
 
98
}
 
99
#endif
 
100
#endif /* __MP4AV_MPEG4_INCLUDED__ */