xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkisp_demo/demo/rkRgaApi.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifdef Android
2 #include <utils/Singleton.h>
3 #include <RockchipRga_Android.h>
4 #else
5 #include "RockchipRga.h"
6 #endif
7 #include "rkRgaApi.h"
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #ifndef Android
14 static RockchipRga rkRga;
15 #endif
16 
rkRgaInit()17 void rkRgaInit()
18 {
19 #ifndef Android
20     rkRga.RkRgaInit();
21 #endif
22 }
23 
rkRgaBlit(struct rkRgaCfg * src_cfg,struct rkRgaCfg * dst_cfg)24 int rkRgaBlit(struct rkRgaCfg *src_cfg, struct rkRgaCfg *dst_cfg)
25 {
26     int ret = 0;
27 
28 #ifdef Android
29     android::RockchipRga& rkRga(android::RockchipRga::get());
30 #endif
31 
32     /********** rga_info_t Init **********/
33     rga_info_t src;
34     rga_info_t dst;
35 
36     memset(&src, 0, sizeof(rga_info_t));
37     src.fd = src_cfg->fd;
38     src.mmuFlag = 1;
39     src.virAddr = src_cfg->addr;
40 
41     memset(&dst, 0, sizeof(rga_info_t));
42     dst.fd = dst_cfg->fd;
43     dst.mmuFlag = 1;
44     dst.virAddr = dst_cfg->addr;
45 
46     /********** set the rect_info **********/
47     rga_set_rect(&src.rect, 0, 0, src_cfg->width, src_cfg->height, src_cfg->width/*stride*/, src_cfg->height, src_cfg->fmt);
48     rga_set_rect(&dst.rect, 0, 0, dst_cfg->width, dst_cfg->height, dst_cfg->width/*stride*/, dst_cfg->height, dst_cfg->fmt);
49 
50     /************ set the rga_mod ,rotation\composition\scale\copy .... **********/
51 #if 0
52     src.rotation = 0;
53     src.rotation = HAL_TRANSFORM_ROT_90;
54     src.rotation = HAL_TRANSFORM_ROT_180;
55     src.rotation = HAL_TRANSFORM_ROT_270;
56     src.rotation = HAL_TRANSFORM_FLIP_V;
57     src.rotation = HAL_TRANSFORM_FLIP_H;
58 #endif
59 
60     /********** call rga_Interface **********/
61     ret = rkRga.RkRgaBlit(&src, &dst, NULL);
62     if (ret) {
63 	    printf("rgaFillColor error : %s\n", strerror(errno));
64     }
65 
66     return ret;
67 }
68 
69 #ifdef __cplusplus
70 };
71 #endif
72