| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
|
|
|
|
|
|
|
| |
AV1 decoder is supported on Tiger Lake+ platforms since libmfx 1.34
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Zhong Li <zhongli_dev@126.com>
|
|
|
|
|
|
|
|
|
| |
Enables HEVC Range Extension encoding support (Linux) for 4:2:2 8/10 bit
on ICL+ (gen11 +) platform.
Restricted to linux only for now.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
|
|
|
|
|
|
|
|
|
| |
Enables HEVC Range Extension decoding support (Linux) for 4:2:2 8/10 bit
on ICL+ (gen11 +) platform.
Restricted to linux only for now.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
|
|
|
|
| |
Signed-off-by: Zhong Li <zhongli_dev@126.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
It is not needed since av_buffer_unref() will call it internally
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
|
| |
Reported-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
| |
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
VP9 decoder is support on Intel kabyLake+ platforms with MSDK Version 1.19+
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
| |
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
| |
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
libmfx hevc level defination is same as h264, not level_idc of SPEC.
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
| |
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
|
|
| |
Suppress the complain "variables 'type' is used but maybe uninitialized".
|
|\
| |
| |
| |
| |
| |
| | |
* commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42':
qsv: adding Multi Frame Encode support
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9':
lavc/qsvdec: expose frame pic_type and key_frame
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '6829a079444e10818a847e153121fb458cc5c0a8':
qsvdec: Relax the surface vs coded dimension check
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit 'ea25ccd1b2a980df8d43cc1f86a23e3c094090a6':
qsv: Join the derived session to the parent
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| | |
Should improve the performance on multiple transcoding from a single
source.
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2':
libavcodec/mjpeg_qsv: Add QSV MJPEG encoder
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '984736dd9e5b50987a5910e22495304e4a6d975c':
lavc: make sure not to return EAGAIN from codecs
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| | |
This error is treated specially by the API.
CC: libav-stable@libav.org
|
| |
| |
| |
| | |
(cherry picked from commit 4936a48b1e6fc2147599541f8b25f43a8a9d1f16)
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '715b8243460836fb7dd15bf7e41668e773beb276':
qsv: Drop some unused variables
Merged-by: Clément Bœsch <u@pkh.me>
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit 'e0b164576f7467b7b1127c18175e215dc1df011f':
qsv: Add VP8 decoder
Merged-by: Clément Bœsch <u@pkh.me>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '4ab61cd983b539749bd621ea271624ddb5196a8e':
qsv{enc,dec}: extend the internal frame allocator
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| | |
Handle the internal frame requests, which is required by the HEVC
encoding plugin.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '00aeedd84105a17f414185bd33ecadebeddb3a27':
qsv{dec,enc}: use a struct as a memory id with internal memory allocator
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4':
qsvenc: print warnings from encode/init
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '95414eb2dc63a6f934275b4ed33dedd4369f2c49':
qsv: print more complete error messages
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| | |
Include the libmfx error code and its description
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '21962261c74aed4df00ae8348a5e2d1ecb67c52d':
qsv: handle the semi-packed formats in map_fourcc as well
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| | |
This will allow using this function for encoding as well, where the
input format is already the semi-packed version.
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '92736c74fb1633e36f7134a880422a9b7db14d3f':
qsvdec: add support for P010 (10-bit 420) decoding
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa':
qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as well
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
Stop hardcoding NV12.
Also, move this function to the shared code, it will be used by the
encoder as well.
|