2013-02-27 6 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

Сообщение печатается кодеком/vc1dec.c, в функции vc1_decode_init(). Эта функция инициализирует декодер VC1/WMV3. В этот момент он проанализировал заголовок WMV3 и считает, что файл имеет заголовок последовательности, хранящийся в extradata; также, что расширенный заголовок последовательности может быть до первого кадра; и, наконец, окончательный байт extradata - это номер версии.

Эта интерпретация может быть неточной, поскольку она основана на комментариях как лишенных пунктуации и капитализации, как e. е. стихи поэзии.

Судя только из исходного кода, «то, что означает это сообщение», просто состоит в том, что заголовок был одним байтом дольше, чем ожидалось, и что это значение байта было равно нулю. (Как однажды сказал мудрый человек, отлаживайте код, а не комментарии.)

 Смежные вопросы

  • Нет связанных вопросов^_^