mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-30 23:27:41 +00:00
ffplay: Fix auto insertion point of rotation filter
Fixes watermark rotation for videos using auto rotation Closes #141
This commit is contained in:
parent
b83d8be6bf
commit
9cc1e644f3
9
ffplay.c
9
ffplay.c
@ -1905,7 +1905,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
|
|||||||
char sws_flags_str[512] = "";
|
char sws_flags_str[512] = "";
|
||||||
char buffersrc_args[256];
|
char buffersrc_args[256];
|
||||||
int ret;
|
int ret;
|
||||||
AVFilterContext *filt_src = NULL, *filt_out = NULL, *last_filter = NULL;
|
AVFilterContext *filt_src = NULL, *filt_out = NULL, *head_filter, *last_filter = NULL;
|
||||||
AVCodecContext *codec = is->video_st->codec;
|
AVCodecContext *codec = is->video_st->codec;
|
||||||
AVRational fr = av_guess_frame_rate(is->ic, is->video_st, NULL);
|
AVRational fr = av_guess_frame_rate(is->ic, is->video_st, NULL);
|
||||||
AVDictionaryEntry *e = NULL;
|
AVDictionaryEntry *e = NULL;
|
||||||
@ -1945,6 +1945,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
last_filter = filt_out;
|
last_filter = filt_out;
|
||||||
|
head_filter = filt_src;
|
||||||
|
|
||||||
/* Note: this macro adds a filter before the lastly added filter, so the
|
/* Note: this macro adds a filter before the lastly added filter, so the
|
||||||
* processing order of the filters is in reverse */
|
* processing order of the filters is in reverse */
|
||||||
@ -1957,11 +1958,11 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
|
|||||||
if (ret < 0) \
|
if (ret < 0) \
|
||||||
goto fail; \
|
goto fail; \
|
||||||
\
|
\
|
||||||
ret = avfilter_link(filt_ctx, 0, last_filter, 0); \
|
ret = avfilter_link(head_filter, 0, filt_ctx, 0); \
|
||||||
if (ret < 0) \
|
if (ret < 0) \
|
||||||
goto fail; \
|
goto fail; \
|
||||||
\
|
\
|
||||||
last_filter = filt_ctx; \
|
head_filter = filt_ctx; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* SDL YUV code is not handling odd width/height for some driver
|
/* SDL YUV code is not handling odd width/height for some driver
|
||||||
@ -1985,7 +1986,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ret = configure_filtergraph(graph, vfilters, filt_src, last_filter)) < 0)
|
if ((ret = configure_filtergraph(graph, vfilters, head_filter, last_filter)) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
is->in_video_filter = filt_src;
|
is->in_video_filter = filt_src;
|
||||||
|
Loading…
Reference in New Issue
Block a user