- Apr 09, 2020
-
-
Anton Mitrofanov authored
-
- Feb 29, 2020
-
-
Anton Mitrofanov authored
-
- Nov 26, 2019
-
-
Anton Mitrofanov authored
And other resolution dependent buffers checks. Closes videolan/x264#10.
-
- Jul 17, 2019
-
-
Anton Mitrofanov authored
Removes need for -Bsymbolic during linking.
-
- Mar 06, 2019
-
-
- Aug 06, 2018
-
-
-
Virtually zero increase in compression efficiency compared to 4:2:0 with empty chroma planes. Performance is better though, especially with fast settings.
-
- Jan 17, 2018
-
-
Henrik Gramner authored
-
- Dec 24, 2017
-
-
-
-
Add 'i_bitdepth' to x264_param_t with the corresponding '--output-depth' CLI option to set the bit depth at runtime. Drop the 'x264_bit_depth' global variable. Rather than hardcoding it to an incorrect value, it's preferable to induce a linking failure. If applications relies on this symbol this will make it more obvious where the problem is. Add Makefile rules that compiles modules with different bit depths. Assembly on x86 is prefixed with the 'private_prefix' define, while all other archs modify their function prefix internally. Templatize the main C library, x86/x86_64 assembly, ARM assembly, AARCH64 assembly, PowerPC assembly, and MIPS assembly. The depth and cache CLI filters heavily depend on bit depth size, so they need to be duplicated for each value. This means having to rename these filters, and adjust the callers to use the right version. Unfortunately the threaded input CLI module inherits a common.h dependency (input/frame -> common/threadpool -> common/frame -> common/common) which is extremely complicated to address in a sensible way. Instead duplicate the module and select the appropriate one at run time. Each bitdepth needs different checkasm compilation rules, so split the main checkasm target into two executables.
-
qp is modified to require a valid value before use, while qp_max is set to maximum allowable value (and clipped later on). This is needed so that param functions do not depend on bit depth size.
-
- Jun 14, 2017
-
-
These levels were added in the 2016-10 revision of the H.264 specification and improves support for content with high resolutions and/or high frame rates. Level 6.2 supports 8K resolution at 120 fps. Also shrink the x264_levels array by using smaller data types.
-
Anton Mitrofanov authored
Use the correct ctxIdxInc calculation for coded_block_flag.
-
- May 21, 2017
-
-
Henrik Gramner authored
AVX-512 consists of a plethora of different extensions, but in order to keep things a bit more manageable we group together the following extensions under a single baseline cpu flag which should cover SKL-X and future CPUs: * AVX-512 Foundation (F) * AVX-512 Conflict Detection Instructions (CD) * AVX-512 Byte and Word Instructions (BW) * AVX-512 Doubleword and Quadword Instructions (DQ) * AVX-512 Vector Length Extensions (VL) On x86-64 AVX-512 provides 16 additional vector registers, prefer using those over existing ones since it allows us to avoid using `vzeroupper` unless more than 16 vector registers are required. They also happen to be volatile on Windows which means that we don't need to save and restore existing xmm register contents unless more than 22 vector registers are required. Also take the opportunity to drop X264_CPU_CMOV and X264_CPU_SLOW_CTZ while we're breaking API by messing with the cpu flags since they weren't really used for anything. Big thanks to Intel for their support.
-
Henrik Gramner authored
Packed YUV is arguably more common than planar YUV when dealing with raw 4:2:2 content. We can utilize the existing plane_copy_deinterleave() functions with some additional minor constraints (we cannot assume any particular alignment or overread the input buffer). Enables assembly optimizations on x86.
-
- Jan 21, 2017
-
-
Henrik Gramner authored
-
- Dec 01, 2016
-
-
Also make x264_weighted_reference_duplicate() static.
-
- Jun 13, 2016
-
-
Support the new color primaries, transfer characteristics, and matrix coefficients defined in the 2016-02 edition of the H.264 specification.
-
- Jan 16, 2016
-
-
Henrik Gramner authored
-
- Aug 18, 2015
-
-
Name all structs to support forward declarations. Add a conditional extern "C" wrapper in x264.h itself instead of having to specify it in every location where it's included.
-
- Jul 25, 2015
-
-
MSA is the MIPS SIMD Architecture. Add X264_CPU_MSA define. Update configure to detect MIPS platform and set flags. CPU-specific gcc options are expected through --extra-cflags. Sample command line for mips32r5: ./configure --host=mipsel-linux-gnu --cross-prefix=<TOOLCHAIN>/mips-mti-linux-gnu- --extra-cflags="-EL -mips32r5 -msched-weight -mload-store-pairs" Signed-off-by:
Kaustubh Raste <kaustubh.raste@imgtec.com>
-
This should improve MBTree and VBV when a lot of forced frame types are used.
-
Eliminates an extra copy when encoding Android camera preview images. Checkasm test by Janne Grunau. ARM assembly with improvements from Janne Grunau.
-
- Jul 16, 2015
-
-
Anton Mitrofanov authored
Patch written by Koop Mast <kwm@FreeBSD.org>
-
- Feb 23, 2015
-
-
Anton Mitrofanov authored
Defined in 2014-02 edition.
-
Defined in 2013-04 edition.
-
Anton Mitrofanov authored
-
- Dec 20, 2014
-
-
Anton Mitrofanov authored
Also known as --aq-mode 3 or auto-variance AQ modification.
-
- Dec 12, 2014
-
-
Henrik Gramner authored
All CPUs with AVX2 supports FMA3 (but not the other way around).
-
- Aug 26, 2014
-
-
Janne Grunau authored
-
- Jul 20, 2014
-
-
Steven Walters authored
The first MSVS compiler C99 compliant enough to build x264. Use `CC=cl ./configure` to compile with it.
-
- Mar 12, 2014
-
-
Fiona Glaser authored
The full details of the return values of encoder_encode and encoder_headers were mistakenly removed a while ago; re-add them.
-
- Jan 21, 2014
-
-
Kieran Kunhya authored
-
James Weaver authored
Assembly based on code by Henrik Gramner and Loren Merritt.
-
- Jan 08, 2014
-
-
Henrik Gramner authored
Also update AUTHORS file and my e-mail address in the headers of various files.
-
- Oct 30, 2013
-
-
Anton Mitrofanov authored
It probably wasn't used or maintained for last few years.
-
Fiona Glaser authored
Allows generation of hard-CBR streams without using NAL HRD. Useful if you want to be able to reconfigure the bitrate (which you can't do with NAL HRD on).
-
- Aug 23, 2013
-
-
Henrik Gramner authored
Windows, unlike most other operating systems, uses UTF-16 for Unicode strings while x264 is designed for UTF-8. This patch does the following in order to handle things like Unicode filenames: * Keep strings internally as UTF-8. * Retrieve the CLI command line as UTF-16 and convert it to UTF-8. * Always use Unicode versions of Windows API functions and convert strings to UTF-16 when calling them. * Attempt to use legacy 8.3 short filenames for external libraries without Unicode support.
-
Kieran Kunhya authored
This format has been reverse engineered and x264's output has almost exactly the same bitstream as Panasonic cameras and encoders produce. It therefore does not comply with SMPTE RP2027 since Panasonic themselves do not comply with their own specification. It has been tested in Avid, Premiere, Edius and Quantel. Parts of this patch were written by Fiona Glaser and some reverse engineering was done by Joseph Artsimovich.
-