[FFmpeg-devel] [PATCH] ffmpeg_filter: don't try to autorotate frames with hwaccel pixel formats
Eoff, Ullysses A
ullysses.a.eoff at intel.com
Tue Sep 21 16:05:08 EEST 2021
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of James Almer
> Sent: Tuesday, September 21, 2021 5:33 AM
> To: ffmpeg-devel at ffmpeg.org
> Subject: [FFmpeg-devel] [PATCH] ffmpeg_filter: don't try to autorotate frames with hwaccel pixel formats
>
> The transpose, rotate, hflip, and vflip filters don't support them.
> Fixes ticket #9432.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> I'm surprised nobody tried to decode an mp4 video like those coming from a
> cellphone camera using a hwaccel decoder. This would have been noticed much
> earlier.
>
> fftools/ffmpeg_filter.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
> index da0d4faf54..cc3dc33246 100644
> --- a/fftools/ffmpeg_filter.c
> +++ b/fftools/ffmpeg_filter.c
> @@ -699,6 +699,7 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
> {
> AVFilterContext *last_filter;
> const AVFilter *buffer_filt = avfilter_get_by_name("buffer");
> + const AVPixFmtDescriptor *desc;
> InputStream *ist = ifilter->ist;
> InputFile *f = input_files[ist->file_index];
> AVRational tb = ist->framerate.num ? av_inv_q(ist->framerate) :
> @@ -756,7 +757,9 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
> av_freep(&par);
> last_filter = ifilter->filter;
>
> - if (ist->autorotate) {
> + desc = av_pix_fmt_desc_get(ifilter->format);
> + // TODO: insert hwaccel enabled filters like transpose_vaapi into the graph
> + if (ist->autorotate && desc && !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) {
> int32_t *displaymatrix = ifilter->displaymatrix;
> double theta;
>
> --
> 2.33.0
>
LGTM and verified WFM with vaapi hwaccel.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list