1:
10:
11:
15:
16:
#ifndef PGPMGRCOMMONH
17:
#define PGPMGRCOMMONH
18:
19:
#include "pgp/pgpmgr.h"
20:
21:
22:
typedef struct _PgpMgrContext {
23: _Bool pipeline_time_sharing_enable;
24: _Bool jpeg_output_enable;
25: uint32_t jpeg_output_pipeline;
26: uint32_t num_pipeline_handles;
27:
AG903_PgpMgrPipelineHandle pipeline_handles[
AG903_PGP_MGR_MAX_PIPELINE_HANDLE];
28: uint32_t num_vram_input_handles;
29:
AG903_PgpMgrVRAMInputHandle vram_input_handles[
AG903_PGP_MGR_MAX_VRAMI_HANDLE];
30: uint32_t num_frame_calc_handles;
31:
AG903_PgpMgrFrameCalcHandle frame_calc_handles[
AG903_PGP_MGR_MAX_FRAME_CALC_HANDLE];
32: uint32_t num_dgc_lut;
33:
AG903_PgpMgrDGCLookupTable dgc_lut[
AG903_PGP_MGR_MAX_DGC_LUT];
34:
AG903_PgpMgrPipelineHandle *assign_pipeline[
AG903_PGP_MGR_PIPELINE_NUM];
35:
AG903_PgpMgrVRAMInputHandle *assign_vram[
AG903_PGP_MGR_VRAMI_NUM];
36:
AG903_PgpMgrPipelineHandle *exec_pipeline[
AG903_PGP_MGR_PIPELINE_NUM];
37:
AG903_PgpMgrVRAMInputHandle *exec_vram[
AG903_PGP_MGR_VRAMI_NUM];
38:
PGPMGRCALLBACK intr_input_func[
AG903_PGP_MGR_PIPELINE_NUM];
39:
PGPMGRCALLBACK intr_output_func[
AG903_PGP_MGR_PIPELINE_NUM];
40:
PGPMGRCALLBACK intr_done_func[
AG903_PGP_MGR_PIPELINE_NUM];
41:
PGPMGRCALLBACK intr_vram_error_func[
AG903_PGP_MGR_PIPELINE_NUM];
42:
PGPMGRCALLBACK intr_lbl_error_func[
AG903_PGP_MGR_PIPELINE_NUM];
43:
PGPMGRCALLBACK intr_hgm_error_func[
AG903_PGP_MGR_PIPELINE_NUM];
44:
PGPMGRCALLBACK intr_nd_func[
AG903_PGP_MGR_PIPELINE_NUM];
45:
PGPMGRCALLBACK intr_ifc_ovf_func[
AG903_PGP_MGR_PIPELINE_NUM];
46:
PGPMGRCALLBACK intr_input_line_func[
AG903_PGP_MGR_PIPELINE_NUM];
47:
PGPMGRCALLBACK intr_output_line_func[
AG903_PGP_MGR_PIPELINE_NUM];
48:
PGPMGRCALLBACK intr_lbl_done_func[
AG903_PGP_MGR_PIPELINE_NUM];
49:
PGPMGRCALLBACK intr_hgm_done_func[
AG903_PGP_MGR_PIPELINE_NUM];
50: int32_t intr_hdr_id[
AG903_PGP_MGR_PIPELINE_NUM];
51: } PgpMgrContext;
52:
53:
extern PgpMgrContext *PgpGetContext(
void);
54:
extern void PgpMgrInitPipelineHandle(
AG903_PgpMgrPipelineHandle *handle);
55:
extern void PgpMgrInitVRAMInputHandle(
AG903_PgpMgrVRAMInputHandle *handle);
56:
extern int32_t PgpMgrAssignPipelineHandle(
AG903_PgpMgrPipelineHandle *handle);
57:
extern int32_t PgpMgrAssignFrameCalcHandle(
AG903_PgpMgrFrameCalcHandle *handle);
58:
extern int32_t PgpMgrForceAssignPipelineHandle(
AG903_PgpMgrPipelineHandle *handle, uint32_t pipeline);
59:
extern int32_t PgpMgrForceAssignFrameCalcHandle(
AG903_PgpMgrFrameCalcHandle *handle, uint32_t pipeline);
60:
extern int32_t PgpMgrCheckAssignPipelineHandle(
AG903_PgpMgrPipelineHandle *handle, uint32_t pipeline);
61:
extern int32_t PgpMgrExecPipelineHandle(
AG903_PgpMgrPipelineHandle *handle, uint32_t cmd);
62:
extern int32_t PgpMgrExecFrameCalcHandle(
AG903_PgpMgrFrameCalcHandle *handle, uint32_t cmd);
63:
extern void PgpMgrExecVRAMInputHandle(
AG903_PgpMgrVRAMInputHandle *handle, uint32_t cmd);
64:
extern void PgpMgrGetPresetColorSpaceParameter(uint32_t format, uint32_t *limit, uint32_t *shift, int32_t *mtx);
65:
extern void *PgpMgrAnalyzeLabelingTable(
void *src, uint32_t tbl_num, uint32_t *out_tbl_num);
66:
extern void PgpMgrReleaseLabelingTable(
void *tbl);
67:
extern void PgpMgrSetIntr(
void);
68:
extern void PgpMgrResetIntr(
void);
69:
70:
#endif
71:
72: