nystorm 发表于 2015-10-19 16:52:07

NV12转RGB

大家通常转换NV12到RGB的方式是什么呢?除了用CPU以外,有没有用GPU的方法,或者RK有没有提供其他形式的硬件加速。 有开源的或者示例代码最好了。多谢各位

bunchen 发表于 2015-10-21 10:04:17

GPU的话可以使用opencl来做。

nystorm 发表于 2015-10-21 11:40:45

bunchen 发表于 2015-10-21 10:04
GPU的话可以使用opencl来做。

多谢,我找找看有没有示例代码,对这一块不太清楚 

nystorm 发表于 2015-10-23 18:57:38

我找到rk有通过RGA的方式来进行nv12到rgb的转换方式,在 frameworks/av/media/libstagefright/colorconversion目录下. 提取代码出来好像是哪里没设置好,转出来是黑屏.RK关于RGA的文档也缺乏.不知道各位能不能分享一下这一块怎么实现.

bunchen 发表于 2015-10-24 10:32:03

nystorm 发表于 2015-10-23 18:57
我找到rk有通过RGA的方式来进行nv12到rgb的转换方式,在 frameworks/av/media/libstagefright/colorconversi ...

这个看起来还是cpu实现的。

bunchen 发表于 2015-10-24 10:35:41

http://developer.t-firefly.com/thread-2925-1-1.html
参考一下这个

nystorm 发表于 2015-10-24 10:54:45

bunchen 发表于 2015-10-24 10:32
这个看起来还是cpu实现的。

这个名字看起来是software 其实里边有修改过
有类似字符
#define HW_YUV2RGB


char prop_value;
    sf_info *info = sf_info::getInstance();
    RK_CHIP_TYPE mBoardType = (info->get_chip_type());
    rga_fd= open("/dev/rga",O_RDWR,0);
    if (rga_fd > 0) {
      mBoardType = RK30;
    }

static int32_t hwcYuv2Yuv(
            private_handle_t* anb_handle,
            VPU_FRAME *frame ,
            int32_t mWidth,
            int32_t mHeight,
            int32_t rga_fd,
            int32_t flags,
            int32_t transform,
            void* mapper_dst) {
等,看起来像是专有硬件来干这件事,性能应该不错.

jingjin221 发表于 2015-12-16 18:15:38

3288里的IEP模块就是专门进行SCALER操作的

cloudliu 发表于 2016-3-24 15:10:05

楼主,最近我也在研究色彩转换,能交流一下吗? 邮箱 oetc1990@126.com
页: [1]
查看完整版本: NV12转RGB