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
2018-12-18lavc/qsv_hevc: correct QSV HEVC default plugin on WindowsZhong Li
1. Old logic meaned: everywhere, except Windows, ffmpeg has to use HW acceleration, but on Windows ffmpeg has to use (unavailable) software HEVC by default 2. Software HEVC is available only if you provide corresponding software MediaSDK library, which isn't provided with ffmpeg. More information could be found in https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/readme-encode_linux.pdf 3. HW HEVC decoding/encoding are available on Windows in the driver by default Note: Default case should be the most common case but this change still has potential risk on windows if HW path is not supported(or doesn't work as expection). (See the historical disscution: https://lists.libav.org/pipermail/libav-devel/2016-November/080419.html). In such case, two options suggested: 1. Use the option "-load_plugin hevc_sw" to switch SW path manually. 2. Or report bug to Intel windows driver if your GPU can support HEVC HW codec. (HEVC decoding is supported since Braswell, and encoding supported since Skylake) Patch started by Landgraph. Add similar change for hevc decoder and bump a new version. Reviewed-by: Mark Thompson <sw@jkqxz.net> Reviewed-by: Maxym Dmytrychenko <maxim.d33@gmail.com> Signed-off-by: Landgraph <me@landgraph.ru> Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-11-06lavc/qsvdec: flush buffered data before reinitLinjie Fu
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>
2018-09-03Merge commit 'c1bcd321ea2c2ae1765a1e64f03278712221d726'James Almer
* commit 'c1bcd321ea2c2ae1765a1e64f03278712221d726': avcodec/qsv: fix async support Merged-by: James Almer <jamrial@gmail.com>
2018-07-26avcodec/qsv: fix async supportDmitry Rogozhkin
Current implementations of qsv components incorrectly work with async level, they actually try to work in async+1 level stepping into MFX_WRN_DEVICE_BUSY and polling loop. This change address this misbehaviour. Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Cc: Maxym Dmytrychenko <maxim.d33@gmail.com> Cc: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2018-01-26Merge commit '559370f2c45110afd8308eec7194437736c323d4'Mark Thompson
* commit '559370f2c45110afd8308eec7194437736c323d4': qsv: Skip the packet if decoding failure Merged-by: Mark Thompson <sw@jkqxz.net>
2018-01-25qsv: Skip the packet if decoding failureRuiling, Song
MediaSDK may fail to decode some frame, just skip it. Otherwise, it will keep decoding the failure packet repeatedly without processing any packet afterwards. Signed-off-by: Ruiling Song <ruiling.song@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-12-20lavc: Delete all fake hwaccelsMark Thompson
They are now unused.
2017-12-20lavc: Add hardware config metadata for decoders supporting hardware outputMark Thompson
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.
2017-12-14avcodec: add metadata to identify wrappers and hardware decoderswm4
Explicitly identify decoder/encoder wrappers with a common name. This saves API users from guessing by the name suffix. For example, they don't have to guess that "h264_qsv" is the h264 QSV implementation, and instead they can just check the AVCodec .codec and .wrapper_name fields. Explicitly mark AVCodec entries that are hardware decoders or most likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing API users listing hardware decoders in a more generic way. The proposed AVCodecHWConfig does not provide this information fully, because it's concerned with decoder configuration, not information about the fact whether the hardware is used or not. AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software implementations in case the hardware is not capable. Based on a patch by Philip Langdale <philipl@overt.org>. Merges Libav commit 47687a2f8aca3f65b6fdd117b1cb66a7409a7fd1.
2017-12-14avcodec: add metadata to identify wrappers and hardware decoderswm4
Explicitly identify decoder/encoder wrappers with a common name. This saves API users from guessing by the name suffix. For example, they don't have to guess that "h264_qsv" is the h264 QSV implementation, and instead they can just check the AVCodec .codec and .wrapper_name fields. Explicitly mark AVCodec entries that are hardware decoders or most likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing API users listing hardware decoders in a more generic way. The proposed AVCodecHWConfig does not provide this information fully, because it's concerned with decoder configuration, not information about the fact whether the hardware is used or not. AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software implementations in case the hardware is not capable. Based on a patch by Philip Langdale <philipl@overt.org>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-11-27lavc: Delete all fake hwaccelsMark Thompson
They are now unused.
2017-11-27lavc: Add hardware config metadata for decoders supporting hardware outputMark Thompson
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.
2017-11-25Merge commit '136e7cf64ce9e78de7158d6720539d51cb96b743'Mark Thompson
* commit '136e7cf64ce9e78de7158d6720539d51cb96b743': qsv/hevcdec: Load hw plugin by default on non-windows os Merged-by: Mark Thompson <sw@jkqxz.net>
2017-11-23qsv/hevcdec: Load hw plugin by default on non-windows osLi, Zhong
Software plugin is not available on Linux, Only works on Windows. Similar changes have been applied to qsv hevc encoder by b05128f3c953bd66483e697d60a2e7e45ee9cfa0. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-09-26Merge commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3'James Almer
* commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3': Mark some arrays that never change as const. Merged-by: James Almer <jamrial@gmail.com>
2017-04-23Merge commit '8fb4210ad8785c01fccf2fc59af6a6fa2892b6b2'James Almer
* commit '8fb4210ad8785c01fccf2fc59af6a6fa2892b6b2': qsvdec_h2645: switch to the new generic filtering mechanism Merged-by: James Almer <jamrial@gmail.com>
2017-04-13Merge commit '624aa8ab221cf34693f9a8c5ab67219cf560f2bb'James Almer
* commit '624aa8ab221cf34693f9a8c5ab67219cf560f2bb': build: Add missing Makefile entries and ifdefs for QSV hwaccels Merged-by: James Almer <jamrial@gmail.com>
2017-02-01Mark some arrays that never change as const.Anton Khirnov
2016-12-14qsvdec_h2645: switch to the new generic filtering mechanismAnton Khirnov
Drop the internal manual conversion from the MP4 format to Annex B.
2016-12-07build: Add missing Makefile entries and ifdefs for QSV hwaccelsDiego Biurrun
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-10-31qsvdec: Avoid probing with qsv decodersMark Thompson
Set the AV_CODEC_CAP_AVOID_PROBING flag on all of the qsv decoders.
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-09-15libavcodec/qsvdec_h2645.c: drop executable permissionMoritz Barsnick
Accidentally set in b93e2233155e6c1f0a074cad4135a70d9d2934d3. Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
2016-08-15libavcodec/qsvdec_h2645.c: switch to the new BSF APIIvan Uskov
This patch applies same changes as commit e3dfef8e3c85a64dbe6388117303f5819fa3c6a2 of libav: instead of the obsolete AVBitStreamFilterContext now the new AVBSFContext filter is used to restore annex-B prefixes. Based-on: e3dfef8e3c85a64dbe6388117303f5819fa3c6a2 by Anton Khirnov Push requested by maintainer Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-03qsvdec: add support for P010 (10-bit 420) decodingAnton Khirnov
2016-06-28qsvdec_hevc: add the UID of the HEVC HW decoder pluginAnton Khirnov
2016-06-28qsvdec_hevc: fix a variable nameAnton Khirnov
hevcenc -> hevcdec, this is a _decoder_ plugin.
2016-06-21qsvdec: support getting the session from an AVHWFramesContextAnton Khirnov
2016-04-27qsv: Fix wrong ticks_per_frame for H.264Ivan Uskov
For H.264 stream ticks_per_frame should be 2, as per the docs. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-03-25qsvdec_h2645: switch to the new BSF APIAnton Khirnov
2015-10-15lavc: AV-prefix a few left out capabilitiesVittorio Giovara
2015-09-29Merge commit '741b352b16dad74b87c4a39bade8902633a2b0e6'Hendrik Leppkes
* commit '741b352b16dad74b87c4a39bade8902633a2b0e6': qsvdec: list supported pixel formats Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-28qsvdec: list supported pixel formatsAnton Khirnov
This is useful for detecting QSV-enabled decoders.
2015-09-07libavcodec/qsvdec.c: correct flush() handler has been implementedIvan Uskov
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer
* commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27lavc: AV-prefix all codec capabilitiesVittorio Giovara
Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27qsvdec_*: add missing CODEC_CAP_DR1Anton Khirnov
2015-07-27Merge commit 'f3bd3810d274a7f51b5925fc3d2fc33e8043a5d4'Michael Niedermayer
* commit 'f3bd3810d274a7f51b5925fc3d2fc33e8043a5d4': qsvdec_*: add missing CODEC_CAP_DR1 Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26libavcodec/qsvdec_h264.c: using "private_spspps_buf" argument for ↵Ivan Uskov
av_bitstream_filter_filter() to avoid failure after decoder re-initialization. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26Merge commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986'Michael Niedermayer
* 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>
2015-07-25lavc: add Intel libmfx-based HEVC decoder.Anton Khirnov