SemiDrive SSDK Appication Program Interface PTG3.0
Data Structures | Functions
asw.h File Reference
#include <types.h>
#include <FreeRTOS.h>
#include <semphr.h>
#include "asw_g_use.h"
#include "asw_lut_hvk.h"

Go to the source code of this file.

Data Structures

struct  asw_config
 
struct  dst_info
 
struct  src_info
 
struct  lut_info
 
struct  cubic_info
 
struct  ext_info
 
struct  adb_info
 
struct  circular_buf
 
struct  asw_input
 
struct  asw_ba_info
 
struct  asw_rot
 
struct  asw_ratria
 
struct  asw_dev
 
struct  asw_operations
 

Functions

void sdrv_asw_cubic (struct asw_input *input)
 
void sdrv_asw_cubic_with_hvkt (struct asw_input *input, struct hvkt_param *hvkt)
 
void sdrv_asw_bilinear (struct asw_input *input)
 
void sdrv_asw_bilinear_noblock (struct asw_input *input)
 
void sdrv_asw_bilinear_with_hvkt (struct asw_input *input, struct hvkt_param *hvkt)
 
void sdrv_asw_bilinear_ftob32 (const float *faddr, int *b32, int len)
 
void sdrv_asw_bilinear_ftob16 (const float *faddr, short *b16, int len)
 
void sdrv_asw_bilinear_rotation (struct asw_rot *rot)
 
void sdrv_asw_ra_triangle (struct asw_ratria *info)
 
void sdrv_asw_fill_rect (int fmt, int color, int hsize, int vsize, int pos_x, int pos_y, int addr, int stride)
 

Detailed Description

Macro Definition Documentation

◆ FMT_YUV422_UYVY

#define FMT_YUV422_UYVY   9

◆ FMT_YUV422_VYUY

#define FMT_YUV422_VYUY   10

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FMT_MONOTONIC_8BIT 
FMT_RGB_YUV888_PLANAR 
FMT_YUV422_PLANAR 
FMT_YUV420_PLANAR 
FMT_RGB565 
FMT_RGBA5551 
FMT_ARGB1555 
FMT_RGB_YUV888 
FMT_YUV422_SEMI_U0V0 
FMT_YUV422_SEMI_V0U0 
FMT_RGBA8888 
FMT_ARGB8888 
FMT_YUV422_YUYV 
FMT_YUV422_YVYU 

◆ anonymous enum

anonymous enum
Enumerator
LB_LAYOUT_A 
LB_LAYOUT_B 

◆ anonymous enum

anonymous enum
Enumerator
LUT_MODE_BILINEAR 
LUT_MODE_CUBIC_SPLINE 

◆ anonymous enum

anonymous enum
Enumerator
EXT_LUT_FORMAT_16BIT 
EXT_LUT_FORMAT_32BIT 

◆ anonymous enum

anonymous enum
Enumerator
CUBIC_MODE_INT_ASM 
CUBIC_MODE_EXT_ASM 

◆ anonymous enum

anonymous enum
Enumerator
C_ENTRY_TYPE_8X4 
C_ENTRY_TYPE_8X8 
C_ENTRY_TYPE_16X4 
C_ENTRY_TYPE_16X8 
C_ENTRY_TYPE_32X4 

◆ anonymous enum

anonymous enum
Enumerator
BUF_SIZE_8LINES 
BUF_SIZE_16LINES 
BUF_SIZE_32LINES 
BUF_SIZE_64LINES 

◆ anonymous enum

anonymous enum
Enumerator
FLIP_TYPE_NONE 
FLIP_TYPE_HFLIP 
FLIP_TYPE_VFLIP 
FLIP_TYPE_HVFLIP 

◆ TRIAG_YTPE

enum TRIAG_YTPE
Enumerator
TRIAG_LEFT_TOP 
TRIAG_LEFT_BOTTOM 
TRIAG_TYPE_RIGHT_TOP 
TRIAG_TYPE_RIGHT_BOTTOM 

Function Documentation

◆ sdrv_asw_bilinear()

void sdrv_asw_bilinear ( struct asw_input input)

sdrv asw bilinear.

This function performs warp task with bilinear spline lookup tables.

Parameters
[in]inputAll the configuration information of ASW for controlling.

◆ sdrv_asw_bilinear_ftob16()

void sdrv_asw_bilinear_ftob16 ( const float *  faddr,
short *  b16,
int  len 
)

sdrv asw bilinear ftob16.

Covert data from float type to short type.

Parameters
[in]faddrsource data array point with float data type.
[in]b16dst data array point with short data type.
[in]lenconvert data length.

◆ sdrv_asw_bilinear_ftob32()

void sdrv_asw_bilinear_ftob32 ( const float *  faddr,
int *  b32,
int  len 
)

sdrv asw bilinear ftob32.

Covert data from float type to int type.

Parameters
[in]faddrsource data array point with float data type.
[in]b32dst data array point with int data type.
[in]lenconvert data length.

◆ sdrv_asw_bilinear_noblock()

void sdrv_asw_bilinear_noblock ( struct asw_input input)

sdrv asw bilinear noblock.

This function performs warp task with bilinear spline lookup tables.

Parameters
[in]inputAll the configuration information of ASW for controlling.

◆ sdrv_asw_bilinear_rotation()

void sdrv_asw_bilinear_rotation ( struct asw_rot rot)

sdrv asw bilinear rotation.

Image rotation with bilinear algorithm.

Parameters
[in]rotrotation infomation.

◆ sdrv_asw_bilinear_with_hvkt()

void sdrv_asw_bilinear_with_hvkt ( struct asw_input input,
struct hvkt_param hvkt 
)

sdrv asw bilinear with hvkt.

This function performs warp task with bilinear spline h/v keystone infomation.

Parameters
[in]inputAll the configuration information of ASW for controlling the ASW’s work.
[in]hvkth/v keystone information.

◆ sdrv_asw_cubic()

void sdrv_asw_cubic ( struct asw_input input)

sdrv asw cubic.

This function performs warp task with cubic spline lookup table.

Parameters
[in]inputAll the configuration information of ASW for controlling the ASW’s work.

◆ sdrv_asw_cubic_with_hvkt()

void sdrv_asw_cubic_with_hvkt ( struct asw_input input,
struct hvkt_param hvkt 
)

sdrv asw cubic with hvkt.

This function performs warp task with cubic spline h/v keystone infomation.

Parameters
[in]inputAll the configuration information of ASW for controlling the ASW’s work.
[in]hvkth/v keystone information.

◆ sdrv_asw_fill_rect()

void sdrv_asw_fill_rect ( int  fmt,
int  color,
int  hsize,
int  vsize,
int  pos_x,
int  pos_y,
int  addr,
int  stride 
)

sdrv asw fill rect.

This function can fill rectangle with single color.

Parameters
[in]fmtbuffer format.
[in]colorB:bit[31:24], G:bit[23:16], R:bit[15:8], A:bit[7:0].
[in]hsizethe active size of width.
[in]vsizethe active size of height.
[in]pos_xthe position of x in buffer.
[in]pos_ythe position of y in buffer.
[in]addrbuffer base address.
[in]stridebuffer pitch.

◆ sdrv_asw_probe()

void sdrv_asw_probe ( struct asw_dev dev,
const struct asw_config asw_cfg 
)

◆ sdrv_asw_ra_triangle()

void sdrv_asw_ra_triangle ( struct asw_ratria info)

sdrv asw ra triangle.

This function can draw right-angled triangle.

Parameters
[in]inforight-angled triangle infomation.

Variable Documentation

◆ aswdev

struct asw_dev aswdev
extern

◆ is_asw_done

int is_asw_done
extern