我需要一个简单和快速的视频编解码器与alpha支持作为替代Quicktime动画,对常规视频有可怕的压缩率。简单和快速的视频编码/解码
由于我还没有找到任何好的开源编码器/解码器与alpha支持,我一直在试图写自己的(从huff-yuv灵感)。
我的策略是:
- 转换为YUVA420
- 减去当前帧从以前的(无需关键帧)。
- 霍夫曼编码上一步的结果。将每个帧拆分为64x64块,并为每个块创建一个新的huffman表并对其进行编码。
有了这个策略,我实现了体面的压缩率60-80%。我可能可以通过在步骤1之后将每帧分割成块来提高压缩率,并且将运动向量添加到减少来自步骤2的数据输出。然而,比60%更好的压缩率比性能更低。
四核cpu可接受的压缩速度60ms /帧。
但是,解码速度受到影响,40ms /帧(在完全cpu使用情况下几乎不实时)。
我的问题是,是否有一种方法来压缩视频,解码速度快得多,但仍能获得体面的压缩率?
解码huffman编码的符号似乎相当缓慢。我还没有尝试过使用表查找,但不确定表查找是否是一个好主意,因为我为每个块都有一个新的huffman表,并且构建查找表非常昂贵。据我已经能够找出它不可能使用任何SIMD或GPU功能。有其他选择吗?请注意,它不一定是无损的。
您想使用希尔伯特曲线而不是莫顿曲线。 – Bytemain 2011-05-31 22:31:32