summaryrefslogtreecommitdiff
path: root/ffmpeg_qsv.c
Commit message (Collapse)AuthorAge
* ffmpeg: init filtergraphs only after we have a frame on each inputAnton Khirnov2017-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ffmpeg: Add an option "qsv_device" to choose proper node for QSV child ↵Zhengxu2017-01-11
| | | | | | | | | | | | | | | | | device (vaapi or dxva2) Reason: For some cases, such as 2 or more graphics cards existing, the default command line may fail because ffmpeg does not open the correct device node: ffmpeg -hwaccel qsv -c:v h264_qsv -i test.264 -c:v h264_qsv out.264 Let user choose the proper one by running like below: ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv \ -i test.264 -c:v h264_qsv out.264 Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com> Signed-off-by: Huang, Zhengxu <zhengxu.maxwell@gmail.com> Signed-off-by: Andrew, Zhang <huazh407@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* ffmpeg_qsv: Fix hwaccel transcodingMark Thompson2016-11-13
| | | | | | | | | Set up the encoder with a hardware context which will match the one the decoder will use when it starts later. Includes 02c2761973dfc886e94a60a9c7d6d30c296d5b8c, with additional hackery to get around a3a0230a9870b9018dc7415ae5872784d524cfe5 being skipped.
* ffmpeg/qsv: fix QSV-accelerated transcode performance drop issue.Jun Zhao2016-08-16
| | | | | | | | | | | the merge commit 1b04ea1 "avconv: create simple filtergraphs earlier" will init the filtergraphs earlier, then init the QSV transcode can't suppose the nb_filters's value, else lead to the QSV transcode performance drop. Signed-off-by: Jun Zhao <mypopydev@gmail.com> Reviewed-by: Ivan Uskov <ivan.uskov@nablet.com Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'fb472e1a11a4e0caed2c3c91da01ea8e35d9e3f8'Hendrik Leppkes2015-10-22
* commit 'fb472e1a11a4e0caed2c3c91da01ea8e35d9e3f8': avconv: add support for Intel QSV-accelerated transcoding Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>