Changes between Version 15 and Version 16 of user_applications


Ignore:
Timestamp:
Nov 21, 2015, 2:43:05 PM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • user_applications

    v15 v16  
    175175== __mjpeg__ ==
    176176
    177 This multi-threaded application makes the decompression of a MJPEG bit-stream contained in a file.
     177This multi-threaded application makes the decompression of a MJPEG bit-stream contained in a file, an display the stream of images on the Frame Buffer.
    178178It illustrates the "multi pipe-line" parallelism. It uses the message passing programming model, on top of the POSIX threads API, and the MWMR communication middleware.
    179179The application is described as a TCG (Task and Communication Graph), and all communications between threads uses MWMR channels.
    180180Each pipeline decompress one complete image, and there is one pipe-line per cluster.
    181 It uses the chained buffer DMA component to display the stream of decompressed images on the graphic display.
     181It uses the chained buffer DMA component to display the stream of decompressed images.ç!!l:=m
    182182It contains 6 types of threads (plus the "main" thread, that makes initialisation), and 7 types of MWMR communication channels:
    183183 * the TG thread dispatch the bit-stream to the pipeline. It is only mapped in cluster[0,0].
    184184 * the 5 threads implementing the pipeline (DEMUX, VLD, IQZZ, IDCT, LIBU) are replicated in all clusters.
    185185 * the 7 MWMR channels are replicated in all clusters.
     186The image throughput is actually bounded by the TG task that cannot be parallelized.
    186187
    187188The hardware constraints are the following
     
    191192 * It uses one TTY terminal shared by all tasks.
    192193
     194All parameters (number of images, depths of communication channels, debug variables) are defined in the [source:soft/giet_vm/applications/mjpeg/mjpeg.h mjpeg.h] file.
     195
    193196The source code can be found [source:soft/giet_vm/applications/mjpeg/mjpeg.c here], and the mapping is defined [source:soft/giet_vm/applications/mjpeg/mjpeg.py here].