On Tue, Jun 09, 2015 at 11:53:03PM +0200, Andreas Cadhalpun wrote: > Inconsistencies between the dimensions of avctx and the frame can > confuse API users. For example this can crash the demuxing_decoding > example. > > Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> > --- > libavcodec/h264.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/libavcodec/h264.c b/libavcodec/h264.c > index 9a00214..d1eaa5e 100644 > --- a/libavcodec/h264.c > +++ b/libavcodec/h264.c > @@ -1757,6 +1757,8 @@ static int h264_decode_frame(AVCodecContext *avctx, > void *data, > if (ret < 0) > return ret; > *got_frame = 1; > + avctx->width = pict->width; > + avctx->height = pict->height; > }
iam not sure this is not breaking something, other parts of the h264 decoder expect this to be set relative to the last frame in coding order. also avctx->pix_fmt would then still potentially not match the last output frame, also pix_fmt has the same problem as above ive fixed one use of width/height not to depend on the AVCodecContext value but a 2nd remains [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Old school: Use the lowest level language in which you can solve the problem conveniently. New school: Use the highest level language in which the latest supercomputer can solve the problem without the user falling asleep waiting.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel