Age | Commit message (Collapse) | Author |
|
This already applied to decoders as well as hwaccels, and adding encoder
support was going to make the name even more inaccurate.
|
|
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>
|
|
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>
|
|
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
Using MSDK parser can improve qsv decoder pass rate in some cases (E.g:
sps declares a wrong level_idc, smaller than it should be).
And it is necessary for adding new qsv decoders such as MJPEG and VP9
since current parser can't provide enough information.
Actually using MFXVideoDECODE_DecodeHeader() was disscussed at
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/175734.html and merged as commit 1acb19d,
but was overwritten when merged libav patches (commit: 1f26a23) without any explain.
Split decode header from decode_init, and call it for everyframe to
detect format/resoultion change. It can fix some regression issues such
as hevc 10bits decoding.
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
|
|
Flush the buffered data in libmfx before video param reinit
in case the frames drop.
Cache the first frame causing the reinit and decode zero-size
pkt to flush the buffered pkt before reinit. After all the
buffered pkts being flushed, resume to reinit and decode.
Fix the issue in ticket #7399.
[V2]: Move the definition of zero_pkt to where it is exactly
used.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
|
|
This includes a pointer to the associated hwaccel for decoders using
hwaccels - these will be used later to implement the hwaccel setup
without needing a global list.
Also added is a new file listing all hwaccels as external declarations -
this will be used later to generate the hwaccel list at configure time.
|
|
* commit '0940b748bdba36c4894fc8ea6be631d821fdf578':
qsvdec: Only warn about unconsumed data if it happens more than once
Merged-by: James Almer <jamrial@gmail.com>
|
|
|
|
* commit 'ce320cf1c4daab3e2e3726ed7d2e879d10f7b991':
qsvdec: use the same mfxFrameInfo for allocating frames that was passed to DECODE_Init
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>
|
|
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.
|
|
DECODE_Init
Stop duplicating this information.
|
|
Stop hardcoding NV12.
Also, move this function to the shared code, it will be used by the
encoder as well.
|
|
|
|
* commit '8aecec84021a61b943718ff3d7c2c57fcd4af199':
qsvdec: make ff_qsv_decode_init() static
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
It is not used outside of qsvdec.c anymore.
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
been implemented
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986':
lavc: add Intel libmfx-based HEVC decoder.
Conflicts:
Changelog
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/qsvdec.c
libavcodec/qsvdec_h2645.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
|
|
It will be shared with the upcoming mpeg2 and hevc decoders.
|
|
whole packet.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
has been moved into qsvdec.c
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
MFXVideoDECODE_DecodeHeader() in libavcodec/qsvdec.c
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit 'f5c4d38c78347b09478e21a661befff4b2d44643':
qsvdec: properly handle asynchronous decoding
Conflicts:
libavcodec/qsvdec.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Wait for async_depth frames before syncing.
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
under linux platform.
Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2':
lavc: add Intel libmfx-based H.264 encoder
Conflicts:
Changelog
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '9ba27c2348d26000257e891e40a72facb0d916be':
qsvdec: add 'decode' to the non-static function names
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* 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>
|
|
* commit 'b04d009b0e1a34b717f3d3bbf407aef0c742aff1':
qsv: rename to qsvdec
Conflicts:
libavcodec/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
|
|
|
|
This is to avoid conflicts with the upcoming QSV encoding support.
|