Commit b37aa4de authored by Stefano Sabatini's avatar Stefano Sabatini

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
parent 8aeb3322
...@@ -115,8 +115,6 @@ static int config_props(AVFilterLink *outlink) ...@@ -115,8 +115,6 @@ static int config_props(AVFilterLink *outlink)
av_log(ctx, AV_LOG_INFO, "w:%d h:%d fmt:%s\n", av_log(ctx, AV_LOG_INFO, "w:%d h:%d fmt:%s\n",
outlink->w, outlink->h, avcodec_get_pix_fmt_name(outlink->format)); 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 || scale->input_is_pal = inlink->format == PIX_FMT_PAL8 ||
inlink->format == PIX_FMT_BGR4_BYTE || inlink->format == PIX_FMT_BGR4_BYTE ||
inlink->format == PIX_FMT_RGB4_BYTE || inlink->format == PIX_FMT_RGB4_BYTE ||
...@@ -132,6 +130,8 @@ static void start_frame(AVFilterLink *link, AVFilterPicRef *picref) ...@@ -132,6 +130,8 @@ static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
AVFilterLink *outlink = link->dst->outputs[0]; AVFilterLink *outlink = link->dst->outputs[0];
AVFilterPicRef *outpicref; 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 = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h);
outpicref->pts = picref->pts; outpicref->pts = picref->pts;
outlink->outpic = outpicref; outlink->outpic = outpicref;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment