2013-02-27 4 views
0

Quand j'appelle avformat_find_stream_info() pour les fichiers wmv, le message suivant est toujours vu:
[WMV3 00FAEAE0] Données supplémentaires: 8 bits restants, la valeur: 0Pour les fichiers WMV avformat_find_stream_info() indique "données supplémentaires: 8 bits à gauche, la valeur: 0" un message

Ensuite, le programme fonctionne comme prévu, mais de toute façon je voudrais savoir ce que signifie ce message? Je vous remercie!

Information fichier (par 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 

code:

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; 

Répondre

0

Le message est imprimé par libavcodec/vc1dec.c, en fonction vc1_decode_init(). Cette fonction initialise un décodeur VC1/WMV3. À ce stade, il analyse l'en-tête WMV3 et pense que le fichier a un en-tête de séquence stocké dans l'extradata; également, que l'en-tête de séquence avancée peut être avant la première trame; et enfin, que l'octet final de l'extradata est un numéro de version.

Cette interprétation peut être inexacte, parce qu'il est basé sur les commentaires de la ponctuation comme dénuées et capitalisation comme e. e. Cummings poésie.

A en juger uniquement à partir du code source, cependant, « ce message signifie que » est tout simplement qu'un en-tête est un octet plus long que prévu, et que la valeur de cet octet est égal à zéro. (Comme l'a dit un sage, déboguer le code, pas les commentaires.)

Questions connexes