xHiveAI-A311D:图片color space的转换和resize操作

A311D芯片集成了硬件模块来实现图片的color space转换和resize操作。可以实现多路并发地处理,最大处理路数取决于内存DMA buffer的大小(在kernel中配置)。目前板子配置的DMA buffer大小为256MB。

按照下面的步骤来实现你的图片color space的转换和resize操作:

1)请参考文章:开发环境准备

2)请参照代码树/pic_convert/src 下的color_space.example来实现color space转换的功能

      参考代码如下:

#include "amlpic.h"

PicSetting_t pic_color_space;

AMLPIC_HANDLE_t colorSpaceHandle;

pic_color_space.op = PIC_OP_FORMAT_CONVERT;
/*the decoded video frame from hardware decoder is PIC_FORMAT_NV12*/
pic_color_space.config_t.fmt_con.src_format  = <PicFormat_t定义的图片像素格式>;
pic_color_space.config_t.fmt_con.dest_format = <PicFormat_t定义的图片像素格式>;
pic_color_space.config_t.fmt_con.width       = <图片的宽度>;
pic_color_space.config_t.fmt_con.height      = <图片的高度>;

//在开始图片转换前初始化
colorSpaceHandle = amlPicInit(&pic_color_space);

while (一帧一帧图片数据输入) {
    //amlpic.h的注释来调用处理函数
    amlPicProc();
}

//所有图片处理完成后,释放colorSpaceHandle
amlPicRelease(colorSpaceHandle);

3)请参照代码树/pic_convert/src 下的pic_resize.example来实现resize图片大小的功能

      参考代码如下:

#include "amlpic.h"

PicSetting_t pic_scale;

AMLPIC_HANDLE_t picScaleHandle;

pic_scale.op = PIC_OP_SCALE;
pic_scale.config_t.pic_scl.format      = <PicFormat_t定义的图片像素格式>;
pic_scale.config_t.pic_scl.src_width   = <原始的图片宽度>;
pic_scale.config_t.pic_scl.src_height  = <原始的图片高度>;

pic_scale.config_t.pic_scl.dest_width  = <resize之后的图片宽度>;
pic_scale.config_t.pic_scl.dest_height = <resize之后的图片高度>;

//在开始图片resize前初始化
picScaleHandle = amlPicInit(&pic_scale);

while (一帧一帧图片数据输入) {
    //amlpic.h的注释来调用处理函数
    amlPicProc();
}

//所有图片处理完成后,释放picScaleHandle
amlPicRelease(picScaleHandle);

4)参照Makefile.example改写Makefile文件后,编译代码。scp到板子侧来运行。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值