[723] | 1 | ///////////////////////////////////////////////////////////////////////////////////////// |
---|
| 2 | // File : mjpeg.h |
---|
| 3 | // Date : octobre 2015 |
---|
| 4 | // author : Alain Greiner |
---|
| 5 | ///////////////////////////////////////////////////////////////////////////////////////// |
---|
| 6 | // This file contains all global variables allocated in the mjpeg.c file, |
---|
| 7 | // and used by the threads of the MJPEG application. |
---|
| 8 | // It defines also the debug directives. |
---|
| 9 | ///////////////////////////////////////////////////////////////////////////////////////// |
---|
| 10 | |
---|
| 11 | #ifndef MJPEG_GLOBALS_H |
---|
| 12 | #define MJPEG_GLOBALS_H |
---|
| 13 | |
---|
| 14 | #include <stdint.h> |
---|
| 15 | #include <mwmr_channel.h> |
---|
| 16 | #include <user_lock.h> |
---|
| 17 | |
---|
| 18 | #define MAX_IMAGES 64 |
---|
| 19 | |
---|
| 20 | //////////////////////////////////////////////////////////////////////////////////////// |
---|
| 21 | // MWMMR channels depths (number of 32 bits words) |
---|
| 22 | //////////////////////////////////////////////////////////////////////////////////////// |
---|
| 23 | |
---|
| 24 | #define TG_2_DEMUX_DEPTH 256 |
---|
| 25 | #define DEMUX_2_VLD_DATA_DEPTH 256 |
---|
| 26 | #define DEMUX_2_VLD_HUFF_DEPTH 256 |
---|
| 27 | #define DEMUX_2_IQZZ_DEPTH 256 |
---|
| 28 | #define VLD_2_IQZZ_DEPTH 256 |
---|
| 29 | #define IQZZ_2_IDCT_DEPTH 256 |
---|
| 30 | #define IDCT_2_LIBU_DEPTH 256 |
---|
| 31 | |
---|
| 32 | //////////////////////////////////////////////////////////////////////////////////////// |
---|
| 33 | // debug variables |
---|
| 34 | // O : No trace |
---|
| 35 | // 1 : simple debug |
---|
| 36 | // 2 : detailed debug |
---|
| 37 | //////////////////////////////////////////////////////////////////////////////////////// |
---|
| 38 | |
---|
| 39 | #define DEBUG_TG 1 |
---|
| 40 | #define DEBUG_DEMUX 0 |
---|
| 41 | #define DEBUG_VLD 0 |
---|
| 42 | #define DEBUG_IQZZ 0 |
---|
| 43 | #define DEBUG_IDCT 0 |
---|
| 44 | #define DEBUG_LIBU 0 |
---|
| 45 | |
---|
| 46 | //////////////////////////////////////////////////////////////////////////////////////// |
---|
| 47 | // Global variables |
---|
| 48 | //////////////////////////////////////////////////////////////////////////////////////// |
---|
| 49 | |
---|
| 50 | extern uint32_t fd; // file descriptor for the file containing MJPEG stream |
---|
| 51 | |
---|
| 52 | extern mwmr_channel_t* tg_2_demux[256]; // one per cluster |
---|
| 53 | extern mwmr_channel_t* demux_2_vld_data[256]; // one per cluster |
---|
| 54 | extern mwmr_channel_t* demux_2_vld_huff[256]; // one per cluster |
---|
| 55 | extern mwmr_channel_t* demux_2_iqzz[256]; // one per cluster |
---|
| 56 | extern mwmr_channel_t* vld_2_iqzz[256]; // one per cluster |
---|
| 57 | extern mwmr_channel_t* iqzz_2_idct[256]; // one per cluster |
---|
| 58 | extern mwmr_channel_t* idct_2_libu[256]; // one per cluster |
---|
| 59 | |
---|
| 60 | extern user_lock_t tty_lock; // lock protecting shared TTY |
---|
| 61 | |
---|
| 62 | extern uint8_t* cma_buf[256]; // CMA buffers (one per cluster) |
---|
| 63 | extern void* cma_sts[256]; // CMA buffers status |
---|
| 64 | |
---|
| 65 | extern uint32_t fbf_width; // Frame Buffer width |
---|
| 66 | extern uint32_t fbf_height; // Frame Buffer height |
---|
| 67 | |
---|
| 68 | extern uint32_t nblocks_h; // number of blocks in a column |
---|
| 69 | extern uint32_t nblocks_w; // number of blocks in a row |
---|
| 70 | |
---|
| 71 | extern uint32_t date[MAX_IMAGES]; // date of completion in libu |
---|
| 72 | |
---|
| 73 | #endif |
---|