summaryrefslogtreecommitdiff
path: root/ffmpeg_cuvid.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-05-27 12:14:33 +0200
committerwm4 <nfxjfg@googlemail.com>2017-03-03 08:45:43 +0100
commitaf1761f7b5b1b72197dc40934953b775c2d951cc (patch)
tree46941e97c792c8331d288639e4f39231bcb0f017 /ffmpeg_cuvid.c
parent4ee5aed122ba7d289c1686eca6eba161d5d62304 (diff)
ffmpeg: init filtergraphs only after we have a frame on each input
This makes sure the actual stream parameters are used, which is important mainly for hardware decoding+filtering cases, which would previously require various weird workarounds to handle the fact that a fake software graph has to be constructed, but never used. This should also improve behaviour in rare cases where avformat_find_stream_info() does not provide accurate information. This merges Libav commit a3a0230. It was previously skipped. The code in flush_encoders() which sets up a "fake" format wasn't in Libav. I'm not sure if it's a good idea, but it tends to give behavior closer to the old one in certain corner cases. The vp8-size-change gives different result, because now the size of the first frame is used. libavformat reported the size of the largest frame for some reason. The exr tests now use the sample aspect ratio of the first frame. For some reason libavformat determines 0/1 as aspect ratio, while the decoder returns the correct one. The ffm and mxf tests change the field_order values. I'm assuming another libavformat/decoding mismatch. Signed-off-by: wm4 <nfxjfg@googlemail.com>
Diffstat (limited to 'ffmpeg_cuvid.c')
-rw-r--r--ffmpeg_cuvid.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/ffmpeg_cuvid.c b/ffmpeg_cuvid.c
index baf6eee9f8..46540795d4 100644
--- a/ffmpeg_cuvid.c
+++ b/ffmpeg_cuvid.c
@@ -125,7 +125,6 @@ int cuvid_transcode_init(OutputStream *ost)
}
ist->hwaccel_ctx = ctx;
- ist->resample_pix_fmt = AV_PIX_FMT_CUDA;
ist->hwaccel_uninit = cuvid_uninit;
/* This is a bit hacky, av_hwframe_ctx_init is called by the cuvid decoder