LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: MatthewGong

将AVS1-P2 Decoder项目移植到linux下

[复制链接]
 楼主| 发表于 2006-3-18 14:31:40 | 显示全部楼层
尝试了一下djcom的播放器。呵呵,SDL比较方便呀。有时间开来需要学习一下。

下载时有点怪,我下来了XXX.php,但file一下确实是.tar.gz文件。我就改了个名用起来。

编译时有两个小问题:
1. SDL.h的位置,我的是<SDL/SDL.h>
2. DWORD没有定义。

播放时的问题是我无法用Ctrl-C关闭它

播放的时间也比正常速度快(是不是我的机子好?)。能不能调整一下?AVS好象是60HZ的频率?

谢谢 djcom,如果有时间的话,希望能更完善一些
回复 支持 反对

使用道具 举报

发表于 2006-3-18 16:09:12 | 显示全部楼层
呵呵,考虑不周。已经按楼主大大意见修改,可以escape退出程序。
我觉得播放的速度不快吧?现在是没有加上时间控制,是全速执行。
我的P4-2.4G感觉有点慢。
好象应该能达到上千frame.
不过,我也不太懂流媒体的东东。
回复 支持 反对

使用道具 举报

发表于 2006-3-21 03:08:37 | 显示全部楼层

AVS的gstreamer插件

周末动手给AVS写了个gstreamer的插件。为了给totem用,所以还是基于gstreamer-0.8。下载地址:http://members.shaw.ca/woolzey/avs.tar.gz

由于缺乏AVS文档,再加上对gstreamer不熟悉,因此目前只能简单的播放/暂停,没有其他高级功能。

也因为没有编码器,这个插件目前也没啥实用价值,所以我也没写安装脚本。手动安装的方法见README文件。
回复 支持 反对

使用道具 举报

发表于 2006-3-21 14:25:34 | 显示全部楼层

求教阿

我也是热衷于我国自主产权的人,我下载了他们的例子,VC++6.0下编译后,出了很多的警告,而且,在播放文件的时候好慢阿。全是慢镜头。那位高手能告诉我是为什么啊
回复 支持 反对

使用道具 举报

发表于 2006-3-21 17:16:58 | 显示全部楼层

打算做成MPLAYER的codec插件

大家久等了。
现在空闲时间在都做这件事,目前完成了第一步。
第一步是做了个AVS的ES流转AVI文件的工具,见附件。MPlayer必需能认得这个文件的容器(例如mp4或者avi等)才能到下一步的解码。
下一步就是改vd.c,改codecs.conf文件这些事情了。
之所以采用mplayer主要是因为它的video out模块支持我所钟爱的DirectFB,可以支持硬件overlay和deinterlace。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-3-25 17:05:05 | 显示全部楼层

新人,请多指教。我把AVS移到LINUX下,就是慢

用SDL播放,连解带播那个720x576的测试码流是这样的:
AMD 1.4GCPU 256m 14fps
P4 2.4GCPU  256 M WIN2000 VMWARE linux 下是18FPS
直接用它在WINDOWS上的代码做RELEASE版本也就是 16FPS

大家解的速度都这么慢吗?

FFMPEG的MMX 汇编IDCT有用吗?需要优化!!!

THANKS
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-25 22:01:53 | 显示全部楼层
mathkelon, 他们发布的源代码中, 只有字节顺序交换的一个函数用了汇编(还被我替换调了........)

速度确实很慢,没有用多媒体指令集, ......看来只是原理的展示, 距离实用还有距离.

但在我的机子上, 运行时比正常速率快.

有兴趣的可以分析一下 解码与渲染各花费了多少时间.

P4 2.4GCPU 256 M WIN2000 VMWARE linux 下是18FPS
直接用它在WINDOWS上的代码做RELEASE版本也就是 16FPS

这个比较搞笑. 可能是他们发布的播放器的图像渲染方式太差了.
回复 支持 反对

使用道具 举报

发表于 2006-3-26 13:20:08 | 显示全部楼层
大家都说慢,所以这个周末我就试图对代码做些优化。不过动手之后发现,在不大改程序结构,不知道算法的情况下,光优化代码的效果不是很好。

原始代码在我的机器上(Althon 64 3400+)上用gcc加-O2编译后,解码stream.avs需要126秒,其中CPU计算时间大改占2/3,其他是磁盘之类的开销。
用SSE2指令改写了其中比较费时间的几个函数之后,解码时间缩短为114秒,优化幅度有限。考虑到还有不少函数我没有动,初步估计最多还能优化10秒。即使这样,速度也不过如此。

所以,我的结论是只做代码级优化并没有多大价值。目前这个速度,跟其他同等级的视频解码相比也没有质的区别。解码不流畅的话,最好的方法还是升级机器。
回复 支持 反对

使用道具 举报

发表于 2006-3-27 10:23:16 | 显示全部楼层
P4 2.4GCPU 256 M WIN2000 VMWARE linux 下
只解码不放是23-24FPS,

这个片子正常播放是25FPS吗
回复 支持 反对

使用道具 举报

发表于 2006-3-27 13:03:47 | 显示全部楼层
这个要么是编译的问题,要么是vmware的问题。在我的笔记本(P-M 1.6G 512M)上纯解码大概在35fps左右。我用totem播放的话也很流畅,虽然风扇在拼命转。

P4 2.4G不应该是这个速度。

Post by mathkelon
P4 2.4GCPU 256 M WIN2000 VMWARE linux 下
只解码不放是23-24FPS,

这个片子正常播放是25FPS吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表