Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-12-29lavc/qsv: remove the unused funtion ff_qsv_profile_to_mfx()Zhong Li
Signed-off-by: Zhong Li <zhongli_dev@126.com>
2019-10-09lavc/qsvdec: Add GPU-accelerated memory copy supportLinjie Fu
GPU copy enables or disables GPU accelerated copying between video and system memory. This may lead to a notable performance improvement. Memory must be sequent and aligned with 128x64. CMD: ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -c:v h264_qsv -gpu_copy on -i input.h264 -f null - or: ffmpeg -c:v h264_qsv -gpu_copy on -i input.h264 -f null - Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: ChaoX A Liu <chaox.a.liu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-10-09lavc/qsv: remove vaapi device free functionZhong Li
It is not needed since av_buffer_unref() will call it internally Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-10-08lavc/qsv: fix a memory leak in ff_qsv_set_display_handle()Zhong Li
Reported-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-09-26lavc/qsv: add memory type messageZhong Li
Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-09-26lavc/qsv: Fix MSDK initialization failure in system memory modeZhong Li
MSDK does not create internal acceleration device on Linux, So MFXVideoCORE_SetHandle() is necessary. It has been added for ff_qsv_init_session_device(). But missed for ff_qsv_init_internal_session() due to commit 1f26a23 overwrited commit db89f45 Fix #7030 Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-08-20lavc/qsvdec: Add VP9 decoder supportZhong Li
VP9 decoder is support on Intel kabyLake+ platforms with MSDK Version 1.19+ Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-08-20lavc/qsv: make function qsv_map_fourcc() can be called externallyZhong Li
Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-08-20lavc/qsvdec: add function ff_qsv_map_picstruct()Zhong Li
Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-05-07lavc/qsv: extactly map profileZhong Li
Currently profile mapping is hard-coded, and not flexible to do extactly map (E.g: libmfx treats H264 constrained baseline to be baseline profile). vaapi profile mapping funtion provides a better soultion than current qsv mapping. Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-05-07lavc/qsvdec: fix hevc level incorrectly mapZhong Li
libmfx hevc level defination is same as h264, not level_idc of SPEC. Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-07-12lavc/qsv: handle MFX_FRAMETYPE_UNKNOWN caseZhong Li
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-06-12lavc/qsv: suppress code scan complainZhong Li
Suppress the complain "variables 'type' is used but maybe uninitialized".
2018-04-14Merge commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42'James Almer
* commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42': qsv: adding Multi Frame Encode support Merged-by: James Almer <jamrial@gmail.com>
2018-04-14Merge commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9'James Almer
* commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9': lavc/qsvdec: expose frame pic_type and key_frame Merged-by: James Almer <jamrial@gmail.com>
2018-04-08qsv: adding Multi Frame Encode supportMaxym Dmytrychenko
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>
2018-04-08lavc/qsvdec: expose frame pic_type and key_frameZhong Li
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>
2018-02-12Merge commit '6829a079444e10818a847e153121fb458cc5c0a8'James Almer
* commit '6829a079444e10818a847e153121fb458cc5c0a8': qsvdec: Relax the surface vs coded dimension check Merged-by: James Almer <jamrial@gmail.com>
2018-01-26qsvdec: Relax the surface vs coded dimension checkZhong Li
Fix a common vp8 decoding failure. Many vp8 clips cannot decode if hw_frames_ctx is enabled, reporting "Error during QSV decoding.: incompatible video parameters (-14)". It is due to mfx.FrameInfo.Width/Height not matching coded_w/coded_h. See: avconv -hwaccel qsv -init_hw_device qsv -c:v vp8_qsv -i vp8-test-vectors-r1/vp80-00-comprehensive-001.ivf -vf "hwdownload,format=nv12" -pix_fmt yuv420p -f md5 - Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-11-11Merge commit 'ea25ccd1b2a980df8d43cc1f86a23e3c094090a6'James Almer
* commit 'ea25ccd1b2a980df8d43cc1f86a23e3c094090a6': qsv: Join the derived session to the parent Merged-by: James Almer <jamrial@gmail.com>
2017-11-08Merge commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2'James Almer
* commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2': libavcodec/mjpeg_qsv: Add QSV MJPEG encoder Merged-by: James Almer <jamrial@gmail.com>
2017-10-04Merge commit '984736dd9e5b50987a5910e22495304e4a6d975c'James Almer
* commit '984736dd9e5b50987a5910e22495304e4a6d975c': lavc: make sure not to return EAGAIN from codecs Merged-by: James Almer <jamrial@gmail.com>
2017-09-27qsv: Join the derived session to the parentLuca Barbato
Should improve the performance on multiple transcoding from a single source.
2017-07-25libavcodec/mjpeg_qsv: Add QSV MJPEG encoderHuang, Zhengxu
usage: -hwaccel qsv -c:v h264_qsv -i in -c:v mjpeg_qsv -global_quality 80 -f mjpeg out 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 Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-06-15qsv: Add ability to create a session from a deviceMark Thompson
(cherry picked from commit 4936a48b1e6fc2147599541f8b25f43a8a9d1f16)
2017-04-02qsv: Add ability to create a session from a deviceMark Thompson
2017-04-01Merge commit '715b8243460836fb7dd15bf7e41668e773beb276'Clément Bœsch
* commit '715b8243460836fb7dd15bf7e41668e773beb276': qsv: Drop some unused variables Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01Merge commit 'e0b164576f7467b7b1127c18175e215dc1df011f'Clément Bœsch
* commit 'e0b164576f7467b7b1127c18175e215dc1df011f': qsv: Add VP8 decoder Merged-by: Clément Bœsch <u@pkh.me>
2017-03-31Merge commit '4ab61cd983b539749bd621ea271624ddb5196a8e'Mark Thompson
* commit '4ab61cd983b539749bd621ea271624ddb5196a8e': qsv{enc,dec}: extend the internal frame allocator Merged-by: Mark Thompson <sw@jkqxz.net>
2017-03-31Merge commit '00aeedd84105a17f414185bd33ecadebeddb3a27'Mark Thompson
* commit '00aeedd84105a17f414185bd33ecadebeddb3a27': qsv{dec,enc}: use a struct as a memory id with internal memory allocator Merged-by: Mark Thompson <sw@jkqxz.net>
2017-03-12Merge commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4'Mark Thompson
* commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4': qsvenc: print warnings from encode/init Merged-by: Mark Thompson <sw@jkqxz.net>
2017-03-12Merge commit '95414eb2dc63a6f934275b4ed33dedd4369f2c49'Mark Thompson
* commit '95414eb2dc63a6f934275b4ed33dedd4369f2c49': qsv: print more complete error messages Merged-by: Mark Thompson <sw@jkqxz.net>
2017-03-12Merge commit '21962261c74aed4df00ae8348a5e2d1ecb67c52d'Mark Thompson
* commit '21962261c74aed4df00ae8348a5e2d1ecb67c52d': qsv: handle the semi-packed formats in map_fourcc as well Merged-by: Mark Thompson <sw@jkqxz.net>
2017-02-25lavc: make sure not to return EAGAIN from codecsAnton Khirnov
This error is treated specially by the API. CC: libav-stable@libav.org
2016-11-17qsv: Drop some unused variablesDiego Biurrun
2016-11-14qsv: Add VP8 decoderMark Thompson
2016-11-14qsvdec: Pass the correct profile to libmfxMark Thompson
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.
2016-11-14Merge commit '92736c74fb1633e36f7134a880422a9b7db14d3f'Hendrik Leppkes
* commit '92736c74fb1633e36f7134a880422a9b7db14d3f': qsvdec: add support for P010 (10-bit 420) decoding Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-14Merge commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa'Hendrik Leppkes
* commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa': qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as well Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-07qsv{enc,dec}: extend the internal frame allocatorAnton Khirnov
Handle the internal frame requests, which is required by the HEVC encoding plugin. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
2016-11-07qsv{dec,enc}: use a struct as a memory id with internal memory allocatorAnton Khirnov
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>
2016-10-31qsv: Merge libav implementationMark Thompson
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.
2016-07-22qsvenc: print warnings from encode/initAnton Khirnov
2016-07-22qsv: print more complete error messagesAnton Khirnov
Include the libmfx error code and its description
2016-07-22qsv: handle the semi-packed formats in map_fourcc as wellAnton Khirnov
This will allow using this function for encoding as well, where the input format is already the semi-packed version.
2016-07-03qsvdec: add support for P010 (10-bit 420) decodingAnton Khirnov
2016-07-03qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as wellAnton Khirnov
Stop hardcoding NV12. Also, move this function to the shared code, it will be used by the encoder as well.
2016-06-21qsvenc: support getting the session from an AVHWFramesContextAnton Khirnov
2016-06-21qsvdec: support getting the session from an AVHWFramesContextAnton Khirnov
2016-04-13Merge commit '92c1a83ee9394b39d68f6affd9104752a03714f8'Derek Buitenhuis
* commit '92c1a83ee9394b39d68f6affd9104752a03714f8': qsv: Fix loading multiple plugins Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>