Hi all,
I have encoder and decoder application in separate projects. I use x264 to
encode the incoming frames and use libav to decode them. If the frame has a
specific resolution like 1366 x 768, the decode frame contains extra black
border at the right side of the frame. I have debugged it and realized that the
av_pic.linesize[0] is 50 more than the linesize during the encoding.
Here is the code:
lengthDec = avcodec_decode_video2(c1, av_pic, &pic, &pkt); if
(pic)
{
avpicture_fill((AVPicture *)rgbFrame, RGBimg, PIX_FMT_RGB32, w, h);
sws_scale(ctx, av_pic->data, av_pic->linesize, 0, h, rgbFrame->data,
rgbFrame->linesize);
}
So, in this code, I decode the packet and convert the decoded data into the
rgb.
Why does the avcodec_decode_video2 returns a padded linesize?
Could anyone tell me how I can eliminate the black border?
Thanks.
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user