2013-02-27 28 views
0

当我打电话avformat_find_stream_info()为WMV文件,下面的消息总是看出:
[WMV3 00FAEAE0]额外数据: 8位离开,值:0对于WMV文件avformat_find_stream_info()表示 “额外数据:8位左,值:0” 消息

之后,该计划按预期工作,但无论如何,我想知道是什么意思的消息?谢谢!

文件信息(通过的ffmpeg -i):

Duration: 00:00:06.92, start: 0.000000, bitrate: 1514 kb/s 
Stream #0:0(rus): Audio: wmav2 (a[1][0][0]/0x0161), 44100 Hz, stereo, fltp, 128 kb/s 
Stream #0:1(rus): Video: wmv3 (Main) (WMV3/0x33564D57), yuv420p, 720x576, 1368 kb/s, SAR 16:15 DAR 4:3, 25 tbr, 1k tbn, 1k tbc 

代码:

AVFormatContext* pFormatCtx = avformat_alloc_context(); 
if (avformat_open_input(&pFormatCtx, "file.wmv", NULL, NULL) < 0) 
    return 0; 
if (avformat_find_stream_info(pFormatCtx, NULL) < 0) // HERE WE HAVE GOT THAT MESSAGE 
    return 0; 

回答

0

该消息由使用libavcodec/vc1dec.c印刷,在功能vc1_decode_init()。该功能初始化VC1/WMV3解码器。此时,它解析了WMV3头文件,并认为该文件的序列头存储在extradata中;此外,高级序列标题可能在第一帧之前;最后,extradata的最后一个字节是一个版本号。

这种解释可能是不准确的,因为它是基于评论作为标点符号和大写字母作为e。即cummings诗歌。

虽然纯粹从源代码判断,但“这个消息的含义”仅仅是一个头比预期长一个字节,而且该字节的值为零。 (正如一位智者所说,调试代码,而不是评论。)