Edit online

物理内存使用情况

H264 解码所需的物理连续内存如下所示:
内存占用模块 计算方式 说明
输入码流 - 大小由应用层配置
输出帧 width*height*3/2*frame_num frame_num 至少需要(参考帧个数+1)个显示占用个数可由应用层通过 config 结构体中的 extra_frame_num 配置
帧内预测(需要上一行数据) 帧格式:width*2

MBAFF:width*4

-
宏块信息 固定 12K -
dblk 模块(上一个宏块行最后 4 行数据) 帧格式:width*8

MBAFF:width*16

-
co-located 信息 固定 68K -
每一帧 located 数据缓存 (width/16)*(height/16)*32*frame_num -
注:

co-located 两个 buffer,I、P 帧解码时会往 buffer 里写数据,B 帧解码时从 buffer 读数据。 如果当前码流中没有 B 帧,这两块内存也需要申请。