obs-item-pos-transform
+ -

格式转换

2024-12-19 1 0

格式转换的的是YUV转成RGB,需要相应的纹理和对应的着色器资源视图

video->convert_textures[0] =gs_texture_create(ovi->output_width, ovi->output_height, GS_R8, 1, NULL, GS_RENDER_TARGET);

const struct video_output_info *info =video_output_get_info(video->video);
switch (info->format)
{
case VIDEO_FORMAT_I420:
    video->convert_textures[1] = gs_texture_create(ovi->output_width/2, ovi->output_height/2,GS_R8, 1, NULL, GS_RENDER_TARGET);
    video->convert_textures[2] = gs_texture_create(ovi->output_width/2, ovi->output_height/2,GS_R8, 1, NULL, GS_RENDER_TARGET);
    if (!video->convert_textures[2])
        return false;
    break;
case VIDEO_FORMAT_NV12:
    video->convert_textures[1] = gs_texture_create(ovi->output_width/2, ovi->output_height/2,GS_R8G8, 1, NULL, GS_RENDER_TARGET);
    break;
case VIDEO_FORMAT_I444:
    video->convert_textures[1] = gs_texture_create(ovi->output_width, ovi->output_height, GS_R8, 1,    NULL, GS_RENDER_TARGET);
    video->convert_textures[2] = gs_texture_create(ovi->output_width, ovi->output_height, GS_R8, 1,    NULL, GS_RENDER_TARGET);
    if (!video->convert_textures[2])
        return false;
    break;
default:
    break;
}

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!