From: Stefano Sabatini Date: Sun, 29 Nov 2009 18:02:19 +0000 (+0000) Subject: Use the correct chroma values for the data[] array used in X-Git-Tag: v0.6~2522 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b37aa4de2deb79aeb2b8c52a1696d796cde7ce72;p=coroid%2Fffmpeg_saccubus.git Use the correct chroma values for the data[] array used in draw_slice(). The chroma values to use are supposed to be those of the input format, not that of the output format, the latter case was causing crashes and chroma issues. Originally committed as revision 20660 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 95d2ef1fe..108811a9b 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -115,8 +115,6 @@ static int config_props(AVFilterLink *outlink) av_log(ctx, AV_LOG_INFO, "w:%d h:%d fmt:%s\n", outlink->w, outlink->h, avcodec_get_pix_fmt_name(outlink->format)); - avcodec_get_chroma_sub_sample(outlink->format, &scale->hsub, &scale->vsub); - scale->input_is_pal = inlink->format == PIX_FMT_PAL8 || inlink->format == PIX_FMT_BGR4_BYTE || inlink->format == PIX_FMT_RGB4_BYTE || @@ -132,6 +130,8 @@ static void start_frame(AVFilterLink *link, AVFilterPicRef *picref) AVFilterLink *outlink = link->dst->outputs[0]; AVFilterPicRef *outpicref; + avcodec_get_chroma_sub_sample(link->format, &scale->hsub, &scale->vsub); + outpicref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h); outpicref->pts = picref->pts; outlink->outpic = outpicref;