diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-07 12:34:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-07 12:34:37 -0700 |
commit | 3036bc45364f98515a2c446d7fac2c34dcfbeff4 (patch) | |
tree | f565c03254413b779981ee5e9ed81b19d5b62c78 /drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2 | |
parent | c90fca951e90ba470a3dc6087667edffcf8db21b (diff) | |
parent | 48a8bbc7ca494709522621929f8407ab823d73fc (diff) | |
download | op-kernel-dev-3036bc45364f98515a2c446d7fac2c34dcfbeff4.zip op-kernel-dev-3036bc45364f98515a2c446d7fac2c34dcfbeff4.tar.gz |
Merge tag 'media/v4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
- remove of atomisp driver from staging, as nobody would have time to
dedicate huge efforts to fix all the problems there. Also, we have a
feeling that the driver may not even run the way it is.
- move Zoran driver to staging, in order to be either fixed to use VB2
and the proper media kAPIs or to be removed
- remove videobuf-dvb driver, with is unused for a while
- some V4L2 documentation fixes/improvements
- new sensor drivers: imx258 and ov7251
- a new driver was added to allow using I2C transparent drivers
- several improvements at the ddbridge driver
- several improvements at the ISDB pt1 driver, making it more coherent
with the DVB framework
- added a new platform driver for MIPI CSI-2 RX: cadence
- now, all media drivers can be compiled on x86 with COMPILE_TEST
- almost all media drivers now build on non-x86 architectures with
COMPILE_TEST
- lots of other random stuff: cleanups, support for new board models,
bug fixes, etc
* tag 'media/v4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (464 commits)
media: omap2: fix compile-testing with FB_OMAP2=m
media: media/radio/Kconfig: add back RADIO_ISA
media: v4l2-ioctl.c: fix missing unlock in __video_do_ioctl()
media: pxa_camera: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power
media: arch: sh: migor: Fix TW9910 PDN gpio
media: staging: tegra-vde: Reset VDE regardless of memory client resetting failure
media: marvel-ccic: mmp: select VIDEOBUF2_VMALLOC/DMA_CONTIG
media: marvel-ccic: allow ccic and mmp drivers to coexist
media: uvcvideo: Prevent setting unavailable flags
media: ddbridge: conditionally enable fast TS for stv0910-equipped bridges
media: dvb-frontends/stv0910: make TS speed configurable
media: ddbridge/mci: add identifiers to function definition arguments
media: ddbridge/mci: protect against out-of-bounds array access in stop()
media: rc: ensure input/lirc device can be opened after register
media: rc: nuvoton: Keep device enabled during reg init
media: rc: nuvoton: Keep track of users on CIR enable/disable
media: rc: nuvoton: Tweak the interrupt enabling dance
media: uvcvideo: Support realtek's UVC 1.5 device
media: uvcvideo: Fix driver reference counting
media: gspca_zc3xx: Enable short exposure times for OV7648
...
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2')
3 files changed, 0 insertions, 502 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c deleted file mode 100644 index 9bccb64..0000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c +++ /dev/null @@ -1,338 +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. - */ - -#include <assert_support.h> -#include "memory_access.h" -#include "ia_css_debug.h" -#include "ia_css_sdis2.host.h" - -const struct ia_css_dvs2_coefficients default_sdis2_config = { - .grid = { 0, 0, 0, 0, 0, 0, 0, 0 }, - .hor_coefs = { NULL, NULL, NULL, NULL }, - .ver_coefs = { NULL, NULL, NULL, NULL }, -}; - -static void -fill_row(short *private, const short *public, unsigned width, unsigned padding) -{ - memcpy (private, public, width*sizeof(short)); - memset (&private[width], 0, padding*sizeof(short)); -} - -void ia_css_sdis2_horicoef_vmem_encode ( - struct sh_css_isp_sdis_hori_coef_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size) -{ - unsigned aligned_width = from->grid.aligned_width * from->grid.bqs_per_grid_cell; - unsigned width = from->grid.num_hor_coefs; - int padding = aligned_width-width; - unsigned stride = size/IA_CSS_DVS2_NUM_COEF_TYPES/sizeof(short); - unsigned total_bytes = aligned_width*IA_CSS_DVS2_NUM_COEF_TYPES*sizeof(short); - short *private = (short*)to; - - - /* Copy the table, add padding */ - assert(padding >= 0); - assert(total_bytes <= size); - assert(size % (IA_CSS_DVS2_NUM_COEF_TYPES*ISP_VEC_NELEMS*sizeof(short)) == 0); - fill_row(&private[0*stride], from->hor_coefs.odd_real, width, padding); - fill_row(&private[1*stride], from->hor_coefs.odd_imag, width, padding); - fill_row(&private[2*stride], from->hor_coefs.even_real, width, padding); - fill_row(&private[3*stride], from->hor_coefs.even_imag, width, padding); -} - -void ia_css_sdis2_vertcoef_vmem_encode ( - struct sh_css_isp_sdis_vert_coef_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size) -{ - unsigned aligned_height = from->grid.aligned_height * from->grid.bqs_per_grid_cell; - unsigned height = from->grid.num_ver_coefs; - int padding = aligned_height-height; - unsigned stride = size/IA_CSS_DVS2_NUM_COEF_TYPES/sizeof(short); - unsigned total_bytes = aligned_height*IA_CSS_DVS2_NUM_COEF_TYPES*sizeof(short); - short *private = (short*)to; - - /* Copy the table, add padding */ - assert(padding >= 0); - assert(total_bytes <= size); - assert(size % (IA_CSS_DVS2_NUM_COEF_TYPES*ISP_VEC_NELEMS*sizeof(short)) == 0); - fill_row(&private[0*stride], from->ver_coefs.odd_real, height, padding); - fill_row(&private[1*stride], from->ver_coefs.odd_imag, height, padding); - fill_row(&private[2*stride], from->ver_coefs.even_real, height, padding); - fill_row(&private[3*stride], from->ver_coefs.even_imag, height, padding); -} - -void ia_css_sdis2_horiproj_encode ( - struct sh_css_isp_sdis_hori_proj_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size) -{ - (void)to; - (void)from; - (void)size; -} - -void ia_css_sdis2_vertproj_encode ( - struct sh_css_isp_sdis_vert_proj_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size) -{ - (void)to; - (void)from; - (void)size; -} - -void ia_css_get_isp_dvs2_coefficients( - struct ia_css_stream *stream, - short *hor_coefs_odd_real, - short *hor_coefs_odd_imag, - short *hor_coefs_even_real, - short *hor_coefs_even_imag, - short *ver_coefs_odd_real, - short *ver_coefs_odd_imag, - short *ver_coefs_even_real, - short *ver_coefs_even_imag) -{ - struct ia_css_isp_parameters *params; - unsigned int hor_num_3a, ver_num_3a; - unsigned int hor_num_isp, ver_num_isp; - struct ia_css_binary *dvs_binary; - - IA_CSS_ENTER("void"); - - assert(stream != NULL); - assert(hor_coefs_odd_real != NULL); - assert(hor_coefs_odd_imag != NULL); - assert(hor_coefs_even_real != NULL); - assert(hor_coefs_even_imag != NULL); - assert(ver_coefs_odd_real != NULL); - assert(ver_coefs_odd_imag != NULL); - assert(ver_coefs_even_real != NULL); - assert(ver_coefs_even_imag != NULL); - - params = stream->isp_params_configs; - - /* Only video pipe supports DVS */ - dvs_binary = ia_css_stream_get_dvs_binary(stream); - if (!dvs_binary) - return; - - hor_num_3a = dvs_binary->dis.coef.dim.width; - ver_num_3a = dvs_binary->dis.coef.dim.height; - hor_num_isp = dvs_binary->dis.coef.pad.width; - ver_num_isp = dvs_binary->dis.coef.pad.height; - - memcpy (hor_coefs_odd_real, params->dvs2_coefs.hor_coefs.odd_real, hor_num_3a * sizeof(short)); - memcpy (hor_coefs_odd_imag, params->dvs2_coefs.hor_coefs.odd_imag, hor_num_3a * sizeof(short)); - memcpy (hor_coefs_even_real, params->dvs2_coefs.hor_coefs.even_real, hor_num_3a * sizeof(short)); - memcpy (hor_coefs_even_imag, params->dvs2_coefs.hor_coefs.even_imag, hor_num_3a * sizeof(short)); - memcpy (ver_coefs_odd_real, params->dvs2_coefs.ver_coefs.odd_real, ver_num_3a * sizeof(short)); - memcpy (ver_coefs_odd_imag, params->dvs2_coefs.ver_coefs.odd_imag, ver_num_3a * sizeof(short)); - memcpy (ver_coefs_even_real, params->dvs2_coefs.ver_coefs.even_real, ver_num_3a * sizeof(short)); - memcpy (ver_coefs_even_imag, params->dvs2_coefs.ver_coefs.even_imag, ver_num_3a * sizeof(short)); - - IA_CSS_LEAVE("void"); -} - -void ia_css_sdis2_clear_coefficients( - struct ia_css_dvs2_coefficients *dvs2_coefs) -{ - dvs2_coefs->hor_coefs.odd_real = NULL; - dvs2_coefs->hor_coefs.odd_imag = NULL; - dvs2_coefs->hor_coefs.even_real = NULL; - dvs2_coefs->hor_coefs.even_imag = NULL; - dvs2_coefs->ver_coefs.odd_real = NULL; - dvs2_coefs->ver_coefs.odd_imag = NULL; - dvs2_coefs->ver_coefs.even_real = NULL; - dvs2_coefs->ver_coefs.even_imag = NULL; -} - -enum ia_css_err -ia_css_get_dvs2_statistics( - struct ia_css_dvs2_statistics *host_stats, - const struct ia_css_isp_dvs_statistics *isp_stats) -{ - struct ia_css_isp_dvs_statistics_map *map; - enum ia_css_err ret = IA_CSS_SUCCESS; - - IA_CSS_ENTER("host_stats=%p, isp_stats=%p", host_stats, isp_stats); - - assert(host_stats != NULL); - assert(isp_stats != NULL); - - map = ia_css_isp_dvs_statistics_map_allocate(isp_stats, NULL); - if (map) { - mmgr_load(isp_stats->data_ptr, map->data_ptr, isp_stats->size); - ia_css_translate_dvs2_statistics(host_stats, map); - ia_css_isp_dvs_statistics_map_free(map); - } else { - IA_CSS_ERROR("out of memory"); - ret = IA_CSS_ERR_CANNOT_ALLOCATE_MEMORY; - } - - IA_CSS_LEAVE_ERR(ret); - return ret; -} - -void -ia_css_translate_dvs2_statistics( - struct ia_css_dvs2_statistics *host_stats, - const struct ia_css_isp_dvs_statistics_map *isp_stats) -{ - unsigned int size_bytes, table_width, table_size, height; - unsigned int src_offset = 0, dst_offset = 0; - int32_t *htemp_ptr, *vtemp_ptr; - - assert(host_stats != NULL); - assert(host_stats->hor_prod.odd_real != NULL); - assert(host_stats->hor_prod.odd_imag != NULL); - assert(host_stats->hor_prod.even_real != NULL); - assert(host_stats->hor_prod.even_imag != NULL); - assert(host_stats->ver_prod.odd_real != NULL); - assert(host_stats->ver_prod.odd_imag != NULL); - assert(host_stats->ver_prod.even_real != NULL); - assert(host_stats->ver_prod.even_imag != NULL); - assert(isp_stats != NULL); - assert(isp_stats->hor_proj != NULL); - assert(isp_stats->ver_proj != NULL); - - IA_CSS_ENTER("hor_coefs.odd_real=%p, hor_coefs.odd_imag=%p, " - "hor_coefs.even_real=%p, hor_coefs.even_imag=%p, " - "ver_coefs.odd_real=%p, ver_coefs.odd_imag=%p, " - "ver_coefs.even_real=%p, ver_coefs.even_imag=%p, " - "haddr=%p, vaddr=%p", - host_stats->hor_prod.odd_real, host_stats->hor_prod.odd_imag, - host_stats->hor_prod.even_real, host_stats->hor_prod.even_imag, - host_stats->ver_prod.odd_real, host_stats->ver_prod.odd_imag, - host_stats->ver_prod.even_real, host_stats->ver_prod.even_imag, - isp_stats->hor_proj, isp_stats->ver_proj); - - /* Host side: reflecting the true width in bytes */ - size_bytes = host_stats->grid.aligned_width * sizeof(*htemp_ptr); - - /* DDR side: need to be aligned to the system bus width */ - /* statistics table width in terms of 32-bit words*/ - table_width = CEIL_MUL(size_bytes, HIVE_ISP_DDR_WORD_BYTES) / sizeof(*htemp_ptr); - table_size = table_width * host_stats->grid.aligned_height; - - htemp_ptr = isp_stats->hor_proj; /* horizontal stats */ - vtemp_ptr = isp_stats->ver_proj; /* vertical stats */ - for (height = 0; height < host_stats->grid.aligned_height; height++) { - /* hor stats */ - memcpy(host_stats->hor_prod.odd_real + dst_offset, - &htemp_ptr[0*table_size+src_offset], size_bytes); - memcpy(host_stats->hor_prod.odd_imag + dst_offset, - &htemp_ptr[1*table_size+src_offset], size_bytes); - memcpy(host_stats->hor_prod.even_real + dst_offset, - &htemp_ptr[2*table_size+src_offset], size_bytes); - memcpy(host_stats->hor_prod.even_imag + dst_offset, - &htemp_ptr[3*table_size+src_offset], size_bytes); - - /* ver stats */ - memcpy(host_stats->ver_prod.odd_real + dst_offset, - &vtemp_ptr[0*table_size+src_offset], size_bytes); - memcpy(host_stats->ver_prod.odd_imag + dst_offset, - &vtemp_ptr[1*table_size+src_offset], size_bytes); - memcpy(host_stats->ver_prod.even_real + dst_offset, - &vtemp_ptr[2*table_size+src_offset], size_bytes); - memcpy(host_stats->ver_prod.even_imag + dst_offset, - &vtemp_ptr[3*table_size+src_offset], size_bytes); - - src_offset += table_width; /* aligned table width */ - dst_offset += host_stats->grid.aligned_width; - } - - IA_CSS_LEAVE("void"); -} - -struct ia_css_isp_dvs_statistics * -ia_css_isp_dvs2_statistics_allocate( - const struct ia_css_dvs_grid_info *grid) -{ - struct ia_css_isp_dvs_statistics *me; - int size; - - assert(grid != NULL); - - IA_CSS_ENTER("grid=%p", grid); - - if (!grid->enable) - return NULL; - - me = sh_css_calloc(1,sizeof(*me)); - if (!me) - goto err; - - /* on ISP 2 SDIS DMA model, every row of projection table width must be - aligned to HIVE_ISP_DDR_WORD_BYTES - */ - size = CEIL_MUL(sizeof(int) * grid->aligned_width, HIVE_ISP_DDR_WORD_BYTES) - * grid->aligned_height * IA_CSS_DVS2_NUM_COEF_TYPES; - - me->size = 2*size; - me->data_ptr = mmgr_malloc(me->size); - if (me->data_ptr == mmgr_NULL) - goto err; - me->hor_proj = me->data_ptr; - me->hor_size = size; - me->ver_proj = me->data_ptr + size; - me->ver_size = size; - - IA_CSS_LEAVE("return=%p", me); - return me; -err: - ia_css_isp_dvs2_statistics_free(me); - IA_CSS_LEAVE("return=%p", NULL); - - return NULL; -} - -void -ia_css_isp_dvs2_statistics_free(struct ia_css_isp_dvs_statistics *me) -{ - if (me != NULL) { - hmm_free(me->data_ptr); - sh_css_free(me); - } -} - -void ia_css_sdis2_horicoef_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level) -{ - (void)config; - (void)level; -} - -void ia_css_sdis2_vertcoef_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level) -{ - (void)config; - (void)level; -} - -void ia_css_sdis2_horiproj_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level) -{ - (void)config; - (void)level; -} - -void ia_css_sdis2_vertproj_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level) -{ - (void)config; - (void)level; -} diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h deleted file mode 100644 index 60198d4..0000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h +++ /dev/null @@ -1,95 +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_SDIS2_HOST_H -#define __IA_CSS_SDIS2_HOST_H - -#include "ia_css_sdis2_types.h" -#include "ia_css_binary.h" -#include "ia_css_stream.h" -#include "sh_css_params.h" - -extern const struct ia_css_dvs2_coefficients default_sdis2_config; - -/* Opaque here, since size is binary dependent. */ -struct sh_css_isp_sdis_hori_coef_tbl; -struct sh_css_isp_sdis_vert_coef_tbl; -struct sh_css_isp_sdis_hori_proj_tbl; -struct sh_css_isp_sdis_vert_proj_tbl; - -void ia_css_sdis2_horicoef_vmem_encode ( - struct sh_css_isp_sdis_hori_coef_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size); - -void ia_css_sdis2_vertcoef_vmem_encode ( - struct sh_css_isp_sdis_vert_coef_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size); - -void ia_css_sdis2_horiproj_encode ( - struct sh_css_isp_sdis_hori_proj_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size); - -void ia_css_sdis2_vertproj_encode ( - struct sh_css_isp_sdis_vert_proj_tbl *to, - const struct ia_css_dvs2_coefficients *from, - unsigned size); - -void ia_css_get_isp_dvs2_coefficients( - struct ia_css_stream *stream, - short *hor_coefs_odd_real, - short *hor_coefs_odd_imag, - short *hor_coefs_even_real, - short *hor_coefs_even_imag, - short *ver_coefs_odd_real, - short *ver_coefs_odd_imag, - short *ver_coefs_even_real, - short *ver_coefs_even_imag); - -void ia_css_sdis2_clear_coefficients( - struct ia_css_dvs2_coefficients *dvs2_coefs); - -enum ia_css_err -ia_css_get_dvs2_statistics( - struct ia_css_dvs2_statistics *host_stats, - const struct ia_css_isp_dvs_statistics *isp_stats); - -void -ia_css_translate_dvs2_statistics( - struct ia_css_dvs2_statistics *host_stats, - const struct ia_css_isp_dvs_statistics_map *isp_stats); - -struct ia_css_isp_dvs_statistics * -ia_css_isp_dvs2_statistics_allocate( - const struct ia_css_dvs_grid_info *grid); - -void -ia_css_isp_dvs2_statistics_free( - struct ia_css_isp_dvs_statistics *me); - -void ia_css_sdis2_horicoef_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level); - -void ia_css_sdis2_vertcoef_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level); - -void ia_css_sdis2_horiproj_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level); - -void ia_css_sdis2_vertproj_debug_dtrace( - const struct ia_css_dvs2_coefficients *config, unsigned level); - -#endif /* __IA_CSS_SDIS2_HOST_H */ diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h deleted file mode 100644 index 2a0bc40..0000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h +++ /dev/null @@ -1,69 +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_SDIS2_TYPES_H -#define __IA_CSS_SDIS2_TYPES_H - -/* @file -* CSS-API header file for DVS statistics parameters. -*/ - -/* Number of DVS coefficient types */ -#define IA_CSS_DVS2_NUM_COEF_TYPES 4 - -#ifndef PIPE_GENERATION -#include "isp/kernels/sdis/common/ia_css_sdis_common_types.h" -#endif - -/* DVS 2.0 Coefficient types. This structure contains 4 pointers to - * arrays that contain the coeffients for each type. - */ -struct ia_css_dvs2_coef_types { - int16_t *odd_real; /** real part of the odd coefficients*/ - int16_t *odd_imag; /** imaginary part of the odd coefficients*/ - int16_t *even_real;/** real part of the even coefficients*/ - int16_t *even_imag;/** imaginary part of the even coefficients*/ -}; - -/* DVS 2.0 Coefficients. This structure describes the coefficients that are needed for the dvs statistics. - * e.g. hor_coefs.odd_real is the pointer to int16_t[grid.num_hor_coefs] containing the horizontal odd real - * coefficients. - */ -struct ia_css_dvs2_coefficients { - struct ia_css_dvs_grid_info grid; /** grid info contains the dimensions of the dvs grid */ - struct ia_css_dvs2_coef_types hor_coefs; /** struct with pointers that contain the horizontal coefficients */ - struct ia_css_dvs2_coef_types ver_coefs; /** struct with pointers that contain the vertical coefficients */ -}; - -/* DVS 2.0 Statistic types. This structure contains 4 pointers to - * arrays that contain the statistics for each type. - */ -struct ia_css_dvs2_stat_types { - int32_t *odd_real; /** real part of the odd statistics*/ - int32_t *odd_imag; /** imaginary part of the odd statistics*/ - int32_t *even_real;/** real part of the even statistics*/ - int32_t *even_imag;/** imaginary part of the even statistics*/ -}; - -/* DVS 2.0 Statistics. This structure describes the statistics that are generated using the provided coefficients. - * e.g. hor_prod.odd_real is the pointer to int16_t[grid.aligned_height][grid.aligned_width] containing - * the horizontal odd real statistics. Valid statistics data area is int16_t[0..grid.height-1][0..grid.width-1] - */ -struct ia_css_dvs2_statistics { - struct ia_css_dvs_grid_info grid; /** grid info contains the dimensions of the dvs grid */ - struct ia_css_dvs2_stat_types hor_prod; /** struct with pointers that contain the horizontal statistics */ - struct ia_css_dvs2_stat_types ver_prod; /** struct with pointers that contain the vertical statistics */ -}; - -#endif /* __IA_CSS_SDIS2_TYPES_H */ |