summaryrefslogtreecommitdiff
path: root/libavfilter/vf_overlay_qsv.c
Commit message (Collapse)AuthorAge
* lavf/qsv: use av_cold for init/uninitZhong Li2019-06-03
| | | | Signed-off-by: Zhong Li <zhong.li@intel.com>
* lavc/qsv_overlay: suppress code scan complainZhong Li2018-11-06
| | | | | | | Suppress the complain "variables 'pix_fmt' is used but maybe uninitialized". Signed-off-by: Zhong Li <zhong.li@intel.com>
* lavf: make overlay_qsv work based on framesyncRuiling Song2018-04-21
| | | | | | | | | | | | | | The existing version which was cherry-picked from Libav does not work with FFmpeg framework, because ff_request_frame() was totally different between Libav (recursive) and FFmpeg (non-recursive). The existing overlay_qsv implementation depends on the recursive version of ff_request_frame to trigger immediate call to request_frame() on input pad. But this has been removed in FFmpeg since "lavfi: make request_frame() non-recursive." Now that we have handy framesync support in FFmpeg, so I make it work based on framesync. Some other fixing which is also needed to make overlay_qsv work are put in a separate patch. Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* lavf/qsv_overlay: check the return value of ff_formats_ref()Zhong Li2017-11-20
| | | | | | | | | Fixes the build warning of "ignoring return value of ‘ff_formats_ref’, declared with attribute warn_unused_result" Signed-off-by: Zhong Li <zhong.li@intel.com> Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avfilter/vf_*_qsv: Fix flagsMichael Niedermayer2017-11-13
| | | | | Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'a5a6ac1a123a927e5bed984ed757a29b7ff87dab'James Almer2017-11-11
| | | | | | | | * commit 'a5a6ac1a123a927e5bed984ed757a29b7ff87dab': libavfilter/overlay_qsv: Add QSV overlay vpp filter libavfilter/vf_vpp: Add common filters of the qsv vpp Merged-by: James Almer <jamrial@gmail.com>
* libavfilter/overlay_qsv: Add QSV overlay vpp filterHuang, Zhengxu2017-09-17
The filter supports two inputs and (implicitly) scaling the second input during composition, unlike the software overlay. The code has been separated into common interface and qsv overlay implementation. The common part mainly creates the qsv session and manages the surface which is nearly the same for all qsv filters. So the qsvvpp.c/qsvvpp.h API can be used by other QSV vpp filters to reduce code redundancy. Usage: -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv -i in.h264 -filter_complex "overlay_qsv=eof_action=repeat:x=(W-w)/2:y=(H-h)/2" -b 2M -maxrate 3M -c:v h264_qsv -y out.h264 Two inputs should have different sizes otherwise one will be completely covered or you need to scale the second input as follows: -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv -i in.h264 -filter_complex "overlay_qsv=w=720:h=576:x=(W-w)/2:y=(H-h)/2" -b 2M -maxrate 3M -c:v h264_qsv -y out.h264 Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com> Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com> Signed-off-by: Andrew Zhang <huazh407@gmail.com> Change-Id: I5c381febb0af6e2f9622c54ba00490ab99d48297 Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>