ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VLIB / Platform / arm9_P6 / video_config.h
1 #ifndef _VIDEO_CONFIG_ARM9_P6_H_
2 #define _VIDEO_CONFIG_ARM9_P6_H_
3
4 #ifdef _ELINUX
5
6 # define CACHE_DLINESIZE (32)
7
8 /* Default configuration for P5+ platform */
9
10 #define VIDEO_DCT_INTERRUPT_ENABLE    (0)
11
12 #define VIDEO_DCT_USE_INTRAM          (0)
13
14 //TODO: DEFAULT_QUANTIZATION has to be TABLE_QUANTIZATION for UVLC. In case of P264 the default quant should be something like 25.
15 //TODO: Here TABLE_QUANTIZATION (==31) is also used as the default QP for P264. This is dirty.
16 #define DEFAULT_QUANTIZATION          (TABLE_QUANTIZATION)
17
18
19 /*
20   Help on finding a good MAX_NUM_MACRO_BLOCKS_PER_CALL on P5P
21   Maximum is 10 macroblocks because P5P DCT can only handle 64 blocks at once
22   This parameter is important and has to be adapted to your resolution
23   (CIF, VGA,... ) in order to minimize waiting time between two calls.
24   For example case like a call with a lot of blocks followed by a call
25   with a small number of blocks need to be avoided.
26   Ex: In QVGA a value of 6 is not optimal because there's 20 macroblocks per GOB
27   so there will be 3 calls with 6 macroblocks and a call with 2 macroblocks
28   (you can check with RTMON to monitor the waiting time represendted by event VIDEO_VLIB_DCT_WAIT_UEVENT)
29   In the QVGA case this is a better choice to choose a value of 7 to have two calls for 7 macroblocks and
30   a call for 6 macroblocks (of course 10 seems to be the better value - 2 calls - from an hardware DCT point of view).
31 */
32 #define MAX_NUM_MACRO_BLOCKS_PER_CALL (10)
33
34 #define DEFAULT_INTERNAL_STREAM_SIZE  (1024 * 8)
35
36 #define VLIB_ALLOC_ALIGN              CACHE_DLINESIZE
37
38 #endif // _ELINUX
39
40 #endif // _VIDEO_CONFIG_ARM9_H_