37 Commits

Author SHA1 Message Date
Anton Mitrofanov 373697b467 Bump dates to 2025 2025-01-03 16:48:30 +03:00
Anton Mitrofanov 4815ccadb1 Bump dates to 2024 2024-01-13 14:45:39 +03:00
Anton Mitrofanov 17df75b32e Bump dates to 2023 2023-01-28 16:37:02 +03:00
Anton Mitrofanov ab393c85eb Bump dates to 2022 2022-01-24 19:46:08 +03:00
Anton Mitrofanov 88fab19100 Fix --tcfile-in support
Accept files created by MKVToolNix version 17.0.0 or newer.
2021-06-13 20:25:24 +00:00
Anton Mitrofanov 8e5e8340f0 Bump dates to 2021 2021-01-24 16:38:34 +03:00
Anton Mitrofanov 04e6c65e6b Bump dates to 2020 2020-02-29 22:02:01 +03:00
Anton Mitrofanov 7923c5818b Limit maximum supported resolution
And other resolution dependent buffers checks.
Closes videolan/x264#10.
2019-11-27 02:49:27 +03:00
Henrik Gramner ec1d32302d Bump dates to 2019 2019-03-06 22:45:52 +03:00
Henrik Gramner ca5408b13c Bump dates to 2018 2018-01-17 18:31:04 +01:00
Vittorio Giovara 71ed44c731 Unify 8-bit and 10-bit CLI and libraries
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.
2017-12-24 23:47:24 +03:00
Henrik Gramner c7a2e327be Bump dates to 2017 2017-01-21 14:10:37 +01:00
Anton Mitrofanov eaf2fc20c8 Various cosmetics of semicolon use 2016-09-20 21:01:56 +03:00
Henrik Gramner d23d186552 Bump dates to 2016 2016-01-17 00:30:13 +01:00
Henrik Gramner 3d972062c8 cli: Use memory-mapped input frames for yuv and y4m
Improves performance by avoiding extraneous memory copying.
Most beneficial on fast settings.

On average around 5-10% faster overall on ultrafast but the
performance improvement can be even larger in some cases.
2016-01-17 00:30:13 +01:00
Anton Mitrofanov d7ccd89f1b Bump dates to 2015 2015-02-23 13:34:44 +03:00
Henrik Gramner 807aeaaae7 Bump dates to 2014
Also update AUTHORS file and my e-mail address in the headers of various files.
2014-01-08 11:15:45 -08:00
Henrik Gramner fa3cac516c Windows Unicode support
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.
2013-08-23 14:04:14 -07:00
Loren Merritt 732b072ae2 Bump dates to 2013 2013-01-08 16:01:32 -08:00
Hii 27a7b05b83 Bump dates to 2012 2012-02-04 07:18:13 -08:00
Anton Mitrofanov 2ecbcd73d6 Fix crash if timecode file opening fails 2011-11-11 14:40:12 -08:00
Yusuke Nakamura 675110a687 Fix infinite loop parsing TDecimate Mode 3 timecode v1 files 2011-10-21 17:22:01 -07:00
Yusuke Nakamura eee242c1a6 Timecode parsing: Add missing initialization
Fix crash when failed to parse timecode file before malloc pts.
Fix detection of user timebase considered to be exceeding H.264 maximum.
2011-07-29 12:07:33 -07:00
Anton Mitrofanov e93cfd6adc Various cosmetics 2011-07-22 04:03:10 -07:00
Steven Walters 4c624dccf4 Intel Compiler support
Big thanks to David Rudie, the original author of this patch.
2011-03-23 21:04:30 -07:00
Sean McGovern ee9bc136e9 Bump dates to 2011 2011-01-25 12:16:24 -08:00
Anton Mitrofanov 90fa32a09d Don't try to get timecodes if reading frame failed
This fixes "input timecode file missing data for frame" warning with piped input where we don't know total number of frames.
2010-12-06 18:56:57 -08:00
Yusuke Nakamura 23060612f0 Fix regression in rev1549
Skip auto timebase denominator generation when generated timebase denominator exceeds UINT32_MAX.
Also fix double free.
2010-12-05 14:55:52 -08:00
Anton Mitrofanov 6e41f7e2aa Fix --tcfile-in if timecode v2 file starts from nonzero pts 2010-12-05 14:55:50 -08:00
Fiona Glaser 213a99d070 Update source file headers
Update dates, improve file descriptions, make things more consistent.
Also add information about commercial licensing.
2010-09-18 01:30:37 -07:00
Steven Walters c58954cc7c Add video filtering system to x264cli
Similar to mplayer's -vf system.
Supports some basic operations like resizing and cropping.  Will support more in the future.
See the help for more details.
2010-07-14 18:50:34 -07:00
Steven Walters 43a4334670 Centralize logging within x264cli
x264cli messages will now respect the log level they pertain to.
Slightly reduces binary size.
2010-07-03 11:47:24 -07:00
Fiona Glaser d48c3809d2 Fix issues with extremely large timebases
With timebase denominators >= 2^30 , x264 would silently overflow and cause odd issues.
Now x264 will explicitly fail with timebase denominators >= 2^31 and work with timebase denominators 2^31 > x >= 2^30.
2010-04-23 12:40:13 -07:00
Fiona Glaser c1fb471c16 Fix four minor bugs found by Clang 2010-04-23 12:40:10 -07:00
Fiona Glaser 58d2349dd7 Massive cosmetic and syntax cleanup
Convert all applicable loops to use C99 loop index syntax.
Clean up most inconsistent syntax in ratecontrol.c, visualize, ppc, etc.
Replace log(x)/log(2) constructs with log2, and similar with log10.
Fix all -Wshadow violations.
Fix visualize support.
2010-04-05 13:52:48 -07:00
Yusuke Nakamura dab0ee2f4f Fix 10l in timecode seeking 2010-03-31 10:42:36 -07:00
Yusuke Nakamura 4d3c478762 Timecode input/output
--tcfile-in allows a user to specify a timecode v1 or v2 file to override input timestamps.
Useful for dealing with VFR input, especially when FFMS/LAVF support isn't available.
--tcfile-out writes a timecode v2 file containing the timecodes of the output file.
New --timebase option allows a user to change the stream timebase.
Intended primarily for forcing timebase with timecode files if necessary.
When using --seek, note that x264 will seek in the timecode file as well.
2010-03-27 12:46:57 -07:00