Project Name: Line_processing

Project Type:
	ADSP-BF533 [ ]
	ADSP-BF537 [ ]
	ADSP-BF561 [X]
	
Hardware Used:
	ADV7183 - Video Decoder (Video Input)
	
	
System Services Components Used:
	DMA Manager                         [X]   Deferred Callback Manager   [ ]
	Interrupt Manager                   [X]   Timer Module                [ ]
	Power Management Module             [X]   Flag Module                 [ ]
	External Bus Interface Unit Module  [X]   Port Module                 [ ]
	
Example Overview:
	This example moves image data on a line-by-line basis. A line of a video is directly 
	moved from PPI0 to L1 data memory to convert from YUV 4:2:2 format to RGB data.
	RGB line is then copied to an output frame buffer in external memory.
	
	The RGB frame can be viewed in the Debug->image viewer.

	The PPI driver uses the mode:
	ADI_DEV_MODE_CHAINED_LOOPBACK, which causes it to repeatedly use the same three
	buffers over and over again, for input and output.

	
	The process goes until any push button is pressed, at which point the program is 
	terminated.
			
	Upon any error in the program, all LEDs are lit up.

	
File  Structure:
	The structure of the example is as follows:

	"./Line_processing.dpg" -  Project group file (groups all projects together)

	"./Line_processing.dpj" -  Main project file (links sub-project libraries together)
		"./dummy.c" -  dummy source file to make linker happy

	"./corea.dpj" - Core A Sub-project file. Contains the following files.
		"./ppi_L1_ppi_line_transfers.c",
		"./sys_init.c",
		"./buffer_init.c",
		"../../../../utilities/ezkitutilities.c"
		"./YUVtoRGB.c"
		"./ppi_L1_ppi_line_transfers.h",
		

	"./coreb.dpj" - Core B Sub-project file
		"./coreb.c" -  Core B source file
		"../../../../utilities/ezkitutilities.c"  - EZ-Kit utilities source file for Blackfin processors
		"../../../../utilities/ezkitutilities.h"  - EZ-Kit utilities include file for Blackfin processors	


	"./sml2.dpj" - level 2 shared memory Sub-project file
		"./L2.c" -  shared variable ButtonPressed

	"./sml3.dpj" - level 3 shared memory Sub-project file
		"./L3.c" -  3 Frame Buffers

	"Line_processing.ldf" 
		- linker description file for ADSP-BF561 dual core system services examples
 


System Configuration:
	Jumpers: SW2 > 1:OFF, 2:OFF, 3:OFF, 4:OFF, 5:OFF, 6:ON

	External connections:
		Connect a video source (such as DVD player) to the EZ-Kit video-in. 
		The video connectors are the bank of 6 
		RCA-style jacks nearest the serial cable connector on the EZ-Kit labeled as J6.
		
         J6 -----------------------------------------------------
            |          O          O 		 O              |	        	
            |          O          O              O < Video In   |
            -----------------------------------------------------

Getting Started:

	1)	Load Project group file "Line_processing.dpg".IDDE will prompt you to regenerate the startup code/LDF
        file.Select NO.

		Look at Project->Project Dependencies.  The dependencies for the main project are set such 
		that doing a "Project->Rebuild Projectrebuild all" of the main project will cause all the 
		sub-projects to be 	rebuilt and linked together to create the executables: p0.dxe and p1.dxe 
		and shared memory files: sml2.sm, and sml3.sm. A library is created for each of the four 
		sections of memory: core A L1, core B L1, L2 Shared memory and L3 shared memory. The four 
		libraries are linked together by building the main project: ".dpj".
	
	
	2)	Build "Line_processing.dpj" Project by selecting "Rebuild Project"
	3)	Start both cores by selecting "Multiprocessor Run" icon or by pressing (Ctrl-F5)
	4)	Start video in src and observe the RGB frame output in the image viewer.
	5)	When finished, Select "Debug->Multiprocessor->Halt" to stop the program.
	6)   Open the image viewer (menu Debug->View->image viewer) and configure the viewer as:                                  
		StartAddress: 0x4
		Memory stride: 1

		Image format:RGB 565(16 bits)
		Width: 640
		Height:480
	
