summaryrefslogtreecommitdiff
path: root/libavcodec/qsv_internal.h
Commit message (Collapse)AuthorAge
* Merge commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42'James Almer2018-04-13
|\ | | | | | | | | | | | | * commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42': qsv: adding Multi Frame Encode support Merged-by: James Almer <jamrial@gmail.com>
| * qsv: adding Multi Frame Encode supportMaxym Dmytrychenko2018-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from API 1.25 helps to improve performance of the simultaneous encode, 1:N scenario, like: ./avconv -y -hwaccel qsv -c:v h264_qsv -r 30000/1001 -i ~/bbb_sunflower_1080p_60fps_normal.mp4 -vframes 600 -an \ -filter_complex "split=2[s1][s2]; [s1]scale_qsv=1280:720[o1]; [s2]scale_qsv=960:540[o2]" \ -map [o1] -c:v h264_qsv -b:v 3200k -minrate 3200k -maxrate 3200k -f rawvideo /tmp/3200a.264 \ -map [o2] -c:v h264_qsv -b:v 1750k -minrate 1750k -maxrate 1750k -f rawvideo /tmp/1750a.264 Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* | Merge commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9'James Almer2018-04-13
|\| | | | | | | | | | | | | * commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9': lavc/qsvdec: expose frame pic_type and key_frame Merged-by: James Almer <jamrial@gmail.com>
| * lavc/qsvdec: expose frame pic_type and key_frameZhong Li2018-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently pict_type and key_frame are unset. Add an extra param to fetch the picture type from qsv decoder The judgement “key frame is equal to IDR frame” only suitable for H264. For HEVC, all IRAP frames are key frames, and other codecs have no IDR frame. Signed-off-by: ChaoX A Liu <chaox.a.liu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
| * qsv: Add ability to create a session from a deviceMark Thompson2017-04-02
| |
| * qsvdec: Pass the correct profile to libmfxMark Thompson2016-11-14
| | | | | | | | | | | | | | | | | | This was correct for H.26[45], because libmfx uses the same values derived from profile_idc and the constraint_set flags, but it is wrong for other codecs. Also avoid passing FF_LEVEL_UNKNOWN (-99) as the level, as this is certainly invalid.
* | qsv: Add ability to create a session from a deviceMark Thompson2017-06-14
| | | | | | | | (cherry picked from commit 4936a48b1e6fc2147599541f8b25f43a8a9d1f16)
* | Merge commit '4ab61cd983b539749bd621ea271624ddb5196a8e'Mark Thompson2017-03-30
|\| | | | | | | | | | | | | * commit '4ab61cd983b539749bd621ea271624ddb5196a8e': qsv{enc,dec}: extend the internal frame allocator Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv{enc,dec}: extend the internal frame allocatorAnton Khirnov2016-11-07
| | | | | | | | | | | | | | Handle the internal frame requests, which is required by the HEVC encoding plugin. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '00aeedd84105a17f414185bd33ecadebeddb3a27'Mark Thompson2017-03-30
|\| | | | | | | | | | | | | * commit '00aeedd84105a17f414185bd33ecadebeddb3a27': qsv{dec,enc}: use a struct as a memory id with internal memory allocator Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv{dec,enc}: use a struct as a memory id with internal memory allocatorAnton Khirnov2016-11-07
| | | | | | | | | | | | | | This will allow implementing the allocator more fully, which is needed by the HEVC encoder plugin with video memory input. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '404e51478ecad060249d5b9bee6ab39a8a9d8c1c'Mark Thompson2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '404e51478ecad060249d5b9bee6ab39a8a9d8c1c': qsv{dec,enc}: always use an internal mfxFrameSurface1 Minor fixups for differences in the QSV encoder because of a53cc. Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv{dec,enc}: always use an internal mfxFrameSurface1Anton Khirnov2016-11-07
| | | | | | | | | | | | | | | | For encoding, this avoids modifying the input surface, which we are not allowed to do. This will also be useful in the following commits. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4'Mark Thompson2017-03-12
|\| | | | | | | | | | | | | * commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4': qsvenc: print warnings from encode/init Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsvenc: print warnings from encode/initAnton Khirnov2016-07-22
| |
* | Merge commit '95414eb2dc63a6f934275b4ed33dedd4369f2c49'Mark Thompson2017-03-12
|\| | | | | | | | | | | | | * commit '95414eb2dc63a6f934275b4ed33dedd4369f2c49': qsv: print more complete error messages Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv: print more complete error messagesAnton Khirnov2016-07-22
| | | | | | | | Include the libmfx error code and its description
* | Merge commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa'Hendrik Leppkes2016-11-14
|\| | | | | | | | | | | | | * commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa': qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as well Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as wellAnton Khirnov2016-07-03
| | | | | | | | | | | | | | Stop hardcoding NV12. Also, move this function to the shared code, it will be used by the encoder as well.
| * qsvdec: support getting the session from an AVHWFramesContextAnton Khirnov2016-06-21
| |
* | qsv: Merge libav implementationMark Thompson2016-10-31
| | | | | | | | | | | | | | Merged as-at libav 398f015, and therefore includes outstanding skipped merges 04b17ff and 130e1f1. All features not in libav are preserved, and no options change.
* | Merge commit '9c0bc1e980a99106d6749ec632f166b87275871e'Derek Buitenhuis2016-02-24
|\| | | | | | | | | | | | | * commit '9c0bc1e980a99106d6749ec632f166b87275871e': qsv: add a missing #include Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * qsv: add a missing #includeAnton Khirnov2016-02-18
| | | | | | | | Needed for enum AVCodecID
* | qsvenc: write a53 caption data to SEIWill Kelleher2015-11-30
| | | | | | | | | | | | Signed-off-by: Will Kelleher <wkelleher@gogoair.com> Previous version reviewed-by: Ivan Uskov <ivan.uskov@nablet.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'f5c4d38c78347b09478e21a661befff4b2d44643'Michael Niedermayer2015-07-19
|\| | | | | | | | | | | | | | | | | | | * commit 'f5c4d38c78347b09478e21a661befff4b2d44643': qsvdec: properly handle asynchronous decoding Conflicts: libavcodec/qsvdec.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * qsvdec: properly handle asynchronous decodingAnton Khirnov2015-07-19
| | | | | | | | Wait for async_depth frames before syncing.
* | libavcodec/qsv.c: Issue fixed: QSV engine does not release display handler ↵Ivan Uskov2015-07-14
| | | | | | | | | | | | | | under linux platform. Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '66acb76bb0492b263215ca9b4d927a7be39ace02'Michael Niedermayer2015-07-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '66acb76bb0492b263215ca9b4d927a7be39ace02': lavc: add Intel libmfx-based HEVC encoder Conflicts: Changelog configure libavcodec/Makefile libavcodec/allcodecs.c libavcodec/qsv.c libavcodec/qsvenc.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: add Intel libmfx-based HEVC encoderAnton Khirnov2015-07-08
| |
* | avcodec/qsv: Extending QSV/MFX session initialization for the linux platform ↵Ivan Uskov2015-07-02
| | | | | | | | | | | | | | | | | | where a display handle is required. Now ff_qsv_init_internal_session() is able to find appropriate display handle under linux using VAAPI. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/qsv_internal: Fix project nameMichael Niedermayer2015-03-28
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2'Michael Niedermayer2015-03-28
|\| | | | | | | | | | | | | | | | | | | | | * commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2': lavc: add Intel libmfx-based H.264 encoder Conflicts: Changelog libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: add Intel libmfx-based H.264 encoderAnton Khirnov2015-03-27
| |
* | Merge commit 'd0a63d8b989647ffdb5f40da8e1feaffe1a8e791'Michael Niedermayer2015-03-28
|\| | | | | | | | | | | | | | | | | | | | | * commit 'd0a63d8b989647ffdb5f40da8e1feaffe1a8e791': qsvdec: split off some code that will be shared with the encoder Conflicts: libavcodec/Makefile libavcodec/qsvdec.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * qsvdec: split off some code that will be shared with the encoderAnton Khirnov2015-03-27
|/
* qsv: rename to qsvdecAnton Khirnov2015-03-27
| | | | This is to avoid conflicts with the upcoming QSV encoding support.
* lavc: add an Intel libmfx-based H.264 decoderAnton Khirnov2015-02-19
Based on the code by Luca Barbato <lu_zero@gentoo.org> and Yukinori Yamazoe <drocon11@gmail.com>.