对于ffmpeg源代码的MPEG-4视频,我想在编码和解码期间访问压缩视频帧的残留DCT系数。
我看到AVPacket struct有一个uint8_t* data
字段,并且我发现该字段由可变长度数组组成。但是,除了它是“压缩数据”之外,我还没有找到关于此数组的确切文档。
此数组是否包含残留的DCT系数?
如果是这样,数组中的系数如何组织?假设大多数系数都在压缩帧中被丢弃并且数组是可变长度的,那么看来该数组是某种稀疏表示吗?
如果没有,此数组包含哪些数据?另外,有人可以指出ffmpeg源代码中可以访问DCT系数的函数吗?我一直在尝试从诸如avcodec_send_packet()
和avcodec_receive_frame()
之类的高级函数中追溯,但是在查找访问DCT系数的正确函数时遇到了很多困难。
编辑:具体来说,我使用的是MPEG-4,第2部分。