You need to manually call avpicture_deinterlaceto deinterlace each decoded frame. The definition of a function can be found here . Basically it will look (using the variables from the first page of the tutorial):
avcodec_decode_video(pCodecCtx, pFrame, &frameFinished,
packet.data, packet.size);
if(frameFinished) {
avpicture_deinterlace((AVPicture*)pDiFrame,
(const AVPicture*)pFrame,
pCodecCtx->pix_fmt,
width,
height);
.
.
.
}
, pDiFrame , pFrameRGB , avcodec_alloc_frame avpicture_fill, : (pCodecCtx->pix_fmt), 24- RGB.
RGB, .