You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.8 KiB

/*
* @Author: Jacky
* @Date: 2024-06-19 10:37:58
* @LastEditors: Jacky
* @LastEditTime: 2024-09-27 11:17:29
* @FilePath: /GeneralTracker/Adaptation/PlatformDefine.h
*/
#ifndef _PLATFORM_DEFINE_H_
#define _PLATFORM_DEFINE_H_
typedef enum _gd_pixel_format_e
{
GD_PIXEL_FORMAT_NONE = 0,
GD_PIXEL_FORMAT_YUV420P,
GD_PIXEL_FORMAT_YUV422P,
GD_PIXEL_FORMAT_NV12,
GD_PIXEL_FORMAT_NV21,
GD_PIXEL_FORMAT_NV16,
GD_PIXEL_FORMAT_NV61,
GD_PIXEL_FORMAT_RGB_PLANAR,
GD_PIXEL_FORMAT_BGR_PLANAR,
GD_PIXEL_FORMAT_RGB_PACKED,
GD_PIXEL_FORMAT_BGR_PACKED,
GD_PIXEL_FORMAT_GRAY_Y8,
GD_PIXEL_FORMAT_GRAY_Y16,
GD_PIXEL_FORMAT_GRAY_Y16Y8,
GD_PIXEL_FORMAT_BUTT
} GD_PIXEL_FORMAT_E;
typedef struct _gd_video_frame_s
{
unsigned int u32Width;
unsigned int u32Height;
GD_PIXEL_FORMAT_E enPixelFormat;
unsigned int u32Stride[3];
unsigned long long u64PhyAddr[3];
unsigned char* u64VirAddr[3];
unsigned int u32TimeRef;
unsigned int u32FrameCnt;
void* private_data;
void* param_data;
} GD_VIDEO_FRAME_S;
inline float fixelBite(GD_PIXEL_FORMAT_E format){
float val = 1.0;
switch (format)
{
case GD_PIXEL_FORMAT_YUV420P:
case GD_PIXEL_FORMAT_NV12:
case GD_PIXEL_FORMAT_NV21:
val = 1.5;
break;
case GD_PIXEL_FORMAT_YUV422P:
case GD_PIXEL_FORMAT_GRAY_Y16:
val = 2.0;
break;
case GD_PIXEL_FORMAT_RGB_PLANAR:
case GD_PIXEL_FORMAT_BGR_PLANAR:
case GD_PIXEL_FORMAT_RGB_PACKED:
case GD_PIXEL_FORMAT_BGR_PACKED:
val = 1.0;
break;
case GD_PIXEL_FORMAT_GRAY_Y16Y8:
val = 3.0;
break;
case GD_PIXEL_FORMAT_GRAY_Y8:
val = 1.0;
break;
default:
break;
}
return val;
}
#endif