[Ffmpeg-devel] Image blurs in case of packet loss when using h.263 codec

Zhang Yong z-yong163
Sat Jun 11 15:12:30 CEST 2005

Dear all,


Recently, I am trying to use libavcodec to develop a network video
application under Windows. Because it is a video conferencing application, I
chose the h.263 codec, and used the UDP transport protocol to transfer the
encoded data on the network. But since UDP is not a reliable protocol,
whenever packet loss occurs, there are serious image blurs on the decoded
image of the receiver.


The blurred image is *attached*. I don't know whether this is an inherent
property of the h.263 codec. If so, how can I avoid image blurs in case of
packet loss? I have been tangled with this issue for about two weeks. It
will be very appreciated if anybody could help me out. Thanks.


The following is my code to decode frames:


BOOL RecvVideoWnd::decodeOneFrame(LPBYTE data, int size)


         int got_picture;

         int n = avcodec_decode_video(decoder, yuvFrame, &got_picture, data,

         if (n < 0 || !got_picture)

                   return FALSE;


         img_convert((AVPicture *) rgbFrame, PIX_FMT_RGB24,

                   (AVPicture *) yuvFrame, decoder->pix_fmt,

                   videoFormat.biWidth, videoFormat.biHeight);


         // Repaint the receiver window


         return TRUE;



void RecvVideoWnd::onDataReceived(LPBYTE data, int size)


         uint8_t *outbuf;

         int outbuf_size;

         int len;


         while (size > 0) {

                   len = av_parser_parse(parser, decoder, &outbuf,

                            (LPBYTE) data, size, AV_NOPTS_VALUE,

                   if (outbuf_size > 0)

                            decodeOneFrame(outbuf, outbuf_size);


                   data += len;

                   size -= len;



-------------- next part --------------
A non-text attachment was scrubbed...
Name: blurs.png
Type: image/png
Size: 39445 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20050611/c8a662c6/attachment.png>

More information about the ffmpeg-devel mailing list