Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- decode_h264(const uint8_t* in_buf, int in_buf_size, uint8_t** out_buf, int* out_buf_size,UserRenderInfo &userInfo)
- {
- while(in_buf_size > 0)
- {
- int len = 0;
- len = av_parser_parse2(userInfo.pDecoderParserContext,userInfo.pCodecCtx, &m_avpkt.data, &m_avpkt.size, in_buf, in_buf_size, 0, 0, 0);
- in_buf += len;
- in_buf_size -= len;
- if(m_avpkt.size > 0)
- {
- int res;
- res = avcodec_decode_video2(userInfo.pCodecCtx, userInfo.pFrame,&got_picture,&m_avpkt);
- av_free_packet(&m_avpkt);
- if (got_picture)
- {
- sws_scale(userInfo.decoderConvertCtx, userInfo.pFrame->data, userInfo.pFrame- >linesize , 0, userInfo.pFrame->height, userInfo.pOutFrame->data, userInfo.pOutFrame->linesize);
- *out_buf_size = userInfo.pOutFrame->linesize[0];
- *out_buf = userInfo.pOutFrame->data[0];
- }
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement