Firefly开源社区

打印 上一主题 下一主题

RGA上屏出现横线

40

积分

0

威望

0

贡献

技术小白

积分
40

RGA上屏出现横线

发表于 2016-3-18 15:57:09      浏览:10844 | 回复:7        打印      只看该作者   [复制链接] 楼主
在开发基于vpu硬解的视频广播方案过程中,遇到RGA上屏时出现横线的问题,具体现象如下:1、如果使用JPEG硬解并使用RGA上屏,不会出现横线
2、如果使用H264硬解并使用RGA(YUV转RGB并上屏)上屏,有时会出现横线
3、为ffmpeg添加h264硬解,使用ffplay播放视频时不会出现横线,但如果在上屏前,在解码的帧上添加一些图片时会出现大量的横线


图片如下



回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-3-19 09:17:16        只看该作者  沙发
干嘛要用RGA去做YUV转RGB 直接显示YUV不就好了。
回复

使用道具 举报

40

积分

0

威望

0

贡献

技术小白

积分
40
发表于 2016-3-21 09:28:37        只看该作者  板凳
isle 发表于 2016-3-19 09:17
干嘛要用RGA去做YUV转RGB 直接显示YUV不就好了。

RGA把YUV转成RGB然后写到FB0上,再说屏幕貌似只支持RGB吧?
你说的是啥意思,其它上屏方式(SDL)速度太慢,行不通的。
回复

使用道具 举报

40

积分

0

威望

0

贡献

技术小白

积分
40
发表于 2016-3-21 10:06:43        只看该作者  地板
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并上屏
回复

使用道具 举报

40

积分

0

威望

0

贡献

技术小白

积分
40
发表于 2016-3-21 11:13:21        只看该作者  5#
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[0]);
    Rga_Request.src.uv_addr =  (int)(src[1]);
    Rga_Request.src.v_addr =  (int)(src[2]);
    if(ioctl(fd, RGA_BLIT_SYNC, &Rga_Request) != 0) {
        printf("ioctl rga error!!\n");
        exit(-1);
        return  -1;
    }

    return 0;
}

大神帮忙瞅瞅
回复

使用道具 举报

49

积分

0

威望

0

贡献

技术小白

积分
49
发表于 2016-3-24 15:08:46        只看该作者  6#
楼主,最近我也在研究rga,可否一起交流,邮箱 oetc1990@126.com
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-3-25 09:19:03        只看该作者  7#
Android 上有直接显示YUV的方法。速度很快。网上找找。
回复

使用道具 举报

40

积分

0

威望

0

贡献

技术小白

积分
40
发表于 2016-3-28 10:22:13        只看该作者  8#
cloudliu 发表于 2016-3-24 15:08
楼主,最近我也在研究rga,可否一起交流,邮箱

rga资料很少的,我也不太懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表