Git init
[external/opencore-amr.git] / opencore / README
1     Welcome to OpenCORE
2
3 OpenCORE is the multimedia framework of Android 
4 originally contributed by PacketVideo.  It provides 
5 an extensible framework for multimedia rendering and 
6 authoring and video telephony (3G-324M).
7
8 The following is a brief overview of the directory 
9 structure to make it easier to understand the organization.
10 Below is a list of the top-level directories along with a brief
11 note about the contents.
12
13 __
14   |-- android  [Contains the components the interface OpenCORE with 
15   |             other parts of Android]   
16   |-- baselibs [Contains basic libraries for data containers, MIME string
17   |             handling, messaging across thread boundaries, etc]
18   |-- build_config [Contains top-level build files used to build the libraries
19   |                 outside of Android]
20   |-- codecs_v2 [Contains the implementations of PV's audio and video 
21   |              codecs as well as the OpenMax IL interface layer]
22   |-- doc       [Contains the documentation required to interface with
23   |              OpenCORE]
24   |-- engines   [Contains the implementation of the player and author 
25   |              engines as well as a utility for metadata.]
26   |-- extern_libs_v2 [Contains 3rd-party libraries used by OpenCORE. 
27   |                   Currently this directory contains header files 
28   |                   defining the Khronos OpenMax IL interface]
29   |-- extern_tools_v2 [Contains 3rd-party tools used to build OpenCORE
30   |                    indpendently of the Android build system]
31   |-- fileformats  [Contains the libraries for parsing a variety of
32   |                 fileformats including mp4/3gp,mp3,wav,aac.]
33   |-- modules [Contains build files for aggregating low-level libraries]
34   |-- nodes     [Contains the OpenCORE framework "nodes", which is 
35   |              the abstraction used to implement independent multimedia 
36   |              processing units that can be connected in a flow graph]
37   |-- oscl      [This is the Operating System Compatibility Layer which 
38   |              provides the mapping OS APIs as well as some basic 
39   |              data structures and utilities.]
40   |-- protocols [Contains parsers and composers for a variety of network
41   |              protocols such as HTTP, RTP/RTCP, RTSP, and SDP]
42   |-- pvmi     [Contains fundamental definitions that make up OpenCORE.
43   |             The directory name is an abbreviation of PacketVideo 
44   |             Multimedia Infrastructure]
45   |-- tools_v2  [Contains tools used to build the libraries outside of Android]
46
47 Within each library the following directory structure, with a few exceptions,
48 to organize the files:
49
50 __
51   |-- build
52     |-- make    <- makefile to build outside of Android is here       
53   |-- doc       <- directory for any documentation specific to this lib
54   |-- include   <- header files that are part of the external interface go here
55   |-- src       <- source and internal header files of the library
56   |-- test      <- test code (follows a similar structure.
57     |-- build
58       |-- make
59     |-- include
60     |-- src
61