diff options
author | Kostya <kostya.shishkov@gmail.com> | 2011-08-13 16:44:04 +0000 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-08-15 11:53:40 +0200 |
commit | 428c59d9114ac97754f2bc06d07c4d1ba1860464 (patch) | |
tree | 39f0ff8a4d1c3a1906be68c54913a4bd227845b0 /avconv.c | |
parent | 24efdea7fd024431f8ddd2b08c9390eba08c91f1 (diff) | |
download | ffmpeg-428c59d9114ac97754f2bc06d07c4d1ba1860464.tar.gz |
avtools: reinitialise filter chain when input video stream changes dimensions
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'avconv.c')
-rw-r--r-- | avconv.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1211,7 +1211,20 @@ static void do_video_out(AVFormatContext *s, sws_scale(ost->img_resample_ctx, formatted_picture->data, formatted_picture->linesize, 0, ost->resample_height, final_picture->data, final_picture->linesize); } +#else + if (resample_changed) { + avfilter_graph_free(&ost->graph); + if (configure_video_filters(ist, ost)) { + fprintf(stderr, "Error reinitialising filters!\n"); + exit_program(1); + } + } #endif + if (resample_changed) { + ost->resample_width = dec->width; + ost->resample_height = dec->height; + ost->resample_pix_fmt = dec->pix_fmt; + } /* duplicates frame if needed */ for(i=0;i<nb_frames;i++) { |