*************************************************************
*************************************************************
User guide for the "Video Transcode" example: 
*************************************************************
*************************************************************
This example demonstrate a simple example that include data path "TFTP get (i.e., H264 stream) --> H.264HP decoder --> H.264 encoder --> TFTP put(i.e., H264 stream)". 
The purpose of this example is to show various components required for the transcoding application and to provide a simple starter framework demo.



*************************************************************
*************************************************************
1. Directory structure of video transcode example
*************************************************************
*************************************************************
Under <MCSDK video install diretory>\examples\transcode directory
- source: Source files added for video transcode example besides those linked from the <MCSDK video demo install diretory>\dsp directory
- include: Include files added for video transcode example
- Repository: Custom C6678 platform package for the video transcode example
- .project/.cproject/.ccsproject: CCSv5 project files
- linker.cmd: Linker command file
- videoTranscode.cfg: Specify modules and configuration from XDC, BIOS, and framework components
- Readme.txt: This file



*************************************************************
*************************************************************
2. Step by step procedure to build video transcode example
*************************************************************
*************************************************************
1) In CCSv5, import the project at <MCSDK Video install diretory>\examples\transcode 
2) Modify "Build Variables" via the project's Properties, C/C++ Build->Build variables
Change value of the build variables to point to the location of tools, e.g., 
Name: BIOS_ROOT
Value: c:/ti/bios_6_33_06_50
Below is the full list of the build variables and their example values.
Windows:
CODEC_ROOT: C:/ti/Codecs
XDAIS_ROOT: C:/ti/xdais_7_23_00_06
PDK_ROOT: C:/ti/pdk_C6678_1_1_2_6
FC_ROOT: C:/ti/framework_components_3_23_02_16
EDMA3LLD_ROOT: C:/ti/edma3_lld_02_11_05_02
NWAL_ROOT: C:/ti/nwal_c66x_1_0_0_8
PKTLIB_ROOT: C:/ti/pktLib_C6678_01_00_00_06
BIOS_ROOT: C:/ti/bios_6_33_06_50
Linux
CODEC_ROOT: /home/[user]/ti/Codecs
XDAIS_ROOT: /home/[user]/ti/xdais_7_23_00_06
PDK_ROOT: /home/[user]/ti/pdk_C6678_1_1_2_6
FC_ROOT: /home/[user]/ti/framework_components_3_23_02_16
EDMA3LLD_ROOT: /home/[user]/ti/edma3_lld_02_11_05_02
NWAL_ROOT: /home/[user]/ti/nwal_c66x_1_0_0_8
PKTLIB_ROOT: /home/[user]/ti/pktLib_C6678_01_00_00_06
BIOS_ROOT: /home/[user]/ti/bios_6_33_06_50
3) Build project. After this finishes, videoTranscode.out and videoTranscode.map will show at <MCSDK Video install diretory>\examples\transcode\Debug.



*************************************************************
*************************************************************
3. Run video transcode example
*************************************************************
*************************************************************
Follow instructions at http://processors.wiki.ti.com/index.php/MCSDK_VIDEO_2.1_CODEC_TEST_FW_User_Guide#Test_Instructions to run the video transcode example with the following differences:
1) Video transcoce example reads tftp.cfg, codecParams.cfg, and multiclip.cfg from <MCSDK Video install diretory>\examples\transcode\source directory
2) In codecParams.cfg, decCodecName and encCodecName are added for the video transcode demo, which specify the codec name for decoder and encoder.


*************************************************************
*************************************************************
4. Memory map of video transcode example 
*************************************************************
*************************************************************
This video transcode demo is built upon a custom C6678 platform which is included in the release at <MCSDK Video install diretory>\examples\transcode\Repository. This custom platform can be viwed in CCS through Tools->RTSC Tools ->Platform->Edit/View. It defines three memory areas: LL2, MSMC, and DDR.

The memory map and memory sections are defined in <MCSDK Video install diretory>\examples\transcode\linker.cmd.  For the memory names which are not defined in the provided custom C6678 platform, e.g., DATA_HALHEAP, it is because their starting/ending address and/or size information are referred in ggmemmap.h and ggswcfg.h 
(both files are under <MCSDK Video install diretory>\examples\transcode\include). When those memorys are modified, please remember to change ggmemmap.h and ggswcfg.h correspondingly.





