summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec: add metadata to identify wrappers and hardware decoderswm42017-12-14
| | | | | | | | | | | | | | | | | | | | | 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>
* qsv: Support explicit lookahead downscalingLuca Barbato2017-12-12
|
* qsv/vp8dec: fixes memory leak issueLi, Zhong2017-12-12
| | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* lavc/qsvenc: add error messeage if ICQ unsupported.Li, Zhong2017-12-12
| | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* lavc/qsvenc: ICQ/VCM/QVBR are not avilable on LinuxLi, Zhong2017-12-12
| | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* lavc/qsvenc: set HRD buffer sizeLi, Zhong2017-12-12
| | | | | | | | | | Hypothetical Reference Decoding (HRD) model assumes that data flows into a buffer of the fixed size BufferSizeInKB with a constant bitrate. Smaller BufferSizeInKB means smaller frame size variations, but more difficult to maintain HRD. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* checkasm: Use LOCAL_ALIGNED for aligned variables on the stackMartin Storsjö2017-12-12
| | | | | | | This fixes fate-checkasm-hevc_mc on ARMCC 5.0 after adding NEON HEVC MC assembly. Signed-off-by: Martin Storsjö <martin@martin.st>
* hevc: Add hevc_get_pixel_4/8/12/16/24/32/48/64Alexandra Hájková2017-12-08
| | | | | | | | | | | | | | | | | | | | | | | Checkasm timings: block size bitdepth C NEON 4 8 bit: 146.7 48.7 10 bit: 146.7 52.7 8 8 bit: 430.3 84.4 10 bit: 430.4 119.5 12 8 bit: 812.8 141.0 10 bit: 812.8 195.0 16 8 bit: 1499.1 268.0 10 bit: 1498.9 368.4 24 8 bit: 4394.2 574.8 10 bit: 3696.3 804.8 32 8 bit: 5108.6 568.9 10 bit: 4249.6 918.8 48 8 bit: 16819.6 2304.9 10 bit: 13882.0 3178.5 64 8 bit: 13490.8 1799.5 10 bit: 11018.5 2519.4 Signed-off-by: Martin Storsjö <martin@martin.st>
* vaapi_h265: Add named options for setting profile and levelMark Thompson2017-12-06
| | | | Also fixes the default, which previously contained a nonsense value.
* vaapi_h264: Add named options for setting profile and levelMark Thompson2017-12-06
|
* vaapi: Make the decode profile matching more explicitMark Thompson2017-12-02
| | | | | Also fixes a bug where it could attempt to decode with an unsupported codec if allow-profile-mismatch was set.
* vaapi_h264: Fix VUI max_dec_frame_bufferingJun Zhao2017-12-02
| | | | | | | | | This should refer to the existing SPS structure, not the VAAPI sequence parameter buffer (which is not yet initialised). From ffmpeg commit f31478ba1472afe5c1eed60f219ae331816425a2. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* vaapi_h265: Enable VBR modeJun Zhao2017-12-02
| | | | | | | | To match vaapi_h264. From ffmpeg commit 385cafb07ac1e46433931ea9749a134efd7350be. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* cbs_mpeg2: Fix marker_bit typeMark Thompson2017-12-02
|
* cbs: Add padding to slice data allocationsMark Thompson2017-12-02
| | | | | These may be read by the bitstream reader, so they should include the necessary padding for overreads.
* rtsp: only break on parse_rtsp_message on errorTristan Matthews2017-11-30
| | | | | | | | | Fix suggested by Luca Barbato. This was causing spurious EOFs when using -rtsp_transport udp, as reported in https://bugzilla.libav.org/show_bug.cgi?id=1103 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* stereo3d: Support view type for frame sequence typeVittorio Giovara2017-11-28
| | | | | | Implement detection in h264 and hevc and insertion in framepack filter. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* prores: Always assume limited rangeVittorio Giovara2017-11-28
| | | | As defined by the specification.
* qsvenc: cavlc option is only available for h264Li, Zhong2017-11-24
| | | | | | | | Moving option definition to h264 implementation and fixing command line defaults in order to properly respect cavlc input value Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* qsv/hevcdec: Load hw plugin by default on non-windows osLi, Zhong2017-11-23
| | | | | | | | | 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>
* libavcodec: Don't use dllexport, only dllimport when building DLLsMartin Storsjö2017-11-19
| | | | | | | | | | | | | | | | | | | | The only purpose of dllexport (which is set while building the library that exports the symbols) is to have the linker automatically export such symbols into a DLL without using a def file - it doesn't affect the generated code. For both MSVC and mingw builds, this isn't essential since we override what symbols to export via an autogenerated def file instead. Update a comment in configure to refer to the right concept. With lld, this avoids warnings about duplicate export directives, when some symbols are requested to be exported both via dllexport attributes and via the autogenerated def file. This also reduces the number of lines of code marginally. Signed-off-by: Martin Storsjö <martin@martin.st>
* makedef: Pass EXTERN_PREFIX from configure to makedefMartin Storsjö2017-11-16
| | | | | | | | | | This avoids having to use either "dumpbin -headers" to find out the current architecture, or pass $ARCH from configure to deduce it. When configuring with --disable-asm, ARCH is equal to "c", which doesn't give any indication of what symbol prefix is to be used. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Coalesce some arch configuration and PIC handlingDiego Biurrun2017-11-15
|
* configure: Miscellaneous minor changesDiego Biurrun2017-11-15
| | | | | | | | - Move a variable closer to where it is used - Add an explanatory comment - Simplify a crosscompile check - Minor SHFLAGS simplification - Coalesce some threads tests
* Makefile: fix distclean targetJames Almer2017-11-14
| | | | | | It must imply clean. Regression since 7ebe7e8e7a76c0ce302f4f583ef0d14220031214. Signed-off-by: James Almer <jamrial@gmail.com>
* configure: fix writing library dependencies to config.shJames Almer2017-11-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* vaapi_h264: Add missing return value checkMark Thompson2017-11-12
|
* h264_metadata: Fix clearing SEI payload in error caseMark Thompson2017-11-12
|
* cbs_h2645: Fix memory leak on when reading SEI failsMark Thompson2017-11-12
|
* cbs: Add a missing return value checkMark Thompson2017-11-12
|
* vaapi_h264: Do not use deprecated header typeMark Thompson2017-11-12
| | | | | SEI headers should be inserted as generic raw data (the old specific type has been deprecated in libva2).
* vaapi_h264: Add workaround for bad SEI in old Intel driversMark Thompson2017-11-12
| | | | | | | | | | | | | | With pre-2.0 Intel drivers in CBR mode, if an explicit SEI message with the old (now deprecated) type is not included, the driver generates and inserts some timing SEI which is almost certainly invlaid. Before 7a4fac5e91789b73e07bd4ad20493cfde028df76 we always inserted our own SEI so this would not be visible, but since then it has been possible to disable that. We would also like to avoid using the deprecated type, and using the new type, while working in old drivers, does not suppress the spurious message like the old type does. Therefore, suppress the bad SEI insertion by providing a zero-length buffer with the old type, which the driver can insert harmlessly.
* vp9_superframe_bsf: cache packets by creating new references instead of ↵James Almer2017-11-11
| | | | | | | | moving pointers Fixes invalid reads after free. Signed-off-by: James Almer <jamrial@gmail.com>
* smacker: limit recursion depth of smacker_decode_bigtreeAndreas Cadhalpun2017-11-10
| | | | | | | | | This fixes segmentation faults due to stack-overflow caused by too deep recursion. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
* smacker: add sanity check for length in smacker_decode_tree()Michael Niedermayer2017-11-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Bug-Id: 1098 Cc: libav-stable@libav.org Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
* build: Add missing config.sh dependency for pkg-config filesDiego Biurrun2017-11-09
| | | | Also only update config.sh when it changed to avoid spurious rebuilds.
* build: Remove pkg-config files on clean instead of on distcleanDiego Biurrun2017-11-09
| | | | | The files are no longer generated by configure, so they should not be removed by the distclean target any longer.
* build: Add uninstall-pkgconfig target to match install-lib*-pkgconfigDiego Biurrun2017-11-09
|
* matroskadec: allow RealAudio/Cook/Sipro streams of flavor 0Sean McGovern2017-11-06
| | | | | | | Regression since 569d18aa9dc989c37bb4d4b968026fe5afa6fff9. Bug-Id: 1055 Cc: libav-stable@libav.org
* configure: Use right variable and right value for AIX ar flagsDiego Biurrun2017-11-04
|
* avconv.c: fix calculation of input file duration in seek_to_start()Peter Große2017-11-04
| | | | | | | Fixes looping files without audio or when using stream_copy, where ist->nb_samples is not set since no decoding is done. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* matroskadec: don't warn about unknown spherical medata when none is presentJames Almer2017-11-03
| | | | | | | | | | | track->video.projection.type is set to 0 (a Matroska specific "No spherical metadata present" value, with no related AVSphericalMapping) by default on files without the element. This removes bogus warnings on every single matroska file without Spherical metadata. Signed-off-by: James Almer <jamrial@gmail.com>
* libspeexenc: Use speex_lib_get_mode instead of the speex_foo_mode data symbolsMartin Storsjö2017-11-04
| | | | | | | | | | | | | This avoids issues linking to a DLL version of libspeex, since the libspeex headers lack proper dllimport declarations for the data symbols. This isn't an issue when building with mingw with GNU binutils, since GNU ld can fix up that kind of data import automatically. libspeexdec.c already uses speex_lib_get_mode as well. Signed-off-by: Martin Storsjö <martin@martin.st>
* Revert "configure: Detect AIX ar command instead of hardcoding it in the OS ↵Diego Biurrun2017-11-03
| | | | | | | section" This reverts commit 4822ee3ca620a92cd2b0a9a03ea9e34288192c79. AIX is a fringe oddity. Do not clutter the main codepath with AIX workarounds.
* configure: Simplify MIPS instruction set handlingDiego Biurrun2017-11-02
|
* configure: Miscellaneous minor changes to config file handlingDiego Biurrun2017-11-02
| | | | | | | | - Move generating config.fate to a more sensible place. - Move printing warnings to a more appropriate place. - Improve "generated by" comment in libavutil/avconfig.h. - Drop pointless informative output about generating config files. - Write a standard comment header to config.asm as well.
* configure: Remove unused apply() helper functionDiego Biurrun2017-11-02
|
* configure: Miscellaneous small changes to helper functionsDiego Biurrun2017-11-02
| | | | | | | - Reuse sanitize_var_name() where appropriate - Add some quotes to enabled()/disabled() to ease readability - Fix logged names of some helper functions - Filter LDFLAGS also in test_ldflags()
* configure: Stop using dlltool to create an import libraryMartin Storsjö2017-10-30
| | | | | | | | | | | | | | | There shouldn't be any functional difference between the import library created by dlltool and the one produced by the linker itself. Keep installing it with both names though, for compatibility with users that expect both to exist. The dlltool step was added in ec10a9ab4; prior to that, a MSVC compatible import library was generated using lib.exe. After that commit, there was no functional difference between the two import libraries (and since MSVC 2012, link.exe works just fine with the GNU binutils generated one). Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: copy stream frame rate to output streamPeter Große2017-10-27
| | | | | | | | Leads to setting of DefaultDuration in Matroska muxer based on frame rate instead of timebase. Fixes playback in Chrome. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>