Copyright © Allwinner Technology. All Rights Reserved. - 1 -
AWCodec 开发参考手则
V1.2
2013-11-27
Copyright © Allwinner Technology. All Rights Reserved. - 2 -
Revision History
Version Date Changes compared to previous issue
1.0 2013/09/12
创建初始版本
1.1 2013/09/26
修正了编码库中的 BUG,增加了编码 Demo
1.2 2013/11/27
编码加入裁剪接口,MJPEG 编码,移动侦测和码率控
制,增加了库的版本号接口,更新了编解码 Demo
Copyright © Allwinner Technology. All Rights Reserved. - 3 -
目录
1. 概述...............................................................................................................................................................5
1.1. 编写目的............................................................................................................................................5
1.2. 使用范围............................................................................................................................................5
1.3. 目标读者............................................................................................................................................5
2. 模块介绍.......................................................................................................................................................6
2.1. 模块功能介绍....................................................................................................................................6
2.2. 相关术语介绍....................................................................................................................................6
2.3. 模块配置介绍....................................................................................................................................6
2.4. 源码结构介绍....................................................................................................................................7
3. 架构介绍.......................................................................................................................................................8
3.1. 系统架构介绍....................................................................................................................................8
4. 接口描述.......................................................................................................................................................9
4.1. 公共模块函数定义........................................................................................................................... 9
4.1.1. 函数定义:int cedarx_hardware_init(int mode);..................................................................9
4.1.2. 函数定义:int cedarx_hardware_exit(int mode);................................................................. 9
4.2. 编码模块函数定义........................................................................................................................... 9
4.2.1. 函数定义:cedarv_encoder_t* cedarvEncInit()................................................................... 9
4.2.2. 函数定义:void cedarvEncExit(cedarv_encoder_t* handle)............................................... 9
4.2.3. 数据结构:cedarv_encoder_t..............................................................................................10
4.2.4. 数据结构:VENC_IO_COMMAND..................................................................................10
4.2.5. 数据结构:VencAllocateBufferParam................................................................................11
4.2.6. 数据结构:VencInputBuffer............................................................................................... 12
4.2.7. 数据结构:VencOutputBuffer.............................................................................................12
4.2.8. 数据结构:VencBaseConfig............................................................................................... 13
4.2.9. 数据结构:VencSeqHeader.................................................................................................14
4.2.10. 数据结构:VencProfileLevel............................................................................................14
4.2.11. 数据结构:VencQPrange.................................................................................................. 14
4.2.12. 数据结构:VencIntraRefresh............................................................................................15
4.2.13. 数据结构:VencTargetBitrate........................................................................................... 15
4.2.14. 数据结构:VENC_PIXEL_FMT......................................................................................15
4.2.15. 数据结构:VENC_CODEC_TYPE..................................................................................16
4.2.16. 数据结构:__pic_enc_result.............................................................................................16
4.2.17. 数据结构:CROP_INFO.................................................................................................. 16
4.3. 解码模块函数定义......................................................................................................................... 17
4.3.1. 函数定义:cedarv_decoder_t* cedarvDecInit(s32 *ret).................................................... 17
4.3.2. 函数定义:s32 cedarvDecExit(cedarv_decode_t *handle)................................................17
4.3.3. 数据结构:cedarv_decoder_t..............................................................................................17
Copyright © Allwinner Technology. All Rights Reserved. - 4 -
4.3.4. 数据结构:cedarv_stream_info_t....................................................................................... 19
4.3.5. 数据结构:CEDARV_IO_COMMAND............................................................................ 20
4.3.6. 数据结构:cedarv_stream_data_info_t.............................................................................. 22
4.3.7. 数据结构:cedarv_picture_t............................................................................................... 22
4.3.8. 数据结构:cedarv_quality_t............................................................................................... 24
4.3.9. 数据结构:cedarv_result_e.................................................................................................24
4.3.10. 数据结构:cedarv_pixel_format_e...................................................................................25
4.3.11. 数据结构:cedarv_stream_format_e................................................................................ 26
4.3.12. 数据结构:CDX_VIDEO_STREAM_TYPE...................................................................27
5. DEMO......................................................................................................................................................... 27
5.1. 编码 Demo.......................................................................................................................................27
5.1.1. 目录结构.............................................................................................................................. 27
5.1.2. 代码片段分析...................................................................................................................... 27
5.2. 解码 Demo.......................................................................................................................................30
5.2.1. 目录结构..............................................................................................................................30
5.2.2. 代码片段分析...................................................................................................................... 30
6. DECLARATION........................................................................................................................................34
Copyright © Allwinner Technology. All Rights Reserved. - 5 -
1. 概述
1.1.编写目的
让需要使用 AWCodec 编解码中间件进行开发的开发人员熟悉该中间件的使用方法
1.2.使用范围
A10s、A13、A20 芯片, Linux/Android 平台
1.3. 目标读者
使用编解码进行开发的同事和客户
评论10