发明名称 一种注入解码器数据的管理方法
摘要 本发明公开了一种注入解码器数据的管理方法,包括以下步骤:在内存中划分一块先进先出缓冲区fifobuffer,待解码的数据首先写入fifobuffer;在高速缓冲寄存器cache中划分一块缓冲区cachebuffer,用于从fifobuffer中读取数据,以及将数据写入至解码器缓冲区。本注入解码器数据的管理方法,通过在内存中划分出一块缓冲区,将注入解码器的数据首先注入进缓冲区,进行管理,有效防止了数据丢失、以及音视频的播放不流畅、马赛克、丢帧等现象。
申请公布号 CN102495810B 申请公布日期 2014.12.17
申请号 CN201110446657.7 申请日期 2011.12.28
申请人 青岛海信宽带多媒体技术有限公司 发明人 张维
分类号 G06F12/08(2006.01)I;H04N19/00(2014.01)I 主分类号 G06F12/08(2006.01)I
代理机构 青岛联智专利商标事务所有限公司 37101 代理人 李升娟
主权项 一种注入解码器数据的管理方法,其特征在于,包括以下步骤:在内存中划分一块先进先出缓冲区fifobuffer,待解码的数据首先写入fifobuffer;待解码的数据从fifobuffer取出时,包括以下步骤:(21)、接收到取出数据量为c的命令;(22)、比较fifobuffer中数据量d与c的大小关系,确定读取数据量为e的数据,其中e为d和c中的较小者;(23)、修改读出指针out;在高速缓冲寄存器cache中划分一块缓冲区cachebuffer,用于从fifobuffer中读取数据,以及将数据写入至解码器缓冲区, cachebuffer从fifobuffer中读取数据时,包括以下步骤:(31)、判断现有数据控制状态是开始状态、sleep状态、还是stop状态,若是开始状态,则执行步骤(32),若是sleep状态,则执行步骤(41),若是stop状态,则执行步骤(42);(32)、计算cachebuffer剩余空间;(33)、如果cachebuffer剩余空间大小为0,则返回步骤(32);否则继续步骤(34);(34)、查看当前fifobuffer中数据大小;(35)、如果cachebuffer剩余空间小于fifobuffer数据大小,继续步骤(36);否则继续步骤(37);(36)、在fifobuffer里面取cachebuffer剩余空间大小的数据,放到cachebuffer里面;(37)、在fifobuffer里面取现有所有的fifobuffer数据,放在cachebuffer里面;(38)、修改cachebuffer的写入指针producer;(39)、从cachebuffer中取出数据注入解码器中;(40)、修改cachebuffer的读出指针comsumer;(41)、延时一定时间后,返回步骤(31);(42)、停止解码器注入任务。
地址 266100 山东省青岛市崂山区株洲路151号