请教ffmpeg中h.264丢包的处理

zhang_jiang 2008-06-17 10:08:15
我把ffmpeg的h264.c中的ff_er_frame_start, ff_er_add_slice, ff_er_frame_end都置为空:
#define ff_er_frame_start
#define ff_er_add_slice
#define ff_er_frame_end

在固定丢包率下(10%,都是整个slice丢掉),解出来的图像并没有出现预期灰色的块,而是似乎拷贝了上个参考帧的内容。而我追踪了h264.c的内容却没有找到相关的部分,比较奇怪,请教高手这是怎么回事。

谢谢!
...全文
614 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_jiang 2008-06-20
  • 打赏
  • 举报
回复
谢谢大家!
前2天比较忙,今天来结贴。
正如sandmangu所言,AVCodecContext里面有个internal_buffer[i]->base[0-4]用来存解码后的像素图像。而解1帧开始处会复用这里的内存。而被选中重用的内存不一定存储的是参考帧,也不一定上1帧。
我是在Windows下用Cygwin编译的ffmpeg。
sandmangu 2008-06-20
  • 打赏
  • 举报
回复
linux下面用gdb或者gdb insight也很方便
robin_ee 2008-06-19
  • 打赏
  • 举报
回复
hi,请问你是在什么环境下调试ffmpeg,在linux下吗? 还是windows下.不知道有没有必要把ffmpeg live包全部搬到vc 7.0下面,这样调试会很方便.
Oversense 2008-06-19
  • 打赏
  • 举报
回复
还用拷贝末,缺省就是上一个
zhang_jiang 2008-06-19
  • 打赏
  • 举报
回复
谢谢回复!
我按你的提示先看看代码。
sandmangu 2008-06-18
  • 打赏
  • 举报
回复
没特别研究过 不过一般解码frame buffer都不是每解一个frame都会临时malloc一块的,所以里面通常会放着上一次解码出来的frame的数据
zhang_jiang 2008-06-17
  • 打赏
  • 举报
回复
回复就有分,分不够可再开贴补。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧