diff options
author | Sergey Svechnikov <svechnikov66@gmail.com> | 2019-04-22 22:26:24 +0500 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2019-04-23 12:52:02 +0200 |
commit | 7c2dd1f969c9decf217f1b2117087c4b8918de22 (patch) | |
tree | 140b6912e95ffb9fd4d2a1d0a0473b525f7355be /compat/float/float.h | |
parent | cf7a5c655c04cd7d1a8912f390a7ae971ecf447b (diff) | |
download | ffmpeg-7c2dd1f969c9decf217f1b2117087c4b8918de22.tar.gz |
avcodec/cuviddec: improve progressive frame detection
There are 2 types of problems when using adaptive deinterlace with cuvid:
1. Sometimes, in the middle of transcoding, cuvid outputs frames with visible horizontal lines (as though weave deinterlace method was chosen);
2. Occasionally, on scene changes, cuvid outputs a wrong frame, which should have been shown several seconds before (as if the frame was assigned some wrong PTS value).
The reason is that sometimes CUVIDPARSERDISPINFO has property progressive_frame equal to 1 with interlaced videos.
In order to fix the problem we should check if the video is interlaced or progressive in the beginning of a video sequence (cuvid_handle_video_sequence).
And then we just use this information instead of the property progressive_frame in CUVIDPARSERDISPINFO (which is unreliable).
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Diffstat (limited to 'compat/float/float.h')
0 files changed, 0 insertions, 0 deletions