On Thu, Sep 2, 2010 at 3:58 PM, Alex Grosu <[email protected]> wrote: > Hello > > I am currently decoding h264 streams (with libavcodec) and I am stuck with > the logic for SPS (sequence parameter set) and PPS (picture parameter set). > The board from which I am receiving the packages is sending a NAL unit in > each packet. The sequence for NAL types is: > 7(SPS) 8(PPS) 5 1 1 1 1 7 8 5 1 1 1... > I am putting in front of each NAL the start sequence 0x000001 and sending > this packet to avcodec_decode_video2. When 7 and 8 types are coming, I am > doing the same logic, but avcodec_decode_video2 is returning -1. After this, > all the received NALs are decoded and the images are displayed. Every time > when SPS and PPS are coming, avcodec_decode_video2 returns -1 (fails). I > searched all over the net , and I still can't understand how to fill up the > extradata and extradata_size from AVCodecContext used. All I found is this > link: http://www.mail-archive.com/[email protected]/msg04939.html. > As I saw from here: > "To decode H.264 stream you need to have SPS and PPS NAL units also .". Ok, > I have them, but frankly I don't know how to use them. At first, I thought > that avcodec_decode_video2 will "automatically" use them. But returning -1, > I don't see how. Also, If I am discarding SPS and PPS from sending them to > libavcodec, nothing is decoded anymore. > Can you please give me a hint? > Thank you a lot ! > _______________________________________________ > libav-user mailing list > [email protected] > https://lists.mplayerhq.hu/mailman/listinfo/libav-user >
Hi, I think you should read H.264 bit stream structure and use these tools to analyze a NAL unit of H.264 bitstream. http://www.codecian.com/ http://tsviatko.jongov.com/index_prj_h264videoesviewer.htm When FFmpeg decode a NAL unit, if the nal_unit_type equal 7,8 it will continue decode to find the IDR nal_unit. In your case, I think that FFmpeg found SPS, PPS but it can not find IDR thus it returns -1. Hope it helps. Huy. _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
