H264: décoder série d'unités nal avec ffmpeg

J'ai essayé de décoder une série d'unités nal avec ffmpeg (libavcodec) mais je reçois un "non cadre" d'erreur. J'ai produit nal unités à la ligne directrice à Comment coder une série d'images en H264 à l'aide de l'x264 C API?. J'ai essayé de la stratégie suivante pour le décodage:

avcodec_init();  
avcodec_register_all();  
AVCodec* pCodec;  
pCodec=lpavcodec_find_decoder(CODEC_ID_H264);  
AVCodecContext* pCodecContext;  
pCodecContext=lpavcodec_alloc_context();  
avcodec_open(pCodecContext,pCodec);  
AVFrame *pFrame;  
pFrame=avcodec_alloc_frame();
//for every nal unit:    
    int frameFinished=0;  
    //nalData2 is nalData without the first 4 bytes
    avcodec_decode_video(pCodecContext,pFrame,&frameFinished,(uint8_t*) nalData2,nalLength);

J'ai passé toutes les unités, je suis arrivé à ce code mais frameFinished les séjours de 0. Je suppose qu'il doit y avoir quelque chose de mal avec l'pCodecContext de l'installation. Quelqu'un peut m'envoyer un exemple de travail?

Merci

Pour le décodeur pour être capable de décoder de la vidéo, vous avez besoin de nourrir un flux de jeu de paramètres d'image et un jeu de paramètres d'unités NAL avant de pouvoir décoder correctement les tranches ou les cadres.

OriginalL'auteur jsim | 2010-07-20