RGA上屏出现横线
在开发基于vpu硬解的视频广播方案过程中,遇到RGA上屏时出现横线的问题,具体现象如下:1、如果使用JPEG硬解并使用RGA上屏,不会出现横线2、如果使用H264硬解并使用RGA(YUV转RGB并上屏)上屏,有时会出现横线
3、为ffmpeg添加h264硬解,使用ffplay播放视频时不会出现横线,但如果在上屏前,在解码的帧上添加一些图片时会出现大量的横线
图片如下
干嘛要用RGA去做YUV转RGB 直接显示YUV不就好了。 isle 发表于 2016-3-19 09:17
干嘛要用RGA去做YUV转RGB 直接显示YUV不就好了。
RGA把YUV转成RGB然后写到FB0上,再说屏幕貌似只支持RGB吧?
你说的是啥意思,其它上屏方式(SDL)速度太慢,行不通的。 isle 发表于 2016-3-19 09:17
干嘛要用RGA去做YUV转RGB 直接显示YUV不就好了。
直接写fb0的速度也很慢,必需得用rga显示,速度才能满足需求。
使用的代码
if (ioctl(rgacxt->rga_fd, RGA_BLIT_SYNC, (char *)&rga_req) != 0) {
RGA_ERR("ioctl failed\n");
return 1;
}
将YUV转RGA并上屏 isle 发表于 2016-3-19 09:17
干嘛要用RGA去做YUV转RGB 直接显示YUV不就好了。
详细代码如下:
static int rga_display(SDL_Overlay *overlay, SDL_Rect* rect)
{
static int start_display= 0;
if (!start_display)
{
start_display=1;
int fb_size = rect->w*rect->h*4;
char* fb_addr = open_fb(fb_size);
int rga_fd = rga_init(overlay->w, overlay->h, fb_addr, rect->w, rect->h);
g_fb_info.rga_fd = rga_fd;
}
rga_scale(g_fb_info.rga_fd, (char**)overlay->pixels);
return(0);
}
static int rga_scale(int fd, char **src)
{
Rga_Request.src.yrgb_addr =(int)(src);
Rga_Request.src.uv_addr =(int)(src);
Rga_Request.src.v_addr =(int)(src);
if(ioctl(fd, RGA_BLIT_SYNC, &Rga_Request) != 0) {
printf("ioctl rga error!!\n");
exit(-1);
return-1;
}
return 0;
}
大神帮忙瞅瞅 楼主,最近我也在研究rga,可否一起交流,邮箱 oetc1990@126.com Android 上有直接显示YUV的方法。速度很快。网上找找。 cloudliu 发表于 2016-3-24 15:08
楼主,最近我也在研究rga,可否一起交流,邮箱
rga资料很少的,我也不太懂
页:
[1]