Hi, I have a multi threaded video application using x264 and ffmpeg. In the decoding flow, I have a question on av_parser_parse2.
I use it as below. int len = 0; len = av_parser_parse2(m_pDecoderParserContext,m_pCodecCtx,&avpkt.data,&avpkt.size,in_buf, in_buf_size,0,0,0); Here I get the return value len = in_buf_size. But the avpkt.data is not getting filled in. It gets zero, so is the avpkt.size To check if the error is due to the usage of AVPacket, I changed it to uint8_t* pOutBuf = new uint8_t[50000]; memset(pOutBuf,5,50000); int iOutSize = 100; len = av_parser_parse2(m_pDecoderParserContext,m_pCodecCtx,&pOutBuf,&iOutSize_buf, in_buf_size,0,0,0); Here, av_parser_parse2 changed the '5' returned to all the pOutBuf locations to zero and the output size varable also got set as 0. I tried a uint8_t pointer without any memory allocated as well. Nothing gives me a valid output pointer, but in all cases, the parsing happens for the entire input variable ( as indicated by the return value of the function). Could any of you please give me more information on this? Thanks in advance, Shiju
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
