| Commit message (Collapse) | Author | Age |
|\
| |
| |
| |
| |
| |
| | |
* 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 '86499771d1228d8303c8eb6509e20c0caaa02da5':
qsv: align surface width/height to 16.
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Per MediaSDK documentation, it requires width/height to 16 alignment.
Without this patch, hwupload pipeline may fail if 16 alignment is
not met. Although this patch also apply 16 alignment to qsv encoder/decoder,
it will not bring any side-effect to them as they are already aligned.
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '8ca39b855a7b0e4d9f726fa9d285bc8edcb953e6':
qsv: Default PicStruct to progressive
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The PicStruct is required by MediaSDK, so give a default value.
hwupload does not work without this.
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
| |
| |
| |
| |
| | |
The initialisation should be common. For libmfx, it was previously
happening in the derivation function and this moves it out.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'e23190269fb6e8217d080918893641ba3e0e3556':
lavu/qsv: add log message for libmfx version
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| | |
It is benefit to diagnose issues related to different libmfx version.
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
| |
| |
| |
| |
| |
| |
| | |
Fixes build warning of "variable 's' is declared but not used"
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'ccbb31c14b766ef666ef2daa8c467e478183a957':
qsv: Make sure the session is set with the latest version
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| | |
It is needed to have the calls to MFXJoinSession succeed.
|
| | |
|
| |
| |
| |
| | |
Factorises out existing surface initialisation code to reuse.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The initialisation should be common. For libmfx, it was previously
happening in the derivation function and this moves it out. For VAAPI,
it fixes some failures when deriving from a DRM device because this
initialisation did not run.
|
| |
| |
| |
| | |
(cherry picked from commit e1c5d56b18b82e3fb42382b1b1f972e8b371fc38)
|
| |
| |
| |
| |
| |
| | |
Factorises out existing surface initialisation code to reuse.
(cherry picked from commit eaa5e0710496db50fc164806e5f49eaaccc83bb5)
|
| |
| |
| |
| | |
(cherry picked from commit aa51bb3d2756ed912ee40645efccf5f4a9609696)
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'e8bbacbf529049c401bfeea70d5e0b5d2c8b6de6':
hwcontext_qsv: support frame mapping
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| | |
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '8ea15afbf2c1ec89b5d4bac1f0b8345e4b906a5d':
hwcontext_qsv: transfer data through the child context when VPP fails
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Uploading/downloading data through VPP may not work for some formats, in
that case we can still try to call av_hwframe_transfer_data() on the
child context.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'b91ce4860054430d3712deb0d9487cac2fcb7d68':
hwcontext_qsv: do not fail when download/upload VPP session creation fails
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| | |
Certain pixel formats (e.g. P8) might not be supported for
download/upload through VPP operations, but can still be used otherwise.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'b115a35ea62b8f479b48d99a601f0e157517301e':
hwcontext_qsv: add support for the P8 format
Merged-by: Mark Thompson <sw@jkqxz.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using GPU surfaces with QSV, one needs to supply a frame allocator,
which will be invoked to pass surface pools to libmfx.
For encoding, this allocator gets invoked not only for the pool of input
frames, but also for a separate pool of (apparently) reconstructed frames
and another pool of MFX_FOURCC_P8, which on Windows needs to return
D3DFMT_P8 D3D surfaces. Those are probably used to store the encoded
bitstream on the GPU.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'd20c118975220a0256027d1c2410bade94b8534d':
hwcontext_qsv: add support for p010
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
* commit '59e7361cc791e5103be1712dc59a2055f118d0da':
hwcontext: add a QSV implementation
Conflicts:
doc/APIchanges
libavutil/version.h
Merged-by: James Almer <jamrial@gmail.com>
|
|
|