7730e7d | Steve Borho | 10 February 2015, 21:15:13 UTC | search: use chroma reconQt buffer instead of recon picture (not yet updated) This fixes non-determinism when psy-rd is enabled | 10 February 2015, 21:15:13 UTC |
f38b52e | Steve Borho | 09 February 2015, 22:45:18 UTC | frame: account for pixel size when initializing recon buffers for SAO Prevents uninit read warnings from valgrind at Main10 and non-4:2:0 color spaces | 09 February 2015, 22:45:18 UTC |
ba80ea5 | Praveen Tiwari | 09 February 2015, 11:39:15 UTC | sao: avoid access beyond bounds | 09 February 2015, 11:39:15 UTC |
b313c13 | Steve Borho | 07 February 2015, 16:34:03 UTC | encoder: drop warnings about range extensions These are now official, and our bitstreams are validated against HM 16.3 | 07 February 2015, 16:34:03 UTC |
b7e3d8e | Steve Borho | 05 February 2015, 17:46:29 UTC | docs: use italics to highlight tune names | 05 February 2015, 17:46:29 UTC |
1a2d285 | Steve Borho | 05 February 2015, 17:43:58 UTC | docs: document --tune fastdecode | 05 February 2015, 17:43:58 UTC |
0151a4b | Steve Borho | 05 February 2015, 17:22:22 UTC | docs: improve documentation for --tune zero-latency | 05 February 2015, 17:22:22 UTC |
52aed3e | Steve Borho | 05 February 2015, 17:20:00 UTC | param: no longer disable deblock at ultrafast Recent profiling shows that it has an out-sized effect on quality for the very small performance impact. Deblocking accounts for about 3% of the CPU time at ultrafast preset, but at smaller resolutions it has an outsised effect on frame parallelism because deblocking introduces a 1-row reference lag. At 4k this lag is not important, at 1080p the lag becomes measurable, while at 720p the lag can account for about a %10 drop in performance. | 05 February 2015, 17:20:00 UTC |
48a785b | Steve Borho | 04 February 2015, 21:41:46 UTC | param: lower default psy-rd scale factor to 0.3 | 04 February 2015, 21:41:46 UTC |
c82e57e | Steve Borho | 04 February 2015, 21:08:39 UTC | rdcost: use FIX16 for psyrd scale multiplier Gives us more resolution at the lower end of the range of psy-rd values. The max value of m_psyRdBase after the 0.33 scaling of [0..2] is less than 1. | 04 February 2015, 21:08:39 UTC |
68b6542 | Steve Borho | 04 February 2015, 21:00:31 UTC | cli: allow --no-psy-rd or --no-psy-rdoq | 04 February 2015, 21:00:31 UTC |
718a92c | Steve Borho | 31 January 2015, 20:57:06 UTC | api: give type name to x265_cli_csp | 31 January 2015, 20:57:06 UTC |
e296e38 | Steve Borho | 31 January 2015, 20:27:17 UTC | rdcost: use a more gradual fall-off function for psy-rd at high QP This algorithm results in: qp 39 psyRd 256 qp 40 psyRd 253 qp 41 psyRd 227 qp 42 psyRd 183 qp 43 psyRd 131 qp 44 psyRd 82 qp 45 psyRd 44 qp 46 psyRd 19 qp 47 psyRd 6 qp 48 psyRd 1 qp 49 psyRd 0 qp 50 psyRd 0 qp 51 psyRd 0 | 31 January 2015, 20:27:17 UTC |
fa26665 | Gopu Govindaswamy | 02 February 2015, 09:04:16 UTC | threading: use InterlockedExchangeAdd for ATOMIC_ADD This patch fixes build error in 32 bit VC-compilers which do not support InterlockedAdd. InterlockedExchangeAdd requires ptr to be aligned to 32-bit boundaries. | 02 February 2015, 09:04:16 UTC |
113bd00 | Deepthi Nandakumar | 30 January 2015, 05:57:55 UTC | encoder: whitespace nits and document fixes | 30 January 2015, 05:57:55 UTC |
998a5f3 | Steve Borho | 31 January 2015, 19:48:34 UTC | rc: fix comment text that was pasted from the HEVC spec The AyCpbRemovalTime typo is from the spec itself. The ? was an error copying the doc text to ascii encoding. The spec uses a unicode division symbol. | 31 January 2015, 19:48:34 UTC |
fea131f | Steve Borho | 30 January 2015, 17:56:09 UTC | merge default into stable, prep for 1.5 tag | 30 January 2015, 17:56:09 UTC |
5061031 | Steve Borho | 30 January 2015, 17:54:22 UTC | nit: replace hard-coded 51 with QP_MAX_SPEC | 30 January 2015, 17:54:22 UTC |
a4baf7b | Santhoshini Sekar | 28 January 2015, 10:28:37 UTC | pixelHarness: add testharness code for estimateCUPropagateCost | 28 January 2015, 10:28:37 UTC |
3b47ce4 | Min Chen | 30 January 2015, 12:19:12 UTC | improve codeCoeffNxN by calculate context in scanLast loop | 30 January 2015, 12:19:12 UTC |
e8a9ec6 | Satoshi Nakagawa | 30 January 2015, 13:18:28 UTC | quant: add m_tqBypass | 30 January 2015, 13:18:28 UTC |
0bd29d8 | Steve Borho | 30 January 2015, 01:55:35 UTC | encoder: allow 8 frame threads with 4k and many core servers | 30 January 2015, 01:55:35 UTC |
b3379f8 | Steve Borho | 29 January 2015, 19:27:54 UTC | encoder: no longer warn when disabling psy-rdo[q] for rdlevel reasons | 29 January 2015, 19:27:54 UTC |
a133257 | Steve Borho | 29 January 2015, 16:47:02 UTC | param: enable psy-rd and psy-rdoq by default The psycho-visual cost functions are assembly optimized now, so there isn't a large cost penalty to having them enabled. | 29 January 2015, 16:47:02 UTC |
cf704d8 | Steve Borho | 29 January 2015, 16:34:27 UTC | rdcost: auto down-scale psy-rd at higher QPs When QP gets above 42, turn down psy-rd by half. When it gets to 50 disable it outright. Note that we're not mucking with psy-rdoq at this time. | 29 January 2015, 16:34:27 UTC |
198a28d | Steve Borho | 29 January 2015, 16:37:54 UTC | api: nits | 29 January 2015, 16:37:54 UTC |
fbdc5b0 | Steve Borho | 29 January 2015, 16:10:30 UTC | cmake: bump build number for X265_LOG_FRAME | 29 January 2015, 16:10:30 UTC |
6f6bd5e | Steve Borho | 29 January 2015, 15:33:07 UTC | cli: improve and document return codes command parse errors were being reported but not many other errors were. | 29 January 2015, 15:33:07 UTC |
78761ee | Steve Borho | 29 January 2015, 15:31:58 UTC | cli: move a param validation into the encoder with other param validations | 29 January 2015, 15:31:58 UTC |
036188c | Steve Borho | 29 January 2015, 15:29:45 UTC | cli: remove a comment that was out of date 18 months ago | 29 January 2015, 15:29:45 UTC |
b9237a9 | Steve Borho | 28 January 2015, 21:29:02 UTC | encoder: abort on failure to open CSV log file for write If the user specified a log file, then they probably do not want the encode to be started if the log file failed to open. | 28 January 2015, 21:29:02 UTC |
6e90520 | Steve Borho | 28 January 2015, 21:25:25 UTC | stats: introduce X265_LOG_FRAME for file level CSV logging without console logs Using --log-level debug to trigger frame level CSV logging is problematic since the console logging is often a big enough overhead that it influences the performance characteristics. --log-level frame will log frame level stats to the CSV without enabling frame-level console logging. Note that this does not change the behavior of --log-level debug, but it does change the behavior of --log-level 3. | 28 January 2015, 21:25:25 UTC |
6c17d8e | Deepthi Nandakumar | 29 January 2015, 11:40:06 UTC | vps: frameOnlyConstraintFlag is true if fieldSeqFlag is false. frameOnlyConstraintFlag is true for progressive sources and false for interlaced sources. | 29 January 2015, 11:40:06 UTC |
9eaf125 | Deepthi Nandakumar | 29 January 2015, 11:27:10 UTC | stats: nits | 29 January 2015, 11:27:10 UTC |
2a64dbc | Steve Borho | 28 January 2015, 20:27:22 UTC | stats: document the new columms in per-frame CSV files | 28 January 2015, 20:27:22 UTC |
89bcf02 | Steve Borho | 28 January 2015, 20:12:53 UTC | stats: report frame wall time spent waiting for decided frames This is latency caused by the lookahead | 28 January 2015, 20:12:53 UTC |
7933cf7 | Steve Borho | 28 January 2015, 19:55:42 UTC | stats: report wall time of frame encoder with no active worker threads But do not start this counter until the first CTU is processed | 28 January 2015, 19:55:42 UTC |
f63c536 | Steve Borho | 28 January 2015, 19:44:58 UTC | stats: report wall time of wait for reference rows | 28 January 2015, 19:44:58 UTC |
a271bae | Steve Borho | 28 January 2015, 18:54:11 UTC | stats: include loop filter processing and all overhead in worker wall time | 28 January 2015, 18:54:11 UTC |
fd8cf68 | Steve Borho | 28 January 2015, 18:46:03 UTC | stats: report times in milliseconds | 28 January 2015, 18:46:03 UTC |
12b8ef3 | Steve Borho | 28 January 2015, 18:44:21 UTC | stats: report row0wait and frame end overhead seperate from wall time These are times where the frame encoder is either blocked for reference dependencies or is doing some non-compression related work | 28 January 2015, 18:44:21 UTC |
eb9eb52 | Steve Borho | 28 January 2015, 18:32:58 UTC | stats: count the number of times top dependencies block worker threads | 28 January 2015, 18:32:58 UTC |
28ccc3f | Steve Borho | 28 January 2015, 18:28:49 UTC | stats: keep timestamps instead of elapsed times, to allow more flexibility | 28 January 2015, 18:28:49 UTC |
f75530d | Steve Borho | 28 January 2015, 18:07:53 UTC | frameencoder: use uint32_t more consistently for rows and columns | 28 January 2015, 18:07:53 UTC |
eb4eda1 | Steve Borho | 28 January 2015, 17:51:48 UTC | stats: add frame statistic for average WPP benefit Show how many worker threads, on average, were working on each frame. Also move the performance statistics together at the end of the CSV line in preparation for adding a few more of them. | 28 January 2015, 17:51:48 UTC |
8709c39 | Steve Borho | 28 January 2015, 17:15:45 UTC | stats: keep running count of number of active worker threads per frame encoder | 28 January 2015, 17:15:45 UTC |
26e1d86 | Steve Borho | 28 January 2015, 17:49:46 UTC | threading: add ATOMIC_ADD | 28 January 2015, 17:49:46 UTC |
1a72e88 | Steve Borho | 26 January 2015, 21:31:42 UTC | cli: add a (mostly harmless) missing initializer | 26 January 2015, 21:31:42 UTC |
3c81a16 | Steve Borho | 26 January 2015, 21:26:57 UTC | Merge | 26 January 2015, 21:26:57 UTC |
e16a903 | amarcu5 | 26 January 2015, 20:09:23 UTC | Adds documentation for zones | 26 January 2015, 20:09:23 UTC |
19c0819 | Steve Borho | 24 January 2015, 17:53:51 UTC | profile: illuminate pre-lookahead tasks of downscale and AQ init | 24 January 2015, 17:53:51 UTC |
0595f4a | Steve Borho | 24 January 2015, 17:47:46 UTC | profile: re-enable frame encode tasks | 24 January 2015, 17:47:46 UTC |
bbdb2ab | Steve Borho | 24 January 2015, 17:33:55 UTC | profile: name the file read thread | 24 January 2015, 17:33:55 UTC |
cc790e2 | Steve Borho | 24 January 2015, 17:25:15 UTC | profile: give an compile error if PPA and VTUNE are enabled In this configuration, neither will work properly | 24 January 2015, 17:25:15 UTC |
2589901 | Steve Borho | 21 January 2015, 17:21:23 UTC | encoder: proper indentation for the zero-latency loop, no logic changes | 21 January 2015, 17:21:23 UTC |
ce38b6f | Steve Borho | 21 January 2015, 17:20:10 UTC | encoder: if zero-latency, encode each picture in single call This patch deliberately doesn't change indentation so the logic changes are clear. It's fairly ugly but I can't think of a cleaner method to handle the problem. | 21 January 2015, 17:20:10 UTC |
ef27161 | Steve Borho | 21 January 2015, 16:17:14 UTC | encoder: white-space, comment nits | 21 January 2015, 16:17:14 UTC |
c02a234 | Gopu Govindaswamy | 21 January 2015, 11:20:07 UTC | analysis: allocate and initialize interData ref index | 21 January 2015, 11:20:07 UTC |
997d656 | Steve Borho | 21 January 2015, 15:29:27 UTC | cli: allow the CLI to be bit-depth independent on non-Windows platforms This allows one to do something like this: LD_LIBRARY_PATH=/usr/local/x265_16bpp ./x265 in.y4m out-main10.hevc LD_LIBRARY_PATH=/usr/local/x265_8bpp ./x265 in.y4m out-main8.hevc Without this change, the CLI "remembers" the bit depth it was compiled with for no particularly good reason. On Windows, the CLI must link with the static library and this point is moot. closes (#98) | 21 January 2015, 15:29:27 UTC |
cda845d | Steve Borho | 21 January 2015, 15:19:46 UTC | slice: signal sps_max_latency_increase_plus1 more accurately (refs #99) | 21 January 2015, 15:19:46 UTC |
46e77f2 | Steve Borho | 21 January 2015, 15:13:01 UTC | level: make --tune zero-latency have zero-latency at the decoder (closes #99) | 21 January 2015, 15:13:01 UTC |
537cdeb | Steve Borho | 21 January 2015, 15:12:16 UTC | param: make --tune zero-latency actually have zero-latency at the encoder It now disables frame parallelism, which can be a large performance loss. Users may want to increase the number of frame encoders if they only need zero-latency at the decoder. | 21 January 2015, 15:12:16 UTC |
5c6a91d | David T Yuen | 21 January 2015, 22:04:56 UTC | Added 10bit support to ssse3 dct16 and dct32 intrinsics WARNING:My system is old and limited to sse3 so this is untested! I will be happy to fix any errors found by anyone else. | 21 January 2015, 22:04:56 UTC |
e443687 | Yann.OA | 19 December 2014, 17:32:20 UTC | cmake: fix pkgconfig install destination There is a problem with the install path of the package config file. As suspected by me and best explained by user "BtbN" on Freenode IRC at #cmake, "all install commands take the destination path relative to the install prefix". Thus, when generating the 'x265.pc' file, the $CMAKE_INSTALL_PREFIX is redundant in the destination path and causes unwanted behaviour. | 19 December 2014, 17:32:20 UTC |
b7f0efb | Steve Borho | 20 January 2015, 23:41:35 UTC | asm: slight improvements to macro names | 20 January 2015, 23:41:35 UTC |
6f85319 | Steve Borho | 20 January 2015, 23:33:15 UTC | asm: remove LUMA_SP_FILTERS, it was redundant with LUMA_FILTERS | 20 January 2015, 23:33:15 UTC |
30083ca | Steve Borho | 20 January 2015, 23:31:25 UTC | asm: split setupAssemblyPrimitives() between 8bpp and 16bpp versions This is easier to navigate in most editors and IDEs | 20 January 2015, 23:31:25 UTC |
2b1a231 | Steve Borho | 21 January 2015, 14:05:56 UTC | rc: explicit type conversion to avoid compiler warning | 21 January 2015, 14:05:56 UTC |
8792710 | Steve Borho | 20 January 2015, 22:36:58 UTC | cmake: bump X265_BUILD for zones and strict-cbr changes | 20 January 2015, 22:36:58 UTC |
9f4c66e | Steve Borho | 20 January 2015, 22:22:12 UTC | asm: nits | 20 January 2015, 22:22:12 UTC |
c9e4141 | David T Yuen | 20 January 2015, 21:05:56 UTC | Added high bit support to sse3 intrinsics | 20 January 2015, 21:05:56 UTC |
7718972 | Adam Marcus | 22 December 2014, 00:13:51 UTC | Support for tweaking rate control using zones | 22 December 2014, 00:13:51 UTC |
173d835 | Steve Borho | 20 January 2015, 15:54:30 UTC | asm: cleanups | 20 January 2015, 15:54:30 UTC |
2ccfb9b | Steve Borho | 20 January 2015, 15:35:06 UTC | pixelharness: cleanup | 20 January 2015, 15:35:06 UTC |
318e1c4 | Steve Borho | 20 January 2015, 15:28:56 UTC | asm: remove obsolete comment | 20 January 2015, 15:28:56 UTC |
33f13c0 | David T Yuen | 19 January 2015, 17:43:36 UTC | asm: idct16 intrinsic 28900->25000 improvement over previous intrinsic | 19 January 2015, 17:43:36 UTC |
1f0636d | Min Chen | 19 January 2015, 17:33:51 UTC | asm: fix broken on weight_sp and weight_pp on 8bpp mode | 19 January 2015, 17:33:51 UTC |
05b7339 | Min Chen | 19 January 2015, 17:19:23 UTC | avoid warning on variant correction in weight_sp_c() | 19 January 2015, 17:19:23 UTC |
03f6506 | Min Chen | 19 January 2015, 10:21:50 UTC | asm: rewrite and fix bug in weight_sp_sse4 on HIGH_BIT_DEPTH mode | 19 January 2015, 10:21:50 UTC |
cf1bf7e | Min Chen | 19 January 2015, 10:21:45 UTC | asm: rewrite and fix bug in weight_pp_sse4 on HIGH_BIT_DEPTH mode | 19 January 2015, 10:21:45 UTC |
42b4543 | Divya Manivannan | 19 January 2015, 05:46:31 UTC | asm: psyCost_ss_64x64 in sse4: improve 501123c->159906c | 19 January 2015, 05:46:31 UTC |
cde2931 | Divya Manivannan | 19 January 2015, 05:35:33 UTC | asm: psyCost_ss_32x32 in sse4: improve 136848c->39754c | 19 January 2015, 05:35:33 UTC |
8e85fd7 | Divya Manivannan | 19 January 2015, 05:26:24 UTC | asm: psyCost_ss_16x16 in sse4: improve 31052c->9946c | 19 January 2015, 05:26:24 UTC |
6339b62 | Deepthi Nandakumar | 19 January 2015, 09:56:35 UTC | x265: update copyright header | 19 January 2015, 09:56:35 UTC |
7760810 | Deepthi Nandakumar | 19 January 2015, 04:29:33 UTC | predict: disable conditional-expression-constant warnings | 19 January 2015, 04:29:33 UTC |
96b1fab | Steve Borho | 18 January 2015, 10:13:42 UTC | primitives: better document the data structures and their use | 18 January 2015, 10:13:42 UTC |
fc4928c | Satoshi Nakagawa | 17 January 2015, 09:32:52 UTC | more use CUGeom | 17 January 2015, 09:32:52 UTC |
2ab352d | Steve Borho | 17 January 2015, 11:42:08 UTC | asm: pickup missing primitives We often were not using the most optimized version of each primitive, especially in Main10 encodes. | 17 January 2015, 11:42:08 UTC |
a7cddaa | Steve Borho | 17 January 2015, 11:42:26 UTC | pixel: consistent naming of blockfill functions | 17 January 2015, 11:42:26 UTC |
d0b98df | Steve Borho | 17 January 2015, 10:44:15 UTC | asm: remove _ from ALL_LUMA_TU_TYPED_S to allow more users | 17 January 2015, 10:44:15 UTC |
05d0b52 | Steve Borho | 17 January 2015, 10:27:13 UTC | primitives: move intra pred functions into CU for improved cache coherency | 17 January 2015, 10:27:13 UTC |
633f968 | Steve Borho | 17 January 2015, 09:50:43 UTC | asm: move template into x265 namespace | 17 January 2015, 09:50:43 UTC |
bdd757d | Steve Borho | 17 January 2015, 09:45:55 UTC | asm: new ALL_LUMA_BLOCKS for all square blocks, TU or CU | 17 January 2015, 09:45:55 UTC |
4d0981d | Steve Borho | 17 January 2015, 09:35:20 UTC | asm: cleanup AVC oriented macros | 17 January 2015, 09:35:20 UTC |
0c7a1f4 | Steve Borho | 17 January 2015, 09:10:41 UTC | asm: chroma all-block macros, remove large amounts of redundancy | 17 January 2015, 09:10:41 UTC |
a6c8b30 | Steve Borho | 17 January 2015, 07:14:28 UTC | asm: introduce helper macros to unify function sets | 17 January 2015, 07:14:28 UTC |
8322ea2 | Steve Borho | 17 January 2015, 06:03:35 UTC | primitives: consistent naming of chroma macros, cleanup asm-primitives.cpp "A foolish consistency is the hobgoblin of little minds" - RWE | 17 January 2015, 06:03:35 UTC |
7bbdf03 | Steve Borho | 17 January 2015, 04:42:34 UTC | mbdstharness: use NUM_TR_SIZE, reintroduce speed tests for dst/idst4x4 and white-space nits | 17 January 2015, 04:42:34 UTC |
3ec415e | Steve Borho | 17 January 2015, 03:19:22 UTC | primitives: reorder header for better clarity | 17 January 2015, 03:19:22 UTC |
88b5f7d | Steve Borho | 15 January 2015, 06:19:26 UTC | cli: move option tables and help functions into x265cli.h this makes the command line interface more portable | 15 January 2015, 06:19:26 UTC |