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
This commit is contained in:
Stefano Sabatini 2009-11-29 18:02:19 +00:00
parent 8aeb33225a
commit b37aa4de2d
1 changed files with 2 additions and 2 deletions

View File

@ -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;