summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Drop Windows XP support remnantsDiego Biurrun2018-04-09
|
* w32pthreads: always use Vista+ API, drop XP supportwm42018-04-09
| | | | | | | | | | | | This removes the XP compatibility code, and switches entirely to SRW locks, which are available starting at Windows Vista. This removes CRITICAL_SECTION use, which allows us to add PTHREAD_MUTEX_INITIALIZER, which will be useful later. Windows XP is hereby not a supported build target anymore. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* avprobe: Print a user-friendly version of the display matrixVittorio Giovara2018-04-09
| | | | Shift fixed point numbers to be actual decimal numbers.
* avprobe: Support printing strings with empty keysVittorio Giovara2018-04-09
|
* libx265: Support tiny video sizesVittorio Giovara2018-04-09
| | | | | | Where tiny is less than the default CTU size. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc/qsvdec: set complete_frame flags for progressive pictureZhong Li2018-04-08
| | | | | | | | | | | | | | | | | | | | | Set the flag MFX_BITSTREAM_COMPLETE_FRAME when it is a progressive picture. This can fix vc1 decoding segment fault issues because can't set the start code correctly. See: ./avconv -hwaccel qsv -c:v vc1_qsv -i /fate-suite/vc1/SA00040.vc1 -vf "hwdownload, format=nv12" -f rawvideo /dev/null v2: fix some h264 interlaced clips regression a. field_order of some h264 interlaced video (e.g: cama3_vtc_b.avc) is marked as AV_FIELD_UNKNOWN in h264_parser.c. This is not a completed frames. So only set the MFX_BITSTREAM_COMPLETE_FRAME when it is progressive. b. some clips have both progressive and interlaced frames (e.g.CAPAMA3_Sand_F.264), the parsed field_order maybe changed druing the decoding progress. This patch has been verified for other codecs(mpeg2/hevc/vp8). Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* qsv: adding Multi Frame Encode supportMaxym Dmytrychenko2018-04-08
| | | | | | | | | | | | | | | | 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>
* lavf/qsvvpp: bypass vpp if not needed.Zhong Li2018-04-08
| | | | | | | | | | Currently vpp pipeline is always created, even for the unnecessary cases such as setting the option "vpp_qsv=w=1280:h=720" for an input with native resolution 1280x720. Thus introduces unnecessary performance dropping, so bypass vpp if not needed. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* lavc/qsvdec: expose frame pic_type and key_frameZhong Li2018-04-08
| | | | | | | | | | | | | 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>
* libaom: remove references to RGB pixfmtsJames Almer2018-04-04
| | | | | | | | | | | Support for it was apparently never in the codebase, and the enum values were recently removed from the public headers [1] Fixes build with latest libaom build. [1] https://aomedia.googlesource.com/aom/+/3f29cc20e3a4c348cb41a797c68de856ddb84e12 Signed-off-by: James Almer <jamrial@gmail.com>
* libaom: remove references to yuv440p pixfmtJames Almer2018-04-01
| | | | | | | | | | | Support for it was apparently never in the codebase, and the enum values were recently removed from the public headers [1] Fixes build with latest libaom build. [1] https://aomedia.googlesource.com/aom/+/2e3cd5c5c30fa02134681cda900c32486807af3f Signed-off-by: James Almer <jamrial@gmail.com>
* arm: Produce .const_data instead of .section .rodata for Mach-OMartin Storsjö2018-03-30
| | | | | | | | | | This is the same combination of .section directives as used in aarch64/asm.S. Since Xcode 9.3, the bundled clang supports altmacro and doesn't require using gas-preprocessor any longer. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: vc1dsp: Add commas between macro argumentsMartin Storsjö2018-03-30
| | | | | | | | | | When targeting darwin, clang requires commas between arguments, while the no-comma form is allowed for other targets. Since Xcode 9.3, the bundled clang supports altmacro and doesn't require using gas-preprocessor any longer. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Revert some incorrect uses of check_cc()Diego Biurrun2018-03-30
|
* libaomenc: fix profile settingJames Almer2018-03-29
| | | | | | | | Main Profile is yuv420p 8 and 10 bit High Profile is yuv444p 8 and 10 bit Professional Profile is yuv422p 8, 10, and 12 bit, plus every other pixfmt at 12 bit Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: rename the AV1 profilesJames Almer2018-03-29
| | | | | | Use the proper names instead of numbers Signed-off-by: James Almer <jamrial@gmail.com>
* Add Haivision SRT protocolSven Dueking2018-03-28
| | | | | | | | The protocol requires libsrt (https://github.com/Haivision/srt) to be installed Signed-off-by: Sven Dueking <sven.dueking@nablet.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* configure: Drop unused helper function test_cflags_cpp()Diego Biurrun2018-03-27
|
* configure: Simplify vararg checkDiego Biurrun2018-03-26
|
* configure: Add check_x86asm() helper function to simplify some expressionsDiego Biurrun2018-03-26
|
* configure: Use indirection for the -o assembler flag also for x86asmDiego Biurrun2018-03-26
| | | | | | | Similar indirections are used for the -o compiler/assembler flag to account for differences in compiler/assembler syntax. For x86asm half the infrastructure for doing the same currently exists unused. Finish and use that infrastructure for consistency.
* configure: Use a more sensible suffix for x86 assembly tempfilesDiego Biurrun2018-03-26
|
* configure: Document available options for the --toolchain parameterDiego Biurrun2018-03-26
|
* qsv: align surface width/height to 16.Ruiling Song2018-03-21
| | | | | | | | | | 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>
* configure: Don't assume a 16 byte aligned stack on BSDs on i386Martin Storsjö2018-03-17
| | | | | | | | | | | With GCC, request it to maintain 16 byte alignment, and the existing entry points already align it via attribute_align_arg. With clang, do the same as for mingw; disable the aligned stack and let the assembly functions that require it do the alignment instead. Signed-off-by: Martin Storsjö <martin@martin.st>
* qsvenc: add the Access Unit Delimiter NAL Unit supportZhong Li2018-03-16
| | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* qsvenc: Fix a typo of FrameRateExtD/FrameRateExtNZhong Li2018-03-16
| | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* configure: Don't assume an aligned stack on clang on windowsMartin Storsjö2018-03-13
| | | | | | | | | | | | | | | | | If we'd enable a 16 byte aligned stack, clang/llvm would also assume that alignment everywhere and produce code that strictly requires it. That would require adding realignment (via attribute_align_arg) on every single public library function or enable -mstackrealign (which does the same on every single function). Also relatedly; the parameter currently tested (-mllvm -stack-alignment=16) hasn't actually been supported for quite some time; current clang versions use -mstack-alignment=16 for the same. Actually testing for that parameter would be a different change though, since it has a real risk of changing behaviour on any other platform where clang is used. Signed-off-by: Martin Storsjö <martin@martin.st>
* Support AV1 encoding using libaomLuca Barbato2018-03-12
|
* Add AV1 video decoding support through libaomLuca Barbato2018-03-12
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* ivf: Support VP9 and AV1 as wellLuca Barbato2018-03-12
|
* configure: Restore original endianness testDiego Biurrun2018-03-08
| | | | | | Previously the bit pattern for the endianness test was declared as a global, instead of a local, variable. This ensures that the pattern appears unchanged in the object file and is not optimized out.
* amf: Replace writer_id option with LIBAV_AMF_WRITER_ID constantAlexander Kravchenko2018-03-07
| | | | | | | | | | AMFTraceWriter is an abstraction to configure how AMF outputs its logs for the current process and can be configured to output different levels of trace output. If multiple LibavWriter objects are used in one process, there will be duplication of output in av_log. Use a constant writer_id to prevent this scenario. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* configure: Add check_as() helper function to simplify some expressionsDiego Biurrun2018-03-07
|
* configure: Add check_ld() helper function to simplify some expressionsDiego Biurrun2018-03-07
|
* configure: Add check_cc/require_cc helper functions to simplify some expressionsDiego Biurrun2018-03-07
|
* configure: Add check_cpp_condition() helper function to simplify some ↵Diego Biurrun2018-03-07
| | | | expressions
* configure: Add check_cmd() helper function to simplify some expressionsDiego Biurrun2018-03-07
|
* configure: Use test_ prefix for helper functions that do not set variablesDiego Biurrun2018-03-07
|
* configure: Drop unnecessary variables, shifts, and quotes in helper functionsDiego Biurrun2018-03-07
|
* configure: Fix logic of AMF external library checkDiego Biurrun2018-03-07
| | | | | Fail if AMF is requested but unavailable, as we do for all other external libraries that need to be explicitly enabled.
* examples: Use new API for transcoding exampleAndreas Unterweger2018-03-07
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* hls: Add a discontinuity marker on recoverLuca Barbato2018-03-06
| | | | | | It seems to improve the compatibility with the js demuxers. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* qsvenc: Provide a detailed error message if the parameters are invalidZhong Li2018-03-05
| | | | | | | | | Currently it always shows "Selected ratecontrol mode is not supported by the QSV runtime. Choose a different mode", but sometimes it is not accurate. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* fate: Error out more gracefully on configure failureDiego Biurrun2018-02-26
| | | | | | If configure fails before config.fate is generated, the report file misses some values and gets discarded by the FATE server. In these cases, print those values as "failed" along with the failing configure command line.
* hvcc: zero initialize the nal buffers past the last written byteJames Almer2018-02-23
| | | | | | | Bug-Id: 1116 Cc: libav-stable@libav.org Signed-off-by: James Almer <jamrial@gmail.com>
* qsv: Default PicStruct to progressiveRuiling Song2018-02-22
| | | | | | | | 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>
* h264_metadata: Add option to delete filler dataMark Thompson2018-02-20
| | | | | Deletes both filler NAL units and filler SEI messages. (Annex B zero_bytes between NAL units are already discarded by the read/write process.)
* cbs_h264: Add support for filler NAL unitsMark Thompson2018-02-20
|
* cbs_h264: Move slice_group_id array out of PPS structureMark Thompson2018-02-20
| | | | It's very large, and is only used in some FMO streams.