diff options
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface')
2 files changed, 0 insertions, 312 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface/ia_css_frame.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface/ia_css_frame.h deleted file mode 100644 index 89ad8080ceb1..000000000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface/ia_css_frame.h +++ /dev/null @@ -1,180 +0,0 @@ -#ifndef ISP2401 -/* - * 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. - */ -#else -/** -Support for Intel Camera Imaging ISP subsystem. -Copyright (c) 2010 - 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. -*/ -#endif - -#ifndef __IA_CSS_FRAME_H__ -#define __IA_CSS_FRAME_H__ - -#ifdef ISP2401 -#include <ia_css_types.h> -#endif -#include <ia_css_frame_format.h> -#include <ia_css_frame_public.h> -#include "dma.h" - -/********************************************************************* -**** Frame INFO APIs -**********************************************************************/ -/* @brief Sets the given width and alignment to the frame info - * - * @param - * @param[in] info The info to which parameters would set - * @param[in] width The width to be set to info - * @param[in] aligned The aligned to be set to info - * @return - */ -void ia_css_frame_info_set_width(struct ia_css_frame_info *info, - unsigned int width, - unsigned int min_padded_width); - -/* @brief Sets the given format to the frame info - * - * @param - * @param[in] info The info to which parameters would set - * @param[in] format The format to be set to info - * @return - */ -void ia_css_frame_info_set_format(struct ia_css_frame_info *info, - enum ia_css_frame_format format); - -/* @brief Sets the frame info with the given parameters - * - * @param - * @param[in] info The info to which parameters would set - * @param[in] width The width to be set to info - * @param[in] height The height to be set to info - * @param[in] format The format to be set to info - * @param[in] aligned The aligned to be set to info - * @return - */ -void ia_css_frame_info_init(struct ia_css_frame_info *info, - unsigned int width, - unsigned int height, - enum ia_css_frame_format format, - unsigned int aligned); - -/* @brief Checks whether 2 frame infos has the same resolution - * - * @param - * @param[in] frame_a The first frame to be compared - * @param[in] frame_b The second frame to be compared - * @return Returns true if the frames are equal - */ -bool ia_css_frame_info_is_same_resolution( - const struct ia_css_frame_info *info_a, - const struct ia_css_frame_info *info_b); - -/* @brief Check the frame info is valid - * - * @param - * @param[in] info The frame attributes to be initialized - * @return The error code. - */ -enum ia_css_err ia_css_frame_check_info(const struct ia_css_frame_info *info); - -/********************************************************************* -**** Frame APIs -**********************************************************************/ - -/* @brief Initialize the plane depending on the frame type - * - * @param - * @param[in] frame The frame attributes to be initialized - * @return The error code. - */ -enum ia_css_err ia_css_frame_init_planes(struct ia_css_frame *frame); - -/* @brief Free an array of frames - * - * @param - * @param[in] num_frames The number of frames to be freed in the array - * @param[in] **frames_array The array of frames to be removed - * @return - */ -void ia_css_frame_free_multiple(unsigned int num_frames, - struct ia_css_frame **frames_array); - -/* @brief Allocate a CSS frame structure of given size in bytes.. - * - * @param frame The allocated frame. - * @param[in] size_bytes The frame size in bytes. - * @param[in] contiguous Allocate memory physically contiguously or not. - * @return The error code. - * - * Allocate a frame using the given size in bytes. - * The frame structure is partially null initialized. - */ -enum ia_css_err ia_css_frame_allocate_with_buffer_size( - struct ia_css_frame **frame, - const unsigned int size_bytes, - const bool contiguous); - -/* @brief Check whether 2 frames are same type - * - * @param - * @param[in] frame_a The first frame to be compared - * @param[in] frame_b The second frame to be compared - * @return Returns true if the frames are equal - */ -bool ia_css_frame_is_same_type( - const struct ia_css_frame *frame_a, - const struct ia_css_frame *frame_b); - -/* @brief Configure a dma port from frame info - * - * @param - * @param[in] config The DAM port configuration - * @param[in] info The frame info - * @return - */ -void ia_css_dma_configure_from_info( - struct dma_port_config *config, - const struct ia_css_frame_info *info); - -#ifdef ISP2401 -/* @brief Finds the cropping resolution - * This function finds the maximum cropping resolution in an input image keeping - * the aspect ratio for the given output resolution.Calculates the coordinates - * for cropping from the center and returns the starting pixel location of the - * region in the input image. Also returns the dimension of the cropping - * resolution. - * - * @param - * @param[in] in_res Resolution of input image - * @param[in] out_res Resolution of output image - * @param[out] crop_res Crop resolution of input image - * @return Returns IA_CSS_SUCCESS or IA_CSS_ERR_INVALID_ARGUMENTS on error - */ -enum ia_css_err -ia_css_frame_find_crop_resolution(const struct ia_css_resolution *in_res, - const struct ia_css_resolution *out_res, - struct ia_css_resolution *crop_res); - -#endif -#endif /* __IA_CSS_FRAME_H__ */ diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface/ia_css_frame_comm.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface/ia_css_frame_comm.h deleted file mode 100644 index a469e0afb2b5..000000000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface/ia_css_frame_comm.h +++ /dev/null @@ -1,132 +0,0 @@ -#ifndef ISP2401 -/* - * 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. - */ -#else -/** -Support for Intel Camera Imaging ISP subsystem. -Copyright (c) 2010 - 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. -*/ -#endif - -#ifndef __IA_CSS_FRAME_COMM_H__ -#define __IA_CSS_FRAME_COMM_H__ - -#include "type_support.h" -#include "platform_support.h" -#include "runtime/bufq/interface/ia_css_bufq_comm.h" -#include <system_types.h> /* hrt_vaddress */ - -/* - * These structs are derived from structs defined in ia_css_types.h - * (just take out the "_sp" from the struct name to get the "original") - * All the fields that are not needed by the SP are removed. - */ -struct ia_css_frame_sp_plane { - unsigned int offset; /* offset in bytes to start of frame data */ - /* offset is wrt data in sh_css_sp_sp_frame */ -}; - -struct ia_css_frame_sp_binary_plane { - unsigned int size; - struct ia_css_frame_sp_plane data; -}; - -struct ia_css_frame_sp_yuv_planes { - struct ia_css_frame_sp_plane y; - struct ia_css_frame_sp_plane u; - struct ia_css_frame_sp_plane v; -}; - -struct ia_css_frame_sp_nv_planes { - struct ia_css_frame_sp_plane y; - struct ia_css_frame_sp_plane uv; -}; - -struct ia_css_frame_sp_rgb_planes { - struct ia_css_frame_sp_plane r; - struct ia_css_frame_sp_plane g; - struct ia_css_frame_sp_plane b; -}; - -struct ia_css_frame_sp_plane6 { - struct ia_css_frame_sp_plane r; - struct ia_css_frame_sp_plane r_at_b; - struct ia_css_frame_sp_plane gr; - struct ia_css_frame_sp_plane gb; - struct ia_css_frame_sp_plane b; - struct ia_css_frame_sp_plane b_at_r; -}; - -struct ia_css_sp_resolution { - uint16_t width; /* width of valid data in pixels */ - uint16_t height; /* Height of valid data in lines */ -}; - -/* - * Frame info struct. This describes the contents of an image frame buffer. - */ -struct ia_css_frame_sp_info { - struct ia_css_sp_resolution res; - uint16_t padded_width; /* stride of line in memory - (in pixels) */ - unsigned char format; /* format of the frame data */ - unsigned char raw_bit_depth; /* number of valid bits per pixel, - only valid for RAW bayer frames */ - unsigned char raw_bayer_order; /* bayer order, only valid - for RAW bayer frames */ - unsigned char padding[3]; /* Extend to 32 bit multiple */ -}; - -struct ia_css_buffer_sp { - union { - hrt_vaddress xmem_addr; - enum sh_css_queue_id queue_id; - } buf_src; - enum ia_css_buffer_type buf_type; -}; - -struct ia_css_frame_sp { - struct ia_css_frame_sp_info info; - struct ia_css_buffer_sp buf_attr; - union { - struct ia_css_frame_sp_plane raw; - struct ia_css_frame_sp_plane rgb; - struct ia_css_frame_sp_rgb_planes planar_rgb; - struct ia_css_frame_sp_plane yuyv; - struct ia_css_frame_sp_yuv_planes yuv; - struct ia_css_frame_sp_nv_planes nv; - struct ia_css_frame_sp_plane6 plane6; - struct ia_css_frame_sp_binary_plane binary; - } planes; -}; - -void ia_css_frame_info_to_frame_sp_info( - struct ia_css_frame_sp_info *sp_info, - const struct ia_css_frame_info *info); - -void ia_css_resolution_to_sp_resolution( - struct ia_css_sp_resolution *sp_info, - const struct ia_css_resolution *info); - -#endif /*__IA_CSS_FRAME_COMM_H__*/ - |