xvid_decore 函数,在解码时有两个疑问

zylthinking 2007-10-30 03:55:47
xvid_decore 函数,在解码时有两个疑问:
1 . 如果输出缓冲区不足以存放解码后的图象会发生什么情况? 是不是造成越界??
2. 在一段代码里我发现了调用xvid_decore前(yv12), 只设置了output.plane[0], 和output.stride[0], 为什么其他两个平面没有设置呢, 如果发生这种情况, 是不是意味着xvid根据plane[0]自动计算其他两个地址?


还有, 在官方自带的例子中, 似乎是实时解码的, 也就是说, 当调用xvid_decore完成后, 如果解出一帧,则返回值是该帧解码前的长度, 然后例子将输入缓冲指针自增该bytes, 也就是说那一段缓冲就是对应的解码前的数据, 而且, 该代码将这一段缓冲区存在文件里, 命名为frame%d.mp4v, 因此, 我认为作者就是认为是实时解码的, 如果解码出来的帧和消耗的数据不对应的话, 那么将该段数据存在文件里就是错误的---不能保证该段数据是一个有效帧。

但如果说实时解码, 在B帧这种情况下, 则明显不对劲, 因为要解码B帧是需要后继的帧的。 怎么也不可能实时解码出来。 这该怎么解释呢
...全文
354 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
y12835 2008-11-25
  • 打赏
  • 举报
回复
有谁知道下面代码是什么意思吗?
if ((!paused)||(resized)) //pause = 0 or resize = 1
{
if (((SDL_GetTicks()-lastftick)>fpsdelay)||(resized))
{
lastftick=SDL_GetTicks();
…………
zylthinking 2007-12-20
  • 打赏
  • 举报
回复
哎呀, 给错了, tinck_74 对不起了, 把给你的分错给了做广告的了
tongzhi123 2007-12-18
  • 打赏
  • 举报
回复
出售 点对点音视频组件
采用DELPHI开发的OCX组件,可方便嵌入任意软件中.
UDP通讯,可穿透国内70%的nat网络,无法穿透的采用服务器中转方式进行通讯.
视频编码采用mpeg4,音频编码采用g.11
组件集成视频缩放功能.
只用对软件作出很小的改动,即可让你的软件增加音视频聊天功能.
e-mail:tongzhi24.126.com
tongzhi123 2007-12-18
  • 打赏
  • 举报
回复
顶一个...
tinck_74 2007-12-15
  • 打赏
  • 举报
回复
1:解码器一般会开一个很大的缓冲区来保证不会越界,如果缓冲区开小了,程序结果不可预料。
2:常规情况下xvid根据plane[0]自动计算其他两个地址。
3:编码器那边会处理B帧的时序问题,解码器只是按照顺序解码,必要时调整一下输出顺序。
aoosang 2007-11-05
  • 打赏
  • 举报
回复
jie fen
zylthinking 2007-10-31
  • 打赏
  • 举报
回复
又一个问题, 在第一个图片帧解码前, 解出来的是VOL, 但我输入的流的长度是 n, 返回的消耗的长度居然是n + 1, 也不知怎么回事

2,543

社区成员

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

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