- 29 Jun, 2018 1 commit
-
-
Henrik Gramner authored
It was previously incorrect when --chroma-format or --bit-depth was specified in configure.
-
- 02 Jun, 2018 1 commit
-
-
Henrik Gramner authored
Clang emits aligned AVX stores for things like zeroing stack-allocated variables when using -mavx even with -fno-tree-vectorize set which can result in crashes if this occurs before we've realigned the stack. Previously we only ensured that the stack was realigned before calling assembly functions that accesses stack-allocated buffers but this is not sufficient. Fix the issue by changing the stack realignment to instead occur immediately in all CLI, API and thread entry points.
-
- 27 May, 2018 1 commit
-
-
Anton Mitrofanov authored
-
- 17 Jan, 2018 1 commit
-
-
Henrik Gramner authored
-
- 24 Dec, 2017 3 commits
-
-
-
-
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.
-
- 21 May, 2017 1 commit
-
-
Henrik Gramner authored
Use the same logic for indentation as the lavf demuxer.
-
- 21 Jan, 2017 1 commit
-
-
Henrik Gramner authored
-
- 01 Dec, 2016 2 commits
-
-
Anton Mitrofanov authored
Also make x264_weighted_reference_duplicate() static.
-
Henrik Gramner authored
The slow preset was recently adjusted but we forgot to update the corresponding --fullhelp message to reflect the change.
-
- 20 Sep, 2016 1 commit
-
-
Anton Mitrofanov authored
-
- 13 Jun, 2016 1 commit
-
-
Anton Mitrofanov authored
Support the new color primaries, transfer characteristics, and matrix coefficients defined in the 2016-02 edition of the H.264 specification.
-
- 11 Apr, 2016 2 commits
-
-
Henrik Gramner authored
Makes the printf() family functions on MinGW use the correct C99 POSIX versions instead of the broken pre-VS2015 Microsoft ones. Also allows us to get rid of some _GNU_SOURCE and _ISOC99_SOURCE defines.
-
Henrik Gramner authored
-
- 16 Jan, 2016 1 commit
-
-
Henrik Gramner authored
-
- 11 Oct, 2015 1 commit
-
-
Vittorio Giovara authored
-
- 23 Feb, 2015 5 commits
-
-
Anton Mitrofanov authored
-
Anton Mitrofanov authored
-
Anton Mitrofanov authored
Defined in 2014-02 edition.
-
Defined in 2013-04 edition.
-
Anton Mitrofanov authored
-
- 20 Dec, 2014 1 commit
-
-
Anton Mitrofanov authored
Also known as --aq-mode 3 or auto-variance AQ modification.
-
- 20 Jul, 2014 1 commit
-
-
Steven Walters authored
The first MSVS compiler C99 compliant enough to build x264. Use `CC=cl ./configure` to compile with it.
-
- 21 Jan, 2014 2 commits
-
-
Kieran Kunhya authored
-
James Weaver authored
Assembly based on code by Henrik Gramner and Loren Merritt.
-
- 08 Jan, 2014 1 commit
-
-
Henrik Gramner authored
Also update AUTHORS file and my e-mail address in the headers of various files.
-
- 30 Oct, 2013 4 commits
-
-
Anton Mitrofanov authored
It probably wasn't used or maintained for last few years.
-
Anton Mitrofanov authored
-
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).
-
Anton Mitrofanov authored
Do the reconfig when the next frame's encode begins. Fixes some rare crashes with frame-threading and encoder_reconfig.
-
- 25 Oct, 2013 1 commit
-
-
Anton Mitrofanov authored
-
- 23 Aug, 2013 2 commits
-
-
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.
-
- 03 Jul, 2013 2 commits
-
-
Lucien authored
-
Fiona Glaser authored
Stops x264 from attempting to optimize global stream headers, ensuring that different segments of a video will have identical headers when used with identical encoding settings.
-
- 23 Apr, 2013 3 commits
-
-
Steve Borho authored
OpenCL support is compiled in by default, but must be enabled at runtime by an --opencl command line flag. Compiling OpenCL support requires perl. To avoid the perl requirement use: configure --disable-opencl. When enabled, the lookahead thread is mostly off-loaded to an OpenCL capable GPU device. Lowres intra cost prediction, lowres motion search (including subpel) and bidir cost predictions are all done on the GPU. MB-tree and final slice decisions are still done by the CPU. Presets which do not use a threaded lookahead will not use OpenCL at all (superfast, ultrafast). Because of data dependencies, the GPU must use an iterative motion search which performs more total work than the CPU would do, so this is not work efficient or power efficient. But if there are spare GPU cycles to spare, it can often speed up the encode. Output quality when OpenCL lookahead is enabled is often very slightly worse in quality than the CPU quality (because of the same data dependencies). x264 must co...
-
Fiona Glaser authored
The H.264 spec technically has limits on the number of slices per frame. x264 normally ignores this, since most use-cases that require large numbers of slices prefer it to. However, certain decoders may break with extremely large numbers of slices, as can occur with some slice-max-size/mbs settings. When set, x264 will refuse to create any slices beyond the maximum number, even if slice-max-size/mbs requires otherwise.
-
Fiona Glaser authored
Works in conjunction with slice-max-mbs and/or slice-max-size to avoid overly small slices. Useful with certain decoders that barf on extremely small slices. If slice-min-mbs would be violated as a result of slice-max-size, x264 will exceed slice-max-size and print a warning.
-
- 25 Feb, 2013 1 commit
-
-
Henrik Gramner authored
-