level 13
最近FFmpeg对H.264解码做了重构和优化,
经过测试,0.46比0.45的解码速度提高了5%~10%
2010年03月13日 03点03分
2
level 13
少部分汇编优化使用gcc(mingw)编译,其余大部分使用VC2010(rc1)编译.
2010年03月14日 01点03分
4
level 13
不过仅仅加入MMX优化效果甚微, 考虑以后要么加入SSE等汇编优化(dll体积会大很多),要么完全不加汇编优化.
2010年03月14日 03点03分
5
level 9
能发布一下你编译用的代码吗?按照LGPL的要求,这个代码是要提供的。
另外SSE2的优化代码是GPL
2010年03月14日 03点03分
6
level 13
这是修改ffmpeg的代码:
h264.c
- if (!FIELD_PICTURE)
- ff_er_frame_end(s);
+// if (!FIELD_PICTURE)
+// ff_er_frame_end(s);
h264.h
-#define ALLOW_INTERLACE
+//#define ALLOW_INTERLACE
2010年03月14日 03点03分
7
level 13
嘛...有些东西不方便直接公开,不过我会尽可能回答一些实现上的问题.
目前仍使用VC6的IDE.
2010年03月15日 04点03分
9
level 9
LGPL里有一条要求
Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work; and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library.
2010年03月15日 04点03分
10
level 13
一开始就知道LGPL了,UCI本可以做成与libavcodec分离的,但考虑到很多原因没这么做,并没什么有价值的东西隐藏在里面,而且目标也没发现二次开发的情况,所以暂时不开源而已.
2010年03月15日 10点03分
11
level 9
那准备什么时候开源呢?
实际上如果不考虑license的问题,可以借用mpc-hc的办法,把需要的directshow滤镜也集成进去,这样可以同时解决视频播放的问题。
2010年03月15日 11点03分
12
level 13
其实我开源的东西都是我感觉写的比较好的代码, 其它的真的不值得拿出去让人看.
这个工程已经1年多,还没看到其他人拿来用作公开的项目,其实本可以不再公开的,如果太在意license.
2010年03月15日 13点03分
13
level 9
问个spec上的问题
UCI里储存的H264帧是Annex B的形式还是MP4里用的那种形式,有没有NAL start code?另外还保留pps和sps吗?
还有关于0~255 vs 16~235的问题,我专门问了x264的作者,他说除非你的设备不支持0~255,否则用0~255永远比16~235好。sps的VUI里有一个flag是表示是否为fullrange的,是否可以加入支持呢?
2010年03月25日 16点03分
14
level 13
UCI帧数据不是MP4里的形式, 无用的 SEI NAL 被丢掉了.
fullrange 计划在 0.5 版应用,并且不再支持16~255, 所以解码器将和之前的版本不再兼容.
2010年03月26日 01点03分
15