· 6 years ago · Jul 18, 2019, 05:46 PM
1commit 3759fcb7b48037a5169715ab89f80a0ab4801cdf [revision 2984]
2Author: Anton Mitrofanov <BugMaster@narod.ru>
3AuthorDate: Wed May 8 19:19:11 2019 +0300
4Commit: Anton Mitrofanov <BugMaster@narod.ru>
5CommitDate: Wed Jul 17 20:19:23 2019 +0300
6
7 Remove CRT objects use between DLL boundaries
8
9 Fix crash of MSVC builds compiled with --system-libx264 and /MT (default) CRT.
10
11commit 76c5afc25b331cf98c63c6e313a90cd98c575858 [revision 2983]
12Author: Anton Mitrofanov <BugMaster@narod.ru>
13AuthorDate: Mon Apr 22 22:18:01 2019 +0300
14Commit: Anton Mitrofanov <BugMaster@narod.ru>
15CommitDate: Wed Jul 17 20:19:23 2019 +0300
16
17 Fix MSVS build with ./configure --enable-shared --system-libx264
18
19commit a615f027ed172e2dd5380e736d487aa858a0c4ff [revision 2982]
20Author: Anton Mitrofanov <BugMaster@narod.ru>
21AuthorDate: Fri Mar 29 17:53:14 2019 +0300
22Commit: Anton Mitrofanov <BugMaster@narod.ru>
23CommitDate: Wed Jul 17 20:19:23 2019 +0300
24
25 Mark explicitly DSO public API symbols and hide all other by -fvisibility=hidden
26
27 Removes need for -Bsymbolic during linking.
28
29commit b5bc5d69c580429ff716bafcd43655e855c31b02 [revision 2981]
30Author: Henrik Gramner <henrik@gramner.com>
31AuthorDate: Sat Mar 30 17:47:25 2019 +0100
32Commit: Anton Mitrofanov <BugMaster@narod.ru>
33CommitDate: Wed Jul 17 20:15:35 2019 +0300
34
35 x86: Perform stack realignment in C instead of assembly
36
37 Simplifies a lot of code and avoids having to export public asm functions.
38
39 Note that the force_align_arg_pointer function attribute is broken in clang
40 versions prior to 6.0.1 which may result in crashes, so make sure to either
41 use a newer clang version or a different compiler.
42
43commit 34c06d1c17ad968fbdda153cb772f77ee31b3095 [revision 2980]
44Author: Anton Mitrofanov <BugMaster@narod.ru>
45AuthorDate: Fri Jul 12 15:23:29 2019 +0300
46Commit: Anton Mitrofanov <BugMaster@narod.ru>
47CommitDate: Wed Jul 17 20:15:34 2019 +0300
48
49 Strip git-hash from version in x264.pc
50
51 pkg-config doesn't like spaces in version string.
52
53commit f9af2a0f71d0fca7c1cafa7657f03a302da0ca1c [revision 2979]
54Author: Anton Mitrofanov <BugMaster@narod.ru>
55AuthorDate: Mon Jul 8 15:46:56 2019 +0300
56Commit: Anton Mitrofanov <BugMaster@narod.ru>
57CommitDate: Wed Jul 17 20:15:34 2019 +0300
58
59 Revert r2959: Signal Progressive and Constrained profiles
60
61 Some hardware decoders reject to decode streams with non-zero
62 constraint_set4_flag/constraint_set5_flag.
63
64commit 6d4947083a712c7dc2efca569c8149ffc8667eda [revision 2978]
65Author: Anton Mitrofanov <BugMaster@narod.ru>
66AuthorDate: Fri Jun 14 19:57:36 2019 +0300
67Commit: Anton Mitrofanov <BugMaster@narod.ru>
68CommitDate: Wed Jul 17 20:15:34 2019 +0300
69
70 Fix x264_picture_alloc with X264_CSP_I400 colorspace
71
72commit 6b1170cbbd4f5cf3170d9d79aa1182e863188b04 [revision 2977]
73Author: Anton Mitrofanov <BugMaster@narod.ru>
74AuthorDate: Wed May 8 17:52:15 2019 +0300
75Commit: Anton Mitrofanov <BugMaster@narod.ru>
76CommitDate: Wed Jul 17 20:15:34 2019 +0300
77
78 Shut up UBSan about uninitialized data read
79
80 Result was never used in that case.
81
82commit f06062f51bc5928e6a364598357dbea2d7b83cd2 [revision 2976]
83Author: Anton Mitrofanov <BugMaster@narod.ru>
84AuthorDate: Mon Apr 22 21:41:43 2019 +0300
85Commit: Anton Mitrofanov <BugMaster@narod.ru>
86CommitDate: Wed Jul 17 20:15:34 2019 +0300
87
88 Fix integer overflow detected by UBSan in --weightp analysis
89
90 Bug report by Xuezhi Yan.
91
92commit 3147fa431627f1a00e54c8701d5ac07f1857c981 [revision 2975]
93Author: Anton Mitrofanov <BugMaster@narod.ru>
94AuthorDate: Fri Apr 12 15:40:01 2019 +0300
95Commit: Anton Mitrofanov <BugMaster@narod.ru>
96CommitDate: Wed Jul 17 20:15:34 2019 +0300
97
98 checkasm: Fix heap-buffer-overflow read detected by ASan
99
100commit 6381798d2d1339c0535732a764096b5345607981 [revision 2974]
101Author: Anton Mitrofanov <BugMaster@narod.ru>
102AuthorDate: Fri Apr 12 15:38:08 2019 +0300
103Commit: Anton Mitrofanov <BugMaster@narod.ru>
104CommitDate: Wed Jul 17 20:15:34 2019 +0300
105
106 Fix heap-buffer-overflow read detected by ASan with interlaced encoding
107
108 Bug report by Hongxu Chen.
109
110commit bd8a88be426baa903427a10de9f9ddb5e7c32812 [revision 2973]
111Author: Konstantin Pavlov <thresh@videolan.org>
112AuthorDate: Tue Jul 16 22:38:32 2019 +0300
113Commit: Konstantin Pavlov <thresh@videolan.org>
114CommitDate: Wed Jul 17 00:06:53 2019 +0300
115
116 CI: Bump macos target to darwin18
117
118commit 352c02634d6d004c1d79ff5ccbbd2414ad32b67c [revision 2972]
119Author: Konstantin Pavlov <thresh@videolan.org>
120AuthorDate: Tue Jul 16 22:24:46 2019 +0300
121Commit: Konstantin Pavlov <thresh@videolan.org>
122CommitDate: Wed Jul 17 00:06:24 2019 +0300
123
124 CI: Use a newer aarch64 image
125
126 It now includes pkg-config, so lavf can be detected.
127
128commit 98ee9d2f215326feeb221a4434957fa586d55c18 [revision 2971]
129Author: Konstantin Pavlov <thresh@videolan.org>
130AuthorDate: Fri Apr 5 15:08:29 2019 +0300
131Commit: Konstantin Pavlov <thresh@videolan.org>
132CommitDate: Tue Jul 16 14:34:18 2019 +0300
133
134 Added gitlab CI
135
136 Supported targets:
137 - debian amd64
138 - debian aarch64
139 - windows 32 bit
140 - windows 64 bit
141 - macos 64bit
142
143 The tests are ran on all supported targets (via wine on windows).
144
145 The release jobs are only available on master/stable branches in
146 videolan/x264 repository, and must be ran manually when a developer
147 wishes to upload the artifacts.
148
149commit 5493be84cdccecee613236c31b1e3227681ce428 [revision 2970]
150Author: Henrik Gramner <henrik@gramner.com>
151AuthorDate: Thu Mar 14 14:31:22 2019 +0100
152Commit: Henrik Gramner <henrik@gramner.com>
153CommitDate: Thu Mar 14 14:31:22 2019 +0100
154
155 Fix warning in autocomplete.c when compiled with lavf
156
157commit d4099dd4c722f52c4f3c14575d7d39eb8fadb97f [revision 2969]
158Author: Anton Mitrofanov <BugMaster@narod.ru>
159AuthorDate: Tue Jun 6 02:30:41 2017 +0300
160Commit: Anton Mitrofanov <BugMaster@narod.ru>
161CommitDate: Wed Mar 6 22:45:53 2019 +0300
162
163 Remove compatibility workarounds
164
165 This will break decoding with older versions of FFmpeg/Libav.
166
167commit 120ed3afe4bdef3f7f0ac2768e57da0d935e7536 [revision 2968]
168Author: Anton Mitrofanov <BugMaster@narod.ru>
169AuthorDate: Fri Nov 9 18:37:17 2018 +0300
170Commit: Anton Mitrofanov <BugMaster@narod.ru>
171CommitDate: Wed Mar 6 22:45:53 2019 +0300
172
173 Remove h->rc dereferencing where possible
174
175commit 3e5aed95cc470f37e2db3e6506a8deb89b527720 [revision 2967]
176Author: Henrik Gramner <henrik@gramner.com>
177AuthorDate: Sat Feb 16 21:02:01 2019 +0100
178Commit: Anton Mitrofanov <BugMaster@narod.ru>
179CommitDate: Wed Mar 6 22:45:53 2019 +0300
180
181 x86inc: Add support for GFNI instructions
182
183commit d3fa8b972557bad64c2e0247b0b5276c2d49961b [revision 2966]
184Author: Henrik Gramner <henrik@gramner.com>
185AuthorDate: Sat Feb 16 17:57:21 2019 +0100
186Commit: Anton Mitrofanov <BugMaster@narod.ru>
187CommitDate: Wed Mar 6 22:45:53 2019 +0300
188
189 x86inc: Improve warnings for use of unsupported instructions
190
191 Warn when the following are used without the appropriate cpuflag:
192 * YMM and ZMM registers
193 * 'pextrw' with a memory operand
194 * GPR instruction set extensions
195
196commit 101bd27d89cc84c18845046c13a67ab39e443a25 [revision 2965]
197Author: Henrik Gramner <henrik@gramner.com>
198AuthorDate: Thu Jan 31 20:42:32 2019 +0100
199Commit: Anton Mitrofanov <BugMaster@narod.ru>
200CommitDate: Wed Mar 6 22:45:53 2019 +0300
201
202 x86inc: Support N_PEXT bit on Mach-O
203
204 Allows for marking symbols as having limited global scope, similar to
205 using 'hidden' symbol visibility on ELF.
206
207commit 6f85b3c4961810427cc4e8f520e0b706a321114d [revision 2964]
208Author: Henrik Gramner <henrik@gramner.com>
209AuthorDate: Thu Jan 31 20:21:43 2019 +0100
210Commit: Anton Mitrofanov <BugMaster@narod.ru>
211CommitDate: Wed Mar 6 22:45:53 2019 +0300
212
213 x86inc: Make 'non-adjacent' default in the TAIL_CALL macro
214
215commit 82721eae6edddf4955634adc51bf6eb228cc1313 [revision 2963]
216Author: Henrik Gramner <henrik@gramner.com>
217AuthorDate: Thu Jan 31 20:17:56 2019 +0100
218Commit: Anton Mitrofanov <BugMaster@narod.ru>
219CommitDate: Wed Mar 6 22:45:53 2019 +0300
220
221 x86inc: Add x86-32 PIC support macros
222
223commit b7e9935c3f08055a67a0fdea498499c675d00054 [revision 2962]
224Author: Henrik Gramner <henrik@gramner.com>
225AuthorDate: Thu Jan 31 20:11:01 2019 +0100
226Commit: Anton Mitrofanov <BugMaster@narod.ru>
227CommitDate: Wed Mar 6 22:45:53 2019 +0300
228
229 x86inc: Turn 'movsxd' into 'movifnidn' on x86-32
230
231commit ec1d32302d0f1f59d3882e0289126b8d897c9f57 [revision 2961]
232Author: Henrik Gramner <henrik@gramner.com>
233AuthorDate: Thu Jan 31 20:08:40 2019 +0100
234Commit: Anton Mitrofanov <BugMaster@narod.ru>
235CommitDate: Wed Mar 6 22:45:52 2019 +0300
236
237 Bump dates to 2019
238
239commit 74c051f2c4945cf2a279e36051537a2a1897c120 [revision 2960]
240Author: Henrik Gramner <henrik@gramner.com>
241AuthorDate: Sun Jul 1 20:34:48 2018 +0200
242Commit: Anton Mitrofanov <BugMaster@narod.ru>
243CommitDate: Wed Mar 6 22:45:52 2019 +0300
244
245 cli: Bash autocomplete support
246
247 Allows for automatic command line completion for both options and values.
248
249 Options such as --input-csp and --input-fmt will dynamically retrieve
250 supported values from libavformat when compiled with lavf support.
251
252 Execute 'source tools/bash-autocomplete.sh' in bash to enable.
253
254commit 92d36908cbafd2a6edf7e61d69f341027b57f6f8 [revision 2959]
255Author: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
256AuthorDate: Mon Apr 9 11:01:28 2018 +0900
257Commit: Anton Mitrofanov <BugMaster@narod.ru>
258CommitDate: Wed Mar 6 22:45:51 2019 +0300
259
260 Signal Progressive and Constrained profiles
261
262 Progressive High, Constrained High, and Progressive High 10.
263
264 Even in Main profile, constraint_set4_flag is now set to 1 if progressive,
265 and constraint_set5_flag is set to 1 if no B-slices are present.
266
267commit 57baac4ed7fe213a2c2bb07924c6c7cee8ac25f9 [revision 2958]
268Author: Alexandra Hájková <alexandra.khirnova@gmail.com>
269AuthorDate: Sat Sep 8 07:15:53 2018 +0000
270Commit: Anton Mitrofanov <BugMaster@narod.ru>
271CommitDate: Wed Mar 6 22:45:51 2019 +0300
272
273 ppc: Use xxpermdi in sad_x3/x4 and use macros to avoid redundant code
274
275commit de380f4aed75b0a9bf5bdfc298a9901646184375 [revision 2957]
276Author: Luca Barbato <lu_zero@gentoo.org>
277AuthorDate: Thu Sep 6 12:25:14 2018 +0200
278Commit: Anton Mitrofanov <BugMaster@narod.ru>
279CommitDate: Wed Mar 6 22:45:51 2019 +0300
280
281 ppc: Use the vec_xst_len for partial stores in mc
282
283 Around a ~1% speedup to the overall encoding for --slow.
284
285commit 69dfb2896cf3180fd59233b124b5589f12fb6a94 [revision 2956]
286Author: Luca Barbato <lu_zero@gentoo.org>
287AuthorDate: Thu Sep 6 12:25:13 2018 +0200
288Commit: Anton Mitrofanov <BugMaster@narod.ru>
289CommitDate: Wed Mar 6 22:45:51 2019 +0300
290
291 ppc: Use vec_splats in mc
292
293 No overall speedup, just tidier code.
294
295commit 40688108dd13fc0bf1847a6dfc1cf86a728654fb [revision 2955]
296Author: Luca Barbato <lu_zero@gentoo.org>
297AuthorDate: Thu Aug 23 08:30:37 2018 +0000
298Commit: Anton Mitrofanov <BugMaster@narod.ru>
299CommitDate: Wed Mar 6 22:45:51 2019 +0300
300
301 ppc: Use the vec_xst_len for partial stores
302
303 Seems to give about a 1-2% overall speedup on --slow.
304
305commit 0d111333bbd65b1a76b5c646abf802f45dd41e96 [revision 2954]
306Author: Luca Barbato <lu_zero@gentoo.org>
307AuthorDate: Sun Aug 19 17:27:55 2018 +0200
308Commit: Anton Mitrofanov <BugMaster@narod.ru>
309CommitDate: Wed Mar 6 22:45:51 2019 +0300
310
311 ppc: Use xxpermdi in VEC_STORE8
312
313 Around a ~2% speedup to the overall encoding for --slow.
314
315commit 18262ee37fedeb4d7b30d9a228f2f38ef0e13cc1 [revision 2953]
316Author: Luca Barbato <lu_zero@gentoo.org>
317AuthorDate: Sun Aug 19 17:27:54 2018 +0200
318Commit: Anton Mitrofanov <BugMaster@narod.ru>
319CommitDate: Wed Mar 6 22:45:51 2019 +0300
320
321 ppc: Use a single store to write the scores for sad_x4_8x8
322
323 Yet another use of xxpermdi, another 10% gain.
324
325commit 28fb2661161c12ee20c29d9bb2a75509a5af5327 [revision 2952]
326Author: Luca Barbato <lu_zero@gentoo.org>
327AuthorDate: Sun Aug 19 17:27:53 2018 +0200
328Commit: Anton Mitrofanov <BugMaster@narod.ru>
329CommitDate: Wed Mar 6 22:45:51 2019 +0300
330
331 ppc: Use xxpermdi to halve the computation in sad_x4_8x8
332
333 About 20% faster.
334
335commit 83acefef8990302caf962c77e5a8189bb620ca6f [revision 2951]
336Author: Luca Barbato <lu_zero@gentoo.org>
337AuthorDate: Sun Aug 19 09:28:42 2018 +0200
338Commit: Anton Mitrofanov <BugMaster@narod.ru>
339CommitDate: Wed Mar 6 22:45:51 2019 +0300
340
341 ppc: Rework satd_4* likewise
342
343 Now 4x4 is as slow as C and 4x8 is a 2% faster than before.
344
345commit e0d846a63313e2a3d71faa703238b70385f6a5e4 [revision 2950]
346Author: Luca Barbato <lu_zero@gentoo.org>
347AuthorDate: Sun Aug 19 09:28:41 2018 +0200
348Commit: Anton Mitrofanov <BugMaster@narod.ru>
349CommitDate: Wed Mar 6 22:45:51 2019 +0300
350
351 ppc: Factor out the sum of absolute
352
353 And use it on the other satd > 8.
354
355 5-10% faster depending on the size.
356
357commit 6e74eb5af2f28ab30d2c28a86f921b56e94f04f7 [revision 2949]
358Author: Luca Barbato <lu_zero@gentoo.org>
359AuthorDate: Sun Aug 19 09:28:40 2018 +0200
360Commit: Anton Mitrofanov <BugMaster@narod.ru>
361CommitDate: Wed Mar 6 22:45:50 2019 +0300
362
363 ppc: Rework the adds in satd8x8
364
365 10% faster.
366
367commit 4dd83955b282e722fbeb3f4ee5cc05a45dc54c7f [revision 2948]
368Author: Luca Barbato <lu_zero@gentoo.org>
369AuthorDate: Fri Aug 17 22:28:45 2018 +0200
370Commit: Anton Mitrofanov <BugMaster@narod.ru>
371CommitDate: Wed Mar 6 22:45:50 2019 +0300
372
373 ppc: Add quant_4x4x4
374
375 4x faster than C.
376
377commit 8f6ac77f325c70631359e5f173e76b41e3fb55d9 [revision 2947]
378Author: Luca Barbato <lu_zero@gentoo.org>
379AuthorDate: Fri Aug 17 22:28:44 2018 +0200
380Commit: Anton Mitrofanov <BugMaster@narod.ru>
381CommitDate: Wed Mar 6 22:45:50 2019 +0300
382
383 ppc: Cleanup quant
384
385commit 275ef5332dffec445a0c5a78dbc00c3e0766011d [revision 2946]
386Author: Henrik Gramner <henrik@gramner.com>
387AuthorDate: Sun Aug 12 17:00:13 2018 +0200
388Commit: Anton Mitrofanov <BugMaster@narod.ru>
389CommitDate: Wed Mar 6 22:45:50 2019 +0300
390
391 x86: Always use PIC in x86-64 asm
392
393 Most x86-64 operating systems nowadays doesn't even allow .text relocations
394 in object files any more, and there is no measurable overall performance
395 difference from using RIP-relative addressing in x264 asm.
396
397 Enforcing PIC reduces complexity and simplifies testing.
398
399commit 72db437770fd1ce3961f624dd57a8e75ff65ae0b [revision 2945]
400Author: Henrik Gramner <henrik@gramner.com>
401AuthorDate: Sat Feb 23 20:15:33 2019 +0100
402Commit: Henrik Gramner <henrik@gramner.com>
403CommitDate: Sun Mar 3 23:52:42 2019 +0100
404
405 x86: Fix integer overflow in intra_sa8d_x3_8x8_sse2
406
407commit 88943afa4ee6565370e0e7cdc475b3b2283ada4b [revision 2944]
408Author: Anton Mitrofanov <BugMaster@narod.ru>
409AuthorDate: Fri Nov 9 18:13:34 2018 +0300
410Commit: Henrik Gramner <henrik@gramner.com>
411CommitDate: Sun Mar 3 23:52:42 2019 +0100
412
413 Check that mbtree settings are consistent between passes
414
415 Also check that CQP mode is not used with 2-pass.
416
417commit 6d8af5f0e390bbcd31a65dda04ef27d3f93821c1 [revision 2943]
418Author: Anton Mitrofanov <BugMaster@narod.ru>
419AuthorDate: Mon Feb 4 22:04:56 2019 +0300
420Commit: Henrik Gramner <henrik@gramner.com>
421CommitDate: Sun Mar 3 23:52:42 2019 +0100
422
423 Mark frame_size_estimated as volatile
424
425 Ensures that access is atomic and that other threads sees the actual
426 value of the variable.
427
428commit a6327f8a25b72f5edd3515aca82190046d18745b [revision 2942]
429Author: Anton Mitrofanov <BugMaster@narod.ru>
430AuthorDate: Mon Feb 4 21:46:12 2019 +0300
431Commit: Henrik Gramner <henrik@gramner.com>
432CommitDate: Sun Mar 3 23:52:42 2019 +0100
433
434 Fix data race detected by ThreadSanitizer
435
436 Bug report by Daniel Deptford.
437
438commit 6172da4d77a574c831ed4710a10d945ea128528e [revision 2941]
439Author: Anton Mitrofanov <BugMaster@narod.ru>
440AuthorDate: Mon Dec 24 19:37:45 2018 +0300
441Commit: Henrik Gramner <henrik@gramner.com>
442CommitDate: Sun Mar 3 23:52:42 2019 +0100
443
444 Fix XAVC with sliced-threads
445
446commit c7ec24cfbdf720dbf0806046cb5fb9302b941ec9 [revision 2940]
447Author: Anton Mitrofanov <BugMaster@narod.ru>
448AuthorDate: Fri Dec 21 18:54:56 2018 +0300
449Commit: Henrik Gramner <henrik@gramner.com>
450CommitDate: Sun Mar 3 23:52:42 2019 +0100
451
452 Fix XAVC slice pattern
453
454commit 6aa4b5929d3ce92ab618e98c34ed6e0948b06bbf [revision 2939]
455Author: Henrik Gramner <henrik@gramner.com>
456AuthorDate: Sun Oct 21 14:28:59 2018 +0200
457Commit: Henrik Gramner <henrik@gramner.com>
458CommitDate: Sun Mar 3 23:52:40 2019 +0100
459
460 Eliminate the use of strtok()
461
462 Also fix the string parsing in param_apply_tune() to correctly compare
463 the entire string, not just the first N characters.
464
465commit d6af823959dc06f061e0a7b038dab83d9c1c9ea3 [revision 2938]
466Author: Anton Mitrofanov <BugMaster@narod.ru>
467AuthorDate: Thu Nov 8 22:01:54 2018 +0300
468Commit: Henrik Gramner <henrik@gramner.com>
469CommitDate: Sun Dec 23 20:13:43 2018 +0100
470
471 configure: Fix log2f misdetection on some systems
472
473 Bug report by Dirk Fieldhouse.
474
475commit b763e338e0cec4dae13c4fc2fc49c63ac6f26df1 [revision 2937]
476Author: Anton Mitrofanov <BugMaster@narod.ru>
477AuthorDate: Thu Nov 8 21:53:17 2018 +0300
478Commit: Henrik Gramner <henrik@gramner.com>
479CommitDate: Sun Dec 23 20:13:43 2018 +0100
480
481 Fix ultrafast preset speed regression
482
483 --trellis 0 was missed for it during 8-bit and 10-bit unification.
484 Bug report by Aleksey Vasenev.
485
486commit b048e2658ad6aec55deceb0561db5796cdb64bd2 [revision 2936]
487Author: Anton Mitrofanov <BugMaster@narod.ru>
488AuthorDate: Wed Oct 10 19:41:08 2018 +0300
489Commit: Henrik Gramner <henrik@gramner.com>
490CommitDate: Sun Dec 23 20:13:43 2018 +0100
491
492 Fix --crop-rect top offset with --interlaced or --fake-interlaced
493
494 Bug report by Koby Shina.
495
496commit 545de2ffec6ae9a80738de1b2c8cf820249a2530 [revision 2935]
497Author: Anton Mitrofanov <BugMaster@narod.ru>
498AuthorDate: Sun Sep 23 20:47:44 2018 +0300
499Commit: Henrik Gramner <henrik@gramner.com>
500CommitDate: Tue Sep 25 11:20:26 2018 +0200
501
502 Fix possible double transpose of custom CQM if --level is not set
503
504 Bug reported by Nicolas Gaullier
505
506commit b63c73dc5c37e5405bf032c9113c1daced3e45a4 [revision 2934]
507Author: Henrik Gramner <henrik@gramner.com>
508AuthorDate: Tue Aug 7 22:42:22 2018 +0200
509Commit: Henrik Gramner <henrik@gramner.com>
510CommitDate: Thu Aug 23 01:34:51 2018 +0200
511
512 cli: Fix linking with --system-libx264 on x86
513
514commit fb17a6b5b51d02020fb0cadea2b27c7803e734ba [revision 2933]
515Author: Anton Mitrofanov <BugMaster@narod.ru>
516AuthorDate: Tue Aug 21 15:11:21 2018 +0300
517Commit: Henrik Gramner <henrik@gramner.com>
518CommitDate: Thu Aug 23 01:34:51 2018 +0200
519
520 Fix CAVLC+RDO in 4:4:4
521
522commit 303c484ec828ed0d8bfe743500e70314d026c3bd [revision 2932]
523Author: Alexandra Hájková <alexandra.khirnova@gmail.com>
524AuthorDate: Wed Jul 11 19:28:20 2018 +0000
525Commit: Henrik Gramner <henrik@gramner.com>
526CommitDate: Mon Aug 6 23:24:13 2018 +0200
527
528 ppc: Optimize quant functions
529
530 1) using xxpermdi + merge instead of 2 merges improves quant_8x8
531 performance by 5%
532
533 2) use vec_splats instead of vec_splat
534
535 checkasm timings when compiled with gcc:
536 C: AltiVec:
537 before: after:
538 quant_2x2_dc: 57 163 46
539 quant_4x4_dc: 141 162 57
540
541 dequant_4x4_cmp: 104 101 45
542 dequant_4x4_flat: 104 106 46
543 dequant_8x8_cmp: 412 208 147
544 dequant_8x8_flat: 414 212 149
545
546commit 44f1671369b54734db1775fe5155f17041344d8f [revision 2931]
547Author: Alexandra Hajkova <alexandra.khirnova@gmail.com>
548AuthorDate: Sun Jul 8 13:04:43 2018 -0500
549Commit: Henrik Gramner <henrik@gramner.com>
550CommitDate: Mon Aug 6 23:24:13 2018 +0200
551
552 ppc: Add support for Power9-only vec_absd
553
554 Increases overall encoding speed on POWER9 by 8%.
555
556commit f8afe3820c84798e9e50623cf7349bdb98765926 [revision 2930]
557Author: Alexandra Hájková <alexandra.khirnova@gmail.com>
558AuthorDate: Fri Jun 29 16:50:20 2018 +0000
559Commit: Henrik Gramner <henrik@gramner.com>
560CommitDate: Mon Aug 6 23:24:13 2018 +0200
561
562 ppc: Optimize sub8x8_dct_dc
563
564commit 411c957d82d357250f3a3099727b1a2c84caaee9 [revision 2929]
565Author: Alexandra Hájková <alexandra.khirnova@gmail.com>
566AuthorDate: Thu Jun 21 18:36:32 2018 +0000
567Commit: Henrik Gramner <henrik@gramner.com>
568CommitDate: Mon Aug 6 23:24:13 2018 +0200
569
570 ppc: AltiVec add16x16_idct_dc
571
572commit 53fe16e51349c43c483e81afb1f08a39f843a234 [revision 2928]
573Author: Alexandra Hájková <alexandra.khirnova@gmail.com>
574AuthorDate: Sat Jun 23 14:58:17 2018 +0000
575Commit: Henrik Gramner <henrik@gramner.com>
576CommitDate: Mon Aug 6 23:24:13 2018 +0200
577
578 ppc: Optimize add8x8_idct_dc
579
580commit 62dcebbce2c3f34998aeb2ea76b89f51306e78e9 [revision 2927]
581Author: Luca Barbato <lu_zero@gentoo.org>
582AuthorDate: Thu Jul 12 10:41:22 2018 +0200
583Commit: Henrik Gramner <henrik@gramner.com>
584CommitDate: Mon Aug 6 23:24:13 2018 +0200
585
586 ppc: Add compatibility macros for vec_xxpermdi
587
588commit d1a53926fb90e9f4a4f1605f4b2a8a945a73e1d2 [revision 2926]
589Author: Henrik Gramner <henrik@gramner.com>
590AuthorDate: Mon Jun 25 00:09:51 2018 +0200
591Commit: Henrik Gramner <henrik@gramner.com>
592CommitDate: Mon Aug 6 23:24:13 2018 +0200
593
594 Prefer a monotonic clock source if available
595
596commit 1d18f0e025e994b93233b8e8afa0c691bccc8fda [revision 2925]
597Author: Kieran Kunhya <kierank@obe.tv>
598AuthorDate: Wed Aug 30 16:05:41 2017 +0100
599Commit: Henrik Gramner <henrik@gramner.com>
600CommitDate: Mon Aug 6 23:24:13 2018 +0200
601
602 Add Sony XAVC, a flavour of AVC-Intra
603
604commit bc136ec6a0f863c42686a3bc9fa4c7820f83d413 [revision 2924]
605Author: Anton Mitrofanov <BugMaster@narod.ru>
606AuthorDate: Mon Jul 2 20:20:03 2018 +0300
607Commit: Henrik Gramner <henrik@gramner.com>
608CommitDate: Mon Aug 6 23:24:13 2018 +0200
609
610 Cosmetics: Fix indentation for multiline function prototypes
611
612 It was broken in "Drop the x264 prefix" patch.
613
614commit 6dd1d3b5d9e16a5951ececb7351cd63f02b36435 [revision 2923]
615Author: Anton Mitrofanov <BugMaster@narod.ru>
616AuthorDate: Mon Apr 16 23:54:43 2018 +0300
617Commit: Henrik Gramner <henrik@gramner.com>
618CommitDate: Mon Aug 6 23:24:13 2018 +0200
619
620 Cosmetics: Use consistent "inline" attribute position
621
622 Place it immediately after "static".
623
624commit 3d9ec58f27f1cd6732484246aaad59158b98af47 [revision 2922]
625Author: Henrik Gramner <henrik@gramner.com>
626AuthorDate: Thu Jan 25 22:17:57 2018 +0100
627Commit: Henrik Gramner <henrik@gramner.com>
628CommitDate: Mon Aug 6 23:24:12 2018 +0200
629
630 x86: AVX-512 plane_copy and plane_copy_swap
631
632 Avoid the scalar C wrapper by utilizing opmasks to prevent overreading the
633 input buffer.
634
635commit 698c5a32e63a3ed6b976ed196abe479efd78530b [revision 2921]
636Author: Emanuele Ruffaldi <emanuele.ruffaldi@gmail.com>
637AuthorDate: Sat Jan 6 02:34:39 2018 +0100
638Commit: Henrik Gramner <henrik@gramner.com>
639CommitDate: Mon Aug 6 23:24:12 2018 +0200
640
641 4:0:0 (monochrome) encoding support
642
643 Virtually zero increase in compression efficiency compared to 4:2:0 with empty
644 chroma planes. Performance is better though, especially with fast settings.
645
646commit 814e61e88c809bb00d17c200a04e9c7d42a19bb5 [revision 2920]
647Author: Diego Biurrun <diego@biurrun.de>
648AuthorDate: Sun Feb 5 09:02:43 2017 +0100
649Commit: Henrik Gramner <henrik@gramner.com>
650CommitDate: Mon Aug 6 23:24:12 2018 +0200
651
652 Makefile improvements
653
654 * Coalesce some install recipe lines
655
656 * Remove empty addition of GPLed filters
657
658 * Install libdir in recipes that directly require it
659
660 * Coalesce etags/TAGS rules
661
662 * Simplify fprofiled rule
663
664commit 28e4879842a86cc6bb63db0f5f386a3e9268fd46 [revision 2919]
665Author: Henrik Gramner <henrik@gramner.com>
666AuthorDate: Sun Apr 22 22:49:15 2018 +0200
667Commit: Henrik Gramner <henrik@gramner.com>
668CommitDate: Mon Aug 6 23:24:12 2018 +0200
669
670 x86inc: Improve SAVE/LOAD_MM_PERMUTATION macros
671
672 Use register numbers instead of copying the full register names. This makes it
673 possible to change register widths in the middle of a function and keep the
674 mmreg permutations intact which can be useful for code that only needs larger
675 vectors for parts of the function in combination with macros etc.
676
677 Also change the LOAD_MM_PERMUTATION macro to use the same default name as the
678 SAVE macro. This simplifies swapping from ymm to xmm registers or vice versa:
679
680 SAVE_MM_PERMUTATION
681 INIT_XMM <cpuflags>
682 LOAD_MM_PERMUTATION
683
684commit 8badb910847e94abb66686009e424bdce355c9f4 [revision 2918]
685Author: Henrik Gramner <henrik@gramner.com>
686AuthorDate: Sat Mar 31 13:49:56 2018 +0200
687Commit: Henrik Gramner <henrik@gramner.com>
688CommitDate: Mon Aug 6 23:24:12 2018 +0200
689
690 x86inc: Optimize VEX instruction encoding
691
692 Most VEX-encoded instructions require an additional byte to encode when src2
693 is a high register (e.g. x|ymm8..15). If the instruction is commutative we
694 can swap src1 and src2 when doing so reduces the instruction length, e.g.
695
696 vpaddw xmm0, xmm0, xmm8 -> vpaddw xmm0, xmm8, xmm0
697
698commit 0a84d986e7020f8344f00752e3600b9769cc1e85 [revision 2917]
699Author: Henrik Gramner <henrik@gramner.com>
700AuthorDate: Sat Mar 31 01:16:06 2018 +0200
701Commit: Henrik Gramner <henrik@gramner.com>
702CommitDate: Mon Aug 6 23:24:12 2018 +0200
703
704 x86inc: Fix VEX -> EVEX instruction conversion
705
706 There's an edge case that wasn't properly handled.
707
708commit 9d33c8fefbb506377b943aba11cd99c74258c5de [revision 2916]
709Author: Anton Mitrofanov <BugMaster@narod.ru>
710AuthorDate: Tue Jul 31 22:54:33 2018 +0300
711Commit: Henrik Gramner <henrik@gramner.com>
712CommitDate: Mon Aug 6 23:24:12 2018 +0200
713
714 configure: Fix required version checks for lavf and swscale
715
716commit 34843deb060248514ecd9edd88d72c2c2d6b906a [revision 2915]
717Author: Anton Mitrofanov <BugMaster@narod.ru>
718AuthorDate: Fri Jul 20 08:37:43 2018 +0300
719Commit: Henrik Gramner <henrik@gramner.com>
720CommitDate: Sat Jul 21 19:50:35 2018 +0200
721
722 Fix float division by zero in weightp analysis
723
724commit 1c3174775c6c1789aaf10172e4cb619f91ecff4a [revision 2914]
725Author: Anton Mitrofanov <BugMaster@narod.ru>
726AuthorDate: Wed Jul 18 21:56:33 2018 +0300
727Commit: Henrik Gramner <henrik@gramner.com>
728CommitDate: Sat Jul 21 19:50:34 2018 +0200
729
730 Fix undefined behavior of left shift for CAVLC encoding
731
732commit a0253ebee0f4d854cf89934b5f420275862d0b5b [revision 2913]
733Author: Anton Mitrofanov <BugMaster@narod.ru>
734AuthorDate: Mon Jul 2 20:59:16 2018 +0300
735Commit: Henrik Gramner <henrik@gramner.com>
736CommitDate: Sat Jul 21 19:50:19 2018 +0200
737
738 Fix integer overflow in slicetype_path_cost
739
740 The path cost for high resolutions can exceed COST_MAX.
741
742commit 2af2742821f0b08a4295055b41875e660d5a7746 [revision 2912]
743Author: Henrik Gramner <henrik@gramner.com>
744AuthorDate: Fri Jun 29 13:14:01 2018 +0200
745Commit: Henrik Gramner <henrik@gramner.com>
746CommitDate: Fri Jun 29 13:19:57 2018 +0200
747
748 cli: Fix preset help listing
749
750 It was previously incorrect when --chroma-format or --bit-depth was
751 specified in configure.
752
753commit f5d929ab8faf2319dda10836f51803ba25f0ad07 [revision 2911]
754Author: Luca Barbato <lu_zero@gentoo.org>
755AuthorDate: Sat Jun 23 13:14:28 2018 +0200
756Commit: Henrik Gramner <henrik@gramner.com>
757CommitDate: Mon Jun 25 00:14:30 2018 +0200
758
759 ppc: Fix zigzag_interleave
760
761 The permv array has 3 elements
762
763commit 7737e6ad4acf1058aeb0f9802e2a3ca1e0a30d29 [revision 2910]
764Author: Henrik Gramner <henrik@gramner.com>
765AuthorDate: Sat Jun 2 20:35:10 2018 +0200
766Commit: Henrik Gramner <henrik@gramner.com>
767CommitDate: Sun Jun 3 01:41:38 2018 +0200
768
769 Fix clang stack alignment issues
770
771 Clang emits aligned AVX stores for things like zeroing stack-allocated
772 variables when using -mavx even with -fno-tree-vectorize set which can
773 result in crashes if this occurs before we've realigned the stack.
774
775 Previously we only ensured that the stack was realigned before calling
776 assembly functions that accesses stack-allocated buffers but this is
777 not sufficient. Fix the issue by changing the stack realignment to
778 instead occur immediately in all CLI, API and thread entry points.
779
780commit 26b99cce1f03f023dee98bef2ec3cd2eff319f8e [revision 2909]
781Author: Anton Mitrofanov <BugMaster@narod.ru>
782AuthorDate: Sun Apr 1 20:49:29 2018 +0300
783Commit: Henrik Gramner <henrik@gramner.com>
784CommitDate: Sun May 27 20:58:54 2018 +0200
785
786 Fix missing bs_flush in AUD writing
787
788commit da6b29b553bb56e16e99527733849735c2ea264c [revision 2908]
789Author: Anton Mitrofanov <BugMaster@narod.ru>
790AuthorDate: Sun Apr 1 20:39:30 2018 +0300
791Commit: Henrik Gramner <henrik@gramner.com>
792CommitDate: Sun May 27 20:58:54 2018 +0200
793
794 Fix possible undefined behavior of right shift
795
796 32-bit shifts are only defined for values in the range 0-31.
797
798commit 7e457290cdd6da592ae63aa25facc47cd09d2128 [revision 2907]
799Author: Anton Mitrofanov <BugMaster@narod.ru>
800AuthorDate: Sun Apr 1 20:34:18 2018 +0300
801Commit: Henrik Gramner <henrik@gramner.com>
802CommitDate: Sun May 27 20:58:54 2018 +0200
803
804 Make bs_align_10 imply bs_flush
805
806 Now behaves the same as bs_align_0 and bs_align_1.
807
808commit 6afb67c6d7b71fcc6fc14d167f1fcf55623846f4 [revision 2906]
809Author: Anton Mitrofanov <BugMaster@narod.ru>
810AuthorDate: Sun Apr 1 17:52:47 2018 +0300
811Commit: Henrik Gramner <henrik@gramner.com>
812CommitDate: Sun May 27 20:58:54 2018 +0200
813
814 Fix theoretically incorrect cost_mv_fpel free
815
816commit 57dd6274e2da70bdb8220bc159976e3ac2aea017 [revision 2905]
817Author: Anton Mitrofanov <BugMaster@narod.ru>
818AuthorDate: Sun Apr 1 17:42:46 2018 +0300
819Commit: Henrik Gramner <henrik@gramner.com>
820CommitDate: Sun May 27 20:58:53 2018 +0200
821
822 configure: Fix ambiguous "$(("
823
824commit 0e6425e03e28213e73ae770df5e08fffba72d290 [revision 2904]
825Author: Anton Mitrofanov <BugMaster@narod.ru>
826AuthorDate: Mon Feb 19 19:53:38 2018 +0300
827Commit: Henrik Gramner <henrik@gramner.com>
828CommitDate: Sun May 27 20:58:53 2018 +0200
829
830 Fix --qpmax default value in fullhelp
831
832commit 5f7f950c80e330728ecb07bc133e17456870121a [revision 2903]
833Author: Henrik Gramner <henrik@gramner.com>
834AuthorDate: Sat Mar 31 01:31:57 2018 +0200
835Commit: Henrik Gramner <henrik@gramner.com>
836CommitDate: Sat Mar 31 21:53:42 2018 +0200
837
838 x86: Correctly use v-prefix for instructions with opmasks
839
840 This was always required, but accidentally happened to work correctly
841 in a few cases.
842
843commit 3d90057e15abf257320c89bb7146fb0c92687fa6 [revision 2902]
844Author: Martin Storsjö <martin@martin.st>
845AuthorDate: Sat Mar 31 00:10:14 2018 +0300
846Commit: Henrik Gramner <henrik@gramner.com>
847CommitDate: Sat Mar 31 21:53:42 2018 +0200
848
849 configure: Only use gas-preprocessor with armasm for compiler=CL
850
851 This picks the right assembler automatically for arm and aarch64
852 llvm-mingw targets.
853
854 This doesn't get the right assembler for clang setups when clang
855 acts like MSVC and uses MSVC headers though (where it perhaps
856 should use armasm as before), but that's probably an even more
857 obscure setup.
858
859commit 7d0ff22e8c96de126be9d3de4952edd6d1b75a8c [revision 2901]
860Author: Anton Mitrofanov <BugMaster@narod.ru>
861AuthorDate: Wed Jan 17 22:03:06 2018 +0300
862Commit: Henrik Gramner <henrik@gramner.com>
863CommitDate: Thu Jan 18 21:03:22 2018 +0100
864
865 Remove ARRAY_SIZE macro which is identical to ARRAY_ELEMS
866
867commit 4a158b00943c334ec9e0aabe6a919900c32e360e [revision 2900]
868Author: Henrik Gramner <henrik@gramner.com>
869AuthorDate: Sat Jan 6 17:47:42 2018 +0100
870Commit: Henrik Gramner <henrik@gramner.com>
871CommitDate: Wed Jan 17 18:31:04 2018 +0100
872
873 x86inc: Correctly set mmreg variables
874
875commit 40b47eed1338cef1ac66c98b4e393dfcf5d998ae [revision 2899]
876Author: Diego Biurrun <diego@biurrun.de>
877AuthorDate: Sun Feb 5 09:02:49 2017 +0100
878Commit: Henrik Gramner <henrik@gramner.com>
879CommitDate: Wed Jan 17 18:31:04 2018 +0100
880
881 .gitignore: Ignore TAGS file
882
883commit 6fce82284a0fb3edfa299b904b1559452a3b1094 [revision 2898]
884Author: Diego Biurrun <diego@biurrun.de>
885AuthorDate: Sun Feb 5 09:02:51 2017 +0100
886Commit: Henrik Gramner <henrik@gramner.com>
887CommitDate: Wed Jan 17 18:31:04 2018 +0100
888
889 Minor configure improvements
890
891 * Drop empty addition of GPLed filters
892
893 * Replace backticks with $()
894
895commit ca5408b13cf0e58a7505051861f20a63a7a6aec1 [revision 2897]
896Author: Henrik Gramner <henrik@gramner.com>
897AuthorDate: Mon Jan 1 15:05:48 2018 +0100
898Commit: Henrik Gramner <henrik@gramner.com>
899CommitDate: Wed Jan 17 18:31:04 2018 +0100
900
901 Bump dates to 2018
902
903commit b019515ef4ad77022b849283c62612157e8458a7 [revision 2896]
904Author: Henrik Gramner <henrik@gramner.com>
905AuthorDate: Tue Jan 16 17:43:24 2018 +0100
906Commit: Henrik Gramner <henrik@gramner.com>
907CommitDate: Wed Jan 17 18:31:03 2018 +0100
908
909 Merge zero buffers
910
911 Improves cache efficiency.
912
913commit d75b93b0e82cefa93e5db2d6b0be475566101431 [revision 2895]
914Author: Anton Mitrofanov <BugMaster@narod.ru>
915AuthorDate: Wed Jan 17 18:19:44 2018 +0300
916Commit: Henrik Gramner <henrik@gramner.com>
917CommitDate: Wed Jan 17 18:31:01 2018 +0100
918
919 rdo: Use ALIGNED_ARRAY for stack arrays
920
921commit 9384a7389b251b59a079ccc3d1af9edd42e3d5e6 [revision 2894]
922Author: Henrik Gramner <henrik@gramner.com>
923AuthorDate: Mon Jan 15 21:42:59 2018 +0100
924Commit: Henrik Gramner <henrik@gramner.com>
925CommitDate: Wed Jan 17 18:30:49 2018 +0100
926
927 Correctly align buffers for AVX and AVX-512
928
929 Fixes segfaults on Windows where the stack is only 16-byte aligned.
930
931commit b00bcafe53a166b63a179a2f41470cd13b59f927 [revision 2893]
932Author: Anton Mitrofanov <BugMaster@narod.ru>
933AuthorDate: Sun Dec 24 22:59:09 2017 +0300
934Commit: Anton Mitrofanov <BugMaster@narod.ru>
935CommitDate: Sun Dec 24 23:47:27 2017 +0300
936
937 Cosmetics
938
939commit 7c6b3ad50d9210d27be6953dfa6d24e5d183be18 [revision 2892]
940Author: Alexandra Hájková <alexandra.khirnova@gmail.com>
941AuthorDate: Sun May 21 17:40:45 2017 +0000
942Commit: Anton Mitrofanov <BugMaster@narod.ru>
943CommitDate: Sun Dec 24 23:47:27 2017 +0300
944
945 ppc: Add load_deinterleave_chroma_fenc_altivec
946
947 5x speed up vs C code.
948
949commit b461e015fd7efe3bb740ef0716bc41d76eff30c9 [revision 2891]
950Author: Martin Storsjö <martin@martin.st>
951AuthorDate: Thu Oct 26 13:09:46 2017 +0300
952Commit: Anton Mitrofanov <BugMaster@narod.ru>
953CommitDate: Sun Dec 24 23:47:27 2017 +0300
954
955 Update to the latest upstream version of gas-preprocessor
956
957 This version supports converting aarch64 assembly for MS armasm64.exe.
958
959commit 61e8b5cc482b08d51e18b336081073736d963e7e [revision 2890]
960Author: Henrik Gramner <henrik@gramner.com>
961AuthorDate: Sun Oct 22 09:59:28 2017 +0200
962Commit: Anton Mitrofanov <BugMaster@narod.ru>
963CommitDate: Sun Dec 24 23:47:27 2017 +0300
964
965 input: Add a workaround for swscale overread bugs
966
967 swscale can read past the end of the input buffer, which may result in
968 crashes if such a read crosses a page boundary into an invalid page.
969
970 Work around this by adding some padding space at the end of the buffer when
971 using memory-mapped input frames. This may sometimes require copying the
972 last frame into a new buffer on Windows since the Microsoft memory-mapping
973 implementation has very limited capabilities compared to POSIX systems.
974
975commit 1221f097473a049a52fbb47aff2733321bd4661a [revision 2889]
976Author: Henrik Gramner <henrik@gramner.com>
977AuthorDate: Sun Oct 22 10:50:46 2017 +0200
978Commit: Anton Mitrofanov <BugMaster@narod.ru>
979CommitDate: Sun Dec 24 23:47:27 2017 +0300
980
981 filters/resize: Upgrade to a newer libavutil API
982
983 Use the AVComponentDescriptor depth field instead of depth_minus1.
984
985commit 99ca611d2e667553e026f487dc787b595dde84c5 [revision 2888]
986Author: Martin Storsjö <martin@martin.st>
987AuthorDate: Wed Oct 18 10:40:02 2017 +0300
988Commit: Anton Mitrofanov <BugMaster@narod.ru>
989CommitDate: Sun Dec 24 23:47:27 2017 +0300
990
991 aarch64: Use ldurb/sturb for loads/stores with negative offsets
992
993 The assembler (both gas and clang/llvm) automatically fixes this,
994 armasm64 doesn't. We can fix it in gas-preprocessor, but we should
995 also be using the right instruction form.
996
997commit f745815e593b788d846182c8d42eed4f72f7c33c [revision 2887]
998Author: Martin Storsjö <martin@martin.st>
999AuthorDate: Mon Oct 16 22:50:27 2017 +0300
1000Commit: Anton Mitrofanov <BugMaster@narod.ru>
1001CommitDate: Sun Dec 24 23:47:26 2017 +0300
1002
1003 configure: Add support for building with MSVC/armasm for ARM64
1004
1005commit 7b13b31be60ed65bee615bab28c422e2df027ee1 [revision 2886]
1006Author: Martin Storsjö <martin@martin.st>
1007AuthorDate: Mon Oct 16 22:50:26 2017 +0300
1008Commit: Anton Mitrofanov <BugMaster@narod.ru>
1009CommitDate: Sun Dec 24 23:47:26 2017 +0300
1010
1011 arm: Check for __ELF__ instead of !__APPLE__, for using .arch/.fpu
1012
1013 For windows, when building with armasm, we already filtered these out
1014 with gas-preprocessor.
1015
1016 By filtering them out already in the source, we can also build directly
1017 with clang for windows (which also require wrapping the assembler in
1018 gas-preprocessor for converting instructions to thumb form, but
1019 gas-preprocessor doesn't and shouldn't filter out them in the clang
1020 configuration).
1021
1022commit 12ca9a69e855c4d4b9000894f478bce665e4e02c [revision 2885]
1023Author: Martin Storsjö <martin@martin.st>
1024AuthorDate: Mon Oct 16 22:50:25 2017 +0300
1025Commit: Anton Mitrofanov <BugMaster@narod.ru>
1026CommitDate: Sun Dec 24 23:47:26 2017 +0300
1027
1028 aarch64: Don't .set a symbol named st2
1029
1030 This confuses gas-preprocessor, which tries to replace actual
1031 st2 instructions by the integer 1 or 2.
1032
1033commit 06c8f6bab0fc8fa9b2df9a1af5d10c87c515edb4 [revision 2884]
1034Author: Henrik Gramner <henrik@gramner.com>
1035AuthorDate: Sat Oct 14 14:11:26 2017 +0200
1036Commit: Anton Mitrofanov <BugMaster@narod.ru>
1037CommitDate: Sun Dec 24 23:47:26 2017 +0300
1038
1039 Shrink the i4x4_mode cost_table array
1040
1041 Only 17 elements are actually used. It was originally padded to 64 bytes to
1042 avoid cache line splits in the x86 assembly, but those haven't really been
1043 an issue on x86 CPU:s made in the past decade or so.
1044
1045 Benchmarking shows no performance impact from dropping the padding, so
1046 might as well remove it and save some cache.
1047
1048commit 344699fd386890ac1cf80a70a68a3ae16767ed62 [revision 2883]
1049Author: Henrik Gramner <henrik@gramner.com>
1050AuthorDate: Wed Oct 11 18:02:26 2017 +0200
1051Commit: Anton Mitrofanov <BugMaster@narod.ru>
1052CommitDate: Sun Dec 24 23:47:26 2017 +0300
1053
1054 x86: Remove some legacy CPU detection hacks
1055
1056 Some ancient Pentium-M and Core 1 CPU:s had slow SSE units, and using MMX
1057 was preferable. Nowadays many assembly functions in x264 completely lack MMX
1058 implementations and falling back to C code will likely make things worse.
1059
1060 Some misconfigured virtualized systems could sometimes also trigger this code
1061 path and cause assertions.
1062
1063commit 0fe75403d7b40c0209c3df992632956292065cdc [revision 2882]
1064Author: Henrik Gramner <henrik@gramner.com>
1065AuthorDate: Wed Oct 11 17:58:36 2017 +0200
1066Commit: Anton Mitrofanov <BugMaster@narod.ru>
1067CommitDate: Sun Dec 24 23:47:26 2017 +0300
1068
1069 lavf: Upgrade to the new core decoding API
1070
1071commit dae7f18d2cc5c7eccfb73649cda458e3c8e2256e [revision 2881]
1072Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1073AuthorDate: Mon Oct 9 12:04:22 2017 -0400
1074Commit: Anton Mitrofanov <BugMaster@narod.ru>
1075CommitDate: Sun Dec 24 23:47:26 2017 +0300
1076
1077 lavf: Upgrade to some newer API:s
1078
1079 * Use the codec parameters API instead of the AVStream codec field.
1080 * Use av_packet_unref() instead of av_free_packet().
1081 * Use the AVFrame pts field instead of pkt_pts.
1082
1083commit 12611ec99bb52f4f2c1b114138d867b3a2aa182b [revision 2880]
1084Author: Henrik Gramner <henrik@gramner.com>
1085AuthorDate: Sun Oct 8 21:41:16 2017 +0200
1086Commit: Anton Mitrofanov <BugMaster@narod.ru>
1087CommitDate: Sun Dec 24 23:47:26 2017 +0300
1088
1089 x86: AVX-512 load_deinterleave_chroma_fdec
1090
1091commit d93851ec282eb069f91a6eddab3284f7766cd5bd [revision 2879]
1092Author: Henrik Gramner <henrik@gramner.com>
1093AuthorDate: Sun Oct 8 21:23:12 2017 +0200
1094Commit: Anton Mitrofanov <BugMaster@narod.ru>
1095CommitDate: Sun Dec 24 23:47:26 2017 +0300
1096
1097 x86: AVX-512 load_deinterleave_chroma_fenc
1098
1099commit 5b62ab59be01579ab37033cc86527df922efb843 [revision 2878]
1100Author: Henrik Gramner <henrik@gramner.com>
1101AuthorDate: Sat Oct 7 12:06:51 2017 +0200
1102Commit: Anton Mitrofanov <BugMaster@narod.ru>
1103CommitDate: Sun Dec 24 23:47:25 2017 +0300
1104
1105 x86: AVX-512 mbtree_fix8_pack and mbtree_fix8_unpack
1106
1107 Takes advantage of opmasks to avoid having to use scalar code for the tail.
1108
1109 Also make some slight improvements to the checkasm test.
1110
1111commit 08476ab1c0a9b741198677731373b173657fa079 [revision 2877]
1112Author: Henrik Gramner <henrik@gramner.com>
1113AuthorDate: Sat Oct 7 11:34:16 2017 +0200
1114Commit: Anton Mitrofanov <BugMaster@narod.ru>
1115CommitDate: Sun Dec 24 23:47:25 2017 +0300
1116
1117 x86: Faster mbtree_fix8_unpack
1118
1119 Use a different multiplier in order to eliminate some shifts.
1120
1121 About 25% faster than before.
1122
1123commit e3fae10bf7db9571d5c69ad910f10df625bad73e [revision 2876]
1124Author: Anton Mitrofanov <BugMaster@narod.ru>
1125AuthorDate: Fri Sep 22 17:28:18 2017 +0300
1126Commit: Anton Mitrofanov <BugMaster@narod.ru>
1127CommitDate: Sun Dec 24 23:47:25 2017 +0300
1128
1129 Don't force fast-intra for subme < 3
1130
1131 It have caused significant quality hit without any meaningful (if any) speed up.
1132
1133commit bdf27e783a8eb4a5bcae0cd0a950d6dc3d995bfe [revision 2875]
1134Author: Anton Mitrofanov <BugMaster@narod.ru>
1135AuthorDate: Fri Sep 22 17:18:55 2017 +0300
1136Commit: Anton Mitrofanov <BugMaster@narod.ru>
1137CommitDate: Sun Dec 24 23:47:25 2017 +0300
1138
1139 Make ref and i4x4_mode costs global instead of static
1140
1141 Fixes some thread safety doubts and makes code cleaner.
1142 Downside: slightly higher memory usage when calling multiple encoders from the same application.
1143
1144commit fefc3fa1fa98a7bac4eaf3c8e6e1c52b7e427ddd [revision 2874]
1145Author: Anton Mitrofanov <BugMaster@narod.ru>
1146AuthorDate: Fri Sep 22 17:05:06 2017 +0300
1147Commit: Anton Mitrofanov <BugMaster@narod.ru>
1148CommitDate: Sun Dec 24 23:47:25 2017 +0300
1149
1150 Fix thread safety of x264_threading_init() and use of X264_PTHREAD_MUTEX_INITIALIZER with win32thread
1151
1152commit 694d031c1d120a8b578f60eeccf14fcf9ca4200e [revision 2873]
1153Author: Anton Mitrofanov <BugMaster@narod.ru>
1154AuthorDate: Fri Sep 22 16:59:13 2017 +0300
1155Commit: Anton Mitrofanov <BugMaster@narod.ru>
1156CommitDate: Sun Dec 24 23:47:25 2017 +0300
1157
1158 configure: Improvements
1159
1160 Log result of pkg-config checks to config.log.
1161 Fix lavf support detection for pkg-config fallback case.
1162 Fix detection of linking dependencies errors for lavf/lsmash/gpac.
1163 Cosmetics.
1164
1165commit 5d4031618e9feedcb527fd4e5a91bc06e30b70b4 [revision 2872]
1166Author: Anton Mitrofanov <BugMaster@narod.ru>
1167AuthorDate: Thu Aug 17 23:51:14 2017 +0300
1168Commit: Anton Mitrofanov <BugMaster@narod.ru>
1169CommitDate: Sun Dec 24 23:47:25 2017 +0300
1170
1171 flv: Fix one frame video total duration
1172
1173commit 8b9c89d331f5a2d6335ff9b08abc8d5c94428731 [revision 2871]
1174Author: Anton Mitrofanov <BugMaster@narod.ru>
1175AuthorDate: Thu Aug 17 23:46:23 2017 +0300
1176Commit: Anton Mitrofanov <BugMaster@narod.ru>
1177CommitDate: Sun Dec 24 23:47:25 2017 +0300
1178
1179 flv: Split FrameType and CodecID values
1180
1181commit 95cdb743463f723cea58c8ae01d7762f7ae9965c [revision 2870]
1182Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1183AuthorDate: Tue Aug 8 15:40:45 2017 +0200
1184Commit: Anton Mitrofanov <BugMaster@narod.ru>
1185CommitDate: Sun Dec 24 23:47:24 2017 +0300
1186
1187 Support writing the alternative transfer SEI message
1188
1189commit c98d02bebd6dd04b61306ee27712aeff96f19f29 [revision 2869]
1190Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1191AuthorDate: Tue Aug 8 14:56:43 2017 +0200
1192Commit: Anton Mitrofanov <BugMaster@narod.ru>
1193CommitDate: Sun Dec 24 23:47:24 2017 +0300
1194
1195 Support 04/2017 color matrix and transfer values
1196
1197commit 71ed44c7312438fac7c5c5301e45522e57127db4 [revision 2868]
1198Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1199AuthorDate: Fri Jan 6 15:23:38 2017 +0100
1200Commit: Anton Mitrofanov <BugMaster@narod.ru>
1201CommitDate: Sun Dec 24 23:47:24 2017 +0300
1202
1203 Unify 8-bit and 10-bit CLI and libraries
1204
1205 Add 'i_bitdepth' to x264_param_t with the corresponding '--output-depth' CLI
1206 option to set the bit depth at runtime.
1207
1208 Drop the 'x264_bit_depth' global variable. Rather than hardcoding it to an
1209 incorrect value, it's preferable to induce a linking failure. If applications
1210 relies on this symbol this will make it more obvious where the problem is.
1211
1212 Add Makefile rules that compiles modules with different bit depths. Assembly
1213 on x86 is prefixed with the 'private_prefix' define, while all other archs
1214 modify their function prefix internally.
1215
1216 Templatize the main C library, x86/x86_64 assembly, ARM assembly, AARCH64
1217 assembly, PowerPC assembly, and MIPS assembly.
1218
1219 The depth and cache CLI filters heavily depend on bit depth size, so they
1220 need to be duplicated for each value. This means having to rename these
1221 filters, and adjust the callers to use the right version.
1222
1223 Unfortunately the threaded input CLI module inherits a common.h dependency
1224 (input/frame -> common/threadpool -> common/frame -> common/common) which
1225 is extremely complicated to address in a sensible way. Instead duplicate
1226 the module and select the appropriate one at run time.
1227
1228 Each bitdepth needs different checkasm compilation rules, so split the main
1229 checkasm target into two executables.
1230
1231commit 2451a7282463f68e532f2eee090a70ab139bb3e7 [revision 2867]
1232Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1233AuthorDate: Fri Jan 6 17:50:40 2017 +0100
1234Commit: Anton Mitrofanov <BugMaster@narod.ru>
1235CommitDate: Sun Dec 24 23:11:58 2017 +0300
1236
1237 Change default QP parameters initialization
1238
1239 qp is modified to require a valid value before use, while qp_max is set
1240 to maximum allowable value (and clipped later on).
1241
1242 This is needed so that param functions do not depend on bit depth size.
1243
1244commit 7839a9e1f03b49e3e0cbfcb3091093af7c6d54ee [revision 2866]
1245Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1246AuthorDate: Tue Jan 17 17:07:42 2017 +0100
1247Commit: Anton Mitrofanov <BugMaster@narod.ru>
1248CommitDate: Sun Dec 24 23:11:58 2017 +0300
1249
1250 aarch64: Set the function symbol prefix in a single location
1251
1252commit 498cca0b74ab90c363b761083c7fdcf56fc60904 [revision 2865]
1253Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1254AuthorDate: Tue Jan 17 17:04:19 2017 +0100
1255Commit: Anton Mitrofanov <BugMaster@narod.ru>
1256CommitDate: Sun Dec 24 23:11:58 2017 +0300
1257
1258 arm: Set the function symbol prefix in a single location
1259
1260commit 8f2437d33301faaf0e2fcaff16e2b01e9bbe27ae [revision 2864]
1261Author: Vittorio Giovara <vittorio.giovara@gmail.com>
1262AuthorDate: Fri Jan 27 11:58:33 2017 +0100
1263Commit: Anton Mitrofanov <BugMaster@narod.ru>
1264CommitDate: Sun Dec 24 23:11:30 2017 +0300
1265
1266 Drop the x264 prefix from static functions and variables
1267
1268commit 4e2ed4087ac1621f946b83366e1f53a1326d7424 [revision 2863]
1269Author: Anton Mitrofanov <BugMaster@narod.ru>
1270AuthorDate: Thu Aug 17 23:25:31 2017 +0300
1271Commit: Anton Mitrofanov <BugMaster@narod.ru>
1272CommitDate: Sun Dec 24 22:54:15 2017 +0300
1273
1274 configure: Check for strtok_r compiler support
1275
1276commit d1eebb2927da15c41c7c180d398b0cdad3d1f396 [revision 2862]
1277Author: Henrik Gramner <henrik@gramner.com>
1278AuthorDate: Sun Aug 6 17:17:55 2017 +0200
1279Commit: Anton Mitrofanov <BugMaster@narod.ru>
1280CommitDate: Sun Dec 24 22:54:15 2017 +0300
1281
1282 cabac: Make the cabac_contexts array static
1283
1284 Also drop the x264 prefix from all static cabac arrays.
1285
1286commit 3f9f6554a4cfa4189855756860a61ceb2f2a41a3 [revision 2861]
1287Author: Henrik Gramner <henrik@gramner.com>
1288AuthorDate: Thu Aug 17 18:04:13 2017 +0200
1289Commit: Anton Mitrofanov <BugMaster@narod.ru>
1290CommitDate: Sun Dec 24 22:54:15 2017 +0300
1291
1292 x86: AVX-512 pixel_satd_x3 and pixel_satd_x4
1293
1294commit dd399ab862e2271e869bc8aefcb3166180ecdb10 [revision 2860]
1295Author: Henrik Gramner <henrik@gramner.com>
1296AuthorDate: Mon Aug 14 23:13:44 2017 +0200
1297Commit: Anton Mitrofanov <BugMaster@narod.ru>
1298CommitDate: Sun Dec 24 22:54:14 2017 +0300
1299
1300 x86: Shrink the x86-64 cabac coeff_last tables
1301
1302 Use dword instead of qword entries. Cuts the size of the tables in half
1303 which allows each table fit inside a single cache line.
1304
1305 When PIC is disabled dwords are enough to store absolute addresses.
1306
1307 When PIC is enabled we can store dword offsets relative to the start of
1308 the table and simply add the address of the table to the offset in order
1309 to calculate the full address. This approach also have the advantage of
1310 eliminating a whole bunch of run-time .data relocations.
1311
1312commit d463a92e3b6f8ec04d54cc6c437892f9ffa98e29 [revision 2859]
1313Author: Henrik Gramner <henrik@gramner.com>
1314AuthorDate: Wed Aug 16 15:59:16 2017 +0200
1315Commit: Anton Mitrofanov <BugMaster@narod.ru>
1316CommitDate: Sun Dec 24 22:54:14 2017 +0300
1317
1318 x86inc: Support creating global symbols from local labels
1319
1320 On ELF platforms such symbols needs to be flagged as functions with the
1321 correct visibility to please certain linkers in some scenarios.
1322
1323commit 67b5c961046621a4554a9577e68cd9e31a212091 [revision 2858]
1324Author: Henrik Gramner <henrik@gramner.com>
1325AuthorDate: Tue Aug 15 16:11:32 2017 +0200
1326Commit: Anton Mitrofanov <BugMaster@narod.ru>
1327CommitDate: Sun Dec 24 22:54:14 2017 +0300
1328
1329 x86inc: Use .rdata instead of .rodata on Windows
1330
1331 The standard section for read-only data on Windows is .rdata. Nasm will
1332 flag non-standard sections as executable by default which isn't ideal.
1333
1334commit f15d366510cc60d9d9b2aeb576cade5b94509f37 [revision 2857]
1335Author: Henrik Gramner <henrik@gramner.com>
1336AuthorDate: Sat Aug 5 00:43:26 2017 +0200
1337Commit: Anton Mitrofanov <BugMaster@narod.ru>
1338CommitDate: Sun Dec 24 22:54:13 2017 +0300
1339
1340 x86inc: Set the correct cpuflag for AES-NI instructions
1341
1342commit 1ae63361304e952ac625a7016f2cf4a64e39a314 [revision 2856]
1343Author: Henrik Gramner <henrik@gramner.com>
1344AuthorDate: Sat Aug 5 00:09:52 2017 +0200
1345Commit: Anton Mitrofanov <BugMaster@narod.ru>
1346CommitDate: Sun Dec 24 22:54:13 2017 +0300
1347
1348 x86inc: Enable AVX emulation for floating-point pseudo-instructions
1349
1350 There are 32 pseudo-instructions for each floating-point comparison
1351 instruction, but only 8 of them are actually valid in legacy-encoded mode.
1352 The remaining 24 requires the use of VEX-encoded (v-prefixed) instructions
1353 and can therefore be disregarded for this purpose.
1354
1355commit 1e27313c12154dd3922ef7ab9508a4320e83c2ac [revision 2855]
1356Author: Henrik Gramner <henrik@gramner.com>
1357AuthorDate: Fri Aug 4 23:09:00 2017 +0200
1358Commit: Anton Mitrofanov <BugMaster@narod.ru>
1359CommitDate: Sun Dec 24 22:54:13 2017 +0300
1360
1361 configure: Increase x86 stack alignment on clang
1362
1363commit e9a5903edf8ca59ef20e6f4894c196f135af735e [revision 2854]
1364Author: Anton Mitrofanov <BugMaster@narod.ru>
1365AuthorDate: Sun Oct 22 20:18:39 2017 +0300
1366Commit: Anton Mitrofanov <BugMaster@narod.ru>
1367CommitDate: Sun Dec 24 22:54:12 2017 +0300
1368
1369 x86: Fix stack alignment for x264_cabac_encode_ue_bypass call
1370
1371 Fix MSVS fprofiled build for win64
1372
1373commit 45e6eb6006d1d23b6f69a1cfb62a86dc67092a81 [revision 2853]
1374Author: Anton Mitrofanov <BugMaster@narod.ru>
1375AuthorDate: Sun Oct 22 16:18:29 2017 +0300
1376Commit: Anton Mitrofanov <BugMaster@narod.ru>
1377CommitDate: Sun Dec 24 22:54:12 2017 +0300
1378
1379 mips: Fix incorrect pointers to msa optimized functions
1380
1381commit 09705c0b68232a05da8cc672c7c6092071eb4a21 [revision 2852]
1382Author: Henrik Gramner <henrik@gramner.com>
1383AuthorDate: Fri Aug 11 16:41:31 2017 +0200
1384Commit: Henrik Gramner <henrik@gramner.com>
1385CommitDate: Fri Aug 11 16:52:33 2017 +0200
1386
1387 Fix cpu capabilities listing on older x86 operating systems
1388
1389 Some cpuflags would previously be displayed incorrectly when running older
1390 operating systems without AVX support on modern CPU:s.
1391
1392commit ba24899b0bf23345921da022f7a51e0c57dbe73d [revision 2851]
1393Author: Henrik Gramner <henrik@gramner.com>
1394AuthorDate: Sat Jun 24 15:12:57 2017 +0200
1395Commit: Henrik Gramner <henrik@gramner.com>
1396CommitDate: Mon Jun 26 21:07:29 2017 +0200
1397
1398 x86: AVX-512 pixel_avg_weight_w8
1399
1400commit d3214e6b102701911fc9d5fc92435e79e8b49100 [revision 2850]
1401Author: Henrik Gramner <henrik@gramner.com>
1402AuthorDate: Sat Jun 24 14:26:25 2017 +0200
1403Commit: Henrik Gramner <henrik@gramner.com>
1404CommitDate: Mon Jun 26 21:07:29 2017 +0200
1405
1406 x86: AVX-512 pixel_avg_weight_w16
1407
1408commit 1d9dee2e9be717fcde416854f902db776312f141 [revision 2849]
1409Author: Henrik Gramner <henrik@gramner.com>
1410AuthorDate: Thu Jun 22 19:51:28 2017 +0200
1411Commit: Henrik Gramner <henrik@gramner.com>
1412CommitDate: Mon Jun 26 21:07:28 2017 +0200
1413
1414 x86: AVX-512 sub8x16_dct_dc
1415
1416commit f672795407bf90045e399eb057e5b2426d79f961 [revision 2848]
1417Author: Henrik Gramner <henrik@gramner.com>
1418AuthorDate: Thu Jun 22 11:26:21 2017 +0200
1419Commit: Henrik Gramner <henrik@gramner.com>
1420CommitDate: Sat Jun 24 16:23:50 2017 +0200
1421
1422 x86: AVX-512 sub8x8_dct_dc
1423
1424commit 0af1c6d0d0cc54ba4f888db39247774edcf19b44 [revision 2847]
1425Author: Henrik Gramner <henrik@gramner.com>
1426AuthorDate: Thu Jun 1 22:13:19 2017 +0200
1427Commit: Henrik Gramner <henrik@gramner.com>
1428CommitDate: Sat Jun 24 16:23:50 2017 +0200
1429
1430 x86: AVX-512 add8x8_idct
1431
1432commit 9034085265e5ca56e801c3efbf5c538fcc17c82b [revision 2846]
1433Author: Henrik Gramner <henrik@gramner.com>
1434AuthorDate: Sat Jun 10 16:01:53 2017 +0200
1435Commit: Henrik Gramner <henrik@gramner.com>
1436CommitDate: Sat Jun 24 16:23:50 2017 +0200
1437
1438 x86: AVX-512 sub16x16_dct
1439
1440commit 774c6c76d081305d9c891091e1d4694acb3f8a68 [revision 2845]
1441Author: Henrik Gramner <henrik@gramner.com>
1442AuthorDate: Wed Jun 7 16:55:48 2017 +0200
1443Commit: Henrik Gramner <henrik@gramner.com>
1444CommitDate: Sat Jun 24 16:23:50 2017 +0200
1445
1446 x86: AVX-512 sub8x8_dct
1447
1448commit 2d653411c2135377fb8c956e897880ff997b50ec [revision 2844]
1449Author: Henrik Gramner <henrik@gramner.com>
1450AuthorDate: Thu Jun 8 21:14:08 2017 +0200
1451Commit: Henrik Gramner <henrik@gramner.com>
1452CommitDate: Sat Jun 24 16:23:50 2017 +0200
1453
1454 x86: AVX-512 sub4x4_dct
1455
1456commit 07483f72d7e1a4f7079a429dd1370f4221006862 [revision 2843]
1457Author: Henrik Gramner <henrik@gramner.com>
1458AuthorDate: Sun May 28 16:12:33 2017 +0200
1459Commit: Henrik Gramner <henrik@gramner.com>
1460CommitDate: Sat Jun 24 16:23:50 2017 +0200
1461
1462 x86: AVX-512 mbtree_propagate_list
1463
1464 Uses gathers and scatters in combination with conflict detections to
1465 vectorize the scalar part.
1466
1467 Also improve the checkasm test to try different mb_y values and check
1468 for out-of-bounds writes.
1469
1470commit 1a88481b85da964aadae1e05347342b03be17712 [revision 2842]
1471Author: James Darnley <jdarnley@obe.tv>
1472AuthorDate: Fri Jun 9 14:08:16 2017 +0200
1473Commit: Henrik Gramner <henrik@gramner.com>
1474CommitDate: Sat Jun 24 16:23:31 2017 +0200
1475
1476 x86inc: Add aesni cpuflag define
1477
1478 Upstreaming this from FFmpeg. Unused in x264.
1479
1480commit 98e9543b4c39360326e6d5bf266c0c634cb9ee2e [revision 2841]
1481Author: Martin Storsjö <martin@martin.st>
1482AuthorDate: Mon May 29 12:13:03 2017 +0300
1483Commit: Anton Mitrofanov <BugMaster@narod.ru>
1484CommitDate: Wed Jun 14 23:24:38 2017 +0300
1485
1486 aarch64: Update the var2 functions to the new signature
1487
1488 The existing functions could easily be used by just calling them
1489 twice - this would give the following cycle numbers from checkasm:
1490
1491 var2_8x8_c: 4110
1492 var2_8x8_neon: 1505
1493 var2_8x16_c: 8019
1494 var2_8x16_neon: 2545
1495
1496 However, by merging both passes into the same function, we get the
1497 following speedup:
1498 var2_8x8_neon: 1205
1499 var2_8x16_neon: 2327
1500
1501commit 824802ad5a877244fb9eb48a892ed348736af5b0 [revision 2840]
1502Author: Martin Storsjö <martin@martin.st>
1503AuthorDate: Mon May 29 12:13:02 2017 +0300
1504Commit: Anton Mitrofanov <BugMaster@narod.ru>
1505CommitDate: Wed Jun 14 23:24:38 2017 +0300
1506
1507 arm: Update the var2 functions to the new signature
1508
1509 The existing functions could easily be used by just calling them
1510 twice - this would give the following cycle numbers from checkasm:
1511
1512 Cortex A7 A8 A9 A53
1513 var2_8x8_c: 7302 5342 5050 4400
1514 var2_8x8_neon: 2645 1612 1932 1715
1515 var2_8x16_c: 14300 10528 10020 8637
1516 var2_8x16_neon: 5127 2695 3217 2651
1517
1518 However, by merging both passes into the same function, we get the
1519 following speedup:
1520 var2_8x8_neon: 2312 1190 1389 1300
1521 var2_8x16_neon: 4862 2130 2293 2422
1522
1523commit 6f8aa71ce797be01fd2ebe53c072a6696ea19828 [revision 2839]
1524Author: Henrik Gramner <henrik@gramner.com>
1525AuthorDate: Wed Feb 15 22:00:25 2017 +0100
1526Commit: Anton Mitrofanov <BugMaster@narod.ru>
1527CommitDate: Wed Jun 14 23:24:38 2017 +0300
1528
1529 Add support for levels 6, 6.1, and 6.2
1530
1531 These levels were added in the 2016-10 revision of the H.264 specification and
1532 improves support for content with high resolutions and/or high frame rates.
1533
1534 Level 6.2 supports 8K resolution at 120 fps.
1535
1536 Also shrink the x264_levels array by using smaller data types.
1537
1538commit 2baa28c880d11377115bbd5508e72053f6ba61f5 [revision 2838]
1539Author: Henrik Gramner <henrik@gramner.com>
1540AuthorDate: Thu Mar 23 17:51:09 2017 +0100
1541Commit: Anton Mitrofanov <BugMaster@narod.ru>
1542CommitDate: Wed Jun 14 23:22:58 2017 +0300
1543
1544 Use a larger integer type for the slice_table array
1545
1546 Makes it possible to use slicing with resolutions larger than 2^24 pixels.
1547
1548commit c9d2c1c80b25c6ae15c41b200ec44ac2dabce725 [revision 2837]
1549Author: Henrik Gramner <henrik@gramner.com>
1550AuthorDate: Sun Feb 19 10:48:33 2017 +0100
1551Commit: Anton Mitrofanov <BugMaster@narod.ru>
1552CommitDate: Wed Jun 14 23:22:57 2017 +0300
1553
1554 analyse: Reduce the size the cost_mv arrays
1555
1556 Use a dynamic size depending on the MV range. Reduces memory consumption by
1557 up to a few megabytes.
1558
1559 Drop a related old miscompilation check since it may otherwise cause an
1560 out-of-bounds memory access.
1561
1562 Also remove an unused extern variable declaration.
1563
1564commit d46a5a463f0de5ec479d256af72bba3de4ba2d1a [revision 2836]
1565Author: Anton Mitrofanov <BugMaster@narod.ru>
1566AuthorDate: Wed May 31 02:52:16 2017 +0300
1567Commit: Anton Mitrofanov <BugMaster@narod.ru>
1568CommitDate: Wed Jun 14 23:22:57 2017 +0300
1569
1570 Fix CABAC+8x8dct in 4:4:4
1571
1572 Use the correct ctxIdxInc calculation for coded_block_flag.
1573
1574commit 79b36f27a57dd511eefead6d5422689220c767b5 [revision 2835]
1575Author: Anton Mitrofanov <BugMaster@narod.ru>
1576AuthorDate: Tue Jun 6 02:07:21 2017 +0300
1577Commit: Anton Mitrofanov <BugMaster@narod.ru>
1578CommitDate: Wed Jun 14 23:19:45 2017 +0300
1579
1580 Fix 8x8dct in lossless encoding
1581
1582 Change V and H intra prediction in lossless (TransformBypassModeFlag == 1)
1583 macroblocks to correctly adhere to the specification. Affects lossless
1584 encoding with 8x8dct or mix of lossless with normal macroblocks.
1585
1586 8x8dct has already been disabled in lossless mode for some time due to
1587 being out-of-spec but this will allow us to re-enable it again.
1588
1589commit 68a550217c8d0fae6229c5b322b6810fe9652ef3 [revision 2834]
1590Author: Anton Mitrofanov <BugMaster@narod.ru>
1591AuthorDate: Thu Jun 8 18:35:21 2017 +0300
1592Commit: Anton Mitrofanov <BugMaster@narod.ru>
1593CommitDate: Wed Jun 14 23:19:45 2017 +0300
1594
1595 mbtree: Fix buffer overflow
1596
1597 Could occur on the 1st pass in combination with --fake-interlaced and
1598 some input heights due to allocating a too small buffer.
1599
1600commit df79067c0cf33da712d344b5f8869be7eaf326f3 [revision 2833]
1601Author: Henrik Gramner <henrik@gramner.com>
1602AuthorDate: Tue May 23 16:40:26 2017 +0200
1603Commit: Henrik Gramner <henrik@gramner.com>
1604CommitDate: Tue May 23 17:35:18 2017 +0200
1605
1606 x86: Avoid self-relative expressions on macho64
1607
1608 Functions that uses self-relative expressions in the form of [foo-$$]
1609 appears to cause issues on 64-bit Mach-O systems when assembled with nasm.
1610 Temporarily disable those functions on macho64 for the time being until
1611 we've figured out the root cause.
1612
1613commit f1ac7122645bbeb56e7a4401f71a7055cb2431c4 [revision 2832]
1614Author: Anton Mitrofanov <BugMaster@narod.ru>
1615AuthorDate: Mon May 22 23:59:32 2017 +0300
1616Commit: Henrik Gramner <henrik@gramner.com>
1617CommitDate: Tue May 23 16:57:45 2017 +0200
1618
1619 configure: Don't try to detect clang by $CC
1620
1621 Only check if option -Werror=unknown-warning-option is supported before adding it
1622
1623commit b4d811df4fd7dbb9220fe2c8f2a2c2a6ba2bbc87 [revision 2831]
1624Author: Martin Storsjö <martin@martin.st>
1625AuthorDate: Mon May 22 13:10:46 2017 +0300
1626Commit: Henrik Gramner <henrik@gramner.com>
1627CommitDate: Tue May 23 16:57:44 2017 +0200
1628
1629 checkasm: Use the right variable in a loop condition
1630
1631 Prior to this, this loop hasn't run at all. The condition has been
1632 the same since it was introduced in 5b0cb86f.
1633
1634 This issue was pointed out by a clang warning.
1635
1636commit a3d24462ae284bf03958f0ed41e824dd7d48e15e [revision 2830]
1637Author: Anton Mitrofanov <BugMaster@narod.ru>
1638AuthorDate: Mon May 22 22:02:34 2017 +0300
1639Commit: Henrik Gramner <henrik@gramner.com>
1640CommitDate: Tue May 23 16:11:03 2017 +0200
1641
1642 x86: Fix linking with 8-bit depth shared libx264
1643
1644commit d1fe6fd1c0930d88da90f23f6d5fdb6ceaf6b0a9 [revision 2829]
1645Author: Henrik Gramner <henrik@gramner.com>
1646AuthorDate: Mon May 15 00:18:36 2017 +0200
1647Commit: Henrik Gramner <henrik@gramner.com>
1648CommitDate: Sun May 21 23:14:25 2017 +0200
1649
1650 x86: Only enable AVX-512 in 8-bit mode
1651
1652commit 6151882671b6f9e1ceec2cdb76dd1123c8dc766f [revision 2828]
1653Author: Henrik Gramner <henrik@gramner.com>
1654AuthorDate: Fri May 12 00:43:43 2017 +0200
1655Commit: Henrik Gramner <henrik@gramner.com>
1656CommitDate: Sun May 21 23:14:25 2017 +0200
1657
1658 x86: AVX-512 cabac_block_residual
1659
1660commit 4579616543f2e701ee9510f5eb57e31a3ef99e10 [revision 2827]
1661Author: Henrik Gramner <henrik@gramner.com>
1662AuthorDate: Wed May 10 18:36:59 2017 +0200
1663Commit: Henrik Gramner <henrik@gramner.com>
1664CommitDate: Sun May 21 23:14:25 2017 +0200
1665
1666 x86: AVX-512 pixel_sad_x3 and pixel_sad_x4
1667
1668 Covers all variants: 4x4, 4x8, 8x4, 8x8, 8x16, 16x8, and 16x16.
1669
1670commit 993eb2079e45619098241e14806fc70030968af6 [revision 2826]
1671Author: Henrik Gramner <henrik@gramner.com>
1672AuthorDate: Sun May 7 23:35:49 2017 +0200
1673Commit: Henrik Gramner <henrik@gramner.com>
1674CommitDate: Sun May 21 23:14:25 2017 +0200
1675
1676 x86: AVX-512 pixel_sad
1677
1678 Covers all variants: 4x4, 4x8, 4x16, 8x4, 8x8, 8x16, 16x8, and 16x16.
1679
1680commit 2463174c119cef4f7e6a36a1151054fbb268b082 [revision 2825]
1681Author: Henrik Gramner <henrik@gramner.com>
1682AuthorDate: Thu May 4 21:53:28 2017 +0200
1683Commit: Henrik Gramner <henrik@gramner.com>
1684CommitDate: Sun May 21 23:14:25 2017 +0200
1685
1686 x86: AVX-512 decimate_score
1687
1688 Also drop the MMX versions and improve the SSE2, SSSE3 and AVX2 versions.
1689
1690commit 49fb50a67cc41e4bed2dd66f7beed12797249cd9 [revision 2824]
1691Author: Henrik Gramner <henrik@gramner.com>
1692AuthorDate: Mon May 1 14:55:45 2017 +0200
1693Commit: Henrik Gramner <henrik@gramner.com>
1694CommitDate: Sun May 21 23:14:25 2017 +0200
1695
1696 x86: AVX-512 pixel_var2_8x8 and 8x16
1697
1698commit 92c074e27f6bfccee42b41c183203b7b2763a94d [revision 2823]
1699Author: Henrik Gramner <henrik@gramner.com>
1700AuthorDate: Mon May 1 14:54:32 2017 +0200
1701Commit: Henrik Gramner <henrik@gramner.com>
1702CommitDate: Sun May 21 23:14:25 2017 +0200
1703
1704 Rework pixel_var2
1705
1706 The functions are only ever called with pointers to fenc and fdec and the
1707 strides are always constant so there's no point in having them as parameters.
1708
1709 Cover both the U and V planes in a single function call. This is more
1710 efficient with SIMD, especially with the wider vectors provided by AVX2 and
1711 AVX-512, even when accounting for losing the possibility of early termination.
1712
1713 Drop the MMX and XOP implementations, update the rest of the x86 assembly
1714 to match the new behavior. Also enable high bit-depth in the AVX2 version.
1715
1716 Comment out the ARM, AARCH64, and MIPS MSA assembly for now.
1717
1718commit 4c48f9e751e969188d606eb15aeada7f652c9db9 [revision 2822]
1719Author: Henrik Gramner <henrik@gramner.com>
1720AuthorDate: Sat Apr 29 14:26:40 2017 +0200
1721Commit: Henrik Gramner <henrik@gramner.com>
1722CommitDate: Sun May 21 23:14:25 2017 +0200
1723
1724 x86: AVX-512 pixel_var_8x8, 8x16, and 16x16
1725
1726 Make the SSE2, AVX, and AVX2 versions a bit faster.
1727
1728 Drop the MMX and XOP versions.
1729
1730commit 1cf7baa462ca52de7f07d6e4c795853900bb50bb [revision 2821]
1731Author: Henrik Gramner <henrik@gramner.com>
1732AuthorDate: Fri Apr 28 21:35:25 2017 +0200
1733Commit: Henrik Gramner <henrik@gramner.com>
1734CommitDate: Sun May 21 23:14:24 2017 +0200
1735
1736 x86: AVX-512 pixel_sa8d_8x8
1737
1738commit 386050088a66aa66bcaebb9b6b4b0a2b6af76a73 [revision 2820]
1739Author: Henrik Gramner <henrik@gramner.com>
1740AuthorDate: Thu Apr 13 23:56:04 2017 +0200
1741Commit: Henrik Gramner <henrik@gramner.com>
1742CommitDate: Sun May 21 23:14:24 2017 +0200
1743
1744 x86: AVX-512 pixel_satd
1745
1746 Covers all variants: 4x4, 4x8, 4x16, 8x4, 8x8, 8x16, 16x8, and 16x16.
1747
1748commit 2eceefe89fea91bbc7d5af2a1b4a9047d8da7805 [revision 2819]
1749Author: Henrik Gramner <henrik@gramner.com>
1750AuthorDate: Wed Apr 19 16:39:48 2017 +0200
1751Commit: Henrik Gramner <henrik@gramner.com>
1752CommitDate: Sun May 21 23:14:24 2017 +0200
1753
1754 x86: AVX-512 deblock_strength
1755
1756 Also drop the MMX version and make some slight improvements to the SSE2,
1757 SSSE3, AVX, and AVX2 versions.
1758
1759commit 3081ffa1c540d1df05123e0fab1937985573ac78 [revision 2818]
1760Author: Henrik Gramner <henrik@gramner.com>
1761AuthorDate: Wed Apr 12 16:21:09 2017 +0200
1762Commit: Henrik Gramner <henrik@gramner.com>
1763CommitDate: Sun May 21 23:14:24 2017 +0200
1764
1765 x86: AVX-512 plane_copy_deinterleave_v210
1766
1767commit 95dc64c4efdf16404e58be9ff9da4e0acaa1a4b2 [revision 2817]
1768Author: Henrik Gramner <henrik@gramner.com>
1769AuthorDate: Sun Apr 9 20:34:28 2017 +0200
1770Commit: Henrik Gramner <henrik@gramner.com>
1771CommitDate: Sun May 21 23:14:24 2017 +0200
1772
1773 x86: AVX-512 memzero_aligned
1774
1775 Reorder some elements in the x264_t.mb.pic struct to reduce the amount
1776 of padding required.
1777
1778 Also drop the MMX implementation in favor of SSE.
1779
1780commit c0cd7650cb65164d183d8f77d0697b7569a52917 [revision 2816]
1781Author: Henrik Gramner <henrik@gramner.com>
1782AuthorDate: Fri Apr 7 21:34:40 2017 +0200
1783Commit: Henrik Gramner <henrik@gramner.com>
1784CommitDate: Sun May 21 23:14:24 2017 +0200
1785
1786 x86: AVX and AVX-512 memcpy_aligned
1787
1788 Reorder some elements in the x264_mb_analysis_list_t struct to reduce the
1789 amount of padding required.
1790
1791 Also drop the MMX implementation in favor of SSE.
1792
1793commit f29fbc6fd23e9bc2d800eb1246e8fa19a203b831 [revision 2815]
1794Author: Henrik Gramner <henrik@gramner.com>
1795AuthorDate: Thu Apr 6 16:06:34 2017 +0200
1796Commit: Henrik Gramner <henrik@gramner.com>
1797CommitDate: Sun May 21 22:42:17 2017 +0200
1798
1799 x86: AVX-512 dequant_8x8_flat16
1800
1801commit 40aca29a164d5e5e6589d507bdcae6717d72f6bf [revision 2814]
1802Author: Henrik Gramner <henrik@gramner.com>
1803AuthorDate: Tue Apr 4 20:54:12 2017 +0200
1804Commit: Henrik Gramner <henrik@gramner.com>
1805CommitDate: Sun May 21 22:42:17 2017 +0200
1806
1807 x86: AVX-512 dequant_8x8
1808
1809commit 74f7802bb7bd301299f8229a0552a7caf2b55434 [revision 2813]
1810Author: Henrik Gramner <henrik@gramner.com>
1811AuthorDate: Tue Apr 4 20:01:26 2017 +0200
1812Commit: Henrik Gramner <henrik@gramner.com>
1813CommitDate: Sun May 21 22:42:17 2017 +0200
1814
1815 x86: AVX-512 dequant_4x4
1816
1817commit 3451ba3af49e58a720277615df3d8e4a4171986f [revision 2812]
1818Author: Henrik Gramner <henrik@gramner.com>
1819AuthorDate: Tue Mar 28 22:59:56 2017 +0200
1820Commit: Henrik Gramner <henrik@gramner.com>
1821CommitDate: Sun May 21 22:42:17 2017 +0200
1822
1823 x86: AVX-512 mbtree_propagate_cost
1824
1825 Also make the AVX and AVX2 implementations slightly faster.
1826
1827commit 75f6f9b228c3498b8c9b0d97fc925c0a7e6e6f43 [revision 2811]
1828Author: Henrik Gramner <henrik@gramner.com>
1829AuthorDate: Mon Mar 27 18:19:53 2017 +0200
1830Commit: Henrik Gramner <henrik@gramner.com>
1831CommitDate: Sun May 21 22:42:17 2017 +0200
1832
1833 x86: AVX-512 coeff_last
1834
1835commit c3a1d1d892a79bc460c7fc192b0bf7a32c2ce0b2 [revision 2810]
1836Author: Henrik Gramner <henrik@gramner.com>
1837AuthorDate: Sun Mar 26 18:29:37 2017 +0200
1838Commit: Henrik Gramner <henrik@gramner.com>
1839CommitDate: Sun May 21 22:42:17 2017 +0200
1840
1841 x86: AVX-512 zigzag_interleave_8x8_cavlc
1842
1843commit edb22f57ba03718c1cb9781ba005aec20a1e50e0 [revision 2809]
1844Author: Henrik Gramner <henrik@gramner.com>
1845AuthorDate: Sun Mar 26 11:34:18 2017 +0200
1846Commit: Henrik Gramner <henrik@gramner.com>
1847CommitDate: Sun May 21 22:42:17 2017 +0200
1848
1849 x86: AVX-512 zigzag_scan_8x8_field
1850
1851commit 77b9a818fc622d0cdaa96aeb37339fbd5b1ef857 [revision 2808]
1852Author: Henrik Gramner <henrik@gramner.com>
1853AuthorDate: Sat Mar 25 22:13:22 2017 +0100
1854Commit: Henrik Gramner <henrik@gramner.com>
1855CommitDate: Sun May 21 22:42:17 2017 +0200
1856
1857 x86: AVX-512 zigzag_scan_4x4_field
1858
1859commit 724a577237f27cdb0c0fd18ef8ed32d39430796b [revision 2807]
1860Author: Henrik Gramner <henrik@gramner.com>
1861AuthorDate: Sat Mar 25 19:14:28 2017 +0100
1862Commit: Henrik Gramner <henrik@gramner.com>
1863CommitDate: Sun May 21 22:42:17 2017 +0200
1864
1865 x86: AVX-512 zigzag_scan_8x8_frame
1866
1867 The vperm* instructions ignores unused bits, so we can pack the permutation
1868 indices together to save cache and just use a shift to get the right values.
1869
1870commit 2b2f039512bde7c097280255c6376cf9a901e08e [revision 2806]
1871Author: Henrik Gramner <henrik@gramner.com>
1872AuthorDate: Sat Mar 25 19:14:22 2017 +0100
1873Commit: Henrik Gramner <henrik@gramner.com>
1874CommitDate: Sun May 21 22:42:17 2017 +0200
1875
1876 x86: AVX-512 zigzag_scan_4x4_frame
1877
1878commit 1878c7f2af0a9c73e291488209109782c428cfcf [revision 2805]
1879Author: Henrik Gramner <henrik@gramner.com>
1880AuthorDate: Fri May 12 00:03:10 2017 +0200
1881Commit: Henrik Gramner <henrik@gramner.com>
1882CommitDate: Sun May 21 22:42:17 2017 +0200
1883
1884 checkasm: x86: More accurate ymm/zmm measurements
1885
1886 YMM and ZMM registers on x86 are turned off to save power when they haven't
1887 been used for some period of time. When they are used there will be a
1888 "warmup" period during which performance will be reduced and inconsistent
1889 which is problematic when trying to benchmark individual functions.
1890
1891 Periodically issue "dummy" instructions that uses those registers to
1892 prevent them from being powered down. The end result is more consitent
1893 benchmark results.
1894
1895commit 472ce3648aea3ddc16b7716eb114f4bcdb8fea8f [revision 2804]
1896Author: Henrik Gramner <henrik@gramner.com>
1897AuthorDate: Sat Mar 25 10:16:09 2017 +0100
1898Commit: Henrik Gramner <henrik@gramner.com>
1899CommitDate: Sun May 21 22:42:15 2017 +0200
1900
1901 x86: AVX-512 support
1902
1903 AVX-512 consists of a plethora of different extensions, but in order to keep
1904 things a bit more manageable we group together the following extensions
1905 under a single baseline cpu flag which should cover SKL-X and future CPUs:
1906 * AVX-512 Foundation (F)
1907 * AVX-512 Conflict Detection Instructions (CD)
1908 * AVX-512 Byte and Word Instructions (BW)
1909 * AVX-512 Doubleword and Quadword Instructions (DQ)
1910 * AVX-512 Vector Length Extensions (VL)
1911
1912 On x86-64 AVX-512 provides 16 additional vector registers, prefer using
1913 those over existing ones since it allows us to avoid using `vzeroupper`
1914 unless more than 16 vector registers are required. They also happen to
1915 be volatile on Windows which means that we don't need to save and restore
1916 existing xmm register contents unless more than 22 vector registers are
1917 required.
1918
1919 Also take the opportunity to drop X264_CPU_CMOV and X264_CPU_SLOW_CTZ while
1920 we're breaking API by messing with the cpu flags since they weren't really
1921 used for anything.
1922
1923 Big thanks to Intel for their support.
1924
1925commit d2b5f4873e2147452a723b61b14f030b2ee760a5 [revision 2803]
1926Author: Henrik Gramner <henrik@gramner.com>
1927AuthorDate: Sat Mar 18 18:50:36 2017 +0100
1928Commit: Henrik Gramner <henrik@gramner.com>
1929CommitDate: Sun May 21 22:41:07 2017 +0200
1930
1931 x86: Change assembler from yasm to nasm
1932
1933 This is required to support AVX-512.
1934
1935 Drop `-Worphan-labels` from ASFLAGS since it's enabled by default in nasm.
1936
1937 Also change alignmode from `k8` to `p6` since it's more similar to `amdnop`
1938 in yasm, e.g. use long nops without excessive prefixes.
1939
1940commit 8c2974255b01728d4eda2434cc1997c4a3ca5eff [revision 2802]
1941Author: Henrik Gramner <henrik@gramner.com>
1942AuthorDate: Sat May 6 12:26:56 2017 +0200
1943Commit: Henrik Gramner <henrik@gramner.com>
1944CommitDate: Sun May 21 22:41:07 2017 +0200
1945
1946 x86: Add some additional cpuflag relations
1947
1948 Simplifies writing assembly code that depends on available instructions.
1949
1950 LZCNT implies SSE2
1951 BMI1 implies AVX+LZCNT
1952 AVX2 implies BMI2
1953
1954 Skip printing LZCNT under CPU capabilities when BMI1 or BMI2 is available,
1955 and don't print FMA4 when FMA3 is available.
1956
1957commit 93bc2cbc66f0bf4616965dcd7e0eba89201c8086 [revision 2801]
1958Author: Henrik Gramner <henrik@gramner.com>
1959AuthorDate: Fri Apr 14 16:16:49 2017 +0200
1960Commit: Henrik Gramner <henrik@gramner.com>
1961CommitDate: Sun May 21 22:41:07 2017 +0200
1962
1963 x86: Faster SSE2 pixel_sad_16x16 and 16x8
1964
1965 Also make the order of fenc/fdec arguments a bit more consistent.
1966
1967commit 8ae2b62462176cd731a1cb8b5bdc9a38cba0fbe4 [revision 2800]
1968Author: Anton Mitrofanov <BugMaster@narod.ru>
1969AuthorDate: Mon May 15 00:40:52 2017 +0300
1970Commit: Henrik Gramner <henrik@gramner.com>
1971CommitDate: Sun May 21 22:41:07 2017 +0200
1972
1973 msvs/icl: Improve target host detection
1974
1975commit 181a920ad5d0acdc3a08418c0e9c95be4785b814 [revision 2799]
1976Author: Alexandra Hájková <alexandra@khirnov.net>
1977AuthorDate: Sat May 13 17:14:52 2017 +0000
1978Commit: Henrik Gramner <henrik@gramner.com>
1979CommitDate: Sun May 21 22:41:07 2017 +0200
1980
1981 ppc: Optimize add8x8_idct_dc
1982
1983 Increases speedup compared to C from 2x to 6x.
1984
1985commit d0b905b901c5ee5989777cf437a7f20c1fa0a794 [revision 2798]
1986Author: Henrik Gramner <henrik@gramner.com>
1987AuthorDate: Sun Feb 19 10:33:16 2017 +0100
1988Commit: Henrik Gramner <henrik@gramner.com>
1989CommitDate: Sun May 21 22:41:07 2017 +0200
1990
1991 analyse: Faster min/max MV clipping
1992
1993 Values only needs to be clipped in one direction.
1994
1995commit 1bde30193eb91d1bc69b00a27e6874eb88ed4eab [revision 2797]
1996Author: Henrik Gramner <henrik@gramner.com>
1997AuthorDate: Thu Feb 16 20:04:10 2017 +0100
1998Commit: Henrik Gramner <henrik@gramner.com>
1999CommitDate: Sun May 21 22:41:07 2017 +0200
2000
2001 slicetype_mb_cost: Clip MVs based on MV range
2002
2003 Improves cost calculations, especially when a short MV range is used.
2004
2005commit dcf406978b9dda5c2b8aab80af5c1c47c78efd92 [revision 2796]
2006Author: Henrik Gramner <henrik@gramner.com>
2007AuthorDate: Sun Jan 29 21:38:43 2017 +0100
2008Commit: Henrik Gramner <henrik@gramner.com>
2009CommitDate: Sun May 21 22:41:07 2017 +0200
2010
2011 Support YUYV and UYVY packed 4:2:2 raw input
2012
2013 Packed YUV is arguably more common than planar YUV when dealing with raw
2014 4:2:2 content.
2015
2016 We can utilize the existing plane_copy_deinterleave() functions with some
2017 additional minor constraints (we cannot assume any particular alignment
2018 or overread the input buffer).
2019
2020 Enables assembly optimizations on x86.
2021
2022commit aaa9aa83a111ed6f1db253d5afa91c5fc844583f [revision 2795]
2023Author: Henrik Gramner <henrik@gramner.com>
2024AuthorDate: Thu Apr 20 21:58:23 2017 +0200
2025Commit: Henrik Gramner <henrik@gramner.com>
2026CommitDate: Sun May 21 22:41:07 2017 +0200
2027
2028 x86: Utilize 3-arg instructions in AVX deblock
2029
2030 Avoids some redundant register-register moves.
2031
2032commit a52d41c4d135c79373a86c3a82dcc2ec3f88b025 [revision 2794]
2033Author: Martin Storsjö <martin@martin.st>
2034AuthorDate: Fri Mar 24 11:33:46 2017 +0200
2035Commit: Henrik Gramner <henrik@gramner.com>
2036CommitDate: Sun May 21 22:41:07 2017 +0200
2037
2038 configure: Support targeting ARM with MSVC tools
2039
2040 Set up the right gas-preprocessor as assembler frontend in these cases,
2041 using armasm as actual assembler.
2042
2043 Don't try to add the -mcpu -mfpu options in this case.
2044
2045 Check whether the compiler actually supports inline assembly.
2046
2047 Check for the ARMv7 features in a different way for the MSVC compiler.
2048
2049commit b22a5db3c481b10b4a6ec190978d97b377750a12 [revision 2793]
2050Author: Martin Storsjö <martin@martin.st>
2051AuthorDate: Fri Mar 24 11:33:45 2017 +0200
2052Commit: Henrik Gramner <henrik@gramner.com>
2053CommitDate: Sun May 21 22:41:07 2017 +0200
2054
2055 configure: Check for -lshell32 before forcibly adding it into LDFLAGSCLI
2056
2057 When targeting the Windows Phone API subset, there is no shell32.lib.
2058
2059 When targeting Windows Phone/RT, the CLI itself won't be built, but
2060 LDFLAGSCLI are included in all later cases of cc_check within configure.
2061 Therefore only add -lshell32 there if it actually is usable.
2062
2063commit 0aed59e74808f1cd22ee47c055a8eb4f367b2f55 [revision 2792]
2064Author: Martin Storsjö <martin@martin.st>
2065AuthorDate: Thu May 4 22:00:51 2017 +0300
2066Commit: Henrik Gramner <henrik@gramner.com>
2067CommitDate: Sun May 21 22:41:07 2017 +0200
2068
2069 arm: Always unconditionally declare .arch armv7-a
2070
2071 We already unconditionally declare .fpu neon and try to build all the
2072 neon codepaths (but only execute them conditionally based on a runtime
2073 check).
2074
2075 This fixes builds targeting armv6, where the rbit instruction isn't
2076 available. This instruction is only used within a neon function in
2077 any case, so there's little point in emulating it.
2078
2079commit 196d7676c8f40b7c1f8f2f4af64e09ebf4c9816b [revision 2791]
2080Author: Martin Storsjö <martin@martin.st>
2081AuthorDate: Fri Mar 24 11:33:44 2017 +0200
2082Commit: Henrik Gramner <henrik@gramner.com>
2083CommitDate: Sun May 21 22:41:07 2017 +0200
2084
2085 arm: Use .section .rodata for non-elf, non-mach platforms as well
2086
2087 If targeting windows with armasm, gas-preprocessor can rewrite the
2088 .section .rodata into the right construct for that platform.
2089
2090commit 9bffbabfecf0bda066362a1b76b62c5085257e18 [revision 2790]
2091Author: Martin Storsjö <martin@martin.st>
2092AuthorDate: Fri Mar 24 11:33:41 2017 +0200
2093Commit: Henrik Gramner <henrik@gramner.com>
2094CommitDate: Sun May 21 22:41:07 2017 +0200
2095
2096 gas-preprocessor: Support conversion of additional arm instructions into thumb
2097
2098 Convert muls into mul+cmp.
2099
2100 Convert "and r0, sp, #xx" into "mov r0, sp", "and r0, r0, #xx".
2101
2102 Convert ldr with a too large shift into add+ldr. This only works in the
2103 special case when the base register is the same as the target for the ldr.
2104
2105commit 2e9bd88f27ed8f5f058e7e220070b7a15965cb8e [revision 2789]
2106Author: Martin Storsjö <martin@martin.st>
2107AuthorDate: Fri Mar 24 11:33:40 2017 +0200
2108Commit: Henrik Gramner <henrik@gramner.com>
2109CommitDate: Sun May 21 22:41:07 2017 +0200
2110
2111 arm: Explicitly declare using the .text segment in the function macro
2112
2113 This fixes one issue in building with MS armasm via gas-preprocessor.
2114 Without the .text segment specification, the object files assembled
2115 fine, but linking failed. (armasm source files don't get the text/code
2116 segment implied automatically if nothing is specified.)
2117
2118commit 64843af913e76fd7fb590e9227f678add96e8a3c [revision 2788]
2119Author: Martin Storsjö <martin@martin.st>
2120AuthorDate: Fri Mar 24 11:33:39 2017 +0200
2121Commit: Henrik Gramner <henrik@gramner.com>
2122CommitDate: Sun May 21 22:41:07 2017 +0200
2123
2124 osdep: Use the EXPAND macro on other cases of ALIGNED_ARRAY_EMU
2125
2126 EXPAND is already used on the other cases where ALIGNED_ARRAY_EMU
2127 is used on all platforms (originally needed for ICL, later also
2128 required by MSVC); apply the same change (originally from 21ba91ae)
2129 for the cases that only are used on ARM.
2130
2131 This fixes use of ALIGNED_ARRAY_16 with MSVC when targeting ARM.
2132
2133commit 757091fe3abd0af0f45d11f52b652f0be2fb76f5 [revision 2787]
2134Author: Martin Storsjö <martin@martin.st>
2135AuthorDate: Fri Mar 24 11:33:38 2017 +0200
2136Commit: Henrik Gramner <henrik@gramner.com>
2137CommitDate: Sun May 21 22:41:07 2017 +0200
2138
2139 Update to the latest version of gas-preprocessor.pl
2140
2141 From http://git.libav.org/?p=gas-preprocessor.git
2142
2143 This update contains changes from myself only.
2144
2145commit d13705191cdcbcd10d87524dbb0c26ba998d8dcc [revision 2786]
2146Author: Martin Storsjö <martin@martin.st>
2147AuthorDate: Fri Mar 24 11:33:37 2017 +0200
2148Commit: Henrik Gramner <henrik@gramner.com>
2149CommitDate: Sun May 21 22:41:06 2017 +0200
2150
2151 arm: Skip using gas-preprocessor for iOS on arm as well
2152
2153 The few constructs that differ can easily be handled within the
2154 source itself - tested to be working since at least Xcode 6.
2155
2156commit 3a3cfe32416efa4f966c0586411148236e4703c1 [revision 2785]
2157Author: Martin Storsjö <martin@martin.st>
2158AuthorDate: Fri Mar 24 11:33:36 2017 +0200
2159Commit: Henrik Gramner <henrik@gramner.com>
2160CommitDate: Sun May 21 22:41:06 2017 +0200
2161
2162 arm: Use const macros in arm assembly where applicable
2163
2164 This unifies the source code style, and allows building the code
2165 with clang without gas-preprocessor.
2166
2167commit 1e92821c5a52c80ca4d1a9b6d038bec84be48b0a [revision 2784]
2168Author: Martin Storsjö <martin@martin.st>
2169AuthorDate: Fri Mar 24 11:33:35 2017 +0200
2170Commit: Henrik Gramner <henrik@gramner.com>
2171CommitDate: Sun May 21 22:41:06 2017 +0200
2172
2173 arm: Use commas between all macro arguments in arm assembly
2174
2175 The clang built-in assembler requires proper commas between all macro
2176 arguments. As long as gas-preprocessor is used when building with clang,
2177 this isn't an issue.
2178
2179commit a84e6a486b991bffb2cc9f86b6e236978d251d2c [revision 2783]
2180Author: Martin Storsjö <martin@martin.st>
2181AuthorDate: Fri Mar 24 11:33:34 2017 +0200
2182Commit: Henrik Gramner <henrik@gramner.com>
2183CommitDate: Sun May 21 22:41:06 2017 +0200
2184
2185 aarch64: Skip invoking gas-preprocessor for iOS
2186
2187 Clang can handle all the constructs used there these days, working
2188 since Xcode 6 at least.
2189
2190commit 535fd2ec9985b9874d6ed23904404d0d2f5d40d6 [revision 2782]
2191Author: Martin Storsjö <martin@martin.st>
2192AuthorDate: Fri Mar 24 11:33:33 2017 +0200
2193Commit: Henrik Gramner <henrik@gramner.com>
2194CommitDate: Sun May 21 22:41:06 2017 +0200
2195
2196 aarch64: Use the const macro in the aarch64 checkasm assembly source
2197
2198 This fixes building the source with clang for iOS without gas-preprocessor.
2199
2200commit bec87ba69421572282e473cf8f2e11c77285ed88 [revision 2781]
2201Author: Henrik Gramner <henrik@gramner.com>
2202AuthorDate: Wed Apr 12 23:26:32 2017 +0200
2203Commit: Henrik Gramner <henrik@gramner.com>
2204CommitDate: Sun May 21 22:41:06 2017 +0200
2205
2206 Windows: Add support for MSVC compilation with WSL
2207
2208 In Windows 10 version 1703 (Creators Update) WSL supports calling native
2209 Windows binaries from the Bash shell, but it requires using full file
2210 names including extension, e.g. `cl.exe` instead of `cl`.
2211
2212 We also don't have access to `cygpath`, so use a simple regex for
2213 converting the dependencies to Unix paths that `make` can understand.
2214
2215commit 43e9a6157752c2a3c2cc6c6a7fa13da72033d1dd [revision 2780]
2216Author: Henrik Gramner <henrik@gramner.com>
2217AuthorDate: Sun Jan 29 22:58:24 2017 +0100
2218Commit: Henrik Gramner <henrik@gramner.com>
2219CommitDate: Sun May 21 22:41:06 2017 +0200
2220
2221 cli: Improve the --fullhelp raw demuxer input-csp listing
2222
2223 Use the same logic for indentation as the lavf demuxer.
2224
2225commit 3538df12688fc4408f585c4e65ee92d5a4737b2c [revision 2779]
2226Author: Anton Mitrofanov <BugMaster@narod.ru>
2227AuthorDate: Sat May 20 21:17:59 2017 +0300
2228Commit: Henrik Gramner <henrik@gramner.com>
2229CommitDate: Sun May 21 17:11:06 2017 +0200
2230
2231 x86inc: Remove argument from WIN64_RESTORE_XMM
2232
2233 The use of rsp was pretty much hardcoded there and probably didn't work
2234 otherwise with stack_size > 0.
2235
2236commit e4b0974a4ea3a727f6cc8941e9accf7ef3ba0637 [revision 2778]
2237Author: Henrik Gramner <henrik@gramner.com>
2238AuthorDate: Sat Apr 22 20:30:35 2017 +0200
2239Commit: Henrik Gramner <henrik@gramner.com>
2240CommitDate: Fri May 19 16:12:15 2017 +0200
2241
2242 x86inc: Prefer r14/r15 over r12/r13 on x86-64
2243
2244 Due to a peculiarity in the ModR/M addressing encoding, the r12 and r13
2245 registers sometimes requires an additional byte when used as a base register.
2246
2247 r14 and r15 doesn't have that issue, so prefer using them.
2248
2249commit 46a489b5e21cae3b4fea5d41cc285dcaf79d19e3 [revision 2777]
2250Author: Henrik Gramner <henrik@gramner.com>
2251AuthorDate: Thu Apr 20 19:16:51 2017 +0200
2252Commit: Henrik Gramner <henrik@gramner.com>
2253CommitDate: Fri May 19 16:12:15 2017 +0200
2254
2255 x86inc: Make REP_RET identical to RET in SSSE3+ functions
2256
2257 There's no point in emitting a rep prefix before ret on modern CPUs.
2258
2259commit 50a9dd78263191474c948d53e837348abd0bf316 [revision 2776]
2260Author: Henrik Gramner <henrik@gramner.com>
2261AuthorDate: Wed Mar 29 16:43:57 2017 +0200
2262Commit: Henrik Gramner <henrik@gramner.com>
2263CommitDate: Fri May 19 16:12:15 2017 +0200
2264
2265 x86inc: Fix call with memory operands
2266
2267 We overload the `call` instruction with a macro, but it would misbehave when
2268 the macro argument wasn't a valid identifier. Fix it by explicitly checking
2269 if the argument is an identifier.
2270
2271commit d13b4c3a9574cd2fbd5407c7dfc58eeff72d2080 [revision 2775]
2272Author: Henrik Gramner <henrik@gramner.com>
2273AuthorDate: Sun Jan 29 16:41:33 2017 +0100
2274Commit: Henrik Gramner <henrik@gramner.com>
2275CommitDate: Fri May 19 16:12:15 2017 +0200
2276
2277 osdep: Rework alignment macros
2278
2279 Drop ALIGNED_N and ALIGNED_ARRAY_N in favor of using explicit alignment.
2280
2281 This will allow us to increase the native alignment without unnecessarily
2282 increasing the alignment of everything that's currently 32-byte aligned.
2283
2284commit 5840e200a0f1869a0596c5ed75c76f4d3221dd68 [revision 2774]
2285Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2286AuthorDate: Mon Jan 30 22:14:57 2017 +0100
2287Commit: Henrik Gramner <henrik@gramner.com>
2288CommitDate: Fri May 19 16:12:15 2017 +0200
2289
2290 Move cabac_block_residual function declarations
2291
2292commit a2d2621cc5741414b1f1adfbc08f19f1cc763847 [revision 2773]
2293Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2294AuthorDate: Mon Jan 30 22:14:59 2017 +0100
2295Commit: Henrik Gramner <henrik@gramner.com>
2296CommitDate: Fri May 19 16:12:15 2017 +0200
2297
2298 Recursively delete conftest files
2299
2300 On OS X, one of the conftest files might be a directory named `conftest.dSYM`.
2301
2302commit 988ce459433fd3f978d632e8fc0ef9c19c94a6a1 [revision 2772]
2303Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2304AuthorDate: Mon Jan 30 22:14:56 2017 +0100
2305Commit: Henrik Gramner <henrik@gramner.com>
2306CommitDate: Fri May 19 16:12:15 2017 +0200
2307
2308 Drop unused function declarations
2309
2310commit fb3f97833cbe3305eb613633e604f424d6d2d096 [revision 2771]
2311Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2312AuthorDate: Fri Jan 27 18:06:39 2017 +0100
2313Commit: Henrik Gramner <henrik@gramner.com>
2314CommitDate: Fri May 19 16:12:14 2017 +0200
2315
2316 x86: Adjust cache64_ssse3 function suffixes
2317
2318 Makes those function names more consistent with other similar functions.
2319
2320commit a77f3917cc6ba5e1d3c20ca649d4114217976d53 [revision 2770]
2321Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2322AuthorDate: Fri Jan 27 16:21:16 2017 +0100
2323Commit: Henrik Gramner <henrik@gramner.com>
2324CommitDate: Fri May 19 16:12:14 2017 +0200
2325
2326 mc: Mark a function only used within the file as static
2327
2328commit 0ca36bfa3d2bf272da88b1df5abfc0406662989a [revision 2769]
2329Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2330AuthorDate: Fri Jan 27 16:21:15 2017 +0100
2331Commit: Henrik Gramner <henrik@gramner.com>
2332CommitDate: Fri May 19 16:12:14 2017 +0200
2333
2334 ppc: Drop two unused static functions
2335
2336commit d32d7bf1c6923a42cbd5ac2fd540ecbb009ba681 [revision 2768]
2337Author: Henrik Gramner <henrik@gramner.com>
2338AuthorDate: Fri May 19 16:08:34 2017 +0200
2339Commit: Henrik Gramner <henrik@gramner.com>
2340CommitDate: Fri May 19 16:12:14 2017 +0200
2341
2342 cli: Verify that yuv/y4m input has at least one frame of data
2343
2344 Prevents a SIGBUS crash caused by attempting to access a memory-mapped
2345 region beyond the end of the input file.
2346
2347commit 959e869c20ea151917695930d9ad0a7a9a2f90c5 [revision 2767]
2348Author: Kaustubh Raste <kaustubh.raste@imgtec.com>
2349AuthorDate: Fri Apr 14 15:29:31 2017 +0530
2350Commit: Henrik Gramner <henrik@gramner.com>
2351CommitDate: Fri Apr 14 14:52:53 2017 +0200
2352
2353 mips: Fix out-of-tree build
2354
2355 Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
2356
2357commit d6eb2c9630d40a2765d5092f87637f4e4d084ed1 [revision 2766]
2358Author: Henrik Gramner <henrik@gramner.com>
2359AuthorDate: Sat Mar 25 00:02:11 2017 +0100
2360Commit: Henrik Gramner <henrik@gramner.com>
2361CommitDate: Wed Mar 29 17:13:47 2017 +0200
2362
2363 checkasm: Fix load_deinterleave_chroma_fdec test
2364
2365 The function only writes to parts of the destination buffer but the test
2366 verifies the content of the entire buffer. The problem is that some earlier
2367 IDCT functions clobbers the same part of the buffer with garbage when
2368 benchmarked which would incorrectly cause test failures.
2369
2370 Fix this by explicitly zeroing the buffers beforehand.
2371
2372commit a472b60daae0cac17d91ddf62ad4f474ded63e5b [revision 2765]
2373Author: Henrik Gramner <henrik@gramner.com>
2374AuthorDate: Fri Mar 24 22:27:42 2017 +0100
2375Commit: Henrik Gramner <henrik@gramner.com>
2376CommitDate: Wed Mar 29 17:13:47 2017 +0200
2377
2378 checkasm: Fix compilation on hardened x86-64 ELF systems
2379
2380 Normal PC-relative relocations cannot be used for resolving the address of
2381 external symbols on systems where ASLR results in the offset being larger
2382 than 32 bits. We are required to to go through the PLT instead.
2383
2384commit 469ad705b1064207b6b1068d1e25a0a591021007 [revision 2764]
2385Author: Martin Storsjö <martin@martin.st>
2386AuthorDate: Thu Mar 23 15:05:38 2017 +0200
2387Commit: Henrik Gramner <henrik@gramner.com>
2388CommitDate: Thu Mar 23 22:55:18 2017 +0100
2389
2390 aarch64: Fix building checkasm for iOS
2391
2392 On iOS, symbols are prefixed - this prefix gets added by the X()
2393 macro.
2394
2395commit 93340ca300e7ce66f49e41b7c2ef4a0492a7e57c [revision 2763]
2396Author: Martin Storsjö <martin@martin.st>
2397AuthorDate: Thu Mar 23 15:05:37 2017 +0200
2398Commit: Henrik Gramner <henrik@gramner.com>
2399CommitDate: Thu Mar 23 22:52:09 2017 +0100
2400
2401 configure: Always enable PIC in aarch64 assembly for apple platforms
2402
2403 This is similar to what we do for 32-bit ARM assembly as well.
2404
2405 Fixes linker errors such as `ld: Absolute addressing not allowed in
2406 arm64 code but used in '_x264_cabac_encode_terminal_asm' referencing
2407 '_x264_cabac_range_lps' for architecture arm64`.
2408
2409commit 90a61ec76424778c050524f682a33f115024be96 [revision 2762]
2410Author: Alexandra Hájková <alexandra@khirnov.net>
2411AuthorDate: Mon Dec 5 10:28:53 2016 +0000
2412Commit: Henrik Gramner <henrik@gramner.com>
2413CommitDate: Mon Jan 23 22:46:04 2017 +0100
2414
2415 ppc: AltiVec plane_copy_deinterleave
2416
2417commit bd6b66dbf9fcf67b7ebb23e4e9249083191fb984 [revision 2761]
2418Author: Alexandra Hájková <alexandra@khirnov.net>
2419AuthorDate: Mon Jan 2 12:56:48 2017 +0000
2420Commit: Henrik Gramner <henrik@gramner.com>
2421CommitDate: Mon Jan 23 22:46:03 2017 +0100
2422
2423 ppc: AltiVec plane_copy_deinterleave_v210
2424
2425commit 00f1670087db1b025a8088289de8938bf88a0d8b [revision 2760]
2426Author: Alexandra Hájková <alexandra@khirnov.net>
2427AuthorDate: Wed Dec 7 19:48:02 2016 +0000
2428Commit: Henrik Gramner <henrik@gramner.com>
2429CommitDate: Mon Jan 23 22:46:03 2017 +0100
2430
2431 ppc: AltiVec plane_copy_deinterleave_rgb
2432
2433 Also add some missing vector types in ppccommon.h
2434
2435commit 5e1ed367d725f895eeadf358861ab52521a420d3 [revision 2759]
2436Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2437AuthorDate: Thu Jan 19 17:43:57 2017 +0100
2438Commit: Henrik Gramner <henrik@gramner.com>
2439CommitDate: Mon Jan 23 22:46:03 2017 +0100
2440
2441 ppc: Adjust AltiVec function suffix
2442
2443 Architecture should always be the last element.
2444
2445commit 28ebb95d92278069b80ee729eb1884fe0981c6ae [revision 2758]
2446Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2447AuthorDate: Mon Jan 9 22:28:20 2017 +0100
2448Commit: Henrik Gramner <henrik@gramner.com>
2449CommitDate: Sat Jan 21 14:10:37 2017 +0100
2450
2451 Move the x264_mdate() declaration to the appropriate header
2452
2453commit 1d2420981aa004f051a0869c005776084f7d2a44 [revision 2757]
2454Author: Vittorio Giovara <vittorio.giovara@gmail.com>
2455AuthorDate: Tue Jan 17 17:04:19 2017 +0100
2456Commit: Henrik Gramner <henrik@gramner.com>
2457CommitDate: Sat Jan 21 14:10:37 2017 +0100
2458
2459 arm/aarch64: Correctly prefix integral function symbols
2460
2461commit 4c4c495d58dbdea46a23947e4f202fc3b82fb891 [revision 2756]
2462Author: Anton Mitrofanov <BugMaster@narod.ru>
2463AuthorDate: Fri Jan 13 14:57:51 2017 +0100
2464Commit: Henrik Gramner <henrik@gramner.com>
2465CommitDate: Sat Jan 21 14:10:37 2017 +0100
2466
2467 x86: Avoid using hardcoded function symbol prefixes
2468
2469commit 2524fc3164d9f00b393d4254d2c5ea8f3b9d43b0 [revision 2755]
2470Author: Henrik Gramner <henrik@gramner.com>
2471AuthorDate: Wed Jan 18 21:57:14 2017 +0100
2472Commit: Henrik Gramner <henrik@gramner.com>
2473CommitDate: Sat Jan 21 14:10:37 2017 +0100
2474
2475 x86: AVX2 high bit-depth load_deinterleave_chroma
2476
2477 load_deinterleave_chroma_fenc: 50% faster than AVX
2478 load_deinterleave_chroma_fdec: 25% faster than AVX
2479
2480commit cce50082129d3c92bd41bc0afc5a8c8d93084c9c [revision 2754]
2481Author: Henrik Gramner <henrik@gramner.com>
2482AuthorDate: Wed Jan 18 21:46:55 2017 +0100
2483Commit: Henrik Gramner <henrik@gramner.com>
2484CommitDate: Sat Jan 21 14:10:37 2017 +0100
2485
2486 x86: AVX2 load_deinterleave_chroma_fenc
2487
2488 20% faster than SSSE3.
2489
2490commit c22c10ddb21e9f5af1da83d37122e6f7388e1342 [revision 2753]
2491Author: Henrik Gramner <henrik@gramner.com>
2492AuthorDate: Tue Jan 17 21:59:47 2017 +0100
2493Commit: Henrik Gramner <henrik@gramner.com>
2494CommitDate: Sat Jan 21 14:10:37 2017 +0100
2495
2496 x86: AVX2 plane_copy_deinterleave
2497
2498 50% faster than SSSE3 in 8-bit.
2499 25% faster than AVX in high bit-depth.
2500
2501 Also drop the MMX versions of deinterleave functions in favor of SSE2.
2502
2503commit f4890275ca6523dfe5b4ae60279ae8597d9dbd4b [revision 2752]
2504Author: Henrik Gramner <henrik@gramner.com>
2505AuthorDate: Thu Jan 12 22:16:53 2017 +0100
2506Commit: Henrik Gramner <henrik@gramner.com>
2507CommitDate: Sat Jan 21 14:10:37 2017 +0100
2508
2509 x86: AVX2 plane_copy_deinterleave_rgb
2510
2511 Around 15% faster than SSSE3.
2512
2513commit da71b556730c8eb6c12a0d6950a221a4e4a99ca6 [revision 2751]
2514Author: Henrik Gramner <henrik@gramner.com>
2515AuthorDate: Thu Jan 12 21:36:28 2017 +0100
2516Commit: Henrik Gramner <henrik@gramner.com>
2517CommitDate: Sat Jan 21 14:10:37 2017 +0100
2518
2519 x86: Faster plane_copy_deinterleave_rgb_sse2
2520
2521 50% faster than the previous SSE2 function.
2522
2523commit 3c7bf52c5b0a849458a45b5628ed1cc4b898da5f [revision 2750]
2524Author: Henrik Gramner <henrik@gramner.com>
2525AuthorDate: Sun Jan 15 14:52:29 2017 +0100
2526Commit: Henrik Gramner <henrik@gramner.com>
2527CommitDate: Sat Jan 21 14:10:37 2017 +0100
2528
2529 x86util: Reduce code size of high bit-depth AVX LOAD_DIFF
2530
2531 AVX supports unaligned memory operands which makes the SATD code a bit denser.
2532
2533commit c7a2e327bebd2b863c2620b6962fa18ab681e5dd [revision 2749]
2534Author: Henrik Gramner <henrik@gramner.com>
2535AuthorDate: Sun Jan 1 19:10:10 2017 +0100
2536Commit: Henrik Gramner <henrik@gramner.com>
2537CommitDate: Sat Jan 21 14:10:37 2017 +0100
2538
2539 Bump dates to 2017
2540
2541commit 97eaef2ab82a46d13ea5e00270712d6475fbe42b [revision 2748]
2542Author: Alexandra Hájková <alexandra@khirnov.net>
2543AuthorDate: Sat Jan 21 12:34:49 2017 +0000
2544Commit: Henrik Gramner <henrik@gramner.com>
2545CommitDate: Sat Jan 21 14:10:36 2017 +0100
2546
2547 ppc: Fix the pre-VSX vec_vsx_st() fallback macro
2548
2549 It would previously only work correctly with 8-bit data types.
2550
2551 Fixes compilation with --disable-vsx.
2552
2553commit 2ebe09a4f583d108c6ec1caf70b2a7a289a8820d [revision 2747]
2554Author: Alexandra Hájková <alexandra@khirnov.net>
2555AuthorDate: Wed Jan 18 09:13:39 2017 +0000
2556Commit: Henrik Gramner <henrik@gramner.com>
2557CommitDate: Wed Jan 18 16:38:16 2017 +0100
2558
2559 Fix plane_copy_deinterleave_v210 on big-endian
2560
2561commit 79288d90471e246584d19054bdb5381982114126 [revision 2746]
2562Author: Alexandra Hájková <alexandra@khirnov.net>
2563AuthorDate: Wed Dec 21 13:13:43 2016 +0000
2564Commit: Henrik Gramner <henrik@gramner.com>
2565CommitDate: Wed Jan 18 16:35:36 2017 +0100
2566
2567 ppc: Avoid instantiating unused plane_copy functions
2568
2569 Those functions are currently only used in 8-bit mode and results in
2570 warnings in other bit depths.
2571
2572commit 2ebdb90bd32c3d1618b1c5b360bff750b82b1d0b [revision 2745]
2573Author: Martin Storsjö <martin@martin.st>
2574AuthorDate: Tue Dec 27 00:22:48 2016 +0200
2575Commit: Henrik Gramner <henrik@gramner.com>
2576CommitDate: Thu Dec 29 23:06:12 2016 +0100
2577
2578 arm: Load mb_y properly in mbtree_propagate_list_internal_neon
2579
2580 The previous version, attempting to load two stack parameters at once,
2581 only would have worked if they were interpreted and loaded as 32 bit
2582 elements, not when loading them as 16 bit elements.
2583
2584commit b97ae0644f16bad2e2c9c9181264a946769a0aa0 [revision 2744]
2585Author: Anton Mitrofanov <BugMaster@narod.ru>
2586AuthorDate: Mon Oct 31 14:39:52 2016 +0300
2587Commit: Henrik Gramner <henrik@gramner.com>
2588CommitDate: Thu Dec 1 18:00:36 2016 +0100
2589
2590 analyse: Fix lambda table values
2591
2592commit b2b39dae0bd891c8d150b4f4c3a2a24d8d6c1431 [revision 2743]
2593Author: Anton Mitrofanov <BugMaster@narod.ru>
2594AuthorDate: Sat Nov 26 15:30:58 2016 +0300
2595Commit: Henrik Gramner <henrik@gramner.com>
2596CommitDate: Thu Dec 1 18:00:07 2016 +0100
2597
2598 Cosmetics
2599
2600 Also make x264_weighted_reference_duplicate() static.
2601
2602commit 9c82d2b65534e477c972b811a4dd5004d0dd262e [revision 2742]
2603Author: Alexandra Hájková <alexandra@khirnov.net>
2604AuthorDate: Mon Nov 28 14:04:10 2016 +0000
2605Commit: Henrik Gramner <henrik@gramner.com>
2606CommitDate: Thu Dec 1 17:59:59 2016 +0100
2607
2608 ppc: AltiVec store_interleave_chroma
2609
2610commit ea1fee272b20e1bcff2a862ea9a29e151c9136a9 [revision 2741]
2611Author: Alexandra Hájková <alexandra@khirnov.net>
2612AuthorDate: Mon Nov 28 10:51:54 2016 +0000
2613Commit: Henrik Gramner <henrik@gramner.com>
2614CommitDate: Thu Dec 1 17:59:43 2016 +0100
2615
2616 ppc: AltiVec plane_copy_interleave
2617
2618commit 42348a8e664b091203a05d3e15555b5085afcac1 [revision 2740]
2619Author: Alexandra Hájková <alexandra@khirnov.net>
2620AuthorDate: Sat Nov 26 20:03:34 2016 +0000
2621Commit: Henrik Gramner <henrik@gramner.com>
2622CommitDate: Thu Dec 1 17:59:22 2016 +0100
2623
2624 ppc: AltiVec plane_copy_swap
2625
2626commit 2610019af8bfb8e71f813cd2188b9eccbc287c59 [revision 2739]
2627Author: Alexandra Hájková <alexandra@khirnov.net>
2628AuthorDate: Wed Nov 23 20:53:51 2016 +0100
2629Commit: Henrik Gramner <henrik@gramner.com>
2630CommitDate: Thu Dec 1 16:10:37 2016 +0100
2631
2632 ppc: AltiVec zigzag_interleave_8x8_cavlc
2633
2634commit 25e4e06fe8151f627a953fbd2bd39302436bf689 [revision 2738]
2635Author: Alexandra Hájková <alexandra@khirnov.net>
2636AuthorDate: Wed Nov 23 20:53:50 2016 +0100
2637Commit: Henrik Gramner <henrik@gramner.com>
2638CommitDate: Thu Dec 1 16:10:37 2016 +0100
2639
2640 ppc: AltiVec zigzag_scan_8x8_frame
2641
2642commit 99863c665a6d4ec58b7fcc4a8a791e9c8f35a86e [revision 2737]
2643Author: Alexandra Hájková <alexandra@khirnov.net>
2644AuthorDate: Mon Nov 14 15:06:06 2016 +0100
2645Commit: Henrik Gramner <henrik@gramner.com>
2646CommitDate: Thu Dec 1 16:10:37 2016 +0100
2647
2648 ppc: AltiVec sub8x8_dct_dc
2649
2650commit 42cb0a6813714b5380e23871a155e3820846d991 [revision 2736]
2651Author: Alexandra Hájková <alexandra@khirnov.net>
2652AuthorDate: Mon Nov 14 15:06:05 2016 +0100
2653Commit: Henrik Gramner <henrik@gramner.com>
2654CommitDate: Thu Dec 1 16:10:37 2016 +0100
2655
2656 ppc: AltiVec add8x8_idct_dc
2657
2658commit 983acc911543453449a65bd02bbdff4c8cfe8e6a [revision 2735]
2659Author: Martin Storsjö <martin@martin.st>
2660AuthorDate: Wed Nov 16 10:57:31 2016 +0200
2661Commit: Henrik Gramner <henrik@gramner.com>
2662CommitDate: Thu Dec 1 16:10:37 2016 +0100
2663
2664 checkasm: aarch64: Add filler args to make sure all parameters are passed on the stack
2665
2666 This, combined with clobbering the stack space prior to the call,
2667 increases the chances of finding cases where 32 bit parameters
2668 are erroneously treated as 64 bit.
2669
2670commit 8ada354c9b5d72356c34c9ae3f787a6df4d61506 [revision 2734]
2671Author: Martin Storsjö <martin@martin.st>
2672AuthorDate: Wed Nov 16 10:57:30 2016 +0200
2673Commit: Henrik Gramner <henrik@gramner.com>
2674CommitDate: Thu Dec 1 16:10:37 2016 +0100
2675
2676 checkasm: aarch64: Clobber the stack before calling functions
2677
2678commit 62d604ac6dddbf553c1ff2432d899b61cc50d95a [revision 2733]
2679Author: Alexandra Hájková <alexandra@khirnov.net>
2680AuthorDate: Tue Nov 1 23:16:17 2016 +0100
2681Commit: Henrik Gramner <henrik@gramner.com>
2682CommitDate: Thu Dec 1 16:10:37 2016 +0100
2683
2684 ppc: Use vec_vsx_ld instead of VEC_LOAD/STORE macros
2685
2686 Remove VEC_LOAD*, some of VEC_STORE* macros, some PREP* macros and
2687 VEC_DIFF_H_OFFSET macro.
2688
2689 Make sure the functions do not use deprected primitives.
2690
2691commit 16142d8ee2a974060ecbad0f495b5a5c6516a75e [revision 2732]
2692Author: Luca Barbato <lu_zero@gentoo.org>
2693AuthorDate: Tue Nov 1 23:16:16 2016 +0100
2694Commit: Henrik Gramner <henrik@gramner.com>
2695CommitDate: Thu Dec 1 16:10:37 2016 +0100
2696
2697 ppc: Provide fallbacks for older architectures
2698
2699commit 2b741f81e51f92d053d87a49f59ff1026553a0f6 [revision 2731]
2700Author: Luca Barbato <lu_zero@gentoo.org>
2701AuthorDate: Tue Nov 1 23:16:14 2016 +0100
2702Commit: Henrik Gramner <henrik@gramner.com>
2703CommitDate: Thu Dec 1 16:10:37 2016 +0100
2704
2705 ppc: Add VSX support to configure
2706
2707commit 1f7518182e3204cb14e87baffb0150a848167ddc [revision 2730]
2708Author: Luca Barbato <lu_zero@gentoo.org>
2709AuthorDate: Tue Nov 1 23:16:13 2016 +0100
2710Commit: Henrik Gramner <henrik@gramner.com>
2711CommitDate: Thu Dec 1 16:10:37 2016 +0100
2712
2713 ppc: Manually unroll the horizontal prediction loop
2714
2715 Doubles the speedup from the function (from being slower to be over
2716 twice as fast than C).
2717
2718commit 0706ddb1df88d716cf73decba4d82b953011760c [revision 2729]
2719Author: Henrik Gramner <henrik@gramner.com>
2720AuthorDate: Sat Oct 8 17:20:18 2016 +0200
2721Commit: Henrik Gramner <henrik@gramner.com>
2722CommitDate: Thu Dec 1 16:10:37 2016 +0100
2723
2724 x86inc: Avoid using eax/rax for storing the stack pointer
2725
2726 When allocating stack space with an alignment requirement that is larger
2727 than the current stack alignment we need to store a copy of the original
2728 stack pointer in order to be able to restore it later.
2729
2730 If we chose to use another register for this purpose we should not pick
2731 eax/rax since it can be overwritten as a return value.
2732
2733commit 4d5c8b01a48f72f9c40651e92c39294326a0863f [revision 2728]
2734Author: Henrik Gramner <henrik@gramner.com>
2735AuthorDate: Thu Dec 1 16:05:16 2016 +0100
2736Commit: Henrik Gramner <henrik@gramner.com>
2737CommitDate: Thu Dec 1 16:10:37 2016 +0100
2738
2739 Show the correct settings for --preset slow in --fullhelp
2740
2741 The slow preset was recently adjusted but we forgot to update the
2742 corresponding --fullhelp message to reflect the change.
2743
2744commit c996ed202e2d17d1d8ae42c42d0707e51c29bb93 [revision 2727]
2745Author: Martin Storsjö <martin@martin.st>
2746AuthorDate: Mon Nov 14 23:54:51 2016 +0200
2747Commit: Henrik Gramner <henrik@gramner.com>
2748CommitDate: Mon Nov 21 19:52:24 2016 +0100
2749
2750 checkasm: arm/aarch64: Fix the amount of space reserved for stack parameters
2751
2752 Even if MAX_ARGS - 2 (for arm) or MAX_ARGS - 6 (for aarch64) parameters
2753 are passed on the stack to checkasm_checked_call, we actually only
2754 need to store MAX_ARGS - 4 (for arm) or MAX_ARGS - 8 (for aarch64)
2755 parameters on the stack when calling the tested function.
2756
2757commit cd15b354a887943d525e6fd8096ad4b75692d2b2 [revision 2726]
2758Author: Janne Grunau <janne-x264@jannau.net>
2759AuthorDate: Mon Nov 14 23:54:50 2016 +0200
2760Commit: Henrik Gramner <henrik@gramner.com>
2761CommitDate: Mon Nov 21 19:52:24 2016 +0100
2762
2763 checkasm: arm: preserve the stack alignment in x264_checkasm_checked_call
2764
2765 The stack used by x264_checkasm_checked_call_neon was a multiple of 4
2766 when the checked function is called. AAPCS requires a double word (8 byte)
2767 aligned stack public interfaces. Since both calls are public interfaces
2768 the stack is misaligned when the checked is called.
2769
2770 This can cause issues if code called within this (which includes
2771 the C implementations) relies on the stack alignment.
2772
2773commit 834e1b11e174f2694a4c81b4922c0c5f8778796a [revision 2725]
2774Author: Martin Storsjö <martin@martin.st>
2775AuthorDate: Wed Nov 16 10:56:14 2016 +0200
2776Commit: Henrik Gramner <henrik@gramner.com>
2777CommitDate: Mon Nov 21 19:52:24 2016 +0100
2778
2779 arm: Don't use vcmp.f64 for testing for an all-zeros register
2780
2781 On iOS, vcmp.f64 can behave as if the register was zero, if the
2782 register (interpreted as a f64), was a denormal number.
2783
2784 The vcmp.f64 (and other VFP instructions) will trap to the kernel
2785 (which is supposed to implement the FP operation, which it apparently
2786 doesn't do properly on iOS) if the value is a denormal. If this happens,
2787 the whole comparison ends up way more costly.
2788
2789commit a91e95fca2222ac0731e987a07f4b11c670f4556 [revision 2724]
2790Author: Janne Grunau <janne-x264@jannau.net>
2791AuthorDate: Wed Nov 16 10:49:14 2016 +0200
2792Commit: Henrik Gramner <henrik@gramner.com>
2793CommitDate: Mon Nov 21 19:52:24 2016 +0100
2794
2795 aarch64: Clear the upper half of int parameters in x264_plane_copy_core_neon
2796
2797commit 1eab3b402e1d7729da295024fa7eec8b09e30c20 [revision 2723]
2798Author: Luca Barbato <lu_zero@gentoo.org>
2799AuthorDate: Tue Nov 1 23:16:18 2016 +0100
2800Commit: Henrik Gramner <henrik@gramner.com>
2801CommitDate: Mon Nov 21 19:52:24 2016 +0100
2802
2803 ppc: Fix hadamard for little-endian
2804
2805 Extending to 16-bit works with flipped bytes.
2806
2807commit 75918e1849e1286885bfcfb0c348de885a702fb3 [revision 2722]
2808Author: Anton Mitrofanov <BugMaster@narod.ru>
2809AuthorDate: Thu Sep 22 00:17:48 2016 +0300
2810Commit: Anton Mitrofanov <BugMaster@narod.ru>
2811CommitDate: Thu Sep 22 00:18:16 2016 +0300
2812
2813 Correctly signal max_dec_frame_buffering with --keyint 1
2814
2815 According to E.2.1 it is inferred to be equal to 0 only if profile_idc is equal
2816 to 44, 86, 100, 110, 122, or 244 and constraint_set3_flag is equal to 1.
2817
2818commit 72d53ab2ac7af24597a824e868f2ef363a22f5d4 [revision 2721]
2819Author: Henrik Gramner <henrik@gramner.com>
2820AuthorDate: Sat Sep 17 21:41:52 2016 +0200
2821Commit: Anton Mitrofanov <BugMaster@narod.ru>
2822CommitDate: Tue Sep 20 21:02:01 2016 +0300
2823
2824 x86: Faster pixel_ssim_4x4x2_core
2825
2826commit 8c07263ad9218bdc3e0f5b84d578968513885df7 [revision 2720]
2827Author: Henrik Gramner <henrik@gramner.com>
2828AuthorDate: Sat Sep 17 21:14:35 2016 +0200
2829Commit: Anton Mitrofanov <BugMaster@narod.ru>
2830CommitDate: Tue Sep 20 21:02:01 2016 +0300
2831
2832 x86: Deduplicate a constant in hpel_filter_c
2833
2834commit 9521b278adb92081f052c1b7bfc4b95651d88b07 [revision 2719]
2835Author: Henrik Gramner <henrik@gramner.com>
2836AuthorDate: Sat Sep 17 14:45:08 2016 +0200
2837Commit: Anton Mitrofanov <BugMaster@narod.ru>
2838CommitDate: Tue Sep 20 21:02:00 2016 +0300
2839
2840 x86: Faster pixel_ssd_nv12
2841
2842 Also drop the MMX2 version to simplify things.
2843
2844commit 75d0f9cc8770bc4f36785062116757d24eb44604 [revision 2718]
2845Author: Henrik Gramner <henrik@gramner.com>
2846AuthorDate: Sun Sep 11 15:32:54 2016 +0200
2847Commit: Anton Mitrofanov <BugMaster@narod.ru>
2848CommitDate: Tue Sep 20 21:01:59 2016 +0300
2849
2850 x86: SSE zigzag_scan_4x4_field
2851
2852 Replaces the MMX2 version, one cycle faster.
2853
2854 Also change the checkasm test to use the correct alignment macro.
2855
2856commit 0ce77f9eb71051c9a6121ec12c2abaac99ee628a [revision 2717]
2857Author: Henrik Gramner <henrik@gramner.com>
2858AuthorDate: Wed Sep 7 19:27:31 2016 +0200
2859Commit: Anton Mitrofanov <BugMaster@narod.ru>
2860CommitDate: Tue Sep 20 21:01:59 2016 +0300
2861
2862 x86: AVX2 mbtree_propagate_list
2863
2864 SIMD part is around 25% faster than AVX on Haswell, around 7%
2865 faster when including the runtime of the scalar C wrapper.
2866
2867commit 0c36239a4826f6e5a3cb873aca1814e389a46e29 [revision 2716]
2868Author: Henrik Gramner <henrik@gramner.com>
2869AuthorDate: Wed Sep 7 19:26:42 2016 +0200
2870Commit: Anton Mitrofanov <BugMaster@narod.ru>
2871CommitDate: Tue Sep 20 21:01:58 2016 +0300
2872
2873 x86: Move predict_16x16_dc_left calculations to asm
2874
2875 1-2 cycles faster and avoids some code duplication to decrease code size.
2876
2877 Also drop the MMX2 implementation in favor of SSE2 to simplify things.
2878
2879commit 0cc8afd31212de013b26b10f58c608c9adcff2fc [revision 2715]
2880Author: Anton Mitrofanov <BugMaster@narod.ru>
2881AuthorDate: Thu Aug 18 19:00:48 2016 +0300
2882Commit: Anton Mitrofanov <BugMaster@narod.ru>
2883CommitDate: Tue Sep 20 21:01:57 2016 +0300
2884
2885 avs: support for AviSynth+ high bit-depth pixel formats
2886
2887commit dc0fe73636d34baeb3a64918b52db64d2a9e83bb [revision 2714]
2888Author: Janne Grunau <janne-x264@jannau.net>
2889AuthorDate: Fri Aug 26 20:26:56 2016 +0300
2890Commit: Anton Mitrofanov <BugMaster@narod.ru>
2891CommitDate: Tue Sep 20 21:01:57 2016 +0300
2892
2893 aarch64: implement x264_plane_copy_swap_neon
2894
2895 plane_copy_swap_c: 27054
2896 plane_copy_swap_neon: 4152
2897
2898commit eaf2fc20c8579714a48523b7ab8c05373708a25f [revision 2713]
2899Author: Anton Mitrofanov <BugMaster@narod.ru>
2900AuthorDate: Thu Aug 18 22:14:22 2016 +0300
2901Commit: Anton Mitrofanov <BugMaster@narod.ru>
2902CommitDate: Tue Sep 20 21:01:56 2016 +0300
2903
2904 Various cosmetics of semicolon use
2905
2906commit aae177c55141460f442de0572c4a434bf2ae20bc [revision 2712]
2907Author: Henrik Gramner <henrik@gramner.com>
2908AuthorDate: Thu Jul 28 21:58:40 2016 +0200
2909Commit: Anton Mitrofanov <BugMaster@narod.ru>
2910CommitDate: Tue Sep 20 21:01:55 2016 +0300
2911
2912 cli: Prefetch yuv/y4m input frames on Windows 8 and newer
2913
2914 Use PrefetchVirtualMemory() (if available) on memory-mapped input frames.
2915
2916 Significantly improves performance when the source file is not already
2917 present in the OS page cache by asking the OS to bring in those pages from
2918 disk using large, concurrent I/O requests.
2919
2920 Most beneficial on fast encoding settings. Up to 40% faster overall with
2921 --preset ultrafast, and up to 20% faster overall with --preset veryfast.
2922
2923 This API was introduced in Windows 8, so call it conditionally. On older
2924 Windows systems the previous behavior remains unchanged.
2925
2926commit 4e5adb87070c82b937c03e0cc030eae3578c251d [revision 2711]
2927Author: Henrik Gramner <henrik@gramner.com>
2928AuthorDate: Thu Jul 28 19:34:04 2016 +0200
2929Commit: Anton Mitrofanov <BugMaster@narod.ru>
2930CommitDate: Tue Sep 20 21:01:54 2016 +0300
2931
2932 Adjust --preset slow
2933
2934 * Swap --me umh for --trellis 2. They have a similar effect on performance
2935 but the latter gives slightly better results in most cases.
2936 * Change --b-adapt from 2 to 1. Negligible difference in quality since the
2937 b-adapt 1 improvements, but it's significantly faster.
2938
2939 Also remove a redundant assignment from veryfast (--me hex is set by default).
2940
2941commit 1e4fb55a283ba90fef346033027af851f2a04468 [revision 2710]
2942Author: Henrik Gramner <henrik@gramner.com>
2943AuthorDate: Thu Jul 28 19:33:57 2016 +0200
2944Commit: Anton Mitrofanov <BugMaster@narod.ru>
2945CommitDate: Tue Sep 20 21:01:54 2016 +0300
2946
2947 ratecontrol_new: Simplify an expression in HRD timescale calculation
2948
2949 Also gets rid of a false positive static analyser integer division warning.
2950
2951commit 17378b2028146fa54a1b2b90da62554935d9dcc2 [revision 2709]
2952Author: Henrik Gramner <henrik@gramner.com>
2953AuthorDate: Thu Jul 28 19:33:44 2016 +0200
2954Commit: Anton Mitrofanov <BugMaster@narod.ru>
2955CommitDate: Tue Sep 20 21:01:53 2016 +0300
2956
2957 gcc: Enable __sync_fetch_and_add() on x86-64
2958
2959 It was previously only enabled on 32-bit x86 for no reason, so 64-bit
2960 systems had to use a mutex instead of a simple `lock xadd` instruction.
2961
2962 Note that this code is only used in some very specific configurations
2963 involving sliced threads.
2964
2965commit 86b71982e131eaa70125f8d0e725fcade9c4c677 [revision 2708]
2966Author: Anton Mitrofanov <BugMaster@narod.ru>
2967AuthorDate: Tue Sep 20 18:48:22 2016 +0300
2968Commit: Anton Mitrofanov <BugMaster@narod.ru>
2969CommitDate: Tue Sep 20 21:01:52 2016 +0300
2970
2971 mips: Fix high bit-depth compilation
2972
2973commit 1ea3c682ca12c7f13ea6f82b42bdc40afcfda87f [revision 2707]
2974Author: Henrik Gramner <henrik@gramner.com>
2975AuthorDate: Sat Sep 17 15:53:59 2016 +0200
2976Commit: Henrik Gramner <henrik@gramner.com>
2977CommitDate: Sat Sep 17 16:41:30 2016 +0200
2978
2979 checkasm: Fix compilation on Windows with --disable-thread
2980
2981commit 5caef139cf7d6b41a95ee9568625d36d1ae1c107 [revision 2706]
2982Author: Janne Grunau <janne-x264@jannau.net>
2983AuthorDate: Fri Aug 26 20:26:55 2016 +0300
2984Commit: Henrik Gramner <henrik@gramner.com>
2985CommitDate: Sat Sep 17 15:10:14 2016 +0200
2986
2987 arm/aarch64: use plane_copy wrapper macros
2988
2989 Move the macros to common/mc.h to share them across all architectures.
2990 Fixes possible buffer overreads if the width of the user supplied frames
2991 is not a multiple of 16.
2992
2993 Reported-by: Kirill Batuzov <batuzovk@ispras.ru>
2994
2995commit 3f5ed56d4105f68c01b86f94f41bb9bbefa3433b [revision 2705]
2996Author: Henrik Gramner <henrik@gramner.com>
2997AuthorDate: Sun Apr 3 17:28:33 2016 +0200
2998Commit: Henrik Gramner <henrik@gramner.com>
2999CommitDate: Mon Jun 13 22:07:00 2016 +0200
3000
3001 configure: Support specifying a custom pkg-config
3002
3003commit 7c9c687d8062f72b3ec300de8997bdae8277a741 [revision 2704]
3004Author: Anton Mitrofanov <BugMaster@narod.ru>
3005AuthorDate: Wed Jun 8 22:46:17 2016 +0300
3006Commit: Henrik Gramner <henrik@gramner.com>
3007CommitDate: Mon Jun 13 22:07:00 2016 +0200
3008
3009 Add support for new VUI parameters
3010
3011 Support the new color primaries, transfer characteristics, and matrix
3012 coefficients defined in the 2016-02 edition of the H.264 specification.
3013
3014commit 92515e8ff73491ef8a44c85e0bee265ba5791070 [revision 2703]
3015Author: Henrik Gramner <henrik@gramner.com>
3016AuthorDate: Sun Apr 24 14:10:22 2016 +0200
3017Commit: Henrik Gramner <henrik@gramner.com>
3018CommitDate: Mon Jun 13 22:07:00 2016 +0200
3019
3020 configure: Add link-time optimization support
3021
3022 Enabled by using the --enable-lto configuration option.
3023
3024 May give a slight performance improvement in some cases, but it can
3025 also reduce performance in other cases (largely compiler-dependant)
3026 so don't enable it by default. It also makes compilation (and linking
3027 in particular) a fair bit slower.
3028
3029 Note that some older versions of GNU binutils will incorrectly warn
3030 about "memset used with constant zero length parameter" when linking
3031 using LTO. This is due to a bug in binutils and can safely be ignored.
3032
3033commit b6267e0ff770545de88dfb5d3f176ea73f453730 [revision 2702]
3034Author: Henrik Gramner <henrik@gramner.com>
3035AuthorDate: Sun Apr 24 13:32:43 2016 +0200
3036Commit: Henrik Gramner <henrik@gramner.com>
3037CommitDate: Mon Jun 13 22:07:00 2016 +0200
3038
3039 configure: Fix clang detection with versioned binaries
3040
3041 Correctly detect clang binaries that has the version number appended
3042 as a suffix to the file name, e.g. `clang38`.
3043
3044commit 14a58532fea2c5f9e7b93c918476d842091c4268 [revision 2701]
3045Author: Janne Grunau <janne-x264@jannau.net>
3046AuthorDate: Sun Apr 24 14:38:56 2016 +0200
3047Commit: Henrik Gramner <henrik@gramner.com>
3048CommitDate: Mon Jun 13 22:07:00 2016 +0200
3049
3050 arm: Add asm for mbtree fixed point conversion
3051
3052 7-8 times faster on a cortex-a53 vs. gcc-5.3.
3053
3054 mbtree_fix8_pack_c: 44114
3055 mbtree_fix8_pack_neon: 5805
3056 mbtree_fix8_unpack_c: 38924
3057 mbtree_fix8_unpack_neon: 4870
3058
3059commit b6f189eb4c5646483f7901293944695167e71ed9 [revision 2700]
3060Author: Janne Grunau <janne-x264@jannau.net>
3061AuthorDate: Sun Apr 24 14:38:55 2016 +0200
3062Commit: Henrik Gramner <henrik@gramner.com>
3063CommitDate: Mon Jun 13 22:06:51 2016 +0200
3064
3065 aarch64: Add asm for mbtree fixed point conversion
3066
3067 pack is ~7 times faster and unpack is ~9 times faster on a cortex-a53
3068 compared to gcc-5.3.
3069
3070 mbtree_fix8_pack_c: 41534
3071 mbtree_fix8_pack_neon: 5766
3072 mbtree_fix8_unpack_c: 44102
3073 mbtree_fix8_unpack_neon: 4868
3074
3075commit a5e06b9a435852f0125de4ecb198ad47340483fa [revision 2699]
3076Author: Anton Mitrofanov <BugMaster@narod.ru>
3077AuthorDate: Sun May 22 22:33:58 2016 +0300
3078Commit: Henrik Gramner <henrik@gramner.com>
3079CommitDate: Mon Jun 13 22:06:51 2016 +0200
3080
3081 Fix p4x4 analyse for 4:4:4 encoding with chroma ME
3082
3083commit 07221290db0a94bda1f6ece3fdf3c02675c8adce [revision 2698]
3084Author: Anton Mitrofanov <BugMaster@narod.ru>
3085AuthorDate: Sun May 22 22:18:34 2016 +0300
3086Commit: Henrik Gramner <henrik@gramner.com>
3087CommitDate: Mon Jun 13 22:06:51 2016 +0200
3088
3089 Fix 4:4:4 encoding with CQM
3090
3091commit 23ebc1f763936b7fcfc81e21530e1b65dbc503b9 [revision 2697]
3092Author: Anton Mitrofanov <BugMaster@narod.ru>
3093AuthorDate: Sun May 22 19:36:05 2016 +0300
3094Commit: Henrik Gramner <henrik@gramner.com>
3095CommitDate: Mon Jun 13 22:06:51 2016 +0200
3096
3097 Fix p4x4 RDO with CAVLC
3098
3099commit 740a8c556bd9b68e899d6991f3f987a443aa14aa [revision 2696]
3100Author: Anton Mitrofanov <BugMaster@narod.ru>
3101AuthorDate: Sat Apr 23 23:10:03 2016 +0300
3102Commit: Henrik Gramner <henrik@gramner.com>
3103CommitDate: Mon Jun 13 21:58:37 2016 +0200
3104
3105 Apply zone options a little bit earlier
3106
3107 This way things like SAR changes will have full effect from the start frame.
3108
3109commit 928bd9d5def4f0ca5071ea176a11b816a01e6495 [revision 2695]
3110Author: Anton Mitrofanov <BugMaster@narod.ru>
3111AuthorDate: Sat Apr 23 22:45:44 2016 +0300
3112Commit: Henrik Gramner <henrik@gramner.com>
3113CommitDate: Mon Jun 13 21:53:45 2016 +0200
3114
3115 Fix corruption when using encoder_reconfig() with some parameters
3116
3117 Changing parameters that affects SPS, like --ref for example, wasn't
3118 behaving correctly previously.
3119
3120 Probably a regression in r2373.
3121
3122commit 3b70645597bea052d2398005bc723212aeea6875 [revision 2694]
3123Author: Anton Mitrofanov <BugMaster@narod.ru>
3124AuthorDate: Wed Apr 13 21:54:25 2016 +0300
3125Commit: Henrik Gramner <henrik@gramner.com>
3126CommitDate: Wed Apr 20 17:15:54 2016 +0200
3127
3128 Clean up header includes
3129
3130commit 2102de2584e03fce4abac49eb37d5d7a0803380f [revision 2693]
3131Author: Henrik Gramner <henrik@gramner.com>
3132AuthorDate: Wed Apr 13 17:53:49 2016 +0200
3133Commit: Henrik Gramner <henrik@gramner.com>
3134CommitDate: Wed Apr 20 17:15:51 2016 +0200
3135
3136 Eliminate some compiler warnings on BSD
3137
3138 Include <strings.h> in addition to <string.h>. According to the POSIX
3139 specification the prototypes for strcasecmp() and strncasecmp() are
3140 declared in <strings.h>. On some systems they are also declared in
3141 <string.h> for compatibility reasons but we shouldn't rely on that.
3142
3143 Define _POSIX_C_SOURCE only when it's required to do so. Some BSD
3144 variants doesn't declare certain function prototypes otherwise.
3145
3146commit 64f4e24909924fceeea6e154d71b7dfbf586c7ea [revision 2692]
3147Author: Henrik Gramner <henrik@gramner.com>
3148AuthorDate: Tue Apr 12 21:33:54 2016 +0200
3149Commit: Henrik Gramner <henrik@gramner.com>
3150CommitDate: Tue Apr 12 21:47:47 2016 +0200
3151
3152 osx: Add -D_DARWIN_C_SOURCE to CFLAGS
3153
3154 OSX doesn't like _POSIX_C_SOURCE being defined when _DARWIN_C_SOURCE isn't.
3155
3156commit 00597d74c6223f3694e2c6614ef0574d7fca6b22 [revision 2691]
3157Author: Anton Mitrofanov <BugMaster@narod.ru>
3158AuthorDate: Tue Apr 12 20:33:42 2016 +0300
3159Commit: Henrik Gramner <henrik@gramner.com>
3160CommitDate: Tue Apr 12 19:58:07 2016 +0200
3161
3162 Remove an unused parameter from x264_slicetype_frame_cost()
3163
3164 The b_intra_penalty parameter is no longer used anywhere after the
3165 improvements to the --b-adapt 1 algorithm.
3166
3167commit aa26e880bc2cd04cc81c776051d5e21d03fc975a [revision 2690]
3168Author: Anton Mitrofanov <BugMaster@narod.ru>
3169AuthorDate: Sun Apr 10 20:17:32 2016 +0300
3170Commit: Henrik Gramner <henrik@gramner.com>
3171CommitDate: Tue Apr 12 19:25:17 2016 +0200
3172
3173 Improve the --b-adapt 1 algorithm
3174
3175 Roughly the same speed as before but with significantly better results,
3176 comparable to --b-adapt 2.
3177
3178commit 24f25b6afd21488a93bd86098f98dfaf229fc149 [revision 2689]
3179Author: Henrik Gramner <henrik@gramner.com>
3180AuthorDate: Sun Apr 3 15:49:26 2016 +0200
3181Commit: Henrik Gramner <henrik@gramner.com>
3182CommitDate: Tue Apr 12 17:10:39 2016 +0200
3183
3184 analyse: i_sub_partition write combining
3185
3186commit 1507cfe80ecf5f8e240a35e9e9dc5a92bd25e792 [revision 2688]
3187Author: Henrik Gramner <henrik@gramner.com>
3188AuthorDate: Tue Mar 15 20:16:45 2016 +0100
3189Commit: Henrik Gramner <henrik@gramner.com>
3190CommitDate: Tue Apr 12 17:10:39 2016 +0200
3191
3192 x86: Use one less register in mbtree_propagate_cost_avx2
3193
3194 Avoids the need to save and restore xmm6 on 64-bit Windows.
3195
3196commit c82c7374938f4342971adf8b2495c3a1bbe621c4 [revision 2687]
3197Author: Henrik Gramner <henrik@gramner.com>
3198AuthorDate: Fri Mar 4 17:53:08 2016 +0100
3199Commit: Henrik Gramner <henrik@gramner.com>
3200CommitDate: Tue Apr 12 17:10:39 2016 +0200
3201
3202 x86: Add asm for mbtree fixed point conversion
3203
3204 The QP offsets of each macroblock are stored as floats internally and
3205 converted to big-endian Q8.8 fixed point numbers when written to the 2-pass
3206 stats file, and converted back to floats when read from the stats file.
3207
3208 Add SSSE3 and AVX2 implementations for conversions in both directions.
3209
3210 About 8x faster than C on Haswell.
3211
3212commit be677efc6313ade5eddf722fdf097cce56df1344 [revision 2686]
3213Author: Anton Mitrofanov <BugMaster@narod.ru>
3214AuthorDate: Thu Apr 7 13:09:03 2016 +0300
3215Commit: Henrik Gramner <henrik@gramner.com>
3216CommitDate: Tue Apr 12 17:10:39 2016 +0200
3217
3218 x86inc: Enable AVX emulation in additional cases
3219
3220 Allows emulation to work when dst is equal to src2 as long as the
3221 instruction is commutative, e.g. `addps m0, m1, m0`.
3222
3223commit b5661d322866df647e6084061a471eceac214c28 [revision 2685]
3224Author: Anton Mitrofanov <BugMaster@narod.ru>
3225AuthorDate: Thu Apr 7 12:48:29 2016 +0300
3226Commit: Henrik Gramner <henrik@gramner.com>
3227CommitDate: Tue Apr 12 17:10:39 2016 +0200
3228
3229 x86inc: Improve handling of %ifid with multi-token parameters
3230
3231 The yasm/nasm preprocessor only checks the first token, which means that
3232 parameters such as `dword [rax]` are treated as identifiers, which is
3233 generally not what we want.
3234
3235commit 283663d4c13088f4811c78b75318bda59d696b2d [revision 2684]
3236Author: Anton Mitrofanov <BugMaster@narod.ru>
3237AuthorDate: Mon Mar 28 18:35:38 2016 +0300
3238Commit: Henrik Gramner <henrik@gramner.com>
3239CommitDate: Tue Apr 12 17:10:39 2016 +0200
3240
3241 x86inc: Fix AVX emulation of some instructions
3242
3243commit 54fd697668d0a04246ad0b0e9955a6583b2bb8b6 [revision 2683]
3244Author: Henrik Gramner <henrik@gramner.com>
3245AuthorDate: Fri Mar 4 17:51:41 2016 +0100
3246Commit: Henrik Gramner <henrik@gramner.com>
3247CommitDate: Tue Apr 12 17:10:39 2016 +0200
3248
3249 x86inc: Fix AVX emulation of scalar float instructions
3250
3251 Those instructions are not commutative since they only change the first
3252 element in the vector and leave the rest unmodified.
3253
3254commit eeb9b66ddb0f27d8baaa8efa9597613e61140836 [revision 2682]
3255Author: Henrik Gramner <henrik@gramner.com>
3256AuthorDate: Sat Feb 27 20:34:39 2016 +0100
3257Commit: Henrik Gramner <henrik@gramner.com>
3258CommitDate: Tue Apr 12 17:10:39 2016 +0200
3259
3260 x86: dct2x4dc asm
3261
3262 Only used in 4:2:2. MMX2 version implemented for 8-bit, SSE2 and AVX
3263 versions implemented for high bit-depth.
3264
3265 2.5x faster on 32-bit and 1.6x faster on 64-bit compared to C on Ivy Bridge.
3266
3267commit 23d1d8e89be2d99f5c6924a6055fc80d69429503 [revision 2681]
3268Author: Henrik Gramner <henrik@gramner.com>
3269AuthorDate: Sat Feb 20 20:31:22 2016 +0100
3270Commit: Henrik Gramner <henrik@gramner.com>
3271CommitDate: Tue Apr 12 17:10:39 2016 +0200
3272
3273 x86: SSE2/AVX idct_dequant_2x4_(dc|dconly)
3274
3275 Only used in 4:2:2. Both 8-bit and high bit-depth implemented.
3276
3277 Approximate performance improvement compared to C on Ivy Bridge:
3278
3279 x86-32 x86-64
3280 idct_dequant_2x4_dc 2.1x 1.7x
3281 idct_dequant_2x4_dconly 2.7x 2.0x
3282
3283 Helps more on 32-bit due to the C versions being register starved.
3284
3285commit dbbf1dd2836a21b65178442c1fb7a00ea089d7ec [revision 2680]
3286Author: Henrik Gramner <henrik@gramner.com>
3287AuthorDate: Sat Feb 20 16:53:35 2016 +0100
3288Commit: Henrik Gramner <henrik@gramner.com>
3289CommitDate: Tue Apr 12 17:10:39 2016 +0200
3290
3291 checkasm: Fix idct_dequant_2x4_(dc|dconly) tests
3292
3293 They used the wrong qp values and the dconly test had the wrong name. This
3294 was undetected before because there wasn't any assembly implementations.
3295
3296commit 0db0ac3a05b80eee7994fab08cbce2d07e8b1586 [revision 2679]
3297Author: Henrik Gramner <henrik@gramner.com>
3298AuthorDate: Sun Feb 7 14:55:26 2016 +0100
3299Commit: Henrik Gramner <henrik@gramner.com>
3300CommitDate: Tue Apr 12 17:10:39 2016 +0200
3301
3302 checkasm: Disable Windows Error Reporting
3303
3304 When developing new assembly code it's expected that checkasm may crash,
3305 and the error reporting dialog popup can be somewhat annoying.
3306
3307commit deae1b1001d134f5babc4fad3208bd951a454951 [revision 2678]
3308Author: Henrik Gramner <henrik@gramner.com>
3309AuthorDate: Sat Feb 6 18:49:46 2016 +0100
3310Commit: Henrik Gramner <henrik@gramner.com>
3311CommitDate: Tue Apr 12 17:10:39 2016 +0200
3312
3313 windows: Flag debug builds in the resource file
3314
3315commit 0082b717199bafb4abbb6638e7c30d50deaf2c1b [revision 2677]
3316Author: Henrik Gramner <henrik@gramner.com>
3317AuthorDate: Thu Feb 4 20:06:57 2016 +0100
3318Commit: Henrik Gramner <henrik@gramner.com>
3319CommitDate: Tue Apr 12 17:10:29 2016 +0200
3320
3321 cli: Refactor filter option parsing
3322
3323 The old code contained a whole bunch of memory leaks, unchecked mallocs,
3324 sections of dead code, etc. and was generally overly complex.
3325
3326 Also consolidate some memory allocations into a single one.
3327
3328commit dfe394cadc8a39752de5b3f4a0be222c1b9290f2 [revision 2676]
3329Author: Henrik Gramner <henrik@gramner.com>
3330AuthorDate: Sun Jan 31 21:50:52 2016 +0100
3331Commit: Henrik Gramner <henrik@gramner.com>
3332CommitDate: Mon Apr 11 16:59:51 2016 +0200
3333
3334 ffms: Various improvements
3335
3336 * Drop the MinGW Unicode workarounds. Those were required at the time
3337 Windows Unicode support was added to x264 but the underlying problem
3338 has since been fixed in FFMS.
3339
3340 * Use FFMS_IndexBelongsToFile() as an additional sanity check when reading
3341 an index file to ensure that it belongs to the current source video.
3342
3343 * Upgrade to the new API to prevent deprecation warnings when compiling.
3344
3345 * Fix a resource leak that would occur if FFMS_GetFirstTrackOfType() or
3346 FFMS_CreateVideoSource() failed.
3347
3348 * Minor string handling adjustments related to progress reporting.
3349
3350 This increases the FFMS version requirement from 2.16.2 to 2.21.0.
3351
3352commit 215afdbd8ecc924f2028f79851458076683e97ad [revision 2675]
3353Author: Henrik Gramner <henrik@gramner.com>
3354AuthorDate: Mon Apr 11 16:59:46 2016 +0200
3355Commit: Henrik Gramner <henrik@gramner.com>
3356CommitDate: Mon Apr 11 16:59:46 2016 +0200
3357
3358 msvc: Add snprintf/vsnprintf replacements
3359
3360 MSVC pre-VS2015 has broken snprintf/vsnprintf implementations which are
3361 incompatible with C99 and may lead to buffer overflows.
3362
3363commit 5be32efc244d96aa56be462664b5c56d7318e86d [revision 2674]
3364Author: Henrik Gramner <henrik@gramner.com>
3365AuthorDate: Sun Jan 31 20:21:01 2016 +0100
3366Commit: Henrik Gramner <henrik@gramner.com>
3367CommitDate: Mon Apr 11 16:58:23 2016 +0200
3368
3369 configure: Define feature test macros for --std=gnu99
3370
3371 Makes the printf() family functions on MinGW use the correct C99 POSIX
3372 versions instead of the broken pre-VS2015 Microsoft ones.
3373
3374 Also allows us to get rid of some _GNU_SOURCE and _ISOC99_SOURCE defines.
3375
3376commit c01bf42117b811a0469f9f6c374f4a0daa98716d [revision 2673]
3377Author: Henrik Gramner <henrik@gramner.com>
3378AuthorDate: Thu Jan 28 18:37:37 2016 +0100
3379Commit: Henrik Gramner <henrik@gramner.com>
3380CommitDate: Mon Apr 11 16:58:23 2016 +0200
3381
3382 mingw: Enable high-entropy ASLR on 64-bit Windows
3383
3384 To fully utilize HEASLR the image base address must also be set above
3385 4 GiB. For consistency use the same address as MSVC uses by default.
3386
3387 This requires binutils 2.25 which isn't available on all common
3388 distributions, so only enable it after checking that it's supported.
3389
3390commit dd6b7b974e0057da726f71e10c24d057a339605b [revision 2672]
3391Author: Henrik Gramner <henrik@gramner.com>
3392AuthorDate: Sun Jan 24 01:48:18 2016 +0100
3393Commit: Henrik Gramner <henrik@gramner.com>
3394CommitDate: Mon Apr 11 16:58:22 2016 +0200
3395
3396 msvs: WinRT support
3397
3398 To compile x264 for WinRT the following additional steps has to be performed.
3399
3400 * Ensure that the necessary SDK is installed.
3401
3402 * Set the correct environment variables in the VS command prompt as shown at
3403 https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT
3404
3405 * Add one of the following to --extra-cflags depending on the target OS:
3406 "-DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -D_WIN32_WINNT=0x0A00" (Windows 10)
3407 "-DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -D_WIN32_WINNT=0x0603" (Windows 8.1)
3408
3409commit 7650a1367003e24f4f1b831682c012b5ba3e6c69 [revision 2671]
3410Author: Henrik Gramner <henrik@gramner.com>
3411AuthorDate: Sun Jan 24 23:58:40 2016 +0100
3412Commit: Henrik Gramner <henrik@gramner.com>
3413CommitDate: Mon Apr 11 16:58:22 2016 +0200
3414
3415 configure: Disable CLI libraries when CLI is disabled
3416
3417commit 1ce062abb47ac59621b402cb26a1f14c91bb52bc [revision 2670]
3418Author: Henrik Gramner <henrik@gramner.com>
3419AuthorDate: Fri Feb 5 18:46:13 2016 +0100
3420Commit: Henrik Gramner <henrik@gramner.com>
3421CommitDate: Mon Apr 11 16:58:22 2016 +0200
3422
3423 matroska: mk_close: Check fseek() return value
3424
3425commit de7af9185e172122cd9b800845e1988a52ad7cc3 [revision 2669]
3426Author: Henrik Gramner <henrik@gramner.com>
3427AuthorDate: Fri Feb 5 18:46:02 2016 +0100
3428Commit: Henrik Gramner <henrik@gramner.com>
3429CommitDate: Mon Apr 11 16:58:22 2016 +0200
3430
3431 parse_qpfile: Check ftell() and fseek() return values
3432
3433commit fd2c324731c2199e502ded9eff723d29c6eafe0b [revision 2668]
3434Author: Anton Mitrofanov <BugMaster@narod.ru>
3435AuthorDate: Sun Apr 10 20:13:59 2016 +0300
3436Commit: Henrik Gramner <henrik@gramner.com>
3437CommitDate: Mon Apr 11 16:58:22 2016 +0200
3438
3439 Use the correct default B-ref placement with B-pyramid
3440
3441 Cost analyse functions expects the placement of the B-ref in a sequence of
3442 an even number of B-frames to be located towards the beginning while the
3443 actual placement was towards the end.
3444
3445 Change the placement to be consistent with the analyse expectations, e.g.
3446 PbbBbP -> PbBbbP.
3447
3448commit e6a3f2989dd9eba3434c21fa94a6d9a5d1c7a9fe [revision 2667]
3449Author: Henrik Gramner <henrik@gramner.com>
3450AuthorDate: Fri Feb 5 18:45:47 2016 +0100
3451Commit: Henrik Gramner <henrik@gramner.com>
3452CommitDate: Fri Feb 5 18:48:13 2016 +0100
3453
3454 parse_zones: Fix memory leak
3455
3456commit f86756985d42ac4a14866534c588061ede860b7b [revision 2666]
3457Author: Alexey Samsonov <vonosmas@gmail.com>
3458AuthorDate: Mon Jan 25 16:05:25 2016 -0800
3459Commit: Henrik Gramner <henrik@gramner.com>
3460CommitDate: Fri Feb 5 18:48:13 2016 +0100
3461
3462 Fix float-cast-overflow in x264_ratecontrol_end function
3463
3464 According to the C standard, it is undefined behavior to cast a negative
3465 floating point number to an unsigned integer. Float-cast-overflow in
3466 general is known to produce different results on different architectures.
3467
3468 Building x264 code with Clang and -fsanitize=float-cast-overflow
3469 (http://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#availablle-checks)
3470 and running it on some real-life examples occasionally produces errors
3471 of the form:
3472
3473 encoder/ratecontrol.c:1892: runtime error: value -5011.14 is outside the
3474 range of representable values of type 'unsigned short'
3475
3476 Fix these errors by explicitly coding the de-facto x86 behavior: casting
3477 float to uint16_t through int16_t.
3478
3479commit a01e33913655f983df7a4d64b0a4178abb1eb618 [revision 2665]
3480Author: Sebastian Dröge <sebastian@centricular.com>
3481AuthorDate: Sun Dec 20 23:49:35 2015 +0300
3482Commit: Anton Mitrofanov <BugMaster@narod.ru>
3483CommitDate: Mon Jan 18 22:16:42 2016 +0300
3484
3485 Fix AVC-Intra padding for non-Annex B encoding
3486
3487commit 1e4a24f305c006a95fec00131703d0e0ecae3a38 [revision 2664]
3488Author: Anton Mitrofanov <BugMaster@narod.ru>
3489AuthorDate: Mon Jan 11 21:39:22 2016 +0300
3490Commit: Anton Mitrofanov <BugMaster@narod.ru>
3491CommitDate: Sun Jan 17 23:05:52 2016 +0300
3492
3493 ppc: Only perform AltiVec detection if compiled with AltiVec enabled
3494
3495commit b5953629117adc2b8d0d0eed6eb323c00587b428 [revision 2663]
3496Author: Anton Mitrofanov <BugMaster@narod.ru>
3497AuthorDate: Tue Oct 13 15:30:16 2015 +0300
3498Commit: Henrik Gramner <henrik@gramner.com>
3499CommitDate: Sun Jan 17 00:30:13 2016 +0100
3500
3501 2-pass: Take into account possible frame reordering
3502
3503commit 20821a26ec510979e49fcfd6becc6ad7e2d8b388 [revision 2662]
3504Author: Anton Mitrofanov <BugMaster@narod.ru>
3505AuthorDate: Tue Oct 13 12:54:05 2015 +0300
3506Commit: Henrik Gramner <henrik@gramner.com>
3507CommitDate: Sun Jan 17 00:30:13 2016 +0100
3508
3509 Revise the 2-pass algorithm
3510
3511commit 065321c48d0d371c1735b3cc9d368b43e1b64aaa [revision 2661]
3512Author: Anton Mitrofanov <BugMaster@narod.ru>
3513AuthorDate: Tue Jan 5 02:41:43 2016 +0300
3514Commit: Henrik Gramner <henrik@gramner.com>
3515CommitDate: Sun Jan 17 00:30:13 2016 +0100
3516
3517 Revise the row VBV algorithm (part 2)
3518
3519 Should fix rare cases of VBV emergency mode activation caused by too much trust
3520 to the row predictors.
3521
3522commit d23d18655249944c1ca894b451e2c82c7a584c62 [revision 2660]
3523Author: Henrik Gramner <henrik@gramner.com>
3524AuthorDate: Fri Jan 1 12:44:31 2016 +0100
3525Commit: Henrik Gramner <henrik@gramner.com>
3526CommitDate: Sun Jan 17 00:30:13 2016 +0100
3527
3528 Bump dates to 2016
3529
3530commit 3d972062c8a37d1a19586e2351e889b0a70beb40 [revision 2659]
3531Author: Henrik Gramner <henrik@gramner.com>
3532AuthorDate: Mon Oct 26 19:54:20 2015 +0100
3533Commit: Henrik Gramner <henrik@gramner.com>
3534CommitDate: Sun Jan 17 00:30:13 2016 +0100
3535
3536 cli: Use memory-mapped input frames for yuv and y4m
3537
3538 Improves performance by avoiding extraneous memory copying.
3539 Most beneficial on fast settings.
3540
3541 On average around 5-10% faster overall on ultrafast but the
3542 performance improvement can be even larger in some cases.
3543
3544commit 38a5268dbec56adea750e05c4981f3bbb176e735 [revision 2658]
3545Author: Henrik Gramner <henrik@gramner.com>
3546AuthorDate: Thu Jan 7 01:59:24 2016 +0100
3547Commit: Henrik Gramner <henrik@gramner.com>
3548CommitDate: Sun Jan 17 00:30:13 2016 +0100
3549
3550 y4m: Support extended frame headers when seeking
3551
3552 Use the actual length of the frame header of the first frame instead of
3553 assuming a header without extensions when calculating the frame size.
3554
3555 Also makes the frame counter more accurate with extended frame headers.
3556
3557commit cc652c158c1fa65bfeafb6446b5be855850065d0 [revision 2657]
3558Author: Henrik Gramner <henrik@gramner.com>
3559AuthorDate: Tue Nov 3 17:55:08 2015 +0100
3560Commit: Henrik Gramner <henrik@gramner.com>
3561CommitDate: Sun Jan 17 00:30:13 2016 +0100
3562
3563 configure: Simplify cygwin/mingw/msys code
3564
3565 Avoids some code duplication.
3566
3567 Also drop the -mno-cygwin check since that option was removed back in 2008.
3568
3569commit 8b2d2a6d51abf51ad38dd8705d280448fbe63aaf [revision 2656]
3570Author: Henrik Gramner <henrik@gramner.com>
3571AuthorDate: Mon Oct 26 18:52:46 2015 +0100
3572Commit: Henrik Gramner <henrik@gramner.com>
3573CommitDate: Sun Jan 17 00:30:13 2016 +0100
3574
3575 y4m: Avoid some redundant strlen() calls
3576
3577commit 24f7705f15cf6d59028a76a894d866b9fad85f39 [revision 2655]
3578Author: Henrik Gramner <henrik@gramner.com>
3579AuthorDate: Sun Oct 25 17:15:10 2015 +0100
3580Commit: Henrik Gramner <henrik@gramner.com>
3581CommitDate: Sun Jan 17 00:30:13 2016 +0100
3582
3583 Simplify threadpool_wait
3584
3585commit 30ba5dc22fd0ae359e144847f2636574f659627d [revision 2654]
3586Author: Henrik Gramner <henrik@gramner.com>
3587AuthorDate: Fri Oct 16 19:05:34 2015 +0200
3588Commit: Henrik Gramner <henrik@gramner.com>
3589CommitDate: Sun Jan 17 00:30:13 2016 +0100
3590
3591 windows: Use native threads by default
3592
3593 --disable-win32thread can be passed as an argument to configure to compile
3594 with pthreads, which was the old default behavior.
3595
3596commit 1637239a64f3ec9a491b91202bd37097f15a253d [revision 2653]
3597Author: Henrik Gramner <henrik@gramner.com>
3598AuthorDate: Sun Oct 11 22:32:11 2015 +0200
3599Commit: Henrik Gramner <henrik@gramner.com>
3600CommitDate: Sun Jan 17 00:30:12 2016 +0100
3601
3602 x86: Avoid some bypass delays and false dependencies
3603
3604 A bypass delay of 1-3 clock cycles may occur on some CPUs when transitioning
3605 between int and float domains, so try to avoid that if possible.
3606
3607commit 7688814a7ec994f8e5984d199b465ccc068b98af [revision 2652]
3608Author: Henrik Gramner <henrik@gramner.com>
3609AuthorDate: Sun Oct 11 22:32:03 2015 +0200
3610Commit: Henrik Gramner <henrik@gramner.com>
3611CommitDate: Sun Jan 17 00:30:12 2016 +0100
3612
3613 x86: Enable high bit-depth x264_coeff_last64_avx2_lzcnt
3614
3615 The function existed but was never enabled.
3616
3617commit 366fa85885053c7b836a4272a4fbec1852103979 [revision 2651]
3618Author: Geza Lore <gezalore@gmail.com>
3619AuthorDate: Mon Oct 12 13:13:42 2015 +0100
3620Commit: Henrik Gramner <henrik@gramner.com>
3621CommitDate: Sun Jan 17 00:30:12 2016 +0100
3622
3623 x86inc: Add debug symbols indicating sizes of compiled functions
3624
3625 Some debuggers/profilers use this metadata to determine which function a
3626 given instruction is in; without it they get can confused by local labels
3627 (if you haven't stripped those). On the other hand, some tools are still
3628 confused even with this metadata. e.g. this fixes `gdb`, but not `perf`.
3629
3630 Currently only implemented for ELF.
3631
3632commit 70c3ba42e610b4182edda4fdeb10b37a2a70eb8f [revision 2650]
3633Author: Henrik Gramner <henrik@gramner.com>
3634AuthorDate: Fri Oct 16 21:28:49 2015 +0200
3635Commit: Henrik Gramner <henrik@gramner.com>
3636CommitDate: Sun Jan 17 00:30:12 2016 +0100
3637
3638 x86inc: Avoid creating unnecessary local labels
3639
3640 The REP_RET workaround is only needed on old AMD cpus, and the labels clutter
3641 up the symbol table and confuse debugging/profiling tools, so use EQU to
3642 create SHN_ABS symbols instead of creating local labels. Furthermore, skip
3643 the workaround completely in functions that definitely won't run on such cpus.
3644
3645 This patch doesn't modify any emitted instructions, and doesn't actually affect
3646 x264 at all. It's only for other projects that use x86inc.asm without an
3647 appropriate `strip` command in their buildsystem.
3648
3649 Note that EQU is just creating a local label when using nasm instead of yasm.
3650 This is probably a bug, but at least it doesn't break anything.
3651
3652commit 5c3d473a966e4b013759097fb98cd4a9cb5a34f5 [revision 2649]
3653Author: Henrik Gramner <henrik@gramner.com>
3654AuthorDate: Thu Oct 15 17:42:49 2015 +0200
3655Commit: Henrik Gramner <henrik@gramner.com>
3656CommitDate: Sun Jan 17 00:30:12 2016 +0100
3657
3658 x86inc: Simplify AUTO_REP_RET
3659
3660 cpuflags is never undefined any more, it's set to 0 instead.
3661
3662 Also fix an incorrect comment.
3663
3664commit 28d68f090c0103704f5f6a86fcf362251774cd78 [revision 2648]
3665Author: Henrik Gramner <henrik@gramner.com>
3666AuthorDate: Mon Oct 12 21:55:11 2015 +0200
3667Commit: Henrik Gramner <henrik@gramner.com>
3668CommitDate: Sun Jan 17 00:30:12 2016 +0100
3669
3670 x86inc: Use more consistent indentation
3671
3672commit 963b99efaaf1f0628b155e52b8a7c102cd1d37ff [revision 2647]
3673Author: Henrik Gramner <henrik@gramner.com>
3674AuthorDate: Mon Oct 12 20:15:18 2015 +0200
3675Commit: Henrik Gramner <henrik@gramner.com>
3676CommitDate: Sun Jan 17 00:30:12 2016 +0100
3677
3678 x86inc: Preserve arguments when allocating stack space
3679
3680 When allocating stack space with a larger alignment than the known stack
3681 alignment a temporary register is used for storing the stack pointer.
3682 Ensure that this isn't one of the registers used for passing arguments.
3683
3684commit 6e5033417a53fa66d002665618a1350d7417725e [revision 2646]
3685Author: Henrik Gramner <henrik@gramner.com>
3686AuthorDate: Sun Jan 17 00:25:47 2016 +0100
3687Commit: Henrik Gramner <henrik@gramner.com>
3688CommitDate: Sun Jan 17 00:25:47 2016 +0100
3689
3690 x86inc: Improve FMA instruction handling
3691
3692 * Correctly handle FMA instructions with memory operands.
3693 * Print a warning if FMA instructions are used without the correct cpuflag.
3694 * Simplify the instantiation code.
3695 * Clarify documentation.
3696
3697 Only the last operand in FMA3 instructions can be a memory operand. When
3698 converting FMA4 instructions to FMA3 instructions we can utilize the fact
3699 that multiply is a commutative operation and reorder operands if necessary
3700 to ensure that a memory operand is used only as the last operand.
3701
3702commit 93cba743c78959ad97812dbaf894903c608912d0 [revision 2645]
3703Author: Henrik Gramner <henrik@gramner.com>
3704AuthorDate: Sun Oct 11 22:31:53 2015 +0200
3705Commit: Henrik Gramner <henrik@gramner.com>
3706CommitDate: Sun Jan 3 17:15:47 2016 +0100
3707
3708 x86inc: Be more verbose in assertion failures
3709
3710commit 8017b33454397d59b3285ec6d2ad35b6d0deb58a [revision 2644]
3711Author: Henrik Gramner <henrik@gramner.com>
3712AuthorDate: Wed Sep 30 23:17:00 2015 +0200
3713Commit: Henrik Gramner <henrik@gramner.com>
3714CommitDate: Sun Jan 3 17:15:47 2016 +0100
3715
3716 x86inc: Make cpuflag() and notcpuflag() return 0 or 1
3717
3718 Makes it possible to use them in arithmetic expressions.
3719
3720commit 5c6570495f8f1c716b294aee1430d8766a4beb9c [revision 2643]
3721Author: Henrik Gramner <henrik@gramner.com>
3722AuthorDate: Fri Oct 30 16:55:49 2015 +0100
3723Commit: Henrik Gramner <henrik@gramner.com>
3724CommitDate: Sun Jan 3 17:15:47 2016 +0100
3725
3726 encoder_open: Fix memory leak
3727
3728 Furthermore, the x264_analyse_prepare_costs() and x264_analyse_init_costs()
3729 functions were only used in x264_encoder_open(), so move that entire section
3730 of code to analyse.c as well to simplify things.
3731
3732commit 424534537a249dcf913e02560303f6afca423489 [revision 2642]
3733Author: Janne Grunau <janne-x264@jannau.net>
3734AuthorDate: Wed Nov 18 11:08:22 2015 +0100
3735Commit: Henrik Gramner <henrik@gramner.com>
3736CommitDate: Sun Dec 20 18:40:11 2015 +0100
3737
3738 arm: do not fill mc_weight*_neon tabs for HIGH_BIT_DEPTH
3739
3740 The asm is only for 8-bit and function prototypes reflect that. Avoids
3741 numerous warnings with --bit-depth=9/10.
3742
3743commit df51d8efa8ce9afcedda64acc69c1dba2648716d [revision 2641]
3744Author: Janne Grunau <janne-x264@jannau.net>
3745AuthorDate: Tue Oct 13 23:50:11 2015 +0200
3746Commit: Henrik Gramner <henrik@gramner.com>
3747CommitDate: Sun Dec 20 18:38:40 2015 +0100
3748
3749 arm: Eliminate text relocations in asm
3750
3751 Android 6 does not link shared libraries with text relocations.
3752
3753 Make the movrel macro position independent and add movrelx for indirect
3754 loads of external symbols.
3755
3756 Move the function pointer table for the aligned memcpy variants to the
3757 data.rel.ro section on Linux/Android.
3758
3759commit a2fe237af1b68f2bd53d64ed3faed62429d3ee5a [revision 2640]
3760Author: Martin Storsjö <martin@martin.st>
3761AuthorDate: Thu Oct 15 11:50:33 2015 +0300
3762Commit: Henrik Gramner <henrik@gramner.com>
3763CommitDate: Sat Oct 17 14:07:44 2015 +0200
3764
3765 arm: Don't assume alignment in mbtree_propagate_list_internal where it isn't provided
3766
3767commit 9f422c0cd9c0abcd6a7abb10b51f8be883c39b2b [revision 2639]
3768Author: Janne Grunau <janne-x264@jannau.net>
3769AuthorDate: Tue Oct 13 23:50:12 2015 +0200
3770Commit: Henrik Gramner <henrik@gramner.com>
3771CommitDate: Sat Oct 17 14:07:44 2015 +0200
3772
3773 arm: Fix checkasm register clobber check on iOS
3774
3775 r9 is a volatile register in the iOS ABI and will therefore not be
3776 preserved by compiled functions like the luma motion compensation.
3777
3778 Add the symbol prefix to the puts() call and use blx since a switch
3779 between arm and thumb mode might be required.
3780
3781commit 75992107adcc8317ba2888e3957a7d56f16b5cd4 [revision 2638]
3782Author: Anton Mitrofanov <BugMaster@narod.ru>
3783AuthorDate: Thu Oct 1 01:02:16 2015 +0300
3784Commit: Henrik Gramner <henrik@gramner.com>
3785CommitDate: Sun Oct 11 18:44:54 2015 +0200
3786
3787 ppc: Add detection of AltiVec support for FreeBSD
3788
3789 Patch from FreeBSD ports.
3790
3791commit 479d0c1fe73833ba65e0a10f6f5cf18df6def719 [revision 2637]
3792Author: Anton Mitrofanov <BugMaster@narod.ru>
3793AuthorDate: Mon Sep 28 21:07:55 2015 +0300
3794Commit: Henrik Gramner <henrik@gramner.com>
3795CommitDate: Sun Oct 11 18:44:54 2015 +0200
3796
3797 Don't assume 16-byte stack alignment by default on x86-32
3798
3799 Some compilers depending on target OS uses 4-byte stack alignment by default.
3800 Explicitly check known good compilers and specific options for stack alignment.
3801
3802commit fad44d59b3adeb29b9c92fde0b80116cde79020e [revision 2636]
3803Author: Anton Mitrofanov <BugMaster@narod.ru>
3804AuthorDate: Tue Sep 22 21:33:07 2015 +0300
3805Commit: Henrik Gramner <henrik@gramner.com>
3806CommitDate: Sun Oct 11 18:44:54 2015 +0200
3807
3808 Fix a few static analyzer performance hints
3809
3810commit de24c8c189364013e62d58d1e8f2fef878eb62bf [revision 2635]
3811Author: Anton Mitrofanov <BugMaster@narod.ru>
3812AuthorDate: Tue Sep 22 20:19:23 2015 +0300
3813Commit: Henrik Gramner <henrik@gramner.com>
3814CommitDate: Sun Oct 11 18:44:54 2015 +0200
3815
3816 Revise the row VBV algorithm
3817
3818commit 001d30598c75d9bbc3aa80f67f9bdac17692437d [revision 2634]
3819Author: Anton Mitrofanov <BugMaster@narod.ru>
3820AuthorDate: Tue Sep 22 19:26:25 2015 +0300
3821Commit: Henrik Gramner <henrik@gramner.com>
3822CommitDate: Sun Oct 11 18:44:54 2015 +0200
3823
3824 Fix high bit depth lookahead cost compensation algorithm
3825
3826 Now high bit depth VBV should act more like 8-bit depth one.
3827
3828commit 91368390db9179226b5b4ed718a5788b754f9302 [revision 2633]
3829Author: Anton Mitrofanov <BugMaster@narod.ru>
3830AuthorDate: Tue Sep 22 19:05:52 2015 +0300
3831Commit: Henrik Gramner <henrik@gramner.com>
3832CommitDate: Sun Oct 11 18:44:54 2015 +0200
3833
3834 Correctly update the intra row predictor in B-frames
3835
3836 It was previously used but never updated from it's initialization value.
3837
3838commit e0d722f85f8599e324be2bebef9430155b25c329 [revision 2632]
3839Author: Anton Mitrofanov <BugMaster@narod.ru>
3840AuthorDate: Tue Sep 22 18:58:24 2015 +0300
3841Commit: Henrik Gramner <henrik@gramner.com>
3842CommitDate: Sun Oct 11 18:44:54 2015 +0200
3843
3844 Change the predictors update algorithm
3845
3846 Keep predictor offsets more stable. This should fix VBV misprediction in frames
3847 with a large difference in complexity between the top and bottom parts.
3848
3849commit 6f04b146875c45e6f7845a7bb5fb7fdf8e7534f1 [revision 2631]
3850Author: Martin Storsjö <martin@martin.st>
3851AuthorDate: Thu Sep 3 09:30:44 2015 +0300
3852Commit: Henrik Gramner <henrik@gramner.com>
3853CommitDate: Sun Oct 11 18:44:54 2015 +0200
3854
3855 arm: Implement x264_mbtree_propagate_{cost, list}_neon
3856
3857 The cost function could be simplified to avoid having to clobber
3858 q4/q5, but this requires reordering instructions which increase
3859 the total runtime.
3860
3861 checkasm timing Cortex-A7 A8 A9
3862 mbtree_propagate_cost_c 63702 155835 62829
3863 mbtree_propagate_cost_neon 17199 10454 11106
3864
3865 mbtree_propagate_list_c 104203 108949 84532
3866 mbtree_propagate_list_neon 82035 78348 60410
3867
3868commit 3e25eab0b7172e3c0b067b8b6d641ce148d03db9 [revision 2630]
3869Author: Martin Storsjö <martin@martin.st>
3870AuthorDate: Thu Sep 3 09:30:43 2015 +0300
3871Commit: Henrik Gramner <henrik@gramner.com>
3872CommitDate: Sun Oct 11 18:44:54 2015 +0200
3873
3874 x86: Share the mbtree_propagate_list macro with aarch64
3875
3876 This avoids having to duplicate the same code for all architectures
3877 that implement only the internal part of this function in assembler.
3878
3879commit 654901dfca73a21e2bb2366dda79eb413e9bfb66 [revision 2629]
3880Author: Martin Storsjö <martin@martin.st>
3881AuthorDate: Wed Sep 2 22:39:51 2015 +0300
3882Commit: Henrik Gramner <henrik@gramner.com>
3883CommitDate: Sun Oct 11 18:44:54 2015 +0200
3884
3885 arm: Implement luma intra deblocking
3886
3887 checkasm timing Cortex-A7 A8 A9
3888 deblock_luma_intra[0]_c 5988 4653 4316
3889 deblock_luma_intra[0]_neon 3103 2170 2128
3890 deblock_luma_intra[1]_c 7119 5905 5347
3891 deblock_luma_intra[1]_neon 2068 1381 1412
3892
3893 This includes extra optimizations by Janne Grunau.
3894
3895 Timings from a separate build, on Exynos 5422:
3896
3897 Cortex-A7 A15
3898 deblock_luma_intra[0]_c 6627 3300
3899 deblock_luma_intra[0]_neon 3059 1128
3900 deblock_luma_intra[1]_c 7314 4128
3901 deblock_luma_intra[1]_neon 2038 720
3902
3903commit e2696a60a3e58d92e88e149b63c0b06a066eea9e [revision 2628]
3904Author: Martin Storsjö <martin@martin.st>
3905AuthorDate: Mon Aug 31 22:40:31 2015 +0300
3906Commit: Henrik Gramner <henrik@gramner.com>
3907CommitDate: Sun Oct 11 18:44:54 2015 +0200
3908
3909 arm: Implement some neon 8x16c intra predict functions
3910
3911 checkasm timing Cortex-A7 A8 A9
3912 intra_predict_8x16c_dct_c 862 540 590
3913 intra_predict_8x16c_dct_neon 608 511 657
3914 intra_predict_8x16c_h_c 972 707 719
3915 intra_predict_8x16c_h_neon 722 656 672
3916 intra_predict_8x16c_p_c 10183 9819 8655
3917 intra_predict_8x16c_p_neon 2622 1972 1983
3918
3919commit 5db8b6b93aa91079ab785b9b49413625430536fd [revision 2627]
3920Author: Martin Storsjö <martin@martin.st>
3921AuthorDate: Fri Aug 28 00:15:01 2015 +0300
3922Commit: Henrik Gramner <henrik@gramner.com>
3923CommitDate: Sun Oct 11 18:44:54 2015 +0200
3924
3925 arm: Implement x264_plane_copy_neon
3926
3927 checkasm timing Cortex-A7 A8 A9
3928 plane_copy_c 13124 10925 9106
3929 plane_copy_neon 7349 5103 8945
3930
3931commit 35d32d09e163bb0f2ce60a8e13f9f22125445346 [revision 2626]
3932Author: Martin Storsjö <martin@martin.st>
3933AuthorDate: Fri Aug 28 09:40:24 2015 +0300
3934Commit: Henrik Gramner <henrik@gramner.com>
3935CommitDate: Sun Oct 11 18:44:54 2015 +0200
3936
3937 checkasm: arm: Check register clobbering
3938
3939 Cast the function pointer to a different type signature, to
3940 be able to use uint64_t as return type (instead of intptr_t) for
3941 those calls that require it.
3942
3943 Use two separate functions, depending on whether neon is available.
3944
3945commit 9cbdb635a4bd78e6767e735a062c0d9a5766b849 [revision 2625]
3946Author: Martin Storsjö <martin@martin.st>
3947AuthorDate: Fri Aug 14 00:00:57 2015 +0300
3948Commit: Henrik Gramner <henrik@gramner.com>
3949CommitDate: Sun Oct 11 18:44:54 2015 +0200
3950
3951 checkasm: Try different widths for ssd_nv12
3952
3953 To test all codepaths in the aarch64 neon implementation, one at
3954 the very least needs to test with width 8, 16, 24 and 32.
3955
3956commit 39af8c72e618a544baa06ae427fb2b440861abcd [revision 2624]
3957Author: Jerome Duval <jerome.duval@gmail.com>
3958AuthorDate: Fri Jun 13 19:56:27 2014 +0000
3959Commit: Henrik Gramner <henrik@gramner.com>
3960CommitDate: Sun Oct 11 18:44:54 2015 +0200
3961
3962 Haiku support
3963
3964 Add Haiku as supported platform in configure.
3965 Haiku has no nice() function, use the platform specific substitute instead.
3966
3967commit 59683a97b50b34c6282457a959bb6b3e9e7f8c0d [revision 2623]
3968Author: Martin Storsjö <martin@martin.st>
3969AuthorDate: Tue Aug 25 14:38:20 2015 +0300
3970Commit: Henrik Gramner <henrik@gramner.com>
3971CommitDate: Sun Oct 11 18:44:54 2015 +0200
3972
3973 checkasm: aarch64: Check register clobbering
3974
3975 Disable this on iOS, since it has got a slightly different ABI
3976 for vararg parameters.
3977
3978commit 5c13589be828b524100c787057d6bef77898c657 [revision 2622]
3979Author: Martin Storsjö <martin@martin.st>
3980AuthorDate: Tue Aug 25 23:36:45 2015 +0300
3981Commit: Henrik Gramner <henrik@gramner.com>
3982CommitDate: Sun Oct 11 18:44:54 2015 +0200
3983
3984 arm: Implement x284_decimate_score15/16/64_neon
3985
3986 checkasm timing Cortex-A7 A8 A9
3987 decimate_score15_c 764 736 535
3988 decimate_score15_neon 487 494 453
3989 decimate_score16_c 782 727 553
3990 decimate_score16_neon 487 494 521
3991 decimate_score64_c 2361 2597 2011
3992 decimate_score64_neon 1017 802 785
3993
3994commit 3902ae02a0edede5d6c44cb3ee9e24e618c66e6a [revision 2621]
3995Author: Martin Storsjö <martin@martin.st>
3996AuthorDate: Tue Aug 25 23:36:44 2015 +0300
3997Commit: Henrik Gramner <henrik@gramner.com>
3998CommitDate: Sun Oct 11 18:44:54 2015 +0200
3999
4000 arm: Implement chroma intra deblock
4001
4002 checkasm timing Cortex-A7 A8 A9
4003 deblock_chroma_420_intra_mbaff_c 1469 1276 1181
4004 deblock_chroma_420_intra_mbaff_neon 981 717 644
4005 deblock_chroma_intra[1]_c 2954 2402 2321
4006 deblock_chroma_intra[1]_neon 947 581 575
4007 deblock_h_chroma_420_intra_c 2859 2509 2264
4008 deblock_h_chroma_420_intra_neon 1480 1119 1028
4009 deblock_h_chroma_422_intra_c 6211 5030 4792
4010 deblock_h_chroma_422_intra_neon 2894 1990 2077
4011
4012commit e8b95e92792d9353277995043757430cf3dc3bf7 [revision 2620]
4013Author: Martin Storsjö <martin@martin.st>
4014AuthorDate: Tue Aug 25 14:38:17 2015 +0300
4015Commit: Henrik Gramner <henrik@gramner.com>
4016CommitDate: Sun Oct 11 18:44:54 2015 +0200
4017
4018 arm: Implement x264_pixel_sa8d_satd_16x16_neon
4019
4020 This requires spilling some registers to the stack,
4021 contray to the aarch64 version.
4022
4023 checkasm timing Cortex-A7 A8 A9
4024 sa8d_satd_16x16_neon 12936 6365 7492
4025 sa8d_satd_16x16_separate_neon 14841 6605 8324
4026
4027commit 6bbaa2758d53d0d6d645142d7d818c960d137a0e [revision 2619]
4028Author: Martin Storsjö <martin@martin.st>
4029AuthorDate: Tue Aug 25 14:38:16 2015 +0300
4030Commit: Henrik Gramner <henrik@gramner.com>
4031CommitDate: Sun Oct 11 18:44:54 2015 +0200
4032
4033 arm: Implement x264_deblock_h_chroma_mbaff_neon
4034
4035 checkasm timing Cortex-A7 A8 A9
4036 deblock_chroma_420_mbaff_c 1944 1706 1526
4037 deblock_chroma_420_mbaff_neon 1210 873 865
4038
4039commit 3c66591e859045ef79a7131b991a5f20c80ffbb4 [revision 2618]
4040Author: Martin Storsjö <martin@martin.st>
4041AuthorDate: Tue Aug 25 14:38:15 2015 +0300
4042Commit: Henrik Gramner <henrik@gramner.com>
4043CommitDate: Sun Oct 11 18:44:54 2015 +0200
4044
4045 arm: Implement x264_deblock_h_chroma_422_neon
4046
4047 checkasm timing Cortex-A7 A8 A9
4048 deblock_h_chroma_422_c 6953 6269 5145
4049 deblock_h_chroma_422_neon 3905 2569 2551
4050
4051commit 5265b927b0f2e043dd39cbbbf3909da0862d60e6 [revision 2617]
4052Author: Martin Storsjö <martin@martin.st>
4053AuthorDate: Tue Aug 25 14:38:14 2015 +0300
4054Commit: Henrik Gramner <henrik@gramner.com>
4055CommitDate: Sun Oct 11 18:44:54 2015 +0200
4056
4057 arm: Implement integral_init4/8h/v_neon
4058
4059 checkasm timing Cortex-A7 A8 A9
4060 integral_init4h_c 10466 8590 6161
4061 integral_init4h_neon 3021 1494 1800
4062 integral_init4v_c 16250 13590 13628
4063 integral_init4v_neon 3473 2073 3291
4064 integral_init8h_c 10100 8275 5705
4065 integral_init8h_neon 4403 2344 2751
4066 integral_init8v_c 6403 4632 4999
4067 integral_init8v_neon 1184 783 1306
4068
4069commit b08403b5593307b919bfe5bfbd743da825326a4c [revision 2616]
4070Author: Martin Storsjö <martin@martin.st>
4071AuthorDate: Tue Aug 25 14:38:13 2015 +0300
4072Commit: Henrik Gramner <henrik@gramner.com>
4073CommitDate: Sun Oct 11 18:44:54 2015 +0200
4074
4075 arm: Implement x264_denoise_dct_neon
4076
4077 checkasm timing Cortex-A7 A8 A9
4078 denoise_dct_c 6604 5510 5858
4079 denoise_dct_neon 1774 1139 1614
4080
4081commit ceee976bde76a5f4126bfd9d8454f0e601e67204 [revision 2615]
4082Author: Martin Storsjö <martin@martin.st>
4083AuthorDate: Tue Aug 25 14:38:12 2015 +0300
4084Commit: Henrik Gramner <henrik@gramner.com>
4085CommitDate: Sun Oct 11 18:44:54 2015 +0200
4086
4087 arm: Add x264_nal_escape_neon
4088
4089 checkasm timing Cortex-A7 A8 A9
4090 nal_escape_c 852758 879566 655497
4091 nal_escape_neon 376831 450678 371673
4092
4093commit 8feb733ed1dcb1cc94df3b0e6c98009832ea85cc [revision 2614]
4094Author: Martin Storsjö <martin@martin.st>
4095AuthorDate: Tue Aug 25 14:38:11 2015 +0300
4096Commit: Henrik Gramner <henrik@gramner.com>
4097CommitDate: Sun Oct 11 18:44:54 2015 +0200
4098
4099 arm: Add neon versions of vsad, asd8 and ssd_nv12_core
4100
4101 These are straight translations of the aarch64 versions.
4102
4103 checkasm timing Cortex-A7 A8 A9
4104 vsad_c 16234 10984 9850
4105 vsad_neon 2132 1020 789
4106
4107 asd8_c 5859 3561 3543
4108 asd8_neon 1407 1279 1250
4109
4110 ssd_nv12_c 608096 591072 426285
4111 ssd_nv12_neon 72752 33549 41347
4112
4113commit 42b3b398664349d23b2122ac940417165424542d [revision 2613]
4114Author: Martin Storsjö <martin@martin.st>
4115AuthorDate: Tue Aug 25 14:38:10 2015 +0300
4116Commit: Henrik Gramner <henrik@gramner.com>
4117CommitDate: Sun Oct 11 18:44:54 2015 +0200
4118
4119 checkasm: Check the right output range for integral_initXh
4120
4121 These functions write their output into sum+stride, while we previously
4122 only checked [0..stride-8] within the sum array.
4123
4124 This catches the previously broken aarch64 version of these functions.
4125
4126 Also check up until stride-4 elements for init4h.
4127
4128commit 3d86abab097fa26d116112f188458269c6a0415f [revision 2612]
4129Author: Janne Grunau <janne-x264@jannau.net>
4130AuthorDate: Thu Aug 20 13:55:54 2015 +0200
4131Commit: Henrik Gramner <henrik@gramner.com>
4132CommitDate: Sun Oct 11 18:44:54 2015 +0200
4133
4134 aarch64: Skip deblocking in 264_deblock_h_chroma_422_neon
4135
4136 If the parameters (alpha, beta, tc0[]) indicated that the deblocking
4137 should have been skipped, every 2nd chrome line would have deblocked
4138 anyway.
4139
4140 deblock_h_chroma_422_neon: 2259 (before)
4141 deblock_h_chroma_422_neon: 2192 (after)
4142
4143commit aec81efd3fe43008551916aa6073eb0732a58210 [revision 2611]
4144Author: Janne Grunau <janne-x264@jannau.net>
4145AuthorDate: Mon Aug 17 16:39:20 2015 +0200
4146Commit: Henrik Gramner <henrik@gramner.com>
4147CommitDate: Sun Oct 11 18:44:54 2015 +0200
4148
4149 aarch64: Optimize various intra_predict asm functions
4150
4151 Make them at least as fast as the compiled C version (tested on
4152 cortex-a53 vs. gcc 4.9.2).
4153
4154 C NEON (before) NEON (after)
4155 intra_predict_4x4_dc: 260 335 260
4156 intra_predict_4x4_dct: 210 265 200
4157 intra_predict_8x8c_dc: 497 548 493
4158 intra_predict_8x8c_v: 232 309 179 (arm64)
4159 intra_predict_8x16c_dc: 795 830 790
4160
4161commit b16268ac0826d78455d0d704ea0fc8b1edc6b6bf [revision 2610]
4162Author: Janne Grunau <janne-x264@jannau.net>
4163AuthorDate: Tue Aug 18 10:25:10 2015 +0200
4164Commit: Henrik Gramner <henrik@gramner.com>
4165CommitDate: Sun Oct 11 18:44:54 2015 +0200
4166
4167 aarch64: Faster intra_predict_4x4_h
4168
4169 Use multiplication with 0x01010101 for splats.
4170
4171 On a cortex-a53:
4172 gcc 4.9.2 llvm 3.6 neon (before) neon (after)
4173 intra_predict_4x4_h: 162 147 160/155 139/135
4174
4175commit f2a6be92e5e42e8ef1daf74f63dbdbc4819d2070 [revision 2609]
4176Author: Janne Grunau <janne-x264@jannau.net>
4177AuthorDate: Tue Aug 18 10:25:09 2015 +0200
4178Commit: Henrik Gramner <henrik@gramner.com>
4179CommitDate: Sun Oct 11 18:44:54 2015 +0200
4180
4181 aarch64: Fix coeff_level_run* macros with LLVM's assembler
4182
4183 LLVM's integrated assembler does not treat symbols as integer constants.
4184
4185commit 592e92e9a8e47c3f0d0017c8158df5a4830e0bbd [revision 2608]
4186Author: Janne Grunau <janne-x264@jannau.net>
4187AuthorDate: Tue Aug 18 10:25:08 2015 +0200
4188Commit: Henrik Gramner <henrik@gramner.com>
4189CommitDate: Sun Oct 11 18:44:54 2015 +0200
4190
4191 aarch64: Remove commas LLVM's assembler complains about
4192
4193commit 6efb57ada652fd015ec4cacffd09282632bb975b [revision 2607]
4194Author: Martin Storsjö <martin@martin.st>
4195AuthorDate: Thu Aug 13 23:59:31 2015 +0300
4196Commit: Henrik Gramner <henrik@gramner.com>
4197CommitDate: Sun Oct 11 18:44:54 2015 +0200
4198
4199 arm: Implement x264_sub8x16_dct_dc_neon
4200
4201 checkasm timing Cortex-A7 A8 A9
4202 sub8x16_dct_dc_c 6386 3901 4080
4203 sub8x16_dct_dc_neon 1491 698 917
4204
4205commit 89439b2c604c81e13eb3da9e692d2cdae5a18b53 [revision 2606]
4206Author: Martin Storsjö <martin@martin.st>
4207AuthorDate: Thu Aug 13 23:59:28 2015 +0300
4208Commit: Henrik Gramner <henrik@gramner.com>
4209CommitDate: Sun Oct 11 18:44:54 2015 +0200
4210
4211 arm: Optimize x264_deblock_h_chroma_neon
4212
4213 Shuffle both chroma components together as a 16 bit unit, and
4214 don't write the unchanged columns (like in x264_deblock_h_luma_neon
4215 and in the aarch64 version of the function).
4216
4217 This causes a minor slowdown for x264_deblock_v_chroma_neon, but
4218 it is negligible compared to the speedup.
4219
4220 checkasm timing Cortex-A7 A8 A9
4221 deblock_chroma[1]_c 4817 4057 3601
4222 deblock_chroma[1]_neon 1249 716 817 (before)
4223 deblock_chroma[1]_neon 1249 766 845 (after)
4224
4225 deblock_h_chroma_420_c 3699 3275 2830
4226 deblock_h_chroma_420_neon 2068 1414 1400 (before)
4227 deblock_h_chroma_420_neon 1838 1355 1291 (after)
4228
4229commit ff71457d71c5c11ed825d848677cab09c7639012 [revision 2605]
4230Author: Martin Storsjö <martin@martin.st>
4231AuthorDate: Thu Aug 13 23:59:27 2015 +0300
4232Commit: Henrik Gramner <henrik@gramner.com>
4233CommitDate: Sun Oct 11 18:44:53 2015 +0200
4234
4235 aarch64: Remove leftover commented out code
4236
4237commit ef6034812162fc8b51bfd5e87387f405d1cc30cb [revision 2604]
4238Author: Martin Storsjö <martin@martin.st>
4239AuthorDate: Thu Aug 13 23:59:26 2015 +0300
4240Commit: Henrik Gramner <henrik@gramner.com>
4241CommitDate: Sun Oct 11 18:44:53 2015 +0200
4242
4243 aarch64: Simplify the decimate_score functions
4244
4245 After doing a left shift by the number of bits returned by clz,
4246 only bits set to zero can be shifted out, so if the register
4247 was nonzero to start with (which is checked), it can't become
4248 zero here.
4249
4250commit d2b04a26b26d02c41ffb05cf1a605dafe9e6fa59 [revision 2603]
4251Author: Martin Storsjö <martin@martin.st>
4252AuthorDate: Thu Aug 13 23:59:25 2015 +0300
4253Commit: Henrik Gramner <henrik@gramner.com>
4254CommitDate: Sun Oct 11 18:44:53 2015 +0200
4255
4256 arm: Use aligned loads in x264_coeff_last15_neon
4257
4258 After subtracting 2, the pointer will be aligned.
4259
4260 checkasm timing Cortex-A7 A8 A9
4261 coeff_last15_c 423 375 230
4262 coeff_last15_neon 350 420 404 (before)
4263 coeff_last15_neon 350 400 394 (after)
4264
4265commit 3f89a6bbee061cb0361770cf5b8495448515a011 [revision 2602]
4266Author: Martin Storsjö <martin@martin.st>
4267AuthorDate: Thu Aug 13 23:59:24 2015 +0300
4268Commit: Henrik Gramner <henrik@gramner.com>
4269CommitDate: Sun Oct 11 18:44:53 2015 +0200
4270
4271 arm: Simplify x264_predict_8x8c_p_neon
4272
4273 This gets rid of a few unnecessary (and confusing) steps in
4274 calculating the increment to i00.
4275
4276 checkasm timing Cortex-A7 A8 A9
4277 intra_predict_8x8c_p_c 5525 4732 4755
4278 intra_predict_8x8c_p_neon 1719 1140 1262 (before)
4279 intra_predict_8x8c_p_neon 1663 1142 1255 (after)
4280
4281commit a0cd7d38acb6c31973228ab207e18344920e0aa3 [revision 2601]
4282Author: Vittorio Giovara <vittorio.giovara@gmail.com>
4283AuthorDate: Tue Sep 15 15:40:14 2015 +0200
4284Commit: Henrik Gramner <henrik@gramner.com>
4285CommitDate: Sun Oct 11 18:44:53 2015 +0200
4286
4287 lavf: Use the prefixed name for pixel format enum
4288
4289commit 63555e696a997ff795798d3357d770f8ab373cd9 [revision 2600]
4290Author: Janne Grunau <janne-x264@jannau.net>
4291AuthorDate: Thu Sep 3 00:21:58 2015 +0200
4292Commit: Henrik Gramner <henrik@gramner.com>
4293CommitDate: Thu Sep 3 16:29:15 2015 +0200
4294
4295 aarch64: fix x264_mbtree_propagate_cost_neon
4296
4297 The branch conditon caused the loop to execute one time more than
4298 intended. Detected by a memory corruption on arm with the 1 to 1 port of
4299 the function.
4300
4301commit 5c4728d8dd82ba46901824470db1609ae0f2521d [revision 2599]
4302Author: Martin Storsjö <martin@martin.st>
4303AuthorDate: Thu Aug 13 23:59:22 2015 +0300
4304Commit: Henrik Gramner <henrik@gramner.com>
4305CommitDate: Thu Aug 27 19:56:58 2015 +0200
4306
4307 aarch64: Fix integral_init4/8h_neon
4308
4309 The stride is the number of uint16_t elements and thus needs
4310 to be shifted.
4311
4312 This issue had slipped unnoticed since checkasm didn't actually
4313 verify the output of these functions.
4314
4315commit 67076513267907b5601828ae6864cc063c8c7548 [revision 2598]
4316Author: Henrik Gramner <henrik@gramner.com>
4317AuthorDate: Thu Aug 27 19:53:00 2015 +0200
4318Commit: Henrik Gramner <henrik@gramner.com>
4319CommitDate: Thu Aug 27 19:56:58 2015 +0200
4320
4321 x86: Fix integral_init4/8h_avx2
4322
4323 The AVX2 implementation was using the wrong offsets. It went undetected due to
4324 the checkasm test being incorrect.
4325
4326commit e86f3a1993234e8f26050c243aa253651200fa6b [revision 2597]
4327Author: Mark Webster <mark.webster@gmail.com>
4328AuthorDate: Wed Aug 5 04:28:17 2015 +0100
4329Commit: Anton Mitrofanov <BugMaster@narod.ru>
4330CommitDate: Wed Aug 19 01:24:30 2015 +0300
4331
4332 Simplify inclusion of x264.h in C++ projects
4333
4334 Name all structs to support forward declarations.
4335 Add a conditional extern "C" wrapper in x264.h itself instead of having to
4336 specify it in every location where it's included.
4337
4338commit 401941cc7099b322864600b62104940542497e7a [revision 2596]
4339Author: Henrik Gramner <henrik@gramner.com>
4340AuthorDate: Sun Aug 16 21:59:26 2015 +0200
4341Commit: Anton Mitrofanov <BugMaster@narod.ru>
4342CommitDate: Wed Aug 19 01:24:29 2015 +0300
4343
4344 checkasm: Properly save rdx/edx in checkasm_call() on x86
4345
4346 If the return value doesn't fit in a single register rdx/edx can in some
4347 cases be used in addition to rax/eax.
4348
4349 Doesn't affect any of the existing checkasm tests but it's more correct
4350 behavior and it might be useful in the future.
4351
4352commit 3dff8af3033a9e81d7966c5749fd361ce421467a [revision 2595]
4353Author: Henrik Gramner <henrik@gramner.com>
4354AuthorDate: Tue Aug 11 17:19:35 2015 +0200
4355Commit: Anton Mitrofanov <BugMaster@narod.ru>
4356CommitDate: Wed Aug 19 01:24:27 2015 +0300
4357
4358 x86: Enable SSE2 by default on x86-32
4359
4360 It makes more sense to tune the defaults to benefit the vast majority of users.
4361
4362 Anyone still using a Pentium III for video encoding is of course free to
4363 explicitly set different flags when compiling.
4364
4365commit 51d8aa09b777dc2969deaa954d5f6af9836c02ba [revision 2594]
4366Author: Henrik Gramner <henrik@gramner.com>
4367AuthorDate: Mon Aug 10 22:30:21 2015 +0200
4368Commit: Anton Mitrofanov <BugMaster@narod.ru>
4369CommitDate: Wed Aug 19 01:24:26 2015 +0300
4370
4371 msvs/icl: Improve default CFLAGS
4372
4373 Use -fp:fast as a substitute for -ffast-math.
4374 Increase warning level from -W0 to -W1 (the default setting).
4375 Disable -GS (stack cookies) on MSVS. It's disabled by default on ICL.
4376
4377commit 7edaf4b966aaee098ff301436f8d2b33a6fe5983 [revision 2593]
4378Author: Henrik Gramner <henrik@gramner.com>
4379AuthorDate: Wed Aug 12 22:23:31 2015 +0200
4380Commit: Anton Mitrofanov <BugMaster@narod.ru>
4381CommitDate: Wed Aug 19 01:00:26 2015 +0300
4382
4383 Use a relative $SRCPATH for out-of-tree builds
4384
4385 Fixes out-of-tree MSVS builds on Cygwin.
4386
4387commit e7b4b863dc2555ed835569c400d3a30f7ddc15ff [revision 2592]
4388Author: Henrik Gramner <henrik@gramner.com>
4389AuthorDate: Sat Aug 8 22:26:38 2015 +0200
4390Commit: Anton Mitrofanov <BugMaster@narod.ru>
4391CommitDate: Wed Aug 19 01:00:24 2015 +0300
4392
4393 cygwin: Enable MSVS support
4394
4395 `cl -showIncludes` creates absolute Windows paths for some files, attempt
4396 to convert those to Unix paths.
4397
4398 Use relative paths for dependencies located in or below the working directory
4399 in order to mimic the behavior of gcc and to make the paths more readable.
4400
4401 Make the dependency generation script a bit more robust in general.
4402
4403commit 817a4414b98e8a511c626932e7d433388bc96507 [revision 2591]
4404Author: Henrik Gramner <henrik@gramner.com>
4405AuthorDate: Sat Aug 8 18:34:21 2015 +0200
4406Commit: Anton Mitrofanov <BugMaster@narod.ru>
4407CommitDate: Wed Aug 19 01:00:23 2015 +0300
4408
4409 cltostr.sh: Minor fixes
4410
4411commit 1a3d963441eaad25972763423d60158f597c5f65 [revision 2590]
4412Author: Henrik Gramner <henrik@gramner.com>
4413AuthorDate: Sat Aug 8 12:21:54 2015 +0200
4414Commit: Anton Mitrofanov <BugMaster@narod.ru>
4415CommitDate: Wed Aug 19 01:00:22 2015 +0300
4416
4417 Simplify version.sh
4418
4419 Also remove some non-POSIX syntax and improve robustness.
4420
4421 As a bonus the script now runs about 2-3 times faster.
4422
4423 `git rev-list --count` could be used to simplify things even further,
4424 but that functionality was added in git 1.7.2 so keep `wc -l` for now
4425 to maintain compatibility with older git versions.
4426
4427commit f7f6af76ef22e812ef330e2839488e83dd553836 [revision 2589]
4428Author: 장영훈 <mieabby@gmail.com>
4429AuthorDate: Fri Aug 7 14:43:24 2015 +0900
4430Commit: Anton Mitrofanov <BugMaster@narod.ru>
4431CommitDate: Wed Aug 19 01:00:21 2015 +0300
4432
4433 msvs: Fix cl detection in non-English environments
4434
4435commit e1a55bbbff2b4460ceb843f163e349fed7d32969 [revision 2588]
4436Author: Henrik Gramner <henrik@gramner.com>
4437AuthorDate: Mon Aug 3 21:05:11 2015 +0200
4438Commit: Anton Mitrofanov <BugMaster@narod.ru>
4439CommitDate: Wed Aug 19 01:00:20 2015 +0300
4440
4441 x86inc: Sync minor changes from ffmpeg/libav
4442
4443commit 36f537b141da076032fd11f1745bb62d466dd7bf [revision 2587]
4444Author: Henrik Gramner <henrik@gramner.com>
4445AuthorDate: Wed Jul 29 19:30:52 2015 +0200
4446Commit: Anton Mitrofanov <BugMaster@narod.ru>
4447CommitDate: Wed Aug 19 01:00:19 2015 +0300
4448
4449 matroska: Add comments for the remaining element names
4450
4451commit f04062e6380cbe10453dab33a3575c373e63ff9b [revision 2586]
4452Author: Henrik Gramner <henrik@gramner.com>
4453AuthorDate: Wed Jul 29 19:30:41 2015 +0200
4454Commit: Anton Mitrofanov <BugMaster@narod.ru>
4455CommitDate: Wed Aug 19 01:00:18 2015 +0300
4456
4457 Silence various static analyzer warnings
4458
4459 Those are false positives, but it doesn't hurt to get rid of them.
4460
4461commit b1cbf7ebe4a192bbc25cc910cb2910a34992f807 [revision 2585]
4462Author: Henrik Gramner <henrik@gramner.com>
4463AuthorDate: Sun Jul 26 23:13:29 2015 +0200
4464Commit: Anton Mitrofanov <BugMaster@narod.ru>
4465CommitDate: Wed Aug 19 01:00:16 2015 +0300
4466
4467 mingw: Enable the tsaware linker flag
4468
4469 Avoids an irrelevant compatibility layer in Terminal Services environments.
4470
4471 https://msdn.microsoft.com/en-us/library/cc834995.aspx
4472
4473commit 8a1ff031ecd4b423fc373540b9b68cdf97602bbf [revision 2584]
4474Author: Henrik Gramner <henrik@gramner.com>
4475AuthorDate: Sun Jul 26 23:13:26 2015 +0200
4476Commit: Anton Mitrofanov <BugMaster@narod.ru>
4477CommitDate: Wed Aug 19 01:00:15 2015 +0300
4478
4479 msvs: Don't redefine snprintf for VS2015
4480
4481 Visual Studio 2015 has a proper snprintf implementation.
4482
4483commit aa9d22927c0264c08c11c9e72294fc651a155b3e [revision 2583]
4484Author: Henrik Gramner <henrik@gramner.com>
4485AuthorDate: Sun Jul 26 23:13:19 2015 +0200
4486Commit: Anton Mitrofanov <BugMaster@narod.ru>
4487CommitDate: Wed Aug 19 01:00:14 2015 +0300
4488
4489 msvs: Prefer link.exe from the same directory as cl.exe
4490
4491 /usr/bin/link from coreutils may be located before the MSVS linker in $PATH
4492 which causes linking to fail due to using the wrong binary.
4493
4494commit ca8bd68063d74227d917f34fd50942265f9a106c [revision 2582]
4495Author: Henrik Gramner <henrik@gramner.com>
4496AuthorDate: Mon Jul 27 00:10:00 2015 +0200
4497Commit: Anton Mitrofanov <BugMaster@narod.ru>
4498CommitDate: Wed Aug 19 01:00:13 2015 +0300
4499
4500 frame_dump: check fseek() return value
4501
4502commit 53b3b747e22f53204f6efb5106ab4a5a8eb57626 [revision 2581]
4503Author: Henrik Gramner <henrik@gramner.com>
4504AuthorDate: Mon Jul 27 00:08:38 2015 +0200
4505Commit: Anton Mitrofanov <BugMaster@narod.ru>
4506CommitDate: Wed Aug 19 00:55:29 2015 +0300
4507
4508 x264_vfprintf: use va_copy
4509
4510 It's undefined behavior to use the same va_list twice.
4511
4512 This most likely didn't cause any issues in practice since the string would
4513 have to be larger than 4 KiB to trigger the fallback path.
4514
4515 Use workaround for ICL as it doesn't define va_copy even for C99.
4516
4517commit 59e7ded846a832125cb533aadff9895487771ea7 [revision 2580]
4518Author: Henrik Gramner <henrik@gramner.com>
4519AuthorDate: Mon Jul 27 00:08:31 2015 +0200
4520Commit: Henrik Gramner <henrik@gramner.com>
4521CommitDate: Mon Jul 27 00:08:31 2015 +0200
4522
4523 param_parse: Fix framerate rounding issues
4524
4525commit 73ae2d11d472d0eb3b7c218dc1659db32f649b14 [revision 2579]
4526Author: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
4527AuthorDate: Mon Jun 1 11:24:45 2015 +0200
4528Commit: Henrik Gramner <henrik@gramner.com>
4529CommitDate: Sat Jul 25 22:52:55 2015 +0200
4530
4531 aarch64: Remove broken CFLAGS in configure
4532
4533 GCC doesn't have an "-arch" switch, but works when that entire line is removed.
4534
4535commit cc002bd545b008b1cdc7c6d7cc0c616ba125d4d5 [revision 2578]
4536Author: Rong Yan <rongyan236@foxmail.com>
4537AuthorDate: Mon Jul 20 03:34:20 2015 -0500
4538Commit: Henrik Gramner <henrik@gramner.com>
4539CommitDate: Sat Jul 25 22:52:55 2015 +0200
4540
4541 ppc: Add little-endian PowerPC support
4542
4543commit 145f3a6275802a649b8dedb49bb0e054caf31717 [revision 2577]
4544Author: Rishikesh More <rishikesh.more@imgtec.com>
4545AuthorDate: Thu Jun 18 17:48:46 2015 +0530
4546Commit: Henrik Gramner <henrik@gramner.com>
4547CommitDate: Sat Jul 25 22:52:55 2015 +0200
4548
4549 mips: MSA quant optimizations
4550
4551 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4552
4553commit 16395d2b6f827b076612eb5b70711b79621da67e [revision 2576]
4554Author: Rishikesh More <rishikesh.more@imgtec.com>
4555AuthorDate: Thu Jun 18 17:48:45 2015 +0530
4556Commit: Henrik Gramner <henrik@gramner.com>
4557CommitDate: Sat Jul 25 22:52:55 2015 +0200
4558
4559 mips: MSA predict optimizations
4560
4561 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4562
4563commit 204e1a60237e0b3168ccbdb2905c9af8188b90ee [revision 2575]
4564Author: Rishikesh More <rishikesh.more@imgtec.com>
4565AuthorDate: Thu Jun 18 17:48:44 2015 +0530
4566Commit: Henrik Gramner <henrik@gramner.com>
4567CommitDate: Sat Jul 25 22:52:55 2015 +0200
4568
4569 mips: MSA pixel optimizations
4570
4571 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4572
4573commit 3ce6430eb11839c69d606c59c0f8c31ce0b6dd17 [revision 2574]
4574Author: Rishikesh More <rishikesh.more@imgtec.com>
4575AuthorDate: Thu Jun 18 17:48:43 2015 +0530
4576Commit: Henrik Gramner <henrik@gramner.com>
4577CommitDate: Sat Jul 25 22:52:55 2015 +0200
4578
4579 mips: MSA deblock optimizations
4580
4581 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4582
4583commit 57618eead025eaf654226add94689d6d2999ccf6 [revision 2573]
4584Author: Rishikesh More <rishikesh.more@imgtec.com>
4585AuthorDate: Thu Jun 18 17:48:42 2015 +0530
4586Commit: Henrik Gramner <henrik@gramner.com>
4587CommitDate: Sat Jul 25 22:52:55 2015 +0200
4588
4589 mips: MSA dct optimizations
4590
4591 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4592
4593commit 4ebb23aaf4f46b7a04aa8aefa3c08e7b6493de4c [revision 2572]
4594Author: Rishikesh More <rishikesh.more@imgtec.com>
4595AuthorDate: Thu Jun 18 17:48:40 2015 +0530
4596Commit: Henrik Gramner <henrik@gramner.com>
4597CommitDate: Sat Jul 25 22:52:55 2015 +0200
4598
4599 mips: MSA mc optimizations
4600
4601 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4602
4603commit cd19444d3f9915a5a33a95e308bc8021d7e62afe [revision 2571]
4604Author: Rishikesh More <rishikesh.more@imgtec.com>
4605AuthorDate: Thu Jun 18 17:48:38 2015 +0530
4606Commit: Henrik Gramner <henrik@gramner.com>
4607CommitDate: Sat Jul 25 22:52:55 2015 +0200
4608
4609 mips: Common MSA macros
4610
4611 Add macros for load/store, slide, shift, transpose and basic arithmetic
4612 operations required by subsequent patches.
4613
4614 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4615
4616commit 72b82bd98a99b1d75322b70a74365547382ce062 [revision 2570]
4617Author: Rishikesh More <rishikesh.more@imgtec.com>
4618AuthorDate: Tue May 12 19:38:09 2015 +0530
4619Commit: Henrik Gramner <henrik@gramner.com>
4620CommitDate: Sat Jul 25 22:52:55 2015 +0200
4621
4622 mips: Add MSA support to checkasm
4623
4624 Signed-off-by: Rishikesh More <rishikesh.more@imgtec.com>
4625
4626commit ce0757d9d2778e349a7c2f6445b6aa75d8765c30 [revision 2569]
4627Author: Kaustubh Raste <kaustubh.raste@imgtec.com>
4628AuthorDate: Fri Apr 17 17:38:58 2015 +0530
4629Commit: Henrik Gramner <henrik@gramner.com>
4630CommitDate: Sat Jul 25 22:52:54 2015 +0200
4631
4632 mips: Initial MSA support
4633
4634 MSA is the MIPS SIMD Architecture.
4635
4636 Add X264_CPU_MSA define.
4637 Update configure to detect MIPS platform and set flags.
4638 CPU-specific gcc options are expected through --extra-cflags.
4639
4640 Sample command line for mips32r5:
4641 ./configure --host=mipsel-linux-gnu --cross-prefix=<TOOLCHAIN>/mips-mti-linux-gnu-
4642 --extra-cflags="-EL -mips32r5 -msched-weight -mload-store-pairs"
4643
4644 Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
4645
4646commit 9140ee1fb39bd4a4ccace28091398e8a96704f07 [revision 2568]
4647Author: Anton Mitrofanov <BugMaster@narod.ru>
4648AuthorDate: Fri Jul 17 00:22:29 2015 +0300
4649Commit: Henrik Gramner <henrik@gramner.com>
4650CommitDate: Sat Jul 25 22:52:54 2015 +0200
4651
4652 Limit autodetection of threads number according to the source height
4653
4654commit aeaed2d07b5b43437bb640e1f987d42a6fab03b9 [revision 2567]
4655Author: Anton Mitrofanov <BugMaster@narod.ru>
4656AuthorDate: Thu Jul 16 19:04:59 2015 +0300
4657Commit: Henrik Gramner <henrik@gramner.com>
4658CommitDate: Sat Jul 25 22:52:54 2015 +0200
4659
4660 Fine-tune of frame's size predictors at ratecontrol start
4661
4662 This is attempt to improve VBV at start of video with a lot of threads which
4663 delay feedback for predictors.
4664
4665commit aa275158641e94203003157947d43ff4cc685068 [revision 2566]
4666Author: Anton Mitrofanov <BugMaster@narod.ru>
4667AuthorDate: Thu Jul 16 16:15:56 2015 +0300
4668Commit: Henrik Gramner <henrik@gramner.com>
4669CommitDate: Sat Jul 25 22:52:54 2015 +0200
4670
4671 Use forced frame types in slicetype analysis
4672
4673 This should improve MBTree and VBV when a lot of forced frame types are used.
4674
4675commit a83edfa053f60ad0c8a164f31e7492a680eef361 [revision 2565]
4676Author: Henrik Gramner <henrik@gramner.com>
4677AuthorDate: Mon Dec 1 22:05:42 2014 +0100
4678Commit: Henrik Gramner <henrik@gramner.com>
4679CommitDate: Sat Jul 25 22:52:54 2015 +0200
4680
4681 x86: SSSE3 and AVX2 implementations of plane_copy_swap
4682
4683 For NV21 input.
4684
4685commit 627f891c571cacb51deb5e211b23c309b14a6587 [revision 2564]
4686Author: Yu Xiaolei <dreifachstein@gmail.com>
4687AuthorDate: Fri Jun 6 16:05:27 2014 +0800
4688Commit: Henrik Gramner <henrik@gramner.com>
4689CommitDate: Sat Jul 25 22:52:54 2015 +0200
4690
4691 NV21 input support
4692
4693 Eliminates an extra copy when encoding Android camera preview images.
4694
4695 Checkasm test by Janne Grunau.
4696 ARM assembly with improvements from Janne Grunau.
4697
4698commit 6ee94dc898dc029553e308f1e76891ccefb3f0a7 [revision 2563]
4699Author: Henrik Gramner <henrik@gramner.com>
4700AuthorDate: Tue Jun 23 17:00:47 2015 +0200
4701Commit: Henrik Gramner <henrik@gramner.com>
4702CommitDate: Sat Jul 25 22:52:54 2015 +0200
4703
4704 deblock: Write combining
4705
4706commit 08a9c51919f4edbd6e484155e5521a92a0800651 [revision 2562]
4707Author: Henrik Gramner <henrik@gramner.com>
4708AuthorDate: Tue Jun 23 14:59:59 2015 +0200
4709Commit: Henrik Gramner <henrik@gramner.com>
4710CommitDate: Sat Jul 25 22:52:54 2015 +0200
4711
4712 Get rid of some tabs and trailing whitespaces
4713
4714commit b568a256b9bc6c500d7b1ffe4b9c3311ee5ff337 [revision 2561]
4715Author: Henrik Gramner <henrik@gramner.com>
4716AuthorDate: Sat May 23 19:44:16 2015 +0200
4717Commit: Henrik Gramner <henrik@gramner.com>
4718CommitDate: Sat Jul 25 22:52:54 2015 +0200
4719
4720 x86: Experimental nasm support
4721
4722 Enables the use of nasm as an alternative to yasm.
4723
4724 Note that nasm cannot assemble x264 with PIC enabled since it currently doesn't
4725 support [symbol-$$] addressing which is used extensively by x264's PIC code.
4726 This includes all 64-bit Windows and 64-bit OS X builds, even non-shared.
4727
4728 For the above reason nasm is currently intentionally not auto-detected, instead
4729 the assembler must be explicitly specified using "AS=nasm ./configure".
4730
4731 Also drop -O2 from ASFLAGS since it's simply ignored anyway.
4732
4733commit d14e38c059c9a2aecc82477b99d56ef74eb731ec [revision 2560]
4734Author: Timothy Gu <timothygu99@gmail.com>
4735AuthorDate: Tue May 26 19:12:42 2015 +0200
4736Commit: Henrik Gramner <henrik@gramner.com>
4737CommitDate: Sat Jul 25 22:52:54 2015 +0200
4738
4739 x86inc: Prevent warnings when using `struc` and `endstruc`
4740
4741 struc and endstruc attempts to revert to the previous section state set by
4742 the SECTION macro.
4743
4744 Use the primitive [SECTION] directive instead of the SECTION macro for the
4745 .note.GNU-stack section to prevent it from being emitted again during endstruc.
4746
4747commit 353b1f888c34081e94727a1ffa0e4920e2cfe8a9 [revision 2559]
4748Author: Henrik Gramner <henrik@gramner.com>
4749AuthorDate: Wed May 27 21:38:14 2015 +0200
4750Commit: Henrik Gramner <henrik@gramner.com>
4751CommitDate: Sat Jul 25 22:52:54 2015 +0200
4752
4753 x86inc: Drop SECTION_TEXT macro
4754
4755 The .text section is already 16-byte aligned by default on all supported
4756 platforms so `SECTION_TEXT` isn't any different from `SECTION .text`.
4757
4758commit b615f82e45c88b7915c5571ad09fa65a0b6130d7 [revision 2558]
4759Author: Henrik Gramner <henrik@gramner.com>
4760AuthorDate: Sat May 23 13:38:05 2015 +0200
4761Commit: Henrik Gramner <henrik@gramner.com>
4762CommitDate: Sat Jul 25 22:52:54 2015 +0200
4763
4764 x86inc: Disable vpbroadcastq workaround in newer yasm versions
4765
4766 The bug was fixed in 1.3.0, so only perform the workaround in earlier versions.
4767
4768commit 8f834d6ccc054d8c32d84310664dc07abac553ec [revision 2557]
4769Author: Henrik Gramner <henrik@gramner.com>
4770AuthorDate: Sun May 24 22:57:00 2015 +0200
4771Commit: Henrik Gramner <henrik@gramner.com>
4772CommitDate: Sat Jul 25 22:52:54 2015 +0200
4773
4774 Prefer Unicode versions of Windows API calls
4775
4776 Just for consistency, doesn't affect behavior.
4777
4778commit 3f8c8eb1758d0fa890538eba6f5e699c93dc1304 [revision 2556]
4779Author: Henrik Gramner <henrik@gramner.com>
4780AuthorDate: Sun May 24 23:21:20 2015 +0200
4781Commit: Henrik Gramner <henrik@gramner.com>
4782CommitDate: Sat Jul 25 22:52:54 2015 +0200
4783
4784 Get rid of fPIC warnings when compiling a shared library on Windows
4785
4786 PIC is always enabled when compiling for Windows so gcc complains when using
4787 -fPIC since it doesn't do anything.
4788
4789commit 0c21480fa2fdee345a3049e2169624dc6fc2acfc [revision 2555]
4790Author: Henrik Gramner <henrik@gramner.com>
4791AuthorDate: Sat Jul 25 22:42:59 2015 +0200
4792Commit: Henrik Gramner <henrik@gramner.com>
4793CommitDate: Sat Jul 25 22:52:54 2015 +0200
4794
4795 matroska: Write the correct DocTypeVersion when using frame-packing
4796
4797 The StereoMode element is only valid with DocTypeVersion 3 or higher.
4798
4799commit 791d265281af1d022a72ba9e003a987e97da5c0d [revision 2554]
4800Author: Anton Mitrofanov <BugMaster@narod.ru>
4801AuthorDate: Sat Jul 25 00:21:52 2015 +0300
4802Commit: Anton Mitrofanov <BugMaster@narod.ru>
4803CommitDate: Sat Jul 25 00:43:53 2015 +0300
4804
4805 dump_yuv: Fix file handle leak
4806
4807commit d6aa586b2f83eeb776744c2e97a8ce9e1181c59b [revision 2553]
4808Author: Anton Mitrofanov <BugMaster@narod.ru>
4809AuthorDate: Sat Jul 25 00:20:47 2015 +0300
4810Commit: Anton Mitrofanov <BugMaster@narod.ru>
4811CommitDate: Sat Jul 25 00:43:38 2015 +0300
4812
4813 mp4: Fix file handle leak
4814
4815commit 942e4e4530d0909c2b580be88acd18d1e5fa4fa8 [revision 2552]
4816Author: Henrik Gramner <henrik@gramner.com>
4817AuthorDate: Wed Jun 24 00:40:45 2015 +0200
4818Commit: Anton Mitrofanov <BugMaster@narod.ru>
4819CommitDate: Sat Jul 25 00:39:38 2015 +0300
4820
4821 flv: Check fseek() and fwrite() return values
4822
4823commit 250d5b0e13045f6a1ebfeb379933b5c5daa9cf41 [revision 2551]
4824Author: Henrik Gramner <henrik@gramner.com>
4825AuthorDate: Wed Jun 24 00:22:56 2015 +0200
4826Commit: Anton Mitrofanov <BugMaster@narod.ru>
4827CommitDate: Sat Jul 25 00:39:37 2015 +0300
4828
4829 flv: Fix memory and file handle leaks
4830
4831commit 3533520655ef095ef009af9b6b27a20b45fd13ee [revision 2550]
4832Author: Henrik Gramner <henrik@gramner.com>
4833AuthorDate: Wed Jun 24 01:23:35 2015 +0200
4834Commit: Anton Mitrofanov <BugMaster@narod.ru>
4835CommitDate: Sat Jul 25 00:39:36 2015 +0300
4836
4837 avs: Fix file handle leak
4838
4839commit df152a77e1b17065aecb40c9a2a28d5953887ac9 [revision 2549]
4840Author: Henrik Gramner <henrik@gramner.com>
4841AuthorDate: Tue Jun 23 13:38:02 2015 +0200
4842Commit: Anton Mitrofanov <BugMaster@narod.ru>
4843CommitDate: Sat Jul 25 00:39:35 2015 +0300
4844
4845 matroska: Fix memory leak
4846
4847commit 6d5249977f5d62f6e167a062bdd94d8546eca1f7 [revision 2548]
4848Author: Henrik Gramner <henrik@gramner.com>
4849AuthorDate: Tue Jun 23 13:24:29 2015 +0200
4850Commit: Anton Mitrofanov <BugMaster@narod.ru>
4851CommitDate: Sat Jul 25 00:39:34 2015 +0300
4852
4853 rdo: Fix potential CAVLC overflow issues
4854
4855commit 936e8da1a4f9d0431b181d0877bb1602d4de9441 [revision 2547]
4856Author: Henrik Gramner <henrik@gramner.com>
4857AuthorDate: Tue Jun 23 22:08:35 2015 +0200
4858Commit: Anton Mitrofanov <BugMaster@narod.ru>
4859CommitDate: Sat Jul 25 00:39:31 2015 +0300
4860
4861 slurp_file: Various minor bug fixes
4862
4863 * Fix unsigned <= 0 check.
4864 * Add additional size sanity check on 32-bit systems.
4865 * Don't read uninitialized data if fread() fails.
4866
4867commit d302526d5b97818f588b86f408f910924790242e [revision 2546]
4868Author: Henrik Gramner <henrik@gramner.com>
4869AuthorDate: Tue Jun 23 22:47:53 2015 +0200
4870Commit: Anton Mitrofanov <BugMaster@narod.ru>
4871CommitDate: Sat Jul 25 00:39:30 2015 +0300
4872
4873 param_parse: Check strdup() return value
4874
4875commit 94e476d80b9635508907893c97e8f8d9f0bc9ddf [revision 2545]
4876Author: Henrik Gramner <henrik@gramner.com>
4877AuthorDate: Tue Jun 23 15:38:16 2015 +0200
4878Commit: Anton Mitrofanov <BugMaster@narod.ru>
4879CommitDate: Fri Jul 17 00:41:27 2015 +0300
4880
4881 param_parse: Fix memory leak
4882
4883commit 45856b9787eab95434d66b4bc2e18819483f0e43 [revision 2544]
4884Author: Anton Mitrofanov <BugMaster@narod.ru>
4885AuthorDate: Fri Jun 19 16:01:12 2015 +0300
4886Commit: Anton Mitrofanov <BugMaster@narod.ru>
4887CommitDate: Fri Jul 17 00:41:26 2015 +0300
4888
4889 Add FreeBSD's stdint.h header guard to allowed list
4890
4891 Patch written by Koop Mast <kwm@FreeBSD.org>
4892
4893commit 35cf1a2cbf253e43cab7747eb903a3b844bd42c1 [revision 2543]
4894Author: Henrik Gramner <henrik@gramner.com>
4895AuthorDate: Fri May 22 19:23:33 2015 +0200
4896Commit: Anton Mitrofanov <BugMaster@narod.ru>
4897CommitDate: Fri Jul 17 00:41:25 2015 +0300
4898
4899 x86: Prevent overread of src in plane_copy_interleave
4900
4901 Could only occur in 4:2:2 with height == 1.
4902
4903 Also enable asm for inputs with different U/V strides as long as the strides
4904 have identical signs.
4905
4906commit 003414a4b3724f0972e4507dfd1432dd442d2228 [revision 2542]
4907Author: Anton Mitrofanov <BugMaster@narod.ru>
4908AuthorDate: Wed May 20 23:10:20 2015 +0300
4909Commit: Anton Mitrofanov <BugMaster@narod.ru>
4910CommitDate: Fri Jul 17 00:41:24 2015 +0300
4911
4912 checkasm: Fix incorrect memcmp size for ARM architecture
4913
4914commit e08fdc81018489217f4bafe7321a3baf372fac1f [revision 2541]
4915Author: Anton Mitrofanov <BugMaster@narod.ru>
4916AuthorDate: Sun Apr 26 20:51:05 2015 +0300
4917Commit: Anton Mitrofanov <BugMaster@narod.ru>
4918CommitDate: Fri Jul 17 00:39:41 2015 +0300
4919
4920 Fix possible use of uninitialized MVs in lookahead analysis for B-frames
4921
4922commit 0b0210857ef13214f12861dec672006455a556d6 [revision 2540]
4923Author: Anton Mitrofanov <BugMaster@narod.ru>
4924AuthorDate: Tue Apr 21 23:08:19 2015 +0300
4925Commit: Henrik Gramner <henrik@gramner.com>
4926CommitDate: Sun May 24 11:34:40 2015 +0200
4927
4928 Catch incorrect usage of libx264 API for delayed frames flushing
4929
4930commit 3a6bd39a650b47572743c2d2ea2fd7c214053fb2 [revision 2539]
4931Author: Anton Mitrofanov <BugMaster@narod.ru>
4932AuthorDate: Sat Mar 7 23:00:09 2015 +0300
4933Commit: Henrik Gramner <henrik@gramner.com>
4934CommitDate: Sun May 24 11:34:40 2015 +0200
4935
4936 Fix detection of system libx264 configuration
4937
4938commit 121396c71b4907ca82301d1a529795d98daab5f8 [revision 2538]
4939Author: Anton Mitrofanov <BugMaster@narod.ru>
4940AuthorDate: Mon Feb 23 14:23:18 2015 +0300
4941Commit: Anton Mitrofanov <BugMaster@narod.ru>
4942CommitDate: Mon Feb 23 20:10:21 2015 +0300
4943
4944 Cosmetic changes
4945
4946commit 8e71b432e5dbe835fa4516064f6841a03c79b183 [revision 2537]
4947Author: Anton Mitrofanov <BugMaster@narod.ru>
4948AuthorDate: Wed Dec 31 02:15:05 2014 +0300
4949Commit: Anton Mitrofanov <BugMaster@narod.ru>
4950CommitDate: Mon Feb 23 20:09:33 2015 +0300
4951
4952 Update configure for auto detection of system libx264 configuration
4953
4954commit 0f84192e88d6adc4512f6f320a50a09b4608634c [revision 2536]
4955Author: Anton Mitrofanov <BugMaster@narod.ru>
4956AuthorDate: Tue Feb 3 14:51:28 2015 +0300
4957Commit: Anton Mitrofanov <BugMaster@narod.ru>
4958CommitDate: Mon Feb 23 20:09:32 2015 +0300
4959
4960 Add tile format frame packing value
4961
4962 Defined in 2014-02 edition.
4963
4964commit f08b1c6b8e186ff5a931e9a80e8923e42efff0e4 [revision 2535]
4965Author: Anton Mitrofanov <BugMaster@narod.ru>
4966AuthorDate: Tue Feb 3 13:39:14 2015 +0300
4967Commit: Anton Mitrofanov <BugMaster@narod.ru>
4968CommitDate: Mon Feb 23 20:09:30 2015 +0300
4969
4970 Stricter validation of crop-rect values
4971
4972commit 196cb9ab52af9370fc66a474ffc4a52a75dc5eb4 [revision 2534]
4973Author: Vittorio Giovara <vittorio.giovara@gmail.com>
4974AuthorDate: Tue Jan 20 16:15:56 2015 +0000
4975Commit: Anton Mitrofanov <BugMaster@narod.ru>
4976CommitDate: Mon Feb 23 20:09:29 2015 +0300
4977
4978 Add mono frame packing value
4979
4980 Defined in 2013-04 edition.
4981
4982commit c8a773ebfca148ef04f5a60d42cbd7336af0baf6 [revision 2533]
4983Author: Vittorio Giovara <vittorio.giovara@gmail.com>
4984AuthorDate: Tue Jan 20 15:57:41 2015 +0000
4985Commit: Anton Mitrofanov <BugMaster@narod.ru>
4986CommitDate: Mon Feb 23 13:34:52 2015 +0300
4987
4988 Validate frame packing value instead of clipping
4989
4990commit a95584945dd9ce3acc66c6cd8f6796bc4404d40d [revision 2532]
4991Author: Christophe Gisquet <christophe.gisquet@gmail.com>
4992AuthorDate: Tue Feb 3 20:40:41 2015 +0100
4993Commit: Anton Mitrofanov <BugMaster@narod.ru>
4994CommitDate: Mon Feb 23 13:34:51 2015 +0300
4995
4996 x86inc: Correctly warn on use of SSE2 instructions in SSE functions
4997
4998 SSE2 instructions that are XMM-implementations of pre-existing MMX/MMX2
4999 instructions did not issue warnings when used in SSE functions. Handle
5000 it by also checking the register type when such instructions are used.
5001
5002commit 23d4434de9ab5ef32ebb03401d971b8579a65fc6 [revision 2531]
5003Author: Christophe Gisquet <christophe.gisquet@gmail.com>
5004AuthorDate: Tue Feb 3 18:02:30 2015 +0100
5005Commit: Anton Mitrofanov <BugMaster@narod.ru>
5006CommitDate: Mon Feb 23 13:34:50 2015 +0300
5007
5008 x86inc: Fix instantiation of YMM registers
5009
5010commit 4c75f3d729aaf3bcb00edf789c71f09495374bdf [revision 2530]
5011Author: Vittorio Giovara <vittorio.giovara@gmail.com>
5012AuthorDate: Tue Jan 20 16:28:54 2015 +0000
5013Commit: Anton Mitrofanov <BugMaster@narod.ru>
5014CommitDate: Mon Feb 23 13:34:49 2015 +0300
5015
5016 matroska: Correctly write display width and height in stereo mode
5017
5018 According to the specifications, when stereo mode is set, these values
5019 represent the single view size.
5020
5021commit c3ba2a8c595b1bb36da55b82f7f4046471349d0e [revision 2529]
5022Author: Kieran Kunhya <kierank@ob-encoder.com>
5023AuthorDate: Tue Jan 20 09:38:00 2015 -0600
5024Commit: Anton Mitrofanov <BugMaster@narod.ru>
5025CommitDate: Mon Feb 23 13:34:48 2015 +0300
5026
5027 Use POC type 0 for AVC-Intra
5028
5029 Based on a patch from Capella Systems
5030
5031commit b77cc09b9252d70f78726f2472391b63948d9895 [revision 2528]
5032Author: Anton Mitrofanov <BugMaster@narod.ru>
5033AuthorDate: Sat Jan 3 15:46:19 2015 +0300
5034Commit: Anton Mitrofanov <BugMaster@narod.ru>
5035CommitDate: Mon Feb 23 13:34:47 2015 +0300
5036
5037 Fix ARCH variable name conflict with BSD ports (bsd.port.mk) read-only variable
5038
5039commit 6e769846626f9185b59f3967e8b4ebe11497d878 [revision 2527]
5040Author: Anton Mitrofanov <BugMaster@narod.ru>
5041AuthorDate: Sat Dec 27 20:35:39 2014 +0300
5042Commit: Anton Mitrofanov <BugMaster@narod.ru>
5043CommitDate: Mon Feb 23 13:34:46 2015 +0300
5044
5045 Fix negative percentages in final stats output
5046
5047 They were caused by integer overflow when encoding long UHD video.
5048
5049commit d7ccd89f1bea53c8c524f8e6eb963d57defb6813 [revision 2526]
5050Author: Anton Mitrofanov <BugMaster@narod.ru>
5051AuthorDate: Sat Jan 3 23:35:23 2015 +0300
5052Commit: Anton Mitrofanov <BugMaster@narod.ru>
5053CommitDate: Mon Feb 23 13:34:44 2015 +0300
5054
5055 Bump dates to 2015
5056
5057commit 40bb56814e56ed342040bdbf30258aab39ee9e89 [revision 2525]
5058Author: Anton Mitrofanov <BugMaster@narod.ru>
5059AuthorDate: Mon Dec 15 18:49:23 2014 +0300
5060Commit: Anton Mitrofanov <BugMaster@narod.ru>
5061CommitDate: Sat Dec 20 19:29:44 2014 +0300
5062
5063 x86: Update intel compiler cpu dispatcher override for new versions of ICC/ICL
5064
5065commit d72a85b549acd981a8dae3dc5b71920ab2aeea4f [revision 2524]
5066Author: Anton Mitrofanov <BugMaster@narod.ru>
5067AuthorDate: Tue Sep 6 21:53:29 2011 +0400
5068Commit: Anton Mitrofanov <BugMaster@narod.ru>
5069CommitDate: Sat Dec 20 19:29:31 2014 +0300
5070
5071 New AQ mode: auto-variance AQ with bias to dark scenes
5072
5073 Also known as --aq-mode 3 or auto-variance AQ modification.
5074
5075commit f4a455a43df3088bae5208dcc98b8f6214fdce7d [revision 2523]
5076Author: Anton Mitrofanov <BugMaster@narod.ru>
5077AuthorDate: Wed Aug 29 03:02:27 2012 +0400
5078Commit: Anton Mitrofanov <BugMaster@narod.ru>
5079CommitDate: Sat Dec 20 19:27:56 2014 +0300
5080
5081 Improve HRD conformance
5082
5083commit fa3549b5f2478f39cbcbd14d2e956e59f70d18eb [revision 2522]
5084Author: Henrik Gramner <henrik@gramner.com>
5085AuthorDate: Fri Nov 28 23:24:56 2014 +0100
5086Commit: Anton Mitrofanov <BugMaster@narod.ru>
5087CommitDate: Sat Dec 20 19:27:54 2014 +0300
5088
5089 x86: SSE and AVX implementations of plane_copy
5090
5091 Also remove the MMX2 implementation and fix src overread for height == 1.
5092
5093commit 8797e0f8d416aadb91d359f144e4e7855071870a [revision 2521]
5094Author: Anton Mitrofanov <BugMaster@narod.ru>
5095AuthorDate: Mon Sep 29 23:26:19 2014 +0400
5096Commit: Anton Mitrofanov <BugMaster@narod.ru>
5097CommitDate: Tue Dec 16 20:40:13 2014 +0300
5098
5099 Update to the latest version of gas-preprocessor.pl from http://git.libav.org/?p=gas-preprocessor.git
5100
5101 Contributions by Janne Grunau, Martin Storsjo, Mans Rullgard, David Conrad, Martin Aumuller and others
5102
5103commit 59b9c252cfa6242c7fa6424a463e51913996fe6a [revision 2520]
5104Author: Janne Grunau <janne-x264@jannau.net>
5105AuthorDate: Wed Nov 19 00:33:55 2014 +0100
5106Commit: Anton Mitrofanov <BugMaster@narod.ru>
5107CommitDate: Tue Dec 16 20:40:12 2014 +0300
5108
5109 aarch64: cabac_encode_{decision,bypass,terminal}_asm
5110
5111 benchmarks on a Nexus 9 (nvidia denver):
5112 101.3 cycles in x264_cabac_encode_decision_c, 67105369 runs, 3495 skips
5113 97.3 cycles in x264_cabac_encode_decision_asm, 67105493 runs, 3371 skips
5114 132.8 cycles in x264_cabac_encode_terminal_c, 1046950 runs, 1626 skips
5115 116.1 cycles in x264_cabac_encode_terminal_asm, 1048424 runs, 152 skips
5116 92.4 cycles in x264_cabac_encode_bypass_c, 16776192 runs, 1024 skips
5117 89.6 cycles in x264_cabac_encode_bypass_asm, 16776453 runs, 763 skips
5118
5119 Cycle counts are not as stable as one would like. The dynamic code
5120 optimisation seems to produce different results for small chnages in a
5121 binary. Repeated runs with the same binary produce stable results
5122 though (ignoring the first run).
5123
5124commit a6ec424939a4d3a59e4ec1e3999cb37e4314408e [revision 2519]
5125Author: Janne Grunau <janne-x264@jannau.net>
5126AuthorDate: Thu Nov 6 09:20:17 2014 +0100
5127Commit: Anton Mitrofanov <BugMaster@narod.ru>
5128CommitDate: Tue Dec 16 20:40:11 2014 +0300
5129
5130 checkasm: add cycle counter read for aarch64
5131
5132 Needs kernel support since user space access to the cycle counter is not
5133 allowed on all available AArch64 systems (Android 5 and iOS).
5134
5135commit fa7e9d3d082327ceeacfaf85da6cde4c50fb4e5b [revision 2518]
5136Author: Janne Grunau <janne-x264@jannau.net>
5137AuthorDate: Wed Nov 5 11:35:13 2014 +0100
5138Commit: Anton Mitrofanov <BugMaster@narod.ru>
5139CommitDate: Tue Dec 16 20:40:10 2014 +0300
5140
5141 aarch64: nal_escape_neon
5142
5143 3-4 times faster.
5144
5145commit f13573e490d9f18bbcb10409fb09ec25e477035e [revision 2517]
5146Author: Janne Grunau <janne-x264@jannau.net>
5147AuthorDate: Fri Oct 31 14:49:04 2014 +0100
5148Commit: Anton Mitrofanov <BugMaster@narod.ru>
5149CommitDate: Tue Dec 16 20:40:09 2014 +0300
5150
5151 aarch64: {plane_copy,memcpy_aligned,memzero_aligned}_neon
5152
5153 2-3 times faster than C.
5154
5155commit 8d655b63b4f7bc021ad038ea64b7c4de9d0ef74b [revision 2516]
5156Author: Janne Grunau <janne-x264@jannau.net>
5157AuthorDate: Wed Oct 29 18:17:48 2014 +0100
5158Commit: Anton Mitrofanov <BugMaster@narod.ru>
5159CommitDate: Tue Dec 16 20:40:08 2014 +0300
5160
5161 aarch64: x264_mbtree_propagate_{cost,list}_neon
5162
5163 x264_mbtree_propagate_cost_neon is ~7 times faster.
5164 x264_mbtree_propagate_list_neon is 33% faster.
5165
5166commit 4d400a6ec67f17ae3b17876b0318b956b6d5c856 [revision 2515]
5167Author: Janne Grunau <janne-x264@jannau.net>
5168AuthorDate: Tue Oct 21 15:18:49 2014 +0200
5169Commit: Anton Mitrofanov <BugMaster@narod.ru>
5170CommitDate: Tue Dec 16 20:40:07 2014 +0300
5171
5172 aarch64: x264_denoise_dct_neon
5173
5174 3.5 times faster.
5175
5176commit 4e8ac132cc2feff5786d12c90fd62cf97979bae1 [revision 2514]
5177Author: Janne Grunau <janne-x264@jannau.net>
5178AuthorDate: Mon Oct 20 13:12:14 2014 +0200
5179Commit: Anton Mitrofanov <BugMaster@narod.ru>
5180CommitDate: Tue Dec 16 20:40:06 2014 +0300
5181
5182 aarch64: x264_coeff_level_run{4,8,15,16}
5183
5184 All functions ~33% faster.
5185
5186commit dd7666742d5a1a7af076fb388c6adf1b10dcdb3e [revision 2513]
5187Author: Janne Grunau <janne-x264@jannau.net>
5188AuthorDate: Tue Oct 14 19:20:52 2014 +0200
5189Commit: Anton Mitrofanov <BugMaster@narod.ru>
5190CommitDate: Tue Dec 16 20:40:05 2014 +0300
5191
5192 aarch64: NEON asm for intra luma deblocking
5193
5194 deblock_luma_intra[0]_neon is 2 times fastes,
5195 deblock_luma_intra[1]_neon is ~4 times faster.
5196
5197commit 0122fd230cbf7351845dd354d5ee883d741222ef [revision 2512]
5198Author: Janne Grunau <janne-x264@jannau.net>
5199AuthorDate: Mon Oct 13 17:29:22 2014 +0200
5200Commit: Anton Mitrofanov <BugMaster@narod.ru>
5201CommitDate: Tue Dec 16 20:40:04 2014 +0300
5202
5203 aarch64: x264_deblock_h_chroma_422_neon
5204
5205 deblock_h_chroma_422 2.5 times faster
5206
5207commit 44cb1dcdbdaafeddd98d2ebe3d02408bc380713e [revision 2511]
5208Author: Janne Grunau <janne-x264@jannau.net>
5209AuthorDate: Mon Oct 13 12:43:50 2014 +0200
5210Commit: Anton Mitrofanov <BugMaster@narod.ru>
5211CommitDate: Tue Dec 16 20:40:03 2014 +0300
5212
5213 aarch64: x264_deblock_h_chroma_mbaff_neon
5214
5215 deblock_chroma_420_mbaff_neon 2 times faster
5216
5217commit f2e439d113ae86a0a1ef8215d4d4111892aed3f7 [revision 2510]
5218Author: Janne Grunau <janne-x264@jannau.net>
5219AuthorDate: Fri Oct 10 10:29:15 2014 +0200
5220Commit: Anton Mitrofanov <BugMaster@narod.ru>
5221CommitDate: Tue Dec 16 20:40:02 2014 +0300
5222
5223 aarch64: NEON asm for intra chroma deblocking
5224
5225 deblock_h_chroma_420_intra, deblock_h_chroma_422_intra and
5226 x264_deblock_h_chroma_intra_mbaff_neon are ~3 times faster.
5227 deblock_chroma_intra[1] is ~4 times faster than C.
5228
5229commit ce6c94c0bef3350e9546302aae5909404b056fdb [revision 2509]
5230Author: Janne Grunau <janne-x264@jannau.net>
5231AuthorDate: Tue Sep 2 10:27:22 2014 +0200
5232Commit: Anton Mitrofanov <BugMaster@narod.ru>
5233CommitDate: Tue Dec 16 20:40:01 2014 +0300
5234
5235 aarch64: add myself as author to aarch64/mc.h
5236
5237commit be7e5fa6eee2731abdb1b41bc2a4c1a29e672747 [revision 2508]
5238Author: Janne Grunau <janne-x264@jannau.net>
5239AuthorDate: Thu Aug 14 14:22:50 2014 +0100
5240Commit: Anton Mitrofanov <BugMaster@narod.ru>
5241CommitDate: Tue Dec 16 20:40:00 2014 +0300
5242
5243 aarch64: NEON asm for integral init
5244
5245 integral_init4h_neon and integral_init8h_neon are 3-4 times faster than
5246 C. integral_init8v_neon is 6 times faster and integral_init4v_neon is 10
5247 times faster.
5248
5249commit eb1d35725e542968c4a6480c157db40570477a95 [revision 2507]
5250Author: Janne Grunau <janne-x264@jannau.net>
5251AuthorDate: Wed Aug 13 13:30:53 2014 +0100
5252Commit: Anton Mitrofanov <BugMaster@narod.ru>
5253CommitDate: Tue Dec 16 20:39:59 2014 +0300
5254
5255 aarch64: NEON asm for 8x16c intra prediction
5256
5257 Between 10% and 40% faster than C.
5258
5259commit 40d5db342b7f5198db9826a51f31e454bd208596 [revision 2506]
5260Author: Janne Grunau <janne-x264@jannau.net>
5261AuthorDate: Tue Aug 12 17:26:10 2014 +0200
5262Commit: Anton Mitrofanov <BugMaster@narod.ru>
5263CommitDate: Tue Dec 16 20:39:58 2014 +0300
5264
5265 aarch64: NEON asm for decimate_score
5266
5267 decimate_score15 and 16 are 60% faster, decimate_score64 is 4 times
5268 faster than C.
5269
5270commit 45e1ebf88a1c3bf37e1326ce621a9b735d155885 [revision 2505]
5271Author: Janne Grunau <janne-x264@jannau.net>
5272AuthorDate: Fri Aug 8 11:19:35 2014 +0100
5273Commit: Anton Mitrofanov <BugMaster@narod.ru>
5274CommitDate: Tue Dec 16 20:39:57 2014 +0300
5275
5276 aarch64: implement x264_sub8x16_dct_dc_neon
5277
5278 4 times faster than C.
5279
5280commit 90f0b5c1c881f345c9da15bc482055f2a92f8ceb [revision 2504]
5281Author: Janne Grunau <janne-x264@jannau.net>
5282AuthorDate: Thu Aug 7 19:46:07 2014 +0200
5283Commit: Anton Mitrofanov <BugMaster@narod.ru>
5284CommitDate: Tue Dec 16 20:39:56 2014 +0300
5285
5286 aarch64: implement x264_pixel_asd8_neon
5287
5288 7 times faster than C.
5289
5290commit f8f8d13d5978b13fc831e041e52aa617550bbdf3 [revision 2503]
5291Author: Janne Grunau <janne-x264@jannau.net>
5292AuthorDate: Thu Aug 7 16:49:12 2014 +0200
5293Commit: Anton Mitrofanov <BugMaster@narod.ru>
5294CommitDate: Tue Dec 16 20:39:55 2014 +0300
5295
5296 aarch64: NEON asm for 4x16 sad, satd and ssd
5297
5298 pixel_sad_4x16_neon: 33% faster than C
5299 pixel_satd_4x16_neon: 5 times faster
5300 pixel_ssd_4x16_neon: 4 times faster
5301
5302commit 35b91f2410dcf4fc5191dd85ccda7a42eb01eae8 [revision 2502]
5303Author: Janne Grunau <janne-x264@jannau.net>
5304AuthorDate: Wed Jul 30 15:48:25 2014 +0100
5305Commit: Anton Mitrofanov <BugMaster@narod.ru>
5306CommitDate: Tue Dec 16 20:39:54 2014 +0300
5307
5308 aarch64: implement x264_pixel_ssd_nv12_core_neon
5309
5310 13 times faster than C.
5311
5312commit 99a1ca1f1a62d51e47d1ac2c92ee9c3bf3b5712b [revision 2501]
5313Author: Janne Grunau <janne-x264@jannau.net>
5314AuthorDate: Tue Jul 29 18:26:11 2014 +0100
5315Commit: Anton Mitrofanov <BugMaster@narod.ru>
5316CommitDate: Tue Dec 16 20:39:52 2014 +0300
5317
5318 aarch64: implement x264_pixel_vsad_neon
5319
5320 35 times faster than C.
5321
5322commit 6c1632493e5afac8be1e1693377dab27f4704a1d [revision 2500]
5323Author: Janne Grunau <janne-x264@jannau.net>
5324AuthorDate: Tue Jul 29 11:06:24 2014 +0100
5325Commit: Anton Mitrofanov <BugMaster@narod.ru>
5326CommitDate: Tue Dec 16 20:39:51 2014 +0300
5327
5328 aarch64: NEON asm for missing x264_zigzag_* functions
5329
5330 zigzag_scan_4x4_field_neon, zigzag_sub_4x4_field_neon,
5331 zigzag_sub_4x4ac_field_neon, zigzag_sub_4x4_frame_neon,
5332 igzag_sub_4x4ac_frame_neon more than 2 times faster
5333
5334 zigzag_scan_8x8_frame_neon, zigzag_scan_8x8_field_neon,
5335 zigzag_sub_8x8_field_neon, zigzag_sub_8x8_frame_neon 4-5 times faster
5336
5337 zigzag_interleave_8x8_cavlc_neon 6 times faster
5338
5339commit d040d28514db7d1fbd5c3f06c37a77de14b15e5b [revision 2499]
5340Author: Janne Grunau <janne-x264@jannau.net>
5341AuthorDate: Fri Jul 25 11:53:17 2014 +0100
5342Commit: Anton Mitrofanov <BugMaster@narod.ru>
5343CommitDate: Tue Dec 16 20:39:50 2014 +0300
5344
5345 aarch64: implement x264_pixel_sa8d_satd_16x16_neon
5346
5347 ~20% faster than calling pixel_sa8d_16x16 and pixel_satd_16x16
5348 separately.
5349
5350commit 91a01d4ca95ee1c621578e118b86d767eab96b3b [revision 2498]
5351Author: Janne Grunau <janne-x264@jannau.net>
5352AuthorDate: Thu Aug 14 23:13:27 2014 +0200
5353Commit: Anton Mitrofanov <BugMaster@narod.ru>
5354CommitDate: Tue Dec 16 20:39:49 2014 +0300
5355
5356 aarch64: optimize x264_predict_8x8c_dc_left_neon
5357
5358 25% faster than the previous version.
5359
5360commit 8ae4e1cfa3d16451ccf285228d309f6f4940a747 [revision 2497]
5361Author: Henrik Gramner <henrik@gramner.com>
5362AuthorDate: Sat Aug 2 18:26:18 2014 +0200
5363Commit: Henrik Gramner <henrik@gramner.com>
5364CommitDate: Sat Dec 13 00:42:28 2014 +0100
5365
5366 x86: Make AVX2 also imply FMA3
5367
5368 All CPUs with AVX2 supports FMA3 (but not the other way around).
5369
5370commit 06882793b260824bc578d0530f64e7f30f2a9f39 [revision 2496]
5371Author: Anton Mitrofanov <BugMaster@narod.ru>
5372AuthorDate: Thu Nov 13 22:52:00 2014 +0300
5373Commit: Henrik Gramner <henrik@gramner.com>
5374CommitDate: Sat Dec 13 00:42:19 2014 +0100
5375
5376 Simplify libx264 API usage example
5377
5378commit 6a301b6ee0ae8c78fb704e1cd86f4e861070f641 [revision 2495]
5379Author: Henrik Gramner <henrik@gramner.com>
5380AuthorDate: Fri Nov 21 23:47:20 2014 +0100
5381Commit: Henrik Gramner <henrik@gramner.com>
5382CommitDate: Sat Dec 13 00:41:39 2014 +0100
5383
5384 AvxSynth: Remove a bunch of unused cruft
5385
5386commit 30140b34b879605cf70cab0634a4a8faef5b6e60 [revision 2494]
5387Author: Anton Mitrofanov <BugMaster@narod.ru>
5388AuthorDate: Wed Dec 3 22:36:12 2014 +0300
5389Commit: Henrik Gramner <henrik@gramner.com>
5390CommitDate: Sat Dec 13 00:34:15 2014 +0100
5391
5392 Fix bugs/typos in motion compensation and cache_load
5393
5394 Didn't affect output due to the incorrect values either not being used in the
5395 code path or producing equal results compared to the correct values.
5396
5397 Also deduplicate hpel_ref arrays.
5398
5399commit a46820e00ad3c86b80f5830ed92553de474b7d5c [revision 2493]
5400Author: Anton Mitrofanov <BugMaster@narod.ru>
5401AuthorDate: Sun Nov 30 23:39:28 2014 +0300
5402Commit: Anton Mitrofanov <BugMaster@narod.ru>
5403CommitDate: Mon Dec 1 23:47:58 2014 +0300
5404
5405 checkasm: Fix undefined behavior warnings
5406
5407commit 4e97ca566fdf6cd36281e26ee68f64993f4751a1 [revision 2492]
5408Author: Henrik Gramner <henrik@gramner.com>
5409AuthorDate: Sat Nov 29 18:47:52 2014 +0100
5410Commit: Henrik Gramner <henrik@gramner.com>
5411CommitDate: Sat Nov 29 19:13:24 2014 +0100
5412
5413 checkasm: Fix V210 reporting
5414
5415 It would previously report FAILED if any of the earlier plane_copy tests failed.
5416
5417commit 24e4fed388fcb34c33df7c87e7d6758b9ebed40c [revision 2491]
5418Author: Anton Mitrofanov <BugMaster@narod.ru>
5419AuthorDate: Sun Oct 12 21:01:53 2014 +0400
5420Commit: Fiona <fiona@x264.com>
5421CommitDate: Fri Oct 17 14:25:43 2014 -0700
5422
5423 Safety check against malicious high bit-depth input which could cause crash
5424
5425commit 9bec6fed6d1b95f9921f22ba21e7398eff50b75e [revision 2490]
5426Author: Anton Mitrofanov <BugMaster@narod.ru>
5427AuthorDate: Sun Oct 12 20:45:40 2014 +0400
5428Commit: Fiona <fiona@x264.com>
5429CommitDate: Fri Oct 17 14:25:28 2014 -0700
5430
5431 libx264 API usage example
5432
5433commit 329fe5f6498be7ab337d98ac22c17d379335c854 [revision 2489]
5434Author: Henrik Gramner <henrik@gramner.com>
5435AuthorDate: Fri Oct 17 21:35:42 2014 +0200
5436Commit: Fiona <fiona@x264.com>
5437CommitDate: Fri Oct 17 13:22:55 2014 -0700
5438
5439 x86: AVX2 high bit-depth var_16x16
5440
5441 40->27 cycles on Haswell.
5442
5443commit 4576cfd8c391b27748d6f97f5b621cec4ed8047c [revision 2488]
5444Author: Henrik Gramner <henrik@gramner.com>
5445AuthorDate: Wed Oct 8 22:25:35 2014 +0200
5446Commit: Fiona <fiona@x264.com>
5447CommitDate: Wed Oct 8 17:17:27 2014 -0700
5448
5449 checkasm: Serialize read_time() calls on x86
5450
5451 Improves the accuracy of benchmarks, especially in short functions.
5452
5453 To quote the Intel 64 and IA-32 Architectures Software Developer's Manual:
5454 "The RDTSC instruction is not a serializing instruction. It does not necessarily
5455 wait until all previous instructions have been executed before reading the counter.
5456 Similarly, subsequent instructions may begin execution before the read operation
5457 is performed. If software requires RDTSC to be executed only after all previous
5458 instructions have completed locally, it can either use RDTSCP (if the processor
5459 supports that instruction) or execute the sequence LFENCE;RDTSC."
5460
5461 RDTSCP would accomplish the same task, but it's only available since Nehalem.
5462
5463 This change makes SSE2 a requirement to run checkasm.
5464
5465commit b85a74a22f79c8722674c4cfd7cddf5f54c8421d [revision 2487]
5466Author: Vittorio Giovara <vittorio.giovara@gmail.com>
5467AuthorDate: Mon Sep 29 18:51:30 2014 +0100
5468Commit: Fiona Glaser <fiona@x264.com>
5469CommitDate: Mon Sep 29 11:55:36 2014 -0700
5470
5471 Support case-independent string options
5472
5473commit 20f116b29e93574e9607d1abf2960f32b5730e52 [revision 2486]
5474Author: Anton Mitrofanov <BugMaster@narod.ru>
5475AuthorDate: Sat Sep 6 20:44:49 2014 +0400
5476Commit: Fiona Glaser <fiona@x264.com>
5477CommitDate: Tue Sep 16 12:12:04 2014 -0700
5478
5479 Shut up gcc -Wuninitialized warnings
5480
5481commit 3df1d248dd8a4b0d0dffd149effe2bde38de49aa [revision 2485]
5482Author: Anton Mitrofanov <BugMaster@narod.ru>
5483AuthorDate: Fri Sep 5 19:43:52 2014 +0400
5484Commit: Fiona Glaser <fiona@x264.com>
5485CommitDate: Tue Sep 16 12:12:04 2014 -0700
5486
5487 Shut up clang -Wuninitialized warning
5488
5489commit 01204b60367f4959e8393652dd30f0cfba2d2c80 [revision 2484]
5490Author: Anton Mitrofanov <BugMaster@narod.ru>
5491AuthorDate: Fri Sep 5 19:30:47 2014 +0400
5492Commit: Fiona Glaser <fiona@x264.com>
5493CommitDate: Tue Sep 16 12:12:03 2014 -0700
5494
5495 Fix few clang -Wunused-* warnings
5496
5497commit 9df377f87702c82a2202d34919c07e32c60b40ae [revision 2483]
5498Author: Anton Mitrofanov <BugMaster@narod.ru>
5499AuthorDate: Thu Aug 28 20:13:13 2014 +0400
5500Commit: Fiona Glaser <fiona@x264.com>
5501CommitDate: Tue Sep 16 12:11:42 2014 -0700
5502
5503 Fix inappropriate instruction use
5504
5505commit 73b8686fc22c9247d90963983d406cd7b9131068 [revision 2482]
5506Author: Anton Mitrofanov <BugMaster@narod.ru>
5507AuthorDate: Thu Aug 28 18:38:53 2014 +0400
5508Commit: Fiona Glaser <fiona@x264.com>
5509CommitDate: Tue Sep 16 12:11:41 2014 -0700
5510
5511 x264asm: warn when inappropriate instruction used in function with specified cpuflags
5512
5513commit 204a9bd0a1bc507cbd69a77f3318afcb56ede65d [revision 2481]
5514Author: Anton Mitrofanov <BugMaster@narod.ru>
5515AuthorDate: Tue Sep 2 01:48:00 2014 +0400
5516Commit: Fiona Glaser <fiona@x264.com>
5517CommitDate: Wed Sep 3 10:33:45 2014 -0700
5518
5519 Fix VBV with true VFR streams
5520
5521commit b36d44c68cddff00c5b6de1e6cb6a86c1af2cbfc [revision 2480]
5522Author: Anton Mitrofanov <BugMaster@narod.ru>
5523AuthorDate: Mon Sep 1 22:45:00 2014 +0400
5524Commit: Fiona Glaser <fiona@x264.com>
5525CommitDate: Wed Sep 3 10:33:34 2014 -0700
5526
5527 Fix VBV
5528
5529commit dd79a61e0e354a432907f2d1f7137b27a12dfce7 [revision 2479]
5530Author: Anton Mitrofanov <BugMaster@narod.ru>
5531AuthorDate: Wed Jul 30 03:03:32 2014 +0400
5532Commit: Fiona Glaser <fiona@x264.com>
5533CommitDate: Tue Aug 26 09:19:25 2014 -0700
5534
5535 Update to the current lavf API and fix memory leak when using --seek
5536
5537commit 91727d729a4a33a3f21188f838077040740cb353 [revision 2478]
5538Author: Henrik Gramner <henrik@gramner.com>
5539AuthorDate: Tue Aug 5 01:42:55 2014 +0200
5540Commit: Fiona Glaser <fiona@x264.com>
5541CommitDate: Tue Aug 26 09:19:25 2014 -0700
5542
5543 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
5544
5545 Previously there was a limit of two cpuflags.
5546
5547commit d4317786b8428b00978459f6de3db219f0f6f8e6 [revision 2477]
5548Author: Henrik Gramner <henrik@gramner.com>
5549AuthorDate: Tue Aug 5 01:42:51 2014 +0200
5550Commit: Fiona Glaser <fiona@x264.com>
5551CommitDate: Tue Aug 26 09:19:24 2014 -0700
5552
5553 x86: Minor pixel_ssim_end4 improvements
5554
5555 Reduce the number of vector registers used from 7 to 5.
5556 Eliminate some moves in the AVX implementation.
5557 Avoid bypass delays for transitioning between int and float domains.
5558
5559commit 98100b88b475227f375d9bcbaea0bac57008accc [revision 2476]
5560Author: Henrik Gramner <henrik@gramner.com>
5561AuthorDate: Tue Aug 5 01:42:47 2014 +0200
5562Commit: Fiona Glaser <fiona@x264.com>
5563CommitDate: Tue Aug 26 09:19:24 2014 -0700
5564
5565 x86: Faster quant_4x4x4
5566
5567 Also drop the MMX version instead of doing a bunch of ifdeffery to support it after this change.
5568
5569commit 56fcb444c4c118ff67cf12838d2b2801d7b43407 [revision 2475]
5570Author: Anton Mitrofanov <BugMaster@narod.ru>
5571AuthorDate: Sun Aug 10 22:46:12 2014 +0400
5572Commit: Fiona Glaser <fiona@x264.com>
5573CommitDate: Tue Aug 26 09:19:24 2014 -0700
5574
5575 configure: improve cc_check for clang and ICL to not ignore unknown options
5576
5577commit ecb04d08af654a7cfd5b9aa6261bd789de20613a [revision 2474]
5578Author: Henrik Gramner <henrik@gramner.com>
5579AuthorDate: Tue Aug 5 01:42:44 2014 +0200
5580Commit: Fiona Glaser <fiona@x264.com>
5581CommitDate: Tue Aug 26 09:19:23 2014 -0700
5582
5583 checkasm: Only call x264_cpu_detect() once
5584
5585commit 1343db872b1d7d43dc7fb431a8207efb5ca31e2e [revision 2473]
5586Author: Janne Grunau <janne-x264@jannau.net>
5587AuthorDate: Fri Jul 18 14:49:10 2014 +0100
5588Commit: Fiona Glaser <fiona@x264.com>
5589CommitDate: Tue Aug 26 09:19:23 2014 -0700
5590
5591 aarch64: deblocking NEON asm
5592
5593 Deblock chroma/luma are based on libav's h264 aarch64 NEON deblocking
5594 filter which was ported by me from the existing ARM NEON asm. No
5595 additional persons to ask for a relicense.
5596
5597commit 3c1fa5d9b2ea62f05473080313c543b7e795b307 [revision 2472]
5598Author: Janne Grunau <janne-x264@jannau.net>
5599AuthorDate: Fri Jul 18 09:29:35 2014 +0100
5600Commit: Fiona Glaser <fiona@x264.com>
5601CommitDate: Tue Aug 26 09:19:23 2014 -0700
5602
5603 aarch64: intra predition NEON asm
5604
5605 Ported from the ARM NEON asm.
5606
5607commit 556b0e7928d14818454e0c33032754f6323f02e9 [revision 2471]
5608Author: Janne Grunau <janne-x264@jannau.net>
5609AuthorDate: Thu Jul 17 15:58:44 2014 +0100
5610Commit: Fiona Glaser <fiona@x264.com>
5611CommitDate: Tue Aug 26 09:19:22 2014 -0700
5612
5613 aarch64: motion compensation NEON asm
5614
5615 Ported from the ARM NEON asm.
5616
5617commit 6cda439867fcd9e884a10502845fb79fc7ffed69 [revision 2470]
5618Author: Janne Grunau <janne-x264@jannau.net>
5619AuthorDate: Wed Jul 16 10:03:52 2014 +0100
5620Commit: Fiona Glaser <fiona@x264.com>
5621CommitDate: Tue Aug 26 09:19:22 2014 -0700
5622
5623 aarch64: transform and zigzag NEON asm
5624
5625 Ported from the ARM NEON asm.
5626
5627commit db5c504aa06550f8e916157d1dcc657818e84d62 [revision 2469]
5628Author: Janne Grunau <janne-x264@jannau.net>
5629AuthorDate: Tue Jul 15 12:57:03 2014 +0100
5630Commit: Fiona Glaser <fiona@x264.com>
5631CommitDate: Tue Aug 26 09:19:22 2014 -0700
5632
5633 aarch64: quantization and level-run NEON asm
5634
5635 Ported from the ARM NEON asm.
5636
5637commit f4a82a54885f3dad7106a6855eaef50ea085b27e [revision 2468]
5638Author: Janne Grunau <janne-x264@jannau.net>
5639AuthorDate: Wed Mar 19 13:48:21 2014 +0100
5640Commit: Fiona Glaser <fiona@x264.com>
5641CommitDate: Tue Aug 26 09:19:21 2014 -0700
5642
5643 aarch64: pixel metrics NEON asm
5644
5645 Ported from the ARM NEON asm.
5646
5647commit 3e57554ee4db6ade7a2dccaac92cb8116f3a43d6 [revision 2467]
5648Author: Janne Grunau <janne-x264@jannau.net>
5649AuthorDate: Fri Jul 18 17:44:57 2014 +0200
5650Commit: Fiona Glaser <fiona@x264.com>
5651CommitDate: Tue Aug 26 09:19:21 2014 -0700
5652
5653 aarch64: add utility functions for asm
5654
5655commit efaf0b88f7c703533ee8857a6a5039cf64bce3a0 [revision 2466]
5656Author: Janne Grunau <janne-x264@jannau.net>
5657AuthorDate: Wed Mar 19 13:45:17 2014 +0100
5658Commit: Fiona Glaser <fiona@x264.com>
5659CommitDate: Tue Aug 26 09:19:21 2014 -0700
5660
5661 aarch64: add armv8 and neon cpu flags and test them
5662
5663commit 943128a527d1b98a63017d58cd1fcf53aaffcb6e [revision 2465]
5664Author: Janne Grunau <janne-x264@jannau.net>
5665AuthorDate: Tue Mar 18 22:10:24 2014 +0100
5666Commit: Fiona Glaser <fiona@x264.com>
5667CommitDate: Tue Aug 26 09:19:20 2014 -0700
5668
5669 aarch64: initial build support
5670
5671commit ee427b69868d506182f4e22bffdc45e913f255af [revision 2464]
5672Author: Janne Grunau <janne-x264@jannau.net>
5673AuthorDate: Tue Jul 22 19:28:27 2014 +0200
5674Commit: Fiona Glaser <fiona@x264.com>
5675CommitDate: Tue Aug 26 09:19:20 2014 -0700
5676
5677 checkasm: test zigzag_sub_8x8_{frame,field}
5678
5679commit 69740fd362ee1c0a2e80d6f4e2724d731a3c951c [revision 2463]
5680Author: Janne Grunau <janne-x264@jannau.net>
5681AuthorDate: Sun Jul 20 18:29:01 2014 +0200
5682Commit: Fiona Glaser <fiona@x264.com>
5683CommitDate: Tue Aug 26 09:19:20 2014 -0700
5684
5685 arm: use long multiplication in mc_weight_w*_neon
5686
5687 9-19% faster on a cortex-a9.
5688
5689commit 0a05b3f9aa8c524a67119ec5eb6bcc24eb8f2f3b [revision 2462]
5690Author: Janne Grunau <janne-x264@jannau.net>
5691AuthorDate: Sun Jul 20 18:24:57 2014 +0200
5692Commit: Fiona Glaser <fiona@x264.com>
5693CommitDate: Tue Aug 26 09:19:20 2014 -0700
5694
5695 arm: do not use aligned stores in mc_weight_w4_*neon
5696
5697 mc_weight_w4_*neon is also used for width 2 which does not guarantee
5698 4-byte aligned destination. Fixes crashes caused by random memory
5699 corruption.
5700
5701commit c2df1fc65c98e213c444134d5dbbb79d439af4db [revision 2461]
5702Author: Janne Grunau <janne-x264@jannau.net>
5703AuthorDate: Wed Apr 2 16:31:28 2014 +0200
5704Commit: Fiona Glaser <fiona@x264.com>
5705CommitDate: Tue Aug 26 09:19:19 2014 -0700
5706
5707 checkasm: add memory clobber to read_time inline asm
5708
5709 The memory acts as compiler barrier preventing aggressive reordering
5710 of read_time calls. gcc 4.8 reorders some of initial read_time calls
5711 after the second when targeting arm.
5712
5713commit d72760401cb0602b8bf86037988e66cdc810681c [revision 2460]
5714Author: Janne Grunau <janne-x264@jannau.net>
5715AuthorDate: Sun Jul 20 13:32:10 2014 +0200
5716Commit: Fiona Glaser <fiona@x264.com>
5717CommitDate: Tue Aug 26 09:19:19 2014 -0700
5718
5719 arm: check if the assembler supports the '.func' directive
5720
5721 The integrated assembler in llvm trunk (to be released as 3.5) is
5722 otherwise capable enough to assemble the arm asm correctly.
5723
5724commit 9463ec0004f1bddc49c05ed8e38430a4ce1738fb [revision 2459]
5725Author: Janne Grunau <janne-x264@jannau.net>
5726AuthorDate: Sun Jul 20 13:40:28 2014 +0200
5727Commit: Fiona Glaser <fiona@x264.com>
5728CommitDate: Tue Aug 26 09:19:19 2014 -0700
5729
5730 arm/ppc: use $CC as default assembler
5731
5732commit feec4a478bfdfb4426268b2ee79bac473b97488c [revision 2458]
5733Author: Janne Grunau <janne-x264@jannau.net>
5734AuthorDate: Sun Jul 20 13:34:27 2014 +0200
5735Commit: Fiona Glaser <fiona@x264.com>
5736CommitDate: Tue Aug 26 09:19:18 2014 -0700
5737
5738 arm: move instructions after '.rept' to separate line
5739
5740 The gas manual states "Repeat the sequence of lines between the .rept
5741 directive and the next .endr directive ...". GNU as seems to support
5742 instructions on the same line as .rept anyway but the integrated
5743 assembler in llvm trunk (to be released 3.5 in August 2014) does not.
5744
5745commit 6e8971021d2a12505cb2ad9ea677dfc8af676919 [revision 2457]
5746Author: Janne Grunau <janne-x264@jannau.net>
5747AuthorDate: Sun Jul 20 13:08:17 2014 +0200
5748Commit: Fiona Glaser <fiona@x264.com>
5749CommitDate: Tue Aug 26 09:19:18 2014 -0700
5750
5751 arm: set .arch/.fpu from asm.S
5752
5753commit 716ee56d0b35e512e8e0ae1a3e71f26e65e86be3 [revision 2456]
5754Author: Janne Grunau <janne-x264@jannau.net>
5755AuthorDate: Sun Jul 20 12:55:53 2014 +0200
5756Commit: Fiona Glaser <fiona@x264.com>
5757CommitDate: Tue Aug 26 09:19:18 2014 -0700
5758
5759 arm: do not append CFLAGS to ASFLAGS
5760
5761commit 021c0dc6c95c1bc239c9db78a80dd85fc856a4dd [revision 2455]
5762Author: Tristan Matthews <le.businessman@gmail.com>
5763AuthorDate: Thu Jul 17 00:03:50 2014 -0400
5764Commit: Fiona Glaser <fiona@x264.com>
5765CommitDate: Tue Aug 26 09:19:17 2014 -0700
5766
5767 filters: fix sizeof mismatch
5768
5769commit 95beb822e61a8d84dba9743f4b20b4c303f26798 [revision 2454]
5770Author: Anton Mitrofanov <BugMaster@narod.ru>
5771AuthorDate: Thu Jul 31 16:17:32 2014 +0400
5772Commit: Fiona Glaser <fiona@x264.com>
5773CommitDate: Tue Aug 26 09:19:17 2014 -0700
5774
5775 Fix memory leak when using select_every filter
5776
5777commit ea0ca51e94323318b95bd8b27b7f9438cdcf4d9e [revision 2453]
5778Author: Tsukasa OMOTO <henry0312@gmail.com>
5779AuthorDate: Sun Jul 20 22:17:11 2014 +0900
5780Commit: Fiona Glaser <fiona@x264.com>
5781CommitDate: Sun Jul 20 11:20:34 2014 -0700
5782
5783 Fix cltostr.sh on OS X
5784
5785commit 08d36b3fc975d049aa3786ca34fb0b2f2ba0007c [revision 2452]
5786Author: Fiona Glaser <fiona@x264.com>
5787AuthorDate: Wed Jul 9 12:21:33 2014 -0700
5788Commit: Fiona Glaser <fiona@x264.com>
5789CommitDate: Sat Jul 19 20:53:02 2014 -0700
5790
5791 Check pf_log is set in validate_parameters
5792
5793 Help remind people to call x264_param_default in case they didn't read the
5794 documentation.
5795
5796commit 9e93d18b7fe7668f8277b5f117d7e39be24c6070 [revision 2451]
5797Author: Anton Mitrofanov <BugMaster@narod.ru>
5798AuthorDate: Wed Jul 9 17:17:04 2014 +0400
5799Commit: Fiona Glaser <fiona@x264.com>
5800CommitDate: Sat Jul 19 20:53:01 2014 -0700
5801
5802 Check malloc during frame dumping
5803
5804commit 8a85db879d57537f91a9908be3585512981c08b8 [revision 2450]
5805Author: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
5806AuthorDate: Thu Jun 19 05:21:29 2014 +0900
5807Commit: Fiona Glaser <fiona@x264.com>
5808CommitDate: Sat Jul 19 20:53:01 2014 -0700
5809
5810 mp4_lsmash: Use new I/O API instead of deprecated one.
5811
5812commit f112c0e1cae71eb5b98b4f86f635f235cc7b81cb [revision 2449]
5813Author: Anton Mitrofanov <BugMaster@narod.ru>
5814AuthorDate: Sun Jun 8 22:19:46 2014 +0400
5815Commit: Fiona Glaser <fiona@x264.com>
5816CommitDate: Sat Jul 19 20:53:01 2014 -0700
5817
5818 Remove meaningless use of abs()
5819
5820commit 6fbbb5b0c05a1d95cbd6efa7f01808ea87a39dc9 [revision 2448]
5821Author: Steven Walters <kemuri9@gmail.com>
5822AuthorDate: Sat May 31 10:31:16 2014 -0400
5823Commit: Fiona Glaser <fiona@x264.com>
5824CommitDate: Sat Jul 19 20:53:00 2014 -0700
5825
5826 MSVS 2013 Update 2 support
5827
5828 The first MSVS compiler C99 compliant enough to build x264.
5829 Use `CC=cl ./configure` to compile with it.
5830
5831commit f53af048ed94551734265cf8f9dbe12d211a77fc [revision 2447]
5832Author: Diego Biurrun <diego@biurrun.de>
5833AuthorDate: Tue Apr 15 22:54:08 2014 +0200
5834Commit: Fiona Glaser <fiona@x264.com>
5835CommitDate: Sat Jul 19 20:53:00 2014 -0700
5836
5837 configure: Add -Wno-maybe-uninitialized to CFLAGS
5838
5839 The warnings generated by -Wmaybe-uninitialized are mostly spurious.
5840
5841commit cbd8d7b6db1f29929d1ad347e15afe7828ad7055 [revision 2446]
5842Author: Diego Biurrun <diego@biurrun.de>
5843AuthorDate: Wed May 7 13:20:43 2014 +0200
5844Commit: Fiona Glaser <fiona@x264.com>
5845CommitDate: Sat Jul 19 20:53:00 2014 -0700
5846
5847 build: Replace cltostr.pl by a shell script
5848
5849 This avoids a dependency on Perl to build OpenCL support.
5850
5851commit d8b6ce7f703d3c9d83dbd4e8ef44cfabc7e2f78e [revision 2445]
5852Author: Diego Biurrun <diego@biurrun.de>
5853AuthorDate: Tue Apr 15 23:02:39 2014 +0200
5854Commit: Fiona Glaser <fiona@x264.com>
5855CommitDate: Sat Jul 19 20:52:59 2014 -0700
5856
5857 build: Simplify phony target declaration with wildcards
5858
5859 Also add etags to list of phony targets.
5860
5861commit 2bd932fdf053faace84028a66d8ba9e17d526456 [revision 2444]
5862Author: Diego Biurrun <diego@biurrun.de>
5863AuthorDate: Wed May 7 12:47:37 2014 +0200
5864Commit: Fiona Glaser <fiona@x264.com>
5865CommitDate: Sat Jul 19 20:52:59 2014 -0700
5866
5867 configure: Drop workaround for obsolete gcc 4.2 on ARM
5868
5869commit 31311f254971e1da51d817cb580fc4fe1f4d5f20 [revision 2443]
5870Author: Diego Biurrun <diego@biurrun.de>
5871AuthorDate: Wed May 7 21:43:15 2014 +0200
5872Commit: Fiona Glaser <fiona@x264.com>
5873CommitDate: Sat Jul 19 20:52:59 2014 -0700
5874
5875 build: Add dependencies on x86inc.asm/x86util.asm for all .asm files
5876
5877 This is a little bit overzealous, but errs on the side of caution.
5878 Generating full dependency information is also possible, but slightly
5879 slows down the build as YASM cannot do it as a sideeffect of compilation.
5880
5881commit 016831ec7b3a4a7062908243dbde62d7d89b334e [revision 2442]
5882Author: Diego Biurrun <diego@biurrun.de>
5883AuthorDate: Sun Apr 27 21:09:54 2014 +0200
5884Commit: Fiona Glaser <fiona@x264.com>
5885CommitDate: Sat Jul 19 20:52:58 2014 -0700
5886
5887 Delete all SPARC optimizations
5888
5889 SPARC has been obsolete for a long time and makes little sense as a
5890 H.264 encoding platform.
5891
5892 Also update authors file.
5893
5894commit c7c8eb15923d1888bb87e7642a66b417fab61e76 [revision 2441]
5895Author: Diego Biurrun <diego@biurrun.de>
5896AuthorDate: Wed May 7 12:46:42 2014 +0200
5897Commit: Fiona Glaser <fiona@x264.com>
5898CommitDate: Sat Jul 19 20:52:58 2014 -0700
5899
5900 configure: Don't check for libavcore
5901
5902 libavcore was a never-released bad idea with a short lifespan.
5903
5904commit dd5b5d3959e35c122c7709a9823a26b589c950da [revision 2440]
5905Author: Diego Biurrun <diego@biurrun.de>
5906AuthorDate: Sun Apr 27 23:19:04 2014 +0200
5907Commit: Fiona Glaser <fiona@x264.com>
5908CommitDate: Sat Jul 19 20:52:58 2014 -0700
5909
5910 build: Set all ASFLAGS from within configure
5911
5912 This is how all other toolchain flags are handled.
5913
5914commit c15f20bd772487d863f01a2813a3ab45b1f11a6b [revision 2439]
5915Author: Diego Biurrun <diego@biurrun.de>
5916AuthorDate: Sun Apr 27 23:23:49 2014 +0200
5917Commit: Fiona Glaser <fiona@x264.com>
5918CommitDate: Sat Jul 19 20:52:57 2014 -0700
5919
5920 opencl: Check return value of fread()
5921
5922 common/opencl.c:138:10: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
5923
5924commit af8e768e2bd3b4398bca033998f83b0eb8874914 [revision 2438]
5925Author: Fiona Glaser <fiona@x264.com>
5926AuthorDate: Sat Jul 19 20:34:22 2014 -0700
5927Commit: Fiona Glaser <fiona@x264.com>
5928CommitDate: Sat Jul 19 20:52:57 2014 -0700
5929
5930 Disable i8x8 in lossless
5931
5932 x264's implementation was slightly incorrect due to a vague spec, so some
5933 decoders decoded video incorrectly.
5934
5935 Minimal impact on compression.
5936
5937commit 450cf7ae2592ee0cb474bcefedf90c9911605e26 [revision 2437]
5938Author: Thomas Mundt <loudmax@yahoo.de>
5939AuthorDate: Fri Jun 27 11:12:06 2014 -0700
5940Commit: Fiona Glaser <fiona@x264.com>
5941CommitDate: Sat Jul 19 20:52:56 2014 -0700
5942
5943 AVC-Intra: fix compatibility with Avid Transfermanager
5944
5945commit 6eb483e4ca23f34a6a8fe09f3f2e9c9f192fd76b [revision 2436]
5946Author: Henrik Gramner <henrik@gramner.com>
5947AuthorDate: Tue Jul 8 21:15:32 2014 +0200
5948Commit: Fiona Glaser <fiona@x264.com>
5949CommitDate: Sat Jul 19 20:52:56 2014 -0700
5950
5951 x86: Fix SIGILL in high bit-depth intra_sad_x3_4x4_sse2
5952
5953 An SSE3 instruction was used in an SSE2 function.
5954
5955commit 5e58ce7a8b39ab66c7d6420b85a8e09dd08dfaaf [revision 2435]
5956Author: Anton Mitrofanov <BugMaster@narod.ru>
5957AuthorDate: Wed Jul 9 17:01:54 2014 +0400
5958Commit: Fiona Glaser <fiona@x264.com>
5959CommitDate: Sat Jul 19 20:52:56 2014 -0700
5960
5961 Fix incorrect row predictor addressing
5962
5963 Somehow managed to not cause things to explode, but was clearly incorrect.
5964 Might improve VBV in some cases to have this working right.
5965
5966commit 3fda920e6f1e4a8f76680c001962542866408114 [revision 2434]
5967Author: Anton Mitrofanov <BugMaster@narod.ru>
5968AuthorDate: Sat Jun 21 23:52:39 2014 +0400
5969Commit: Fiona Glaser <fiona@x264.com>
5970CommitDate: Sat Jul 19 20:52:55 2014 -0700
5971
5972 Fix b-pyramid MMCO remove for frame-packing==5
5973
5974commit 92fdb43dd47fbc3368d9d9c7ad940fbe03657bd3 [revision 2433]
5975Author: Tal Aloni <tal.aloni.il@gmail.com>
5976AuthorDate: Tue Jun 17 15:10:56 2014 -0700
5977Commit: Fiona Glaser <fiona@x264.com>
5978CommitDate: Sat Jul 19 20:52:55 2014 -0700
5979
5980 Fix frame-packing==5 with some decoders
5981
5982 The spec mandates that frame-packing==5 requires the SEI on every frame that
5983 begins a view sequence (i.e. the input frames L0-R0-L1-R1 have 4 view sequences,
5984 but if reordered by the encoder to L0-L1-R0-R1 there are now 2 view sequences).
5985 For simplicity, we write the SEI on every frame.
5986
5987 This fixes frame-packing==5 3D playback on some decoders (PlayStation 3, Sony
5988 W8 series, possibly others).
5989
5990commit 13d6dfd83af98e472a9e9a8b6abf5c971707a893 [revision 2432]
5991Author: Anton Mitrofanov <BugMaster@narod.ru>
5992AuthorDate: Thu May 22 13:27:00 2014 +0400
5993Commit: Fiona Glaser <fiona@x264.com>
5994CommitDate: Fri Jun 20 10:05:55 2014 -0700
5995
5996 Fix pixel_ssim_end4 asm function for x86_64 systems
5997
5998commit a5831aa256b3161f898d2577d2eb8daa838d88d2 [revision 2431]
5999Author: James Almer <jamrial@gmail.com>
6000AuthorDate: Wed Apr 9 03:33:06 2014 -0300
6001Commit: Fiona Glaser <fiona@x264.com>
6002CommitDate: Tue Apr 22 15:37:52 2014 -0700
6003
6004 x86: XOP pixel_sad_{x3, x4} high bit-depth
6005
6006commit 0d989a4ff3298f9e495be452880b5f9bfb441e93 [revision 2430]
6007Author: James Almer <jamrial@gmail.com>
6008AuthorDate: Wed Apr 9 03:33:05 2014 -0300
6009Commit: Fiona Glaser <fiona@x264.com>
6010CommitDate: Tue Apr 22 15:37:51 2014 -0700
6011
6012 x86: XOP pixel_ssd_nv12_core
6013
6014commit 9b77dffab04e3ea242598454282b40800e720353 [revision 2429]
6015Author: James Almer <jamrial@gmail.com>
6016AuthorDate: Wed Apr 9 03:33:04 2014 -0300
6017Commit: Fiona Glaser <fiona@x264.com>
6018CommitDate: Tue Apr 22 15:37:51 2014 -0700
6019
6020 x86util: XOP optimized HADDD
6021
6022commit 1e517399f76b12fe2e73892970fe3aac01a178f8 [revision 2428]
6023Author: James Almer <jamrial@gmail.com>
6024AuthorDate: Wed Apr 9 03:33:03 2014 -0300
6025Commit: Fiona Glaser <fiona@x264.com>
6026CommitDate: Tue Apr 22 15:37:51 2014 -0700
6027
6028 x86: add missing initialization for high bit-depth sa8d_satd
6029
6030commit aa00925abd6f9ab4e20216ae5a5ad79b67756162 [revision 2427]
6031Author: James Almer <jamrial@gmail.com>
6032AuthorDate: Sat Apr 5 23:46:31 2014 -0300
6033Commit: Fiona Glaser <fiona@x264.com>
6034CommitDate: Tue Apr 22 15:37:51 2014 -0700
6035
6036 x86: add missing initializations for high bit-depth variance
6037
6038commit fadc4045f91ca78c046f301cba6065732b5d27ea [revision 2426]
6039Author: Janne Grunau <janne-x264@jannau.net>
6040AuthorDate: Tue Apr 1 22:11:45 2014 +0200
6041Commit: Fiona Glaser <fiona@x264.com>
6042CommitDate: Tue Apr 22 15:37:50 2014 -0700
6043
6044 arm: use the weight_fn_t typedef for mc weight function arrays
6045
6046commit 644c396be97c1e6ace144f8be04afab19fb238af [revision 2425]
6047Author: Janne Grunau <janne-x264@jannau.net>
6048AuthorDate: Tue Apr 1 22:11:44 2014 +0200
6049Commit: Fiona Glaser <fiona@x264.com>
6050CommitDate: Tue Apr 22 15:37:50 2014 -0700
6051
6052 arm: correct x264_mc_chroma_neon function declaration
6053
6054commit b2e9ca30f1e9ac25df1f592db04ff0d91faf42d4 [revision 2424]
6055Author: Janne Grunau <janne-x264@jannau.net>
6056AuthorDate: Tue Apr 1 22:11:43 2014 +0200
6057Commit: Fiona Glaser <fiona@x264.com>
6058CommitDate: Tue Apr 22 15:37:50 2014 -0700
6059
6060 arm: do not export every asm function
6061
6062 Based on Libav's libavutil/arm/asm.S. Also prevents having the same
6063 label twice for every function on systems not defining EXTERN_ASM.
6064 Clang's integrated assembler does not like it.
6065
6066commit ceb1484da34b7492f539b535a930652690372fe5 [revision 2423]
6067Author: Janne Grunau <janne-x264@jannau.net>
6068AuthorDate: Tue Apr 1 22:11:42 2014 +0200
6069Commit: Fiona Glaser <fiona@x264.com>
6070CommitDate: Tue Apr 22 15:37:50 2014 -0700
6071
6072 arm: move all .macro/.endm to column 0
6073
6074commit 24ab0e75db887c2b1a412d00878810ed6501061e [revision 2422]
6075Author: William Grant <wgrant@ubuntu.com>
6076AuthorDate: Sun Mar 23 09:21:52 2014 -0700
6077Commit: Fiona Glaser <fiona@x264.com>
6078CommitDate: Tue Apr 22 15:37:49 2014 -0700
6079
6080 aarch64: require PIC in shared mode
6081
6082commit 435722c9c1870cd54fdb89be39250d492aecb598 [revision 2421]
6083Author: Janne Grunau <janne-x264@jannau.net>
6084AuthorDate: Sun Mar 16 17:21:58 2014 +0100
6085Commit: Fiona Glaser <fiona@x264.com>
6086CommitDate: Tue Apr 22 15:37:49 2014 -0700
6087
6088 arm: x264_coeff_last8_arm
6089
6090 checkasm --bench on a coretex-a9:
6091 coeff_last8_c: 173
6092 coeff_last8_armv6: 151
6093
6094 60 instead of 73 cycles in ~130k runs on the same cpu while encoding.
6095
6096commit 2e96c571b8c324304b3d4fbb7914143518349213 [revision 2420]
6097Author: Janne Grunau <janne-x264@jannau.net>
6098AuthorDate: Sat Mar 15 20:09:18 2014 +0100
6099Commit: Fiona Glaser <fiona@x264.com>
6100CommitDate: Tue Apr 22 15:37:49 2014 -0700
6101
6102 arm: x264_store_interleave_chroma_neon
6103
6104 store_interleave_chroma_c: 4036
6105 store_interleave_chroma_neon: 1043
6106
6107commit 1576e51e52148ad1e1d8b5e76562f9eae8d47e6e [revision 2419]
6108Author: Janne Grunau <janne-x264@jannau.net>
6109AuthorDate: Sat Mar 15 19:55:50 2014 +0100
6110Commit: Fiona Glaser <fiona@x264.com>
6111CommitDate: Tue Apr 22 15:37:49 2014 -0700
6112
6113 arm: x264_plane_copy_interleave_neon
6114
6115 plane_copy_interleave_c: 40285
6116 plane_copy_interleave_neon: 10137
6117
6118commit 0016dec27080e53c794d7f919bd6df6b890d0128 [revision 2418]
6119Author: Janne Grunau <janne-x264@jannau.net>
6120AuthorDate: Sat Mar 15 19:21:12 2014 +0100
6121Commit: Fiona Glaser <fiona@x264.com>
6122CommitDate: Tue Apr 22 15:37:49 2014 -0700
6123
6124 arm: x264_plane_copy_deinterleave_rgb_neon
6125
6126 plane_copy_deinterleave_rgb_c: 31543
6127 plane_copy_deinterleave_rgb_neon: 8312
6128
6129commit 5e0ca9aa4eab5e2cb4b124774c3ecebbc6f1ae35 [revision 2417]
6130Author: Janne Grunau <janne-x264@jannau.net>
6131AuthorDate: Sat Mar 15 18:22:49 2014 +0100
6132Commit: Fiona Glaser <fiona@x264.com>
6133CommitDate: Tue Apr 22 15:37:48 2014 -0700
6134
6135 arm: load_deinterleave_chroma_f{dec,enc}_neon
6136
6137 load_deinterleave_chroma_fdec_c: 4055
6138 load_deinterleave_chroma_fdec_neon: 995
6139 load_deinterleave_chroma_fenc_c: 4071
6140 load_deinterleave_chroma_fenc_neon: 992
6141
6142commit c9a5ae0d219b6a28adebdb83faf89f291611f57b [revision 2416]
6143Author: Janne Grunau <janne-x264@jannau.net>
6144AuthorDate: Sat Mar 15 17:22:08 2014 +0100
6145Commit: Fiona Glaser <fiona@x264.com>
6146CommitDate: Tue Apr 22 15:37:48 2014 -0700
6147
6148 arm: x264_plane_copy_deinterleave_neon
6149
6150 plane_copy_deinterleave_c: 42988
6151 plane_copy_deinterleave_neon: 10184
6152
6153commit c570be3ea9f24942c362e1c2402ec7fccbb5c330 [revision 2415]
6154Author: Janne Grunau <janne-x264@jannau.net>
6155AuthorDate: Sat Mar 15 13:29:41 2014 +0100
6156Commit: Fiona Glaser <fiona@x264.com>
6157CommitDate: Tue Apr 22 15:37:48 2014 -0700
6158
6159 arm: implement deblock_strength_neon
6160
6161 Based on deblock_strength_avx.
6162
6163 checkasm --bench on a cortex-a9:
6164 deblock_strength_c: 14611
6165 deblock_strength_neon: 1848
6166
6167commit 2794ba5bb0007e0edf32d5325ca82cbf654f79b0 [revision 2414]
6168Author: Janne Grunau <janne-x264@jannau.net>
6169AuthorDate: Sat Mar 15 10:51:11 2014 +0100
6170Commit: Fiona Glaser <fiona@x264.com>
6171CommitDate: Tue Apr 22 15:37:48 2014 -0700
6172
6173 arm: add missing macro instantiation for x264_pixel_avg_4x16_neon
6174
6175 checkasm --bench on a cortex-a9:
6176 avg_4x16_c: 8910
6177 avg_4x16_neon: 2091
6178
6179commit d6002ebace8194d17ee0ba607ff82c4f9075dd2d [revision 2413]
6180Author: Janne Grunau <janne-x264@jannau.net>
6181AuthorDate: Thu Mar 13 01:02:13 2014 +0100
6182Commit: Fiona Glaser <fiona@x264.com>
6183CommitDate: Tue Apr 22 15:37:47 2014 -0700
6184
6185 arm: implement x264_predict_4x4_v_armv6
6186
6187 Alone probably not worth it but allows use of predict_4x4_dc|h_armv6
6188 in intra_sad|satd_x3_4x4_neon.
6189
6190commit d7e689680023e327de7e052e01e7faee30135799 [revision 2412]
6191Author: Roland Stigge <stigge@antcom.de>
6192AuthorDate: Sun Mar 23 09:29:37 2014 -0700
6193Commit: Fiona Glaser <fiona@x264.com>
6194CommitDate: Tue Apr 22 15:37:47 2014 -0700
6195
6196 ppc: fix build on certain PowerPC variants without Altivec
6197
6198commit 863ea2a224cf7380c7a6ea9ae531e16b621cc0b7 [revision 2411]
6199Author: Anton Mitrofanov <BugMaster@narod.ru>
6200AuthorDate: Tue Apr 22 00:58:24 2014 +0400
6201Commit: Fiona Glaser <fiona@x264.com>
6202CommitDate: Tue Apr 22 15:37:47 2014 -0700
6203
6204 Only add strip option '-s' for linker flags
6205
6206 Fixes some build warnings with clang.
6207
6208commit 4102614df9a11d66b506fb435132ddd0f88c6f94 [revision 2410]
6209Author: Tsukasa OMOTO <henry0312@gmail.com>
6210AuthorDate: Sat Mar 15 16:53:53 2014 +0900
6211Commit: Fiona Glaser <fiona@x264.com>
6212CommitDate: Mon Apr 21 13:53:44 2014 -0700
6213
6214 configure: remove an unnecessary option from CFLAGS on OS X
6215
6216 Fixes Clang 3.4 compilation on OS X.
6217
6218commit b3fb718404d6cce9c82987ea2909cda5072d040c [revision 2409]
6219Author: Fiona Glaser <fiona@x264.com>
6220AuthorDate: Sun Feb 23 10:36:55 2014 -0800
6221Commit: Fiona Glaser <fiona@x264.com>
6222CommitDate: Thu Mar 13 11:43:17 2014 -0700
6223
6224 Macroblock tree overhaul/optimization
6225
6226 Move the second core part of macroblock tree into an assembly function;
6227 SIMD-optimize roughly half of it (for x86). Roughly ~25-65% faster mbtree,
6228 depending on content.
6229
6230 Slightly change how mbtree handles the tradeoff between range and precision
6231 for propagation.
6232
6233 Overall a slight (but mostly negligible) effect on SSIM and ~2% faster.
6234
6235commit 00a00ccab316de3d50da6a82ba4af44dcb4655ec [revision 2408]
6236Author: Janne Grunau <janne-x264@jannau.net>
6237AuthorDate: Thu Mar 13 00:05:48 2014 +0100
6238Commit: Fiona Glaser <fiona@x264.com>
6239CommitDate: Thu Mar 13 11:43:16 2014 -0700
6240
6241 arm: use available neon functions for intra_sa8d/sad/satd_x3
6242
6243 4% faster on main/medium, 15% faster on baseline/superfast on a cortex-a9.
6244
6245commit ac8f2e8a4cf21b2026957509bea8865ff7879fb4 [revision 2407]
6246Author: Janne Grunau <janne-x264@jannau.net>
6247AuthorDate: Wed Mar 12 14:35:31 2014 +0100
6248Commit: Fiona Glaser <fiona@x264.com>
6249CommitDate: Wed Mar 12 13:17:01 2014 -0700
6250
6251 arm: implement x264_pixel_var2_8x16_neon
6252
6253 checkasm --bench on a cortex-a9:
6254 var2_8x16_c: 5677
6255 var2_8x16_neon: 1421
6256
6257commit 66836125beabdaff561da89ea1e18e566f5d202a [revision 2406]
6258Author: Janne Grunau <janne-x264@jannau.net>
6259AuthorDate: Wed Mar 12 13:16:00 2014 +0100
6260Commit: Fiona Glaser <fiona@x264.com>
6261CommitDate: Wed Mar 12 13:17:01 2014 -0700
6262
6263 arm: implement x264_pixel_var_8x16_neon
6264
6265 checkasm --bench on a cortex-a9:
6266 var_8x16_c: 4306
6267 var_8x16_neon: 791
6268
6269commit a90ea34cf264d6b7733c5ffbe6d46882c306b50f [revision 2405]
6270Author: Henrik Gramner <henrik@gramner.com>
6271AuthorDate: Sun Feb 23 15:33:48 2014 +0100
6272Commit: Fiona Glaser <fiona@x264.com>
6273CommitDate: Tue Mar 11 21:11:05 2014 -0700
6274
6275 x86: SSE2 and SSSE3 plane_copy_deinterleave_rgb
6276
6277 About 5.6x faster than C on Haswell.
6278
6279commit f032147ca69401165495a36cf7aba5b8c95ecb3b [revision 2404]
6280Author: Henrik Gramner <henrik@gramner.com>
6281AuthorDate: Sun Feb 16 21:24:54 2014 +0100
6282Commit: Fiona Glaser <fiona@x264.com>
6283CommitDate: Tue Mar 11 21:11:05 2014 -0700
6284
6285 x86: Minor mbtree_propagate_cost improvements
6286
6287 Reduce the number of registers used from 7 to 6.
6288 Reduce the number of vector registers used by the AVX2 implementation from 8 to 7.
6289 Multiply fps_factor by 1/256 once per frame instead of once per macroblock row.
6290 Use mova instead of movu for dst since it's guaranteed to be aligned.
6291 Some cosmetics.
6292
6293commit 7c860f075ccd14fb7891d5fc6c9eab1a37ea555d [revision 2403]
6294Author: Henrik Gramner <henrik@gramner.com>
6295AuthorDate: Sun Feb 9 23:58:04 2014 +0100
6296Commit: Fiona Glaser <fiona@x264.com>
6297CommitDate: Tue Mar 11 21:11:04 2014 -0700
6298
6299 x86inc: Support arbitrary stack alignments
6300
6301 If the stack is known to be at least 32-byte aligned we can safely store ymm
6302 registers on the stack without doing manual alignment.
6303
6304 Change ALLOC_STACK to always align the stack before allocating stack space for
6305 consistency. Previously alignment would occur either before or after allocating
6306 stack space depending on whether manual alignment was required or not.
6307
6308commit 039fab9203179f9e790abfd54ae5b2254ef803e7 [revision 2402]
6309Author: Anton Mitrofanov <BugMaster@narod.ru>
6310AuthorDate: Fri Feb 14 15:53:58 2014 +0400
6311Commit: Fiona Glaser <fiona@x264.com>
6312CommitDate: Tue Mar 11 21:10:23 2014 -0700
6313
6314 x86inc: warn if XOP integer FMA instruction emulation is impossible
6315
6316 Emulation requires a temporary register if arguments 1 and 4 are the same; this
6317 doesn't obey the semantics of the original instruction, so we can't emulate
6318 that in x86inc.
6319
6320 ffmpeg has an x86util emulation for that case; I'll add it if x264's asm ever
6321 needs it.
6322
6323 Also add pmacsdql emulation.
6324
6325commit 974f2e78e0cb25e06fedbcfef70f80938f22988b [revision 2401]
6326Author: Loren Merritt <pengvado@akuvian.org>
6327AuthorDate: Sat Mar 1 02:57:56 2014 +0000
6328Commit: Fiona Glaser <fiona@x264.com>
6329CommitDate: Tue Mar 11 21:10:23 2014 -0700
6330
6331 x86inc: free up variable name "n" in global namespace
6332
6333commit 8596dd36df38d33d402e848035b1bd31edc2c389 [revision 2400]
6334Author: Henrik Gramner <henrik@gramner.com>
6335AuthorDate: Wed Jan 22 19:09:12 2014 +0100
6336Commit: Fiona Glaser <fiona@x264.com>
6337CommitDate: Tue Mar 11 21:10:22 2014 -0700
6338
6339 x86: Pass -Worphan-labels to yasm
6340
6341 Makes it easier to detect typos.
6342
6343commit 0bb3b2edb866dd852bb1f5faed88df4bdcf0c16f [revision 2399]
6344Author: Steve Lhomme <robux@videolan.org>
6345AuthorDate: Sun Feb 16 13:15:09 2014 +0100
6346Commit: Fiona Glaser <fiona@x264.com>
6347CommitDate: Tue Mar 11 21:10:22 2014 -0700
6348
6349 Write 3D metadata when outputting Matroska
6350
6351 For when --frame-packing is set.
6352
6353commit f35e3fc26b99e1b3c943c131100fdfa4733fc932 [revision 2398]
6354Author: Anton Mitrofanov <BugMaster@narod.ru>
6355AuthorDate: Sun Feb 23 16:56:03 2014 +0400
6356Commit: Fiona Glaser <fiona@x264.com>
6357CommitDate: Tue Mar 11 21:10:22 2014 -0700
6358
6359 Don't set chroma_loc_info_present_flag for non-4:2:0
6360
6361 The H.264 spec says it shouldn't be set in these cases.
6362
6363commit b7a50c16414631c8ff5e417da51b190c8999027e [revision 2397]
6364Author: Fiona Glaser <fiona@x264.com>
6365AuthorDate: Mon Mar 10 08:42:50 2014 -0700
6366Commit: Fiona Glaser <fiona@x264.com>
6367CommitDate: Tue Mar 11 21:10:22 2014 -0700
6368
6369 x264.h: fix documentation
6370
6371 The full details of the return values of encoder_encode and encoder_headers
6372 were mistakenly removed a while ago; re-add them.
6373
6374commit de01d8821b59b85a01c8a89e544e0fed6488b958 [revision 2396]
6375Author: Anton Mitrofanov <BugMaster@narod.ru>
6376AuthorDate: Sun Feb 23 15:52:57 2014 +0400
6377Commit: Fiona Glaser <fiona@x264.com>
6378CommitDate: Tue Mar 11 21:10:20 2014 -0700
6379
6380 Fix pointer cast warning for 64-bit builds
6381
6382commit 8b821ec19ba9425c120b8986a57ca7c6b9f088ed [revision 2395]
6383Author: Anton Mitrofanov <BugMaster@narod.ru>
6384AuthorDate: Mon Mar 10 16:48:02 2014 +0400
6385Commit: Fiona Glaser <fiona@x264.com>
6386CommitDate: Tue Mar 11 14:48:15 2014 -0700
6387
6388 mbaff: fix mb_field_decoding_flag tracking and simplify allow skip check
6389
6390 Fixes an issue with too many forced non-skips in mbaff+cavlc, as well as
6391 non-deterministic output with mbaff+cavlc+sliced-threads.
6392
6393commit 850c8c5d6139df82e969d2174eebba69b479aa16 [revision 2394]
6394Author: Anton Mitrofanov <BugMaster@narod.ru>
6395AuthorDate: Mon Mar 10 03:22:57 2014 +0400
6396Commit: Fiona Glaser <fiona@x264.com>
6397CommitDate: Tue Mar 11 14:48:14 2014 -0700
6398
6399 Fix memory overwrite in x264_deblock_h_chroma_mbaff_sse2
6400
6401 Fixes possible corruption with MBAFF+sliced threads.
6402
6403commit 19dddbcff73541ae15f8e57383ff1c6aa907d99d [revision 2393]
6404Author: Fiona Glaser <fiona@x264.com>
6405AuthorDate: Sun Mar 2 10:09:01 2014 -0800
6406Commit: Fiona Glaser <fiona@x264.com>
6407CommitDate: Tue Mar 11 14:48:14 2014 -0700
6408
6409 Fix corruption with CAVLC overflow handling in MBAFF+main profile
6410
6411 Probably a regression in r2178.
6412
6413commit 48dbfa28201950f7e07e96a7d62b2951dd2dbe03 [revision 2392]
6414Author: Anton Mitrofanov <BugMaster@narod.ru>
6415AuthorDate: Mon Mar 10 21:17:19 2014 +0400
6416Commit: Fiona Glaser <fiona@x264.com>
6417CommitDate: Tue Mar 11 14:48:05 2014 -0700
6418
6419 Fix checkasm --bench output when nop_cycles is too large
6420
6421commit ee8d5e4b51da99e576b5aea3008e70d1c7ed2372 [revision 2391]
6422Author: Anton Mitrofanov <BugMaster@narod.ru>
6423AuthorDate: Wed Jan 22 12:54:49 2014 +0400
6424Commit: Fiona Glaser <fiona@x264.com>
6425CommitDate: Sun Feb 23 19:14:03 2014 -0800
6426
6427 Really fix quantization factor allocation
6428
6429 Actually allocate less (instead of just initialize less) and fix comments.
6430
6431commit 0d668be8d7525992c1c163c97551ee897e43c177 [revision 2390]
6432Author: Yu Xiaolei <dreifachstein@gmail.com>
6433AuthorDate: Sun Feb 23 04:12:51 2014 -0800
6434Commit: Fiona Glaser <fiona@x264.com>
6435CommitDate: Sun Feb 23 19:14:00 2014 -0800
6436
6437 Fix build with Android NDK
6438
6439 Android NDK does not expose sched_getaffinity.
6440
6441commit 42d25196d423626c12794db3f66322c7a3f4375e [revision 2389]
6442Author: Loren Merritt <pengvado@akuvian.org>
6443AuthorDate: Thu Jan 16 13:34:46 2014 -0800
6444Commit: Fiona Glaser <fiona@x264.com>
6445CommitDate: Tue Jan 21 13:40:15 2014 -0800
6446
6447 x86inc: speed up compilation with yasm
6448
6449 Work around yasm's inefficiency with handling large numbers of variables
6450 in the global scope.
6451
6452commit dd6a303498d1f55c73037ed925a6ece8e28a95bc [revision 2388]
6453Author: Kieran Kunhya <kieran@kunhya.com>
6454AuthorDate: Fri Jan 10 23:27:33 2014 +0000
6455Commit: Fiona Glaser <fiona@x264.com>
6456CommitDate: Tue Jan 21 13:40:14 2014 -0800
6457
6458 Add support for AVC-Intra Class 200
6459
6460commit 41227fa2531d9263e481b80237d2d9ef6f5a450f [revision 2387]
6461Author: James Weaver <james.barrett@bbc.co.uk>
6462AuthorDate: Tue Jan 7 10:31:58 2014 +0000
6463Commit: Fiona Glaser <fiona@x264.com>
6464CommitDate: Tue Jan 21 13:40:13 2014 -0800
6465
6466 v210 input support
6467
6468 Assembly based on code by Henrik Gramner and Loren Merritt.
6469
6470commit e2a9662751180b7dd2fe538913282ee800445445 [revision 2386]
6471Author: Fiona Glaser <fiona@x264.com>
6472AuthorDate: Tue Jan 21 13:39:33 2014 -0800
6473Commit: Fiona Glaser <fiona@x264.com>
6474CommitDate: Tue Jan 21 13:40:12 2014 -0800
6475
6476 Fix quantization factor allocation
6477
6478 We don't need to wastefully allocate quant tables above QP_MAX_SPEC; they're
6479 never used.
6480
6481commit 8be6600d10a74ca241dbb27e096883ceed7b4082 [revision 2385]
6482Author: Henrik Gramner <henrik@gramner.com>
6483AuthorDate: Wed Jan 8 01:06:56 2014 +0100
6484Commit: Fiona Glaser <fiona@x264.com>
6485CommitDate: Wed Jan 8 11:15:46 2014 -0800
6486
6487 Avoid some unneccesary memory loads in macroblock_encode
6488
6489commit 807aeaaae7351e4c2c536463e69dacaac218bccb [revision 2384]
6490Author: Henrik Gramner <henrik@gramner.com>
6491AuthorDate: Sun Jan 5 15:25:05 2014 +0100
6492Commit: Fiona Glaser <fiona@x264.com>
6493CommitDate: Wed Jan 8 11:15:45 2014 -0800
6494
6495 Bump dates to 2014
6496
6497 Also update AUTHORS file and my e-mail address in the headers of various files.
6498
6499commit 02697d57d987f8d51a5c3ced5e5b81d7137012ee [revision 2383]
6500Author: Henrik Gramner <henrik@gramner.com>
6501AuthorDate: Mon Jan 6 00:18:31 2014 +0100
6502Commit: Fiona Glaser <fiona@x264.com>
6503CommitDate: Wed Jan 8 11:15:45 2014 -0800
6504
6505 Remove tools/xyuv.c
6506
6507 It's an old stand-alone application that isn't relevant to x264.
6508
6509commit 7664014b2b490d81a66f2a13138182dfaaf4be06 [revision 2382]
6510Author: Anton Mitrofanov <BugMaster@narod.ru>
6511AuthorDate: Thu Nov 7 02:37:23 2013 +0400
6512Commit: Fiona Glaser <fiona@x264.com>
6513CommitDate: Wed Jan 8 11:15:44 2014 -0800
6514
6515 Use 8x16c wrappers with x86 asm functions for 4:2:2 with high bit depth
6516
6517commit 6bc63417e10e135d8cd881495c71be72d322e1d3 [revision 2381]
6518Author: Henrik Gramner <henrik@gramner.com>
6519AuthorDate: Fri Dec 20 22:44:28 2013 +0100
6520Commit: Fiona Glaser <fiona@x264.com>
6521CommitDate: Wed Jan 8 11:15:44 2014 -0800
6522
6523 CLI: Avoid redundant 16-bit upconversions in piped raw input
6524
6525 It's not possible to seek in pipes, so if we want to skip frames we have to read and
6526 discard unused ones. It's pointless to do bit-depth upconversions in those frames.
6527
6528commit 008c56ec467736bc5d3130ff890c618d28aa7511 [revision 2380]
6529Author: Anton Mitrofanov <BugMaster@narod.ru>
6530AuthorDate: Fri Jan 3 20:06:06 2014 +0400
6531Commit: Fiona Glaser <fiona@x264.com>
6532CommitDate: Wed Jan 8 11:15:44 2014 -0800
6533
6534 Fix input support from named pipes in Windows
6535
6536commit 91481419e3acc4bb601600cf32e46e7f93ae02ab [revision 2379]
6537Author: Steve Clark <sclark@vgocom.com>
6538AuthorDate: Wed Nov 20 21:40:23 2013 +0400
6539Commit: Fiona Glaser <fiona@x264.com>
6540CommitDate: Wed Jan 8 11:15:36 2014 -0800
6541
6542 Fix ARM asm compilation with Apple assembler
6543
6544commit a2f5d600bf866899db92e2dae40eb9fe46d44ade [revision 2378]
6545Author: Anton Mitrofanov <BugMaster@narod.ru>
6546AuthorDate: Wed Nov 13 19:24:48 2013 +0400
6547Commit: Fiona Glaser <fiona@x264.com>
6548CommitDate: Mon Jan 6 12:15:32 2014 -0800
6549
6550 Fix uninitialized variable
6551
6552 Caused if the timebase is not specified in stats file. Found by Clang.
6553
6554commit 95d196ef2edde109cfb32f4baa9b0adc67e842e1 [revision 2377]
6555Author: Anton Mitrofanov <BugMaster@narod.ru>
6556AuthorDate: Sun Oct 27 19:27:23 2013 +0400
6557Commit: Fiona Glaser <fiona@x264.com>
6558CommitDate: Wed Oct 30 13:02:28 2013 -0700
6559
6560 Remove --visualize option.
6561
6562 It probably wasn't used or maintained for last few years.
6563
6564commit 09c7010e3d13e66a241c0529b36ae3f7e1664ff4 [revision 2376]
6565Author: Anton Mitrofanov <BugMaster@narod.ru>
6566AuthorDate: Tue Oct 15 12:32:25 2013 +0400
6567Commit: Fiona Glaser <fiona@x264.com>
6568CommitDate: Wed Oct 30 13:02:28 2013 -0700
6569
6570 Add L-SMASH support as preferable alternative for MP4-muxing
6571
6572commit c9f2bceb1f37aeaf6b7ed730f0fd210ef8725cab [revision 2375]
6573Author: Kieran Kunhya <kieran@kunhya.com>
6574AuthorDate: Sat Sep 21 19:16:12 2013 +0100
6575Commit: Fiona Glaser <fiona@x264.com>
6576CommitDate: Wed Oct 30 13:02:27 2013 -0700
6577
6578 Add AVC-Intra 1080p50/60 Class 100 parameters
6579
6580 Also add some compatibility fixes.
6581
6582commit c084f6c029f016cf2024a2fc511825e82fb95865 [revision 2374]
6583Author: Fiona Glaser <fiona@x264.com>
6584AuthorDate: Mon Sep 9 12:37:59 2013 -0700
6585Commit: Fiona Glaser <fiona@x264.com>
6586CommitDate: Wed Oct 30 13:02:27 2013 -0700
6587
6588 Add --filler option
6589
6590 Allows generation of hard-CBR streams without using NAL HRD.
6591 Useful if you want to be able to reconfigure the bitrate (which you can't do
6592 with NAL HRD on).
6593
6594commit 350b214c5abe7e82618ac46a14f23b7ab543045e [revision 2373]
6595Author: Anton Mitrofanov <BugMaster@narod.ru>
6596AuthorDate: Sun Oct 27 15:22:51 2013 +0400
6597Commit: Fiona Glaser <fiona@x264.com>
6598CommitDate: Wed Oct 30 13:02:27 2013 -0700
6599
6600 Make x264_encoder_reconfig more threadsafe
6601
6602 Do the reconfig when the next frame's encode begins.
6603 Fixes some rare crashes with frame-threading and encoder_reconfig.
6604
6605commit 77cc44feea75106fae6d3113f6babbbe8cffba87 [revision 2372]
6606Author: Fiona Glaser <fiona@x264.com>
6607AuthorDate: Thu Oct 24 17:19:00 2013 -0700
6608Commit: Fiona Glaser <fiona@x264.com>
6609CommitDate: Fri Oct 25 10:35:38 2013 -0700
6610
6611 chroma-me: take shortcut in BI analysis
6612
6613 ~100 cycles faster with subme>=9
6614
6615commit 7634f8c6047e9e12036778a8dc8d4cd4b06eebcb [revision 2371]
6616Author: Fiona Glaser <fiona@x264.com>
6617AuthorDate: Thu Oct 24 14:44:43 2013 -0700
6618Commit: Fiona Glaser <fiona@x264.com>
6619CommitDate: Fri Oct 25 10:35:38 2013 -0700
6620
6621 CRF-max: don't warn if VBV underflow occurs
6622
6623 Only warn if underflow occurs for reasons other than CRF-max, as CRF-max
6624 implies that VBV underflow is desired by the user.
6625
6626commit 4b68633dc375fc372f160a3ae669a32e519b285a [revision 2370]
6627Author: Henrik Gramner <henrik@gramner.com>
6628AuthorDate: Fri Oct 18 22:43:36 2013 +0200
6629Commit: Fiona Glaser <fiona@x264.com>
6630CommitDate: Fri Oct 25 10:35:37 2013 -0700
6631
6632 x86inc: Make ym# behave the same way as xm#
6633
6634 This makes more sense for future implementations of templates with zmm registers.
6635
6636commit b54422a858809f39c00fac46207bfa8ad16cdb28 [revision 2369]
6637Author: Henrik Gramner <henrik@gramner.com>
6638AuthorDate: Fri Oct 18 22:21:38 2013 +0200
6639Commit: Fiona Glaser <fiona@x264.com>
6640CommitDate: Fri Oct 25 10:35:36 2013 -0700
6641
6642 Use calloc instead of malloc + memset
6643
6644commit 8b58a4ce52047b00f5892a9cdd92f9695a50a933 [revision 2368]
6645Author: Henrik Gramner <henrik@gramner.com>
6646AuthorDate: Thu Oct 10 16:54:12 2013 +0200
6647Commit: Fiona Glaser <fiona@x264.com>
6648CommitDate: Fri Oct 25 10:35:35 2013 -0700
6649
6650 Replace gf_malloc with regular malloc in mp4 muxer
6651
6652 It was used as a workaround for a bug that only existed in the GPAC repository
6653 for a few weeks back in 2010. There's no reason to keep it anymore.
6654
6655commit 05f04384a10cb673abea7749cd319971c0017769 [revision 2367]
6656Author: Anton Mitrofanov <BugMaster@narod.ru>
6657AuthorDate: Tue Oct 8 23:20:40 2013 +0400
6658Commit: Fiona Glaser <fiona@x264.com>
6659CommitDate: Fri Oct 25 10:35:35 2013 -0700
6660
6661 Update to current libav/ffmpeg API
6662
6663commit b7b6029f0e121b87fd96595b15d0c40fcd1b3bf1 [revision 2366]
6664Author: Rafaël Carré <funman@videolan.org>
6665AuthorDate: Fri Oct 25 07:12:24 2013 -0700
6666Commit: Fiona Glaser <fiona@x264.com>
6667CommitDate: Fri Oct 25 10:35:28 2013 -0700
6668
6669 version.sh: change to use /bin/sh
6670
6671commit c3c73f13bb9ee60ccf40f85dbc11c91efac9d1e2 [revision 2365]
6672Author: Sean McGovern <gseanmcg@gmail.com>
6673AuthorDate: Wed Sep 4 14:15:00 2013 -0700
6674Commit: Fiona Glaser <fiona@x264.com>
6675CommitDate: Thu Oct 24 12:15:58 2013 -0700
6676
6677 configure: don't generate a git version number if .git isn't present
6678
6679commit 12f9d499905199427a0196743c2cde56642d6d99 [revision 2364]
6680Author: Martin Storsjo <martin@martin.st>
6681AuthorDate: Tue Sep 3 14:56:18 2013 -0700
6682Commit: Fiona Glaser <fiona@x264.com>
6683CommitDate: Thu Oct 24 12:15:58 2013 -0700
6684
6685 configure: include dependency libs in the Libs pkg-config
6686
6687 If only a static library is built, the user of the library that just
6688 tries to link to the lib using the flags provided by pkg-config
6689 might not know that only a static lib exists and that he'd have to
6690 pass --static to pkg-config to get the internal dependencies to
6691 be able to link the library.
6692
6693 For a shared build, the internal dependencies are kept in Libs.private
6694 as before.
6695
6696 This matches how libav's pkg-config files are generated.
6697
6698commit 03450be799dea03a83dad4dc833ef8ddd7f36b62 [revision 2363]
6699Author: Anton Mitrofanov <BugMaster@narod.ru>
6700AuthorDate: Fri Oct 18 00:38:06 2013 +0400
6701Commit: Fiona Glaser <fiona@x264.com>
6702CommitDate: Thu Oct 24 12:15:57 2013 -0700
6703
6704 Fix compilation in case of HAVE_LOG2F check fails spuriously
6705
6706commit 266fdfcd4809afb018e45ab959d4a56a42712c88 [revision 2362]
6707Author: Anton Mitrofanov <BugMaster@narod.ru>
6708AuthorDate: Sat Oct 12 12:01:57 2013 +0400
6709Commit: Fiona Glaser <fiona@x264.com>
6710CommitDate: Thu Oct 24 12:15:57 2013 -0700
6711
6712 Fix compilation of shared library for Windows with original MinGW toolchain
6713
6714commit 50a0c33b9b5fa57d0a129b7441a6af55f7a08005 [revision 2361]
6715Author: Anton Mitrofanov <BugMaster@narod.ru>
6716AuthorDate: Tue Oct 8 23:32:37 2013 +0400
6717Commit: Fiona Glaser <fiona@x264.com>
6718CommitDate: Thu Oct 24 12:15:57 2013 -0700
6719
6720 Fix possible crashes in resize and crop filters with high bitdepth input
6721
6722commit 5b272b22d8f7511a4abece5a23ad25282bedaea8 [revision 2360]
6723Author: Tim Mooney <Tim.Mooney@ndsu.edu>
6724AuthorDate: Tue Sep 3 13:43:50 2013 -0700
6725Commit: Fiona Glaser <fiona@x264.com>
6726CommitDate: Tue Sep 3 15:55:19 2013 -0700
6727
6728 Fix INSTALL in configure for Solaris systems
6729
6730commit 2fd292391a4d41b9fc65ee652b4663fdd9f8107e [revision 2359]
6731Author: Henrik Gramner <henrik@gramner.com>
6732AuthorDate: Wed Aug 28 00:50:31 2013 +0200
6733Commit: Fiona Glaser <fiona@x264.com>
6734CommitDate: Tue Aug 27 16:05:38 2013 -0700
6735
6736 Workaround for FFMS indexing bug
6737
6738 If FFMS_ReadIndex is used with an empty index file it gets stuck in an infinite loop instead of returning NULL
6739 like it's supposed to do on failure. Explicitly check if the file is empty before calling it as a workaround.
6740
6741commit 5bcff2a62c050376ca54c5e5040d0529c89eb9f2 [revision 2358]
6742Author: Anton Mitrofanov <BugMaster@narod.ru>
6743AuthorDate: Mon Aug 26 21:20:31 2013 +0400
6744Commit: Fiona Glaser <fiona@x264.com>
6745CommitDate: Mon Aug 26 10:48:02 2013 -0700
6746
6747 Fix masked access violation in KERNEL32
6748
6749 Caused crashes under gdb in Windows and might cause other unknown problems.
6750
6751commit 098b686e6397d5bb6b3a5c03cd918aa88216909f [revision 2357]
6752Author: Hiroki Taniura <boiled.sugar@gmail.com>
6753AuthorDate: Sun Aug 25 01:18:57 2013 +0900
6754Commit: Fiona Glaser <fiona@x264.com>
6755CommitDate: Sat Aug 24 09:42:47 2013 -0700
6756
6757 Fix GPAC support on Windows
6758
6759commit fa3cac516cb71b8ece09cedbfd0ce631ca8a2a4c [revision 2356]
6760Author: Henrik Gramner <henrik@gramner.com>
6761AuthorDate: Sun Aug 11 19:50:42 2013 +0200
6762Commit: Fiona Glaser <fiona@x264.com>
6763CommitDate: Fri Aug 23 14:04:14 2013 -0700
6764
6765 Windows Unicode support
6766
6767 Windows, unlike most other operating systems, uses UTF-16 for Unicode strings while x264 is designed for UTF-8.
6768
6769 This patch does the following in order to handle things like Unicode filenames:
6770 * Keep strings internally as UTF-8.
6771 * Retrieve the CLI command line as UTF-16 and convert it to UTF-8.
6772 * Always use Unicode versions of Windows API functions and convert strings to UTF-16 when calling them.
6773 * Attempt to use legacy 8.3 short filenames for external libraries without Unicode support.
6774
6775commit 9b94896b3735052cabb52d081de3b50020a077cb [revision 2355]
6776Author: Kieran Kunhya <kierank@ob-encoder.com>
6777AuthorDate: Sat Jul 20 18:47:59 2013 +0100
6778Commit: Fiona Glaser <fiona@x264.com>
6779CommitDate: Fri Aug 23 14:04:13 2013 -0700
6780
6781 AVC-Intra support
6782
6783 This format has been reverse engineered and x264's output has almost exactly
6784 the same bitstream as Panasonic cameras and encoders produce. It therefore does
6785 not comply with SMPTE RP2027 since Panasonic themselves do not comply with
6786 their own specification. It has been tested in Avid, Premiere, Edius and
6787 Quantel.
6788
6789 Parts of this patch were written by Fiona Glaser and some reverse
6790 engineering was done by Joseph Artsimovich.
6791
6792commit fa1e2b746d95575b5c5b8e49fcfcad3ded9a5420 [revision 2354]
6793Author: Henrik Gramner <henrik@gramner.com>
6794AuthorDate: Mon Jul 8 12:06:42 2013 -0700
6795Commit: Fiona Glaser <fiona@x264.com>
6796CommitDate: Fri Aug 23 14:04:12 2013 -0700
6797
6798 Transparent hugepage support
6799
6800 Combine frame and mb data mallocs into a single large malloc.
6801 Additionally, on Linux systems with hugepage support, ask for hugepages on
6802 large mallocs.
6803
6804 This gives a small performance improvement (~0.2-0.9%) on systems without
6805 hugepage support, as well as a small memory footprint reduction.
6806
6807 On recent Linux kernels with hugepage support enabled (set to madvise or
6808 always), it improves performance up to 4% at the cost of about 7-12% more
6809 memory usage on typical settings..
6810
6811 It may help even more on Haswell and other recent CPUs with improved 2MB page
6812 support in hardware.
6813
6814commit e33aac9aba5c6b9c867b92f14c7722152680a61a [revision 2353]
6815Author: Henrik Gramner <henrik@gramner.com>
6816AuthorDate: Fri Jul 5 21:15:54 2013 +0200
6817Commit: Fiona Glaser <fiona@x264.com>
6818CommitDate: Fri Aug 23 14:04:12 2013 -0700
6819
6820 x86: SSSE3 implementation of pixel_sad_x3 and pixel_sad_x4
6821
6822commit 4becc3e9e031c4207698846369aac2bef1480d15 [revision 2352]
6823Author: Henrik Gramner <henrik@gramner.com>
6824AuthorDate: Fri Jul 5 21:15:49 2013 +0200
6825Commit: Fiona Glaser <fiona@x264.com>
6826CommitDate: Fri Aug 23 14:04:12 2013 -0700
6827
6828 x86: Faster AVX2 pixel_sad_x3 and pixel_sad_x4
6829
6830commit 401edc3ab08f95777d495b38030e2108d7d3f0b4 [revision 2351]
6831Author: Diogo Franco <diogomfranco@gmail.com>
6832AuthorDate: Tue Jul 23 22:17:44 2013 -0300
6833Commit: Fiona Glaser <fiona@x264.com>
6834CommitDate: Fri Aug 23 14:04:11 2013 -0700
6835
6836 configure: Support cygwin64
6837
6838commit adc99d17d8c1fbc164fae8319b40d7c45f30314e [revision 2350]
6839Author: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6840AuthorDate: Fri Aug 9 13:39:27 2013 -0400
6841Commit: Fiona Glaser <fiona@x264.com>
6842CommitDate: Fri Aug 23 14:04:11 2013 -0700
6843
6844 x86inc: Check for __OUTPUT_FORMAT__ having a value of "x64"
6845
6846 This is also a valid value for WIN64.
6847
6848commit 1430b04988c3bb344e104c974ed3aa825035c0ec [revision 2349]
6849Author: Anton Mitrofanov <BugMaster@narod.ru>
6850AuthorDate: Tue Jul 23 14:11:50 2013 -0700
6851Commit: Fiona Glaser <fiona@x264.com>
6852CommitDate: Fri Aug 23 14:04:10 2013 -0700
6853
6854 Fix cases in which intra refresh allowed prediction from disallowed pixels
6855
6856commit a6c396f0fe01f453de115ba0d8c4aa26138aa6b4 [revision 2348]
6857Author: Anton Mitrofanov <BugMaster@narod.ru>
6858AuthorDate: Wed Aug 7 01:56:34 2013 +0400
6859Commit: Fiona Glaser <fiona@x264.com>
6860CommitDate: Fri Aug 23 14:04:10 2013 -0700
6861
6862 Fix a few minor bugs found with a static analyzer
6863
6864commit 2d66c7c2471801aa946517226739e9150f6c1948 [revision 2347]
6865Author: Fiona Glaser <fiona@x264.com>
6866AuthorDate: Fri Jul 12 16:07:35 2013 -0700
6867Commit: Fiona Glaser <fiona@x264.com>
6868CommitDate: Fri Aug 23 14:04:09 2013 -0700
6869
6870 Fix AVX2 detection bug with "limit CPUID" enabled in BIOS
6871
6872commit ff41804efd4caec120fc9e1b90ad226035f75aaa [revision 2346]
6873Author: Henrik Gramner <henrik@gramner.com>
6874AuthorDate: Fri Jul 5 21:15:43 2013 +0200
6875Commit: Fiona Glaser <fiona@x264.com>
6876CommitDate: Fri Jul 5 13:10:06 2013 -0700
6877
6878 x86: Remove X264_CPU_SSE_MISALIGN functions
6879
6880 Prevents a crash if the misaligned exception mask bit is cleared for some reason.
6881
6882 Misaligned SSE functions are only used on AMD Phenom CPUs and the benefit is miniscule.
6883 They also require modifying the MXCSR control register and by removing those functions
6884 we can get rid of that complexity altogether.
6885
6886 VEX-encoded instructions also supports unaligned memory operands. I tried adding AVX
6887 implementations of all removed functions but there were no performance improvements on
6888 Ivy Bridge. pixel_sad_x3 and pixel_sad_x4 had significant code size reductions though
6889 so I kept them and added some minor cosmetics fixes and tweaks.
6890
6891commit 01087fdbf2042095cb36458fd5c5efab3f4b3a37 [revision 2345]
6892Author: Fiona Glaser <fiona@x264.com>
6893AuthorDate: Thu Jun 20 15:51:39 2013 -0700
6894Commit: Fiona Glaser <fiona@x264.com>
6895CommitDate: Tue Jul 2 17:13:10 2013 -0700
6896
6897 Tweak i16x16-delta-quant-avoidance code
6898
6899 Don't omit the delta quant if it'd raise the quantizer to do so; this fixes
6900 a rare flickering issue caused by deblocking.
6901
6902commit bfa2f0c44cec2e41fbd7566edb55e405f6c5a49d [revision 2344]
6903Author: Fiona Glaser <fiona@x264.com>
6904AuthorDate: Sun Jun 9 09:06:27 2013 -0700
6905Commit: Fiona Glaser <fiona@x264.com>
6906CommitDate: Tue Jul 2 17:13:09 2013 -0700
6907
6908 x86: faster AVX2 iDCT, AVX deblock_luma_h, deblock_luma_h_intra
6909
6910commit 397f60e7f23e2c6ec2cb9b168ebb75cc42983dd7 [revision 2343]
6911Author: Lucien <astrataro@gmail.com>
6912AuthorDate: Mon Jun 17 18:28:09 2013 +0000
6913Commit: Fiona Glaser <fiona@x264.com>
6914CommitDate: Tue Jul 2 17:13:09 2013 -0700
6915
6916 Add new color primaries, transfer characteristics, matrix coefficients
6917
6918commit fa215fc9d77d131595e8b1eda0fc4e9da62c1f94 [revision 2342]
6919Author: Fiona Glaser <fiona@x264.com>
6920AuthorDate: Fri May 31 17:01:29 2013 -0700
6921Commit: Fiona Glaser <fiona@x264.com>
6922CommitDate: Tue Jul 2 17:13:08 2013 -0700
6923
6924 Add "--stitchable" option for segmented encoding
6925
6926 Stops x264 from attempting to optimize global stream headers, ensuring that
6927 different segments of a video will have identical headers when used with
6928 identical encoding settings.
6929
6930commit 9143d5ad966a3864597009ba1f1befe87328ec61 [revision 2341]
6931Author: Fiona Glaser <fiona@x264.com>
6932AuthorDate: Thu Jun 27 08:29:06 2013 -0700
6933Commit: Fiona Glaser <fiona@x264.com>
6934CommitDate: Tue Jul 2 17:13:08 2013 -0700
6935
6936 Interface: if vbv-maxrate < bitrate, set bitrate = vbv-maxrate
6937
6938 This probably makes more sense to the user than setting vbv-maxrate = bitrate,
6939 as before.
6940
6941commit 83d35c7bc4332e4dd27ba7b8baf96f8743c52a8b [revision 2340]
6942Author: Anton Mitrofanov <Bugmaster@narod.ru>
6943AuthorDate: Tue May 28 05:02:42 2013 -0700
6944Commit: Fiona Glaser <fiona@x264.com>
6945CommitDate: Tue Jul 2 17:13:08 2013 -0700
6946
6947 OpenCL cosmetics
6948
6949commit ffc3ad4945da69f3caa2b40e4eed715a9a8d9526 [revision 2339]
6950Author: Anton Mitrofanov <BugMaster@narod.ru>
6951AuthorDate: Tue Jun 18 00:16:33 2013 +0400
6952Commit: Fiona Glaser <fiona@x264.com>
6953CommitDate: Tue Jul 2 17:13:07 2013 -0700
6954
6955 Fix possible crash when writing very large filler NALUs
6956
6957 Bitstream-reallocation function didn't handle the case of filler.
6958
6959commit 25ef3f5fdbfca0f9a5ff8a97b8475e7f8b4c9202 [revision 2338]
6960Author: Loren Merritt <pengvado@akuvian.org>
6961AuthorDate: Mon Jun 17 11:27:09 2013 -0700
6962Commit: Fiona Glaser <fiona@x264.com>
6963CommitDate: Tue Jul 2 17:13:07 2013 -0700
6964
6965 Fix build with PIC on some systems
6966
6967commit c41b629d4831cde47a8c0cde435041cc3b996d85 [revision 2337]
6968Author: Henrik Gramner <henrik@gramner.com>
6969AuthorDate: Sun Jun 2 18:41:17 2013 +0200
6970Commit: Fiona Glaser <fiona@x264.com>
6971CommitDate: Tue Jul 2 17:13:06 2013 -0700
6972
6973 Fix potential misaligment crash in AVX2 denoise_dct
6974
6975commit e32d9c21339cbb021d6c9ad5897bfde09dcdb63a [revision 2336]
6976Author: Anton Mitrofanov <BugMaster@narod.ru>
6977AuthorDate: Tue May 28 01:48:15 2013 +0400
6978Commit: Fiona Glaser <fiona@x264.com>
6979CommitDate: Tue May 28 05:01:55 2013 -0700
6980
6981 Fix building with compilers without inline asm support
6982
6983 Also fix crash in high bit depth builds compiled with unaligned stack.
6984
6985commit 3b8e924639ac67a4beb0ebe9b9663de03cdce84d [revision 2335]
6986Author: Anton Mitrofanov <BugMaster@narod.ru>
6987AuthorDate: Wed May 22 22:43:59 2013 +0400
6988Commit: Fiona Glaser <fiona@x264.com>
6989CommitDate: Wed May 22 12:41:30 2013 -0700
6990
6991 Fix compilation with OpenCL on MacOS X
6992
6993 Also fix crash in the case of OpenCL error during encoding.
6994
6995commit 3aa9a67b6d62bcf11ee69397647230700a32044b [revision 2334]
6996Author: Anton Mitrofanov <BugMaster@narod.ru>
6997AuthorDate: Mon May 6 22:51:11 2013 +0400
6998Commit: Fiona Glaser <fiona@x264.com>
6999CommitDate: Mon May 20 12:25:24 2013 -0700
7000
7001 OpenCL support improvement/refactoring
7002
7003 Autoload the OpenCL library so that it's not required to run an openCL-enabled
7004 build of x264.
7005
7006 Update X264_BUILD, which should have been changed with the first patch.
7007
7008commit 0b2c3d35c168011e73300da5fdc690e00a8238e0 [revision 2333]
7009Author: Fiona Glaser <fiona@x264.com>
7010AuthorDate: Thu May 16 13:51:37 2013 -0700
7011Commit: Fiona Glaser <fiona@x264.com>
7012CommitDate: Mon May 20 12:25:24 2013 -0700
7013
7014 x86: shave a few instructions off AVX deblock
7015
7016commit e7cb328580c3e1bd7604a64f40abf3e03c474771 [revision 2332]
7017Author: Henrik Gramner <henrik@gramner.com>
7018AuthorDate: Tue May 14 18:57:40 2013 +0200
7019Commit: Fiona Glaser <fiona@x264.com>
7020CommitDate: Mon May 20 12:25:23 2013 -0700
7021
7022 x86: AVX2 dequant_4x4_dc
7023
7024commit edf31ed3577f35e7ed3934dd74be474f9d22384a [revision 2331]
7025Author: Henrik Gramner <henrik@gramner.com>
7026AuthorDate: Tue May 14 18:53:12 2013 +0200
7027Commit: Fiona Glaser <fiona@x264.com>
7028CommitDate: Mon May 20 12:25:23 2013 -0700
7029
7030 x86: AVX2 high bit-depth dequant
7031
7032commit bc88d1bb331ee061c38bea80f7a54a76797c31d0 [revision 2330]
7033Author: Fiona Glaser <fiona@x264.com>
7034AuthorDate: Thu May 9 17:20:05 2013 -0700
7035Commit: Fiona Glaser <fiona@x264.com>
7036CommitDate: Mon May 20 12:25:22 2013 -0700
7037
7038 x86-64: 64-bit variant of AVX2 hpel_filter
7039
7040 ~5% faster than 32-bit.
7041
7042commit 89f067b7cacecf413569e84c6c973c23f67b1ad3 [revision 2329]
7043Author: Henrik Gramner <henrik@gramner.com>
7044AuthorDate: Mon May 6 18:41:24 2013 +0200
7045Commit: Fiona Glaser <fiona@x264.com>
7046CommitDate: Mon May 20 12:25:22 2013 -0700
7047
7048 x86: AVX2 high bit-depth denoise_dct
7049
7050 28->15 cycles
7051
7052 Also reorder instructions to use fewer registers, 3 cycles faster on Ivy Bridge with 64-bit Windows.
7053
7054commit 481e4cdb52989e4b514a2f4345870a19c5c0ae92 [revision 2328]
7055Author: Henrik Gramner <henrik@gramner.com>
7056AuthorDate: Sat May 4 18:48:58 2013 +0200
7057Commit: Fiona Glaser <fiona@x264.com>
7058CommitDate: Mon May 20 12:25:22 2013 -0700
7059
7060 x86: AVX2 high bit-depth quant
7061
7062 quant_4x4: 13->6 cycles
7063 quant_4x4_dc: 14->8 cycles
7064 quant_8x8: 47->24 cycles
7065 quant_4x4x4: 48->25 cycles
7066
7067commit 02aa1368da5c222c8833724abccddd8f02630fc6 [revision 2327]
7068Author: Fiona Glaser <fiona@x264.com>
7069AuthorDate: Wed May 1 14:32:11 2013 -0700
7070Commit: Fiona Glaser <fiona@x264.com>
7071CommitDate: Mon May 20 12:25:21 2013 -0700
7072
7073 x86: AVX2 add16x16_idct_dc
7074
7075 27 -> 19 cycles
7076
7077commit 0c00c2c7882de130184e02cf1861599aedb425e8 [revision 2326]
7078Author: Fiona Glaser <fiona@x264.com>
7079AuthorDate: Mon Apr 29 16:16:54 2013 -0700
7080Commit: Fiona Glaser <fiona@x264.com>
7081CommitDate: Mon May 20 12:25:21 2013 -0700
7082
7083 x86: faster AVX2 quant_4x4x4
7084
7085 10->9 cycles
7086
7087commit af6647e0e7d647c660003f65b78b4f1a0b186ec2 [revision 2325]
7088Author: Fiona Glaser <fiona@x264.com>
7089AuthorDate: Sat Apr 27 21:03:32 2013 -0700
7090Commit: Fiona Glaser <fiona@x264.com>
7091CommitDate: Mon May 20 12:25:20 2013 -0700
7092
7093 x86: AVX2 intra_sad_x3_8x8c
7094
7095 30->22 cycles
7096
7097commit f114746df6ce6a1bcacf46c62b696cc309ab4527 [revision 2324]
7098Author: Henrik Gramner <henrik@gramner.com>
7099AuthorDate: Sun Apr 28 11:11:03 2013 +0200
7100Commit: Fiona Glaser <fiona@x264.com>
7101CommitDate: Mon May 20 12:25:20 2013 -0700
7102
7103 x86: AVX2 high bit-depth intra_sad_x3_8x8
7104
7105 43->24 cycles
7106
7107commit 8e4f045f815a59ca3d6398ff4ddae7af44766dc8 [revision 2323]
7108Author: Fiona Glaser <fiona@x264.com>
7109AuthorDate: Wed Apr 24 14:22:15 2013 -0700
7110Commit: Fiona Glaser <fiona@x264.com>
7111CommitDate: Mon May 20 12:25:20 2013 -0700
7112
7113 x86: AVX2 deblock strength
7114
7115 30->18 cycles
7116
7117commit 594dd84cb85e616f4e260f7fdef6ce5a34360ac7 [revision 2322]
7118Author: Henrik Gramner <henrik@gramner.com>
7119AuthorDate: Wed May 1 17:42:48 2013 +0200
7120Commit: Fiona Glaser <fiona@x264.com>
7121CommitDate: Mon May 20 12:25:19 2013 -0700
7122
7123 x86: Faster high bit-depth intra_sad_x3_4x4
7124
7125 20->16 cycles on Ivy Bridge
7126
7127commit a8384178bd917576469da040923976cb531be38c [revision 2321]
7128Author: Fiona Glaser <fiona@x264.com>
7129AuthorDate: Tue Apr 30 17:36:46 2013 -0700
7130Commit: Fiona Glaser <fiona@x264.com>
7131CommitDate: Mon May 20 12:25:19 2013 -0700
7132
7133 x86: faster SSSE3 hpel
7134
7135 ~7% faster using the pmulhrsw trick from mc_chroma.
7136
7137commit 1f5a32c2459ed6f42d9c150d008e3471d61af3ee [revision 2320]
7138Author: Fiona Glaser <fiona@x264.com>
7139AuthorDate: Mon Apr 29 14:22:23 2013 -0700
7140Commit: Fiona Glaser <fiona@x264.com>
7141CommitDate: Mon May 20 12:25:18 2013 -0700
7142
7143 x86-64: faster SSSE3 trellis
7144
7145 ~2% faster trellis.
7146
7147commit 7cbb27f0ce5ea3e756c628ac606f65d7de57f285 [revision 2319]
7148Author: Fiona Glaser <fiona@x264.com>
7149AuthorDate: Thu May 2 17:10:26 2013 -0700
7150Commit: Fiona Glaser <fiona@x264.com>
7151CommitDate: Mon May 20 12:25:18 2013 -0700
7152
7153 x86: 32-byte align the stack if possible
7154
7155 Avoids the need for manual 32 byte array alignment on compilers that support
7156 -mpreferred-stack-boundary.
7157
7158commit 30c91f62906ce08b5d227002b38ebd64f1291fae [revision 2318]
7159Author: Henrik Gramner <henrik@gramner.com>
7160AuthorDate: Sat May 11 23:39:09 2013 +0200
7161Commit: Fiona Glaser <fiona@x264.com>
7162CommitDate: Mon May 20 12:25:12 2013 -0700
7163
7164 x86inc: Utilize the shadow space on 64-bit Windows
7165
7166 Store XMM6 and XMM7 in the shadow space in functions that clobbers them.
7167 This way we don't have to adjust the stack pointer as often,
7168 reducing the number of instructions as well as code size.
7169
7170commit 33c352673900bd1b362bb2fe0284e999fccd633d [revision 2317]
7171Author: Henrik Gramner <henrik@gramner.com>
7172AuthorDate: Fri May 3 23:06:10 2013 +0200
7173Commit: Fiona Glaser <fiona@x264.com>
7174CommitDate: Fri May 17 09:26:49 2013 -0700
7175
7176 x86: Don't use explicitly aligned versions of SAD on AVX CPUs
7177
7178 On modern CPUs movdqu isn't slower than movdqa when used on aligned data and using the same code in both cases saves cache.
7179
7180 This was already done for the high bit-depth AVX2 implementation but the aligned version still exists as dead code so remove that.
7181
7182commit 16d037211f1dd032288e25ab74d93a569fd93d6c [revision 2316]
7183Author: Henrik Gramner <henrik@gramner.com>
7184AuthorDate: Fri May 3 20:18:03 2013 +0200
7185Commit: Fiona Glaser <fiona@x264.com>
7186CommitDate: Fri May 17 09:26:49 2013 -0700
7187
7188 x86: Add missing initializations for high bit-depth sad_aligned
7189
7190commit 25e219ad2565e52a6962eb1e16cf19f3482e655b [revision 2315]
7191Author: Fiona Glaser <fiona@x264.com>
7192AuthorDate: Mon May 13 16:52:18 2013 -0700
7193Commit: Fiona Glaser <fiona@x264.com>
7194CommitDate: Fri May 17 09:26:49 2013 -0700
7195
7196 x86: add Jaguar CPU detection
7197
7198commit c1e37099627b1dc2f15b295aa4c2eedd431a6dba [revision 2314]
7199Author: Henrik Gramner <henrik@gramner.com>
7200AuthorDate: Tue May 7 17:21:03 2013 +0200
7201Commit: Fiona Glaser <fiona@x264.com>
7202CommitDate: Fri May 17 09:26:48 2013 -0700
7203
7204 x86inc: Remove .rodata kludges
7205
7206 The Mach-O bug was fixed in yasm 0.8.0 and we don't support versions that old.
7207
7208 a.out was superseded by ELF on sane systems a few decades ago.
7209
7210commit 5444e95a5c9ee866625b1122a19dbae6bf044008 [revision 2313]
7211Author: Henrik Gramner <henrik@gramner.com>
7212AuthorDate: Sat May 4 16:21:32 2013 +0200
7213Commit: Fiona Glaser <fiona@x264.com>
7214CommitDate: Fri May 17 09:26:48 2013 -0700
7215
7216 checkasm: Use 64-bit cycle counters
7217
7218 Prevents overflows that can occur in some cases.
7219
7220commit 0e000e7a763c9bb5c14257bad365144025013fc9 [revision 2312]
7221Author: Henrik Gramner <henrik@gramner.com>
7222AuthorDate: Fri May 10 13:55:32 2013 +0200
7223Commit: Fiona Glaser <fiona@x264.com>
7224CommitDate: Fri May 17 09:26:45 2013 -0700
7225
7226 checkasm: Fix stack alignment bug
7227
7228commit 3ba0fb847b1a14f9db5f3dabe209eee2d4edc91d [revision 2311]
7229Author: Fiona Glaser <fiona@x264.com>
7230AuthorDate: Wed May 8 10:48:41 2013 -0700
7231Commit: Fiona Glaser <fiona@x264.com>
7232CommitDate: Wed May 15 13:04:45 2013 -0700
7233
7234 Fix invalid memcpy in sliced-threads
7235
7236 Likely didn't actually break in practice, but memcpy with src==dst
7237 is incorrect.
7238
7239commit 7f3606572957b63f1169bc793ed55bccdb549d56 [revision 2310]
7240Author: Fiona Glaser <fiona@x264.com>
7241AuthorDate: Mon Apr 29 12:14:01 2013 -0700
7242Commit: Fiona Glaser <fiona@x264.com>
7243CommitDate: Mon Apr 29 12:29:38 2013 -0700
7244
7245 Fix two bugs in slice-min-mbs and slices-max
7246
7247 Slices-max broke slice-max-size when slice-max wasn't used.
7248 Slice-min-mbs broke in rare cases near the end of a threadslice.
7249
7250commit 67d6f602018d0fc1cb05cd6240e4fe1c2646169f [revision 2309]
7251Author: Fiona Glaser <fiona@x264.com>
7252AuthorDate: Thu Apr 4 18:00:23 2013 -0700
7253Commit: Fiona Glaser <fiona@x264.com>
7254CommitDate: Tue Apr 23 14:36:39 2013 -0700
7255
7256 x86: SSSE3 LUT-based faster coeff_level_run
7257
7258 ~2x faster coeff_level_run.
7259 Faster CAVLC encoding: {1%,2%,7%} overall with {superfast,medium,slower}.
7260 Uses the same pshufb LUT abuse trick as in the previous ads_mvs patch.
7261
7262commit c17d12f83381913650d84004815c20a1f7092144 [revision 2308]
7263Author: Fiona Glaser <fiona@x264.com>
7264AuthorDate: Mon Mar 25 14:03:37 2013 -0700
7265Commit: Fiona Glaser <fiona@x264.com>
7266CommitDate: Tue Apr 23 14:36:39 2013 -0700
7267
7268 x86-64: BMI2 cabac_residual functions
7269
7270commit 40316f836d42cb5aee8de5ae6b4a5e417d8446f8 [revision 2307]
7271Author: Fiona Glaser <fiona@x264.com>
7272AuthorDate: Wed Mar 20 15:08:35 2013 -0700
7273Commit: Fiona Glaser <fiona@x264.com>
7274CommitDate: Tue Apr 23 14:36:38 2013 -0700
7275
7276 x86: SSSE3 ads_mvs
7277
7278 ~55% faster ads in benchasm, ~15-30% in real encoding.
7279 ~4% faster "placebo" preset overall.
7280
7281commit 03396f82bd1a709aa83d15de0affd0c4c5bd621d [revision 2306]
7282Author: Henrik Gramner <henrik@gramner.com>
7283AuthorDate: Tue Apr 16 23:27:53 2013 +0200
7284Commit: Fiona Glaser <fiona@x264.com>
7285CommitDate: Tue Apr 23 14:36:37 2013 -0700
7286
7287 x86: AVX2 pixel_ssd_nv12_core
7288
7289commit dc05aebbc51b64b6cf3cfa95a1fbb20f6ffe94c6 [revision 2305]
7290Author: Henrik Gramner <henrik@gramner.com>
7291AuthorDate: Tue Apr 16 23:27:50 2013 +0200
7292Commit: Fiona Glaser <fiona@x264.com>
7293CommitDate: Tue Apr 23 14:36:37 2013 -0700
7294
7295 x86: AVX2 high bit-depth pixel_ssd
7296
7297commit f49c2eba352a9087301dfc3c3de902ab083bd9e9 [revision 2304]
7298Author: Henrik Gramner <henrik@gramner.com>
7299AuthorDate: Tue Apr 16 23:27:46 2013 +0200
7300Commit: Fiona Glaser <fiona@x264.com>
7301CommitDate: Tue Apr 23 14:36:36 2013 -0700
7302
7303 x86: AVX2 high bit-depth pixel_sad_x3/pixel_sad_x4
7304
7305 Also reduce the number of xmm registers used by sse2/ssse3 pixel_sad_x3.
7306
7307commit 0e69048d4f9664f1293c5eed0604522c67adaff5 [revision 2303]
7308Author: Henrik Gramner <henrik@gramner.com>
7309AuthorDate: Tue Apr 16 23:27:43 2013 +0200
7310Commit: Fiona Glaser <fiona@x264.com>
7311CommitDate: Tue Apr 23 14:36:35 2013 -0700
7312
7313 x86: AVX2 high bit-depth vsad
7314
7315commit 9f885c112d6566388d472da68ada0301ce330311 [revision 2302]
7316Author: Henrik Gramner <henrik@gramner.com>
7317AuthorDate: Tue Apr 16 23:27:39 2013 +0200
7318Commit: Fiona Glaser <fiona@x264.com>
7319CommitDate: Tue Apr 23 14:36:35 2013 -0700
7320
7321 x86: AVX2 high bit-depth pixel_sad
7322
7323 Also use loops instead of duplicating code; reduces code size by ~10kB with
7324 negligible effect on performance.
7325
7326commit 295f83af2afa93073d7810ab96b1d8d889a53ed2 [revision 2301]
7327Author: Henrik Gramner <henrik@gramner.com>
7328AuthorDate: Tue Apr 16 23:27:35 2013 +0200
7329Commit: Fiona Glaser <fiona@x264.com>
7330CommitDate: Tue Apr 23 14:36:34 2013 -0700
7331
7332 x86: AVX2 high_bit_depth pixel_avg2, get_ref, mc_copy_w16, mc_luma
7333
7334 Also reduce the number of xmm registers used by mc_copy_* to avoid
7335 saving and restoring xmm6 and xmm7 on 64-bit Windows.
7336
7337commit e7a46b6536ab3ea4806f585b771b6cbb261031d1 [revision 2300]
7338Author: Henrik Gramner <henrik@gramner.com>
7339AuthorDate: Tue Apr 16 23:27:32 2013 +0200
7340Commit: Fiona Glaser <fiona@x264.com>
7341CommitDate: Tue Apr 23 14:36:33 2013 -0700
7342
7343 x86: AVX2 nal_escape
7344
7345 Also rewrite the entire function to be faster and drop the AVX version which is no longer useful.
7346
7347commit 547a6573af56afe8d551201245775c6ba179e781 [revision 2299]
7348Author: Henrik Gramner <henrik@gramner.com>
7349AuthorDate: Tue Apr 16 23:27:29 2013 +0200
7350Commit: Fiona Glaser <fiona@x264.com>
7351CommitDate: Tue Apr 23 14:36:32 2013 -0700
7352
7353 x86: AVX memzero_aligned
7354
7355commit 0f776f63daf47eac9b69ef77aaf7c9c16213cba9 [revision 2298]
7356Author: Henrik Gramner <henrik@gramner.com>
7357AuthorDate: Tue Apr 16 23:27:25 2013 +0200
7358Commit: Fiona Glaser <fiona@x264.com>
7359CommitDate: Tue Apr 23 14:36:31 2013 -0700
7360
7361 x86: AVX2 predict_16x16_dc
7362
7363commit 97ad171ae33c51f48e6214abdf7c978e4dd5d2d1 [revision 2297]
7364Author: Henrik Gramner <henrik@gramner.com>
7365AuthorDate: Tue Apr 16 23:27:22 2013 +0200
7366Commit: Fiona Glaser <fiona@x264.com>
7367CommitDate: Tue Apr 23 14:36:31 2013 -0700
7368
7369 x86: AVX2 predict_8x8c_p/predict_8x16c_p
7370
7371commit 8ecdeb2709b4b7095237330e68e9a76ea8060a2f [revision 2296]
7372Author: Henrik Gramner <henrik@gramner.com>
7373AuthorDate: Tue Apr 16 23:27:18 2013 +0200
7374Commit: Fiona Glaser <fiona@x264.com>
7375CommitDate: Tue Apr 23 14:36:30 2013 -0700
7376
7377 x86: AVX2 predict_16x16_p
7378
7379 Also fix the AVX implementation to correctly use the SSSE3 inline asm
7380 instead of SSE2.
7381
7382commit f3d521da8163bb9a381284ef0b5c949b8a5c9f9c [revision 2295]
7383Author: Henrik Gramner <henrik@gramner.com>
7384AuthorDate: Tue Apr 16 23:27:14 2013 +0200
7385Commit: Fiona Glaser <fiona@x264.com>
7386CommitDate: Tue Apr 23 14:36:29 2013 -0700
7387
7388 x86: AVX high bit-depth predict_16x16_v
7389
7390 Also restructure some code to reduce code size of various functions,
7391 especially in high bit-depth.
7392
7393commit fa40b44f339501917e7a7c003ab826bf3e7b6a10 [revision 2294]
7394Author: Henrik Gramner <henrik@gramner.com>
7395AuthorDate: Tue Apr 16 23:27:08 2013 +0200
7396Commit: Fiona Glaser <fiona@x264.com>
7397CommitDate: Tue Apr 23 14:36:29 2013 -0700
7398
7399 x86: AVX2 high bit-depth predict_4x4_h
7400
7401commit 7908dc632330b6028ab7dae42834e2098e628b24 [revision 2293]
7402Author: Henrik Gramner <henrik@gramner.com>
7403AuthorDate: Tue Apr 16 23:27:04 2013 +0200
7404Commit: Fiona Glaser <fiona@x264.com>
7405CommitDate: Tue Apr 23 14:36:28 2013 -0700
7406
7407 x86: AVX2 high bit-depth predict_16x16_h
7408
7409commit 51708c3e193438439aaeaf31c377b070ca403e0e [revision 2292]
7410Author: Henrik Gramner <henrik@gramner.com>
7411AuthorDate: Tue Apr 16 23:27:00 2013 +0200
7412Commit: Fiona Glaser <fiona@x264.com>
7413CommitDate: Tue Apr 23 14:36:27 2013 -0700
7414
7415 x86: AVX2 high bit-depth predict_8x8c_h/predict_8x16c_h
7416
7417commit 184c50554ae95aa60edd3fa309ca8013e00a8648 [revision 2291]
7418Author: Henrik Gramner <henrik@gramner.com>
7419AuthorDate: Tue Apr 16 23:26:47 2013 +0200
7420Commit: Fiona Glaser <fiona@x264.com>
7421CommitDate: Tue Apr 23 14:36:26 2013 -0700
7422
7423 x86util: Support ymm registers in HADD macros
7424
7425commit 0ea5be852e97d8cfdf04e384a8a78210f87c2dc0 [revision 2290]
7426Author: Fiona Glaser <fiona@x264.com>
7427AuthorDate: Tue Feb 26 16:26:34 2013 -0800
7428Commit: Fiona Glaser <fiona@x264.com>
7429CommitDate: Tue Apr 23 14:36:25 2013 -0700
7430
7431 x86: more AVX2 framework, AVX2 functions, plus some existing asm tweaks
7432
7433 AVX2 functions:
7434 mc_chroma
7435 intra_sad_x3_16x16
7436 last64
7437 ads
7438 hpel
7439 dct4
7440 idct4
7441 sub16x16_dct8
7442 quant_4x4x4
7443 quant_4x4
7444 quant_4x4_dc
7445 quant_8x8
7446 SAD_X3/X4
7447 SATD
7448 var
7449 var2
7450 SSD
7451 zigzag interleave
7452 weightp
7453 weightb
7454 intra_sad_8x8_x9
7455 decimate
7456 integral
7457 hadamard_ac
7458 sa8d_satd
7459 sa8d
7460 lowres_init
7461 denoise
7462
7463commit 19e1a2bbf2d1aaa15ea2d2c118b0236ff64b4bd1 [revision 2289]
7464Author: Loren Merritt <pengvado@akuvian.org>
7465AuthorDate: Mon Feb 25 21:16:45 2013 +0000
7466Commit: Fiona Glaser <fiona@x264.com>
7467CommitDate: Tue Apr 23 14:36:24 2013 -0700
7468
7469 x86inc: create xm# and ym#, analagous to m#
7470
7471 For when we want to mix simd sizes within one function.
7472
7473commit 3a8dfb2bc62be21215b6f7d47c53c5a912878656 [revision 2288]
7474Author: Fiona Glaser <fiona@x264.com>
7475AuthorDate: Fri Apr 5 16:08:35 2013 -0700
7476Commit: Fiona Glaser <fiona@x264.com>
7477CommitDate: Tue Apr 23 14:36:24 2013 -0700
7478
7479 x86inc: fix AVX emulation of cmp(p|s)(s|d)
7480
7481commit a3f5c7326c0aa707ccbd5a938a0b65581888b549 [revision 2287]
7482Author: Fiona Glaser <fiona@x264.com>
7483AuthorDate: Tue Feb 5 17:15:00 2013 -0800
7484Commit: Fiona Glaser <fiona@x264.com>
7485CommitDate: Tue Apr 23 14:36:23 2013 -0700
7486
7487 x86-64: cabac_block_residual assembly
7488
7489 RDO: ~20% faster than C
7490 Bitstream: ~50% faster than C
7491 1-2% faster overall, highest on preset superfast/fast/medium.
7492
7493commit f49a1b2ef6d95d8f0f186df0fc3bfe38414e264f [revision 2286]
7494Author: Steve Borho <steve@borho.org>
7495AuthorDate: Thu Feb 21 12:48:40 2013 -0600
7496Commit: Fiona Glaser <fiona@x264.com>
7497CommitDate: Tue Apr 23 14:36:20 2013 -0700
7498
7499 OpenCL lookahead
7500
7501 OpenCL support is compiled in by default, but must be enabled at runtime by an
7502 --opencl command line flag. Compiling OpenCL support requires perl. To avoid
7503 the perl requirement use: configure --disable-opencl.
7504
7505 When enabled, the lookahead thread is mostly off-loaded to an OpenCL capable GPU
7506 device. Lowres intra cost prediction, lowres motion search (including subpel)
7507 and bidir cost predictions are all done on the GPU. MB-tree and final slice
7508 decisions are still done by the CPU. Presets which do not use a threaded
7509 lookahead will not use OpenCL at all (superfast, ultrafast).
7510
7511 Because of data dependencies, the GPU must use an iterative motion search which
7512 performs more total work than the CPU would do, so this is not work efficient
7513 or power efficient. But if there are spare GPU cycles to spare, it can often
7514 speed up the encode. Output quality when OpenCL lookahead is enabled is often
7515 very slightly worse in quality than the CPU quality (because of the same data
7516 dependencies).
7517
7518 x264 must compile its OpenCL kernels for your device before running them, and in
7519 order to avoid doing this every run it caches the compiled kernel binary in a
7520 file named x264_lookahead.clbin (--opencl-clbin FNAME to override). The cache
7521 file will be ignored if the device, driver, or OpenCL source are changed.
7522
7523 x264 will use the first GPU device which supports the required cl_image
7524 features required by its kernels. Most modern discrete GPUs and all AMD
7525 integrated GPUs will work. Intel integrated GPUs (up to IvyBridge) do not
7526 support those necessary features. Use --opencl-device N to specify a number of
7527 capable GPUs to skip during device detection.
7528
7529 Switchable graphics environments (e.g. AMD Enduro) are currently not supported,
7530 as some have bugs in their OpenCL drivers that cause output to be silently
7531 incorrect.
7532
7533 Developed by MulticoreWare with support from AMD and Telestream.
7534
7535commit 2d0c47a50622ec59ade303cf150c21b8910a2bce [revision 2285]
7536Author: Fiona Glaser <fiona@x264.com>
7537AuthorDate: Mon Mar 4 15:19:47 2013 -0800
7538Commit: Fiona Glaser <fiona@x264.com>
7539CommitDate: Tue Apr 23 11:47:30 2013 -0700
7540
7541 weightp: improve scale/offset search, chroma
7542
7543 Rescale the scale factor if the offset clips. This makes weightp more effective
7544 in fades to/from white (and an other situation that requires big offsets).
7545
7546 Search more than 1 scale factor and more than 1 offset, depending on --subme.
7547
7548 Try to find the optimal chroma denominator instead of hardcoding it.
7549
7550 Overall improvement: a few percent in fade-heavy clips, such as a sample from
7551 Avatar: TLA.
7552
7553commit 732e4f7e8b9ab6d214cbcf059445b4712709faa4 [revision 2284]
7554Author: Fiona Glaser <fiona@x264.com>
7555AuthorDate: Tue Feb 19 13:48:44 2013 -0800
7556Commit: Fiona Glaser <fiona@x264.com>
7557CommitDate: Tue Apr 23 11:47:29 2013 -0700
7558
7559 Add slices-max feature
7560
7561 The H.264 spec technically has limits on the number of slices per frame. x264
7562 normally ignores this, since most use-cases that require large numbers of
7563 slices prefer it to. However, certain decoders may break with extremely large
7564 numbers of slices, as can occur with some slice-max-size/mbs settings.
7565
7566 When set, x264 will refuse to create any slices beyond the maximum number,
7567 even if slice-max-size/mbs requires otherwise.
7568
7569commit fdfffa3058cb590765dbb34afa5706755dcb5319 [revision 2283]
7570Author: Fiona Glaser <fiona@x264.com>
7571AuthorDate: Thu Feb 14 17:22:02 2013 -0800
7572Commit: Fiona Glaser <fiona@x264.com>
7573CommitDate: Tue Apr 23 11:47:29 2013 -0700
7574
7575 Add slice-min-mbs feature
7576
7577 Works in conjunction with slice-max-mbs and/or slice-max-size to avoid overly
7578 small slices.
7579 Useful with certain decoders that barf on extremely small slices.
7580
7581 If slice-min-mbs would be violated as a result of slice-max-size, x264 will
7582 exceed slice-max-size and print a warning.
7583
7584commit 8a3a41de9e5f54cb6e7b5c69486e50471a5c022d [revision 2282]
7585Author: Anton Mitrofanov <BugMaster@narod.ru>
7586AuthorDate: Tue Mar 26 18:56:21 2013 +0400
7587Commit: Fiona Glaser <fiona@x264.com>
7588CommitDate: Tue Apr 23 11:47:28 2013 -0700
7589
7590 Disable mbtree asm with cpu-independent option
7591
7592 Results vary between versions because of different rounding results.
7593
7594commit bf52bab4e5607d7f3d98b3999a13cb8149aeef1c [revision 2281]
7595Author: Anton Mitrofanov <BugMaster@narod.ru>
7596AuthorDate: Tue Mar 26 18:30:00 2013 +0400
7597Commit: Fiona Glaser <fiona@x264.com>
7598CommitDate: Tue Apr 23 11:47:27 2013 -0700
7599
7600 Show "avs: no" --disable-avs option instead of empty string
7601
7602commit e74287e93b0ee7afb384624f60dc440b736fec6b [revision 2280]
7603Author: Tim Walker <tdskywalker@gmail.com>
7604AuthorDate: Tue Mar 19 23:42:43 2013 +0100
7605Commit: Fiona Glaser <fiona@x264.com>
7606CommitDate: Tue Apr 23 11:47:27 2013 -0700
7607
7608 lavf input: don't use deprecated AVStream fields
7609
7610 Fixes building against newer libavcodecs from the Libav project.
7611
7612commit aa73459b710f4c08b654d69573c22fd2fc2a99f8 [revision 2279]
7613Author: Anton Mitrofanov <BugMaster@narod.ru>
7614AuthorDate: Tue Mar 26 19:54:36 2013 +0400
7615Commit: Fiona Glaser <fiona@x264.com>
7616CommitDate: Tue Apr 23 11:47:26 2013 -0700
7617
7618 Fix y4m input with C420paldv colorspace
7619
7620commit 42c500af62fbe09e7a55ecd47fc72331fbe4ae02 [revision 2278]
7621Author: Fiona Glaser <fiona@x264.com>
7622AuthorDate: Sat Mar 2 01:22:29 2013 -0800
7623Commit: Fiona Glaser <fiona@x264.com>
7624CommitDate: Tue Apr 23 11:47:25 2013 -0700
7625
7626 x86: correctly check stack alignment for Atom hadamard_ac
7627
7628 Regression in r2265 (only affected compilers with broken stack alignment,
7629 like ICL on win32).
7630
7631commit bed18d0e4545e7528bf585a1a3c7fbc05ddbafa4 [revision 2277]
7632Author: Loren Merritt <pengvado@akuvian.org>
7633AuthorDate: Mon Feb 25 21:23:55 2013 +0000
7634Commit: Fiona Glaser <fiona@x264.com>
7635CommitDate: Tue Apr 23 11:47:24 2013 -0700
7636
7637 x86inc: fix some corner cases of SWAP
7638
7639 SWAP with >=3 named (rather than numbered) args
7640 PERMUTE followed by SWAP with 2 named args
7641 used to produce the wrong permutation
7642
7643commit 3cdaca1ac2f6022b1affcd24eff397a03b59fce3 [revision 2276]
7644Author: Fiona Glaser <fiona@x264.com>
7645AuthorDate: Wed Feb 27 13:30:22 2013 -0800
7646Commit: Fiona Glaser <fiona@x264.com>
7647CommitDate: Tue Apr 23 11:47:22 2013 -0700
7648
7649 Fix array overreads that caused miscompilation in gcc 4.8
7650
7651commit 37033444036210ddab75c3ec5b9b5c2a5abb9d52 [revision 2275]
7652Author: Fiona Glaser <fiona@x264.com>
7653AuthorDate: Thu Feb 28 13:32:37 2013 -0800
7654Commit: Fiona Glaser <fiona@x264.com>
7655CommitDate: Sat Apr 13 10:36:24 2013 -0700
7656
7657 Fix undefined behavior in x264_ratecontrol_mb
7658
7659commit cb4547aefb624105b622368aad62c947f89cc4b1 [revision 2274]
7660Author: Stefan Groenroos <stefan.gronroos@gmail.com>
7661AuthorDate: Fri Mar 1 22:35:34 2013 +0200
7662Commit: Fiona Glaser <fiona@x264.com>
7663CommitDate: Fri Mar 1 13:21:59 2013 -0800
7664
7665 ARM: Fix bug in x264_quant_4x4x4_neon
7666
7667 Regression in r2273.
7668
7669commit 3a8baa0ec68c50db3194ed778d0e744d6311cda3 [revision 2273]
7670Author: Stefan Groenroos <stefan.gronroos@gmail.com>
7671AuthorDate: Mon Feb 25 23:43:09 2013 +0200
7672Commit: Fiona Glaser <fiona@x264.com>
7673CommitDate: Tue Feb 26 15:13:17 2013 -0800
7674
7675 ARM: update NEON mc_chroma to work with NV12 and re-enable it
7676
7677 Up to 10-15% faster overall.
7678
7679commit 215f2beeadb2ade3a318b397f25b8a6ad3a761d1 [revision 2272]
7680Author: Fiona Glaser <fiona@x264.com>
7681AuthorDate: Thu Feb 14 15:00:48 2013 -0800
7682Commit: Fiona Glaser <fiona@x264.com>
7683CommitDate: Tue Feb 26 15:12:35 2013 -0800
7684
7685 CABAC/CAVLC: use the new bit-iterating macro here too
7686
7687commit 993c81e94eebaacddbbfcec665831d07d89490b7 [revision 2271]
7688Author: Fiona Glaser <fiona@x264.com>
7689AuthorDate: Fri Feb 8 15:34:38 2013 -0800
7690Commit: Fiona Glaser <fiona@x264.com>
7691CommitDate: Mon Feb 25 23:22:56 2013 -0800
7692
7693 quant_4x4x4: quant one 8x8 block at a time
7694
7695 This reduces overhead and lets us use less branchy code for zigzag, dequant,
7696 decimate, and so on.
7697 Reorganize and optimize a lot of macroblock_encode using this new function.
7698 ~1-2% faster overall.
7699
7700 Includes NEON and x86 versions of the new function.
7701 Using larger merged functions like this will also make wider SIMD, like
7702 AVX2, more effective.
7703
7704commit 5ee1d03a8b86915d98b165d067dce377df3a87ba [revision 2270]
7705Author: Stephen Hutchinson <qyot27@gmail.com>
7706AuthorDate: Tue Feb 12 21:55:43 2013 -0500
7707Commit: Fiona Glaser <fiona@x264.com>
7708CommitDate: Mon Feb 25 23:22:56 2013 -0800
7709
7710 Add AvxSynth support to the AviSynth input module.
7711
7712 Uses dlopen to load AvxSynth on Linux and OS X.
7713
7714 Allows the use of --demuxer avs for AvxSynth, though the only source filter it
7715 can currently use is FFMS2.
7716
7717 Add a local copy of avxsynth_c.h and its dependent headers in extras/ so that
7718 users don't need to actually have AvxSynth development headers installed to
7719 enable support for it (mirroring the AviSynth behavior).
7720
7721 Based on a patch by 0x09 (tab@lavabit.com)
7722
7723commit 7b1301e946218cfe6e072fea03702754ee0cc8a6 [revision 2269]
7724Author: Fiona Glaser <fiona@x264.com>
7725AuthorDate: Fri Feb 8 00:13:15 2013 -0800
7726Commit: Fiona Glaser <fiona@x264.com>
7727CommitDate: Mon Feb 25 23:22:55 2013 -0800
7728
7729 Eliminate some branchiness in ME/analysis
7730
7731 Faster, fewer branch mispredictions.
7732
7733commit 7de9a9aa4bc06843dd7d8afe6bc42c02e27b6b73 [revision 2268]
7734Author: Fiona Glaser <fiona@x264.com>
7735AuthorDate: Wed Feb 6 16:55:39 2013 -0800
7736Commit: Fiona Glaser <fiona@x264.com>
7737CommitDate: Mon Feb 25 23:22:55 2013 -0800
7738
7739 Fix some store forwarding stalls
7740 There's quite a few others, but most of them don't help to fix or there's no
7741 easy way to avoid them.
7742
7743commit 68a6268bae989c55a02b7e86b169bd1a02793a95 [revision 2267]
7744Author: Fiona Glaser <fiona@x264.com>
7745AuthorDate: Tue Feb 5 01:23:23 2013 -0800
7746Commit: Fiona Glaser <fiona@x264.com>
7747CommitDate: Mon Feb 25 23:22:55 2013 -0800
7748
7749 x86: faster AVX satd/sa8d/sa8d_satd/hadamard_ac
7750
7751 Use Conroe-style movddup in AVX transforms; both Sandy Bridge and Bulldozer
7752 do movddup in the load unit, so it's totally free this way.
7753
7754 On Sandy Bridge:
7755 ~6% faster sa8d_satd
7756 ~5% faster hadamard_ac
7757 ~9% faster 32-bit satd
7758 ~2% faster sa8d
7759
7760commit 5d60b9c9ad794a666d0cfe0dd9d66d5b9f58e033 [revision 2266]
7761Author: Fiona Glaser <fiona@x264.com>
7762AuthorDate: Sat Feb 2 12:37:08 2013 -0800
7763Commit: Fiona Glaser <fiona@x264.com>
7764CommitDate: Mon Feb 25 23:22:53 2013 -0800
7765
7766 x86: detect Bobcat, improve Atom optimizations, reorganize flags
7767
7768 The Bobcat has a 64-bit SIMD unit reminiscent of the Athlon 64; detect this
7769 and apply the appropriate flags.
7770
7771 It also has an extremely slow palignr instruction; create a flag for this to
7772 avoid massive penalties on palignr-heavy functions.
7773
7774 Improve Atom function selection and document exactly what the SLOW_ATOM flag
7775 covers.
7776
7777 Add Atom-optimized SATD/SA8D/hadamard_ac functions: simply combine the ssse3
7778 optimizations with the sse2 algorithm to avoid pmaddubsw, which is slow on
7779 Atom along with other SIMD multiplies.
7780
7781 Drop TBM detection; it'll probably never be useful for x264.
7782
7783 Invert FastShuffle to SlowShuffle; it only ever applied to one CPU (Conroe).
7784
7785 Detect CMOV, to fail more gracefully when run on a chip with MMX2 but no CMOV.
7786
7787commit 75d927053ef5546eb011ff5a5ac19152dd4e3c63 [revision 2265]
7788Author: Oskar Arvidsson <oskar@irock.se>
7789AuthorDate: Sat Jan 19 01:47:09 2013 +0100
7790Commit: Fiona Glaser <fiona@x264.com>
7791CommitDate: Mon Feb 25 16:27:43 2013 -0800
7792
7793 x86: combined SA8D/SATD dsp function
7794
7795 Speedup is most apparent for 8-bit (~30%), but gives some improvements
7796 for 10-bit too (~12%).
7797 64-bit only for now.
7798
7799commit 790c648d939240808659228f57a22633fc59d6d8 [revision 2264]
7800Author: Oskar Arvidsson <oskar@irock.se>
7801AuthorDate: Tue Jan 29 23:44:32 2013 +0100
7802Commit: Fiona Glaser <fiona@x264.com>
7803CommitDate: Mon Feb 25 16:27:13 2013 -0800
7804
7805 x86: port SSE2+ SATD functions to high bit depth
7806
7807 Makes SATD 20-50% faster across all partition sizes but 4x4.
7808
7809commit 93bf1248f7409958818b281e3e6ecca75ddb8d86 [revision 2263]
7810Author: Oskar Arvidsson <oskar@irock.se>
7811AuthorDate: Wed Feb 6 02:07:53 2013 +0100
7812Commit: Fiona Glaser <fiona@x264.com>
7813CommitDate: Mon Feb 25 12:16:51 2013 -0800
7814
7815 x86: faster high bit depth ssd
7816
7817 About 15% faster on average.
7818
7819commit 6371c3a527a337c7521912990c89d0474288e105 [revision 2262]
7820Author: Fiona Glaser <fiona@x264.com>
7821AuthorDate: Fri Jan 18 22:55:46 2013 -0800
7822Commit: Fiona Glaser <fiona@x264.com>
7823CommitDate: Mon Feb 25 12:14:35 2013 -0800
7824
7825 x86: optimize and clean up predictor checking
7826 Branchlessly handle elimination of candidates in MMX roundclip asm.
7827 Add a new asm function, similar to roundclip, except without the round part.
7828 Optimize and organize the C code, and make both subme>=3 and subme<3 consistent.
7829 Add lots of explanatory comments and try to make things a little more understandable.
7830 ~5-10% faster with subme>=3, ~15-20% faster with subme<3.
7831
7832commit 004640653ded52f447ffdb71a45b334dc8e6f3d1 [revision 2261]
7833Author: Fiona Glaser <fiona@x264.com>
7834AuthorDate: Tue Jan 22 12:31:55 2013 -0800
7835Commit: Fiona Glaser <fiona@x264.com>
7836CommitDate: Mon Feb 25 12:14:35 2013 -0800
7837
7838 Fix two bugs in predictor checking
7839 pmv wasn't checked properly in some cases, as well as zero vector.
7840 Output-changing portion of the following patch.
7841
7842commit d2a9d25429b6843874865a37a5b4f6b401d89abc [revision 2260]
7843Author: Fiona Glaser <fiona@x264.com>
7844AuthorDate: Thu Jan 10 13:15:52 2013 -0800
7845Commit: Fiona Glaser <fiona@x264.com>
7846CommitDate: Mon Feb 25 12:14:34 2013 -0800
7847
7848 Improve lookahead-threads auto selection
7849 Smarter decision to improve fast-first-pass performance in 2-pass encodes.
7850 Dramatically improves CPU utilization on multi-core systems.
7851
7852 Tested on a quad-core Ivy Bridge (12 threads, 1080p):
7853 Fast first pass:
7854 veryfast: ~7% faster
7855 faster: ~11% faster
7856 fast/medium: ~15% faster
7857 slow/slower: ~42% faster
7858 veryslow: ~55% faster
7859 CRF/1-pass:
7860 veryfast: ~9% faster
7861 (all others remained the same)
7862
7863commit 5a764328bdeba650d99fc8db47275708cce79521 [revision 2259]
7864Author: Henrik Gramner <henrik@gramner.com>
7865AuthorDate: Sun Jan 27 23:01:59 2013 +0100
7866Commit: Fiona Glaser <fiona@x264.com>
7867CommitDate: Mon Feb 25 12:14:34 2013 -0800
7868
7869 x86: Use SSE instead of SSE2 for copying data
7870
7871 Reduces code size because movaps/movups is one byte shorter than movdqa/movdqu.
7872 Also merge MMX and SSE versions of memcpy_aligned into a single macro.
7873
7874commit c3983b811f42ae5e4bc4f9c1c919f8e548fc76e3 [revision 2258]
7875Author: Henrik Gramner <henrik@gramner.com>
7876AuthorDate: Sun Jan 13 18:27:08 2013 +0100
7877Commit: Fiona Glaser <fiona@x264.com>
7878CommitDate: Mon Feb 25 12:14:34 2013 -0800
7879
7880 64-bit cabac optimizations
7881
7882 ~4% faster PIC
7883
7884 WIN64:
7885 ~3% faster and 16 byte shorter cabac_encode_bypass
7886 ~8% faster cabac_encode_terminal
7887 Benchmarked on Ivy Bridge
7888
7889 UNIX64:
7890 One instruction less in cabac_encode_bypass
7891
7892commit f6e0d28ae1bccbda43d95200162f7035661fe1e4 [revision 2257]
7893Author: Mike Gorchak <mike.gorchak.qnx@gmail.com>
7894AuthorDate: Sat Feb 2 23:35:00 2013 -0800
7895Commit: Fiona Glaser <fiona@x264.com>
7896CommitDate: Mon Feb 25 12:14:33 2013 -0800
7897
7898 configure: add QNX support
7899
7900commit 5e0fca86444840752eaedbdc5ebfe4ac0b3a0053 [revision 2256]
7901Author: Henrik Gramner <henrik@gramner.com>
7902AuthorDate: Sun Jan 20 19:35:06 2013 +0100
7903Commit: Fiona Glaser <fiona@x264.com>
7904CommitDate: Mon Feb 25 12:14:33 2013 -0800
7905
7906 Windows: Enable DEP and ASLR
7907
7908commit 5ec5c78920914a88da415c57904fa01c99deeb7b [revision 2255]
7909Author: Henrik Gramner <henrik@gramner.com>
7910AuthorDate: Thu Jan 17 19:17:24 2013 +0100
7911Commit: Fiona Glaser <fiona@x264.com>
7912CommitDate: Mon Feb 25 12:14:33 2013 -0800
7913
7914 x86inc: Set ELF hidden visibility for global constants
7915
7916commit fd2c4a06c3a4eb02fc1375de782bc5d36eb1d744 [revision 2254]
7917Author: Diego Biurrun <diego@biurrun.de>
7918AuthorDate: Thu Jan 17 11:18:31 2013 +0100
7919Commit: Fiona Glaser <fiona@x264.com>
7920CommitDate: Mon Feb 25 12:14:32 2013 -0800
7921
7922 x86inc: Add cvisible macro for C functions with public prefix
7923
7924 This allows defining externally visible library symbols.
7925
7926 Signed-off-by: Diego Biurrun <diego@biurrun.de>
7927
7928commit faf3dbe616c8339590409c9aa25777fa76c987a6 [revision 2253]
7929Author: Diego Biurrun <diego@biurrun.de>
7930AuthorDate: Thu Jan 17 11:30:37 2013 -0800
7931Commit: Fiona Glaser <fiona@x264.com>
7932CommitDate: Mon Feb 25 12:14:32 2013 -0800
7933
7934 x86inc: rename program_name to private_prefix
7935 Synced from libav.
7936 The new name is more descriptive and will allow defining a separate public
7937 prefix for externally visible library symbols.
7938
7939commit 32695340b0e93e3cc7edd1b5e7db064d94cd3701 [revision 2252]
7940Author: Fiona Glaser <fiona@x264.com>
7941AuthorDate: Mon Jan 14 05:35:30 2013 -0800
7942Commit: Fiona Glaser <fiona@x264.com>
7943CommitDate: Mon Feb 25 12:14:32 2013 -0800
7944
7945 x264.h: improve x264_encoder_reconfig documentation
7946
7947commit 6a82e49370e46914ab479d57548508ccf29da6e5 [revision 2251]
7948Author: Henrik Gramner <henrik@gramner.com>
7949AuthorDate: Sat Feb 16 19:36:50 2013 +0100
7950Commit: Fiona Glaser <fiona@x264.com>
7951CommitDate: Mon Feb 25 12:14:31 2013 -0800
7952
7953 Cosmetics: stricter definition of parameterless functions
7954
7955commit b671762973a162705ceacf924a29999cdc6d35d2 [revision 2250]
7956Author: Neil <neilpiken@gmail.com>
7957AuthorDate: Mon Jan 28 10:47:38 2013 +0800
7958Commit: Fiona Glaser <fiona@x264.com>
7959CommitDate: Mon Feb 25 12:14:31 2013 -0800
7960
7961 Update "Install and compile x264" in doc/regression_test.txt
7962
7963commit 43ff8f1681c1cca997ca916508723abea85d0fa2 [revision 2249]
7964Author: Anton Mitrofanov <BugMaster@narod.ru>
7965AuthorDate: Thu Jan 24 12:11:26 2013 +0400
7966Commit: Fiona Glaser <fiona@x264.com>
7967CommitDate: Mon Feb 25 12:14:31 2013 -0800
7968
7969 Fix possible non-determinism with mbtree + open-gop + sync-lookahead
7970
7971 Code assumed keyframe analysis would only pull one frame off the list; this
7972 isn't true with open-gop.
7973
7974commit c2c2a95708685156a643e920b497d48597e0267c [revision 2248]
7975Author: Anton Mitrofanov <BugMaster@narod.ru>
7976AuthorDate: Mon Feb 25 19:28:19 2013 +0400
7977Commit: Fiona Glaser <fiona@x264.com>
7978CommitDate: Mon Feb 25 12:14:30 2013 -0800
7979
7980 x86: don't use the red zone on win64
7981
7982commit 5743b19a8264415ab3ed443abd2fefd81a038d6a [revision 2247]
7983Author: Fiona Glaser <fiona@x264.com>
7984AuthorDate: Sun Feb 10 16:12:34 2013 -0800
7985Commit: Fiona Glaser <fiona@x264.com>
7986CommitDate: Mon Feb 25 12:14:21 2013 -0800
7987
7988 x86-64: fix trellis asm with interlacing
7989
7990 Regression in r2145.
7991 Assembly assumed array was [2][64] when it was actually [2][63].
7992 Tiny (~0.1%) compression improvement.
7993
7994commit 9475e6ac48af90e526611b5f11a2690fa077b0ba [revision 2246]
7995Author: Ronald S. Bultje <rsbultje@gmail.com>
7996AuthorDate: Wed Jan 30 09:48:14 2013 -0800
7997Commit: Fiona Glaser <fiona@x264.com>
7998CommitDate: Mon Feb 25 12:14:04 2013 -0800
7999
8000 x86-32: use simple nop codes for <= sse
8001
8002 The "CentaurHauls family 6 model 9 stepping 8" family of CPUs (flags:
8003 fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse up rng
8004 rng_en ace ace_en) SIGILLs on long nop codes.
8005
8006commit 732b072ae236b57cabdbc3b31cd7b482d1f9f9ff [revision 2245]
8007Author: Loren Merritt <pengvado@akuvian.org>
8008AuthorDate: Tue Jan 8 21:30:57 2013 +0000
8009Commit: Fiona Glaser <fiona@x264.com>
8010CommitDate: Tue Jan 8 16:01:32 2013 -0800
8011
8012 Bump dates to 2013
8013
8014commit f2b4f29c636d5e5c223650c5b22bd8089adfcab9 [revision 2244]
8015Author: Henrik Gramner <hengar-6@student.ltu.se>
8016AuthorDate: Mon Dec 17 21:54:00 2012 +0100
8017Commit: Fiona Glaser <fiona@x264.com>
8018CommitDate: Tue Jan 8 16:01:32 2013 -0800
8019
8020 x86inc: Drop tzcnt workaround
8021
8022 It is no longer needed now that we've bumped the version requirement of yasm to 1.2.0.
8023
8024commit ccda1ba4d8d902945c68aa25ec20867055d1b079 [revision 2243]
8025Author: Fiona Glaser <fiona@x264.com>
8026AuthorDate: Mon Nov 12 10:28:53 2012 -0800
8027Commit: Fiona Glaser <fiona@x264.com>
8028CommitDate: Tue Jan 8 16:01:32 2013 -0800
8029
8030 AVX2/FMA3 version of mbtree_propagate
8031 First AVX2 function for testing.
8032 Bump yasm version to 1.2.0 for AVX2 support.
8033
8034commit 8a9608bbbdf77ceb3ee537271549111468175a2b [revision 2242]
8035Author: Henrik Gramner <hengar-6@student.ltu.se>
8036AuthorDate: Tue Dec 11 16:05:34 2012 +0100
8037Commit: Fiona Glaser <fiona@x264.com>
8038CommitDate: Tue Jan 8 16:01:30 2013 -0800
8039
8040 x86inc: Use VEX-encoded instructions in AVX functions
8041 Automatically use VEX-encoding in AVX/AVX2/XOP/FMA3/FMA4 functions for all instructions that exists in a VEX-encoded version.
8042 This change makes it easier to extend existing code to use AVX2.
8043 Also add support for AVX emulation of a few instructions that were missing before.
8044
8045commit 4cf272851a9d24aacdf664f27a87ebdbfb50e6c2 [revision 2241]
8046Author: Loren Merritt <pengvado@akuvian.org>
8047AuthorDate: Sun Dec 2 15:56:30 2012 +0000
8048Commit: Fiona Glaser <fiona@x264.com>
8049CommitDate: Tue Jan 8 13:52:27 2013 -0800
8050
8051 x86inc: activate REP_RET automatically
8052 Now RET checks whether it immediately follows a branch, so the programmer dosen't have to keep track of that condition.
8053 REP_RET is still needed manually when it's a branch target, but that's much rarer.
8054 The implementation involves lots of spurious labels, but that's ok because we strip them.
8055
8056commit b073e870d135ac27cd97d624330abf0f1fb1ed41 [revision 2240]
8057Author: Ronald S. Bultje <rsbultje@gmail.com>
8058AuthorDate: Thu Dec 6 15:40:13 2012 -0800
8059Commit: Fiona Glaser <fiona@x264.com>
8060CommitDate: Tue Jan 8 13:52:21 2013 -0800
8061
8062 x86inc: support stack mem allocation and re-alignment in PROLOGUE
8063 Use this in 8-bit loopfilter functions so they can be used if
8064 there is no aligned stack (e.g. x86-32 MSVC or ICC 10.x).
8065
8066commit 9d5ec55b34a4d4f2e044fbc67e2e12a59ea27d2a [revision 2239]
8067Author: Henrik Gramner <hengar-6@student.ltu.se>
8068AuthorDate: Mon Dec 17 22:15:02 2012 +0100
8069Commit: Fiona Glaser <fiona@x264.com>
8070CommitDate: Tue Jan 8 13:30:50 2013 -0800
8071
8072 Update config.guess and config.sub
8073
8074commit 8eddd52b6d5d638709c5c8278c420eac68a8dde1 [revision 2238]
8075Author: Anton Mitrofanov <BugMaster@narod.ru>
8076AuthorDate: Tue Jan 8 13:29:49 2013 -0800
8077Commit: Fiona Glaser <fiona@x264.com>
8078CommitDate: Tue Jan 8 13:30:50 2013 -0800
8079
8080 Fix crash if the first frame is forced to a non-keyframe
8081 This is obviously bad user input, but x264 shouldn't crash if it happens.
8082
8083commit 05c1646333f567aa3de5f7669693b15ee667825d [revision 2237]
8084Author: Bernhard Rosenkränzer <bernhard.rosenkranzer@linaro.org>
8085AuthorDate: Sun Dec 30 12:18:00 2012 -0800
8086Commit: Fiona Glaser <fiona@x264.com>
8087CommitDate: Tue Jan 8 11:55:22 2013 -0800
8088
8089 Fix build on ARM with binutils >= 2.23.51.0.6
8090 GAS doesn't seem to like spaces in vld1 anymore, so remove those.
8091
8092commit 23829dd2b2c909855481f46cc884b3c25d92c2d7 [revision 2236]
8093Author: Anton Mitrofanov <BugMaster@narod.ru>
8094AuthorDate: Fri Nov 23 18:26:53 2012 +0400
8095Commit: Fiona Glaser <fiona@x264.com>
8096CommitDate: Wed Dec 12 12:16:26 2012 -0800
8097
8098 Fix pthread_join emulation on win32 and BeOS
8099 Doesn't actually affect x264, but it's more correct.
8100
8101commit 042fdd3e6a0e271f62a108da2a1a244dee936045 [revision 2235]
8102Author: Fiona Glaser <fiona@x264.com>
8103AuthorDate: Tue Nov 27 07:50:51 2012 -0800
8104Commit: Fiona Glaser <fiona@x264.com>
8105CommitDate: Thu Dec 6 15:52:23 2012 -0800
8106
8107 Fix typo in r2222
8108 Slightly wrong numbers in level table.
8109
8110commit cd71765c0ba574bb573e75396ef3c6a5c4c00469 [revision 2234]
8111Author: Sergio Basto <sergio@serjux.com>
8112AuthorDate: Thu Nov 22 18:02:50 2012 -0800
8113Commit: Fiona Glaser <fiona@x264.com>
8114CommitDate: Thu Dec 6 15:52:23 2012 -0800
8115
8116 configure: fix gpac detection with -Wp,-D_FORTIFY_SOURCE=2
8117
8118commit 12458a23d1374836fecbed381dfe55513b5ba119 [revision 2233]
8119Author: Sean McGovern <gseanmcg@gmail.com>
8120AuthorDate: Thu Nov 22 18:01:16 2012 -0800
8121Commit: Fiona Glaser <fiona@x264.com>
8122CommitDate: Thu Dec 6 15:52:22 2012 -0800
8123
8124 Solaris: use sysconf to get processor count
8125 Solaris responds correctly to the same value as Cygwin, so let's use that.
8126
8127commit 0db80bee2765676c2e0e4be21afc2ace900a606c [revision 2232]
8128Author: Anton Khirnov <anton@khirnov.net>
8129AuthorDate: Tue Nov 13 21:01:24 2012 +0100
8130Commit: Fiona Glaser <fiona@x264.com>
8131CommitDate: Mon Nov 19 00:39:08 2012 -0800
8132
8133 lavf input: allocate AVFrame correctly
8134 Allocate AVFrames correctly with avcodec_alloc_frame().
8135 This caused crashes with newer libavcodecs that try to free frame extradata.
8136
8137commit 144b79159ad20954a7faec1023451a630a65aea1 [revision 2231]
8138Author: Anton Mitrofanov <BugMaster@narod.ru>
8139AuthorDate: Sun Nov 11 03:44:02 2012 +0400
8140Commit: Fiona Glaser <fiona@x264.com>
8141CommitDate: Mon Nov 12 11:07:13 2012 -0800
8142
8143 Fix crash when using libx264.dll compiled with ICL for X86_64
8144
8145commit bfed708c5358a2b4ef65923fb0683cefa9184e6f [revision 2230]
8146Author: Anton Mitrofanov <BugMaster@narod.ru>
8147AuthorDate: Fri Nov 9 02:31:10 2012 +0400
8148Commit: Fiona Glaser <fiona@x264.com>
8149CommitDate: Thu Nov 8 14:42:01 2012 -0800
8150
8151 Fix possible issues with out-of-spec QP values
8152 Fixes a possible regression in r2228.
8153
8154commit 1580a74e339c59cd856100076d8cf46f2d7247b0 [revision 2229]
8155Author: Fiona Glaser <fiona@x264.com>
8156AuthorDate: Wed Sep 26 13:49:02 2012 -0700
8157Commit: Fiona Glaser <fiona@x264.com>
8158CommitDate: Wed Nov 7 14:52:35 2012 -0800
8159
8160 Attempt to optimize PPS pic_init_qp in 2-pass mode
8161 Small compression improvement; up to ~0.5% in extreme cases.
8162 Helps more with small slice sizes (tiny resolutions or slice-max-size).
8163 Note that this changes the 2-pass stats file format.
8164
8165commit b304a7cad10a85d487fa09e7c33e81c6945186b2 [revision 2228]
8166Author: Fiona Glaser <fiona@x264.com>
8167AuthorDate: Wed Sep 26 13:05:00 2012 -0700
8168Commit: Fiona Glaser <fiona@x264.com>
8169CommitDate: Wed Nov 7 14:52:34 2012 -0800
8170
8171 Improve slice header QP selection
8172 Use the first macroblock of each slice instead of the last of the previous.
8173 Lets us pick a reasonable initial QP for the first slice too.
8174 Slightly improved compression.
8175
8176commit 0d5f6fbae9f6c4dbba25571a5d8c643b192606b1 [revision 2227]
8177Author: Fiona Glaser <fiona@x264.com>
8178AuthorDate: Thu Oct 11 13:27:48 2012 -0700
8179Commit: Fiona Glaser <fiona@x264.com>
8180CommitDate: Wed Nov 7 14:52:34 2012 -0800
8181
8182 Update level dpb size calculation to match newer H.264 spec
8183 Doesn't actually change encoding behavior, but makes it more correct.
8184 Warning messages should now be accurate at higher bit depths and non-4:2:0.
8185 Technically, since it redefines x264_level_t, this is an API version increment.
8186
8187commit cc61a4b4d0838b6d5f4cdaf88a0b6d06a12b6d3e [revision 2226]
8188Author: Jan Ekström <jeebjp@gmail.com>
8189AuthorDate: Sun Oct 7 21:12:05 2012 +0300
8190Commit: Fiona Glaser <fiona@x264.com>
8191CommitDate: Wed Nov 7 14:52:34 2012 -0800
8192
8193 Add support for the ffmpeg/vapoursynth high bit depth y4m extensions
8194
8195commit 5d85879921481ef104766657deda4ef8ea4351ec [revision 2225]
8196Author: Diego Biurrun <diego@biurrun.de>
8197AuthorDate: Tue Nov 6 14:48:56 2012 +0100
8198Commit: Fiona Glaser <fiona@x264.com>
8199CommitDate: Wed Nov 7 14:51:05 2012 -0800
8200
8201 x86inc: Rename 3dnow2 to 3dnowext
8202 The name "3dnowext" is more common than "3dnow2". Doesn't affect x264.
8203
8204commit 00cc16001b35a71ce2329e02bff6e316201cf700 [revision 2224]
8205Author: Diego Biurrun <diego@biurrun.de>
8206AuthorDate: Wed Oct 31 12:23:54 2012 -0700
8207Commit: Fiona Glaser <fiona@x264.com>
8208CommitDate: Wed Nov 7 14:48:38 2012 -0800
8209
8210 x86inc: only define program_name if the macro is unset.
8211 This allows overriding the value from outside the file.
8212 This can be useful if x86inc.asm is used outside of x264.
8213
8214commit 3f516c5238d0c536ea03c8e5334d231facf9f31b [revision 2223]
8215Author: David Wolstencroft <d.wolstencroft@yahoo.com>
8216AuthorDate: Mon Oct 29 09:07:39 2012 -0700
8217Commit: Fiona Glaser <fiona@x264.com>
8218CommitDate: Wed Nov 7 14:48:37 2012 -0800
8219
8220 Disable ARM NEON MRC CPU test for Apple devices
8221 The Apple A6 CPU doesn't support performance counters, so this test caused a crash.
8222
8223commit ac2d7c08452186703424dcc6933524e95b652479 [revision 2222]
8224Author: Fiona Glaser <fiona@x264.com>
8225AuthorDate: Tue Nov 6 12:03:20 2012 -0800
8226Commit: Fiona Glaser <fiona@x264.com>
8227CommitDate: Wed Nov 7 14:48:37 2012 -0800
8228
8229 Fix crash with no-scenecut + mbtree
8230
8231commit 480bbc9067da7cce3400cf3988bf5fdfa4d9fa3f [revision 2221]
8232Author: Anton Mitrofanov <BugMaster@narod.ru>
8233AuthorDate: Fri Oct 12 23:43:40 2012 +0400
8234Commit: Fiona Glaser <fiona@x264.com>
8235CommitDate: Wed Nov 7 14:48:37 2012 -0800
8236
8237 Fix reconfiguring to crf=0
8238 Lossless mode can't currently be enabled mid-stream.
8239
8240commit 21ba91ae6c361e4ce49ee65e61cc582b1af648ba [revision 2220]
8241Author: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8242AuthorDate: Mon Sep 17 11:09:20 2012 -0700
8243Commit: Fiona Glaser <fiona@x264.com>
8244CommitDate: Wed Nov 7 14:48:35 2012 -0800
8245
8246 Fix ALIGNED_ARRAY_EMU macros on ICL
8247 ICL's preprocessor doesn't handle it correctly.
8248 This fix is similar to libav's fix in 0db2d9.
8249
8250commit 96577475981d979d151626aae61ef317dc54df67 [revision 2219]
8251Author: Jason Martens <cacepi@gmail.com>
8252AuthorDate: Thu Sep 13 11:20:40 2012 -0700
8253Commit: Fiona Glaser <fiona@x264.com>
8254CommitDate: Wed Sep 26 14:14:02 2012 -0700
8255
8256 Fix use of deprecated av_close_input_file call
8257
8258commit 02217bd2c31feda7aaca813f104c155fe09428b8 [revision 2218]
8259Author: Brad Smith <brad@comstyle.com>
8260AuthorDate: Wed Sep 26 14:13:27 2012 -0700
8261Commit: Fiona Glaser <fiona@x264.com>
8262CommitDate: Wed Sep 26 14:14:00 2012 -0700
8263
8264 Fix pkg-config for dynamic vs static linking
8265
8266commit e8e8b9a44ffa9b5f585582375515140ea22985d3 [revision 2217]
8267Author: Brad Smith <brad@comstyle.com>
8268AuthorDate: Mon Sep 10 17:52:04 2012 -0700
8269Commit: Fiona Glaser <fiona@x264.com>
8270CommitDate: Mon Sep 10 17:52:04 2012 -0700
8271
8272 Set libm in the configure script if the OS has libm
8273 Prerequisite for another configure patch after this.
8274 Idea copied from libpthread.
8275
8276commit 8980dd8afbfeeb6bcaa17b97aad0b3c24207665e [revision 2216]
8277Author: Fiona Glaser <fiona@x264.com>
8278AuthorDate: Thu Aug 16 13:40:32 2012 -0700
8279Commit: Fiona Glaser <fiona@x264.com>
8280CommitDate: Wed Sep 5 11:59:47 2012 -0700
8281
8282 Enhance mb_info: add mb_info_update
8283 This feature lets the callee know which decoded macroblocks have changed.
8284
8285commit 033df0a8c719f991ab0e0bb0788bd4f08e8b91d7 [revision 2215]
8286Author: Fiona Glaser <fiona@x264.com>
8287AuthorDate: Thu Aug 16 13:01:17 2012 -0700
8288Commit: Fiona Glaser <fiona@x264.com>
8289CommitDate: Wed Sep 5 11:59:46 2012 -0700
8290
8291 Fix mb_info_free with sliced threads
8292 x264 would free mb_info before it was completely done using it.
8293
8294commit f93b7865a96248621af078363d5b59691cbcd8aa [revision 2214]
8295Author: Fiona Glaser <fiona@x264.com>
8296AuthorDate: Tue Aug 7 12:43:26 2012 -0700
8297Commit: Fiona Glaser <fiona@x264.com>
8298CommitDate: Wed Sep 5 11:59:46 2012 -0700
8299
8300 Enhance nalu_process
8301 Add the input frame opaque pointer to the arguments.
8302 This makes it easier to use with multiple simultaneous x264 encodes.
8303
8304commit 05089a37bf55a4134d9ffd014fdae729804a4e7a [revision 2213]
8305Author: Fiona Glaser <fiona@x264.com>
8306AuthorDate: Mon Aug 6 14:55:35 2012 -0700
8307Commit: Fiona Glaser <fiona@x264.com>
8308CommitDate: Wed Sep 5 11:59:46 2012 -0700
8309
8310 Improve mb_info constant mb optimization
8311 Allow fast skipping even if the pskip MV isn't zero.
8312
8313commit cc5dcedc3b45d8e7390e2e914bb37f3fa92f6acd [revision 2212]
8314Author: Fiona Glaser <fiona@x264.com>
8315AuthorDate: Mon Jul 30 12:58:34 2012 -0700
8316Commit: Fiona Glaser <fiona@x264.com>
8317CommitDate: Wed Sep 5 11:59:45 2012 -0700
8318
8319 Export the average effective CRF of each frame
8320 Useful to judge the resulting quality of a frame when VBV is enabled.
8321
8322commit f8fd6412a94f5f4f0eb5f8a6c0fb2062daebfab8 [revision 2211]
8323Author: Brad Smith <brad@comstyle.com>
8324AuthorDate: Mon Aug 20 23:58:19 2012 -0700
8325Commit: Fiona Glaser <fiona@x264.com>
8326CommitDate: Wed Sep 5 11:59:45 2012 -0700
8327
8328 Remove special-casing for OpenBSD pthread handling
8329 Previously it was policy to use -pthread, but OpenBSD now recommends -lpthread.
8330 its been libpthread anyway and policy has changed to stop using -pthread.
8331
8332commit ed56837e3c56bfb880fac2e4e0025d81d6a7186b [revision 2210]
8333Author: Ronald S. Bultje <rsbultje@gmail.com>
8334AuthorDate: Thu Jul 26 18:01:49 2012 -0700
8335Commit: Fiona Glaser <fiona@x264.com>
8336CommitDate: Thu Jul 26 18:01:49 2012 -0700
8337
8338 x86inc: automatically insert vzeroupper for YMM functions
8339 Backported from libav.
8340
8341commit cbb90707e443f0da2521bda1b98cab5705451b8f [revision 2209]
8342Author: Kieran Kunhya <kieran@kunhya.com>
8343AuthorDate: Tue Jul 24 08:47:45 2012 -0700
8344Commit: Fiona Glaser <fiona@x264.com>
8345CommitDate: Thu Jul 26 07:42:05 2012 -0700
8346
8347 Free user supplied data when deleting a frame
8348 This eliminates a memory leak when calling x264_encoder_close.
8349
8350commit 3d03b6190c7af7b941fa746c3dff3b17e5115380 [revision 2208]
8351Author: Fiona Glaser <fiona@x264.com>
8352AuthorDate: Wed Jul 18 08:33:41 2012 -0700
8353Commit: Fiona Glaser <fiona@x264.com>
8354CommitDate: Wed Jul 18 09:15:58 2012 -0700
8355
8356 Revert r2204
8357 People don't seem to like this so I'm just going to get rid of it.
8358
8359commit 2ec694181f8ba3eb1c4153e6b955d399d6448c25 [revision 2207]
8360Author: Fiona Glaser <fiona@x264.com>
8361AuthorDate: Tue Jul 10 14:10:44 2012 -0700
8362Commit: Fiona Glaser <fiona@x264.com>
8363CommitDate: Tue Jul 17 12:19:14 2012 -0700
8364
8365 Faster predictor checking with subme<3
8366 Fix a typo that made an early-skip less effective.
8367 Avoid a relatively unpredictable branch.
8368 Slightly changed output due to the typo-fix.
8369 ~50 cycles faster on Core i7.
8370
8371commit d026397b0bf4c87e96b19c9fff7f43be6c4d9def [revision 2206]
8372Author: Fiona Glaser <fiona@x264.com>
8373AuthorDate: Mon Jun 25 18:01:29 2012 -0700
8374Commit: Fiona Glaser <fiona@x264.com>
8375CommitDate: Tue Jul 17 12:19:13 2012 -0700
8376
8377 Try 8x8 transform analysis even when sub8x8 partitions are present
8378 Turn off the sub8x8 partitions, try it, and turn them back on if it didn't help.
8379 Small compression improvement with p4x4 on (~0.1-0.5%).
8380 Also update related comments.
8381
8382commit dea5d7a54b5ba948ed71d74e0264a2191bcd9815 [revision 2205]
8383Author: Fiona Glaser <fiona@x264.com>
8384AuthorDate: Fri Jun 8 18:19:59 2012 -0700
8385Commit: Fiona Glaser <fiona@x264.com>
8386CommitDate: Tue Jul 17 12:19:13 2012 -0700
8387
8388 Support changing resolutions between passes with macroblock-tree
8389 Implement a basic separable bilinear filter to rescale the quantizer offsets.
8390 Structure inspired by swscale, but floating-point instead of fixed-point.
8391 Not as optimized as it could be, but it's quite fast already.
8392
8393 Example compression penalties on a 720p video game recording:
8394 First pass with 720p and second as 480p: ~-1.5% (vs. same res)
8395 First pass with 480p and second as 720p: ~-3% (vs. same res)
8396
8397commit 498af9c559b8da986544e93f898df02fc9e224b3 [revision 2204]
8398Author: Alexander Prikhodko <komisar666@gmail.com>
8399AuthorDate: Tue Jun 12 20:21:35 2012 +0300
8400Commit: Fiona Glaser <fiona@x264.com>
8401CommitDate: Tue Jul 17 12:19:12 2012 -0700
8402
8403 Print elapsed time in encoding progress indicator
8404
8405commit bcd1a7070dc5224d591731dfdbabcbbaee0bb984 [revision 2203]
8406Author: Anton Mitrofanov <BugMaster@narod.ru>
8407AuthorDate: Sat Jun 2 21:27:50 2012 +0400
8408Commit: Fiona Glaser <fiona@x264.com>
8409CommitDate: Tue Jul 17 12:19:05 2012 -0700
8410
8411 Cap ratecontrol predictor parameters
8412 Limits VBV mispredictions after long periods of relatively constant video.
8413
8414commit 5754ea2db5223b458bd48f0130c13000e3dec15c [revision 2202]
8415Author: Loren Merritt <pengvado@akuvian.org>
8416AuthorDate: Tue Jul 3 14:38:04 2012 -0700
8417Commit: Fiona Glaser <fiona@x264.com>
8418CommitDate: Tue Jul 3 14:39:51 2012 -0700
8419
8420 x86inc: import patches from libav
8421 Allow manual invocation of WIN64_SPILL_XMM even under INIT_MMX
8422 SSE version of mova is movaps rather than movdqa.
8423 YMM version of movnta.
8424 Add mp size for named arguments.
8425 Fix DEFINE_ARGS when used outside of a cglobal.
8426 Define a few more cpuflags.
8427 3-argument wrappers for a few more instructions.
8428
8429commit 5e3aaf1a49b173df916a384942c8089dd5bd8a22 [revision 2201]
8430Author: Anton Mitrofanov <BugMaster@narod.ru>
8431AuthorDate: Fri Jun 22 22:02:24 2012 +0400
8432Commit: Fiona Glaser <fiona@x264.com>
8433CommitDate: Tue Jul 3 13:10:02 2012 -0700
8434
8435 Fix crash with --fps 0
8436 Fix some integer overflows and check input parameters better.
8437 Also fix incorrect type specifiers for demuxer info printing.
8438
8439commit df700eae5d5ce5732f80df9ce81e6d3fe99ef56a [revision 2200]
8440Author: Fiona Glaser <fiona@x264.com>
8441AuthorDate: Tue May 8 15:42:56 2012 -0700
8442Commit: Fiona Glaser <fiona@x264.com>
8443CommitDate: Fri May 18 16:15:14 2012 -0700
8444
8445 Threaded lookahead
8446
8447 Split each lookahead frame analysis call into multiple threads. Has a small
8448 impact on quality, but does not seem to be consistently any worse.
8449
8450 This helps alleviate bottlenecks with many cores and frame threads. In many
8451 case, this massively increases performance on many-core systems. For example,
8452 over 100% faster 1080p encoding with --preset veryfast on a 12-core i7 system.
8453 Realtime 1080p30 at --preset slow should now be feasible on real systems.
8454
8455 For sliced-threads, this patch should be faster regardless of settings (~10%).
8456
8457 By default, lookahead threads are 1/6 of regular threads. This isn't exacting,
8458 but it seems to work well for all presets on real systems. With sliced-threads,
8459 it's the same as the number of encoding threads.
8460
8461commit 7cfe43cc7fb5474a87f02da96ebb850cdf83d73b [revision 2199]
8462Author: Anton Mitrofanov <BugMaster@narod.ru>
8463AuthorDate: Fri May 4 17:18:12 2012 +0400
8464Commit: Fiona Glaser <fiona@x264.com>
8465CommitDate: Mon May 14 18:53:19 2012 -0700
8466
8467 Add support for RGB formats in bit-depth conversion filter
8468
8469commit 44d2f0885cd95201b67ed54bab88e91f4ba1556e [revision 2198]
8470Author: Anton Mitrofanov <BugMaster@narod.ru>
8471AuthorDate: Sat May 12 13:57:49 2012 +0400
8472Commit: Fiona Glaser <fiona@x264.com>
8473CommitDate: Mon May 14 18:53:18 2012 -0700
8474
8475 Fix some bugs in mb_info code
8476
8477commit 8e57a9a0b5bddfecea5e45345c8c50efb0bac10d [revision 2197]
8478Author: Fiona Glaser <fiona@x264.com>
8479AuthorDate: Thu Mar 29 14:14:07 2012 -0700
8480Commit: Fiona Glaser <fiona@x264.com>
8481CommitDate: Tue Apr 24 14:13:17 2012 -0700
8482
8483 Add mb_info API for signalling constant macroblocks
8484 Some use-cases of x264 involve encoding video with large constant areas of the frame.
8485 Sometimes, the caller knows which areas these are, and can tell x264.
8486 This API lets the caller do this and adds internal tracking of modifications to macroblocks to avoid problems.
8487 This is really only suitable without B-frames.
8488 An example use-case would be using x264 for VNC.
8489
8490commit 4442eaceb4992098e1e4e30aa13e70bb35d2cae6 [revision 2196]
8491Author: Henrik Gramner <hengar-6@student.ltu.se>
8492AuthorDate: Sat Apr 7 00:40:09 2012 +0200
8493Commit: Fiona Glaser <fiona@x264.com>
8494CommitDate: Mon Apr 23 15:00:47 2012 -0700
8495
8496 Faster chroma weight cost calculation
8497
8498 New assembly function with SSE2, SSSE3 and XOP implementations for calculating absolute sum of differences.
8499
8500commit e8952dffa3b09700e5b7c5e56edd196f0b80a248 [revision 2195]
8501Author: Lucien <astrataro@gmail.com>
8502AuthorDate: Sat Mar 31 13:42:49 2012 +0100
8503Commit: Fiona Glaser <fiona@x264.com>
8504CommitDate: Mon Apr 23 13:28:47 2012 -0700
8505
8506 Add Level 5.2 support
8507
8508commit 66acbbf6ce6b143cd164d251ceb160870e4ee720 [revision 2194]
8509Author: Henrik Gramner <hengar-6@student.ltu.se>
8510AuthorDate: Thu Apr 12 19:14:43 2012 +0200
8511Commit: Fiona Glaser <fiona@x264.com>
8512CommitDate: Mon Apr 23 13:28:45 2012 -0700
8513
8514 Eradicate all mention of Extended Profile
8515 x264 never supported it and never will because nobody uses it.
8516
8517commit b0f44f9e106afadaded17009079c2281cb18eb56 [revision 2193]
8518Author: Anton Mitrofanov <BugMaster@narod.ru>
8519AuthorDate: Tue Apr 3 21:46:52 2012 +0400
8520Commit: Fiona Glaser <fiona@x264.com>
8521CommitDate: Mon Apr 23 13:28:44 2012 -0700
8522
8523 Fix disabling of mbtree when using 2pass encoding and zones
8524
8525commit ffea9f51f7f7e0a550c9326631a9c6f8c5c885be [revision 2192]
8526Author: Alexander Prikhodko <komisar666@gmail.com>
8527AuthorDate: Sat Mar 31 12:06:21 2012 +0300
8528Commit: Fiona Glaser <fiona@x264.com>
8529CommitDate: Mon Apr 23 13:28:42 2012 -0700
8530
8531 configure: force select -mXX gcc option for i386/x86-64
8532 Makes multilib compilation more convenient.
8533
8534commit f4aefb3853819adf633c56062d1be77db90819b6 [revision 2191]
8535Author: Rafaël Carré <funman@videolan.org>
8536AuthorDate: Sun Apr 15 21:20:14 2012 -0400
8537Commit: Fiona Glaser <fiona@x264.com>
8538CommitDate: Mon Apr 23 13:28:41 2012 -0700
8539
8540 Update config.guess and config.sub
8541 Adds support for a bunch of targets, including:
8542 aarch64 (armv8)
8543 arm-linux-androideabi
8544
8545commit 62d7007d35c5f0829d96b6ecf459f21d27210ef3 [revision 2190]
8546Author: Alexander Prikhodko <komisar666@gmail.com>
8547AuthorDate: Sat Mar 31 11:33:41 2012 +0300
8548Commit: Fiona Glaser <fiona@x264.com>
8549CommitDate: Mon Apr 23 13:28:39 2012 -0700
8550
8551 configure: correct use of RC variable and add --extra-rcflags
8552
8553commit 70877e39a4abb4c24d1978a28202c9bf0dce8b47 [revision 2189]
8554Author: Steven Walters <kemuri9@gmail.com>
8555AuthorDate: Wed Mar 28 21:15:04 2012 -0400
8556Commit: Fiona Glaser <fiona@x264.com>
8557CommitDate: Mon Apr 23 13:28:34 2012 -0700
8558
8559 ICL/MSVS: Fix shared library generation and usage
8560 MSVS requires exported variables to be declared with the DATA keyword, and requires that imported variables be declared with dllimport.
8561 This does not fix x264 cli being unable to use a shared library built by ICL however.
8562
8563commit 52f7a149ef6c39eb0d7eec7884362ba31a4b05ba [revision 2188]
8564Author: Kieran Kunhya <kierank@ob-encoder.com>
8565AuthorDate: Tue Mar 27 17:38:56 2012 +0100
8566Commit: Fiona Glaser <fiona@x264.com>
8567CommitDate: Tue Mar 27 09:43:57 2012 -0700
8568
8569 Fix intra-refresh + hrd
8570
8571commit fff12b1b7d8ce5cc9cfcfac09f089bae06cac6d5 [revision 2187]
8572Author: Anton Mitrofanov <BugMaster@narod.ru>
8573AuthorDate: Sun Mar 25 17:34:24 2012 +0400
8574Commit: Fiona Glaser <fiona@x264.com>
8575CommitDate: Sun Mar 25 09:56:43 2012 -0700
8576
8577 Fix frame input colorspace check
8578
8579commit 065fec2704f3c8c6f3f3f5b0fad6870a078ba48c [revision 2186]
8580Author: Fiona Glaser <fiona@x264.com>
8581AuthorDate: Thu Mar 22 13:56:50 2012 -0700
8582Commit: Fiona Glaser <fiona@x264.com>
8583CommitDate: Thu Mar 22 13:56:50 2012 -0700
8584
8585 Fix comment in deblock.c
8586 The code does, in fact, handle CAVLC+8x8dct correctly already.
8587
8588commit bca412764eb198433ca45abd097368e5154c7fbb [revision 2185]
8589Author: Fiona Glaser <fiona@x264.com>
8590AuthorDate: Tue Mar 13 14:37:26 2012 -0700
8591Commit: Fiona Glaser <fiona@x264.com>
8592CommitDate: Wed Mar 14 00:53:18 2012 -0700
8593
8594 Fix sliced-threads ratecontrol bug
8595 Was using qp instead of qscale; could cause NANs (not to mention less accurate results).
8596
8597commit e046ba72a4230fdd6c7907ebf7ae235edb98faf2 [revision 2184]
8598Author: Anton Mitrofanov <Bugmaster@narod.ru>
8599AuthorDate: Sun Mar 11 23:08:18 2012 -0700
8600Commit: Fiona Glaser <fiona@x264.com>
8601CommitDate: Sun Mar 11 23:10:23 2012 -0700
8602
8603 Fix clobbering of mutex/cvs
8604 Regression in r2183.
8605 Bizarrely seemed to work on many platforms, but crashed on win64 and may have been slower.
8606 Only affected sliced threads during encoding, but could cause crashes on x264 encoder close even without sliced threads.
8607
8608commit a155572ed547a3627ef00ca70ab804ff452147cd [revision 2183]
8609Author: Fiona Glaser <fiona@x264.com>
8610AuthorDate: Fri Feb 24 13:34:39 2012 -0800
8611Commit: Fiona Glaser <fiona@x264.com>
8612CommitDate: Tue Mar 6 18:11:32 2012 -0800
8613
8614 Sliced-threads: do hpel and deblock after returning
8615 Lowers encoding latency around 14% in sliced threads mode with preset superfast.
8616 Additionally, even if there is no waiting time between frames, this improves parallelism, because hpel+deblock are done during the (singlethreaded) lookahead.
8617 For ease of debugging, dump-yuv forces all of the threads to wait and finish instead of setting b_full_recon.
8618
8619commit 90408ecab16a06ceaa181ff2e495b8f1a9d170fa [revision 2182]
8620Author: Fiona Glaser <fiona@x264.com>
8621AuthorDate: Fri Feb 24 13:16:52 2012 -0800
8622Commit: Fiona Glaser <fiona@x264.com>
8623CommitDate: Tue Mar 6 17:13:26 2012 -0800
8624
8625 Add full-recon API option
8626 Fully reconstruct frames even without dump-yuv.
8627
8628commit 5b2c62aec269be7d0b1ff62df09660369f4e20e0 [revision 2181]
8629Author: Fiona Glaser <fiona@x264.com>
8630AuthorDate: Wed Feb 22 13:33:36 2012 -0800
8631Commit: Fiona Glaser <fiona@x264.com>
8632CommitDate: Tue Mar 6 17:13:23 2012 -0800
8633
8634 x86inc: switch to amdnops
8635 Recent AMD CPUs' instruction decoders choke horribly on extremely long nops (i.e. with 4 prefixes).
8636 Won't affect much, since we don't use ALIGN much.
8637
8638commit 42db5e6f8f704a2b0a9edf5d9cd4a17d80e5b816 [revision 2180]
8639Author: Fiona Glaser <fiona@x264.com>
8640AuthorDate: Tue Feb 14 16:54:03 2012 -0800
8641Commit: Fiona Glaser <fiona@x264.com>
8642CommitDate: Tue Mar 6 17:13:21 2012 -0800
8643
8644 BMI1 decimate functions
8645 Intel was nice enough to make tzcnt equal to "rep bsf", which is backwards-compatible.
8646 This means we don't actually have to add new functions to make it work.
8647
8648commit 92b0bd9665860d7b48f313d6fd72a583ecb01ddf [revision 2179]
8649Author: Fiona Glaser <fiona@x264.com>
8650AuthorDate: Tue Feb 14 15:07:10 2012 -0800
8651Commit: Fiona Glaser <fiona@x264.com>
8652CommitDate: Tue Mar 6 17:13:18 2012 -0800
8653
8654 Minor asm changes
8655
8656commit 2535ba17b2598f4155955857c12d52a377a75517 [revision 2178]
8657Author: Fiona Glaser <fiona@x264.com>
8658AuthorDate: Thu Feb 9 14:23:52 2012 -0800
8659Commit: Fiona Glaser <fiona@x264.com>
8660CommitDate: Tue Mar 6 17:13:15 2012 -0800
8661
8662 Add row-reencoding support to VBV for improved accuracy
8663 Extremely accurate, possibly 100% so (I can't get it to fail even with difficult VBVs).
8664 Does not yet support rows split on slice boundaries (occurs often with slice-max-size/mbs).
8665 Still inaccurate with sliced threads, but better than before.
8666
8667commit bc473ddfd2f5925715d2895da666e214ebf04c84 [revision 2177]
8668Author: Fiona Glaser <fiona@x264.com>
8669AuthorDate: Thu Feb 9 12:38:44 2012 -0800
8670Commit: Fiona Glaser <fiona@x264.com>
8671CommitDate: Tue Mar 6 17:12:41 2012 -0800
8672
8673 Abstract bitstream backup/restore functions
8674 Required for row re-encoding.
8675
8676commit 48e8e52e740fdc7ddca792d4afe240a213f66df5 [revision 2176]
8677Author: Anton Mitrofanov <Bugmaster@narod.ru>
8678AuthorDate: Thu Feb 9 15:27:53 2012 -0800
8679Commit: Fiona Glaser <fiona@x264.com>
8680CommitDate: Tue Mar 6 17:10:30 2012 -0800
8681
8682 Add an small per-MB cost penalty for lowres
8683 Helps avoid VBV predictors going nuts with very low-cost MBs.
8684 One particular case this fixes is zero-cost MBs: adaptive quantization decreases the QP a lot, but (before this patch), no cost penalty gets factored in for this, because anything times zero is zero.
8685
8686commit 1b31a10c7c3210d5eb14d522aaa0cfbe0e7a25e8 [revision 2175]
8687Author: Fiona Glaser <fiona@x264.com>
8688AuthorDate: Mon Feb 13 18:31:51 2012 -0800
8689Commit: Fiona Glaser <fiona@x264.com>
8690CommitDate: Tue Mar 6 10:38:07 2012 -0800
8691
8692 Remove explicit run calculation from coeff_level_run
8693 Not necessary with the CAVLC lookup table for zero run codes.
8694
8695commit 9da19fbee621ca5b052891b3c010f8bc89b2ba93 [revision 2174]
8696Author: Fiona Glaser <fiona@x264.com>
8697AuthorDate: Mon Feb 13 13:20:06 2012 -0800
8698Commit: Fiona Glaser <fiona@x264.com>
8699CommitDate: Tue Mar 6 10:38:05 2012 -0800
8700
8701 Export PSNR/SSIM in x264 API
8702
8703commit 3a5f2fe30aeb5314b74f83b1960e9a40776347e9 [revision 2173]
8704Author: Ronald S. Bultje <rsbultje@gmail.com>
8705AuthorDate: Wed Feb 8 13:10:31 2012 -0800
8706Commit: Fiona Glaser <fiona@x264.com>
8707CommitDate: Tue Mar 6 10:38:02 2012 -0800
8708
8709 x86inc: support yasm -f win64
8710 Not necessary for x264, as -m amd64 already does the right thing, but used by external users of x86inc.
8711
8712commit 3131a19cabcdca221ce4cd61a3cff68d99f1a517 [revision 2172]
8713Author: Henrik Gramner <hengar-6@student.ltu.se>
8714AuthorDate: Wed Feb 1 23:52:48 2012 +0100
8715Commit: Fiona Glaser <fiona@x264.com>
8716CommitDate: Tue Mar 6 10:37:53 2012 -0800
8717
8718 Fix incorrect zero-extension assumptions in x86_64 asm
8719 Some x264 asm assumed that the high 32 bits of registers containing "int" values would be zero.
8720 This is almost always the case, and it seems to work with gcc, but it is *not* guaranteed by the ABI.
8721 As a result, it breaks with some other compilers, like Clang, that take advantage of this in optimizations.
8722 Accordingly, fix all x86 code by using intptr_t instead of int or using movsxd where neccessary.
8723 Also add checkasm hack to detect when assembly functions incorrectly assumes that 32-bit integers are zero-extended to 64-bit.
8724
8725commit d52d0b1e6a9323911818c2a89764f6827974e0f7 [revision 2171]
8726Author: Fiona Glaser <fiona@x264.com>
8727AuthorDate: Thu Feb 23 09:11:23 2012 -0800
8728Commit: Fiona Glaser <fiona@x264.com>
8729CommitDate: Tue Mar 6 08:51:13 2012 -0800
8730
8731 Fix possible alignment crash when linking from MSVC
8732 x264_cavlc_init needs to be stack-aligned now.
8733
8734commit 0a369502ab83c32ccebdb1888e6981ef872baaf0 [revision 2170]
8735Author: Anton Mitrofanov <Bugmaster@narod.ru>
8736AuthorDate: Tue Feb 21 12:58:22 2012 -0800
8737Commit: Fiona Glaser <fiona@x264.com>
8738CommitDate: Tue Mar 6 08:51:10 2012 -0800
8739
8740 Fix rare overflow in 10-bit intra_satd_x3_16x16 asm
8741
8742commit 38a26cdfc54ffd60c90651f3b96490d772e6dd73 [revision 2169]
8743Author: Steven Walters <kemuri9@gmail.com>
8744AuthorDate: Sat Feb 11 22:56:43 2012 -0500
8745Commit: Fiona Glaser <fiona@x264.com>
8746CommitDate: Tue Mar 6 08:51:07 2012 -0800
8747
8748 ICL: fix out of tree building and resource file usage on Windows
8749
8750commit 10e1ba55803970ecd240f2057e7dfe0c22fc8efb [revision 2168]
8751Author: Oka Motofumi <chikuzen.mo@gmail.com>
8752AuthorDate: Mon Feb 6 06:07:34 2012 +0900
8753Commit: Fiona Glaser <fiona@x264.com>
8754CommitDate: Tue Mar 6 08:51:04 2012 -0800
8755
8756 Add error handling for out-of-tree build
8757
8758commit 0fc5acc6e6c038f6380f614e4dc4e1893b716b7e [revision 2167]
8759Author: Anton Mitrofanov <BugMaster@narod.ru>
8760AuthorDate: Tue Mar 6 17:34:02 2012 +0400
8761Commit: Fiona Glaser <fiona@x264.com>
8762CommitDate: Tue Mar 6 08:51:01 2012 -0800
8763
8764 Fix RGB colorspace input
8765 BGR/BGRA input was correct.
8766
8767commit 282c3cfb22f4ab526d96678249ccdc7f16531811 [revision 2166]
8768Author: Fiona Glaser <fiona@x264.com>
8769AuthorDate: Mon Feb 13 16:40:32 2012 -0800
8770Commit: Fiona Glaser <fiona@x264.com>
8771CommitDate: Wed Feb 15 14:23:19 2012 -0800
8772
8773 Fix interlaced + extremal slice-max-size
8774 Broke if the first macroblock in the slice exceeded the set slice-max-size.
8775
8776commit a37a42450cdc31393dae56aed5a726a42fd540d6 [revision 2165]
8777Author: Henrik Gramner <hengar-6@student.ltu.se>
8778AuthorDate: Sun Feb 5 20:43:09 2012 +0100
8779Commit: Fiona Glaser <fiona@x264.com>
8780CommitDate: Sun Feb 5 11:57:48 2012 -0800
8781
8782 Fix regression in r2141
8783 Broke register preservation in x264_cpu_cpuid and x264_cpu_xgetbv.
8784 Did not cause any problems.
8785
8786commit ae289e6f03b76afa8736806e683349e8e59fcc93 [revision 2164]
8787Author: Fiona Glaser <fiona@x264.com>
8788AuthorDate: Thu Jan 19 14:56:54 2012 -0800
8789Commit: Fiona Glaser <fiona@x264.com>
8790CommitDate: Sat Feb 4 07:18:38 2012 -0800
8791
8792 TBM, AVX2, FMA3, BMI1, and BMI2 CPU detection support
8793 TBM and BMI1 are supported by Trinity/Piledriver.
8794 The others (and BMI1) will probably appear in Intel's upcoming Haswell.
8795 Also update x86inc with AVX2 stuff.
8796
8797commit e0581e0878c1995b215c51691af6bdf7a386946f [revision 2163]
8798Author: Loren Merritt <pengvado@akuvian.org>
8799AuthorDate: Fri Feb 3 06:27:18 2012 +0000
8800Commit: Fiona Glaser <fiona@x264.com>
8801CommitDate: Sat Feb 4 07:18:36 2012 -0800
8802
8803 x86inc: add TAIL_CALL macro to abstract a common asm idiom
8804
8805commit 04c38190c60658d544801718fc38fa3f745381d9 [revision 2162]
8806Author: Fiona Glaser <fiona@x264.com>
8807AuthorDate: Wed Jan 25 16:44:38 2012 -0800
8808Commit: Fiona Glaser <fiona@x264.com>
8809CommitDate: Sat Feb 4 07:18:34 2012 -0800
8810
8811 Minor asm optimizations/cleanup
8812
8813commit 6d7c5efcf6f8751f768177bf828973a7bd4fdcf6 [revision 2161]
8814Author: Fiona Glaser <fiona@x264.com>
8815AuthorDate: Tue Jan 24 19:03:58 2012 -0800
8816Commit: Fiona Glaser <fiona@x264.com>
8817CommitDate: Sat Feb 4 07:18:31 2012 -0800
8818
8819 Clean up and optimize weightp, plus enable SSSE3 weight on SB/BDZ
8820 Also remove unused AVX cruft.
8821
8822commit 047175e610d3d5360f69e4f8168ff6fbafda2465 [revision 2160]
8823Author: Fiona Glaser <fiona@x264.com>
8824AuthorDate: Mon Jan 23 18:57:58 2012 -0800
8825Commit: Fiona Glaser <fiona@x264.com>
8826CommitDate: Sat Feb 4 07:18:29 2012 -0800
8827
8828 XOP frame_init_lowres
8829 Covers both 8-bit and 16-bit, ~5-10% faster on Bulldozer.
8830
8831commit abc88d60b5e0d803d6d4f0a5d9ece7dd0bdde0f1 [revision 2159]
8832Author: Fiona Glaser <fiona@x264.com>
8833AuthorDate: Tue Jan 17 15:25:10 2012 -0800
8834Commit: Fiona Glaser <fiona@x264.com>
8835CommitDate: Sat Feb 4 07:18:26 2012 -0800
8836
8837 XOP 8x8 zigzags
8838 Field: 35(mmx) ->16(xop) cycles
8839 Frame: 32(ssse3)->20(xop) cycles
8840
8841commit aa47955a0ec65218e8bb967d36689069baca5fd1 [revision 2158]
8842Author: Fiona Glaser <fiona@x264.com>
8843AuthorDate: Mon Jan 23 15:09:38 2012 -0800
8844Commit: Fiona Glaser <fiona@x264.com>
8845CommitDate: Sat Feb 4 07:18:24 2012 -0800
8846
8847 AVX 32-bit hpel_filter_h
8848 Faster on Sandy Bridge.
8849 Also add details on unsuccessful optimizations in these functions.
8850
8851commit d7407cf81816fff7ab32ceb2398575724e8cc737 [revision 2157]
8852Author: Fiona Glaser <fiona@x264.com>
8853AuthorDate: Fri Jan 27 16:29:30 2012 -0800
8854Commit: Fiona Glaser <fiona@x264.com>
8855CommitDate: Sat Feb 4 07:18:21 2012 -0800
8856
8857 x86inc: add high halfword register support
8858 Might be useful in a few cases.
8859
8860commit acabceb6530d1858bcd009b055e217c75344c442 [revision 2156]
8861Author: Ronald S. Bultje <rsbultje@gmail.com>
8862AuthorDate: Wed Jan 25 13:53:59 2012 +0800
8863Commit: Fiona Glaser <fiona@x264.com>
8864CommitDate: Sat Feb 4 07:18:19 2012 -0800
8865
8866 Change %ifdef directives to %if directives in *.asm files
8867 This allows combining multiple conditionals in a single statement.
8868
8869commit 82d8cdde567b1c1e8d2046bbb831d0daafe8213b [revision 2155]
8870Author: Anton Mitrofanov <BugMaster@narod.ru>
8871AuthorDate: Sun Jan 22 22:13:52 2012 +0400
8872Commit: Fiona Glaser <fiona@x264.com>
8873CommitDate: Sat Feb 4 07:18:16 2012 -0800
8874
8875 Use TV range algorithm for bit-depth conversions
8876 Such sources are more common, so better to be correct for the common case.
8877 This also produces less error for the case of full range than the previous algorithm produced for the case of TV range.
8878
8879commit 27a7b05b8330d0756e5e3f6669282561030f54fa [revision 2154]
8880Author: Hii <hiiragikei@gmail.com>
8881AuthorDate: Wed Jan 25 16:29:22 2012 +0800
8882Commit: Fiona Glaser <fiona@x264.com>
8883CommitDate: Sat Feb 4 07:18:13 2012 -0800
8884
8885 Bump dates to 2012
8886
8887commit 762f677e095a40e1927086bb08799c01e05c2ee4 [revision 2153]
8888Author: Henrik Gramner <hengar-6@student.ltu.se>
8889AuthorDate: Sat Jan 28 21:38:27 2012 +0100
8890Commit: Fiona Glaser <fiona@x264.com>
8891CommitDate: Sat Feb 4 07:18:10 2012 -0800
8892
8893 Add Windows resource file
8894 Displays version info in Windows Explorer.
8895
8896commit 545b41caa5903ebcb5d9336a59f9bf5a50a45037 [revision 2152]
8897Author: Sergey Radionov <RSATom@gmail.com>
8898AuthorDate: Mon Jan 16 13:22:44 2012 -0800
8899Commit: Fiona Glaser <fiona@x264.com>
8900CommitDate: Sat Feb 4 07:18:02 2012 -0800
8901
8902 Fix win32 pthread_cond_signal
8903 Isn't used by x264 currently, so didn't cause a problem.
8904 Fix backported from libav.
8905
8906commit 697a11e8ecb1376cddd4a8d4f4fa693e41c1987e [revision 2151]
8907Author: Mans Rullgard <mans@mansr.com>
8908AuthorDate: Wed Feb 1 15:55:25 2012 -0800
8909Commit: Fiona Glaser <fiona@x264.com>
8910CommitDate: Sat Feb 4 07:16:31 2012 -0800
8911
8912 ARM: align asm functions to 4 bytes.
8913 Some linkers apparently fail to correctly align ARM functions when mixing with Thumb code.
8914
8915commit f59b310fd87b643b59d6e109e49fdf9d0a04ce91 [revision 2150]
8916Author: Anton Mitrofanov <BugMaster@narod.ru>
8917AuthorDate: Sun Jan 22 13:00:23 2012 +0400
8918Commit: Fiona Glaser <fiona@x264.com>
8919CommitDate: Sat Feb 4 07:16:28 2012 -0800
8920
8921 Fix normalization of colorspace when input is packed YUV 4:2:2
8922
8923commit 9fb055856a617f5ddca15a0c5745ff1c1486ad9a [revision 2149]
8924Author: Fiona Glaser <fiona@x264.com>
8925AuthorDate: Sat Jan 21 12:54:40 2012 -0800
8926Commit: Fiona Glaser <fiona@x264.com>
8927CommitDate: Sat Feb 4 07:16:25 2012 -0800
8928
8929 Force keyint-min 1 with Blu-ray
8930 Fixes an issue with referencing across I-frames that's prohibited in Blu-ray for some godforsaken reason.
8931
8932commit 77cfcb6acf648da00eb4ddb52bcb7006bc64a61a [revision 2148]
8933Author: Oka Motofumi <chikuzen.mo@gmail.com>
8934AuthorDate: Sun Jan 29 20:34:41 2012 +0900
8935Commit: Fiona Glaser <fiona@x264.com>
8936CommitDate: Sat Feb 4 07:16:23 2012 -0800
8937
8938 Fix crash in --demuxer y4m with unsupported colorspace
8939
8940commit 30829c0c7e6bbf40d1b3ed5fcb5a45d85407978f [revision 2147]
8941Author: Anton Mitrofanov <BugMaster@narod.ru>
8942AuthorDate: Mon Jan 16 14:02:53 2012 -0800
8943Commit: Fiona Glaser <fiona@x264.com>
8944CommitDate: Sat Feb 4 07:16:19 2012 -0800
8945
8946 Fix overread/possible crash with intra refresh + VBV
8947
8948commit 26c8303472b837e301d789ba569eae01955cf7f6 [revision 2146]
8949Author: Loren Merritt <pengvado@akuvian.org>
8950AuthorDate: Wed Jan 18 15:47:07 2012 -0800
8951Commit: Fiona Glaser <fiona@x264.com>
8952CommitDate: Wed Jan 18 15:48:34 2012 -0800
8953
8954 Fix trellis 2 + subme >= 8
8955 Trellis didn't return a boolean value as it was supposed to.
8956 Regression in r2143-5.
8957
8958commit 7d804baf3bca6ad33e18ccd0a838274214a8a7a0 [revision 2145]
8959Author: Loren Merritt <pengvado@akuvian.org>
8960AuthorDate: Fri Jan 6 15:53:29 2012 +0000
8961Commit: Fiona Glaser <fiona@x264.com>
8962CommitDate: Sun Jan 15 14:27:37 2012 -0800
8963
8964 CABAC trellis opts part 4: x86_64 asm
8965 Another 20% faster.
8966 18k->12k codesize.
8967
8968 This patch series may have a large impact on encoding speed.
8969 For example, 24% faster at --preset slower --crf 23 with 720p parkjoy.
8970 Overall speed increase is proportional to the cost of trellis (which is proportional to bitrate, and much more with --trellis 2).
8971
8972commit dd354db4db2f26e63ed36eb790052c6794e5a684 [revision 2144]
8973Author: Loren Merritt <pengvado@akuvian.org>
8974AuthorDate: Fri Jan 6 15:53:04 2012 +0000
8975Commit: Fiona Glaser <fiona@x264.com>
8976CommitDate: Sun Jan 15 14:27:34 2012 -0800
8977
8978 CABAC trellis opts part 3: make some arrays non-static
8979
8980commit 4abcf60a04e358b87da284f3a5fac3e2949b6de1 [revision 2143]
8981Author: Loren Merritt <pengvado@akuvian.org>
8982AuthorDate: Thu Dec 22 17:56:06 2011 +0000
8983Commit: Fiona Glaser <fiona@x264.com>
8984CommitDate: Sun Jan 15 14:27:32 2012 -0800
8985
8986 CABAC trellis opts part 2: C optimizations
8987
8988 Hoist the branch on coef value out of the loop over node contexts.
8989 Special cases for each possible coef value (0,1,n).
8990 Special case for dc-only blocks.
8991 Template the main loop for two common subsets of nodes, to avoid a bunch of branches about which nodes are live.
8992 Use the nonupdating version of cabac_size_decision in more cases, and omit those bins from the node struct.
8993 CABAC offsets are now compile-time constants.
8994 Change TRELLIS_SCORE_MAX from a specific constant to anything negative, which is cheaper to test.
8995 Remove dct_weight2_zigzag[], since trellis has to lookup zigzag[] anyway.
8996
8997 60% faster on x86_64.
8998 25k->18k codesize.
8999
9000commit 253cd7baefb7f5d101725034b2c37afacc012305 [revision 2142]
9001Author: Loren Merritt <pengvado@akuvian.org>
9002AuthorDate: Thu Dec 22 17:55:06 2011 +0000
9003Commit: Fiona Glaser <fiona@x264.com>
9004CommitDate: Sun Jan 15 14:27:29 2012 -0800
9005
9006 CABAC trellis opts part 1: minor change in output
9007 Due to different tie-break order.
9008
9009commit 0d7a9100d12c618acea3f01b8bb9cc306f475b47 [revision 2141]
9010Author: Henrik Gramner <hengar-6@student.ltu.se>
9011AuthorDate: Sun Jan 8 04:14:10 2012 +0100
9012Commit: Fiona Glaser <fiona@x264.com>
9013CommitDate: Sun Jan 15 14:27:13 2012 -0800
9014
9015 x86inc improvements for 64-bit
9016
9017 Add support for all x86-64 registers
9018 Prefer caller-saved register over callee-saved on WIN64
9019 Support up to 15 function arguments
9020
9021commit 8a6a062e11d4074c081d076408cb0bd6def1af8e [revision 2140]
9022Author: Ilia Valiakhmetov <zakne0ne@gmail.com>
9023AuthorDate: Sun Jan 15 04:47:58 2012 -0600
9024Commit: Fiona Glaser <fiona@x264.com>
9025CommitDate: Sun Jan 15 13:08:03 2012 -0800
9026
9027 High bit depth SSE2/AVX add8x8_idct8 and add16x16_idct8
9028 From Google Code-In.
9029
9030commit a35fd4194dd7004abe6f66679496beded405515a [revision 2139]
9031Author: Edward Wang <edward.c.wang@compdigitec.com>
9032AuthorDate: Wed Jan 4 15:35:54 2012 -0800
9033Commit: Fiona Glaser <fiona@x264.com>
9034CommitDate: Sun Jan 15 13:04:39 2012 -0800
9035
9036 MMX/SSE2/AVX predict_8x16_p, high bit depth fdct8
9037 From Google Code-In.
9038
9039commit 9301bbd39fb0a49b1e986f9a7c29685439686de4 [revision 2138]
9040Author: Fiona Glaser <fiona@x264.com>
9041AuthorDate: Thu Dec 22 14:03:15 2011 -0800
9042Commit: Fiona Glaser <fiona@x264.com>
9043CommitDate: Sun Jan 15 13:04:36 2012 -0800
9044
9045 XOP 8-bit fDCT
9046 Use integer MAC for one of the SUMSUB passes. About a dozen cycles faster for 16x16.
9047
9048commit c83edc0427e78c58683af99b80e0234c77b3e41a [revision 2137]
9049Author: Cristian Militaru <cristipiticul@yahoo.com>
9050AuthorDate: Wed Jan 4 12:38:08 2012 -0800
9051Commit: Fiona Glaser <fiona@x264.com>
9052CommitDate: Sun Jan 15 13:04:33 2012 -0800
9053
9054 High bit depth intra_sad_x3_4x4
9055 From Google Code-In.
9056
9057commit 9c0fa2d63f549a44f869562cffa9c041a32ae41d [revision 2136]
9058Author: Fiona Glaser <fiona@x264.com>
9059AuthorDate: Thu Dec 8 13:45:41 2011 -0800
9060Commit: Fiona Glaser <fiona@x264.com>
9061CommitDate: Sun Jan 15 13:04:30 2012 -0800
9062
9063 Use a large LUT for CAVLC zero-run bit codes
9064 Helps the most with trellis and RD, but also helps with bitstream writing.
9065 Seems at worst neutral even in the extreme case of a CPU with small L2 cache (e.g. ARM Cortex A8).
9066
9067commit de7aed78cd2f70017f3c479d8f8dc32d52cee607 [revision 2135]
9068Author: Matt Habel <habelinc@gmail.com>
9069AuthorDate: Fri Dec 16 23:16:09 2011 -0800
9070Commit: Fiona Glaser <fiona@x264.com>
9071CommitDate: Sun Jan 15 13:04:28 2012 -0800
9072
9073 High bit depth intra_sad_x3_8x8, intra_satd_x3_4x4/8x8c/16x16
9074 Also add an ACCUM macro to handle accumulator-induced add-or-swap more concisely.
9075
9076commit d9dee734a9af1788461def43321f19be6a3d2d72 [revision 2134]
9077Author: Shitiz Garg <mail@dragooon.net>
9078AuthorDate: Sat Dec 3 15:34:57 2011 -0800
9079Commit: Fiona Glaser <fiona@x264.com>
9080CommitDate: Sun Jan 15 13:04:25 2012 -0800
9081
9082 MMX 10-bit predict_8x8c_h and predict_8x16c_h
9083 From Google Code-In.
9084
9085commit 7496fc4aeaaaf5b470b1eb0f73ce8ea71d0116f2 [revision 2133]
9086Author: Aaron Schmitz <me@aaronschmitz.com>
9087AuthorDate: Wed Nov 30 00:15:45 2011 -0600
9088Commit: Fiona Glaser <fiona@x264.com>
9089CommitDate: Sun Jan 15 13:04:23 2012 -0800
9090
9091 Some MBAFF x86 assembly functions.
9092 deblock_chroma_420_mbaff, plus 422/422_intra_mbaff implemented using existing functions.
9093 From Google Code-In.
9094
9095commit b8d7b8acb48b45afbfd7efb5baac79475682684a [revision 2132]
9096Author: George Stephanos <gaf.stephanos@gmail.com>
9097AuthorDate: Thu Dec 1 16:53:45 2011 -0800
9098Commit: Fiona Glaser <fiona@x264.com>
9099CommitDate: Sun Jan 15 13:04:20 2012 -0800
9100
9101 More ARM NEON assembly functions
9102 predict_8x8_v, predict_4x4_dc_top, predict_8x8_ddl, predict_8x8_ddr, predict_8x8_vl, predict_8x8_vr, predict_8x8_hd, predict_8x8_hu.
9103 From Google Code-In.
9104
9105commit e269ca55e5244280afd0347c1088083cf7043d48 [revision 2131]
9106Author: Ilia <zakne0ne@gmail.com>
9107AuthorDate: Mon Nov 28 05:20:09 2011 -0800
9108Commit: Fiona Glaser <fiona@x264.com>
9109CommitDate: Sun Jan 15 13:04:15 2012 -0800
9110
9111 More 4:2:2 asm functions
9112 High bit depth version of deblock_h_chroma_422.
9113 Regular and high bit depth versions of deblock_h_chroma_intra_422.
9114 High bit depth pixel_vsad.
9115 SSE2 high bit depth and MMX 8-bit predict_8x8_vl.
9116 Our first GCI patch this year!
9117
9118commit 5d66c5011488539f99ceafdb47b0856a8e9dae0b [revision 2130]
9119Author: Henrik Gramner <hengar-6@student.ltu.se>
9120AuthorDate: Thu Dec 8 16:14:35 2011 +0100
9121Commit: Fiona Glaser <fiona@x264.com>
9122CommitDate: Sun Jan 15 13:04:12 2012 -0800
9123
9124 SSE2 and SSSE3 versions of sub8x16_dct_dc
9125 Also slightly faster sub8x8_dct_dc
9126
9127commit 3ea6a8b22e0aa89e3749e9c95edfeaad9d341b7e [revision 2129]
9128Author: Steven Walters <kemuri9@gmail.com>
9129AuthorDate: Mon Dec 5 08:46:34 2011 -0500
9130Commit: Fiona Glaser <fiona@x264.com>
9131CommitDate: Sun Jan 15 13:03:54 2012 -0800
9132
9133 Resize filter updates
9134 Use AVPixFmtDescriptors to pick the most compatible x264 csp for any pixel format.
9135 Fix deprecated use of av_set_int.
9136 Now requires libavutil >= 51.19.0
9137
9138commit f71d047d0bc129eb9f4724e023bf888a9124338b [revision 2128]
9139Author: Oka Motofumi <chikuzen.mo@gmail.com>
9140AuthorDate: Thu Jan 5 14:23:50 2012 -0800
9141Commit: Fiona Glaser <fiona@x264.com>
9142CommitDate: Thu Jan 12 12:07:56 2012 -0800
9143
9144 Add out-of-tree build support
9145
9146commit 5539220e5afc641a6747c6d95f41e5efbe5858e1 [revision 2127]
9147Author: Anton Mitrofanov <BugMaster@narod.ru>
9148AuthorDate: Fri Dec 16 18:17:00 2011 +0400
9149Commit: Fiona Glaser <fiona@x264.com>
9150CommitDate: Thu Jan 12 12:07:53 2012 -0800
9151
9152 Limit SSIM to 100db
9153 Avoids floating point error for infinite SSIM (lossless).
9154
9155commit 13c236172f0ff40ca149a2e862498457cd32ccb9 [revision 2126]
9156Author: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
9157AuthorDate: Wed Jan 4 13:16:12 2012 -0300
9158Commit: Fiona Glaser <fiona@x264.com>
9159CommitDate: Thu Jan 12 12:04:45 2012 -0800
9160
9161 Fix wrong conditional inclusion of inttypes.h
9162 inttypes.h is required by encoder/ratecontrol.c for SCNxxx macros, and HAVE_STDINT_H does not imply having inttypes.h.
9163 stdint.h is a subset of inttypes.h, but this isn't enough for x264.
9164 This change fixes building x264 with Android's toolchain.
9165
9166commit 2df9d45db64110854e6da6a2037d6c432c5463fe [revision 2125]
9167Author: Anton Mitrofanov <BugMaster@narod.ru>
9168AuthorDate: Wed Dec 21 11:08:56 2011 +0400
9169Commit: Fiona Glaser <fiona@x264.com>
9170CommitDate: Thu Jan 12 12:04:21 2012 -0800
9171
9172 Fix crash with sliced threads and input height <= 112
9173
9174commit e3d311813f3931133962f7ab8ee2305d231df83d [revision 2124]
9175Author: Phillip Blucas <pblucas@gmail.com>
9176AuthorDate: Mon Dec 19 17:43:41 2011 -0600
9177Commit: Fiona Glaser <fiona@x264.com>
9178CommitDate: Mon Dec 19 16:01:51 2011 -0800
9179
9180 Fix loading custom 8x8 chroma quant matrices in 4:4:4
9181
9182commit 9fd7ccb2b635276d019e137844c693b525f92244 [revision 2123]
9183Author: Anton Mitrofanov <BugMaster@narod.ru>
9184AuthorDate: Fri Dec 16 01:48:07 2011 +0400
9185Commit: Fiona Glaser <fiona@x264.com>
9186CommitDate: Mon Dec 19 13:25:57 2011 -0800
9187
9188 Fix PCM cost overflow
9189
9190commit 1d70d0e56003b762439ad4b5d8e72729b51516ae [revision 2122]
9191Author: Anton Mitrofanov <BugMaster@narod.ru>
9192AuthorDate: Fri Dec 9 01:54:22 2011 +0400
9193Commit: Fiona Glaser <fiona@x264.com>
9194CommitDate: Thu Dec 8 14:00:43 2011 -0800
9195
9196 Fix overflow in 8-bit x86 vsad asm function
9197
9198commit b6ce6c64c17071804676435da9b1c07b902857e3 [revision 2121]
9199Author: Anton Mitrofanov <BugMaster@narod.ru>
9200AuthorDate: Wed Dec 7 19:14:52 2011 +0400
9201Commit: Fiona Glaser <fiona@x264.com>
9202CommitDate: Wed Dec 7 16:37:50 2011 -0800
9203
9204 Fix crash in --fullhelp when compiled against recent ffmpeg
9205 Don't assume all pixel formats have a description.
9206
9207commit c3ba63bbe83bd20d06a64cfecd6b878e8f49bc13 [revision 2120]
9208Author: Fiona Glaser <fiona@x264.com>
9209AuthorDate: Tue Dec 6 14:39:21 2011 -0800
9210Commit: Fiona Glaser <fiona@x264.com>
9211CommitDate: Tue Dec 6 14:44:46 2011 -0800
9212
9213 Fix regression in r2118
9214 Broke trellis with i16x16 macroblocks.
9215
9216commit 9dc2391576b35acb55c04773049a0b817f306969 [revision 2119]
9217Author: Fiona Glaser <fiona@x264.com>
9218AuthorDate: Wed Nov 30 13:02:12 2011 -0800
9219Commit: Fiona Glaser <fiona@x264.com>
9220CommitDate: Thu Dec 1 12:27:53 2011 -0800
9221
9222 Modify MBAFF chroma deblock functions to handle U/V at the same time
9223 Allows for more convenient asm implementations.
9224
9225commit d0bf649fcc1a79da12e220c4364aeca6045dfbed [revision 2118]
9226Author: Fiona Glaser <fiona@x264.com>
9227AuthorDate: Thu Nov 10 16:16:13 2011 -0800
9228Commit: Fiona Glaser <fiona@x264.com>
9229CommitDate: Thu Dec 1 12:27:50 2011 -0800
9230
9231 CABAC trellis optimizations: use SIMD quant
9232 Significant speed increase, minor change in output due to rounding.
9233
9234commit 6767f967831048669e45e65681f37011483b4fa0 [revision 2117]
9235Author: Steven Walters <kemuri9@gmail.com>
9236AuthorDate: Sun Nov 6 09:48:30 2011 -0800
9237Commit: Fiona Glaser <fiona@x264.com>
9238CommitDate: Thu Dec 1 12:27:47 2011 -0800
9239
9240 YUV range detection and support for x264CLI
9241 Two new options: --input-range and --range.
9242 --input-range forces the range of the input in case of misdetection; auto by default.
9243 -- range sets the range of the output; x264cli will convert if necessary, TV by default.
9244 --fullrange is now removed as a CLI option (but the libx264 API is unchanged).
9245
9246commit f9a4c4d9828c1cc60135d0301981ea71fd90f6ca [revision 2116]
9247Author: Kieran Kunhya <kieran@kunhya.com>
9248AuthorDate: Fri Nov 4 20:09:13 2011 +0000
9249Commit: Fiona Glaser <fiona@x264.com>
9250CommitDate: Thu Dec 1 12:27:45 2011 -0800
9251
9252 Pass through user data
9253
9254commit 1c774e936a315fdfb92a35c402b351a1c542a13a [revision 2115]
9255Author: Fiona Glaser <fiona@x264.com>
9256AuthorDate: Thu Oct 27 14:05:56 2011 -0700
9257Commit: Fiona Glaser <fiona@x264.com>
9258CommitDate: Thu Dec 1 12:27:43 2011 -0800
9259
9260 Remove unpredictable branch in CABAC dqp
9261
9262commit f3a7517cb9b06a580623cbea0f140be534b99877 [revision 2114]
9263Author: Loren Merritt <pengvado@akuvian.org>
9264AuthorDate: Sun Oct 23 23:15:11 2011 +0000
9265Commit: Fiona Glaser <fiona@x264.com>
9266CommitDate: Thu Dec 1 12:27:40 2011 -0800
9267
9268 x86inc: AVX symmetry optimization
9269 3-arg AVX ops with a memory arg can only have it in src2,
9270 whereas SSE emulation of 3-arg prefers to have it in src1 (i.e. the move).
9271 So, if the op is symmetric and the wrong one is memory, swap them.
9272 Eliminates redundant moves in some cases when using 3-operand without AVX with memory arguments.
9273 Also fix movss and movsd in some cases, and flag shufps correctly as float.
9274
9275commit 5ebbcd8748ae8d8b184db5a8f9b46a9ad865f0ae [revision 2113]
9276Author: Anton Mitrofanov <Bugmaster@narod.ru>
9277AuthorDate: Tue Nov 29 13:45:13 2011 -0800
9278Commit: Fiona Glaser <fiona@x264.com>
9279CommitDate: Thu Dec 1 12:27:33 2011 -0800
9280
9281 checkasm: shut up gcc warnings, fix some naming of functions in results
9282
9283commit 561f71ebf741370075b970fb9d31a593cf47782f [revision 2112]
9284Author: Mans Rullgard <mans@mansr.com>
9285AuthorDate: Mon Nov 28 16:29:12 2011 -0800
9286Commit: Fiona Glaser <fiona@x264.com>
9287CommitDate: Wed Nov 30 00:29:21 2011 -0800
9288
9289 checkasm: fix build on ARM
9290 Because of how ALIGNED_ARRAY_16 is defined on ARM, array initialisers cannot be used here. Use memset() instead.
9291
9292commit 24bf90abde21e77c574f2bd43e38a3222c3183ef [revision 2111]
9293Author: Anton Mitrofanov <BugMaster@narod.ru>
9294AuthorDate: Sat Nov 12 01:31:49 2011 +0400
9295Commit: Fiona Glaser <fiona@x264.com>
9296CommitDate: Mon Nov 28 15:02:28 2011 -0800
9297
9298 Improve makefile rules
9299 Remove the need for "make clean" after most reconfigures.
9300
9301commit 87b23e25eee0c04bb47957445e7cf941a7d8b980 [revision 2110]
9302Author: Anton Mitrofanov <BugMaster@narod.ru>
9303AuthorDate: Sat Nov 12 00:47:48 2011 +0400
9304Commit: Fiona Glaser <fiona@x264.com>
9305CommitDate: Fri Nov 11 14:40:15 2011 -0800
9306
9307 Mark some local functions as static, cosmetics
9308
9309commit 2ecbcd73d60d2f749696b39627c91e28a396538b [revision 2109]
9310Author: Anton Mitrofanov <BugMaster@narod.ru>
9311AuthorDate: Fri Nov 11 23:19:02 2011 +0400
9312Commit: Fiona Glaser <fiona@x264.com>
9313CommitDate: Fri Nov 11 14:40:12 2011 -0800
9314
9315 Fix crash if timecode file opening fails
9316
9317commit f1387840b98560ae34aea9ca09d55984812ad50b [revision 2108]
9318Author: Fabian Greffrath <fabian+debian@greffrath.com>
9319AuthorDate: Fri Nov 11 13:25:43 2011 -0800
9320Commit: Fiona Glaser <fiona@x264.com>
9321CommitDate: Fri Nov 11 13:41:26 2011 -0800
9322
9323 Configure: force PIC for shared build on PARISC and MIPS
9324
9325commit e5063ab30bcb79f94774b6d9ce91b098ade01d6d [revision 2107]
9326Author: Anton Mitrofanov <BugMaster@narod.ru>
9327AuthorDate: Sat Oct 22 19:41:07 2011 +0400
9328Commit: Fiona Glaser <fiona@x264.com>
9329CommitDate: Sun Oct 23 14:51:33 2011 -0700
9330
9331 Improve yasm version check
9332 Previous check allowed certain earlier versions that weren't fully compatible.
9333
9334commit 12104b22820b38b4976e83a6ee00dcb59ed959f1 [revision 2106]
9335Author: Fiona Glaser <fiona@x264.com>
9336AuthorDate: Tue Oct 18 14:30:26 2011 -0700
9337Commit: Fiona Glaser <fiona@x264.com>
9338CommitDate: Fri Oct 21 17:22:59 2011 -0700
9339
9340 Add fenc prefetching to adaptive quant
9341 Many fewer cache misses, faster adaptive quant.
9342
9343commit 9bbfc30284469a70374a75fecfa322c4740dc2b7 [revision 2105]
9344Author: Fiona Glaser <fiona@x264.com>
9345AuthorDate: Tue Oct 18 14:14:03 2011 -0700
9346Commit: Fiona Glaser <fiona@x264.com>
9347CommitDate: Fri Oct 21 17:22:56 2011 -0700
9348
9349 Split prefetch_fenc between colorspaces
9350 Add 4:2:2 version.
9351
9352commit b63a73da3add660358a4bad1a590c2d4ed466dc4 [revision 2104]
9353Author: Fiona Glaser <fiona@x264.com>
9354AuthorDate: Tue Oct 11 17:04:32 2011 -0700
9355Commit: Fiona Glaser <fiona@x264.com>
9356CommitDate: Fri Oct 21 17:22:52 2011 -0700
9357
9358 Some more 4:2:2 x86 asm
9359 coeff_last8, coeff_level_run8, var2_8x16, predict_8x16c_dc, satd_4x16, intra_mbcmp_8x16c_x3, deblock_h_chroma_422
9360
9361commit 50aaf8d84ac6fc78794b98cfe6a25440a09fbb82 [revision 2103]
9362Author: Loren Merritt <pengvado@akuvian.org>
9363AuthorDate: Tue Oct 11 18:12:43 2011 +0000
9364Commit: Fiona Glaser <fiona@x264.com>
9365CommitDate: Fri Oct 21 17:22:49 2011 -0700
9366
9367 Remove obsolete versions of intra_mbcmp_x3
9368 intra_mbcmp_x3 is unnecessary if x9 exists (SSSE3 and onwards).
9369
9370commit 1111780d8e392455870898bacae30a413ae98464 [revision 2102]
9371Author: Loren Merritt <pengvado@akuvian.org>
9372AuthorDate: Mon Oct 10 05:42:36 2011 +0000
9373Commit: Fiona Glaser <fiona@x264.com>
9374CommitDate: Fri Oct 21 17:22:45 2011 -0700
9375
9376 SSSE3/SSE4/AVX 9-way fully merged i8x8 analysis (sa8d_x9)
9377 x86_64 only for now, due to register requirements (like sa8d_x3).
9378
9379 i8x8 analysis cycles (per partition):
9380 penryn sandybridge bulldozer
9381 616->600 482->374 418->356 preset=faster
9382 892->632 725->387 598->373 preset=medium
9383 948->650 789->409 673->383 preset=slower
9384
9385commit 422979198e492d5068034a3a5b1e4991af2b63a1 [revision 2101]
9386Author: Fiona Glaser <fiona@x264.com>
9387AuthorDate: Fri Sep 30 19:09:19 2011 -0700
9388Commit: Fiona Glaser <fiona@x264.com>
9389CommitDate: Fri Oct 21 17:22:41 2011 -0700
9390
9391 SSSE3/SSE4/AVX 9-way fully merged i8x8 analysis (sad_x9)
9392 ~3 times faster than current analysis, plus (like intra_sad_x9_4x4) analyzes all modes without shortcuts.
9393
9394commit da66eef02e8d9cb57c52aeecb7371b9968747c2b [revision 2100]
9395Author: Loren Merritt <pengvado@akuvian.org>
9396AuthorDate: Wed Oct 5 13:29:21 2011 -0700
9397Commit: Fiona Glaser <fiona@x264.com>
9398CommitDate: Fri Oct 21 17:22:38 2011 -0700
9399
9400 Merge i4x4 prediction with intra_mbcmp_x9_4x4
9401 Avoids a redundant prediction after analysis.
9402
9403commit 9f027f4f3f9b03b5dabe081a12ca1b80c20ffc18 [revision 2099]
9404Author: Fiona Glaser <fiona@x264.com>
9405AuthorDate: Wed Oct 5 13:17:31 2011 -0700
9406Commit: Fiona Glaser <fiona@x264.com>
9407CommitDate: Fri Oct 21 17:22:34 2011 -0700
9408
9409 Inline i4x4/i8x8 encode into intra analysis
9410 Larger code size, but faster.
9411
9412commit a5a6d0eeadbba6ae3232f620345762aebca240ab [revision 2098]
9413Author: Fiona Glaser <fiona@x264.com>
9414AuthorDate: Wed Sep 21 17:12:10 2011 -0700
9415Commit: Fiona Glaser <fiona@x264.com>
9416CommitDate: Fri Oct 21 17:22:31 2011 -0700
9417
9418 Initial XOP and FMA4 support on AMD Bulldozer
9419 ~10% faster Hadamard functions (SATD/SA8D/hadamard_ac) plus other improvements.
9420
9421commit e73b85b56437827f881d1406e11d2cca4bbe5583 [revision 2097]
9422Author: Mans Rullgard <mans@mansr.com>
9423AuthorDate: Tue Sep 27 21:14:14 2011 +0400
9424Commit: Fiona Glaser <fiona@x264.com>
9425CommitDate: Fri Oct 21 17:22:28 2011 -0700
9426
9427 ARM: update NEON chroma deblock functions to NV12 pixel format
9428
9429commit 9c356e2558948714bdbb991a9f9cb9a3e1f0121b [revision 2096]
9430Author: Sean McGovern <gseanmcg@gmail.com>
9431AuthorDate: Mon Oct 17 12:45:15 2011 -0700
9432Commit: Fiona Glaser <fiona@x264.com>
9433CommitDate: Fri Oct 21 17:22:24 2011 -0700
9434
9435 Add /usr/lib/{64/}values-xpg6.o to $LDFLAGS on Solaris
9436 This is required for POSIX.1-2001 compliance.
9437
9438commit 6c50ab569d95ebb07e5fb437a38d646bf607c74b [revision 2095]
9439Author: Sean McGovern <gseanmcg@gmail.com>
9440AuthorDate: Mon Oct 17 12:44:03 2011 -0700
9441Commit: Fiona Glaser <fiona@x264.com>
9442CommitDate: Fri Oct 21 17:22:21 2011 -0700
9443
9444 Fix linker test for -Bsymbolic
9445 The Solaris linker only accepts -Bsymbolic for objects compiled in dynamic mode (i.e. shared objects), so pass -shared to gcc.
9446 Additionally, for x86_32 unresolved textrels cause a linker error so mark the .text section as 'impure'.
9447
9448commit 421c38f22c7bdaf2981b2ffb72332c40cadd7332 [revision 2094]
9449Author: Sean McGovern <gseanmcg@gmail.com>
9450AuthorDate: Mon Oct 17 12:43:28 2011 -0700
9451Commit: Fiona Glaser <fiona@x264.com>
9452CommitDate: Fri Oct 21 17:22:18 2011 -0700
9453
9454 Add $SOFLAGS to exported SOFLAGS make variable
9455
9456commit dd713cae59c062440b046fe75d60af83d049de3c [revision 2093]
9457Author: Henrik Gramner <hengar-6@student.ltu.se>
9458AuthorDate: Sat Sep 24 15:56:08 2011 +0200
9459Commit: Fiona Glaser <fiona@x264.com>
9460CommitDate: Fri Oct 21 17:22:14 2011 -0700
9461
9462 Allow setting a chroma format at compile time
9463 Gives a slight speed increase and significant binary size reduction when only one chroma format is needed.
9464
9465commit 68f6db44035e8f9d4d00a73e5703eb1d7ff8d619 [revision 2092]
9466Author: Harfe Leier <astrataro@gmail.com>
9467AuthorDate: Fri Sep 30 12:49:33 2011 -0700
9468Commit: Fiona Glaser <fiona@x264.com>
9469CommitDate: Fri Oct 21 17:22:11 2011 -0700
9470
9471 Improve profile help
9472 List high422/high444 profiles, and don't show non-high-bit-depth profiles in high bit depth builds.
9473
9474commit 675110a687459cc03685489470bbc730580a793b [revision 2091]
9475Author: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
9476AuthorDate: Thu Oct 20 03:09:51 2011 +0900
9477Commit: Fiona Glaser <fiona@x264.com>
9478CommitDate: Fri Oct 21 17:22:01 2011 -0700
9479
9480 Fix infinite loop parsing TDecimate Mode 3 timecode v1 files
9481
9482commit 2ec99b3b94f986b456de1525087ee85b6fa79091 [revision 2090]
9483Author: Fiona Glaser <fiona@x264.com>
9484AuthorDate: Mon Oct 10 17:44:31 2011 -0700
9485Commit: Fiona Glaser <fiona@x264.com>
9486CommitDate: Fri Oct 14 19:03:23 2011 -0700
9487
9488 Fix some integer overflows/signedness errors found by IOC
9489 The only real bug here is in slicetype.c, which may or may not affect real encodes.
9490
9491commit ae1288c43780ed9be60b59dd556d5f85df7498e2 [revision 2089]
9492Author: Fiona Glaser <fiona@x264.com>
9493AuthorDate: Wed Oct 12 09:16:32 2011 -0700
9494Commit: Fiona Glaser <fiona@x264.com>
9495CommitDate: Wed Oct 12 09:17:58 2011 -0700
9496
9497 Fix pixel_var2 with 4:2:2 encoding
9498 Might have caused artifacts or suboptimal chroma compression.
9499
9500commit 9ac39f6078659f4f5cf548460dec940a04fd52c8 [revision 2088]
9501Author: Anton Mitrofanov <BugMaster@narod.ru>
9502AuthorDate: Sun Oct 9 19:14:16 2011 +0400
9503Commit: Fiona Glaser <fiona@x264.com>
9504CommitDate: Sun Oct 9 12:40:46 2011 -0700
9505
9506 Fix chroma intra analysis in 4:4:4 lossless mode
9507
9508commit 294df95060118de1d605ce20fcf490cdb4f4d14c [revision 2087]
9509Author: Anton Mitrofanov <BugMaster@narod.ru>
9510AuthorDate: Sun Oct 9 01:13:29 2011 +0400
9511Commit: Fiona Glaser <fiona@x264.com>
9512CommitDate: Sat Oct 8 18:02:02 2011 -0700
9513
9514 Fix use of uninitialized MVs in sub8x8 RDO
9515
9516commit 3ff2feee5a176ec8012c313e4a9e2b3611f29614 [revision 2086]
9517Author: Fabian Greffrath <fabian+debian@greffrath.com>
9518AuthorDate: Fri Oct 7 19:04:17 2011 -0700
9519Commit: Fiona Glaser <fiona@x264.com>
9520CommitDate: Fri Oct 7 19:05:36 2011 -0700
9521
9522 Fix detection of Alpha CPU arch on alphaev67
9523
9524commit 2701440c515a9a8aee1c87d7c06c98e43c3d813f [revision 2085]
9525Author: Fiona Glaser <fiona@x264.com>
9526AuthorDate: Wed Sep 14 14:53:04 2011 -0700
9527Commit: Fiona Glaser <fiona@x264.com>
9528CommitDate: Wed Sep 21 12:25:28 2011 -0700
9529
9530 Optimize x86 asm for Intel macro-op fusion
9531 That is, place all loop counter tests right before their conditional jumps.
9532
9533commit 2d481bc0ee053634fe46c0df2cbc646733dd137d [revision 2084]
9534Author: Fiona Glaser <fiona@x264.com>
9535AuthorDate: Mon Sep 12 11:51:23 2011 -0700
9536Commit: Fiona Glaser <fiona@x264.com>
9537CommitDate: Wed Sep 21 12:25:02 2011 -0700
9538
9539 CAVLC: clean up and restructure
9540 Somewhat faster CAVLC and RD bit-counting.
9541
9542commit da768d95d5d63f1eac77a35731079ce02aaa125c [revision 2083]
9543Author: Fiona Glaser <fiona@x264.com>
9544AuthorDate: Thu Sep 8 17:27:02 2011 -0700
9545Commit: Fiona Glaser <fiona@x264.com>
9546CommitDate: Wed Sep 21 09:54:49 2011 -0700
9547
9548 CABAC: clean up and restructure
9549 Somewhat faster CABAC and RD bit-counting.
9550
9551commit 389b401a99f2f33b41db7d74904b3ff7509d79e5 [revision 2082]
9552Author: Fiona Glaser <fiona@x264.com>
9553AuthorDate: Sun Sep 4 11:31:29 2011 +0200
9554Commit: Fiona Glaser <fiona@x264.com>
9555CommitDate: Wed Sep 21 09:54:47 2011 -0700
9556
9557 Some initial 4:2:2 x86 asm
9558
9559commit 5b0cb86f27ba0c5433c404bed51c06a5124dfb49 [revision 2081]
9560Author: Henrik Gramner <hengar-6@student.ltu.se>
9561AuthorDate: Fri Aug 26 15:57:04 2011 +0200
9562Commit: Fiona Glaser <fiona@x264.com>
9563CommitDate: Wed Sep 21 09:54:44 2011 -0700
9564
9565 4:2:2 encoding support
9566
9567commit 3d82e875d06b9d1e15ca2baa16b1bd9640500972 [revision 2080]
9568Author: Loren Merritt <pengvado@akuvian.org>
9569AuthorDate: Mon Aug 15 18:18:55 2011 +0000
9570Commit: Fiona Glaser <fiona@x264.com>
9571CommitDate: Wed Sep 21 09:54:41 2011 -0700
9572
9573 SSSE3/SSE4 9-way fully merged i4x4 analysis (sad/satd_x9)
9574
9575 i4x4 analysis cycles (per partition):
9576 penryn sandybridge
9577 184-> 75 157-> 54 preset=superfast (sad)
9578 281->165 225->124 preset=faster (satd with early termination)
9579 332->165 263->124 preset=medium
9580 379->165 297->124 preset=slower (satd without early termination)
9581
9582 This is the first code in x264 that intentionally produces different behavior
9583 on different cpus: satd_x9 is implemented only on ssse3+ and checks all intra
9584 directions, whereas the old code (on fast presets) may early terminate after
9585 checking only some of them. There is no systematic difference on slow presets,
9586 though they still occasionally disagree about tiebreaks.
9587
9588 For ease of debugging, add an option "--cpu-independent" to disable satd_x9
9589 and any analogous future code.
9590
9591commit e184ff26233198932d9b77aa7feed6a49095f136 [revision 2079]
9592Author: Loren Merritt <pengvado@akuvian.org>
9593AuthorDate: Mon Aug 15 17:43:42 2011 +0000
9594Commit: Fiona Glaser <fiona@x264.com>
9595CommitDate: Wed Sep 21 09:54:39 2011 -0700
9596
9597 Faster intra_mbcmp_x3 for versions without dedicated asm
9598 Select asm subroutines more intelligently in the wrapper functions.
9599
9600commit d94edd734304c16265f28dd11e8a2029cbdc5b7f [revision 2078]
9601Author: Loren Merritt <pengvado@akuvian.org>
9602AuthorDate: Sat Aug 13 19:01:22 2011 +0000
9603Commit: Fiona Glaser <fiona@x264.com>
9604CommitDate: Wed Sep 21 09:54:36 2011 -0700
9605
9606 Optimize x86 intra_predict_4x4 and 8x8
9607
9608 High bit depth Penryn, Sandybridge cycles:
9609 4x4_ddl: 11->10, 9-> 8
9610 4x4_ddr: 15->13, 12->11
9611 4x4_hd: , 15->12
9612 4x4_hu: , 14->13
9613 4x4_vr: 15->14, 14->12
9614 8x8_ddl: 32->19, 19->14
9615 8x8_ddr: 42->19, 21->14
9616 8x8_hd: , 15->13
9617 8x8_hu: 21->17, 16->12
9618 8x8_vr: 33->19,
9619
9620 8-bit Penryn, Sandybridge cycles:
9621 4x4_ddr: 24->15,
9622 4x4_hd: 24->16,
9623 4x4_hu: 23->15,
9624 4x4_vr: 23->16,
9625 4x4_vl: 10-> 9,
9626 8x8_ddl: 23->15,
9627 8x8_hd: , 17->14
9628 8x8_hu: , 15->14
9629 8x8_vr: 20->16, 17->13
9630
9631commit 37b2d963b262d2880271f313a17fceeee27a3de8 [revision 2077]
9632Author: Loren Merritt <pengvado@akuvian.org>
9633AuthorDate: Sat Aug 13 06:44:28 2011 +0000
9634Commit: Fiona Glaser <fiona@x264.com>
9635CommitDate: Wed Sep 21 09:54:34 2011 -0700
9636
9637 Use realistic alignment for intra pred benchmarks in checkasm
9638
9639commit 10ef9590e33d209a937fcb3f5ca1be66fb481a17 [revision 2076]
9640Author: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
9641AuthorDate: Wed Sep 21 01:15:38 2011 +0900
9642Commit: Fiona Glaser <fiona@x264.com>
9643CommitDate: Wed Sep 21 09:54:31 2011 -0700
9644
9645 Fix frame packing SEI with --frame-packing 0
9646 According to the spec, when frame_packing_arrangement_type is equal to 0, quincunx_sampling_flag shall be equal to 1.
9647
9648commit cb648060484f081eba39480a26791a8e0d605989 [revision 2075]
9649Author: Oka Motofumi <chikuzen.mo@gmail.com>
9650AuthorDate: Mon Sep 5 11:50:37 2011 +0900
9651Commit: Fiona Glaser <fiona@x264.com>
9652CommitDate: Fri Sep 9 14:41:33 2011 -0700
9653
9654 Fix install/uninstall shared libs if SYS is WINDOWS/CYGWIN
9655
9656commit d2452266ccf4bd9552d7ac94b5600b416d757d34 [revision 2074]
9657Author: Reinhard Tartler <siretart@tauware.de>
9658AuthorDate: Wed Aug 10 00:16:46 2011 -0700
9659Commit: Fiona Glaser <fiona@x264.com>
9660CommitDate: Wed Aug 24 13:38:17 2011 -0700
9661
9662 Add Hurd support to configure
9663
9664commit 75de7be6d5e7b0e1fc0febf087be65e91c00b80b [revision 2073]
9665Author: Loren Merritt <pengvado@akuvian.org>
9666AuthorDate: Sat Aug 13 00:39:35 2011 +0000
9667Commit: Fiona Glaser <fiona@x264.com>
9668CommitDate: Wed Aug 24 13:38:15 2011 -0700
9669
9670 Optimize x86 intra_satd_x3_*
9671 ~7% faster.
9672
9673commit b597966bfa8a481489e5af93eb25988456c51a5d [revision 2072]
9674Author: Loren Merritt <pengvado@akuvian.org>
9675AuthorDate: Fri Aug 12 19:13:07 2011 +0000
9676Commit: Fiona Glaser <fiona@x264.com>
9677CommitDate: Wed Aug 24 13:38:12 2011 -0700
9678
9679 Optimize x86 intra_sa8d_x3_8x8
9680 ~40% faster.
9681 Also some other minor asm cosmetics.
9682
9683commit f3fc0c4485aa3ed1774bce462ad3fb92faec114b [revision 2071]
9684Author: Loren Merritt <pengvado@akuvian.org>
9685AuthorDate: Fri Aug 12 02:15:46 2011 +0000
9686Commit: Fiona Glaser <fiona@x264.com>
9687CommitDate: Wed Aug 24 13:37:51 2011 -0700
9688
9689 Scale interlaced refs/mvs for mvr predictors
9690 Slightly improves compression and fixes a Valgrind error.
9691
9692commit ebc334f8d1d2752b9bc2c56e457fffc123ffddee [revision 2070]
9693Author: Loren Merritt <pengvado@akuvian.org>
9694AuthorDate: Thu Aug 11 15:03:12 2011 +0000
9695Commit: Fiona Glaser <fiona@x264.com>
9696CommitDate: Wed Aug 24 10:23:22 2011 -0700
9697
9698 Optimize predict_8x8_filter and incidentally remove a valgrind false-positive
9699
9700commit 94493149bbc251d0ce4ceee85a9faa5ad8837a04 [revision 2069]
9701Author: Anton Mitrofanov <BugMaster@narod.ru>
9702AuthorDate: Mon Aug 15 12:22:18 2011 +0400
9703Commit: Fiona Glaser <fiona@x264.com>
9704CommitDate: Wed Aug 24 10:23:19 2011 -0700
9705
9706 Don't override flat SSE2 dequant functions with non-flat AVX ones
9707 Slightly faster.
9708
9709commit 25a8bb9461bf7b0c75e7fadc8d104dbdc61bed5c [revision 2068]
9710Author: Loren Merritt <pengvado@akuvian.org>
9711AuthorDate: Mon Aug 8 13:40:53 2011 +0000
9712Commit: Fiona Glaser <fiona@x264.com>
9713CommitDate: Wed Aug 24 10:23:17 2011 -0700
9714
9715 Shut up some valgrind false-positives
9716
9717commit ede9651875846116bdb2d3d84e3630beada7e21d [revision 2067]
9718Author: Fiona Glaser <fiona@x264.com>
9719AuthorDate: Tue Aug 16 13:02:24 2011 -0700
9720Commit: Fiona Glaser <fiona@x264.com>
9721CommitDate: Wed Aug 24 10:23:14 2011 -0700
9722
9723 Avoid some unnecessary allocations with B-frames/CABAC off
9724
9725commit 17f16d161e386457f7eaa96866550c497af681d5 [revision 2066]
9726Author: Fiona Glaser <fiona@x264.com>
9727AuthorDate: Mon Aug 22 17:07:03 2011 -0700
9728Commit: Fiona Glaser <fiona@x264.com>
9729CommitDate: Wed Aug 24 10:23:12 2011 -0700
9730
9731 Fix typo in p8x8 RD analysis
9732 Passed wrong idx to trellis.
9733
9734commit 5a22495a2a857b9fcd5825595422c78f0223a417 [revision 2065]
9735Author: Anton Mitrofanov <BugMaster@narod.ru>
9736AuthorDate: Sun Aug 21 02:44:45 2011 +0400
9737Commit: Fiona Glaser <fiona@x264.com>
9738CommitDate: Wed Aug 24 10:23:09 2011 -0700
9739
9740 Fix invalid memory accesses in x86 lowres_init when width <= 16
9741
9742commit 8b72a9e4c87bbdfa1b87609fa9cde9bf61440383 [revision 2064]
9743Author: Anton Mitrofanov <BugMaster@narod.ru>
9744AuthorDate: Mon Aug 15 12:03:09 2011 +0400
9745Commit: Fiona Glaser <fiona@x264.com>
9746CommitDate: Wed Aug 24 10:23:00 2011 -0700
9747
9748 Fix intermediate conversion for YUVJ* pixfmts with 4:4:4 encoding
9749
9750commit cec1f4039fb6f4bf1c5ef97648b94e489400e5bc [revision 2063]
9751Author: Henrik Gramner <hengar-6@student.ltu.se>
9752AuthorDate: Sun Aug 14 13:39:29 2011 +0200
9753Commit: Fiona Glaser <fiona@x264.com>
9754CommitDate: Wed Aug 24 10:22:54 2011 -0700
9755
9756 Fix pic_out returned by x264_encoder_encode with 4:4:4
9757
9758commit eaa858d33b9dcb6e526b01cc39d0268d4ae6d8c0 [revision 2062]
9759Author: Loren Merritt <pengvado@akuvian.org>
9760AuthorDate: Thu Aug 11 22:12:26 2011 +0000
9761Commit: Fiona Glaser <fiona@x264.com>
9762CommitDate: Wed Aug 24 10:22:51 2011 -0700
9763
9764 Fix zeroing of mvr predictors in bskip blocks
9765
9766commit 29e318fd26bd3a2e689801aeb9ff84d9e6c1d25f [revision 2061]
9767Author: Loren Merritt <pengvado@akuvian.org>
9768AuthorDate: Thu Aug 11 01:33:13 2011 +0000
9769Commit: Fiona Glaser <fiona@x264.com>
9770CommitDate: Wed Aug 24 10:22:49 2011 -0700
9771
9772 Fix: chroma planes for weightp analysis were not initted if U early-terminates and V doesn't.
9773
9774commit af0d8d8588e9eed4c4895747fcb7485dd0210bcf [revision 2060]
9775Author: Henrik Gramner <hengar-6@student.ltu.se>
9776AuthorDate: Wed Aug 10 20:25:07 2011 +0200
9777Commit: Fiona Glaser <fiona@x264.com>
9778CommitDate: Wed Aug 24 10:22:46 2011 -0700
9779
9780 Expand borders before chroma weightp analysis
9781 Prevents mc from using uninitialized source pixels.
9782
9783commit cfcce49df42848f601cb05086d1ef89c23675397 [revision 2059]
9784Author: Henrik Gramner <hengar-6@student.ltu.se>
9785AuthorDate: Wed Aug 10 19:29:14 2011 +0200
9786Commit: Fiona Glaser <fiona@x264.com>
9787CommitDate: Wed Aug 24 10:22:43 2011 -0700
9788
9789 Another 4:4:4 chroma weightp bug fix
9790
9791commit 51821635e8dccf877c3521830a8a5598c2bc408b [revision 2058]
9792Author: Fiona Glaser <fiona@x264.com>
9793AuthorDate: Wed Aug 10 00:17:26 2011 -0700
9794Commit: Fiona Glaser <fiona@x264.com>
9795CommitDate: Wed Aug 24 10:22:20 2011 -0700
9796
9797 Fix typo in help
9798
9799commit 3817e54a3aeaa387206f78d5eaee98339dd7d93b [revision 2057]
9800Author: Fiona Glaser <fiona@x264.com>
9801AuthorDate: Sat Aug 6 10:45:47 2011 -0700
9802Commit: Fiona Glaser <fiona@x264.com>
9803CommitDate: Tue Aug 9 17:21:44 2011 -0700
9804
9805 Improve support for varying resolution between passes
9806 Should give much better quality, but still doesn't support MB-tree yet.
9807 Also check for the same interlaced options between passes.
9808 Various minor ratecontrol cosmetics.
9809
9810commit 9b9a13a98b98385884b7ac25710305ad431c62e4 [revision 2056]
9811Author: Loren Merritt <pengvado@akuvian.org>
9812AuthorDate: Sun Aug 7 22:57:27 2011 +0000
9813Commit: Fiona Glaser <fiona@x264.com>
9814CommitDate: Tue Aug 9 17:21:41 2011 -0700
9815
9816 asm cosmetics: base-4 constants for shuffles
9817
9818commit 7e60fcd7af513e48d912dfce21026420698ed6ba [revision 2055]
9819Author: Loren Merritt <pengvado@akuvian.org>
9820AuthorDate: Wed Aug 3 14:58:50 2011 +0000
9821Commit: Fiona Glaser <fiona@x264.com>
9822CommitDate: Tue Aug 9 17:21:33 2011 -0700
9823
9824 Enable some existing asm functions that were missing function pointers
9825 pixel_ads1_avx, predict_8x8_hd_avxx
9826 High bit depth mc_copy_w8_sse2, denoise_dct_avx, prefetch_fenc/ref, and several pixel*sse4.
9827
9828commit 52f287e84a9965f652221f535a3298c7ce0846b9 [revision 2054]
9829Author: Loren Merritt <pengvado@akuvian.org>
9830AuthorDate: Wed Aug 3 14:57:06 2011 +0000
9831Commit: Fiona Glaser <fiona@x264.com>
9832CommitDate: Tue Aug 9 14:17:42 2011 -0700
9833
9834 Remove some unused, broken, and/or useless functions
9835 Unused frame_sort.
9836 Unused x86_64 dequant_4x4dc_mmx2, predict_8x8_vr_mmx2.
9837 Unused and broken high_depth integral_init*h_sse4, optimize_chroma_*, dequant_flat_*, sub8x8_dct_dc_*, zigzag_sub_*.
9838 Useless high_depth dequant_sse4, dequant_dc_sse4.
9839
9840commit 309ddabbb3fba9ba0a2ae4c23470ec539d052374 [revision 2053]
9841Author: Loren Merritt <pengvado@akuvian.org>
9842AuthorDate: Wed Aug 3 14:56:27 2011 +0000
9843Commit: Fiona Glaser <fiona@x264.com>
9844CommitDate: Tue Aug 9 14:17:39 2011 -0700
9845
9846 asm cosmetics: merge all the variants of ABS macros
9847
9848commit 1921c6824e37bdf5a8436a6cbe36b0d3a8c376b3 [revision 2052]
9849Author: Loren Merritt <pengvado@akuvian.org>
9850AuthorDate: Wed Aug 3 14:53:29 2011 +0000
9851Commit: Fiona Glaser <fiona@x264.com>
9852CommitDate: Tue Aug 9 14:17:37 2011 -0700
9853
9854 asm cosmetics part 2
9855 These changes were split out of the cpuflags commit because they change the output executable.
9856
9857commit f85be1cdbe8d9244c0465df13ed58215a8c673cc [revision 2051]
9858Author: Loren Merritt <pengvado@akuvian.org>
9859AuthorDate: Wed Aug 3 14:46:41 2011 +0000
9860Commit: Fiona Glaser <fiona@x264.com>
9861CommitDate: Tue Aug 9 14:17:34 2011 -0700
9862
9863 asm cosmetics: INIT_MMX/XMM/YMM now support a cpuflags argument
9864
9865 Reduces the number of macro args that need to be passed around.
9866 Allows multiple implementations of a given macro (e.g. PALIGNR) to check
9867 cpuflags at the location where the macro is defined, instead of having
9868 to select implementations by %define at toplevel.
9869 Remove INIT_AVX, as it's replaced by "INIT_XMM avx".
9870
9871 This commit does not change the stripped executable.
9872
9873commit 67336688cdc0c47468cef4e6f8cf57ffd010b56e [revision 2050]
9874Author: Loren Merritt <pengvado@akuvian.org>
9875AuthorDate: Wed Aug 3 14:43:34 2011 +0000
9876Commit: Fiona Glaser <fiona@x264.com>
9877CommitDate: Tue Aug 9 14:17:32 2011 -0700
9878
9879 Import x86inc.asm patches from libav
9880
9881commit 189c30d390d08b2b3d3007acd0a106a4e0cd17b2 [revision 2049]
9882Author: Loren Merritt <pengvado@akuvian.org>
9883AuthorDate: Wed Aug 3 14:42:12 2011 +0000
9884Commit: Fiona Glaser <fiona@x264.com>
9885CommitDate: Tue Aug 9 14:17:30 2011 -0700
9886
9887 Cosmetics: s/mmxext/mmx2/
9888
9889commit b37de18947348199bdc392b38e979f619978126e [revision 2048]
9890Author: Henrik Gramner <hengar-6@student.ltu.se>
9891AuthorDate: Sun Aug 7 11:58:36 2011 +0200
9892Commit: Fiona Glaser <fiona@x264.com>
9893CommitDate: Tue Aug 9 14:17:13 2011 -0700
9894
9895 Fix two bugs in 4:4:4 chroma weightp analysis
9896 Caused slightly worse compression.
9897
9898commit 014f9c8e3fa202f13f926ac037c3a8db494522ea [revision 2047]
9899Author: Loren Merritt <pengvado@akuvian.org>
9900AuthorDate: Wed Aug 3 14:40:01 2011 +0000
9901Commit: Fiona Glaser <fiona@x264.com>
9902CommitDate: Fri Aug 5 16:33:27 2011 -0700
9903
9904 Fix "--asm avx"
9905 Previously required "--asm sse2fast,fastshuffle,sse4.2,avx".
9906
9907commit 3674cf4fd338a7894883a0172ec6bde61eac6c25 [revision 2046]
9908Author: Anton Mitrofanov <BugMaster@narod.ru>
9909AuthorDate: Fri Aug 5 15:59:20 2011 +0400
9910Commit: Fiona Glaser <fiona@x264.com>
9911CommitDate: Fri Aug 5 14:42:49 2011 -0700
9912
9913 Re-add support for glibc <2.6, which doesn't have CPU_COUNT
9914
9915commit 1dd4b85fc700db5ec4380e20c2d73882808b3763 [revision 2045]
9916Author: Yasuhiro Ikeda <wipple625@gmail.com>
9917AuthorDate: Tue Aug 2 08:59:15 2011 +0900
9918Commit: Fiona Glaser <fiona@x264.com>
9919CommitDate: Fri Aug 5 14:42:22 2011 -0700
9920
9921 Avoid using deprecated libavformat functions
9922 Replace av_find_stream_info with avformat_find_stream_info.
9923 Now requires libavformat 53.3.0 or newer.
9924
9925commit 191b68df93e7ad4096c6aa4df4120dcb0e83dded [revision 2044]
9926Author: Henrik Gramner <hengar-6@student.ltu.se>
9927AuthorDate: Wed Jul 27 02:23:12 2011 +0200
9928Commit: Fiona Glaser <fiona@x264.com>
9929CommitDate: Fri Jul 29 12:09:35 2011 -0700
9930
9931 Use assembly versions of some deblocking functions in MBAFF
9932
9933commit 459ac481e85833550470d231ae4749a138146614 [revision 2043]
9934Author: Anton Mitrofanov <BugMaster@narod.ru>
9935AuthorDate: Thu Jul 28 00:26:27 2011 +0400
9936Commit: Fiona Glaser <fiona@x264.com>
9937CommitDate: Fri Jul 29 12:09:33 2011 -0700
9938
9939 Move X264_VERSION / X264_POINTVER from config.h to x264_config.h
9940 This makes them available to external programs as part of the public API.
9941
9942commit 95f03f9e89c04b29aa4b5ad57fa4869899eedb4c [revision 2042]
9943Author: Henrik Gramner <hengar-6@student.ltu.se>
9944AuthorDate: Fri Jul 29 20:15:52 2011 +0200
9945Commit: Fiona Glaser <fiona@x264.com>
9946CommitDate: Fri Jul 29 12:09:30 2011 -0700
9947
9948 Fix padding bug in x264_expand_border_mbpair
9949
9950commit eee242c1a64db0c4975eaf9add82565502882293 [revision 2041]
9951Author: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
9952AuthorDate: Fri Jul 29 23:39:26 2011 +0900
9953Commit: Fiona Glaser <fiona@x264.com>
9954CommitDate: Fri Jul 29 12:07:33 2011 -0700
9955
9956 Timecode parsing: Add missing initialization
9957 Fix crash when failed to parse timecode file before malloc pts.
9958 Fix detection of user timebase considered to be exceeding H.264 maximum.
9959
9960commit e1ec7c8ae8d865165c802a69387e4d41cb004e43 [revision 2040]
9961Author: Anton Mitrofanov <BugMaster@narod.ru>
9962AuthorDate: Thu Jul 28 13:37:24 2011 +0400
9963Commit: Fiona Glaser <fiona@x264.com>
9964CommitDate: Fri Jul 29 12:07:30 2011 -0700
9965
9966 Fix crash with high bitdepth 4:2:0 input
9967
9968commit 10dc5bb27739fd112f5b94ffb9419fa8781c5bbe [revision 2039]
9969Author: Daniel Kang <daniel.d.kang@gmail.com>
9970AuthorDate: Tue Jul 26 21:57:39 2011 -0400
9971Commit: Fiona Glaser <fiona@x264.com>
9972CommitDate: Fri Jul 29 12:07:27 2011 -0700
9973
9974 x86 asm cosmetics
9975 Use FDEC_STRIDEB where appropriate.
9976
9977commit bbfbacc9d3fa89cd922f33feb3924b67fdf31f7b [revision 2038]
9978Author: Fiona Glaser <fiona@x264.com>
9979AuthorDate: Tue Jul 26 07:40:23 2011 -0700
9980Commit: Fiona Glaser <fiona@x264.com>
9981CommitDate: Tue Jul 26 07:41:11 2011 -0700
9982
9983 Fix a bug in lossless sub-8x8 RD
9984 Caused crashes in rare cases with lossless encoding. Regression in 4:4:4.
9985
9986commit 10474f5af22f3b2444a4301252175657b6fb1514 [revision 2037]
9987Author: Fiona Glaser <fiona@x264.com>
9988AuthorDate: Mon Jul 18 23:10:30 2011 -0700
9989Commit: Fiona Glaser <fiona@x264.com>
9990CommitDate: Fri Jul 22 15:49:41 2011 -0700
9991
9992 Improved p8x4/4x8 search decision
9993 Use the same thresholding as for p16x8/8x16.
9994 Does p8x4/4x8 search more often, for a small compression improvement.
9995
9996commit 4a88ee1c649d92bbdbbf128e22d547e9b833f00c [revision 2036]
9997Author: Dan Larkin <danielhlarkin@gmail.com>
9998AuthorDate: Wed Jul 13 12:45:23 2011 -0500
9999Commit: Fiona Glaser <fiona@x264.com>
10000CommitDate: Fri Jul 22 15:49:39 2011 -0700
10001
10002 Add --subme 11, which disables all early terminations in analysis
10003 Necessary for a future trellis mode decision/motion estimation patch.
10004 Also add the slowest presets to the regression test.
10005
10006commit 330c8fdaccd63383ba6f7f1ccf787a5f1b89d09b [revision 2035]
10007Author: Dan Larkin <danielhlarkin@gmail.com>
10008AuthorDate: Wed Jul 13 11:33:48 2011 -0500
10009Commit: Fiona Glaser <fiona@x264.com>
10010CommitDate: Fri Jul 22 15:49:36 2011 -0700
10011
10012 Some trivial changes to RD thresholds
10013 The output-changing portion of the next patch.
10014
10015commit b5e21b60fe4422c85b9f27eda6f45d7a5517e160 [revision 2034]
10016Author: Anton Mitrofanov <BugMaster@narod.ru>
10017AuthorDate: Wed Jul 20 22:54:43 2011 +0400
10018Commit: Fiona Glaser <fiona@x264.com>
10019CommitDate: Fri Jul 22 15:49:33 2011 -0700
10020
10021 Allow setting a wider range of chroma QP offsets
10022 This allows use of the full range of chroma QP offsets, even in combination with the automatic psy-based adjustments.
10023
10024commit 1f285bd40b45dfa97fadc86f912a19c54563fa77 [revision 2033]
10025Author: Fiona Glaser <fiona@x264.com>
10026AuthorDate: Fri Jul 15 13:24:38 2011 -0700
10027Commit: Fiona Glaser <fiona@x264.com>
10028CommitDate: Fri Jul 22 15:49:23 2011 -0700
10029
10030 Optimize macroblock_deblock_strength, add more early terminations
10031
10032commit 695bac1d7e66ead90952e333abeab0176ea7221d [revision 2032]
10033Author: Fiona Glaser <fiona@x264.com>
10034AuthorDate: Thu Jul 14 18:23:44 2011 -0700
10035Commit: Fiona Glaser <fiona@x264.com>
10036CommitDate: Fri Jul 22 04:03:25 2011 -0700
10037
10038 Function-pointerify MBAFF deblocking functions
10039
10040commit 75466d2e4fff1aeba7e64a1947e8beea3f1235ff [revision 2031]
10041Author: Fiona Glaser <fiona@x264.com>
10042AuthorDate: Thu Jul 14 14:04:11 2011 -0700
10043Commit: Fiona Glaser <fiona@x264.com>
10044CommitDate: Fri Jul 22 04:03:22 2011 -0700
10045
10046 Clean up MBAFF deblocking code
10047
10048commit 8ae69dbc7ec37e157a3890c21ec4904973e800f9 [revision 2030]
10049Author: Fiona Glaser <fiona@x264.com>
10050AuthorDate: Tue Jul 12 17:27:18 2011 -0700
10051Commit: Fiona Glaser <fiona@x264.com>
10052CommitDate: Fri Jul 22 04:03:19 2011 -0700
10053
10054 Optimize frame_deblock_row
10055
10056commit 44269ed290f1a5457c24b6e2992bc65e92a70ac4 [revision 2029]
10057Author: Henrik Gramner <hengar-6@student.ltu.se>
10058AuthorDate: Wed Jul 20 22:30:59 2011 +0200
10059Commit: Fiona Glaser <fiona@x264.com>
10060CommitDate: Fri Jul 22 04:03:16 2011 -0700
10061
10062 Shrink two arrays
10063
10064commit aea1565f5f5d793935b10cd6081bf8dbe9513db5 [revision 2028]
10065Author: Anton Mitrofanov <BugMaster@narod.ru>
10066AuthorDate: Mon Jul 18 15:20:05 2011 +0400
10067Commit: Fiona Glaser <fiona@x264.com>
10068CommitDate: Fri Jul 22 04:03:14 2011 -0700
10069
10070 Add support for the new (4:4:4) colorspaces to x264_picture_alloc
10071
10072commit e93cfd6adcdd246372a38f2598590c0ab7c69b7d [revision 2027]
10073Author: Anton Mitrofanov <BugMaster@narod.ru>
10074AuthorDate: Wed Jul 20 18:06:41 2011 +0400
10075Commit: Fiona Glaser <fiona@x264.com>
10076CommitDate: Fri Jul 22 04:03:10 2011 -0700
10077
10078 Various cosmetics
10079
10080commit 3ef68d34b477bfd7410267eecbeaa8ebb44bccc4 [revision 2026]
10081Author: Yasuhiro Ikeda <wipple625@gmail.com>
10082AuthorDate: Tue Jul 12 23:41:42 2011 +0900
10083Commit: Fiona Glaser <fiona@x264.com>
10084CommitDate: Fri Jul 22 04:03:00 2011 -0700
10085
10086 Improve configure help
10087
10088commit 9dd3e96e9420fac3cb00d44eab75450c630fe231 [revision 2025]
10089Author: Yasuhiro Ikeda <wipple625@gmail.com>
10090AuthorDate: Tue Jul 12 14:46:29 2011 +0900
10091Commit: Fiona Glaser <fiona@x264.com>
10092CommitDate: Wed Jul 20 19:52:04 2011 -0700
10093
10094 Use $optarg for some configure options
10095
10096commit f7e6610ba12319d68833526676b16879aaff415c [revision 2024]
10097Author: Rafaël Carré <rafael.carre@gmail.com>
10098AuthorDate: Thu Jul 14 18:51:43 2011 -0700
10099Commit: Fiona Glaser <fiona@x264.com>
10100CommitDate: Wed Jul 20 19:48:25 2011 -0700
10101
10102 Linux x264_cpu_num_processors(): use glibc macros
10103 The cpu_set_t structure is considered opaque.
10104 Also handle sched_getaffinity() error case if "cpusetsize is smaller than the size of the affinity mask used by the kernel."
10105
10106commit 670d81811866e9e5045d25c5def5ba2b9f06d2ac [revision 2023]
10107Author: Anton Mitrofanov <BugMaster@narod.ru>
10108AuthorDate: Thu Jul 14 17:02:43 2011 +0400
10109Commit: Fiona Glaser <fiona@x264.com>
10110CommitDate: Mon Jul 18 09:16:35 2011 -0700
10111
10112 Fix spurious "stream properties changed" with --seek option on some inputs
10113
10114commit aa50e72e7c723927325d031ab47b24e069dde4e3 [revision 2022]
10115Author: Anton Mitrofanov <BugMaster@narod.ru>
10116AuthorDate: Fri Jul 15 15:06:37 2011 +0400
10117Commit: Fiona Glaser <fiona@x264.com>
10118CommitDate: Mon Jul 18 09:16:32 2011 -0700
10119
10120 Fix use of deprecated libavcodec functions
10121 Replace avcodec_open with avcodec_open2. Now requires libavcodec 53.6.0 or newer.
10122
10123commit 67c796a37233e66239226bacd74f038281d43095 [revision 2021]
10124Author: Kieran Kunhya <kieran@kunhya.com>
10125AuthorDate: Wed Jul 13 20:25:40 2011 +0100
10126Commit: Fiona Glaser <fiona@x264.com>
10127CommitDate: Thu Jul 14 16:37:57 2011 -0700
10128
10129 Fix nalu_process callback with HRD
10130
10131commit bb784df93d92fb28f67a7998faed0da425b25623 [revision 2020]
10132Author: Anton Mitrofanov <BugMaster@narod.ru>
10133AuthorDate: Wed Jul 13 15:55:38 2011 +0400
10134Commit: Fiona Glaser <fiona@x264.com>
10135CommitDate: Thu Jul 14 16:37:54 2011 -0700
10136
10137 Fix incorrect chroma swap for some input pixfmts
10138
10139 Problem occurred if pixfmt of lavf/ffms input was PIX_FMT_RGB24 or PIX_FMT_YUV444P.
10140
10141commit ad1c2c8e383cb0f23ba8a0ba2ae211ad9f5eba62 [revision 2019]
10142Author: Anton Mitrofanov <BugMaster@narod.ru>
10143AuthorDate: Tue Jun 28 21:39:09 2011 +0400
10144Commit: Fiona Glaser <fiona@x264.com>
10145CommitDate: Sat Jul 9 21:15:59 2011 -0700
10146
10147 Fix resize filter crash with YUVJ* input pixfmt
10148
10149commit ce55ae08a6aad516e6aa2ed58fd93a2adf39a997 [revision 2018]
10150Author: xvidfan <xvidfan@freenet.de>
10151AuthorDate: Wed Jun 22 18:46:14 2011 -0700
10152Commit: Fiona Glaser <fiona@x264.com>
10153CommitDate: Sat Jul 9 21:15:56 2011 -0700
10154
10155 RGB encoding support
10156 Much less efficient than YUV444, but easy to support using the YUV444 framework.
10157
10158commit a93e4c4a75d05e7bf379cb9a39caad57f615eeb0 [revision 2017]
10159Author: Fiona Glaser <fiona@x264.com>
10160AuthorDate: Wed Jun 22 03:32:53 2011 -0700
10161Commit: Fiona Glaser <fiona@x264.com>
10162CommitDate: Sat Jul 9 21:15:52 2011 -0700
10163
10164 4:4:4 encoding support
10165
10166commit 323469e393af71dedd357763883232a293c3ab02 [revision 2016]
10167Author: Fiona Glaser <fiona@x264.com>
10168AuthorDate: Mon Jun 20 16:20:21 2011 -0700
10169Commit: Fiona Glaser <fiona@x264.com>
10170CommitDate: Sat Jul 9 21:15:48 2011 -0700
10171
10172 Properly weight slice header lambda in chroma weightp analysis
10173
10174commit ae61d0c3c236140b6a7ee4ae5f691cf8191b2282 [revision 2015]
10175Author: Daniel Kang <daniel.d.kang@gmail.com>
10176AuthorDate: Sun Jul 3 17:32:00 2011 -0400
10177Commit: Fiona Glaser <fiona@x264.com>
10178CommitDate: Sat Jul 9 21:15:45 2011 -0700
10179
10180 Better x86 high bit depth predict_8x8c_p
10181 Avoid the need to check for corner cases by reordering arithmetic.
10182 Also make a minor optimization to high bit depth predict_16x16_p.
10183
10184commit a8e1be77d59ff3e5ba565b6ee133a1b2364a2dfa [revision 2014]
10185Author: Fiona Glaser <fiona@x264.com>
10186AuthorDate: Thu Jun 23 11:54:42 2011 -0700
10187Commit: Fiona Glaser <fiona@x264.com>
10188CommitDate: Sat Jul 9 21:15:42 2011 -0700
10189
10190 Eliminate extra layer of indirection for sps/pps references
10191 Also remove poc type 1 support (it didn't work anyways) to reduce sps size.
10192
10193commit 8ade503619aff45e5be0ee544d8ab8c867eb5720 [revision 2013]
10194Author: Fiona Glaser <fiona@x264.com>
10195AuthorDate: Sat Jul 9 19:21:00 2011 -0700
10196Commit: Fiona Glaser <fiona@x264.com>
10197CommitDate: Sat Jul 9 21:15:31 2011 -0700
10198
10199 Fix SSIM calculation with sliced threads
10200
10201commit 03bf7da697967bb8ed0b014e8623532b58051240 [revision 2012]
10202Author: Anton Mitrofanov <BugMaster@narod.ru>
10203AuthorDate: Sat Jul 9 23:57:44 2011 +0400
10204Commit: Fiona Glaser <fiona@x264.com>
10205CommitDate: Sat Jul 9 19:40:01 2011 -0700
10206
10207 Avoid possible NaNs in B-frame output stats
10208
10209commit defbf3f4d26d348bf07ec91588a304b59588d96e [revision 2011]
10210Author: Rémi Denis-Courmont <remi@remlab.net>
10211AuthorDate: Thu Jun 30 14:07:43 2011 -0700
10212Commit: Fiona Glaser <fiona@x264.com>
10213CommitDate: Sat Jul 9 19:39:58 2011 -0700
10214
10215 ARM: do not override the toolchain default for FPU ABI
10216
10217commit fb629fcf1d280778f50db39f6c1038158321cc3c [revision 2010]
10218Author: Steven Walters <kemuri9@gmail.com>
10219AuthorDate: Thu Jun 23 20:29:01 2011 -0400
10220Commit: Fiona Glaser <fiona@x264.com>
10221CommitDate: Sat Jul 9 19:39:54 2011 -0700
10222
10223 Fix link errors with libswscale/libavutil as shared libraries
10224
10225commit e825c625999ddc0a27fc6c5cc0b39f198c22b021 [revision 2009]
10226Author: Steven Walters <kemuri9@gmail.com>
10227AuthorDate: Sat Jun 18 14:12:34 2011 -0400
10228Commit: Fiona Glaser <fiona@x264.com>
10229CommitDate: Sat Jul 9 19:39:41 2011 -0700
10230
10231 Fix deprecation in libavformat usage
10232 Replace av_open_input_file with avformat_open_input. Now requires libavformat 53.2.0 or newer.
10233
10234commit d89c1b43816f05e43a836d38764d74d499e82a80 [revision 2008]
10235Author: Anton Mitrofanov <BugMaster@narod.ru>
10236AuthorDate: Thu Jun 9 01:34:14 2011 +0400
10237Commit: Fiona Glaser <fiona@x264.com>
10238CommitDate: Tue Jun 14 19:43:21 2011 -0700
10239
10240 Fix various issues with VBV+threads
10241 Eliminate the race condition with interframe row predictors and threads.
10242 Recalculate frame_size_estimated at the end of a frame, for improved update_vbv_plan.
10243 Some cosmetics.
10244
10245commit ed3b10eb9cffcc346b5a070ce47f5a2beaf9efb6 [revision 2007]
10246Author: Anton Mitrofanov <BugMaster@narod.ru>
10247AuthorDate: Mon Jun 6 13:54:44 2011 +0400
10248Commit: Fiona Glaser <fiona@x264.com>
10249CommitDate: Tue Jun 14 19:43:18 2011 -0700
10250
10251 Fix MBAFF row VBV ratecontrol
10252 Reverts most of r1984 and implements a much simpler solution.
10253
10254commit d091d0e6038e770ada1a856c601c401ba729d083 [revision 2006]
10255Author: Fiona Glaser <fiona@x264.com>
10256AuthorDate: Mon May 23 17:01:02 2011 -0700
10257Commit: Fiona Glaser <fiona@x264.com>
10258CommitDate: Tue Jun 14 19:43:16 2011 -0700
10259
10260 Make ratecontrol_mb less slow
10261
10262commit 63eb8bc9b48564f777e98dd2528c07cff09184b1 [revision 2005]
10263Author: Steven Walters <kemuri9@gmail.com>
10264AuthorDate: Thu Jun 2 21:23:04 2011 -0400
10265Commit: Fiona Glaser <fiona@x264.com>
10266CommitDate: Tue Jun 14 19:43:13 2011 -0700
10267
10268 Resize filter updates
10269 Fix use of deprecated sws_getContext.
10270 Fix uses of sws_format_name.
10271 Fix stream change warning not occurring on the first resolution change.
10272 Drop cpu detection, as it is now performed internally by swscale.
10273 Update swscale version requirements.
10274
10275commit d2e8686121a0418f466a0d79ef6a5367e944f940 [revision 2004]
10276Author: Fiona Glaser <fiona@x264.com>
10277AuthorDate: Tue May 17 14:50:51 2011 -0700
10278Commit: Fiona Glaser <fiona@x264.com>
10279CommitDate: Tue Jun 14 19:43:11 2011 -0700
10280
10281 AVX mbtree_propagate
10282 Up to ~20-30% faster than SSE2 on Sandy Bridge.
10283
10284commit 6d2b51a32bbaabee1a8762adb204d035d590331b [revision 2003]
10285Author: Fiona Glaser <fiona@x264.com>
10286AuthorDate: Tue Jun 14 10:26:56 2011 -0700
10287Commit: Fiona Glaser <fiona@x264.com>
10288CommitDate: Tue Jun 14 19:43:09 2011 -0700
10289
10290 Use -vsync 0 with ffmpeg regression test
10291
10292commit 06fbd9df654cd2b7a025c12b3a7d4b3fb3386e23 [revision 2002]
10293Author: Henrik Gramner <hengar-6@student.ltu.se>
10294AuthorDate: Sat May 21 19:04:46 2011 +0200
10295Commit: Fiona Glaser <fiona@x264.com>
10296CommitDate: Tue Jun 14 19:43:07 2011 -0700
10297
10298 Inline emms instructions on x86 if possible
10299
10300commit f7c6d308f38b3193dbb7bd9f427252e296dfcbfe [revision 2001]
10301Author: Fiona Glaser <fiona@x264.com>
10302AuthorDate: Tue Jun 14 09:35:03 2011 -0700
10303Commit: Fiona Glaser <fiona@x264.com>
10304CommitDate: Tue Jun 14 19:42:40 2011 -0700
10305
10306 Make left_index_table const
10307 Should allow for some missed compiler optimizations in macroblock_cache_load.
10308
10309commit ca7852e211b5a270a8e4752526378a898f669017 [revision 2000]
10310Author: Hii <hiiragikei@gmail.com>
10311AuthorDate: Tue May 24 08:31:17 2011 +0800
10312Commit: Fiona Glaser <fiona@x264.com>
10313CommitDate: Sun Jun 12 19:48:50 2011 -0700
10314
10315 Make --profile main/baseline force off CQMfile