|
从xvid.org下载了xvid最新版的源码。想用它对视频数据进行编解码。按照example包里的程序,我照着试了一下。
我用的是qcif(176x144,YUV420,90帧)的标准的测试序列,我用xvid_encore(调用enc_main)对序列进行编码(这个倒是很顺利的,也不知道对不对,源文件是3421440字节,压缩后变成了272688字节,我在每帧解出来的数据前自己加了一个头),然后再用xvid_decore(调用dec_main)进行解码,这儿就出问题了。
dec_main(unsigned char *istream, unsigned char *ostream, int istream_size,xvid_dec_stats_t *xvid_dec_stats )
这儿我应该理解的不对,我依次将前面压缩出来的每一帧及其长度作为istream,和istream_size,结果却发现dec_main的返回值竟然比istream_size还要小,我本来认为解出来的值应该是原始YUV一帧数据的大小(38016字节),大概是概念性的错误吧。我又看了一下它的代码,输出格式好像是pnm或者tag格式的。搞不清楚怎么回事情了。
想问一下我对dec_main三个参数的理解是否有误,这个函数的返回值是什么意思,如果我想用前面经过我压缩的数据从新解回yuv数据该怎么做? |
|