Use getCachedContext instead getContext to support resolution change. Patch by Glenn A. Serre

Originally committed as revision 9873 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Glenn A. Serre 2007-08-03 18:44:44 +00:00 committed by Alex Beregszaszi
parent 3e5008a922
commit 1a3f0ca2e0

View File

@ -1252,8 +1252,7 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts)
pict.linesize[0] = vp->bmp->pitches[0];
pict.linesize[1] = vp->bmp->pitches[2];
pict.linesize[2] = vp->bmp->pitches[1];
if (img_convert_ctx == NULL) {
img_convert_ctx = sws_getContext(is->video_st->codec->width,
img_convert_ctx = sws_getCachedContext(img_convert_ctx, is->video_st->codec->width,
is->video_st->codec->height, is->video_st->codec->pix_fmt,
is->video_st->codec->width, is->video_st->codec->height,
dst_pix_fmt, sws_flags, NULL, NULL, NULL);
@ -1261,7 +1260,6 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts)
fprintf(stderr, "Cannot initialize the conversion context\n");
exit(1);
}
}
sws_scale(img_convert_ctx, src_frame->data, src_frame->linesize,
0, is->video_st->codec->height, pict.data, pict.linesize);
/* update the bitmap content */