summaryrefslogtreecommitdiff
path: root/b2r2_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'b2r2_api.h')
-rw-r--r--b2r2_api.h1045
1 files changed, 0 insertions, 1045 deletions
diff --git a/b2r2_api.h b/b2r2_api.h
deleted file mode 100644
index fe3ae87..0000000
--- a/b2r2_api.h
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*---------------------------------------------------------------------------*/
-/* © copyright STMicroelectronics(Wireless),2008. All rights reserved. For */
-/* information, STMicroelectronics(Wireless)reserves the right to license */
-/* this software concurrently under separate license conditions. */
-/* */
-/* This program is free software; you can redistribute it and/or modify it */
-/* under the terms of the GNU Lesser General Public License as published */
-/* by the Free Software Foundation; either version 2.1 of the License, */
-/* or (at your option)any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, but */
-/* WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */
-/* the GNU Lesser General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU Lesser General Public License */
-/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/*---------------------------------------------------------------------------*/
-
-
-
-#ifndef __B2R2_API_H
-#define __B2R2_API_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* _cplusplus */
-
-
-/***************************** b2r2 library basic opertaions *************************/
-
-
-/**
-
- b2r2 library instance handler
-
- Type : Structure
-
- Usage: Any task which uses B2R2 should this handler.
- Multiple B2R2 operations can be invoked from
- same library handler.
-
- Member: file_pointer: This is a handler to B2R2 driver.
-
-*/
-
-typedef struct b2r2_library
-{
- int file_pointer;
-
-
-}b2r2_library;
-
-
-/**
-
- b2r2 library memory handler
-
- Type : Structure
-
- Usage: Any task which wants to allocate memory should use
- this structure.size of memory field should be populated.
- and in turn from b2r2_library_allocate function
- physical_address and logical address will be populated.
-
- Member: physical_address: physical address in unsigned int format
- logical_address : logical address in unsigned int format
- size_of_memory : size of the memory in bytes.
-
-*/
-
-typedef struct b2r2_buffer_memory
-{
-
- unsigned int physical_address;
- unsigned int logical_address;
- unsigned int size_of_memory;
-
-}b2r2_buffer_memory;
-
-
-/** b2r2 library instance API */
-
-/**
-
- b2r2 library init
-
- Type : Public API
-
- Usage: Task should invoke this function before call
- to any other function.This will initilize
- one library instance.
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
-
-*/
-
-void b2r2_library_init(b2r2_library*);
-
-/**
-
- b2r2 library close
-
- Type : Public API
-
- Usage: Task should invoke this function after completed
- all B2R2 operations to terminate.
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
-
-*/
-
-
-void b2r2_library_close(b2r2_library*);
-
-
-/** b2r2 library memory API */
-
-
-/**
-
- b2r2 library allocate
-
- Type : Public API
-
- Usage: Task should invoke this function for
- allocating the memory from kernel space
- This memory in general can be used for input/output
- buffers
-
- Parameters: In : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_buffer_memory :b2r2 library memory handler
-
-*/
-
-void b2r2_library_allocate(b2r2_library*,b2r2_buffer_memory*);
-
-
-/**
-
- b2r2 library deallocate
-
- Type : Public API
-
- Usage: Task should invoke this function for
- deallocating the memory from kernel space
-
- Parameters: In : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_buffer_memory :b2r2 library memory handler
-*/
-
-
-void b2r2_library_deallocate(b2r2_library*,b2r2_buffer_memory*);
-
-/**************************************************************************************/
-
-
-/************************ b2r2 operations *********************************************/
-
-/**
-
- b2r2 gfx color format
-
- Type : Enumeration
-
- Usage: This enum is used to identify the color format used.
-
-*/
-
-
-
-
-typedef enum
-{
- B2R2_RGB565 = 0,
- B2R2_RGB888 = 1,
- B2R2_ARGB8565 = 4,
- B2R2_ARGB8888 = 5,
- B2R2_ARGB1555 = 6,
- B2R2_ARGB4444 = 7,
- B2R2_YCBCR888 = 16,
- B2R2_YCBCR422R = 18,
- B2R2_AYCBCR8888 = 21,
- B2R2_YCBCR42XMB = 20,
- B2R2_YCBCR42XR2B = 22,
- B2R2_YCBCR42XMBN = 14,
- B2R2_CLUT1 = 8,
- B2R2_CLUT2 = 9,
- B2R2_CLUT4 = 10,
- B2R2_CLUT8 = 11,
- B2R2_ACLUT44 = 12,
- B2R2_ACLUT88 = 13,
- B2R2_A1 = 24,
- B2R2_A8 = 25,
- B2R2_YUV = 30
-
-}b2r2_gfx_color_form;
-
-
-/**
-
- b2r2 postprocessor rot type
-
- Type : Enumeration
-
- Usage: This enum is used to identify the type of rotation
-
-*/
-
-
-
-typedef enum
-{
- B2R2_ROT_0 =0,
- B2R2_ROT_90 = 1,
- B2R2_ROT_180 = 2,
- B2R2_ROT_270 = 3,
- B2R2_CLOCKWISE_ROT_270=B2R2_ROT_90,
- B2R2_CLOCKWISE_ROT_90=B2R2_ROT_270,
- B2R2_CLOCKWISE_ROT_180=B2R2_ROT_180
-
-}b2r2_postprocessor_rot_type;
-
-
-/**
-
- b2r2 colour fill
-
- Type : Enumeration
-
- Usage: This enum is used to identify the color fill
-
-*/
-
-
-typedef enum
-{
- B2R2_COLOUR_FILL_DISABLE = 0,
- B2R2_COLOUR_FILL_ENABLE = 1
-
-}B2R2_COLOUR_FILL;
-
-
-/**
-
- b2r2 colour key
-
- Type : Enumeration
-
- Usage: This enum is used to identify the color key
-
-*/
-
-typedef enum
-{
- B2R2_COLOUR_KEY_DISABLE = 0,
- B2R2_COLOUR_KEY_ENABLE = 1
-
-}B2R2_COLOUR_KEY;
-
-
-/**
-
- b2r2 alpha blending
-
- Type : Enumeration
-
- Usage: This enum is used to identify the alpha blending
-
-*/
-
-typedef enum
-{
- B2R2_ALPHA_BLENDING_DISABLE = 0,
- B2R2_ALPHA_BLENDING_ENABLE = 1
-
-}B2R2_ALPHA_BLENDING;
-
-
-/**
-
- b2r2 rectangular clip
-
- Type : Enumeration
-
- Usage: This enum is used to identify the rectangular clipping
-
-*/
-
-typedef enum
-{
- B2R2_RECTANGULAR_CLIP_DISABLE = 0,
- B2R2_RECTANGULAR_CLIP_ENABLE = 1
-
-}B2R2_RECTANGULAR_CLIP;
-
-
-/**
-
- b2r2 rop
-
- Type : Enumeration
-
- Usage: This enum is used to identify the boolean operations
-
-*/
-
-
-typedef enum
-{
- B2R2_ROP_DISABLE = 0,
- B2R2_ROP_ENABLE = 1
-
-}B2R2_ROP;
-
-
-/**
-
- b2r2 color key sel
-
- Type : Enumeration
-
- Usage: This enum is used to identify the color key selection
-
-*/
-
-
-typedef enum
-{
- B2R2_DEST_COLOR_KEY = 0,
- B2R2_SRC_COLOR_KEY_BEFORE_CLUT = 1,
- B2R2_SRC_COLOR_KEY_AFTER_CLUT = 2,
- B2R2_BLANKING_SRC_ALPHA = 3
-}B2R2_COLOR_KEY_SEL;
-
-
-/**
-
- b2r2 blend swap fg bg
-
- Type : Enumeration
-
- Usage: This enum is used to identify foreground or background
-
-*/
-
-
-
-typedef enum
-{
- B2R2_BLEND_SWAP_FG_BG_DISABLE=0,
- B2R2_BLEND_SWAP_FG_BG_ENABLE=1
-
-}B2R2_BLEND_SWAP_FG_BG;
-
-
-/**
-
- b2r2 blend fg premultiplier
-
- Type : Enumeration
-
- Usage: This enum is used to identify foreground premultiplier
-
-*/
-
-
-
-typedef enum
-{
- B2R2_BLENDING_FG_NOT_PREMULT = 2,
- B2R2_BLENDING_FG_PREMULT = 3
-
-}B2R2_BLEND_FG_PREMULTIPLIER;
-
-
-
-/**
-
- b2r2 blend alpha range
-
- Type : Enumeration
-
- Usage: This enum is used to identify blending alpha range
-
-*/
-
-
-typedef enum
-{
- B2R2_ALPHA_RANGE_0_128 = 0,
- B2R2_ALPHA_RANGE_0_255 = 1
-
-}B2R2_BLEND_ALPHA_RANGE;
-
-
-/**
-
- b2r2 logical op
-
- Type : Enumeration
-
- Usage: This enum is used to identify logical operations
-
-*/
-
-
-typedef enum
-{
- B2R2_ALU_CLEAR = 0,
- B2R2_ALU_AND = 1,
- B2R2_ALU_AND_REV = 2,
- B2R2_ALU_COPY = 3,
- B2R2_ALU_AND_INVERT = 4,
- B2R2_ALU_NOOP = 5,
- B2R2_ALU_XOR = 6,
- B2R2_ALU_OR = 7,
- B2R2_ALU_NOR = 8,
- B2R2_ALU_EQUIV = 9,
- B2R2_ALU_INVERT = 10,
- B2R2_ALU_OR_REVERSE = 11,
- B2R2_ALU_COPY_INVERT = 12,
- B2R2_ALU_OR_INVERT = 13,
- B2R2_ALU_NAND = 14,
- B2R2_ALU_SET = 15,
- B2R2_ALU_ALPHA_BLEND = 16
-
-} b2r2_logical_op;
-
-
-/**
-
- b2r2 update params
-
- Type : Enumeration
-
- Usage: This enum is used to identify update parameters
-
-*/
-
-typedef enum
-{
- B2R2_FILL_COLOR_OP_PARAMS =0,
- B2R2_ALPHA_BLEND_OP_PARAMS =1,
- B2R2_COLOR_KEY_OP_PARMS =2,
- B2R2_ROTATION_OP_PARAMS =3,
- B2R2_CLIP_OP_PARAMS =4,
- B2R2_RESIZE_OP_PARAMS =5,
- B2R2_ROP_OP_PARAMS =6,
- B2R2_COLOR_CONVERSION_OF_PARAMS = 7,
- B2R2_DESTINATION_ADDRESS_OF_PARAMS = 8,
- B2R2_SOURCE_ADDRESS_OF_PARAMS = 9
-
-}B2R2_UPDATE_PARAMS;
-
-
-/**
-
- b2r2 clip mode
-
- Type : Enumeration
-
- Usage: This enum is used to identify clip mode
-
-*/
-
-
-typedef enum
-{
- B2R2_INSIDE_CLIP = 0,
- B2R2_OUTSIDE_CLIP = 1
-
-}B2R2_CLIP_MODE;
-
-
-/**
-
- b2r2 job prority
-
- Type : Enumeration
-
- Usage: This enum is used to identify priority of b2r2 job
-
-*/
-
-
-
-typedef enum
-{
-
-B2R2_PRIORITY_1=0x1,
-B2R2_PRIORITY_2=0x2,
-B2R2_PRIORITY_3=0x4,
-B2R2_PRIORITY_4=0x8,
-B2R2_PRIORITY_5=0xc,
-B2R2_PRIORITY_6=0x10,
-B2R2_PRIORITY_7=0x20
-
-}b2r2_job_priority;
-
-
-
-/**
-
- b2r2 rect
-
- Type : Structure
-
- Usage: This structure is used to define a
- rectangular position.This will
- start from top & left location of a frame.
-
- Member: left: left location
- top : top location
- width: width of rectangle
- height: height of rectangle
-*/
-
-
-
-typedef struct
-{
- unsigned int left;
- unsigned int top;
- unsigned int width;
- unsigned int height;
-
-}B2R2_RECT,*PB2R2_RECT;
-
-
-
-/**
-
- b2r2 point
-
- Type : Structure
-
- Usage: This structure is used to define
- a pixel location in a frame
-
- Member: xpos : x-axis position
- ypos : y-axis position
-*/
-
-
-typedef struct
-{
- unsigned int xpos;
- unsigned int ypos;
-
-}B2R2_POINT,*PB2R2_POINT;
-
-
-
-/**
-
- b2r2 job params
-
- Type : Structure
-
- Usage: This structure is used to define
- job parameters of B2R2
-
- Member: job_logical_address: job logical address
- job_physical_address: job physical address
- job_pace_lna_physical_address: job last node physical address
- job_size: job size
- jobid: job ID
-*/
-
-
-
-typedef struct
-{
- unsigned int job_logical_address;
- unsigned int job_physical_address;
- unsigned int job_pace_lna_physical_address;
- unsigned int job_size;
- unsigned int jobid;
- b2r2_job_priority priority;
-}B2R2_JOB_PARAMS;
-
-
-
-/**
-
- b2r2 colour fill params
-
- Type : Structure
-
- Usage: This structure is used to define
- color fill parameters
-
- Member: enable : enable
- color : color
-*/
-
-
-
-typedef struct
-{
- unsigned char enable;
- unsigned int color;
-
-}B2R2_COLOUR_FILL_PARAMS;
-
-
-/**
-
- b2r2 color key config
-
- Type : Structure
-
- Usage: This structure is used to define
- color configfuration
-
- Member: color :red,green and blue color configurations.
-*/
-
-
-
-typedef struct
-{
- union
- {
- unsigned char red:2;
- unsigned char green:2;
- unsigned char blue:2;
- unsigned char resv:2;
-
- unsigned char val;
- }color;
-
-}B2R2_COLOR_KEY_CONFIG;
-
-
-
-/**
-
- b2r2 colour key params
-
- Type : Structure
-
- Usage: This structure is used to define
- color key parameters
-
- Member: enable :color key enable
- val :color key value
- config :color key configuration
- color :color
-*/
-
-
-
-typedef struct
-{
- unsigned char enable;
- B2R2_COLOR_KEY_SEL sel;
- B2R2_COLOR_KEY_CONFIG config;
- unsigned int color;
-
-}B2R2_COLOUR_KEY_PARAMS;
-
-
-/**
-
- b2r2 blend params
-
- Type : Structure
-
- Usage: This structure is used to define
- blending parameters
-
- Member: enable :blending enable
- val :blending value
- range : blending range
- swap_fg_bg :foreground or background
- premuliplier : premultiplier
-*/
-
-
-typedef struct
-{
- unsigned char enable;
- unsigned char val;
- B2R2_BLEND_ALPHA_RANGE range;
- B2R2_BLEND_SWAP_FG_BG swap_fg_bg;
- B2R2_BLEND_FG_PREMULTIPLIER premuliplier;
-
-}B2R2_BLEND_PARAMS;
-
-
-
-/**
-
- b2r2 rectangular clip params
-
- Type : Structure
-
- Usage: This structure is used to define
- rectangular clipping parameters
-
- Member: enable :rectangular clipping enable
- clip_mode : cliping mode
- rect : cliping rectangle
-
-*/
-
-
-
-
-typedef struct
-{
- unsigned char enable;
- B2R2_CLIP_MODE clip_mode;
- B2R2_RECT rect;
-
-}B2R2_RECTANGULAR_CLIP_PARAMS;
-
-
-
-
-/**
-
- b2r2 rop params
-
- Type : Structure
-
- Usage: This structure is used to define
- rop parameters
-
- Member: enable :rop enable
- logi_op : logical operatiion
-
-*/
-
-
-
-typedef struct
-{
- unsigned char enable;
- b2r2_logical_op logi_op;
-
-}B2R2_ROP_PARAMS;
-
-
-
-/**
-
- b2r2 image data
-
- Type : Structure
-
- Usage: This structure is used to define
- image data
-
- Member: color_format : color format
- physical_address : physical address
- width : width of the image
- height : height of the image
-
-
-*/
-
-
-
-typedef struct
-{
- b2r2_gfx_color_form color_format;
- unsigned int physical_address;
- unsigned int width;
- unsigned int height;
-}B2R2_IMAGE_DATA,*PB2R2_IMAGE_DATA;
-
-
-
-/**
-
- b2r2 postprocessor conf
-
- Type : Structure
-
- Usage: This structure is used to define
- postprocessor configuration
-
- Member: source_chroma_address : chroma address
- source_chroma2_address : chroma 2 address
- source_luma_address : luma address
-
-*/
-
-
-
-typedef struct {
-
- unsigned int source_chroma_address;
- unsigned int source_chroma2_address;
- unsigned int source_luma_address;
-
-} b2r2_postprocessor_conf;
-
-
-/**
-
- b2r2 window params
-
- Type : Structure
-
- Usage: This structure is used to define
- window parameters
-
- Member: src_window : source window
- dst_window : destination window
- clip_window : clip window
-
-*/
-
-
-typedef struct
-{
- B2R2_RECT src_window;
- B2R2_RECT dst_window;
- B2R2_RECT clip_window;
-
-}B2R2_WINDOW_PARAMS;
-
-
-
-/**
-
- b2r2 update params val
-
- Type : Structure
-
- Usage: This structure is used to define
- update parameters
-
- Member: val : val parameter
- window_params : window parameters
- ppp_params : post processor parameters
-
-*/
-
-
-
-typedef struct
-{
- unsigned int val;
-
- B2R2_WINDOW_PARAMS window_params;
- b2r2_postprocessor_conf ppp_params;
-
-}B2R2_UPDATE_PARAMS_VAL;
-
-
-
-/**
-
- b2r2 configuration
-
- Type : Structure
-
- Usage: This structure is used to define
- b2r2 configuraion.Multiple configuartions can be
- used for implementing multiple B2R2 operations
-
- Member: src_image : source image data
- dst_image : destination image data
- src_window : source window
- dst_window : destination window
-
- rotation: rotation parameters
- ppp_conf: post-processor parameters
- color_fill: color fill parameters
- color_key: color key parameters
- alpha_blend:alpha blending parameters
- rect_clip: rectangular clipping parameters
- rop: rop parameters
- job: job parameters
-
- NodeAdress: node addess of configuration
- NodePhysicalAdress: node physical addess of configuration
- last_nodeAdress: last-node addess of configuration
- no_of_nodes: number of nodes of the configuration
-
- is_resize: is resize operation there in configuration
- is_rotation: is rotation operation there in configuration
- is_color_conversion: is color conversion operation there in configuration
- is_color_key_en: is color_key operation there in configuration
- is_alpha_blend_en: is alpha_blend operation there in configuration
- is_rect_clip_en: is rect_clip operation there in configuration
- is_color_fill_en: is color_fill operation there in configuration
- is_rop_ops_en: is rop_ops operation there in configuration
-
-*/
-
-
-
-
-typedef struct
-{
- B2R2_IMAGE_DATA src_image;
- B2R2_IMAGE_DATA dst_image;
- B2R2_RECT src_window;
- B2R2_RECT dst_window;
-
- /** Rotation mode */
- b2r2_postprocessor_rot_type rotation;
- /** post processor configuration */
- b2r2_postprocessor_conf ppp_conf;
- /** Color fill*/
- B2R2_COLOUR_FILL_PARAMS color_fill;
- /** Color key*/
- B2R2_COLOUR_KEY_PARAMS color_key;
- /** Alpha blending*/
- B2R2_BLEND_PARAMS alpha_blend;
- /** Rectangular clipping*/
- B2R2_RECTANGULAR_CLIP_PARAMS rect_clip;
- /** Rop Operations params*/
- B2R2_ROP_PARAMS rop;
-
- B2R2_JOB_PARAMS job;
-
-
- unsigned int NodeAdress;
- unsigned int NodePhysicalAdress;
- unsigned int last_nodeAdress;
- unsigned char no_of_nodes;
- unsigned char is_resize;
- unsigned char is_rotation;
- unsigned char is_color_conversion;
- unsigned char is_color_key_en;
- unsigned char is_alpha_blend_en;
- unsigned char is_rect_clip_en;
- unsigned char is_color_fill_en;
- unsigned char is_rop_ops_en;
-
-
-}b2r2_configuration;
-
-
-
-/**
-
- b2r2 library operation configure
-
- Type : Public API
-
- Usage: Task should invoke this function for one B2R2 configuration
- Libary will make job linked list for the corresponding operation.
- Memory for that particular job is allocated in library itself.
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_configuration :b2r2 library configuration
-
-*/
-
-
-
-int b2r2_library_operation_configure(b2r2_library *library,b2r2_configuration *config);
-
-
-/**
-
- b2r2 library operation deconfigure
-
- Type : Public API
-
- Usage: Task should invoke this function after B2R2 configuraion is no
- more used.It will internal memory deallocation.
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_configuration :b2r2 library configuration
-
-*/
-
-
-
-int b2r2_library_operation_deconfigure(b2r2_library *library,b2r2_configuration *config);
-
-
-
-/**
-
- b2r2 library update params
-
- Type : Public API
-
- Usage: Task should invoke this function if parameter in b2r2 configuartion
- need to be changed without creating a new configuration.
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_configuration :b2r2 library configuration
- In : b2r2_update_params : Update parameters
- In : b2r2_update_params_val: Updated value
-
-*/
-
-void b2r2_library_update_params(b2r2_library *library,b2r2_configuration *config,
- B2R2_UPDATE_PARAMS params,B2R2_UPDATE_PARAMS_VAL *pVal);
-
-
-/**
-
- b2r2 library do operation
-
- Type : Public API
-
- Usage: Task should invoke this function to execute the job with configuration.
- This call will not wait till the job is finished.(non-blocking call)
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_configuration :b2r2 library configuration
-
-*/
-
-
-void b2r2_library_do_operation(b2r2_library *library,b2r2_configuration *config
- );
-
-
-/**
-
- b2r2 library operation done
-
- Type : Public API
-
- Usage: Task should invoke this function to remove the job finshed with configuration.
- This call will self-suspend the called task unless job is finished.(blocking call on suspend)
-
- Parameters: In/Out : b2r2_library :b2r2 library instance handler
- In/Out : b2r2_configuration :b2r2 library configuration
-
-*/
-
-void b2r2_library_operation_done(b2r2_library *library,b2r2_configuration *config);
-
-
-
-#ifdef __cplusplus
-}
-#endif /* _cplusplus */
-
-#endif /* !defined(__B2R2_API_H) */
-