[Libav-user] AVCodecContext: width/height info changes after avcodec_open()?
Martin Lambers
marlam at marlam.de
Mon Oct 3 20:18:59 CEST 2011
Hi all,
I have a problem getting the correct width/height with a few video files.
After avformat_open_input(), the AVCodecContext entries for the video
stream report the following:
width/height: 1920x1080
coded_width/coded_height: 1920x1088
The difference of 8 pixels in height is presumably used to get a
multiple of 16.
But after calling avcodec_open() for that AVCodecContext, both value
pairs report the same:
width/height: 1920x1088
coded_width/coded_height: 1920x1088
Using these width/height values results in additional 8 gray pixel lines
at the bottom of each displayed frame. This also happens with FFplay
(from 0.8.5).
As a workaround, I now save the initial width/height information and use
that if it differs from the values after avcodec_open(). But is that
correct? Will this break in the future?
FFplay does not seem to use coded_width/coded_height at all. Does this
mean a video player program should always only use width/height? What
should be done when the two differ?
Martin
More information about the Libav-user
mailing list