嵌入式 视频编码(H264)hi3518

本文介绍了嵌入式系统中H264视频编码的基本概念,如主次码流、双码流和通道组,并详细解析了H264编码的相关结构和API,包括编码通道属性、编码属性结构体、编码数字水印结构体等,以及编码通道的创建、销毁、注册和解注册等操作。内容深入浅出,适合嵌入式视频编码开发者参考。
摘要由CSDN通过智能技术生成

这几天在编写视频录制模块,所以,闲暇之余,又粗粗的整理了一下,主要是API,以备不时之用   大笑

    摄像头获取的模拟信号通过经芯片处理(我们使用的是CX25825),将模拟信号转成数字信号,产生标准的ITU 656 YUV格式的数字信号以帧为单位送到编码卡上的DSP和内存中。分别供视频实时预览、移动侦测处理以及编码等使用。其中编码的作用是将编码卡内存中的YUV数据送到H264编码器中,进过H.264编码产生压缩好的码流,送到主机内存中,供录像或网络传输使用。编码模块完成各个协议编码,协调 MD、VPP 相关模块的管理、同步和控制,配合软件调度和硬件共同完成视频编码相关功能。

 

一、重要概念

主次码流

    主次码流是指硬件逻辑单元启动一次同时产生的 路码流即 1 路主码流和 1 路次码流。主码流和次码流可以为不同的编码协议,但其宽高比例都必须满足 1:1、1:2 或 1:4,次码流不能单独存在(必须和 1 路主码流在同一个通道组中) 。

双码流

    双码流是指硬件逻辑单元启动 2 次分时产生的 2 个码流,即 路主码流。双码流可以为不同的编码协议,双码流之间的大小比例没有约束关系。

通道组

通道组是指芯片能够同时处理的编码通道的集合,相当于一个容器。一个通道组最多可同时包含 1 路主码流(H.264/MJPEG) 、1路次码流(H.264/MJPEG) ,或者仅包含 1 路 JPEG抓拍(即 JPEG抓拍时,不允许包含任何其他通道) ,或者 1 路MPEG4 编码通道。

H264

    H.264 的功能分为两层:视频编码层(VCL, VideoCoding Layer)和网络提取层(NAL, NetworkAbstraction LayerVCL数据即编码处理的输出,它表示被压缩编码后的视频数序列。在VCL数据传输或存储之前,这些编码的VCL数据,先被映射或封装进 NAL单元中。每个NAL单元包括一个原始字节序列负荷(RBSP, Raw Byte SequencePayload)、一组对应于视频编码的 NAL 头信息。RBSP 的基本结构是:在原始编码数据的后面填加了结尾比特。一个bit1若干比特“0,以便字节对齐。H.264的编码视频序列包括一系列的NAL单元,每个 NAL单元包含一个RBSP编码片(包括数据分割片 IDR片)和序列RBSP结束符被定义为VCL NAL单元,其余为 NAL 单元。典型的 RBSP 单元序列如图 2 所示。每个单元都按独立的 NAL 单元传送。单元的信息头(一个字节)定义了RBSP 单元的类型,NAL单元的其余部分为 RBSP 数据。


二、相关结构

1.定义编码通道属性结构体:

typedef structhiVENC_CHN_ATTR_S

{

 PAYLOAD_TYPE_E enType; //编码协议类型

 HI_VOID  *pValue;           //编码属性指针

}VENC_CHN_ATTR_S;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值