diff options
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_frame_format.h')
-rw-r--r-- | drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_frame_format.h | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_frame_format.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_frame_format.h deleted file mode 100644 index 2f177ed..0000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_frame_format.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Support for Intel Camera Imaging ISP subsystem. - * Copyright (c) 2015, Intel Corporation. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - */ - -#ifndef __IA_CSS_FRAME_FORMAT_H -#define __IA_CSS_FRAME_FORMAT_H - -/* @file - * This file contains information about formats supported in the ISP - */ - -/* Frame formats, some of these come from fourcc.org, others are - better explained by video4linux2. The NV11 seems to be described only - on MSDN pages, but even those seem to be gone now. - Frames can come in many forms, the main categories are RAW, RGB and YUV - (or YCbCr). The YUV frames come in 4 flavors, determined by how the U and V - values are subsampled: - 1. YUV420: hor = 2, ver = 2 - 2. YUV411: hor = 4, ver = 1 - 3. YUV422: hor = 2, ver = 1 - 4. YUV444: hor = 1, ver = 1 - - Warning: not all frame formats are supported as input or output to/from ISP. - Some of these formats are therefore not defined in the output table module. - Modifications in below frame format enum can require modifications in the - output table module. - - Warning2: Throughout the CSS code assumptions are made on the order - of formats in this enumeration type, or some sort of copy is maintained. - The following files are identified: - - FileSupport.h - - css/isp/kernels/fc/fc_1.0/formats.isp.c - - css/isp/kernels/output/output_1.0/output_table.isp.c - - css/isp/kernels/output/sc_output_1.0/formats.hive.c - - css/isp/modes/interface/isp_formats.isp.h - - css/bxt_sandbox/psyspoc/interface/ia_css_pg_info.h - - css/bxt_sandbox/psysapi/data/interface/ia_css_program_group_data.h - - css/bxt_sandbox/isysapi/interface/ia_css_isysapi_fw_types.h -*/ -enum ia_css_frame_format { - IA_CSS_FRAME_FORMAT_NV11 = 0, /** 12 bit YUV 411, Y, UV plane */ - IA_CSS_FRAME_FORMAT_NV12, /** 12 bit YUV 420, Y, UV plane */ - IA_CSS_FRAME_FORMAT_NV12_16, /** 16 bit YUV 420, Y, UV plane */ - IA_CSS_FRAME_FORMAT_NV12_TILEY, /** 12 bit YUV 420, Intel proprietary tiled format, TileY */ - IA_CSS_FRAME_FORMAT_NV16, /** 16 bit YUV 422, Y, UV plane */ - IA_CSS_FRAME_FORMAT_NV21, /** 12 bit YUV 420, Y, VU plane */ - IA_CSS_FRAME_FORMAT_NV61, /** 16 bit YUV 422, Y, VU plane */ - IA_CSS_FRAME_FORMAT_YV12, /** 12 bit YUV 420, Y, V, U plane */ - IA_CSS_FRAME_FORMAT_YV16, /** 16 bit YUV 422, Y, V, U plane */ - IA_CSS_FRAME_FORMAT_YUV420, /** 12 bit YUV 420, Y, U, V plane */ - IA_CSS_FRAME_FORMAT_YUV420_16, /** yuv420, 16 bits per subpixel */ - IA_CSS_FRAME_FORMAT_YUV422, /** 16 bit YUV 422, Y, U, V plane */ - IA_CSS_FRAME_FORMAT_YUV422_16, /** yuv422, 16 bits per subpixel */ - IA_CSS_FRAME_FORMAT_UYVY, /** 16 bit YUV 422, UYVY interleaved */ - IA_CSS_FRAME_FORMAT_YUYV, /** 16 bit YUV 422, YUYV interleaved */ - IA_CSS_FRAME_FORMAT_YUV444, /** 24 bit YUV 444, Y, U, V plane */ - IA_CSS_FRAME_FORMAT_YUV_LINE, /** Internal format, 2 y lines followed - by a uvinterleaved line */ - IA_CSS_FRAME_FORMAT_RAW, /** RAW, 1 plane */ - IA_CSS_FRAME_FORMAT_RGB565, /** 16 bit RGB, 1 plane. Each 3 sub - pixels are packed into one 16 bit - value, 5 bits for R, 6 bits for G - and 5 bits for B. */ - IA_CSS_FRAME_FORMAT_PLANAR_RGB888, /** 24 bit RGB, 3 planes */ - IA_CSS_FRAME_FORMAT_RGBA888, /** 32 bit RGBA, 1 plane, A=Alpha - (alpha is unused) */ - IA_CSS_FRAME_FORMAT_QPLANE6, /** Internal, for advanced ISP */ - IA_CSS_FRAME_FORMAT_BINARY_8, /** byte stream, used for jpeg. For - frames of this type, we set the - height to 1 and the width to the - number of allocated bytes. */ - IA_CSS_FRAME_FORMAT_MIPI, /** MIPI frame, 1 plane */ - IA_CSS_FRAME_FORMAT_RAW_PACKED, /** RAW, 1 plane, packed */ - IA_CSS_FRAME_FORMAT_CSI_MIPI_YUV420_8, /** 8 bit per Y/U/V. - Y odd line; UYVY - interleaved even line */ - IA_CSS_FRAME_FORMAT_CSI_MIPI_LEGACY_YUV420_8, /** Legacy YUV420. UY odd - line; VY even line */ - IA_CSS_FRAME_FORMAT_CSI_MIPI_YUV420_10 /** 10 bit per Y/U/V. Y odd - line; UYVY interleaved - even line */ -}; - -/* NOTE: IA_CSS_FRAME_FORMAT_NUM was purposely defined outside of enum type ia_css_frame_format, */ -/* because of issues this would cause with the Clockwork code checking tool. */ -#define IA_CSS_FRAME_FORMAT_NUM (IA_CSS_FRAME_FORMAT_CSI_MIPI_YUV420_10 + 1) - -/* Number of valid output frame formats for ISP **/ -#define IA_CSS_FRAME_OUT_FORMAT_NUM (IA_CSS_FRAME_FORMAT_RGBA888 + 1) - -#endif /* __IA_CSS_FRAME_FORMAT_H */ |