Sergey, I did not - is that supposed to do the trick? Would we need a parser in that scenario?
On Sun, Jul 7, 2013 at 12:13 AM, Sergey Fedorov < [email protected]> wrote: > Did you try using CODEC_FLAG2_CHUNKS? > > > 2013/7/6 Attila Sukosd <[email protected]> > >> Hi guys, >> >> There was this thread about decoding NALUs one-by-one with >> parser2/decode2 and I'm having exactly the same issue. >> >> I have x264 creating a bunch of NALUs, in annex_b and repeate_headers, >> and trying to decode them one by one on the client side. When I concatenate >> all the NALUs per frame into one large packet, and feed that directly into >> avcodec_decode_video2, everything is fine, the decode is successful. >> However, when I try to feed single NALs directly to >> avcodec_decode_video2, it spits out a bunch of errors. After searching for >> a while on the net, I read some place that certain types of NALs affect the >> rest of the data stream, and they need to be group together. >> I've tried to run the NALs through av_parser_parse2 and tried to decode >> the output buffer when the output size was larger than zero, however, after >> looking at the output buffer contents, it seems like while the output size >> seems reasonable (around the size of the NALs or a combination of a number >> of previous NALs), the output buffer content contains 3-4 bytes, and the >> rest is zero. >> >> The decoding looks like this: >> >> ret = av_parser_parse2(decoder->pParserCtx, decoder->pCodecCtx, >> decoder->tmp_data, &outsize, buff, size, 0, 0, AV_NOPTS_VALUE); >> printf("%p buff, %p outdata, consumed %d, %d bufsize, %d outsize\n", >> buff, decoder->tmp_data,ret, size, outsize); >> disp_buff(decoder->tmp_data, 50); >> >> if (outsize <= 0) return 0; >> >> decoder->avpkt.flags = AV_PKT_FLAG_KEY; >> decoder->avpkt.data = decoder->tmp_data; >> decoder->avpkt.size = outsize; >> >> got_picture = 0; >> if ((ret = avcodec_decode_video2(decoder->pCodecCtx, decoder->pFrame, >> &got_picture, &decoder->avpkt)) < 0) { >> LOGE(__FUNCTION__, "H264 decoding failed!\n"); >> return -1; >> } >> >> >> Could someone shed some light on if I'm really off the right track? or am >> I just missing something very trivial? >> >> >> Best Regards, >> >> Attila >> >> _______________________________________________ >> Libav-user mailing list >> [email protected] >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> > > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user > > -- -- Faraz Khan Simple Collaboration Screensharing www.screenhero.com
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
