NV12转RGB

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

GPU的话可以使用opencl来做。

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

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

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

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

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

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

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

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

#define HW_YUV2RGB

char prop_value[PROPERTY_VALUE_MAX];
    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) {

等,看起来像是专有硬件来干这件事,性能应该不错.

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

楼主,最近我也在研究色彩转换,能交流一下吗? 邮箱 oetc1990@126.com