diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-08-15 23:35:53 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-08-15 23:35:53 +0200 |
commit | 1a34478b7183b1a08caab7eac56b452609725736 (patch) | |
tree | 4ddae5c3407716d83b592694cdabbdb3dff3041f /ffplay.c | |
parent | 6ae356c9a0987d56f60137f9784afcb3a9303037 (diff) | |
parent | cc73511e8e81b2e1454f406acb71da9fd1c60d32 (diff) | |
download | ffmpeg-1a34478b7183b1a08caab7eac56b452609725736.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
Fix NASM include directive
dsputil_mmx: Honor HAVE_AMD3DNOW
lavf,lavd: remove all usage of AVFormatParameters from demuxers.
jack: add 'channels' private option.
VC-1: fix reading of custom PAR.
Remove redundant and dubious video codec detection by its extradata
mpeg12: remove repeat-field code disabled since May 2002
patch checklist: suggest fate instead of regression tests
Turn on resampling on sudden size change instead of bailing out during recode.
avtools: reinitialise filter chain when input video stream changes dimensions
Conflicts:
Makefile
avconv.c
doc/developer.texi
ffplay.c
libavcodec/x86/dsputil_mmx.c
libavdevice/libdc1394.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffplay.c')
-rw-r--r-- | ffplay.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1728,6 +1728,8 @@ static int video_thread(void *arg) #if CONFIG_AVFILTER AVFilterGraph *graph = avfilter_graph_alloc(); AVFilterContext *filt_out = NULL; + int last_w = is->video_st->codec->width; + int last_h = is->video_st->codec->height; if ((ret = configure_video_filters(graph, is, vfilters)) < 0) goto the_end; @@ -1744,6 +1746,18 @@ static int video_thread(void *arg) while (is->paused && !is->videoq.abort_request) SDL_Delay(10); #if CONFIG_AVFILTER + if ( last_w != is->video_st->codec->width + || last_h != is->video_st->codec->height) { + av_dlog(NULL, "Changing size %dx%d -> %dx%d\n", last_w, last_h, + is->video_st->codec->width, is->video_st->codec->height); + avfilter_graph_free(&graph); + graph = avfilter_graph_alloc(); + if ((ret = configure_video_filters(graph, is, vfilters)) < 0) + goto the_end; + filt_out = is->out_video_filter; + last_w = is->video_st->codec->width; + last_h = is->video_st->codec->height; + } ret = av_vsink_buffer_get_video_buffer_ref(filt_out, &picref, 0); if (picref) { avfilter_fill_frame_from_video_buffer_ref(frame, picref); |