1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) STMicroelectronics SA 2015 4 * Author: Hugues Fruchet <hugues.fruchet@st.com> for STMicroelectronics. 5 */ 6 7 #ifndef DELTA_CFG_H 8 #define DELTA_CFG_H 9 10 #define DELTA_FW_VERSION "21.1-3" 11 12 #define DELTA_MIN_WIDTH 32 13 #define DELTA_MAX_WIDTH 4096 14 #define DELTA_MIN_HEIGHT 32 15 #define DELTA_MAX_HEIGHT 2400 16 17 /* DELTA requires a 32x32 pixels alignment for frames */ 18 #define DELTA_WIDTH_ALIGNMENT 32 19 #define DELTA_HEIGHT_ALIGNMENT 32 20 21 #define DELTA_DEFAULT_WIDTH DELTA_MIN_WIDTH 22 #define DELTA_DEFAULT_HEIGHT DELTA_MIN_HEIGHT 23 #define DELTA_DEFAULT_FRAMEFORMAT V4L2_PIX_FMT_NV12 24 #define DELTA_DEFAULT_STREAMFORMAT V4L2_PIX_FMT_MJPEG 25 26 #define DELTA_MAX_RESO (DELTA_MAX_WIDTH * DELTA_MAX_HEIGHT) 27 28 /* guard value for number of access units */ 29 #define DELTA_MAX_AUS 10 30 31 /* IP perf dependent, can be tuned */ 32 #define DELTA_PEAK_FRAME_SMOOTHING 2 33 34 /* 35 * guard output frame count: 36 * - at least 1 frame needed for display 37 * - at worst 21 38 * ( max h264 dpb (16) + 39 * decoding peak smoothing (2) + 40 * user display pipeline (3) ) 41 */ 42 #define DELTA_MIN_FRAME_USER 1 43 #define DELTA_MAX_DPB 16 44 #define DELTA_MAX_FRAME_USER 3 /* platform/use-case dependent */ 45 #define DELTA_MAX_FRAMES (DELTA_MAX_DPB + DELTA_PEAK_FRAME_SMOOTHING +\ 46 DELTA_MAX_FRAME_USER) 47 48 #if DELTA_MAX_FRAMES > VIDEO_MAX_FRAME 49 #undef DELTA_MAX_FRAMES 50 #define DELTA_MAX_FRAMES (VIDEO_MAX_FRAME) 51 #endif 52 53 /* extra space to be allocated to store codec specific data per frame */ 54 #define DELTA_MAX_FRAME_PRIV_SIZE 100 55 56 /* PM runtime auto power-off after 5ms of inactivity */ 57 #define DELTA_HW_AUTOSUSPEND_DELAY_MS 5 58 59 #define DELTA_MAX_DECODERS 10 60 #ifdef CONFIG_VIDEO_STI_DELTA_MJPEG 61 extern const struct delta_dec mjpegdec; 62 #endif 63 64 #endif /* DELTA_CFG_H */ 65