1DOCUMENTATION ROADMAP
2=====================
3
4This file contains the following sections:
5
6NAMING RULE      Files named rules
7
8CODE STRUCTURE   General description files structure in psb_video
9
10
11
12NAMING RULE
13=====================
14This part describes general rule for naming added files in future.
15Name Fomat: xx_xxxx.c/h
16
17Explanation:
18xx: represents the platform, such as psb for MRST, pnw for MFLD and tng for MRFLD.
19xxxx: generally describes files function, such as cmdbuf for command buffer processing, H264ES for H264	encoding, H264 for H264 decoding. For encode codec, xxES is used.
20
21The existed files may not be consistent with it completely. For the exsited files:
22lnc_xxxx.c/h are files for encoding on MRST
23psb_xxxx.c/h are files for decoding on MRST (some files are reused in MFLD)
24pnw_xxxx.c/h are files for encoding/decoding on MFLD
25tng_xxxx.c/h are files for encoding/decoding on MRFLD
26xx_xxES.c/h are files for various encoding codec, others codec named are for various decoding codec
27
28
29
30CODE STRUCTURE
31=====================
32psb_video
33|
34|--src (vide driver user space code)
35|   |--mrst
36|   |   |- lnc_cmdbuf.h (below files are for encode on MRST)
37|   |   |- lnc_cmdbuf.c
38|   |   |- lnc_H263ES.h
39|   |   |- lnc_H263ES.c
40|   |   |- lnc_H264ES.h
41|   |   |- lnc_H264ES.c
42|   |   |- lnc_MPEG4ES.h
43|   |   |- lnc_MPEG4ES.c
44|   |   |- lnc_hostcode.h
45|   |   |- lnc_hostcode.c
46|   |   |- lnc_hostheader.h
47|   |   |- lnc_hostheader.c
48|   |   |- psb_deblock.c (below files are for decode on MRST)
49|   |   |- psb_VC1.h
50|   |   |- psb_VC1.c
51|   |   |- psb_H264.h
52|   |   |- psb_H264.c
53|   |   |- psb_MPEG4.h
54|   |   |- psb_MPEG4.c
55|   |   |- psb_MPEG2.h
56|   |   |- psb_MPEG2.c
57|   |   |- psb_MPEG2MC.c
58|   |- pnw_cmdbuf.h (below files are for encode on MFLD)
59|   |- pnw_cmdbuf.c
60|   |- pnw_H263ES.h
61|   |- pnw_H263ES.c
62|   |- pnw_H264ES.h
63|   |- pnw_H264ES.c
64|   |- pnw_MPEG4ES.h
65|   |- pnw_MPEG4ES.c
66|   |- pnw_hostcode.h
67|   |- pnw_hostcode.c
68|   |- pnw_hostheader.h
69|   |- pnw_hostheader.c
70|   |- pnw_hostjpeg.h
71|   |- pnw_hostjpeg.c
72|   |- pnw_jpeg.h
73|   |- pnw_jpeg.c
74|   |- psb_cmdbuf.h (below files are for decode on MFLD)
75|   |- psb_cmdbuf.c
76|   |- tng_vld_dec.h
77|   |- tng_vld_dec.c
78|   |- pnw_VC1.h
79|   |- pnw_VC1.c
80|   |- pnw_H264.h
81|   |- pnw_H264.c
82|   |- pnw_MPEG4.h
83|   |- pnw_MPEG4.c
84|   |- pnw_MPEG2.h
85|   |- pnw_MPEG2.c
86|   |- vc1_defs.h
87|   |- vc1_header.h
88|   |- vc1_idx.c
89|   |- vc1_vlc.c
90|   |- psb_overlay.h
91|   |- psb_overlay.c
92|   |- psb_output.h
93|   |- psb_output.c
94|   |- object_heap.h (below files are common for encode and decode on MFLD)
95|   |- object_heap.c
96|   |- pnw_rotate.h
97|   |- pnw_rotate.c
98|   |- psb_buffer.h
99|   |- psb_buffer.c
100|   |- psb_buffer_dm.c
101|   |- psb_def.h
102|   |- psb_drv_debug.h
103|   |- psb_drv_debug.c
104|   |- psb_drv_video.h
105|   |- psb_drv_video.c
106|   |- psb_surface.h
107|   |- psb_surface.c
108|   |- psb_surface_attrib.h
109|   |- psb_surface_attrib.c
110|   |- psb_ws_driver.h
111|   |- psb_ws_driver.c
112|   |- psb_texture.h
113|   |- psb_texture.c
114|   |- tng_cmdbuf.h (below files are for encode on MRFLD)
115|   |- tng_cmdbuf.c
116|   |- tng_H263ES.h
117|   |- tng_H263ES.c
118|   |- tng_H264ES.h
119|   |- tng_H264ES.c
120|   |- tng_MPEG4ES.h
121|   |- tng_MPEG4ES.c
122|   |- tng_hostcode.h
123|   |- tng_hostcode.c
124|   |- tng_hostheader.h
125|   |- tng_hostheader.c
126|   |- tng_jpegES.h
127|   |- tng_jpegES.c
128|   |- tng_hostair.h
129|   |- tng_hostair.c
130|   |- tng_hostbias.h
131|   |- tng_hostbias.c
132|   |- tng_picmgmt.h
133|   |- tng_picmgmt.c
134|   |- tng_slotorder.h
135|   |- tng_slotorder.c
136|   |- tng_hostdefs.h
137|   |- tng_VP8.h (below files are for decode on MRFLD)
138|   |- tng_VP8.c
139|   |- tng_JPEG.h
140|   |- tng_JPEG.c
141|   |- tng_yuv_processor.h
142|   |- tng_yuv_processor.c
143|   |- vsp_cmdbuf.h (below files are for VSP on MRFLD)
144|   |- vsp_cmdbuf.c
145|   |- tng_VPP.h
146|   |- tng_VPP.c
147|   |-- hwdefs (HW related info definition)
148|   |-- android (display on Android)
149|   |-- x11 (display on FPGA, etc.)
150|
151|--debian (used for package)
152|
153|--fw (firmware info)
154    |-- msvdx (decode firmware)
155    |-- topazhp (encode firmware on MRFLD)
156    |-- topazsc (encode firmware on MFLD)
157
158