您当前的位置: 首页 > 

DS小龙哥

暂无认证

  • 9浏览

    0关注

    679博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用FFMPEG的sws_scale函数实现各种原始颜色格式互转(YUV\RGB\)

DS小龙哥 发布时间:2020-05-07 18:25:21 ,浏览量:9

一、环境介绍

FFMPEG版本: 4.2.2 

测试系统:ubuntu18.04

二、示例代码
/*
YUYV转QImage格式
*/
QImage YUYV422_TO_QImage(uint8_t *yuyv422,int image_width,int image_height)
{
    uint8_t *out_buffer= nullptr;
    AVFrame *Input_pFrame= nullptr;
    AVFrame *Output_pFrame = nullptr;
    struct SwsContext *img_convert_ctx=nullptr;  //用于解码后的视频格式转换
    /*1. 申请空间*/
    Output_pFrame = av_frame_alloc();  //存放RGB数据的缓冲区
    Input_pFrame = av_frame_alloc();//存放YUV数据的缓冲区
    /*2.设置转码参数*/
    img_convert_ctx=sws_getContext(image_width, image_height,AV_PIX_FMT_YUYV422,
                                   image_width, image_height,AV_PIX_FMT_RGB24,
                                   SWS_BICUBIC, nullptr, nullptr, nullptr);
    /*3. 申请转码需要空间*/
    //获取转码后数据需要的内存空间大小
    int numBytes = avpicture_get_size(AV_PIX_FMT_RGB24,image_width,image_height);
    //
关注
打赏
1664009229
查看更多评论
立即登录/注册

微信扫码登录

0.0404s