Fix cut&paste typo in changelog.
[deb_x265.git] / ChangeLog
1 2014-12-23 Satoshi Nakagawa <nakagawa424@oki.com>
2
3 * source/encoder/rdcost.h, source/encoder/search.cpp:
4 rdcost: unify scaleChromaDist*()
5 [5f9f7194267b] [tip]
6
7 2014-12-23 Gopu Govindaswamy <gopu@multicorewareinc.com>
8
9 * source/encoder/encoder.cpp:
10 encoder: allocate memory for inter and intra analysis data based on
11 slicetype
12 [9fdab427a191]
13
14 * source/encoder/analysis.cpp, source/encoder/analysis.h:
15 analysis: remove redundant argument in compressIntraCU
16 [c4ec3f22846b]
17
18 2014-12-20 Satoshi Nakagawa <nakagawa424@oki.com>
19
20 * source/encoder/search.cpp:
21 fix 4:4:4 rd<=1
22 [8d2f418829c8]
23
24 2014-12-18 David T Yuen <dtyx265@gmail.com>
25
26 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
27 source/common/x86/dct8.h:
28 asm: idct[8x8] sse2 12232 -> 3500 over c code 3550 -> 3500 over
29 intrinsic
30 [7b816fdb393d]
31
32 2014-12-17 Steve Borho <steve@borho.org>
33
34 * source/PPA/ppaCPUEvents.h, source/encoder/frameencoder.cpp:
35 ppa: emit one event per CTU for more clarity, disable frame threads
36 events
37
38 The frame threads are generally uninteresting when WPP is in use
39 [78ae7996a1ce]
40
41 * source/PPA/ppaCPUEvents.h, source/encoder/frameencoder.cpp,
42 source/encoder/framefilter.cpp, source/encoder/slicetype.cpp,
43 source/x265.cpp:
44 ppa: refine event names
45
46 Drop the unused names, remove uninteresting events. Try to cover the
47 main thread pool tasks and the frame encoder times.
48 [6cbd7d26b2a1]
49
50 * source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h:
51 ppa: simplify interfaces, enforce coding style
52 [952a2a361fcb]
53
54 * source/common/common.h, source/encoder/analysis.cpp,
55 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
56 source/x265.cpp:
57 ppa: minimize code foot-print of profiling events
58
59 This will allow us to add support for more profiling systems without
60 littering the code
61 [3315d6c0ced1]
62
63 * doc/reST/cli.rst, source/x265.h:
64 doc: improve documentation for --stats and multi-pass in general
65 [42fb030a4c43]
66
67 2014-12-16 Min Chen <chenm003@163.com>
68
69 * source/encoder/nal.cpp:
70 fix: output wrong WppEntryOffset when emulating start code at end of
71 WPP row
72 [295d033cb091]
73
74 2014-12-16 Aasaipriya Chandran <aasaipriya@multicorewareinc.com>
75
76 * source/common/x86/asm-primitives.cpp,
77 source/common/x86/ipfilter8.asm:
78 asm: chroma_hpp[16x16] for colorspace i420 in avx2 improve
79 1540c->969c
80 [775ebb4694ad]
81
82 * source/common/x86/asm-primitives.cpp,
83 source/common/x86/ipfilter8.asm:
84 asm: chroma_hpp[32x32] for colorspace i420 in avx2 improve
85 6189c->3537c
86 [619c0e654f5b]
87
88 2014-12-13 Steve Borho <steve@borho.org>
89
90 * source/encoder/api.cpp, source/encoder/encoder.cpp,
91 source/encoder/encoder.h:
92 encoder: combine create() and init() functions
93
94 They were always called back-to-back() and their functionality was
95 non-distinct. It also now checks for abort errors at startup and
96 returns a NULL from the encoder open function (early aborts are
97 usually malloc failures)
98 [6ba7be7b1697]
99
100 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake:
101 cmake: eoln and white-space fixes, slight refactor
102 [ee36b6311aaf]
103
104 2014-12-12 Steve Borho <steve@borho.org>
105
106 * source/encoder/analysis.h:
107 analysis: typo
108 [d00a5b93c07e]
109
110 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake:
111 cmake: allow position independent code to be generally configurable
112 (fixes #91)
113
114 Allow the builder to over-ride the default
115 [afdcb68dace4]
116
117 2014-12-11 Steve Borho <steve@borho.org>
118
119 * source/encoder/entropy.cpp, source/encoder/entropy.h:
120 entropy: add methods to estimate CU mode decision costs
121 [e0374c37e745]
122
123 2014-12-12 Steve Borho <steve@borho.org>
124
125 * source/common/pixel.cpp:
126 pixel: nits
127 [750839e8e0cf]
128
129 * doc/reST/cli.rst, source/common/param.cpp, source/x265.h:
130 api: change default AQ mode to 1
131
132 We've received a lot of feedback that AQ mode 2 is often
133 problematic, but AQ mode 1 is generally safe and useful.
134 [cbf5cad2e12b]
135
136 2014-12-12 Divya Manivannan <divya@multicorewareinc.com>
137
138 * source/common/x86/asm-primitives.cpp,
139 source/common/x86/ipfilter8.asm:
140 asm: luma_vps[4x4] in avx2: improve 337c->219c
141 [6f770a6b24f0]
142
143 2014-12-11 Steve Borho <steve@borho.org>
144
145 * build/README.txt:
146 build: update README to not be so specific about yasm 1.2.0
147 [b1c2ef980dfe]
148
149 2014-12-10 Steve Borho <steve@borho.org>
150
151 * source/encoder/reference.cpp:
152 reference: avoid weighting pixels when plane is unweighted
153
154 Just because the luma plane is weighted does not mean either of the
155 chroma planes are also weighted. If the weight parameters for a
156 given plane are not present, then just directly use the un-weighted
157 reference plane.
158 [ae50be4c3a6e]
159
160 2014-12-11 Aasaipriya Chandran <aasaipriya@multicorewareinc.com>
161
162 * source/common/x86/asm-primitives.cpp,
163 source/common/x86/ipfilter8.asm:
164 asm: chroma_hpp[4x4] for colorspace i420 in avx2 improve 217c->192c
165 [667e4ea0899f]
166
167 2014-12-10 Steve Borho <steve@borho.org>
168
169 * doc/reST/cli.rst:
170 doc: describe what happens when psy-rd is too high for bitrate
171 [9c3b478a60b2]
172
173 2014-12-10 Divya Manivannan <divya@multicorewareinc.com>
174
175 * source/common/x86/asm-primitives.cpp,
176 source/common/x86/ipfilter8.asm:
177 asm: chroma_vpp[32x32] for colorspace i420 in avx2: improve
178 3881c->1933c
179 [04d145864dd6]
180
181 2014-12-10 Steve Borho <steve@borho.org>
182
183 * source/encoder/analysis.cpp:
184 analysis: avoid redundant MC work
185 [9e244ebe21d2]
186
187 * source/encoder/analysis.cpp:
188 analysis: fix chroma predictions for 2Nx2N bidir at zero mv
189
190 Valgrind discovered that the chroma predictions were not in fact
191 predicted
192 [0dc816f49c01]
193
194 * source/x265.h:
195 api: add some blank lines
196 [ab1e1e0ca75c]
197
198 2014-12-09 Divya Manivannan <divya@multicorewareinc.com>
199
200 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
201 asm: chroma_vpp[4x4] for colorspace i422 in avx2: improve 228c->184c
202 [5f16dc82652a]
203
204 2014-12-10 Steve Borho <steve@borho.org>
205
206 * source/common/lowres.cpp, source/common/lowres.h,
207 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
208 source/encoder/reference.cpp, source/encoder/reference.h,
209 source/encoder/slicetype.cpp:
210 reference: weight chroma planes of reference pictures if using
211 chroma satd
212 [6c32c8d4e0a1]
213
214 2014-12-08 Steve Borho <steve@borho.org>
215
216 * doc/reST/cli.rst, source/encoder/analysis.cpp,
217 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
218 source/encoder/motion.h, source/encoder/search.cpp,
219 source/encoder/slicetype.cpp:
220 motion: chroma ME [CHANGES OUTPUTS]
221
222 include chroma distortion in satd decisions when --subme > 2 and
223 chroma blocks are multiples of 4x4
224
225 This required making the MotionEstimate class more aware of PicYuv
226 and its indexing scheme so that it could find the correct chroma
227 pixels to interpolate. This allowed me to merge the setSourcePlane()
228 method into the lookahead's version of setSourcePU.
229
230 This requires further work. The Reference class needs to generate
231 weighted chroma planes if subpel refine will use chroma residual
232 cost. Until this is fixed, the chroma subpel steps will use
233 unweighted reference pixels.
234 [afd5620c77a4]
235
236 2014-12-09 Steve Borho <steve@borho.org>
237
238 * source/common/pixel.cpp, source/common/primitives.cpp:
239 primitives: use NULL chroma satd func pointers for blocks not
240 capable of satd
241
242 If the block is not a multiple of 4x4, then chroma satd measurements
243 are not possible, so we will disable chroma residual measurements
244 for these block sizes (and thus only measure luma residual)
245 [4c97d85c8488]
246
247 * source/common/primitives.cpp:
248 primitives: use luma satd functions for chroma, where applicable
249
250 The commented lines should be considered TODO items for the assembly
251 team
252 [29489f2fc2c7]
253
254 * source/common/pixel.cpp, source/common/primitives.h:
255 primitives: add a chroma satd table that is indexed by luma
256 partition
257
258 There are a number of chroma partitions that have dimensions of 2 or
259 6 and those cannot use satd (which is 4x4 based), so we degrade them
260 down to SAD which makes me unhappy.
261 [47c490836fd8]
262
263 2014-12-08 Steve Borho <steve@borho.org>
264
265 * source/common/lowres.h, source/encoder/reference.cpp,
266 source/encoder/reference.h:
267 reference: move reconPic pointer to base class so it is available to
268 ME
269 [dd55fd39745c]
270
271 * source/encoder/motion.cpp:
272 motion: sync argument names between the header and the cpp file
273 [e2b958539e6a]
274
275 * source/common/yuv.cpp:
276 yuv: fix size check in copyFromYuv
277
278 The target buffer needs to be as large as or larger than the source.
279 The fact that this check has never failed tells me all users of this
280 function have equal sized arguments.
281 [15be837edb36]
282
283 * source/encoder/search.cpp:
284 search: rename index variable to puIdx for consistency
285 [1cab6a4c0ab8]
286
287 * source/common/yuv.cpp, source/common/yuv.h,
288 source/encoder/analysis.cpp, source/encoder/motion.cpp,
289 source/encoder/motion.h, source/encoder/search.cpp:
290 motion: add a version of setSourcePU which can accept fenc from
291 another Yuv
292
293 The analysis code has already gone through the trouble of loading
294 the CU's fenc pixels from the source picture into a much smaller Yuv
295 buffer with small strides. This allows us to avoid accessing the
296 fenc PicYuv in a performance critical portion of the encoder.
297
298 We utilize the Yuv class to copy the PU, since it already has logic
299 for calculating part offsets for luma and chroma
300 [1d1f803a3eec]
301
302 * source/encoder/motion.cpp, source/encoder/motion.h,
303 source/encoder/search.cpp, source/encoder/slicetype.cpp,
304 source/encoder/slicetype.h:
305 motion: use Yuv instance to hold fenc PU pixels (preparing for
306 chroma ME)
307
308 This required making an init function which accepts the encoder
309 color space. We use 4:0:0 for lookahead since it does not keep
310 chroma planes. Note that I explicitly renamed this Yuv instance
311 fencPUYuv to make sure people understand it is not a duplicate of
312 the fencYuv kept by the Analysis structure; it will often be a sub-
313 partition of the CU fenc yuv.
314 [e640c8461495]
315
316 * source/encoder/slicetype.cpp:
317 slicetype: cleanups - use bufSATD method where applicable
318 [b5b05c94ae7c]
319
320 * source/common/yuv.cpp:
321 yuv: plumb in support for mono-chrome YUV buffers
322
323 The need for this will be obvious in the next commit
324 [5a44d694ed9b]
325
326 2014-12-09 Aasaipriya Chandran <aasaipriya@multicorewareinc.com>
327
328 * source/common/x86/asm-primitives.cpp,
329 source/common/x86/ipfilter8.asm:
330 asm: chroma_hpp[8x8] for colorspace i420 in avx2 improve 530c->373c
331 [88498ec9b10b]
332
333 2014-12-08 Steve Borho <steve@borho.org>
334
335 * source/common/x86/asm-primitives.cpp:
336 asm: fix x86 link errors
337 [b376435b31c1]
338
339 2014-12-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
340
341 * source/common/x86/asm-primitives.cpp,
342 source/common/x86/ipfilter8.asm:
343 asm: chroma_vpp[16x16] for colorspace i420 in avx2: improve
344 998c->978c
345 [d042d1ea2d69]
346
347 2014-12-05 Divya Manivannan <divya@multicorewareinc.com>
348
349 * source/common/x86/asm-primitives.cpp,
350 source/common/x86/ipfilter8.asm:
351 asm: chroma_vpp[8x8] for colorspace i420 in avx2: improve 338c->269c
352 [fee9fb1f9762]
353
354 2014-12-06 Satoshi Nakagawa <nakagawa424@oki.com>
355
356 * source/common/cudata.h, source/encoder/analysis.cpp,
357 source/encoder/entropy.cpp, source/encoder/entropy.h,
358 source/encoder/search.cpp, source/encoder/search.h:
359 refine tuDepth related
360 [53f7efef5ebd]
361
362 2014-12-05 Steve Borho <steve@borho.org>
363
364 * source/cmake/version.cmake:
365 cmake: do not use a cache string for version found in hg_archive.txt
366 (refs #84)
367
368 This was not passing the tagged version number to version.cpp
369 [35d086074bb5]
370
371 2014-12-04 Aarthi Thirumalai <Aarthi Thirumalai>
372
373 * source/encoder/ratecontrol.cpp:
374 rc : fix bug in deciding qp for first frame in CRF
375 [1458ad34157c]
376
377 * source/encoder/rdcost.h, source/encoder/sao.cpp:
378 rc: fix chroma qp and chroma lambda derivations.
379
380 fix the chroma qp values for Main10 profile, derive chroma qp from
381 luma qp values according to the HEVC spec. improves quality at high
382 qps.
383 [a1e76461c0d4]
384
385 2014-12-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
386
387 * source/encoder/analysis.cpp:
388 analysis: comments
389 [4ae9691c1a23]
390
391 2014-12-05 Satoshi Nakagawa <nakagawa424@oki.com>
392
393 * source/encoder/analysis.cpp:
394 fix chroma distortion for 4:2:2
395 [42df5c8bdb25]
396
397 2014-12-04 Steve Borho <steve@borho.org>
398
399 * source/encoder/CMakeLists.txt:
400 cmake: disable idiotic uninitialized local variable warnings from VC
401
402 If the compiler is not going to make any minimal attempt to figure
403 out if a variable was initialized, I am not going to make any
404 attempt to look at their stupid warnings.
405 [c9fd35f97e6d]
406
407 2014-12-04 Divya Manivannan <divya@multicorewareinc.com>
408
409 * source/common/x86/asm-primitives.cpp,
410 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
411 asm: chroma_vpp[4x4] for colorspace i420 in avx2: improve 228c->184c
412 [23e637065aec]
413
414 2014-12-04 Steve Borho <steve@borho.org>
415
416 * source/encoder/analysis.cpp, source/encoder/analysis.h:
417 analysis: cache m_bChromaSa8d and reduce redundant work
418
419 Renamed some 'part' variables to 'puIdx' to avoid variable shadow
420 warnings and for consistency with search.cpp
421 [cc327e846dac]
422
423 2014-12-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
424
425 * source/encoder/analysis.cpp:
426 analysis: add chroma distortion to rdLevels 3 and 4
427
428 At these rdLevels, inter/bidir and merge candidate decisions were
429 being taken based on luma sa8dCost only. This will increase bitrate
430 and lower ssim slightly, with better subjective quality.
431
432 Also fixed some naming nits.
433 [1d2a11f6a33f]
434
435 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
436 source/encoder/frameencoder.cpp, source/encoder/search.cpp,
437 source/x265.cpp, source/x265.h:
438 noiseReduction: allow separate strengths to be specified for intra
439 and inter CUs
440 [ec06f5878e8b]
441
442 2014-12-04 Aarthi Thirumalai <Aarthi Thirumalai>
443
444 * source/common/x86/asm-primitives.cpp:
445 primitives: fix build error in refactor of chroma p2s primitive.
446 [511dde5ac1de]
447
448 2014-12-03 Steve Borho <steve@borho.org>
449
450 * source/common/ipfilter.cpp, source/common/lowres.cpp,
451 source/common/pixel.cpp, source/common/predict.cpp,
452 source/common/primitives.cpp, source/common/primitives.h,
453 source/common/quant.cpp, source/common/shortyuv.cpp,
454 source/common/x86/asm-primitives.cpp, source/common/yuv.cpp,
455 source/encoder/search.cpp, source/test/ipfilterharness.cpp,
456 source/test/pixelharness.cpp:
457 primitives: cleanup EncoderPrimitives, refactor chroma p2s primitive
458
459 No behavior changes
460 [b1b5f06fe9ce]
461
462 * source/common/pixel.cpp, source/common/primitives.h:
463 primitives: remove unused chroma lowres primitive
464 [bfeee4ac5463]
465
466 * source/encoder/search.cpp:
467 search: avoid AMVP selection if both MVs are the same
468
469 This is a simple work avoidance optimization, should have no effect
470 on outputs
471 [2f66c3284c35]
472
473 * source/common/CMakeLists.txt, source/common/primitives.cpp:
474 cmake: remove buggy workarounds for partial SIMD support (fixes #92)
475
476 In the past, there were a number of primitives written in SIMD
477 intrinsics that could work without compiling with YASM. Most of
478 those are now gone, and we generally require YASM for SIMD support.
479 This commit remoes support for using the few remaining SIMD
480 intrinsics without having YASM to provide implementations of
481 x265_emms(), x265_cpu_cpuid(), etc. Fixing a bug in the process.
482 [d7b5e73fc91a]
483
484 * doc/reST/cli.rst:
485 doc: fix typo (closes #83)
486 [7192725cbb0a]
487
488 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp,
489 source/x265.h:
490 param: allow NR values from 1..99, clarify docs (closes #87)
491 [21b869f9f706]
492
493 * doc/reST/Makefile, doc/reST/conf.py, doc/reST/x265.rst:
494 doc: add support for reST generated man-pages (closes #89)
495
496 This patch was attached to issue #89 by djcj
497 [ff08fd9b294c]
498
499 * source/common/constants.cpp:
500 constants: adjust lambda tabels for 10bit encodes (fixes #55)
501
502 Since samples are 10bits, where two bits of extra resolution has
503 been added to add more granularity, distortion also has two extra
504 bits. A typical resolution for this problem is to down-shift
505 distortion by 2 bits everywhere, before adding lambda * bits to
506 calculate RD cost. Instead, we multiply lambda by 4 (essentially
507 shift it up by two bits) so distortion and lambda * bits are both at
508 the higher scale.
509
510 lambda2 uses the square of the up-shifted lambda, so it has the
511 doubled up-shift same as the squared distortion values used for RDO.
512
513 Example output change: ./x265
514 /Volumes/video/sintel_trailer_2k_480p24.y4m o.bin --ssim --no-info
515
516 Main: 195.67 kb/s, SSIM Mean Y: 0.9833338 (17.782 dB) Main10 before:
517 363.49 kb/s, SSIM Mean Y: 0.9888182 (19.515 dB) Main10 after: 206.54
518 kb/s, SSIM Mean Y: 0.9855121 (18.390 dB)
519 [014a1e0fb58b]
520
521 2014-12-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
522
523 * source/encoder/encoder.cpp:
524 encoder: fix binary mismatch for analysis load vs save with same
525 bitrate
526 [50d2b92ecc89]
527
528 2014-12-02 Steve Borho <steve@borho.org>
529
530 * Merge
531 [de54cffaecf2]
532
533 2014-11-27 Divya Manivannan <divya@multicorewareinc.com>
534
535 * source/common/x86/asm-primitives.cpp,
536 source/common/x86/ipfilter8.asm:
537 asm: luma_vpp[8x16, 8x32] in avx2: improve 1139c->774c, 1968c->1452c
538 [2e055cbc9046]
539
540 * source/common/x86/asm-primitives.cpp,
541 source/common/x86/ipfilter8.asm:
542 asm: luma_vpp[12x16] in avx2: improve 1977c->1418c
543 [ef4ca8474f5c]
544
545 * source/common/x86/asm-primitives.cpp,
546 source/common/x86/ipfilter8.asm:
547 asm: luma_vpp[24x32] in avx2: improve 5637c->3695c
548 [8aeeaf6950f7]
549
550 * source/common/x86/asm-primitives.cpp,
551 source/common/x86/ipfilter8.asm:
552 asm: luma_vpp[48x64] in avx2: improve 21298c->14696c
553 [d97b1c9f5106]
554
555 2014-12-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
556
557 * source/x265.cpp:
558 x265: add ratetol to command line help
559 [f636a0aadd68]
560
561 2014-12-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
562
563 * source/CMakeLists.txt, source/encoder/encoder.cpp, source/x265.h:
564 encoder: free csv file name
565
566 Since strdup is used uniformly for filenames, csvfn cannot be const.
567 [bde1753de250]
568
569 2014-11-27 Divya Manivannan <divya@multicorewareinc.com>
570
571 * source/common/x86/asm-primitives.cpp,
572 source/common/x86/ipfilter8.asm:
573 asm: luma_vpp[8x16, 8x32] in avx2: improve 1139c->774c, 1968c->1452c
574 [5ee693e4b5fa]
575
576 * source/common/x86/asm-primitives.cpp,
577 source/common/x86/ipfilter8.asm:
578 asm: luma_vpp[12x16] in avx2: improve 1977c->1418c
579 [e280ce2e5076]
580
581 * source/common/x86/asm-primitives.cpp,
582 source/common/x86/ipfilter8.asm:
583 asm: luma_vpp[24x32] in avx2: improve 5637c->3695c
584 [e1ca311bbb5b]
585
586 * source/common/x86/asm-primitives.cpp,
587 source/common/x86/ipfilter8.asm:
588 asm: luma_vpp[48x64] in avx2: improve 21298c->14696c
589 [984271a3aae9]
590
591 2014-11-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
592
593 * source/x265.cpp:
594 x265: remove validateFanout
595 [d9f835ddd112]
596
597 2014-11-27 Satoshi Nakagawa <nakagawa424@oki.com>
598
599 * source/common/pixel.cpp, source/common/primitives.h,
600 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
601 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
602 source/test/pixelharness.cpp, source/test/pixelharness.h:
603 primitives: refactor tskip related
604 [90401d77a05d]
605
606 2014-11-28 Satoshi Nakagawa <nakagawa424@oki.com>
607
608 * source/common/dct.cpp, source/common/quant.h,
609 source/common/x86/dct8.asm, source/common/x86/dct8.h,
610 source/encoder/search.cpp:
611 nits
612 [e2db5f3c6df8]
613
614 2014-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
615
616 * source/common/param.cpp:
617 param: disable b-intra in B frames when tune grain is true.
618 [d32249002258]
619
620 2014-11-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
621
622 * source/encoder/encoder.h:
623 encoder: make all member fields public
624 [af6b68f0feaa]
625
626 2014-11-26 Steve Borho <steve@borho.org>
627
628 * doc/reST/cli.rst, doc/reST/presets.rst:
629 doc: restructure documentation with better grouping, improve cross-
630 refs
631 [dfe0803ae6be]
632
633 * doc/reST/introduction.rst:
634 doc: fix a sphinx build warning
635 [f488b394693b]
636
637 * doc/reST/presets.rst:
638 doc: improve readability of film grain section
639 [03bd64057e72]
640
641 * doc/reST/cli.rst, doc/reST/presets.rst:
642 doc: add cbr to the list of tunings, add helpful cross-refs
643 [071dbe651364]
644
645 2014-11-27 Aarthi Thirumalai <Aarthi Thirumalai>
646
647 * source/CMakeLists.txt, source/common/param.cpp,
648 source/encoder/ratecontrol.cpp, source/x265.cpp, source/x265.h:
649 rc: introduce cli option to tune for cbr.
650 [8e602ed5ca4c]
651
652 2014-11-25 Aarthi Thirumalai <Aarthi Thirumalai>
653
654 * source/encoder/ratecontrol.cpp:
655 rc: improve the frame size planning with respect to vbv buffer
656 occupancy and the lookahead window.
657 [2870269cdd60]
658
659 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
660 rc: adjust qp for B frames from ABR feedback in case of CBR.
661
662 limits the bitrate fluctuation for CBR with respect to the target
663 bitrate set.
664 [576c675adf92]
665
666 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
667 rc: limit bit amortization in ABR to longer sequences
668 [11342c8376dd]
669
670 2014-11-26 Steve Borho <steve@borho.org>
671
672 * source/encoder/ratecontrol.cpp:
673 rc: use c-style typecasts
674 [c67b4f3a5e3c]
675
676 2014-11-19 Aarthi Thirumalai <Aarthi Thirumalai>
677
678 * source/encoder/ratecontrol.cpp:
679 rc: tune midframe vbv logic for B frames
680 [8f5fa9538e13]
681
682 2014-11-21 Aarthi Thirumalai <Aarthi Thirumalai>
683
684 * source/encoder/slicetype.cpp:
685 slicetype: fix vbv lookahead data collection for all frames within
686 the lookahead window.
687 [52246e09727d]
688
689 2014-11-26 Divya Manivannan <divya@multicorewareinc.com>
690
691 * source/common/x86/asm-primitives.cpp,
692 source/common/x86/ipfilter8.asm:
693 asm: luma_hpp[8x8, 8x16, 8x32] in avx2: improve 623c->523c,
694 1384c->1083c, 2555c->2058c
695 [01d82aa06285]
696
697 2014-11-26 Aasaipriya Chandran <aasaipriya@multicorewareinc.com>
698
699 * source/common/x86/asm-primitives.cpp,
700 source/common/x86/ipfilter8.asm:
701 Luma_hpp[48x64] avx2 asm code : improved 25053c->17882c
702 [bb7303bb00d1]
703
704 2014-11-26 Divya Manivannan <divya@multicorewareinc.com>
705
706 * source/common/x86/asm-primitives.cpp,
707 source/common/x86/ipfilter8.asm:
708 asm: luma_hpp[8x4] in avx2: improve 357c->261c
709 [a88ddc970748]
710
711 2014-11-26 Aasaipriya Chandran <aasaipriya@multicorewareinc.com>
712
713 * source/common/x86/asm-primitives.cpp,
714 source/common/x86/ipfilter8.asm:
715 Luma_hpp[32x8 , 32x16 , 32x24 , 32x32 , 32x64] avx2 asm code:
716 improved 2032c->1556c, 4238c->3014c, 6696c->4801c, 8697c->6433c,
717 16823c->12297c
718 [b0153f354186]
719
720 2014-11-26 Divya Manivannan <divya@multicorewareinc.com>
721
722 * source/common/x86/asm-primitives.cpp,
723 source/common/x86/ipfilter8.asm:
724 asm: luma_vpp[64x16] in avx2: improve 7245c->4910c
725 [5700875b428f]
726
727 * source/common/x86/asm-primitives.cpp,
728 source/common/x86/ipfilter8.asm:
729 asm: luma_vpp[64x32, 64x48, 64x64] in avx2: improve 14150c->9810c,
730 21132c->14684c, 28663c->19616c
731 [db518f7c8474]
732
733 2014-11-25 Divya Manivannan <divya@multicorewareinc.com>
734
735 * source/common/x86/asm-primitives.cpp,
736 source/common/x86/ipfilter8.asm:
737 asm: luma_vpp[32x8] in avx2: improve 2047c->1472c
738 [d57c28a3010b]
739
740 * source/common/x86/asm-primitives.cpp,
741 source/common/x86/ipfilter8.asm:
742 asm: luma_vpp[32x24] in avx2: improve 5562c->3899c
743 [dedc5a8589a6]
744
745 * source/common/x86/asm-primitives.cpp,
746 source/common/x86/ipfilter8.asm:
747 asm: luma_vpp[32x16] in avx2: improve 3808c->2491c
748 [3db00b06aea6]
749
750 * source/common/x86/asm-primitives.cpp,
751 source/common/x86/ipfilter8.asm:
752 asm: luma_vpp[32x32, 32x64] in avx2: improve 7247c->4909c,
753 14365c->9774c
754 [adf15e303c37]
755
756 * source/common/x86/asm-primitives.cpp,
757 source/common/x86/ipfilter8.asm:
758 asm: luma_vpp[16x32, 16x64] in avx2: improve 3875c->2463c,
759 7499c->4894c
760 [45456cd145d8]
761
762 2014-11-25 Aasaipriya Chandran <aasaipriya@multicorewareinc.com>
763
764 * source/common/x86/asm-primitives.cpp,
765 source/common/x86/ipfilter8.asm:
766 asm: avx2 for Luma_hpp[16x4, 16x8, 16x12, 16x16 , 16x32, 16x64]
767
768 619c->458c, 1174c->812c, 1694c->1112c, 2291c->1535c, 4846c->3207c,
769 9294c->6104c
770 [d11d3120361f]
771
772 * source/common/x86/asm-primitives.cpp,
773 source/common/x86/ipfilter8.asm:
774 asm: avx2 for luma_hpp[64x64, 64x48, 64x32, 64x16]
775
776 33137c->22606c , 24826c->17202c , 16726c->11560c , 7830c->5534c
777 [1e8a0f1e0889]
778
779 2014-11-22 Steve Borho <steve@borho.org>
780
781 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
782 frameencoder: do not use bitmaps for framefilter if not WPP
783
784 The non-WPP row loop wants to do frame filter work in between each
785 row, with a m_filterRowDelay lag. If we use the functions which
786 update the bitmap, it would allow a worker thread to process a
787 filter row before it was ready. In short, the non-WPP path was never
788 intended to work in the presence of a thread pool. This was causing
789 crashes when --no-wpp --pmode||--pme was used.
790 [8011e2a68b88]
791
792 2014-11-24 Steve Borho <steve@borho.org>
793
794 * source/encoder/frameencoder.cpp:
795 frameencoder: release row lock while waiting during VBV restarts
796
797 This fixes what appears to have been an old deadlock bug that has
798 just recently become very reproducible
799 [82f6e4847d57]
800
801 2014-11-21 Divya Manivannan <divya@multicorewareinc.com>
802
803 * source/common/x86/asm-primitives.cpp,
804 source/common/x86/ipfilter8.asm:
805 asm: luma_vpp[16x4] in avx2: improve 734c->497c
806 [3c6f703f94ea]
807
808 * source/common/x86/asm-primitives.cpp,
809 source/common/x86/ipfilter8.asm:
810 asm: luma_vpp[16x8] in avx2: improve 1195c->745c
811 [fc83cf5299ae]
812
813 * source/common/x86/asm-primitives.cpp,
814 source/common/x86/ipfilter8.asm:
815 asm: luma_vpp[16x12] in avx2: improve 1644c->1018c
816 [65017182318c]
817
818 2014-11-21 Praveen Tiwari <Praveen Tiwari>
819
820 * source/common/dct.cpp:
821 idct32_c: C code optimization
822 [346fccbba4de]
823
824 * source/common/dct.cpp:
825 idct16_c: optimization
826 [388c893d3825]
827
828 * source/common/dct.cpp:
829 idct8_c: optimization
830 [f7d7c480b85d]
831
832 * source/common/dct.cpp:
833 idct4_c: optimization
834 [69a472a77b49]
835
836 * source/common/dct.cpp:
837 dct32_c: optimization
838 [a60dfb900169]
839
840 * source/common/dct.cpp:
841 dct16_c: optimization
842 [7e94ea285179]
843
844 * source/common/dct.cpp:
845 dct8_c: optimization
846 [d426e93e240c]
847
848 * source/common/dct.cpp:
849 dct4_c: C code optimization
850 [d4376e113855]
851
852 * source/common/dct.cpp:
853 idst4_c: optimization
854 [8f373c20bc41]
855
856 * source/common/dct.cpp:
857 dst4_c: optimization
858 [49b66c57972d]
859
860 2014-11-21 Satoshi Nakagawa <nakagawa424@oki.com>
861
862 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
863 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
864 fix copy16to16_shl
865 [5a8da9cb52e8]
866
867 2014-11-20 Steve Borho <steve@borho.org>
868
869 * source/encoder/analysis.cpp, source/encoder/analysis.h,
870 source/encoder/search.cpp, source/encoder/search.h:
871 analysis: explicit locking for pmode and pme parameters
872
873 We've found a repro case involving --no-wpp --pmode --pme --preset
874 slower where time starved worker threads get stuck in the findJob()
875 routine and pushed off the CPU in the mean time the master thread
876 moves on to another CU. This caused very hard to reproduce crashes.
877 [2f8df4c972b9]
878
879 2014-11-20 David T Yuen <dtyx265@gmail.com>
880
881 * source/common/vec/dct-sse3.cpp:
882 Updated intrinsic of idct8 sse3 for new input format
883 [2abf89f5c4f2]
884
885 2014-11-20 Divya Manivannan <divya@multicorewareinc.com>
886
887 * source/common/x86/asm-primitives.cpp,
888 source/common/x86/ipfilter8.asm:
889 asm: luma_vpp[16x16] in avx2: improve 2141c->1284c
890 [2a2142982602]
891
892 * source/common/x86/asm-primitives.cpp,
893 source/common/x86/ipfilter8.asm:
894 asm: luma_vpp[8x4] in avx2: improve 498c->257c
895 [c2fd1b7d5d99]
896
897 * source/common/x86/asm-primitives.cpp,
898 source/common/x86/ipfilter8.asm:
899 asm: luma_vpp[8x8] in avx2: improve 701c->387c
900 [562c43f738e4]
901
902 2014-11-20 Steve Borho <steve@borho.org>
903
904 * source/encoder/encoder.cpp:
905 encoder: nits and alloc zero fix
906
907 intraData needs to be zerod on allocation else if one of the later
908 allocs failed some of the pointers will be uninitialized and passed
909 to X265_FREE()
910 [80dcd3dfb805]
911
912 2014-11-20 Praveen Tiwari <Praveen Tiwari>
913
914 * source/common/dct.cpp:
915 Fix for C code mismatch
916
917 This patch is for fix the the binary mismatch in encoded output
918 introduced during refactorizaton of the transform/quant path.
919 Basically it is original version of code to make sure all valid
920 inputs are copied in input buffer, in other hand it is not fully
921 optimized code but this patch is quick fix for the problem and allow
922 us to optimze one function at a time.
923 [1d17ec0cb954]
924
925 2014-11-20 Satoshi Nakagawa <nakagawa424@oki.com>
926
927 * source/common/pixel.cpp:
928 fix for old gcc
929 [ed587d360b97]
930
931 2014-11-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
932
933 * build/icl32/build-all.bat, build/icl32/make-makefile.bat,
934 build/icl64/build-all.bat, build/icl64/make-makefile.bat:
935 build: remove icl32 and icl64 scripts
936
937 Typical Windows ICL users link with Visual Studio
938 [3649fabf90d3]
939
940 2014-11-20 Praveen Tiwari <Praveen Tiwari>
941
942 * source/common/x86/ipfilter8.asm:
943 luma_hpp[4x4]: AVX2 asm code bug fix
944 [4b637cb9b792]
945
946 2014-11-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
947
948 * source/encoder/encoder.cpp:
949 encoder: fix analysis file read
950 [0c25a6eac0ca]
951
952 2014-11-20 Satoshi Nakagawa <nakagawa424@oki.com>
953
954 * source/encoder/analysis.cpp:
955 fix for rd=0
956 [b33cbe130c63]
957
958 * source/common/cudata.cpp, source/common/cudata.h,
959 source/encoder/analysis.cpp, source/encoder/frameencoder.cpp,
960 source/encoder/search.cpp:
961 replace char to int8_t, where it should be signed char
962 [14a8bb7bbcab]
963
964 2014-11-19 Praveen Tiwari <Praveen Tiwari>
965
966 * source/common/x86/asm-primitives.cpp:
967 disable denoiseDct asm code until fixed for Mac OS
968 [f236adb703f5]
969
970 2014-11-16 Satoshi Nakagawa <nakagawa424@oki.com>
971
972 * source/common/dct.cpp, source/common/ipfilter.cpp,
973 source/common/picyuv.h, source/common/pixel.cpp,
974 source/common/predict.cpp, source/common/primitives.h,
975 source/common/quant.cpp, source/common/quant.h,
976 source/common/shortyuv.cpp, source/common/vec/dct-sse3.cpp,
977 source/common/vec/dct-ssse3.cpp, source/common/x86/blockcopy8.h,
978 source/common/x86/dct8.h, source/common/x86/ipfilter8.h,
979 source/common/x86/mc.h, source/common/x86/pixel-util.h,
980 source/common/x86/pixel.h, source/common/yuv.cpp,
981 source/encoder/analysis.cpp, source/encoder/rdcost.h,
982 source/encoder/search.cpp:
983 primitives: clarify constness
984 [99b5cebf8193]
985
986 2014-11-18 Steve Borho <steve@borho.org>
987
988 * source/common/dct.cpp:
989 dct: fix gcc warnings
990 [34cb58c53859]
991
992 2014-11-18 Praveen Tiwari <Praveen Tiwari>
993
994 * source/common/dct.cpp, source/common/pixel.cpp,
995 source/common/primitives.h, source/common/quant.cpp,
996 source/common/quant.h, source/common/vec/dct-sse3.cpp,
997 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
998 source/common/x86/asm-primitives.cpp,
999 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
1000 source/common/x86/dct8.asm, source/common/x86/dct8.h,
1001 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
1002 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
1003 source/test/pixelharness.cpp, source/test/pixelharness.h:
1004 refactorizaton of the transform/quant path.
1005
1006 This patch involves scaling down the DCT/IDCT coefficients from
1007 int32_t to int16_t as they can be accommodated on int16_t without
1008 any introduction of encode error, this allows us to clean up lots of
1009 DCT/IDCT intermediate buffers, optimize enode efficiency for
1010 different cli options including noise reduction by reducing data
1011 movement operations, accommodating more number of coefficients in a
1012 single register for SIMD operations. This patch include all
1013 necessary changes for the transfor/quant path including unit test
1014 code.
1015 [8bee552a1964]
1016
1017 2014-11-19 Satoshi Nakagawa <nakagawa424@oki.com>
1018
1019 * source/common/common.h:
1020 fseeko for mingw32
1021 [cb9bb697fcaa]
1022
1023 2014-11-19 Steve Borho <steve@borho.org>
1024
1025 * source/common/threading.h:
1026 threadind: fixes for VC11 Win32 includes, prune two unused functions
1027 [2b830f08d948]
1028
1029 2014-11-18 Steve Borho <steve@borho.org>
1030
1031 * source/common/wavefront.cpp:
1032 wavefront: fix msvc warning
1033
1034 warning C4800: 'unsigned long' : forcing value to bool 'true' or
1035 'false' (performance warning)
1036 [e29c618cd9a7]
1037
1038 * source/common/param.cpp, source/common/quant.cpp,
1039 source/common/threading.h, source/common/threadpool.cpp,
1040 source/common/wavefront.cpp, source/common/wavefront.h,
1041 source/common/winxp.h, source/encoder/entropy.cpp,
1042 source/encoder/slicetype.cpp:
1043 threading: use 32bit atomic integer operations exclusively
1044
1045 The 32bit operations have better portability and have less onerous
1046 alignment restrictions.
1047 [814b687db30e]
1048
1049 * source/common/constants.cpp, source/common/constants.h,
1050 source/common/primitives.cpp, source/encoder/api.cpp,
1051 source/test/intrapredharness.cpp:
1052 constants: remove init/destroyROM functions
1053 [d3389bb9efd0]
1054
1055 * source/x265.h:
1056 api: fix range limit docs for RQT limit params
1057 [d059cfa88f1a]
1058
1059 * source/encoder/frameencoder.cpp:
1060 frameencoder: white-space nits
1061 [29a374b62920]
1062
1063 * source/encoder/analysis.cpp:
1064 analysis: drop MATCH_NON_PMODE macro
1065
1066 this was a debugging feature, it's not being tested which means it
1067 will get broken and so it's best just to keep the code clean
1068 [dc61091d5cc4]
1069
1070 * source/common/threading.cpp:
1071 threading: don't use this->
1072
1073 We don't do this anywhere else
1074 [3731d9bc7b88]
1075
1076 * source/common/threading.cpp, source/common/threading.h,
1077 source/common/threadpool.cpp, source/common/threadpool.h:
1078 threading: copyright comment format nits
1079
1080 be consistent with our other files
1081 [a7b9b90e1bdd]
1082
1083 * source/common/param.cpp:
1084 param: use strdup() on input strings uniformly
1085 [ad532c30bc95]
1086
1087 2014-11-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1088
1089 * source/encoder/encoder.cpp:
1090 encoder: init filename to NULL
1091 [2f0062f0791b]
1092
1093 2014-11-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
1094
1095 * source/common/common.h, source/encoder/analysis.cpp,
1096 source/encoder/search.cpp:
1097 search: fix binary mismatch and inconsistent crash for share inter
1098 information
1099 [854fcbb50220]
1100
1101 * source/encoder/encoder.cpp:
1102 encoder: force slicetype using analysis file
1103 [05d824463602]
1104
1105 2014-11-17 Satoshi Nakagawa <nakagawa424@oki.com>
1106
1107 * source/common/cudata.cpp, source/common/lowres.h,
1108 source/common/mv.h, source/encoder/bitcost.h,
1109 source/encoder/motion.cpp, source/encoder/motion.h,
1110 source/encoder/slicetype.cpp:
1111 modify MV default constructor to do nothing
1112 [7a1ec67bd004]
1113
1114 2014-11-17 Aarthi Thirumalai <Aarthi Thirumalai>
1115
1116 * source/encoder/ratecontrol.cpp:
1117 vbv: tune vbv predictors for better mapping of predicted bits to
1118 encoded bits
1119 [27d36c4b4a27]
1120
1121 2014-11-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1122
1123 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1124 analysis: cleanups, init pointers, variable names are made self-
1125 explanatory
1126 [ed2ba7a90567]
1127
1128 2014-11-12 Gopu Govindaswamy <gopu@multicorewareinc.com>
1129
1130 * source/encoder/analysis.cpp:
1131 analysis: fix binary mismatch for share intra save and load mode
1132 with same cli
1133 [10b8d3fbe408]
1134
1135 2014-11-14 Steve Borho <steve@borho.org>
1136
1137 * source/x265.cpp:
1138 cli: fix analysis filename argument
1139
1140 This showed up as a GCC warning about an unused variable, but having
1141 the arg handled here prevented the org from being passed to
1142 x265_param_parse()
1143 [8191e0d02455]
1144
1145 * source/encoder/encoder.cpp:
1146 encoder: add prefix to FREAD and FWRITE macros to avoid MacOSX macro
1147 conflict
1148
1149 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
1150 /Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/fcntl.h:111:9: note:
1151 previous definition is here #define FWRITE 0x0002
1152 [b617dca5ce12]
1153
1154 * source/common/common.h, source/common/frame.h,
1155 source/encoder/encoder.h:
1156 common: move analysis reuse structs to common.h
1157
1158 files in common/ shouldn't include encoder.h
1159 [72f1222903a3]
1160
1161 2014-11-14 Satoshi Nakagawa <nakagawa424@oki.com>
1162
1163 * source/encoder/analysis.cpp:
1164 analysis: encodeResidue() directly write to reconPic
1165 [c3096034934f]
1166
1167 2014-11-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1168
1169 * source/CMakeLists.txt, source/common/common.h,
1170 source/common/frame.h, source/common/param.cpp,
1171 source/encoder/analysis.cpp, source/encoder/analysis.h,
1172 source/encoder/api.cpp, source/encoder/encoder.cpp,
1173 source/encoder/encoder.h, source/x265.cpp, source/x265.def.in,
1174 source/x265.h:
1175 analysis save/load: refactor full implementation
1176
1177 1. Move analysis inter/intra data into encoder 2. Encoder allocates
1178 and frees memory for x265 analysis, remove api calls 3. Inter and
1179 intra data allocated based on sliceType only 4. frame record size is
1180 now variable
1181 [58c2e06c2e4a]
1182
1183 2014-11-13 Satoshi Nakagawa <nakagawa424@oki.com>
1184
1185 * source/encoder/analysis.cpp:
1186 analysis: don't add the cost of picture boundary CU to avgCost
1187 [CHANGES OUTPUT]
1188 [64314f8061f1]
1189
1190 2014-11-13 Steve Borho <steve@borho.org>
1191
1192 * source/cmake/FindVLD.cmake:
1193 cmake: hack to avoid escaping problems in cmake 3.1 parser
1194
1195 Fix suggested by Mario *LigH* Rohkrämer
1196 [17f2fb0996db]
1197
1198 2014-11-13 Satoshi Nakagawa <nakagawa424@oki.com>
1199
1200 * source/common/cudata.cpp, source/encoder/analysis.cpp,
1201 source/encoder/entropy.cpp, source/encoder/entropy.h,
1202 source/encoder/sao.cpp:
1203 nits
1204 [03974d78f241]
1205
1206 2014-11-12 Steve Borho <steve@borho.org>
1207
1208 * source/encoder/rdcost.h:
1209 rdcost: lower the psy-rd scale factor for I slices to 96/256
1210
1211 Based on Santhoshini's testing, this is better at preventing
1212 artifacts
1213 [18aefbde72ab]
1214
1215 2014-11-11 Satoshi Nakagawa <nakagawa424@oki.com>
1216
1217 * source/common/cudata.cpp, source/common/cudata.h,
1218 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
1219 refine initializeGeoms()
1220 [98fb658f3229]
1221
1222 2014-11-11 Steve Borho <steve@borho.org>
1223
1224 * source/encoder/analysis.cpp:
1225 analysis: fix bidir non-determinism in --pmode --rd 5
1226 [306ef9782a30]
1227
1228 * source/common/param.cpp, source/encoder/analysis.cpp,
1229 source/encoder/search.cpp, source/encoder/search.h:
1230 Merge
1231 [fa2fedd97ff2]
1232
1233 2014-11-10 Steve Borho <steve@borho.org>
1234
1235 * source/common/quant.cpp:
1236 quant: allow --nr in all slice types evenly
1237 [38fa64a5c51c]
1238
1239 2014-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1240
1241 * source/common/common.h, source/common/quant.cpp,
1242 source/common/quant.h:
1243 noiseReduction: apply only for I and P, move NoiseReduction to
1244 quant.h
1245
1246 This doubles the number of quant nr categories; intra blocks now use
1247 the lower half.
1248 [ed89e58b44e8]
1249
1250 2014-11-10 Steve Borho <steve@borho.org>
1251
1252 * doc/reST/cli.rst, source/common/param.cpp:
1253 param: raise --nr limit to 2000
1254 [27f293dd9eee]
1255
1256 * doc/reST/presets.rst, source/common/param.cpp:
1257 param: remove --b-intra from --tune grain, document rdoq restriction
1258 [64ccc616be33]
1259
1260 2014-11-09 Steve Borho <steve@borho.org>
1261
1262 * source/encoder/rdcost.h:
1263 rdcost: experimental slice-type based psy-rd scale factor
1264 [4f3fd7ab8868]
1265
1266 2014-11-08 Steve Borho <steve@borho.org>
1267
1268 * source/encoder/analysis.cpp, source/encoder/analysis.h,
1269 source/encoder/search.cpp:
1270 analysis: RDO based BIDIR decisions
1271
1272 At RD 0, 1, and 2, this changes 2Nx2N bidir from a SATD decision to
1273 an SA8D decision.
1274
1275 At RD 3 and 4, if the bidir SA8D cost is within 17/16 of the best
1276 inter cost, then it makes an RDO decision between bestInter and
1277 Bidir (allowing psy-rd to influence the decision, which is the whole
1278 point)
1279
1280 At RD 5 and 6, 2Nx2N BIDIR is yet another RD choice at the same
1281 level as 2Nx2N inter and rect and amp. (psy) RDO picks the best mode
1282 for each block.
1283 [4c6c28cc93d9]
1284
1285 2014-11-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1286
1287 * source/x265.cpp:
1288 x265: more meaningful error messages in analysis
1289 [838e41fb256b]
1290
1291 * source/encoder/api.cpp:
1292 api: cleanup
1293 [3c01e8881946]
1294
1295 * source/encoder/api.cpp:
1296 api: replace analysis data with pre defined constant
1297 [b4effa4dd53b]
1298
1299 * source/x265.cpp:
1300 x265: create and initialise recon object if analysis mode is enabled
1301 [47b290236ca3]
1302
1303 * source/common/param.cpp:
1304 param: add default value to analysis mode
1305 [5c397e744cfd]
1306
1307 2014-11-11 Gopu Govindaswamy <gopu@multicorewareinc.com>
1308
1309 * source/encoder/analysis.cpp, source/encoder/api.cpp,
1310 source/x265.cpp, source/x265.h:
1311 x265: remove redundant variables from intra and inter analysis
1312 structure
1313 [ad5177c86756]
1314
1315 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1316 source/encoder/search.h, source/x265.h:
1317 analysis: Dump best MV statistics and re-use this for analysis load
1318 mode
1319
1320 This patch fixes a bug in inter slices in analysis=load|save mode.
1321 Inter data for all partitions is now saved correctly.
1322 [c8004323493e]
1323
1324 2014-11-10 Satoshi Nakagawa <nakagawa424@oki.com>
1325
1326 * source/common/cudata.cpp, source/common/cudata.h,
1327 source/common/deblock.cpp, source/encoder/analysis.cpp,
1328 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
1329 source/encoder/search.cpp:
1330 cleanup SIZE_NONE. empty CU has MODE_NONE.
1331 [32513a4c3bd4]
1332
1333 2014-11-09 Steve Borho <steve@borho.org>
1334
1335 * source/encoder/search.cpp:
1336 search: fixup
1337 [1e04e178a349]
1338
1339 2014-11-08 Steve Borho <steve@borho.org>
1340
1341 * source/encoder/reference.cpp, source/encoder/reference.h,
1342 source/encoder/search.cpp:
1343 reference: add methods for querying CU/PU pointers
1344 [9687a9d1205a]
1345
1346 * source/encoder/analysis.cpp:
1347 analysis: delay initialization of prediction cu in RD 5 and 6
1348 [b9147e641ce6]
1349
1350 2014-11-09 Satoshi Nakagawa <nakagawa424@oki.com>
1351
1352 * source/encoder/analysis.cpp:
1353 fix typo
1354 [3dc9857c59d3]
1355
1356 2014-11-08 Steve Borho <steve@borho.org>
1357
1358 * source/encoder/analysis.cpp:
1359 analysis: delay initialization of prediction cu until just before
1360 use
1361
1362 This avoids initializing CUs that may never be used because of
1363 various early-outs
1364 [3f2d68368554]
1365
1366 * source/encoder/search.cpp, source/encoder/search.h:
1367 search: keep AMVP candidates in mode structure
1368
1369 This fixes some work replication in --pme and will also make
1370 handling BIDIR as a seperate prediction easier.
1371 [6124c837b3ab]
1372
1373 * source/encoder/motion.h, source/encoder/search.cpp,
1374 source/encoder/slicetype.h:
1375 motion: remove trivial set methods; make some members public
1376 [53c146f7eb9f]
1377
1378 2014-11-07 Steve Borho <steve@borho.org>
1379
1380 * source/encoder/frameencoder.cpp:
1381 nr: fix denoise offset memcopy size
1382 [0912563c4ac1]
1383
1384 * source/encoder/entropy.h:
1385 entropy: pass context model (state) to bitsCodeBin as uint32_t
1386
1387 Should be slightly more efficient
1388 [a67b848d6c04]
1389
1390 * source/encoder/entropy.cpp:
1391 entropy: nit
1392 [b55799a2f5ad]
1393
1394 * source/encoder/entropy.cpp:
1395 entropy: ensure X265_CHECK() has braces
1396 [0fd8e0c5272a]
1397
1398 * source/encoder/entropy.cpp, source/encoder/entropy.h:
1399 entropy: inline methods which mapped to encodeBin() calls
1400 [640d2936e699]
1401
1402 * source/encoder/entropy.cpp, source/encoder/entropy.h:
1403 entropy: inline bit counting functions
1404 [ca7873cab172]
1405
1406 * source/encoder/entropy.cpp:
1407 entropy: use bitsCodeBin in intra mode bit estimate functions
1408 [84fc74874406]
1409
1410 * source/encoder/entropy.cpp, source/encoder/entropy.h:
1411 entropy: rename encodeBinContext to bitsCodeBin, make const
1412
1413 The function is not modifying the context, so there is no need to
1414 pass as a reference, and the function can be const. Also, group the
1415 bit counting RDO functions together
1416 [a1ee9422183b]
1417
1418 * source/encoder/entropy.cpp:
1419 entropy: white-space nits
1420 [429742055057]
1421
1422 2014-11-07 Satoshi Nakagawa <nakagawa424@oki.com>
1423
1424 * source/encoder/search.cpp:
1425 fix bug in 522baf03fbbd
1426 [f2130a4dc876]
1427
1428 2014-11-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1429
1430 * source/encoder/search.cpp:
1431 search: fix warnings
1432 [7338b1f1f43d]
1433
1434 2014-11-07 Satoshi Nakagawa <nakagawa424@oki.com>
1435
1436 * source/encoder/analysis.cpp:
1437 fix typo
1438 [4f034e3adef8]
1439
1440 2014-11-05 Ashok Kumar Mishra <ashok@multicorewareinc.com>
1441
1442 * source/encoder/entropy.cpp, source/encoder/entropy.h,
1443 source/encoder/search.cpp, source/encoder/search.h:
1444 [REVIEW PATCH/OUTPUT CHANGED]search: removed multiple encode
1445 Coefficients from estimateResidualQT()
1446
1447 Tried to remove multiple encode coefficients from
1448 estimateResidualQT() function. Coefficients are encoded in three
1449 stages: Once for calculation of distortion and twice for split and
1450 unsplit block cost calculation. I have given comments where I have
1451 changed the code.
1452 [eb5a9eb03dd6]
1453
1454 * source/encoder/search.cpp, source/encoder/search.h:
1455 search: made a function for null cost calculation in
1456 xEstimateResidualQT()
1457 [522baf03fbbd]
1458
1459 * source/encoder/search.cpp, source/encoder/search.h:
1460 search: made separate functions for encoding cbfs in
1461 xEstimateResidualQT()
1462 [0b7c709335b2]
1463
1464 2014-11-07 Satoshi Nakagawa <nakagawa424@oki.com>
1465
1466 * source/common/cudata.cpp, source/common/cudata.h:
1467 cudata: remove default argument
1468 [bc4f3dab51db]
1469
1470 2014-11-06 Steve Borho <steve@borho.org>
1471
1472 * doc/reST/presets.rst:
1473 doc: fix sub-title depth
1474
1475 Single dash was already used by a higher section
1476 [0ebd0b00bf9b]
1477
1478 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp:
1479 param: add --tune grain
1480 [ec5588025568]
1481
1482 * source/encoder/search.cpp:
1483 search: ugly bias hack for bidir with psy-rd
1484 [e33e09549c0c]
1485
1486 * doc/reST/cli.rst:
1487 docs: document RC params, at least minimally
1488 [beac946dac85]
1489
1490 * source/x265.h:
1491 api: cleanup comments
1492 [8ceaab303bfa]
1493
1494 * source/x265.cpp:
1495 cli: cleanup CLI help, add 'verbose' tier
1496
1497 Remove a lot of uncommon features from the initial help output,
1498 require
1499 --log-level debug --help to see it all
1500 [f599a4df57ac]
1501
1502 * source/common/param.cpp, source/x265.cpp:
1503 api: expose rate control params via x265_param_parse() and CLI
1504
1505 Adds range checks for qCompress, which has documented limits. The
1506 others have very minimal explanations; so I'm not adding them to the
1507 CLI help. Users should not touch them unless they know what they are
1508 doing.
1509
1510 Note this commit doesn't bump X265_BUILD since no new params were
1511 added.
1512 [b37cda5d3092]
1513
1514 2014-11-05 Steve Borho <steve@borho.org>
1515
1516 * source/common/deblock.cpp:
1517 deblock: fix type conversion warnings
1518 [4a3997fd4fc1]
1519
1520 2014-11-05 Satoshi Nakagawa <nakagawa424@oki.com>
1521
1522 * source/common/deblock.cpp, source/common/deblock.h,
1523 source/common/quant.cpp, source/common/slice.h,
1524 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
1525 source/encoder/framefilter.cpp, source/encoder/rdcost.h,
1526 source/encoder/sao.cpp:
1527 refine deblocking filter
1528 [65e14d5a5728]
1529
1530 2014-11-04 Gopu Govindaswamy <gopu@multicorewareinc.com>
1531
1532 * source/x265.cpp:
1533 cli: bug fix for validatefanout param analysis-mode=save and load
1534 [2a8f3d5820a6]
1535
1536 2014-11-04 gopi jayaraman <gopi@multicorewareinc.com>
1537
1538 * source/encoder/encoder.cpp:
1539 encoder: use 6 frameNumThreads for cpucount 32 and above
1540 [0dcc6a1d8f02]
1541
1542 2014-11-04 Steve Borho <steve@borho.org>
1543
1544 * source/x265.h:
1545 api: add void to functions that take no parameters for -Wstrict-
1546 prototypes
1547 [0d44fcb269a6]
1548
1549 * source/common/deblock.cpp, source/common/frame.cpp,
1550 source/common/frame.h, source/common/framedata.h,
1551 source/common/predict.cpp, source/encoder/analysis.cpp,
1552 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
1553 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
1554 source/encoder/ratecontrol.cpp, source/encoder/sao.cpp,
1555 source/encoder/search.cpp, source/encoder/slicetype.cpp,
1556 source/encoder/weightPrediction.cpp:
1557 frame: rename m_reconPicYuv -> m_reconPic, m_origPicYuv -> m_fencPic
1558
1559 the fooPicYuv names were potentially confusing, preferred names:
1560 PicYuv* fooPic; Yuv* fooYuv;
1561 [67bf055c13d5]
1562
1563 * source/encoder/motion.cpp, source/encoder/motion.h:
1564 motion: remove unused sa8d pointer and bufSA8D method
1565 [59a08101dfc6]
1566
1567 2014-11-04 Gopu Govindaswamy <gopu@multicorewareinc.com>
1568
1569 * source/common/cudata.h, source/encoder/analysis.cpp,
1570 source/encoder/analysis.h, source/encoder/api.cpp,
1571 source/encoder/encoder.cpp, source/encoder/search.cpp,
1572 source/encoder/search.h, source/x265.cpp, source/x265.h:
1573 search: dump and share the best motion statistics for inter(P&B)
1574 slices
1575 [d5f6133b99d4]
1576
1577 2014-11-03 Steve Borho <steve@borho.org>
1578
1579 * doc/reST/cli.rst:
1580 docs: fix reST parsing issues
1581 [a8ec469d7fb1]
1582
1583 2014-11-03 Min Chen <chenm003@163.com>
1584
1585 * source/common/primitives.h, source/common/x86/pixel-util.h,
1586 source/common/x86/pixel-util8.asm:
1587 cleanup: remove unused asm calcrecon
1588 [5637b495e2e1]
1589
1590 * source/common/x86/ipfilter8.asm:
1591 asm: fix typo error in interp_8tap_vert_pp_4x4_avx2
1592 [ee88b63aced0]
1593
1594 2014-11-03 Satoshi Nakagawa <nakagawa424@oki.com>
1595
1596 * source/common/cudata.cpp, source/common/cudata.h,
1597 source/common/quant.cpp, source/encoder/analysis.cpp,
1598 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
1599 source/encoder/search.cpp:
1600 cleanup CUData::m_skipFlag
1601 [2e60f3b81981]
1602
1603 2014-10-31 Steve Borho <steve@borho.org>
1604
1605 * source/encoder/encoder.cpp:
1606 encoder: make it clear that --fast-cbf is innefective at lower rd
1607 levels
1608
1609 This begs the question of whether the feature should exist, or
1610 whether it should be added to the lower RD levels
1611 [eebb372eec89]
1612
1613 * source/common/param.cpp:
1614 param: show options using their CLI / param_parse names
1615 [c32a733a819b]
1616
1617 2014-10-30 Steve Borho <steve@borho.org>
1618
1619 * .hgtags:
1620 remove dead non-release tags
1621
1622 anyone interested in archeology can still find them; there's no
1623 sense to keep them on the tip since we stopped tracking last known
1624 good more than a year ago
1625 [75cb2ab1ecec]
1626
1627 2014-10-31 Steve Borho <steve@borho.org>
1628
1629 * source/encoder/encoder.cpp:
1630 Merge with stable
1631 [ae8a661acdc4]
1632
1633 * .hgtags:
1634 Added tag 1.4 for changeset 5e604833c5aa
1635 [d2db9c1ab44b] <stable>
1636
1637 * source/encoder/encoder.cpp:
1638 encoder: emit an Active Parameter Sets SEI in stream headers if
1639 interlaced
1640
1641 The APS is technically required if we're going to be emitting
1642 picture timing SEI which we do for HRD and for interlaced inputs.
1643 The lack of APS for interlaced content was causing a warning from
1644 the HM decoder and on Windows the decoder would later crash.
1645 [5e604833c5aa] [1.4] <stable>
1646
1647 2014-10-30 Steve Borho <steve@borho.org>
1648
1649 * source/encoder/slicetype.cpp:
1650 slicetype: fix an msvc warning
1651 [c369e6a12710]
1652
1653 2014-10-30 Min Chen <chenm003@163.com>
1654
1655 * source/common/x86/asm-primitives.cpp,
1656 source/common/x86/ipfilter8.asm:
1657 asm: AVX2 version luma_vpp[4x4], improve 391c -> 302c
1658 [f0f073deb207]
1659
1660 * source/common/x86/ipfilter8.asm:
1661 asm: replace constant table tab_c_512 by pw_512
1662 [b39313659e71]
1663
1664 * source/common/x86/ipfilter8.asm:
1665 asm: replace constant table tab_c_128 by pb_128
1666 [7bb7f03d3e6b]
1667
1668 2014-10-30 Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
1669
1670 * source/common/lowres.cpp, source/common/lowres.h,
1671 source/encoder/slicetype.cpp:
1672 lowres: save intra mode in lowres
1673 [7047fec7140a]
1674
1675 2014-10-30 Steve Borho <steve@borho.org>
1676
1677 * doc/reST/api.rst:
1678 doc: make a note about how to ensure the version number is accurate
1679 [f807d346663e]
1680
1681 * source/encoder/encoder.cpp:
1682 encoder: fix some obviously incorrect comments
1683 [de28d1b07e6f]
1684
1685 * doc/reST/cli.rst, source/common/param.cpp,
1686 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
1687 Merge with stable
1688 [0f14e29eceb1]
1689
1690 * source/encoder/encoder.cpp:
1691 encoder: give more warnings when features are automatically disabled
1692
1693 and add comments describing why the combinations are prevented. Some
1694 of them are simply impossible, the option would have no affect and
1695 so it is best not to pretend it is enabled. Some will not be useful
1696 (have a negative impact on performance with no compression
1697 improvement). And others are just currently broken and not typically
1698 used.
1699 [ba3193adff60] <stable>
1700
1701 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp,
1702 source/x265.h:
1703 api: allow --psy-rdoq values up to 50; it can be beneficial for film
1704 grain
1705 [73c243602b07] <stable>
1706
1707 * source/encoder/analysis.cpp:
1708 analysis: remove TODO comment, I've given up on the idea
1709 [31d648740464]
1710
1711 2014-10-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
1712
1713 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1714 source/encoder/search.h:
1715 search: move m_bestME[] from search to Mode structure
1716 [a147b3b6c2f7]
1717
1718 2014-10-29 Steve Borho <steve@borho.org>
1719
1720 * doc/reST/cli.rst, doc/reST/threading.rst, source/x265.h:
1721 docs: improve --pmode documentation, the feature is fully functional
1722 [9b73a4d2210a] <stable>
1723
1724 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1725 analysis: inline checkBestMode(), improve comments
1726 [86ca1de606e3]
1727
1728 * source/encoder/analysis.cpp:
1729 Merge with stable
1730 [2b7d08c60105]
1731
1732 * source/test/CMakeLists.txt, source/test/testpool.cpp:
1733 cmake: remove obsolete pool test
1734 [393eb6c95e7c]
1735
1736 * source/encoder/analysis.cpp, source/encoder/analysis.h,
1737 source/encoder/frameencoder.cpp, source/encoder/search.cpp,
1738 source/encoder/search.h:
1739 search: nits - pull Mode out of Search class, remove unused
1740 NUM_LAYERS
1741 [2bcf4e77b4bf]
1742
1743 * source/encoder/analysis.cpp:
1744 analysis: do not allow top-skip and depth earlyout in --pmode with
1745 --rd 5/6
1746
1747 Now outputs match or are better than those without --pmode
1748 [476acb7a4088] <stable>
1749
1750 2014-10-29 Min Chen <chenm003@163.com>
1751
1752 * source/common/x86/asm-primitives.cpp:
1753 asm: correct wrong index name
1754 [3995c5e0f313] <stable>
1755
1756 2014-10-29 Steve Borho <steve@borho.org>
1757
1758 * source/encoder/analysis.cpp:
1759 analysis: clarify --rd 1
1760 [2a719b6e07ee]
1761
1762 * source/encoder/analysis.cpp:
1763 analysis: add #if to make pmode exactly match non-pmode
1764
1765 This switch will throw away the hard work of some worker thread, so
1766 it should only be used for debugging.
1767
1768 With the flag enabled, pmode matches non-pmode output exactly for RD
1769 levels 2, 3 and 4. But RD 5 and 6 still have problems.
1770 [e92170188568]
1771
1772 * doc/reST/cli.rst, doc/reST/presets.rst:
1773 Merge with stable
1774 [31ed48cdbefe]
1775
1776 * doc/reST/cli.rst, doc/reST/lossless.rst, doc/reST/presets.rst:
1777 docs: update preset table and various command line options
1778 [812ce345a14d] <stable>
1779
1780 * source/encoder/analysis.cpp, source/encoder/search.cpp:
1781 Merge with stable
1782 [210967feb8c3]
1783
1784 2014-10-30 Satoshi Nakagawa <nakagawa424@oki.com>
1785
1786 * source/common/predict.cpp, source/common/predict.h,
1787 source/encoder/analysis.cpp, source/encoder/search.cpp:
1788 fix rd=0,1
1789 [41220fab15c1] <stable>
1790
1791 2014-10-29 Ashok Kumar Mishra <ashok@multicorewareinc.com>
1792
1793 * source/encoder/search.cpp:
1794 search: nit
1795 [27827068b3ec]
1796
1797 2014-10-29 Steve Borho <steve@borho.org>
1798
1799 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
1800 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
1801 api: expose deblocking filter offsets as public params, deprecate
1802 --[no-]lft
1803
1804 It was always a bit unfortunate to base the deblock param name on
1805 loop filter when HEVC has two (deblock and SAO).
1806
1807 Now we support --deblock=<int>:<int> and similar options as x264
1808 does
1809 [f58a1cc0126a]
1810
1811 * source/x265.h:
1812 api: improve comment for bEnableCbfFastMode
1813 [f834d2e8195f]
1814
1815 * source/encoder/analysis.cpp, source/encoder/analysis.h,
1816 source/encoder/search.cpp, source/encoder/search.h:
1817 search: relocate intra in inter functions to search.cpp
1818 [fe3b88e11f44]
1819
1820 * source/encoder/analysis.cpp, source/encoder/search.cpp:
1821 Merge with stable
1822 [f5603998be03]
1823
1824 * source/encoder/analysis.cpp:
1825 analysis: fix for --rd 0, do not assume a CU is only inter or intra
1826 [3aec7242d0be] <stable>
1827
1828 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1829 source/encoder/search.h:
1830 search: split generateCoeffRecon() into its two callers, improve
1831 comments
1832
1833 The function consisted of a big if (inter) else (intra) expression
1834 and it had only two callers, one which knew it was inter and one
1835 which knew it was intra.
1836 [7c2b831e52fb]
1837
1838 2014-10-29 gopi jayaraman <gopi@multicorewareinc.com>
1839
1840 * source/encoder/analysis.cpp:
1841 analysis: rect cost compare typo fix for pmode
1842 [da5ba239bf59] <stable>
1843
1844 2014-10-28 Steve Borho <steve@borho.org>
1845
1846 * source/encoder/search.cpp:
1847 search: ensure RDOQ entropy state is always initialized for chroma
1848 intra
1849
1850 Fixes non-determinism seen in --preset slow and lower
1851 [afb216f71318] <stable>
1852
1853 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
1854 uncrustify.bat, source/Lib/COPYING.HM, source/Lib/README.txt,
1855 source/Lib/TLibCommon/CommonDef.h,
1856 source/Lib/TLibCommon/ContextTables.h,
1857 source/Lib/TLibCommon/TComDataCU.cpp,
1858 source/Lib/TLibCommon/TComDataCU.h,
1859 source/Lib/TLibCommon/TComMotionInfo.cpp,
1860 source/Lib/TLibCommon/TComMotionInfo.h,
1861 source/Lib/TLibCommon/TComPattern.cpp,
1862 source/Lib/TLibCommon/TComPattern.h,
1863 source/Lib/TLibCommon/TComPicSym.cpp,
1864 source/Lib/TLibCommon/TComPicSym.h,
1865 source/Lib/TLibCommon/TComPicYuv.cpp,
1866 source/Lib/TLibCommon/TComPicYuv.h,
1867 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
1868 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
1869 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
1870 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
1871 source/Lib/TLibCommon/TComWeightPrediction.cpp,
1872 source/Lib/TLibCommon/TComWeightPrediction.h,
1873 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
1874 source/Lib/TLibCommon/TypeDef.h,
1875 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
1876 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
1877 source/Lib/TLibEncoder/TEncSearch.cpp,
1878 source/Lib/TLibEncoder/TEncSearch.h, source/common/vec/blockcopy-
1879 sse3.cpp, source/encoder/cturow.cpp, source/encoder/cturow.h,
1880 source/encoder/predict.cpp, source/encoder/predict.h:
1881 Merge with default (prep for 1.4 release)
1882 [24b4177ea1ec] <stable>
1883
1884 * source/encoder/search.cpp:
1885 search: trModeC -> tuDepthC
1886 [7cfc1edb083f]
1887
1888 * source/encoder/entropy.cpp:
1889 entropy: simplify loadIntraDirModeLuma
1890 [42566b53b96d]
1891
1892 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1893 source/encoder/search.h:
1894 search: make getIntraRemModeBits() const
1895 [c561b0e99684]
1896
1897 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
1898 source/encoder/entropy.h, source/encoder/search.cpp:
1899 search: add a fast method for estimating non-MPM intra mode signal
1900 cost
1901 [9cdc7c61d3fb]
1902
1903 * source/encoder/analysis.cpp, source/encoder/search.cpp:
1904 search: move getIntraDirLumaPredictor() into getIntraRemModeBits()
1905 [9cc367aa2b40]
1906
1907 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1908 source/encoder/search.h:
1909 search: use fast-path to get mpm mode signal cost
1910
1911 inline single caller of getIntraModeBits
1912 [5b1d67874dd3]
1913
1914 * source/encoder/entropy.cpp, source/encoder/entropy.h:
1915 entropy: make a fast const method for getting MPM mode signal cost
1916 [7400828ccd0e]
1917
1918 * source/encoder/search.cpp:
1919 search: simplify checks for 2x2 chroma blocks
1920
1921 "log2TrSize == 2 && m_csp != X265_CSP_I444" essentially means that
1922 the chroma transform would be 2x2, aka log2TrSizeC == 1.
1923
1924 In offsetSubTUCBFs(), the chroma tu size is not calculated but
1925 implied. We should be able to skip the X265_CSP_I444 check since the
1926 function should only be called by 4:2:2 encodes that code two half-
1927 sized chroma blocks per luma block
1928 [90e1b515a364]
1929
1930 * source/encoder/search.cpp:
1931 search: remove redundant work from residualTransformQuantInter()
1932 [252f886f4871]
1933
1934 * source/common/cudata.cpp, source/common/cudata.h,
1935 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
1936 source/encoder/search.cpp:
1937 cudata: split getQuadtreeTULog2MinSizeInCU() into intra/inter
1938 functions
1939
1940 The caller usually knows what the CU prediction mode is
1941 [98573a12738d]
1942
1943 * source/encoder/search.cpp:
1944 search: remove redundant logic
1945 [689e105ae41f]
1946
1947 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
1948 uncrustify.bat:
1949 doc: remove uncrustify helper scripts
1950
1951 I don't expect a lot of whole-new file development or wholesale
1952 style enforcement. Leave the config script in place for new
1953 developers.
1954 [f91c01f6ca83]
1955
1956 2014-10-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
1957
1958 * source/encoder/search.cpp:
1959 [OUTPUT CHANGED for 422] made loops for chroma components in
1960 xEstimateResidualQT()
1961
1962 The output change for 422 is valid. Initially the no. of bits(cbf
1963 and coeff.) were calculated per block and per chroma component. Now
1964 the no. of bits are calculated per chroma component.
1965 [554dd4aad4a0]
1966
1967 2014-10-27 Steve Borho <steve@borho.org>
1968
1969 * source/encoder/search.h:
1970 search: sync up argument names between source and header
1971 [fa79ec52c34d]
1972
1973 * source/encoder/search.cpp, source/encoder/search.h:
1974 search: remove x prefixes from inter residual coding functions
1975 [da3191896381]
1976
1977 * source/encoder/search.cpp, source/encoder/search.h:
1978 search: use Cost instances to accumulate costs in
1979 xEstimateResidualQT
1980 [efe17882bca5]
1981
1982 * source/encoder/search.cpp:
1983 search: nits
1984 [4ad4ba77a339]
1985
1986 * source/common/cudata.cpp, source/common/cudata.h:
1987 cudata: coding style nits
1988
1989 * reorder arguments so outputs are listed first
1990 * pass const by reference
1991 * return single integer output rather than pass by reference
1992 * A == 0 ? B : C => A ? C : B;
1993 * standardized variable names (puIdx, absPartIdx, etc)
1994 [4afcdb09550e]
1995
1996 * source/common/cudata.cpp, source/common/cudata.h:
1997 cudata: perform MV scaling directly within POC distance function
1998
1999 this avoids some code duplication and is also a bit more efficient
2000 [59df6b4fe1d7]
2001
2002 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
2003 source/encoder/slicetype.h:
2004 slicetype: remove top-level Encoder pointer from Slicetype
2005
2006 Move the slice type assignment earlier to happen even before the
2007 picture is given to the lookahead
2008 [3ccb20b6c022]
2009
2010 * source/encoder/encoder.cpp:
2011 encoder: nit cleanup of code copying data from input picture
2012 [84f4cb50fe46]
2013
2014 * source/common/cudata.cpp, source/common/deblock.cpp,
2015 source/common/frame.h, source/common/predict.cpp,
2016 source/common/predict.h, source/common/quant.cpp,
2017 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
2018 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
2019 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
2020 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp,
2021 source/encoder/sao.cpp, source/encoder/slicetype.cpp,
2022 source/encoder/slicetype.h:
2023 fix some header include loops
2024 [fd95b6a592ee]
2025
2026 * source/common/frame.cpp, source/common/frame.h,
2027 source/encoder/encoder.cpp:
2028 frame: initialize and re-initialize m_bChromaExtended
2029
2030 fixes some non-determinism
2031 [0fc522bebda5]
2032
2033 2014-10-27 Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
2034
2035 * source/common/param.cpp, source/encoder/encoder.cpp,
2036 source/encoder/search.cpp:
2037 Set tuQTMaxLog2Size to MIN(5, maxLog2CUSize)
2038
2039 This allows 32x32 TUs even when --ctu 32 is used, for instance
2040 [14388f2a7a88]
2041
2042 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp:
2043 Add CLI option to enable/disable Temporal MVP
2044 [f6f662559bde]
2045
2046 * source/CMakeLists.txt, source/common/cudata.cpp,
2047 source/common/param.cpp, source/common/slice.h,
2048 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
2049 source/x265.h:
2050 Add flag to enable/disable temporal MVP
2051 [ef27c0eb2fd6]
2052
2053 2014-10-27 Min Chen <chenm003@163.com>
2054
2055 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
2056 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
2057 asm: AVX2 version of luma_pp[4x4], improve 320c -> 188c
2058 [52ba1fb2227e]
2059
2060 2014-10-27 Steve Borho <steve@borho.org>
2061
2062 * source/encoder/analysis.cpp:
2063 analysis: simplify logic slightly, combine conditionals
2064 [d62838b20805]
2065
2066 * source/encoder/analysis.cpp:
2067 analysis: fix a typo in --rd 5 --rect
2068 [685127dfd466]
2069
2070 * source/encoder/analysis.cpp:
2071 analysis: allow AMP to work at 64x64 with --pmode and --rd 5
2072 [0f71dcb02c59]
2073
2074 * source/encoder/search.cpp:
2075 search: leave a helpful comment to avoid unfortunate reordering
2076 [26e1574a5424]
2077
2078 * source/common/predict.cpp, source/common/predict.h,
2079 source/encoder/search.cpp:
2080 predict: cache color space dimension shifts, use in search.cpp
2081 [c36cfbbb7133]
2082
2083 * source/encoder/analysis.cpp:
2084 analysis: in RD 5/6 ignore redundant merge candidates
2085 [f5f26b4b6487]
2086
2087 * source/encoder/analysis.cpp:
2088 analysis: use same MV range check in merge functions
2089 [07482bd07946]
2090
2091 * source/encoder/analysis.cpp, source/encoder/search.cpp:
2092 analysis: defer broadcast sets of merge mv field data until final
2093 selection
2094
2095 The MC / encode functions do not need for the ME sub-parts to be
2096 set. This is only needed by later neighbor parts
2097 [3d5b73b500d4]
2098
2099 * source/encoder/search.cpp:
2100 search: use member variable from Predict for csp
2101
2102 There's no need to derefernece the CU for the color space
2103 [14ad8ed3792e]
2104
2105 * source/encoder/entropy.cpp:
2106 entropy: nit
2107 [3abbf77f3c5a]
2108
2109 * source/encoder/search.cpp, source/encoder/search.h:
2110 search: simplify handling of TU size edge case in
2111 extractIntraResultChromaQT
2112 [bea22ebe6af1]
2113
2114 * source/encoder/search.cpp, source/encoder/search.h:
2115 search: fixes for chroma tskip coding with placebo preset
2116
2117 Move the tskip decision after the special logic that deals with 4x4
2118 luma, etc A couple of places where tskip == 0 was implied needed to
2119 actually set the flag
2120 [453d131f974b]
2121
2122 * source/encoder/search.cpp:
2123 search: trMode -> tuDepth, improve clarity
2124 [93a1d11c0a6e]
2125
2126 * source/common/cudata.h:
2127 cudata: remove unused setDepthSubParts
2128 [9e74e80f2192]
2129
2130 * source/common/cudata.h, source/encoder/search.cpp:
2131 cudata: setTrIdxSubParts() -> setTUDepthSubParts()
2132 [a2d70700d53b]
2133
2134 * source/common/cudata.cpp, source/common/cudata.h,
2135 source/common/deblock.cpp, source/common/quant.cpp,
2136 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2137 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
2138 source/encoder/search.cpp:
2139 cudata: renames (m_depth, m_trIdx) -> (m_cuDepth, m_tuDepth)
2140
2141 No behavior changes
2142 [288db4430fcd]
2143
2144 * doc/reST/cli.rst:
2145 docs: update --tu-intra-depth / --tu-inter-depth docs (refs #71)
2146 [654ea07f93de]
2147
2148 * source/encoder/entropy.cpp:
2149 entropy: improve check strings and comments
2150 [97ca46e10144]
2151
2152 * source/encoder/search.cpp:
2153 search: further --rd-penalty 2 fixes (refs #71)
2154 [b0eaff8d1d1a]
2155
2156 * source/encoder/analysis.cpp:
2157 analysis: invalidate slave entropy contexts, to help find bugs
2158
2159 this function has no effect in non-checked builds
2160 [8fd59b57e5e0]
2161
2162 * source/encoder/analysis.cpp:
2163 analysis: checkIntraInInter_rd0_4() needs the entropy context to be
2164 initialized
2165 [5a3c867cdf57]
2166
2167 2014-10-25 Steve Borho <steve@borho.org>
2168
2169 * source/encoder/analysis.cpp:
2170 analysis: further work on --pmode for --rd 5/6
2171
2172 Still needs debugging. The results with --pmode enabled have worse
2173 compression than without, when used with --rd 5. That should be un-
2174 possible.
2175 [69277ae804d0]
2176
2177 2014-10-24 gopi jayaraman <gopi@multicorewareinc.com>
2178
2179 * source/encoder/analysis.cpp:
2180 analysis: adding support for --rd 5/6 in compressInterCU_dist() and
2181 parallelModeAnalysis()
2182 [9e221c8530bc]
2183
2184 2014-10-26 Steve Borho <steve@borho.org>
2185
2186 * source/encoder/entropy.cpp:
2187 entropy: readability nits
2188 [78af768201c7]
2189
2190 * source/common/common.h:
2191 common: add support for debug breaks in Xcode
2192 [3e4aee59e21d]
2193
2194 * source/common/param.cpp:
2195 param: fix w-s spacing in log messages for --rdpenalty and chroma
2196 offsets
2197
2198 and some nit fixes with braces while I was in the area
2199 [d9ce2644307a]
2200
2201 2014-10-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
2202
2203 * source/encoder/analysis.cpp:
2204 analysis: motionCompensation(chroma) needs to be performed for
2205 asymmetric merge also
2206
2207 This fixes a bug introduced in commit (372a8230110a) for rd2
2208 rect/amp options
2209 [1b555ddd7667]
2210
2211 * source/encoder/motion.cpp:
2212 motion: this emms is required
2213 [d32f1ad8d061]
2214
2215 * source/encoder/analysis.cpp:
2216 analysis: cleanup
2217 [5fd8b40075a6]
2218
2219 2014-10-27 Satoshi Nakagawa <nakagawa424@oki.com>
2220
2221 * source/common/cudata.h, source/encoder/frameencoder.cpp:
2222 cugeom: fix uninitialized reported by valgrind
2223 [3a8f6f685436]
2224
2225 2014-10-25 Steve Borho <steve@borho.org>
2226
2227 * source/common/cudata.cpp:
2228 cudata: validate subCU size against current analysis depth
2229 [67d73bffd1fd]
2230
2231 * source/common/cudata.cpp, source/common/cudata.h:
2232 cudata: make sure per-part buffers are allocate for g_maxCUSize
2233
2234 There are memsets which rely on the data being consecutive, and for
2235 this to work they have to be the correct length. This fixes some
2236 X265_CHECK failures and possibly some odd behavior with --ctu 32 or
2237 --ctu 16
2238 [d3a3d6cad8db]
2239
2240 * source/encoder/search.cpp:
2241 search: improve comments in mergeEstimation()
2242 [5186635c0536]
2243
2244 * source/encoder/search.cpp:
2245 search: turn some redundant clears of tskip flags into runtime
2246 checks
2247 [72f2b87c86eb]
2248
2249 * source/encoder/search.cpp:
2250 search: cleanup residualQTIntraChroma
2251
2252 There was a bug where it was reading tskip before setting it to
2253 zero, but fortunately we never allow analysis to set tskip anyway.
2254 [4d3797830500]
2255
2256 * doc/reST/cli.rst:
2257 docs: update --tskip and --cu-lossless docs
2258 [f81a2cec4183]
2259
2260 * source/encoder/encoder.cpp:
2261 encoder: issue warning and disable --pmode if rdlevel < 2
2262 [4e7f9bca6f39]
2263
2264 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2265 source/encoder/search.h:
2266 search: remove resiYuv from Mode, keep tmpResiYuv in m_rqt[]
2267
2268 The residual buffer is always very short lived; there is no reason
2269 to keep a copy of it per mode.
2270 [08be12894acd]
2271
2272 * source/encoder/search.h:
2273 search: updateCandList() can be a static method
2274 [4e8edad1f2e6]
2275
2276 * source/encoder/search.cpp, source/encoder/search.h:
2277 search: inline updateModeCost
2278 [e69a8546897a]
2279
2280 * source/encoder/encoder.cpp:
2281 encoder: issue warnings and explicitly disable tskip or culossless
2282 if rd < 3
2283
2284 the analysis code is quite incapable of making these RDO decisions
2285 at these RD levels. It's best that these tools never appear to be
2286 enabled at these RD RD levels, and to explain why
2287 [b2aa1fd68ffa]
2288
2289 * source/encoder/search.cpp:
2290 search: prevent warnings about unused bCheckSplit value
2291 [5e8e0e5fb760]
2292
2293 * source/common/pixel.cpp, source/common/primitives.h,
2294 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp,
2295 source/test/pixelharness.h:
2296 primitives: remove unused calcrecon primitive (assembly needs
2297 cleanup)
2298 [daa0e77083a7]
2299
2300 * source/encoder/analysis.cpp, source/encoder/frameencoder.cpp,
2301 source/encoder/motion.cpp, source/encoder/search.cpp,
2302 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
2303 trim x265_emms(), try to only use prior to floating point operations
2304 [64bb88dc7cb6]
2305
2306 * source/encoder/search.cpp:
2307 search: avoid a context save at the last recursion depth
2308 [d7fbf10efe61]
2309
2310 * source/encoder/search.cpp:
2311 search: improve comments and readability of
2312 residualTransformQuantIntra
2313 [58545ea1f6af]
2314
2315 * source/encoder/search.cpp, source/encoder/search.h:
2316 search: keep recon QT in pixels, instead of shorts
2317
2318 This changes outputs, apparently because SSE is now comparing fenc
2319 against the clipped recon instead of the un-clipped recon. This was
2320 punishing residuals which were close to the pixel dynamic range
2321 limits. The user never sees un- clipped pixels, and external
2322 distortion metrics always use clipped recon, so it makes sense to do
2323 the same here (never mind the obvious perf benefits)
2324 [567491c02bf7]
2325
2326 * source/encoder/search.cpp, source/encoder/search.h:
2327 search: remove tskip analysis out of luma chroma normal path
2328 [1ea467c9bb22]
2329
2330 * source/encoder/search.cpp:
2331 search: nit. splitted is not a word
2332 [794bf8c060d4]
2333
2334 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2335 source/encoder/search.h:
2336 search: rename methods that read coeff and recon from RQT struct at
2337 final depths
2338
2339 also reorder arguments and pass reconYuv as a reference
2340 [69ee86fd7284]
2341
2342 * source/encoder/search.cpp:
2343 search: give offsetSubTUCBFs a basic comment
2344 [67ae716977fd]
2345
2346 2014-10-24 Steve Borho <steve@borho.org>
2347
2348 * source/encoder/search.cpp, source/encoder/search.h:
2349 search: simplify RDO chroma intra coding, changes tskip outputs
2350
2351 Since the TU layers above tskip's 4x4 are not encoding their
2352 residual (they only need distortion, not RD cost) there is no reason
2353 to try to preserve the entropy coder state. This gives slightly
2354 better compression than before, when tskip is enabled, and I believe
2355 it makes the code a lot more maintainable.
2356 [2261ad40ffe8]
2357
2358 2014-10-25 Steve Borho <steve@borho.org>
2359
2360 * source/encoder/search.cpp:
2361 search: simplify initTrDepth
2362 [ddafaee9bf39]
2363
2364 * source/encoder/search.cpp:
2365 search: reconYuv as ref
2366 [f97c6f14a975]
2367
2368 * source/encoder/search.cpp:
2369 search: improve a variable name
2370 [b51aceca9bd8]
2371
2372 * source/encoder/search.cpp, source/encoder/search.h:
2373 search: rename a couple chroma intra helper methods
2374 [6f964d4cc8ef]
2375
2376 2014-10-24 Steve Borho <steve@borho.org>
2377
2378 * source/encoder/search.cpp, source/encoder/search.h:
2379 search: rename tmpCoeff to coeffRQT, tmpShortYuv to reconQtYuv /
2380 resiQtYuv
2381
2382 Explain why these buffers are allocated to max CU size at every
2383 layer, fix a few nits
2384 [847c45521c19]
2385
2386 * source/encoder/search.cpp:
2387 search: fix 4:2:2 chroma tskip bit-cost estimation
2388 [0fc9c36d0c92]
2389
2390 * source/common/yuv.cpp, source/common/yuv.h:
2391 yuv: add copyPartToPart* methods for recon RQT finalization
2392
2393 We're switching reconQt to be kept in pixels rather than shorts
2394 [d918b786a3e6]
2395
2396 * source/common/shortyuv.cpp, source/common/shortyuv.h:
2397 shortyuv: use absPartIdx for CU/TU part offset like everywhere else
2398 [0922d96a74a6]
2399
2400 2014-10-24 Praveen Tiwari <Praveen Tiwari>
2401
2402 * source/common/x86/pixel-util8.asm:
2403 weight_sp: pshufd to handle width 6 for SSE version of asm code
2404
2405 Backout of 2cb8cdaa7df5
2406 [1a07740f85f5]
2407
2408 2014-10-24 Ashok Kumar Mishra <ashok@multicorewareinc.com>
2409
2410 * source/encoder/entropy.cpp, source/encoder/entropy.h,
2411 source/encoder/search.cpp:
2412 search: refactored xEstimateResidualQT() to remove cbf flag settings
2413 [759c6cbf54fa]
2414
2415 * source/encoder/search.cpp:
2416 search: remove redundant cbf flags setting in xEstimateResidualQT()
2417 [363bd8ef6c6b]
2418
2419 2014-10-24 Praveen Tiwari <Praveen Tiwari>
2420
2421 * source/common/quant.cpp:
2422 quant.cpp: nits
2423 [5f0838850cb5]
2424
2425 2014-10-24 Ashok Kumar Mishra <ashok@multicorewareinc.com>
2426
2427 * source/encoder/search.cpp:
2428 search: remove unnecessary set of cbf flags in xEstimateResidualQT()
2429 [a0c07b8e583b]
2430
2431 2014-10-23 Steve Borho <steve@borho.org>
2432
2433 * source/CMakeLists.txt:
2434 cmake: add -Wno-array-bounds if the compiler supports it
2435
2436 These warnings have proven to always be spurious
2437 [e3a3d17b821c]
2438
2439 2014-10-23 Ashok Kumar Mishra <ashok@multicorewareinc.com>
2440
2441 * source/encoder/search.cpp:
2442 [OUTPUT CHANGED for 444] : considering cbf bits for best cost
2443 estimation for 444 format
2444 [cfa3750f72a5]
2445
2446 2014-10-23 Steve Borho <steve@borho.org>
2447
2448 * source/encoder/analysis.cpp:
2449 analysis: cleanup checkInter functions
2450 [daed2d3f67ba]
2451
2452 * source/encoder/analysis.cpp:
2453 analysis: remove unnecessary set of skip flags in checkInter_rd5_6()
2454
2455 initSubCU() does this already, and the pred's cu is not being reused
2456 [79f0d5f296ef]
2457
2458 * source/common/quant.cpp, source/common/quant.h,
2459 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
2460 source/encoder/search.cpp, source/encoder/search.h:
2461 search: large mostly mechanical change to pass cu by reference
2462 [b2005914aeb7]
2463
2464 * source/common/cudata.h:
2465 cudata: remove unused method
2466 [260eee4634a5]
2467
2468 * source/common/predict.cpp, source/common/predict.h,
2469 source/encoder/analysis.cpp, source/encoder/search.cpp:
2470 predict: enforce calling conventions, fix wrong side-effects
2471
2472 use references and consts where possible, order arguments to follow
2473 the convention of memcpy (dest, src)
2474
2475 This exposed a bug in addWeightBi() and addWeightUni(), they were
2476 modifying the PU size variables directly instead of making chroma
2477 versions. This explains why it seemed to best necessary at times to
2478 make seemingly redundant calls to prepMotionCompensation.
2479
2480 as a side-effect, this commit also removes the 1k 'avg' buffer that
2481 bidir allocated on the stack and instead uses the existing
2482 tmpPredYuv
2483 [ff804d8ab03d]
2484
2485 * source/common/predict.cpp, source/common/predict.h,
2486 source/encoder/analysis.cpp, source/encoder/search.cpp:
2487 predict: rename members for clarity, save work in
2488 singleMotionEstimation()
2489
2490 The first thing singleMotionEstimation() did was call
2491 getPartIndexAndSize() to get the PU part index and dimensions. Then
2492 it called prepMotionCompensation() which did the exact same thing,
2493 storing its outputs into member variables. (after predInterSearch()
2494 had already done it twice as well)
2495
2496 Now singleMotionEstimation() and predInterSearch() both directly use
2497 the variables initialized by prepMotionCompensation(). Now when the
2498 master thread calls its own singleMotionEstimation(), there is much
2499 less redundant work
2500 [c942de89cbed]
2501
2502 * source/encoder/search.cpp:
2503 search: fix a change of outputs from f3bd6e5a880a, always zero
2504 unused refs
2505
2506 it's not clear why this affects outputs, but it seems better to err
2507 on the side of the data being initialized.
2508 [8ac590040e8c]
2509
2510 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2511 source/encoder/search.h:
2512 search: re-combine --pme with --no-pme code paths
2513 [f8ee24fbbede]
2514
2515 * source/common/cudata.cpp, source/common/cudata.h:
2516 cudata: cache numPartInCUSize as a class static
2517
2518 The obliviates a lot of pointer dereferences in some key functions
2519 [2763d49b2e23]
2520
2521 * source/encoder/entropy.cpp:
2522 entropy: drop last use of g_winUnitX, g_winUnitY
2523 [77210e81c4ad]
2524
2525 * source/common/cudata.cpp, source/common/deblock.cpp,
2526 source/common/framedata.cpp, source/common/framedata.h,
2527 source/common/predict.cpp, source/common/slice.h,
2528 source/encoder/encoder.cpp:
2529 slice: move numPartitions and numPartInCUSize from FrameData to SPS
2530
2531 these fields never change, so it made no sense to have copies in
2532 every FrameData they are based on CTU size, so SPS made sense
2533 [17c5d2cc1335]
2534
2535 * source/common/cudata.h:
2536 cudata: remove default arguments for getPUAboveRightAdi(),
2537 getPUBelowLeftAdi()
2538 [077015265a08]
2539
2540 * source/common/cudata.cpp, source/common/cudata.h,
2541 source/common/framedata.cpp, source/encoder/analysis.cpp:
2542 cudata: simplify allocation / initialization interfaces
2543
2544 the callers shouldn't need to know details about partitions or coeff
2545 buffer sizes
2546 [ebaeb6aa5dda]
2547
2548 * source/encoder/search.cpp:
2549 search: use intptr_t for picture stride variables
2550 [fa3e1744f125]
2551
2552 * source/common/cudata.cpp, source/common/cudata.h,
2553 source/encoder/analysis.cpp, source/encoder/frameencoder.cpp:
2554 cudata: push more data type casts out to callers
2555 [bb5814a49de5]
2556
2557 * source/common/cudata.cpp, source/common/cudata.h,
2558 source/encoder/analysis.cpp:
2559 cudata: use static array of absolute depth broadcast set functions
2560
2561 this commit changed the value arguments to these set functions to
2562 match the data type of their array, forcing one cast in analysis.cpp
2563 to avoid a warning.
2564 [f593e0455cbc]
2565
2566 2014-10-22 Steve Borho <steve@borho.org>
2567
2568 * source/encoder/analysis.cpp:
2569 analysis: encodeResidue rewrite, much improved --rd 0
2570
2571 it's not clear --rd 0 is always correct, but I can encode long clips
2572 without hash mistakes and at reasonable bitrates (compared to
2573 previous --rd 0). I suspect there is still problems with passing in
2574 residual to residualTransformQuantInter() and getting it back in the
2575 same ShortYuv instance
2576 [bd865dd464bc]
2577
2578 * source/common/frame.cpp, source/common/frame.h,
2579 source/common/framedata.h, source/common/quant.cpp,
2580 source/common/quant.h, source/encoder/analysis.cpp,
2581 source/encoder/analysis.h, source/encoder/encoder.cpp,
2582 source/encoder/frameencoder.cpp, source/encoder/search.cpp:
2583 nr: move noise reduction arrays to Quant, simplify its upkeep
2584
2585 This cleans up a number of layering violations and makes the array
2586 management more robust
2587 [ce304756a6e4]
2588
2589 * source/CMakeLists.txt, source/Lib/COPYING.HM, source/Lib/README.txt,
2590 source/Lib/TLibCommon/ContextTables.h, source/common/CMakeLists.txt,
2591 source/common/contexts.h, source/common/quant.cpp,
2592 source/common/quant.h, source/encoder/entropy.cpp,
2593 source/encoder/entropy.h:
2594 cleanup enough of the context tables to bring them into common/
2595
2596 This was the last file under Lib/ so the whole folder is now
2597 removed.
2598 [fd03d43c1a97]
2599
2600 * source/Lib/TLibCommon/CommonDef.h,
2601 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
2602 source/Lib/TLibCommon/TypeDef.h, source/common/CMakeLists.txt,
2603 source/common/common.cpp, source/common/common.h,
2604 source/common/constants.cpp, source/common/constants.h,
2605 source/common/cudata.cpp, source/common/cudata.h,
2606 source/common/dct.cpp, source/common/deblock.h,
2607 source/common/intrapred.cpp, source/common/ipfilter.cpp,
2608 source/common/loopfilter.cpp, source/common/param.cpp,
2609 source/common/picyuv.h, source/common/pixel.cpp,
2610 source/common/primitives.cpp, source/common/quant.h,
2611 source/common/scalinglist.cpp, source/common/shortyuv.h,
2612 source/common/slice.h, source/common/vec/dct-sse3.cpp,
2613 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
2614 source/common/x86/asm-primitives.cpp, source/common/yuv.h,
2615 source/encoder/bitcost.cpp, source/encoder/encoder.cpp,
2616 source/encoder/entropy.cpp, source/encoder/motion.cpp,
2617 source/encoder/search.cpp, source/encoder/slicetype.cpp,
2618 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp:
2619 pull TComRom into common/constants. bring CommonDef and TypeDefs
2620 into various
2621
2622 A number of enums were pulled into cudata.h, one went to slice.h.
2623 All the defines went into common.h
2624 [bddf8ccf4c94]
2625
2626 * source/common/cudata.cpp:
2627 cudata: nits, use m_encData directly
2628 [63cb0c68d0c0]
2629
2630 * source/encoder/search.h:
2631 search: use proper allocation size for m_rqt, fix --preset placebo
2632
2633 The entropy contexts need to be addressed from 0..4 (full depth)
2634 even if the buffers are only allocated to CU depth 0..3
2635 [a09b45ead8e0]
2636
2637 * source/encoder/analysis.cpp:
2638 analysis: fix --rd 1,2 behavior (broken by 84933c3136ec)
2639
2640 Also includes some fixes for --rd 0
2641 [372a8230110a]
2642
2643 * source/common/cudata.cpp:
2644 cudata: avoid 'char subscript' warnings from GCC
2645 [6716ce0bb043]
2646
2647 * source/common/framedata.cpp, source/common/framedata.h,
2648 source/encoder/encoder.cpp:
2649 framedata: param is now unused
2650 [01e865efd595]
2651
2652 * source/common/frame.cpp, source/common/framedata.cpp,
2653 source/common/framedata.h, source/common/slice.h,
2654 source/encoder/encoder.cpp, source/encoder/framefilter.cpp,
2655 source/encoder/ratecontrol.cpp:
2656 slice: move numCUsInFrame from FrameData to SPS
2657 [9b55f47f2043]
2658
2659 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
2660 framefilter: optimize row-height operations
2661 [a485e3377861]
2662
2663 * source/common/cudata.cpp, source/common/frame.cpp,
2664 source/common/frame.h, source/common/picyuv.cpp,
2665 source/common/picyuv.h, source/common/slice.cpp,
2666 source/common/slice.h, source/encoder/dpb.cpp,
2667 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
2668 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
2669 source/encoder/framefilter.cpp, source/encoder/framefilter.h,
2670 source/encoder/ratecontrol.cpp, source/encoder/reference.cpp,
2671 source/encoder/sao.cpp, source/encoder/search.cpp,
2672 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
2673 slice: move numCuInWidth, numCuInHeight to SPS, remove Frame pointer
2674
2675 Since the SPS defines the picture size and CTU size, it makes sense
2676 to keep these values there. It's a bit annoying removing m_frame
2677 from Slice, but all of its users didn't really want the frame
2678 itself, except in a couple instances (most already had the frame
2679 pointer)
2680 [fe8200af773f]
2681
2682 * source/common/cudata.cpp, source/common/cudata.h,
2683 source/common/deblock.cpp, source/common/predict.cpp,
2684 source/encoder/framefilter.cpp:
2685 cudata: keep a FrameData pointer instead of a Frame pointer
2686
2687 90% of the dereferences of m_frame were to access
2688 m_frame->m_encData. For good reason, all of the encode data needed
2689 by the CU is in m_encData. A few places need to get to the orig pic.
2690 [57f9b1f41b0c]
2691
2692 * source/common/cudata.cpp, source/common/cudata.h,
2693 source/encoder/frameencoder.cpp:
2694 cudata: pass picWidth and picHeight to calcCTUGeoms()
2695
2696 this was the only method which used m_frame for anything other than
2697 accessing m_encData
2698 [5d4828d1b706]
2699
2700 * source/common/cudata.cpp, source/common/cudata.h,
2701 source/encoder/analysis.cpp:
2702 cudata: simplify setQPSubCUs()
2703 [7b87661b8fef]
2704
2705 * source/common/cudata.cpp, source/common/cudata.h,
2706 source/encoder/analysis.cpp, source/encoder/search.cpp:
2707 cudata: consistent names for consistent functionality
2708 [19f79fa18526]
2709
2710 * source/common/cudata.cpp, source/common/cudata.h,
2711 source/encoder/analysis.cpp, source/encoder/search.cpp:
2712 cudata: no need to pass part size to setAll*, it can look it up
2713 itself
2714
2715 It only needed the part size in the past when these were
2716 TComCUMvField methods and they had no access to the part size array
2717 [c55083482d74]
2718
2719 * source/encoder/search.cpp:
2720 search: use helper function to set transform depth
2721 [583484b4a5e7]
2722
2723 * source/common/cudata.cpp, source/common/cudata.h,
2724 source/encoder/search.cpp:
2725 cudata: simplify clearCbf()
2726 [59a39ac95108]
2727
2728 * source/common/cudata.cpp, source/common/cudata.h:
2729 cudata: hoist a number of trivial functions to cudata.h for inlining
2730 [3a4708b0116c]
2731
2732 * source/common/common.h, source/common/cudata.h,
2733 source/common/frame.h:
2734 cudata: clean up a couple defines
2735 [fa10e7328429]
2736
2737 * source/encoder/search.cpp:
2738 search: remove unnecessary parens
2739 [2c42168b58b8]
2740
2741 * source/common/cudata.cpp, source/common/cudata.h,
2742 source/encoder/analysis.cpp, source/encoder/search.cpp:
2743 cudata: remove depth argument to setInterDirSubParts()
2744
2745 Inter dir is coded at the PU level, so it is always at the current
2746 depth
2747 [9430c148eb87]
2748
2749 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2750 source/Lib/TLibCommon/TComMotionInfo.h,
2751 source/common/CMakeLists.txt, source/common/cudata.cpp,
2752 source/common/cudata.h, source/common/deblock.cpp,
2753 source/common/framedata.cpp, source/common/framedata.h,
2754 source/common/predict.cpp, source/common/predict.h,
2755 source/encoder/analysis.cpp, source/encoder/analysis.h,
2756 source/encoder/entropy.cpp, source/encoder/search.cpp,
2757 source/encoder/search.h:
2758 cudata: merge motion field data directly into the CUData
2759
2760 TComCUMvField didn't add anything except overhead
2761 [dbfa9c03d8a3]
2762
2763 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
2764 source/common/cudata.h, source/encoder/analysis.cpp,
2765 source/encoder/search.h:
2766 mvfield: move TComMvField into cudata as MVField
2767
2768 The structure is only used for collecting merge candidates now, and
2769 does not need any constructor
2770 [b7ca971f2a57]
2771
2772 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2773 source/Lib/TLibCommon/TComMotionInfo.h:
2774 mvfield: combine mv buffers into a single allocation
2775 [bbe34d78a627]
2776
2777 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2778 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.cpp,
2779 source/encoder/search.cpp:
2780 mvfield: remove unnecessary depth arguments to set functions
2781
2782 mv and refidx are CU level data, not TU level, so there is never any
2783 need to set the values for a depth other than 0. Remove support for
2784 NxN parts from the switch statement, made the template function
2785 protected
2786 [62f736e7ca47]
2787
2788 * source/encoder/search.cpp:
2789 search: nits
2790 [6da134a66e0f]
2791
2792 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2793 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.cpp,
2794 source/encoder/search.cpp:
2795 mvfield: remove setAllMvField wrapper
2796
2797 When you see how the code unwound, certain optimizations may become
2798 possible
2799 [cdbb818ed024]
2800
2801 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
2802 mvfield: remove setMvField() method
2803 [c1453d40d1cf]
2804
2805 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2806 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
2807 source/common/cudata.h, source/common/framedata.cpp,
2808 source/encoder/analysis.cpp:
2809 mvfield: pass objects by reference, const when possible
2810 [d5d7033e1a04]
2811
2812 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2813 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
2814 cudata: replace clearMvField() with m_partSet calls
2815 [4831aa891f00]
2816
2817 * source/common/cudata.cpp:
2818 cudata: copy mvfield data from CTU in copyFromPic (more --rd 0
2819 fixes)
2820 [b0c6b3a9ccf4]
2821
2822 * source/encoder/entropy.cpp:
2823 entropy: remove only reference to TComCUMvField outside of cudata.h
2824 [564f07d41a6e]
2825
2826 * source/encoder/search.cpp:
2827 search: avoid unnecessary memcopies in inter prediction
2828
2829 Calling setAllMvField() twice is wasteful. At least one, perhaps
2830 both, of them will be overwritten by the final prediction. Better to
2831 set the REF_NOT_VALID manually for uni-predition on the 'other'
2832 list.
2833 [f3bd6e5a880a]
2834
2835 * source/Lib/TLibCommon/CommonDef.h,
2836 source/Lib/TLibCommon/TComMotionInfo.cpp,
2837 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
2838 source/encoder/search.cpp:
2839 defs: remove last traces of REF_PIC_LIST enums, NOT_VALID ->
2840 REF_NOT_VALID
2841 [ed57e2e5c2b6]
2842
2843 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
2844 mvfield: remove getRefIdx and getMvd access methods
2845 [7b94b7de0af5]
2846
2847 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
2848 source/common/deblock.cpp, source/common/predict.cpp:
2849 mvfield: remove getMv access method
2850 [eec157891d46]
2851
2852 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2853 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.cpp:
2854 mvfield: remove default arguments, use consistent variable names,
2855 cleanup
2856 [a453285d756d]
2857
2858 * source/Lib/TLibCommon/TComMotionInfo.cpp,
2859 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/entropy.cpp,
2860 source/encoder/search.cpp:
2861 mvfield: class to struct, remove setMvd method
2862 [7b17ecc90937]
2863
2864 * doc/reST/cli.rst:
2865 docs: improve documentation for tskip options
2866 [8aa71d43db99]
2867
2868 * source/encoder/search.cpp:
2869 search: fix --rdpenalty 2, make logic explicit (closes #71)
2870 [ca0090c8fc69]
2871
2872 2014-10-21 Murugan Vairavel <murugan@multicorewareinc.com>
2873
2874 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
2875 util.h, source/common/x86/pixel-util8.asm:
2876 asm: avx2 asm code for 8bpp and 16bpp vesion of scale1D_128to64
2877 module
2878 [47095aafe91a]
2879
2880 2014-10-21 Praveen Tiwari <Praveen Tiwari>
2881
2882 * source/common/x86/pixel-util8.asm:
2883 weight_sp: sse version of asm code optimization
2884 [2cb8cdaa7df5]
2885
2886 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
2887 util.h, source/common/x86/pixel-util8.asm:
2888 weight_pp: avx2 asm code as per new interface
2889 [b6bd42615b37]
2890
2891 2014-10-21 Steve Borho <steve@borho.org>
2892
2893 * source/encoder/analysis.cpp, source/encoder/search.cpp:
2894 fix checked build errors
2895 [61ce6f790f25]
2896
2897 * source/common/picyuv.cpp, source/common/picyuv.h,
2898 source/encoder/encoder.cpp, source/encoder/encoder.h:
2899 picyuv: cache offset arrays in the top-level encoder
2900
2901 All PicYuv generated for a given encoder would generate the same
2902 offset arrays, so they might as well all point to the same memory
2903 [3465ef1eb7fc]
2904
2905 * source/common/cudata.cpp, source/common/cudata.h,
2906 source/encoder/analysis.cpp:
2907 cudata: add a helper function for not-present CUs
2908 [f8c3748eb24d]
2909
2910 * source/common/cudata.h:
2911 cudata: comment nits
2912 [7a2b895d7577]
2913
2914 * source/encoder/search.cpp:
2915 search: move auto var initialization to avoid goto warning
2916 [884bb04709a4]
2917
2918 * source/common/cudata.cpp, source/common/cudata.h,
2919 source/common/deblock.cpp, source/common/quant.cpp,
2920 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2921 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
2922 source/encoder/search.cpp:
2923 cudata: consistent naming rules for part data (singular, no b prefix
2924 for flags)
2925 [943ebf4f2cf4]
2926
2927 * source/common/cudata.cpp:
2928 cudata: cleanup copy methods, fill in missing copies in
2929 copyFromPic()
2930 [70cb93a0fc26]
2931
2932 * source/common/cudata.h:
2933 cudata: reorder and white-space nits
2934 [ea81e3999545]
2935
2936 * source/common/cudata.cpp, source/common/cudata.h:
2937 cudata: inline single caller of getPartPosition
2938 [2e5df75752c4]
2939
2940 * source/common/cudata.h:
2941 cudata: consistent use of absPartIdx
2942 [bdffb50ff2fd]
2943
2944 * source/common/cudata.cpp, source/common/cudata.h,
2945 source/encoder/analysis.cpp:
2946 cudata: remove unused setCUTransquantBypassSubParts
2947 [708b65ea888d]
2948
2949 * source/common/cudata.cpp, source/common/cudata.h,
2950 source/encoder/analysis.cpp, source/encoder/framefilter.cpp:
2951 cudata: m_cuTransquantBypass will not be set without lossless being
2952 enabled
2953 [19baf4ddfe2f]
2954
2955 * source/common/cudata.cpp:
2956 cudata: nits
2957 [e4fcdc4f802a]
2958
2959 * source/common/cudata.cpp, source/common/cudata.h,
2960 source/encoder/analysis.cpp, source/encoder/search.cpp:
2961 cudata: define copy and broadcast set methods
2962
2963 Pruned a couple of functions which were only called once and were
2964 redundant or could have been done more simply.
2965 [196c2544685b]
2966
2967 * source/common/cudata.cpp, source/common/cudata.h,
2968 source/encoder/analysis.cpp, source/encoder/search.cpp:
2969 cudata: simplify setPartSizeSubParts and friends
2970
2971 These fields are always broadast-set to all sub-parts of the CU
2972 [668dbdd70654]
2973
2974 * source/Lib/TLibCommon/TComDataCU.cpp,
2975 source/Lib/TLibCommon/TComDataCU.h, source/common/CMakeLists.txt,
2976 source/common/cudata.cpp, source/common/cudata.h,
2977 source/common/deblock.cpp, source/common/deblock.h,
2978 source/common/framedata.cpp, source/common/framedata.h,
2979 source/common/predict.cpp, source/common/predict.h,
2980 source/common/quant.cpp, source/common/quant.h,
2981 source/encoder/analysis.cpp, source/encoder/analysis.h,
2982 source/encoder/entropy.cpp, source/encoder/entropy.h,
2983 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
2984 source/encoder/framefilter.cpp, source/encoder/sao.cpp,
2985 source/encoder/search.cpp, source/encoder/search.h:
2986 bring TComDataCU into common/ as CUData
2987 [a560d44d2cbd]
2988
2989 * source/Lib/TLibCommon/TComDataCU.cpp,
2990 source/Lib/TLibCommon/TComDataCU.h, source/common/predict.cpp,
2991 source/common/predict.h, source/encoder/analysis.cpp,
2992 source/encoder/analysis.h, source/encoder/entropy.cpp,
2993 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
2994 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
2995 source/encoder/search.cpp, source/encoder/search.h:
2996 rebrand CU/cuData as CUGeom/cuGeom
2997 [b7503f180eb4]
2998
2999 * source/encoder/encoder.cpp:
3000 encoder: improve comment, frame encoders to not use the worker pool
3001 [34c830359f33]
3002
3003 * source/Lib/TLibCommon/TComDataCU.cpp,
3004 source/Lib/TLibCommon/TComDataCU.h, source/encoder/encoder.cpp,
3005 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
3006 frameencoder: pre-calculate the set of unique geoms for the picture
3007 size
3008
3009 Now the geom sets only need to be calculated once, and they occupy a
3010 minimum amount of memory.
3011 [fe480c4b66be]
3012
3013 * source/encoder/frameencoder.h:
3014 frameencoder: group pointer members together for better alignment
3015 [ca1be14a7d81]
3016
3017 * source/Lib/TLibCommon/TComDataCU.cpp:
3018 cu: nits
3019 [d76b2094d5e6]
3020
3021 * source/Lib/TLibCommon/TComDataCU.cpp:
3022 cu: use memset in setQPSubParts()
3023 [0f452547704c]
3024
3025 * source/Lib/TLibCommon/TComDataCU.cpp,
3026 source/Lib/TLibCommon/TComDataCU.h:
3027 cu: inline single use of setSubPart into setInterDirSubParts
3028 [50d30aaa9823]
3029
3030 * source/Lib/TLibCommon/TComDataCU.h:
3031 cu: remove unused enum NDBFBlockBorderTag
3032 [902fdb066b70]
3033
3034 * source/Lib/TLibCommon/TComDataCU.cpp:
3035 cu: repair original intent of getLastCodedQP(), fix 73c6c9086577
3036 [8ea4c8a389cd]
3037
3038 * source/Lib/TLibCommon/TComDataCU.cpp,
3039 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3040 source/encoder/analysis.h, source/encoder/entropy.cpp,
3041 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
3042 cu: remove m_cuLocalData from CU, use child offsets instead of
3043 absolute indices
3044
3045 This commit also removes a redundant
3046 'tld.analysis.m_quant.setQPforQuant()' from frameencoder.cpp. This
3047 belonged in compressCTU() and was actually one of the first things
3048 it does.
3049 [411149951603]
3050
3051 * source/Lib/TLibCommon/TComDataCU.cpp,
3052 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
3053 cu: pass m_cuLocalData to loadCTUData()
3054
3055 This is prep-work for removing m_cuLocalData from TComDataCU and
3056 having only a few instances of the array.
3057 [13d410a45434]
3058
3059 * source/Lib/TLibCommon/TComDataCU.cpp:
3060 cu: style nits, no behavior change
3061 [8ab3817fcf97]
3062
3063 * source/encoder/search.cpp, source/encoder/search.h:
3064 search: m_qtTempCoeff[ttype][qtLayer] ->
3065 m_rqt[qtLayer].tmpCoeff[ttype]
3066 [f7f4d9b59430]
3067
3068 * source/encoder/search.cpp, source/encoder/search.h:
3069 search: m_qtTempShortYuv[qtlayer] -> m_rqt[layer].tmpShortYuv
3070
3071 one less malloc to fail
3072 [5a3e8a4a51de]
3073
3074 * source/encoder/search.cpp, source/encoder/search.h:
3075 search: move inter search temp Yuv buffers into RQTData
3076
3077 This makes their allocation (and stride) per depth, which is
3078 hopefully a little more cache friendly
3079 [062c06517722]
3080
3081 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3082 source/encoder/search.h:
3083 search: rename m_rdContexts to m_rqt since its purpose has expanded
3084 [1d3b861ff5bb]
3085
3086 2014-10-21 gopi jayaraman <gopi@multicorewareinc.com>
3087
3088 * source/encoder/search.cpp:
3089 search: --pme bug fixes with slave threads tie up case
3090 [f5fc662b07cb]
3091
3092 2014-10-20 Steve Borho <steve@borho.org>
3093
3094 * source/encoder/search.cpp:
3095 search: move the destroy() method to after initSearch()
3096 [60633acf5a3a]
3097
3098 * source/common/frame.cpp:
3099 frame: initialize m_reconPicYuv pointer
3100 [4cff05a46557]
3101
3102 2014-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3103
3104 * source/encoder/search.cpp:
3105 search: make split choice logic cleaner
3106 [e66f78a6df4f]
3107
3108 * source/encoder/search.cpp:
3109 search: rename variables to mightSplit and mightNotSplit
3110 [b507a636f7e6]
3111
3112 2014-10-20 Steve Borho <steve@borho.org>
3113
3114 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3115 source/encoder/search.h:
3116 search: use small struct to accumulate costs
3117 [535b9ca17dd3]
3118
3119 * source/encoder/search.cpp:
3120 search: remove shadow variable
3121 [06f5d1594eca]
3122
3123 * source/encoder/search.cpp:
3124 search: improve comments
3125 [dad2c503c21e]
3126
3127 * source/encoder/search.cpp:
3128 search: avoid redundant work in typical path
3129 [0dd4b62f7331]
3130
3131 * source/encoder/search.cpp, source/encoder/search.h:
3132 search: inline single caller of xGetIntraBitsLuma, avoid extra
3133 copies
3134 [ce76838b769f]
3135
3136 * source/encoder/search.cpp, source/encoder/search.h:
3137 search: inline single call of calcIntraLumaRecon
3138
3139 This allows some much needed clarity and to avoid some redundant
3140 work
3141 [791d9a3ad651]
3142
3143 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3144 source/encoder/search.h:
3145 search: rename xRecurIntraCodingQT to codeIntraLumaQT, save a bit of
3146 work
3147 [2cb88ddefc43]
3148
3149 * source/encoder/search.cpp:
3150 search: combine xRecurIntraCodingQT() bCheckFull sections
3151 [8eae86316959]
3152
3153 * source/encoder/search.cpp:
3154 search: add tmpBits to xRecurIntraCodingQT
3155 [4a0498664e3f]
3156
3157 * source/encoder/search.cpp:
3158 search: remove remnants of tqbypass from xRecurIntraCodingQT,
3159 improve var names
3160 [f81c1e3a8788]
3161
3162 * source/encoder/search.cpp, source/encoder/search.h:
3163 search: create a per-depth temp buffer for temporary recon blocks
3164 [9642b0dc0798]
3165
3166 * source/encoder/search.cpp:
3167 search: fix --rdpenalty=2 at --rd 0,1
3168
3169 It needed the same fix for not skipping 32x32 if TU recursion is too
3170 restricted
3171 [0995d74b9b9c]
3172
3173 * source/encoder/search.cpp:
3174 search: use member variable access to current slice and frame, not
3175 the cu's
3176 [8d170703b186]
3177
3178 * doc/reST/cli.rst, source/encoder/search.cpp:
3179 search: clarify --rdpenalty
3180 [d0725a830b8d]
3181
3182 * source/encoder/search.cpp:
3183 search: simplify checkTransformSkip logic
3184
3185 drop !!qp condition, this doesn't appear necessary. we already check
3186 for TQ bypass
3187 [6df8c27c184a]
3188
3189 * source/encoder/encoder.cpp:
3190 encoder: make assignments to Frame::m_intraData and m_interData
3191 unconditional
3192
3193 The check doesn't help anyone. If pic_in->analysisData.intraData was
3194 NULL, the Frame fields are entirely uninitialized.
3195 [b874ac8f5427]
3196
3197 * source/encoder/search.cpp:
3198 search: remove redundant clearCbf call
3199
3200 The logic would not get here if cu->getQtRootCbf(0) didn't return
3201 zero, which implies all three CBF flags are already zero
3202 [5f15e0a7ce9a]
3203
3204 * source/encoder/analysis.cpp, source/encoder/analysis.h,
3205 source/encoder/search.cpp, source/encoder/search.h:
3206 search: move checkIntra from Analysis to Search
3207
3208 This function didn't belong in Analysis
3209 [42bc2e852217]
3210
3211 * source/encoder/search.cpp, source/encoder/search.h:
3212 search: rename xSetResidualQTData to saveResidualQTData and simplify
3213 [7c5713ba1712]
3214
3215 * source/encoder/search.cpp, source/encoder/search.h:
3216 search: do not return CBF=0 distortion from xEstimateResidualQT()
3217
3218 it can be calculated easily if needed
3219 [1882fb0d0d53]
3220
3221 * source/encoder/analysis.cpp:
3222 analysis: nit
3223 [3fad706c702e]
3224
3225 * doc/reST/cli.rst:
3226 doc: update description of --cu-lossless
3227 [e16426ff0679]
3228
3229 * source/encoder/analysis.cpp:
3230 analysis: do not try lossless if best mode had no distortion
3231 [eb284bc32580]
3232
3233 * source/encoder/analysis.cpp:
3234 analysis: copy inter prediction when evaluating lossless
3235 [60bf2a917454]
3236
3237 2014-10-20 Aarthi Thirumalai <Aarthi Thirumalai>
3238
3239 * source/encoder/ratecontrol.cpp:
3240 rc: fix error in vbv due to access of unreferenced refFrame data
3241 [6d1b8b8c0d7a]
3242
3243 2014-10-20 Praveen Tiwari <Praveen Tiwari>
3244
3245 * source/common/pixel.cpp, source/common/primitives.h,
3246 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
3247 source/encoder/reference.cpp, source/encoder/slicetype.cpp,
3248 source/encoder/weightPrediction.cpp, source/test/pixelharness.cpp:
3249 weighted prediction pixel, interface simplification
3250 [b2f534e54325]
3251
3252 2014-10-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
3253
3254 * source/encoder/analysis.cpp:
3255 analysis: share the depth, best modes and partitions based on cuAddr
3256 - bug fix
3257 [87515a42e79c]
3258
3259 2014-10-20 Steve Borho <steve@borho.org>
3260
3261 * source/Lib/TLibCommon/TComDataCU.cpp:
3262 cu: clear transform skip flags in lossless CU copy
3263 [18d9c6d2f212]
3264
3265 * source/Lib/TLibCommon/TComDataCU.h:
3266 cu: re-order part data defines to match allocation order (nit)
3267 [562f844b8f5a]
3268
3269 * source/Lib/TLibCommon/TComDataCU.cpp,
3270 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3271 source/encoder/analysis.h, source/encoder/search.cpp:
3272 analysis: try lossless encode of only the best mode for each CU
3273
3274 This involved some subtle changes in behavior. TComDataCU::initCTU
3275 and initSubCU now initialize m_cuTransquantBypass to the global
3276 --lossless flag, so in the first pass of analysis it will always be
3277 all non-lossless (typical) or all lossless (when --lossless is
3278 enabled).
3279
3280 Before this change, when "--cu-lossless and !--lossless" the encoder
3281 would try both lossless and non-losseless coding of every option
3282 evaluated for RDO. This roughly doubled the work performed by the
3283 encoder, and because the same TComDataCU instance was being used for
3284 both, it was fragile
3285
3286 After this change, the encoder will only try lossless once per CU
3287 using the best mode found during non-lossless RDO, using a seperate
3288 TComDataCU instance.
3289 [cf127f22ef3b]
3290
3291 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3292 source/encoder/search.h:
3293 search: --pme needs master instance to be passed to slave function
3294
3295 The slave was read its own m_listSelBits instead of those pre-
3296 computed by the master, and then even worse it was updating its own
3297 m_bestME (holding its own output lock) instead of the master's.
3298 [5179bb833cea]
3299
3300 * source/encoder/analysis.cpp:
3301 analysis: nits
3302 [c02dda2693b9]
3303
3304 * source/encoder/analysis.cpp:
3305 analysis: only call checkDQP once per CU, use a consistent reconPic
3306 write policy
3307 [089e256fb32a]
3308
3309 2014-10-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3310
3311 * source/encoder/search.cpp:
3312 search: cleanup
3313 [7eab67ffff81]
3314
3315 2014-10-20 Steve Borho <steve@borho.org>
3316
3317 * source/common/framedata.cpp, source/common/framedata.h:
3318 framedata: add pointer to active param structure for that picture
3319
3320 today, this is always the single global param. in the future it may
3321 be different
3322 [c15bb6a0d01f]
3323
3324 2014-10-19 Steve Borho <steve@borho.org>
3325
3326 * source/Lib/TLibCommon/TComDataCU.cpp,
3327 source/Lib/TLibCommon/TComDataCU.h, source/common/framedata.h,
3328 source/encoder/analysis.cpp, source/encoder/frameencoder.cpp:
3329 cu: move more statistics into FrameData
3330 [32b5ab08cb51]
3331
3332 * source/encoder/search.cpp:
3333 search: nit
3334 [1e09d0395826]
3335
3336 * source/encoder/analysis.cpp:
3337 analysis: fix for --rd 0, always generate chroma prediction for best
3338 merge
3339 [75e42b9db526]
3340
3341 2014-10-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3342
3343 * source/common/common.h, source/common/pixel.cpp:
3344 pixel: add signed accumulators, these were causing errors in new
3345 primitives
3346 [d24d7c1a43f5]
3347
3348 * source/encoder/analysis.cpp:
3349 analysis: split flag cost is added only if the depth is less than
3350 max depth
3351
3352 removes (some) CHECKED_BUILD errors.
3353 [d1cd4a753d9e]
3354
3355 2014-10-19 Steve Borho <steve@borho.org>
3356
3357 * source/encoder/analysis.cpp:
3358 analysis: add emergency intra check for --pmode
3359
3360 if all other choices somehow fail, we should always be able to code
3361 intra
3362 [9da983792c7d]
3363
3364 * source/encoder/frameencoder.cpp:
3365 frameencoder: handle non-present CUs correctly when collecting stats
3366 [b575d5bf01e8]
3367
3368 * source/encoder/analysis.cpp:
3369 analysis: handle no-valid-merge more cleanly, simplify
3370 compressInterCU_rd0_4
3371
3372 checkMerge2Nx2N_rd0_4() will set md.bestMode if any of them were
3373 valid, else it will be left NULL. Fixes some rare decoder asserts
3374 when no valid modes is coded
3375 [84933c3136ec]
3376
3377 2014-10-18 Steve Borho <steve@borho.org>
3378
3379 * source/encoder/ratecontrol.cpp:
3380 rc: fix error message
3381 [a480618a85a3]
3382
3383 * source/encoder/ratecontrol.cpp:
3384 rc: use curEncData.m_numCUsInFrame
3385
3386 Note that the CU count was wrongly calculated before as height *
3387 height, broken by me a couple days ago in 14d5345e257a
3388 [426a279be2b8]
3389
3390 * source/common/framedata.cpp, source/common/framedata.h,
3391 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
3392 source/encoder/slicetype.cpp:
3393 framedata: change 'structure of arrays' to 'array of structures' for
3394 RC stats
3395
3396 This uses fewer mallocs, fewer memsets, and generally better data
3397 locality. It doesn't hurt that the code is more readable.
3398 [6a5d1543b769]
3399
3400 * source/common/frame.cpp, source/common/frame.h,
3401 source/common/framedata.cpp, source/common/framedata.h,
3402 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
3403 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
3404 frame: move rate control data to FrameData, cleanup variable names
3405 [16cf099c8a78]
3406
3407 * source/common/framedata.cpp:
3408 framedata: fix license header
3409 [3810e534830c]
3410
3411 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
3412 source/encoder/sao.h:
3413 sao: move lossless sample restoration functions to framefilter.cpp
3414
3415 These are only called by the framefilter code, and are not directly
3416 related to SAO itself.
3417 [99fccc2a5063]
3418
3419 2014-10-15 Satoshi Nakagawa <nakagawa424@oki.com>
3420
3421 * source/common/common.h, source/encoder/frameencoder.cpp,
3422 source/encoder/sao.cpp, source/encoder/sao.h:
3423 sao: refine sao merge mode
3424 [f38d218c62d4]
3425
3426 2014-10-17 Ashok Kumar Mishra <ashok@multicorewareinc.com>
3427
3428 * source/encoder/search.cpp:
3429 search: removed redundant context store
3430 [0a94dccf7c9a]
3431
3432 * source/encoder/entropy.cpp, source/encoder/entropy.h,
3433 source/encoder/search.cpp:
3434 search: removed redundant getAllowedChromaDir function call
3435 [15a7b8d0698e]
3436
3437 2014-10-18 Steve Borho <steve@borho.org>
3438
3439 * doc/reST/cli.rst, source/common/param.cpp,
3440 source/encoder/analysis.cpp:
3441 analysis: allow --b-intra to work with RD levels < 5 (no behavior
3442 change)
3443
3444 This changes no existing presets. This flag used to default to be
3445 on, but it was ignored at RD levels 0..4. Now it defaults to off,
3446 but is enabled by all the presets that use RD 5 and 6. This commit
3447 re-orders the tools log line to place similar options near each
3448 other
3449 [b9e3cec471c7]
3450
3451 * source/encoder/CMakeLists.txt:
3452 cmake: use -Wno-uninitialized, to avoid confusing clang or older GCC
3453 [66687fc129ff]
3454
3455 2014-10-17 Steve Borho <steve@borho.org>
3456
3457 * source/common/param.cpp:
3458 param: do not enable fast CBF at faster presets (no behavior change)
3459
3460 This flag has never had any effect at the RD levels these presets
3461 use, so this never had any effect, except showing 'cfm' in the
3462 logged tools list.
3463 [6e7567637dcb]
3464
3465 * source/encoder/analysis.cpp:
3466 analysis: fix --pmode crash, do not look at intra results if not
3467 P_SLICE
3468 [0123cf455f17]
3469
3470 * doc/reST/cli.rst, source/encoder/analysis.cpp,
3471 source/encoder/analysis.h:
3472 analysis: allow --amp to actually work with RD levels < 5
3473
3474 This changes none of the presets or defaults, it just allows
3475 --preset medium --rect --amp to perform as the user would expect
3476 [ff8fb2e06847]
3477
3478 * source/encoder/analysis.cpp, source/encoder/analysis.h,
3479 source/encoder/encoder.cpp:
3480 analysis: don't pass global variables to create methods
3481 [03f5fcca39be]
3482
3483 * source/encoder/analysis.cpp:
3484 analysis: nits
3485 [8bc599ad83ea]
3486
3487 * source/encoder/analysis.cpp:
3488 analysis: consistent use of subPartIdx
3489 [e089d34046d5]
3490
3491 * source/encoder/analysis.cpp:
3492 analysis: streamline parallelModeAnalysis
3493 [807ef6c02d64]
3494
3495 * source/common/predict.cpp, source/common/predict.h:
3496 predict: keep ref indices, rather than mvField pointers
3497 [3f100d527ab3]
3498
3499 * source/common/CMakeLists.txt:
3500 cmake: remove source group for TLibCommon/ in MSVC
3501
3502 Allow the remaining files to be grouped with the rest of common/ for
3503 now
3504 [73ed4c1d2387]
3505
3506 * source/test/CMakeLists.txt, source/test/testharness.h:
3507 cmake: newer GCC/MinGW define __rdtsc and do not like our
3508 redefinition
3509 [b6eb92d35ccb]
3510
3511 * source/encoder/CMakeLists.txt:
3512 cmake: quiet -Wmaybe-uninitialized warnings in encoder/
3513
3514 gcc >= 4.8 is catching false positives from Clip3
3515 (std::min<>(std::max<>)) when the arguments are all known at compile
3516 time. Just shut-up, please.
3517 [c818548cf7c1]
3518
3519 * source/Lib/TLibCommon/TComDataCU.cpp,
3520 source/Lib/TLibCommon/TComPicSym.cpp,
3521 source/Lib/TLibCommon/TComPicSym.h, source/common/CMakeLists.txt,
3522 source/common/deblock.cpp, source/common/frame.cpp,
3523 source/common/frame.h, source/common/framedata.cpp,
3524 source/common/framedata.h, source/common/piclist.cpp,
3525 source/common/predict.cpp, source/common/slice.cpp,
3526 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
3527 source/encoder/dpb.h, source/encoder/encoder.cpp,
3528 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
3529 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
3530 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
3531 source/encoder/sao.cpp, source/encoder/search.cpp,
3532 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
3533 pull TComPicSym into common/ as FrameData
3534
3535 Document the nature in how these are reused by multiple pictures.
3536 Frame::m_picSym was renamed to Frame::m_encData to make the
3537 relationship more clear.
3538 [f3ede27baeee]
3539
3540 * source/Lib/TLibCommon/TComDataCU.cpp,
3541 source/Lib/TLibCommon/TComPicSym.cpp,
3542 source/Lib/TLibCommon/TComPicSym.h, source/common/deblock.cpp,
3543 source/common/lowres.h, source/common/picyuv.cpp,
3544 source/common/picyuv.h, source/common/pixel.cpp,
3545 source/common/predict.cpp, source/common/predict.h,
3546 source/common/primitives.h, source/common/slice.cpp,
3547 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
3548 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
3549 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp,
3550 source/encoder/sao.cpp, source/encoder/slicetype.cpp,
3551 source/encoder/weightPrediction.cpp:
3552 picsym: remove trivial access methods, cleanup
3553
3554 Remove redundant data, use intptr_t more consistently for picture
3555 strides. Yuv stride can stay as int, the strides are never more than
3556 64 bytes. Use uint32_t for block counters
3557
3558 Rename getCU() as getPicCTU() for clarity
3559 [14d5345e257a]
3560
3561 * source/common/picyuv.cpp:
3562 picyuv: fix 16bpp warning
3563 [7cccfdf67502]
3564
3565 2014-10-17 Murugan Vairavel <murugan@multicorewareinc.com>
3566
3567 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
3568 util8.asm:
3569 asm: avx2 assembly code for 16bpp version of transpose(8, 16, 32 and
3570 64)
3571 [f590933a138a]
3572
3573 2014-10-17 Steve Borho <steve@borho.org>
3574
3575 * source/encoder/analysis.cpp:
3576 analysis: actually count numRefs, combine depth counters
3577 [53f8765fadbd]
3578
3579 * source/encoder/analysis.cpp:
3580 analysis: further simplify top-skip math
3581
3582 By multiplying both sides by (cuData.numPartitions >> 2) the dynamic
3583 range of the algorithm is increased by up to 8 bits. Removing the
3584 intermediate value allow the combination of the two conditional
3585 expressions
3586 [0829d64dd762]
3587
3588 * source/encoder/analysis.cpp:
3589 analysis: fix msvc warnings
3590 [5eb2916cc8ed]
3591
3592 * source/encoder/analysis.cpp:
3593 analysis: prevent redundant recon work for --rd 3 and 4
3594 [daf4e836f261]
3595
3596 * source/Lib/TLibCommon/TComDataCU.cpp:
3597 cu: cleanup getPartIndexAndSize()
3598 [56fe32e3b7eb]
3599
3600 2014-10-16 Steve Borho <steve@borho.org>
3601
3602 * source/encoder/analysis.cpp:
3603 analysis: fix for --rd 0, it does not generate recon (just
3604 prediction)
3605 [6b0b2b6cd3b5]
3606
3607 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3608 analysis: split --pmode into its own recursive analysis function
3609
3610 This simplifies compressInterCU_rd0_4() and allows us to limit
3611 --pmode to sane rd levels 2, 3, and 4.
3612 [90fffd9a337f]
3613
3614 * source/encoder/analysis.cpp:
3615 analysis: it should only be necessary to copy recon when not split
3616 [bad798574b22]
3617
3618 * source/encoder/analysis.cpp:
3619 analysis: combine stat collections at the end of CU analysis
3620 [c53f9f7df61e]
3621
3622 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3623 analysis: move recursion early-out logic to a helper function
3624 [6e772638b9e3]
3625
3626 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3627 analysis: move topSkip into a helper function
3628
3629 This will allow us to break up compressInterCU_rd0_4
3630 [774ab320f9c9]
3631
3632 * source/encoder/analysis.cpp:
3633 analysis: simplify addSplitFlagCost slightly
3634 [35c589d92f51]
3635
3636 * source/encoder/analysis.cpp:
3637 analysis: fix typo in addSplitFlagCost
3638 [d5777c2b4179]
3639
3640 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp:
3641 cu: remove trivial getCtxInterDir()
3642 [f33aad115fa1]
3643
3644 * source/Lib/TLibCommon/TComDataCU.cpp,
3645 source/Lib/TLibCommon/TComDataCU.h:
3646 cu: cleanup more copy and init methods
3647 [79a8b694ae25]
3648
3649 * source/Lib/TLibCommon/TComDataCU.cpp,
3650 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
3651 cu: streamline initCTU and initSubCU
3652 [cb5875b1e89f]
3653
3654 * source/Lib/TLibCommon/TComDataCU.cpp,
3655 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
3656 cu: rename initCU() to initCTU()
3657 [d7496c92aa33]
3658
3659 * source/Lib/TLibCommon/TComDataCU.cpp,
3660 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
3661 cu: pass initial QP to initCU
3662 [cfe4c070c59d]
3663
3664 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3665 source/encoder/entropy.cpp, source/encoder/search.cpp:
3666 cu: remove merge index wrappers, document how mvp idx is reused
3667 [2febbee05401]
3668
3669 * source/Lib/TLibCommon/TComDataCU.cpp,
3670 source/Lib/TLibCommon/TComDataCU.h:
3671 cu: remove unused isFirstAbsZorderIdxInDepth
3672 [b0c8b1ab5603]
3673
3674 * source/Lib/TLibCommon/TComDataCU.cpp,
3675 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp,
3676 source/encoder/search.cpp:
3677 cu: remove m_mvpIdx access methods
3678 [d790ac5a2ed9]
3679
3680 * source/Lib/TLibCommon/TComDataCU.cpp,
3681 source/Lib/TLibCommon/TComDataCU.h:
3682 cu: store each CU's data sequentially in memory
3683
3684 This should be more cache friendly
3685 [9d489eb535d3]
3686
3687 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3688 source/encoder/search.h:
3689 search: use consistent absPartIdx for PU offset
3690 [44d321c78d21]
3691
3692 * source/Lib/TLibCommon/TComDataCU.cpp,
3693 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3694 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
3695 source/encoder/search.cpp:
3696 cu: remove m_lumaIntraDir access methods
3697 [776da39f9999]
3698
3699 * source/Lib/TLibCommon/TComDataCU.cpp,
3700 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp,
3701 source/encoder/search.cpp:
3702 cu: remove m_chromaIntraDir access methods
3703 [71d6ff5b0e09]
3704
3705 * source/Lib/TLibCommon/TComDataCU.cpp,
3706 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp:
3707 cu: remove interDir access methods
3708 [c46d2e9e43ef]
3709
3710 * source/Lib/TLibCommon/TComDataCU.h:
3711 cu: white-space cleanups
3712 [c9978e9f94dd]
3713
3714 * source/Lib/TLibCommon/TComDataCU.h:
3715 cu: make setSubPart protected, group getSCUAddr() with encode helper
3716 functions
3717 [ff8a34e35d8d]
3718
3719 * source/Lib/TLibCommon/TComDataCU.cpp,
3720 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3721 source/encoder/entropy.cpp, source/encoder/search.cpp:
3722 cu: remove m_bMergeFlags access methods
3723 [72b5cc8ea5f7]
3724
3725 * source/Lib/TLibCommon/TComDataCU.cpp,
3726 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3727 source/encoder/search.cpp:
3728 cu: remove m_cbf access methods
3729 [2cd6eec80775]
3730
3731 * source/Lib/TLibCommon/TComDataCU.cpp,
3732 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3733 source/common/quant.cpp, source/encoder/entropy.cpp,
3734 source/encoder/search.cpp:
3735 cu: remove m_trIdx access methods
3736 [404a8abfbad5]
3737
3738 * source/Lib/TLibCommon/TComDataCU.cpp,
3739 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3740 source/common/predict.cpp, source/encoder/analysis.cpp,
3741 source/encoder/entropy.cpp, source/encoder/search.cpp:
3742 cu: remove m_log2CUSize access methods
3743 [fc42e88982af]
3744
3745 * source/Lib/TLibCommon/TComDataCU.cpp,
3746 source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp,
3747 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
3748 source/encoder/frameencoder.cpp, source/encoder/search.cpp:
3749 cu: remove m_predModes access methods
3750 [9f51ef2afdc6]
3751
3752 * source/Lib/TLibCommon/TComDataCU.cpp,
3753 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
3754 cu: remove m_skipFlag access methods
3755 [99315bb8142c]
3756
3757 * source/Lib/TLibCommon/TComDataCU.cpp,
3758 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp,
3759 source/encoder/search.cpp:
3760 cu: remove m_transformSkip access methods
3761 [cdeaea376021]
3762
3763 * source/Lib/TLibCommon/TComDataCU.cpp,
3764 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3765 source/common/quant.cpp, source/encoder/analysis.cpp,
3766 source/encoder/entropy.cpp, source/encoder/search.cpp:
3767 cu: remove m_cuTransquantBypass access methods
3768 [b8938daa0e69]
3769
3770 * source/Lib/TLibCommon/TComDataCU.cpp,
3771 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3772 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
3773 source/encoder/frameencoder.cpp, source/encoder/search.cpp:
3774 cu: remove m_partSizes access methods, rename copyCodedToPic() to
3775 updatePic()
3776 [263c8b73b7aa]
3777
3778 * source/Lib/TLibCommon/TComDataCU.h:
3779 cu: remove wrong or useless comments
3780 [e44ce1d54da3]
3781
3782 * source/Lib/TLibCommon/TComDataCU.cpp,
3783 source/Lib/TLibCommon/TComDataCU.h:
3784 cu: remove x prefixes
3785 [c16837999997]
3786
3787 * source/Lib/TLibCommon/TComDataCU.cpp,
3788 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3789 source/common/quant.cpp, source/encoder/analysis.cpp,
3790 source/encoder/entropy.cpp, source/encoder/search.cpp:
3791 cu: remove m_qp access methods
3792 [f1064a18fd1d]
3793
3794 * source/Lib/TLibCommon/TComDataCU.cpp,
3795 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3796 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
3797 source/encoder/frameencoder.cpp, source/encoder/sao.cpp,
3798 source/encoder/search.cpp:
3799 cu: remove m_depth access methods
3800 [ba3862977dfc]
3801
3802 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3803 source/encoder/search.cpp:
3804 cu: remove getCUMvField
3805 [6c7bee958e2a]
3806
3807 * source/Lib/TLibCommon/TComDataCU.cpp,
3808 source/Lib/TLibCommon/TComDataCU.h, source/encoder/search.cpp:
3809 cu: remove trivial access methods for m_trCoeff
3810 [47ea715be755]
3811
3812 * source/Lib/TLibCommon/TComDataCU.cpp,
3813 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3814 source/encoder/search.cpp:
3815 cu: unify array data types to uint8_t, group like methods together
3816 [a17e618c20cc]
3817
3818 * source/encoder/search.cpp:
3819 search: use pre-calculated partSize
3820 [bedbad51e3de]
3821
3822 * source/encoder/rdcost.h, source/encoder/search.cpp,
3823 source/encoder/search.h:
3824 Merge
3825 [59096255eafe]
3826
3827 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3828 source/encoder/search.h:
3829 search: add sa8dBits field to avoid conflict with RDO's totalBits
3830 [7db432da4269]
3831
3832 * source/encoder/frameencoder.cpp:
3833 frameEncoder: fix eoln
3834 [15fd6c844410]
3835
3836 * source/encoder/search.cpp, source/encoder/search.h:
3837 search: getBlkBits uses no data members, could be a static method
3838 [323876f98fbf]
3839
3840 * source/encoder/search.cpp:
3841 analysis: rename variables for consistency
3842 [78a112dc65fd]
3843
3844 * source/encoder/analysis.cpp:
3845 analysis: fix cut-paste bug in early-out code
3846 [71173ff67162]
3847
3848 * source/common/frame.cpp:
3849 frame: m_totalBitsPerCTU must be allocated even if AQ is disabled
3850 [9d4b9867a685]
3851
3852 * source/encoder/analysis.cpp:
3853 analysis: fix for --rd 0 check failure
3854 [643c6dc10f99]
3855
3856 2014-10-15 Steve Borho <steve@borho.org>
3857
3858 * source/encoder/encoder.cpp:
3859 Merge
3860 [96c144bf9b3f]
3861
3862 * source/encoder/analysis.cpp:
3863 analysis: minimal documentation for RD levels
3864 [8fe07f3a2311]
3865
3866 * source/encoder/analysis.cpp:
3867 analysis: --rd 1 needs reconYuv to be copied from sub-cu
3868 [abc464814a26]
3869
3870 * source/encoder/analysis.cpp:
3871 analysis: --rd 1 needs reconYuv to be copied to reconPic
3872 [9e623a96246a]
3873
3874 * source/encoder/analysis.cpp:
3875 analysis: move temp array out of conditional
3876
3877 Keeping a pointer to a stack array is not well defined behavior.
3878 Renamed buf_trans to bufTrans, also
3879 [3930ee35b182]
3880
3881 * source/encoder/analysis.cpp:
3882 analysis: only --rd 0 should use encodeResidue()
3883 [ea7d008b9457]
3884
3885 * source/encoder/analysis.cpp:
3886 analysis: at --rd 1, split and best modes only have sa8d cost
3887 [6861366e673f]
3888
3889 * source/encoder/analysis.cpp:
3890 analysis: do not call checkDQP() for --rd 0, the CU is not encoded
3891 [ec1595bc8a76]
3892
3893 * source/encoder/analysis.cpp:
3894 analysis: fix hash mistakes at --rd 2
3895
3896 Do not re-encode merge blocks, as we learned with --rd 6 this does
3897 not work without re-initializing skip flags. But since the CU was
3898 already coded once there is no need to repeat the work.
3899 [6d8bb90381fd]
3900
3901 * source/common/shortyuv.h, source/common/yuv.h:
3902 yuv: short descriptions
3903 [3d8d0dcd1ef9]
3904
3905 * source/common/yuv.cpp, source/common/yuv.h:
3906 yuv: consistent variable naming for clarity
3907
3908 absPartIdx is always the part index (in zorder) of a CU/PU/TU within
3909 a CTU
3910 [e6892e7c73bc]
3911
3912 * source/common/yuv.cpp, source/common/yuv.h:
3913 yuv: inline addClip sub-functions
3914 [632305ea202e]
3915
3916 * source/common/yuv.h:
3917 yuv: nit
3918 [2f1d633afec4]
3919
3920 * source/common/shortyuv.h:
3921 shortyuv: remove width argument to getChromaAddrOffset
3922 [a66f34e6bcd7]
3923
3924 * source/common/predict.cpp, source/common/shortyuv.cpp,
3925 source/common/shortyuv.h, source/common/yuv.cpp,
3926 source/encoder/analysis.cpp, source/encoder/search.cpp:
3927 shortyuv: take only a single size (width == height)
3928 [bfd27a43b034]
3929
3930 * source/common/shortyuv.cpp, source/common/shortyuv.h:
3931 shortyuv: remove m_height and m_cheight
3932 [d60c862b9ae1]
3933
3934 * source/common/yuv.h:
3935 yuv: nits
3936 [84c610604cc0]
3937
3938 * source/common/yuv.cpp, source/common/yuv.h:
3939 yuv: remove width argument to getChromaAddrOffset
3940 [469c92ffccd3]
3941
3942 * source/common/predict.cpp, source/common/shortyuv.cpp,
3943 source/common/yuv.cpp, source/common/yuv.h,
3944 source/encoder/analysis.cpp, source/encoder/search.cpp:
3945 yuv: take only single size (width == height)
3946 [171267587546]
3947
3948 * source/encoder/encoder.cpp:
3949 encoder: ensure TLD.nr is initialized
3950 [829ebca8ff0c]
3951
3952 * source/common/yuv.cpp, source/common/yuv.h:
3953 yuv: remove m_height and m_cheight
3954 [058fb0238cb5]
3955
3956 * source/common/yuv.cpp, source/common/yuv.h:
3957 yuv: remove unused clear() method
3958 [8a1563987a01]
3959
3960 * source/common/frame.cpp, source/common/frame.h,
3961 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
3962 rc: fix for ABR behavior - we need frame->m_totalBitsPerCTU to
3963 replace CU stats
3964
3965 m_totalBitsPerCTU always needs to be allocated and filled in with
3966 the total bit size of each CU, for VBV and non-VBV modes to function
3967 correctly
3968 [ff1123105f64]
3969
3970 * source/common/common.h, source/common/frame.cpp,
3971 source/common/frame.h, source/common/quant.cpp,
3972 source/encoder/analysis.cpp, source/encoder/analysis.h,
3973 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
3974 source/encoder/frameencoder.h, source/encoder/search.cpp,
3975 source/encoder/search.h:
3976 Merge
3977 [999815f31962]
3978
3979 2014-10-13 Murugan Vairavel <murugan@multicorewareinc.com>
3980
3981 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
3982 util.h, source/common/x86/pixel-util8.asm:
3983 asm: avx2 assembly code for 8bpp version of transpose(8, 16, 32 and
3984 64)
3985 [51416472d14c]
3986
3987 2014-10-14 Steve Borho <steve@borho.org>
3988
3989 * source/encoder/search.cpp:
3990 search: add a couple TODO comments
3991 [0161608f481a]
3992
3993 * source/encoder/search.cpp:
3994 search: make encodeResAndCalcRdInterCU() a bit more readable
3995 [7bb09720f59c]
3996
3997 * source/encoder/search.cpp:
3998 search: fix one obviously wrong psy-rd check
3999
4000 If measuring psy cost of CBF=0, you measure fenc against pred, not
4001 against zero
4002 [ae8bbb881b9e]
4003
4004 * source/encoder/search.cpp:
4005 search: remove I slice checks from encodeResAndCalcRdInterCU
4006
4007 We do not call this function for I slices, and it already checks for
4008 it
4009 [b78070d1eb47]
4010
4011 * source/encoder/search.cpp:
4012 search: fix initial value of bCodeDQP in encodeResAndCalcRdInterCU
4013 [6c9b28899c8f]
4014
4015 * source/encoder/search.cpp, source/encoder/search.h:
4016 search: inline single caller of getInterSymbolBits()
4017
4018 the code now uses temp vars instead of modifying the mode costs
4019 directly, since the final mode costs are set at the end of this
4020 function
4021 [9d435b9a76ad]
4022
4023 * source/encoder/search.cpp, source/encoder/search.h:
4024 search: inline single caller of xLoadIntraResultChromaQT
4025 [47761a49a3cf]
4026
4027 * source/encoder/search.cpp, source/encoder/search.h:
4028 search: inline single caller of xLoadIntraResultQT
4029 [1c9566ae8dae]
4030
4031 * source/encoder/search.cpp, source/encoder/search.h:
4032 search: inline single caller of xEncIntraHeaderLuma
4033 [27b996ccb80b]
4034
4035 * source/encoder/search.cpp, source/encoder/search.h:
4036 search: inline single caller of xEncIntraHeaderChroma
4037 [532a9a6f4713]
4038
4039 * source/encoder/search.cpp:
4040 search: reorder xRecurIntraChromaCodingQT() for clarity
4041 [bcc8b4f42f53]
4042
4043 * source/encoder/search.cpp, source/encoder/search.h:
4044 search: inline single callers of xGetIntraBitsChroma and
4045 xGetIntraBitsQTChroma
4046 [983e96789f5e]
4047
4048 * source/encoder/sao.cpp:
4049 sao: fix eoln
4050 [d27721f55ea5]
4051
4052 * source/common/common.h:
4053 common: fix eoln, fix merge bug
4054 [a30d82d4d2e7]
4055
4056 * Merge
4057 [badc6dec6b34]
4058
4059 2014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4060
4061 * source/Lib/TLibCommon/TComRom.h, source/common/common.h,
4062 source/encoder/frameencoder.cpp:
4063 noiseReduction: replace magic values with readable names
4064 [961240f1ac16]
4065
4066 2014-10-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4067
4068 * source/Lib/TLibCommon/TComDataCU.cpp,
4069 source/Lib/TLibCommon/TComDataCU.h,
4070 source/Lib/TLibCommon/TComPicSym.cpp, source/encoder/analysis.cpp,
4071 source/encoder/sao.cpp, source/encoder/search.cpp,
4072 source/encoder/search.h:
4073 cu-lossless: remove redundant lossless buffer
4074
4075 The pixel values in lossless mode can be obtained from the original
4076 yuv buffer itself.
4077 [207d1e432240]
4078
4079 2014-10-14 Steve Borho <steve@borho.org>
4080
4081 * source/encoder/analysis.cpp:
4082 analysis: match old merge analysis behavior at --rd 5,6
4083 [8ecb949326f9]
4084
4085 * source/encoder/analysis.h:
4086 analysis: reorder prediction modes for easier initialization at RD
4087 <= 4
4088 [2542439de2e6]
4089
4090 * source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
4091 source/encoder/analysis.cpp, source/encoder/analysis.h,
4092 source/encoder/frameencoder.cpp:
4093 cu: make CU's frame pointer const, so it's clearly read-only to CU
4094 logic
4095
4096 Required passing a non-const Frame pointer to compressCTU, which is
4097 fine since the frame encoder by definition owns the non-const
4098 object.
4099 [82f22df1bb64]
4100
4101 * source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
4102 source/common/predict.cpp, source/common/predict.h,
4103 source/encoder/entropy.cpp, source/encoder/search.cpp:
4104 cu: make CU's slice pointer const, so its clearly read-only to CU
4105 logic
4106 [fb8b65d7812f]
4107
4108 * source/Lib/TLibCommon/TComDataCU.cpp,
4109 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
4110 source/encoder/search.cpp:
4111 cu: return merge candidate count from getInterMergeCandidates()
4112
4113 do not set by reference
4114 [18dbef3d92ea]
4115
4116 * source/encoder/analysis.cpp:
4117 analysis: fix --rd 6 hash mistakes, clear skip flags between merge
4118 candidates
4119 [12a5dfb5bfb9]
4120
4121 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4122 analysis: inline deriveTestModeAMP
4123 [b0df34295958]
4124
4125 * source/encoder/analysis.cpp:
4126 analysis: uhm, try that again
4127 [f5c3121f88b4]
4128
4129 * source/encoder/analysis.cpp:
4130 analysis: checkIntra() is used by all slice types now
4131 [6ed24d5e4a64]
4132
4133 * source/encoder/search.cpp:
4134 search: minor cleanups
4135 [842c664c64ad]
4136
4137 2014-10-13 Steve Borho <steve@borho.org>
4138
4139 * source/encoder/analysis.cpp:
4140 analysis: simplify addSplitFlagCost(), encode split flag with mode's
4141 context
4142 [c025b698a2d5]
4143
4144 * source/encoder/analysis.cpp:
4145 analsys: add split flag cost to the split prediction (--rd 5/6)
4146 [4ec03ab5a463]
4147
4148 * source/encoder/search.cpp:
4149 search: nits, remove debug memsets
4150 [609cbaffdd9b]
4151
4152 * source/encoder/analysis.cpp, source/encoder/search.cpp:
4153 nits
4154 [2e6bccf560f5]
4155
4156 * source/encoder/analysis.cpp:
4157 analysis: split out more logic for rdlevel 0 & 1
4158
4159 Eventually rdlevels 0 and 1 would have a different compress function
4160 from rdlevels 2, 3 and 4 since they have much different logic around
4161 split and cost decisions. But the first step should be to pull the
4162 topSkip and avgCost into helper functions that could be used by both
4163 functions (to avoid duplicating those features, which I expect will
4164 get lots of attention in the comming weeks)
4165 [898b47f1082f]
4166
4167 * source/encoder/analysis.cpp:
4168 analysis: re-introduce RD level 0 intra hack
4169
4170 It didn't have a comment before, so I didn't understand its purpose.
4171 Placing up a level and adding a comment makes it more clear
4172 [64e516e6d865]
4173
4174 2014-10-11 Steve Borho <steve@borho.org>
4175
4176 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4177 analysis: add a helper function to deal with split flag bits
4178
4179 we can reasonably do something smart based on RD level in a
4180 consistent manner.
4181 * for high RD levels, we can account for split flag context states
4182 * For low RD levels, we just increment bit counters
4183
4184 this fixes the fact that the skip flag must be considered in the
4185 mvBits stat since all other bits are considered coeff bits. This
4186 should help 2-pass slightly
4187 [ff2142620928]
4188
4189 * source/encoder/analysis.h:
4190 analysis: remove unused m_initialContexts
4191 [9d2b67812d19]
4192
4193 * source/encoder/analysis.h, source/encoder/frameencoder.h:
4194 analysis: move StatisticLog to frameencoder.h
4195 [817192eda811]
4196
4197 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4198 analysis: add attributions for myself
4199 [0024124be46a]
4200
4201 * source/encoder/analysis.cpp:
4202 analysis: remove redundant pointer check
4203 [5461beda34e4]
4204
4205 * source/encoder/search.cpp:
4206 search: fix variable name shadow warnings
4207 [4be77cb8bbea]
4208
4209 * source/common/slice.h, source/encoder/entropy.cpp,
4210 source/encoder/entropy.h, source/encoder/sao.cpp,
4211 source/encoder/sao.h, source/encoder/search.h:
4212 Merge
4213 [20644db535dd]
4214
4215 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4216 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
4217 source/encoder/frameencoder.h:
4218 analysis: clarify and fix CTU stats logging, move to frame encoders
4219 [60bf1877612d]
4220
4221 * source/encoder/analysis.cpp:
4222 analysis: if avoiding skip analysis for lossless encodes, set max
4223 rdcost
4224 [825cd3ca0495]
4225
4226 * source/encoder/analysis.cpp:
4227 analysis: consistent naming of MC PU part index, try not to use temp
4228 CU pointers
4229
4230 Pointers to 'bestCU' tend to cause bugs; best to dereference
4231 md.bestMode->cu directly in case the pointer moves. The compiler is
4232 good about caching derefs
4233 [c12b3abd8d92]
4234
4235 * source/encoder/analysis.cpp:
4236 analysis: merge only ever has one part, within checkMerge2Nx2N_rd0_4
4237 [b3fdd6dcf8b6]
4238
4239 * source/Lib/TLibCommon/TComDataCU.cpp,
4240 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
4241 source/encoder/analysis.h:
4242 cu: fix sub-cu pel positioning
4243
4244 The cuData.encodeIdx already included the sub-part offset during
4245 splits (there is one cuData instance per sub-part, not per depth).
4246 So it was wrong to pass the partUnitIdx to the next recursion depth.
4247
4248 It was only being used at the next depth to pass to initSubCU()
4249 which used it to calculate the relative pixel offsets from the
4250 parent CU. But in the new code the parent CU is now the parent CTU,
4251 and so the pel offsets must be calculated relative from the CTU pel
4252 positions. This is what the g_zscanToPel? tables are for.
4253 [c50ae2a64cd9]
4254
4255 * source/encoder/analysis.cpp:
4256 analysis: remove a temp variables used in only one place
4257 [1192a7e45953]
4258
4259 * source/Lib/TLibCommon/TComDataCU.cpp:
4260 cu: remove useless numPartition variable from copyPartFrom()
4261 [75e389fd9b3e]
4262
4263 * source/encoder/analysis.cpp:
4264 analysis: simplify handling of not-present sub-cus
4265 [f8c0d8f0cc71]
4266
4267 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4268 analysis: m_bEncodeDQP should never have been a member variable
4269
4270 The value should always be initialized to m_slice->m_pps->bUseDQP
4271 prior to calling m_entropyCoder.codeCoeff(), and then allow that
4272 function to modify it as it recurses.
4273 [d08c691b11ad]
4274
4275 * source/common/frame.cpp:
4276 frame: fix uninitialized pointer
4277 [06235f8119ca]
4278
4279 * source/Lib/TLibCommon/TComDataCU.cpp,
4280 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
4281 cu: make TComDataCU::copyPartFrom() take a const ref, cleanup
4282
4283 this function did not need to copy m_cuAbove and friends
4284 [69ae969b5d04]
4285
4286 * source/Lib/TLibCommon/TComDataCU.cpp,
4287 source/Lib/TLibCommon/TComDataCU.h, source/encoder/sao.cpp:
4288 cu: remove getLumaOrigYuv() access methods
4289 [88cec6cb806f]
4290
4291 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4292 source/encoder/search.cpp, source/encoder/search.h:
4293 analysis: more ref religion
4294 [44dacb1a44de]
4295
4296 * source/encoder/analysis.cpp:
4297 analysis: use m_slice consistently, not the pointer in the CU
4298 [5b15e657ace9]
4299
4300 * source/encoder/analysis.cpp:
4301 analysis: simplify encodeIntraInInter
4302 [ee7eb64c1c9c]
4303
4304 * source/encoder/search.cpp:
4305 search: minor cleanups and comment improvements
4306 [2e3c07bd52db]
4307
4308 * source/Lib/TLibCommon/TComDataCU.cpp:
4309 cu: white space and comment nits, initSubCU() no longer inits CTU
4310 costs
4311 [e2eea276e6b5]
4312
4313 * source/encoder/analysis.cpp:
4314 analysis: give the splitCU the correct partition index (0..3)
4315
4316 this doesn't currently affect outputs, but it is definitely more
4317 correct
4318 [c7561cbb7b0f]
4319
4320 * source/Lib/TLibCommon/TComDataCU.cpp,
4321 source/Lib/TLibCommon/TComDataCU.h, source/common/frame.cpp,
4322 source/common/frame.h, source/encoder/analysis.cpp,
4323 source/encoder/analysis.h, source/encoder/frameencoder.cpp,
4324 source/encoder/ratecontrol.cpp, source/encoder/search.cpp,
4325 source/encoder/search.h:
4326 cu: move cost variables from TComDataCU to Mode
4327
4328 we use md.bestMode != NULL to determine if no best mode has been
4329 found yet, so we do not have to initialize costs to MAX_INT64 to
4330 simulate that condition. Hopefully this is more robust.
4331
4332 this changes outputs, in a very good way, so I think this fixed a
4333 hidden bug or two
4334 [6bf0d3f1c93d]
4335
4336 * source/common/yuv.h:
4337 yuv: nit
4338 [7b2c95729183]
4339
4340 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4341 source/encoder/search.cpp, source/encoder/search.h:
4342 analysis: settle on fencYuv for 'frame being encoded' or 'original
4343 pixels'
4344
4345 there was no point in analysis and search having different names for
4346 the same pixels. this patch moves responsibility of filling fencYuv
4347 to the caller in a consistent basis
4348 [6f7f54438424]
4349
4350 * source/Lib/TLibCommon/TComDataCU.cpp,
4351 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
4352 cu: remove access methods for neighbor CTUs
4353 [37c229d6f8cc]
4354
4355 * source/encoder/analysis.cpp:
4356 analysis: fixes for --pmode and --rect with --rd 0..4
4357 [c8b4c9be2559]
4358
4359 * source/encoder/analysis.cpp:
4360 analysis: initCU() is only necessary for picSym CTUs, not analysis
4361 CUs
4362 [c218dd4a4c71]
4363
4364 2014-10-10 Steve Borho <steve@borho.org>
4365
4366 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4367 source/encoder/search.cpp, source/encoder/search.h:
4368 analysis: move fillOrigYUVBuffer to Search
4369
4370 it is not really an analysis functions, it is a coding function
4371 [d1f8ae7710d4]
4372
4373 * source/encoder/analysis.cpp:
4374 analysis: fixes for merge/skip behavior at --rd 6, improve clarity
4375 [f44a21cae332]
4376
4377 * source/encoder/analysis.cpp:
4378 analysis: fix precendence problem in split logic
4379 [8778bf23678b]
4380
4381 * source/encoder/analysis.cpp:
4382 analysis: fix a couple of obvious --rd 6 bugs
4383 [4728d78c0f4d]
4384
4385 * source/encoder/analysis.cpp:
4386 analysis: fix --rd 2 crash, only check intra for P slices
4387 [633056237fb2]
4388
4389 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4390 analysis: greatly simplify checkMerge2Nx2N_rd5_6
4391 [aef32e8b25c1]
4392
4393 * source/Lib/TLibCommon/TComDataCU.h:
4394 cu: fix comments
4395 [d82691c50f7a]
4396
4397 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4398 analysis: pass merge and skip modes to merge analysis functions
4399
4400 It was a layering violation for these functions to access md.pred[]
4401 themselves
4402 [e573d484cd33]
4403
4404 * source/encoder/analysis.h:
4405 analysis: PRED_NxN is no more
4406 [f4aba985d261]
4407
4408 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4409 analysis: nit rename
4410 [083138d1dce1]
4411
4412 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4413 analysis: most merge shared intra path into the main path
4414
4415 The overhead for the nominal I frame path is one NULL pointer check
4416 per CU
4417 [8f77003f3f33]
4418
4419 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4420 analysis: remove checkIntraInInter_rd5_6(), it is the same as
4421 checkIntra now
4422 [e5d3c1eba674]
4423
4424 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4425 source/encoder/search.cpp, source/encoder/search.h:
4426 analysis: move parallel ME from Analysis to Search
4427 [489614317ca8]
4428
4429 2014-10-09 Steve Borho <steve@borho.org>
4430
4431 * source/encoder/search.cpp, source/encoder/search.h:
4432 search: pass mode to xIntraCodingLumaBlk
4433 [f397acd9d822]
4434
4435 * source/common/CMakeLists.txt, source/common/predict.cpp,
4436 source/common/predict.h, source/encoder/CMakeLists.txt,
4437 source/encoder/predict.cpp, source/encoder/predict.h:
4438 move predict.cpp and predict.h to common/
4439
4440 they don't need any encoder structures
4441 [49c3dd1cad1e]
4442
4443 * source/encoder/search.cpp, source/encoder/search.h:
4444 search: reorder arguments to xIntraCodingChromaBlk for clarity
4445 [4698e9d56cc4]
4446
4447 * source/encoder/search.cpp, source/encoder/search.h:
4448 search: pass mode to getBestIntraModeChroma
4449 [d178113b3111]
4450
4451 * source/encoder/search.cpp, source/encoder/search.h:
4452 search: do not pass fencYuv to residualTransformQuantIntra
4453 [6abf5ed381d7]
4454
4455 * source/encoder/search.cpp, source/encoder/search.h:
4456 search: do not pass fencYuv to xIntraCodingChromaBlk
4457 [dc3be2051459]
4458
4459 * source/encoder/search.cpp, source/encoder/search.h:
4460 search: do not pass fencYuv to xRecurIntraChromaCodingQT
4461 [2b49010309c5]
4462
4463 * source/encoder/search.cpp, source/encoder/search.h:
4464 search: do not pass fencYuv to xEstimateResidualQT()
4465 [2f0020df9464]
4466
4467 * source/Lib/TLibCommon/TComDataCU.h,
4468 source/Lib/TLibCommon/TComPattern.cpp,
4469 source/Lib/TLibCommon/TComPattern.h,
4470 source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt,
4471 source/encoder/analysis.cpp, source/encoder/predict.cpp,
4472 source/encoder/predict.h, source/encoder/search.cpp,
4473 source/encoder/search.h, source/test/intrapredharness.cpp:
4474 predict: merge intra prediction helper routines into Predict
4475 [7505862f3220]
4476
4477 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4478 source/encoder/search.h:
4479 search: do not pass fencYuv to xRecurIntraCodingQT()
4480 [031eeb5ab33f]
4481
4482 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4483 source/encoder/search.h:
4484 search: return distortion from main intra coding functions
4485
4486 This is much cleaner than magically incrementing the CU variables
4487 within these functions. Leave some comments for future work
4488 [2c9b47e8f5ba]
4489
4490 * source/Lib/TLibCommon/TComDataCU.h:
4491 cu: fix a comment
4492 [bbd23323e465]
4493
4494 * source/encoder/search.cpp:
4495 search: use absPartIndex for sub-CU indexing
4496 [c57651640ca8]
4497
4498 * source/encoder/analysis.cpp:
4499 analysis: nits
4500 [8419f83fe8e2]
4501
4502 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4503 source/encoder/search.h:
4504 search: merge sharedEstIntraPredQT with estIntraPredQT
4505 [e90faaac6e4a]
4506
4507 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4508 source/encoder/search.h:
4509 search: do not pass fencYuv to sharedEstIntraPredQT() and
4510 estIntraPredChromaQT()
4511 [d9e76daff312]
4512
4513 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4514 source/encoder/search.h:
4515 search: do not pass fencYuv to estIntraPredQT()
4516 [4adb8b6c440b]
4517
4518 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4519 source/encoder/search.h:
4520 search: do not pass fencYuv to encodeResAndCalcRdSkipCU()
4521 [7cc8d78543e2]
4522
4523 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4524 source/encoder/search.h:
4525 search: do not pass fencYuv to encodeResAndCalcRdInterCU()
4526 [615a8dc3d8db]
4527
4528 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4529 source/encoder/search.h:
4530 search: do not pass fencYuv to generateCoeffRecon()
4531 [875b4c959919]
4532
4533 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4534 source/encoder/search.h:
4535 search: do not pass fencYuv to residualTransformQuantInter
4536 [be855ecfb805]
4537
4538 * source/encoder/search.cpp, source/encoder/search.h:
4539 search: make fencYuv pointers const
4540
4541 in preparation of using mode.origYuv directly. this requires using
4542 const_cast when getting pixel pointers since our performance
4543 primitives do not have const declarations for pointers which are
4544 unharmed.
4545 [c7616e988752]
4546
4547 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4548 source/encoder/search.cpp, source/encoder/search.h:
4549 analysis: move temp residual buffer into Search structure
4550
4551 It is only used by Search methods; the analysis functions do not
4552 need to be aware of it
4553 [d0d3188303b8]
4554
4555 * source/encoder/analysis.cpp, source/encoder/search.h:
4556 analysis: give each Mode a const pointer to its origYuv
4557
4558 This is for convenience, and to save in function parameter overhead
4559 [d1b3de579557]
4560
4561 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
4562 source/encoder/ratecontrol.cpp:
4563 Merge
4564 [7d67da2fc327]
4565
4566 2014-10-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4567
4568 * source/encoder/analysis.cpp, source/encoder/entropy.cpp:
4569 analysis: remove Inter Part_NxN analysis and encode. This condition
4570 will never be hit.
4571
4572 Also remove check for intra slice in compressInterCUrd5_6
4573 [67aefaf69a6b]
4574
4575 2014-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
4576
4577 * source/encoder/ratecontrol.cpp:
4578 rc: vbv fix for scene changes
4579
4580 Also, some spacing nits
4581 [d3ee2f362116]
4582
4583 2014-10-09 Steve Borho <steve@borho.org>
4584
4585 * source/encoder/analysis.cpp:
4586 analysis: parentCTU is now always a reference to the output picSym
4587 CTU
4588 [9b66c54258c2]
4589
4590 2014-10-08 Steve Borho <steve@borho.org>
4591
4592 * source/Lib/TLibCommon/TComDataCU.cpp,
4593 source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp,
4594 source/common/quant.h, source/encoder/analysis.cpp,
4595 source/encoder/analysis.h, source/encoder/frameencoder.cpp,
4596 source/encoder/rdcost.h, source/encoder/search.cpp,
4597 source/encoder/search.h:
4598 analysis: pass parentCTU as const reference
4599 [a12edeca1cb8]
4600
4601 2014-10-07 Steve Borho <steve@borho.org>
4602
4603 * source/Lib/TLibCommon/TComDataCU.cpp,
4604 source/Lib/TLibCommon/TComPattern.cpp, source/common/deblock.cpp,
4605 source/common/frame.cpp, source/common/frame.h,
4606 source/common/piclist.cpp, source/common/slice.cpp,
4607 source/common/slice.h, source/encoder/analysis.cpp,
4608 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
4609 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
4610 source/encoder/framefilter.cpp, source/encoder/predict.cpp,
4611 source/encoder/ratecontrol.cpp, source/encoder/sao.cpp,
4612 source/encoder/search.cpp, source/encoder/slicetype.cpp,
4613 source/encoder/weightPrediction.cpp:
4614 frame: remove trivial access methods, major cleanups
4615 [aa90924a8619]
4616
4617 * source/Lib/TLibCommon/TComDataCU.cpp,
4618 source/Lib/TLibCommon/TComDataCU.h,
4619 source/Lib/TLibCommon/TComPattern.cpp,
4620 source/Lib/TLibCommon/TComPicSym.cpp,
4621 source/Lib/TLibCommon/TComPicSym.h,
4622 source/Lib/TLibCommon/TComPicYuv.cpp,
4623 source/Lib/TLibCommon/TComPicYuv.h,
4624 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
4625 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
4626 source/common/CMakeLists.txt, source/common/deblock.cpp,
4627 source/common/frame.cpp, source/common/frame.h,
4628 source/common/lowres.cpp, source/common/lowres.h,
4629 source/common/picyuv.cpp, source/common/picyuv.h,
4630 source/common/quant.cpp, source/common/shortyuv.cpp,
4631 source/common/shortyuv.h, source/common/yuv.cpp,
4632 source/common/yuv.h, source/encoder/analysis.cpp,
4633 source/encoder/analysis.h, source/encoder/encoder.cpp,
4634 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
4635 source/encoder/framefilter.cpp, source/encoder/predict.cpp,
4636 source/encoder/predict.h, source/encoder/ratecontrol.cpp,
4637 source/encoder/ratecontrol.h, source/encoder/reference.cpp,
4638 source/encoder/reference.h, source/encoder/sao.cpp,
4639 source/encoder/sao.h, source/encoder/search.cpp,
4640 source/encoder/search.h, source/encoder/slicetype.cpp,
4641 source/encoder/weightPrediction.cpp:
4642 yuv: bring Yuv, PicYuv classes into common/
4643
4644 Standardized variable naming scheme
4645
4646 pixel *foo Yuv *fooYuv PicYuv *fooPic Frame *fooFrame
4647 [89c388e280e4]
4648
4649 * source/Lib/TLibCommon/TComDataCU.cpp,
4650 source/Lib/TLibCommon/TComDataCU.h,
4651 source/Lib/TLibCommon/TComPattern.cpp,
4652 source/Lib/TLibCommon/TComPattern.h,
4653 source/Lib/TLibCommon/TComYuv.h, source/common/scalinglist.cpp,
4654 source/common/scalinglist.h, source/common/slice.cpp,
4655 source/common/slice.h, source/encoder/analysis.cpp,
4656 source/encoder/analysis.h, source/encoder/encoder.cpp,
4657 source/encoder/entropy.cpp, source/encoder/entropy.h,
4658 source/encoder/frameencoder.cpp, source/encoder/predict.cpp,
4659 source/encoder/predict.h, source/encoder/sao.cpp,
4660 source/encoder/search.cpp, source/encoder/search.h:
4661 encoder: pass cu and cudata by const reference when they are not
4662 modified
4663
4664 This is the beginning round of a sweeping refactor to enforce some
4665 const discipline. The goal is to always pass objects as const
4666 references when a NULL pointer is never allowed and when the object
4667 is unharmed. un-const refs should be used when NULL is not allowed
4668 but the object is modified by the function.
4669
4670 As we add more and more parallelism, we need to enlist the
4671 compiler's help in figuring out which functions are safe to call
4672 without side-effects
4673 [639abb765708]
4674
4675 2014-10-06 Steve Borho <steve@borho.org>
4676
4677 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4678 source/encoder/search.h:
4679 search: pass mode to more methods, write directly to mode.contexts
4680
4681 rename RDContexts.temp to rqtTemp; only used RQT analysis now
4682
4683 There were a number of cut-paste bugs fixed by removing this extra
4684 step after calling encodeResAndCalcRdInterCU. Nearly half of them
4685 were wrong.
4686 [fc22f7534def]
4687
4688 2014-10-08 Steve Borho <steve@borho.org>
4689
4690 * source/Lib/TLibCommon/TComDataCU.cpp:
4691 cu: use memset to initialize
4692 [82ee45403840]
4693
4694 2014-10-06 Steve Borho <steve@borho.org>
4695
4696 * source/Lib/TLibCommon/TComDataCU.cpp,
4697 source/Lib/TLibCommon/TComDataCU.h,
4698 source/Lib/TLibCommon/TComMotionInfo.cpp,
4699 source/Lib/TLibCommon/TComMotionInfo.h,
4700 source/Lib/TLibCommon/TComPicSym.cpp,
4701 source/Lib/TLibCommon/TComPicSym.h, source/encoder/analysis.cpp,
4702 source/encoder/analysis.h:
4703 cu: break pool objects out of TComDataCU
4704 [90c59faddf95]
4705
4706 2014-10-08 Steve Borho <steve@borho.org>
4707
4708 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4709 analysis: revisit the minDepth logic, outputs much closer to
4710 original now
4711
4712 Bitrates are actually a bit lower than the old version, with
4713 slightly lower SSIM
4714 [be17e2daf0aa]
4715
4716 2014-10-06 Steve Borho <steve@borho.org>
4717
4718 * source/Lib/TLibCommon/TComDataCU.cpp,
4719 source/Lib/TLibCommon/TComDataCU.h:
4720 cu: remove m_ prefix from tqBypassYuvMemBlock
4721 [36270e784afa]
4722
4723 * source/encoder/analysis.cpp:
4724 analysis: use md auto-var in parallelAnalysisJob()
4725 [561fd92417f0]
4726
4727 2014-10-08 Steve Borho <steve@borho.org>
4728
4729 * source/encoder/analysis.cpp:
4730 analysis: use correct 'nextContext' from split iterations for split
4731 prediction
4732 [affb40a174da]
4733
4734 * source/encoder/analysis.cpp:
4735 analysis: fixes for recursion from Min Chen
4736
4737 When a part is not present, we must call
4738 splitCU->copyPartFrom(splitCU, ... just to setup the appropriate
4739 depth fields in splitCU, which is horrid but it works for now. This
4740 hack fixes DQP behavior.
4741
4742 The rest of the changes ensure we always pass a valid CABAC context
4743 to the next coded CU (important in the presence of uncoded blocks on
4744 the edges)
4745
4746 With these fixes, I slices match the behavior of the previous
4747 design.
4748 [ce64a6330c5f]
4749
4750 * source/encoder/predict.cpp, source/encoder/predict.h:
4751 pred: rename Prediction::m_slice to Prediction::m_predSlice
4752
4753 to avoid conflict with Analysis::m_slice
4754 [b26d0774e682]
4755
4756 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4757 analysis: pass partUnitIdx to intra functions for initSubCU
4758 [4b888ab917a3]
4759
4760 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4761 source/encoder/frameencoder.cpp:
4762 analysis: remove m_log member variable; an auto-var is sufficient
4763 [400fa7c74b6b]
4764
4765 * source/encoder/analysis.cpp:
4766 analysis: implement bidir MVP refine for --pme
4767
4768 This was the last deliberate difference in output between --pme and
4769 --no-pme
4770 [2876b18af448]
4771
4772 * source/encoder/analysis.cpp:
4773 analysis: handle situation in compressInterCU_rd0_4() where only
4774 split is tried
4775 [9b0eda20ac43]
4776
4777 * source/encoder/analysis.cpp:
4778 analysis: bring compressInterCU_rd5_6() up to date
4779 [5fffec35339e]
4780
4781 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4782 analysis: update split logic in compressInterCU_rd0_4(), simplify
4783 [c2d4a2a72ae1]
4784
4785 2014-10-07 Steve Borho <steve@borho.org>
4786
4787 * source/encoder/analysis.cpp:
4788 analysis: continue to optimize split logic
4789 [677cdc979e6d]
4790
4791 * source/Lib/TLibCommon/TComDataCU.cpp,
4792 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
4793 source/encoder/analysis.h:
4794 analysis: pass depth via cuData, add support for split CU in
4795 checkDQP
4796 [7657c461a1b1]
4797
4798 * source/encoder/entropy.cpp:
4799 nit
4800 [cdab6a9393b1]
4801
4802 2014-10-06 Steve Borho <steve@borho.org>
4803
4804 * source/Lib/TLibCommon/TComDataCU.cpp,
4805 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
4806 cu: don't pass cuData to copyPartFrom(), it only needs numPartitions
4807
4808 This change came from Min
4809 [46c7f7f15226]
4810
4811 * source/Lib/TLibCommon/TComDataCU.cpp:
4812 cu: nits
4813 [7eb3ef2e19bc]
4814
4815 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4816 analysis: add obviously missing logic
4817 [790d3127dd85]
4818
4819 * source/encoder/analysis.cpp:
4820 analysis: remove best mode logic from checkMerge2Nx2N_rd0_4()
4821
4822 It is always done by the caller based on rd level
4823 [ef3e21a93f3b]
4824
4825 2014-10-06 gopi jayaraman <gopi@multicorewareinc.com>
4826
4827 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4828 source/encoder/search.h:
4829 search: bring mode structure from analysis for intra functions
4830 [47edb2892258]
4831
4832 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4833 source/encoder/search.cpp, source/encoder/search.h:
4834 search: bring mode structure from analysis
4835 [96fcb12ba04f]
4836
4837 2014-10-04 Steve Borho <steve@borho.org>
4838
4839 * source/encoder/analysis.cpp, source/encoder/analysis.h,
4840 source/encoder/search.cpp, source/encoder/search.h:
4841 analysis: major refactor of analysis data structures; prep for
4842 --pmode --rd 5
4843 [2d0d40208a59]
4844
4845 2014-10-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4846
4847 * source/common/pixel.cpp, source/encoder/rdcost.h:
4848 pixel: resolve build errors at high bit depth
4849 [b7eeae24aae6]
4850
4851 * source/encoder/search.cpp, source/encoder/search.h:
4852 psy-rd: modify psy-rd cost decisions in search::xEstimateResidualQT
4853
4854 This function looks to minimizing rate/distortion in the "residual".
4855 Rate is bits taken to encode residual, and distortion is
4856 ssd(original residual, reconstructed residual). It is wrong to
4857 calculate psyCost with psy-energy = E(src, recon) here. psyCost is
4858 now modified as E(orig residual, recon residual).
4859 [d8f1f982eeb7]
4860
4861 * source/common/pixel.cpp, source/common/primitives.h,
4862 source/encoder/rdcost.h:
4863 primitives: add support for 16-bit psyCost calculations
4864 [20946a10c348]
4865
4866 2014-10-15 Steve Borho <steve@borho.org>
4867
4868 * source/encoder/encoder.cpp:
4869 encoder: ensure nr pointer is initialized
4870 [79702581ec82]
4871
4872 * source/encoder/analysis.h, source/encoder/encoder.cpp,
4873 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
4874 nr nits
4875 [7127239d9404]
4876
4877 2014-10-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4878
4879 * source/encoder/search.cpp, source/encoder/search.h:
4880 search: rename intra functions that generate recon
4881
4882 Remove wrong comments
4883 [56a04b7c1af0]
4884
4885 2014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4886
4887 * source/common/common.h, source/common/frame.cpp,
4888 source/common/frame.h, source/common/quant.cpp,
4889 source/encoder/analysis.cpp, source/encoder/analysis.h,
4890 source/encoder/encoder.cpp, source/encoder/encoder.h,
4891 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
4892 noiseReduction: make noiseReduction deterministic for a given number
4893 of frameEncoders.
4894 [f8e0aae88dc8]
4895
4896 2014-10-13 Murugan Vairavel <murugan@multicorewareinc.com>
4897
4898 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
4899 util.h, source/common/x86/pixel-util8.asm:
4900 asm: avx2 assembly code for 8bpp version of transpose(8, 16, 32 and
4901 64)
4902 [02ff8eaad632]
4903
4904 2014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4905
4906 * source/Lib/TLibCommon/TComRom.h, source/common/common.h,
4907 source/encoder/frameencoder.cpp:
4908 noiseReduction: replace magic values with readable names
4909 [38b5733cc629]
4910
4911 2014-10-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4912
4913 * source/Lib/TLibCommon/TComDataCU.cpp,
4914 source/Lib/TLibCommon/TComDataCU.h,
4915 source/Lib/TLibCommon/TComPicSym.cpp, source/encoder/analysis.cpp:
4916 TComDataCU: remove redundant arguments
4917 [f26e81eb555a]
4918
4919 * source/Lib/TLibCommon/TComDataCU.cpp,
4920 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
4921 source/encoder/analysis.h, source/encoder/sao.cpp:
4922 cu-lossless: remove redundant lossless buffer
4923
4924 The pixel values in lossless mode can be obtained from the original
4925 yuv buffer itself.
4926 [e7682fc6e2aa]
4927
4928 2014-10-10 Satoshi Nakagawa <nakagawa424@oki.com>
4929
4930 * doc/reST/cli.rst, source/common/slice.h, source/encoder/entropy.cpp,
4931 source/encoder/level.cpp:
4932 ptl: RExt profiles
4933 [57a30b1c13ea]
4934
4935 2014-10-09 Satoshi Nakagawa <nakagawa424@oki.com>
4936
4937 * source/common/common.h, source/encoder/entropy.cpp,
4938 source/encoder/entropy.h, source/encoder/sao.cpp,
4939 source/encoder/sao.h:
4940 sao: refine, fix sao-non-deblock [CHANGES OUTPUT (RExt, sao-non-
4941 deblock)]
4942 [1e8ba81a5ee3]
4943
4944 2014-10-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4945
4946 * source/encoder/analysis.cpp:
4947 Backed out changeset: f231820645fe
4948 [4495af3b30bb]
4949
4950 * source/encoder/analysis.cpp, source/encoder/entropy.cpp:
4951 analysis: remove Inter Part_NxN analysis and encode. This condition
4952 will never be hit.
4953
4954 Also remove check for intra slice in compressInterCUrd5_6
4955 [c880eced4a30]
4956
4957 2014-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
4958
4959 * source/encoder/ratecontrol.cpp:
4960 rc: vbv fix for scene changes
4961
4962 Also, some spacing nits
4963 [96609efaa877]
4964
4965 2014-10-08 Steve Borho <steve@borho.org>
4966
4967 * doc/reST/cli.rst, doc/reST/threading.rst:
4968 docs: try to explain behavior of related thread pool options
4969 [4b6a71d53f83]
4970
4971 2014-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
4972
4973 * source/encoder/analysis.cpp:
4974 analysis: fix for csp:444 decoder crash - CABAC context state
4975 handling
4976 [f231820645fe]
4977
4978 2014-10-08 Steve Borho <steve@borho.org>
4979
4980 * source/common/param.cpp:
4981 param: combine CTU size and RQT depth log lines (just saves space)
4982 [0a18adcecd7d]
4983
4984 * source/common/param.cpp, source/common/threadpool.cpp,
4985 source/encoder/api.cpp, source/encoder/encoder.cpp:
4986 encoder: move thread pool initialization to create(), handle pool
4987 options better
4988
4989 Previously WPP essentially owned the thread pool and the two
4990 configurations were tied together (disabling WPP disabled the thread
4991 pool and vice-versa). Now we have three features which use the
4992 thread pool and they can be enabled or disabled independently of
4993 WPP.
4994
4995 After this commit, if all the pool features (WPP, PMODE, PME) are
4996 disabled then the thread pool is not created. If --threads 1 is
4997 specified, then no pool is created. When no pool is present, all
4998 pool options are disabled.
4999
5000 Reporting for all the pool options has been moved into the one log
5001 line: x265 [info]: WPP streams / frame threads / pool : 8 / 2 / 4 /
5002 pme / pmode
5003
5004 They didn't really belong on the 'tools' log line since they are not
5005 coding tools like SAO or AMP.
5006
5007 This commit also fixes CTU stats logging in the absence of WPP
5008 [0a0f686606c9]
5009
5010 * source/common/wavefront.cpp, source/encoder/frameencoder.cpp:
5011 frameencoder: fix handling of no thread pool being present
5012
5013 The encoder should run properly without a thread pool instance
5014 [35f422e7e1a1]
5015
5016 2014-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
5017
5018 * source/encoder/frameencoder.cpp:
5019 frameencoder: allocate memory for SEIPictureTiming when
5020 interlaceMode is enabled
5021 [52677ba0c694]
5022
5023 2014-10-06 Steve Borho <steve@borho.org>
5024
5025 * source/encoder/analysis.cpp, source/encoder/predict.cpp,
5026 source/encoder/predict.h, source/encoder/search.cpp,
5027 source/encoder/search.h:
5028 analysis: make CU object used in --pme a const object
5029 [46c4b98d92ec]
5030
5031 2014-10-07 Steve Borho <steve@borho.org>
5032
5033 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
5034 encoder: fix handling of --no-wpp and either --pmode or --pme
5035
5036 in --no-wpp mode, we need to allocate TLD for workers and frame
5037 encoders
5038 [f40aff61e42c]
5039
5040 2014-10-06 Steve Borho <steve@borho.org>
5041
5042 * doc/reST/cli.rst:
5043 doc: make it clear fast cbf only affects rdlevel 5 and 6
5044 [2c65d39c989e]
5045
5046 2014-10-05 Aarthi Thirumalai <Aarthi Thirumalai>
5047
5048 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
5049 rc: use a sliding window to calculate moving avg SatdCost for ABR
5050 Reset logic
5051
5052 contains improvements for detection of scene changes within Rate
5053 Control to stabilize qp and prevent extreme spikes in bitrate.
5054 Removes the blockiness or distortions in the frames that a streak of
5055 low-detailed frames and prevents vbv from overreacting at the points
5056 of scene cuts.
5057 [4b7c473c3ef4]
5058
5059 2014-10-05 Steve Borho <steve@borho.org>
5060
5061 * source/Lib/TLibCommon/TComDataCU.h:
5062 cu: nits
5063 [dad10cdb3573]
5064
5065 * source/Lib/TLibCommon/TComDataCU.cpp,
5066 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
5067 source/encoder/search.cpp:
5068 cu: drop m_totalPsyCost, just use m_totalRDCost whether or not psy
5069 is enabled
5070 [d33bc21e3bae]
5071
5072 * source/encoder/analysis.cpp:
5073 analysis: fix CABAC context state handling after splits [CHANGES
5074 OUTPUTS]
5075
5076 In RDlevel<=4, if split is chosen then copy depth+1 next to depth
5077 next
5078
5079 This fixes a long standing bug in presets slow and above, and
5080 improves compression efficiency.
5081 [d07fbd3bdecc]
5082
5083 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
5084 source/encoder/entropy.h, source/encoder/search.cpp,
5085 source/encoder/search.h:
5086 entropy: add a mechanism to detect reads without writes in checked
5087 builds
5088 [ead3d26c7747]
5089
5090 * source/Lib/TLibCommon/TypeDef.h, source/encoder/analysis.cpp,
5091 source/encoder/analysis.h, source/encoder/frameencoder.cpp,
5092 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
5093 source/encoder/sao.cpp, source/encoder/sao.h,
5094 source/encoder/search.cpp, source/encoder/search.h:
5095 entropy: give each Search instance its own set of RD contexts
5096
5097 This gives each ThreadLocalData a complete set of working contexts
5098 so each thread can measure RD cost (for the same row) independent of
5099 one other. There were content problems with the 'temp' and 'rqtRoot'
5100 and 'rqtTest' contexts.
5101
5102 For this to work we have to sync the 'cur' context to the slave
5103 prior to it performing any RD measurements.
5104
5105 This commit finally removes the CI_IDX enums and uses a simple
5106 struct to hold the contexts per depth; and the member variables were
5107 renamed from "m_rdEntropyCoders" to "m_rdContexts" since these
5108 coders are only ever used to save and restore CABAC state (never to
5109 code with)
5110
5111 This change exposed a bug. The next patch adds some tools to catch
5112 this class of bug and the patch after that fixes it.
5113 [5420f2a29522]
5114
5115 * source/common/threadpool.cpp:
5116 threadpool: nit
5117 [ed5b9320afca]
5118
5119 * source/common/threading.cpp:
5120 threading: nits
5121 [1867fb89298c]
5122
5123 * source/CMakeLists.txt:
5124 cmake: nit
5125 [fc856c00d49b]
5126
5127 * source/encoder/entropy.cpp, source/encoder/entropy.h:
5128 entropy: make copy methods properly const
5129 [997b210ab94a]
5130
5131 * source/CMakeLists.txt:
5132 cmake: bump X265_BUILD for new parallelism params
5133 [3c0b9a637349]
5134
5135 2014-10-04 Steve Borho <steve@borho.org>
5136
5137 * source/encoder/encoder.cpp:
5138 encoder: prevent broken combinations of options
5139
5140 with --no-wpp; something in the slave state is not being initialized
5141 correctly causing crashes in motion estimation
5142 [f312deb51d55]
5143
5144 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5145 analysis: encodeIntraInInter() must write directly to given cabac
5146 context
5147
5148 writing to m_rdEntropyCoders[depth][CI_TEMP_BEST] was not thread
5149 save since the slave thread is using the same m_rdEntropyCoders
5150 objects as the master thread
5151 [45ef431c1490]
5152
5153 2014-10-03 Steve Borho <steve@borho.org>
5154
5155 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5156 analysis: use enums to enumerate prediction buffers
5157
5158 value 4 was never used, so this reduces the buffer count by one
5159 [c61dca79ea0f]
5160
5161 * source/encoder/analysis.cpp:
5162 analysis: add a hack to try and match --pmode with --no-pmode
5163 [39e5b26733b8]
5164
5165 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5166 analysis: cleanups
5167 [9872cc99362e]
5168
5169 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5170 analysis: measure best pmode intra RD cost in worker thread
5171
5172 it required adding storage for the best intra recon and entropy
5173 state includes prep work for supporting --pmode with --rdlevel > 4
5174 [51f689bede6a]
5175
5176 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5177 analysis: do not pass member vars to checkMerge2Nx2N_rd0_4 as
5178 pointer references
5179 [5e4aa3b6d136]
5180
5181 * source/common/param.cpp:
5182 param: show when pmode and pme are enabled
5183 [5849804cd0c3]
5184
5185 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5186 analysis: remove default argument for compressInterCU_rd5_6
5187 [2351a963a676]
5188
5189 * source/Lib/TLibCommon/TComDataCU.cpp,
5190 source/Lib/TLibCommon/TComDataCU.h,
5191 source/Lib/TLibCommon/TComPattern.cpp,
5192 source/Lib/TLibCommon/TComYuv.h, source/common/deblock.cpp,
5193 source/common/quant.cpp, source/common/quant.h,
5194 source/common/shortyuv.h, source/encoder/analysis.cpp,
5195 source/encoder/entropy.cpp, source/encoder/predict.cpp,
5196 source/encoder/sao.cpp, source/encoder/search.cpp:
5197 TComDataCU: make most get methods const, remove some trivial access
5198 methods
5199 [2e6163426c95]
5200
5201 * source/encoder/analysis.cpp:
5202 analysis: use slave instance for MVP eval for --pme
5203
5204 this avoids a race hazard with Predict::m_immedVals
5205 [15dff1469408]
5206
5207 * source/encoder/analysis.cpp:
5208 analysis: replace prepMotionCompensation() calls in
5209 parallelInterSearch()
5210 [71de0b881801]
5211
5212 * source/encoder/analysis.cpp:
5213 analysis: --pme workers do not need m_origYuv in slave instance
5214 [a6b9e8e235d7]
5215
5216 * source/encoder/analysis.cpp:
5217 analysis: cleanup variable names
5218 [ec0cb8779f84]
5219
5220 2014-10-02 Steve Borho <steve@borho.org>
5221
5222 * source/encoder/analysis.cpp:
5223 analysis: prevent race hazard in parallel ME state variables
5224
5225 the inserted comment should explain the risk, which manifested in a
5226 deadlock
5227 [70c5681f56b9]
5228
5229 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5230 analysis: parallel ME can get partsize and depth from ME CU
5231 [cf722336b836]
5232
5233 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5234 analysis: support --pme for all rd levels
5235 [dd2acbbd545c]
5236
5237 * source/common/param.cpp, source/encoder/analysis.cpp,
5238 source/x265.cpp, source/x265.h:
5239 api: add --pme to enable parallel motion estimation
5240 [bc99dfbed4b7]
5241
5242 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5243 analysis: further parallelME progress
5244 [4cdc0528e0aa]
5245
5246 2014-10-01 Steve Borho <steve@borho.org>
5247
5248 * source/common/param.cpp, source/encoder/analysis.cpp,
5249 source/x265.cpp, source/x265.h:
5250 api: add --pmode to enable parallel mode decision
5251 [57f93ba0df23]
5252
5253 2014-10-02 Steve Borho <steve@borho.org>
5254
5255 * source/encoder/encoder.cpp:
5256 encoder: correct logging of number of WPP streams
5257 [b6d49505b179]
5258
5259 * source/encoder/search.cpp:
5260 search: remove redundant calls to prepMotionCompensation()
5261 [50490cd35e57]
5262
5263 * source/encoder/search.cpp:
5264 search: use sad cost directly to pick MVP
5265
5266 there's no point in use SAD RD cost if all the candidates have the
5267 same estimated bit cost.
5268 [bd6e2cdd5938]
5269
5270 * source/encoder/rdcost.h, source/encoder/search.cpp,
5271 source/encoder/search.h:
5272 search: make some helper methods const
5273 [b17293bb0f19]
5274
5275 2014-10-01 Steve Borho <steve@borho.org>
5276
5277 * source/encoder/analysis.cpp:
5278 analysis: remove unused variables, fixes warnings
5279 [898a2546aff1]
5280
5281 2014-10-02 Aarthi Thirumalai <Aarthi Thirumalai>
5282
5283 * source/encoder/ratecontrol.cpp:
5284 rc: correct the threshold for resetABR function
5285 [0212e9832ce7]
5286
5287 * source/encoder/ratecontrol.cpp:
5288 rc : correct max AU size for first frame
5289 [4579fc590099]
5290
5291 2014-10-02 Satoshi Nakagawa <nakagawa424@oki.com>
5292
5293 * source/Lib/TLibCommon/TComDataCU.cpp,
5294 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
5295 source/encoder/analysis.h, source/encoder/entropy.cpp,
5296 source/encoder/entropy.h:
5297 fix bug in 73c6c9086577 for rdLevel=0
5298 [b57c63127527]
5299
5300 2014-10-01 Steve Borho <steve@borho.org>
5301
5302 * source/encoder/analysis.cpp:
5303 analysis: further work on parallel ME
5304 [c0bbd8d01257]
5305
5306 * source/encoder/analysis.cpp:
5307 analysis: nit, remove obviously wrong comment
5308 [bd3046c4bb36]
5309
5310 * source/encoder/analysis.cpp:
5311 analysis: use source buffer for source stride
5312
5313 it was always a coincidence that the output stride matched
5314 [61e028b5a04e]
5315
5316 * source/encoder/analysis.cpp:
5317 analysis: initialize job counters
5318 [7daea9e6c5ae]
5319
5320 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5321 analysis: remove bMergeOnly argument to checkInter_rd0_4, always
5322 false
5323 [589d4d7e5a72]
5324
5325 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5326 analysis: remove PartSize argument to checkIntraInInter_rd0_4
5327 [0c6fe4a39a32]
5328
5329 2014-10-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5330
5331 * source/encoder/ratecontrol.cpp:
5332 ratecontrol: fix float absolute check
5333 [2a55baeb89cf]
5334
5335 * source/encoder/ratecontrol.cpp:
5336 ratecontrol: replace an imprecise comparison with a more precise
5337 check to ensure consistency.
5338 [f9922ce58a20]
5339
5340 * source/common/slice.h:
5341 slice: better structure packing
5342 [d0fa09e9cca5]
5343
5344 2014-09-30 Steve Borho <steve@borho.org>
5345
5346 * source/encoder/analysis.cpp:
5347 analysis: fixup
5348 [3bd852b225b5]
5349
5350 * source/encoder/analysis.cpp:
5351 analysis: move non-distributed path into else clause
5352
5353 this is done in a second patch since it touches a lot of code
5354 trivially so it
5355 [b17ddb5d71f4]
5356
5357 2014-09-27 Steve Borho <steve@borho.org>
5358
5359 * source/encoder/analysis.cpp, source/encoder/analysis.h,
5360 source/encoder/encoder.cpp, source/encoder/frameencoder.h:
5361 stub in framework for parallel mode analysis and parallel ME
5362 [5c1a4804c42d]
5363
5364 2014-09-30 Steve Borho <steve@borho.org>
5365
5366 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5367 analysis: remove default arguments to checkInter_rd5_6 and
5368 checkInter_rd0_4
5369 [4d9ff684c80f]
5370
5371 * source/x265.cpp:
5372 cli: display param->bSaoNonDeblocked as bool in CLI help
5373 [1af64c8c2d28]
5374
5375 * source/encoder/analysis.cpp:
5376 analysis: nit
5377 [a4859c266a59]
5378
5379 * source/Lib/TLibCommon/TComDataCU.cpp,
5380 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
5381 source/common/loopfilter.cpp, source/common/primitives.h,
5382 source/encoder/analysis.h, source/encoder/sao.cpp:
5383 replace lcu with ctu in variable names
5384 [ab92196f8b7b]
5385
5386 * source/Lib/TLibCommon/TComDataCU.cpp,
5387 source/Lib/TLibCommon/TComRom.h, source/encoder/entropy.cpp,
5388 source/encoder/frameencoder.cpp, source/encoder/sao.h:
5389 replace LCU with CTU globally in comments
5390 [382384729d60]
5391
5392 * source/encoder/sao.h:
5393 sao: nits
5394 [8b89e74d848d]
5395
5396 * source/encoder/sao.cpp, source/encoder/sao.h:
5397 sao: rename resetLcuPart to resetCtuPart
5398 [f2b5e4d8da59]
5399
5400 * source/common/common.h, source/encoder/frameencoder.cpp,
5401 source/encoder/framefilter.cpp, source/encoder/sao.cpp:
5402 sao: rename saoLcuParam to ctuParam
5403 [ca1e3afddc4f]
5404
5405 * source/common/common.h, source/encoder/entropy.cpp,
5406 source/encoder/entropy.h, source/encoder/sao.cpp,
5407 source/encoder/sao.h:
5408 sao: rename SaoLcuParam to SaoCtuParam
5409 [7692ab2a28d3]
5410
5411 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/common.h,
5412 source/common/param.cpp, source/encoder/frameencoder.cpp,
5413 source/encoder/sao.cpp, source/x265.cpp, source/x265.h:
5414 api: rename --sao-lcu-bounds to --sao-non-deblock
5415
5416 The acronym LCU doesn't appear anywhere else in our param interface
5417 [5a06c0462363]
5418
5419 * source/encoder/search.cpp, source/encoder/search.h:
5420 search: make bidir temp YUVs Search members
5421
5422 I can't believe we've been allocing them every predInterSearch()
5423 call for the last 2 months.
5424 [2486149ff9de]
5425
5426 * source/Lib/TLibCommon/TComDataCU.cpp,
5427 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
5428 source/encoder/entropy.cpp:
5429 datacu: coding style rename of m_DataCUMemPool and m_CULocalData
5430 [832ad99093a0]
5431
5432 * source/Lib/TLibCommon/TComMotionInfo.cpp,
5433 source/Lib/TLibCommon/TComMotionInfo.h:
5434 motioninfo: coding style rename of m_MVFieldMemPool
5435 [ec91821451f3]
5436
5437 * source/common/common.h:
5438 common: break into debugger when check fails in debug build
5439 [a5103ad3df8b]
5440
5441 * source/Lib/TLibCommon/TComDataCU.cpp:
5442 TComData: do not leave m_tqBypassOrigYuv uninitialized
5443 [a360de22f48b]
5444
5445 2014-09-30 Murugan Vairavel <murugan@multicorewareinc.com>
5446
5447 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
5448 source/common/x86/dct8.h:
5449 asm: avx2 assembly code for idct4x4
5450 [49aaafeb707a]
5451
5452 2014-09-30 Praveen Tiwari <Praveen Tiwari>
5453
5454 * source/common/x86/asm-primitives.cpp,
5455 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5456 blockfill_s_32x32 avx2 asm code: performance improved from 1354.05
5457 cycles to 705.81 cycles, over sse version of asm code
5458 [154aa8bfe042]
5459
5460 * source/common/x86/asm-primitives.cpp,
5461 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5462 blockfill_s_16x16 avx2 asm code: performance improved from 389.21
5463 cycles to 204.38 cycles, over sse version of asm code
5464 [8be59e140210]
5465
5466 2014-09-29 Aarthi Thirumalai <Aarthi Thirumalai>
5467
5468 * source/common/slice.h, source/encoder/level.cpp,
5469 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
5470 rc: apply maxAU size restrictions while encoding each frame
5471 [8740d938dbb7]
5472
5473 2014-09-30 Santhoshini Sekar <santhoshini@multicorewareinc.com>
5474
5475 * source/Lib/TLibCommon/TComDataCU.cpp,
5476 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
5477 source/encoder/search.cpp, source/encoder/search.h:
5478 TComDataCU: replace getTotalNumPart() with CU structure details
5479 [1706e30042ef]
5480
5481 * source/Lib/TLibCommon/TComDataCU.cpp,
5482 source/Lib/TLibCommon/TComDataCU.h,
5483 source/Lib/TLibCommon/TComPattern.cpp,
5484 source/Lib/TLibCommon/TComPattern.h, source/encoder/analysis.cpp,
5485 source/encoder/analysis.h, source/encoder/predict.cpp,
5486 source/encoder/predict.h, source/encoder/search.cpp,
5487 source/encoder/search.h:
5488 TComDataCU: replace getZorderIdxInCU() with encodeIdx of CU
5489 structure
5490 [73c6c9086577]
5491
5492 2014-09-30 Steve Borho <steve@borho.org>
5493
5494 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
5495 source/encoder/rdcost.h, source/encoder/search.cpp,
5496 source/encoder/search.h:
5497 rd: move lambda and analysis qp init to rdcost.h
5498
5499 This will make it possible for Search instances to copy QP data
5500 between each other
5501 [a40ff330a525]
5502
5503 2014-09-30 Satoshi Nakagawa <nakagawa424@oki.com>
5504
5505 * doc/reST/cli.rst, doc/reST/threading.rst, source/common/common.h,
5506 source/common/param.cpp, source/encoder/encoder.cpp,
5507 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
5508 source/encoder/sao.cpp, source/encoder/sao.h, source/x265.cpp,
5509 source/x265.h:
5510 sao: remove frame-based SAO
5511 [28db2410d5de]
5512
5513 2014-09-29 Steve Borho <steve@borho.org>
5514
5515 * source/Lib/TLibCommon/TComMotionInfo.h:
5516 TComMvField: class to struct, white-space cleanups
5517 [5a6845566d14]
5518
5519 2014-09-25 Steve Borho <steve@borho.org>
5520
5521 * source/encoder/search.cpp:
5522 search: reorder nits, no effect
5523
5524 do allocations after simple configurations
5525 [0c4e39a2965b]
5526
5527 * source/common/quant.cpp, source/common/quant.h,
5528 source/encoder/search.cpp:
5529 quant: pass entropy instance through init function
5530 [a8fca9f05102]
5531
5532 * source/encoder/search.cpp:
5533 search: white-space nits
5534 [991527f1a9c6]
5535
5536 * source/encoder/analysis.cpp, source/encoder/frameencoder.cpp,
5537 source/encoder/frameencoder.h, source/encoder/search.cpp,
5538 source/encoder/search.h:
5539 search: give each Search instance an Entropy encoder (no output
5540 changes)
5541
5542 This essentially relocates the "active" entropy coder used during
5543 all analysis from CTURow to ThreadLocalData. This actually reduces
5544 the number of Entropy instances in the encoder, and solves the
5545 problem of sharing the entropy coder between worker threads
5546 cooperating on the same CTU.
5547 [a4d27e19ed09]
5548
5549 2014-09-26 David T Yuen <dtyx265@gmail.com>
5550
5551 * source/Lib/TLibCommon/TComDataCU.cpp,
5552 source/Lib/TLibCommon/TComDataCU.h,
5553 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
5554 source/encoder/analysis.cpp, source/encoder/analysis.h,
5555 source/encoder/frameencoder.cpp:
5556 Changes for loadCTUData
5557
5558 Replaced getDepthScanIdx() with table g_depthScanIdx Moved
5559 Analysis::loadCTUData to TComDataCU::loadCTUData since it only works
5560 with TComDataCU fields Replaced CU.offsets[2] with local variables
5561 in loadCTUData since that is the only place it was set and used
5562 minor changes to reduce the number of local variables in loadCTUData
5563 [0d0558b82a9c]
5564
5565 2014-09-26 Steve Borho <steve@borho.org>
5566
5567 * source/encoder/analysis.cpp, source/encoder/encoder.cpp:
5568 nits
5569 [32f50df7fa76]
5570
5571 2014-09-26 Murugan Vairavel <murugan@multicorewareinc.com>
5572
5573 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
5574 source/common/x86/dct8.h:
5575 asm: avx2 assembly code for idct32x32
5576 [4b18a27b52ac]
5577
5578 2014-09-25 David T Yuen <dtyx265@gmail.com>
5579
5580 * source/encoder/frameencoder.cpp:
5581 Removed unnecessary call to loadCTUData
5582 [8119b3d8d260]
5583
5584 2014-09-25 Steve Borho <steve@borho.org>
5585
5586 * source/encoder/analysis.cpp:
5587 analysis: more style nits, code simplifications. no behavior change
5588 [bd0e23d7d394]
5589
5590 * source/encoder/analysis.cpp:
5591 analysis: remove #define conditionals for control flow
5592
5593 The non-default paths are not being tested (or even compiled) and
5594 are thus assumed broken. The defines simply make the code harder to
5595 read.
5596 [f5f7c23fedd6]
5597
5598 * source/encoder/analysis.cpp:
5599 analysis: coding style and comment nits
5600 [e6cc918fb18e]
5601
5602 * source/encoder/analysis.cpp:
5603 analysis: remove unused LAMBDA_PARTITION_SELECT
5604 [391282b02731]
5605
5606 * source/encoder/analysis.cpp:
5607 analysis: hoist local function into anonymous namespace (file local)
5608 [d26780e43a87]
5609
5610 2014-09-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
5611
5612 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
5613 source/common/x86/dct8.h:
5614 asm: avx2 assembly code for idct8x8
5615 [8492a3250fef]
5616
5617 2014-09-25 Santhoshini Sekar <santhoshini@multicorewareinc.com>
5618
5619 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/deblock.cpp,
5620 source/common/frame.h, source/common/slice.cpp,
5621 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
5622 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
5623 source/encoder/sao.cpp, source/encoder/search.cpp:
5624 remove getNumPartInCU() and replace it with macro
5625 [37f33ab176fa]
5626
5627 2014-09-26 Satoshi Nakagawa <nakagawa424@oki.com>
5628
5629 * source/Lib/TLibCommon/TComPicYuv.h,
5630 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
5631 source/common/deblock.cpp, source/common/deblock.h,
5632 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
5633 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
5634 refine deblocking filter
5635 [b47d794a0372]
5636
5637 2014-09-24 Steve Borho <steve@borho.org>
5638
5639 * source/common/slice.h, source/encoder/predict.cpp,
5640 source/encoder/predict.h:
5641 predict: split weighted prediction values from WeightParam
5642
5643 The arguments passed to addWeightBi() and addWeightUni() are just
5644 the "w, o, offset, shift, round" integers. They don't need the
5645 fields which were signaled in the slice header or vice-versa.
5646 [7dccbbed0349]
5647
5648 * source/encoder/predict.cpp, source/encoder/predict.h,
5649 source/encoder/search.cpp:
5650 predict: combine and check allocations and return failures
5651 [982040e91112]
5652
5653 * source/encoder/predict.cpp, source/encoder/predict.h,
5654 source/encoder/search.cpp:
5655 predict: remove check for reallocations, comment nits
5656
5657 we don't do this anywhere else; there would be huge leaks if the
5658 Search object were initialized multiple times. there's no reason to
5659 check here.
5660 [7c88fb6128cf]
5661
5662 * source/encoder/analysis.cpp, source/encoder/predict.cpp,
5663 source/encoder/predict.h, source/encoder/search.cpp:
5664 predict: inline predInterUni(), getWpScaling() and simplify
5665 motionCompensation()
5666
5667 After this refactor, motionCompensation no longer needs the cu
5668 parameter. It was only used to pass to another member function to
5669 gain access to cu->m_slice which is now a member variable.
5670
5671 This refactor removed a number of arguments to addWeightBi and
5672 addWeightUni which were always member variables.
5673 [a961728f906c]
5674
5675 * source/encoder/predict.cpp, source/encoder/predict.h:
5676 predict: inline single call of predInterBi()
5677 [b6c9a51d9201]
5678
5679 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
5680 source/encoder/frameencoder.h:
5681 encoder: rename cuCoder to analysis for better clarity
5682
5683 the data type of cuCoder changed from TEncCu to Analysis weeks ago
5684 [a3f952bcada5]
5685
5686 2014-09-25 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5687
5688 * source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
5689 source/common/deblock.h:
5690 Backed out changeset: 940cec3bf0b4
5691
5692 This commit causes hash mismatches in vc11 x86_64 Release mode
5693 consistently, when lft is enabled. Stack/heap corruption likely.
5694 [0d330611fa97]
5695
5696 2014-09-24 Steve Borho <steve@borho.org>
5697
5698 * source/common/vec/dct-sse3.cpp:
5699 Backed out changeset: eb011fa1d2d8
5700 [e47e127da779]
5701
5702 2014-09-24 David T Yuen <dtyx265@gmail.com>
5703
5704 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
5705 source/encoder/frameencoder.h:
5706 Changed FrameEncoder::m_tld to a pointer and set it to one of
5707 Encoder's ThreadLocalData instances.
5708
5709 This uses less memory since m_tld isn't used in --wpp and Encoder's
5710 ThreadLocalData instances are not used in --no-wpp Also there was a
5711 small performance increase on my system
5712 [3e1bfb2e4592]
5713
5714 2014-09-24 Steve Borho <steve@borho.org>
5715
5716 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-ssse3.cpp:
5717 vec: make a note for why we keep some of the remaining vector
5718 routines
5719 [f6a0b0a97a5b]
5720
5721 * source/common/vec/dct-sse3.cpp:
5722 vec: remove idct8, we have SSSE3 assembly for it
5723 [eb011fa1d2d8]
5724
5725 * source/common/CMakeLists.txt, source/common/vec/blockcopy-sse3.cpp,
5726 source/common/vec/vec-primitives.cpp:
5727 cmake: remove blockcopy-sse3.cpp
5728 [c79590d89389]
5729
5730 * source/common/pixel.cpp, source/common/primitives.h,
5731 source/test/pixelharness.cpp, source/test/pixelharness.h:
5732 primitives: remove unused block copy primitives
5733 [63b7cb39e9f1]
5734
5735 2014-09-24 Praveen Tiwari <Praveen Tiwari>
5736
5737 * source/common/x86/asm-primitives.cpp,
5738 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5739 bloccopy_pp avx asm code: 32x32, 32x48, 32x64 improved by 803.69 ->
5740 514.90, 1126.36 -> 655.24, 1454.09 -> 835.76 cycles
5741 [3fe7e7975eae]
5742
5743 * source/common/x86/asm-primitives.cpp,
5744 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5745 blockcopy_pp_32x24: avx asm code, improved 621.84 cycles -> 371.94
5746 [fe901487b7cc]
5747
5748 * source/common/x86/asm-primitives.cpp,
5749 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5750 blockcopy_pp_32x16: avx asm code, improved 477.74 cycles -> 309.99
5751 [b51e34a4b828]
5752
5753 * source/common/x86/asm-primitives.cpp,
5754 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5755 blockcopy_pp_32x8: avx asm code, improved 281.20 cycles -> 165.47
5756 [2d8adf9a4ab0]
5757
5758 2014-09-24 Satoshi Nakagawa <nakagawa424@oki.com>
5759
5760 * source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
5761 source/common/deblock.h:
5762 refine deblocking filter
5763 [940cec3bf0b4]
5764
5765 2014-09-20 Steve Borho <steve@borho.org>
5766
5767 * source/encoder/predict.cpp, source/encoder/predict.h:
5768 predict: remove checkIdenticalMotion()
5769
5770 We will not insert the same reference picture into L1 and L0 at the
5771 same time, so this check is utterly redundant.
5772 [532d0266e333]
5773
5774 * source/encoder/analysis.cpp, source/encoder/predict.cpp,
5775 source/encoder/predict.h, source/encoder/search.cpp:
5776 predict: remove list argument from motionCompensation(), always
5777 REF_PIC_LIST_X
5778 [cf90338bbc87]
5779
5780 * source/encoder/predict.cpp:
5781 predict: streamline getWpScaling()
5782 [e26ce61cd2e3]
5783
5784 * source/encoder/predict.cpp:
5785 predict: use faster unidir prediction for B frames when weighting
5786 not enabled
5787 [30dd73bb8a93]
5788
5789 * source/encoder/predict.cpp, source/encoder/predict.h:
5790 predict: combine redundant logic paths in predInterBi()
5791
5792 removes weightedPredictionBi(), which is no longer called
5793 [3f1681901fb4]
5794
5795 2014-09-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5796
5797 * source/test/testbench.cpp:
5798 Backed out changeset: fa2f1aa1456e
5799
5800 This commit allocated the harness instances on the heap, thus no
5801 longer respecting __declspec(align) directives for the member
5802 fields. We could probably circumvent this by overloading operator
5803 new with aligned_malloc, but I'm not sure this is good practice.
5804 [b2b7072ddbf7]
5805
5806 2014-09-23 Sagar Kotecha <Sagar Kotecha>
5807
5808 * source/common/x86/asm-primitives.cpp,
5809 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5810 blockcopy_ss: 64x16, 64x32, 64x48, 64x64 AVX version of asm code,
5811 approx double speedup comapre to SSE
5812 [e2b577330c9b]
5813
5814 2014-09-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
5815
5816 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
5817 source/common/x86/dct8.h:
5818 asm: avx2 code for dct8x8
5819 [271e5eb1e396]
5820
5821 2014-09-23 Min Chen <chenm003@163.com>
5822
5823 * source/common/x86/dct8.asm:
5824 asm: replace mova by movu to avoid AVX2 testbench crash in dct16,
5825 dct32, denoise_dct, its same speed on Haswell
5826 [02253e0800ea]
5827
5828 2014-09-23 Sagar Kotecha <Sagar Kotecha>
5829
5830 * source/common/x86/asm-primitives.cpp,
5831 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
5832 add avx version for chroma_copy_ss 16x4, 16x8, 16x12, 16x16, 16x24,
5833 16x32, 16x64 based on csp, approx 1.5x-2x speedup over SSE
5834 [1f5ffdc453ee]
5835
5836 2014-09-22 Satoshi Nakagawa <nakagawa424@oki.com>
5837
5838 * source/Lib/TLibCommon/TComPattern.cpp,
5839 source/Lib/TLibCommon/TComPattern.h, source/encoder/predict.cpp:
5840 simplify intra filter (with fix for da61cf406f16)
5841 [ee76b64fd051]
5842
5843 2014-09-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5844
5845 * source/encoder/ratecontrol.cpp:
5846 Backed out changeset: 25dde1ffab66
5847
5848 This commit needs more investigation, with specific VBV use cases
5849 like 1-sec GOPs.
5850 [82bab5587bf1]
5851
5852 * source/Lib/TLibCommon/TComDataCU.cpp,
5853 source/Lib/TLibCommon/TComPicSym.cpp,
5854 source/Lib/TLibCommon/TComPicYuv.cpp,
5855 source/Lib/TLibCommon/TComPicYuv.h,
5856 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
5857 source/Lib/TLibCommon/TComRom.cpp, source/common/deblock.h,
5858 source/common/quant.cpp, source/encoder/api.cpp,
5859 source/encoder/entropy.cpp, source/encoder/sao.cpp,
5860 source/encoder/search.cpp:
5861 nits: use parantheses to improve readability in shifts
5862 [fd435504f15e]
5863
5864 2014-09-20 Steve Borho <steve@borho.org>
5865
5866 * source/encoder/predict.cpp:
5867 predict: don't bother keeping refidx as an array
5868
5869 it is always indexed explicitly
5870 [1c172c1822e4]
5871
5872 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
5873 source/Lib/TLibCommon/TComWeightPrediction.h,
5874 source/common/CMakeLists.txt, source/encoder/predict.cpp,
5875 source/encoder/predict.h:
5876 predict: merge TComWeightPrediction functions into Predict
5877
5878 * TComWeightPrediction had no member vars, the constructor was
5879 useless
5880 * half of the functions were not used, they were dropped
5881 * default arguments were removed, none were actually required
5882 * x prefixes removed from method names
5883 * comments were cleaned up
5884 [0be03e280b3d]
5885
5886 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
5887 TComWeightPrediction: combine duplicate inline functions (refs #80)
5888 [c7cc07fd21a7]
5889
5890 * source/encoder/encoder.cpp:
5891 encoder: use %u to sprintf unsigned ints (refs #80)
5892 [a58aea624122]
5893
5894 * source/encoder/entropy.cpp:
5895 entropy: fix SAO enable detection (refs #80)
5896
5897 Apparently our analysis never toggles luma separately from chroma
5898 because this bug has not resulted in any bad bitstreams, that I know
5899 of. This bug was found via static analysis
5900 [c39538f0c59b]
5901
5902 * source/common/bitstream.cpp:
5903 bitstream: add paren to avoid ambiguous precedence in X265_CHECK
5904 [2599fd87b72e]
5905
5906 * source/Lib/TLibCommon/TComPicSym.cpp, source/common/frame.cpp,
5907 source/encoder/api.cpp, source/encoder/encoder.cpp:
5908 nits: do not check for NULL from new operations
5909
5910 By the C++ spec, new is incapable of returning NULL. If an
5911 allocation failure actually occurs, an exception is issued (which we
5912 do not catch) Long term, all of these new operations need to be
5913 replaced by malloc and explicit initialization and destruction. In
5914 the short term, these return value checks are redundant.
5915 [6e450860475a]
5916
5917 * source/encoder/bitcost.h:
5918 bitcost: use enums for special constants rather than static const
5919 ints
5920
5921 enums require no storage
5922 [3fd2d7acb6bb]
5923
5924 * source/encoder/motion.cpp:
5925 motion: avoid extra iterations when no subpel motion found
5926
5927 subsequent iterations would have also returned zero, which would be
5928 pointless. this is an adaption of a patch by Sheva Xu.
5929 [2c1d4c7d85ba]
5930
5931 2014-09-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5932
5933 * source/encoder/search.cpp, source/encoder/search.h:
5934 search: clean xRecurIntraCodingQT
5935 [d1ffc125f0a3]
5936
5937 * source/encoder/analysis.cpp:
5938 analysis: nits
5939 [39d0ba6012d5]
5940
5941 * source/encoder/analysis.cpp, source/encoder/search.cpp,
5942 source/encoder/search.h:
5943 psy-rd: fix bug in chroma psyEnergy for intra 4x4
5944
5945 Also add TODO, for all psyCost calculations
5946 [d1c2b82de4db]
5947
5948 2014-09-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5949
5950 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5951 analysis: remove CheckBestMode from CheckIntra
5952 [817abe294c8b]
5953
5954 * source/encoder/analysis.cpp, source/encoder/analysis.h:
5955 analysis: remove redundant variables, cleanup variable names
5956 [6334cc645407]
5957
5958 2014-09-20 Steve Borho <steve@borho.org>
5959
5960 * source/common/param.cpp:
5961 param: do not allow VBV without WPP
5962
5963 VBV row restarts cannot function correctly without WPP (per-row
5964 CABAC starts)
5965 [c8f53398f8ce]
5966
5967 2014-09-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
5968
5969 * source/encoder/search.cpp:
5970 search: simplify and remove redundant variables in
5971 getBestIntraModeChroma
5972 [9b9986cc084b]
5973
5974 * source/encoder/search.cpp:
5975 search: remove redundant loacal variables in
5976 encodeResAndCalcRdSkipCU
5977 [5c067b643591]
5978
5979 * source/encoder/search.cpp:
5980 search: cleanup and remove redundant variable in checkintra
5981 [7c1e793722f9]
5982
5983 2014-09-19 Satoshi Nakagawa <nakagawa424@oki.com>
5984
5985 * source/Lib/TLibCommon/TComPattern.cpp,
5986 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
5987 source/common/intrapred.cpp, source/common/primitives.h,
5988 source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
5989 source/encoder/analysis.cpp, source/encoder/predict.cpp,
5990 source/encoder/search.cpp, source/encoder/slicetype.cpp,
5991 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
5992 primitives: intra_pred[4][35] => intra_pred[35][4] (avoid *35)
5993 [da61cf406f16]
5994
5995 * source/Lib/TLibCommon/TComDataCU.cpp,
5996 source/Lib/TLibCommon/TComDataCU.h,
5997 source/Lib/TLibCommon/TComPicYuv.cpp,
5998 source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
5999 source/common/frame.cpp, source/common/frame.h,
6000 source/encoder/analysis.cpp, source/encoder/analysis.h,
6001 source/encoder/encoder.cpp, source/encoder/encoder.h,
6002 source/encoder/entropy.cpp, source/encoder/entropy.h,
6003 source/encoder/motion.h, source/encoder/predict.cpp,
6004 source/encoder/predict.h, source/encoder/search.cpp:
6005 inline simple functions
6006 [c07038ca0e07]
6007
6008 2014-09-17 Steve Borho <steve@borho.org>
6009
6010 * source/test/testbench.cpp:
6011 testbench: allocate test harnesses on heap, for better valgrind
6012 coverage
6013 [fa2f1aa1456e]
6014
6015 2014-09-18 Praveen Tiwari <Praveen Tiwari>
6016
6017 * source/test/mbdstharness.cpp:
6018 denoiseDct: align performance data while reporting speedup
6019 [4680ab4f92b8]
6020
6021 * source/common/x86/asm-primitives.cpp,
6022 source/common/x86/blockcopy8.asm:
6023 copy_cnt_32: avx2 asm code, improved 1521.17 cycles -> 934.46 cycles
6024 [6908388bf26f]
6025
6026 * source/common/x86/asm-primitives.cpp,
6027 source/common/x86/blockcopy8.asm, source/common/x86/const-a.asm:
6028 copy_cnt_16: avx2 asm code, improved 514.32 cycles -> 313.66 cycles
6029 [9b672a7b3ea9]
6030
6031 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm:
6032 denoise_dct: avx2 asm code
6033 [e83cc4a15dc9]
6034
6035 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
6036 source/common/x86/dct8.h:
6037 denoise_dct asm code: SSE version
6038 [d6759701fdd7]
6039
6040 2014-09-18 Murugan Vairavel <murugan@multicorewareinc.com>
6041
6042 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
6043 source/common/x86/dct8.h:
6044 asm: avx2 assembly code for idct16x16
6045 [7e82d0abf6fb]
6046
6047 2014-09-18 Aarthi Thirumalai <Aarthi Thirumalai>
6048
6049 * source/encoder/ratecontrol.cpp:
6050 rc: improvements for cbr
6051 [25dde1ffab66]
6052
6053 2014-09-17 Praveen Tiwari <Praveen Tiwari>
6054
6055 * source/common/x86/dct8.h:
6056 denoiseDct: nit unused asm function declarations
6057 [54ad38a84a69]
6058
6059 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm:
6060 denoiseDct asm code: nit faulty code, need a new SSE version
6061 [55a50a362def]
6062
6063 * source/test/mbdstharness.cpp:
6064 denoiseDct unit test code: fixed bound value problem
6065 [b162185198fe]
6066
6067 2014-09-11 Praveen Tiwari <Praveen Tiwari>
6068
6069 * source/common/x86/asm-primitives.cpp,
6070 source/common/x86/blockcopy8.asm:
6071 copy_cnt_4 avx2 asm code: nit, same speedup by sse version
6072 [123db3a255a7]
6073
6074 2014-09-17 Aarthi Thirumalai <Aarthi Thirumalai>
6075
6076 * source/encoder/analysis.cpp:
6077 rc: fix bugs in using boundary condition for cu while encoding each
6078 frame.
6079
6080 fixes the binary mismatch in 2 pass completely.
6081 [4e17a5c3ed64]
6082
6083 2014-09-17 Steve Borho <steve@borho.org>
6084
6085 * source/encoder/frameencoder.cpp:
6086 frameencoder: fix VBV row resets when SAO is disabled
6087
6088 When SAO is disabled, the row bitstream is generated as CTU analysis
6089 progresses. We must reset the row bitstream after a restart to avoid
6090 coding errors. The CAABAC state is already reset correctly when CTU
6091 col 0 is re-coded.
6092 [86686bd153db]
6093
6094 2014-09-16 Sagar Kotecha <sagar@multicorewareinc.com>
6095
6096 * source/common/param.cpp, source/common/param.h, source/x265.cpp:
6097 add fanout validation module to check param compatibility
6098 [199e8f2e0d54]
6099
6100 2014-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
6101
6102 * source/encoder/api.cpp:
6103 api: do not reuse the analysisData buffer for more then one picture,
6104 set it NULL
6105 [d71d363c0dbb]
6106
6107 2014-09-16 Santhoshini Sekar <santhoshini@multicorewareinc.com>
6108
6109 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
6110 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
6111 analysis: add CU specific details to encodeCU()
6112 [06bac60ee4cf]
6113
6114 2014-09-16 Steve Borho <steve@borho.org>
6115
6116 * source/encoder/analysis.cpp:
6117 analysis: nits
6118 [b276d567d771]
6119
6120 2014-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
6121
6122 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
6123 source/encoder/analysis.cpp, source/encoder/analysis.h,
6124 source/encoder/search.cpp, source/encoder/search.h:
6125 analysis: intra picture estimation (mode and split
6126 decision)information sharing
6127
6128 when --analysis-mode=save - the encoder runs a full encode and dump
6129 the best split and mode decisions into x265_analysis.dat(default
6130 file name if file name is not provided) file when --analysis-
6131 mode=load - the encoder reads the best split and mode decisions from
6132 x265_analysis.dat and bypass the actual split and mode decisions,
6133 and therefore perform a much faster encode
6134 [7784ad03d6d4]
6135
6136 2014-09-16 Praveen Tiwari <Praveen Tiwari>
6137
6138 * source/test/mbdstharness.cpp, source/test/mbdstharness.h,
6139 source/test/testharness.h:
6140 denoiseDct: test bench code
6141 [63a78516630c]
6142
6143 2014-09-15 Steve Borho <steve@borho.org>
6144
6145 * source/encoder/search.cpp:
6146 search: save a few cycles
6147 [a1fc4e9bba51]
6148
6149 2014-09-15 Aarthi Thirumalai <Aarthi Thirumalai>
6150
6151 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
6152 rc: fixes for 2 pass + vbv to calculate frameSizePlanned accurately.
6153 [7c1aba99f40d]
6154
6155 2014-09-15 Steve Borho <steve@borho.org>
6156
6157 * doc/reST/presets.rst, source/common/param.cpp:
6158 param: preset tuning changes
6159
6160 1. disable SAO in superfast
6161
6162 Recent changes have made --no-sao substantially faster than SAO,
6163 which has made ultrafast preset much much faster than superfast. By
6164 disabling SAO in superfast, it is now roughly half-way between
6165 ultrafast and veryfast again.
6166
6167 2. Enable weighted prediction for B slices in slower, veryslow, and
6168 placebo
6169
6170 Weighted prediction for B can sometimes be beneficial, so turn it on
6171 for slower encodes.
6172 [1de67321275e]
6173
6174 * doc/reST/threading.rst:
6175 doc: describe performance impact of SAO
6176 [dff0cd55b520]
6177
6178 * doc/reST/threading.rst:
6179 doc: fix typo and nit in threading page
6180 [76240da72c38]
6181
6182 2014-09-12 Satoshi Nakagawa <nakagawa424@oki.com>
6183
6184 * source/common/common.h, source/common/x86/loopfilter.asm,
6185 source/encoder/entropy.cpp, source/encoder/sao.cpp,
6186 source/encoder/sao.h:
6187 sao: some cleanups
6188 [098a00de4a72]
6189
6190 2014-09-15 Steve Borho <steve@borho.org>
6191
6192 * source/Lib/TLibCommon/CommonDef.h, source/encoder/search.h:
6193 search: header cleanups, no functional change
6194 [db063839c8fe]
6195
6196 2014-09-10 Steve Borho <steve@borho.org>
6197
6198 * source/encoder/search.cpp, source/encoder/search.h:
6199 search: measure RDO of intra modes within 12% of least cost [CHANGES
6200 OUTPUTS]
6201
6202 This version adaps the number of RD measured modes by param.rdLevel
6203 (aka preset) and by depth. This gives a non-trivial speedup to the
6204 very fast presets which use frequent keyframes and helps improve
6205 compression in slower presets.
6206
6207 all presets use this function to encode I slices, so every encode is
6208 affected.
6209
6210 Previous behavior: RD measure top N least sa8d cost intra modes and
6211 all most probable modes where N was depth-based: intraModeNumFast[]
6212 = { 8, 8, 3, 3, 3 }; // 4x4, 8x8, etc
6213
6214 New behavior: RD measure up to N modes that are within 12% of best
6215 sa8d cost or are most probable. where N if a function of rd-level
6216 and depth
6217
6218 The new behavior may measure fewer modes than before may skip some
6219 most-probable modes if there are plenty of other modes which are
6220 near the best cost. Since mode signal cost is included already, this
6221 seems ok.
6222
6223 The general idea is that if 1-2 modes have much better sa8d cost
6224 than all the others, then we are likely wasting our time RD
6225 measuring 8-11 modes. We're betting that sa8d cost is a somewhat
6226 decent predictor of RD cost.
6227
6228 Note that I initially tried without a limit (measure all within 12%
6229 or MPM) but for some clips this was a horrible perf trade-off. In
6230 some situations all the intra modes might measure close together
6231 (flat source block) and we would end up measuring most or all of the
6232 intra modes for very little gain. So this version re-introduces a
6233 "top N candidate list" but does not bother trying to keep the list
6234 sorted since it is small
6235 [02353d20f051]
6236
6237 2014-09-15 Steve Borho <steve@borho.org>
6238
6239 * source/encoder/search.cpp:
6240 search: comment nits
6241 [017ceb9d2b06]
6242
6243 * source/encoder/ratecontrol.cpp:
6244 Merge with stable
6245 [70c836fef6d9]
6246
6247 2014-09-15 Aarthi Thirumalai <Aarthi Thirumalai>
6248
6249 * source/encoder/ratecontrol.cpp:
6250 rc: bug fix for 2 pass when bframes = 0. fixes Issue #77
6251 [e6a80fb007e8] <stable>
6252
6253 * source/encoder/ratecontrol.cpp:
6254 rc: check for changes in scenecut input between multiple passes.
6255
6256 wpp/no-wpp doesn't affect slice type decisions. they can differ
6257 between the passes in multipass encode.
6258 [67ee212bbf78]
6259
6260 * source/encoder/ratecontrol.cpp:
6261 rc: bug fix for 2 pass when bframes = 0. fixes Issue #77
6262 [9107dc4a2632]
6263
6264 2014-09-10 Ashok Kumar Mishra <ashok@multicorewareinc.com>
6265
6266 * source/encoder/analysis.cpp, source/encoder/search.cpp,
6267 source/encoder/search.h:
6268 Search: remove redundant encode coefficients in intra for
6269 performance
6270 [8972169f252d]
6271
6272 2014-09-15 Murugan Vairavel <murugan@multicorewareinc.com>
6273
6274 * source/common/x86/dct8.asm:
6275 asm: fix mismatch due to dct32 avx2 assembly code
6276 [b5fb734517c0]
6277
6278 2014-09-12 Murugan Vairavel <murugan@multicorewareinc.com>
6279
6280 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
6281 source/common/x86/dct8.h:
6282 asm: avx2 assembly code for dct32x32
6283 [184e56afa951]
6284
6285 2014-09-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6286
6287 * source/x265.h:
6288 x265: add missing typedefs
6289 [2fb61cc75152]
6290
6291 2014-09-11 David T Yuen <dtyx265@gmail.com>
6292
6293 * source/x265.cpp:
6294 Resolved gcc compiler error of mismatched type
6295 [cd8fd0afd4e8]
6296
6297 2014-09-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6298
6299 * source/common/x86/asm-primitives.cpp:
6300 Merge with stable
6301 [fda32ff40246]
6302
6303 * source/common/x86/asm-primitives.cpp:
6304 asm: disable buggy denoise primitives until the bugs are fixed
6305 [d522e7662111] <stable>
6306
6307 2014-09-11 Sagar Kotecha <sagar@multicorewareinc.com>
6308
6309 * doc/reST/cli.rst, source/common/common.h, source/common/param.cpp,
6310 source/x265.cpp:
6311 cli: add cli options analysis-mode and analysis-file
6312
6313 analysis-mode: save|1 - Dump analysis buffers into file, load|2 -
6314 read analysis buffers from the file analysis-file: Specify file name
6315 used for either dumping or reading analysis data
6316 [7e29b10982d2]
6317
6318 * source/common/frame.cpp, source/common/frame.h,
6319 source/encoder/analysis.cpp, source/encoder/encoder.cpp:
6320 store analysis information in buffers
6321 [b0d006337801]
6322
6323 * doc/reST/api.rst, source/CMakeLists.txt, source/encoder/api.cpp,
6324 source/x265.def.in, source/x265.h:
6325 api: introduce methods to allocate and free analysis buffers
6326 [baf07b965909]
6327
6328 * source/x265.h:
6329 api: add analysis data structures and param options
6330 [e5a24e5ba46e]
6331
6332 2014-09-11 Steve Borho <steve@borho.org>
6333
6334 * source/encoder/analysis.cpp:
6335 analysis: minor comment and code cleanups, no behavior change
6336 [3d6cc40ebbf7]
6337
6338 * source/encoder/search.cpp, source/encoder/search.h:
6339 search: remove x prefixes from ME helper functions
6340 [e9e71ece1344]
6341
6342 * source/encoder/dpb.cpp:
6343 dpb: does not need to include frameencoder.h
6344 [6bb0d3a25b08]
6345
6346 2014-09-10 Steve Borho <steve@borho.org>
6347
6348 * source/encoder/analysis.h:
6349 analysis: nit
6350 [012f315d3eda]
6351
6352 * source/encoder/analysis.h, source/encoder/encoder.cpp,
6353 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
6354 source/encoder/frameencoder.h, source/encoder/search.cpp,
6355 source/encoder/search.h:
6356 search: don't pass top-level encoder to initSearch()
6357
6358 removes three Encoder members that were only used to communicate
6359 data to initSearch()
6360 [0bc83ba57dad]
6361
6362 * source/encoder/search.cpp:
6363 search: store rd costs in first pass through intra modes
6364
6365 no behavior change, this is prep work for further refactors
6366 [ff2fd6923f1a]
6367
6368 * source/encoder/dpb.cpp, source/encoder/dpb.h,
6369 source/encoder/framefilter.h:
6370 cleanup header dependencies; dpb should not need encoder.h
6371 [7eddb265f512]
6372
6373 2014-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6374
6375 * source/common/x86/asm-primitives.cpp:
6376 asm: enable copy_cnt8
6377 [a522a2549cac]
6378
6379 2014-09-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
6380
6381 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
6382 source/common/x86/dct8.h:
6383 asm: avx2 assembly code for dct16
6384 [18d0461eb4d0]
6385
6386 2014-09-10 Praveen Tiwari <Praveen Tiwari>
6387
6388 * source/common/x86/blockcopy8.asm:
6389 copy_cnt_8, AVX2 asm code as per new interface, performance improved
6390 from 5.13x to 7.59x on HASWELL-I5
6391 [0d27befcc874]
6392
6393 2014-09-10 Steve Borho <steve@borho.org>
6394
6395 * source/encoder/encoder.cpp:
6396 encoder: nits
6397 [81c9f704ae38]
6398
6399 2014-09-09 Steve Borho <steve@borho.org>
6400
6401 * source/encoder/search.cpp:
6402 search: re-enable chroma tskip
6403
6404 this passed regression testing
6405 [bdd477050097]
6406
6407 2014-09-09 Aarthi Thirumalai <Aarthi Thirumalai>
6408
6409 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
6410 rc: use m_frameDuration instead of rce->frameDuration to derive
6411 complexity for each frame in 2nd pass.
6412
6413 don't store and use frameDuration from stats file per frame - losing
6414 precision.
6415 [139b41632c64]
6416
6417 2014-09-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6418
6419 * source/common/param.cpp, source/x265.h:
6420 param: apply missing default values to param, mostly zero and
6421 reorder
6422 [3fc141aa74b5]
6423
6424 2014-09-09 Steve Borho <steve@borho.org>
6425
6426 * source/encoder/search.cpp, source/encoder/search.h:
6427 search: reverse meaning of bCheckFirst to bAllowRQTSplit
6428
6429 I find this much more readable
6430 [408e2e6f0f70]
6431
6432 * source/encoder/analysis.cpp, source/encoder/search.cpp:
6433 search: !a ? b : c; -> a ? c : b;
6434 [f45f3ed38951]
6435
6436 * source/encoder/analysis.cpp, source/encoder/search.cpp,
6437 source/encoder/search.h:
6438 search: rename some helper functions without x prefixes
6439 [719284d910b6]
6440
6441 * source/common/x86/blockcopy8.asm:
6442 backout 0dc2cbc36ee5 to 331ef5121676
6443 [491e74c58e51]
6444
6445 2014-09-09 Ashok Kumar Mishra <ashok@multicorewareinc.com>
6446
6447 * source/encoder/analysis.cpp, source/encoder/analysis.h:
6448 analysis: modified compressInterCU_rd0_4() with CU-specific
6449 information
6450 [2d9eb8cebb71]
6451
6452 2014-09-09 Steve Borho <steve@borho.org>
6453
6454 * source/encoder/search.cpp, source/encoder/search.h:
6455 search: fix camel case of residualQTIntraChroma
6456 [d85792b9f373]
6457
6458 * source/encoder/search.cpp:
6459 search: don't pass a zeroDistortion pointer if you don't want the
6460 answer
6461 [84b1d287333f]
6462
6463 * source/encoder/search.cpp, source/encoder/search.h:
6464 search: return distortion from xEstimateResidualQT
6465 [7d8e4935c1ca]
6466
6467 * source/encoder/search.cpp, source/encoder/search.h:
6468 search: pass depthRange uniformly as uint32_t depthRange[2]
6469
6470 effectively the same as uint32_t but compilers and debuggers can
6471 often do more with the length info. plus it just makes the code more
6472 readable
6473 [cead9fe7ff30]
6474
6475 * source/encoder/analysis.cpp, source/encoder/search.cpp,
6476 source/encoder/search.h:
6477 search: return distortion from xRecurIntraCodingQT
6478 [68ac5ca5d676]
6479
6480 * source/encoder/search.cpp, source/encoder/search.h:
6481 search: return distortion from xIntraCodingChromaBlk, do not pass by
6482 ref
6483 [62f6924be843]
6484
6485 * source/encoder/search.cpp, source/encoder/search.h:
6486 search: return distortion from xRecurIntraChromaCodingQT, do not
6487 pass by ref
6488 [b0a018562d29]
6489
6490 * source/encoder/search.cpp, source/encoder/search.h:
6491 search: return distortion from xIntraCodingLumaBlk, do not pass by
6492 reference
6493 [a7f4f750e9d4]
6494
6495 2014-09-09 Praveen Tiwari <Praveen Tiwari>
6496
6497 * source/common/x86/blockcopy8.asm:
6498 copy_cnt_8 AVX2 asm code, as per new interface
6499 [331ef5121676]
6500
6501 * source/common/x86/blockcopy8.asm:
6502 copy_cnt_4: faster AVX2 code
6503 [f7f8206a70bd]
6504
6505 * source/common/x86/blockcopy8.asm:
6506 copy_cnt_4: combine mova and paddb to reduce code size, same speedup
6507 [5edcbcbb338f]
6508
6509 * source/common/x86/blockcopy8.asm:
6510 copy_cnt_4: enable fast non zero coefficient count path
6511 [0dc2cbc36ee5]
6512
6513 2014-09-09 Steve Borho <steve@borho.org>
6514
6515 * source/encoder/frameencoder.cpp:
6516 frameencoder: use simple shifts to scale 2-pass CU type counters
6517
6518 the cu type counters are summed at the end and turned into
6519 percentages, so it doesn't matter what base unit is used, only that
6520 each depth has 4x the value as depth+1
6521 [ebd5a0cac758]
6522
6523 * source/encoder/frameencoder.cpp:
6524 frameencoder: use x265_emms() prior to double QP clipping for VBV
6525 [a414ca1c9067]
6526
6527 2014-09-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6528
6529 * source/encoder/search.cpp:
6530 search: remove warning from MS compiler
6531 [44cb33846e0e]
6532
6533 2014-09-08 Min Chen <chenm003@163.com>
6534
6535 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp,
6536 source/common/x86/const-a.asm, source/common/x86/pixel-util.h,
6537 source/common/x86/pixel-util8.asm:
6538 asm: avx2 version of quant, improve 16.6k cycles -> 8.4k cycles
6539 [c4fb044c901b]
6540
6541 * source/common/x86/pixel-util8.asm:
6542 asm: improve quant by replace variant shift to fixed shift, 19k
6543 cycles -> 16.6k cycles
6544 [277c1e05c247]
6545
6546 * source/common/dct.cpp, source/test/mbdstharness.cpp:
6547 testbench(quant): the qBits value must be more than or equal to 8
6548 [5dbf9e8f4028]
6549
6550 * source/test/mbdstharness.cpp:
6551 testbench(quant): the Round value must be less than (2 ^ qbits)
6552 [53e0969c605f]
6553
6554 2014-09-08 Steve Borho <steve@borho.org>
6555
6556 * source/encoder/search.cpp:
6557 search: prune more unnecessary work from estIntraPredQT()
6558 [b5f81a839403]
6559
6560 * source/encoder/search.cpp:
6561 search: remove some redundant work from estIntraPredQT
6562 [033299d2bd00]
6563
6564 * source/encoder/search.cpp, source/encoder/search.h:
6565 search: remove m_qtTempTrIdx
6566 [00b86119f0ad]
6567
6568 * source/Lib/TLibEncoder/TEncSearch.cpp,
6569 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/CMakeLists.txt,
6570 source/encoder/analysis.h, source/encoder/search.cpp,
6571 source/encoder/search.h:
6572 pull search class into encoder/ (TLibEncoder is no more)
6573
6574 TEncSearch -> Search use consistent comment style and argument lists
6575 make destructor no longer virtual (no more vtable) moving
6576 StatisticLog into x265 namespace came for free
6577 [f2688d840261]
6578
6579 * source/encoder/api.cpp:
6580 api: remove include of frameencoder
6581 [796cc966e2fe]
6582
6583 * source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.h:
6584 nits
6585 [f2da9f3db824]
6586
6587 2014-09-08 Ashok Kumar Mishra <ashok@multicorewareinc.com>
6588
6589 * source/encoder/analysis.cpp, source/encoder/analysis.h:
6590 analysis: modified compressInterCU_rd5_6() with CU-specific
6591 information
6592 [27581134f442]
6593
6594 * source/encoder/analysis.cpp, source/encoder/analysis.h:
6595 Analysis: compressIntraCU clean up
6596 [5b377a411463]
6597
6598 2014-09-08 Steve Borho <steve@borho.org>
6599
6600 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
6601 source/encoder/sao.h:
6602 sao: move frame/slice initialization into SAO::startSlice
6603 [80b2e91156d3]
6604
6605 * source/encoder/sao.cpp:
6606 sao: minor cleanups, no behavior change
6607 [b9ed1dcacf9e]
6608
6609 * source/encoder/frameencoder.cpp:
6610 frameencoder: avoid another call to resetEntropy(), they are
6611 expensive
6612 [cfe197e3044d]
6613
6614 * source/encoder/frameencoder.cpp:
6615 frameencoder: combine some conditional expressions
6616 [cb67f6f65577]
6617
6618 * source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
6619 source/encoder/ratecontrol.h:
6620 rc: move FrameStats to ratecontrol.h
6621
6622 rate control shouldn't need to include frameencoder.h
6623 [89e682182a7a]
6624
6625 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
6626 source/encoder/ratecontrol.cpp:
6627 frameencoder: rename percent fields for clarity
6628 [9581a45d4344]
6629
6630 * source/encoder/frameencoder.cpp:
6631 frameencoder: do more CU stat math as integer
6632 [406d92c860d5]
6633
6634 * source/encoder/entropy.cpp, source/encoder/entropy.h,
6635 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
6636 frameencoder: merge more of encodeSlice() into processCU
6637
6638 this commit fixes no-WPP after the previous change. the per-row or
6639 per-frame (+- WPP) bistreams are flushed as they are finished (and
6640 cache hot) and the per CU stats are summed per row and then
6641 summarized all in one place.
6642 [60289c638600]
6643
6644 2014-09-05 Steve Borho <steve@borho.org>
6645
6646 * source/encoder/frameencoder.cpp:
6647 frameencoder: remove second encodeCU() pass over CTUs when SAO is
6648 disabled
6649
6650 This is a performance optimization, it allows the encoder to
6651 generate the final bitstream of each CTU as it is compressed and
6652 cache hot.
6653
6654 When SAO is enabled, SAO analysis must be performed and coded at the
6655 start of the CTU but SAO analysis currently requires surrounding
6656 CTUs to be encoded making the second pass unavoidable.
6657
6658 Note that this commit changes the way non-WPP encodes are performed,
6659 for the better. Now it always uses row 0's CI_CURR_BEST entropy
6660 coder instance to communicate entropy state between all CTUs and
6661 between rows. This better models how encodeSlice() works and makes
6662 RDO work better
6663 [a117564df3ef]
6664
6665 2014-09-08 Steve Borho <steve@borho.org>
6666
6667 * source/encoder/frameencoder.cpp:
6668 frameencoder: remove redundant clear of frame stats
6669
6670 they were being zero'd in the constructor, init(), and in
6671 compressCTURows. techincally only the last is truly necessary, but
6672 I'm leaving the memset in the contructor.
6673 [a7465d789c64]
6674
6675 * source/encoder/entropy.h, source/encoder/frameencoder.cpp:
6676 nits
6677 [a29aa966336e]
6678
6679 * source/common/x86/x86inc.asm:
6680 Merge with correct x86inc.asm patch
6681 [c55d69561948]
6682
6683 2014-09-05 Min Chen <chenm003@163.com>
6684
6685 * source/common/x86/x86inc.asm:
6686 x86inc.asm: fix vpbroadcastd bug on Mac platform
6687 [51930084e148]
6688
6689 2014-09-08 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6690
6691 * source/encoder/entropy.cpp, source/encoder/entropy.h,
6692 source/encoder/frameencoder.cpp:
6693 entropy: change top-level encode to encodeCTU
6694 [de5614144bce]
6695
6696 2014-09-07 Satoshi Nakagawa <nakagawa424@oki.com>
6697
6698 * source/encoder/sao.cpp:
6699 fix sao
6700 [8cbfec8d6b4d]
6701
6702 * source/common/dct.cpp, source/encoder/analysis.cpp:
6703 fix CHECKED_BUILD
6704 [845e82c5d607]
6705
6706 2014-09-05 Min Chen <chenm003@163.com>
6707
6708 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
6709 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm:
6710 asm: AVX2 version of dequant_normal, improve 9.3k Cycles -> 4.2k
6711 Cycles
6712 [ed4c9acafc11]
6713
6714 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
6715 asm: reduce number of movd in dequant_normal
6716 [bc9025648270]
6717
6718 * source/common/x86/x86inc.asm:
6719 x86inc.asm: fix vpbroadcastd bug on Mac platform
6720 [27364e9f97e4]
6721
6722 2014-09-05 Steve Borho <steve@borho.org>
6723
6724 * source/encoder/frameencoder.cpp:
6725 frameencoder: remove unnecessary call to resetBits(), improve
6726 comment
6727 [795878af3973]
6728
6729 * source/encoder/frameencoder.h:
6730 frameencoder: cleanup CTURow::init
6731
6732 According to my understanding, only rdEntropyCoders[0][CI_CURR_BEST}
6733 really needs to be initialized, but this changes outputs if I do
6734 this. It tells me there is likely a bug in the entropy state
6735 management
6736 [b05e3141c766]
6737
6738 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
6739 source/encoder/frameencoder.h:
6740 frameencoder: CTURow class -> struct, remove m_ prefixes
6741
6742 Still no output changes in this patch series
6743 [5d9433930735]
6744
6745 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
6746 source/encoder/framefilter.cpp:
6747 tld: remove m_ prefixes from struct members
6748 [85b93c9b6f0d]
6749
6750 * source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
6751 source/encoder/cturow.h, source/encoder/encoder.cpp,
6752 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
6753 cturow: merge CTURow and TLD objects into frameencoder.h
6754 [1b69af135b48]
6755
6756 * source/encoder/frameencoder.cpp:
6757 frameencoder: remove unused variable, nit
6758 [6d84a175723a]
6759
6760 * source/encoder/cturow.cpp, source/encoder/cturow.h,
6761 source/encoder/frameencoder.cpp:
6762 cturow: inline processCU()
6763
6764 The function is no longer complicated enough to justify having a
6765 separate function, given that the arguments mainly dealt with the
6766 wavefront cabac propogation. The CTU class is about to be further
6767 simplified.
6768 [0c97aad4038e]
6769
6770 * source/CMakeLists.txt:
6771 cmake: enable MACOSX_RPATH on Mac shared libraries
6772
6773 http://www.cmake.org/cmake/help/v3.0/prop_tgt/MACOSX_RPATH.html
6774
6775 Setting the policy CMP0042 to NEW makes MACOSX_RPATH=1 the default,
6776 but we go ahead and set it manually anyway so cmake versions older
6777 than 3.1 behave the same way
6778 [01ba626b850d]
6779
6780 2014-09-05 Praveen Tiwari <Praveen Tiwari>
6781
6782 * source/common/x86/blockcopy8.asm:
6783 copy_cnt 4x4 AVX2 asm code, as per new interface
6784 [f30c13d8143a]
6785
6786 2014-09-04 Min Chen <chenm003@163.com>
6787
6788 * source/common/x86/x86util.asm:
6789 asm: reenable IACA support, it remove by 'inappropriate
6790 instruction...' patch
6791 [d5034e68aa40]
6792
6793 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
6794 util.h, source/common/x86/pixel-util8.asm:
6795 asm: avx2 version of nquant(), improve 9.8k cycles -> 5.3k cycles
6796 [0f1f5f8a4981]
6797
6798 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
6799 asm: optimize nquant by PSIGND, improve 11k cycles -> 9.8k cycles
6800 [dd04a9ec73a8]
6801
6802 2014-09-05 Praveen Tiwari <Praveen Tiwari>
6803
6804 * source/common/x86/pixel-util8.asm:
6805 count_nonzero asm code, reduceded code size by combining mova and
6806 packsswb
6807 [fdfe5c83a2d7]
6808
6809 * source/common/x86/blockcopy8.asm:
6810 copy_cnt: nits
6811 [7bb07b6e1b0f]
6812
6813 * source/common/x86/blockcopy8.asm:
6814 copy_cnt 4x4, eliminated move instructions, +1x improvement
6815 [d5efb8daf975]
6816
6817 2014-09-05 Satoshi Nakagawa <nakagawa424@oki.com>
6818
6819 * source/Lib/TLibCommon/TComDataCU.cpp:
6820 fix getQuadtreeTULog2MinSizeInCU()
6821 [efd6178a07f5]
6822
6823 2014-09-04 Min Chen <chenm003@163.com>
6824
6825 * source/common/x86/asm-primitives.cpp:
6826 asm: enable SSE2 version of pixel_ssd_ss[]
6827 [fd1e285675eb]
6828
6829 * source/common/x86/ssd-a.asm:
6830 asm: fix output mistake in pixel_ssd_ss_4xN
6831 [7909696bf148]
6832
6833 2014-09-05 Satoshi Nakagawa <nakagawa424@oki.com>
6834
6835 * source/Lib/TLibCommon/ContextTables.h:
6836 fix cbf context
6837 [5cd9f797d6f4]
6838
6839 2014-09-04 Min Chen <chenm003@163.com>
6840
6841 * source/common/x86/ssd-a.asm:
6842 asm: replace ssse3 instruction in pixel_ssd_ss_*_sse2
6843 [93db2f53fe57]
6844
6845 2014-09-04 Steve Borho <steve@borho.org>
6846
6847 * source/common/x86/pixel-a.asm:
6848 asm: fix SSSE3 in SSE2 build warning in unused primitive
6849
6850 Bug fix back-ported from x264. The function was not connected to any
6851 primitive pointer in x264 or x265, so this is really just quieting
6852 the warning
6853 [1833be32ff21]
6854
6855 * source/common/quant.cpp:
6856 quant: fix check macro
6857 [1f07a2a99eef]
6858
6859 * source/common/quant.cpp:
6860 quant: nits
6861 [7ae1ffa141c1]
6862
6863 2014-09-02 Praveen Tiwari <Praveen Tiwari>
6864
6865 * source/common/common.h, source/common/dct.cpp,
6866 source/common/primitives.h, source/common/quant.cpp,
6867 source/common/quant.h, source/encoder/entropy.cpp:
6868 quant path cleanup
6869 [735ba376211e]
6870
6871 * source/common/dct.cpp, source/common/primitives.h,
6872 source/common/quant.cpp, source/common/x86/pixel-util.h,
6873 source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp:
6874 quant_c optimization, downscaling qCoef from int32_t* to int16_t*
6875 [43e127b048da]
6876
6877 * source/common/quant.cpp:
6878 optimize cvt32to16_shl by replacing copy_shl
6879 [7a5073a95658]
6880
6881 * source/common/pixel.cpp, source/common/primitives.h,
6882 source/common/x86/asm-primitives.cpp,
6883 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6884 source/test/pixelharness.cpp, source/test/pixelharness.h:
6885 added copy_shl primitive
6886 [811d242433eb]
6887
6888 * source/common/pixel.cpp, source/common/primitives.h,
6889 source/common/x86/asm-primitives.cpp,
6890 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6891 source/test/pixelharness.cpp, source/test/pixelharness.h:
6892 added copy_shr primitive
6893 [ec631987a40d]
6894
6895 * source/common/x86/asm-primitives.cpp:
6896 temporarily disable avx2 version of copy_cnt primitive, need to
6897 update as per new interface
6898 [6d2a546f52ce]
6899
6900 * source/common/dct.cpp, source/common/primitives.h,
6901 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
6902 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6903 source/test/pixelharness.cpp, source/test/pixelharness.h:
6904 conv16to32_count renamed to copy_count as per new interface
6905 [75da68b8a8f1]
6906
6907 * source/common/dct.cpp, source/common/primitives.h,
6908 source/common/quant.cpp, source/common/x86/blockcopy8.h,
6909 source/test/pixelharness.cpp:
6910 conv16to32_count C interface modification, downscaling coeff from
6911 int32_t* to int16_t*
6912 [91e5a6476b1b]
6913
6914 2014-09-01 Praveen Tiwari <Praveen Tiwari>
6915
6916 * source/common/dct.cpp, source/common/x86/blockcopy8.asm,
6917 source/common/x86/const-a.asm, source/test/pixelharness.cpp:
6918 cvt16to32_cnt optimization
6919 [55039043fa39]
6920
6921 2014-08-25 Praveen Tiwari <Praveen Tiwari>
6922
6923 * source/common/quant.cpp, source/common/quant.h:
6924 signBitHidingHDQ optimization, downscaling coeff from int32_t* to
6925 int16_t*
6926 [aea5cf3ff1b2]
6927
6928 * source/common/quant.cpp, source/common/quant.h:
6929 rdoQuant optimization, downscaling dstCoeff fron int32_t* to
6930 int16_t*
6931 [dc9652f407f9]
6932
6933 2014-09-02 Praveen Tiwari <Praveen Tiwari>
6934
6935 * source/common/dct.cpp, source/common/primitives.h,
6936 source/common/quant.cpp, source/common/x86/pixel-util.h,
6937 source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp:
6938 nquant optimization, downscaling qCoef from int32_t* to int16_t*
6939 [422184fd72a7]
6940
6941 2014-08-25 Praveen Tiwari <Praveen Tiwari>
6942
6943 * source/common/quant.cpp:
6944 quant.cpp, cleaned redundant code
6945 [edc1675f4414]
6946
6947 2014-09-02 Praveen Tiwari <Praveen Tiwari>
6948
6949 * source/common/dct.cpp, source/common/primitives.h,
6950 source/common/quant.cpp, source/common/vec/dct-sse41.cpp,
6951 source/test/mbdstharness.cpp:
6952 dequant_scaling optimization, downscaling quantCoef from int32_t* to
6953 int16_t*
6954 [e85f4a9235e3]
6955
6956 * source/common/x86/pixel-util8.asm:
6957 dequant_normal asm code optimization as per new interface
6958 [ac73ca63b9f3]
6959
6960 * source/common/dct.cpp, source/common/primitives.h,
6961 source/common/quant.cpp, source/common/x86/pixel-util.h,
6962 source/test/mbdstharness.cpp:
6963 dequant_normal optimization, downscaling quantCoef from int32_t* to
6964 int16_t*
6965 [ebfd59fb6351]
6966
6967 2014-08-25 Praveen Tiwari <Praveen Tiwari>
6968
6969 * source/common/dct.cpp, source/common/primitives.h,
6970 source/common/quant.cpp, source/common/x86/pixel-util.h,
6971 source/common/x86/pixel-util8.asm, source/encoder/entropy.cpp,
6972 source/test/mbdstharness.cpp:
6973 count_nonzero primitive optimization, downscaling quantCoef from
6974 int32_t* to int16_t*
6975 [dc7c61a01000]
6976
6977 2014-09-04 Anton Mitrofanov <BugMaster@narod.ru>
6978
6979 * source/common/x86/x86inc.asm:
6980 x86asm: warn when inappropriate instruction used in function with
6981 specified cpuflags
6982 [cff4428396ac]
6983
6984 2014-09-02 Ashok Kumar Mishra <ashok@multicorewareinc.com>
6985
6986 * source/Lib/TLibCommon/TComDataCU.cpp,
6987 source/Lib/TLibCommon/TComDataCU.h,
6988 source/Lib/TLibEncoder/TEncSearch.cpp,
6989 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
6990 source/encoder/entropy.cpp, source/encoder/entropy.h:
6991 TComDataCU: Reduced repeated function call to calculate depth range
6992 [73450cfe71bd]
6993
6994 2014-09-03 Satoshi Nakagawa <nakagawa424@oki.com>
6995
6996 * source/Lib/TLibCommon/TComPicYuv.cpp,
6997 source/Lib/TLibCommon/TComPicYuv.h:
6998 change index of m_buOffsetY[] from raster to zscan
6999 [95eaa1854b78]
7000
7001 2014-09-03 David T Yuen <dtyx265@gmail.com>
7002
7003 * source/Lib/TLibCommon/TComDataCU.cpp:
7004 Cleaned up TComDataCU::getQuadtreeTULog2MinSizeInCU for clarity and
7005 a bit of performance
7006 [e1c4b45b9749]
7007
7008 2014-09-01 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
7009
7010 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
7011 source/common/x86/dct8.h:
7012 asm: avx2 asm code for dct4
7013 [1e4dfa1b1a04]
7014
7015 2014-09-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7016
7017 * Merge
7018 [b686cb0abd71]
7019
7020 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
7021 source/encoder/entropy.h:
7022 entropy: cleanup codeQtRootCbf
7023 [7d81a06a1281]
7024
7025 * source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp:
7026 quant: use table for ctxCbf
7027 [99754bc87944]
7028
7029 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
7030 source/encoder/entropy.cpp, source/encoder/entropy.h:
7031 entropy: cleanup codePredMode
7032 [0c50af24fdeb]
7033
7034 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
7035 source/encoder/entropy.cpp, source/encoder/entropy.h:
7036 entropy: cleanup codeCUTransQuantBypassFlag
7037 [7b364065ee45]
7038
7039 2014-09-01 Ashok Kumar Mishra <ashok@multicorewareinc.com>
7040
7041 * source/Lib/TLibCommon/ContextTables.h,
7042 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
7043 source/encoder/entropy.h:
7044 Entropy: Replaced getCtxQtCbf() with table
7045 [8e4a0aeed2ca]
7046
7047 2014-09-04 Steve Borho <steve@borho.org>
7048
7049 * Merge with stable
7050 [a184fed3e30c]
7051
7052 * source/common/version.cpp:
7053 version: detect OpenBSD for version string (closes #76)
7054
7055 Fix from Brad Smith
7056 [821c2eef4d52] <stable>
7057
7058 * source/CMakeLists.txt:
7059 cmake: fix BSD link, only link with librt if it exists (closes #75)
7060 [139d6b2a1b19] <stable>
7061
7062 2014-09-03 Murugan Vairavel <murugan@multicorewareinc.com>
7063
7064 * source/common/x86/asm-primitives.cpp:
7065 asm: enable 16bpp primitives of cvt32to16 and cvt16to32 for all
7066 block sizes
7067 [d122845b9cc8]
7068
7069 2014-09-03 Min Chen <chenm003@163.com>
7070
7071 * source/test/mbdstharness.cpp:
7072 testbench(nquant): the Round value must be less than (2 ^ qbits)
7073 [cf9245ee6a72]
7074
7075 2014-09-03 David T Yuen <dtyx265@gmail.com>
7076
7077 * source/common/common.h, source/encoder/analysis.cpp:
7078 Resolve gcc warnings
7079
7080 * more parenthesis for macro
7081 * changed signed to unsigned int
7082 [0b13c852f029]
7083
7084 2014-09-03 Ashok Kumar Mishra <ashok@multicorewareinc.com>
7085
7086 * source/encoder/analysis.cpp:
7087 fix: hash/binary mismatch for new CU structure holds CU-specific
7088 info
7089 [00c381bf6158]
7090
7091 2014-08-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
7092
7093 * source/Lib/TLibCommon/TComDataCU.h, source/common/common.h,
7094 source/encoder/analysis.cpp, source/encoder/analysis.h:
7095 analysis: CU structure now holds CU-specific information,
7096
7097 Member fields include location inside CTU, boundary flags, offsets
7098 from CTU origin. This will help replace the soon-to-be-gone initCU
7099 and initSubCU functions.
7100 [62c4779fb0bb]
7101
7102 2014-09-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7103
7104 * source/encoder/ratecontrol.cpp:
7105 Merge with stable
7106 [c5624effb73c]
7107
7108 * source/encoder/ratecontrol.cpp:
7109 Backed out changeset: 35b2d9e774c8
7110
7111 This patch disrupted CBR runs where we were unable to hit the target
7112 bitrate. It is logically correct, but likely incomplete.
7113 [dde992b96623] <stable>
7114
7115 2014-08-30 Steve Borho <steve@borho.org>
7116
7117 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/pixel-
7118 util8.asm, source/encoder/encoder.cpp:
7119 Merge with stable
7120 [44b95661db56]
7121
7122 2014-08-25 Steve Borho <steve@borho.org>
7123
7124 * source/encoder/encoder.cpp:
7125 encoder: re-enable --cu-lossless
7126 [269ba0a6ce8c] <stable>
7127
7128 2014-08-25 Min Chen <chenm003@163.com>
7129
7130 * source/Lib/TLibEncoder/TEncSearch.cpp:
7131 search: fix decoder intra crash with --cu-lossless
7132 [572988a922a1] <stable>
7133
7134 2014-08-26 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7135
7136 * source/Lib/TLibEncoder/TEncSearch.cpp:
7137 cu-lossless: fix inter hash mistake
7138
7139 The CU needs to be re-encoded if lossless is chosen as the best
7140 mode.
7141 [5a9e01a195a0] <stable>
7142
7143 2014-08-30 Satoshi Nakagawa <nakagawa424@oki.com>
7144
7145 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
7146 asm: fix dequant_normal
7147 [3c309e5d9c8f] <stable>
7148
7149 2014-08-29 Steve Borho <steve@borho.org>
7150
7151 * source/encoder/sao.cpp:
7152 sao: fix signed loop bounds bug
7153 [4e2d9ac6d489]
7154
7155 2014-08-25 Steve Borho <steve@borho.org>
7156
7157 * source/encoder/encoder.cpp:
7158 encoder: re-enable --cu-lossless
7159 [c21ddfe6a6d9]
7160
7161 2014-08-26 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7162
7163 * source/Lib/TLibEncoder/TEncSearch.cpp:
7164 cu-lossless: fix inter hash mistake
7165
7166 The CU needs to be re-encoded if lossless is chosen as the best
7167 mode.
7168 [07291dff4048]
7169
7170 2014-08-27 Steve Borho <steve@borho.org>
7171
7172 * source/test/mbdstharness.cpp:
7173 mbdst: cleanup dequant test
7174 [b18ae1fe86b8]
7175
7176 * source/test/mbdstharness.h:
7177 mbdst: make buffers nice even size
7178 [2c70fa36659e]
7179
7180 * source/test/ipfilterharness.cpp, source/test/testharness.h:
7181 test: fix MSVC warnings
7182 [dd540cb2c6b6]
7183
7184 * source/test/mbdstharness.h:
7185 mbdst: align buffers to 32byte boundary
7186 [6f620106312e]
7187
7188 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
7189 mbdst: fix memset lengths, change MEM_CMP_SIZE to MAX_TU_SIZE
7190 [bebafa8cf718]
7191
7192 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
7193 mbdst: reshuffle varnames
7194 [58323bef4ae1]
7195
7196 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
7197 mbdst: remove redundant mintbuf buffers
7198 [1d3ba60370be]
7199
7200 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
7201 mbdst: remove unused mbuf4, rename other short output buffers
7202 [e807dcd89eae]
7203
7204 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
7205 mbdstharness: remove completely unused arrays
7206 [8a20115abc04]
7207
7208 * source/test/pixelharness.cpp, source/test/pixelharness.h:
7209 pixel: use fixed buffer allocations
7210 [cc0887e5a958]
7211
7212 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
7213 ipfilter: use fixed buffer allocations
7214 [d626070bc8c6]
7215
7216 * source/test/testbench.cpp:
7217 testbench: move test benches from stack allocations to global
7218 [8a247934f2d1]
7219
7220 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
7221 intra: use fixed buffer allocations
7222 [01f3a8e5fcc2]
7223
7224 * source/encoder/ratecontrol.cpp:
7225 Merge with stable
7226 [5426270aee62]
7227
7228 * doc/reST/cli.rst:
7229 docs: fix a typo
7230 [ce614aebb395] <stable>
7231
7232 * source/test/mbdstharness.cpp:
7233 mbdst: add missing test of dequant_scaling
7234 [d471b6de26c9]
7235
7236 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
7237 mbdst: use fixed buffer allocations, cleanup some tests
7238 [b5642a14c51f]
7239
7240 2014-08-27 Ashok Kumar Mishra <ashok@multicorewareinc.com>
7241
7242 * source/Lib/TLibEncoder/TEncSearch.cpp:
7243 TEncSearch: remove redundant function call
7244 [5d246ebff000]
7245
7246 2014-08-27 Aarthi Thirumalai <Aarthi Thirumalai>
7247
7248 * source/encoder/ratecontrol.cpp:
7249 rc: fix bug in predicting B frame bits in vbv
7250 [35b2d9e774c8] <stable>
7251
7252 2014-08-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7253
7254 * source/encoder/ratecontrol.cpp:
7255 Merge with stable
7256 [77fe0cc583e8]
7257
7258 2014-08-27 Aarthi Thirumalai <Aarthi Thirumalai>
7259
7260 * source/encoder/ratecontrol.cpp:
7261 rc: fix bitrate accuracy for vbv in fast presets.
7262 [a6c318bd69ce] <stable>
7263
7264 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
7265 rc: rename m_bframes to m_leadingBframes
7266 [c34b059dff1c] <stable>
7267
7268 2014-08-26 Steve Borho <steve@borho.org>
7269
7270 * source/Lib/TLibCommon/CommonDef.h,
7271 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
7272 source/common/common.h, source/common/deblock.cpp,
7273 source/common/param.cpp, source/encoder/frameencoder.cpp,
7274 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp:
7275 common: rename QP range macros to be consistent with x264
7276
7277 I find QP_MAX_SPEC to be a lot more self-explanatory than MAX_QP
7278 [32891b95f669]
7279
7280 * source/Lib/TLibCommon/TypeDef.h:
7281 types: remove generic TEXT_CHROMA enum, no longer used
7282 [14fae9208078]
7283
7284 * source/Lib/TLibCommon/TComPattern.cpp,
7285 source/Lib/TLibCommon/TComPattern.h:
7286 pattern: use isLuma instead of restricted TextType range
7287 [45359413afe6]
7288
7289 2014-08-25 Steve Borho <steve@borho.org>
7290
7291 * source/encoder/sao.cpp, source/encoder/sao.h:
7292 sao: don't pass member variables to functions
7293 [2d386372d543]
7294
7295 2014-08-26 Steve Borho <steve@borho.org>
7296
7297 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
7298 source/encoder/framefilter.h:
7299 framefilter: move SAO init logic into the frame filter
7300 [78804e5e360c]
7301
7302 2014-08-26 Min Chen <chenm003@163.com>
7303
7304 * source/common/x86/x86inc.asm:
7305 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
7306
7307 Ported from Henrik Gramner's recent commit to x264
7308 [090480360cb9]
7309
7310 * source/common/x86/pixel-util8.asm:
7311 asm: Minor pixel_ssim_end4 improvements
7312
7313 Reduce the number of vector registers used from 7 to 5. Eliminate
7314 some moves in the AVX implementation. Avoid bypass delays for
7315 transitioning between int and float domains.
7316
7317 Ported from Henrik Gramner's recent commit to x264
7318 [391e1fbb92cf]
7319
7320 2014-08-26 Satoshi Nakagawa <nakagawa424@oki.com>
7321
7322 * source/encoder/frameencoder.cpp:
7323 fix m_initSliceContext (uninitialised m_sliceQp)
7324 [863faab1a004]
7325
7326 2014-08-25 Min Chen <chenm003@163.com>
7327
7328 * source/Lib/TLibEncoder/TEncSearch.cpp:
7329 search: fix decoder intra crash with --cu-lossless
7330 [a0028e5b6177]
7331
7332 2014-08-25 Satoshi Nakagawa <nakagawa424@oki.com>
7333
7334 * source/Lib/TLibCommon/TComDataCU.cpp,
7335 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
7336 source/Lib/TLibCommon/TComYuv.h, source/common/deblock.cpp,
7337 source/common/param.cpp, source/common/shortyuv.h,
7338 source/common/slice.cpp, source/common/slice.h,
7339 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
7340 source/encoder/entropy.cpp, source/encoder/sao.cpp:
7341 replace g_rasterToPelX[g_zscanToRaster[idx]] by g_zscanToPelX[idx]
7342 [5acfb12ec5d1]
7343
7344 2014-08-25 Steve Borho <steve@borho.org>
7345
7346 * source/common/quant.cpp:
7347 Merge with stable
7348 [44433a2d65dd]
7349
7350 2014-08-25 Aarthi Thirumalai <Aarthi Thirumalai>
7351
7352 * source/x265.cpp:
7353 rc: don't read slicetypes from qpfile in 2nd pass.
7354
7355 slicetype has to be taken from the stats file from prev pass.
7356 [5fe473327183] <stable>
7357
7358 * source/encoder/ratecontrol.cpp:
7359 rc: write I/i slice in stats file based on whether openGop is
7360 enabled or not.
7361 [f0de8275ed4d] <stable>
7362
7363 2014-08-23 Satoshi Nakagawa <nakagawa424@oki.com>
7364
7365 * source/common/quant.cpp:
7366 fix lossless
7367 [ad31cbb8c754] <stable>
7368
7369 2014-08-23 Steve Borho <steve@borho.org>
7370
7371 * source/encoder/sao.cpp:
7372 sao: nits
7373 [e1f1e836e833]
7374
7375 2014-08-22 Steve Borho <steve@borho.org>
7376
7377 * source/encoder/sao.h:
7378 sao: remove unused m_qp member
7379 [e95c628b90ab]
7380
7381 * source/encoder/sao.cpp:
7382 sao: nit
7383 [a683fffa5245]
7384
7385 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
7386 source/encoder/framefilter.cpp, source/encoder/framefilter.h,
7387 source/encoder/sao.cpp, source/encoder/sao.h:
7388 sao: simplify entropy coder initialization [CHANGES OUTPUTS]
7389
7390 Remove the hack from the HM that preserves fract_bits from the first
7391 row to all rows; it never made any sense and we don't pretend to be
7392 anywhere near close to bit accurate with the HM anymore.
7393
7394 This commit removes the Entrppy coder in FrameFilter since it was
7395 only used by SAO and moves it into the SAO class. The startSaoEnc()
7396 method is removed entirely and another call to resetEntropy() (an
7397 expensive method) is replaced with a load of the frame encoder's
7398 m_initSliceContext
7399 [f2fc8b1e1c3f]
7400
7401 * source/encoder/sao.cpp:
7402 sao: fix inf loop bounds
7403 [6e6756f94b27]
7404
7405 * source/encoder/framefilter.cpp, source/encoder/sao.cpp:
7406 sao: fix MSVC warnings
7407 [c9cf8ae5f7a0]
7408
7409 2014-08-21 Steve Borho <steve@borho.org>
7410
7411 * source/encoder/sao.cpp:
7412 sao: minor logic simplifications and cleanups
7413 [bad70432b1d3]
7414
7415 * source/encoder/sao.cpp, source/encoder/sao.h:
7416 sao: use typedefs to simplify multi-dimensional mallocs
7417 [3881d3af896f]
7418
7419 * source/encoder/sao.cpp:
7420 sao: sChroma should have been isChroma
7421 [ff799bffbaef]
7422
7423 * source/encoder/sao.cpp:
7424 sao: handle malloc failures more cleanly
7425 [e95ae26c6afa]
7426
7427 * source/encoder/sao.cpp, source/encoder/sao.h:
7428 sao: rename shared table to m_tableBo
7429 [e02ad51211b6]
7430
7431 * source/encoder/sao.cpp, source/encoder/sao.h:
7432 sao: share m_lumaTableBo with chroma
7433 [47ab66abd2f2]
7434
7435 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
7436 source/encoder/sao.h:
7437 sao: use checked mallocs, disable SAO if any mallocs fail
7438 [e93cf3c94bc4]
7439
7440 * source/common/common.h:
7441 common: define a CHECKED_MALLOC_ZERO method to auto-reset allocated
7442 memory
7443
7444 This is mostly useful when allocating buffers containing pointers,
7445 to ensure the pointers are safe to free regardless of later malloc
7446 failures
7447 [36079a3dce67]
7448
7449 * source/Lib/TLibCommon/TComPicYuv.h, source/encoder/sao.cpp,
7450 source/encoder/sao.h:
7451 sao: move getPicYuvAddr() to TComPicYuv and simplify
7452 [eaf5eb7ae2d6]
7453
7454 * source/encoder/sao.h:
7455 sao: remove unused m_tmpYuv and an obsolete comment
7456 [87c08d2aaf56]
7457
7458 * source/encoder/sao.cpp, source/encoder/sao.h:
7459 sao: luma and chroma can share a clip table
7460 [50542271caba]
7461
7462 * source/encoder/sao.cpp:
7463 sao: unify signOf
7464 [d70e2bac56b5]
7465
7466 * source/encoder/sao.cpp, source/encoder/sao.h:
7467 sao: use more compile-time values
7468 [7fc8855656e2]
7469
7470 * source/encoder/sao.cpp, source/encoder/sao.h:
7471 sao: we don't support different bit depths between luma and chroma
7472 [d36617a8512d]
7473
7474 * source/encoder/sao.cpp, source/encoder/sao.h:
7475 sao: remove vars which are dups of params
7476 [5d67f4e4a351]
7477
7478 * source/encoder/sao.cpp, source/encoder/sao.h:
7479 sao: fix warnings
7480 [02ec546246ad]
7481
7482 * source/encoder/encoder.cpp:
7483 Merge with stable
7484 [2e17cb106b17]
7485
7486 * source/Lib/TLibEncoder/TEncSearch.cpp:
7487 search: nit
7488 [282c2c6f5ed1]
7489
7490 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
7491 nits
7492 [9cb0dfeac129]
7493
7494 * source/encoder/sao.cpp, source/encoder/sao.h:
7495 sao: convertLevelRowCol2Idx did not need to be a member function
7496 [577e65afdb8d]
7497
7498 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
7499 source/encoder/sao.h:
7500 sao: merge create/destroy methods
7501 [ed9d78aa312a]
7502
7503 * source/encoder/framefilter.cpp, source/encoder/framefilter.h,
7504 source/encoder/sao.cpp, source/encoder/sao.h:
7505 sao: use m_param directly for user-configurables
7506 [11d427f9ef26]
7507
7508 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
7509 source/encoder/sao.cpp, source/encoder/sao.h:
7510 sao: cleanup member prefixes, remove createPicSaoInfo and endSaoEnc
7511 [a2e74591f674]
7512
7513 * source/Lib/TLibCommon/TComPicSym.cpp,
7514 source/Lib/TLibCommon/TComPicSym.h,
7515 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
7516 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
7517 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
7518 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
7519 source/common/CMakeLists.txt, source/common/common.h,
7520 source/encoder/CMakeLists.txt, source/encoder/dpb.cpp,
7521 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
7522 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
7523 source/encoder/framefilter.h, source/encoder/sao.cpp,
7524 source/encoder/sao.h:
7525 pull SAO code into encoder/ and begin cleanup
7526 [6a8df5dcb412]
7527
7528 * .hgtags:
7529 Added tag 1.3 for changeset c1e4fc0162c1
7530 [2e7d1569845e] <stable>
7531
7532 * source/encoder/encoder.cpp:
7533 encoder: disable --cu-lossless until coding errors can be fixed
7534 (refs #73)
7535 [c1e4fc0162c1] [1.3] <stable>
7536
7537 2014-08-21 Satoshi Nakagawa <nakagawa424@oki.com>
7538
7539 * source/Lib/TLibCommon/CommonDef.h,
7540 source/Lib/TLibCommon/TComDataCU.cpp,
7541 source/Lib/TLibCommon/TComDataCU.h,
7542 source/Lib/TLibCommon/TComMotionInfo.h,
7543 source/Lib/TLibEncoder/TEncSearch.cpp,
7544 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/bitcost.h:
7545 simplify AMVPInfo to MV[2]
7546 [97ea21754381]
7547
7548 2014-08-20 Steve Borho <steve@borho.org>
7549
7550 * source/encoder/encoder.cpp:
7551 encoder: nit, remove obsolete comment
7552 [9461fc801cd2]
7553
7554 * source/encoder/encoder.cpp:
7555 Merge with stable
7556 [2585ce839546]
7557
7558 * source/encoder/encoder.cpp:
7559 encoder: do not allow scaling lists to be used with 4:4:4 color
7560 space (refs #72)
7561
7562 It causes hash mistakes
7563 [3badda1ceda6] <stable>
7564
7565 * source/Lib/TLibEncoder/TEncSearch.cpp:
7566 search: nit
7567 [ed7509b29be2]
7568
7569 * source/Lib/TLibEncoder/TEncSearch.cpp:
7570 Merge with stable
7571 [b4f833d41667]
7572
7573 * source/Lib/TLibEncoder/TEncSearch.cpp:
7574 search: do not skip intra tu 32x32 unless TU intra depth is deep
7575 (refs #71)
7576
7577 This may not be the best workaround for the bug, and needs a proper
7578 long term fix.
7579 [203c87c55bb3] <stable>
7580
7581 2014-08-19 David T Yuen <dtyx265@gmail.com>
7582
7583 * source/Lib/TLibEncoder/TEncSearch.cpp:
7584 Removed code that will never be executed.
7585 [4f2556521155]
7586
7587 2014-08-19 Min Chen <chenm003@163.com>
7588
7589 * source/encoder/frameencoder.cpp:
7590 fix single thread encode issue
7591 [80129b1b6260]
7592
7593 * source/encoder/entropy.cpp:
7594 cleanup: remove reduce condition check
7595 [5a174ca360f3]
7596
7597 2014-08-19 Steve Borho <steve@borho.org>
7598
7599 * source/encoder/frameencoder.cpp:
7600 Merge with stable
7601 [63cd8539e7d4]
7602
7603 * source/encoder/frameencoder.cpp:
7604 frameencoder: do not allocate noise reduction struct unless NR is
7605 enabled
7606
7607 This fixes output mismatch between asm / no-asm for 4:4:4 encodes.
7608 Why? I am not entirely sure yet, but this is an obvious bug fix.
7609 [c97a9a62bce8] <stable>
7610
7611 2014-08-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7612
7613 * source/Lib/TLibEncoder/TEncSearch.cpp:
7614 search: nit
7615 [b137f5c97c46]
7616
7617 * source/Lib/TLibEncoder/TEncSearch.cpp:
7618 search: cleanup variable names and lossless comments
7619 [c2fc2a087d4a]
7620
7621 * source/encoder/encoder.cpp:
7622 Merge with stable
7623 [75d01da6df07]
7624
7625 * source/encoder/encoder.cpp:
7626 psy-rdoq: eliminate dependency between psy-rd, psy-rdoq and rdoq.
7627
7628 RDOQ is turned on by default in rdLevels 4 and above. Psy-rdoq can
7629 be turned on if rdoq is enabled at that preset. Psy-rd can be turned
7630 on with or without rdoq/ psy-rdoq.
7631 [549c61d0436f] <stable>
7632
7633 2014-08-18 Steve Borho <steve@borho.org>
7634
7635 * source/encoder/encoder.cpp:
7636 param: correctly detect adaptive quant usage when checking --psnr
7637 [dca792ce9786] <stable>
7638
7639 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
7640 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
7641 Merge with stable
7642 [d15367360097]
7643
7644 2014-08-18 Min Chen <chenm003@163.com>
7645
7646 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
7647 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
7648 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
7649 sao: move m_upBuff* to stack, fixes (#69)
7650 [c979b32c8b51] <stable>
7651
7652 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
7653 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
7654 cleanup: remove unused m_upBuff2
7655 [8320283a7fe0] <stable>
7656
7657 2014-08-18 Steve Borho <steve@borho.org>
7658
7659 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
7660 encoder: fix deadlocks/crashes when picture is a single CTU row
7661
7662 1. if only one row per frame, disable WPP it is pointless 2. if only
7663 one row per frame, frame parallelism is (mostly) impossible 3. clamp
7664 rateControlUpdateStats() to be within row count range
7665 [eb2b3e34ea0d] <stable>
7666
7667 * source/common/param.cpp:
7668 Merge with stable
7669 [529ccfbed281]
7670
7671 * source/common/param.cpp:
7672 param: typo
7673 [b8356365135e] <stable>
7674
7675 2014-08-17 Steve Borho <steve@borho.org>
7676
7677 * source/common/quant.cpp:
7678 quant: combine psy-rdoq scale and lambda into one variable
7679
7680 Reduces the number of 64bit multiplies required per psy-value
7681 evaluation
7682 [21506c40f704]
7683
7684 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
7685 source/encoder/entropy.h:
7686 entropy: pass bIsLuma to estBit() instead of limited TextType range
7687
7688 if the only options were TEXT_LUMA or TEXT_CHROMA, it is better to
7689 use a bool argument and avoid ambiguity about TEXT_CHROMA_U or
7690 TEXT_CHROMA_V
7691 [92d07932c93c]
7692
7693 * source/common/quant.cpp, source/encoder/entropy.cpp,
7694 source/encoder/entropy.h:
7695 entropy: simplify EstBitsSbac
7696
7697 There was no reason for significantBits to be a different type than
7698 all the other fix15 bit costs. And NUM_QT_ROOT_CBF_CTX is 1
7699 [b37e0a8471ca]
7700
7701 2014-08-18 Steve Borho <steve@borho.org>
7702
7703 * source/common/param.cpp:
7704 Merge with stable
7705 [13651e65b820]
7706
7707 * source/encoder/encoder.cpp, source/encoder/encoder.h:
7708 encoder: remove m_maxCuDQPDepth, simplify dqp logic
7709 [9f038f7a2eb6]
7710
7711 2014-08-18 Satoshi Nakagawa <nakagawa424@oki.com>
7712
7713 * source/Lib/TLibCommon/TComDataCU.cpp,
7714 source/Lib/TLibCommon/TComDataCU.h,
7715 source/Lib/TLibCommon/TComPattern.cpp,
7716 source/Lib/TLibCommon/TComPicSym.cpp,
7717 source/Lib/TLibCommon/TComPicSym.h,
7718 source/Lib/TLibCommon/TComPicYuv.cpp,
7719 source/Lib/TLibCommon/TComPicYuv.h,
7720 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
7721 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
7722 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/deblock.cpp,
7723 source/common/deblock.h, source/common/frame.cpp,
7724 source/common/frame.h, source/common/param.cpp,
7725 source/common/slice.h, source/encoder/analysis.cpp,
7726 source/encoder/analysis.h, source/encoder/cturow.cpp,
7727 source/encoder/cturow.h, source/encoder/encoder.cpp,
7728 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
7729 refine depth related.
7730
7731 maxCUDepth: CU depth maxFullDepth: CU+TU or CU+PU depth unitSize:
7732 always 4
7733 [0eab29da63d3]
7734
7735 2014-08-18 Steve Borho <steve@borho.org>
7736
7737 * source/x265.cpp:
7738 cli: fix help syntax
7739 [6a1b41049f71] <stable>
7740
7741 * source/common/param.cpp:
7742 param: add psy-rd and psy-rdoq to param2string (for info SEI and
7743 stats file)
7744 [0e4558e42ccc] <stable>
7745
7746 * source/x265.cpp:
7747 cli: update psy-rdoq rangw in CLI help
7748 [cda8e5c21a9b] <stable>
7749
7750 2014-08-16 Steve Borho <steve@borho.org>
7751
7752 * source/encoder/cturow.h, source/encoder/entropy.h,
7753 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
7754 ctu: optimize away per-row bitstream coders, no output changes
7755
7756 They were really only being used to hold the proper initial state
7757 for each row. This avoids an entropy load/save per CU in
7758 encodeSlice() and while I was in the area I removed another pile of
7759 resetEntropy() calls. The initial slice entropy state is calculated
7760 once and then kept in the frame encoder for all future uses.
7761 [dd594e7362e2]
7762
7763 * source/encoder/analysis.cpp, source/encoder/analysis.h,
7764 source/encoder/cturow.cpp, source/encoder/entropy.cpp,
7765 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
7766 analysis: move encodeCU() methods and friends to Entropy
7767
7768 This function only encodes a fully finished CTU; it is performing no
7769 analysis and it needs none of the features or members of the
7770 Analysis class. It is much more clear as a member of the Entropy
7771 class.
7772
7773 Note: the way bEncodeDQP is communicated is a huge mess and needs to
7774 be cleaned up soon. And finishCU() can also likely be hugely
7775 simplified
7776 [bb6ea1337d82]
7777
7778 2014-08-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7779
7780 * Merge with stable
7781 [2c68dc7e3827]
7782
7783 * source/encoder/analysis.cpp:
7784 analysis: missing braces caused a bug in CABAC context save for rd=2
7785 [5d5a4c09182d] <stable>
7786
7787 2014-08-18 Tom Vaughan <tom.vaughan@multicorewareinc.com>
7788
7789 * doc/reST/introduction.rst:
7790 introduction.rst edited online with Bitbucket
7791 [9a0d24274357]
7792
7793 * doc/reST/introduction.rst:
7794 introduction.rst edited online with Bitbucket - added link to MPEG-
7795 LA
7796 [bff42bfd0652]
7797
7798 2014-08-16 Steve Borho <steve@borho.org>
7799
7800 * doc/reST/cli.rst:
7801 rest: fix typo, document default psy-rdoq value
7802 [87400d5c90aa] <stable>
7803
7804 * build/regression/01build-and-smoke-test.bat,
7805 build/regression/02perftest.bat, build/regression/commandlines-
7806 example.txt, build/regression/config-example.txt, build/regression
7807 /email-csv.py, build/regression/run.bat,
7808 source/Lib/TLibCommon/TComLoopFilter.cpp,
7809 source/Lib/TLibCommon/TComLoopFilter.h,
7810 source/Lib/TLibCommon/TComPrediction.cpp,
7811 source/Lib/TLibCommon/TComPrediction.h,
7812 source/Lib/TLibCommon/TComSlice.cpp,
7813 source/Lib/TLibCommon/TComSlice.h,
7814 source/Lib/TLibCommon/TComTrQuant.cpp,
7815 source/Lib/TLibCommon/TComTrQuant.h,
7816 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
7817 source/Lib/TLibEncoder/SyntaxElementWriter.h,
7818 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
7819 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
7820 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
7821 source/Lib/TLibEncoder/TEncEntropy.cpp,
7822 source/Lib/TLibEncoder/TEncEntropy.h,
7823 source/Lib/TLibEncoder/TEncSbac.cpp,
7824 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/compress.cpp:
7825 merge with default, feature freeze for 1.3
7826 [24a79f4d6f72] <stable>
7827
7828 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp,
7829 source/x265.cpp:
7830 param: enable --fast-intra for all fast modes and turbo first-pass,
7831 document
7832 [866f21378d94]
7833
7834 * source/encoder/slicetype.cpp:
7835 slicetype: use fast intra scan unconditionally in lookahead
7836
7837 We don't want the lookahead output to be variable depending on
7838 --fast-intra since this would make two-pass turbo mode more
7839 difficult.
7840 [c01a334a1043]
7841
7842 2014-08-15 Steve Borho <steve@borho.org>
7843
7844 * doc/reST/cli.rst:
7845 rest: improve documentation for psycho-visual options
7846 [184748d40276]
7847
7848 2014-08-16 Steve Borho <steve@borho.org>
7849
7850 * source/encoder/analysis.cpp:
7851 analysis: nits
7852 [6b14a488d586]
7853
7854 * source/common/quant.cpp, source/common/quant.h,
7855 source/encoder/cturow.cpp, source/encoder/frameencoder.cpp:
7856 quant: set lambdas at the same time quant QP is configured
7857 [eb23702aacd8]
7858
7859 2014-08-15 Steve Borho <steve@borho.org>
7860
7861 * source/common/param.cpp:
7862 param: re-enable psy-rdoq range check for [0..10], print with two
7863 digits
7864 [1710b46949f2]
7865
7866 * source/encoder/rdcost.h:
7867 rdcost: add arbitray scale to make --psy-rd 0..2 range give
7868 acceptable quality
7869 [8d48e5e726cd]
7870
7871 * source/common/quant.cpp, source/common/quant.h,
7872 source/encoder/frameencoder.cpp:
7873 quant: scale psy-rdoq by lambda
7874
7875 Using L1 lambda in RDO is unorthodox, but we already do the same
7876 thing with psy-rd energy and it seems to work decently well here
7877 weighting the reconstructed DCT coeff against the RD cost in psy-
7878 rdoq.
7879
7880 The goal is for psy-rdoq 1 to be a safe and sane default
7881 [810151a75aed]
7882
7883 2014-08-14 Steve Borho <steve@borho.org>
7884
7885 * source/encoder/analysis.cpp:
7886 analysis: avoid MSVC uninitialized variable warning
7887 [4c09d2ef5f1b]
7888
7889 * source/common/quant.cpp:
7890 quant: use optimized primitive for transquant bypass in
7891 invTransformNxN
7892 [ef25a0e7de3b]
7893
7894 * doc/reST/cli.rst, source/common/param.cpp:
7895 param: don't allow turbo mode to increase rd-level, improve docs
7896 [c4f0bbad98cf]
7897
7898 * source/encoder/analysis.cpp:
7899 analysis: use macro and for-loop to simplify fast-intra
7900
7901 this changes behavior a bit; it's trying both +/-1 offsets instead
7902 of just one. and it has to do one extra check at the end since mode
7903 34 isn't reached by the other previous loops
7904 [07138e6ac952]
7905
7906 2014-08-14 David T Yuen <dtyx265@gmail.com>
7907
7908 * source/encoder/analysis.cpp:
7909 Added fast intra search option to Analysis::checkIntraInInter_rd0_4
7910 [213f17c1492c]
7911
7912 2014-08-14 Steve Borho <steve@borho.org>
7913
7914 * source/encoder/analysis.cpp:
7915 nit
7916 [08e9d25e2c72]
7917
7918 * source/common/x86/asm-primitives.cpp:
7919 asm: fix HIGH_BIT_DEPTH build again
7920 [7da2b731de30]
7921
7922 * source/encoder/analysis.cpp:
7923 analysis: white-space nits, possibly exposing a logic bug
7924 [e5083cf64df0]
7925
7926 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
7927 source/Lib/TLibCommon/TComYuv.cpp:
7928 remove predict.h includes from TLibCommon/
7929 [e66dbb50403b]
7930
7931 * source/common/quant.cpp:
7932 quant: + has higher precedence than ?; use parens to fix
7933 unquantShift logic
7934 [e62f74712a16]
7935
7936 2014-08-14 Satoshi Nakagawa <nakagawa424@oki.com>
7937
7938 * source/Lib/TLibCommon/TComPattern.cpp,
7939 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
7940 source/common/common.h, source/common/intrapred.cpp,
7941 source/common/x86/asm-primitives.cpp, source/encoder/predict.cpp:
7942 replace IntraFilterType[][] to IntraFilterFlags[] (aboid *35)
7943 [5ccdcc853810]
7944
7945 2014-08-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7946
7947 * source/encoder/slicetype.cpp:
7948 slicetype: initialise lowmode to 4.
7949 [6b741cce14ac]
7950
7951 2014-08-13 Steve Borho <steve@borho.org>
7952
7953 * source/common/common.h, source/common/x86/asm-primitives.cpp,
7954 source/common/x86/pixel-util.h, source/encoder/predict.h:
7955 fix HIGH_BIT_DEPTH compile on Windows
7956
7957 something included by predict.h breaks pixel-util.h for MSVC; so
7958 move the filter table to common.h. It wasn't quite proper for asm-
7959 primitives.cpp to include a header from encoder/ anyway.
7960 [3d3bc732b9e7]
7961
7962 * source/common/quant.cpp:
7963 quant: typo
7964 [889f69d56b7e]
7965
7966 * source/common/quant.cpp:
7967 quant: update comment for UNQUANT macro
7968 [7c7d35fe1a14]
7969
7970 * source/common/quant.cpp:
7971 quant: simplify UNQUANT() variables
7972 [9ad7668756f7]
7973
7974 2014-08-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7975
7976 * source/common/quant.cpp, source/common/scalinglist.cpp:
7977 quant: remove extra upshift by 4 in s_invQuantScales
7978
7979 Adding 4 to unQuantPer was a bug, since unQuantScale was already
7980 upshifted by 4.
7981 [1921583cf797]
7982
7983 2014-08-13 Min Chen <chenm003@163.com>
7984
7985 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/quant.cpp,
7986 source/common/quant.h, source/encoder/cturow.cpp,
7987 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
7988 move m_estBitsSbac from Quant to Entropy
7989 [d66e257ace32]
7990
7991 * source/common/common.h, source/common/dct.cpp,
7992 source/common/primitives.h, source/common/quant.cpp,
7993 source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
7994 source/common/x86/dct8.h, source/encoder/frameencoder.cpp,
7995 source/encoder/frameencoder.h:
7996 asm: integrate denoise_dct, malloc NoiseReduction for alignment
7997 [da6077b713c9]
7998
7999 2014-08-13 Steve Borho <steve@borho.org>
8000
8001 * source/common/scalinglist.cpp, source/common/scalinglist.h:
8002 scaling: remove array of rarely used trivially calculated values
8003 [ebf2d550938c]
8004
8005 * source/common/scalinglist.cpp, source/common/scalinglist.h,
8006 source/encoder/entropy.cpp:
8007 scaling: remove s_numListsAtSize[], it is 6 at every size
8008 [a2368a224ab3]
8009
8010 * source/encoder/predict.cpp, source/encoder/predict.h:
8011 predict: nits
8012 [0a9d6594872d]
8013
8014 * source/encoder/predict.cpp:
8015 predict: prevent MSVC warning about int to bool conversion
8016 [c87f14ecb186]
8017
8018 2014-08-13 Aarthi Thirumalai <Aarthi Thirumalai>
8019
8020 * source/Lib/TLibEncoder/TEncSearch.cpp,
8021 source/Lib/TLibEncoder/TEncSearch.h,
8022 source/encoder/frameencoder.cpp:
8023 refactor: cleanup setting up of lambda
8024
8025 move initialising qp and lambda manipulations in one place. remove
8026 TEncSearch::setQP - misleading function name.
8027 [0f9e8b2c0ece]
8028
8029 * doc/reST/cli.rst, source/x265.cpp:
8030 cli: nits. fix typo
8031 [740b794a19fe]
8032
8033 * source/encoder/frameencoder.cpp:
8034 rc: bug fix - m_avgQpAq can be from 0-69.
8035
8036 It is already set within RateControl
8037 [1dc741719013]
8038
8039 2014-08-13 Steve Borho <steve@borho.org>
8040
8041 * source/x265.cpp:
8042 cli: free param structures on early-outs
8043 [03ea314a6e9d]
8044
8045 * source/common/x86/asm-primitives.cpp:
8046 asm: fix HIGH_BIT_DEPTH link problems
8047 [4ac29f78756c]
8048
8049 * source/encoder/slicetype.cpp:
8050 slicetype: adjust variable scoping to avoid GCC warnings
8051 [12c265f0e413]
8052
8053 * source/encoder/slicetype.cpp:
8054 slicetype: nit
8055 [d43e9a6a7cce]
8056
8057 * source/CMakeLists.txt:
8058 cmake: bump build number
8059 [44b784c61455]
8060
8061 2014-08-12 David T Yuen <dtyx265@gmail.com>
8062
8063 * source/common/param.cpp, source/encoder/slicetype.cpp,
8064 source/encoder/slicetype.h, source/x265.cpp, source/x265.h:
8065 Added fast intra search option
8066
8067 This version calls intra_pred_allangs to create the predictions then
8068 the faster search with satd
8069 [d22dfb9df30f]
8070
8071 * source/Lib/TLibCommon/TComPattern.cpp, source/common/intrapred.cpp,
8072 source/encoder/predict.cpp, source/encoder/predict.h:
8073 Moved IntraFilterType from intrapred.cpp to predict.h to make it
8074 available
8075
8076 and replace Predict::filteringIntraReferenceSamples
8077 [f47c3e4be76c]
8078
8079 2014-08-12 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
8080
8081 * source/encoder/analysis.cpp:
8082 analysis: check for proper cost
8083
8084 Throws error when psyrd is enabled since cost is stored in
8085 m_totalPsyCost and m_totalRDCost has MAX_INT64
8086 [91ccff0ca74b]
8087
8088 2014-08-12 Steve Borho <steve@borho.org>
8089
8090 * source/common/quant.h:
8091 quant: initialize qp to impossible value so first set always works
8092
8093 A bug spotted by valgrind
8094 [8a7f4bb1d1be]
8095
8096 2014-08-12 Satoshi Nakagawa <nakagawa424@oki.com>
8097
8098 * source/Lib/TLibCommon/TComDataCU.cpp,
8099 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
8100 source/common/param.cpp, source/encoder/encoder.cpp:
8101 replace g_convertToBit[] to g_log2Size[] const table
8102 [945e071f491f]
8103
8104 2014-08-11 Min Chen <chenm003@163.com>
8105
8106 * source/common/x86/asm-primitives.cpp,
8107 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
8108 asm: AVX2 version cvt32to16_shl
8109 [23d58a1819c7]
8110
8111 2014-08-10 Satoshi Nakagawa <nakagawa424@oki.com>
8112
8113 * source/common/dct.cpp, source/common/primitives.h,
8114 source/common/quant.cpp, source/common/x86/pixel-util.h,
8115 source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp:
8116 quant: remove scaledCoeff from nquant()
8117 [2bdcfcc1bb33]
8118
8119 2014-08-10 Aarthi Thirumalai <Aarthi Thirumalai>
8120
8121 * source/encoder/ratecontrol.cpp:
8122 rc: nits; add LF in frame stats of 2 pass
8123 [94d9a0d50837]
8124
8125 2014-08-10 Steve Borho <steve@borho.org>
8126
8127 * source/encoder/level.cpp:
8128 level: signal profile/level NONE if non-compliant configuration is
8129 found
8130
8131 Once you get above a certain resolution, the CTU size must be at
8132 least 32. There is no level that supports a smaller CTU, so signal
8133 level NONE. It's my understanding that you cannot signal a profile
8134 if the level is NONE, so we reset profile to NONE as well.
8135
8136 The same is true if NumPocTotalCurr is greater than 8; there are no
8137 levels which support values that high. Instead of signaling the
8138 closest level, we should signal profile/level NONE
8139 [7965aacd35ae]
8140
8141 2014-08-09 Steve Borho <steve@borho.org>
8142
8143 * source/common/quant.cpp:
8144 quant: improve flow and comments for last non-zero refinement
8145 [6e4eb8542203]
8146
8147 * source/common/quant.cpp:
8148 quant: comment improvements
8149 [c9dd47a21b48]
8150
8151 * source/common/quant.cpp, source/common/quant.h:
8152 quant: remove floating point operations from RDOQ [CHANGES OUTPUTS]
8153
8154 The output changes are minor. On modern CPUs the performance benefit
8155 of this change is negligable since SSE double operations are similar
8156 in performance to int64 operations. As a future optimization, we
8157 need to figure out how to multiply lambda2 (FIX8 24bits) by signal
8158 cost (FIX15 24bits) using 32-bit integers since 32bit multiply is
8159 significantly cheaper than 64bit integer multiply.
8160
8161 Similarly, unquantAbsLevel can be larger than 16bits so multiplation
8162 is done with int64. Note that we use signed int64 because with psy-
8163 rdoq the costs could go negative.
8164 [4f1ce079b4a4]
8165
8166 * source/common/quant.cpp, source/common/quant.h:
8167 quant: cleanup chroma QP function
8168
8169 With a unique function name, protected access, and only called from
8170 one location, the ttype check could be removed.
8171 [5132c37cdb38]
8172
8173 * source/common/quant.h:
8174 quant: header cleanups, no functional change
8175 [33c6c661905c]
8176
8177 * source/common/quant.cpp:
8178 quant: use standard rd cost formula for sign-hiding [CHANGES
8179 OUTPUTS]
8180
8181 The previous RD formula was simply inexplicable, though it did work
8182 fairly well.
8183
8184 Old approach: deltaU[blkPos] = (scaledCoeff[blkPos] - ((int)level <<
8185 qbits)) >> (qbits - 8); int64_t invQuant =
8186 ScalingList::s_invQuantScales[rem] << per; int64_t rdFactor =
8187 (int64_t)((invQuant * invQuant) / (lambda2 * 16) + 0.5); costUp =
8188 rdFactor * (-deltaU[blkPos]) + rateIncUp[blkPos];
8189 - wat? -
8190
8191 New approach: int d = abs(signCoef) - UNQUANT(absLevel + 1); costUp
8192 = (((uint64_t)(d * d)) << scaleBits) + lambda2 * rateIncUp[blkPos];
8193
8194 Using this approach the results are nearly the same (they appear to
8195 be slightly better) but now we can probably add psycho-visual
8196 tunings to the sign hiding feature
8197 [e18b85eeb6c5]
8198
8199 * source/common/quant.cpp:
8200 quant: do not check CG bitmap for implied-present coeff groups
8201 [220e217152cf]
8202
8203 * source/common/quant.cpp:
8204 quant: reduce conditional expression depths (mostly for readability)
8205 [95b1d7535af8]
8206
8207 2014-08-08 Steve Borho <steve@borho.org>
8208
8209 * source/common/quant.cpp:
8210 quant: avoid an extra shift by adjusting the unquant coeff shift
8211 [4003cbf60782]
8212
8213 * source/common/quant.cpp:
8214 quant: improve variable names and comments (no behavior change)
8215 [d6723db1e8ec]
8216
8217 * source/encoder/entropy.cpp:
8218 entropy: simplify sign hide flag
8219 [84acc8eb8d9c]
8220
8221 2014-08-07 Min Chen <chenm003@163.com>
8222
8223 * source/common/pixel.cpp, source/common/primitives.h,
8224 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
8225 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
8226 source/test/pixelharness.cpp, source/test/pixelharness.h:
8227 asm: cvt32to16_shl[*] for TSkip
8228 [091a63164c41]
8229
8230 * source/common/pixel.cpp, source/common/primitives.h,
8231 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
8232 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
8233 source/test/pixelharness.cpp, source/test/pixelharness.h:
8234 asm: cvt16to32_shr[*] for TSkip
8235 [8cd2e8c9a3ba]
8236
8237 2014-08-08 Satoshi Nakagawa <nakagawa424@oki.com>
8238
8239 * source/common/quant.cpp:
8240 denoise: fix numCoeff (bug from 42b1d7c17510)
8241 [ef2602935c59]
8242
8243 2014-08-07 Steve Borho <steve@borho.org>
8244
8245 * source/common/x86/asm-primitives.cpp, source/test/testbench.cpp:
8246 main10: create a hybrid all-angs primitve for 16bpp compiles
8247
8248 The all-angs primitive is highly optimized assembly code that avoids
8249 a lot of redundant work. The all-angs C ref is horribly slow, doing
8250 redundant work to mimic the output of the all-angs assembly code.
8251 Since we have no high bit depth assembly for these functions, we'll
8252 use a shim C function that works very similar to the C ref but it at
8253 least uses optimized primitives.
8254
8255 intra_allangs4x4 3.64x 6619.54 24097.30 intra_allangs8x8 5.66x
8256 13722.49 77694.97 intra_allangs32x32 4.57x 246943.81 1129159.50
8257
8258 before: encoded 1253 frames in 104.37s (12.01 fps), 366.08 kb/s,
8259 SSIM Mean Y: 0.9889624 (19.571 dB)
8260
8261 after: encoded 1253 frames in 95.62s (13.10 fps), 366.08 kb/s, SSIM
8262 Mean Y: 0.9889624 (19.571 dB)
8263 [33702c567e50]
8264
8265 * source/encoder/entropy.cpp:
8266 entropy: remove implicit memset from constructor
8267
8268 Before we do further refactors, we want Entropy instances allocated
8269 on the stack to not perform any needless initialization work
8270 [49b593197330]
8271
8272 * source/encoder/entropy.cpp, source/encoder/entropy.h:
8273 entropy: pad size of context array to 32 * 5 bytes
8274 [f6e38749049c]
8275
8276 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp,
8277 source/encoder/entropy.h:
8278 entropy: remove ContextModel structure, use uint8_t directly
8279 [04567c40dae5]
8280
8281 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp:
8282 entropy: remove bBinsCoded from ContextModel (no more users)
8283 [4297617da24c]
8284
8285 * source/common/slice.h, source/encoder/encoder.cpp,
8286 source/encoder/entropy.cpp, source/encoder/entropy.h,
8287 source/encoder/frameencoder.cpp:
8288 entropy: disable signaling of CABAC init state
8289
8290 This flag, which was already disabled when frame parallelism is in
8291 use (which is nearly always) was of limited utility. It did not
8292 improve compression efficiency by any measurable amount, and it was
8293 expensive to compute. But the quality which made it expendable was
8294 that it was the only user of the bBinsCoded flag in the
8295 ContextModel; forcing us to copy twice as much data every time we
8296 copy a context.
8297
8298 With this feature removed, the context model can be reduced to a
8299 single uint8_t state variable.
8300 [3fdb78507aea]
8301
8302 * source/encoder/frameencoder.cpp:
8303 frameencoder: nit
8304 [b89417dfa782]
8305
8306 * source/encoder/frameencoder.cpp:
8307 frameencoder: avoid redundant calls to resetEntropy()
8308
8309 All of the entropy coders need to be reset to the same state at the
8310 start of the frame's analysis. There is no point in re-calculating
8311 this initial state repeatedly for each row
8312 [83880abea807]
8313
8314 * source/common/quant.cpp:
8315 quant: avoid runtime check of transform shift size
8316 [8e68a1db7c04]
8317
8318 2014-08-07 Ashok Kumar Mishra <ashok@multicorewareinc.com>
8319
8320 * source/encoder/analysis.cpp:
8321 analysis: cleanup
8322 [8e45fc7c5521]
8323
8324 2014-08-07 Aarthi Thirumalai <Aarthi Thirumalai>
8325
8326 * source/common/param.cpp:
8327 rc: set rdlevel to 2 in fast first pass for multipass encode.
8328
8329 increases speed of the first pass by over 70% in the slower presets
8330 with almost the same quality in the final pass.
8331 [5a0e2a7f9ad3]
8332
8333 2014-08-07 Satoshi Nakagawa <nakagawa424@oki.com>
8334
8335 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
8336 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
8337 source/common/primitives.cpp, source/common/primitives.h,
8338 source/common/shortyuv.cpp, source/common/x86/asm-primitives.cpp,
8339 source/common/x86/ipfilter16.asm, source/common/x86/pixel-util.h,
8340 source/common/x86/pixel-util8.asm, source/common/x86/pixeladd8.asm,
8341 source/common/x86/x86util.asm, source/encoder/analysis.cpp,
8342 source/test/pixelharness.cpp:
8343 asm: cleanup unused sub_ps and add_ps
8344
8345 sub_ps and add_ps are used by CU or TU level, not PU level.
8346 [c29e37317d46]
8347
8348 2014-08-07 Steve Borho <steve@borho.org>
8349
8350 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp:
8351 entropy: remove m_ prefix from ContextModel.state, other nits
8352 [029563495b6e]
8353
8354 2014-08-06 Steve Borho <steve@borho.org>
8355
8356 * source/common/param.cpp:
8357 param: log noise reduction use/strength
8358 [619633a933f6]
8359
8360 * source/Lib/TLibEncoder/TEncSearch.cpp,
8361 source/Lib/TLibEncoder/TEncSearch.h, source/common/slice.h,
8362 source/encoder/frameencoder.cpp:
8363 refactor: move motion reference pointers from TEncSearch to Slice
8364
8365 The actual storage for the MotionReference instances lives in the
8366 FrameEncoder, to save memory, but we don't want the analysis code to
8367 be aware of the FE so we give it a pointer to this array. Having
8368 that pointer live in TEncSearch forces us to update this pointer
8369 each time a worker thread starts a new job.
8370
8371 Having the pointer in Slice means we only have to set it once, when
8372 the slice first starts to be encoded. And having this pointer next
8373 to the RPS data in the slice header makes this more coherent.
8374 [03de9eef4244]
8375
8376 * source/common/common.h, source/common/quant.cpp,
8377 source/encoder/frameencoder.cpp:
8378 denoise: further cleanups
8379
8380 x264 used buffer pointers so that they could swap between normal
8381 denoise and "emergency denoise" when the QP became very high. We do
8382 not have an emergency denoise and thus we don't need these pointers
8383 at this time. This simplifies initialization and update logic.
8384 [94cefc095d2f]
8385
8386 2014-08-06 Praveen Tiwari <Praveen Tiwari>
8387
8388 * source/common/common.h, source/encoder/frameencoder.cpp:
8389 noise reduction, cleaned unused buffer space
8390 [ba6729e34f77]
8391
8392 * source/common/quant.cpp, source/encoder/frameencoder.cpp:
8393 noise reduction, use all eight categories of transform for inter
8394 blocks
8395 [e0d08da20e7f]
8396
8397 2014-08-06 Aarthi Thirumalai <Aarthi Thirumalai>
8398
8399 * source/encoder/ratecontrol.cpp:
8400 rc : nit
8401 [02d805ee3d38]
8402
8403 2014-08-05 Min Chen <chenm003@163.com>
8404
8405 * source/common/x86/asm-primitives.cpp,
8406 source/common/x86/blockcopy8.asm, source/common/x86/const-a.asm:
8407 asm: cvt16to32_cnt[32x32] for TSkip
8408 [ca70276334d2]
8409
8410 2014-08-05 Satoshi Nakagawa <nakagawa424@oki.com>
8411
8412 * source/common/pixel.cpp, source/common/primitives.h,
8413 source/common/x86/asm-primitives.cpp,
8414 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
8415 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.asm,
8416 source/common/x86/ipfilter8.h, source/common/x86/mc-a.asm,
8417 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
8418 source/common/x86/pixel.h, source/common/x86/pixeladd8.asm,
8419 source/test/ipfilterharness.cpp, source/test/pixelharness.cpp,
8420 source/test/testbench.cpp, source/test/testharness.h:
8421 primitives for RExt
8422 [c473f49e2818]
8423
8424 2014-08-05 Santhoshini Sekar <santhoshini@multicorewareinc.com>
8425
8426 * source/Lib/TLibCommon/TComPattern.cpp,
8427 source/Lib/TLibCommon/TComPattern.h:
8428 TComPattern: remove redundant functions used for CIP
8429 [56eaac5d6410]
8430
8431 2014-08-05 Steve Borho <steve@borho.org>
8432
8433 * source/Lib/TLibEncoder/TEncSearch.cpp:
8434 me: clip motion search area to signaled motion vector length limits
8435 [0d4723a0080c]
8436
8437 2014-08-04 Steve Borho <steve@borho.org>
8438
8439 * source/common/cpu.cpp, source/common/x86/const-a.asm,
8440 source/common/x86/cpu-a.asm, source/common/x86/mc-a.asm,
8441 source/common/x86/mc-a2.asm, source/common/x86/pixel-a.asm,
8442 source/common/x86/pixel.h, source/common/x86/sad-a.asm,
8443 source/common/x86/ssd-a.asm, source/common/x86/x86inc.asm:
8444 asm: asm header updates
8445 [22b1b01b95aa]
8446
8447 2014-08-04 Min Chen <chenm003@163.com>
8448
8449 * source/common/x86/asm-primitives.cpp,
8450 source/common/x86/blockcopy8.asm, source/common/x86/const-a.asm:
8451 asm: cvt16to32_cnt[16x16] for TSkip
8452 [1760c267c1e9]
8453
8454 2014-08-04 Steve Borho <steve@borho.org>
8455
8456 * source/common/quant.cpp, source/common/scalinglist.cpp,
8457 source/common/scalinglist.h:
8458 quant: change how RDOQ measures distortion [CHANGES OUTPUTS]
8459
8460 RDOQ, as it was written in the HM, expects scaled level values to be
8461 output by quant; these are the output levels multiplied by the
8462 quantizing coeffificient but without the rounding factor and without
8463 the downshift. It would then measure distortion as the difference
8464 between this scaled level and level << qbits (a rough unquant). To
8465 make this math work, it was pre-calculating an error scale factor
8466 (per block position, since the quantization coefficients can vary)
8467 which divided the result by the squared scale factor and upshifting
8468 to simultaneously account for the FIX15 nature of the signaling
8469 costs and the uniform scaling of the forward transform. To roughly
8470 summarize:
8471
8472 errScale = (1 << (15 - 2 * transformShift)) / (quantCoeff[i] *
8473 quantCoeff[i]) levelScaled = level * quantCoeff[i] distortion =
8474 levelScaled - (level << qbits); cost = distortion * distortion *
8475 errScale + lambda2 * bitsFix15
8476
8477 It was forced to use floating point math for the errScale and
8478 distortion calculations, and thus did not bother with fixed point
8479 math for lambda2.
8480
8481 This commit changes the distortion measurement to be the difference
8482 between the original (pre-quantization) DCT coefficient and the
8483 unquantized level.
8484
8485 unquantAbsLevel = (level * quantCoeff[i] + pad) >> shift;
8486 distortion = unquantAbsLevel - abs(signCoef); distScale = 1 << (15 -
8487 2 * transformShift); cost = distortion * distortion << distScale +
8488 lambda2 * bitsFix15
8489
8490 Note that the same scale factor is still required to account for the
8491 FIX15 bit cost and the forward DCT scale but now it is a simple
8492 shift operation.
8493
8494 This commit does not change the data types; that will be a later
8495 commit once the dynamic ranges have been properly evaluated. And
8496 deltaU[], used by sign hiding, is left using the scaled level cost
8497 basis for now.
8498 [da57b1e8ac58]
8499
8500 * source/common/quant.cpp:
8501 psy-rdoq: fix unquant shift factors
8502
8503 dequant coefficients are made with s_invQuantScales[rem] << 4, so to
8504 perform an unquant we must remove those four bits from dequantCoeff
8505 [08304a298065]
8506
8507 * source/common/quant.cpp:
8508 quant: remove TODO comment
8509
8510 Yes, there is a reason to check maxAbsLevel < 3 here, diffLevel
8511 below can only be 0, 1, or 2.
8512 [ae7c5f4a842d]
8513
8514 2014-08-01 Aarthi Thirumalai <Aarthi Thirumalai>
8515
8516 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
8517 source/common/param.h, source/encoder/api.cpp, source/x265.cpp,
8518 source/x265.h:
8519 rc: add slow first pass as option. set turbo first pass as default
8520 in 2 pass
8521 [c5f2a20e6f4c]
8522
8523 2014-08-04 Santhoshini Sekar <santhoshini@multicorewareinc.com>
8524
8525 * source/encoder/encoder.cpp:
8526 bugfix: disable aq only when both aq-strength and cu-tree is off
8527
8528 AQ can be on when cutree is on even if aq-strength is 0.Do not force
8529 aq to be off whenever aq strength is 0.
8530 [44eb5e05423a]
8531
8532 2014-08-04 Steve Borho <steve@borho.org>
8533
8534 * source/common/quant.cpp:
8535 psy-rdoq: include psy-cost in uncoded coefficient distortion
8536
8537 Without this adjustment, uncoded coefficients were possibly being
8538 penalized over coded ones with less psy value.
8539 [8edb2a5f3379]
8540
8541 2014-08-03 Steve Borho <steve@borho.org>
8542
8543 * source/test/pixelharness.cpp:
8544 pixelharness: fix MSVC warning about intptr_t conversion to int
8545 [a2095baa3cbd]
8546
8547 * source/common/quant.cpp:
8548 quant: nit
8549 [774dc8b6a535]
8550
8551 * source/encoder/entropy.cpp:
8552 entropy: cleanup calcCost, add EMMS for float safety
8553 [b2ee9de29995]
8554
8555 * source/common/quant.cpp:
8556 quant: assign a signal cost of zero to zero coeff after lastNZ
8557
8558 This stack variable was uninitialized otherwised, and could have
8559 been used during the optimization of lastNZ
8560 [7f550011c40f]
8561
8562 * source/common/quant.cpp:
8563 quant: rdStats -> cgRdStats
8564 [4addf282bf76]
8565
8566 * source/common/quant.cpp:
8567 quant: cleanup coeff group zero-check code
8568 [545d1ae4375b]
8569
8570 * source/common/quant.cpp:
8571 quant: sign hide nits
8572 [59398cdff016]
8573
8574 * source/common/quant.cpp:
8575 quant: denoise nits
8576 [42b1d7c17510]
8577
8578 * source/common/quant.cpp, source/common/quant.h:
8579 quant: don't pass member variable to class method
8580 [7d727cd9bc63]
8581
8582 * source/common/quant.cpp, source/common/quant.h:
8583 quant: inline the quant method, only called from transformNxN
8584 [f55d750331aa]
8585
8586 * source/common/quant.cpp, source/common/quant.h:
8587 quant: disallow psy-rdoq if transformSkip was used
8588
8589 psy-rdoq is not possible without a transform. Or said another way,
8590 we would need a different psy-rdoq approach for transform skip
8591 [ede3a4679d98]
8592
8593 * source/common/quant.cpp:
8594 quant: comment nits
8595 [c97672cee4c3]
8596
8597 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/quant.cpp,
8598 source/common/quant.h:
8599 quant: remove curUseRDOQ argument from transformNxN, always true
8600 [c01f8fd0985f]
8601
8602 * source/Lib/TLibEncoder/TEncSearch.cpp,
8603 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
8604 search: remove curUseRDOQ arguments from two more methods
8605
8606 residualTransformQuantInter and xEstimateResidualQT were always
8607 called with curUseRDOQ = true, and the flag was never changed
8608 [02ac2e9324b5]
8609
8610 * source/Lib/TLibEncoder/TEncSearch.cpp:
8611 search: hard-code curUseRDOQ
8612 [2ea423991b4a]
8613
8614 * source/Lib/TLibEncoder/TEncSearch.cpp,
8615 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
8616 search: remove curUseRDOQ argument from encodeResAndCalcRdInterCU,
8617 always true
8618 [dcf8948beac2]
8619
8620 * source/common/quant.cpp, source/common/quant.h:
8621 quant: hoist IEP_RATE out of getICRateCost
8622 [01116c890510]
8623
8624 2014-08-01 Min Chen <chenm003@163.com>
8625
8626 * source/common/x86/asm-primitives.cpp,
8627 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
8628 source/common/x86/const-a.asm:
8629 asm: cvt16to32_cnt[8x8] for TSkip
8630 [49bab9bdf2a3]
8631
8632 * source/common/dct.cpp, source/common/primitives.h,
8633 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
8634 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
8635 source/test/pixelharness.cpp, source/test/pixelharness.h:
8636 asm: cvt16to32_cnt[4x4] for TSkip
8637 [6f502ab94357]
8638
8639 * source/common/x86/x86inc.asm:
8640 update header and support Intel IACA marker
8641 [e6184896aa7b]
8642
8643 2014-08-02 Steve Borho <steve@borho.org>
8644
8645 * source/common/quant.cpp:
8646 quant: change lastCG into a bool, use isOne flag to avoid abs()
8647 calls
8648 [69beab744475]
8649
8650 * source/common/quant.cpp:
8651 quant: consistent comment style, improve comments
8652 [b12ac8919761]
8653
8654 * source/common/quant.cpp:
8655 quant: levelDouble -> levelScaled
8656
8657 This always confused the heck out of me. The level was not doubled,
8658 it was not a double, and it wasn't squared. It was just the level
8659 scaled by the quant scale factor
8660 [28c35f8e4f43]
8661
8662 * source/common/quant.cpp:
8663 quant: rename sigCost to codedSigBits, comment nit
8664 [a28d5ae1b52a]
8665
8666 * source/common/quant.cpp:
8667 quant: RDO_CODED_LEVEL macro can now be inlined for easier debugging
8668 [9bb93a267300]
8669
8670 * source/common/quant.cpp:
8671 quant: re-order rdoq logic so only one RDO_CODED_LEVEL() call is
8672 required
8673 [30f1f1d739db]
8674
8675 2014-08-01 Steve Borho <steve@borho.org>
8676
8677 * source/common/quant.cpp:
8678 quant: more readability nits - no output changes
8679 [ed49f875ab20]
8680
8681 * source/common/quant.cpp:
8682 quant: improve comments for trailing zero coeff
8683 [f14d233107d4]
8684
8685 * source/common/quant.cpp:
8686 quant: remove redundant level intialization
8687 [d341acd13af2]
8688
8689 * source/common/quant.cpp:
8690 quant: blockUncodedCost -> totalUncodedCost, improve comments
8691 [3b8853b12d9c]
8692
8693 * source/common/quant.cpp:
8694 quant: correct rounding factor for unquant
8695 [253ad3eafaa2]
8696
8697 * source/common/quant.cpp:
8698 quant: clarify last-nz optimization loop
8699 [11a3a69d3e29]
8700
8701 * source/common/quant.cpp:
8702 quant: rename costCoeff0 to costUncoded, add docs
8703 [1c9a6a976e5d]
8704
8705 * source/common/quant.cpp:
8706 quant: support scaling lists in psy-rdoq
8707 [8767ddb686af]
8708
8709 * source/common/quant.h:
8710 quant: make IEP_RATE an anonymous enum, it doesn't need storage
8711 [be69e059808a]
8712
8713 * source/common/quant.cpp, source/common/quant.h:
8714 quant: m_lambda2 no longer needs to be a member variable
8715
8716 it is only used in rdoQuant() and can be declared on the stack
8717 [287d37822825]
8718
8719 * source/common/quant.cpp, source/common/quant.h:
8720 quant: convert getCodedLevel() into a macro, remove m_transformShift
8721 hack
8722 [ae8c153ee91d]
8723
8724 * source/common/quant.cpp:
8725 quant: simplify minAbsLevel
8726 [db62272d284c]
8727
8728 * source/common/quant.cpp:
8729 quant: hoist some calculations out of the loop
8730 [32b4aa0eb4fb]
8731
8732 * source/common/quant.cpp:
8733 quant: delay err3, err4 calculation until/if necessary
8734 [244ba5fa80d4]
8735
8736 * source/common/quant.cpp:
8737 quant: apply scale factor in just one place
8738 [2a7315a37d67]
8739
8740 * source/encoder/dpb.cpp:
8741 dpb: cleanup decodingRefreshMarking()
8742 [6b1753638790]
8743
8744 * source/common/slice.h, source/encoder/dpb.cpp:
8745 dpb: remove checks for slice types we do not emit
8746 [963b8e7b1dff]
8747
8748 * source/encoder/dpb.cpp:
8749 dpb: style nits
8750 [5d1bd6097113]
8751
8752 * source/encoder/dpb.cpp:
8753 dpb: getNalUnitType() cannot return NAL_UNIT_CODED_SLICE_IDR_N_LP
8754 [b911b02737c8]
8755
8756 * source/encoder/dpb.cpp:
8757 dpb: remove redundant call to getNalUnitType(), output will not
8758 change
8759 [fb24f965eade]
8760
8761 2014-08-01 Aarthi Thirumalai <Aarthi Thirumalai>
8762
8763 * source/encoder/ratecontrol.cpp:
8764 rc: enable abr reset in the first pass of two pass encode.
8765
8766 observe this improves second pass results in ultrafast presets for
8767 some videos.
8768 [a9a7f0933ecc]
8769
8770 2014-08-01 Santhoshini Sekar <santhoshini@multicorewareinc.com>
8771
8772 * source/Lib/TLibEncoder/TEncSearch.cpp,
8773 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/predict.cpp,
8774 source/encoder/predict.h:
8775 cleanup: move m_predYuv and m_predTempYuv from predict to TEncSearch
8776 [a74b24444ae8]
8777
8778 2014-08-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8779
8780 * source/encoder/predict.h:
8781 predict: whitespace nits
8782 [3db5fda6abf0]
8783
8784 2014-07-31 Santhoshini Sekar <santhoshini@multicorewareinc.com>
8785
8786 * source/common/lowres.cpp, source/common/lowres.h,
8787 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
8788 rc: update vbv for all b frames
8789
8790 HEVC is complex (and slow) enough that we can afford to update/plan
8791 the VBV buffer states for all frames, not just I and P. The leads to
8792 smoother rate control, particularly when there are large stretches
8793 of B frames, and less (over) compensation is necessary for P frames.
8794 [e85b0aaa64e4]
8795
8796 2014-07-31 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8797
8798 * source/encoder/predict.h:
8799 predict: nits, cleanup, add TODO comments
8800 [88a18a365d56]
8801
8802 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/predict.cpp,
8803 source/encoder/predict.h:
8804 predict: save clipped MVs
8805 [323e8e87f903]
8806
8807 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8808 source/encoder/predict.cpp, source/encoder/predict.h:
8809 predict: prepare motionCompensation sets base class fields
8810 [8f30d3659f82]
8811
8812 2014-07-31 Steve Borho <steve@borho.org>
8813
8814 * source/encoder/dpb.cpp:
8815 dpb: fix picture re-use bug introduced in bc53f6dcda7f
8816 [29ca05751777]
8817
8818 2014-07-30 Steve Borho <steve@borho.org>
8819
8820 * source/encoder/entropy.cpp, source/encoder/entropy.h:
8821 entropy: remove unused flush function
8822 [674fb6e4d24c]
8823
8824 * source/encoder/entropy.cpp:
8825 entropy: remove redundant !isIntra() check
8826 [b21a9eeec1f8]
8827
8828 * source/common/quant.cpp:
8829 quant: use bisLuma
8830 [8587668cf279]
8831
8832 * source/common/quant.cpp, source/common/quant.h:
8833 quant: use x264 style lambda naming scheme
8834 [77655ea856fe]
8835
8836 2014-07-31 Steve Borho <steve@borho.org>
8837
8838 * source/encoder/dpb.cpp, source/encoder/dpb.h:
8839 dpb: cleanup prepareEncode()
8840 [565603cfe031]
8841
8842 2014-07-30 Steve Borho <steve@borho.org>
8843
8844 * source/encoder/rdcost.h:
8845 rdcost: settle on x264 style lambda naming scheme
8846 [639bef366e3e]
8847
8848 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
8849 rdcost: change input type of setC*DistortionWeight to uint16_t
8850
8851 the inputs were shorts, converted to doubles, passed to the
8852 function, then floor() and casted to uint64_t
8853 [5e7a5c1c3446]
8854
8855 * source/Lib/TLibEncoder/TEncSearch.cpp,
8856 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/rdcost.h:
8857 rdcost: move zeroPel buffer to TEncSearch, its only user
8858 [79d976fdc263]
8859
8860 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8861 source/encoder/rdcost.h:
8862 rdcost: keep psy-rd scale factor as an int (0..512), remove
8863 psyRdEnabled()
8864 [fdb6bb3b2763]
8865
8866 2014-07-31 Steve Borho <steve@borho.org>
8867
8868 * source/common/common.h:
8869 common: remove unused SCALING_LIST_PARAMETER enum
8870 [5d6c2ddd5620]
8871
8872 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
8873 TComRom: nits
8874 [cbf7a9c4be88]
8875
8876 2014-07-30 Steve Borho <steve@borho.org>
8877
8878 * source/encoder/entropy.cpp:
8879 entropy: nits
8880 [667a38aaccff]
8881
8882 * source/encoder/entropy.cpp:
8883 entropy: use bIsLuma in codeCoeffNxN()
8884 [a800a5ca5db7]
8885
8886 * source/common/slice.h, source/encoder/entropy.cpp:
8887 slice: allow loop filter boundary flag to be analyzed
8888 [89316a3d04b6]
8889
8890 * source/common/quant.cpp, source/common/quant.h,
8891 source/encoder/entropy.cpp, source/encoder/entropy.h:
8892 quant: use bIsLuma args instead of using a subset of TextType
8893 [32bc57acf918]
8894
8895 * source/Lib/TLibCommon/TComDataCU.cpp,
8896 source/Lib/TLibCommon/TComDataCU.h,
8897 source/Lib/TLibCommon/TComTrQuant.cpp,
8898 source/Lib/TLibCommon/TComTrQuant.h,
8899 source/Lib/TLibEncoder/TEncSearch.cpp,
8900 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
8901 source/common/quant.cpp, source/common/quant.h,
8902 source/encoder/analysis.cpp, source/encoder/analysis.h,
8903 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
8904 source/encoder/predict.h:
8905 TComTrQuant to Quant
8906 [3c659845e4dc]
8907
8908 * source/common/scalinglist.h, source/encoder/entropy.cpp:
8909 scaling: use anonymous enums for class constants
8910
8911 these didn't need to be integers, they didn't need storage. They're
8912 only used to declare arrays and enforce loop bounds. This fixes a
8913 link error in debug compiles on Linux. While I was at it I improved
8914 the comments and moved one definition to entropy.cpp since that was
8915 the only place it was used.
8916 [0b0d398f35ca]
8917
8918 2014-07-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8919
8920 * source/Lib/TLibCommon/TComPattern.cpp,
8921 source/Lib/TLibCommon/TComPrediction.cpp,
8922 source/Lib/TLibCommon/TComPrediction.h,
8923 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8924 source/Lib/TLibCommon/TComYuv.cpp,
8925 source/Lib/TLibEncoder/TEncSearch.cpp,
8926 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
8927 source/common/intrapred.cpp, source/encoder/CMakeLists.txt,
8928 source/encoder/analysis.h, source/encoder/predict.cpp,
8929 source/encoder/predict.h:
8930 predict: predict.cpp/.h defined, hungarian function names cleaned
8931 up, warnings removed
8932 [c32a86702b68]
8933
8934 2014-07-30 Steve Borho <steve@borho.org>
8935
8936 * source/common/param.cpp:
8937 param: disable range checks for psy-rdoq while we tune it
8938 [3d814fd1268b]
8939
8940 * source/Lib/TLibCommon/CommonDef.h,
8941 source/Lib/TLibCommon/TComTrQuant.cpp,
8942 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
8943 source/common/scalinglist.cpp:
8944 defs: remove DISTORTION_PRECISION_ADJUSTMENT, fix bug in
8945 2e22ea6ec4bc
8946
8947 FULL_NBIT was disabling this macro for even 16bpp builds, but I
8948 accidentally enabled it. Since it was previously disabled for every
8949 build, and is only even present in SAO and quant, it is best to just
8950 remove it completely.
8951 [38349967645f]
8952
8953 2014-07-25 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
8954
8955 * source/Lib/TLibCommon/TComTrQuant.cpp,
8956 source/Lib/TLibCommon/TComTrQuant.h,
8957 source/Lib/TLibEncoder/TEncSearch.cpp,
8958 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
8959 source/encoder/encoder.cpp:
8960 psy-rdoq: implementation of psy-rdoq (highly experimental)
8961
8962 This initial version is storing a temp variable in TComTrQuant to
8963 avoid adding even more parameters to getCodedLevel() and it is
8964 ignoring scaling lists in the unquant operation. Currently, you may
8965 need large psy-rdoq scale values to have any real effect. It needs
8966 lots of testing.
8967 [06dcd7c5df6e]
8968
8969 2014-07-30 Steve Borho <steve@borho.org>
8970
8971 * source/Lib/TLibCommon/TComTrQuant.cpp:
8972 quant: minor cleanups
8973 [df8314a1d3cb]
8974
8975 * source/Lib/TLibCommon/TComTrQuant.cpp:
8976 quant: rename absLevel to level, remove diffLevel
8977 [09ae268bb0ce]
8978
8979 * source/Lib/TLibCommon/TComTrQuant.cpp:
8980 quant: readability nit
8981 [ddef8e2d88fd]
8982
8983 * source/Lib/TLibCommon/TComTrQuant.cpp,
8984 source/Lib/TLibCommon/TComTrQuant.h:
8985 quant: pass curCostSig to getCodedLevel as an integer
8986 [4cb71a283ae3]
8987
8988 * source/Lib/TLibCommon/TComTrQuant.cpp,
8989 source/Lib/TLibCommon/TComTrQuant.h:
8990 quant: return signal cost from getRateLast(), do not include lambda
8991 [e0320502f9ea]
8992
8993 * source/Lib/TLibCommon/TComTrQuant.cpp:
8994 quant: don't bother with extra temp variables
8995 [5210fca67553]
8996
8997 2014-07-29 Min Chen <chenm003@163.com>
8998
8999 * source/Lib/TLibEncoder/TEncSearch.cpp:
9000 TEncSearch: fix output non-determination bug
9001
9002 When temporal candidates end up as MVP candidates, they can reach
9003 beyond the available region of valid pixels in the reference
9004 picture. In that case, we should not try to measure distortion
9005 there, it only introduces non-determinism. Just take the other MVP
9006 without contest. If both MVP were out of range, we default to mvpIdx
9007 = 0.
9008
9009 Note that there was never any risk of a decode error since when ME
9010 runs it clamps all motion vectors to the range of available pixels.
9011 The setting of this mvmin/mvmax range is assigned just after picking
9012 the best of the two MVP candidates.
9013 [05132ebe8413]
9014
9015 2014-07-29 Steve Borho <steve@borho.org>
9016
9017 * source/Lib/TLibCommon/TComTrQuant.cpp,
9018 source/Lib/TLibCommon/TComTrQuant.h:
9019 quant: getICRate() and getICRateCost() do not need to be class
9020 methods
9021 [bb9b2fcf75ef]
9022
9023 * source/Lib/TLibCommon/TComTrQuant.cpp,
9024 source/Lib/TLibCommon/TComTrQuant.h:
9025 quant: hoist lambda multiplication out of getICRateCost()
9026 [e9e5f177a698]
9027
9028 * source/Lib/TLibCommon/TComTrQuant.cpp,
9029 source/Lib/TLibCommon/TComTrQuant.h:
9030 quant: inline getRateSigCoef(), getRateSigCoeffGroup() and
9031 getICost()
9032 [f174808a7df4]
9033
9034 * source/Lib/TLibCommon/TComTrQuant.cpp,
9035 source/Lib/TLibCommon/TComTrQuant.h:
9036 quant: improve documentation and code clarity, no logic change
9037 [4012d5a6ff93]
9038
9039 * source/common/scalinglist.cpp:
9040 scaling: factor prec into scalingBits
9041
9042 This makes errScale clearly function to remove quantCoeff^2, and add
9043 this cost scale factor (which is just a bit shift). By factoring it
9044 this way, we can probably remove the need for doubles in the near
9045 future by not using the scaled coefficients in the stupid first
9046 place.
9047 [664eff34ef25]
9048
9049 * source/common/scalinglist.cpp:
9050 scaling: cleanup
9051 [71bce9ae1072]
9052
9053 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/TComRom.h:
9054 move quant defines from TComRom.h to CommonDef.h; they are not table
9055 sizes
9056 [eeeb96ecf0c7]
9057
9058 * source/Lib/TLibCommon/CommonDef.h,
9059 source/Lib/TLibCommon/TComDataCU.cpp,
9060 source/Lib/TLibCommon/TComPrediction.cpp,
9061 source/Lib/TLibCommon/TComTrQuant.cpp,
9062 source/Lib/TLibCommon/TypeDef.h,
9063 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/deblock.cpp,
9064 source/encoder/entropy.cpp:
9065 typedef: remove redundant ChromaFormat enums
9066 [57a8320024ed]
9067
9068 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/TypeDef.h,
9069 source/encoder/entropy.cpp:
9070 defs: cleanup CommonDef.h and TypeDef.h again
9071
9072 TypeDef.h only defines enums, CommonDef.h only defines constants
9073 (grouped together logically). Remove doxygenness
9074 [b5339cbf1764]
9075
9076 * source/common/scalinglist.cpp:
9077 scaling: further simplify scaling list calculation
9078
9079 It does more operations with ints, but mainly I just find this more
9080 readable
9081 [7c8fc08dfbd6]
9082
9083 * source/Lib/TLibCommon/CommonDef.h:
9084 defs: remove FULL_NBIT, no change to logic
9085 [2e22ea6ec4bc]
9086
9087 * source/common/scalinglist.cpp:
9088 scaling: replace pow(2.0, -2.0 * transformShift) with shift
9089 adjustment
9090
9091 Result is the same
9092 [e51017789090]
9093
9094 * source/Lib/TLibCommon/TComDataCU.cpp,
9095 source/Lib/TLibCommon/TComDataCU.h,
9096 source/Lib/TLibCommon/TComTrQuant.cpp,
9097 source/Lib/TLibCommon/TComTrQuant.h, source/encoder/entropy.cpp:
9098 quant: use ScanType enum as type for scanType, other cleanups
9099 [8d1b7dc5b832]
9100
9101 * source/Lib/TLibCommon/TComRom.h,
9102 source/Lib/TLibCommon/TComTrQuant.h,
9103 source/Lib/TLibCommon/TypeDef.h, source/encoder/entropy.cpp:
9104 quant: move enums for scan order to TComRom together with the tables
9105 [fecc01d4c27f]
9106
9107 2014-07-29 Aarthi Thirumalai <Aarthi Thirumalai>
9108
9109 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
9110 rc: fix crash in 2 pass for faster preset (ultrafast - faster)
9111 [a9678988dda2]
9112
9113 2014-07-29 Steve Borho <steve@borho.org>
9114
9115 * source/encoder/encoder.cpp, source/encoder/sei.h:
9116 hrd: add a comment about when an APS is required, update SEI
9117 [2263fe1c05f1]
9118
9119 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
9120 sei: fix byte alignment following HRD SEI
9121 [dbec825c30ad]
9122
9123 * source/Lib/TLibEncoder/TEncSearch.cpp,
9124 source/encoder/CMakeLists.txt, source/encoder/motion.cpp,
9125 source/encoder/motion.h:
9126 cmake: enable full warnings for remaining TLibEncoder files
9127 [3a1245fb52a4]
9128
9129 2014-07-28 Steve Borho <steve@borho.org>
9130
9131 * source/Lib/TLibCommon/TComTrQuant.cpp:
9132 quant: delay getTUEntropyCodingParameters() until known necessary
9133 [2834687bcb51]
9134
9135 2014-07-29 Albert Wang <Albert Wang>
9136
9137 * source/encoder/frameencoder.cpp:
9138 frameencoder: fix for crash in frameencoder when AccessUnitDelimiter
9139 is on
9140
9141 The m_entropyCoder need to set the bitstream first before calling
9142 codeAUD, otherwise a crash will happen.
9143 [47e6a51b943f]
9144
9145 2014-07-29 Steve Borho <steve@borho.org>
9146
9147 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9148 source/Lib/TLibEncoder/TEncSearch.cpp,
9149 source/encoder/CMakeLists.txt:
9150 remove sign compare warnings from TLibEncoder, cleanup SAO
9151 [a021b541a2ef]
9152
9153 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
9154 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
9155 rc,weight: nits
9156 [0308c9e187be]
9157
9158 2014-07-28 Steve Borho <steve@borho.org>
9159
9160 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
9161 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
9162 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
9163 rc: call getEstimatedPictureCost() from API thread, prevent race
9164 hazards
9165 [2bc34d32e6cc]
9166
9167 * source/encoder/dpb.cpp:
9168 dpb: cleanup
9169 [bc53f6dcda7f]
9170
9171 * source/Lib/TLibCommon/TComPicSym.h, source/common/slice.h,
9172 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
9173 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
9174 source/encoder/ratecontrol.cpp:
9175 slice: move m_bReferenced to picsym and rename for clarity
9176
9177 This flag was being used for two purposes and introducing race
9178 hazards:
9179
9180 1. determining if a picture in the DPB must be signaled in an RPS 2.
9181 determining if the slice type is referenced (non-b)
9182
9183 The m_bHasReferences variable on the picsym is used for the first
9184 purpose. The macro IS_REFERENCED(slice) is used for the second
9185 purpose.
9186
9187 The m_isReferenced member variable on the frame encoder was removed
9188 and it just checks the slice type directly.
9189 [3c50a7e516ed]
9190
9191 * source/encoder/frameencoder.cpp:
9192 frameencoder: nits
9193 [e84b28132be1]
9194
9195 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
9196 source/encoder/ratecontrol.h:
9197 frameencoder: re-order compressFrame() to avoid dependency problem
9198 with HRD
9199
9200 1. if --hrd is enabled, the buffer period SEI needs data set by
9201 rateControlStart 2. rateControlStart may block, so get compute heavy
9202 tasks done first, like weighted prediction analysis 3. hoist
9203 rateControlStart and QP setup back out of compressCTURows() and move
9204 other code into it that belonged there in the first place 4. move
9205 framefilter setup logic together 5. don't measure rateControlEnd()
9206 in frame wall time
9207 [71c023799f3d]
9208
9209 2014-07-28 Satoshi Nakagawa <nakagawa424@oki.com>
9210
9211 * source/Lib/TLibEncoder/TEncSearch.cpp,
9212 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
9213 search: separate bSkipRes == true path
9214 [7eab256b60f0]
9215
9216 2014-07-28 Aarthi Thirumalai <Aarthi Thirumalai>
9217
9218 * source/encoder/slicetype.cpp:
9219 slicetype: compute frame satd cost for zero latency
9220 [eba786bbe4b5]
9221
9222 2014-07-28 Steve Borho <steve@borho.org>
9223
9224 * source/common/scalinglist.cpp, source/common/scalinglist.h,
9225 source/encoder/entropy.cpp:
9226 scaling: remove m_refMatrixId; it was only used to return an int
9227
9228 Only one value of the matrix was ever used at a time, so we can
9229 return thtat index directly from checkPredMode
9230 [236df356402d]
9231
9232 * source/common/scalinglist.cpp, source/common/scalinglist.h,
9233 source/encoder/entropy.cpp:
9234 scaling: use simple ints for small counters and int32_t for scales
9235 and coeffs
9236
9237 This fixes a gcc warning and mostly makes the code more readable and
9238 avoids some (int) casts
9239 [d66a3bd865e3]
9240
9241 * source/common/CMakeLists.txt:
9242 cmake: ignore msvc warnings about forcing value to bool 'true' or
9243 'false'
9244 [8bab5275baed]
9245
9246 2014-07-27 Steve Borho <steve@borho.org>
9247
9248 * source/Lib/TLibCommon/TComTrQuant.cpp:
9249 quant: fix for tskip
9250 [6b286f66cfab]
9251
9252 * source/Lib/TLibCommon/TComTrQuant.cpp:
9253 quant: nits
9254 [ea63a67164e5]
9255
9256 * source/Lib/TLibCommon/TComTrQuant.cpp,
9257 source/Lib/TLibCommon/TComTrQuant.h:
9258 quant: inline transformSkip
9259 [67e62a4d520f]
9260
9261 * source/Lib/TLibCommon/TComTrQuant.cpp,
9262 source/Lib/TLibCommon/TComTrQuant.h:
9263 quant: inline invTransformSkip
9264 [ec8f8d6e59d9]
9265
9266 * source/Lib/TLibCommon/TComTrQuant.cpp:
9267 quant: simplify dequant, remove redundant invQuantScales array
9268 [28c7868814de]
9269
9270 * source/encoder/level.cpp:
9271 level: signal level None if lossless coding - we have no bitrate
9272 control
9273 [74a5481eceb5]
9274
9275 * source/common/scalinglist.cpp, source/common/scalinglist.h,
9276 source/encoder/entropy.cpp:
9277 scaling: remove duplicate square-block size enums
9278 [0d2eb9d6d7e0]
9279
9280 * source/Lib/TLibCommon/TComTrQuant.cpp,
9281 source/common/scalinglist.cpp, source/common/scalinglist.h,
9282 source/encoder/entropy.cpp:
9283 scaling: move global arrays into class statics, rename
9284 [9ad7abfab9d1]
9285
9286 * source/Lib/TLibCommon/TComTrQuant.cpp,
9287 source/Lib/TLibCommon/TComTrQuant.h,
9288 source/Lib/TLibEncoder/TEncSearch.cpp,
9289 source/common/scalinglist.cpp, source/common/scalinglist.h,
9290 source/encoder/encoder.cpp:
9291 quant: move quant/dequant/errScale buffer maintenance to scaling
9292 list class
9293
9294 This was a wasteful duplication of compute and memory. It was always
9295 strange that TComTrQuant had so many internal references to the
9296 ScalingList class, just to build these arrays itself.
9297
9298 As part of this refactor, ScalingList now has checked mallocs.
9299 [57b57ec43838]
9300
9301 * source/Lib/TLibCommon/TComTrQuant.cpp,
9302 source/Lib/TLibCommon/TComTrQuant.h:
9303 quant: remove x prefixes from remaining methods; no logic change
9304 [82bd32283dd1]
9305
9306 * source/Lib/TLibCommon/TComTrQuant.cpp,
9307 source/Lib/TLibCommon/TComTrQuant.h:
9308 quant: replace xGetIEPRate() with a constant
9309 [96925cfd342d]
9310
9311 * source/Lib/TLibCommon/TComTrQuant.cpp,
9312 source/Lib/TLibCommon/TComTrQuant.h:
9313 quant: remove x prefixes from scaling list methods
9314 [991d931d9db4]
9315
9316 * source/Lib/TLibCommon/TComTrQuant.cpp,
9317 source/Lib/TLibCommon/TComTrQuant.h:
9318 quant: use rem consistently for variables holding qp % 6
9319 [1b39a252efac]
9320
9321 * source/Lib/TLibCommon/TComTrQuant.h,
9322 source/Lib/TLibEncoder/TEncSearch.cpp:
9323 quant: remove default curUseRDOQ argument value
9324 [250deb63f2ea]
9325
9326 * source/Lib/TLibCommon/TComTrQuant.h:
9327 quant: remove default useTransformSkip argument value
9328 [2f52f5c4a913]
9329
9330 * source/Lib/TLibCommon/TComTrQuant.cpp:
9331 quant: more coding style cleanup, update argument list in
9332 xGetCodedLevel comment
9333 [262af2694656]
9334
9335 * source/Lib/TLibCommon/TComTrQuant.cpp,
9336 source/Lib/TLibCommon/TComTrQuant.h:
9337 quant: QpParam class to struct
9338 [e4008f081c33]
9339
9340 * source/Lib/TLibCommon/TComTrQuant.h:
9341 quant: re-order header and improve comments
9342 [5758998128e1]
9343
9344 * source/Lib/TLibCommon/TComTrQuant.cpp,
9345 source/Lib/TLibCommon/TComTrQuant.h,
9346 source/Lib/TLibEncoder/TEncSearch.cpp:
9347 quant: remove get/set methods for scaling list enable flag
9348 [7435c0f166f6]
9349
9350 * source/Lib/TLibCommon/TComTrQuant.cpp,
9351 source/Lib/TLibCommon/TComTrQuant.h:
9352 quant: remove access methods for the class's own members
9353 [0625f303cd49]
9354
9355 * doc/reST/cli.rst, source/CMakeLists.txt,
9356 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
9357 source/common/param.cpp, source/common/scalinglist.cpp,
9358 source/common/scalinglist.h, source/encoder/encoder.cpp,
9359 source/x265.cpp, source/x265.h:
9360 api: expose scaling lists and psy-rdoq as a CLI/API options
9361
9362 psy-rdoq is not yet functional - option is ignored move scaling list
9363 related globals to scalinglist.cpp from TComRom
9364 [93a434014f5a]
9365
9366 2014-07-26 Steve Borho <steve@borho.org>
9367
9368 * source/Lib/TLibCommon/TComTrQuant.cpp,
9369 source/Lib/TLibCommon/TComTrQuant.h:
9370 quant: don't pass m_resiDctCoeff to member methods
9371 [00c127bd42e7]
9372
9373 2014-07-25 Steve Borho <steve@borho.org>
9374
9375 * source/common/param.cpp, source/encoder/encoder.cpp:
9376 param: move all consistency param tweaks into Encoder::configure()
9377
9378 x265_check_params() shouldn't be modifying the param structure; it's
9379 role is to spot invalid configurations and prevent crashes in
9380 encoder creation.
9381 [a86d9aaaa7d7]
9382
9383 2014-07-26 Steve Borho <steve@borho.org>
9384
9385 * source/Lib/TLibCommon/TComTrQuant.cpp,
9386 source/Lib/TLibCommon/TComTrQuant.h,
9387 source/Lib/TLibEncoder/TEncSearch.cpp:
9388 quant: cleanup initialization; catch malloc failures. rename
9389 m_tmpCoeff
9390 [db5642f2e4b7]
9391
9392 * source/Lib/TLibCommon/TComTrQuant.cpp,
9393 source/Lib/TLibCommon/TComTrQuant.h:
9394 quant: nits
9395 [a28a01820e30]
9396
9397 2014-07-25 Steve Borho <steve@borho.org>
9398
9399 * source/Lib/TLibCommon/TComTrQuant.cpp,
9400 source/Lib/TLibCommon/TComTrQuant.h:
9401 quant: cleanups
9402 [b60d35a06d3a]
9403
9404 * source/Lib/TLibCommon/TComTrQuant.cpp:
9405 quant: cleanup signBitHidingHDQ()
9406 [50db97f20e61]
9407
9408 * source/Lib/TLibCommon/TComTrQuant.cpp,
9409 source/Lib/TLibCommon/TComTrQuant.h:
9410 quant: simplify setQPforQuant
9411 [3f205a75877b]
9412
9413 * source/Lib/TLibCommon/TComTrQuant.cpp:
9414 quant: remove dead comment
9415 [08de42d0b4a0]
9416
9417 * source/Lib/TLibCommon/TComTrQuant.cpp,
9418 source/Lib/TLibCommon/TComTrQuant.h, source/encoder/entropy.cpp,
9419 source/encoder/entropy.h:
9420 quant: do not malloc the EstBitsSbac structure, pass by reference
9421 [82279c006a70]
9422
9423 * source/Lib/TLibEncoder/TEncSearch.h,
9424 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
9425 white-space and brace nits
9426 [fef8314f730b]
9427
9428 * source/Lib/TLibEncoder/TEncSearch.cpp:
9429 search: simplify verbage, fix white-space, no logic change
9430 [7a8e7a87c9a2]
9431
9432 * source/Lib/TLibEncoder/TEncSearch.cpp,
9433 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
9434 source/encoder/analysis.h, source/encoder/cturow.cpp:
9435 search: move all init code into TEncSearch::initSearch()
9436
9437 TEncSearch owns all the objects being initialized
9438 [915397565c05]
9439
9440 * source/encoder/framefilter.cpp:
9441 framefilter: initialize saoRowDelay just once
9442 [6ca9f09455ca]
9443
9444 * source/Lib/TLibCommon/TComPicSym.cpp, source/encoder/encoder.cpp,
9445 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
9446 source/encoder/framefilter.cpp:
9447 frameencoder: remove getSAO() access method; delay allocation of
9448 SAOParam
9449 [606b6ebed3b8]
9450
9451 * source/encoder/dpb.cpp, source/encoder/encoder.cpp,
9452 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9453 move slice setup together into one function, reorder functions for
9454 clarity
9455 [509fe705ed8d]
9456
9457 * source/common/slice.h, source/encoder/frameencoder.cpp:
9458 slice: remove redundant initSlice(), m_numRefIdx[] is set by DPB
9459 unconditionally
9460 [b573c299fb31]
9461
9462 * source/common/slice.h, source/encoder/dpb.cpp:
9463 slice: move coloc/tmvp flag setting all to one place
9464 [d65c665f15f8]
9465
9466 * source/x265.h:
9467 api: improve documentation of x265_encoder_encode
9468 [f73c0902079f]
9469
9470 2014-07-26 Steve Borho <steve@borho.org>
9471
9472 * source/encoder/analysis.cpp:
9473 analysis: cleanup early-skip
9474 [dc595d2bfa36]
9475
9476 * source/Lib/TLibCommon/TComDataCU.cpp:
9477 cudata: nits
9478 [50e015720392]
9479
9480 * source/encoder/entropy.cpp:
9481 entropy: nit
9482 [a581b22e70e4]
9483
9484 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
9485 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
9486 source/encoder/encoder.cpp, source/encoder/encoder.h,
9487 source/encoder/framefilter.cpp:
9488 encoder: remove unused m_maxRefPicNum and m_maxNumOffsetsPerPic
9489 [e6ff719bd703]
9490
9491 2014-07-25 Steve Borho <steve@borho.org>
9492
9493 * doc/reST/cli.rst:
9494 rest: better document configuration options of --vbv-init
9495 [66ed81577483]
9496
9497 2014-07-25 Aarthi Thirumalai <Aarthi Thirumalai>
9498
9499 * source/encoder/ratecontrol.cpp:
9500 rc: fix crashes in vbv with 2 pass
9501 [d3e2e487a488]
9502
9503 2014-07-25 Steve Borho <steve@borho.org>
9504
9505 * source/Lib/TLibCommon/TComPicYuv.cpp,
9506 source/Lib/TLibCommon/TComPicYuv.h, source/encoder/encoder.cpp,
9507 source/encoder/encoder.h, source/encoder/framefilter.cpp:
9508 encoder: remove redundant m_pad array
9509 [8aa4132d3097]
9510
9511 * source/encoder/encoder.cpp, source/encoder/encoder.h:
9512 encoder: fix uninitialized variable use reported by valgrind
9513
9514 m_conformanceWindow was not initialized at all; and this was causing
9515 uninitialized values to be written to the SPS if padding was
9516 necessary.
9517
9518 Remove unnecessary m_defaultDisplayWindow in the process
9519 [c5aa92fff04a]
9520
9521 * source/encoder/encoder.cpp, source/encoder/entropy.cpp:
9522 nits
9523 [d8a2892b8044]
9524
9525 * source/common/param.cpp, source/common/slice.h,
9526 source/encoder/encoder.cpp, source/encoder/level.cpp:
9527 level: move all profile set/determine logic into one file, fixes for
9528 MSP
9529 [239cb2ba252e]
9530
9531 2014-07-24 Steve Borho <steve@borho.org>
9532
9533 * source/x265.cpp:
9534 cli: call x265_param_apply_profile() after applying file-reader
9535 params
9536
9537 the Y4M headers could change param->internalCsp, so applying the
9538 profile before the reader makes changes allows bugs. The CLI was
9539 allowing an encode of:
9540
9541 x265 foo_422.y4m o.bin --profile main
9542
9543 Even though --profile main was trying to enforce 4:2:0; the color
9544 space change happened afterward the profile was enforced and thus
9545 invalidated the specified profile. After this fix the encode
9546 properly fails with:
9547
9548 x265 [error]: Unsupported color space (2) on input aborted at input
9549 frame 1, output frame 0
9550 [cb6f58ca056e]
9551
9552 * source/x265.cpp:
9553 cli: nit
9554 [88afb4a4bcee]
9555
9556 2014-07-24 Satoshi Nakagawa <nakagawa424@oki.com>
9557
9558 * source/Lib/TLibEncoder/TEncSearch.cpp,
9559 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
9560 qtLayer in reverse order
9561 [11f8f6e4be20]
9562
9563 2014-07-22 Satoshi Nakagawa <nakagawa424@oki.com>
9564
9565 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
9566 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
9567 source/common/primitives.cpp, source/common/primitives.h,
9568 source/common/shortyuv.cpp, source/common/shortyuv.h,
9569 source/encoder/analysis.cpp, source/test/testbench.cpp:
9570 refine partition size related
9571
9572 - reorder LumaPartitions to simplify partitionFromLog2Size()
9573 - remove unused
9574 [64a3b661b79a]
9575
9576 2014-07-24 Steve Borho <steve@borho.org>
9577
9578 * source/common/param.cpp:
9579 param: log multi-pass state
9580 [670e330e4120]
9581
9582 * source/encoder/ratecontrol.cpp:
9583 rc: nits
9584 [f54d5368590a]
9585
9586 * source/encoder/ratecontrol.cpp:
9587 rc: instrument all error conditions in initPass2()
9588
9589 it's not helpful to abort the encode with no hint as to why
9590 [650c2d3c5194]
9591
9592 * source/encoder/bitcost.cpp:
9593 bitcost: nits
9594 [74630a9af6c9]
9595
9596 * doc/reST/cli.rst:
9597 rest: better document that -I N -i N does not disable scenecut
9598 detection
9599 [63a4b5c790ca]
9600
9601 * Merge with stable
9602 [8b59410a70be]
9603
9604 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
9605 bitcost: increase size of cost arrays, for pessimal situations
9606
9607 MVD is MV minus MVP. MV could be BC_MAX_MV and MVP could be
9608 -BC_MAX_MV
9609 [a12920e08700] <stable>
9610
9611 * source/encoder/bitcost.h:
9612 bitcost: fix bitcost() function, broken 13 months ago by
9613 07015bbe306b
9614
9615 when bitcost() was first introduced, we had two competing table
9616 formats for the s_bitsizes[] array. Eventually the x264 style array
9617 won out, but this function was not updated.
9618
9619 This bug was almost harmless, bitcost() could still evaluate
9620 differences in bit costs correctly, but the upshift caused read
9621 bound exceptions when the motion vectors became close to the HEVC
9622 max of 4k.
9623 [49ea5391828c] <stable>
9624
9625 * source/x265.cpp:
9626 cli: reorder argument help for clarity, add more sections
9627 [b78d4dc01e2c]
9628
9629 2014-07-24 Aarthi Thirumalai <Aarthi Thirumalai>
9630
9631 * source/common/param.cpp, source/x265.cpp:
9632 rc: add cli options for multi-pass rate control
9633 [5955c949ef8c]
9634
9635 2014-07-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
9636
9637 * source/Lib/TLibCommon/TComLoopFilter.cpp,
9638 source/Lib/TLibCommon/TComLoopFilter.h,
9639 source/common/CMakeLists.txt, source/common/deblock.cpp,
9640 source/common/deblock.h, source/common/loopfilter.cpp,
9641 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
9642 port TComLoopFilter Functions into /common/deblock
9643
9644 1. Rename TComLoopFilter to Deblock 2. Remove hungarian notation
9645 function names and variables 3. Remove unused or empty functions
9646 [6c7a31f1b029]
9647
9648 2014-07-23 Steve Borho <steve@borho.org>
9649
9650 * source/encoder/entropy.cpp:
9651 entropy: reorder methods in general encode order for clarity, no
9652 logic change
9653 [47407360120a]
9654
9655 * source/common/slice.h, source/encoder/encoder.cpp,
9656 source/encoder/entropy.cpp:
9657 entropy: remove ambiguity about timing info signaling
9658 [5b22512f13d1]
9659
9660 * source/encoder/entropy.cpp:
9661 entropy: nits
9662 [2debe3d86181]
9663
9664 * source/encoder/encoder.cpp, source/encoder/entropy.cpp,
9665 source/encoder/entropy.h:
9666 entropy: do not code a scaling list in PPS
9667
9668 The scaling list in PPS is only necessary to override the scaling
9669 list in the SPS. We will only ever have at most one scaling list (at
9670 this time)
9671 [ab0c9b6cc30f]
9672
9673 2014-07-24 Aarthi Thirumalai <Aarthi Thirumalai>
9674
9675 * source/Lib/TLibEncoder/TEncSearch.cpp:
9676 rc: calculate mvBits, coefBits per Cu for 2 pass in skip mode as
9677 well
9678 [6c0929567805]
9679
9680 * source/encoder/ratecontrol.cpp:
9681 rc: compute average of qpaRc, qpAq per frame even in 2 pass
9682 [7dd13d919265]
9683
9684 2014-07-23 Steve Borho <steve@borho.org>
9685
9686 * source/Lib/TLibCommon/TComPrediction.h, source/encoder/analysis.cpp:
9687 pred: remove default motionCompensation argument values
9688
9689 bugs waiting to happen; they've bit us multiple times in the past
9690 [342d72f0b613]
9691
9692 * source/encoder/analysis.cpp:
9693 analysis: eoln fixup
9694 [4f9ff4eeb7e3]
9695
9696 2014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9697
9698 * source/encoder/analysis.cpp:
9699 TComPrediction: fix MC error caused by previous patch
9700 [db6b7046d4f0]
9701
9702 * source/Lib/TLibCommon/TComPrediction.cpp,
9703 source/Lib/TLibCommon/TComPrediction.h,
9704 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp:
9705 TComPrediction: remove unused parameter warning
9706 [6919c9f2432a]
9707
9708 * source/encoder/analysis.cpp:
9709 analysis: whitespace nit
9710 [379c44100fff]
9711
9712 2014-07-23 Steve Borho <steve@borho.org>
9713
9714 * doc/reST/cli.rst:
9715 rest: tpyo
9716 [9a1c64cc7f28]
9717
9718 * doc/reST/cli.rst:
9719 rest: move profile, level, and tier into their own section
9720
9721 They really didn't belong combined with the slice-decision options
9722 [8a8495c750ad]
9723
9724 2014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9725
9726 * source/encoder/analysis.cpp:
9727 analysis: add in extra X265_CHECK
9728 [2ee1444e8a00]
9729
9730 2014-07-23 Gopu Govindaswamy <gopu@multicorewareinc.com>
9731
9732 * source/encoder/analysis.cpp:
9733 analysis: setQPforQuant in checkIntraInter to fix the hash mismatch
9734 at rd=5&6
9735 [c1823bb20eed]
9736
9737 2014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9738
9739 * source/Lib/TLibCommon/TComPrediction.cpp,
9740 source/Lib/TLibCommon/TComPrediction.h:
9741 TComPrediction: white space nits, remove isPSlice (next series)
9742 [5fdc394bc5e0]
9743
9744 2014-07-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9745
9746 * source/Lib/TLibCommon/TComPrediction.cpp,
9747 source/Lib/TLibCommon/TComPrediction.h,
9748 source/Lib/TLibEncoder/TEncSearch.cpp:
9749 TComPrediction: remove redundant colorspace information
9750
9751 m_csp is sufficient inside the TEncSearch, TComPrediction structures
9752 [30f41c3ef7d3]
9753
9754 * source/Lib/TLibCommon/TComPrediction.cpp,
9755 source/Lib/TLibCommon/TComPrediction.h,
9756 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp:
9757 TComPrediction: save CU data (partAddr, width, height) as member
9758 fields
9759
9760 Before motion compensation, save CU related data inside the
9761 TComPrediction structure
9762 [a5422a41c85a]
9763
9764 2014-07-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9765
9766 * source/Lib/TLibCommon/TComPrediction.cpp,
9767 source/Lib/TLibCommon/TComPrediction.h,
9768 source/Lib/TLibEncoder/TEncSearch.cpp:
9769 TComPrediction: remove TComDataCU as pointer to private functions
9770 [d8d26a695cf6]
9771
9772 2014-07-22 Steve Borho <steve@borho.org>
9773
9774 * source/common/param.cpp:
9775 param: re-order code to avoid unreachable code warnings in 10bit
9776 builds
9777 [e3ad03b7c485]
9778
9779 * build/regression/01build-and-smoke-test.bat,
9780 build/regression/02perftest.bat, build/regression/commandlines-
9781 example.txt, build/regression/config-example.txt, build/regression
9782 /email-csv.py, build/regression/run.bat:
9783 remove very obsolete regression batch files
9784 [fe3f3ec46306]
9785
9786 * source/encoder/level.cpp:
9787 level: fix GCC signed/unsigned comparison
9788 [345bc6231fa3]
9789
9790 2014-07-21 Steve Borho <steve@borho.org>
9791
9792 * doc/reST/cli.rst:
9793 rest: update --profile, --level, --high-tier docs
9794 [08da00a7e719]
9795
9796 * source/CMakeLists.txt, source/common/param.cpp,
9797 source/encoder/api.cpp, source/encoder/level.cpp,
9798 source/encoder/level.h, source/x265.cpp, source/x265.h:
9799 level: add --high-tier and auto-configure VBV if --crf N --level M
9800 (refs #61)
9801
9802 This patch is a major overhaul of the level enforcement logic. The
9803 first obvious difference is that the user may specify the tier. The
9804 second difference is that x265 will no longer run any configuration
9805 that might generate non-compliant bitstreams.
9806
9807 Any of these conditions will cause the encode to abort if a minimum
9808 decoder level was specified:
9809
9810 * picture size is too large
9811 * frame rate is too high
9812 * constant QP rate control is configured
9813 * the specified level does not exist
9814
9815 Further, if CRF was specified, we now configure VBV using the
9816 maximum CPB size and bitrate for their level/tier (and issue a
9817 warning that the output may now be non-deterministic).
9818
9819 Note that the encoder will still encode the minimum decoder level
9820 which covers the encode parameters. So even if you specify --level
9821 5.1, we may signal the stream as level 4.0-High if the stream should
9822 be decodable at that level.
9823
9824 This further fixes the CLI to allow --level-idc or the shortened
9825 --level, just as it now also supports --high-tier or the shortened
9826 --high.
9827 [5510d559c2bd]
9828
9829 2014-07-22 Aarthi Thirumalai <Aarthi Thirumalai>
9830
9831 * source/encoder/ratecontrol.cpp:
9832 rc: bug fixes in 2 pass ABR
9833
9834 ratecontrol - fix duplication of bits in calculating m_totalBits
9835 frameencoder - don't amortize totalBits in 2 pass ABR
9836 [b85dbec30cc5]
9837
9838 2014-07-21 Steve Borho <steve@borho.org>
9839
9840 * source/encoder/ratecontrol.cpp:
9841 rc: prevent gcc shadow warning about int terminate and terminate()
9842 [d303b4d860e9]
9843
9844 * source/encoder/analysis.cpp:
9845 analysis: don't initialize members of base class in constructor
9846 [eeea411e197a]
9847
9848 * source/common/param.cpp:
9849 param: fix profile warnings in x265_param_apply_profile()
9850
9851 This function was likely never used since it was not supported by
9852 the CLI till now. When the user specifies --profile Main10, they
9853 intend that the output stream is decodable by a Main10 decoder. This
9854 is true of any Main encode.
9855
9856 The reverse is not true for --profile Main and a Main10 encode. We
9857 must return an error and abort the encode if --profile Main is
9858 specified and the encoder was compiled for Main10 (HIGH_BIT_DEPTH).
9859 [5835fa3a8281]
9860
9861 * source/x265.cpp:
9862 cli: expose x265_param_apply_profile() via --profile
9863
9864 This is repairing an egregious oversight
9865 [56e9d8a66527]
9866
9867 * source/encoder/level.cpp:
9868 level: nit
9869 [a2506d62d4af]
9870
9871 * source/encoder/api.cpp, source/encoder/encoder.cpp,
9872 source/encoder/level.cpp, source/encoder/level.h:
9873 level: move m_vps.maxDecPicBuffering logic into one function
9874
9875 This prevents duplicate logic from existing in two separate files
9876 [72641fecf86a]
9877
9878 * source/Lib/TLibCommon/TypeDef.h, source/common/slice.h:
9879 ptl: move enums from TypeDef.h to slice.h
9880 [5f64abf3a20a]
9881
9882 * source/common/slice.h, source/encoder/api.cpp,
9883 source/encoder/encoder.cpp, source/encoder/encoder.h,
9884 source/encoder/entropy.cpp, source/encoder/entropy.h,
9885 source/encoder/level.cpp, source/encoder/level.h:
9886 slice: add ProfileTierLevel instance to VPS
9887
9888 The PTL data is coded in the VPS (first) and thus belongs with that
9889 data structure, as it allows us to simplify arguments to the level
9890 set and determination functions.
9891 [7621ec03e9c6]
9892
9893 * source/encoder/level.cpp:
9894 level: fix typo
9895 [eed3099a90ea]
9896
9897 2014-07-17 Steve Borho <steve@borho.org>
9898
9899 * source/encoder/level.cpp:
9900 fix for GCC warning about loop bounds
9901 [bf78ebd06ed0]
9902
9903 2014-07-21 Steve Borho <steve@borho.org>
9904
9905 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9906 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
9907 source/Lib/TLibEncoder/TEncSearch.cpp,
9908 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
9909 source/encoder/analysis.h, source/encoder/api.cpp,
9910 source/encoder/cturow.cpp, source/encoder/cturow.h,
9911 source/encoder/encoder.cpp, source/encoder/encoder.h,
9912 source/encoder/entropy.cpp, source/encoder/entropy.h,
9913 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
9914 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
9915 entropy: settle on Entropy class name and member names
9916
9917 Through all these various refactors the SBAC/CABAC/entropy classes
9918 have all merged together and the member variables were a scattered
9919 mix
9920 [ca02fa285ac0]
9921
9922 * source/CMakeLists.txt:
9923 cmake: tabs to spaces
9924 [26458b8dcba4]
9925
9926 * source/CMakeLists.txt:
9927 cmake: only create SONAME shared lib on POSIX systems (closes #62)
9928 [80c1d35e5517]
9929
9930 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
9931 source/encoder/ratecontrol.h:
9932 rc: prevent deadlock on encoder flush or close
9933
9934 1. add a terminate() function to unblock any blocked rate control
9935 methods 2. never block if the order ordinal is already above the
9936 required ordinal 3. simulate start events when encoder is flushing
9937
9938 Without these changes, closing the encoder without flushing (CTRL+C
9939 in the CLI) or encoding fewer frames than frame encoders (-F8 -f4)
9940 could cause deadlocks
9941 [a2fd8a71de61]
9942
9943 2014-07-21 Aarthi Thirumalai <Aarthi Thirumalai>
9944
9945 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
9946 rc: fix warnings in ratecontrol
9947 [3801142d080d]
9948
9949 2014-07-18 Aarthi Thirumalai <Aarthi Thirumalai>
9950
9951 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
9952 source/encoder/ratecontrol.h:
9953 rc: generate cutree offsets for 2nd pass from stats
9954 [2f87f3c24b4a]
9955
9956 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
9957 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
9958 source/encoder/slicetype.h:
9959 rc: fix sliceType of 2nd pass from prev pass stats
9960
9961 avoid doing sliceAnalyse in lookahead for 2nd pass
9962 [1b2fbf3208ca]
9963
9964 * source/encoder/encoder.cpp, source/encoder/encoder.h,
9965 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
9966 rc: add 2 pass logic in rateEstimateQscale
9967 [0461e091a7b5]
9968
9969 2014-07-21 Satoshi Nakagawa <nakagawa424@oki.com>
9970
9971 * source/Lib/TLibCommon/TComLoopFilter.cpp,
9972 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
9973 source/Lib/TLibCommon/TComTrQuant.cpp,
9974 source/Lib/TLibCommon/TComTrQuant.h,
9975 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp:
9976 trquant: store QpParam for each component
9977 [4d2c3d09e836]
9978
9979 2014-07-19 Satoshi Nakagawa <nakagawa424@oki.com>
9980
9981 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
9982 source/Lib/TLibCommon/TComTrQuant.h,
9983 source/Lib/TLibCommon/TypeDef.h, source/encoder/entropy.cpp:
9984 scan order tables
9985 [88310701f857]
9986
9987 2014-07-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9988
9989 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
9990 TComWeightPrediction: initialising pointers to NULL
9991
9992 getWPScaling will assign appropriate weight pred tables to these.
9993 [aa651ea5673c]
9994
9995 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
9996 TComWeightPrediction: add braces to prevent errors for an optional
9997 else statement
9998 [a30e3bd53959]
9999
10000 2014-07-17 Michel Zou <xantares09@hotmail.com>
10001
10002 * source/CMakeLists.txt:
10003 cmake: fix dll installation directory on Windows
10004
10005 On Windows the shared library (.dll) is considered RUNTIME and the
10006 import library (.dll.a on MinGW or .lib on MSVC) as LIBRARY.
10007 [eb983d29c11a]
10008
10009 2014-07-17 Min Chen <chenm003@163.com>
10010
10011 * source/common/x86/ssd-a.asm:
10012 use macro HADDD to improve AMD performance
10013 [7e9de0923541]
10014
10015 2014-07-18 Ashok Kumar Mishra <ashok@multicorewareinc.com>
10016
10017 * source/Lib/TLibCommon/TComDataCU.cpp,
10018 source/Lib/TLibCommon/TComDataCU.h:
10019 TComDataCU: replaced functions with tables
10020 [477a0a6bf89b]
10021
10022 * source/Lib/TLibCommon/TComDataCU.cpp,
10023 source/Lib/TLibCommon/TComDataCU.h:
10024 TComDataCU: remove redundant functions
10025 [6df47cdd3f47]
10026
10027 2014-07-18 Santhoshini Sekar <santhoshini@multicorewareinc.com>
10028
10029 * source/encoder/analysis.cpp, source/encoder/encoder.cpp,
10030 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
10031 source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
10032 source/encoder/ratecontrol.h:
10033 rc: update ratecontrol stats in every frame, avoid frame parallelism
10034 lag in abr
10035
10036 RateControl statistics are updated for every frame when refLagRows
10037 number of rows are completed in processRowEncoder. With this updated
10038 data rateControl predicts more accurate QP
10039
10040 This removes the previous hack which disabled frame parallelism for
10041 the first half-second of video and replaces it with a more fine-
10042 grained rate control call timing to achieve a similar ABR
10043 improvement with less effect to frame parallelism.
10044 [0a8ecd8a6cf9]
10045
10046 2014-07-18 Steve Borho <steve@borho.org>
10047
10048 * source/Lib/TLibCommon/TComTrQuant.h, source/common/CMakeLists.txt,
10049 source/common/scalinglist.cpp, source/common/scalinglist.h,
10050 source/common/slice.cpp, source/common/slice.h,
10051 source/encoder/encoder.h, source/encoder/entropy.cpp,
10052 source/encoder/entropy.h:
10053 split ScalingList class into its own header and source file
10054
10055 The PPS and SPS headers no longer have scaling list pointers, so
10056 there is no need for it to be declared in the same header
10057 [eef6867b9c53]
10058
10059 * source/encoder/dpb.cpp, source/encoder/ratecontrol.cpp:
10060 a copy of POC is cached in the Frame struct
10061 [e4199c04d78d]
10062
10063 * source/Lib/TLibCommon/TComDataCU.cpp,
10064 source/Lib/TLibCommon/TComDataCU.h,
10065 source/Lib/TLibCommon/TComLoopFilter.cpp,
10066 source/Lib/TLibCommon/TComPattern.cpp,
10067 source/Lib/TLibCommon/TComPrediction.cpp,
10068 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10069 source/Lib/TLibCommon/TComTrQuant.cpp,
10070 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10071 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10072 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/frame.h,
10073 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
10074 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
10075 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
10076 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
10077 frame,cu: remove getSlice()
10078 [ea61fd838115]
10079
10080 * source/Lib/TLibCommon/TComPicSym.h, source/common/frame.h,
10081 source/encoder/dpb.cpp:
10082 picsym: remove getSlice()
10083 [821c875b2d39]
10084
10085 * source/Lib/TLibCommon/TComDataCU.h,
10086 source/Lib/TLibCommon/TComLoopFilter.cpp,
10087 source/Lib/TLibCommon/TComPattern.cpp,
10088 source/Lib/TLibCommon/TComPicSym.cpp,
10089 source/Lib/TLibCommon/TComPicSym.h,
10090 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
10091 source/Lib/TLibCommon/TComSlice.cpp,
10092 source/Lib/TLibCommon/TComSlice.h,
10093 source/Lib/TLibCommon/TComTrQuant.cpp,
10094 source/Lib/TLibCommon/TComTrQuant.h,
10095 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10096 source/common/CMakeLists.txt, source/common/common.cpp,
10097 source/common/frame.h, source/common/param.cpp,
10098 source/common/slice.cpp, source/common/slice.h,
10099 source/encoder/analysis.cpp, source/encoder/cturow.h,
10100 source/encoder/dpb.cpp, source/encoder/dpb.h,
10101 source/encoder/encoder.cpp, source/encoder/encoder.h,
10102 source/encoder/entropy.cpp, source/encoder/entropy.h,
10103 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10104 source/encoder/ratecontrol.h, source/encoder/reference.cpp,
10105 source/encoder/sei.cpp, source/encoder/sei.h,
10106 source/encoder/weightPrediction.cpp:
10107 move PPS, SPS, Slice and ScalingList to common/
10108 [f04c98f33ca5]
10109
10110 2014-07-17 Steve Borho <steve@borho.org>
10111
10112 * source/Lib/TLibCommon/TComSlice.cpp,
10113 source/Lib/TLibCommon/TComSlice.h:
10114 slice: remove unused initWpScaling()
10115 [9cbd9fc1710a]
10116
10117 * source/Lib/TLibCommon/TComSlice.cpp,
10118 source/Lib/TLibCommon/TComSlice.h,
10119 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10120 source/encoder/entropy.cpp:
10121 slice: remove getWpScaling()
10122 [601e61fb185f]
10123
10124 * source/Lib/TLibCommon/TComSlice.cpp,
10125 source/Lib/TLibCommon/TComSlice.h, source/common/piclist.cpp,
10126 source/common/piclist.h:
10127 slice: make xGetRefPic a PicList method
10128 [b4643bc7ac7d]
10129
10130 * source/Lib/TLibCommon/TComSlice.h:
10131 slice: do not initialize fields that are always written
10132 unconditionally
10133 [eb6178f8449e]
10134
10135 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10136 source/encoder/frameencoder.cpp:
10137 encoder: do some slice initializations only once
10138 [37ea4eb500cf]
10139
10140 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10141 entropy: slice->m_colFromL0Flag is a bool
10142 [1bf5e0390f7d]
10143
10144 * source/encoder/dpb.cpp:
10145 dpb: simplify check for m_bCheckLDC; make note for future
10146 optimization
10147 [f7624977ec9a]
10148
10149 * source/encoder/dpb.cpp:
10150 dpb: remove check for B frame without L1
10151
10152 our lookahead won't emit B frames without a leading P frame
10153 [fb9681ba75ac]
10154
10155 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10156 source/encoder/entropy.cpp:
10157 slice: remove m_bLMvdL1Zero
10158
10159 This feature, which signals L1 MVD is zero for an entire slice, was
10160 never enabled because we never use the same frame list in L0 and L1.
10161 [82c1fec5da66]
10162
10163 * source/encoder/entropy.cpp:
10164 entropy: fix warning reported by llvm
10165
10166 /Users/steve/repos/x265/source/encoder/entropy.cpp:321:44: warning:
10167 equality comparison with extraneous parentheses[-Wparentheses-
10168 equality] if ((cu->getSlice()->m_numRefIdx[list] == 1))
10169 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
10170 [8eed1fac9ccb]
10171
10172 * source/encoder/entropy.cpp, source/encoder/entropy.h,
10173 source/encoder/frameencoder.cpp, source/encoder/nal.cpp,
10174 source/encoder/nal.h:
10175 wpp: generate stream size array as coded (in bytes) and pre-
10176 calculate max offset
10177
10178 removes another per-frame alloc/free and redundant work
10179 [93ab6ed75b01]
10180
10181 * source/Lib/TLibCommon/TComSlice.cpp,
10182 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10183 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
10184 source/encoder/frameencoder.h:
10185 slice: remove substream array, move to frame encoder
10186
10187 \0/ the slice structure no longer allocates memory
10188 [5cbdfc4532d9]
10189
10190 * source/Lib/TLibCommon/TComPrediction.cpp:
10191 nit
10192 [57f8e7264e9e]
10193
10194 * source/Lib/TLibCommon/TComDataCU.cpp,
10195 source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/dpb.cpp:
10196 replace slice->m_refPicList[][]->getPOC() with
10197 slice->m_refPOCList[][]
10198 [4c14b90fad83]
10199
10200 * source/Lib/TLibCommon/TComSlice.cpp,
10201 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
10202 slice: merge setRefPOCList() into setRefPicList()
10203
10204 Now both lists are always aligned so it is always safe to use the
10205 POC table
10206 [51caccd3b359]
10207
10208 * source/Lib/TLibCommon/TComDataCU.cpp,
10209 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10210 source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
10211 slice: remove getRefPOC
10212 [eb2278d72afa]
10213
10214 * source/encoder/dpb.cpp:
10215 dpb: perform setRefPOCList() directly after setRefPicList()
10216
10217 A precursor to combining the two functions
10218 [c1acfb981082]
10219
10220 * source/Lib/TLibCommon/TComDataCU.cpp,
10221 source/Lib/TLibCommon/TComLoopFilter.cpp,
10222 source/Lib/TLibCommon/TComPrediction.cpp,
10223 source/Lib/TLibCommon/TComSlice.h,
10224 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10225 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
10226 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
10227 source/encoder/weightPrediction.cpp:
10228 slice: remove getRefPic(l,r)
10229 [e2f90ba1de4a]
10230
10231 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10232 source/encoder/entropy.cpp:
10233 slice: remove setNumRefIdx
10234 [ce65e2bd2f12]
10235
10236 * source/Lib/TLibCommon/TComDataCU.cpp,
10237 source/Lib/TLibCommon/TComSlice.h, source/encoder/analysis.cpp,
10238 source/encoder/dpb.cpp, source/encoder/entropy.cpp,
10239 source/encoder/frameencoder.cpp:
10240 slice: remove set/get for m_colRefIdx and m_sliceCurEndCUAddr
10241 [4701e921b33d]
10242
10243 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10244 source/encoder/entropy.cpp:
10245 slice: remove getMvdL1ZeroFlag/setMvdL1ZeroFlag
10246 [b2ac589c522e]
10247
10248 * source/Lib/TLibCommon/TComDataCU.cpp,
10249 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10250 source/encoder/entropy.cpp:
10251 slice: remove getColFromL0Flag()
10252 [1268011090f0]
10253
10254 * source/Lib/TLibCommon/TComDataCU.cpp,
10255 source/Lib/TLibCommon/TComPrediction.cpp,
10256 source/Lib/TLibCommon/TComSlice.cpp,
10257 source/Lib/TLibCommon/TComSlice.h,
10258 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10259 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
10260 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
10261 source/encoder/weightPrediction.cpp:
10262 slice: remove getNumRefIdx() access method
10263 [785217b5ed5c]
10264
10265 * source/Lib/TLibCommon/TComSlice.h:
10266 slice: removed unused setRefPic() and setRefPOC() methods
10267 [c7846351fc9f]
10268
10269 * source/Lib/TLibCommon/TComSlice.cpp,
10270 source/Lib/TLibCommon/TComSlice.h:
10271 slice: remove unused getNumRpsCurrTempList() method
10272 [0f5cfda6a764]
10273
10274 * source/Lib/TLibCommon/TComDataCU.cpp,
10275 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10276 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
10277 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
10278 slice: remove get/set methods for slice QP and lastIDR
10279 [3f024a5a40f0]
10280
10281 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10282 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
10283 source/encoder/ratecontrol.cpp:
10284 slice: remove get/set methods for m_bReferenced
10285 [aa785acc0d5f]
10286
10287 * source/Lib/TLibCommon/TComDataCU.cpp,
10288 source/Lib/TLibCommon/TComSlice.h,
10289 source/Lib/TLibCommon/TComTrQuant.cpp,
10290 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10291 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
10292 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
10293 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
10294 slice: remove get/set methods for m_sliceType
10295 [880285f10294]
10296
10297 * source/Lib/TLibCommon/TComSlice.h:
10298 nit
10299 [95a35fd1c0b7]
10300
10301 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10302 slice: remove m_cabacInitFlag, it was write-only
10303 [39f9cb10090a]
10304
10305 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10306 slice: remove m_numEntryPointOffsets, it was write-only
10307 [3a6a0307f6c6]
10308
10309 * source/Lib/TLibCommon/TComSlice.h, source/encoder/analysis.cpp,
10310 source/encoder/cturow.cpp, source/encoder/frameencoder.cpp:
10311 slice: remove slice bit counter
10312 [79c839303e2a]
10313
10314 * source/Lib/TLibCommon/TComDataCU.cpp,
10315 source/Lib/TLibCommon/TComSlice.cpp,
10316 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10317 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
10318 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10319 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
10320 slice: remove get/set methods for m_poc
10321 [98b7f7a776b1]
10322
10323 * source/Lib/TLibCommon/TComSlice.h:
10324 nits
10325 [67c9a0c5ec56]
10326
10327 * source/Lib/TLibCommon/TComDataCU.cpp,
10328 source/Lib/TLibCommon/TComSlice.h, source/encoder/analysis.cpp,
10329 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
10330 slice: remove m_sliceSegmentBits and get/set methods for max-merge
10331 [bf060c902d24]
10332
10333 * source/Lib/TLibCommon/TComSlice.cpp,
10334 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10335 source/encoder/frameencoder.cpp:
10336 slice: remove m_saoEnabledFlag, m_saoEnabledFlagChroma - use
10337 saoParams
10338
10339 SBac::encodeSliceHeader() was already using saoParams for chroma but
10340 not for luma (inexplicably)
10341 [fd4297676f76]
10342
10343 * source/encoder/frameencoder.cpp:
10344 sao: combine if(){} expressions
10345 [a5d5d329daf1]
10346
10347 * source/encoder/frameencoder.cpp:
10348 sao: (bool == 1? ? true : false -> wat?
10349 [0233b8965906]
10350
10351 * source/encoder/ratecontrol.cpp:
10352 rc: fix vbvBufferSize calculation
10353 [930003de2009]
10354
10355 * source/Lib/TLibCommon/TComSlice.h:
10356 slice: nits
10357 [901252fe8a16]
10358
10359 * source/Lib/TLibCommon/TComSlice.cpp,
10360 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10361 source/encoder/frameencoder.cpp:
10362 slice: cleanup m_nalUnitType and helper methods
10363 [4c49302d8b19]
10364
10365 * source/Lib/TLibCommon/TComDataCU.cpp,
10366 source/Lib/TLibCommon/TComDataCU.h,
10367 source/Lib/TLibCommon/TComLoopFilter.cpp,
10368 source/Lib/TLibCommon/TComLoopFilter.h,
10369 source/Lib/TLibCommon/TComPattern.cpp,
10370 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10371 source/Lib/TLibCommon/TComSlice.h,
10372 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10373 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
10374 source/encoder/weightPrediction.cpp:
10375 slice: remove get/set methods for m_pic
10376
10377 This cleaned up TComDataCU::getPic() as a side-effect.
10378 [72e3bd69cb70]
10379
10380 * source/Lib/TLibCommon/TComDataCU.cpp,
10381 source/Lib/TLibCommon/TComSlice.cpp,
10382 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10383 source/encoder/entropy.cpp:
10384 slice: temporal MVP was never disabled
10385 [6e45eff6d2b3]
10386
10387 * source/encoder/encoder.cpp:
10388 rc: HRD must be initialized prior to calling init()
10389 [c06b0b9d3501]
10390
10391 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10392 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10393 slice: remove unused deblock data, directly use status/offsets from
10394 PPS
10395
10396 nits: reorder TComSlice for better clarity and remove initializer
10397 list from constructor
10398 [ba028e8d4115]
10399
10400 * source/Lib/TLibCommon/TComSlice.cpp,
10401 source/Lib/TLibCommon/TComSlice.h,
10402 source/Lib/TLibEncoder/TEncSearch.cpp,
10403 source/encoder/frameencoder.cpp:
10404 slice: remove unused slice QP deltas
10405 [b5abd96ccc90]
10406
10407 * source/encoder/dpb.cpp, source/encoder/entropy.cpp:
10408 nits
10409 [134406df4863]
10410
10411 * source/Lib/TLibCommon/TComSlice.cpp,
10412 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10413 source/encoder/entropy.cpp:
10414 slice: we only use a slice-local RPS (none signaled in SPS)
10415 [f5352780ad35]
10416
10417 * source/Lib/TLibCommon/TComSlice.cpp,
10418 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10419 source/encoder/dpb.h, source/encoder/entropy.cpp,
10420 source/encoder/entropy.h:
10421 slice: TComReferencePictureSet -> RPS
10422 [e6a8280a3c1a]
10423
10424 * source/Lib/TLibCommon/TComSlice.cpp,
10425 source/Lib/TLibCommon/TComSlice.h:
10426 slice: hoist constructor to header (it will be removed in later
10427 commits)
10428 [08232a102124]
10429
10430 * source/Lib/TLibCommon/TComDataCU.cpp,
10431 source/Lib/TLibCommon/TComLoopFilter.cpp,
10432 source/Lib/TLibCommon/TComPattern.cpp,
10433 source/Lib/TLibCommon/TComPrediction.cpp,
10434 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10435 source/Lib/TLibCommon/TComSlice.h,
10436 source/Lib/TLibCommon/TComTrQuant.cpp,
10437 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10438 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10439 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
10440 source/encoder/entropy.cpp, source/encoder/entropy.h,
10441 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
10442 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
10443 source/encoder/sei.cpp, source/encoder/sei.h:
10444 slice: remove get/set methods for SPS and PPS, make pointers const
10445
10446 Nearly everywhere, SPS and PPS are used read-only, so making the
10447 pointers const enforces this at compile time and allows the compiler
10448 to make some optimizations. The few places that initialize or change
10449 the headers are passed the original objects belonging to the top-
10450 level encoder.
10451 [419d1a1b0d39]
10452
10453 * source/encoder/frameencoder.cpp:
10454 nit
10455 [675a22d901af]
10456
10457 * source/Lib/TLibCommon/TComSlice.cpp,
10458 source/Lib/TLibCommon/TComSlice.h,
10459 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10460 source/Lib/TLibCommon/TComWeightPrediction.h,
10461 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
10462 source/encoder/reference.cpp, source/encoder/reference.h,
10463 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
10464 source/encoder/weightPrediction.cpp:
10465 slice: rename wpScalingParam -> WeightParam
10466 [575d4a0d849b]
10467
10468 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10469 source/encoder/encoder.h, source/encoder/entropy.cpp,
10470 source/encoder/frameencoder.cpp:
10471 pps: simplify deblocking signaling, disable slice override
10472
10473 Disable slice override of deblock-enable state and offsets - we do
10474 no such thing and attempts at using these in the past have not been
10475 effective.
10476 [3e4616cffc90]
10477
10478 * source/encoder/encoder.h:
10479 nits
10480 [6d0c8efbe3ed]
10481
10482 * source/encoder/api.cpp, source/encoder/encoder.cpp,
10483 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
10484 source/encoder/frameencoder.h:
10485 encoder: make SPS and PPS top-level encoder singletons
10486
10487 This fixes a subtle bug. If level requirements forced the max
10488 references to be lowered, VPS and SPS maxDecPicBuffering was never
10489 adjusted. Now, they are not configured until after level enforcement
10490 has set them to final values.
10491 [f0d157944c55]
10492
10493 2014-07-16 Steve Borho <steve@borho.org>
10494
10495 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10496 source/encoder/entropy.cpp:
10497 pps: we never very chroma QP per picture, so remove
10498 bSliceChromaQpFlag
10499 [b59d09ca6c1b]
10500
10501 * source/encoder/encoder.cpp, source/encoder/entropy.cpp:
10502 pps: move deblocking logic together, fix a couple signaling bugs
10503 [bb5e9a11868c]
10504
10505 * source/Lib/TLibCommon/TComDataCU.cpp,
10506 source/Lib/TLibCommon/TComLoopFilter.cpp,
10507 source/Lib/TLibCommon/TComPattern.cpp,
10508 source/Lib/TLibCommon/TComPrediction.cpp,
10509 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10510 source/Lib/TLibCommon/TComSlice.h,
10511 source/Lib/TLibCommon/TComTrQuant.cpp,
10512 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10513 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10514 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
10515 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
10516 pps: class to struct, remove m_ prefix, unify naming scheme
10517 [677547b73129]
10518
10519 * source/Lib/TLibCommon/TComDataCU.cpp,
10520 source/Lib/TLibCommon/TComLoopFilter.cpp,
10521 source/Lib/TLibCommon/TComPattern.cpp,
10522 source/Lib/TLibCommon/TComPrediction.cpp,
10523 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10524 source/Lib/TLibCommon/TComSlice.cpp,
10525 source/Lib/TLibCommon/TComSlice.h,
10526 source/Lib/TLibCommon/TComTrQuant.cpp,
10527 source/Lib/TLibCommon/TComWeightPrediction.cpp,
10528 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10529 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
10530 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
10531 pps: remove set/get methods and hard-coded members
10532 [31d11036bf9c]
10533
10534 * source/Lib/TLibCommon/TComSlice.h:
10535 slice: white-space nits
10536 [febec529cc80]
10537
10538 * source/Lib/TLibCommon/TComSlice.h:
10539 vps: remove constructor, those values are always initialized
10540 [c64bca550377]
10541
10542 * source/Lib/TLibCommon/TComTrQuant.cpp:
10543 sps: fix check statement
10544 [8193ac4172fe]
10545
10546 * source/Lib/TLibCommon/TComDataCU.cpp,
10547 source/Lib/TLibCommon/TComLoopFilter.cpp,
10548 source/Lib/TLibCommon/TComPattern.cpp,
10549 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10550 source/Lib/TLibCommon/TComSlice.h,
10551 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10552 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
10553 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
10554 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
10555 source/encoder/sei.h:
10556 sps: class to struct, remove m_ prefixes
10557 [59782b2bc59c]
10558
10559 * source/Lib/TLibCommon/TComDataCU.cpp,
10560 source/Lib/TLibCommon/TComLoopFilter.cpp,
10561 source/Lib/TLibCommon/TComPattern.cpp,
10562 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10563 source/Lib/TLibCommon/TComSlice.cpp,
10564 source/Lib/TLibCommon/TComSlice.h,
10565 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10566 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
10567 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
10568 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
10569 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10570 source/encoder/sei.h:
10571 sps: remove set/get methods, remove members with hard-coded values
10572
10573 Note all the SPS members that could be replaced by direct access to
10574 param. Removes m_vps pointer from slice, it was never set or
10575 referenced
10576 [e288df705bf3]
10577
10578 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10579 source/encoder/entropy.cpp:
10580 vps: class to struct and other nits
10581 [9f906f877ba8]
10582
10583 * source/Lib/TLibCommon/TComDataCU.cpp,
10584 source/Lib/TLibCommon/TComSlice.h,
10585 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
10586 source/encoder/encoder.cpp, source/encoder/encoder.h,
10587 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
10588 pps: remove hard-coded getLog2ParallelMergeLevelMinus2(0)
10589
10590 and snuck in some other nits
10591 [b9bb54fd5478]
10592
10593 * source/Lib/TLibCommon/TComSlice.cpp,
10594 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10595 remove hard-coded pps->getSliceHeaderExtensionPresentFlag()
10596 [ba3146812b42]
10597
10598 * source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
10599 nits
10600 [92f32f4492f0]
10601
10602 * source/Lib/TLibCommon/TComSlice.cpp,
10603 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10604 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
10605 slice: remove redundant/unused scaling lists from SPS, PPS, and
10606 Slice
10607
10608 The SPS and PPS were allocating their own scaling list instances and
10609 never using them; with the recent refactors only their status flags
10610 were coded. TComSlice had a pointer to the top-level scaling list,
10611 but never used it.
10612
10613 "There can be only one!"
10614 [8969598e1d91]
10615
10616 * source/Lib/TLibCommon/TComSlice.cpp:
10617 slice: nits
10618 [891f975f1ba5]
10619
10620 * source/Lib/TLibCommon/TComSlice.cpp,
10621 source/Lib/TLibCommon/TComSlice.h,
10622 source/Lib/TLibCommon/TComTrQuant.cpp, source/common/common.h,
10623 source/encoder/encoder.cpp, source/encoder/encoder.h,
10624 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
10625 slice: remove trivial set/get methods, move all relavent functions
10626 to the class
10627 [164b43bfdf7a]
10628
10629 * source/Lib/TLibCommon/TComSlice.cpp,
10630 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
10631 slice: remove unsignaled m_temporalLayerNonReferenceFlag
10632 [b3db2d76500b]
10633
10634 * doc/reST/cli.rst:
10635 rest: fix crf min/max option names
10636 [9213f5dea023]
10637
10638 * source/Lib/TLibCommon/TComSlice.h:
10639 slice: start to clean up scaling list struct
10640 [04601befb930]
10641
10642 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10643 source/encoder/entropy.cpp:
10644 slice: convert Window to struct, simplify names
10645 [26f94fc58d5a]
10646
10647 * doc/reST/cli.rst:
10648 rest: fix documented default AQ mode
10649
10650 As noted by Alex Ramsey
10651 [c45eda4d780f]
10652
10653 * source/Lib/TLibCommon/TComSlice.h, source/common/bitstream.h,
10654 source/encoder/entropy.cpp, source/encoder/sei.h:
10655 bitstream: change writeFlag() to take a bool to avoid int
10656 conversions
10657 [2737d0b05b72]
10658
10659 * source/Lib/TLibCommon/TComSlice.cpp,
10660 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10661 source/encoder/encoder.h, source/encoder/entropy.cpp,
10662 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10663 source/encoder/sei.h:
10664 vui: prune set/get methods and unsignaled fields
10665 [cb5f30c19ccc]
10666
10667 * source/Lib/TLibCommon/TComSlice.cpp,
10668 source/Lib/TLibCommon/TComSlice.h:
10669 slice: finish cleanup of TComReferencePictureSet
10670 [ab3e3c2b806f]
10671
10672 * source/Lib/TLibCommon/TComSlice.cpp,
10673 source/Lib/TLibCommon/TComSlice.h:
10674 slice: remove unused PPS ID
10675 [06ceed0047c1]
10676
10677 * source/Lib/TLibCommon/TComDataCU.cpp,
10678 source/Lib/TLibCommon/TComSlice.cpp, source/encoder/dpb.cpp:
10679 brace nits
10680 [f28129d63336]
10681
10682 * source/Lib/TLibCommon/TComDataCU.cpp,
10683 source/Lib/TLibCommon/TComSlice.cpp,
10684 source/Lib/TLibCommon/TComSlice.h, source/common/frame.cpp,
10685 source/common/frame.h, source/encoder/dpb.cpp, source/encoder/dpb.h,
10686 source/encoder/entropy.cpp, source/encoder/entropy.h,
10687 source/encoder/frameencoder.cpp:
10688 slice: Cleanup TComReferencePictureSet, prune the notion of long-
10689 term-pictures
10690 [afcfff7f654c]
10691
10692 2014-07-15 Steve Borho <steve@borho.org>
10693
10694 * source/encoder/entropy.cpp:
10695 entropy: nits
10696 [d850cbf81e0f]
10697
10698 2014-07-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10699
10700 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
10701 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/CMakeLists.txt,
10702 source/encoder/analysis.cpp, source/encoder/analysis.h,
10703 source/encoder/compress.cpp, source/encoder/cturow.h,
10704 source/encoder/frameencoder.h:
10705 port TEncCU functions into analysis structure
10706
10707 1. Rename TEncCU to Analysis 2. Remove warnings (/wd4244 /wd4389
10708 /wd4018) from TEncCU 3. Roll over compress.cpp into analysis.cpp 4.
10709 Rename TEncCU to Analysis 5. Remove hungarian notation function
10710 names
10711 [76eb82b31c37]
10712
10713 2014-07-15 Steve Borho <steve@borho.org>
10714
10715 * source/Lib/TLibEncoder/TEncSearch.cpp:
10716 search: assert to X265_CHECK
10717 [6cf3a2414461]
10718
10719 2014-07-15 Min Chen <chenm003@163.com>
10720
10721 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
10722 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
10723 source/common/x86/pixel.h, source/common/x86/ssd-a.asm,
10724 source/test/pixelharness.cpp, source/test/pixelharness.h:
10725 replace sse_sp(residual, ZERO) by ssd_s(residual)
10726 [7e6ac3a85073]
10727
10728 2014-07-15 Santhoshini Sekar <santhoshini@multicorewareinc.com>
10729
10730 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
10731 rc: define function for updating rate control statistics in
10732 processRowEncoder
10733
10734 Rate control updates its statistics like bits in RateControlEnd.
10735 With frame parallelsim enabled and N parallel frames running, the
10736 feedback given to rate control is delayed until rateControlStart of
10737 N frames are called. To avoid this delay, update rate control
10738 statistics for every frame after encode of few frames are done in
10739 processRowEncoder. By updating statistics for every frame we make
10740 ABR to function more accurately (predicts more accurate QP) making
10741 use of latest data rather than stale values.
10742
10743 Frame parallelism lag (the wait for reconstructed pixels) already
10744 forces this delay between frames, this change will simply take
10745 advantage of the progress made by referenced frames before each
10746 frame is allowed to begin coding by having more accurate rate
10747 control data.
10748 [27a27d733e1e]
10749
10750 2014-07-15 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10751
10752 * source/Lib/TLibCommon/TComSlice.cpp,
10753 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10754 source/encoder/encoder.h:
10755 fix for crash when scalingList feature is enabled
10756 [919fd9de54dc]
10757
10758 2014-07-15 Steve Borho <steve@borho.org>
10759
10760 * source/encoder/entropy.cpp:
10761 entropy: remove obsolete check macro
10762 [3499aa4fa20c]
10763
10764 * source/Lib/TLibCommon/TComSlice.h:
10765 slice: fix warning
10766 [32aeb47c2d36]
10767
10768 * source/Lib/TLibCommon/TComSlice.h:
10769 slice: remove unused m_useDF
10770 [6e0def026364]
10771
10772 * source/Lib/TLibCommon/TComSlice.cpp,
10773 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10774 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
10775 slice: remove more hard-coded fields
10776 [3b0e141c3a2f]
10777
10778 * source/Lib/TLibCommon/CommonDef.h,
10779 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/encoder.cpp:
10780 defs: remove more dead definitions
10781 [105778f37879]
10782
10783 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10784 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10785 source/encoder/sei.h:
10786 hrd: remove *Minus1 from member names and semantics, remove m_
10787 prefixes
10788
10789 Note that hrd->cpbSizeValue stored a "minus 1" value but was not
10790 named as such
10791
10792 This commit also fixed a math bug (late up-conversion) in cpbSize
10793 calculation in ratecontrol.cpp
10794 [3bc86d0fbdc7]
10795
10796 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10797 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10798 source/encoder/sei.h:
10799 hrd: remove set/get methods of TComHRD, remove unused members
10800 [d9921a247139]
10801
10802 * source/Lib/TLibCommon/TComSlice.h:
10803 hrd: remove four unused fields
10804 [e2003ed17684]
10805
10806 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10807 source/encoder/ratecontrol.cpp, source/encoder/sei.h:
10808 hrd: CPB count is always 1
10809 [00b91817e3e4]
10810
10811 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10812 source/encoder/ratecontrol.cpp:
10813 hrd: inline HrdLayerInfo, remove second array dimension (was for
10814 nal/vcl)
10815 [b9c3a067f89e]
10816
10817 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10818 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
10819 source/encoder/ratecontrol.cpp, source/encoder/sei.h:
10820 hrd: we always signal NAL HRD but not VCL and not sub-pic
10821
10822 Remove redundant fields and methods
10823 [27c28450e098]
10824
10825 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10826 source/encoder/encoder.h, source/encoder/entropy.cpp,
10827 source/encoder/ratecontrol.cpp:
10828 slice: simplify TimingInfo to a struct
10829 [9b807ca6313a]
10830
10831 * source/Lib/TLibCommon/TComSlice.h:
10832 slice: nits
10833 [b0bc72c359d1]
10834
10835 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10836 source/encoder/entropy.cpp:
10837 change ProfileTierLevel to a struct, no m_ prefixes
10838 [758cb5de97b6]
10839
10840 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10841 ptl: remove hard-coded m_profileSpace
10842 [bc9bbe6bfdb1]
10843
10844 * source/encoder/entropy.cpp:
10845 entropy: de-hungarian codePredWeightTable(), fix comments (remove
10846 redundants)
10847 [84478006fe0f]
10848
10849 * source/encoder/entropy.cpp:
10850 entropy: nits
10851 [dfd2bd5c7cfa]
10852
10853 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10854 vps: remove m_maxLatencyIncrease, it was always 0
10855 [969a6a5de916]
10856
10857 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10858 source/encoder/entropy.cpp:
10859 vps: remove remaining set/get methods
10860 [d7b673cdbc78]
10861
10862 * source/Lib/TLibCommon/TComSlice.h:
10863 vps: remove now unused m_layerIdIncludedFlag
10864 [bf28c2e0a8ce]
10865
10866 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
10867 vps: remove unused m_maxNuhReservedZeroLayerId, m_numOpSets
10868
10869 The values were all hard-coded
10870 [00fafd0b078c]
10871
10872 * source/Lib/TLibCommon/TComSlice.cpp,
10873 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10874 source/encoder/frameencoder.cpp:
10875 sps: hard-code an SPS ID of 0, we only ever use one SPS
10876 [fe9aee4225a1]
10877
10878 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10879 source/encoder/frameencoder.cpp:
10880 vps: remove m_VPSId, signal hard-coded 0
10881 [f7c168558bf0]
10882
10883 * source/encoder/entropy.cpp:
10884 entropy: remove broken X265_CHECK
10885 [1dd0b14a8e9c]
10886
10887 * source/encoder/frameencoder.cpp:
10888 frameencoder: nits
10889 [e68eedbd6795]
10890
10891 * source/Lib/TLibCommon/CommonDef.h,
10892 source/Lib/TLibCommon/TComSlice.cpp,
10893 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10894 source/encoder/entropy.h:
10895 remove unused multiple HRD parameter sets from VPS class
10896 [27307f7547c0]
10897
10898 * source/Lib/TLibCommon/CommonDef.h:
10899 defs: remove some dead definitions, cleanup a comment
10900 [ddb6dc16a64a]
10901
10902 * source/Lib/TLibCommon/TComSlice.cpp,
10903 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
10904 slice: remove unused m_interRPSPrediction from
10905 TComReferencePictureSet
10906 [6ac88ce5d670]
10907
10908 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp:
10909 slice: simplify max AMP level determination
10910 [20ca3447ed96]
10911
10912 * source/encoder/encoder.cpp, source/encoder/encoder.h:
10913 encoder: remove redundant member variables
10914 [12de88f4e110]
10915
10916 * source/Lib/TLibCommon/CommonDef.h,
10917 source/Lib/TLibCommon/TComSlice.cpp,
10918 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
10919 source/encoder/encoder.cpp, source/encoder/encoder.h,
10920 source/encoder/entropy.cpp, source/encoder/entropy.h,
10921 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10922 source/encoder/sei.h:
10923 Remove MAX_TLAYER and stop pretending we can code multiple temporal
10924 layers
10925
10926 This simplifies a great many things; enabling further simplications
10927 to come. This commit leaves a sprinkling of TODOs for further
10928 cleanups
10929 [e07686925819]
10930
10931 * source/encoder/entropy.cpp:
10932 entropy: nits
10933 [7fac1eb8252f]
10934
10935 2014-07-14 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10936
10937 * source/encoder/compress.cpp:
10938 compress: fix for sa8dcost storage in rdlevel 1, 0
10939 [c923f4a94946]
10940
10941 2014-07-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10942
10943 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
10944 TEncCU: remove useless field
10945
10946 There's a global variable for this.
10947 [863d969e3ab9]
10948
10949 2014-07-15 Steve Borho <steve@borho.org>
10950
10951 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10952 source/encoder/entropy.h:
10953 entropy: hoist a couple of trivial functions, brace nits
10954 [5c5183eeacb5]
10955
10956 * source/Lib/TLibCommon/TComSlice.cpp,
10957 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10958 source/encoder/encoder.h, source/encoder/entropy.cpp,
10959 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
10960 encoder: keep ProfileTierLevel singleton in the top-level encoder
10961
10962 Remove the copies in the SPS and VPS and remove the TComPTL object
10963 entirely, there is only one level.
10964 [83b498cd9aef]
10965
10966 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10967 entropy: simplify PTL coding, there is only one layer
10968 [8542b057d33e]
10969
10970 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10971 entropy: remove profilePresentFlag argument from codePTL, always 1
10972 [5995d7bbfa1a]
10973
10974 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10975 source/encoder/entropy.cpp:
10976 slice: Remove get/set methods from TComPTL
10977 [c52a6321b845]
10978
10979 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10980 source/encoder/encoder.h, source/encoder/entropy.cpp:
10981 slice: remove set/get methods from ProfileTierLevel, and dead
10982 encoder vars
10983 [fa4fc98233e0]
10984
10985 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
10986 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
10987 api: add an option to disable the informational SEI message
10988
10989 For regression testing, or comparing outputs between compilers or
10990 platforms, this header is quite unhelpful, so make it optional.
10991 [6f51bf4ba665]
10992
10993 * source/Lib/TLibCommon/TComSlice.cpp,
10994 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
10995 source/encoder/entropy.h:
10996 slice: remove RPS list class and relevant SPS encoding logic
10997
10998 x265 only codes a reference picture set in the slice header, none in
10999 the SPS and never an "inter-RPS"
11000 [59855812b4ef]
11001
11002 * source/common/param.cpp:
11003 param: fix cut-paste bug
11004 [836c08981029]
11005
11006 2014-07-14 Steve Borho <steve@borho.org>
11007
11008 * source/Lib/TLibCommon/TComSlice.h, source/common/param.cpp,
11009 source/encoder/entropy.cpp:
11010 slice: white-space cleanups, remove dead funcdefs and forward defs
11011 [2454ef2a083e]
11012
11013 * source/Lib/TLibCommon/TComSlice.h:
11014 slice: remove virtual destructors for slice classes
11015
11016 we do not want or need vtables for any of these classes
11017 [e3efe14f4e6a]
11018
11019 * source/common/param.cpp, source/x265.cpp:
11020 param: move --input-res parsing to x265_param_parse (closes #63)
11021 [67c7bfda7c28]
11022
11023 * source/CMakeLists.txt:
11024 cmake: set SONAME even if no revision number or tag is found (closes
11025 #58)
11026 [51b3ff5e88e2]
11027
11028 * source/Lib/TLibCommon/TComPicSym.cpp:
11029 picsym: check m_cuData before trying to destroy array instances
11030 [539e94e7aa34]
11031
11032 2014-07-14 Satoshi Nakagawa <nakagawa424@oki.com>
11033
11034 * source/Lib/TLibCommon/TComDataCU.cpp,
11035 source/Lib/TLibCommon/TComDataCU.h,
11036 source/Lib/TLibCommon/TComLoopFilter.cpp,
11037 source/Lib/TLibCommon/TComPattern.cpp,
11038 source/Lib/TLibCommon/TComPattern.h,
11039 source/Lib/TLibCommon/TComPicSym.cpp,
11040 source/Lib/TLibCommon/TComPrediction.cpp,
11041 source/Lib/TLibCommon/TComPrediction.h,
11042 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
11043 source/Lib/TLibCommon/TComSlice.h,
11044 source/Lib/TLibCommon/TComTrQuant.cpp,
11045 source/Lib/TLibEncoder/TEncCu.cpp,
11046 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/frame.cpp,
11047 source/common/intrapred.cpp, source/common/param.cpp,
11048 source/common/primitives.h, source/common/shortyuv.cpp,
11049 source/common/shortyuv.h, source/encoder/compress.cpp,
11050 source/encoder/cturow.h, source/encoder/encoder.cpp,
11051 source/encoder/entropy.cpp, source/encoder/entropy.h,
11052 source/encoder/slicetype.cpp:
11053 refine block size related, use more log2 domain.
11054 [0af3c5a1782d]
11055
11056 2014-07-14 Praveen Tiwari <Praveen Tiwari>
11057
11058 * source/encoder/encoder.cpp:
11059 encoder.cpp, clean-up
11060 [f2195700e1e4]
11061
11062 2014-07-14 Steve Borho <steve@borho.org>
11063
11064 * source/Lib/TLibEncoder/TEncCu.cpp:
11065 cu: white-space cleanups
11066 [e7037f5914bc]
11067
11068 * doc/reST/cli.rst:
11069 rest: fix lossless white-space, improve --sign-hide
11070 [baa6b00f7491]
11071
11072 2014-07-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11073
11074 * source/encoder/compress.cpp:
11075 compress: fix sa8dCost comparisons.
11076
11077 After this patch, all sa8d costs are stored in m_sa8dCost, and RD
11078 costs in m_totalRDCost
11079 [6fdae4c60b1f]
11080
11081 * source/encoder/encoder.cpp:
11082 encoder: insert missing comma
11083 [7a41bc257044]
11084
11085 2014-07-13 Steve Borho <steve@borho.org>
11086
11087 * doc/reST/cli.rst, doc/reST/index.rst, doc/reST/lossless.rst,
11088 doc/reST/presets.rst:
11089 rest: document lossless coding theory and behavior
11090 [d9e1f9c77ceb]
11091
11092 2014-07-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11093
11094 * source/encoder/compress.cpp:
11095 compress: save intra costs in rd <= 2 also in m_sa8dCost.
11096
11097 Basically, all sa8d costs are always saved in m_sa8dCost.
11098 [6601a3d01974]
11099
11100 * source/encoder/compress.cpp:
11101 compress: save inter sa8d costs also in m_sa8dCost
11102 [5bb9ccedb0de]
11103
11104 * source/encoder/compress.cpp:
11105 compress: Fixes fudging in merge costs, stores sa8d costs for
11106 bestMergeCU in m_sa8dCost
11107 [5051f1566664]
11108
11109 2014-07-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11110
11111 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
11112 source/Lib/TLibEncoder/SyntaxElementWriter.h,
11113 source/Lib/TLibEncoder/TEncCu.h,
11114 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
11115 source/encoder/cturow.h, source/encoder/entropy.cpp,
11116 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
11117 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
11118 source/encoder/framefilter.h:
11119 Merge, discard accidental push
11120 [6055baa75085]
11121
11122 * source/Lib/TLibEncoder/TEncCu.h,
11123 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11124 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11125 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
11126 source/encoder/cturow.h, source/encoder/entropy.cpp,
11127 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
11128 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
11129 source/encoder/framefilter.h:
11130 Backed out changeset: cff4f6482385
11131
11132 This head was accidentally created.
11133 [406879d25112]
11134
11135 2014-07-13 Steve Borho <steve@borho.org>
11136
11137 * source/encoder/frameencoder.cpp:
11138 frameencoder: explicit size conversion to avoid MSVC warning
11139 [454a2fc37fee]
11140
11141 2014-07-10 Steve Borho <steve@borho.org>
11142
11143 * source/Lib/TLibEncoder/TEncCu.h,
11144 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11145 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11146 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
11147 source/encoder/cturow.h, source/encoder/entropy.cpp,
11148 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
11149 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
11150 source/encoder/framefilter.h:
11151 entropy: rename combined CABAC/SBac class to Entropy
11152 [cff4f6482385]
11153
11154 2014-07-12 Steve Borho <steve@borho.org>
11155
11156 * source/encoder/encoder.cpp:
11157 encoder: nits
11158 [9d3683ab096b]
11159
11160 * source/encoder/encoder.h:
11161 encoder: remove unused variables
11162 [7a9933d5df9e]
11163
11164 2014-07-11 Steve Borho <steve@borho.org>
11165
11166 * source/encoder/frameencoder.cpp, source/encoder/sei.cpp,
11167 source/encoder/sei.h:
11168 sei: emit SEI describing the encoder and encode options
11169
11170 example: % x265 ../sintel_trailer_2k_480p24.y4m o.bin % strings
11171 o.bin | head x265 (build 26) - 1.2+74-a5024bfc0b50:[Mac OS X][clang
11172 5.1.0][64 bit] 8bpp - H.265/HEVC codec - Copyright 2013-2014 (c)
11173 Multicoreware Inc - http://x265.org
11174 - options: 856x480 fps=24/1 bitdepth=8 wpp ctu=64 tu-intra-depth=1 tu-
11175 inter-depth=1 me=1 subme=2 merange=57 no-rect no-amp max-merge=2 no-
11176 early-skip no-fast-cbf rdpenalty=0 no-tskip no-tskip-fast strong-
11177 intra-smoothing no-lossless no-cu-lossless no-constrained-intra
11178 open-gop interlace=0 keyint=250 min-keyint=24 scenecut=40 rc-
11179 lookahead=20 bframes=4 bframe-bias=0 b-adapt=2 ref=3 weightp no-
11180 weightb aq-mode=2 aq-strength=1.00 cbqpoffs=0 crqpoffs=0 rd=3
11181 signhide lft sao sao-lcu-bounds=0 sao-lcu-opt=1 b-pyramid cutree
11182 rc=crf crf=28.0 qcomp=0.60 qpmin=0 qpmax=51 qpstep=4 ipratio=1.40
11183 pbratio=1.30
11184 [6af56f7c8703]
11185
11186 * source/encoder/frameencoder.cpp:
11187 frameencoder: nit
11188 [7e3c96e01ca9]
11189
11190 * source/common/param.cpp:
11191 param: fix typo in d1d5b377294e
11192 [6e116afd68e7]
11193
11194 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
11195 rc: nits
11196 [fd87a7e5b1e3]
11197
11198 * source/CMakeLists.txt:
11199 cmake: nit - about target arch strings
11200 [a5024bfc0b50]
11201
11202 2014-07-11 Santhoshini Sekar <santhoshini@multicorewareinc.com>
11203
11204 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11205 frameencoder: store reflagrows as a member variable
11206 [a1c553d36746]
11207
11208 2014-07-11 Aarthi Thirumalai <Aarthi Thirumalai>
11209
11210 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
11211 source/encoder/ratecontrol.h:
11212 rc: init RC data for second pass in a multi pass encode
11213 [03164c7ddcbb]
11214
11215 * source/CMakeLists.txt, source/x265.cpp, source/x265.h:
11216 param: keep the total frame count of the input video in param.
11217
11218 to be used in 2 pass. In case this is not available, the value can
11219 remain as 0.
11220 [aed58d050ff9]
11221
11222 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11223 rc: store final cu counts in frameStats as a percentage of total #
11224 cus
11225
11226 there exists a mismatch in the total no. of 16x16 blocks calculated
11227 between encoder and RC. rate control counts no. of 16x16 blocks
11228 without considering the border extension of source pic. keeping cu
11229 stats as percentage avoid this problem when used later in RC's 2nd
11230 pass.
11231 [07654693159b]
11232
11233 2014-07-11 Steve Borho <steve@borho.org>
11234
11235 * source/common/param.cpp:
11236 param: use dashes consistently in param2string
11237 [d1d5b377294e]
11238
11239 2014-07-11 Aarthi Thirumalai <Aarthi Thirumalai>
11240
11241 * source/common/param.cpp:
11242 param: add more param options to print as string
11243 [f3223737009e]
11244
11245 * source/common/common.cpp, source/common/common.h:
11246 common: introduce x265_slurp_file, reads data from file to string
11247 buffer.
11248 [b4ee6251307e]
11249
11250 2014-07-11 Steve Borho <steve@borho.org>
11251
11252 * source/encoder/level.cpp:
11253 level: in CRF/CQP encodes, allow user specifed level to increase
11254 stream level
11255
11256 See the comment
11257 [474c45db6a2c]
11258
11259 2014-07-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11260
11261 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
11262 cu: fixing int-to-bool compile warnings
11263 [29ae3f84c3ea]
11264
11265 2014-07-11 Steve Borho <steve@borho.org>
11266
11267 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11268 source/encoder/compress.cpp, source/encoder/encoder.cpp,
11269 source/encoder/encoder.h:
11270 cu: directly use param fields for lossless coding options
11271
11272 Remove m_CUTransquantBypass, m_TransquantBypassEnableFlag
11273 [e171ad8bc8a3]
11274
11275 * source/Lib/TLibEncoder/TEncCu.cpp,
11276 source/Lib/TLibEncoder/TEncSearch.cpp:
11277 cu: nits
11278 [2d0fd0241025]
11279
11280 * source/x265.cpp:
11281 cli: retrieve params from the encoder, in case logging flags have
11282 changed
11283
11284 For instance, if the user asked for --lossless --ssim, the encoder
11285 will disable SSIM for lossless encodes and we don't want the CLI to
11286 report SSIM stats that were never measured.
11287 [c9a7be09cdc0]
11288
11289 2014-07-11 Satoshi Nakagawa <nakagawa424@oki.com>
11290
11291 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
11292 zero stride for zeroPel[]
11293 [a96d3ed11aaf]
11294
11295 2014-07-10 Steve Borho <steve@borho.org>
11296
11297 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11298 source/Lib/TLibEncoder/TEncSearch.cpp,
11299 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.h,
11300 source/encoder/compress.cpp, source/encoder/cturow.cpp,
11301 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
11302 source/encoder/frameencoder.h:
11303 search: make RDCost and TComTrQuant member instances of TEncSearch
11304
11305 Both of these structs are required by TEncSearch, it cannot operate
11306 without them There is always a 1::1 correlation with each. There is
11307 no reason at all to allocated them separately in TLD and then link
11308 them all together. Much simpler for them to be members of the
11309 TEncSearch class.
11310 [77aeba71695e]
11311
11312 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11313 source/Lib/TLibEncoder/TEncSearch.cpp,
11314 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
11315 source/encoder/cturow.cpp, source/encoder/cturow.h,
11316 source/encoder/frameencoder.cpp:
11317 derive TEncCu from TEncSearch
11318
11319 TEncSearch methods are only callable from TEncCu methods. and there
11320 is much duplication in their data members. This removes a lot of
11321 redundancy and removes a lot of pointer dereferences
11322 [25e9c85aea1f]
11323
11324 2014-07-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11325
11326 * source/encoder/compress.cpp:
11327 compress: save CABAC context for rd = 2 after inter/intra encodes
11328 [1c8573c886b1]
11329
11330 * source/encoder/compress.cpp:
11331 compress: save CABAC context after intra decision.
11332
11333 Since CABAC encode happens only for rd > 2
11334 [65d4f5b4fd3a]
11335
11336 * source/encoder/compress.cpp:
11337 compress: save CABAC context after inter/merge decision
11338 [b728ca41433f]
11339
11340 * source/encoder/compress.cpp:
11341 compress: save CABAC context in merge modes for lower RD levels.
11342 [52cda492abf5]
11343
11344 2014-07-10 Steve Borho <steve@borho.org>
11345
11346 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11347 source/encoder/cturow.cpp, source/encoder/cturow.h,
11348 source/encoder/entropy.cpp, source/encoder/entropy.h,
11349 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
11350 source/encoder/framefilter.h:
11351 entropy: clarify the SBac's bit counting mode
11352
11353 The SBac class has always had the ability to be a bit counter
11354 without any other external data structures. With this change, the
11355 SBac defaults to being a bit counting SBac until it is given a
11356 Bitstream object to write into. The class no longer accepts a
11357 BitCounter object, since it would only add more overhead to the bit
11358 counting.
11359
11360 TEncCu no longer needs o be told whether it is writing into a bit
11361 counting SBac or not, it can ask the SBac to find out.
11362
11363 The BitCounting class is only used for SEI writing, and may
11364 disappear in order to remove the vtable from the critical path of
11365 entropy coding.
11366 [e3e077965c39]
11367
11368 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
11369 framefilter: rename row0 coder
11370 [e658be3fe5a3]
11371
11372 * source/encoder/cturow.cpp, source/encoder/cturow.h,
11373 source/encoder/frameencoder.cpp:
11374 cturow: rename m_rdGoOnSbacCoder to m_sbacCoder; there is only one
11375 [9e50b8b7503b]
11376
11377 * source/encoder/frameencoder.h:
11378 frameencoder: remove unnecessary include of TEncSearch.h
11379 [7649ffe940e1]
11380
11381 * source/Lib/TLibEncoder/TEncCu.cpp,
11382 source/Lib/TLibEncoder/TEncSearch.cpp, source/PPA/ppaCPUEvents.h,
11383 source/output/y4m.cpp, source/output/yuv.cpp:
11384 ppa: cleanup event names and remove uninteresting events
11385 [0a0fe4d52711]
11386
11387 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11388 source/Lib/TLibEncoder/TEncSearch.cpp,
11389 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
11390 source/encoder/cturow.cpp:
11391 cu, search: remove redundant m_rdGoOnSbacCoder pointer
11392
11393 m_rdGoOnSbacCoder was always either pointing to the same SBac as
11394 m_sbacCoder (for calls to compressCU()) or it was supposed to be
11395 unused (for calls to encodeCU)
11396 [d6c423c66e4d]
11397
11398 * source/common/bitstream.cpp, source/common/bitstream.h:
11399 bitstream: hoist trivial methods to the header so they may be easier
11400 inlined
11401 [57a4c1c2274e]
11402
11403 * source/common/bitstream.h:
11404 bitstream: convert macros into inline members for better compile-
11405 time checking
11406 [b96714bdda85]
11407
11408 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
11409 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
11410 source/Lib/TLibEncoder/SyntaxElementWriter.h,
11411 source/common/bitstream.cpp, source/common/bitstream.h,
11412 source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
11413 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
11414 source/encoder/sei.cpp, source/encoder/sei.h:
11415 bring SyntaxElementWriter into common/, remove trace file macros
11416
11417 File tracing has been essentially broken since frame parallelism was
11418 introduced (not to mention multiple encoder instances in a process)
11419 and is going to be soon even more impossible when the second
11420 encodeCU() pass is removed. It's best to remove this old HM feature
11421 so people don't get stuck trying to use it.
11422
11423 Stream analyzers like Parabola and Elecard are now mature enough
11424 that these trace files are not very helpful. If you *really* want
11425 the old style trace file, enable tracing in the HM decoder and
11426 decode your bitstream with it.
11427
11428 I left the strings in the WRITE_* macros in place because they make
11429 those calls reasonably self-documenting. The compiler will throw
11430 them away harmlessly.
11431 [64dc40d52519]
11432
11433 * source/encoder/entropy.cpp:
11434 entropy: nits
11435 [cbfe2ac89d41]
11436
11437 * source/encoder/entropy.h:
11438 entropy: re-order methods again for better clarity, make many
11439 private
11440 [dd179bdba7fd]
11441
11442 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
11443 source/encoder/entropy.h:
11444 entropy: remove include of TComSampleAdaptiveOffset.h
11445 [6c95abc53d26]
11446
11447 * source/Lib/TLibCommon/TComTrQuant.cpp,
11448 source/Lib/TLibCommon/TComTrQuant.h, source/encoder/entropy.cpp,
11449 source/encoder/entropy.h:
11450 TComTrQuant: rename estBitsSbacStruct to EstBitsSbac
11451 [4fcd24d23994]
11452
11453 * source/encoder/entropy.cpp:
11454 entropy: nits
11455 [8084d123f14d]
11456
11457 * source/encoder/entropy.cpp, source/encoder/entropy.h:
11458 entropy: hoist trivial functions for later optimizations
11459 [898fc94ae9e9]
11460
11461 * source/encoder/cturow.h, source/encoder/entropy.cpp,
11462 source/encoder/entropy.h, source/encoder/framefilter.cpp:
11463 merge CABAC into SBac class
11464 [ef1b1da7264c]
11465
11466 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
11467 source/encoder/entropy.h:
11468 entropy: convert initSection into a constructor, since it was used
11469 as such
11470 [ac568c7796b8]
11471
11472 * source/Lib/TLibEncoder/TEncSearch.cpp:
11473 TEncSearch: nits
11474 [9914e8d8e2e4]
11475
11476 * source/Lib/TLibEncoder/TEncSearch.cpp,
11477 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/entropy.cpp,
11478 source/encoder/entropy.h:
11479 entropy: replace SBac and TEncSearch methods with TURecurse methods
11480
11481 Both classes had nearly the exact same methods for managing this
11482 external structure. how wierd?
11483 [657bfd3423a5]
11484
11485 2014-07-09 Steve Borho <steve@borho.org>
11486
11487 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
11488 source/encoder/entropy.h:
11489 entropy: remove m_ prefix from struct TURecurse members
11490 [e776ead24445]
11491
11492 2014-07-09 Satoshi Nakagawa <nakagawa424@oki.com>
11493
11494 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
11495 source/Lib/TLibEncoder/TEncCu.cpp,
11496 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11497 source/encoder/compress.cpp, source/encoder/framefilter.cpp:
11498 use std::swap() for readability
11499 [194432db28b9]
11500
11501 2014-07-09 Steve Borho <steve@borho.org>
11502
11503 * source/Lib/TLibEncoder/TEncSearch.cpp:
11504 search: remove braces around single line expressions, improve code
11505 flow
11506 [30e20a7b6fdd]
11507
11508 * Merge with stable
11509 [56c4719ae735]
11510
11511 * .hgtags:
11512 Added tag 1.2 for changeset d6257335c537
11513 [7ea0ba364367] <stable>
11514
11515 2014-07-03 Steve Borho <steve@borho.org>
11516
11517 * source/encoder/encoder.cpp, source/encoder/encoder.h:
11518 csv: add slice-type stats to encode summary, avoid dup copies of
11519 summary string
11520 [5c7da1e88682]
11521
11522 2014-07-09 Steve Borho <steve@borho.org>
11523
11524 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.h:
11525 entropy: remove temporary helper function
11526 [b7934e58ea40]
11527
11528 * source/encoder/entropy.cpp:
11529 entropy: nits
11530 [a86cd034e254]
11531
11532 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11533 source/encoder/compress.cpp:
11534 cu: remove get/set methods for its own member variable
11535 [b1d077221c25]
11536
11537 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/cturow.cpp:
11538 cu: remove more set methods
11539 [cd93637ce951]
11540
11541 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/cturow.cpp:
11542 cu: nit
11543 [c78b7cca188a]
11544
11545 * source/Lib/TLibEncoder/TEncCu.h,
11546 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp:
11547 cu: assign m_rdGoOnSbacCoder without helper methods
11548 [a44b2c12fe04]
11549
11550 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11551 source/encoder/cturow.cpp, source/encoder/frameencoder.cpp:
11552 cu: pass bit counting flag as argument to encodeCU
11553 [4c98884a7729]
11554
11555 * source/encoder/cturow.cpp, source/encoder/cturow.h,
11556 source/encoder/frameencoder.cpp:
11557 ctu: inline setThreadLocalData() for better clarity
11558 [6c3a4a5498f1]
11559
11560 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11561 frameencoder: remove rarely used getRowCoder() and getBufferSBac()
11562 [22ac140e0da8]
11563
11564 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11565 frameencoder: remove barely use helper function getRDGoOnSbacCoder
11566 [ddf49ea5073c]
11567
11568 * source/encoder/cturow.h, source/encoder/frameencoder.cpp,
11569 source/encoder/frameencoder.h:
11570 ctu: rename m_sbacCoder to m_rowEntropyCoder
11571 [6a1370596ede]
11572
11573 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11574 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11575 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11576 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
11577 source/encoder/cturow.cpp, source/encoder/cturow.h,
11578 source/encoder/entropy.cpp, source/encoder/entropy.h,
11579 source/encoder/frameencoder.cpp:
11580 entropy: allocate RDO coders as dual-dimensioned array
11581
11582 In order to make this change even less intrusive as it was going to
11583 be, I simultaneously changed the load/store functions to take
11584 references instead of pointers (since NULL pointers are not
11585 supported).
11586
11587 This further simplified setup/tear-down code and should improve data
11588 locality
11589 [c49b61c5e6bb]
11590
11591 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
11592 framefilter: rename m_rdGoOnSbacCoder to m_sbacCoder - there is only
11593 one
11594 [878e6f228fe6]
11595
11596 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
11597 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
11598 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11599 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11600 source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
11601 source/encoder/cturow.h, source/encoder/entropy.cpp,
11602 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
11603 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
11604 source/encoder/framefilter.h:
11605 entropy: make m_cabac member of SBac class a non-pointer instance
11606
11607 This forces a 1::1 correspondence between SBac and CABAC instances,
11608 which cleans up a mess of confusing allocations and assignments.
11609
11610 This moves the CABAC class into entropy.h and it is no longer
11611 referenced outside of this header and entropy.cpp, allowing us to
11612 further combine them.
11613 [f60a2f9a88ad]
11614
11615 * source/encoder/entropy.h:
11616 entropy: remove now unused Entropy class
11617 [461e3e940b0c]
11618
11619 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11620 source/Lib/TLibEncoder/TEncSearch.cpp,
11621 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
11622 source/encoder/cturow.cpp, source/encoder/cturow.h,
11623 source/encoder/frameencoder.cpp:
11624 remove Entropy from TEncCu, TEncSearch, and CTURow
11625
11626 Instead, give each an SBac pointer that they are supposed to use to
11627 code the bitstream.
11628 [ff987b44de91]
11629
11630 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11631 frameencoder: remove most traces of the Encoder class
11632 [02f8c0af20f2]
11633
11634 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11635 frameencoder: do not pass member variable to its own function
11636
11637 We were still passing an array of Bitstream objects to encodeSlice()
11638 even though the array was made a member of the class so it was
11639 available via m_outStreams. Within the function is was using both
11640 pointers, unhelfpully.
11641 [6589396373de]
11642
11643 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11644 source/encoder/cturow.cpp, source/encoder/cturow.h,
11645 source/encoder/entropy.cpp, source/encoder/entropy.h,
11646 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
11647 entropy: remove m_slice member from SBac class
11648
11649 The slice object was only needed in resetEntropy() and
11650 determineCabacInitIdx() and could be passed to those two methods
11651 easily.
11652
11653 It was also being used in two functions to gain access to the
11654 scaling list, but this was actually a problem for us because headers
11655 can be queuried before any slice objects are initialized so it was
11656 better to pass in the scaling lists directly from the top Encoder.
11657 Note this fixes a bug in scaling list support - we were previously
11658 incapable of signaling them properly in our stream headers.
11659
11660 Removing this member variable lets us clean up a lot of redundant
11661 setSlice() calls and other cruft
11662 [576bb702f286]
11663
11664 * source/encoder/frameencoder.cpp:
11665 frameencoder: do not use Entropy object to code stream headers
11666 [919c77a86b29]
11667
11668 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
11669 sao: remove redundant braces and other nits
11670 [1429920a7420]
11671
11672 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11673 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11674 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
11675 remove m_entropyCoder from FrameFilter and SAO code
11676
11677 Lo and Behold! the SAO code suddenly makes a tad more sense when
11678 this useless redirection is removed
11679 [767a10ce1a64]
11680
11681 * source/encoder/entropy.cpp, source/encoder/entropy.h:
11682 entropy: remove unnecessary API differences between Entropy and SBac
11683
11684 These would only trip us up as we try to remove Entropy entirely
11685 [ca2b4259c44f]
11686
11687 2014-07-08 Steve Borho <steve@borho.org>
11688
11689 * source/encoder/entropy.h:
11690 entropy: reorder SBac methods for more clarity
11691 [01e20a16e890]
11692
11693 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.h:
11694 entropy: remove default argument to encodeIntraDirModeLuma()
11695 [436bd8207469]
11696
11697 * source/encoder/entropy.cpp:
11698 entropy: fix msvc warnings about signed/unsigned operations
11699 [a25a3782e51c]
11700
11701 * source/encoder/entropy.cpp, source/encoder/entropy.h:
11702 entropy: hoist all non-trivial Entropy methods into SBac
11703
11704 Now Entropy only exists in entropy.h, making further cleanups
11705 possible
11706 [e4a21cfa8206]
11707
11708 * source/encoder/entropy.cpp, source/encoder/entropy.h:
11709 entropy: remove all data members except m_entropyCoder
11710
11711 The three variables were only used to maintain state through
11712 recursive calls to encodeTransform() and could be just as easily
11713 kept on the stack.
11714
11715 The class is now a pure reflector to the SBac class and can be merge
11716 into it piece-wise.
11717 [5321d02d9703]
11718
11719 * source/Lib/TLibCommon/ContextTables.h,
11720 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCu.h,
11721 source/Lib/TLibEncoder/TEncEntropy.cpp,
11722 source/Lib/TLibEncoder/TEncEntropy.h,
11723 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
11724 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11725 source/Lib/TLibEncoder/TEncSbac.cpp,
11726 source/Lib/TLibEncoder/TEncSbac.h,
11727 source/Lib/TLibEncoder/TEncSearch.cpp,
11728 source/Lib/TLibEncoder/TEncSearch.h, source/common/primitives.cpp,
11729 source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
11730 source/encoder/cturow.h, source/encoder/entropy.cpp,
11731 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
11732 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
11733 source/encoder/framefilter.h:
11734 port TEncEntropy and TEncSbac into internal Entropy and SBac classes
11735
11736 The Entropy class will be short-lived
11737 [53fcddea0959]
11738
11739 2014-07-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11740
11741 * Merge with stable
11742 [644773b85329]
11743
11744 * source/Lib/TLibEncoder/TEncCu.cpp:
11745 TEncCU: bug fix introduced in commit 8a5b02464813
11746
11747 Remove the xCheckBestMode call, add in a ccontext save.
11748 [d6257335c537] [1.2] <stable>
11749
11750 * source/Lib/TLibEncoder/TEncSearch.cpp:
11751 Merge with stable
11752 [a1e46d813642]
11753
11754 2014-07-09 Min Chen <chenm003@163.com>
11755
11756 * source/Lib/TLibEncoder/TEncCu.cpp,
11757 source/Lib/TLibEncoder/TEncSearch.cpp:
11758 TEncCU: save CABAC context missing after merge
11759
11760 Also removed an extra context save
11761 [8a5b02464813] <stable>
11762
11763 * source/Lib/TLibEncoder/TEncCu.cpp,
11764 source/Lib/TLibEncoder/TEncSearch.cpp:
11765 TEncCU: save CABAC context missing after merge
11766
11767 Also removed an extra context save
11768 [c269f73b94c9]
11769
11770 2014-07-07 Satoshi Nakagawa <nakagawa424@oki.com>
11771
11772 * source/Lib/TLibCommon/CommonDef.h,
11773 source/Lib/TLibCommon/TComSlice.cpp,
11774 source/Lib/TLibCommon/TComSlice.h,
11775 source/Lib/TLibCommon/TComTrQuant.cpp,
11776 source/Lib/TLibCommon/TComTrQuant.h,
11777 source/Lib/TLibEncoder/TEncSbac.cpp,
11778 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
11779 source/common/primitives.h, source/common/x86/pixel-util.h,
11780 source/common/x86/pixel-util8.asm, source/encoder/encoder.cpp,
11781 source/test/mbdstharness.cpp:
11782 quant: returns numSig instead of absSum and lastPos
11783 [65ac66dc89b6]
11784
11785 2014-07-07 Steve Borho <steve@borho.org>
11786
11787 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
11788 source/Lib/TLibCommon/TComBitCounter.h,
11789 source/Lib/TLibCommon/TComBitStream.cpp,
11790 source/Lib/TLibCommon/TComBitStream.h,
11791 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11792 source/Lib/TLibEncoder/NALwrite.cpp,
11793 source/Lib/TLibEncoder/NALwrite.h,
11794 source/Lib/TLibEncoder/SEIwrite.cpp,
11795 source/Lib/TLibEncoder/SEIwrite.h:
11796 Merge with default (prepare for 1.2)
11797 [6623f1195baa] <stable>
11798
11799 * source/encoder/frameencoder.cpp:
11800 frameencoder: nits
11801 [6325261d393d]
11802
11803 * source/Lib/TLibCommon/TComDataCU.cpp:
11804 cu: do not copy a QP buffer into itself - prevents valgrind warning
11805 [6aa084ad45a0]
11806
11807 * source/Lib/TLibCommon/TComDataCU.cpp:
11808 cu: cleanup and simplify initCU
11809 [c60560dcae1c]
11810
11811 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
11812 source/encoder/ratecontrol.h, source/encoder/sei.h:
11813 rc: allocate HRD SEI structures on demand, fix RCE vtable/memset bug
11814 [82963e72231b]
11815
11816 2014-07-03 Min Chen <chenm003@163.com>
11817
11818 * source/encoder/frameencoder.cpp:
11819 avoid VS2008 and MinGW ambiguous pow() build warning
11820 [11c808e562b8]
11821
11822 2014-07-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11823
11824 * source/encoder/frameencoder.cpp:
11825 frameencoder: remove warning about ambiguous pow function
11826 [e3f9acd4ff88]
11827
11828 * source/common/param.cpp:
11829 lambda-file: file close before return
11830 [8620deb17a19]
11831
11832 2014-07-03 Steve Borho <steve@borho.org>
11833
11834 * source/input/y4m.cpp:
11835 y4m: avoid implicit size_t to int conversion, avoid more MSVC
11836 warnings
11837 [1dc27824bde1]
11838
11839 * source/encoder/encoder.h, source/encoder/frameencoder.cpp:
11840 encoder: avoid int64_t to int conversions, avoid more MSVC warnings
11841 [50291ad2cfe8]
11842
11843 * source/common/param.cpp:
11844 param: avoid spurious MSVC warning about buf being possibly
11845 uninitialized
11846 [e8ebfa3cf395]
11847
11848 * source/encoder/ratecontrol.cpp:
11849 ratecontrol: fix cast of cutree offset, avoids MSVC warning
11850 [85dce645d0fc]
11851
11852 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11853 frameencoder: match up integer argument types to avoid MSVC warning
11854
11855 The prototype in the WaveFront base class was: virtual void
11856 processRow(int row, int threadId) = 0;
11857
11858 Some versions of MSVC flag this as a warning
11859 [c41c7a78e46a]
11860
11861 * source/common/param.cpp:
11862 param: avoid spurious gcc warning about toksave possibly being
11863 uninitialized
11864 [eaee58b6515b]
11865
11866 2014-07-02 Steve Borho <steve@borho.org>
11867
11868 * source/common/param.cpp, source/common/param.h,
11869 source/encoder/encoder.cpp:
11870 lamba-file: make improper number of constants a fatal error
11871
11872 Having an invalid set of lambdas is likelty to be completely useless
11873 [1e94a2b12d15]
11874
11875 * source/common/param.cpp:
11876 lambda-file: detect and report if lamda file containts too many
11877 values
11878
11879 It seems likely that this is an unintended error the user would want
11880 to be made aware of.
11881 [0013dbcac349]
11882
11883 2014-07-02 Min Chen <chenm003@163.com>
11884
11885 * source/Lib/TLibEncoder/TEncCu.cpp:
11886 simplify: getLumaIntraDir()[x] -> getLumaIntraDir(x)
11887 [959ff37cdd31]
11888
11889 2014-07-02 Steve Borho <steve@borho.org>
11890
11891 * doc/reST/cli.rst, source/CMakeLists.txt,
11892 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
11893 source/common/param.cpp, source/common/param.h,
11894 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
11895 api: allow lambda tables to be user-specified via a text file
11896
11897 This change allows easy experimentation with the lambda tables. One
11898 can cut-paste the existing tables from TComRom.cpp into a text file
11899 and hash(#) comment the C constructs (variable names and braces) and
11900 arrive at a functional lambda file, then edit to taste.
11901 [44dc246b7835]
11902
11903 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
11904 source/encoder/ratecontrol.h:
11905 rc: fix gcc warnings
11906 [b90fdc3ffb96]
11907
11908 2014-06-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
11909
11910 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
11911 source/encoder/ratecontrol.h:
11912 rc: write frame stats and cu stats to file in first pass
11913 [887081b5f694]
11914
11915 2014-06-26 Aarthi Thirumalai <Aarthi Thirumalai>
11916
11917 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
11918 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
11919 source/encoder/frameencoder.h:
11920 rc: compute inter, intra and skip cus per frame for the first pass
11921 [5bee122bc183]
11922
11923 2014-07-01 Aarthi Thirumalai <Aarthi Thirumalai>
11924
11925 * source/common/frame.cpp, source/common/frame.h,
11926 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11927 rc: move structure FrameStats to FrameEncoder class
11928
11929 Stats are not needed post encode, moving it to FrameEncoder.
11930 [8f76f88c7dbf]
11931
11932 2014-07-02 Satoshi Nakagawa <nakagawa424@oki.com>
11933
11934 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
11935 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
11936 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
11937 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
11938 add primitives.nquant for RDOQ
11939 [5bfd621a58b9]
11940
11941 2014-07-02 Kavitha Sampath <kavitha@multicorewareinc.com>
11942
11943 * source/common/frame.cpp:
11944 frame: initialize recon to avoid SAO read of uninitialized pixels
11945 beyond picture end
11946 [cbe0999934b7]
11947
11948 2014-07-02 Steve Borho <steve@borho.org>
11949
11950 * source/encoder/encoder.cpp, source/encoder/encoder.h,
11951 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
11952 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
11953 encoder: fix --no-wpp behavior, keep TLD selection logic in one
11954 place
11955
11956 do not use static m_threadLocalData, this would break if multiple
11957 encoders were allocated in a single process
11958
11959 pass the selected TLD to row processes, so they do not need to be
11960 aware of the WPP/NO-WPP details.
11961
11962 Cleanup frameencoder.h, move non-trivial processRow() to the cpp
11963 file
11964 [0743791a8245]
11965
11966 2014-07-01 Steve Borho <steve@borho.org>
11967
11968 * source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
11969 source/input/yuv.h:
11970 input: streamline control logic of threaded file readers
11971
11972 These files were written before ThreadSafeInteger and this caused
11973 the control logic to be over-complicated. Now they can be greatly
11974 simplified and their control flows can be re-unified to be more like
11975 each other.
11976
11977 Also, drop PPA events. File reading is pretty uninteresting when
11978 profiling.
11979 [99b8e4d69e0f]
11980
11981 2014-07-02 Steve Borho <steve@borho.org>
11982
11983 * source/Lib/TLibEncoder/TEncEntropy.cpp,
11984 source/Lib/TLibEncoder/TEncEntropy.h:
11985 TEncEntropy: inline the only one caller of encodeInterDirPU
11986 [f483344d276f]
11987
11988 * source/Lib/TLibEncoder/TEncCu.cpp,
11989 source/Lib/TLibEncoder/TEncEntropy.cpp,
11990 source/Lib/TLibEncoder/TEncEntropy.h,
11991 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
11992 TEncEntropy: hoist encodePredMode() after moving I-slice check to
11993 callers
11994 [ca17915c0176]
11995
11996 * source/Lib/TLibEncoder/TEncEntropy.h:
11997 TEncEntropy: reorder nit
11998 [a4cf2c474fb8]
11999
12000 * source/Lib/TLibEncoder/TEncCu.cpp,
12001 source/Lib/TLibEncoder/TEncEntropy.cpp,
12002 source/Lib/TLibEncoder/TEncEntropy.h,
12003 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
12004 TEncEntropy: hoist encodeSkipFlag() after moving I-slice check to
12005 callers
12006 [8208c49e9aa4]
12007
12008 2014-07-01 Steve Borho <steve@borho.org>
12009
12010 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12011 source/Lib/TLibEncoder/TEncEntropy.h,
12012 source/encoder/frameencoder.cpp:
12013 TEncEntropy: hoist encodeSliceHeader() to header after simplifying
12014 [719ec54347ab]
12015
12016 * source/Lib/TLibEncoder/TEncEntropy.cpp:
12017 TEncEntropy: nit
12018 [166b7ddace37]
12019
12020 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12021 source/Lib/TLibEncoder/TEncEntropy.h:
12022 TEncEntropy: hoist trivial functions to header for possible inlining
12023
12024 And remove useless comments
12025 [a15e58e38501]
12026
12027 * source/Lib/TLibEncoder/TEncSearch.cpp:
12028 TEncSearch: nit
12029 [a18972fd05b1]
12030
12031 * source/Lib/TLibCommon/TComDataCU.cpp:
12032 TComDataCU: remove redundant refIdx check from fillMvpCand
12033
12034 fillMvpCand is only called from one place and the refIdx will always
12035 be positive
12036 [7006c14a6149]
12037
12038 * source/Lib/TLibEncoder/TEncSearch.cpp:
12039 Merge with stable
12040 [976dc15ea5ea]
12041
12042 * source/Lib/TLibEncoder/TEncSearch.cpp:
12043 TEncSearch: limit AMVP loop bounds in xCheckBestMVP
12044
12045 entries in the table beyond m_num were not initialized
12046 [4f7be97ebb9d] <stable>
12047
12048 2014-07-01 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12049
12050 * source/Lib/TLibCommon/TComDataCU.cpp,
12051 source/Lib/TLibCommon/TComDataCU.h,
12052 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
12053 remove redundant memset
12054 [28a17ce0bf5c]
12055
12056 2014-07-01 Satoshi Nakagawa <nakagawa424@oki.com>
12057
12058 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12059 source/Lib/TLibEncoder/TEncEntropy.h,
12060 source/Lib/TLibEncoder/TEncSbac.cpp,
12061 source/Lib/TLibEncoder/TEncSbac.h,
12062 source/Lib/TLibEncoder/TEncSearch.cpp,
12063 source/Lib/TLibEncoder/TEncSearch.h:
12064 split rate calculation functions to luma and chroma to simplify luma
12065 path
12066 [fb54c0d470ed]
12067
12068 2014-06-27 Satoshi Nakagawa <nakagawa424@oki.com>
12069
12070 * source/Lib/TLibCommon/TComTrQuant.cpp,
12071 source/Lib/TLibEncoder/TEncSearch.cpp:
12072 fix emms: move selectLambda() into xRateDistOptQuant() and issue
12073 emms before it
12074 [b3ff3f436bc9]
12075
12076 2014-06-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
12077
12078 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
12079 rc: rename texBits to coeffBits in RateControlEntry structure to
12080 maintain uniformity.
12081 [f18febf8cd3a]
12082
12083 2014-06-30 Steve Borho <steve@borho.org>
12084
12085 * source/encoder/encoder.cpp:
12086 encoder: RDOQ is only applicable at rd levels 4, 5, and 6
12087 [38da32f28481]
12088
12089 2014-06-27 Aarthi Thirumalai <aarthi@multicorewareinc.com>
12090
12091 * source/Lib/TLibEncoder/TEncCu.cpp,
12092 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
12093 source/encoder/frameencoder.cpp:
12094 rc: accumulate mv bits, coeff bits per frame
12095 [3d4b66c1bc88]
12096
12097 2014-06-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
12098
12099 * source/Lib/TLibCommon/TComDataCU.cpp:
12100 TComDataCU: remove warnings for shadowed declaration
12101 [5a37c8198035]
12102
12103 2014-06-30 Albert Wang <Albert Wang>
12104
12105 * source/encoder/frameencoder.cpp:
12106 frameencoder: fix for error in VPS when AccessUnitDelimeter is
12107 turned on
12108
12109 The bitstream needs to be reset before start encode VPS, since if
12110 AU_Delimeter is turned on, there is one byte of data left in the
12111 bitstream that will be written wrongly into the VPS.
12112 [8eb8200a3449]
12113
12114 2014-06-30 Steve Borho <steve@borho.org>
12115
12116 * doc/reST/cli.rst:
12117 rest: document ipratio and pbratio parameters
12118 [4e565eb62d0a]
12119
12120 2014-06-25 Satoshi Nakagawa <nakagawa424@oki.com>
12121
12122 * source/common/param.cpp, source/x265.cpp:
12123 cli: add --ipratio and --pbratio
12124 [c80f9f3fba25]
12125
12126 2014-06-21 Steve Borho <steve@borho.org>
12127
12128 * source/x265.cpp:
12129 cli: use consistent bool naming convention
12130 [8b6b3e05946f]
12131
12132 * source/Lib/TLibEncoder/TEncEntropy.cpp:
12133 entropy: nit
12134 [3a71cbcaee1f]
12135
12136 2014-06-21 Satoshi Nakagawa <nakagawa424@oki.com>
12137
12138 * source/input/y4m.cpp, source/input/yuv.cpp:
12139 input: fix race condition
12140 [8253fe375772]
12141
12142 2014-06-26 Min Chen <chenm003@163.com>
12143
12144 * source/Lib/TLibEncoder/TEncSbac.cpp:
12145 reduce condition jmp in codeCoeffNxN
12146 [32aa6cc3cf4d]
12147
12148 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
12149 util.h, source/common/x86/pixel-util8.asm:
12150 improve count_nonzero by SSSE3
12151 [e5d8a2fa6bca]
12152
12153 2014-06-27 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12154
12155 * source/Lib/TLibEncoder/TEncSearch.cpp:
12156 psyrd: fix for inconsistent output
12157
12158 maximum buffer size for zeropel is MAX_CU_SIZExMAX_CU_SIZE. since
12159 stride was wrong, it was accessing out of boundary memory which was
12160 different for each run, so inconsistent output
12161 [a765a34425f0]
12162
12163 2014-06-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12164
12165 * source/encoder/framefilter.cpp:
12166 framefilter: disable warning
12167 [98a2bfed9ed4]
12168
12169 2014-06-23 Min Chen <chenm003@163.com>
12170
12171 * source/encoder/cturow.h, source/encoder/encoder.cpp,
12172 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
12173 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
12174 source/encoder/framefilter.h:
12175 pass TLD into class FrameFilter
12176 [66c701cb5500]
12177
12178 2014-06-24 Satoshi Nakagawa <nakagawa424@oki.com>
12179
12180 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
12181 source/Lib/TLibEncoder/TEncSearch.cpp,
12182 source/Lib/TLibEncoder/TEncSearch.h, source/common/shortyuv.cpp,
12183 source/common/shortyuv.h:
12184 refine intra tskip related.
12185 [b9bc64443ee4]
12186
12187 2014-06-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
12188
12189 * source/Lib/TLibCommon/TComDataCU.cpp,
12190 source/Lib/TLibCommon/TComDataCU.h, source/common/frame.cpp,
12191 source/common/frame.h:
12192 rc: initalize states to hold frame statistics used in two pass
12193
12194 frame stats includes mv bits,DC coeff bits and number of Intra,
12195 Inter and Skip Cus per frame.
12196 [1b669c33ff3a]
12197
12198 2014-06-25 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12199
12200 * source/encoder/compress.cpp, source/encoder/encoder.cpp:
12201 psy-rd: implement psy-rd in rdlevel=4,3 and 2
12202 [e2ed009d296a]
12203
12204 2014-06-25 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12205
12206 * source/Lib/TLibCommon/TComDataCU.cpp,
12207 source/Lib/TLibCommon/TComDataCU.h,
12208 source/Lib/TLibCommon/TComLoopFilter.cpp,
12209 source/Lib/TLibCommon/TComPicSym.cpp,
12210 source/Lib/TLibCommon/TComPicSym.h,
12211 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
12212 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
12213 source/Lib/TLibCommon/TComSlice.cpp,
12214 source/Lib/TLibCommon/TComSlice.h,
12215 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
12216 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
12217 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
12218 source/Lib/TLibEncoder/TEncEntropy.cpp,
12219 source/Lib/TLibEncoder/TEncEntropy.h,
12220 source/Lib/TLibEncoder/TEncSbac.cpp,
12221 source/Lib/TLibEncoder/TEncSbac.h,
12222 source/Lib/TLibEncoder/TEncSearch.cpp,
12223 source/Lib/TLibEncoder/TEncSearch.h, source/common/frame.cpp,
12224 source/encoder/compress.cpp, source/encoder/encoder.cpp,
12225 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
12226 source/encoder/framefilter.cpp:
12227 remove PCM mode support
12228 [5797d6a8197c]
12229
12230 2014-06-24 Satoshi Nakagawa <nakagawa424@oki.com>
12231
12232 * source/Lib/TLibEncoder/TEncSbac.cpp,
12233 source/Lib/TLibEncoder/TEncSearch.cpp:
12234 fix xGetIntraBitsQTChroma() for 4:2:2 [CHANGES OUTPUT 4:2:2 with
12235 tskip]
12236 [09450ac6dc7d]
12237
12238 2014-06-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12239
12240 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
12241 psy-rd chroma: Adjust chroma lambda based on QP offsets.
12242
12243 This hurts PSNR but improves visual quality
12244 [613bfe5cd169]
12245
12246 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
12247 source/common/common.h:
12248 psy-rd chroma: add chroma offset tables for lambda calculations
12249 [20611feb4a45]
12250
12251 * source/encoder/encoder.cpp:
12252 Chroma QP Offset: increase chroma QP when psy-rd is enabled.
12253 [812dc9f61549]
12254
12255 2014-06-23 Min Chen <chenm003@163.com>
12256
12257 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
12258 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
12259 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
12260 move calcSaoStatsRowCus_BeforeDblk into encode loop
12261 [18f936182df5]
12262
12263 2014-06-23 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12264
12265 * source/Lib/TLibCommon/TComDataCU.cpp,
12266 source/Lib/TLibCommon/TComDataCU.h,
12267 source/Lib/TLibCommon/TComMotionInfo.cpp,
12268 source/Lib/TLibCommon/TComMotionInfo.h,
12269 source/Lib/TLibCommon/TComPicSym.cpp,
12270 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
12271 TEncCU:fix for memory leak
12272 [25a1b89a8efb]
12273
12274 2014-06-20 Praveen Tiwari <Praveen Tiwari>
12275
12276 * source/encoder/compress.cpp:
12277 TEncCu: [CHANGES OUTPUT] xComputeCostIntraInInter, fix bug
12278 [b5fbe9e2a10a]
12279
12280 2014-06-21 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12281
12282 * source/Lib/TLibCommon/TComDataCU.cpp,
12283 source/Lib/TLibCommon/TComMotionInfo.cpp,
12284 source/Lib/TLibCommon/TComMotionInfo.h,
12285 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
12286 TEncCU:fix for large memory consumption
12287 [da4aa721bf2f]
12288
12289 2014-06-20 Min Chen <chenm003@163.com>
12290
12291 * source/Lib/TLibCommon/TComPicSym.cpp,
12292 source/Lib/TLibCommon/TComPicSym.h:
12293 alloc concatenation memory for m_cuData
12294 [fe370292c232]
12295
12296 2014-06-20 Steve Borho <steve@borho.org>
12297
12298 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12299 source/Lib/TLibEncoder/TEncEntropy.h,
12300 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
12301 source/Lib/TLibEncoder/TEncSbac.cpp,
12302 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/frameencoder.cpp,
12303 source/encoder/framefilter.cpp:
12304 entropy: remove TEncEntropyIf abstract class
12305
12306 Only one class implemented the interface, so it served no purpose
12307 (except adding a vtable where we didn't need one). Renamed some
12308 member variables to make it all more explicit: m_entropyCoderIf ->
12309 m_entropyCoder, m_binIf -> m_cabac
12310 [960ea9018a7b]
12311
12312 * source/Lib/TLibEncoder/TEncEntropy.cpp:
12313 TEncEntropy: nit
12314 [bf4fd0756cbb]
12315
12316 * source/encoder/frameencoder.cpp:
12317 frameencoder: remove more redundant checks
12318
12319 slice->getSaoEnabledFlag() is the same as saoParam->bSaoFlag[0]
12320 slice->getSaoEnabledFlagChroma() is the same as
12321 saoParam->bSaoFlag[1]
12322 [6111f474ef99]
12323
12324 * source/encoder/frameencoder.cpp:
12325 frameencoder: simplify cabac context save
12326 [d0b71172d7da]
12327
12328 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
12329 source/encoder/frameencoder.cpp:
12330 frameencoder: simplify SAO reset when not enabled on slice
12331 [06b03c4647d6]
12332
12333 * source/encoder/frameencoder.cpp:
12334 frameencoder: further simplify SAO coding
12335 [8e37416993db]
12336
12337 * source/encoder/frameencoder.cpp:
12338 frameencoder: simplify SAO coding logic
12339 [f24ac9e50e4d]
12340
12341 * source/encoder/frameencoder.cpp:
12342 frameencoder: simplify loop bounds
12343 [ce47fb939f69]
12344
12345 * source/encoder/frameencoder.cpp:
12346 frameencoder: further simplify the logic which sync's CABAC with
12347 upper-right LCU
12348 [613f9a60a5d3]
12349
12350 * source/encoder/frameencoder.cpp:
12351 frameencoder: remove redundant widthInCU variable
12352 [4857a503d709]
12353
12354 * source/encoder/frameencoder.cpp:
12355 frameencoder: simplify logic slightly, numSubstreams can be > 1 only
12356 with WPP
12357 [0e6200c402cf]
12358
12359 * source/encoder/frameencoder.cpp:
12360 frameencoder: nits
12361 [4455746792b0]
12362
12363 * source/encoder/frameencoder.cpp:
12364 frameencoder: move trace code for clarity, remove dead
12365 bWaveFrontsynchro
12366 [bb6c9f097ba2]
12367
12368 * source/encoder/frameencoder.cpp:
12369 frameencoder: use m_param->bEnableWavefront directly
12370 [8911196c3bf1]
12371
12372 * source/encoder/frameencoder.cpp:
12373 frameencoder: simplify setup for encodeSlice()
12374 [847cb38b409e]
12375
12376 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
12377 frameencoder: rename m_pic to m_frame
12378 [0aab15ebff0d]
12379
12380 * source/encoder/frameencoder.cpp:
12381 frameencoder: remove unread bitsOriginallyInSubstreams
12382 [5fde40742246]
12383
12384 2014-06-20 Aarthi Thirumalai <aarthi@multicorewareinc.com>
12385
12386 * doc/reST/cli.rst, source/CMakeLists.txt,
12387 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
12388 source/common/param.cpp, source/encoder/encoder.cpp,
12389 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
12390 make cu level stats logging run time configurable
12391
12392 two-pass encodes will need these statistics, so they need to always
12393 be compiled into libx265.
12394 [c9f36b715b3f]
12395
12396 2014-06-20 Steve Borho <steve@borho.org>
12397
12398 * source/x265.h:
12399 api: comment nits
12400 [868e35687ac7]
12401
12402 * source/Lib/TLibCommon/TComDataCU.cpp,
12403 source/Lib/TLibCommon/TComDataCU.h,
12404 source/Lib/TLibCommon/TComLoopFilter.cpp,
12405 source/Lib/TLibCommon/TComLoopFilter.h,
12406 source/Lib/TLibCommon/TComPattern.cpp,
12407 source/Lib/TLibCommon/TComPattern.h,
12408 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12409 source/Lib/TLibCommon/TComPrediction.h,
12410 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
12411 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
12412 source/Lib/TLibCommon/TComSlice.cpp,
12413 source/Lib/TLibCommon/TComSlice.h,
12414 source/Lib/TLibCommon/TComTrQuant.cpp,
12415 source/Lib/TLibCommon/TComWeightPrediction.h,
12416 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
12417 source/Lib/TLibEncoder/TEncEntropy.h,
12418 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
12419 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
12420 source/common/CMakeLists.txt, source/common/frame.cpp,
12421 source/common/frame.h, source/common/lowres.cpp,
12422 source/common/param.cpp, source/common/piclist.cpp,
12423 source/common/piclist.h, source/encoder/compress.cpp,
12424 source/encoder/cturow.h, source/encoder/dpb.cpp,
12425 source/encoder/dpb.h, source/encoder/encoder.cpp,
12426 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
12427 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
12428 source/encoder/framefilter.h, source/encoder/ratecontrol.cpp,
12429 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
12430 source/encoder/slicetype.h, source/encoder/weightPrediction.cpp:
12431 replace TComPic with Frame class in common/frame.h
12432
12433 The new class name clashes with old variables like pic or m_pic, but
12434 I would like to pull in TComPicYuv in the future as a Picture class,
12435 and TComYUV as Yuv class.
12436 [6a11b4e683e1]
12437
12438 * source/encoder/frameencoder.cpp:
12439 frameencoder: fix --no-wpp, broken since 854f5e3072a0
12440 [2317cb9af53e]
12441
12442 2014-06-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12443
12444 * source/common/param.cpp, source/encoder/encoder.cpp:
12445 encoder: move psy-rd logic together
12446 [c2ebebb66bf4]
12447
12448 2014-06-20 Steve Borho <steve@borho.org>
12449
12450 * source/encoder/encoder.cpp:
12451 encoder: use free() to release strdup'd string
12452 [36f6a06df2d5]
12453
12454 2014-06-19 Steve Borho <steve@borho.org>
12455
12456 * source/Lib/TLibEncoder/TEncSearch.cpp,
12457 source/Lib/TLibEncoder/TEncSearch.h,
12458 source/encoder/frameencoder.cpp:
12459 TEncSearch: change pointer type of m_mref, to avoid repeated pointer
12460 setup
12461 [e89fb21a4e06]
12462
12463 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
12464 source/encoder/cturow.h, source/encoder/encoder.cpp,
12465 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
12466 source/encoder/frameencoder.h:
12467 cturow: use thread local storage for TEncCU and TEncSearch
12468
12469 This saves about 10% of memory by reducing redundancy, and lays the
12470 ground work for more fine grained work distribution.
12471 [854f5e3072a0]
12472
12473 * source/Lib/TLibCommon/TComDataCU.cpp,
12474 source/Lib/TLibCommon/TComDataCU.h,
12475 source/Lib/TLibCommon/TComLoopFilter.cpp,
12476 source/Lib/TLibCommon/TComLoopFilter.h,
12477 source/Lib/TLibCommon/TComSlice.cpp,
12478 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
12479 source/encoder/encoder.h, source/encoder/framefilter.cpp:
12480 cu: remove m_loopFilterAcrossTilesEnabledFlag and getPU* default
12481 arguements
12482 [f3ad033af809]
12483
12484 2014-06-20 Steve Borho <steve@borho.org>
12485
12486 * source/encoder/frameencoder.cpp:
12487 frameencoder: comment nits
12488 [d68c638e1469]
12489
12490 2014-06-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12491
12492 * source/encoder/encoder.cpp:
12493 encoder:[CHANGES OUTPUT] disable rdoq when psyrd is enabled
12494 [3780de35ba2a]
12495
12496 2014-06-20 Steve Borho <steve@borho.org>
12497
12498 * source/encoder/nal.cpp:
12499 nal: include the start code bytes in the bounds check
12500 [cc0beb898def]
12501
12502 * source/encoder/nal.cpp:
12503 nal: nits
12504 [57f26a8b7ecb]
12505
12506 * source/encoder/frameencoder.cpp, source/encoder/nal.cpp,
12507 source/encoder/nal.h:
12508 nal: allow the concatenated substream buffer to be re-used from
12509 frame-to-frame
12510
12511 this removes another malloc/free from the processing of every frame.
12512 This commit also moves the NALList constructor to nal.cpp since it
12513 is no longer quite so trivial. Lastly, it adds a check to prevent
12514 crashes in case one or more of the WPP substreams had a malloc
12515 failure.
12516 [51dd3c429cdb]
12517
12518 * source/encoder/nal.cpp:
12519 fix checked build warning
12520 [91fef2cf2e08]
12521
12522 * source/common/bitstream.cpp, source/encoder/cturow.cpp:
12523 fix msvc build warnings
12524 [73ece35100df]
12525
12526 2014-06-19 Steve Borho <steve@borho.org>
12527
12528 * source/Lib/TLibCommon/TComBitStream.cpp,
12529 source/Lib/TLibCommon/TComBitStream.h,
12530 source/Lib/TLibEncoder/SyntaxElementWriter.h,
12531 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
12532 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
12533 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
12534 source/Lib/TLibEncoder/TEncEntropy.h,
12535 source/Lib/TLibEncoder/TEncSbac.cpp,
12536 source/Lib/TLibEncoder/TEncSbac.h, source/common/CMakeLists.txt,
12537 source/common/bitstream.cpp, source/common/bitstream.h,
12538 source/encoder/cturow.cpp, source/encoder/cturow.h,
12539 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
12540 source/encoder/frameencoder.h, source/encoder/framefilter.h,
12541 source/encoder/nal.cpp, source/encoder/nal.h,
12542 source/encoder/sei.cpp, source/encoder/sei.h:
12543 move bitstream implementations into common
12544 [5091ffc86a42]
12545
12546 * source/Lib/TLibCommon/TComBitStream.cpp,
12547 source/Lib/TLibCommon/TComBitStream.h,
12548 source/encoder/frameencoder.cpp:
12549 bitstream: unify resetBits() and clear() methods
12550
12551 There's no point in having a virtual resetBits() method in the
12552 abstract class and then not implemeent in the derived class but make
12553 a second method with identical semantics. What the heck?
12554 [0d77026a11ac]
12555
12556 * source/encoder/api.cpp, source/encoder/encoder.cpp,
12557 source/encoder/encoder.h:
12558 encoder: remove redundant flush argument
12559 [0b4a50730f21]
12560
12561 * source/encoder/encoder.cpp, source/encoder/encoder.h:
12562 encoder: cleanup obsolete NAL data fields
12563 [aecb3b2a98c1]
12564
12565 2014-06-20 Satoshi Nakagawa <nakagawa424@oki.com>
12566
12567 * source/encoder/api.cpp, source/encoder/encoder.cpp,
12568 source/encoder/encoder.h, source/encoder/slicetype.cpp:
12569 x265_encoder_encode: don't return 0 while flushing.
12570 [ced3a726d515]
12571
12572 2014-06-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12573
12574 * source/Lib/TLibEncoder/TEncSearch.cpp,
12575 source/Lib/TLibEncoder/TEncSearch.h,
12576 source/encoder/frameencoder.cpp:
12577 lambda: [CHANGES OUTPUT] Change the distortion weights applied to
12578 chroma.
12579
12580 Inside R-D, a single lambda is applied for both luma and chroma. To
12581 account for the different QPs, (as defined by the standard) the
12582 chroma distortion was weighted by a factor proportional to the
12583 difference in QPs. This patch eliminates the extra weighting given
12584 to the chroma distortion (since it is visually less perceptible).
12585 [25d2c596dd28]
12586
12587 2014-06-19 Steve Borho <steve@borho.org>
12588
12589 * source/encoder/ratecontrol.cpp:
12590 rc: disable MSVC warnings about using POSIX function names like
12591 unlink()
12592 [dfaf67c21c32]
12593
12594 2014-06-16 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12595
12596 * source/Lib/TLibCommon/TComDataCU.cpp,
12597 source/Lib/TLibCommon/TComDataCU.h,
12598 source/Lib/TLibCommon/TComMotionInfo.cpp,
12599 source/Lib/TLibCommon/TComMotionInfo.h,
12600 source/Lib/TLibCommon/TComPicSym.cpp,
12601 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
12602 TComDataCU: refactor structure for better data locality
12603 [62d1d9dd760c]
12604
12605 2014-06-19 Steve Borho <steve@borho.org>
12606
12607 * source/Lib/TLibCommon/TComDataCU.h:
12608 cu: nits
12609 [c72093672ad1]
12610
12611 2014-06-19 Min Chen <chenm003@163.com>
12612
12613 * source/Lib/TLibCommon/TComLoopFilter.cpp,
12614 source/Lib/TLibCommon/TComLoopFilter.h,
12615 source/encoder/framefilter.cpp:
12616 move m_blockingStrength to local
12617 [8c875d7341b7]
12618
12619 * source/Lib/TLibCommon/TComLoopFilter.cpp,
12620 source/Lib/TLibCommon/TComLoopFilter.h:
12621 static m_bLFCrossTileBoundary since all of LCU use same value
12622 [565818adf640]
12623
12624 * source/Lib/TLibCommon/TComLoopFilter.cpp,
12625 source/Lib/TLibCommon/TComLoopFilter.h:
12626 remove reduce code since trHeight always equal to trWidth
12627 [c91e624c4502]
12628
12629 2014-06-17 Aarthi Thirumalai <aarthi@multicorewareinc.com>
12630
12631 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
12632 source/encoder/ratecontrol.h:
12633 rc: initialize the 2 pass states in rc
12634 [60178ece9879]
12635
12636 * source/common/param.cpp:
12637 param: log rc states of m_param in x265_param2string
12638 [ff6e2349cff3]
12639
12640 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
12641 rc: add 2 pass states in RateControl
12642 [ed85651a2840]
12643
12644 * source/common/param.cpp, source/encoder/slicetype.cpp:
12645 rc: define default setting and validations for 2 pass states
12646 [c50f3d2aeb4d]
12647
12648 * source/CMakeLists.txt, source/x265.h:
12649 api: introduce param variables for two-pass encodes
12650 [5063065d7037]
12651
12652 2014-06-19 Steve Borho <steve@borho.org>
12653
12654 * source/encoder/encoder.h:
12655 encoder: remove useless comment
12656 [82ca012854ea]
12657
12658 * source/common/common.h, source/encoder/api.cpp,
12659 source/encoder/encoder.cpp, source/encoder/encoder.h,
12660 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
12661 source/encoder/nal.cpp, source/encoder/nal.h:
12662 nal: refactor nal code, marshall packets directly into output buffer
12663
12664 This removes two malloc/free for every NAL unit and removes yet
12665 another set of memcopies at the end of the each frame encode. We're
12666 now writing the escaped NAL packets directly into the buffer handed
12667 back to the user.
12668
12669 We preserve the max size of this output buffer to prevent having to
12670 do any reallocations once the encoder is running.
12671 [ba9c58a4bee0]
12672
12673 2014-06-19 Satoshi Nakagawa <nakagawa424@oki.com>
12674
12675 * source/encoder/encoder.cpp, source/encoder/encoder.h:
12676 keep TComPic until next call if recpic is exported as pic_out
12677
12678 We must prevent the recon YUV from being recycled until the next
12679 picture is encoded.
12680 [ecccd5401d27]
12681
12682 2014-06-19 Gopu Govindaswamy <Gopu Govindaswamy>
12683
12684 * source/encoder/encoder.h:
12685 encoder: remove m_freeList from encoder class, the m_freeList moved
12686 into dpb
12687 [d2a13e8541f4]
12688
12689 * source/encoder/dpb.cpp:
12690 dpb: destroy and delete m_reconPicYuv from picSymFreeList
12691 [d86fea3cea9c]
12692
12693 2014-06-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12694
12695 * source/Lib/TLibCommon/TComTrQuant.cpp:
12696 quant: correct QP range clipping for 10-bit input depths.
12697
12698 Fixes a bad hash error and artifacts introduced by commit
12699 c8973aec5e70
12700 [59a6891dff51]
12701
12702 2014-06-18 Steve Borho <steve@borho.org>
12703
12704 * source/common/pixel.cpp:
12705 pixel: fixup zeroBug stride for satd_4x4 in psyCost (spotted by
12706 MinGW)
12707
12708 This fixes a bug introduced in f3fb2d2b0ba6
12709 [f5be40ace2cc]
12710
12711 * source/Lib/TLibCommon/TComPic.cpp:
12712 pic: reorder initializations after moving m_reconPicYuv in
12713 e3418f7497e9
12714
12715 Fixes a gcc warning
12716 [5db614f31b85]
12717
12718 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12719 source/Lib/TLibCommon/TComPicSym.h, source/encoder/dpb.cpp,
12720 source/encoder/encoder.cpp:
12721 pic: keep the recon TComPicYuv in the pool with the TComPicSym -
12722 another 10%
12723 [e3418f7497e9]
12724
12725 * source/encoder/encoder.cpp, source/encoder/frameencoder.h,
12726 source/encoder/framefilter.cpp:
12727 frameencoder: make m_ssimCnt an unsigned int
12728 [cd63ddf0e935]
12729
12730 * source/encoder/encoder.h:
12731 encoder: move EncStats into x265 namespace
12732 [a43a223a1294]
12733
12734 2014-06-17 Steve Borho <steve@borho.org>
12735
12736 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12737 source/Lib/TLibCommon/TComPicSym.cpp,
12738 source/Lib/TLibCommon/TComPicSym.h, source/encoder/dpb.cpp,
12739 source/encoder/dpb.h, source/encoder/encoder.cpp,
12740 source/encoder/encoder.h, source/encoder/slicetype.cpp:
12741 pic: keep a pool of TComPicSym, allocate only for encode process
12742
12743 This commit moves the picture freelist to the DPB, it seemed to
12744 belong there. This change reduced memory in a medium encode by more
12745 than 40%.
12746 [cbed0913df50]
12747
12748 * source/Lib/TLibCommon/TComPic.h:
12749 pic: nit
12750 [da81f3741282]
12751
12752 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12753 source/encoder/encoder.cpp:
12754 pic: split picsym allocation from main create function, rename
12755 reinit()
12756 [526d79dabf1a]
12757
12758 * source/Lib/TLibCommon/TComPic.h:
12759 pic: destroy() no longer needs to be virtual, compress white-space
12760 [0e9a74223938]
12761
12762 * source/Lib/TLibCommon/TComPic.h:
12763 pic: improve comments
12764 [7a5bec950123]
12765
12766 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12767 source/Lib/TLibCommon/TComSlice.cpp:
12768 pic: remove unread m_bCheckLTMSB
12769 [8fb41a7f4301]
12770
12771 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12772 source/encoder/dpb.cpp:
12773 pic: remove unread m_bUsedByCurr
12774 [3a458e3f674e]
12775
12776 * source/Lib/TLibEncoder/TEncCu.cpp,
12777 source/Lib/TLibEncoder/TEncSearch.cpp,
12778 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
12779 TEncSearch: keep param pointer instead of top encoder pointer
12780
12781 This required cacheing some top encoder fields in TEncSearch
12782 [5a0f8d5377da]
12783
12784 * source/Lib/TLibEncoder/TEncSearch.h:
12785 TEncSearch: nits
12786 [9a0dde9e5fa6]
12787
12788 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
12789 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
12790 framefilter: replace top pointer with param pointer
12791 [7259c8a2d1b1]
12792
12793 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
12794 frameencoder: replace m_cfg with m_param pointer, use m_top for
12795 leftovers
12796 [c53f4e4669c2]
12797
12798 * source/encoder/frameencoder.h:
12799 frameencoder: remove unused bitcounter
12800 [785e2b88c134]
12801
12802 * source/Lib/TLibCommon/TComDataCU.cpp,
12803 source/Lib/TLibEncoder/TEncCu.cpp:
12804 TComDataCU: remove hungarian prefixes from CU vars
12805 [ca032ae0fd67]
12806
12807 * source/Lib/TLibCommon/TComPicSym.h:
12808 sym: do not return pointer reference from getCU()
12809 [bf0aa61ceaab]
12810
12811 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12812 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
12813 source/encoder/frameencoder.h:
12814 pic: move m_elapsedCompressTime and m_frameTime to frame encoder
12815
12816 This data only needs to exist when the picture is being encoded
12817 [f73c1d866741]
12818
12819 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
12820 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
12821 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
12822 source/encoder/framefilter.h:
12823 pic: move SSIM, PSNR and hash to frame encoder
12824
12825 This data only needs to exist when the picture is being encoded.
12826 This changes the SSIM scores slightly, even though the bitstream and
12827 recon does not change, because it is resetting the SSIM sum and
12828 counter each frame. When these fields were on the TComPic, they were
12829 never cleared.
12830 [bf112abf087c]
12831
12832 * source/Lib/TLibCommon/TComPic.h, source/encoder/frameencoder.cpp,
12833 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
12834 pic: move timing structures to RateControlEntry
12835
12836 This saves a bit of memory, since this data only needs to exist when
12837 the picture is being encoded.
12838 [cb4d408c048e]
12839
12840 * source/encoder/sei.h:
12841 sei: remove unused RESERVED hash method, avoid compiler warnings
12842 [51aa9d1542ef]
12843
12844 * source/Lib/TLibCommon/TComPic.h, source/encoder/frameencoder.cpp,
12845 source/encoder/ratecontrol.cpp:
12846 pic: better name for picture timing SEI member
12847 [d3ac1cbdc9c3]
12848
12849 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
12850 source/Lib/TLibEncoder/SyntaxElementWriter.h:
12851 writer: xConvertToUInt did not need to be a class member
12852 [a2d63126b37c]
12853
12854 * source/encoder/sei.h:
12855 sei: allow SEI classes to implement write() directly to avoid two-
12856 pass encode
12857 [778385cde253]
12858
12859 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
12860 source/encoder/sei.h:
12861 sei: add m_ prefix to members of SEIDecodedPictureHash for
12862 consistency
12863 [bb872c51a453]
12864
12865 * source/encoder/frameencoder.cpp:
12866 sei: repair decoded picture hash SEI
12867 [2be51b34e033]
12868
12869 * source/common/pixel.cpp:
12870 psyrd: use zero stride in psyCost C reference, minor optimization
12871 [f3fb2d2b0ba6]
12872
12873 * source/Lib/TLibEncoder/TEncSearch.cpp:
12874 TEncSearch: simplify square block dim logic
12875
12876 this works around a bizarre MSVC warning on those lines. '<<' :
12877 result of 32-bit shift implicitly converted to 64 bits (was 64-bit
12878 shift intended?)
12879
12880 I have no idea why it was implicitly making the result 64bits.
12881 [0c3d33212ebd]
12882
12883 2014-06-16 Satoshi Nakagawa <nakagawa424@oki.com>
12884
12885 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
12886 fix: TOPSKIP refers outside of picture [OUTPUT CHANGE]
12887 [7c6654c332c5]
12888
12889 2014-06-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12890
12891 * source/Lib/TLibCommon/TComTrQuant.cpp:
12892 quant: Enforce QP range after adding bit-depth offsets
12893 [c8973aec5e70]
12894
12895 2014-06-17 Kavitha Sampath <kavitha@multicorewareinc.com>
12896
12897 * source/encoder/ratecontrol.cpp:
12898 sei: disable HRD with warning when vbv is off
12899 [b6f8e0ce8c81]
12900
12901 2014-06-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12902
12903 * source/Lib/TLibEncoder/TEncSearch.cpp,
12904 source/Lib/TLibEncoder/TEncSearch.h:
12905 psyrd: use psyrdcost for PU/TU decision for inter and intra
12906 [2b514f3f6e1f]
12907
12908 2014-06-17 Steve Borho <steve@borho.org>
12909
12910 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComPic.cpp,
12911 source/Lib/TLibCommon/TComPic.h,
12912 source/Lib/TLibEncoder/SEIwrite.cpp,
12913 source/Lib/TLibEncoder/SEIwrite.h, source/common/CMakeLists.txt,
12914 source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
12915 source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
12916 source/encoder/sei.cpp, source/encoder/sei.h:
12917 sei: first step towards simplifying SEI writing
12918 [9d43b41eb529]
12919
12920 * source/Lib/TLibCommon/TComBitStream.h:
12921 bitstream: give bit counter a useful constructor
12922 [f9fef6da4da6]
12923
12924 2014-06-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12925
12926 * source/encoder/ratecontrol.cpp:
12927 ratecontrol: [CHANGES OUTPUT for 10-bit CRF] Remove QP_BD_OFFSET
12928 from Ratecontrol
12929
12930 This offset is added inside Quant (setQPforQuant)
12931 [3a19a9fdb103]
12932
12933 * source/common/param.cpp, source/encoder/ratecontrol.cpp:
12934 ratecontrol: move validate of CRF params to x265_check_param
12935 [53fab23c6e5b]
12936
12937 2014-06-17 Steve Borho <steve@borho.org>
12938
12939 * source/Lib/TLibEncoder/SyntaxElementWriter.h:
12940 writer: nits
12941 [ab8124028030]
12942
12943 2014-06-17 Min Chen <chenm003@163.com>
12944
12945 * source/Lib/TLibCommon/TComLoopFilter.cpp,
12946 source/Lib/TLibCommon/TComLoopFilter.h:
12947 cleanup unused TComLoopFilter::loopFilterPic
12948 [55ba291c2c5b]
12949
12950 * source/Lib/TLibCommon/TComLoopFilter.cpp,
12951 source/Lib/TLibCommon/TComLoopFilter.h,
12952 source/encoder/framefilter.cpp:
12953 move m_bEdgeFilter to local
12954 [a99fb0ffe53a]
12955
12956 * source/Lib/TLibCommon/TComLoopFilter.cpp,
12957 source/Lib/TLibCommon/TComLoopFilter.h:
12958 move lfcuParam to local
12959 [4c204b14ad0e]
12960
12961 2014-06-16 Steve Borho <steve@borho.org>
12962
12963 * source/Lib/TLibCommon/TComBitStream.cpp,
12964 source/Lib/TLibCommon/TComBitStream.h,
12965 source/encoder/frameencoder.cpp, source/encoder/nal.cpp,
12966 source/encoder/nal.h:
12967 nal: concatenate and escape row data while building row-start array
12968 for header
12969
12970 This way we only need to do a single pass over each slice NAL
12971 looking for start code emulations; and there is one less memcopy.
12972 countStartCodeEmulations() and appendSubstream() methods could be
12973 removed.
12974 [9198ff2e0125]
12975
12976 * source/common/pixel.cpp:
12977 pixel: prevent msvc warning
12978 [f25ed8618509]
12979
12980 2014-06-15 Satoshi Nakagawa <nakagawa424@oki.com>
12981
12982 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12983 source/Lib/TLibEncoder/TEncSearch.cpp,
12984 source/Lib/TLibEncoder/TEncSearch.h:
12985 refine tskip related
12986 [6d8d8c18ba28]
12987
12988 2014-06-14 Satoshi Nakagawa <nakagawa424@oki.com>
12989
12990 * source/Lib/TLibCommon/TComTrQuant.cpp,
12991 source/Lib/TLibCommon/TComTrQuant.h,
12992 source/Lib/TLibEncoder/TEncSearch.cpp,
12993 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
12994 source/encoder/frameencoder.cpp:
12995 TComTrQuant: lambda for each Cb and Cr
12996 [0957164296c1]
12997
12998 2014-06-16 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12999
13000 * source/common/pixel.cpp, source/common/primitives.cpp,
13001 source/common/primitives.h, source/encoder/rdcost.h:
13002 psyRd: Change psy-rd energy measurement
13003
13004 psy-rd energy is measured by summing up the absolute differences of
13005 the AC energy in each 8x8 block in series
13006 [cf8b4506e94e]
13007
13008 2014-06-12 Steve Borho <steve@borho.org>
13009
13010 * source/Lib/TLibCommon/TComBitStream.cpp:
13011 bitstream: simplify appendSubstream
13012
13013 This function is only called from one place, and we can clearly see
13014 that both the source and dest bitstreams are byte-aligned.
13015 [e69a427e461f]
13016
13017 * source/Lib/TLibEncoder/TEncSbac.cpp:
13018 sbac: simplify codeSliceHeader, x265 never codes dependent slices
13019 [a15044282290]
13020
13021 * source/Lib/TLibCommon/TComSlice.cpp,
13022 source/Lib/TLibCommon/TComSlice.h,
13023 source/Lib/TLibEncoder/TEncSbac.cpp,
13024 source/encoder/frameencoder.cpp:
13025 slice: remove unused m_nextSlice and m_dependentSliceSegmentFlag
13026 [b3070d28b792]
13027
13028 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
13029 frameencoder: inline resetEntropy(), which was only called once
13030 [54d6bb746c04]
13031
13032 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
13033 source/encoder/framefilter.h:
13034 framefilter: remove empty end method
13035 [e254c0d81b5d]
13036
13037 * source/encoder/frameencoder.cpp:
13038 frameencoder: use numSubstreams directly
13039 [2fdc26545855]
13040
13041 * source/encoder/frameencoder.cpp:
13042 frameencoder: remove useless setBitstream call
13043 [33853b3f694d]
13044
13045 * source/encoder/frameencoder.cpp:
13046 frameencoder: remove redundant function calls and obsolete comments
13047 [5b42f824f19c]
13048
13049 * source/encoder/frameencoder.cpp:
13050 frameencoder: explain why SAO is being called after compression
13051 [35bfd27a3c82]
13052
13053 * source/Lib/TLibCommon/TComSlice.cpp,
13054 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
13055 slice: remove unused m_tileOffstForMultES
13056 [df0ee2403067]
13057
13058 * source/encoder/frameencoder.cpp:
13059 frameencoder: remove need for intermediate bitstreamRedirect
13060 [602b2c2506a9]
13061
13062 * source/encoder/frameencoder.cpp:
13063 frameencoder: remove sliceSegment, it was always false
13064 [067b68fd94cc]
13065
13066 * source/encoder/frameencoder.cpp:
13067 frameencoder: remove unnecessary set of nextSlice()
13068
13069 This flag is only read in one place, when encoding the slice header.
13070 We do not support multiple slices, so there's no point in setting
13071 this multiple times.
13072 [51618487cb7d]
13073
13074 * source/encoder/encoder.cpp, source/encoder/encoder.h:
13075 encoder: remove unused m_bPCMInputBitDepthFlag
13076 [635f159b4d0f]
13077
13078 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
13079 source/Lib/TLibEncoder/SEIwrite.h, source/encoder/encoder.cpp,
13080 source/encoder/encoder.h, source/encoder/frameencoder.cpp:
13081 remove unused display orientation SEI
13082 [4f87da44e4db]
13083
13084 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
13085 frameencoder: make per-row output streams member variables
13086
13087 Avoid repeated malloc/free and subsequent reallocs and frees each
13088 frame
13089 [97be21ff81bb]
13090
13091 * source/encoder/frameencoder.cpp:
13092 frameencoder: nit, unify comment style in this function
13093 [8644321a206e]
13094
13095 * source/encoder/frameencoder.cpp:
13096 frameencoder: remove redundant sets of SAO lambdas, reorder for
13097 clarity
13098 [8e51b0bfdd30]
13099
13100 * source/encoder/frameencoder.cpp:
13101 frameencoder: nit
13102 [edbb60c0ac0c]
13103
13104 * source/encoder/frameencoder.cpp:
13105 frameencoder: move QP/lambda initialization together
13106 [9afd674721a8]
13107
13108 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
13109 frameencoder: inline slice bounds determination, do not perform
13110 twice
13111 [4ac8602fb0af]
13112
13113 * source/Lib/TLibCommon/TComSlice.cpp,
13114 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
13115 slice: remove unused finalized flag
13116 [e8aee2613bf6]
13117
13118 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
13119 sao: remove unnecessary shim function
13120 [957a5e3d0d7b]
13121
13122 * source/encoder/frameencoder.cpp:
13123 frameencoder: remove obsolete comment
13124 [d55abb8e9106]
13125
13126 * source/encoder/dpb.cpp:
13127 dpb: no need to reset next slice in init function
13128 [1c2ee741e5b1]
13129
13130 * source/encoder/frameencoder.cpp:
13131 frameencoder: declare bitstreamRedirect on stack, do not malloc.
13132 cleanups
13133 [2b866266f884]
13134
13135 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
13136 source/Lib/TLibEncoder/SEIwrite.h, source/encoder/encoder.cpp,
13137 source/encoder/encoder.h, source/encoder/frameencoder.cpp:
13138 remove unused gradual decoding refresh info SEI
13139 [9283279c721c]
13140
13141 * source/encoder/frameencoder.cpp:
13142 frameencoder: move prefix SEI generation all together, before
13143 compressCTURows
13144 [ff47e8fd3751]
13145
13146 * source/encoder/frameencoder.h:
13147 frameencoder: fix header case
13148
13149 Reported by Elyonta
13150 [01a0982d2e4b]
13151
13152 2014-06-12 Aarthi Thirumalai <Aarthi Thirumalai>
13153
13154 * source/encoder/ratecontrol.cpp:
13155 rc: set isCbr flag to true only in vbv mode and maxrate equals
13156 bitrate
13157 [a302daa9abd0]
13158
13159 2014-06-12 Steve Borho <steve@borho.org>
13160
13161 * source/encoder/compress.cpp:
13162 compress: add EMMS at return of xCompressInterCu
13163
13164 Removed the EMMS from xComputeCostMerge2Nx2N since it is only called
13165 from the CU compress function and it is not using floats
13166 [5b975609dc0a]
13167
13168 2014-06-05 Steve Borho <steve@borho.org>
13169
13170 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
13171 frameencoder: re-use a single bitstream object for all NAL and SEI
13172
13173 This saves on malloc/free/realloc/memcpy calls.
13174 [c5015669b6dc]
13175
13176 2014-06-11 Steve Borho <steve@borho.org>
13177
13178 * source/encoder/compress.cpp:
13179 compress: nit comment spacing
13180 [e8df9b57eb09]
13181
13182 * source/encoder/weightPrediction.cpp:
13183 weight: ensure weight table is initialized on failure, simplify
13184 weightAnalyse()
13185 [10a4c2d42d3f]
13186
13187 * source/encoder/compress.cpp:
13188 compress: remove floating point math to avoid needing to use EMMS
13189 [8da75c4dbbc0]
13190
13191 * source/Lib/TLibCommon/TComDataCU.h:
13192 TComDataCU: nits
13193 [ebe26cc5fdd8]
13194
13195 * source/encoder/frameencoder.cpp:
13196 frameencoder: remove obsolete check
13197 [ea6f7da090ef]
13198
13199 * source/encoder/nal.cpp:
13200 nal: msvc and its integer conversion warnings
13201 [b76c4e415cdd]
13202
13203 * source/encoder/nal.cpp:
13204 nal: greatly simplify NAL header generation, do not use
13205 TComOutputBitstream
13206
13207 This saves a malloc/free and a great deal of needless overhead
13208 [7868d22e535d]
13209
13210 2014-06-10 Steve Borho <steve@borho.org>
13211
13212 * source/encoder/encoder.cpp:
13213 encoder: set m_totalFrameThreads at the same time as
13214 param->frameNumThreads
13215 [20d74192e097]
13216
13217 * doc/reST/cli.rst, source/common/param.cpp,
13218 source/encoder/encoder.cpp:
13219 param: clip bframe bias range as x264 does
13220 [d0bacf50eb95]
13221
13222 2014-06-10 Kavitha Sampath <kavitha@multicorewareinc.com>
13223
13224 * source/Lib/TLibCommon/TComRom.cpp:
13225 TComRom: fix fraction part variation in x265_lambda2_tab for higher
13226 QPs
13227 [a89e0703e724]
13228
13229 2014-06-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13230
13231 * source/common/param.cpp:
13232 preset: improve the speed settings for fast preset.
13233 [0cbc7320c9f2]
13234
13235 2014-06-05 Steve Borho <steve@borho.org>
13236
13237 * source/encoder/ratecontrol.cpp:
13238 Merge with stable
13239 [e5656f1e1904]
13240
13241 * source/encoder/ratecontrol.cpp:
13242 rc: fix potential build warning
13243 [7a3214c9622f] <stable>
13244
13245 * source/common/common.h:
13246 common: include cctype for isdigit
13247 [25b8aa22e4c8]
13248
13249 * source/Lib/TLibCommon/TComBitStream.cpp:
13250 bitstream: fast-path for appending bitstreams
13251 [47fdb8041e9d]
13252
13253 * source/encoder/nal.cpp:
13254 nal: add back comments now that member variables are gone
13255 [420122606888]
13256
13257 * source/Lib/TLibCommon/TComBitStream.cpp,
13258 source/Lib/TLibCommon/TComBitStream.h, source/common/common.h,
13259 source/encoder/frameencoder.cpp, source/encoder/nal.cpp:
13260 bitstream: simplify TComBitStream interface and code
13261 [467d0e89a52f]
13262
13263 * source/Lib/TLibCommon/TComSlice.cpp:
13264 TComSlice: remove layer violation include
13265
13266 files in common/ shouldn't include encoder/ headers
13267 [9f6dca97e01f]
13268
13269 * source/Lib/TLibCommon/CommonDef.h,
13270 source/Lib/TLibCommon/TComBitStream.h,
13271 source/Lib/TLibCommon/TComDataCU.h,
13272 source/Lib/TLibCommon/TComLoopFilter.h,
13273 source/Lib/TLibCommon/TComMotionInfo.h,
13274 source/Lib/TLibCommon/TComPattern.h,
13275 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
13276 source/Lib/TLibCommon/TComPicYuv.h,
13277 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
13278 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
13279 source/Lib/TLibCommon/TComSlice.cpp,
13280 source/Lib/TLibCommon/TComSlice.h,
13281 source/Lib/TLibCommon/TComTrQuant.h,
13282 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
13283 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
13284 source/Lib/TLibEncoder/SyntaxElementWriter.h,
13285 source/Lib/TLibEncoder/TEncCu.h, source/common/common.cpp,
13286 source/common/common.h, source/encoder/level.cpp,
13287 source/encoder/level.h, source/test/testharness.h:
13288 always include CommonDef.h via common.h, avoid include loops
13289
13290 Remove some spurious stdlib includes not in common.h
13291 [0cdfd02d6b1a]
13292
13293 * source/Lib/TLibCommon/TComBitCounter.h,
13294 source/Lib/TLibCommon/TComBitStream.h,
13295 source/Lib/TLibEncoder/SEIwrite.cpp,
13296 source/Lib/TLibEncoder/TEncCu.h,
13297 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
13298 source/common/CMakeLists.txt, source/encoder/cturow.h,
13299 source/encoder/frameencoder.h:
13300 merge TComBitCounter into TComBitStream.h
13301 [ac044bf2f850]
13302
13303 * source/encoder/nal.cpp:
13304 nal: add more padding for corner cases
13305 [ecbe8796febc]
13306
13307 2014-06-05 Kavitha Sampath <kavitha@multicorewareinc.com>
13308
13309 * source/encoder/frameencoder.cpp:
13310 weightb: reinitialize weight table when weightb is off
13311 [9dddc48aecc7]
13312
13313 2014-06-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13314
13315 * source/encoder/ratecontrol.h:
13316 ratecontrol: change type of m_bframeBits to int64_t
13317 [495874699b0d]
13318
13319 2014-06-04 Steve Borho <steve@borho.org>
13320
13321 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
13322 Merge with stable
13323 [c11920cb6f04]
13324
13325 2014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
13326
13327 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
13328 rc: fixes to improve quality in vbv
13329 [93921c0afac5] <stable>
13330
13331 2014-06-05 Aarthi Thirumalai <Aarthi Thirumalai>
13332
13333 * source/encoder/ratecontrol.cpp:
13334 rc: use actual bits to update vbv buffer
13335 [4df4e48d24a0] <stable>
13336
13337 2014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
13338
13339 * source/encoder/ratecontrol.cpp:
13340 rc: set pbFactor to default with cutree
13341 [a076f4fc8d36] <stable>
13342
13343 2014-06-04 Steve Borho <steve@borho.org>
13344
13345 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
13346 source/Lib/TLibEncoder/NALwrite.h, source/common/CMakeLists.txt,
13347 source/encoder/CMakeLists.txt, source/encoder/api.cpp,
13348 source/encoder/encoder.cpp, source/encoder/encoder.h,
13349 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
13350 source/encoder/nal.cpp, source/encoder/nal.h:
13351 combine NAL output semantics into one clean(er) interface
13352 [4a146c01fcab]
13353
13354 * source/Lib/TLibEncoder/NALwrite.cpp:
13355 nal: fix checked build
13356 [7186f76fe62c]
13357
13358 * source/encoder/encoder.cpp:
13359 encoder: no longer needs NALwrite.h
13360 [e4b3061770b9]
13361
13362 * source/Lib/TLibCommon/TComBitStream.h:
13363 TComBitstream: nits
13364 [d94a29bb9ce7]
13365
13366 * source/Lib/TLibCommon/TComTrQuant.cpp,
13367 source/Lib/TLibCommon/TComTrQuant.h,
13368 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/cturow.cpp,
13369 source/encoder/encoder.cpp, source/encoder/encoder.h:
13370 remove Encoder::bEnableRDOQTS, we did not allow separate config for
13371 it
13372
13373 Either RDOQ and RDOQTS were enabled at once, or both were disabled,
13374 or TSKIP was disabled and it didn't matter how RDOQTS was set.
13375
13376 Removed RDOQ_CHROMA as well, which allowed the removal of a warning
13377 disable
13378 [eca52aac2ec5]
13379
13380 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/cturow.cpp,
13381 source/encoder/encoder.cpp, source/encoder/encoder.h:
13382 encoder: bEnableRDOQ->m_bEnableRDOQ for consistency
13383 [2a228a28395c]
13384
13385 * source/Lib/TLibCommon/TComPic.cpp,
13386 source/Lib/TLibEncoder/TEncCu.cpp,
13387 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/api.cpp,
13388 source/encoder/cturow.cpp, source/encoder/dpb.h,
13389 source/encoder/encoder.cpp, source/encoder/encoder.h,
13390 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
13391 source/encoder/slicetype.cpp:
13392 encoder: param->m_param for consistency
13393 [c02dacf1a13b]
13394
13395 * source/encoder/encoder.h:
13396 encoder: remove m_useLossless
13397 [65b385fa9989]
13398
13399 * source/encoder/encoder.cpp, source/encoder/encoder.h,
13400 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
13401 source/encoder/slicetype.h:
13402 slicetype: convert lookahead "structs with methods" to classes
13403 [72a00c40366a]
13404
13405 * source/encoder/ratecontrol.cpp:
13406 rc: nit
13407 [969811ce69da]
13408
13409 * source/encoder/encoder.cpp, source/encoder/encoder.h,
13410 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
13411 source/encoder/ratecontrol.h:
13412 rc: convert RateControl to a class
13413
13414 The "struct with methods" metaphore was too stretched here. The
13415 methods are too complicated to keep track of which variables were
13416 members; variable shadowing was very common.
13417 [d3b1d2d3f104]
13418
13419 * source/Lib/TLibEncoder/NALwrite.cpp:
13420 nal: check padded buffer size
13421 [522e419ed55d]
13422
13423 * source/encoder/api.cpp:
13424 api: must match X265_ALLOC with X265_FREE for m_nalUnitData
13425
13426 This was only an issue on Windows
13427 [e3a5aa8afeae]
13428
13429 * source/encoder/ratecontrol.cpp:
13430 rc: fix type of actualBits
13431 [30e6d62afa3d]
13432
13433 * source/Lib/TLibEncoder/NALwrite.cpp:
13434 nalwrite: simplify write method; single allocation with no reallocs
13435 [c3a4e0ab37c2]
13436
13437 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
13438 source/encoder/ratecontrol.h:
13439 rc: only pass param to rc constructor
13440 [5c9a0aa10472]
13441
13442 * source/encoder/ratecontrol.cpp:
13443 rc: further improvements to code clarity
13444 [794b1c67c829]
13445
13446 * source/encoder/ratecontrol.cpp:
13447 rc: nit
13448 [9f44990be4d4]
13449
13450 * source/encoder/ratecontrol.cpp:
13451 rc: use member isCbr rather than making a shadow variable
13452 [cca69754c32e]
13453
13454 * source/encoder/ratecontrol.cpp:
13455 rc: move isCbr initialization to constructor, to avoid init() race
13456 [4cdc53eb185b]
13457
13458 * source/encoder/encoder.cpp:
13459 Merge with stable
13460 [8d9ea2d89fbf]
13461
13462 2014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
13463
13464 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
13465 rc: fixes to improve quality in vbv
13466 [cb025d96fac3]
13467
13468 * source/encoder/ratecontrol.cpp:
13469 rc: use actual bits to update vbv buffer
13470 [5eca4ea111f7]
13471
13472 * source/encoder/ratecontrol.cpp:
13473 rc: set pbFactor to default with cutree
13474 [0f68adb0e190]
13475
13476 2014-06-04 Kavitha Sampath <kavitha@multicorewareinc.com>
13477
13478 * source/Lib/TLibCommon/TComSlice.cpp, source/encoder/encoder.cpp,
13479 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
13480 source/encoder/ratecontrol.cpp:
13481 SEI: fix bus error, cleanup m_decodingUnitInfoSEIEnabled
13482
13483 Remove setHrdPaarameters function as all the necessary HRD
13484 parameters are already computed and set in the initHrd function.
13485 [fe25d256f0e1]
13486
13487 2014-06-04 Steve Borho <steve@borho.org>
13488
13489 * source/Lib/TLibCommon/SEI.h:
13490 sei: white-space nits
13491 [00f286a1f5e3]
13492
13493 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
13494 source/encoder/frameencoder.cpp:
13495 sei: remove SEIPictureTiming fields we do not signal, cleanup
13496
13497 Completely remove constructor and destructor
13498 [1b93336d68d4]
13499
13500 2014-06-04 Satoshi Nakagawa <nakagawa424@oki.com>
13501
13502 * source/Lib/TLibEncoder/NALwrite.cpp, source/encoder/encoder.cpp:
13503 fix: uninitialized read m_totalFrameThreads
13504 [63ac1a0aa81d] <stable>
13505
13506 2014-06-04 Steve Borho <steve@borho.org>
13507
13508 * doc/reST/cli.rst:
13509 rest: reorganize analysis options into their own section
13510 [d40f60dae2ce]
13511
13512 2014-06-04 Kavitha Sampath <kavitha@multicorewareinc.com>
13513
13514 * source/encoder/ratecontrol.cpp:
13515 fix crash in hrd when init function is called with null pointer
13516 [61a02a9c78eb]
13517
13518 2014-06-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13519
13520 * Merge with stable
13521 [9b81591718d5]
13522
13523 * source/Lib/TLibEncoder/TEncCu.cpp:
13524 TEncCU: fix bug in no-intra, intra-analysis should still happen for
13525 P-frames
13526 [5cc4502256a7] <stable>
13527
13528 * source/common/param.cpp:
13529 Merge with stable
13530 [1fe42453d2e3]
13531
13532 * source/common/param.cpp:
13533 preset: correct ultrafast settings (in line with doc) by disabling
13534 loop-filter.
13535 [9f59dad6eea6] <stable>
13536
13537 2014-06-03 Steve Borho <steve@borho.org>
13538
13539 * doc/reST/cli.rst, source/Lib/TLibCommon/TComSlice.h,
13540 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
13541 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
13542 source/x265.cpp:
13543 Merge with stable
13544 [f2479eb454b0]
13545
13546 * .hgtags:
13547 Added tag 1.1 for changeset ae9609aeebdc
13548 [2650fdd1a7f6] <stable>
13549
13550 * source/common/param.cpp:
13551 param: only log psy-rd if it is enabled
13552 [ae9609aeebdc] [1.1] <stable>
13553
13554 * source/encoder/ratecontrol.cpp:
13555 lossless: do not allow CQP to adjust QP for I/B when encoding
13556 lossless
13557 [07e7a54ae1cb] <stable>
13558
13559 * source/encoder/encoder.cpp:
13560 lossless: report compression ratio, disable distortion metrics
13561 [d9facf9895f7] <stable>
13562
13563 * doc/reST/cli.rst, source/encoder/encoder.cpp:
13564 lossless: disable rate control, force QP=4
13565
13566 strangely enough, using QP=4 gives better lambda for lossless ME and
13567 RD decisions
13568 [12d35ab8148d] <stable>
13569
13570 2014-06-03 Praveen Tiwari <Praveen Tiwari>
13571
13572 * source/x265.h:
13573 x265.h, data declaration alignment
13574 [6f3149d95bd9]
13575
13576 * source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.h:
13577 whitespace clean-up
13578 [8c66560a3e23]
13579
13580 2014-06-03 Steve Borho <steve@borho.org>
13581
13582 * source/Lib/TLibCommon/TComSlice.h:
13583 TComSlice: nit - use bools to initialize bools
13584 [8b5dadb1454e]
13585
13586 * source/encoder/frameencoder.cpp:
13587 SEI: only setup SEIPictureTiming fields which will be coded
13588 [3356ce23cad2]
13589
13590 2014-06-03 Kavitha Sampath <kavitha@multicorewareinc.com>
13591
13592 * doc/reST/cli.rst, source/CMakeLists.txt,
13593 source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComPic.h,
13594 source/Lib/TLibCommon/TComSlice.h, source/common/param.cpp,
13595 source/encoder/encoder.cpp, source/encoder/encoder.h,
13596 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
13597 source/encoder/ratecontrol.h, source/x265.cpp, source/x265.h:
13598 SEI: Insert buffering period and picture timing SEI messages
13599
13600 The buffering period SEI message is inserted for every key frame and
13601 the picture timing SEI is inserted for every frame. The commit also
13602 computes the HRD parameters as well as HRD Timing parameters that
13603 are calculated using the delay components(cpb removal delay and dpb
13604 output delay) carried in these SEI messages. HRD parameters can be
13605 signalled by enabling --hrd.
13606 [f9f553c8bd6a]
13607
13608 2014-06-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13609
13610 * source/Lib/TLibCommon/TComSlice.cpp,
13611 source/Lib/TLibCommon/TComSlice.h,
13612 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/encoder.cpp:
13613 qp: remove Encoder::m_useLossless.
13614
13615 This patch removes confusion between Encoder::m_useLossless and
13616 x265_param::bUseLossless. m_useLossless was set whenever qp = 0, and
13617 used in TComSPS. qp = 0 is still a valid encoder option.
13618 [b4e87638e5cc] <stable>
13619
13620 2014-06-03 Steve Borho <steve@borho.org>
13621
13622 * source/common/winxp.cpp:
13623 xp: avoid compiler warning from GCC-MinGW
13624
13625 MSVC gives a warning at link time if this file is empty, so I added
13626 a useless variable to the file. GCC-MinGW issues a compile time
13627 warning about this unused variable.
13628 [d315d1430f5c] <stable>
13629
13630 * source/x265.cpp:
13631 cli: seperate new lossless options, make --lossless description more
13632 concise
13633
13634 try to avoid having the --lossless line wrap
13635 [cfab9513e27c] <stable>
13636
13637 2014-06-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13638
13639 * Merge with stable
13640 [d78f38b707ba]
13641
13642 * doc/reST/presets.rst, source/x265.h:
13643 rest: correct documentation on AQ
13644 [f66ad1400874] <stable>
13645
13646 * Merge with stable
13647 [d3f55d391314]
13648
13649 * source/common/param.cpp:
13650 param: initialise lossless/cu-lossless fields to zero
13651 [7153905d56e6] <stable>
13652
13653 2014-06-02 Steve Borho <steve@borho.org>
13654
13655 * source/Lib/TLibEncoder/TEncSearch.cpp:
13656 TEncSearch: rename variable to avoid shadowing an earlier 'part'
13657 [92ef2e02f653]
13658
13659 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
13660 primitives: move more aliasing to Setup_Alias_Primitives
13661 [31f93f0d024f]
13662
13663 2014-06-02 Satoshi Nakagawa <nakagawa424@oki.com>
13664
13665 * source/Lib/TLibEncoder/TEncEntropy.cpp,
13666 source/Lib/TLibEncoder/TEncEntropy.h,
13667 source/Lib/TLibEncoder/TEncSbac.cpp,
13668 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.cpp,
13669 source/common/primitives.h, source/common/x86/asm-primitives.cpp:
13670 refine cbf==0 path: remove clearing coeff and resi
13671 [b46dd1095ed8]
13672
13673 2014-06-02 Steve Borho <steve@borho.org>
13674
13675 * source/Lib/TLibEncoder/TEncSearch.cpp:
13676 TEncSearch: remove unnecessary pragma
13677 [bc38a1637220]
13678
13679 * source/Lib/TLibCommon/TComRdCost.h:
13680 Merge with default (prepare for 1.1)
13681 [108996798e78] <stable>
13682
13683 * source/encoder/rdcost.h:
13684 psy: use m_lambdaSAD multiplier for psy cost, m_lambdaSSE for bits
13685
13686 in x264, m_lambdaSSE = lambda2, m_lambdaSAD = lambda
13687 [5b6c9cda191b]
13688
13689 * COPYING, source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h,
13690 source/common/bitstream.h, source/common/common.cpp,
13691 source/common/common.h, source/common/cpu.cpp, source/common/cpu.h,
13692 source/common/dct.cpp, source/common/intrapred.cpp,
13693 source/common/ipfilter.cpp, source/common/loopfilter.cpp,
13694 source/common/lowres.cpp, source/common/lowres.h,
13695 source/common/mv.h, source/common/param.cpp, source/common/param.h,
13696 source/common/piclist.cpp, source/common/piclist.h,
13697 source/common/pixel.cpp, source/common/primitives.cpp,
13698 source/common/primitives.h, source/common/shortyuv.cpp,
13699 source/common/shortyuv.h, source/common/threading.cpp,
13700 source/common/threading.h, source/common/threadpool.cpp,
13701 source/common/threadpool.h, source/common/vec/blockcopy-sse3.cpp,
13702 source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp,
13703 source/common/vec/dct-ssse3.cpp, source/common/vec/vec-
13704 primitives.cpp, source/common/version.cpp,
13705 source/common/wavefront.cpp, source/common/wavefront.h,
13706 source/common/winxp.cpp, source/common/winxp.h, source/common/x86
13707 /asm-primitives.cpp, source/common/x86/blockcopy8.asm,
13708 source/common/x86/blockcopy8.h, source/common/x86/const-a.asm,
13709 source/common/x86/cpu-a.asm, source/common/x86/dct8.asm,
13710 source/common/x86/dct8.h, source/common/x86/intrapred.h,
13711 source/common/x86/intrapred16.asm, source/common/x86/intrapred8.asm,
13712 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.asm,
13713 source/common/x86/ipfilter8.h, source/common/x86/loopfilter.asm,
13714 source/common/x86/loopfilter.h, source/common/x86/mc-a.asm,
13715 source/common/x86/mc-a2.asm, source/common/x86/mc.h,
13716 source/common/x86/pixel-32.asm, source/common/x86/pixel-a.asm,
13717 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
13718 source/common/x86/pixel.h, source/common/x86/pixeladd8.asm,
13719 source/common/x86/sad-a.asm, source/common/x86/sad16-a.asm,
13720 source/common/x86/ssd-a.asm, source/common/x86/x86util.asm,
13721 source/encoder/api.cpp, source/encoder/bitcost.cpp,
13722 source/encoder/bitcost.h, source/encoder/compress.cpp,
13723 source/encoder/cturow.cpp, source/encoder/cturow.h,
13724 source/encoder/dpb.cpp, source/encoder/dpb.h,
13725 source/encoder/encoder.cpp, source/encoder/encoder.h,
13726 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
13727 source/encoder/framefilter.cpp, source/encoder/framefilter.h,
13728 source/encoder/level.cpp, source/encoder/level.h,
13729 source/encoder/motion.cpp, source/encoder/motion.h,
13730 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
13731 source/encoder/rdcost.h, source/encoder/reference.cpp,
13732 source/encoder/reference.h, source/encoder/slicetype.cpp,
13733 source/encoder/slicetype.h, source/encoder/weightPrediction.cpp,
13734 source/filters/filters.cpp, source/filters/filters.h,
13735 source/input/input.cpp, source/input/input.h, source/input/y4m.cpp,
13736 source/input/y4m.h, source/input/yuv.cpp, source/input/yuv.h,
13737 source/output/output.cpp, source/output/output.h,
13738 source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
13739 source/output/yuv.h, source/test/checkasm-a.asm,
13740 source/test/intrapredharness.cpp, source/test/intrapredharness.h,
13741 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h,
13742 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
13743 source/test/pixelharness.cpp, source/test/pixelharness.h,
13744 source/test/testbench.cpp, source/test/testharness.h,
13745 source/test/testpool.cpp, source/x265.cpp, source/x265.h,
13746 source/x265_config.h.in:
13747 change license email globally
13748 [9c21227bb5bf]
13749
13750 2014-05-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13751
13752 * doc/reST/cli.rst, source/CMakeLists.txt,
13753 source/Lib/TLibEncoder/TEncCu.cpp,
13754 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
13755 source/encoder/compress.cpp, source/encoder/encoder.cpp,
13756 source/x265.cpp, source/x265.h:
13757 add support for lossless encode
13758
13759 --lossless forces full lossless coding of every frame and every CU.
13760
13761 --cu-lossless forces the encoder to perform RD cost analysis between
13762 lossy and lossless modes and choose the least cost mode for each CU.
13763 [bebc88f64d99]
13764
13765 2014-06-02 Steve Borho <steve@borho.org>
13766
13767 * source/Lib/TLibEncoder/TEncCu.cpp:
13768 TEncCu: nits
13769 [ac763df220b6]
13770
13771 2014-05-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13772
13773 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
13774 source/Lib/TLibEncoder/TEncCu.cpp:
13775 fix to support multiple color space format in
13776 TComSampleAdaptiveOffset and TEncCu structure
13777 [dbd7cabc5ee6]
13778
13779 2014-06-02 Aarthi Thirumalai <Aarthi Thirumalai>
13780
13781 * source/encoder/ratecontrol.cpp:
13782 rc: improve visual quality in high bit depth encodes.
13783 [1c65cf8f068e]
13784
13785 2014-06-02 Steve Borho <steve@borho.org>
13786
13787 * source/encoder/CMakeLists.txt:
13788 cmake: nit
13789 [39ddc8c12309]
13790
13791 * source/encoder/CMakeLists.txt:
13792 cmake: encoder.cpp no longer needs -Wno-unused-parameter
13793 [d3a89fd010dd]
13794
13795 * source/CMakeLists.txt, source/common/CMakeLists.txt:
13796 cmake: move all "GCC-like" logic together, use consistent var names
13797 [734956446ac1]
13798
13799 2014-05-30 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
13800
13801 * source/CMakeLists.txt:
13802 Disable exceptions for all compilers which support fno-exceptions
13803 [f21ce9406d4d]
13804
13805 2014-05-30 Aarthi Thirumalai <Aarthi Thirumalai>
13806
13807 * source/Lib/TLibEncoder/TEncCu.cpp,
13808 source/Lib/TLibEncoder/TEncSearch.cpp,
13809 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
13810 source/encoder/encoder.cpp, source/encoder/encoder.h:
13811 TEncSearch: use actual frame thread count to decide motion search
13812 limits
13813 [223a9bbf52f4]
13814
13815 2014-06-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13816
13817 * doc/reST/presets.rst, source/common/param.cpp:
13818 preset: set superfast, veryfast, faster and fast presets to rd 2.
13819 [a5998df9b12e]
13820
13821 * doc/reST/presets.rst, source/common/param.cpp:
13822 preset: For ultrafast preset, turn off lft, change rdLevel from 3 to
13823 2.
13824
13825 This adds about 20-25% more performance for ultrafast presets at
13826 little efficiency cost.
13827 [d957ff8312d3]
13828
13829 2014-05-29 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
13830
13831 * source/CMakeLists.txt:
13832 Disable exceptions. Fixes Clang linker errors.
13833 [592ef184549e]
13834
13835 2014-05-29 Steve Borho <steve@borho.org>
13836
13837 * source/encoder/ratecontrol.cpp:
13838 rc: cleanups for clarity
13839 [58420e834424]
13840
13841 2014-05-29 Aarthi Thirumalai <Aarthi Thirumalai>
13842
13843 * source/encoder/encoder.cpp, source/encoder/encoder.h,
13844 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
13845 ratecontrol: improve visual quality and bitrate savings in ABR.
13846
13847 Try to prevent ABR over-compensation after I frames by amortizing
13848 the cost over the next few frames;
13849
13850 Improve ABR quality with frame parallelism - enable frame
13851 parallelism only after first few P frames to prevent excessive qp
13852 fluctuations.
13853
13854 Fix initial I frame qp. when cu tree is enabled, the qp decided
13855 arbitrarily is too low. This causes a huge qp spike in immediate P
13856 frames.Tuned cplxrSum for intial I frame so that a more appropriate
13857 qp is chosen.
13858 [7cbe7e7a75c4]
13859
13860 2014-05-29 Steve Borho <steve@borho.org>
13861
13862 * source/cmake/CMakeASM_YASMInformation.cmake:
13863 cmake: 32-bit macho compiles need _ prefixes on exported functions
13864 [d4932f6e964b]
13865
13866 2014-05-28 Steve Borho <steve@borho.org>
13867
13868 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp:
13869 preset: disable rectangular and AMP partitions at medium preset
13870
13871 This gives a considerable speed-up (50-70%) at the default preset
13872 for not much loss in compression efficiency (2-3%). AMP is rarely
13873 useful, at non-RDO presets we were only considering AMP merge
13874 anyway, and rect can be approximated by a split and two merges.
13875 [b42827682323]
13876
13877 2014-05-28 Satoshi Nakagawa <nakagawa424@oki.com>
13878
13879 * source/Lib/TLibCommon/TComDataCU.cpp,
13880 source/Lib/TLibCommon/TComDataCU.h,
13881 source/Lib/TLibCommon/TComPattern.cpp,
13882 source/Lib/TLibCommon/TComPattern.h,
13883 source/Lib/TLibCommon/TComPicYuv.cpp,
13884 source/Lib/TLibCommon/TComPicYuv.h,
13885 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
13886 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
13887 source/Lib/TLibEncoder/TEncEntropy.cpp,
13888 source/Lib/TLibEncoder/TEncSearch.cpp,
13889 source/Lib/TLibEncoder/TEncSearch.h, source/common/shortyuv.cpp,
13890 source/common/shortyuv.h, source/encoder/reference.cpp:
13891 refine YUV and coeff buffer
13892 [260752f39b27]
13893
13894 2014-05-28 Steve Borho <steve@borho.org>
13895
13896 * source/Lib/TLibEncoder/TEncSearch.cpp:
13897 nits
13898 [e9776dfd1471]
13899
13900 * source/Lib/TLibEncoder/TEncSearch.cpp,
13901 source/encoder/frameencoder.cpp:
13902 nits
13903 [eb236aec3757]
13904
13905 * source/common/threadpool.cpp, source/common/threadpool.h,
13906 source/common/wavefront.cpp, source/common/wavefront.h,
13907 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
13908 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
13909 source/test/testpool.cpp:
13910 pool: allow thread private data structures
13911
13912 Pass worker's threadId to JobProvider::findJob() and allow job
13913 providers to use this ID as they see fit to keep thread local data.
13914 No behavior changes, this is just laying the plumbing for future
13915 optimizations.
13916 [77f788046989]
13917
13918 * doc/reST/cli.rst:
13919 rest: add missing --no-repeat-headers option
13920 [6df1a5bb11fc]
13921
13922 * source/Lib/TLibEncoder/TEncCu.cpp:
13923 TEncCu: nit
13924 [e6ba953dcb1a]
13925
13926 2014-05-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13927
13928 * source/Lib/TLibEncoder/TEncCu.cpp:
13929 psy-rd: bug fix in merge mode, use psyCosts for all decisions
13930 whenever psy-rd is enabled
13931 [306d3e6b5185]
13932
13933 * source/Lib/TLibEncoder/TEncCu.cpp:
13934 TEncCU: inserting runtime checking for m_totalPsyCost
13935 [503a359e874c]
13936
13937 2014-05-27 Kavitha Sampath <kavitha@multicorewareinc.com>
13938
13939 * source/encoder/frameencoder.cpp:
13940 SEI: fix bug in picture timing SEI when interlace encoding is
13941 enabled
13942
13943 When the interlace mode is 1(top field first), the picstruct is
13944 2(bottom field) for all frames. But the picStruct for frames in
13945 display order should be 1(top field), 2(bottom field), 1, 2,..etc
13946 [807ee7f1597b]
13947
13948 2014-05-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13949
13950 * source/Lib/TLibEncoder/TEncCu.cpp,
13951 source/Lib/TLibEncoder/TEncSearch.cpp:
13952 psyRD: psyRD costs are saved into m_totalPsyCost.
13953 [acd166cf9836]
13954
13955 * source/Lib/TLibCommon/TComDataCU.cpp,
13956 source/Lib/TLibCommon/TComDataCU.h,
13957 source/Lib/TLibEncoder/TEncCu.cpp,
13958 source/Lib/TLibEncoder/TEncSearch.cpp:
13959 TComDataCU: introduce new variable m_psyEnergy
13960 [1bd3da64eab9]
13961
13962 * source/Lib/TLibCommon/TComDataCU.cpp,
13963 source/Lib/TLibCommon/TComDataCU.h:
13964 TComDataCU: introduce new variable m_totalPsyCost
13965 [d84f5d1fbb10]
13966
13967 * source/Lib/TLibCommon/TComDataCU.cpp:
13968 TComDataCU: whitespace nits
13969 [08766d706869]
13970
13971 * source/Lib/TLibCommon/TComDataCU.cpp,
13972 source/Lib/TLibCommon/TComDataCU.h,
13973 source/Lib/TLibEncoder/TEncCu.cpp,
13974 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
13975 TComDataCU: renaming m_totalCost to m_totalRDCost
13976 [812615048da0]
13977
13978 2014-05-25 Satoshi Nakagawa <nakagawa424@oki.com>
13979
13980 * source/CMakeLists.txt:
13981 add -D__STDC_LIMIT_MACROS=1
13982 [af78d190e57b]
13983
13984 2014-05-25 Steve Borho <steve@borho.org>
13985
13986 * source/Lib/TLibCommon/TComPrediction.cpp,
13987 source/Lib/TLibEncoder/TEncSearch.cpp:
13988 nits
13989 [80e6a349a9fb]
13990
13991 2014-05-23 Steve Borho <steve@borho.org>
13992
13993 * source/common/shortyuv.cpp:
13994 assert to optional runtime check
13995 [5e8cce428457]
13996
13997 2014-05-23 Satoshi Nakagawa <nakagawa424@oki.com>
13998
13999 * source/Lib/TLibCommon/TComBitStream.cpp,
14000 source/Lib/TLibCommon/TComDataCU.cpp,
14001 source/Lib/TLibCommon/TComPrediction.cpp,
14002 source/Lib/TLibCommon/TComSlice.h,
14003 source/Lib/TLibCommon/TComYuv.cpp,
14004 source/Lib/TLibEncoder/TEncCu.cpp,
14005 source/Lib/TLibEncoder/TEncEntropy.cpp,
14006 source/Lib/TLibEncoder/TEncSbac.cpp,
14007 source/Lib/TLibEncoder/TEncSearch.cpp,
14008 source/Lib/TLibEncoder/TEncSearch.h, source/common/pixel.cpp,
14009 source/common/primitives.cpp, source/common/primitives.h,
14010 source/common/shortyuv.cpp, source/common/vec/blockcopy-sse3.cpp,
14011 source/encoder/compress.cpp, source/encoder/slicetype.cpp:
14012 refine block size related
14013 [74f8aa42020f]
14014
14015 2014-05-24 Satoshi Nakagawa <nakagawa424@oki.com>
14016
14017 * source/encoder/rdcost.h:
14018 rdcost: overflow check by integer
14019 [91330e7dddd7]
14020
14021 2014-05-23 Steve Borho <steve@borho.org>
14022
14023 * source/compat/msvc/stdint.h:
14024 vc9: define UINT64_MAX in our hacked stdint.h
14025 [a3f5a7b9f0fb]
14026
14027 * source/common/CMakeLists.txt:
14028 cmake: re-split TLibCommon headers to fix VC9 builds
14029 [ade75817d892]
14030
14031 2014-05-22 Steve Borho <steve@borho.org>
14032
14033 * source/encoder/rdcost.h:
14034 rdcost: fix energy cost check, dc is already subtracted from the
14035 energy
14036 [5134e76aa729]
14037
14038 * source/encoder/rdcost.h:
14039 rdcost: use floating point math to calculate psy rd cost
14040 [0c05e3b298a5]
14041
14042 * source/encoder/rdcost.h:
14043 rdcost: fix dc portion of psy energy calculation
14044
14045 now flat blocks have energy of 0, as expected
14046 [8a8b04982694]
14047
14048 2014-05-15 Steve Borho <steve@borho.org>
14049
14050 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
14051 source/encoder/api.cpp, source/encoder/level.cpp,
14052 source/encoder/level.h, source/x265.cpp, source/x265.h:
14053 api: allow minimum decoder level to be specified
14054 [29cc8b928868]
14055
14056 2014-05-22 Steve Borho <steve@borho.org>
14057
14058 * doc/reST/presets.rst, source/common/param.cpp:
14059 param: introduce warnings about measurements with psy-opts enabled
14060
14061 Disable psy-rd when tuning for psnr or ssim, and validate various
14062 combinations
14063 [d66773c5f275]
14064
14065 * source/Lib/TLibEncoder/TEncSearch.cpp:
14066 TEncSearch: readability nits
14067 [73e8188a48ca]
14068
14069 2014-05-19 Satoshi Nakagawa <nakagawa424@oki.com>
14070
14071 * source/Lib/TLibCommon/TComRom.h,
14072 source/Lib/TLibEncoder/TEncSearch.cpp,
14073 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
14074 cleanup bReusePred, unify absTUPartIdx to absPartIdx
14075 [b7e6b21a5906]
14076
14077 2014-05-22 Steve Borho <steve@borho.org>
14078
14079 * source/encoder/encoder.cpp:
14080 rc: simplify updateVbvPlan()
14081 [34187fb932d3]
14082
14083 2014-05-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14084
14085 * doc/reST/cli.rst:
14086 rest: refine rdLevels description.
14087 [5548d3e6915d]
14088
14089 * doc/reST/cli.rst, source/encoder/cturow.cpp:
14090 psyrd: is enabled only at rdLevels 5 and 6.
14091
14092 Only rdLevels 5 and 6 use full-RDO based decisions. These are used
14093 in presets slower, veryslow and placebo.
14094 [ceb4ff55f0e8]
14095
14096 2014-05-22 Santhoshini Sekar <santhoshini@multicorewareinc.com>
14097
14098 * source/encoder/encoder.cpp:
14099 rc: always use frameSizeEstimted for bits in updateVbvPlan
14100 [9cf0134982f8]
14101
14102 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
14103 rc: rename variable vbvMinRate to isCbr
14104 [8f097477d74c]
14105
14106 2014-05-22 Satoshi Nakagawa <nakagawa424@oki.com>
14107
14108 * source/encoder/slicetype.cpp:
14109 fix: segmentation fault --tune zerolatency
14110 [6a3a53543a89]
14111
14112 2014-05-21 Steve Borho <steve@borho.org>
14113
14114 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
14115 source/Lib/TLibEncoder/TEncSearch.cpp,
14116 source/encoder/CMakeLists.txt:
14117 cmake: re-enable wd4800 for TLibEncoder
14118 [dadb646a7266]
14119
14120 * source/common/CMakeLists.txt:
14121 cmake: further cleanups
14122 [bc26992efaff]
14123
14124 * source/common/CMakeLists.txt:
14125 cmake: re-enable wd4244 and wd4127 in common/vec
14126 [8a26aa7f81e3]
14127
14128 * source/Lib/TLibCommon/TComSlice.cpp,
14129 source/Lib/TLibCommon/TComSlice.h,
14130 source/Lib/TLibCommon/TComTrQuant.cpp,
14131 source/Lib/TLibCommon/TComTrQuant.h, source/common/CMakeLists.txt,
14132 source/encoder/cturow.cpp, source/encoder/encoder.h:
14133 cmake: re-enable wd4800 for TLibCommon, fix remaining warnings
14134 [5bfeba9f7ae2]
14135
14136 * source/encoder/frameencoder.cpp:
14137 frameencoder: fixup comment following variable rename
14138 [2ed0de7f2ea7]
14139
14140 * source/common/lowres.cpp, source/common/lowres.h,
14141 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
14142 source/encoder/slicetype.cpp:
14143 lowres: use a better name for cuTree offset buffer
14144 [7e92e9718b37]
14145
14146 * source/common/CMakeLists.txt:
14147 cmake: merge TLibCommon source groups
14148 [163ea3a0388b]
14149
14150 * source/Lib/TLibCommon/TComDataCU.h,
14151 source/Lib/TLibCommon/TComRdCost.h,
14152 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
14153 source/Lib/TLibEncoder/TEncSearch.cpp,
14154 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
14155 source/encoder/CMakeLists.txt, source/encoder/compress.cpp,
14156 source/encoder/cturow.h, source/encoder/rdcost.h:
14157 move TComRdCost.h to encoder/rdcost.h, cleanup refactor
14158
14159 The RDCost class has no resemblance to the original TComRdCost
14160 class.
14161 [0c9e5ebbb636]
14162
14163 2014-05-21 Praveen Tiwari <Praveen Tiwari>
14164
14165 * source/Lib/TLibCommon/TComRom.h:
14166 TComRom.h, removed unused tables
14167 [5d0658f9c539]
14168
14169 * doc/reST/cli.rst, doc/reST/threading.rst, source/CMakeLists.txt,
14170 source/Lib/TLibCommon/TComRom.h,
14171 source/Lib/TLibCommon/TComTrQuant.cpp,
14172 source/Lib/TLibCommon/TComTrQuant.h, source/common/common.h,
14173 source/common/param.cpp, source/encoder/frameencoder.cpp,
14174 source/encoder/frameencoder.h, source/x265.cpp, source/x265.h:
14175 noise reduction ported from x264
14176 [9ba6575aaac1]
14177
14178 2014-05-21 Steve Borho <steve@borho.org>
14179
14180 * source/Lib/TLibCommon/TComTrQuant.h:
14181 TComTrQuant: nits
14182 [479e34a05002]
14183
14184 2014-05-21 Santhoshini Sekar <santhoshini@multicorewareinc.com>
14185
14186 * source/encoder/ratecontrol.cpp:
14187 aq: fine tune aq logic to distribute bits even better
14188 [9812db027903]
14189
14190 2014-05-21 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
14191
14192 * source/cmake/version.cmake:
14193 cmake: detect mercurial source installs on Windows, fixes #56
14194 [a1c87ac44989]
14195
14196 2014-05-20 Steve Borho <steve@borho.org>
14197
14198 * doc/reST/cli.rst, source/x265.cpp:
14199 psy: mention the fact that psy-rd requires rdo
14200 [f39484bb3eec]
14201
14202 * source/Lib/TLibCommon/TComTrQuant.cpp:
14203 TComTrQuant: nits
14204 [a13534aa7c6b]
14205
14206 * source/common/param.cpp:
14207 param: fix check of minimum picture dimensions
14208 [66bb56dac4f7]
14209
14210 * source/common/winxp.cpp:
14211 xp: hack to avoid linker warnings
14212 [a4ddd39763f2]
14213
14214 * doc/reST/presets.rst:
14215 rest: update fastdecode to mention no intra in B
14216 [10d5af0889aa]
14217
14218 2014-05-20 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
14219
14220 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
14221 asm: fix bug for invalid read in sa8d
14222
14223 fix invalid read when different stride value given for two input
14224 buffer and enabled 16x16 and 8x8 sa8d primitives.
14225 [0d2ec86fa28b]
14226
14227 2014-05-20 Steve Borho <steve@borho.org>
14228
14229 * source/common/param.cpp:
14230 param: tabs to spaces
14231 [a815df2b313f]
14232
14233 2014-05-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14234
14235 * source/common/param.cpp, source/x265.cpp:
14236 param: initialise crf-max and crf-min values in the param structure.
14237 [279f72586069]
14238
14239 * source/x265.cpp:
14240 help: removing the default QP value in the help message
14241
14242 Since CQP is not the default rate control mode, a default QP
14243 confuses readers.
14244 [2c722169215c]
14245
14246 2014-05-19 Ashok Kumar Mishra <ashok@multicorewareinc.com>
14247
14248 * source/Lib/TLibEncoder/TEncSearch.cpp:
14249 fix : square chroma transform expected error message
14250 [d050fe5f8f28]
14251
14252 2014-05-18 Satoshi Nakagawa <nakagawa424@oki.com>
14253
14254 * source/Lib/TLibCommon/TComDataCU.cpp,
14255 source/Lib/TLibCommon/TComDataCU.h,
14256 source/Lib/TLibCommon/TComSlice.h,
14257 source/Lib/TLibEncoder/TEncCu.cpp,
14258 source/Lib/TLibEncoder/TEncSbac.cpp,
14259 source/Lib/TLibEncoder/TEncSearch.cpp,
14260 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
14261 refine merge related
14262 [b35a5d8f012b]
14263
14264 2014-05-16 Satoshi Nakagawa <nakagawa424@oki.com>
14265
14266 * source/Lib/TLibEncoder/TEncEntropy.cpp,
14267 source/Lib/TLibEncoder/TEncEntropy.h,
14268 source/Lib/TLibEncoder/TEncSbac.cpp,
14269 source/Lib/TLibEncoder/TEncSbac.h,
14270 source/Lib/TLibEncoder/TEncSearch.cpp:
14271 encodeCoeffNxN(): call only if non-zero coeff exists
14272 [ba2a9f61ea06]
14273
14274 * source/Lib/TLibCommon/TComDataCU.cpp,
14275 source/Lib/TLibCommon/TComDataCU.h,
14276 source/Lib/TLibEncoder/TEncCu.cpp,
14277 source/Lib/TLibEncoder/TEncEntropy.cpp,
14278 source/Lib/TLibEncoder/TEncEntropy.h,
14279 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
14280 cleanup unused arg
14281 [f9f132b3e36e]
14282
14283 2014-05-19 Steve Borho <steve@borho.org>
14284
14285 * source/Lib/TLibCommon/TComRdCost.h:
14286 psyrd: use EMMS before checking calcPsyRdCost
14287 [c78bed701db4]
14288
14289 2014-05-16 Steve Borho <steve@borho.org>
14290
14291 * source/Lib/TLibEncoder/TEncCu.cpp:
14292 psyrd: use actual recon pixels for intra predictions (bug spotted by
14293 valgrind)
14294 [f3f3eecd28f1]
14295
14296 * doc/reST/cli.rst:
14297 rest: improve --rd docs
14298 [4739c02a62c0]
14299
14300 * source/encoder/ratecontrol.cpp:
14301 ratecontrol: initialize singleFrameVbv (bug spotted by valgrind)
14302 [2d5dc4e63fb9]
14303
14304 * source/encoder/slicetype.cpp:
14305 slicetype: initialize bReady (bug spotted by valgrind)
14306 [8b6c5d7ff4c0]
14307
14308 2014-05-16 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
14309
14310 * doc/reST/cli.rst, source/Lib/TLibEncoder/TEncCu.cpp,
14311 source/common/param.cpp, source/x265.cpp, source/x265.h:
14312 cli: introduce --[no]-b-intra which enables/disables intra modes in
14313 B frames
14314 [7d11f60c5dba]
14315
14316 2014-05-16 Steve Borho <steve@borho.org>
14317
14318 * source/Lib/TLibEncoder/TEncCu.cpp,
14319 source/Lib/TLibEncoder/TEncSearch.cpp:
14320 nits
14321 [0bd90aaaa3a7]
14322
14323 * source/CMakeLists.txt, source/Lib/TLibCommon/TComRdCost.h,
14324 source/common/common.h, source/encoder/CMakeLists.txt,
14325 source/encoder/encoder.cpp:
14326 common: make a global X265_LL macro for printing uint64_t
14327 [5167067ed452]
14328
14329 * source/Lib/TLibCommon/TComRdCost.h, source/common/primitives.h,
14330 source/common/x86/asm-primitives.cpp:
14331 psy-rd: add sad_square primitive array to optimize psy-rd
14332
14333 This fixes the DC component calculation at the same time making the
14334 calculation more efficient.
14335 [48af10fff12b]
14336
14337 * source/encoder/slicetype.cpp:
14338 slicetype: fix unintended assignment
14339 [7533425d5060]
14340
14341 2014-05-08 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
14342
14343 * doc/reST/cli.rst, source/CMakeLists.txt,
14344 source/Lib/TLibCommon/TComRdCost.h,
14345 source/Lib/TLibEncoder/TEncCu.cpp,
14346 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
14347 source/encoder/cturow.cpp, source/x265.cpp, source/x265.h:
14348 adapt psy-rd from x264
14349
14350 In this initial implementation, we only use sa8d to estimate the
14351 energy of the source and reconstructed blocks. psy-rd is disabled by
14352 default, to evaluate use
14353 --preset veryslow --psy-rd 1.0
14354 [d95ad61c8abc]
14355
14356 2014-05-15 Gopu Govindaswamy <Gopu Govindaswamy>
14357
14358 * source/encoder/slicetype.cpp:
14359 cutree: removed logLevel check from if loop
14360 [63f4a60cb268]
14361
14362 * source/encoder/slicetype.cpp:
14363 cutree: adjust the rowSatd with qpoffset only for reference frames
14364 [3212839ec987]
14365
14366 2014-05-15 Steve Borho <steve@borho.org>
14367
14368 * doc/reST/api.rst, source/encoder/api.cpp,
14369 source/encoder/encoder.cpp, source/x265.def.in, source/x265.h:
14370 api: introduce x265_encoder_parameters(), copy param earlier to
14371 avoid mods
14372
14373 in x265_encoder_open(), make a copy of the provided param structure
14374 much earlier to avoid making any changes to the param strucutre
14375 provided by the user, in case they want to use that same param again
14376 to allocate another encoder.
14377 [4da6be0eca52]
14378
14379 * source/common/param.cpp, source/x265.cpp:
14380 cli: remove default strings for preset and tune, modify default AQ
14381 mode to match
14382
14383 The cli has used --tune ssim as the default since we've had an ssim
14384 tune, but API users were getting the default aq-mode of 1 instead.
14385 This commit removes the default tune (and preset) strings and fixes
14386 the default param structure to match the previous CLI default
14387 behavior (aq-mode 2)
14388 [b03ef02dc2a2]
14389
14390 * source/common/common.h:
14391 checked: enable check macros in debug builds
14392 [a9c403e19928]
14393
14394 * source/common/common.h:
14395 check: disable MSVC warnings about constant conditionals with
14396 checked builds
14397 [bbc026370c52]
14398
14399 * source/Lib/TLibCommon/TComRdCost.h:
14400 check: fix MSVC warnings and check behavior
14401 [4fe655fb3f24]
14402
14403 2014-05-14 Steve Borho <steve@borho.org>
14404
14405 * source/Lib/TLibCommon/TComBitStream.cpp,
14406 source/Lib/TLibCommon/TComBitStream.h,
14407 source/Lib/TLibCommon/TComDataCU.cpp,
14408 source/Lib/TLibCommon/TComLoopFilter.cpp,
14409 source/Lib/TLibCommon/TComMotionInfo.cpp,
14410 source/Lib/TLibCommon/TComPrediction.cpp,
14411 source/Lib/TLibCommon/TComSlice.cpp,
14412 source/Lib/TLibCommon/TComSlice.h,
14413 source/Lib/TLibCommon/TComTrQuant.cpp,
14414 source/Lib/TLibCommon/TComTrQuant.h,
14415 source/Lib/TLibCommon/TComWeightPrediction.cpp,
14416 source/Lib/TLibCommon/TComYuv.cpp,
14417 source/Lib/TLibEncoder/SEIwrite.cpp,
14418 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
14419 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
14420 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
14421 source/Lib/TLibEncoder/TEncCu.cpp,
14422 source/Lib/TLibEncoder/TEncEntropy.cpp,
14423 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
14424 source/Lib/TLibEncoder/TEncSbac.cpp:
14425 check: another pile of assert->X265_CHECK conversions
14426 [d5b42a9fe43b]
14427
14428 2014-05-14 Satoshi Nakagawa <nakagawa424@oki.com>
14429
14430 * source/Lib/TLibEncoder/TEncCu.cpp,
14431 source/Lib/TLibEncoder/TEncSearch.cpp:
14432 cleanup clear()
14433 [890b34705c95]
14434
14435 2014-05-14 Steve Borho <steve@borho.org>
14436
14437 * source/Lib/TLibEncoder/TEncSearch.cpp:
14438 TEncSearch: remove unused (and shadowed) variable
14439 [8ae4d97f3913]
14440
14441 * source/Lib/TLibEncoder/TEncSbac.cpp,
14442 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/cpu.cpp,
14443 source/common/dct.cpp, source/common/piclist.cpp,
14444 source/common/pixel.cpp, source/common/primitives.h,
14445 source/common/threadpool.cpp, source/common/vec/dct-sse41.cpp,
14446 source/common/wavefront.cpp, source/encoder/compress.cpp,
14447 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
14448 source/encoder/framefilter.cpp, source/encoder/motion.cpp,
14449 source/output/y4m.cpp, source/output/yuv.cpp:
14450 checked: convert a pile of asserts() into optional runtime checks
14451 [190a21bd77a3]
14452
14453 2014-05-11 Satoshi Nakagawa <nakagawa424@oki.com>
14454
14455 * source/Lib/TLibEncoder/TEncSearch.cpp:
14456 fix 4:2:2 coeff rate calc
14457 [a4d0d5679c28]
14458
14459 2014-05-10 Satoshi Nakagawa <nakagawa424@oki.com>
14460
14461 * source/Lib/TLibCommon/CommonDef.h,
14462 source/Lib/TLibCommon/TComPattern.cpp,
14463 source/Lib/TLibCommon/TComPattern.h,
14464 source/Lib/TLibCommon/TComPrediction.cpp,
14465 source/Lib/TLibCommon/TComPrediction.h,
14466 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
14467 refine intra reference samples
14468 [e0a3b7e79d4d]
14469
14470 2014-05-12 Steve Borho <steve@borho.org>
14471
14472 * source/encoder/ratecontrol.cpp:
14473 ratecontrol: do not low-clip first I frame with ABR
14474 [4fe2705adb5b]
14475
14476 2014-05-09 Satoshi Nakagawa <nakagawa424@oki.com>
14477
14478 * source/Lib/TLibCommon/TComDataCU.cpp,
14479 source/Lib/TLibCommon/TComDataCU.h,
14480 source/Lib/TLibEncoder/TEncSbac.cpp,
14481 source/Lib/TLibEncoder/TEncSearch.cpp,
14482 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
14483 reduce xModeBitsIntra() call
14484 [dd1635326993]
14485
14486 2014-05-12 Steve Borho <steve@borho.org>
14487
14488 * doc/reST/api.rst:
14489 rest: fix typo
14490 [8b75aa2cc06d]
14491
14492 2014-05-11 Steve Borho <steve@borho.org>
14493
14494 * doc/reST/api.rst, doc/reST/cli.rst, doc/reST/index.rst,
14495 doc/reST/presets.rst:
14496 rest: add API docs with links to appropriate sections
14497 [e7f11c87d7db]
14498
14499 2014-05-10 Steve Borho <steve@borho.org>
14500
14501 * doc/reST/presets.rst:
14502 rest: add a note to the tune documentation about using --tune
14503 ssim/psnr
14504 [7985392f3e55]
14505
14506 * source/x265.h:
14507 api: even moar
14508 [deb01d38340c]
14509
14510 * source/x265.h:
14511 api: moar tpyo
14512 [bac6ad6472b6]
14513
14514 * source/x265.h:
14515 api: tpyo
14516 [c52aa51c82c7]
14517
14518 * source/x265.h:
14519 api: remove mention of x265_encoder_reconfig(), which doesn't yet
14520 exist
14521 [32e587a601db]
14522
14523 * source/x265.h:
14524 api: remove _t suffix from x265_param in comments
14525 [d70f0afba883]
14526
14527 2014-05-08 Satoshi Nakagawa <nakagawa424@oki.com>
14528
14529 * source/Lib/TLibCommon/TComDataCU.cpp,
14530 source/Lib/TLibEncoder/TEncSearch.cpp:
14531 reduce malloc call to avoid fragment and overhead
14532 [d0acf82a77f9]
14533
14534 2014-05-08 Steve Borho <steve@borho.org>
14535
14536 * source/Lib/TLibCommon/TComRdCost.h:
14537 rdcost: fix comments for lambda fix8 variables, refs b77ca886ef3b
14538 [129bfec3144f]
14539
14540 2014-05-09 Min Chen <chenm003@163.com>
14541
14542 * source/common/x86/intrapred8.asm:
14543 reduce code size on intra_pred_ang8_*
14544 [f7827ea458e9]
14545
14546 2014-05-08 Steve Borho <steve@borho.org>
14547
14548 * source/Lib/TLibCommon/TComPic.h:
14549 TComPic: nits
14550 [c665b4904e1f]
14551
14552 * doc/reST/cli.rst:
14553 rest: fix indent of min-crf
14554 [4a36a281e77c]
14555
14556 * doc/reST/cli.rst, source/x265.cpp:
14557 cli: expose param.bRepeatHeaders to the CLI, reorder help for more
14558 clarity
14559 [e50bd438514f]
14560
14561 * source/encoder/slicetype.cpp:
14562 slicetype: avoid implicit integer conversions, fix MSVC warning
14563
14564 intraCost is an int array, so there was no purpose to downcasting to
14565 uint16_t
14566 [c8ffacb54563]
14567
14568 2014-05-08 Aarthi Thirumalai <Aarthi Thirumalai>
14569
14570 * source/encoder/ratecontrol.cpp:
14571 rc: add minor changes in flow when singleFrameVbv, rateFactorMax
14572 values are set.
14573 [87524d63e543]
14574
14575 * source/encoder/ratecontrol.cpp:
14576 rc: update logic in clipQScale for vbv, when vbv lookahead is done,
14577 [96290a38459f]
14578
14579 * source/encoder/ratecontrol.cpp:
14580 rc: clamp qp for first I frame only in rateEstimateQscale (changes
14581 output)
14582 [5546cc82e1ce]
14583
14584 2014-05-08 Gopu Govindaswamy <Gopu Govindaswamy>
14585
14586 * source/encoder/ratecontrol.cpp:
14587 rc: qpvbv is between qpMin and prevRowQp when specifies the
14588 rfConstantMin
14589 [0a53062845be]
14590
14591 2014-05-08 Aarthi Thirumalai <Aarthi Thirumalai>
14592
14593 * source/encoder/slicetype.cpp:
14594 slicetype: update the lowresCosts and intraCosts when aq/cutree is
14595 enabled
14596 [59a43a5cc704]
14597
14598 2014-05-08 Kavitha Sampath <kavitha@multicorewareinc.com>
14599
14600 * source/encoder/encoder.cpp, source/encoder/encoder.h,
14601 source/encoder/frameencoder.cpp:
14602 SEI: enable generation of recovery point SEI message for keyframes
14603
14604 SEI recovery points are inserted for every keyframe which tells the
14605 decoder an identifier of the recovery point from which perfectly
14606 valid pictures can be displayed no matter what the starting point of
14607 decoding is. The SEI specifies recovery_poc_cnt that counts the
14608 number of frames after which perfect video can be displayed to the
14609 user. Pictures encoded after the CRA but precede it in display
14610 order(leading) are ignored by the decoder and pictures following CRA
14611 in POC order(trailing) do not reference pictures prior to the recent
14612 CRA and are guaranteed to be displayable. Hence recovery_poc_cnt is
14613 zero.
14614 [8e64aa56d635]
14615
14616 2014-05-08 Steve Borho <steve@borho.org>
14617
14618 * source/CMakeLists.txt:
14619 cmake: bump X265_BUILD for qpfile and crf-min
14620 [fdce542171cb]
14621
14622 2014-05-08 Gopu Govindaswamy <Gopu Govindaswamy>
14623
14624 * doc/reST/cli.rst, source/common/param.cpp,
14625 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
14626 source/encoder/ratecontrol.h, source/x265.cpp, source/x265.h:
14627 x265: implemented crf-min that specifies a minimum rate factor value
14628 for encode
14629 [6871636e99cb]
14630
14631 2014-05-07 Steve Borho <steve@borho.org>
14632
14633 * doc/reST/cli.rst:
14634 rest: document --qpfile
14635 [6494bb2e6425]
14636
14637 2014-05-07 Gopu Govindaswamy <Gopu Govindaswamy>
14638
14639 * source/Lib/TLibCommon/TComPic.h, source/encoder/api.cpp,
14640 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
14641 source/x265.cpp, source/x265.h:
14642 cli: added qpfile feature to force frame qp and slicetype using file
14643 [7773ee321539]
14644
14645 2014-05-06 Steve Borho <steve@borho.org>
14646
14647 * Merge with stable
14648 [8963bc3aa2e1]
14649
14650 2014-05-07 Tom Vaughan <tom.vaughan@multicorewareinc.com>
14651
14652 * doc/reST/presets.rst:
14653 presets.rst edited online with Bitbucket - Correct spelling
14654 [607384b3312e] <stable>
14655
14656 2014-05-05 Satoshi Nakagawa <nakagawa424@oki.com>
14657
14658 * source/Lib/TLibEncoder/TEncEntropy.cpp,
14659 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
14660 fix: residualQTIntrachroma() for 4:2:2
14661 [0e22bd1dfe6c]
14662
14663 2014-05-03 Satoshi Nakagawa <nakagawa424@oki.com>
14664
14665 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
14666 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
14667 source/encoder/compress.cpp:
14668 refine picture boundary check
14669
14670 - cleanup slice end check
14671 - fix split bits for TOPSKIP
14672 [8c07f39ef5c5]
14673
14674 2014-05-06 Steve Borho <steve@borho.org>
14675
14676 * source/common/param.cpp:
14677 log: remove hyphen from signhide, so it matches param name
14678
14679 This is just to avoid confusion
14680 [608267a4f634]
14681
14682 * Merge with stable
14683 [ec4917459326]
14684
14685 * doc/reST/index.rst, doc/reST/presets.rst:
14686 rest: add a page describing presets
14687 [110993a5ef10] <stable>
14688
14689 2014-05-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14690
14691 * source/encoder/ratecontrol.cpp:
14692 ratecontrol: remove repeat initialisations.
14693 [3974eafe528d]
14694
14695 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
14696 ratecontrol: remove RateControl->qpNoVbv.
14697
14698 Less confusion, and we have whatever info we need in rce->qpNoVbv
14699 anyway
14700 [5d9220ec8c81]
14701
14702 * source/encoder/ratecontrol.cpp:
14703 ratecontrol: avoid clipping QP multiple times when VBV is not
14704 enabled.
14705 [7d557d8819e9]
14706
14707 2014-05-06 Aarthi Thirumalai <Aarthi Thirumalai>
14708
14709 * source/encoder/slicetype.cpp:
14710 slicetype: avoid redundant call. intraSatd costs are updated in
14711 frameEncoder already
14712 [532c961b16f1]
14713
14714 2014-05-06 Gopu Govindaswamy <Gopu Govindaswamy>
14715
14716 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
14717 source/encoder/ratecontrol.cpp:
14718 log: add the RateFactor for each frame to the csv file when using
14719 --crf mode
14720 [94803b73ba8a]
14721
14722 2014-05-06 Steve Borho <steve@borho.org>
14723
14724 * source/Lib/TLibCommon/TComRdCost.h:
14725 check: add checks for integer overflow in rdcost functions
14726 [2577eb2cbd20]
14727
14728 2014-05-05 Steve Borho <steve@borho.org>
14729
14730 * source/CMakeLists.txt, source/common/common.h,
14731 source/common/version.cpp:
14732 cmake: add CHECKED_BUILD option so we can add optional runtime
14733 checking
14734 [5c590a31734b]
14735
14736 * .hgignore:
14737 ignore .DS_Store files (Mac pocket lint)
14738 [075705aa41a9]
14739
14740 * source/input/y4m.cpp, source/input/y4m.h:
14741 y4m: support variable bit depth via CXXXpDD Y4MPEG header; ie:
14742 C420p10
14743
14744 ffmpeg's support for this is non-standard, so you must use -strict
14745 -1, aka:
14746
14747 ffmpeg -i vid.avi -pix_fmt yuv420p10le -strict -1 -f yuv4mpegpipe -
14748 | ./x265 - --y4m o.hevc
14749
14750 closes issue #53
14751 [c4adcaef8d1d]
14752
14753 2014-05-04 Steve Borho <steve@borho.org>
14754
14755 * source/x265.cpp:
14756 cli: report input bit depth
14757 [5ca8717a3ec2]
14758
14759 2014-05-05 Steve Borho <steve@borho.org>
14760
14761 * doc/reST/introduction.rst:
14762 rest: update introduction page, add more detail about software
14763 patents
14764 [d0b17e3ef9db]
14765
14766 2014-05-03 Steve Borho <steve@borho.org>
14767
14768 * Merge with stable
14769 [dcf74ea39e31]
14770
14771 * source/Lib/TLibCommon/TComRdCost.h:
14772 rdcost: explicit cast of return value, to prevent MSVC warnings
14773 [04e91f38854f] <stable>
14774
14775 2014-05-01 Steve Borho <steve@borho.org>
14776
14777 * source/CMakeLists.txt, source/cmake/clean-generated.cmake:
14778 cmake: add a clean-generated Makefile rule
14779
14780 'make clean-generated' will remove all the machine generated files
14781 in the build folder so that they will be re-generated with more up-
14782 to-date version info the next time you run 'make'
14783
14784 The "easy" workaround for this problem is to just nuke the build
14785 folder and start a new one.
14786 [d72770a77ff8]
14787
14788 * source/input/y4m.cpp, source/input/yuv.cpp:
14789 use fseekg() to skip frames for 64bit builds
14790
14791 This is orders of magnitude faster, at least on Windows, than
14792 repeated calls to ignore(framesize)
14793 [61ad93af167c]
14794
14795 2014-05-02 Steve Borho <steve@borho.org>
14796
14797 * Merge with stable
14798 [81aad858a830]
14799
14800 * .hgtags:
14801 Added tag 1.0 for changeset cea97c4d7945
14802 [d3d47e3ef9c2] <stable>
14803
14804 2014-05-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14805
14806 * source/encoder/frameencoder.cpp:
14807 interlace: set sourceScanType to 0 to indicate interlaced video
14808 [cea97c4d7945] [1.0] <stable>
14809
14810 2014-05-02 Aarthi Thirumalai <Aarthi Thirumalai>
14811
14812 * source/Lib/TLibCommon/TComRom.cpp:
14813 fix g_chromaScale for 420 videos accordingly to the HEVC spec.
14814 [9b66012c93bb] <stable>
14815
14816 2014-05-02 Steve Borho <steve@borho.org>
14817
14818 * source/Lib/TLibCommon/TComRdCost.h:
14819 rdcost: use less fractional bits for lambda scale, and larger ints
14820 for chroma
14821
14822 This fixes really bad mode decisions made with some Main10 encodes
14823 that were apparently caused by integer overflow
14824 [b77ca886ef3b] <stable>
14825
14826 2014-05-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14827
14828 * source/encoder/frameencoder.cpp:
14829 interlace: set sourceScanType to 0 to indicate interlaced video
14830 [f3585fd81c3b]
14831
14832 2014-05-01 Steve Borho <steve@borho.org>
14833
14834 * Merge with stable
14835 [22eda589d8ca]
14836
14837 * source/encoder/slicetype.cpp:
14838 slicetype: pre-calculate cost estimates for B slices, simplify
14839 callback
14840
14841 rate control was always calling back for B slice estimates but since
14842 we were only pre-calculating them if VBV was enabled we were forced
14843 to make the estimates at that time (withing the context of the API
14844 thread).
14845
14846 With this patch, we estimate B costs unless CQP is in use, and this
14847 allows us to simplify getEstimatedPictureCost()
14848 [1ed0bd2dbfd1]
14849
14850 2014-04-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
14851
14852 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
14853 source/Lib/TLibCommon/TComYuv.h, source/common/shortyuv.h,
14854 source/encoder/encoder.cpp:
14855 fix WP issue for 422 and 444 format
14856 [20551ab7ff00] <stable>
14857
14858 2014-04-29 Steve Borho <steve@borho.org>
14859
14860 * doc/reST/cli.rst, doc/reST/index.rst, doc/reST/threading.rst:
14861 rest: initial documentation for threading details and considerations
14862 [6d83eaf6cf24] <stable>
14863
14864 * source/encoder/encoder.cpp:
14865 csv: always write summary info if file handle is open
14866
14867 fixes behavior of --csv FILE --log full
14868 [148c3b9c11fd] <stable>
14869
14870 * Merge with default (code freeze for 1.0)
14871 [c6ca14a4f2fa] <stable>
14872
14873 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/TComDataCU.cpp,
14874 source/Lib/TLibCommon/TComDataCU.h,
14875 source/Lib/TLibCommon/TComLoopFilter.cpp,
14876 source/Lib/TLibCommon/TComMotionInfo.h,
14877 source/Lib/TLibCommon/TComPattern.cpp,
14878 source/Lib/TLibCommon/TComPic.cpp,
14879 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
14880 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
14881 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
14882 source/Lib/TLibCommon/TComTrQuant.cpp,
14883 source/Lib/TLibCommon/TComTrQuant.h,
14884 source/Lib/TLibCommon/TComWeightPrediction.cpp,
14885 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
14886 source/Lib/TLibEncoder/TEncCu.cpp,
14887 source/Lib/TLibEncoder/TEncEntropy.h,
14888 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
14889 source/Lib/TLibEncoder/TEncSbac.cpp,
14890 source/Lib/TLibEncoder/TEncSbac.h,
14891 source/Lib/TLibEncoder/TEncSearch.cpp,
14892 source/Lib/TLibEncoder/TEncSearch.h, source/common/bitstream.h,
14893 source/common/common.cpp, source/common/common.h,
14894 source/common/loopfilter.cpp, source/common/param.cpp,
14895 source/common/param.h, source/common/pixel.cpp,
14896 source/common/primitives.h, source/common/shortyuv.cpp,
14897 source/common/shortyuv.h, source/common/threading.h,
14898 source/common/wavefront.cpp, source/common/winxp.cpp,
14899 source/common/winxp.h, source/common/x86/asm-primitives.cpp,
14900 source/common/x86/blockcopy8.h, source/common/x86/ipfilter8.h,
14901 source/encoder/compress.cpp, source/encoder/cturow.cpp,
14902 source/encoder/encoder.cpp, source/encoder/encoder.h,
14903 source/encoder/frameencoder.cpp, source/encoder/level.cpp,
14904 source/encoder/level.h, source/encoder/ratecontrol.cpp,
14905 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
14906 source/encoder/weightPrediction.cpp, source/filters/filters.cpp,
14907 source/input/y4m.cpp, source/input/yuv.cpp,
14908 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
14909 source/test/pixelharness.cpp, source/test/pixelharness.h,
14910 source/test/testharness.h, source/x265.cpp, source/x265.h:
14911 uncrustify - enforce coding style mechanically
14912 [a25fb61a7326]
14913
14914 * source/encoder/slicetype.cpp:
14915 slicetype: nit
14916 [e6ba3c2320e8]
14917
14918 2014-04-28 Steve Borho <steve@borho.org>
14919
14920 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
14921 TComRom: hard-code the lambda tables
14922 [4f7658b3c78a]
14923
14924 2014-04-28 Aarthi Thirumalai <Aarthi Thirumalai>
14925
14926 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp,
14927 source/encoder/slicetype.h:
14928 remove list data from lowres costs prior to use
14929 [84d31cb2aeab]
14930
14931 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
14932 fix g_chromaScale to be full length
14933 [6e233b6777c0]
14934
14935 2014-04-25 Satoshi Nakagawa <nakagawa424@oki.com>
14936
14937 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
14938 fix: 4:2:2 rdLevel <= 1
14939 [f799f8079b87]
14940
14941 2014-04-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
14942
14943 * source/Lib/TLibCommon/TComLoopFilter.cpp:
14944 fix hash mismatch for 422 format with HM 14.0_RExt decoder
14945 [56b1d4a44798]
14946
14947 2014-04-27 Steve Borho <steve@borho.org>
14948
14949 * source/encoder/slicetype.cpp:
14950 slicetype: remove unused auto var
14951 [36e53135da57]
14952
14953 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
14954 slicetype: rename rowsCompleted to bFrameCompleted
14955
14956 one would expect rowsCompleted to be a counter, when in fact it is a
14957 bool value signaling completion of the whole frame.
14958 [563273f5772f]
14959
14960 2014-04-27 Aarthi Thirumalai <Aarthi Thirumalai>
14961
14962 * source/encoder/slicetype.cpp:
14963 slicetype: fix incorrect initialization of fenc->rowSatds when wpp
14964 is enabled.
14965 [c8bff937eee0]
14966
14967 2014-04-27 Steve Borho <steve@borho.org>
14968
14969 * source/common/x86/mc-a.asm, source/encoder/slicetype.cpp,
14970 source/test/checkasm-a.asm, source/test/testharness.h:
14971 asm: adjust x264_ prefixes
14972 [e519b32b70d0]
14973
14974 2014-04-25 Min Chen <chenm003@163.com>
14975
14976 * source/test/checkasm-a.asm, source/test/pixelharness.cpp,
14977 source/test/testharness.h:
14978 testbench: support float ret value
14979 [7baf8b8ecfdc]
14980
14981 * source/common/x86/intrapred8.asm:
14982 correct register num in intrapred8.asm
14983 [52d812d0fc48]
14984
14985 * source/common/x86/pixel-util8.asm:
14986 fix pixel_ssim_end4, the 3rd is dword
14987 [2900e858e30a]
14988
14989 2014-04-24 Steve Borho <steve@borho.org>
14990
14991 * source/test/pixelharness.cpp:
14992 pixelharness: stack-check ssim_end4_t, this seems to expose an
14993 argument read bug
14994 [c630b0b393ee]
14995
14996 * source/common/x86/ipfilter8.asm:
14997 ipfilter: fix register stack allocation in luma horizontal filter
14998 [4a91c42d2a72]
14999
15000 * source/test/mbdstharness.cpp:
15001 dct: fix MSVC warnings
15002 [10de7b0a228c]
15003
15004 * source/common/intrapred.cpp, source/common/primitives.h,
15005 source/common/x86/intrapred.h:
15006 primitives: pass bool value as int to assembly
15007
15008 bool type is too ambiguous
15009 [cdbcd835b849]
15010
15011 * doc/reST/cli.rst:
15012 rest: move quality metrics section up higher
15013 [fcad3bb9943d]
15014
15015 * doc/reST/cli.rst:
15016 rest: move --repeat-headers to bitstream options section
15017 [afec492ea679]
15018
15019 * doc/reST/cli.rst:
15020 rest: loop filters, plural
15021 [6f259296bfe1]
15022
15023 * doc/reST/cli.rst:
15024 rest: move --hash into bitream options section, document error-
15025 recovery aspects
15026 [1662240073e2]
15027
15028 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
15029 dct: stack-check asm transform/quant primitives
15030 [06be236c9ece]
15031
15032 * source/test/ipfilterharness.cpp:
15033 ipfilter: remove utterly useless comments
15034 [17dd496b46ee]
15035
15036 * source/test/ipfilterharness.cpp:
15037 ipfilter: stack-check asm filter primitives
15038 [a61ceb6f80c2]
15039
15040 * source/test/intrapredharness.cpp:
15041 intrapred: stack-check asm intra primitives
15042
15043 prune some extra memsets that were used during development
15044 [a332c6667dc9]
15045
15046 2014-04-24 Min Chen <chenm003@163.com>
15047
15048 * source/common/x86/pixel-a.asm:
15049 correct register number in pixel-a.asm
15050 [791790391fb6]
15051
15052 2014-04-24 Steve Borho <steve@borho.org>
15053
15054 * source/Lib/TLibCommon/TComMotionInfo.h:
15055 TComMotionInfo: nit
15056 [e9f64036fbee]
15057
15058 * source/test/CMakeLists.txt, source/test/pixelharness.cpp:
15059 fixups for testbench build on Windows
15060 [904b96e1c436]
15061
15062 2014-04-17 Steve Borho <steve@borho.org>
15063
15064 * source/cmake/CMakeASM_YASMInformation.cmake, source/common/common.h,
15065 source/common/threading.cpp:
15066 align the stack for GCC x86_32 builds
15067
15068 For all threads x265 creates, align the stack immediately in the
15069 call to threadMain().
15070
15071 The API calls do not appear to require an aligned stack; all
15072 primitives that require stack aligned buffers are called from frame
15073 encoder or worker pool threads
15074 [4c341edb4cf8]
15075
15076 2014-04-24 Steve Borho <steve@borho.org>
15077
15078 * source/common/CMakeLists.txt, source/common/x86/checkasm-a.asm,
15079 source/test/CMakeLists.txt, source/test/checkasm-a.asm:
15080 move checkasm-a.asm to the test/ folder (fixes linux link)
15081 [6dca7a1de7f7]
15082
15083 2014-04-23 Steve Borho <steve@borho.org>
15084
15085 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake,
15086 source/common/CMakeLists.txt:
15087 cmake: export YASM_FLAGS from CMakeASM_YASMInformation.cmake
15088
15089 This avoids duplicate logic in other cmake scripts
15090 [c24c7b2d0eff]
15091
15092 2014-04-23 Min Chen <chenm003@163.com>
15093
15094 * source/common/x86/blockcopy8.asm:
15095 improve by LEA to ADD in cvt32to16_shr
15096 [f8b68aa1877d]
15097
15098 2014-04-23 Steve Borho <steve@borho.org>
15099
15100 * source/common/primitives.h:
15101 primitives: nit
15102 [1c9b3a48ea13]
15103
15104 2014-04-23 Min Chen <chenm003@163.com>
15105
15106 * source/common/x86/x86inc.asm:
15107 update x86inc.asm
15108 [cdd79be8cff9]
15109
15110 * source/test/pixelharness.cpp:
15111 pixelharness: stack-check all asm pixel primitives
15112 [56a1c114d3be]
15113
15114 * source/common/CMakeLists.txt, source/common/x86/checkasm-a.asm,
15115 source/test/testharness.h:
15116 testbench: port x264 stack & register check code
15117 [91685d4e6c1a]
15118
15119 2014-04-23 Steve Borho <steve@borho.org>
15120
15121 * source/common/threadpool.cpp:
15122 threadpool: increase reference count if pool was allocated while
15123 blocked
15124 [ea597d46f30e]
15125
15126 2014-04-23 Min Chen <chenm003@163.com>
15127
15128 * source/common/x86/asm-primitives.cpp,
15129 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.h:
15130 fix wrong cpu type on interp_4tap_vert_x_4x2
15131 [aa8442a28aa4]
15132
15133 2014-04-22 Steve Borho <steve@borho.org>
15134
15135 * source/common/x86/x86inc.asm:
15136 Backed out changeset: ce11d3617899
15137 [53712f218a1a]
15138
15139 * source/CMakeLists.txt:
15140 cmake: do not prefix absolute library paths with -l in pc file
15141
15142 fixes static linking on Mac OS X in particular
15143 [d11c90310c8a]
15144
15145 2014-04-22 Gopu Govindaswamy <Gopu Govindaswamy>
15146
15147 * source/common/pixel.cpp, source/common/primitives.h,
15148 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
15149 pixel: Added C Primitives for estimateCUPropagateCost and removed
15150 from lookahead
15151 [4ed2953f358e]
15152
15153 2014-04-22 Murugan Vairavel <murugan@multicorewareinc.com>
15154
15155 * source/test/pixelharness.cpp:
15156 testbench: ensure randomly generated width and height are >= 16
15157
15158 Fixes a crash in testbench caused by upshift and downshift when
15159 height equal to 1
15160 [d916025046f7]
15161
15162 2014-04-22 Min Chen <chenm003@163.com>
15163
15164 * source/common/x86/x86inc.asm:
15165 update x86inc.asm
15166 [ce11d3617899]
15167
15168 2014-04-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15169
15170 * source/Lib/TLibEncoder/TEncSearch.cpp:
15171 me: backout previous patch; add 1 to account for temporal MV
15172 candidate
15173 [7ff92e09900e]
15174
15175 * source/Lib/TLibEncoder/TEncSearch.cpp:
15176 me: stack allocated pointer moved to heap
15177 [54e73d05a5b1]
15178
15179 2014-04-21 Steve Borho <steve@borho.org>
15180
15181 * source/encoder/slicetype.h:
15182 slicetype: rowsCompleted variable should be volatile
15183
15184 Don't allow a compiler to optimize out the reads, it would cause a
15185 deadlock
15186 [84315557c97f]
15187
15188 * source/common/param.cpp:
15189 log: do not report weightb twice
15190 [5f49217b2489]
15191
15192 2014-04-22 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
15193
15194 * source/x265.cpp:
15195 cli: fix bitrate output when encoding
15196 [3acc99098339]
15197
15198 2014-04-21 Steve Borho <steve@borho.org>
15199
15200 * doc/reST/cli.rst:
15201 rest: improve VUI docs
15202 [8c1e721209f4]
15203
15204 * doc/reST/cli.rst:
15205 rest: remove redundant `in`
15206 [f625e0cba6d6]
15207
15208 * doc/reST/cli.rst:
15209 rest: improve description of constrained intra
15210 [c1b4a55fbb10]
15211
15212 * doc/reST/cli.rst:
15213 rest: update --qp docs to mention behavior of --qp 0
15214 [cbdce05c6959]
15215
15216 2014-04-21 Ashok Kumar Mishra <ashok@multicorewareinc.com>
15217
15218 * source/Lib/TLibCommon/TComYuv.cpp,
15219 source/Lib/TLibEncoder/TEncSearch.cpp:
15220 fix preset placebo option crash for 444 color format
15221 [a30c81796c22]
15222
15223 2014-04-12 Steve Borho <steve@borho.org>
15224
15225 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
15226 source/encoder/slicetype.h:
15227 slicetype: use a worker thread for slicetypeDecide when it may help
15228 (closes #17)
15229
15230 If slicetype/scenecut analysis is enabled and the user has a thread
15231 pool of at least 4 threads, use a worker thread to run
15232 slicetypeDecide.
15233
15234 Improves performance in presets that were bottlenecked by b-adapt 2
15235 style lookahead complexity.
15236 [c7f3b7487f60]
15237
15238 2014-03-27 Steve Borho <steve@borho.org>
15239
15240 * source/Lib/TLibCommon/TComRdCost.h,
15241 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
15242 source/Lib/TLibEncoder/TEncSearch.cpp,
15243 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/bitcost.cpp,
15244 source/encoder/frameencoder.cpp, source/encoder/slicetype.h,
15245 source/encoder/weightPrediction.cpp:
15246 adapt x264 style lambda tables [CHANGES OUTPUTS]
15247
15248 initLambda() in TComRom.cpp is passed the scale factor that is used
15249 to adjust lambda2 values. It uses 0.85 right now, which is similar
15250 to x264's value (0.9), and seems to be optimal for HEVC based on our
15251 tests.
15252
15253 These lambda tables seem to help most at low QPs, allowing the
15254 encoder to get nearly lossless quality at high bitrates.
15255 [a4ae35d04777]
15256
15257 2014-04-17 Steve Borho <steve@borho.org>
15258
15259 * source/Lib/TLibCommon/TComDataCU.cpp:
15260 TComDataCU: nits, assume sizeof(char) == sizeof(uint8_t)
15261
15262 cleanup white-space and hungarian prefixes
15263 [e45e5ca4608e]
15264
15265 * source/Lib/TLibCommon/TComDataCU.cpp,
15266 source/Lib/TLibCommon/TComDataCU.h,
15267 source/Lib/TLibEncoder/TEncSearch.cpp:
15268 me: build a larger list of motion candidates for ME (closes #14)
15269 [fdccd5524ff7]
15270
15271 2014-04-21 Min Chen <chenm003@163.com>
15272
15273 * source/common/x86/blockcopy8.asm:
15274 fix asm cvt32to16_s wrong XMM register number
15275 [ccfd0819b5c3]
15276
15277 2014-04-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15278
15279 * source/Lib/TLibCommon/TComDataCU.cpp:
15280 TComDataCU: initCU was missing this initialisation, possible causing
15281 errors in row restarts.
15282 [e6e78f2fb192]
15283
15284 2014-04-17 Steve Borho <steve@borho.org>
15285
15286 * source/encoder/ratecontrol.h:
15287 rc: remove unused keyFrameInterval
15288 [78c1f43f12f5]
15289
15290 * source/encoder/ratecontrol.cpp:
15291 rc: if --qp 0 is specified, use zero quant for all slice types
15292
15293 This is not the same as lossless. For true lossless we must enable
15294 transform skip in the PPS and force all blocks to be coded with
15295 transform skip enabled.
15296 [07156a0e74e5]
15297
15298 2014-04-16 Steve Borho <steve@borho.org>
15299
15300 * source/common/threadpool.cpp:
15301 threadpool: use a mutex to protect pool allocation
15302
15303 We only want to allow one thread to create the singleton thread
15304 pool. Rename the static instance variable to s_instance as per our
15305 coding style
15306 [85c95672ccf0]
15307
15308 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
15309 Merge with stable
15310 [2fc309678785]
15311
15312 2014-04-03 Gopu Govindaswamy <Gopu Govindaswamy>
15313
15314 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
15315 source/encoder/frameencoder.h:
15316 frameencoder: store the reference state of the picture in
15317 FrameEncoder
15318
15319 We find that reference state of the reference frame changed during
15320 the encode when we use frame-thread > 1 this cause the CU level QP
15321 for the frame is non-deterministic, this is leading the non-
15322 deterministic encoded output for the frame, to avoid this store the
15323 reference state of the frame to FrameEncoder->m_isReferenced and
15324 when the QP is calculate for CU, refer the reference state of the
15325 frame from FrameEncoder->m_isReferenced this stat will never change
15326 during the encode
15327
15328 Moved slice reference state initialization from dpb to FrameEncoder
15329 initSlice()
15330 [aacd6919d173] <stable>
15331
15332 2014-04-16 Min Chen <chenm003@163.com>
15333
15334 * source/common/x86/dct8.asm:
15335 align DCT8's stack to 64-bytes to avoid crash and improve cache
15336 performance
15337 [024ca523052f]
15338
15339 2014-04-16 Steve Borho <steve@borho.org>
15340
15341 * source/Lib/TLibCommon/TComSlice.cpp:
15342 TComSlice: initialize m_vps pointer
15343 [818a591c3a6e]
15344
15345 * source/encoder/frameencoder.cpp:
15346 encoder: singleton m_vps nits
15347 [7fd1df6f4db8]
15348
15349 * source/cmake/CMakeASM_YASMInformation.cmake:
15350 cmake: nit
15351 [41ef5053e04c]
15352
15353 * source/encoder/frameencoder.cpp:
15354 Merge with stable
15355 [436c63dd2d24]
15356
15357 2014-04-03 Steve Borho <steve@borho.org>
15358
15359 * source/encoder/frameencoder.cpp:
15360 frameencoder: use m_isReferenced when configuring SAO in
15361 compressFrame()
15362
15363 In some pessimal situations, the slice's reference state could even
15364 be changed by the time compressFrame() starts. This prevents any
15365 race hazard.
15366 [5746582ff4a6] <stable>
15367
15368 2014-04-15 Aarthi Thirumalai <Aarthi Thirumalai>
15369
15370 * source/encoder/frameencoder.cpp:
15371 vbv: clear row diagonal and cu SATD costs after vbv row reset was
15372 triggered
15373
15374 refs #45
15375 [03525a77d640] <stable>
15376
15377 2014-04-16 Steve Borho <steve@borho.org>
15378
15379 * source/cmake/CMakeASM_YASMInformation.cmake:
15380 cmake: use HAVE_ALIGNED_STACK=0 for x86_32 builds, even for GCC
15381
15382 In order to enable HAVE_ALIGNED_STACK for 32bit builds, we would
15383 need to align our stack internally at all thread entry points and
15384 all API entry points that might use primitives. 32bit performance is
15385 not a high priority for us at the moment.
15386
15387 This fixes a number of reported crashes on 32bit builds
15388 [cfb1bb58d4fe] <stable>
15389
15390 * source/encoder/motion.cpp:
15391 motion: always include the mvcost returned by motionEstimate
15392 [CHANGES OUTPUTS]
15393
15394 This was a rather subtle bug that has been in the code base for some
15395 time. The caller of motionEstimate() will often want to remove the
15396 mvcost from the returned cost value, and in this circumstance it
15397 would go negative, and since the returned value is unsigned it
15398 became very large, causing the encoder to actually discard a zero-
15399 residual match.
15400
15401 If the stars were perfectly aligned and all of the reference ME
15402 costs became exactly -1, *all* possible ME candidates were discarded
15403 which could lead to crashes.
15404 [bf40ab3af59a] <stable>
15405
15406 2014-04-16 Ashok Kumar Mishra <ashok@multicorewareinc.com>
15407
15408 * source/Lib/TLibCommon/TComYuv.cpp, source/common/ipfilter.cpp,
15409 source/common/pixel.cpp, source/common/primitives.h,
15410 source/common/shortyuv.cpp:
15411 fix compile warning in pixel.cpp for 422 primitive setup
15412 [24e8bac645a3]
15413
15414 2014-04-15 Steve Borho <steve@borho.org>
15415
15416 * source/x265.cpp:
15417 cli: help nits (closes #47)
15418 [0b696c7f46f2]
15419
15420 2014-04-15 Aarthi Thirumalai <Aarthi Thirumalai>
15421
15422 * source/encoder/frameencoder.cpp:
15423 vbv: clear row diagonal and cu SATD costs after vbv row reset was
15424 triggered
15425
15426 refs #45
15427 [166e4d6e819e]
15428
15429 2014-04-15 Satoshi Nakagawa <nakagawa424@oki.com>
15430
15431 * source/Lib/TLibEncoder/TEncSearch.cpp:
15432 fix: rdLevel <= 1
15433 [9735b037b461]
15434
15435 2014-04-14 Steve Borho <steve@borho.org>
15436
15437 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
15438 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
15439 vui: emit VUI w/ timing info unconditionally, remove timing info
15440 from VPS
15441
15442 Since many tools seem to only look in the VUI for timing info, it
15443 seems to be best to output that info there, and remove it from the
15444 VPS (to avoid sending redundant data in our headers)
15445 [8ebadea05bfe]
15446
15447 2014-04-15 Satoshi Nakagawa <nakagawa424@oki.com>
15448
15449 * source/Lib/TLibCommon/TComPattern.cpp:
15450 fix: constrained intra
15451 [0a95a6bb0f8e]
15452
15453 2014-04-14 Steve Borho <steve@borho.org>
15454
15455 * source/encoder/ratecontrol.cpp:
15456 ratecontrol: fix indentations
15457 [1cf67a7b362d]
15458
15459 * source/common/pixel.cpp:
15460 pixel: remove out-of-range chroma copy function assignments
15461 [08d64a70594e]
15462
15463 * source/Lib/TLibCommon/TComDataCU.cpp:
15464 TComDataCU: white-space nits
15465 [488b81a7f1c6]
15466
15467 * source/common/param.cpp:
15468 param: reintroduce range checks of internalCsp
15469 [e62e96cf506d]
15470
15471 * doc/reST/cli.rst:
15472 rest: update colorspace docs
15473 [b89d85f10bc4]
15474
15475 2014-04-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15476
15477 * source/encoder/encoder.cpp:
15478 encoder: nits
15479 [9f0f011294bd]
15480
15481 * source/encoder/encoder.cpp:
15482 encoder: weightP not supported yet for 444 and 422.
15483 [6d4f0673c386]
15484
15485 * source/x265.cpp:
15486 x265: adding support for i422 in the help command
15487 [ae8f99512774]
15488
15489 2014-04-12 ashok <ashok@multicorewareinc.com>
15490
15491 * source/Lib/TLibCommon/TComDataCU.cpp,
15492 source/Lib/TLibCommon/TComDataCU.h, source/common/ipfilter.cpp,
15493 source/common/param.cpp, source/common/pixel.cpp,
15494 source/encoder/ratecontrol.cpp, source/x265.cpp:
15495 Modify TComDataCU structure to support 422 color space format
15496 [3a9c1fc2b742]
15497
15498 * source/Lib/TLibCommon/TComLoopFilter.cpp,
15499 source/Lib/TLibCommon/TComPattern.h:
15500 Modify TComLoopFilter structure to support 422 color space format
15501 [74ab24517d0e]
15502
15503 * source/Lib/TLibCommon/TComPattern.cpp,
15504 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
15505 Modify TComRom and TComPattern structure to support 422 color space
15506 format
15507 [abf05dab1844]
15508
15509 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
15510 source/Lib/TLibCommon/TypeDef.h, source/common/shortyuv.cpp,
15511 source/common/shortyuv.h:
15512 Modify TComYuv and TShortYuv structure to support 422 color space
15513 format
15514 [ff3892c00318]
15515
15516 * source/Lib/TLibEncoder/TEncEntropy.cpp,
15517 source/Lib/TLibEncoder/TEncEntropy.h,
15518 source/Lib/TLibEncoder/TEncSbac.cpp:
15519 Modify TEncSbac and TEncEntropy structure to support 422 color space
15520 format
15521 [aa0c458ede27]
15522
15523 * source/Lib/TLibEncoder/TEncSbac.h,
15524 source/Lib/TLibEncoder/TEncSearch.cpp,
15525 source/Lib/TLibEncoder/TEncSearch.h:
15526 Modify TEncSearch structure to support 422 color space format
15527 [0454675dbaf7]
15528
15529 2014-04-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15530
15531 * source/encoder/ratecontrol.cpp:
15532 ratecontrol: Fix initial I-slice QP for 10-bit CRF mode.
15533 [a622c4bfc688]
15534
15535 2014-04-11 Steve Borho <steve@borho.org>
15536
15537 * source/common/winxp.cpp, source/common/winxp.h:
15538 xp: fix build with XP headers
15539 [483e5077a6b7]
15540
15541 * source/CMakeLists.txt:
15542 cmake: allow icpc to use vectorization if it likes
15543 [850ebca2f7c8]
15544
15545 2014-04-09 Satoshi Nakagawa <nakagawa424@oki.com>
15546
15547 * source/Lib/TLibCommon/TComDataCU.cpp,
15548 source/Lib/TLibCommon/TComPattern.cpp,
15549 source/Lib/TLibCommon/TComPattern.h:
15550 cip: add is*AvailableCIP()
15551
15552 simplify no CIP case.
15553 [13fa6d4d4fe4]
15554
15555 2014-04-11 Steve Borho <steve@borho.org>
15556
15557 * source/Lib/TLibCommon/TComTrQuant.cpp:
15558 TComTrQuant: nits
15559 [a5aa9e730323]
15560
15561 * source/Lib/TLibCommon/TComTrQuant.cpp:
15562 TComTrQuant: comparing >=0 of unsigned variable is always true
15563 [85f977830d9d]
15564
15565 2014-04-10 Murugan Vairavel <murugan@multicorewareinc.com>
15566
15567 * source/common/x86/asm-primitives.cpp:
15568 asm-primitives: Enable missing XOP primitives in HIGH_BIT_DEPTH
15569 [bd5e59fc917d]
15570
15571 * source/common/x86/x86util.asm:
15572 asm: HADDD optimization for XOP
15573 [78ab76f203a9]
15574
15575 2014-04-08 Aarthi Thirumalai <Aarthi Thirumalai>
15576
15577 * source/encoder/ratecontrol.cpp:
15578 vbv: log frame-average QPs for VBV; even when AQ is disabled.
15579 [55981f89b398]
15580
15581 2014-04-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15582
15583 * source/encoder/ratecontrol.cpp:
15584 ratecontrol: prevent one layer of non-zero I-slice qp clipping
15585 [CHANGES OUTPUT].
15586
15587 This seems to have been an error importing RC code from x264. It
15588 could be responsible for error reports on I-slices (after POC 0)
15589 having much higher QP/low visual quality. Needs review.
15590 [1c0f1a4ce209]
15591
15592 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
15593 ratecontrol: rename reInit to init. This method is called in the
15594 constructor and when ABR history is reset.
15595 [83ccf2f1453f]
15596
15597 2014-04-09 Steve Borho <steve@borho.org>
15598
15599 * source/encoder/level.cpp:
15600 level: fix MinGW warning
15601 [51c627e235bc]
15602
15603 2014-04-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15604
15605 * source/Lib/TLibCommon/CommonDef.h, source/encoder/ratecontrol.cpp,
15606 source/encoder/ratecontrol.h:
15607 ratecontrol: cleanup, replace (unnecessary) constant arrays with
15608 constants.
15609 [db15b6bee7f4]
15610
15611 2014-04-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15612
15613 * source/encoder/ratecontrol.cpp:
15614 ratecontrol: more dead code removed
15615 [e2df2309e6f1]
15616
15617 2014-04-09 Steve Borho <steve@borho.org>
15618
15619 * source/encoder/level.cpp:
15620 level: fix MSVC compile error, give sqrt() argument unambiguous data
15621 type
15622 [bd987db26d5d]
15623
15624 2014-04-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15625
15626 * source/encoder/ratecontrol.cpp:
15627 ratecontrol: partial backout of 6284b30a0fdd, get rid of debugging
15628 notes.
15629 [bdca492dc1d7]
15630
15631 * source/encoder/level.cpp:
15632 level: remove conditional expression warning
15633 [7f62dfabe319]
15634
15635 * source/encoder/ratecontrol.cpp:
15636 ratecontrol: remove dead code
15637
15638 Imported from x264; likely a part of 2-pass. In any case, not
15639 relevant here.
15640 [6284b30a0fdd]
15641
15642 2014-04-07 Steve Borho <steve@borho.org>
15643
15644 * source/x265.rc.in:
15645 rc: update the default build output filename for our DLL
15646 [15471ecb08d8]
15647
15648 * source/common/common.cpp, source/common/common.h,
15649 source/encoder/CMakeLists.txt, source/encoder/api.cpp,
15650 source/encoder/encoder.cpp, source/encoder/encoder.h,
15651 source/encoder/level.cpp, source/encoder/level.h:
15652 level: move decoder level logic to level.cpp, make table based
15653
15654 the new function enforces more limits defined in Annex A - widths
15655 and heights are capped to avoid extreme rectangular dimensions DPB
15656 size is limited based on resolution at higher resolutions, the min
15657 CTU size is 32
15658
15659 this commit also lays the groundwork for adding --level 5.1 --tier
15660 HIGH params
15661 [23b509a26449]
15662
15663 2014-04-08 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15664
15665 * source/Lib/TLibCommon/TComPic.cpp:
15666 TComPic: change pointer initial values to NULL (instead of 0).
15667 [b5caca9954f3]
15668
15669 2014-04-07 Satoshi Nakagawa <nakagawa424@oki.com>
15670
15671 * source/Lib/TLibEncoder/TEncCu.cpp,
15672 source/Lib/TLibEncoder/TEncEntropy.cpp,
15673 source/Lib/TLibEncoder/TEncEntropy.h,
15674 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
15675 TEncEntropy: cleanup bRD arg, fix 4:4:4 intra chroma rate [OUTPUT
15676 CHANGE 4:4:4]
15677 [aec57ffb18de]
15678
15679 2014-04-06 Rafaël Carré <Rafaël Carré>
15680
15681 * source/common/CMakeLists.txt, source/common/param.cpp:
15682 strtok_r: fix detection on Windows
15683
15684 * Make sure HAVE_STRTOK_R is always defined, to 0 if absent
15685 * Fix typo in #if
15686 * mingw-w64's pthread.h #defines strtok_r, make sure to undef it
15687 before we use our own definition.
15688 [a4cb624267f3]
15689
15690 2014-04-05 Steve Borho <steve@borho.org>
15691
15692 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
15693 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
15694 api: drop param.vui.bEnableVuiParametersPresentFlag and
15695 bEnableAspectRatioIdc
15696
15697 These two params can be implied from other parameters, and having
15698 them present only makes the VUI configuration more complicated than
15699 it needs to be.
15700
15701 This commit also drops the debugging --vui CLI option
15702 [c1300ae4e7ba]
15703
15704 2014-04-04 Steve Borho <steve@borho.org>
15705
15706 * doc/reST/cli.rst:
15707 rest: we don't abbreviate integer anywhere else
15708 [ac1bcf04c144]
15709
15710 * doc/reST/cli.rst:
15711 rest: fix the straw-man
15712
15713 The two-argument command line doesn't work for YUV since you need to
15714 provide the resolution and frame rate
15715 [aa1a86a1bd35]
15716
15717 * source/common/param.cpp:
15718 param: force bRepeatHeaders for the still picture profile
15719 [4bb0073e3d15]
15720
15721 * source/encoder/api.cpp, source/x265.cpp:
15722 log: move logging of version and build info into libx265
15723
15724 Now this data will be reported in the logs even when x265 is used as
15725 a shared or static library
15726 [9f77f0228735]
15727
15728 2014-04-03 Steve Borho <steve@borho.org>
15729
15730 * source/test/pixelharness.cpp:
15731 testbench: prevent 0 height in plane copy tests
15732
15733 The ASM functions handle the last row specially and cannot handle
15734 height of 0, it causes testbench crashes when rand() rolls the wrong
15735 dice.
15736 [ac9e57296fa8]
15737
15738 * doc/reST/cli.rst, source/CMakeLists.txt,
15739 source/Lib/TLibEncoder/TEncEntropy.cpp,
15740 source/Lib/TLibEncoder/TEncEntropy.h,
15741 source/Lib/TLibEncoder/TEncSbac.cpp,
15742 source/Lib/TLibEncoder/TEncSbac.h, source/common/param.cpp,
15743 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
15744 api: add support for access unit delimiters (--aud)
15745 [6327400944ee]
15746
15747 * source/x265.cpp:
15748 cli: add missing --no-dither option to getopt list
15749 [8273932bc5b7]
15750
15751 * source/Lib/TLibEncoder/TEncEntropy.h:
15752 TEncEntropy: nit
15753 [1d2ab46f13d2]
15754
15755 * doc/reST/cli.rst:
15756 rest: nit
15757 [d73898ae3e47]
15758
15759 * source/common/param.cpp:
15760 param: nit reorder of RC mode checks to avoid uncrustify problems
15761
15762 uncrustify was seeing FOO(bar < x || bar > y) and assuming this was
15763 a template instantiation and changing it to FOO(bar<x || bar> y).
15764 Reordering the two comparisons avoids this problem
15765 [2e376af3a467]
15766
15767 * source/common/param.cpp:
15768 param: enforce a minimum picture size
15769
15770 Do not allow the user to configure a picture smaller than at least
15771 one CTU
15772 [343414c96b01]
15773
15774 * source/encoder/frameencoder.cpp:
15775 frameencoder: use m_isReferenced when configuring SAO in
15776 compressFrame()
15777
15778 In some pessimal situations, the slice's reference state could even
15779 be changed by the time compressFrame() starts. This prevents any
15780 race hazard.
15781 [8c946aca5824]
15782
15783 * source/encoder/frameencoder.cpp:
15784 frameencoder: comment nit
15785 [9c1cc2aa053a]
15786
15787 * Merge with stable
15788 [eef9a0050728]
15789
15790 2014-04-03 Gopu Govindaswamy <Gopu Govindaswamy>
15791
15792 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
15793 source/encoder/frameencoder.h:
15794 frameencoder: store the reference state of the picture in
15795 FrameEncoder
15796
15797 We find that reference state of the reference frame changed during
15798 the encode when we use frame-thread > 1 this cause the CU level QP
15799 for the frame is non-deterministic, this is leading the non-
15800 deterministic encoded output for the frame, to avoid this store the
15801 reference state of the frame to FrameEncoder->m_isReferenced and
15802 when the QP is calculate for CU, refer the reference state of the
15803 frame from FrameEncoder->m_isReferenced this stat will never change
15804 during the encode
15805
15806 Moved slice reference state initialization from dpb to FrameEncoder
15807 initSlice()
15808 [36a66ea7a27e]
15809
15810 2014-04-03 Steve Borho <steve@borho.org>
15811
15812 * .hgtags:
15813 Added tag 0.9 for changeset 82bbd2bf3b49
15814 [640f9177eeb0] <stable>
15815
15816 2014-04-03 Murugan Vairavel <murugan@multicorewareinc.com>
15817
15818 * source/common/x86/pixel-a.asm:
15819 asm: fix invalid read in upShift routine
15820 [82bbd2bf3b49] [0.9] <stable>
15821
15822 2014-04-02 Steve Borho <steve@borho.org>
15823
15824 * Merge with stable
15825 [c0362b478e23]
15826
15827 2014-04-02 Gopu Govindaswamy <Gopu Govindaswamy>
15828
15829 * source/encoder/dpb.h:
15830 dpb: Allow two L1 refs when b-pyramid is enabled [CHANGES OUTPUTS]
15831
15832 Consider this common case: if we have 5 consecutive (display order
15833 frames) that are determined to be P1-B1-B2-B3-P2 by the lookahead.
15834 When b-pyramid is enabled, the middle B will be encoded first and
15835 used as a reference by the two following B frames (in encode order);
15836 P1-P2-B2ref-B1-B3
15837
15838 frame L0 L1 P1 P2 P1 B2ref P1 P2 B1 P1 P2 B2ref B3 B2ref P1 P2
15839
15840 When B1 is encoded, both B2ref and P2 should be available as L1
15841 references, this will improve the encode compression efficiency when
15842 b-pyramid is enabled (closes #12)
15843 [d815c4a8fa74]
15844
15845 2014-04-02 Min Chen <chenm003@163.com>
15846
15847 * source/test/pixelharness.cpp:
15848 testbench: use different stride on calcrecon
15849 [89af57686794]
15850
15851 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
15852 source/common/primitives.h, source/common/x86/pixel-util.h,
15853 source/common/x86/pixel-util8.asm, source/test/pixelharness.cpp:
15854 remove unused parameter *recon from assembly code
15855 [fdfad9734231]
15856
15857 2014-04-02 Satoshi Nakagawa <nakagawa424@oki.com>
15858
15859 * source/Lib/TLibCommon/TComDataCU.cpp,
15860 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
15861 cleanup m_cuColocated[]
15862 [ccb2b7c26bb6]
15863
15864 2014-04-02 Steve Borho <steve@borho.org>
15865
15866 * source/encoder/weightPrediction.cpp:
15867 weight: properly reset weights when no-residual early-out is taken
15868
15869 This fixes a hash mismatch seen with a Main10 encode of sintel-480p
15870 [e03388e98ecc] <stable>
15871
15872 * source/encoder/frameencoder.cpp:
15873 frameencoder: fix white-space nit, add comment
15874 [67c0aa70a125]
15875
15876 2014-04-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15877
15878 * source/encoder/encoder.cpp:
15879 param: fix typo in if-check.
15880 [261b3c2e788e]
15881
15882 2014-04-02 Aarthi Thirumalai <Aarthi Thirumalai>
15883
15884 * source/encoder/encoder.cpp:
15885 param: set aq strength to 0 in CQP
15886 [dc887415f6df]
15887
15888 2014-04-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15889
15890 * source/encoder/frameencoder.cpp:
15891 Merge from stable
15892 [3f27daf35506]
15893
15894 * source/encoder/frameencoder.cpp:
15895 frameencoder: removing assign qp inconsistencies which were
15896 triggered for unreferenced P frames
15897 [606da0b6bc58] <stable>
15898
15899 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
15900 source/common/primitives.h, source/common/x86/pixel-util.h,
15901 source/common/x86/pixel-util8.asm, source/test/pixelharness.cpp:
15902 Backed out changeset: a6930bfbd908
15903
15904 This changeset causes crashes. Needs to be re-examined.
15905 [d0b5ea32525b]
15906
15907 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
15908 calcQpForCU: remove m_pic input parameter.
15909 [03bad90e94ad]
15910
15911 2014-04-01 Min Chen <chenm003@163.com>
15912
15913 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
15914 source/common/primitives.h, source/common/x86/pixel-util.h,
15915 source/common/x86/pixel-util8.asm, source/test/pixelharness.cpp:
15916 remove unused recon[] from assembly code
15917 [a6930bfbd908]
15918
15919 2014-04-01 Steve Borho <steve@borho.org>
15920
15921 * source/Lib/TLibEncoder/TEncCfg.h, source/common/TShortYUV.cpp,
15922 source/common/TShortYUV.h, source/dllmain.cpp:
15923 Merge with default (feature freeze for 0.9)
15924 [1fc0fda2b08b] <stable>
15925
15926 2014-04-01 Kavitha Sampath <kavitha@multicorewareinc.com>
15927
15928 * doc/reST/cli.rst, source/Lib/TLibCommon/TComSlice.h,
15929 source/Lib/TLibCommon/TComWeightPrediction.cpp,
15930 source/common/param.cpp, source/encoder/encoder.cpp,
15931 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
15932 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
15933 source/encoder/weightPrediction.cpp, source/x265.cpp, source/x265.h:
15934 weightb: add CLI options for explicit weightb [CHANGES OUTPUTS]
15935
15936 weightB will be disabled by default for this release. This patch
15937 fixes the hash mistakes and other fetaure bugs (the reasons it had
15938 been disabled)
15939
15940 HEVC only signals a single denom for all references so the L1
15941 reference must use the same denom as the L0 reference or no weight
15942 at all. A more exhaustive search might be added later for slower
15943 presets. Also, the lookahead will need to be modified to model
15944 weightB behavior so it can be more effective.
15945
15946 This patch changes how the unweighted references are coded, so even
15947 weightP outputs change slightly.
15948 [0206822d9fea]
15949
15950 2014-04-01 Steve Borho <steve@borho.org>
15951
15952 * source/encoder/frameencoder.cpp:
15953 frameencoder: lower log level of restart indicators
15954 [f8aa296d60c3]
15955
15956 2014-03-31 Steve Borho <steve@borho.org>
15957
15958 * source/encoder/slicetype.cpp:
15959 slicetype: nits
15960 [6edc3ed24643]
15961
15962 2014-04-01 Nabajit Deka <Nabajit Deka>
15963
15964 * source/common/x86/pixel-a.asm:
15965 asm: fix build error caused by usage of 64-bit dependent register in
15966 Win32 versions
15967 [dd189fd26f47]
15968
15969 2014-03-31 Steve Borho <steve@borho.org>
15970
15971 * source/encoder/slicetype.cpp:
15972 slicetype: do not assume frames[] array has been initialized
15973
15974 slicetypeAnalyse() may not have been called, so use picture list[]
15975 instead
15976 [7ce180ca05b3]
15977
15978 2014-03-31 Min Chen <chenm003@163.com>
15979
15980 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
15981 source/common/primitives.h, source/common/x86/pixel-util8.asm,
15982 source/test/pixelharness.cpp:
15983 remove macro NEW_CALCRECON
15984 [5d607fd4531f]
15985
15986 2014-03-31 Murugan Vairavel <murugan@multicorewareinc.com>
15987
15988 * source/test/pixelharness.cpp, source/test/pixelharness.h:
15989 testbench: code for testing input pixel upShift/downShift primitives
15990 [dc9a6a87db56]
15991
15992 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
15993 source/common/x86/pixel.h:
15994 asm: code for input pixel upShift/downShift
15995 [c4ea6cffe2b3]
15996
15997 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/pixel.cpp,
15998 source/common/primitives.h:
15999 primitives: added C primitives for upShift/downShift of input pixels
16000 [a30786caa6c3]
16001
16002 2014-03-31 Selvakumar Nithiyaruban <selvakumar@multicorewareinc.com>
16003
16004 * doc/reST/cli.rst, source/x265.cpp:
16005 cli: add cli option for dither
16006 [b521f535442a]
16007
16008 * source/CMakeLists.txt, source/common/common.cpp,
16009 source/common/common.h, source/filters/filters.cpp,
16010 source/filters/filters.h:
16011 dither: port dither related functions from x264
16012 [106fc00d4eab]
16013
16014 2014-03-31 Steve Borho <steve@borho.org>
16015
16016 * source/common/winxp.cpp, source/common/winxp.h:
16017 xp: fix header guards for XP support, fixes MinGW build
16018
16019 If no _WIN32_WINNT version is specified, MinGW defaults to XP SP3.
16020 Our include guards were checking for <= XP instead of checking for
16021 any version before Vista which was the version that introduced
16022 native CONDITION_VARIABLE support
16023 [ae07405973b7]
16024
16025 * source/encoder/frameencoder.cpp:
16026 frameencoder: prevent deadlock in non-wpp mode
16027 [f3c97e82ab04]
16028
16029 * source/CMakeLists.txt:
16030 cmake: pick the old policy for MACOSX_RPATH (only applicable for
16031 cmake 3.0)
16032 [4564298c30f6]
16033
16034 2014-03-29 Steve Borho <steve@borho.org>
16035
16036 * source/CMakeLists.txt:
16037 cmake: allow MinGW to target XP by default
16038
16039 This makes MinGW to use our workaround CONDITION_VARIABLE
16040 implementation but it seems to be on average better than asking
16041 MinGW to compile for Vista.
16042 [6f7b323061dc]
16043
16044 2014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
16045
16046 * source/common/wavefront.cpp, source/common/wavefront.h,
16047 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
16048 source/encoder/frameencoder.h:
16049 vbv: enable row restarts when mid-frame qp adjustemets are
16050 inadequate
16051 [1410caf09a39]
16052
16053 2014-03-29 Steve Borho <steve@borho.org>
16054
16055 * source/CMakeLists.txt, source/common/CMakeLists.txt,
16056 source/common/threading.h, source/common/winxp.cpp,
16057 source/common/winxp.h:
16058 restore WINXP_SUPPORT build option, workaround for
16059 CONDITION_VARIABLE on XP
16060
16061 This adapts x264's code for an XP-safe pthread_cond_t to make an XP-
16062 safe CONDITION_VARIABLE (which was introduced in Windows Vista)
16063
16064 x265 will use native CONDITION_VARIABLE unless the WINXP_SUPPORT
16065 cmake option is enabled. It forces _WIN32_WINNT=_WIN32_WINNT_VISTA
16066 for MinGW for this purpose.
16067 [3f78e639d9ce]
16068
16069 2014-03-27 Satoshi Nakagawa <nakagawa424@oki.com>
16070
16071 * source/Lib/TLibCommon/TComDataCU.cpp,
16072 source/Lib/TLibCommon/TComDataCU.h,
16073 source/Lib/TLibCommon/TComLoopFilter.cpp,
16074 source/Lib/TLibCommon/TComLoopFilter.h,
16075 source/Lib/TLibCommon/TComPattern.cpp,
16076 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
16077 source/Lib/TLibCommon/TComPicSym.cpp,
16078 source/Lib/TLibCommon/TComPicSym.h,
16079 source/Lib/TLibCommon/TComPicYuv.cpp,
16080 source/Lib/TLibCommon/TComPicYuv.h,
16081 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16082 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16083 source/Lib/TLibEncoder/TEncCu.cpp,
16084 source/Lib/TLibEncoder/TEncEntropy.cpp,
16085 source/Lib/TLibEncoder/TEncSbac.cpp,
16086 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp:
16087 refine CUSize related
16088
16089 rename to clarify. division to shift.
16090 [5fb4400d76c2]
16091
16092 * source/Lib/TLibCommon/TComTrQuant.cpp:
16093 sbh: early continue for all zero coeff group
16094 [0705bb47bfcc]
16095
16096 2014-03-27 Min Chen <chenm003@163.com>
16097
16098 * source/Lib/TLibEncoder/TEncSearch.cpp:
16099 move buffer outside parenthesis
16100 [9b378e860ddb]
16101
16102 2014-03-28 Steve Borho <steve@borho.org>
16103
16104 * source/Lib/TLibCommon/TComLoopFilter.cpp,
16105 source/Lib/TLibCommon/TComWeightPrediction.cpp,
16106 source/Lib/TLibCommon/TComYuv.cpp, source/common/common.h,
16107 source/common/pixel.cpp:
16108 common: combine duplicate ClipY and ClipC templates, return pixel
16109 type
16110
16111 and fix some hungarian prefixes I encountered
16112 [b9a62f4491a7]
16113
16114 2014-03-27 Steve Borho <steve@borho.org>
16115
16116 * source/Lib/TLibCommon/TComRom.h, source/common/common.h:
16117 common: move clip templates to common.h
16118 [c2fdc391d226]
16119
16120 * doc/reST/cli.rst:
16121 rest: fix tpyo
16122 [5ec673a3e635]
16123
16124 * source/x265.cpp:
16125 cli: add link to documentation to end of `x265 --help` output
16126 [e3b1fb25c1d5]
16127
16128 * doc/reST/cli.rst:
16129 rest: consistent capitalization of page name
16130 [49528dce611c]
16131
16132 * doc/reST/cli.rst:
16133 rest: improve --ssim, --psnr, recon, and VUI descriptions
16134 [ec97d22b021c]
16135
16136 * source/Lib/TLibCommon/TComTrQuant.h:
16137 TComTrQuant: fix compiler warning in debug builds
16138 [0692d586def7]
16139
16140 * doc/reST/cli.rst:
16141 rest: improve rate control documentation
16142 [6a139bbaddb8]
16143
16144 * doc/reST/cli.rst:
16145 rest: cleanup --input description
16146 [3c366c8973e0]
16147
16148 2014-03-26 Steve Borho <steve@borho.org>
16149
16150 * source/CMakeLists.txt, source/encoder/api.cpp,
16151 source/encoder/encoder.cpp, source/encoder/encoder.h,
16152 source/x265.cpp, source/x265.h:
16153 api: change x265_encoder_headers() to return byte count on success
16154 [8ce32bd20ec7]
16155
16156 2014-03-27 Steve Borho <steve@borho.org>
16157
16158 * doc/reST/cli.rst:
16159 rest: improve docs for --me and --early-skip
16160 [6e25dfa0cc9e]
16161
16162 2014-03-26 Steve Borho <steve@borho.org>
16163
16164 * source/Lib/TLibCommon/TComTrQuant.cpp,
16165 source/Lib/TLibEncoder/TEncSearch.cpp:
16166 nits
16167 [8e0c2d24fc45]
16168
16169 * source/Lib/TLibCommon/TComDataCU.cpp,
16170 source/Lib/TLibCommon/TComDataCU.h,
16171 source/Lib/TLibCommon/TComTrQuant.cpp,
16172 source/Lib/TLibCommon/TComTrQuant.h,
16173 source/Lib/TLibEncoder/TEncEntropy.cpp,
16174 source/Lib/TLibEncoder/TEncEntropy.h,
16175 source/Lib/TLibEncoder/TEncSbac.cpp,
16176 source/Lib/TLibEncoder/TEncSbac.h,
16177 source/Lib/TLibEncoder/TEncSearch.cpp,
16178 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.h,
16179 source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
16180 replace TCoeff with coeff_t
16181 [ca35d9b58b55]
16182
16183 * source/Lib/TLibCommon/TypeDef.h, source/common/common.h:
16184 common: move X265_DEPTH definition to common.h
16185 [9fd80b32a24e]
16186
16187 * source/Lib/TLibCommon/TComDataCU.cpp,
16188 source/Lib/TLibCommon/TComDataCU.h,
16189 source/Lib/TLibCommon/TComLoopFilter.cpp,
16190 source/Lib/TLibCommon/TComLoopFilter.h,
16191 source/Lib/TLibCommon/TComPicYuv.h,
16192 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
16193 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16194 source/Lib/TLibCommon/TComWeightPrediction.cpp,
16195 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
16196 source/Lib/TLibEncoder/TEncSearch.cpp,
16197 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
16198 replace Pel with pixel
16199 [9c0419c1781b]
16200
16201 * source/Lib/TLibCommon/SEI.h,
16202 source/Lib/TLibCommon/TComBitStream.cpp,
16203 source/Lib/TLibCommon/TComBitStream.h,
16204 source/Lib/TLibCommon/TComDataCU.cpp,
16205 source/Lib/TLibCommon/TComDataCU.h,
16206 source/Lib/TLibCommon/TComLoopFilter.cpp,
16207 source/Lib/TLibCommon/TComLoopFilter.h,
16208 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
16209 source/Lib/TLibCommon/TComPicYuv.h,
16210 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
16211 source/Lib/TLibCommon/TComPrediction.cpp,
16212 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
16213 source/Lib/TLibEncoder/TEncCu.h,
16214 source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/compress.cpp,
16215 source/encoder/cturow.cpp:
16216 replace UChar with uint8_t
16217 [bf2075b6e879]
16218
16219 2014-03-24 Steve Borho <steve@borho.org>
16220
16221 * source/CMakeLists.txt:
16222 cmake: move assembly source into ASM source group in VS
16223 [29efd2537b56]
16224
16225 2014-03-26 Steve Borho <steve@borho.org>
16226
16227 * doc/reST/cli.rst:
16228 rest: this sentence was perhaps redundant
16229 [7d37c06c80f4]
16230
16231 * doc/reST/introduction.rst:
16232 rest: make life slightly more difficult for spambots
16233 [2d41a9d48e3b]
16234
16235 2014-03-24 Satoshi Nakagawa <nakagawa424@oki.com>
16236
16237 * source/encoder/frameencoder.cpp:
16238 fix chroma lambda weighting
16239 [d38335a9375a]
16240
16241 2014-03-26 Steve Borho <steve@borho.org>
16242
16243 * doc/reST/cli.rst:
16244 rest: nits
16245 [e6862130b35b]
16246
16247 2014-03-25 Steve Borho <steve@borho.org>
16248
16249 * source/common/param.cpp:
16250 param: ignore leading double-slash in names passed to
16251 x265_param_parse
16252
16253 It might be ambiguous to API users whether these are required,
16254 looking at our documentation, so ignore them if they do.
16255 [2cda667fd786]
16256
16257 * doc/reST/cli.rst:
16258 rest: improve --output, add documentation for --repeat-headers
16259 [c82b0f98e3fb]
16260
16261 * doc/reST/cli.rst:
16262 rest: improve --tu-*-depth, --ref, and --tskip descriptions
16263 [2404a23fb957]
16264
16265 * doc/reST/cli.rst:
16266 rest: improve the description of --rect --amp
16267 [0de64941eec8]
16268
16269 * doc/reST/cli.rst:
16270 rest: document the behavior of --subme
16271 [939de245ea5f]
16272
16273 * doc/reST/introduction.rst:
16274 rest: update licene email address
16275 [82e2254874b1]
16276
16277 * source/x265.cpp:
16278 cli: remove dead options from getopt long-options list
16279 [9f5870075f72]
16280
16281 * source/x265.h:
16282 api: fix documented defaults for cuTree and AQ
16283 [f482d57a6ab5]
16284
16285 * doc/reST/cli.rst:
16286 rest: CRF options are doubles
16287 [455e4c8a5b3d]
16288
16289 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
16290 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
16291 api: drop VUI options which are not fully implemented
16292
16293 It is better to not have to document that these are unfinished
16294 [8f770a36875d]
16295
16296 * doc/reST/cli.rst:
16297 rest: add a couple of missing options, improve descriptions of
16298 others
16299 [02a2a5bd4330]
16300
16301 * doc/reST/cli.rst:
16302 rest: improve CLI docs, fix some wrong descriptions, moar better
16303
16304 I've moved --weightp and --refs to the ME section since they have no
16305 bearing on slice decision and lots of impact on motion search. Some
16306 new options are still missing, will add those in a later commit
16307 [11d301883894]
16308
16309 * doc/reST/cli.rst:
16310 rest: large cleanup of CLI opt docs
16311 [8181f224ec27]
16312
16313 * doc/reST/cli.rst:
16314 rest: fix csv logging descripion, move debug options to the end
16315 [6ece6e038ca8]
16316
16317 * doc/reST/cli.rst:
16318 rest: use comma to separate short and long options
16319
16320 This looks better, and fixes cross referencing
16321 [9ee05bffbc68]
16322
16323 * doc/reST/Makefile, doc/reST/conf.py, doc/reST/index.rst:
16324 rest: add Makefile for generating HTML from reST, cleanup some nits
16325 [c52c2f8c3e32]
16326
16327 * Merge with stable
16328 [fd5e313eca45]
16329
16330 2014-03-25 Sagar Kotecha <sagar@multicorewareinc.com>
16331
16332 * doc/reST/cli.rst, doc/reST/conf.py, doc/reST/index.rst,
16333 doc/reST/introduction.rst:
16334 Add reST script to generate x265 user manual
16335 [a1d9b54e57d2] <stable>
16336
16337 2014-03-25 Steve Borho <steve@borho.org>
16338
16339 * source/CMakeLists.txt, source/common/common.h,
16340 source/common/param.cpp, source/encoder/api.cpp,
16341 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
16342 api: add param.bRepeatHeaders - insert stream headers in each
16343 keyframe NAL
16344
16345 This is apparently useful for raw stream formats
16346 [e739e579609a]
16347
16348 2014-03-24 Min Chen <chenm003@163.com>
16349
16350 * source/Lib/TLibCommon/TComTrQuant.cpp,
16351 source/Lib/TLibCommon/TComTrQuant.h,
16352 source/Lib/TLibCommon/TypeDef.h,
16353 source/Lib/TLibEncoder/TEncSbac.cpp:
16354 cleanup on TComTrQuant::getTUEntropyCodingParameters
16355 [4318d47d9348]
16356
16357 * source/Lib/TLibCommon/TComTrQuant.cpp:
16358 faster sign(X) and N^2 on TComTrQuant::xRateDistOptQuant
16359 [10e614dca6d4]
16360
16361 * source/Lib/TLibEncoder/TEncSbac.cpp:
16362 improvement by replace SHIFT to MASK_AND
16363 [33617683915d]
16364
16365 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16366 source/Lib/TLibCommon/TComTrQuant.cpp,
16367 source/Lib/TLibEncoder/TEncSbac.cpp:
16368 optimize: replace g_groupIdx[] by getGroupIdx()
16369 [b39d26118f09]
16370
16371 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
16372 reduce g_minInGroup from uint32_t to uint8_t
16373 [f09130afa3dd]
16374
16375 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
16376 improvement TEncBinCABAC::writeOut by mask operator and local
16377 variant
16378 [88c66aece128]
16379
16380 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
16381 improvement TEncBinCABAC::encodeBin by temporary variant and reduce
16382 AND operator
16383 [5c5cb411263e]
16384
16385 2014-03-24 Steve Borho <steve@borho.org>
16386
16387 * source/x265.cpp:
16388 cli: fix missing reference to superfast preset
16389 [aa08b7f2d420]
16390
16391 2014-03-21 Steve Borho <steve@borho.org>
16392
16393 * source/Lib/TLibCommon/TComTrQuant.cpp:
16394 TComTrQuant: nits (no change)
16395 [fdd7c6168cf4]
16396
16397 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
16398 Merge with stable
16399 [07670cfdc215]
16400
16401 2014-03-21 Aarthi Thirumalai <Aarthi Thirumalai>
16402
16403 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
16404 vbv: fix race condition in processRowEncoder, store row qp directly
16405 in m_pic->m_rowDiagQp.
16406 [21eb4a43e02f] <stable>
16407
16408 2014-03-18 Min Chen <chenm003@163.com>
16409
16410 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16411 source/Lib/TLibCommon/TComTrQuant.cpp:
16412 use mask operator to avoid branch
16413 [79b76dcaacd8]
16414
16415 * source/Lib/TLibCommon/TComTrQuant.cpp,
16416 source/Lib/TLibCommon/TComTrQuant.h:
16417 replace parameters (oneCtx, absCtx) by pointer m_estBitsSbac->..
16418 [da5f379974c0]
16419
16420 * source/Lib/TLibCommon/TComTrQuant.cpp,
16421 source/Lib/TLibCommon/TComTrQuant.h:
16422 optimize: rewrite TComTrQuant::xGetCodedLevel
16423 [190f1b500219]
16424
16425 2014-03-20 Steve Borho <steve@borho.org>
16426
16427 * source/encoder/encoder.cpp:
16428 encoder: auto-disable weightp with 4:4:4 inputs, until it is fixed
16429 [fe3fcd9838c0]
16430
16431 * source/Lib/TLibEncoder/TEncSearch.cpp:
16432 TEncSearch: validate unidirectional MVPs prior to trying MV0 bidir
16433 (closes #34)
16434
16435 This should fix some rare non-determinism as well as prevent the
16436 crash seen in issue #34. [CHANGES OUTPUTS]
16437 [e06f2a068622]
16438
16439 * source/x265.pc.in:
16440 pkgconfig: allow user-supplied lib folder (closes #40)
16441 [8830c8bf15cb]
16442
16443 2014-03-19 Steve Borho <steve@borho.org>
16444
16445 * source/CMakeLists.txt, source/common/common.h,
16446 source/common/param.cpp, source/encoder/encoder.cpp,
16447 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
16448 source/x265.cpp, source/x265.h:
16449 add experimental support for interlaced content (field encoding)
16450 (refs #15)
16451
16452 * adds param.interlaceMode
16453 * removes VUI params that are now handled automatically
16454 * adds --no-interlace --interlace=tff|bff|prog|false CLI options
16455 * signals interlace source flag, clears progressive source flag
16456
16457 This initial implementation requires the user to provide fields
16458 (half-height) in the correct temporal order; so not very useful for
16459 exisitng Y4M or YUV interlaced input files.
16460
16461 When interlacing is enabled, the encoder emits PictureTiming SEI
16462 messages that indicate top or bottom field for the decoder.
16463 [e35c8c03ee9f]
16464
16465 2014-03-20 Aarthi Thirumalai <Aarthi Thirumalai>
16466
16467 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
16468 vbv: fix race condition in processRowEncoder, store row qp directly
16469 in m_pic->m_rowDiagQp.
16470 [5638c2311653]
16471
16472 2014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16473
16474 * source/Lib/TLibEncoder/TEncCu.cpp:
16475 TEncCU: more QP cleanup for subCUs, inter modes.
16476 [27e0620327e5]
16477
16478 2014-03-19 Steve Borho <steve@borho.org>
16479
16480 * source/encoder/motion.cpp:
16481 motion: add missing parens in COST_MV() macro (fixes #41)
16482 [221d8aee9aa1]
16483
16484 * source/encoder/motion.cpp:
16485 motion: UMH fix to match x264 behavior
16486 [fcb916ec982f]
16487
16488 * source/input/yuv.cpp, source/input/yuv.h:
16489 yuv: use ThreadSafeInteger to manage ring buffer
16490 [96d1d690d2ab]
16491
16492 * source/encoder/api.cpp, source/encoder/encoder.cpp:
16493 encoder: keep copy of input parameters (refs #43)
16494
16495 We do not want to allow the user to change the param used by the
16496 encoder during the encode, nor do we want to suffer from cleanup
16497 ordering issues. We can't crash if the user released the param
16498 struct they allocated prior to closing the encoder
16499 [56a382eb1b72]
16500
16501 * source/input/y4m.cpp, source/input/y4m.h:
16502 y4m: use ThreadSafeInteger to manage ring buffer
16503 [bbf6010764be]
16504
16505 2014-03-19 Gopu Govindaswamy <Gopu Govindaswamy>
16506
16507 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
16508 TEncBinCoderCABAC: fix MingGW build "declaration of 'byte' shadows a
16509 global declaration"
16510 [7bb421429129]
16511
16512 2014-03-19 Steve Borho <steve@borho.org>
16513
16514 * source/CMakeLists.txt:
16515 cmake: tabs to spaces
16516 [459c96998a62]
16517
16518 * source/CMakeLists.txt:
16519 cmake: pkgconfig file must be installed in user-specified lib folder
16520 (refs #40)
16521 [ab9c23ebb527]
16522
16523 * source/common/threading.h, source/encoder/framefilter.cpp:
16524 thread: add an incr() method to ThreadSafeInteger to avoid redundant
16525 locks
16526 [1b57d57ff2d9]
16527
16528 2014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16529
16530 * source/Lib/TLibCommon/TComDataCU.cpp:
16531 TEncCU: further refine qp offsets
16532 [148553629f2a]
16533
16534 * source/Lib/TLibEncoder/TEncCu.cpp:
16535 TEncCU: all SUbCUs will now copy QP array directly from parent CU,
16536 instead of resetting to qp(0).
16537 [648db5e86622]
16538
16539 * source/Lib/TLibCommon/TComDataCU.cpp,
16540 source/Lib/TLibCommon/TComDataCU.h:
16541 TComDataCU: add QP-independent initSubCU
16542 [de4eb4d4bd01]
16543
16544 * source/Lib/TLibCommon/TComDataCU.cpp,
16545 source/Lib/TLibCommon/TComDataCU.h:
16546 TComDataCU: add QP-independent initEstData
16547 [d566947b5493]
16548
16549 2014-03-18 Steve Borho <steve@borho.org>
16550
16551 * source/CMakeLists.txt:
16552 cmake: icpc is unable to link cli to shared lib
16553 [f58d9c3840a3]
16554
16555 * source/CMakeLists.txt:
16556 cmake: fix MinGW build by forcing Vista as minimum target O/S (fixes
16557 #44)
16558
16559 This removes the WINXP_SUPPORT option; XP cannot be supported until
16560 someone contributes a version of ThreadSafeInteger that is
16561 functional on XP
16562 [45af76338c8e]
16563
16564 2014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16565
16566 * source/Lib/TLibCommon/TComDataCU.cpp,
16567 source/encoder/frameencoder.cpp:
16568 TComDataCU: QP for a CU always stored in TComDataCU::m_qp.
16569 [591bceb1b87a]
16570
16571 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16572
16573 * source/Lib/TLibEncoder/TEncSearch.cpp:
16574 intraPred: remove qp resets
16575 [d8d41f4cf354]
16576
16577 * source/encoder/frameencoder.cpp:
16578 frameencoder: clean up slice qp clipping
16579 [9167d2441670]
16580
16581 2014-03-18 Steve Borho <steve@borho.org>
16582
16583 * source/CMakeLists.txt:
16584 cmake: remove /Oi build flag for Visual C++ builds
16585
16586 This flag was actually never necessary for use of SIMD intrinsics,
16587 but it was forcing VC to use intrinsic versions of math functions,
16588 and for some versions of VC this caused odd stack corruption in
16589 Win32 debug builds.
16590
16591 https://connect.microsoft.com/VisualStudio/feedback/details/776885
16592 /possible-bug-in-visual-studio-2012-c-compiler-related-to-intrinsic-
16593 math-functions
16594 [2a63de6cbb11]
16595
16596 * source/CMakeLists.txt:
16597 cmake: make lib and bin install folders user configurable (closes
16598 #40)
16599 [a02a4ba9629e]
16600
16601 * source/cmake/cmake_uninstall.cmake.in:
16602 cmake: fix uninstall target warnings from shell quote escaping
16603 issues
16604 [6a77b52eddcb]
16605
16606 * source/CMakeLists.txt:
16607 cmake: link cli app to shared library on POSIX systems (closes #37)
16608
16609 If you want the CLI to link against the static library on POSIX,
16610 just disable the generation of the shared library.
16611 [f91b930aea7e]
16612
16613 * source/x265.h:
16614 api: declare x265_cli_csps as static const (closes #39)
16615
16616 Fixes link errors when x265.h is included by multiple C files.
16617 [dc700298419d]
16618
16619 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16620
16621 * source/Lib/TLibEncoder/TEncSbac.cpp,
16622 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/encoder.cpp:
16623 encoder, sbac, quant: use only macro QP_BD_OFFSET, remove
16624 unnecessary get methods
16625 [4c8ea265d55e]
16626
16627 * source/encoder/encoder.cpp:
16628 sps: reuse encoder macro QP_BD_OFFSET
16629 [551956198184]
16630
16631 * source/Lib/TLibEncoder/TEncSearch.cpp,
16632 source/encoder/frameencoder.cpp:
16633 frameencoder: clean up qp clipping
16634 [2952312a52e5]
16635
16636 2014-03-18 Steve Borho <steve@borho.org>
16637
16638 * source/encoder/encoder.cpp:
16639 encoder: fix for VERBOSE_RATE (leftover HM feature) (closes #42)
16640 [0ac7e8729d90]
16641
16642 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16643
16644 * source/Lib/TLibEncoder/TEncSearch.cpp:
16645 encodeResandCalcInterCU: cleanup, no logic change
16646 [32c9e30aee7a]
16647
16648 2014-03-16 Satoshi Nakagawa <nakagawa424@oki.com>
16649
16650 * source/Lib/TLibCommon/TComTrQuant.cpp:
16651 DC only for HIGH_BIT_DEPTH
16652 [7b86d42683be]
16653
16654 2014-03-17 Min Chen <chenm003@163.com>
16655
16656 * source/Lib/TLibCommon/ContextTables.h,
16657 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16658 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
16659 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
16660 source/Lib/TLibEncoder/TEncSbac.cpp,
16661 source/Lib/TLibEncoder/TEncSbac.h:
16662 optimize: rewrite TEncBinCABAC::encodeBin
16663 [3bbcf9f8a701]
16664
16665 2014-03-17 Satoshi Nakagawa <nakagawa424@oki.com>
16666
16667 * source/Lib/TLibCommon/TComDataCU.cpp,
16668 source/Lib/TLibCommon/TComDataCU.h,
16669 source/Lib/TLibCommon/TComPattern.h,
16670 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
16671 cleanup m_pattern
16672 [d600c8f8f036]
16673
16674 2014-03-16 Satoshi Nakagawa <nakagawa424@oki.com>
16675
16676 * source/Lib/TLibCommon/TComDataCU.h:
16677 cleanup unused m_mvField{A,B,C}
16678 [7dbae9022757]
16679
16680 2014-03-17 Steve Borho <steve@borho.org>
16681
16682 * source/encoder/encoder.h:
16683 encoder: cleanup nits
16684 [6627c821ca1f]
16685
16686 * source/input/y4m.cpp:
16687 y4m: fix copy-paste bug in range checks
16688 [c688c11a0f12]
16689
16690 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
16691 source/common/threading.h, source/encoder/dpb.cpp,
16692 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
16693 source/encoder/frameencoder.h, source/encoder/framefilter.cpp:
16694 threading: introduce ThreadSafeInteger class
16695
16696 This class uses a condition variable to implement a
16697 producer/consumer access protocol with a single writer and multiple
16698 readers for safe multi-core synchronization
16699 [c0155c7bb6ca]
16700
16701 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16702
16703 * source/Lib/TLibEncoder/TEncCu.cpp:
16704 TEncCU: fix previous bad patch import
16705 [8dbcfae4dffc]
16706
16707 2014-03-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16708
16709 * source/Lib/TLibEncoder/TEncCu.h:
16710 TEncCU: cleanup
16711 [cf92f28e5f93]
16712
16713 2014-03-17 Steve Borho <steve@borho.org>
16714
16715 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
16716 source/encoder/framefilter.cpp:
16717 Merge with stable
16718 [8d5deb7cafd8]
16719
16720 2014-03-16 Steve Borho <steve@borho.org>
16721
16722 * source/Lib/TLibCommon/TComSlice.h:
16723 TComSlice: nits
16724 [e7e150e4166d]
16725
16726 2014-03-14 Min Chen <chenm003@163.com>
16727
16728 * source/Lib/TLibEncoder/TEncSbac.cpp,
16729 source/Lib/TLibEncoder/TEncSbac.h:
16730 optimize: rewrite TEncSbac::xWriteCoefRemainExGolomb
16731 [b2617cb09a1a]
16732
16733 * source/Lib/TLibCommon/TComTrQuant.cpp,
16734 source/Lib/TLibCommon/TComTrQuant.h,
16735 source/Lib/TLibEncoder/TEncSbac.cpp:
16736 optimize: improvement TComTrQuant::getSigCtxInc, avoid shift by mask
16737 [9e9bdc0dd2c5]
16738
16739 * source/Lib/TLibCommon/TComTrQuant.cpp,
16740 source/Lib/TLibCommon/TComTrQuant.h:
16741 optimize: rewrite TComTrQuant::xGetICRateCost
16742 [b8460fba2783]
16743
16744 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16745 source/Lib/TLibCommon/TComTrQuant.cpp,
16746 source/Lib/TLibCommon/TComTrQuant.h, source/common/threading.h:
16747 optimize: rewrite TComTrQuant::xGetICRate
16748 [b6954c4f480f]
16749
16750 2014-03-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16751
16752 * source/Lib/TLibEncoder/TEncCu.cpp:
16753 encode: avoid repetitive statements; no logic change
16754 [c1ecc3eb288d]
16755
16756 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
16757 compress/TEncCU: no reason why mode decision should reset the dqp
16758 flags.
16759 [6c64fbd96968]
16760
16761 * source/encoder/encoder.cpp:
16762 encoder: Adding a TODO comment on the final goal.
16763 [b7e392e2b720]
16764
16765 * source/encoder/encoder.cpp:
16766 vbv: set DQP as true if VBV is enabled (and AQ disabled).
16767
16768 Unless this is set, the different QP's for each CU wont be encoded.
16769 This worked thankfully until now, since VBV was always used at high
16770 quality (AQ on) settings.
16771 [b82c87d0a896]
16772
16773 * source/Lib/TLibEncoder/TEncCu.cpp:
16774 TEncCU: set dqpflag as true in the CU encoder if aqmode enabled
16775 [d72b7a5c8176]
16776
16777 2014-03-17 Steve Borho <steve@borho.org>
16778
16779 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
16780 source/encoder/framefilter.cpp:
16781 prevent deadlocks from frame dependencies on Linux
16782 [eba8844609f2] <stable>
16783
16784 2014-03-14 Steve Borho <steve@borho.org>
16785
16786 * source/Lib/TLibEncoder/TEncSearch.cpp:
16787 TEncSearch: mvpIdx shares storage with mergeIdx, do not set for
16788 merge CUs
16789 [ba3ddc1848ff]
16790
16791 2014-03-14 Wenju He <wenju@multicorewareinc.com>
16792
16793 * source/Lib/TLibEncoder/TEncCu.cpp:
16794 TEncCu: initialize variables, handle malloc failures more cleanly
16795 [93ea767e7df0]
16796
16797 2014-03-14 Murugan Vairavel <murugan@multicorewareinc.com>
16798
16799 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
16800 source/common/x86/dct8.h, source/test/mbdstharness.cpp:
16801 asm: 8bpp and 10bpp code for idct8x8 module
16802 [a4cb4fbff864]
16803
16804 2014-03-14 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
16805
16806 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
16807 added asm primitives for 10bpp sad functions
16808 [f36c9130de66]
16809
16810 2014-03-14 Steve Borho <steve@borho.org>
16811
16812 * source/encoder/frameencoder.cpp:
16813 Merge with stable
16814 [d5a4296dbfe7]
16815
16816 2014-03-14 Santhoshini Sekar <santhoshini@multicorewareinc.com>
16817
16818 * source/encoder/frameencoder.cpp:
16819 vbv: bugfix-calculate intraCuCostPerRow for vbv
16820 [394481c40cf9] <stable>
16821
16822 2014-03-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16823
16824 * source/Lib/TLibEncoder/TEncSearch.cpp:
16825 TEncSearch: init best AMVP candidate to zero.
16826 [ed48f84e541b]
16827
16828 2014-03-13 Steve Borho <steve@borho.org>
16829
16830 * source/encoder/motion.cpp:
16831 motion: remove unused file static array
16832 [7b5699e6bb75]
16833
16834 * source/Lib/TLibCommon/TComPrediction.h,
16835 source/Lib/TLibEncoder/TEncSearch.cpp,
16836 source/Lib/TLibEncoder/TEncSearch.h:
16837 TEncSearch: remove redundant temp buffer
16838
16839 TComPrediction (which TEncSearch derives from) already has
16840 m_predTempYuv
16841 [bb1ecd4f154d]
16842
16843 * source/Lib/TLibEncoder/TEncSearch.cpp,
16844 source/Lib/TLibEncoder/TEncSearch.h:
16845 TEncSearch: keep merge data together in a struct
16846
16847 This is for clarity, convenience, and to avoid some redundant work
16848 [ebf86c054d05]
16849
16850 * source/Lib/TLibEncoder/TEncSearch.cpp:
16851 TEncSearch: combine motion candidate search into AMVP search loop
16852 [32eaed85f7c0]
16853
16854 * source/Lib/TLibEncoder/TEncSearch.cpp,
16855 source/Lib/TLibEncoder/TEncSearch.h:
16856 TEncSearch: inline MVP selection from AMVP candidates
16857 [81911e5df59c]
16858
16859 * source/Lib/TLibEncoder/TEncSearch.cpp:
16860 TEncSearch: cleanup xGetBlkBits
16861 [dc4af8a48dc8]
16862
16863 * source/Lib/TLibEncoder/TEncSearch.cpp,
16864 source/Lib/TLibEncoder/TEncSearch.h:
16865 TEncSearch: inline xRestrictBipredMergeCand
16866 [80952375aff1]
16867
16868 * source/Lib/TLibEncoder/TEncSearch.cpp,
16869 source/Lib/TLibEncoder/TEncSearch.h:
16870 TEncSearch: inline xGetTemplateCost()
16871 [387471b8ec63]
16872
16873 * source/Lib/TLibEncoder/TEncSearch.cpp:
16874 TEncSearch: be pedantic about setting cu fields [CHANGES OUTPUTS]
16875
16876 It is somewhat unfortunate that this changes outputs, it means I had
16877 introduced a bug in an earlier commit
16878 [ebb3a25a7ad8]
16879
16880 * source/Lib/TLibEncoder/TEncSearch.cpp:
16881 TEncSearch: recombine merge-only path, now it can be accomplished
16882 with continue
16883 [879151f65962]
16884
16885 * source/Lib/TLibEncoder/TEncSearch.cpp:
16886 TEncSearch: remove redundant EMMS instrutions
16887
16888 predInterSearch uses no float operations, so a single EMMS at the
16889 end is sufficient
16890 [675837ac633f]
16891
16892 * source/Lib/TLibEncoder/TEncSearch.cpp,
16893 source/Lib/TLibEncoder/TEncSearch.h:
16894 TEncSearch: merge xGetInterPredictionError into xMergeEstimation
16895 [3a2f801dd535]
16896
16897 * source/Lib/TLibEncoder/TEncSearch.cpp:
16898 TEncSearch: refactor predInterSearch to avoid redundant work
16899 [a166b8d0a43e]
16900
16901 * source/Lib/TLibEncoder/TEncSearch.cpp:
16902 TEncSearch: switch xGetInterPredictionError() to use SATD [CHANGES
16903 OUTPUTS]
16904
16905 predInterSearch() was having to remeasure the unidir/bidir
16906 prediction just because it wanted to measure merge with sa8d. By
16907 switching to satd, a number of further simplifications can be made.
16908 [ea5f4ab96610]
16909
16910 * source/Lib/TLibEncoder/TEncSearch.cpp:
16911 Backed out changeset: 524fdbaed8d0
16912
16913 bits0 and bits1 include list[N].bits and thus they did include the
16914 list selection bit costs.
16915 [716dc1c8391a]
16916
16917 2014-03-13 Satoshi Nakagawa <nakagawa424@oki.com>
16918
16919 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
16920 source/Lib/TLibEncoder/TEncCu.cpp,
16921 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/shortyuv.cpp,
16922 source/common/shortyuv.h, source/encoder/compress.cpp:
16923 remove unused trUnitIdx from subtract() and addClip()
16924 [deb3d531790f]
16925
16926 2014-03-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16927
16928 * source/encoder/frameencoder.cpp:
16929 frameencoder: set QP to all parts of CU. No logic change.
16930 [665355c7e4d9]
16931
16932 2014-03-12 Min Chen <chenm003@163.com>
16933
16934 * source/Lib/TLibEncoder/TEncSbac.cpp,
16935 source/Lib/TLibEncoder/TEncSbac.h:
16936 cleanup: remove c++ ref parameter on xWriteCoefRemainExGolomb
16937 [47edf909f518]
16938
16939 2014-03-12 Steve Borho <steve@borho.org>
16940
16941 * source/Lib/TLibCommon/TComPicYuv.cpp:
16942 TComPicYuv: disambiguate variable names
16943
16944 Now with 75% less insanity!
16945 [5328eec59554]
16946
16947 2014-03-12 Min Chen <chenm003@163.com>
16948
16949 * source/Lib/TLibCommon/TComTrQuant.cpp,
16950 source/Lib/TLibCommon/TComTrQuant.h,
16951 source/Lib/TLibEncoder/TEncSbac.cpp:
16952 optimize: reduce memory and improvement performance by replace
16953 sigCoeffGroupFlag[] to sigCoeffGroupFlag64
16954 [68601cdea577]
16955
16956 * source/Lib/TLibEncoder/TEncSbac.cpp:
16957 optimize: simplify operators on loop sigCoeffGroupFlag
16958 [d3e218ecc33f]
16959
16960 2014-03-12 Steve Borho <steve@borho.org>
16961
16962 * source/Lib/TLibCommon/TypeDef.h:
16963 TypeDef: explicit 32bit type for TCoeff
16964 [892b8325ed6c]
16965
16966 * source/Lib/TLibCommon/TypeDef.h:
16967 TypeDef: UChar to uint8_t
16968 [661f6a49b956]
16969
16970 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
16971 TComRom: UChar to uint8_t
16972 [f88f6543ca26]
16973
16974 2014-03-12 Min Chen <chenm003@163.com>
16975
16976 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
16977 optimize: use UChar on g_convertToBit to avoid signed extend
16978 [41ea3d34f224]
16979
16980 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16981 source/Lib/TLibCommon/TypeDef.h,
16982 source/Lib/TLibEncoder/TEncSbac.cpp:
16983 optimize: reduce scan table size by uint32_t -> uint16_t
16984 [aedad0264282]
16985
16986 2014-03-12 Steve Borho <steve@borho.org>
16987
16988 * source/Lib/TLibEncoder/TEncSearch.cpp,
16989 source/Lib/TLibEncoder/TEncSearch.h:
16990 TEncSearch: replace UChar with uint8_t
16991 [999e3120deda]
16992
16993 * source/Lib/TLibEncoder/TEncSearch.h:
16994 TEncSearch: nit
16995 [9e554cec74ab]
16996
16997 * source/Lib/TLibEncoder/TEncSearch.cpp,
16998 source/Lib/TLibEncoder/TEncSearch.h:
16999 TEncSearch: use HEVC MVP candidates as motion candidates [CHANGES
17000 OUTPUTS]
17001 [99441b4af293]
17002
17003 * source/Lib/TLibEncoder/TEncSearch.cpp,
17004 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/encoder.cpp,
17005 source/encoder/encoder.h, source/encoder/frameencoder.cpp:
17006 TEncSearch: remove unused adaptive search range array
17007 [87ad1232188f]
17008
17009 * source/Lib/TLibEncoder/TEncSearch.cpp:
17010 TEncSearch: MV0 bidir bitcost not based on list costs, so no need to
17011 remove them
17012 [524fdbaed8d0]
17013
17014 * source/Lib/TLibEncoder/TEncSearch.cpp:
17015 TEncSearch: refactor predInterSearch to use simple structure
17016
17017 This removes the need for keep every possible MVP and MVP idx
17018 around, and it hopefully makes the code a lot more readable.
17019 [7c8b9445bec6]
17020
17021 2014-03-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17022
17023 * Merge
17024 [4fdcea7426f1]
17025
17026 * source/Lib/TLibCommon/TComDataCU.cpp,
17027 source/Lib/TLibCommon/TComDataCU.h,
17028 source/Lib/TLibEncoder/TEncCu.cpp:
17029 TComDataCU: cleanup
17030 [cc3d77015d1e]
17031
17032 * source/Lib/TLibEncoder/TEncEntropy.cpp,
17033 source/Lib/TLibEncoder/TEncEntropy.h:
17034 encodeQP: cleanup
17035 [94d3dfe14558]
17036
17037 2014-03-12 Steve Borho <steve@borho.org>
17038
17039 * source/Lib/TLibEncoder/TEncSearch.cpp:
17040 TEncSearch: initialize MotionEstimate function pointers before merge
17041 estimation
17042 [8a69cfea0304]
17043
17044 2014-03-11 Steve Borho <steve@borho.org>
17045
17046 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
17047 source/encoder/api.cpp:
17048 common: remove mostly unused cycle count macros
17049 [e4cf59adfb84]
17050
17051 * source/Lib/TLibEncoder/TEncSearch.cpp:
17052 TEncSearch: break ties in favor of uni-directional MC [CHANGES
17053 OUTPUTS]
17054
17055 If bidir has the same cost as unidir, pick the unidir prediction.
17056 Bidir will average the two directional prediction and thus tends to
17057 generate blurred predictions. Uni-directional prediction is better
17058 when costs are the equal.
17059 [c24eda418b5c]
17060
17061 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17062 source/common/common.cpp, source/common/common.h,
17063 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
17064 source/encoder/ratecontrol.h:
17065 Merge with stable
17066 [bbd35c26c4e4]
17067
17068 * source/Lib/TLibEncoder/TEncSearch.cpp:
17069 TEncSearch: dehungarians and other nits
17070 [83d649aaf7ce]
17071
17072 2014-03-10 Satoshi Nakagawa <nakagawa424@oki.com>
17073
17074 * source/Lib/TLibCommon/TComTrQuant.cpp,
17075 source/Lib/TLibCommon/TComTrQuant.h,
17076 source/Lib/TLibCommon/TypeDef.h,
17077 source/Lib/TLibEncoder/TEncSbac.cpp:
17078 revert getSigCtxInc() to 0.7, this version was faster
17079 [87638be9bc6b]
17080
17081 2014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
17082
17083 * source/encoder/ratecontrol.cpp:
17084 vbv: bug fix - down shifting of satdcost for 10 bit depth.
17085 [c06ee069df5e] <stable>
17086
17087 * source/common/common.cpp, source/common/common.h:
17088 rc: move qp2qscale and qscale2qp function to common
17089 [561adb9b21f6] <stable>
17090
17091 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
17092 source/encoder/ratecontrol.h:
17093 vbv: bug fixes - move row Predictors, frameSizeEstimated to Frame
17094 Encoder scope.
17095
17096 Improves quality and controls buffer underflow when Frame
17097 parallelism is enabled.
17098 [1b84d0748a08] <stable>
17099
17100 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17101 source/encoder/ratecontrol.cpp:
17102 vbv: use row wise IntraSatdCost to predict vbv intra frame bits.
17103
17104 If P/B slice is predominatly intra coded, use intra SatdCost to
17105 predict the row bits in vbv.
17106 [380c4bf5ff75] <stable>
17107
17108 * source/encoder/ratecontrol.cpp:
17109 vbv: bug fix - down shifting of satdcost for 10 bit depth.
17110 [7832cb8323dd]
17111
17112 2014-03-10 Steve Borho <steve@borho.org>
17113
17114 * source/Lib/TLibEncoder/TEncSearch.cpp:
17115 TEncSearch: fix some comments
17116 [e40524d079b4]
17117
17118 * source/Lib/TLibEncoder/TEncSearch.cpp:
17119 TEncSearch: reorder code for more clarity
17120 [504c81462e30]
17121
17122 * source/Lib/TLibEncoder/TEncSearch.cpp:
17123 TEncSearch: host bMergeOnly logic to the top of predInterSearch
17124
17125 This makes merge-only easier to follow and more efficient, and makes
17126 the full search code easier to read and easier to maintain. This
17127 should have no change in outputs
17128 [c3156f2b7c97]
17129
17130 * source/Lib/TLibEncoder/TEncSearch.cpp:
17131 TEncSearch: localize scope of bidir MV and ref idx arrays
17132 [1f1aa83d20ed]
17133
17134 * source/Lib/TLibEncoder/TEncSearch.cpp:
17135 TEncSearch: hoist bMergeOnly check to only be performed once
17136 [0574550353e6]
17137
17138 * source/Lib/TLibEncoder/TEncSearch.cpp:
17139 TEncSearch: remove list1 hacks
17140 [0d4182301313]
17141
17142 * source/Lib/TLibEncoder/TEncSearch.cpp:
17143 TEncSearch: localize scope, rename, and remove defaults for
17144 listSelBits array
17145 [85e8a21a261b]
17146
17147 * source/Lib/TLibEncoder/TEncSearch.cpp:
17148 TEncSearch: remove mvTemp[][] array, just use outmv stack var
17149 [d546b400d156]
17150
17151 * source/Lib/TLibEncoder/TEncSearch.cpp:
17152 TEncSearch: localize scope and rename listMv
17153 [f91dc85070fe]
17154
17155 * source/Lib/TLibEncoder/TEncSearch.cpp:
17156 TEncSearch: localize scope of mvzero
17157 [de73109c06d5]
17158
17159 * source/Lib/TLibEncoder/TEncSearch.cpp:
17160 TEncSearch: localize scope and rename listRefIdx
17161 [dc977fbf3ed1]
17162
17163 * source/Lib/TLibEncoder/TEncSearch.cpp:
17164 TEncSearch: localize scope of costTemp
17165 [132393836a2e]
17166
17167 * source/Lib/TLibEncoder/TEncSearch.cpp:
17168 TEncSearch: simplify and localize scope of bitstemp
17169 [c095646a2ef0]
17170
17171 * source/Lib/TLibEncoder/TEncSearch.cpp:
17172 TEncSearch: rename bits to listbits[] for clarity
17173 [7495c029daf6]
17174
17175 * source/Lib/TLibEncoder/TEncSearch.cpp:
17176 TEncSearch: replace costbi with listCost[2]
17177 [12841ab3ce3f]
17178
17179 * source/Lib/TLibEncoder/TEncSearch.cpp,
17180 source/Lib/TLibEncoder/TEncSearch.h:
17181 TEncSearch: remove useless distBiP argument from xEstimateMvPredAMVP
17182 [621f9c82eb14]
17183
17184 * source/Lib/TLibEncoder/TEncSearch.cpp:
17185 TEncSearch: cleanups in predInterSearch(), no logic change
17186 [275edc95de11]
17187
17188 * source/Lib/TLibCommon/TComSlice.cpp,
17189 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
17190 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
17191 source/encoder/weightPrediction.cpp:
17192 weight: match x264 weight analysis and logging [OUTPUT CHANGE]
17193
17194 This only weights the first reference, and will only weight chroma
17195 if luma was weighted. Further work remains, we must add an
17196 unweighted dup of the weighted reference into the P slice's L0
17197 reference list.
17198 [f3988b70f4aa]
17199
17200 2014-03-10 Murugan Vairavel <murugan@multicorewareinc.com>
17201
17202 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/shortyuv.cpp,
17203 source/common/shortyuv.h:
17204 shortyuv: integrated asm primitives for blockcopy
17205 [1417ba917211]
17206
17207 2014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
17208
17209 * source/common/common.cpp, source/common/common.h,
17210 source/encoder/ratecontrol.cpp:
17211 rc: move qp2qscale and qscale2qp function to common
17212 [5fb584576fc9]
17213
17214 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
17215 source/encoder/ratecontrol.h:
17216 vbv: bug fixes - move row Predictors, frameSizeEstimated to Frame
17217 Encoder scope.
17218
17219 Improves quality and controls buffer underflow when Frame
17220 parallelism is enabled.
17221 [925b4b3a01c0]
17222
17223 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17224 source/encoder/ratecontrol.cpp:
17225 vbv: use row wise IntraSatdCost to predict vbv intra frame bits.
17226
17227 If P/B slice is predominatly intra coded, use intra SatdCost to
17228 predict the row bits in vbv.
17229 [092bc3753097]
17230
17231 2014-03-10 Gopu Govindaswamy <Gopu Govindaswamy>
17232
17233 * source/Lib/TLibCommon/TComMotionInfo.h:
17234 tcommotion: cleanup removed unused methods
17235 [37a33cbf5b57]
17236
17237 * source/Lib/TLibCommon/TComDataCU.cpp,
17238 source/Lib/TLibCommon/TComMotionInfo.cpp,
17239 source/Lib/TLibCommon/TComMotionInfo.h:
17240 tcommotion: use Checked malloc to allocate memory
17241 [728df17d1e5f]
17242
17243 * source/Lib/TLibEncoder/TEncSbac.cpp:
17244 tencsbac: remove unused SCALING_LIST_OUTPUT_RESULT macro
17245 [9c57962437b6]
17246
17247 * source/Lib/TLibEncoder/TEncSbac.cpp:
17248 tencsbac: subLayerOrderingInfoPresentFlag always true, the if() loop
17249 will never executed
17250
17251 vps_sub_layer_ordering_info_present_flag is always set to true, not
17252 required to have extra storage for this, removed
17253 subLayerOrderingInfoPresentFlag
17254 [752bdc470b06]
17255
17256 2014-03-10 Satoshi Nakagawa <nakagawa424@oki.com>
17257
17258 * source/Lib/TLibCommon/TComDataCU.cpp,
17259 source/Lib/TLibCommon/TComDataCU.h,
17260 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17261 source/Lib/TLibEncoder/TEncCu.cpp,
17262 source/Lib/TLibEncoder/TEncSearch.cpp,
17263 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
17264 cleanup unused intra !bLumaOnly path
17265 [ee6e6fd867eb]
17266
17267 2014-03-10 Steve Borho <steve@borho.org>
17268
17269 * source/Lib/TLibEncoder/TEncSearch.cpp:
17270 TEncSearch: fix bMergeOnly override check, did not intend to change
17271 behavior
17272 [505d4a83704a]
17273
17274 * source/Lib/TLibEncoder/TEncSearch.cpp:
17275 TEncSearch: fix gcc warning, remove redundant assignemnt
17276 [f76a92a2b00b]
17277
17278 2014-03-09 Steve Borho <steve@borho.org>
17279
17280 * source/Lib/TLibEncoder/TEncSearch.cpp,
17281 source/Lib/TLibEncoder/TEncSearch.h:
17282 TEncSearch: rename bUseMRG to bMergeOnly for clarity
17283 [50d7910ddd61]
17284
17285 * source/Lib/TLibEncoder/TEncCu.cpp:
17286 TEncCu: disable TMVP range check if frame threading disabled, code
17287 style nits
17288 [82a66870fc8b]
17289
17290 * source/Lib/TLibEncoder/TEncCu.cpp,
17291 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
17292 TEncSearch: remove default argument from encodeResAndCalcRdInterCU()
17293 [74d4709422f6]
17294
17295 * source/Lib/TLibEncoder/TEncCu.cpp,
17296 source/Lib/TLibEncoder/TEncSearch.cpp,
17297 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
17298 TEncSearch: remove confusing default arguments from
17299 predInterSearch()
17300
17301 And completely remove bLuma which was always true
17302 [f8926fb14c42]
17303
17304 2014-03-08 Steve Borho <steve@borho.org>
17305
17306 * source/Lib/TLibEncoder/TEncCu.cpp,
17307 source/Lib/TLibEncoder/TEncSearch.cpp,
17308 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
17309 me: skip TMVP merge candidates that are beyond vertical search range
17310
17311 Because of frame parallelism, pixels more than search range below
17312 coincident may not be available in references. Sometimes these merge
17313 candidates happened to be the best cost, resulting in hash
17314 mismatches.
17315
17316 Because xMergeEstimation() can now return with no valid merge modes,
17317 the caller must deal with the potential of no merge mode.
17318 predInterSearch() is sometimes called to only measure merge modes
17319 (skipping ME for AMP partitions for some presets), so now
17320 predInterSearch() can also possibly exit without generating a valid
17321 prediction.
17322 [f29f0ba91dfa]
17323
17324 2014-03-09 Steve Borho <steve@borho.org>
17325
17326 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
17327 TEncCu: nits, no logic change
17328 [1ff43004128f]
17329
17330 2014-03-07 David T Yuen <dtyx265@gmail.com>
17331
17332 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
17333 source/encoder/compress.cpp, source/encoder/frameencoder.cpp,
17334 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
17335 source/encoder/framefilter.h, source/encoder/ratecontrol.cpp,
17336 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
17337 source/encoder/slicetype.h:
17338 Replaced Encoder* with x265_param* as member of several classes
17339
17340 Replaced Encoder* with x265_param* as member of TEncCu, framefilter,
17341 ratecontrol, CostEstimate and Lookahead Added
17342 m_CUTransquantBypassFlagValue to TEncCu since it's part of Encoder
17343 and not x265_param framefilter's processRow and processRowPost
17344 needed Encoder* to run Encoder::signalReconRowCompleted
17345 [0bd2465e3d4a]
17346
17347 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17348 source/common/lowres.cpp, source/common/lowres.h,
17349 source/encoder/dpb.cpp, source/encoder/dpb.h,
17350 source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
17351 Removed Encoder* as member of DPB and replaced it with field
17352 m_bOpenGOP
17353
17354 Also added int bframes to Lowres since only param->bframes is passed
17355 to its methods thus eliminating one of DPB's uses of Encoder*
17356 [13e2c2fe091d]
17357
17358 2014-03-08 Satoshi Nakagawa <nakagawa424@oki.com>
17359
17360 * source/Lib/TLibEncoder/TEncSearch.cpp,
17361 source/Lib/TLibEncoder/TEncSearch.h, source/common/pixel.cpp,
17362 source/common/primitives.h, source/common/x86/pixel-util8.asm,
17363 source/test/pixelharness.cpp:
17364 cleanup m_sharedPredTransformSkip[]
17365
17366 NEW_CALCRECON macro is TODO mark for asm experts, to optimize
17367 register assignment.
17368 [d3bfe4152e67]
17369
17370 2014-03-07 Steve Borho <steve@borho.org>
17371
17372 * source/encoder/encoder.cpp:
17373 Merge with stable
17374 [93861c42b879]
17375
17376 * source/encoder/encoder.cpp:
17377 encoder: back-port VUI content fixes from default branch
17378
17379 Take values from param structure, which is where these fields are
17380 actually configured.
17381 [b7e2854cf1c4] <stable>
17382
17383 2014-03-07 Murugan Vairavel <murugan@multicorewareinc.com>
17384
17385 * source/common/x86/asm-primitives.cpp,
17386 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
17387 asm: added code for blockcopy_ss and cleaned up asm primitives of
17388 blockcopy
17389 [2bf727dca27d]
17390
17391 2014-03-06 Steve Borho <steve@borho.org>
17392
17393 * source/Lib/TLibEncoder/TEncSbac.cpp:
17394 TEncSBac: remove unused define
17395 [33b67a53b6de]
17396
17397 * source/Lib/TLibCommon/TComSlice.h:
17398 TComSlice: nits
17399 [d049b579ff18]
17400
17401 2014-03-06 Satoshi Nakagawa <nakagawa424@oki.com>
17402
17403 * source/Lib/TLibCommon/TComDataCU.cpp,
17404 source/Lib/TLibCommon/TComDataCU.h:
17405 share m_mvpIdx[0] as m_mergeIdx
17406 [51f8673f8b35]
17407
17408 * source/Lib/TLibCommon/TComDataCU.cpp,
17409 source/Lib/TLibCommon/TComDataCU.h,
17410 source/Lib/TLibCommon/TComLoopFilter.cpp,
17411 source/Lib/TLibCommon/TComPattern.cpp,
17412 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17413 source/Lib/TLibCommon/TComPicSym.cpp,
17414 source/Lib/TLibCommon/TComPicSym.h,
17415 source/Lib/TLibCommon/TComPicYuv.cpp,
17416 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17417 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17418 source/Lib/TLibCommon/TComSlice.cpp,
17419 source/Lib/TLibCommon/TComSlice.h,
17420 source/Lib/TLibEncoder/TEncCu.cpp,
17421 source/Lib/TLibEncoder/TEncEntropy.cpp,
17422 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
17423 source/Lib/TLibEncoder/TEncSbac.cpp,
17424 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
17425 source/encoder/compress.cpp, source/encoder/cturow.cpp,
17426 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
17427 source/encoder/framefilter.cpp, source/encoder/reference.cpp:
17428 CU is square
17429
17430 unify TComDataCU::m_width and m_height to m_cuSize
17431 [5c502cce2a1f]
17432
17433 2014-03-06 Steve Borho <steve@borho.org>
17434
17435 * source/common/param.cpp:
17436 param: print vbv-init as a float
17437 [7209562f4cc8]
17438
17439 2014-03-06 Murugan Vairavel <murugan@multicorewareinc.com>
17440
17441 * source/test/pixelharness.cpp, source/test/pixelharness.h:
17442 Testbench code for blockcopy_ss
17443 [d46917d3ac2d]
17444
17445 * source/common/pixel.cpp, source/common/primitives.h:
17446 C primitive for blockcopy_ss
17447 [c078ccf260b2]
17448
17449 2014-03-06 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
17450
17451 * source/common/x86/intrapred16.asm, source/common/x86/intrapred8.asm,
17452 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.asm,
17453 source/common/x86/mc-a.asm, source/common/x86/pixel-util8.asm,
17454 source/common/x86/pixeladd8.asm, source/common/x86/sad-a.asm,
17455 source/common/x86/ssd-a.asm:
17456 cleanup the labels in assembly code with trailing colon
17457 [c97fc1244d0b]
17458
17459 2014-03-06 Steve Borho <steve@borho.org>
17460
17461 * source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/SEI.h,
17462 source/Lib/TLibCommon/TComBitStream.cpp,
17463 source/Lib/TLibCommon/TComBitStream.h,
17464 source/Lib/TLibCommon/TComMotionInfo.cpp,
17465 source/Lib/TLibCommon/TComMotionInfo.h,
17466 source/Lib/TLibCommon/TComPattern.h,
17467 source/Lib/TLibCommon/TComPicYuv.cpp,
17468 source/Lib/TLibCommon/TComPrediction.cpp,
17469 source/Lib/TLibCommon/TComRdCost.h,
17470 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17471 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17472 source/Lib/TLibCommon/TComSlice.h,
17473 source/Lib/TLibCommon/TComTrQuant.cpp,
17474 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
17475 source/Lib/TLibEncoder/NALwrite.cpp,
17476 source/Lib/TLibEncoder/TEncCu.cpp,
17477 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
17478 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
17479 source/common/common.h, source/common/cpu.cpp, source/common/cpu.h,
17480 source/common/dct.cpp, source/common/intrapred.cpp,
17481 source/common/ipfilter.cpp, source/common/md5.cpp,
17482 source/common/md5.h, source/common/mv.h, source/common/param.cpp,
17483 source/common/primitives.cpp, source/common/primitives.h,
17484 source/common/shortyuv.cpp, source/common/threading.h,
17485 source/common/threadpool.cpp, source/common/threadpool.h,
17486 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
17487 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/dct-
17488 ssse3.cpp, source/common/wavefront.cpp, source/common/wavefront.h,
17489 source/encoder/bitcost.cpp, source/encoder/bitcost.h,
17490 source/encoder/compress.cpp, source/encoder/encoder.cpp,
17491 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
17492 source/encoder/ratecontrol.cpp, source/input/input.cpp,
17493 source/input/y4m.cpp, source/input/yuv.cpp,
17494 source/output/output.cpp, source/output/y4m.cpp,
17495 source/output/yuv.cpp, source/output/yuv.h,
17496 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
17497 source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
17498 source/test/testbench.cpp, source/test/testharness.h,
17499 source/test/testpool.cpp, source/x265.cpp:
17500 common: consolidate system header includes into common.h
17501
17502 Hopefully this will prevent random compile failures in the future
17503 from missed cmath, climits, or memory.h includes.
17504 [ef83ccb3d34d]
17505
17506 * source/common/param.cpp:
17507 param: spelling nit
17508 [102ad4518b1c]
17509
17510 * source/common/param.cpp, source/x265.cpp:
17511 clarify valid values for --vbv-init
17512 [889edfd2c4c3]
17513
17514 2014-03-05 Steve Borho <steve@borho.org>
17515
17516 * source/Lib/TLibCommon/TComSlice.cpp:
17517 TComSlice: replace magic numbers with appropriate macro
17518 [a1d82df4d45e]
17519
17520 * source/Lib/TLibCommon/TComSlice.cpp,
17521 source/Lib/TLibCommon/TComSlice.h:
17522 TComSlice: remove unused checkNumPocTotalCurr argument to
17523 setRefPicList()
17524 [a35934b41412]
17525
17526 * source/Lib/TLibCommon/TComSlice.cpp,
17527 source/Lib/TLibCommon/TComSlice.h:
17528 TComSlice: remove unused checkCRA function
17529 [f1f5303613fc]
17530
17531 * source/encoder/dpb.cpp:
17532 dpb: remove commented code
17533 [1b8ebfd190a4]
17534
17535 * source/common/param.cpp, source/x265.cpp, source/x265.h:
17536 cli: add --crf-max option for param.rc.rfConstantMax
17537 [ba92d0695116]
17538
17539 * source/x265.cpp:
17540 cli: show compiled assembly status and detected SIMD arches on x265
17541 --version
17542 [37309f09aaa1]
17543
17544 * source/x265.cpp:
17545 cli: invalid preset or tune is a non-recoverabe error
17546 [228c0004d401]
17547
17548 * source/x265.cpp:
17549 cli: show condensed error message if no arguments are given
17550 [105fe9b2d189]
17551
17552 * source/x265.cpp:
17553 cli: reorder help for better clarity
17554 [64e76dcaf172]
17555
17556 * source/x265.cpp:
17557 cli: add --no- options to some VUI fields
17558
17559 This is a little pedantic since they default to false and likely
17560 won't change at any time.
17561 [3ffbee76c1f2]
17562
17563 * source/x265.cpp:
17564 cli: fix AQ CLI help. 0, 1, and 2 are valid options
17565 [bbaab3feef92]
17566
17567 * source/x265.cpp:
17568 cli: improve help text by describing command argument data types
17569 [f1dd1c83f3c6]
17570
17571 * source/x265.cpp:
17572 cli: improve CLI help for --overscan
17573 [f38f72976bcd]
17574
17575 * source/common/param.cpp, source/common/param.h, source/x265.cpp:
17576 cli: change --log option to --log-level, allow strings or ints
17577
17578 getopt allows partial matches, so --log N will still work like it
17579 always has. x265_parse_param() will accept "log" or "log-level"
17580
17581 Since the first entry in the name list corresponds to -1, the string
17582 list is not placed in x265.h, where all indices are 0 based.
17583 [50a04c4cf0ff]
17584
17585 * source/x265.cpp:
17586 cli: move "fps" between resolution and frame rate, same as input
17587 file line
17588 [01547efd182d]
17589
17590 * source/common/param.cpp:
17591 param: add VBV info to log data
17592 [081efde65d54]
17593
17594 * source/CMakeLists.txt:
17595 cmake: use x86 alias list rather than repeated string compares (nit)
17596 [e7d3835fe752]
17597
17598 2014-03-05 Murugan Vairavel <murugan@multicorewareinc.com>
17599
17600 * source/common/x86/asm-primitives.cpp:
17601 primitives: cleaned up asm_primitives of intra_pred_ang
17602 [3272416ac9b0]
17603
17604 2014-03-05 Steve Borho <steve@borho.org>
17605
17606 * source/encoder/encoder.cpp, source/output/y4m.cpp,
17607 source/output/yuv.cpp:
17608 encoder: assign internal colorspce to output pic.colorSpace
17609 [992b1b9e5cff]
17610
17611 * source/CMakeLists.txt, source/Lib/TLibCommon/TComPicYuv.cpp,
17612 source/encoder/encoder.cpp, source/input/y4m.cpp,
17613 source/input/yuv.cpp, source/output/y4m.cpp, source/output/yuv.cpp,
17614 source/x265.h:
17615 api: change meaning of pic.stride to be in bytes rather than pixels
17616 (fixes #35)
17617
17618 x264's pic.plane pointer is a uint8_t* so their input strides are
17619 byte based, ffmpeg is currently assuming our input strides are byte
17620 based. This commit will make that assumption correct.
17621
17622 This fixes non-4:2:0 YUV file read at the same time, and bumps
17623 X265_BUIDLD
17624 [eadec14402d6]
17625
17626 * source/CMakeLists.txt:
17627 cmake: add i686 to x86 alias list (closes #33)
17628 [6d55869ed5e2]
17629
17630 2014-03-05 Murugan Vairavel <murugan@multicorewareinc.com>
17631
17632 * source/common/x86/asm-primitives.cpp:
17633 asm: enable 10bit chroma_vpp and chroma_vps interpolation filters
17634 [c40c379f283c]
17635
17636 2014-03-04 David T Yuen <dtyx265@gmail.com>
17637
17638 * source/encoder/encoder.cpp, source/encoder/encoder.h,
17639 source/encoder/framefilter.cpp:
17640 Removed Encoder::m_csp and replaced it with x265_param::internalCsp
17641 [91936aab5ae9]
17642
17643 2014-03-04 Steve Borho <steve@borho.org>
17644
17645 * source/encoder/weightPrediction.cpp:
17646 weight: ensure chroma weights are initialized when skipped
17647 [5cad3652bee8]
17648
17649 * source/common/primitives.cpp:
17650 primitives: prevent multiple setup calls from reiniting primitive
17651 table
17652
17653 We don't want the function table to change in the middle of an
17654 encode. Improve logging so that --asm <SMALLINT> which does not
17655 result in any bitmap matches still reports "none!"
17656 [1a3d37f0a072]
17657
17658 * source/encoder/weightPrediction.cpp:
17659 weight: simplify and remove redundant logic
17660 [92c2f95b230b]
17661
17662 * source/encoder/weightPrediction.cpp:
17663 weight: do not attempt chroma weights if luma was not weighted
17664 [CHANGES OUTPUT]
17665
17666 This heuristic seems to improve a number of clips, particularly when
17667 chroma distortion is not considered in mode decision. This could
17668 cause some odd colors to be encoded, particularly noticable with
17669 large blocks.
17670 [864ed3e0d82e]
17671
17672 * source/encoder/reference.cpp, source/encoder/slicetype.cpp,
17673 source/encoder/weightPrediction.cpp:
17674 weight: use correct round value for denom 0 [CHANGES OUTPUT]
17675
17676 The denom -without the intermediate bit-depth factor applied- must
17677 be compared with zero, else the output of weight_pp will not match
17678 the real output of pixel weighting. This was done wrong in two
17679 different ways in three different places
17680 [cc64612d8e5e]
17681
17682 * source/CMakeLists.txt:
17683 cmake: bump X265_BUILD to 8, many API changes
17684
17685 These changes should be mostly harmless, I don't expect many API
17686 users have used the VUI fields yet, so a recompile against the new
17687 x265.h should be sufficient.
17688 [1bd1e6dbce28]
17689
17690 * source/CMakeLists.txt, source/dllmain.cpp:
17691 cmake: dllmain is no longer necessary since use of object libraries
17692 [6a6bf84ad146]
17693
17694 * source/x265.cpp:
17695 cli: do not call x265_setup_primitives() from printVersion()
17696
17697 It now leads to redundant console output and it was interfering with
17698 --asm command line arguent functionality
17699 [5fd56621f2fe]
17700
17701 * source/common/param.cpp, source/encoder/api.cpp, source/x265.cpp,
17702 source/x265.h:
17703 api: move cpuid to x265_param, same as x264
17704 [e0bdcfc9e20b]
17705
17706 * source/common/common.cpp, source/common/common.h,
17707 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
17708 api: move x265_ssim() to be an internal function, give a more
17709 descriptive name
17710
17711 This function really shouldn't have been a public function, and it
17712 was never added to the exports list.
17713 [8e1c69c0d4f1]
17714
17715 * source/common/param.cpp, source/encoder/encoder.cpp,
17716 source/x265.cpp, source/x265.h:
17717 api: move VUI settings into vui sub-struct of x265_param
17718 [3825b0059d6c]
17719
17720 * source/encoder/CMakeLists.txt:
17721 cmake: TEncCfg.h is caput
17722 [58bbbdd0a699]
17723
17724 2014-03-03 David T Yuen <dtyx265@gmail.com>
17725
17726 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17727 source/Lib/TLibCommon/TComSlice.cpp,
17728 source/Lib/TLibCommon/TComSlice.h,
17729 source/Lib/TLibEncoder/SEIwrite.cpp,
17730 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
17731 source/Lib/TLibEncoder/TEncCu.h,
17732 source/Lib/TLibEncoder/TEncSbac.cpp,
17733 source/Lib/TLibEncoder/TEncSearch.cpp,
17734 source/Lib/TLibEncoder/TEncSearch.h, source/common/param.cpp,
17735 source/encoder/api.cpp, source/encoder/compress.cpp,
17736 source/encoder/cturow.cpp, source/encoder/dpb.cpp,
17737 source/encoder/dpb.h, source/encoder/encoder.cpp,
17738 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
17739 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
17740 source/encoder/framefilter.h, source/encoder/ratecontrol.cpp,
17741 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
17742 source/encoder/slicetype.h, source/x265.cpp, source/x265.h:
17743 Merged TEncCfg into Encoder. A few VUI tweaks and fixes.
17744 [1020e2ac9890]
17745
17746 2014-03-04 Steve Borho <steve@borho.org>
17747
17748 * Merge with stable
17749 [31731a78d994]
17750
17751 * .hgtags:
17752 Added tag 0.8 for changeset 527d03c56d68
17753 [91ada5e78ee1] <stable>
17754
17755 2014-03-03 Steve Borho <steve@borho.org>
17756
17757 * source/CMakeLists.txt, source/common/CMakeLists.txt,
17758 source/common/param.cpp:
17759 cmake: detect strtok_r, use workaround when not present
17760 [3cbde0b893e3]
17761
17762 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
17763 Merge with stable
17764 [7fbecd22a0cd]
17765
17766 2014-03-03 Gopu Govindaswamy <Gopu Govindaswamy>
17767
17768 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
17769 source/encoder/framefilter.cpp:
17770 tcomsao: only get method is unused, set lcuboundary is required
17771
17772 references 742641e0f796
17773 [62fe3f905981]
17774
17775 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17776 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
17777 tcomsao: replaced All Pel type into pixel type
17778 [f3125b431ee5]
17779
17780 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17781 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
17782 tcomsao: use X265_MALLOC and X265_FREE in create() and Pel replaced
17783 with pixel
17784 [459b108299e0]
17785
17786 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17787 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
17788 source/encoder/framefilter.cpp:
17789 tcomsaq: remove unused get and set saolcuboundary methods
17790 [776983eda6ba]
17791
17792 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
17793 tencsao: Pel replaced with pixel type
17794 [0a2fcf8690b8]
17795
17796 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
17797 tencsao: new and delete replaced with X265_MALLOC and X265_FREE
17798 [02f953896795]
17799
17800 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
17801 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
17802 tencsao: remove unused calcSaoStatsBlock
17803 [2de527d2826d]
17804
17805 2014-03-03 Steve Borho <steve@borho.org>
17806
17807 * source/Lib/TLibEncoder/TEncEntropy.cpp:
17808 TEncEntropy: fix gcc warnings
17809 [e34503ff6627]
17810
17811 2014-03-03 Satoshi Nakagawa <nakagawa424@oki.com>
17812
17813 * source/Lib/TLibCommon/CommonDef.h,
17814 source/Lib/TLibCommon/TComDataCU.cpp,
17815 source/Lib/TLibCommon/TComDataCU.h,
17816 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17817 source/Lib/TLibCommon/TComTrQuant.cpp,
17818 source/Lib/TLibCommon/TComTrQuant.h,
17819 source/Lib/TLibCommon/TypeDef.h,
17820 source/Lib/TLibEncoder/TEncEntropy.cpp,
17821 source/Lib/TLibEncoder/TEncEntropy.h,
17822 source/Lib/TLibEncoder/TEncSbac.cpp,
17823 source/Lib/TLibEncoder/TEncSbac.h,
17824 source/Lib/TLibEncoder/TEncSearch.cpp:
17825 residual coding unit is always square
17826 [684781cad358]
17827
17828 2014-03-03 Nabajit Deka <Nabajit Deka>
17829
17830 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
17831 test bench : Modify chroma_p2s test function to handle csp.
17832 [eb7eb10568fb]
17833
17834 * source/common/x86/asm-primitives.cpp,
17835 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
17836 asm : remove chroma_p2s_i444, can be replaced by luma_p2s
17837 [e686e589f3ca]
17838
17839 2014-03-04 Aarthi Thirumalai <Aarthi Thirumalai>
17840
17841 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
17842 vbv: bug fixes in --no-cutree flow. Ignore intracosts in calculating
17843 satdcost per cu.
17844 [527d03c56d68] [0.8] <stable>
17845
17846 2014-03-03 Nabajit Deka <Nabajit Deka>
17847
17848 * source/test/mbdstharness.cpp:
17849 test bench : fix for test bench failure, caused by redundant malloc.
17850 [6662df480e39]
17851
17852 2014-03-02 Steve Borho <steve@borho.org>
17853
17854 * source/common/shortyuv.cpp:
17855 shortyuv: use optimized primitives where available
17856 [288a83d7e289]
17857
17858 * source/common/shortyuv.cpp, source/common/shortyuv.h:
17859 shortyuv: combine add/subtract methods together
17860 [ab05e3d951e1]
17861
17862 * source/Lib/TLibCommon/TComPicYuv.h,
17863 source/Lib/TLibCommon/TComPrediction.cpp,
17864 source/Lib/TLibCommon/TComPrediction.h,
17865 source/Lib/TLibCommon/TComWeightPrediction.cpp,
17866 source/Lib/TLibCommon/TComWeightPrediction.h,
17867 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17868 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
17869 source/Lib/TLibEncoder/TEncSearch.cpp,
17870 source/Lib/TLibEncoder/TEncSearch.h, source/common/shortyuv.cpp,
17871 source/common/shortyuv.h, source/encoder/compress.cpp:
17872 rename TShortYuv to ShortYuv
17873 [0352ee7f3c5a]
17874
17875 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
17876 source/common/shortyuv.cpp, source/common/shortyuv.h,
17877 source/encoder/cturow.cpp:
17878 use checked malloc in TShortYuv::create and TEncCu::create
17879
17880 And replace unsigned int with uint32_t in TShortYuv.cpp
17881 [a9bbdfaf2a59]
17882
17883 * source/Lib/TLibCommon/TComPrediction.h,
17884 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibEncoder/TEncCu.h,
17885 source/common/CMakeLists.txt, source/common/TShortYUV.cpp,
17886 source/common/TShortYUV.h, source/common/shortyuv.cpp,
17887 source/common/shortyuv.h:
17888 rename TShortYUV.* to shortyuv.*
17889 [5f2d25407800]
17890
17891 * source/common/param.cpp:
17892 param: ignore assignments within conditionals in param.cpp
17893 [54e2dcf770c4]
17894
17895 * source/Lib/TLibCommon/TComPattern.cpp,
17896 source/Lib/TLibCommon/TComPattern.h:
17897 TComPattern: remove hungarian prefixes
17898 [5a7c6e8536ac]
17899
17900 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17901 TComYuv: switch from Pel to pixel type
17902 [47a0575aad04]
17903
17904 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17905 source/Lib/TLibEncoder/TEncSearch.cpp,
17906 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
17907 source/encoder/cturow.h, source/encoder/encoder.cpp,
17908 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
17909 used checked malloc in TComYuv and TEncSearch, cleanly catch malloc
17910 failure
17911 [f6ae34250453]
17912
17913 * source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
17914 source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
17915 testbench: use CHECKED_MALLOC to cleanup init functions
17916 [d5269597c860]
17917
17918 * source/common/param.cpp:
17919 param: MSVC build fixes
17920 [fad6fba7cf2c]
17921
17922 2014-03-01 Steve Borho <steve@borho.org>
17923
17924 * source/common/param.cpp, source/x265.cpp, source/x265.h:
17925 api: add a fastdecode tune option, improve tune and preset CLI help
17926
17927 To match x264's tune names, removed "-" from zerolatency in x265.h
17928 but allowed either string to match internally. Same with fast-
17929 decode.
17930 [dc82d1805136]
17931
17932 * source/test/testbench.cpp:
17933 testbench: improve CLI help and error handling, use parseCpuName
17934 [46a799d747ae]
17935
17936 * source/common/primitives.cpp:
17937 primitves: update CPU name print logic from x264
17938 [93ba16e4f140]
17939
17940 * source/common/param.cpp, source/x265.cpp:
17941 param: fix handling of --no-scenecut within x265_param_parse(), add
17942 --no-b-adapt
17943 [fcbe9a361b5a]
17944
17945 * source/common/common.h, source/common/param.cpp,
17946 source/common/param.h, source/common/primitives.cpp,
17947 source/x265.cpp:
17948 cli: replace --cpuid with --[no-]asm arguments
17949
17950 The vector class library is long gone, so it is past-due to adopt
17951 x264's logic for specifying CPU architectures, or disabling ASM
17952 altogether.
17953 [26bd96a193d4]
17954
17955 2014-02-28 Satoshi Nakagawa <nakagawa424@oki.com>
17956
17957 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17958 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
17959 copy m_origYuv[depth] from m_origYuv[0]
17960 [ac6edd2ffb65]
17961
17962 2014-03-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17963
17964 * source/encoder/weightPrediction.cpp:
17965 weightp: implicit cast warning on vc10-x86.
17966
17967 Is lambda intended to be int?
17968 [4f2cbc5a981a]
17969
17970 2014-02-28 Praveen Tiwari <Praveen Tiwari>
17971
17972 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17973 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
17974 source/common/CMakeLists.txt, source/common/loopfilter.cpp,
17975 source/common/primitives.cpp, source/common/primitives.h,
17976 source/common/x86/asm-primitives.cpp,
17977 source/common/x86/loopfilter.asm, source/common/x86/loopfilter.h,
17978 source/test/pixelharness.cpp, source/test/pixelharness.h:
17979 asm: split SAO_EO_0 into separate primitive func
17980
17981 added assembly code and testbench support added loopfilter.cpp,
17982 loopfilter.h, loopfilter.asm files
17983 [000f86d72337]
17984
17985 2014-02-28 Kavitha Sampath <kavitha@multicorewareinc.com>
17986
17987 * source/common/CMakeLists.txt, source/common/bitstream.h,
17988 source/encoder/weightPrediction.cpp:
17989 weightp: use struct to cache data for reuse, refactor MC of
17990 reference planes
17991
17992 * do not consider intra/mv cost during MC phase
17993 * unconditionally motion-compensate luma and chroma blocks
17994 * include slice header cost estimate in weight analysis
17995 * weightCost() needed different paths for luma, chroma, and chroma444
17996 * pass a single stride to weightCost()
17997 [518313140b03]
17998
17999 2014-02-28 Steve Borho <steve@borho.org>
18000
18001 * source/common/param.cpp, source/encoder/encoder.cpp, source/x265.h:
18002 Merge with stable
18003 [5e9559d366b3]
18004
18005 2014-02-28 Gopu Govindaswamy <Gopu Govindaswamy>
18006
18007 * source/Lib/TLibCommon/TComPicYuv.cpp:
18008 tcompicyuv: initialize NULL to cu and bu offset buffers.
18009 [f6d079ad85bc] <stable>
18010
18011 2014-02-27 Steve Borho <steve@borho.org>
18012
18013 * source/common/common.cpp, source/common/param.cpp,
18014 source/encoder/encoder.cpp, source/encoder/weightPrediction.cpp,
18015 source/x265.h:
18016 api: make log-level 4 semi-official and expose in public API
18017 [994f046a8111] <stable>
18018
18019 2014-02-28 Satoshi Nakagawa <nakagawa424@oki.com>
18020
18021 * source/Lib/TLibCommon/TComTrQuant.cpp,
18022 source/Lib/TLibCommon/TComTrQuant.h,
18023 source/Lib/TLibEncoder/TEncSearch.cpp:
18024 square transform only
18025 [9b43c262124e]
18026
18027 * source/common/x86/asm-primitives.cpp:
18028 asm: enable count_nonzero for HIGH_BIT_DEPTH
18029 [df831b319c08]
18030
18031 2014-02-27 Steve Borho <steve@borho.org>
18032
18033 * source/common/param.cpp:
18034 tune: ensure lookahead is disabled for zero-latency
18035 [61c752e11424]
18036
18037 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
18038 asm: cleanup 444 chroma primitive setup, and other primitve reuse
18039 [8189f9e9a39f]
18040
18041 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
18042 source/encoder/slicetype.h:
18043 log: report consecutive B-frame histogram, as x264 does
18044 [b70a88e210f1]
18045
18046 * source/common/common.h, source/x265.h:
18047 api: expose X265_BFRAME_MAX to the user
18048 [83859780b174]
18049
18050 * Merge with stable
18051 [a892e66d5738]
18052
18053 2014-02-27 Sagar Kotecha <sagar@multicorewareinc.com>
18054
18055 * source/common/common.h, source/common/param.cpp, source/x265.cpp:
18056 param: add more validation checks to prevent encoder crashes
18057 [013589124615] <stable>
18058
18059 2014-02-27 Nabajit Deka <Nabajit Deka>
18060
18061 * source/common/x86/asm-primitives.cpp,
18062 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.h:
18063 asm: 10bpp code for vertical luma interpolation filters.
18064 [89a2d8780835]
18065
18066 2014-02-27 Aarthi Thirumalai <Aarthi Thirumalai>
18067
18068 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18069 vbv: bug fixes to stop mid frame qp adjustments to increase
18070 erratically.
18071
18072 maintain bufferFill for each FrameEncoder context and use that in
18073 rowWise qp adjustments for vbv. also fixes bugs in predicting row
18074 wise bits from satd costs.
18075 [875566aed8b1] <stable>
18076
18077 2014-02-27 Steve Borho <steve@borho.org>
18078
18079 * Merge with stable
18080 [8a84c10e5116]
18081
18082 * source/common/threading.h:
18083 threading: on linux gettimeofday() requires <sys/time.h>, UINT32_MAX
18084 is C only
18085 [bbe3f479c41f] <stable>
18086
18087 2014-02-27 Min Chen <chenm003@163.com>
18088
18089 * source/CMakeLists.txt:
18090 fix Issue #30, disable stack execute on gcc
18091 [8e8328cad1be] <stable>
18092
18093 * source/common/x86/ipfilter16.asm:
18094 fix typo problem on HIGH_BIT_DEPTH with non-PIC mode
18095 [52a47362c5c3] <stable>
18096
18097 2014-02-27 Praveen Tiwari <Praveen Tiwari>
18098
18099 * source/common/x86/intrapred8.asm:
18100 all_angs_pred_32x32, asm code improvement
18101 [63aadc802f18]
18102
18103 2014-02-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18104
18105 * Merge from stable
18106 [b92f341688c4]
18107
18108 * source/encoder/ratecontrol.cpp:
18109 ratecontrol: fix bitrate issue in 10-bit CRF mode
18110 [2fb85daef8af] <stable>
18111
18112 2014-02-27 Steve Borho <steve@borho.org>
18113
18114 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
18115 source/Lib/TLibEncoder/WeightPredAnalysis.h, source/common/vec
18116 /intra-sse41.cpp, source/common/vec/intra-ssse3.cpp,
18117 source/common/vec/ipfilter-sse41.cpp,
18118 source/encoder/weightPrediction.h:
18119 Merge with default (prep for 0.8)
18120 [0a6dd816d2e2] <stable>
18121
18122 2014-02-26 Steve Borho <steve@borho.org>
18123
18124 * source/common/threading.h:
18125 threading: add a timedWait() method to Event class
18126 [c9a0802b64ac]
18127
18128 * source/common/threading.cpp, source/common/threading.h:
18129 threading: use a pthread conditional variable instead of semaphore
18130
18131 This allows more control over the exact behavior, removes the global
18132 nature of the semaphore on some systems, and will allow the addition
18133 of a timed wait to the Event class. It appears to resolve the
18134 deadlocks reproduced in the pool test on Mac OS X; hopefully on
18135 Linux as well.
18136 [8ac1e112f3ea]
18137
18138 2014-02-26 Murugan Vairavel <murugan@multicorewareinc.com>
18139
18140 * source/common/x86/asm-primitives.cpp,
18141 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.h,
18142 source/test/ipfilterharness.cpp:
18143 asm: 10bpp code for chroma interpolation filters
18144 [d317026aa0ad]
18145
18146 2014-02-26 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18147
18148 * source/common/x86/asm-primitives.cpp,
18149 source/common/x86/intrapred16.asm:
18150 asm: 16bpp assembly code for intra_pred_ang16 - all modes
18151 [41bc98a92b49]
18152
18153 2014-02-07 Steve Borho <steve@borho.org>
18154
18155 * source/test/CMakeLists.txt, source/test/testpool.cpp:
18156 reintroduce thread pool unit test
18157
18158 It is reproducing a deadlock on POSIX roughly once per 1M runs
18159 [d36764800215]
18160
18161 2014-02-26 Sagar Kotecha <sagar@multicorewareinc.com>
18162
18163 * source/common/param.cpp:
18164 param: add some more validation checks
18165 [fa23612e2850]
18166
18167 2014-02-26 Santhoshini Sekar <santhoshini@multicorewareinc.com>
18168
18169 * source/encoder/frameencoder.cpp:
18170 rc:bug fix-store average Qp as decided by AQ only if aq is enabled
18171 [9b0c9b76d902]
18172
18173 2014-02-26 Praveen Tiwari <Praveen Tiwari>
18174
18175 * source/common/x86/intrapred8.asm:
18176 all_angs_pred_32x32, asm code improvement
18177 [0b9c77b41599]
18178
18179 2014-02-26 Satoshi Nakagawa <nakagawa424@oki.com>
18180
18181 * source/encoder/slicetype.cpp:
18182 fix: uninitialized variable
18183 [483e699a9527]
18184
18185 2014-02-26 Steve Borho <steve@borho.org>
18186
18187 * source/encoder/encoder.cpp:
18188 encoder: tweak slice stats to more closely match x264 outputs
18189 [46207f6f5c8c]
18190
18191 2014-02-25 Steve Borho <steve@borho.org>
18192
18193 * source/common/threading.cpp, source/common/threading.h:
18194 threading: use atomic increment when building semaphore object
18195
18196 Required moving atomic defines to the top of threading.h, removing
18197 the need for potentially redundant includes of unistd.h
18198 [948626475a46]
18199
18200 2014-02-26 Aarthi Thirumalai <Aarthi Thirumalai>
18201
18202 * source/encoder/encoder.cpp:
18203 encoder: log avg Qp decided by AQ for each slice type
18204 [b47fc23c75df]
18205
18206 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
18207 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
18208 TComPic: store average Qp (as decided by AQ) used per frame.
18209 [298133a7bd53]
18210
18211 * source/Lib/TLibCommon/TComSlice.cpp,
18212 source/Lib/TLibCommon/TComSlice.h, source/encoder/ratecontrol.cpp:
18213 remove redundant state m_avgQpRc from TComSlice.
18214
18215 This has been moved to TComPic already.
18216 [3bfd7b2a54ed]
18217
18218 * source/encoder/slicetype.cpp:
18219 lookahead: bug fix for b-adapt 0 cost estimates (closes #26)
18220
18221 don't overwrite lastNonB reference with current frame, 'lastNonB'
18222 state was already replaced with current frame's lowres at this
18223 point.
18224
18225 it mostly affected b-adapt=0 but could have affected any of the
18226 modes if they had not already estimated this particular P frame cost
18227 before this point.
18228 [9eea995a2347]
18229
18230 2014-02-23 Satoshi Nakagawa <nakagawa424@oki.com>
18231
18232 * source/Lib/TLibCommon/TComDataCU.cpp,
18233 source/Lib/TLibCommon/TComDataCU.h,
18234 source/Lib/TLibCommon/TComMotionInfo.cpp,
18235 source/Lib/TLibCommon/TComMotionInfo.h,
18236 source/Lib/TLibEncoder/TEncCu.cpp,
18237 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
18238 reduce unnecessary CU data set/clear (no neighbor access)
18239
18240 mvd, mvpIdx, mergeIndex
18241 [f37c84ffe293]
18242
18243 2014-02-24 Satoshi Nakagawa <nakagawa424@oki.com>
18244
18245 * source/Lib/TLibCommon/TComPrediction.cpp,
18246 source/Lib/TLibCommon/TComPrediction.h,
18247 source/Lib/TLibEncoder/TEncCu.cpp,
18248 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
18249 refine MC - cleanup unnecessary code paths, reduce copies for non-WP
18250 uni-pred
18251 [5241a8efb684]
18252
18253 2014-02-25 Nabajit Deka <Nabajit Deka>
18254
18255 * source/common/x86/asm-primitives.cpp,
18256 source/test/ipfilterharness.cpp:
18257 asm: enable 10bit asm filter functions, fix test harness
18258 [0b63fa220e19]
18259
18260 * source/common/CMakeLists.txt, source/common/x86/const-a.asm,
18261 source/common/x86/ipfilter16.asm:
18262 asm: add new file for 10bpp asm filter functions
18263 [a8e822a95fad]
18264
18265 2014-02-25 Steve Borho <steve@borho.org>
18266
18267 * source/encoder/api.cpp:
18268 api: check for NULL param pointer in x265_encoder_open
18269 [b7a1a636b77b]
18270
18271 2014-02-25 Sagar Kotecha <sagar@multicorewareinc.com>
18272
18273 * source/common/common.cpp, source/encoder/CMakeLists.txt,
18274 source/encoder/api.cpp, source/encoder/encoder.cpp:
18275 move public encoder and picture functions to api.cpp
18276 [5fde224bab34]
18277
18278 2014-02-25 Steve Borho <steve@borho.org>
18279
18280 * source/common/CMakeLists.txt, source/common/vec/intra-sse41.cpp,
18281 source/common/vec/vec-primitives.cpp:
18282 vec: remove intra-sse41.cpp, full asm coverage for intra prediction
18283 [b456566376ad]
18284
18285 2014-02-25 Praveen Tiwari <Praveen Tiwari>
18286
18287 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
18288 source/common/x86/intrapred8.asm:
18289 all_angs_pred_32x32, asm code
18290 [ea1c03303b16]
18291
18292 2014-02-25 Steve Borho <steve@borho.org>
18293
18294 * source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
18295 source/x265.cpp:
18296 input: workaround MSVC runtime bugs in older compilers (fixes #27)
18297
18298 Prior to VC11, ifstream::pos_type could not handle 64bit sizes
18299 correctly
18300 [a4c676d671d6]
18301
18302 * source/encoder/weightPrediction.cpp:
18303 weight: bump weight analysis logging to --log 4, reduce spew
18304 [1c467346ece8]
18305
18306 * source/encoder/encoder.cpp, source/encoder/encoder.h:
18307 encoder: log the average QP used per frame, per I slices, P, and B
18308 slices
18309 [a41b6a5491ed]
18310
18311 * source/encoder/encoder.cpp:
18312 encoder: rename _param parameter to p for readability
18313 [cfc5647635e0]
18314
18315 * source/test/mbdstharness.cpp:
18316 mbdstharness: nits
18317 [9b48a2847d97]
18318
18319 * source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
18320 testbench: remove redundant casts of X265_MALLOC() output
18321 [62da491b8b22]
18322
18323 2014-02-25 Aarthi Thirumalai <Aarthi Thirumalai>
18324
18325 * source/encoder/ratecontrol.cpp:
18326 rc: store qp in TComPic::avgQpRc in CQP.
18327 [b86a5ccd3474]
18328
18329 2014-02-24 Steve Borho <steve@borho.org>
18330
18331 * source/common/param.cpp, source/common/param.h,
18332 source/input/input.cpp, source/input/input.h, source/input/y4m.cpp,
18333 source/input/y4m.h, source/input/yuv.cpp, source/input/yuv.h,
18334 source/x265.cpp:
18335 cli: refactor handling of input file parameters
18336
18337 * allow y4m header to provide aspect ratio
18338 * allow user to override Y4M aspect ratio or frame rate
18339 * allow user to provide data possibly missing from Y4M header
18340 * do not clamp framesToBeEncoded to predicted file size (stop at EOF)
18341 [651c0bc9e280]
18342
18343 * source/encoder/encoder.cpp:
18344 encoder: enable timing info in VPS
18345 [5e375c097de4]
18346
18347 2014-02-25 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18348
18349 * source/common/x86/const-a.asm, source/common/x86/mc-a.asm,
18350 source/test/pixelharness.cpp, source/test/pixelharness.h:
18351 asm: fixed invalid testbench input for addAvg primitive, fixed
18352 addition overflow for some block sizes.
18353 [7d009bc2953b]
18354
18355 2014-02-24 David T Yuen <dtyx265@gmail.com>
18356
18357 * source/common/param.cpp, source/x265.cpp, source/x265.h:
18358 Updated x265_param_parse to use parseName & a few nit fixes
18359 [1f6311b0b2a7]
18360
18361 2014-02-25 Steve Borho <steve@borho.org>
18362
18363 * source/common/threading.h:
18364 threading: recover include of unistd.h within #if __GNUC__ section
18365
18366 Fixes MinGW build
18367 [a36a669d09e8]
18368
18369 2014-02-24 Steve Borho <steve@borho.org>
18370
18371 * source/Lib/TLibCommon/TComSlice.h:
18372 TComSlice: nits
18373 [6214d2609ea8]
18374
18375 * source/common/param.cpp:
18376 param: simplify checks of max ctu size, improve abort message
18377 [b8dab8ef744c]
18378
18379 * source/common/threading.h:
18380 threading: include process id in name passed to sem_open() and
18381 sem_unlink()
18382
18383 This should prevent race conditions between x265 processes spinning
18384 up on the same CPUs, and generally make name conflicts very rare.
18385 [1a93191f0c23]
18386
18387 * source/x265.cpp:
18388 cli: remove undocumented and unimplemented --depth CLI option
18389 [18894c99e1a7]
18390
18391 * source/Lib/TLibCommon/TComPicYuv.cpp,
18392 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
18393 source/Lib/TLibCommon/TypeDef.h, source/common/param.cpp,
18394 source/test/intrapredharness.cpp, source/test/mbdstharness.cpp,
18395 source/test/pixelharness.cpp, source/test/testbench.cpp:
18396 Remove g_bitDepth; internal bit depth is always known at compile
18397 time
18398
18399 Simplify param->internalBitDepth checks, remove test bench hacks
18400 [e0af601defb0]
18401
18402 2014-02-24 Sagar Kotecha <sagar@multicorewareinc.com>
18403
18404 * source/common/CMakeLists.txt, source/common/common.cpp,
18405 source/common/common.h, source/common/param.cpp,
18406 source/common/param.h, source/encoder/encoder.cpp, source/x265.cpp:
18407 consolidate param functionality into param.cpp
18408 [6d584320108c]
18409
18410 2014-02-24 Aarthi Thirumalai <Aarthi Thirumalai>
18411
18412 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18413 rc: implement abr reset for single pass ABR + VBV
18414 [ebaa34c8f651]
18415
18416 * source/encoder/frameencoder.cpp:
18417 vbv: refactor, implement row wise qp updates only if vbv is enabled.
18418 [d0aea0cfd263]
18419
18420 * source/encoder/ratecontrol.cpp:
18421 rc: bug fix - clip qp before setting into TComPic:m_avgQpRc.
18422
18423 This fix resolves Encoder crash caused due to invalid qp being used
18424 in each CU.
18425 [acaed9dbaae2]
18426
18427 2014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
18428
18429 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
18430 tcomrom: remove unused g_sigLastScan8x8 and g_sigLastScanCG32x32
18431 variables
18432 [57ce7f0f4f4c]
18433
18434 2014-02-23 Aarthi Thirumalai <Aarthi Thirumalai>
18435
18436 * source/encoder/ratecontrol.cpp:
18437 vbv: bug fix in clipQScale
18438 [80caa9f00d7c]
18439
18440 2014-02-22 Steve Borho <steve@borho.org>
18441
18442 * source/encoder/encoder.cpp:
18443 encoder: use more frame threads when WPP is disabled
18444
18445 Use up to one frame thread per CPU, but cap the frame threads at
18446 half the number of CTU rows. Any more frame threads than that is
18447 generally counter- productive.
18448 [d1cd52bb3461]
18449
18450 2014-02-23 Steve Borho <steve@borho.org>
18451
18452 * source/common/common.cpp:
18453 common: c is a char pointer
18454 [07537439599b]
18455
18456 2014-02-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18457
18458 * source/Lib/TLibCommon/NAL.h:
18459 NAL: Define a default constructor for base class to prevent warning
18460 [6e7c2f5b7b22]
18461
18462 * source/common/common.cpp:
18463 common: assignment inside conditional expression
18464 [39e2c8bda975]
18465
18466 2014-02-22 Steve Borho <steve@borho.org>
18467
18468 * source/common/threadpool.cpp, source/common/threadpool.h,
18469 source/encoder/encoder.cpp:
18470 encoder: use cpu count, rather than pool size, to auto-detect frame
18471 threads
18472
18473 Normally the pool size is the same as the detected cpu count, but
18474 when WPP is disabled, the thread count is 1, and this was breaking
18475 auto-detection of frame threads. Now it will properly use -F4 on
18476 desktops when WPP is disabled.
18477 [734f106295df]
18478
18479 * source/output/output.h, source/output/y4m.h, source/output/yuv.h,
18480 source/x265.cpp:
18481 cli: add a line of logging describing reconstructed image file
18482 [8ec8aba042cc]
18483
18484 * source/Lib/TLibEncoder/TEncSbac.cpp:
18485 TEncSbac: nits
18486 [a640cde93d87]
18487
18488 * source/Lib/TLibEncoder/TEncSbac.cpp,
18489 source/Lib/TLibEncoder/TEncSbac.h:
18490 TEncSbac: cleanup header
18491 [c61a1bf68c57]
18492
18493 * source/Lib/TLibCommon/TComBitStream.cpp:
18494 TComBitstream: nits
18495 [7fb5a8e1465a]
18496
18497 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.h:
18498 NAL: further simplifications
18499 [d8d61736f2fc]
18500
18501 * source/Lib/TLibCommon/NAL.h,
18502 source/Lib/TLibCommon/TComBitStream.cpp,
18503 source/Lib/TLibCommon/TComBitStream.h,
18504 source/Lib/TLibEncoder/NALwrite.cpp,
18505 source/Lib/TLibEncoder/NALwrite.h:
18506 NAL: cleanup write method
18507
18508 This whole class hierarchy is way over-engineered
18509 [44a42cd7f186]
18510
18511 * source/Lib/TLibEncoder/NALwrite.h, source/encoder/frameencoder.cpp:
18512 NAL: use explicit reset method instead of copy constructor
18513 [155fdcd113fb]
18514
18515 * source/common/common.cpp:
18516 common: avoid calling atobool() on non-boolean strings
18517 [f641d88f95dd]
18518
18519 * source/CMakeLists.txt:
18520 cmake: make /WX optional for MSVC
18521 [050273a10519]
18522
18523 * source/common/common.cpp:
18524 common: refactor logic to avoid compiler warnings
18525 [a6cf678f7981]
18526
18527 2014-02-21 Steve Borho <steve@borho.org>
18528
18529 * source/encoder/encoder.cpp:
18530 encoder: warn about the incomplete nature of the range extensions
18531 [82b05314cc4c]
18532
18533 * source/common/common.cpp, source/x265.h:
18534 api: add an enum for extended SAR
18535 [9d550a10215b]
18536
18537 * source/common/common.cpp:
18538 common: only validate sarWidth and sarHeight when aspectRatioIdx ==
18539 255
18540 [06d3b23ef3b6]
18541
18542 * source/common/common.cpp:
18543 common: fix --extended-sar CLI option atobool() was setting
18544 bError=true
18545 [58ba28e0c9a5]
18546
18547 * source/common/common.cpp:
18548 common: disallow SAR numerator or denominator of 0
18549 [f4bbbae743de]
18550
18551 * source/common/common.cpp:
18552 common: improve error detection and handling in x265_param_parse
18553
18554 * check return code of sscanf
18555 * check int parameters are ints, bools are bools, etc
18556
18557 API users (not using the CLI and getopt)
18558 * allow no-foo and nofoo
18559 * allow foo-bar or foo_bar
18560 * no-wpp=1 works as expected
18561 [0c3cb8fadb6f]
18562
18563 * source/Lib/TLibCommon/TComPic.cpp, source/common/lowres.cpp,
18564 source/common/lowres.h:
18565 lowres: no need to disable AQ on malloc failure, encoder will abort
18566
18567 And thus there's no need to pass aqMode as an int pointer
18568 [ff3306fae207]
18569
18570 * source/Lib/TLibCommon/ContextTables.h,
18571 source/Lib/TLibCommon/TComDataCU.cpp,
18572 source/Lib/TLibCommon/TComPicYuv.cpp, source/common/common.cpp,
18573 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
18574 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
18575 source/test/pixelharness.cpp, source/x265.cpp:
18576 coding style - hand cleanup sections better than uncrustify wanted
18577 to
18578 [66c56fc5dfb9]
18579
18580 * source/Lib/TLibCommon/TComDataCU.cpp,
18581 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
18582 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibEncoder/TEncCfg.h,
18583 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
18584 source/common/primitives.cpp, source/common/x86/asm-primitives.cpp,
18585 source/common/x86/ipfilter8.h, source/encoder/compress.cpp,
18586 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
18587 source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
18588 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
18589 source/encoder/weightPrediction.cpp, source/test/mbdstharness.h,
18590 source/test/pixelharness.cpp, source/x265.cpp, source/x265.h:
18591 mechanically enforce coding style (uncrustify)
18592 [e118b38a5ef8]
18593
18594 * source/common/common.cpp:
18595 common: g_convertToBit cannot be indexed with UINT_MAX either
18596 [047cdb785e84]
18597
18598 2014-02-21 Sumalatha Polureddy <Sumalatha Polureddy>
18599
18600 * source/common/common.cpp:
18601 common: validate maximum ctusize
18602 [ee58b2bb6f3c]
18603
18604 * source/common/common.cpp:
18605 common: validate "bframe" and "maxCUSize" for positive values
18606 [b8346a9f7020]
18607
18608 2014-02-21 Satoshi Nakagawa <nakagawa424@oki.com>
18609
18610 * source/Lib/TLibEncoder/TEncSearch.cpp,
18611 source/Lib/TLibEncoder/TEncSearch.h:
18612 m_tempPel as static const
18613 [b4d6162139f5]
18614
18615 2014-02-20 Aarthi Thirumalai <Aarthi Thirumalai>
18616
18617 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
18618 vbv: integrate row level vbv ratecontrol at each major row diagonal.
18619 [2115a7771ce1]
18620
18621 2014-02-21 Aarthi Thirumalai <Aarthi Thirumalai>
18622
18623 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18624 vbv: implement row wise vbvRateControl at each row diagonal
18625 [fea3b6fa376b]
18626
18627 2014-02-20 Aarthi Thirumalai <Aarthi Thirumalai>
18628
18629 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
18630 source/encoder/ratecontrol.h:
18631 vbv: fix bugs in vbv flow with single pass ABR
18632 [dd1bca7091d5]
18633
18634 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
18635 source/encoder/ratecontrol.h:
18636 vbv: Add row predictors, rc states for vbv.
18637 [b89687d958f8]
18638
18639 * source/encoder/slicetype.cpp:
18640 vbv: enable vbvLookahead for Keyframes; accumulate frame rowSatds
18641 from lowres rowSatds.
18642 [34774abb8677]
18643
18644 2014-02-21 Aarthi Thirumalai <Aarthi Thirumalai>
18645
18646 * source/Lib/TLibCommon/TComDataCU.cpp,
18647 source/Lib/TLibCommon/TComDataCU.h,
18648 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
18649 source/common/lowres.h, source/encoder/encoder.cpp,
18650 source/encoder/encoder.h, source/x265.h:
18651 vbv: Introduce states to hold row data for row level VBV
18652 ratecontrol.
18653 [00de531690c9]
18654
18655 2014-02-21 Steve Borho <steve@borho.org>
18656
18657 * source/Lib/TLibCommon/TComDataCU.h,
18658 source/Lib/TLibEncoder/TEncSearch.cpp:
18659 Backed out changeset: cb3a2795a60e
18660
18661 This was found to change output bitstreams, so the vectors must not
18662 have beeen always zero
18663 [5e2043f89aa1]
18664
18665 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
18666 source/Lib/TLibEncoder/TEncSearch.cpp:
18667 TComYuv: combine copyPartToPartLuma and copyPartToPartChroma
18668
18669 The new function tries to ensure the proper chroma block is copied,
18670 when necessary.
18671 [13f73b241382]
18672
18673 2014-02-20 Steve Borho <steve@borho.org>
18674
18675 * source/Lib/TLibEncoder/TEncSearch.cpp,
18676 source/Lib/TLibEncoder/TEncSearch.h:
18677 TEncSearch: remove redundant m_hChromaShift, m_vChromaShift
18678
18679 TComPrediction has these members, and TEncSearch derives from
18680 TComPrediction
18681 [406abea93732]
18682
18683 * source/Lib/TLibEncoder/TEncSearch.cpp,
18684 source/Lib/TLibEncoder/TEncSearch.h:
18685 TEncSearch: use X265_MALLOC for UChar buffers, and uint8_t type
18686 [6b476469c212]
18687
18688 * source/Lib/TLibEncoder/TEncSearch.cpp,
18689 source/Lib/TLibEncoder/TEncSearch.h:
18690 TEncSearch: use X265_MALLOC to allocate pixel buffers, and pixel
18691 type
18692 [fc3db1cfef2a]
18693
18694 2014-02-21 Satoshi Nakagawa <nakagawa424@oki.com>
18695
18696 * source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp,
18697 source/test/mbdstharness.h:
18698 asm: update count_nonzero, add testbench
18699 [0c19c44af2d3]
18700
18701 2014-02-20 David T Yuen <dtyx265@gmail.com>
18702
18703 * source/common/common.cpp:
18704 Added vui parameter checking
18705 [6ade3939ef2d]
18706
18707 2014-02-20 Min Chen <chenm003@163.com>
18708
18709 * source/Lib/TLibEncoder/TEncCu.cpp:
18710 temp fix for out-of-range tmvp (prevents hash mismatch with slower
18711 presets)
18712
18713 we're not sure why this is necessary, so it must be investigated
18714 further.
18715 [a78935e92bf9]
18716
18717 2014-02-20 Steve Borho <steve@borho.org>
18718
18719 * source/Lib/TLibEncoder/TEncSearch.cpp,
18720 source/Lib/TLibEncoder/TEncSearch.h:
18721 TEncSearch: rename m_qtTempTransformSkipTComYuv to
18722 m_qtTempTransformSkipYuv
18723 [894bde574bc1]
18724
18725 * source/Lib/TLibEncoder/TEncSearch.cpp:
18726 TEncSearch: nits
18727 [f32bbe3ab4f8]
18728
18729 * source/Lib/TLibEncoder/TEncSearch.cpp,
18730 source/Lib/TLibEncoder/TEncSearch.h:
18731 TEncSearch: rename m_qtTempTComYuv to m_qtTempShortYuv
18732
18733 It was always stupid to have the member variable include the full
18734 type name, and it has been the wrong type name for more than 10
18735 months.
18736 [6107faa8f8a6]
18737
18738 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
18739 TComYuv: merge copyPartToPartLuma
18740 [5b08cf274fd7]
18741
18742 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
18743 TComYuv: merge copyPartToPartChroma() with copyPartToPartYuv
18744 [1ed4cd65af19]
18745
18746 * source/Lib/TLibCommon/TComPrediction.cpp,
18747 source/Lib/TLibCommon/TComPrediction.h:
18748 TComPrediction: remove unused m_predAllAngsBuf, properly init
18749 pointers
18750 [125459e883c3]
18751
18752 * source/Lib/TLibCommon/TComPrediction.cpp,
18753 source/Lib/TLibCommon/TComPrediction.h, source/encoder/compress.cpp:
18754 TComPrediction: remove trivial access methods, use pixel types
18755 [3bb5337cc665]
18756
18757 * source/Lib/TLibCommon/TComPrediction.h:
18758 TComPrediction: remove default argument values for internal
18759 functions
18760 [744553cfdaca]
18761
18762 * source/Lib/TLibCommon/TComPrediction.cpp,
18763 source/Lib/TLibCommon/TComPrediction.h:
18764 TComPrediction: do not pass output pointer as deference
18765
18766 The function cannot change the pointer
18767 [a090acec64cd]
18768
18769 * source/Lib/TLibCommon/TComPrediction.cpp,
18770 source/Lib/TLibCommon/TComPrediction.h,
18771 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
18772 TComPrediction: add missing m_ prefixes to member variables
18773 [8a79a2a0433c]
18774
18775 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
18776 TComYuv: remove unnecessary dup pointer checks
18777 [034b21f14834]
18778
18779 * source/Lib/TLibCommon/TComYuv.h:
18780 TComYuv: remove more default argument values
18781 [01dfbf18f791]
18782
18783 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
18784 TComYuv: merge methods together for clarity
18785 [873a5a72d85e]
18786
18787 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
18788 source/encoder/compress.cpp:
18789 TComYuv: remove default argument values
18790 [9c79a713e9af]
18791
18792 * source/Lib/TLibCommon/TComYuv.h:
18793 TComYuv: make some methods private, for future optimizations
18794 [7afb7b6815c0]
18795
18796 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
18797 TComYuv: remove hungarian prefixes
18798 [3d89b437f7f7]
18799
18800 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
18801 TComYuv: remove unused copyPartToPartChroma() method
18802 [549f5bf10211]
18803
18804 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
18805 source/Lib/TLibEncoder/TEncSearch.cpp:
18806 TComYuv: fix size of chroma partition copy (resolves placebo heap
18807 corruption)
18808 [a6eee111fd6f]
18809
18810 2014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
18811
18812 * source/Lib/TLibCommon/TComRom.cpp,
18813 source/Lib/TLibEncoder/TEncSearch.cpp:
18814 tcomrom: move ADI intraModeNumFast table to estIntraPredQT(), no
18815 need for global variable
18816 [3993d404361b]
18817
18818 2014-02-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18819
18820 * source/encoder/ratecontrol.cpp:
18821 ratecontrol: fix bug in acEnergyVar with multiple color spaces
18822 [fec3cab87043]
18823
18824 2014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
18825
18826 * source/Lib/TLibCommon/CommonDef.h,
18827 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
18828 tcomrom: scaning order table g_sigLastScan replaced with g_scanOrder
18829
18830 Scaning order table initialization moved into initRom() and same
18831 scaning order table can be used for both 444 and 420
18832 [d4669065e692]
18833
18834 2014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
18835
18836 * source/Lib/TLibCommon/TComDataCU.h,
18837 source/Lib/TLibEncoder/TEncSearch.cpp:
18838 cleanup useless getMvPred*(): always zero mv
18839 [cb3a2795a60e]
18840
18841 2014-02-20 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18842
18843 * source/common/x86/dct8.asm:
18844 asm: correct improper macro
18845 [ce20bff2027e]
18846
18847 2014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
18848
18849 * source/Lib/TLibEncoder/TEncSearch.cpp,
18850 source/Lib/TLibEncoder/TEncSearch.h:
18851 remove unused code
18852 [2cede5a7c1bf]
18853
18854 2014-02-20 Murugan Vairavel <murugan@multicorewareinc.com>
18855
18856 * source/common/x86/pixel-util8.asm:
18857 asm: modified the range of scale value in dequant
18858 [613fbb0687c9]
18859
18860 2014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
18861
18862 * source/Lib/TLibCommon/TComDataCU.h,
18863 source/Lib/TLibEncoder/TEncSearch.cpp:
18864 reduce addClip
18865 [fe90b71dc775]
18866
18867 2014-02-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18868
18869 * source/CMakeLists.txt:
18870 api: bump up X265_BUILD to 7 (refer previous commit)
18871 [6cb88b30deef]
18872
18873 2014-02-19 David T Yuen <dtyx265@gmail.com>
18874
18875 * source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
18876 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/common.cpp,
18877 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
18878 Added command line options to generate a VUI and add it to the coded
18879 bitstream
18880 [04a72988d48f]
18881
18882 2014-02-19 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18883
18884 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
18885 source/common/x86/intrapred16.asm, source/common/x86/mc-a.asm,
18886 source/test/pixelharness.cpp:
18887 asm-16bpp: code for addAvg luma and chroma all sizes
18888 [4670fed41ec7]
18889
18890 2014-02-19 Steve Borho <steve@borho.org>
18891
18892 * source/encoder/ratecontrol.cpp:
18893 ratecontrol: recover CRF behavior following fps changeset
18894 a6c9a476b205
18895 [3389061b75a4]
18896
18897 * source/encoder/weightPrediction.cpp:
18898 weightp: do not log weights if none are enabled
18899 [d2ebbbbdbe75]
18900
18901 * source/encoder/frameencoder.cpp,
18902 source/encoder/weightPrediction.cpp:
18903 weightp: don't allow the PPS weightp flag to be changed by weight
18904 analysis
18905 [16602968225f]
18906
18907 * source/Lib/TLibEncoder/TEncSearch.cpp:
18908 TEncSearch: white-space nits
18909 [e465b8c259f7]
18910
18911 * source/Lib/TLibEncoder/TEncSbac.cpp:
18912 TEncSbac: white-space nits
18913 [f60c76257811]
18914
18915 2014-02-19 David T Yuen <dtyx265@gmail.com>
18916
18917 * source/Lib/TLibCommon/TComRom.h,
18918 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
18919 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
18920 Fixed ENC_DEC_TRACE warnings and errors
18921 [1c78bd13a14f]
18922
18923 2014-02-19 ashok <ashok@multicorewareinc.com>
18924
18925 * source/Lib/TLibCommon/TComDataCU.cpp,
18926 source/Lib/TLibCommon/TComDataCU.h,
18927 source/Lib/TLibCommon/TComTrQuant.cpp,
18928 source/Lib/TLibEncoder/TEncSbac.cpp:
18929 fix for 420 binary mismatch for --preset=slower option
18930 [591ca91f0501]
18931
18932 2014-02-19 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18933
18934 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
18935 source/common/x86/dct8.asm, source/test/mbdstharness.cpp:
18936 asm: added 16bpp support for dct[4x4, 8x8], idct4x4, dst4x4 and
18937 idst4x4 primitives
18938 [96e94ea91f58]
18939
18940 2014-02-19 Steve Borho <steve@borho.org>
18941
18942 * source/common/common.cpp, source/encoder/encoder.cpp:
18943 prevent implicit type conversion warnings from MSVC
18944 [9ddc919f678a]
18945
18946 2014-02-18 Steve Borho <steve@borho.org>
18947
18948 * source/CMakeLists.txt, source/Lib/TLibCommon/TComSlice.cpp,
18949 source/Lib/TLibCommon/TComSlice.h, source/common/common.cpp,
18950 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
18951 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
18952 source/encoder/slicetype.cpp, source/input/input.h,
18953 source/input/y4m.h, source/input/yuv.h, source/output/output.cpp,
18954 source/output/output.h, source/output/y4m.cpp, source/output/y4m.h,
18955 source/x265.cpp, source/x265.h:
18956 api: add support for float or rational FPS [API CHANGE]
18957
18958 Since x265_param was changing anyway, I went ahead and changed
18959 inputBitDepth to internalBitDepth, which has always been its real
18960 function.
18961
18962 X265_BUILD is bumped to 6
18963 [a6c9a476b205]
18964
18965 * source/x265.cpp:
18966 cli: add x264's 'seek', leave HM's 'frame-skip' as undocumented
18967 alias
18968
18969 We want to support x264's CLI options as much as possible, but don't
18970 want to break any existing scripts
18971 [1a0d5b456b19]
18972
18973 2014-02-17 Sumalatha Polureddy <Sumalatha Polureddy>
18974
18975 * source/encoder/compress.cpp:
18976 compress: improve rd 1 performance
18977
18978 a. Always allow intra mode for mode decision b. increase more skips
18979 at each depth(do encode of best merge candidates initially and if
18980 the merge is skipped, dont do inter modes)
18981 [9f4d3ef34e5a]
18982
18983 2014-02-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18984
18985 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18986 ratecontrol: change RateControl::lastSatd to currentSatd, add
18987 comments
18988 [757d3e3db046]
18989
18990 2014-02-18 Satoshi Nakagawa <nakagawa424@oki.com>
18991
18992 * source/Lib/TLibCommon/ContextTables.h,
18993 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.cpp:
18994 nextState table
18995 [f1951bb4c2ae]
18996
18997 2014-02-18 Steve Borho <steve@borho.org>
18998
18999 * source/Lib/TLibCommon/TComPrediction.cpp,
19000 source/Lib/TLibCommon/TComPrediction.h:
19001 TComPrediction: remove unused alloc and stride
19002 [8571d160aedb]
19003
19004 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
19005 backout unintended commit
19006 [1be6b8c8b9ed]
19007
19008 * source/encoder/encoder.cpp:
19009 encoder: show per-slice type SSIM as dB
19010 [720768692efe]
19011
19012 2014-02-17 Steve Borho <steve@borho.org>
19013
19014 * source/Lib/TLibCommon/TComRom.cpp:
19015 TComRom: use x265_malloc/free for globals
19016 [7b5b3a5475a7]
19017
19018 * source/Lib/TLibCommon/TComRom.cpp,
19019 source/Lib/TLibCommon/TComWeightPrediction.cpp:
19020 TComRom: prevent multiple allocations or frees of globals
19021 [d2a61d579c30]
19022
19023 2014-02-17 Nabajit Deka <Nabajit Deka>
19024
19025 * source/test/ipfilterharness.cpp:
19026 testbench : test bench correction for chroma_p2s
19027 [3505b249397d]
19028
19029 * source/common/x86/asm-primitives.cpp,
19030 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
19031 asm : asm routine for chroma_p2s for 4:4:4 color space format
19032 [df79cdee5d46]
19033
19034 2014-02-17 Murugan Vairavel <murugan@multicorewareinc.com>
19035
19036 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
19037 util8.asm:
19038 asm: 16bpp code for quant and dequant_normal
19039 [765d6225b252]
19040
19041 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
19042 testbench: adding seperate input buffer for idct and updated qp
19043 value for quant
19044 [797e8bb43887]
19045
19046 * source/common/x86/asm-primitives.cpp,
19047 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
19048 asm: fix for illegal instruction usage in ipfilter
19049 [46a9e97caaba]
19050
19051 2014-02-17 Satoshi Nakagawa <nakagawa424@oki.com>
19052
19053 * source/Lib/TLibCommon/TComDataCU.cpp,
19054 source/Lib/TLibCommon/TComDataCU.h,
19055 source/Lib/TLibEncoder/TEncCu.cpp,
19056 source/Lib/TLibEncoder/TEncSearch.cpp,
19057 source/Lib/TLibEncoder/TEncSearch.h:
19058 cleanup unused variables
19059 [a3dc5ba8cc95]
19060
19061 * source/Lib/TLibEncoder/TEncEntropy.cpp,
19062 source/Lib/TLibEncoder/TEncEntropy.h,
19063 source/Lib/TLibEncoder/TEncSbac.cpp,
19064 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
19065 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
19066 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm:
19067 primitives: add count_nonzero
19068 [12d752ac7c4f]
19069
19070 2014-02-17 Steve Borho <steve@borho.org>
19071
19072 * source/encoder/weightPrediction.cpp:
19073 weightp: fix V plane debug output
19074 [5bf042e30d30]
19075
19076 * source/Lib/TLibCommon/TComSlice.cpp:
19077 TComSlice: nit
19078 [4a06d2485b45]
19079
19080 * source/Lib/TLibCommon/TComSlice.cpp:
19081 TComSlice: remove dup line
19082 [4ba139f9df57]
19083
19084 * source/Lib/TLibCommon/TComSlice.h, source/common/lowres.h,
19085 source/encoder/reference.h:
19086 weight: remove odd struct renaming, remove unused wpACDCParam
19087 [30edc6f7475e]
19088
19089 * source/Lib/TLibCommon/TComSlice.cpp,
19090 source/Lib/TLibCommon/TComSlice.h:
19091 TComSlice: remove unused m_weightACDCParam and methods
19092 [d2312e05014a]
19093
19094 * source/encoder/weightPrediction.cpp:
19095 weightp: add debug logging for weight analysis
19096 [a1047dfeebb6]
19097
19098 * source/encoder/encoder.cpp:
19099 encoder: include the hash output into the debug output string
19100 [393f6ef8b7bd]
19101
19102 2014-02-16 Steve Borho <steve@borho.org>
19103
19104 * source/common/common.cpp, source/encoder/encoder.cpp,
19105 source/x265.cpp, source/x265.h:
19106 api: change name back to inputBitDepth, to avoid breaking ffmpeg
19107 [ce96cdb390fe]
19108
19109 2014-02-15 Steve Borho <steve@borho.org>
19110
19111 * source/CMakeLists.txt, source/common/cpu.cpp,
19112 source/common/primitives.cpp:
19113 non-x86 build fixes
19114 [291b3a358a22]
19115
19116 2014-02-14 Steve Borho <steve@borho.org>
19117
19118 * source/Lib/TLibCommon/TComDataCU.cpp,
19119 source/Lib/TLibCommon/TComDataCU.h,
19120 source/Lib/TLibCommon/TComPattern.h,
19121 source/Lib/TLibCommon/TComPicSym.cpp,
19122 source/Lib/TLibCommon/TComPicYuv.cpp,
19123 source/Lib/TLibCommon/TComPrediction.cpp,
19124 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19125 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
19126 source/Lib/TLibCommon/TComSlice.h,
19127 source/Lib/TLibCommon/TComTrQuant.cpp,
19128 source/Lib/TLibCommon/TComTrQuant.h,
19129 source/Lib/TLibCommon/TComYuv.h, source/Lib/TLibCommon/TypeDef.h,
19130 source/Lib/TLibEncoder/TEncCfg.h,
19131 source/Lib/TLibEncoder/TEncEntropy.cpp,
19132 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
19133 source/Lib/TLibEncoder/TEncSbac.cpp,
19134 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
19135 source/common/cpu.cpp, source/common/lowres.cpp,
19136 source/common/lowres.h, source/common/pixel.cpp,
19137 source/common/primitives.cpp, source/common/threading.h,
19138 source/common/threadpool.cpp, source/common/x86/asm-primitives.cpp,
19139 source/common/x86/pixel.h, source/encoder/compress.cpp,
19140 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
19141 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp,
19142 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
19143 source/test/pixelharness.cpp, source/x265.h:
19144 uncrustify all source - mechanically apply coding style
19145 [39ecb3aa82ee]
19146
19147 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/common.cpp,
19148 source/x265.cpp, source/x265.h:
19149 enforce new color space requirements, improve help
19150 [76f13355e520]
19151
19152 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/common.cpp,
19153 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
19154 decouple input depth from internal depth; allow input depth !=
19155 internal depth
19156
19157 Shift and mask input samples as necessary to reach internal depth.
19158 The input depth is no longer in x265_param, where it never really
19159 belonged since pic.bitDepth was the only number that mattered.
19160
19161 Add validations for input color space and bit depths. No CLI option
19162 was added for internal bit depth since it is not currently runtime
19163 configurable.
19164 [b1f5fd61883a]
19165
19166 * build/msys/make-x86_64-w64-mingw32-Makefiles.sh, build/msys
19167 /toolchain-x86_64-w64-mingw32.cmake:
19168 build: add example cross-compile script for Win64 on MinGW32
19169 [0911885e0f28]
19170
19171 2014-02-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19172
19173 * source/test/ipfilterharness.cpp:
19174 testbench: disable chroma_p2s.
19175 [289b4ef4ecee]
19176
19177 * source/test/ipfilterharness.cpp:
19178 ipfilterharness: resolve compile errors with CSP
19179 [482aa2e636f9]
19180
19181 * source/Lib/TLibCommon/TComSlice.cpp,
19182 source/Lib/TLibCommon/TComSlice.h,
19183 source/Lib/TLibCommon/TComTrQuant.cpp,
19184 source/Lib/TLibCommon/TComTrQuant.h,
19185 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/encoder.cpp,
19186 source/encoder/frameencoder.cpp:
19187 Merge with 444 changes.
19188 [8662459da60b]
19189
19190 * source/Lib/TLibCommon/TComTrQuant.cpp,
19191 source/Lib/TLibCommon/TComTrQuant.h,
19192 source/Lib/TLibEncoder/TEncSearch.cpp:
19193 Backed out changeset: a3a9e0fb1a87
19194
19195 Conflicts with the 444 patches. Will resolve merge and import it in
19196 a seperate patch.
19197 [98f5088cff19]
19198
19199 2014-02-14 ashok <ashok@multicorewareinc.com>
19200
19201 * source/Lib/TLibCommon/TComLoopFilter.cpp:
19202 Modify TComLoopFilter structure to support multiple color space
19203 formats
19204 [c731d494e9ca]
19205
19206 * source/Lib/TLibCommon/TComPrediction.cpp,
19207 source/Lib/TLibCommon/TComSlice.cpp,
19208 source/Lib/TLibCommon/TComYuv.h,
19209 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/TShortYUV.h,
19210 source/common/common.cpp, source/common/ipfilter.cpp,
19211 source/common/pixel.cpp, source/common/primitives.h,
19212 source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp:
19213 Modify asm primitives functions to support multiple color space
19214 formats
19215 [deb0cffa87fa]
19216
19217 * source/Lib/TLibEncoder/TEncEntropy.cpp:
19218 Modify TEncEntropy structure to support multiple color space formats
19219 [a65cb22fcf10]
19220
19221 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
19222 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
19223 source/Lib/TLibEncoder/TEncCfg.h,
19224 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
19225 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
19226 Modify FrameFilter structure to support multiple color space formats
19227 [6abd54cbff84]
19228
19229 * source/Lib/TLibCommon/TComDataCU.cpp:
19230 Modify TComDataCU structure to support multiple color space formats
19231 [1e8fbc073d4b]
19232
19233 * source/Lib/TLibCommon/TComSlice.h,
19234 source/Lib/TLibCommon/TComTrQuant.cpp,
19235 source/Lib/TLibCommon/TComTrQuant.h,
19236 source/Lib/TLibEncoder/TEncSbac.cpp:
19237 Modify TEncSbac structure to support multiple color space formats
19238 [19532171622a]
19239
19240 * source/Lib/TLibCommon/TComPrediction.cpp,
19241 source/Lib/TLibCommon/TComPrediction.h:
19242 Modify TComPrediction structure to support multiple color space
19243 formats
19244 [ad8a991d626e]
19245
19246 * source/Lib/TLibCommon/TComPattern.cpp,
19247 source/Lib/TLibCommon/TComPattern.h,
19248 source/Lib/TLibCommon/TComPrediction.cpp,
19249 source/Lib/TLibCommon/TComPrediction.h,
19250 source/Lib/TLibEncoder/TEncSearch.cpp:
19251 Modify TComPattern structure to support multiple color space formats
19252 [503e3794098a]
19253
19254 * source/Lib/TLibEncoder/TEncSearch.cpp,
19255 source/Lib/TLibEncoder/TEncSearch.h:
19256 Modify TEncSearch structure to support multiple color space formats
19257 [fb14a98a97e4]
19258
19259 * source/Lib/TLibCommon/TComDataCU.h,
19260 source/Lib/TLibCommon/TComLoopFilter.cpp,
19261 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19262 source/Lib/TLibCommon/TComTrQuant.cpp,
19263 source/Lib/TLibCommon/TComTrQuant.h,
19264 source/Lib/TLibEncoder/TEncSearch.cpp,
19265 source/encoder/frameencoder.cpp:
19266 Modify ChromaScale table to support multiple color space formats
19267 [57156005d32f]
19268
19269 * source/Lib/TLibCommon/CommonDef.h,
19270 source/Lib/TLibCommon/ContextTables.h,
19271 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19272 source/Lib/TLibCommon/TypeDef.h:
19273 Modify TComRom structure to support multiple color space formats
19274 [3572d9d04ff7]
19275
19276 2014-02-14 Steve Borho <steve@borho.org>
19277
19278 * source/Lib/TLibCommon/TComPicYuv.cpp:
19279 TComPicYuv: use pixel type instead of Pel type
19280 [d77a549b8061]
19281
19282 * source/common/version.cpp:
19283 version: today, our max supported input bit depth is 10
19284 [6b197e8561ec]
19285
19286 * source/input/y4m.cpp, source/input/yuv.cpp:
19287 input: always set depth and colorspace fields
19288 [d329e698d420]
19289
19290 * source/encoder/encoder.cpp:
19291 encoder: use x265_log for per-frame debug log, use dB for SSIM
19292 [da7f6bebdd30]
19293
19294 * source/encoder/encoder.cpp:
19295 encoder: now only one QP per row in CSV output
19296 [a661d9eef931]
19297
19298 2014-02-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19299
19300 * source/encoder/ratecontrol.cpp:
19301 ratecontrol: cleanup, repetitive code
19302 [5d76e8a19fed]
19303
19304 * source/Lib/TLibCommon/TComSlice.cpp,
19305 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
19306 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
19307 ratecontrol: cleanup, remove sliceQPBase.
19308
19309 Always a duplicate of sliceQp.
19310 [303634977dc4]
19311
19312 * source/encoder/ratecontrol.cpp:
19313 ratecontrol: cleanup
19314 [4906f1fe7d06]
19315
19316 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
19317 ratecontrol: clean up struct; remove baseQp
19318 [8d4fd1d98337]
19319
19320 2014-02-14 Steve Borho <steve@borho.org>
19321
19322 * build/msys/make-Makefiles.sh:
19323 build: change eoln of msys bash script to unix
19324 [ad21da9b607c]
19325
19326 2014-02-14 Satoshi Nakagawa <nakagawa424@oki.com>
19327
19328 * source/Lib/TLibCommon/TComTrQuant.cpp,
19329 source/Lib/TLibCommon/TComTrQuant.h,
19330 source/Lib/TLibEncoder/TEncSearch.cpp:
19331 square transform only
19332 [a3a9e0fb1a87]
19333
19334 2014-02-14 Nabajit Deka <Nabajit Deka>
19335
19336 * source/common/x86/pixeladd8.asm:
19337 asm: Clean up and minor modifications in pixel_add_ps 16bpp asm
19338 functions(4xN)
19339 [248b665970e8]
19340
19341 2014-02-14 Steve Borho <steve@borho.org>
19342
19343 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
19344 source/Lib/TLibEncoder/WeightPredAnalysis.h,
19345 source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
19346 source/encoder/frameencoder.h:
19347 remove unused HM WeightPredAnalysis files
19348 [ed310b17ff66]
19349
19350 * source/encoder/encoder.cpp:
19351 encoder: do not generate digest string if we are not going to print
19352 it
19353 [d43e8e0c950d]
19354
19355 * source/encoder/encoder.cpp, source/encoder/encoder.h:
19356 encoder: report the hash digest from the correct frame encoder
19357 [d6559298428a]
19358
19359 2014-02-14 Sumalatha Polureddy <Sumalatha Polureddy>
19360
19361 * source/encoder/compress.cpp:
19362 compress: Bug fix in rd2
19363
19364 the sa8d cost in rd2 for inter and intra are different for inter,
19365 totalbits = 0, for intra, totalbits = cabac bits for now, making the
19366 totalbits = 0 for both inter and intra
19367 [d90a4adcb492]
19368
19369 * source/encoder/compress.cpp:
19370 compress: missed few lines of code while applying previous patch
19371
19372 1. Increase the eraly skips in rd2 2. Sa8d cost is not calculated,
19373 but used in the code
19374 [11ffc3cfe0d8]
19375
19376 2014-02-14 Steve Borho <steve@borho.org>
19377
19378 * source/encoder/reference.cpp:
19379 reference: remove unnecessary duplicate variable
19380 [0d033b5677da]
19381
19382 * source/CMakeLists.txt:
19383 cmake: on MSVC, CMAKE_CXX_IMPLICIT_LINK_LIBRARIES and PLATFORM_LIBS
19384 may be empty
19385 [f46c3f816fe7]
19386
19387 2014-02-13 Steve Borho <steve@borho.org>
19388
19389 * source/CMakeLists.txt:
19390 cmake: add a blacklist of libs to keep from x265.pc Libs.private
19391 [757b127f8ede]
19392
19393 2014-02-13 Tom Vaughan (tom vaughan <Tom Vaughan (tom.vaughan@multicorewareinc.com)>
19394
19395 * source/common/common.cpp:
19396 Remove redundant settings from performance presets
19397 [0265344d0727]
19398
19399 2014-02-13 Satoshi Nakagawa <nakagawa424@oki.com>
19400
19401 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19402 source/Lib/TLibCommon/TComTrQuant.cpp,
19403 source/Lib/TLibEncoder/TEncSbac.cpp,
19404 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
19405 source/encoder/compress.cpp:
19406 const tables
19407 [2ce38565571e]
19408
19409 2014-02-13 Murugan Vairavel <murugan@multicorewareinc.com>
19410
19411 * source/common/x86/ipfilter8.asm:
19412 asm: cleanups for ipfilter functions to reduce register counts
19413 [fcfe87ee36b7]
19414
19415 2014-02-13 Tom Vaughan (tom vaughan <Tom Vaughan (tom.vaughan@multicorewareinc.com)>
19416
19417 * source/common/common.cpp:
19418 Remove redundant settings from performance presets
19419 [8093e808bfee]
19420
19421 2014-02-13 Satoshi Nakagawa <nakagawa424@oki.com>
19422
19423 * source/Lib/TLibCommon/TComDataCU.cpp,
19424 source/Lib/TLibCommon/TComDataCU.h,
19425 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19426 source/Lib/TLibCommon/TComTrQuant.cpp,
19427 source/Lib/TLibCommon/TypeDef.h,
19428 source/Lib/TLibEncoder/TEncSearch.cpp:
19429 fix bug on TSKIP
19430 [402b11d9df80]
19431
19432 2014-02-13 Steve Borho <steve@borho.org>
19433
19434 * source/encoder/compress.cpp:
19435 compress: fix gcc warning, make array const
19436
19437 c:/mcw/x265/source/encoder/compress.cpp:414:22: warning: variable
19438 'bestMergePred' set but not used [-Wunused-but-set-variable]
19439 TComYuv* bestMergePred;
19440 [d9e6f16baa29]
19441
19442 * source/CMakeLists.txt:
19443 cmake: more general fix for CFLAGS breaking resource compiles
19444
19445 There are some versions of rc.exe that also balk at being given
19446 cl.exe flags
19447 [8fdcf1ba38f3]
19448
19449 * source/common/common.cpp, source/x265.h:
19450 api: improve documentation of x265_picture, properly initialize
19451 pic.colorSpace
19452 [1420cb397447]
19453
19454 2014-02-13 Murugan Vairavel <murugan@multicorewareinc.com>
19455
19456 * source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
19457 source/test/mbdstharness.h:
19458 testbench: added stress test cases for all functions in
19459 mbdstharness.cpp
19460 [5e4e4bda0e7e]
19461
19462 2014-02-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19463
19464 * Merge
19465 [5e104ed219c3]
19466
19467 * source/Lib/TLibCommon/TComDataCU.cpp,
19468 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
19469 compress: improve rd 2 performance (Patch from Sumalatha)
19470
19471 a. Always allow intra mode for mode decision b. increase more skips
19472 at each depth(do encode of best merge candidates initially and if
19473 the merge is skipped, dont do inter modes)
19474
19475 Bitrate increase compared to rd 3 (4-6%) on most HD clips, quality
19476 maintained. Performance impact to be measured in regression tests.
19477
19478 Sintel 720p clip needs to be investigated further. Poor show here.
19479 [313e42bdd4ea]
19480
19481 2014-02-13 Steve Borho <steve@borho.org>
19482
19483 * source/common/pixel.cpp:
19484 weightp: add assert to protect assembly limitiation
19485 [df4531a24c4d]
19486
19487 * source/encoder/weightPrediction.cpp:
19488 weightp: pad width passed to weight_pp(), it requires 16byte
19489 alignment
19490 [9dffa4473096]
19491
19492 * source/common/threading.h:
19493 threading: fix compile when XP support is enabled
19494 [7c24e5a920b2]
19495
19496 * source/CMakeLists.txt, source/cmake/version.cmake:
19497 cmake: be quiet about missing optional packages
19498 [f0d82bf20584]
19499
19500 * source/CMakeLists.txt, source/cmake/version.cmake:
19501 cmake: simplify version detection, use single set of variables
19502 [e1088cae157c]
19503
19504 * source/cmake/version.cmake:
19505 cmake: use findGit.cmake, which was available in cmake 2.8.8, our
19506 min version
19507 [726323914cd2]
19508
19509 * source/CMakeLists.txt:
19510 cmake: workaround for MinGW windres
19511 [0fcc87d05d10]
19512
19513 2014-02-12 Steve Borho <steve@borho.org>
19514
19515 * source/CMakeLists.txt:
19516 cmake: change name of MSVC built shared library to avoid filename
19517 conflicts
19518
19519 the shared library and CLI exe were both trying to write x265.pdb
19520 and x265.ilk with unhelpful results.
19521 [21832083908f]
19522
19523 * source/CMakeLists.txt, source/x265.rc.in:
19524 cmake: add resource file for Windows version info on DLL and EXE
19525
19526 This sadly doesn't work when compiling under MinGW; cmake has an
19527 unresolved bug that passes all CFLAGS to windres, which pukes on
19528 them.
19529 [54189fefdc51]
19530
19531 * source/x265.cpp:
19532 cli: use real log commands
19533 [218f8304978e]
19534
19535 2014-02-12 Min Chen <chenm003@163.com>
19536
19537 * source/Lib/TLibCommon/TComDataCU.cpp,
19538 source/Lib/TLibCommon/TComDataCU.h,
19539 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19540 source/Lib/TLibCommon/TComTrQuant.cpp,
19541 source/Lib/TLibCommon/TypeDef.h,
19542 source/Lib/TLibEncoder/TEncSearch.cpp:
19543 fix bug on TSKIP
19544 [d6774d83f39c]
19545
19546 2014-02-12 Satoshi Nakagawa <nakagawa424@oki.com>
19547
19548 * source/Lib/TLibCommon/TComTrQuant.cpp,
19549 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
19550 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
19551 source/Lib/TLibEncoder/TEncEntropy.cpp,
19552 source/Lib/TLibEncoder/TEncEntropy.h,
19553 source/Lib/TLibEncoder/TEncSbac.cpp,
19554 source/Lib/TLibEncoder/TEncSbac.h:
19555 cleanup TEncSbac
19556 [d22564466556]
19557
19558 2014-02-12 Steve Borho <steve@borho.org>
19559
19560 * source/encoder/encoder.cpp:
19561 encoder: remove two completed TODOs
19562 [21c2724dfcd1]
19563
19564 * source/encoder/encoder.cpp, source/encoder/encoder.h:
19565 encoder: remember abort condition and stop accepting input frames
19566 [f894b457aca8]
19567
19568 2014-02-12 Santhoshini Sekar <santhoshini@multicorewareinc.com>
19569
19570 * source/common/lowres.h, source/encoder/ratecontrol.cpp,
19571 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
19572 source/encoder/slicetype.h:
19573 vbv: lookahead
19574 [adee518df8ab]
19575
19576 2014-02-12 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19577
19578 * source/common/x86/asm-primitives.cpp,
19579 source/common/x86/intrapred16.asm:
19580 asm-16bpp: assembly code for IntraAng32x32 all modes
19581 [cca149489a6f]
19582
19583 2014-02-12 Nabajit Deka <Nabajit Deka>
19584
19585 * source/common/x86/pixel-util8.asm:
19586 asm : Clean up and minor modifications in pixel_sub_ps asm
19587 functions(2x4, 2x8, 6x8)
19588 [d83f25c4ae1d]
19589
19590 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
19591 Test bench : Stress test cases for remaining filter functions.
19592 [3eb456f69e34]
19593
19594 2014-02-12 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19595
19596 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
19597 source/common/x86/intrapred16.asm:
19598 asm: 16bpp asm code for intra_pred_ang8 - all modes
19599 [5457f23edb5d]
19600
19601 2014-02-13 Gopu Govindaswamy <Gopu Govindaswamy>
19602
19603 * source/encoder/ratecontrol.cpp:
19604 ratecontrol: to set B-ref frame QP as Lower then B-Frame QP for RC
19605 with CQP mode
19606 [1894c1c35bac]
19607
19608 2014-02-12 Kavitha Sampath <kavitha@multicorewareinc.com>
19609
19610 * source/encoder/weightPrediction.cpp:
19611 weightp: fix hash mismatch
19612
19613 all references should have same luma and chroma denominator
19614 [51c86499d3bd]
19615
19616 2014-02-12 Steve Borho <steve@borho.org>
19617
19618 * source/x265.h:
19619 api: we don't need stuttering header guards
19620 [817f5bf391d2]
19621
19622 * source/x265.h:
19623 api: mark externed variables for import from Windows shared library
19624 [c9fc8dab7b9a]
19625
19626 * source/CMakeLists.txt, source/common/cpu.cpp:
19627 cmake: a few fixes for building on ARM (Rapsbery Pi in particular)
19628
19629 Next step will be bringing over ARM cpu detect assembly functions:
19630 x265_cpu_neon_test() x265_cpu_fast_neon_mrc_test()
19631 [5ddbdaefb783]
19632
19633 * source/encoder/weightPrediction.cpp:
19634 weightp: clip lowres MV before using for motion compensation
19635
19636 Even the lowres MVs with very restricted merange can go beyond the
19637 available pixels. This was causing memory access exceptions on some
19638 clips.
19639 [19d7752a4f9c]
19640
19641 * source/encoder/slicetype.cpp:
19642 slicetype: cast mvmin/mvmax indices to signed 16bit values
19643 [a3df372438a4]
19644
19645 2014-02-12 Min Chen <chenm003@163.com>
19646
19647 * source/common/x86/blockcopy8.asm:
19648 asm: fix bug in cvt16to32_shl
19649 [eedfa574e07e]
19650
19651 2014-02-11 Santhoshini Sekar <santhoshini@multicorewareinc.com>
19652
19653 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
19654 vbv: set vbvminrate
19655 [a8b2456aabef]
19656
19657 * source/encoder/ratecontrol.cpp:
19658 rc: Don't do resetABR in CRF.
19659 [c11f0459464c]
19660
19661 2014-02-11 Nabajit Deka <Nabajit Deka>
19662
19663 * source/common/x86/blockcopy8.asm:
19664 asm : Optimisations in blockcopy_sp asm routines(2x4, 2x8, 6x8)
19665 [bf2f60a2d425]
19666
19667 2014-02-03 Nabajit Deka <Nabajit Deka>
19668
19669 * source/test/ipfilterharness.cpp:
19670 testbench: Added stress test cases for
19671 check_IPFilterLuma_ps_primitive, check_IPFilterLuma_hps_primitive
19672 and check_IPFilterLumaHV_primitive filter functions
19673 [eb19b59558c0]
19674
19675 2014-02-11 Murugan Vairavel <murugan@multicorewareinc.com>
19676
19677 * source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
19678 asm: Optimizations and cleaups on ipfilter functions
19679 [4e5ab7003f23]
19680
19681 2014-02-03 Nabajit Deka <Nabajit Deka>
19682
19683 * source/test/ipfilterharness.cpp:
19684 testbench: Added stress test cases for chroma_pp, chroma_ps and
19685 chroma_hps filter functions
19686 [43d6027b977b]
19687
19688 2014-02-11 Steve Borho <steve@borho.org>
19689
19690 * source/encoder/encoder.cpp:
19691 encoder: protect public APIs against NULL pointer arguments
19692 [3dd1f72225e6]
19693
19694 * source/cmake/version.cmake:
19695 cmake: set X265_LATEST_TAG from latesttag: line of .hg_archival.txt
19696
19697 The net effect of this is that non-tagged release bundles will be
19698 capable of installing shared libraries with effective sonames.
19699 [d6fdfa9f4938]
19700
19701 * source/x265.h:
19702 api: improve documentation of x265_picture dts, pts
19703 [973ad4575a27]
19704
19705 2014-02-10 Steve Borho <steve@borho.org>
19706
19707 * source/encoder/slicetype.cpp:
19708 slicetype: pass bools as bool literals
19709 [07b5d6b82f5f]
19710
19711 2014-02-11 Satoshi Nakagawa <nakagawa424@oki.com>
19712
19713 * source/Lib/TLibCommon/TComDataCU.cpp,
19714 source/Lib/TLibEncoder/TEncSearch.cpp,
19715 source/Lib/TLibEncoder/TEncSearch.h:
19716 cleanup AMVP related
19717 [2316e8e33512]
19718
19719 2014-02-10 Satoshi Nakagawa <nakagawa424@oki.com>
19720
19721 * source/Lib/TLibCommon/TComPattern.cpp,
19722 source/Lib/TLibCommon/TComPattern.h,
19723 source/Lib/TLibEncoder/TEncCu.cpp,
19724 source/Lib/TLibEncoder/TEncSearch.cpp:
19725 cleanup unused
19726 [b449d4d4f02d]
19727
19728 2014-02-10 Steve Borho <steve@borho.org>
19729
19730 * source/Lib/TLibCommon/TComPicYuv.cpp:
19731 pic: use C style comments
19732 [01d0f7758171]
19733
19734 * source/Lib/TLibCommon/TComPicYuv.cpp:
19735 pic: mask impossible input bits
19736 [8538c3383ade]
19737
19738 * source/common/lowres.cpp:
19739 lowres: nits
19740 [96d16486e317]
19741
19742 * source/Lib/TLibCommon/TComPicYuv.cpp,
19743 source/Lib/TLibCommon/TComPicYuv.h, source/common/lowres.cpp,
19744 source/common/pixel.cpp, source/common/primitives.h,
19745 source/encoder/weightPrediction.cpp:
19746 TComPicYuv: replace xExtendPicCompBorder with an optimized function
19747
19748 We've had a primitive for the side borders for some time, it just
19749 wasn't hooked up. This function never should have been a method of
19750 that class.
19751 [47592ed6aa2c]
19752
19753 * source/x265.cpp:
19754 help: --cutree is a boolean flag
19755 [d002f45eee16]
19756
19757 * source/x265.cpp:
19758 help: move --cutree just after aq options
19759 [75f724dd6d4c]
19760
19761 * source/CMakeLists.txt:
19762 cmake: prevent extra errors when system has no C++ compiler
19763 [6b3defda16c1]
19764
19765 * source/encoder/weightPrediction.cpp:
19766 weightp: avoid redundant chroma extensions
19767 [ce7191f49948]
19768
19769 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
19770 source/encoder/dpb.cpp:
19771 TComPic: add m_chromaPlanesExtended member var
19772 [8d98425e0a0a]
19773
19774 2014-02-10 Kavitha Sampath <kavitha@multicorewareinc.com>
19775
19776 * source/encoder/weightPrediction.cpp:
19777 weightp: extend chroma borders before mcChroma, remove redundant
19778 checks
19779 [62c760413522]
19780
19781 2014-02-07 Steve Borho <steve@borho.org>
19782
19783 * source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
19784 source/encoder/frameencoder.h, source/encoder/weightPrediction.cpp,
19785 source/encoder/weightPrediction.h:
19786 weightp rewrite without a class
19787
19788 weightp analysis for the main encoder is performed with motion
19789 compensation (using lowres motion vectors from lookahead) when
19790 available. The lowres luma plane is used for luma analysis and the
19791 chroma planes are analysed as-is.
19792 [4ec4065fc392]
19793
19794 2014-02-10 Steve Borho <steve@borho.org>
19795
19796 * source/Lib/TLibCommon/TComPic.h:
19797 TComPic: clean up data member ordering, add comments
19798 [17847935873a]
19799
19800 2014-02-08 Satoshi Nakagawa <nakagawa424@oki.com>
19801
19802 * source/Lib/TLibCommon/TComDataCU.cpp,
19803 source/Lib/TLibCommon/TComDataCU.h:
19804 improve getInterMergeCandidates()
19805 [2fc9c0a08534]
19806
19807 2014-02-09 Satoshi Nakagawa <nakagawa424@oki.com>
19808
19809 * source/Lib/TLibCommon/TComDataCU.cpp,
19810 source/Lib/TLibCommon/TComDataCU.h,
19811 source/Lib/TLibEncoder/TEncSbac.cpp,
19812 source/Lib/TLibEncoder/TEncSearch.cpp:
19813 cleanup MPM related
19814 [0b44c6c07582]
19815
19816 2014-02-09 Steve Borho <steve@borho.org>
19817
19818 * source/common/common.cpp, source/encoder/encoder.cpp,
19819 source/x265.cpp, source/x265.h:
19820 api: repair `--keyint -1` behavior; single keyframe at beginning of
19821 stream
19822
19823 Also, disable scene cut detection to save a few cycles in lookahead.
19824 Fix and/or improve documentation for the keyint parameters
19825 [60e6a7339027]
19826
19827 2014-02-07 Murugan Vairavel <murugan@multicorewareinc.com>
19828
19829 * source/common/x86/ipfilter8.asm:
19830 asm: cleanup unused registers interp_4tap_horiz_pp_2xN and 4xN
19831 [fa9f7b56d4d8]
19832
19833 2014-02-07 Steve Borho <steve@borho.org>
19834
19835 * source/common/CMakeLists.txt, source/common/vec/intra-ssse3.cpp,
19836 source/common/vec/vec-primitives.cpp:
19837 vec: remove intra-ssse3.cpp, full assembly coverage
19838 [7da1a8d3bbbe]
19839
19840 2014-02-07 Murugan Vairavel <murugan@multicorewareinc.com>
19841
19842 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
19843 source/common/x86/intrapred8.asm:
19844 asm: intra_pred_ang16 code for all remaing modes
19845 [990dbb374285]
19846
19847 2014-02-07 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19848
19849 * source/common/x86/asm-primitives.cpp,
19850 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
19851 source/common/x86/mc-a.asm, source/common/x86/pixel.h:
19852 asm: correction of function declaration to sse4
19853 [95fc15598e3e]
19854
19855 2014-02-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19856
19857 * source/common/x86/sad-a.asm:
19858 asm: fix sad_x4 stress case failure on AVX2
19859 [cfbe679e73dc]
19860
19861 2014-02-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19862
19863 * source/encoder/slicetype.cpp, source/x265.h:
19864 x265: remove X265_TYPE_KEYFRAME.
19865
19866 Not used, and not required. IDR/I-slice can be chosen at the outset
19867 based on openGOP.
19868 [c1cea0534e6b]
19869
19870 2014-02-07 Steve Borho <steve@borho.org>
19871
19872 * source/common/dct.cpp:
19873 dct: disable assertion for 10bit builds
19874
19875 The assertion is there to protect 8bpp assembly
19876 [d2d181f1881a]
19877
19878 * source/encoder/weightPrediction.cpp:
19879 weightp: avoid MSVC warnings about implicit bool to int casts
19880 [da1dda5e762a]
19881
19882 2014-02-06 Steve Borho <steve@borho.org>
19883
19884 * source/common/vec/intra-ssse3.cpp:
19885 Backed out changeset: 5634d0322161
19886 [53c6acae9b0a]
19887
19888 * source/common/vec/intra-ssse3.cpp:
19889 vec: remove unused angAP array
19890 [5634d0322161]
19891
19892 * source/Lib/TLibCommon/TComBitStream.cpp,
19893 source/Lib/TLibCommon/TComBitStream.h:
19894 TComBitstream: simplify push_back(), fix clear(), give buffsize an
19895 'm_' prefix
19896
19897 The size of the allocated buffer is not reset on clear. Issue an
19898 error message if any mallocs fail, to at least indicate an encoder
19899 in serious trouble.
19900 [f0e14af85843]
19901
19902 * source/Lib/TLibCommon/TComBitStream.cpp:
19903 TComBitstream: fix check for NULL m_fifo member
19904
19905 There was no point in checking for NULL in the if() expression
19906 because m_fifo was used in the else. (identified by clang)
19907 [436cf988b016]
19908
19909 * source/Lib/TLibCommon/TComBitStream.cpp:
19910 TComBitstream: remove hungarianness from parameters and auto-vars
19911 [ddbbb1f92ce3]
19912
19913 * source/Lib/TLibCommon/TComDataCU.cpp,
19914 source/Lib/TLibCommon/TComLoopFilter.cpp,
19915 source/Lib/TLibCommon/TComPrediction.cpp,
19916 source/Lib/TLibCommon/TComTrQuant.cpp,
19917 source/Lib/TLibEncoder/TEncCu.cpp,
19918 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
19919 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.cpp,
19920 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
19921 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp,
19922 source/x265.cpp:
19923 Fix problems found by clang static analyzser in Xcode
19924
19925 These were mainly stores that were never read
19926 [1a68f0dd9acb]
19927
19928 * source/encoder/weightPrediction.cpp,
19929 source/encoder/weightPrediction.h:
19930 weightp: remove useless m_dstStride variable
19931 [c54271b906da]
19932
19933 * Merge
19934 [21d808d834c4]
19935
19936 * source/Lib/TLibCommon/TComPicYuv.h:
19937 nit
19938 [1776b9a58585]
19939
19940 * source/encoder/weightPrediction.cpp:
19941 weightp: don't use m_ prefix for non member variable
19942 [8f025ee0a506]
19943
19944 * source/encoder/weightPrediction.cpp:
19945 weightp: do not blindly assume 4:2:0 chroma dimensions
19946 [9bc4b7b1454e]
19947
19948 * source/encoder/weightPrediction.cpp,
19949 source/encoder/weightPrediction.h:
19950 weightp: non-trivial constructors and destructors should not be in
19951 headers
19952 [d87b6e92c996]
19953
19954 * source/common/vec/intra-ssse3.cpp:
19955 vec: remove intraPredAng32x32, full asm coverage
19956 [40bec5582eca]
19957
19958 2014-02-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19959
19960 * source/common/x86/intrapred8.asm:
19961 asm: fix Intrapred_ang[32x32] mode 10 and 26 failure on Mac
19962 [a079afc4e6c7]
19963
19964 2014-02-06 Gopu Govindaswamy <Gopu Govindaswamy>
19965
19966 * source/encoder/slicetype.cpp:
19967 slicetype: bug fix for cuTree, use int32_t for listamount and
19968 propagate_amount to calculate valid propagate_cost
19969 [6d5207b8b2ef]
19970
19971 2014-02-06 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19972
19973 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
19974 source/common/x86/sad16-a.asm:
19975 asm: modified satd and sad asm functions in 16bpp to avoid overflow
19976 [ffe13a5eccb9]
19977
19978 2014-02-06 Murugan Vairavel <murugan@multicorewareinc.com>
19979
19980 * source/test/pixelharness.cpp, source/test/pixelharness.h:
19981 testbench: stress test support for all pixelharness functions
19982 [b86a25eb7968]
19983
19984 2014-02-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19985
19986 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
19987 source/common/x86/intrapred8.asm:
19988 asm: assembly code for IntraAng32x32 all modes
19989 [76fa0811c4e7]
19990
19991 2014-02-06 Satoshi Nakagawa <nakagawa424@oki.com>
19992
19993 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
19994 remove unnecessary copyToPicLuma() call
19995 [db0c1dfc3a11]
19996
19997 2014-02-05 Steve Borho <steve@borho.org>
19998
19999 * source/common/common.cpp:
20000 common: use ATOMIC_CAS32 to update an int
20001 [634bc0b1c246]
20002
20003 * source/common/threadpool.cpp:
20004 threadpool: use aligned malloc to allocate sleep bitmap
20005
20006 This kills three birds with one stone - it removes a source of
20007 possible un- alignment, it removes the restriction of max 64
20008 threads, and it further simplifies pool start and stop
20009 [53b8daed7df5]
20010
20011 * source/encoder/slicetype.cpp:
20012 slicetype: fix 10bpp intra pixel preparations - found by valgrind
20013 [fc90c9b265fd]
20014
20015 * source/common/vec/intra-ssse3.cpp:
20016 vec: remove 4x4 and 8x8 intra mode prediction functions, asm
20017 coverage
20018 [8c9e1b3564e8]
20019
20020 * source/common/vec/intra-sse41.cpp:
20021 vec: remove 4x4, 8x8, and 16x16 allangs functions; covered by
20022 assembly
20023 [bf4dbea1e4f5]
20024
20025 * source/common/x86/asm-primitives.cpp:
20026 asm: remove redundant macro definition
20027 [ea99e4d138cd]
20028
20029 2014-02-05 Praveen Tiwari <Praveen Tiwari>
20030
20031 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
20032 source/common/x86/intrapred8.asm:
20033 all_angs_pred_16x16, asm code
20034 [906d972bb4b7]
20035
20036 2014-02-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20037
20038 * source/common/x86/asm-primitives.cpp,
20039 source/common/x86/intrapred8.asm:
20040 asm: intra_pred_ang8 asm code for all modes
20041 [669000ad4a0d]
20042
20043 2014-02-04 Murugan Vairavel <murugan@multicorewareinc.com>
20044
20045 * source/common/x86/intrapred8.asm:
20046 asm: Modifications to intrapred16 modes 3, 4, 32 and 33 such that it
20047 uses TRANSPOSE_STORE macro of intrapred32
20048 [cd73618857c5]
20049
20050 2014-02-05 Steve Borho <steve@borho.org>
20051
20052 * source/CMakeLists.txt:
20053 cmake: only officially support 16bpp builds on x64 architectures
20054 [2f54c7616ef8]
20055
20056 2014-02-05 Aarthi Thirumalai <Aarthi Thirumalai>
20057
20058 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
20059 abr: reset ABR to prevent high bitrate peaks in single pass ABR
20060
20061 Long series of blank frames in video followed by detailed content
20062 causes heavy ABR underflow and overall bitrates surges high for a
20063 long while. This patch detects this condition in Single pass ABR
20064 mode and resets ABR - to not consider history from blank frames and
20065 continue from following scene-cut.
20066 [fc86625df0d9]
20067
20068 2014-02-05 Gopu Govindaswamy <Gopu Govindaswamy>
20069
20070 * source/common/lowres.cpp:
20071 lowres: initialize weightedCostDelta to avoid Valgrind reporting
20072 uninitialized memory
20073 [8d9abc152370]
20074
20075 * source/encoder/slicetype.cpp:
20076 cuTree: bug fix for frameCostRecalculate
20077 [0776a6722375]
20078
20079 2014-02-05 Steve Borho <steve@borho.org>
20080
20081 * source/encoder/encoder.cpp:
20082 encoder: try not to leak memory after malloc failures
20083 [def14c0234f5]
20084
20085 * source/common/lowres.cpp:
20086 lowres: fix gcc/clang compile errors
20087
20088 gcc doesn't like to jump to labels that bypass variable
20089 initializations, even if they are not used passed the jump
20090 [e05898ee63c0]
20091
20092 2014-02-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20093
20094 * source/common/x86/asm-primitives.cpp:
20095 Backed out changeset: a88c7bbfba61
20096
20097 The addAvg x86 versions have now been fixed
20098 [1374f1168c5c]
20099
20100 2014-02-05 Satoshi Nakagawa <nakagawa424@oki.com>
20101
20102 * source/common/x86/mc-a.asm:
20103 fix addAvg
20104 [d20c11f2775f]
20105
20106 2014-02-04 Steve Borho <steve@borho.org>
20107
20108 * source/common/lowres.cpp, source/common/lowres.h:
20109 lowres: there was no need to pass an int* as an int32_t*
20110 [76be476dfed5]
20111
20112 * source/Lib/TLibCommon/TComDataCU.cpp,
20113 source/Lib/TLibCommon/TComDataCU.h,
20114 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
20115 source/Lib/TLibCommon/TComPicSym.cpp,
20116 source/Lib/TLibCommon/TComPicSym.h,
20117 source/Lib/TLibCommon/TComPicYuv.cpp,
20118 source/Lib/TLibCommon/TComPicYuv.h, source/common/lowres.cpp,
20119 source/common/lowres.h, source/encoder/encoder.cpp, source/x265.cpp:
20120 use checked mallocs in TComPic::create() and in functions it calls
20121
20122 This is the most obvious place memory allocation failures will
20123 occur, at encoder startup. So it is best to catch them cleanly.
20124 [6d0b6602e730]
20125
20126 * source/test/pixelharness.cpp:
20127 pixelharness: actually report chroma addAvg as addAvg, not add_ps
20128 [bed6e485d6c1]
20129
20130 * source/test/pixelharness.cpp:
20131 pixelharness: fix luma_addAvg tests
20132 [43966a9a13ba]
20133
20134 * source/common/x86/asm-primitives.cpp:
20135 asm: disable x86 versions of addAvg - they are broken
20136 [a88c7bbfba61]
20137
20138 * source/common/common.cpp:
20139 log: move lookahead options all together, rate-control at the end
20140 (nit)
20141 [51011b224a7c]
20142
20143 * source/common/lowres.cpp:
20144 lowres: initialize downscale planes immediately after alloc
20145
20146 Valgrind was reporting potential uninitialized memory being used by
20147 the lowres weightp cost estimate function. It is weighting the
20148 entire padded luma plane instead of weighting just the real pixels
20149 and then extending them. The problem is that the buffer stride is
20150 wider than (width + padw*2). We round up the stride to the nearest
20151 multiple of 32 so the row starts are well aligned, and those pixels
20152 at the very right edge of the buffer were never written to. They
20153 should never be used by the encoder, but the weight_pp primitive
20154 does try to weight them; and the last step of the weight function is
20155 a clip, and that conditional move is what triggered the valgrind
20156 warning.
20157 [8d2b20447b8a]
20158
20159 * source/test/ipfilterharness.cpp:
20160 ipfilterharness: fix loop bounds, caused crashes in 16bpp
20161 [c16c7b8416ee]
20162
20163 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20164 slicetype: weight the extended lowres frame prior to MC cost
20165 estimate
20166
20167 valgrind spotted this problem where the top and bottom padded areas
20168 of the lowres reference frame were not weighted into the weightedRef
20169 buffer, so any lowres MVs used for MC that referenced past the top
20170 or bottom picture boundary would access uninitialized pixels.
20171 [592675e50c29]
20172
20173 * source/common/wavefront.cpp, source/common/wavefront.h:
20174 wavefront: rename bitmaps for clarity, add more comments
20175 [23d30a6d4db1]
20176
20177 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h:
20178 common: move malloc/free macros to our header
20179 [0bd4e7603ea1]
20180
20181 * source/common/common.cpp, source/x265.cpp:
20182 cli: change --keyint short option to capital I, add min-keyint,
20183 [no-]shortcut
20184
20185 All these options now match x264's command line features
20186 [2beb0bfb9503]
20187
20188 * source/Lib/TLibCommon/TComTrQuant.cpp:
20189 TComTrQuant: avoid bogus warning from VC9/VC10
20190 [4be0ca7b4448]
20191
20192 2014-02-04 Satoshi Nakagawa <nakagawa424@oki.com>
20193
20194 * source/Lib/TLibCommon/TComDataCU.h,
20195 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
20196 source/encoder/compress.cpp:
20197 cleanup unused variables
20198 [b54aa2713111]
20199
20200 2014-02-03 Steve Borho <steve@borho.org>
20201
20202 * source/Lib/TLibEncoder/NALwrite.cpp:
20203 NALWrite: simplify emulation detection
20204 [ff430d39d428]
20205
20206 * source/input/y4m.cpp:
20207 Merge with stable
20208 [f121e16811be]
20209
20210 * source/input/y4m.cpp:
20211 y4m: better handling of eof during frame header reads
20212
20213 It wasn't checking the stream state properly (a bug introduced when
20214 ifs was made into a pointer for stdin) and doing a memcmp against
20215 possibly uninitialized stack memory, which just happened to usually
20216 have a proper frame header in it since the reader thread stack use
20217 is very predictable.
20218
20219 This was the last warning reported by valgrind on the stable branch
20220 [4b8901ae94ec] <stable>
20221
20222 * source/encoder/slicetype.cpp:
20223 slicetype: use x265 naming scheme for auto vars and parameters
20224 [930b251ac6b7]
20225
20226 * source/input/y4m.cpp:
20227 y4m: reorder functions for clarity
20228 [8de9b432ba15]
20229
20230 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20231 slicetype: replace ints and long ints with bools where appropriate
20232 [b0a594fe1867]
20233
20234 * source/input/y4m.cpp:
20235 y4m: simplify guessFrameCount
20236 [c111f1efc9c2]
20237
20238 2014-02-03 Satoshi Nakagawa <nakagawa424@oki.com>
20239
20240 * source/Lib/TLibCommon/ContextTables.h,
20241 source/Lib/TLibCommon/TComTrQuant.h,
20242 source/Lib/TLibEncoder/TEncSbac.cpp,
20243 source/Lib/TLibEncoder/TEncSbac.h:
20244 reduce context
20245 [d5326d9bf1b2]
20246
20247 2014-02-03 Steve Borho <steve@borho.org>
20248
20249 * source/encoder/ratecontrol.cpp:
20250 ratecontrol: backout c4e99fde0b and fix indentation
20251 [6aa952372175]
20252
20253 2014-01-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20254
20255 * source/common/x86/asm-primitives.cpp,
20256 source/common/x86/intrapred8.asm:
20257 assembly code for intra_pred_ang8_5
20258 [2297a3777658]
20259
20260 2014-02-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20261
20262 * Merge
20263 [169a7d7c51ef]
20264
20265 2014-01-20 Murugan Vairavel <murugan@multicorewareinc.com>
20266
20267 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
20268 source/common/x86/intrapred8.asm:
20269 asm: code for intra_Pred_Ang16x16 mode 32
20270 [3131a2ac8ec6]
20271
20272 2014-01-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20273
20274 * source/common/x86/asm-primitives.cpp,
20275 source/common/x86/intrapred8.asm:
20276 assembly code for intra_pred_ang8_4.
20277 [dc2de7c4f6c1]
20278
20279 2014-01-20 Murugan Vairavel <murugan@multicorewareinc.com>
20280
20281 * source/common/x86/asm-primitives.cpp,
20282 source/common/x86/intrapred8.asm:
20283 asm: code for intra_Pred_Ang16x16 mode 4
20284 [c50f78691043]
20285
20286 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
20287 source/common/x86/intrapred8.asm:
20288 asm: code for Intra_pred_Ang16x16 mode 3 and 33
20289 [e9867f0a16a2]
20290
20291 2014-02-03 Steve Borho <steve@borho.org>
20292
20293 * source/Lib/TLibCommon/CommonDef.h,
20294 source/Lib/TLibCommon/TComBitStream.cpp,
20295 source/Lib/TLibCommon/TComDataCU.cpp,
20296 source/Lib/TLibCommon/TComPicYuv.cpp,
20297 source/Lib/TLibCommon/TComPrediction.cpp,
20298 source/Lib/TLibCommon/TComTrQuant.cpp,
20299 source/Lib/TLibCommon/TComYuv.cpp,
20300 source/Lib/TLibEncoder/NALwrite.cpp, source/common/TShortYUV.cpp,
20301 source/common/common.cpp, source/common/lowres.cpp,
20302 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
20303 source/encoder/reference.cpp, source/encoder/slicetype.h,
20304 source/encoder/weightPrediction.cpp,
20305 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
20306 source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
20307 common: change X265_MALLOC macro to return typed pointer
20308
20309 One less opportunity for a stupid mistake
20310 [a260f55429e3]
20311
20312 * source/CMakeLists.txt:
20313 cmake: treat empty CMAKE_SYSTEM_PROCESSOR as x86 (fixes #25)
20314 [900a13b0b50a]
20315
20316 * source/encoder/encoder.cpp:
20317 follow x264's keyframe-min logic [CHANGES OUTPUTS] (closes #24)
20318
20319 If no --keyint-min is specified, default to max/10, and clamp the
20320 value to between [1, max / 2 + 1]. This allows x265 to insert I
20321 frames when scene cuts are detected between keyframe-min and
20322 keyframe-max
20323 [898ccce491e9]
20324
20325 2014-02-03 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20326
20327 * source/Lib/TLibCommon/TComYuv.cpp, source/common/pixel.cpp,
20328 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
20329 source/common/x86/const-a.asm, source/common/x86/mc-a.asm,
20330 source/common/x86/pixel.h, source/test/pixelharness.cpp:
20331 asm: code for addAvg luma and chroma all sizes
20332 [71841b07b8ee]
20333
20334 2014-02-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20335
20336 * source/encoder/frameencoder.cpp:
20337 frameencoder: use macro MAX_MAX_QP
20338 [55b4d5135e06]
20339
20340 2014-02-03 Satoshi Nakagawa <nakagawa424@oki.com>
20341
20342 * source/encoder/frameencoder.cpp:
20343 fix
20344 [c89f04114391]
20345
20346 2014-02-02 Steve Borho <steve@borho.org>
20347
20348 * source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/CMakeLists.txt:
20349 cmake: remove two MSVC warnings overrides, HM code has been somewhat
20350 sanitized
20351 [aab88ed13364]
20352
20353 * source/Lib/TLibCommon/TComPicYuvMD5.cpp,
20354 source/common/CMakeLists.txt:
20355 cmake: remove two MSVC warnings overrides, HM code has been somewhat
20356 sanitized
20357 [8150374cb0d2]
20358
20359 * source/CMakeLists.txt, source/common/CMakeLists.txt,
20360 source/encoder/CMakeLists.txt:
20361 cmake: when x86 arch is detected, set gcc -march=i686 globally
20362
20363 This enables a number of cleanups in the internal cmake scripts
20364 [eff52bc89e94]
20365
20366 2014-02-01 Steve Borho <steve@borho.org>
20367
20368 * source/CMakeLists.txt:
20369 cmake: prevent warnings from recent builds of cmake
20370
20371 cmake really should ignore cmake_policy(SET foo) if foo is not yet
20372 supported, so every cmake user doesn't have to check the exact
20373 version which introduced that backward compatibility option.. but...
20374 [bb33ab0f4ef9]
20375
20376 * source/common/x86/x86inc.asm:
20377 x86inc: Make ym# behave the same way as xm#
20378
20379 x264 commit 0997c288be10
20380 [81f2c587a0a7]
20381
20382 * source/common/x86/x86inc.asm:
20383 x86inc.asm: allow x64 output format
20384
20385 x264 commit 3361d59a0a83d
20386 [683361fd76c2]
20387
20388 * source/common/x86/x86inc.asm:
20389 asm: pull in pengvado's header patch to speed up yasm compiles
20390 [15f1f927bcfe]
20391
20392 2014-01-29 Satoshi Nakagawa <nakagawa424@oki.com>
20393
20394 * source/Lib/TLibCommon/ContextTables.h,
20395 source/Lib/TLibCommon/TComDataCU.cpp,
20396 source/Lib/TLibCommon/TComDataCU.h,
20397 source/Lib/TLibCommon/TComTrQuant.cpp,
20398 source/Lib/TLibCommon/TComTrQuant.h,
20399 source/Lib/TLibEncoder/TEncSbac.cpp:
20400 reduce unused context models
20401 [33929c36a646]
20402
20403 2014-02-01 Steve Borho <steve@borho.org>
20404
20405 * source/CMakeLists.txt:
20406 cmake: fix warning
20407 [737ceb148a27]
20408
20409 * source/CMakeLists.txt:
20410 cmake: use strlower on CMAKE_SYSTEM_PROCESSOR
20411 [9e2b076968e1]
20412
20413 * source/CMakeLists.txt:
20414 cmake: only allow assembly to be enabled for X86, our only asm
20415 platform
20416 [2a7ff626383d]
20417
20418 * source/CMakeLists.txt:
20419 cmake: reorg main file for readability, no behavior changes
20420 [2812a45ace5c]
20421
20422 * source/CMakeLists.txt, source/common/cpu.cpp, source/x265.h:
20423 cpu: port ARM cpu detection code from x264
20424 [0e734b111b1e]
20425
20426 * source/CMakeLists.txt:
20427 cmake: add two more system processor names that are synonyms of x86
20428 [68f2d08654b9]
20429
20430 * source/CMakeLists.txt, source/common/cpu.cpp,
20431 source/common/primitives.cpp:
20432 cmake: improve handling of unknown system processor
20433 [7f1d29a897c1]
20434
20435 * source/encoder/weightPrediction.cpp:
20436 weightp: add math include for POSIX systems
20437 [389328343ccd]
20438
20439 2014-01-31 Steve Borho <steve@borho.org>
20440
20441 * source/encoder/ratecontrol.cpp:
20442 ratecontrol: use X265_DEPTH instead of g_bitDepth
20443
20444 On 8 bit builds, bit depth is known at compile time, allowing the
20445 compiler to optimize away a few of these operations.
20446 [413ad959a5c6]
20447
20448 * source/Lib/TLibCommon/ContextTables.h,
20449 source/Lib/TLibCommon/TComDataCU.cpp,
20450 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComRom.cpp,
20451 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
20452 source/Lib/TLibEncoder/TEncSbac.cpp,
20453 source/Lib/TLibEncoder/TEncSearch.cpp,
20454 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
20455 source/common/TShortYUV.h, source/common/common.cpp,
20456 source/common/cpu.cpp, source/common/intrapred.cpp,
20457 source/common/ipfilter.cpp, source/common/lowres.h,
20458 source/common/pixel.cpp, source/common/primitives.cpp,
20459 source/common/primitives.h, source/common/threadpool.cpp,
20460 source/common/vec/intra-sse41.cpp, source/common/vec/intra-
20461 ssse3.cpp, source/common/vec/vec-primitives.cpp, source/common/x86
20462 /asm-primitives.cpp, source/encoder/compress.cpp,
20463 source/encoder/cturow.h, source/encoder/encoder.cpp,
20464 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
20465 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
20466 source/encoder/slicetype.h, source/encoder/weightPrediction.cpp,
20467 source/input/y4m.cpp, source/input/yuv.cpp,
20468 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
20469 source/test/pixelharness.cpp, source/x265.h:
20470 uncrustify source (mechanical coding style enforcement)
20471
20472 A few changes that uncrustify wanted to make have been left out of
20473 the commit for style reasons.
20474 [9d0abf80eeb1]
20475
20476 * source/encoder/weightPrediction.cpp:
20477 weightp: cleanups
20478 [fb048ad78e78]
20479
20480 * source/encoder/weightPrediction.cpp:
20481 weightp: vc11-win32-debug workarounds
20482 [461316bc1dd5]
20483
20484 * source/encoder/ratecontrol.cpp:
20485 ratecontrol: add missing braces
20486 [c4e99fde0b0b]
20487
20488 * source/encoder/ratecontrol.cpp:
20489 ratecontrol: white-space nits
20490 [4aed055bd1ed]
20491
20492 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20493 Merge with stable
20494 [65003e385629]
20495
20496 2014-01-30 Steve Borho <steve@borho.org>
20497
20498 * source/CMakeLists.txt, source/common/CMakeLists.txt,
20499 source/common/cpu.cpp, source/common/primitives.cpp,
20500 source/common/vec/vec-primitives.cpp, source/encoder/CMakeLists.txt:
20501 cmake: attempt to support non-x86 compile targets
20502 [8769cd7b97ac]
20503
20504 2014-01-31 Steve Borho <steve@borho.org>
20505
20506 * source/CMakeLists.txt, source/common/CMakeLists.txt:
20507 cmake: white-space nits
20508 [58cff481d6ed]
20509
20510 * source/test/ipfilterharness.cpp:
20511 testbench: fix signed/unsigned comparison warning
20512 [24e448ed4341]
20513
20514 2014-01-30 Nabajit Deka <Nabajit Deka>
20515
20516 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h,
20517 source/test/testharness.h:
20518 testbench: add stress test case for luma_pp filter function
20519 [897067ac23ac]
20520
20521 * source/test/pixelharness.cpp:
20522 testbench: fix for random test bench failure caused by pixeladd_ss
20523 [8f066e4e48e9]
20524
20525 2014-01-31 Steve Borho <steve@borho.org>
20526
20527 * .hgtags:
20528 Added tag 0.7 for changeset d24e2a8c4326
20529 [edf64ac976ea] <stable>
20530
20531 * source/encoder/slicetype.cpp:
20532 slicetype: comment nits
20533
20534 Remove a comment copied from x264 that has no bearing in x265, and
20535 fix the alignment of another comment.
20536 [d24e2a8c4326] [0.7] <stable>
20537
20538 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20539 slicetype: alloc wpScalingParam instance as a struct member
20540
20541 This is a workaround for VC11. When x265 was compiled for debug
20542 targeting Win32 the stack was being reported as corrupted by
20543 weightCostLuma(). No other compiler or build option would report any
20544 problems (not even valgrind). In the VisualStudio debugger the stack
20545 would be obviously garbaged once the function was entered. Moving
20546 `w` off of the stack makes the VC11 debugger happy again.
20547 [86081bfcacf9] <stable>
20548
20549 * source/encoder/slicetype.cpp:
20550 slicetype: use explicit float type constant
20551 [e04f2b3dea39] <stable>
20552
20553 * source/encoder/slicetype.cpp:
20554 slicetype: prevent divide-by-zero and sqrtf(0)
20555 [3bc0651c0f40] <stable>
20556
20557 2014-01-31 Praveen Tiwari <Praveen Tiwari>
20558
20559 * source/common/x86/pixel-a.asm:
20560 asm: fix for potential mismach between ASM and no-ASM outputs
20561 [539d1b0561b1] <stable>
20562
20563 2014-01-30 Steve Borho <steve@borho.org>
20564
20565 * source/Lib/TLibCommon/TComPic.h, source/common/common.h,
20566 source/encoder/encoder.cpp, source/encoder/encoder.h,
20567 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
20568 Merge with stable
20569 [eb3713ab0641]
20570
20571 2014-01-28 Steve Borho <steve@borho.org>
20572
20573 * source/common/threadpool.cpp:
20574 threadpool: use a wait event per worker thread
20575
20576 For simplicity, this patch caps the number of worker threads to 64.
20577 The bitmap could be trivially extended if necessary.
20578
20579 This removes the common wake event, which complicated startup and
20580 shutdown and flush events.
20581 [6fe8d1d519f7]
20582
20583 2014-01-30 Steve Borho <steve@borho.org>
20584
20585 * source/encoder/cturow.h, source/encoder/frameencoder.cpp:
20586 cturow: detect and prevent simultaneous row access
20587
20588 Temporary workaround until we are certain the findJob() race hazards
20589 are indeed resolved completely.
20590 [564eefbb3812] <stable>
20591
20592 2014-01-28 Steve Borho <steve@borho.org>
20593
20594 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
20595 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
20596 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
20597 source/encoder/framefilter.h:
20598 encoder: refactor frame encoder recon row synchronization
20599
20600 The previous approach depended on a common event (owned by TComPic)
20601 being triggered multiple times for each row, one trigger per
20602 referencing frame, but I believe this was fragile as one frame
20603 encoder could steal notifications from another.
20604
20605 In the new scheme, each frame encoder waits on its own sync event
20606 when it blocks for recon pixels. When a frame encoder finishes
20607 reconstructing a CU row, it calls a top-level encoder function which
20608 determines if any frame encoders are blocked on that POC and wakes
20609 them up.
20610
20611 This should prevent deadlocks from frame encoder synchronization
20612 [4a4c4cbe9c67] <stable>
20613
20614 2014-01-30 Steve Borho <steve@borho.org>
20615
20616 * source/common/wavefront.cpp:
20617 wavefront: eliminate redundant reads of m_queuedBitmap
20618 [6d5f2f61341a] <stable>
20619
20620 * source/common/wavefront.cpp:
20621 wavefront: use x265_malloc for bitmaps, to ensure alignment
20622 [adf571b1bb94] <stable>
20623
20624 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h:
20625 common: consolodate malloc/free funcdefs to common.h
20626 [71f6479dc354] <stable>
20627
20628 2014-01-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20629
20630 * source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp:
20631 Merge bug fixes from stable.
20632 [fffdf3dce410]
20633
20634 2014-01-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20635
20636 * source/common/x86/sad-a.asm:
20637 asm: modified pixel_sad asm function to avoid overflow
20638 [b852f74bdd8c] <stable>
20639
20640 * source/common/x86/intrapred16.asm, source/test/intrapredharness.cpp:
20641 asm: fixed hash mismatch on 16bpp due to intra_pred_ang
20642 [c0ec570c0105] <stable>
20643
20644 2014-01-29 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20645
20646 * source/common/x86/pixel-a.asm:
20647 asm: fix for 32-bit build satd overflow issue.
20648 [86743912a5b0] <stable>
20649
20650 2014-01-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20651
20652 * source/encoder/encoder.cpp:
20653 log: print Summary for per-frame logging
20654 [e879873ce926]
20655
20656 * source/encoder/encoder.cpp:
20657 log: print ssim(dB) in per-frame csv logging
20658 [46aa0de4a8da]
20659
20660 2014-01-29 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20661
20662 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
20663 asm: fix overflow due to pixel_satd asm function for 64-bit build
20664 [d6091cb46ae1] <stable>
20665
20666 2014-01-28 Steve Borho <steve@borho.org>
20667
20668 * source/encoder/encoder.cpp:
20669 nit: line up WPP log info with other config items
20670 [4ec459e04f9e] <stable>
20671
20672 * source/encoder/weightPrediction.cpp:
20673 weightp: fix lowresMvCosts[] indexing, add comment for future work
20674 [8552e8cc1a3c]
20675
20676 * source/encoder/compress.cpp:
20677 Merge with stable
20678 [923edbb08a59]
20679
20680 2014-01-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20681
20682 * source/encoder/compress.cpp:
20683 compress: insert check for merge MV candidates.
20684 [7f4537c4db7a] <stable>
20685
20686 2014-01-28 Aarthi Thirumalai (aarthi <Aarthi Thirumalai (aarthi@multicorewareinc.com)>
20687
20688 * source/encoder/ratecontrol.cpp:
20689 rc: bug fix in crf mode ;correct qscale set for all the frames.
20690 [854ff1616d38] <stable>
20691
20692 2014-01-28 Kavitha Sampath <kavitha@multicorewareinc.com>
20693
20694 * source/encoder/weightPrediction.cpp,
20695 source/encoder/weightPrediction.h:
20696 weightP: fix crash due to access of lowres array
20697
20698 fix crash due to access of lowres array of references with invalid
20699 mvs in weightCost
20700 [728f31cc6eee]
20701
20702 2014-01-28 Steve Borho <steve@borho.org>
20703
20704 * source/common/common.cpp, source/encoder/slicetype.cpp,
20705 source/x265.cpp:
20706 Merge with stable
20707 [3568c1b19947]
20708
20709 * source/encoder/slicetype.cpp:
20710 slicetype: fix initial threshold passed to slicetypePathCost
20711 [ddd4e4e328d2] <stable>
20712
20713 2014-01-27 Satoshi Nakagawa <nakagawa424@oki.com>
20714
20715 * source/Lib/TLibCommon/TComDataCU.cpp,
20716 source/Lib/TLibCommon/TComDataCU.h,
20717 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
20718 source/Lib/TLibCommon/TComTrQuant.cpp,
20719 source/Lib/TLibCommon/TypeDef.h,
20720 source/Lib/TLibEncoder/TEncSbac.cpp,
20721 source/Lib/TLibEncoder/TEncSearch.cpp:
20722 cleanup g_convertTxtTypeToIdx[]
20723 [633421b8faf6]
20724
20725 2014-01-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20726
20727 * source/encoder/weightPrediction.cpp:
20728 weightP: when difPoc is large, prepare to avoid MC - part 2. Patch
20729 from Kavitha
20730 [cb4b0033c7fc]
20731
20732 * source/encoder/weightPrediction.cpp:
20733 weightP: when difPoc is large, prepare to avoid MC. Patch from
20734 Kavitha broken up.
20735 [3be5ca58d9d2]
20736
20737 * source/encoder/frameencoder.cpp:
20738 weightP: build error fix
20739
20740 Inconsistency due to import from stable branch
20741 [4ead340677bf]
20742
20743 * source/x265.cpp:
20744 x265: allow only 10-bit input depths in HIGH_BIT_DEPTh builds
20745 [dd0ef09680fe] <stable>
20746
20747 2014-01-27 Steve Borho <steve@borho.org>
20748
20749 * source/common/common.cpp:
20750 common: prevent 8bit encodes with HIGH_BIT_DEPTH builds
20751
20752 Some of the interpolation 16bpp assembly routines make assumptions
20753 that the encode depth is 10bits, so HIGH_BIT_DEPTH builds will
20754 generally cause decoder hash mismatches if they encode 8bpp streams.
20755 Prevent this until we have a proper long term solution.
20756 [773b87c2855c] <stable>
20757
20758 * source/common/common.cpp, source/encoder/frameencoder.cpp,
20759 source/encoder/weightPrediction.cpp:
20760 Merge with stable
20761 [3c2441447f2a]
20762
20763 * source/encoder/frameencoder.cpp:
20764 frameencoder: remove commented function which no longer exists
20765
20766 compressMotion() was removed 4 months ago
20767 [26a5e720f290] <stable>
20768
20769 * source/common/common.cpp, source/encoder/frameencoder.cpp:
20770 me: add one more pixel lag for DIA search's relaxed search bounds
20771 [dc4e57833aae] <stable>
20772
20773 * source/common/common.cpp:
20774 common: do not allow encodes other than 4:2:0 to start
20775 [10fc60881bbf] <stable>
20776
20777 2014-01-24 Kavitha Sampath <kavitha at multicorewareinc.com> <kavitha at multicorewareinc.com>
20778
20779 * source/encoder/weightPrediction.cpp,
20780 source/encoder/weightPrediction.h:
20781 WeightPrediction: check difPoc <= bframes+1 to allow weight analysis
20782 for valid references
20783 [a02a028afea9] <stable>
20784
20785 2014-01-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20786
20787 * source/common/wavefront.h:
20788 wavefront: add missing initializer
20789 [4fcfa56420fb] <stable>
20790
20791 2014-01-24 Min Chen <chenm003@163.com>
20792
20793 * source/common/x86/pixel-a.asm:
20794 fix SATD32x32 16bits cumulate sum overflow (x86 version only)
20795 [83767892376d] <stable>
20796
20797 2014-01-27 Steve Borho <steve@borho.org>
20798
20799 * source/common/common.cpp, source/encoder/frameencoder.cpp:
20800 Merge with stable
20801 [b59b1e579f78]
20802
20803 2014-01-25 Satoshi Nakagawa <nakagawa424@oki.com>
20804
20805 * source/Lib/TLibCommon/ContextTables.h,
20806 source/Lib/TLibEncoder/TEncSbac.cpp:
20807 HM: context table
20808 [1ea8a52b4f54]
20809
20810 * source/Lib/TLibCommon/TComMotionInfo.h,
20811 source/Lib/TLibCommon/TComPrediction.cpp,
20812 source/Lib/TLibCommon/TComPrediction.h,
20813 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
20814 source/Lib/TLibEncoder/TEncSearch.cpp,
20815 source/Lib/TLibEncoder/TEncSearch.h:
20816 cleanup TComCUMvField::m_cAMVPInfo
20817 [2fc36d0fd1b2]
20818
20819 2014-01-27 Satoshi Nakagawa <nakagawa424@oki.com>
20820
20821 * source/Lib/TLibEncoder/TEncSearch.cpp,
20822 source/Lib/TLibEncoder/TEncSearch.h:
20823 magic number
20824 [ed2e9fe1a732]
20825
20826 2014-01-26 Satoshi Nakagawa <nakagawa424@oki.com>
20827
20828 * source/Lib/TLibCommon/ContextTables.h,
20829 source/Lib/TLibEncoder/TEncSbac.cpp:
20830 reduce unused context models
20831 [e0c81b78e529]
20832
20833 2014-01-27 Steve Borho <steve@borho.org>
20834
20835 * source/common/common.cpp, source/encoder/frameencoder.cpp:
20836 me: add a two pixel pad to the max ME range when calculating
20837 reference lag
20838
20839 We must account for subpel refine search range when calculating how
20840 many rows of reference frames must be encoded ahead of the current
20841 frame. Without this we saw non-deterministic decoder hash mismatches
20842 with some videos.
20843 [b173809575c6] <stable>
20844
20845 2014-01-24 Steve Borho <steve@borho.org>
20846
20847 * source/input/y4m.cpp, source/input/yuv.cpp:
20848 input: add build flag to disable read thread for debug purposes
20849 [1ac9148a3661] <stable>
20850
20851 * Merge with stable
20852 [237bf6667405]
20853
20854 * source/input/yuv.cpp, source/input/yuv.h:
20855 yuv: support colorspaces in YUV input files (closes #13)
20856 [13dac38f54ac] <stable>
20857
20858 * source/input/y4m.cpp, source/input/yuv.cpp:
20859 input: use ifstream::good() instead of !ifstream::fail()
20860
20861 good() implies bad, fail, and eof flags are all false. The fail()
20862 flag does not include eof status or the bad bit for I/O errors.
20863 [dba087c3613b] <stable>
20864
20865 * source/input/y4m.cpp:
20866 y4m: prevent infinite loop on malformed y4m frame headers
20867 [9867ebc4b164] <stable>
20868
20869 2014-01-24 Nabajit Deka <Nabajit Deka>
20870
20871 * source/test/ipfilterharness.cpp:
20872 asm : Fix for luma_vss test bench failure
20873 [7f09cfcf176c]
20874
20875 2014-01-24 Steve Borho <steve@borho.org>
20876
20877 * source/encoder/slicetype.cpp:
20878 Merge with stable
20879 [7cd3a3195598]
20880
20881 * source/encoder/slicetype.cpp:
20882 slicetype: prevent compiler warnings about uninitialized variables
20883 [2a2e5711f63b] <stable>
20884
20885 * source/common/lowres.cpp, source/encoder/slicetype.cpp,
20886 source/encoder/slicetype.h:
20887 Merge with stable
20888 [047fd4670cbe]
20889
20890 2014-01-24 Satoshi Nakagawa <nakagawa424@oki.com>
20891
20892 * source/encoder/slicetype.cpp:
20893 fix b-pyramid for fixed GOP
20894 [ffee1032eaed] <stable>
20895
20896 2014-01-24 Steve Borho <steve@borho.org>
20897
20898 * source/encoder/reference.cpp:
20899 reference: pad width of weighted region to multiple of 16
20900 [2ab2bb459d1a] <stable>
20901
20902 * source/common/lowres.h, source/encoder/slicetype.cpp,
20903 source/encoder/slicetype.h:
20904 nits
20905 [c02e59ab4ee9] <stable>
20906
20907 * source/encoder/slicetype.cpp:
20908 slicetype: fix bcost behavior with signed ints
20909 [0431eb3404e7] <stable>
20910
20911 2014-01-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20912
20913 * source/common/lowres.cpp, source/common/lowres.h,
20914 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
20915 source/encoder/slicetype.h:
20916 slicetype: change all costs to int64_t
20917 [8dd9b7ac5b61] <stable>
20918
20919 * source/common/common.h:
20920 Merge with stable
20921 [807495b7a9fc]
20922
20923 * source/common/common.h:
20924 lowres: fix msys compile error
20925 [f45d9772cc40] <stable>
20926
20927 2014-01-23 Steve Borho <steve@borho.org>
20928
20929 * source/encoder/slicetype.cpp:
20930 nit
20931 [23c65133c555]
20932
20933 * source/common/lowres.cpp, source/encoder/slicetype.cpp:
20934 white-space and other nits
20935 [438a2258504d]
20936
20937 * source/encoder/slicetype.cpp:
20938 slicetype: repair I frame placement with lookahead disabled
20939
20940 if ((true || foo) && bar) properly degrades to if (bar)
20941 [f0ae3d8d2b03]
20942
20943 * source/common/common.cpp:
20944 preset: re-disable lookahead at ultrafast preset
20945 [c2af7808ef8d]
20946
20947 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20948 Merge with stable
20949 [099a71435329]
20950
20951 * source/common/lowres.cpp, source/common/lowres.h,
20952 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
20953 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20954 slicetype: upgrade frame cost variables to uint64_t
20955 [629d0a685dcb] <stable>
20956
20957 2014-01-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20958
20959 * source/test/pixelharness.cpp:
20960 testbench: added the chroma_addAvg primitives.
20961 [5460e85ae178]
20962
20963 2014-01-23 Steve Borho <steve@borho.org>
20964
20965 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20966 slicetype: remove unused numDecided member variable
20967 [f2766083c252]
20968
20969 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20970 Merge with stable
20971 [416713ab5821]
20972
20973 2014-01-21 Steve Borho <steve@borho.org>
20974
20975 * source/common/lowres.h, source/encoder/reference.cpp,
20976 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20977 slicetype: reorg to make frame cost estimates re-entrant (for RC and
20978 WP)
20979
20980 * moves frame cost calculations into a separate class deriving from
20981 WaveFront
20982 * frames[] array now always declared on stack for better re-entrant
20983 behavior
20984 * re-orders functions in slicetype.cpp for clarity
20985 * internal methods were made protected, for documentation purposes
20986 only
20987 * fixes a few minor problems discovered during the reorg
20988 * removes deprecated ReferencePlanes.unweightedFPelPlane
20989 [e9ec7787cf5e] <stable>
20990
20991 2014-01-22 Satoshi Nakagawa <nakagawa424@oki.com>
20992
20993 * source/Lib/TLibCommon/TComPattern.cpp,
20994 source/Lib/TLibCommon/TComPattern.h,
20995 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
20996 cleanup initPattern()
20997 [8732434ea913]
20998
20999 2014-01-20 Satoshi Nakagawa <nakagawa424@oki.com>
21000
21001 * source/Lib/TLibCommon/TypeDef.h,
21002 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
21003 reduce CI_NUM
21004 [6a12fc6e6fdc]
21005
21006 2014-01-23 Steve Borho <steve@borho.org>
21007
21008 * source/encoder/slicetype.cpp:
21009 Merge with stable
21010 [cbd2ea65f87d]
21011
21012 * source/encoder/slicetype.cpp:
21013 slicetype: issue EMMS before returning a thread to the work pool
21014 [a42dd0dfe90d] <stable>
21015
21016 * source/common/primitives.h:
21017 primitives: move luma_addAvg close to other weight/avg functions
21018 [7aa3ea411568]
21019
21020 * source/common/primitives.h:
21021 primitves: fix a comment
21022 [5bf76ded5209]
21023
21024 * source/common/primitives.h:
21025 primitive: remove two dead funcdefs
21026 [a4c0b6e35dd1]
21027
21028 * source/common/ipfilter.cpp, source/common/primitives.h,
21029 source/common/x86/asm-primitives.cpp,
21030 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
21031 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
21032 primitive: remove dead ipfilter_sp and ipfilter_ss
21033 [ee36ffef7648]
21034
21035 * source/common/ipfilter.cpp, source/common/primitives.h,
21036 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
21037 primitive: remove dead ipfilter_ps
21038 [688f3951c90c]
21039
21040 * source/test/pixelharness.cpp:
21041 pixelharness: remove dead primitive test
21042 [177421068f53]
21043
21044 2014-01-23 Nabajit Deka <Nabajit Deka>
21045
21046 * source/Lib/TLibCommon/TComPrediction.cpp:
21047 asm : Hook up chroma_vps and chroma_vss with the encoder.
21048 [356ec7ff8a68]
21049
21050 * source/Lib/TLibCommon/TComPrediction.cpp:
21051 asm : Hook up luma_vps and luma_vss with the encoder.
21052 [f5ab67ba11b7]
21053
21054 2014-01-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21055
21056 * source/Lib/TLibCommon/TComYuv.cpp, source/common/pixel.cpp,
21057 source/common/primitives.h:
21058 asm-primitives: addAvg, fix bug pointed out by Ashok.
21059 [f1bd676fd90f]
21060
21061 2014-01-22 Steve Borho <steve@borho.org>
21062
21063 * source/common/CMakeLists.txt, source/common/ipfilter.cpp,
21064 source/common/primitives.h, source/common/vec/ipfilter-sse41.cpp,
21065 source/common/vec/vec-primitives.cpp,
21066 source/test/ipfilterharness.cpp:
21067 vec: drop unused vectorized chroma_vsp primitive, ipfilter-sse41.cpp
21068 [29c1940c8acb]
21069
21070 2014-01-22 Nabajit Deka <Nabajit Deka>
21071
21072 * source/Lib/TLibCommon/TComPrediction.cpp,
21073 source/encoder/weightPrediction.cpp:
21074 asm : Hook up chroma_vsp with the encoder.
21075 [d2bfe01c0f29]
21076
21077 2014-01-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21078
21079 * Merge from stable
21080 [d8a1e3bebdf8]
21081
21082 2014-01-22 Kavitha Sampath <kavitha@multicorewareinc.com>
21083
21084 * source/encoder/weightPrediction.cpp:
21085 WeightPrediction: Do not use lowres MV/MVcost for invalid
21086 MVs/MVcosts
21087 [9497c55d7be2] <stable>
21088
21089 * source/encoder/weightPrediction.cpp:
21090 weightp: fix hash mismatch when --ref > 3
21091 [d56dd4d8e08b] <stable>
21092
21093 2014-01-21 Steve Borho <steve@borho.org>
21094
21095 * source/encoder/slicetype.cpp:
21096 Merge with stable
21097 [0f0ad4c094bd]
21098
21099 * source/encoder/slicetype.cpp:
21100 slicetype: fix cuTree mv indexing (bug found by herman.chen@rock-
21101 chips.com)
21102
21103 This drops the bitrate almost 20% and the SSIM from 0.4-0.9 dB. I
21104 believe this needs rebalancing.
21105 [3cf5a75a8002] <stable>
21106
21107 * source/input/yuv.cpp:
21108 yuv: skip frames one at a time to prevent offset overflow
21109 [e12bb1346bef] <stable>
21110
21111 2014-01-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21112
21113 * Merge
21114 [ce41ee0f5c8c]
21115
21116 2014-01-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21117
21118 * source/common/x86/asm-primitives.cpp,
21119 source/common/x86/intrapred8.asm:
21120 assembly code for intra_pred_ang8_3
21121 [b51c1866363d]
21122
21123 2014-01-20 Steve Borho <steve@borho.org>
21124
21125 * source/x265.cpp:
21126 cli: tweak aq-strength CLI help
21127 [950c9a864cb6]
21128
21129 * source/encoder/slicetype.cpp:
21130 slicetype: white-space fixes
21131 [925e612b0591]
21132
21133 * source/encoder/encoder.cpp:
21134 encoder: fix the slicetype char table
21135 [7bfd1b01953c]
21136
21137 * Merge with stable
21138 [b5b7d8e64024]
21139
21140 2014-01-20 Gopu Govindaswamy <Gopu Govindaswamy>
21141
21142 * source/Lib/TLibEncoder/NALwrite.cpp:
21143 Nalwrite: removed EMULATION_SIZE macro and calculate the
21144 emulationSize from Encoded bitstream size
21145 [21a5fb7ab965] <stable>
21146
21147 2014-01-17 Aarthi Thirumalai <Aarthi Thirumalai>
21148
21149 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
21150 rc: avoid issues from zero-residual lookahead blocks, introduce a
21151 small bias
21152 [ffb53cd1f953]
21153
21154 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
21155 lookahead: call sliceTypeAnalyse when necessary
21156
21157 call sliceTypeAnalyse even when cutree is on or lookaheadDepth or
21158 scenecutThreashold > 0
21159
21160 performs lookahead when lookaheadDepth > 0, activates lookahead for
21161 cutree when b-adapt/bframes =0 and cutree is set , also enables
21162 scenecut for bframes = 0 cases. improves psnr/ssim by .5 dB.
21163 [bca352c8689e]
21164
21165 2014-01-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21166
21167 * source/common/common.h:
21168 NALwrite: remove unused macro
21169 [cf79f89c783c]
21170
21171 2014-01-20 Gopu Govindaswamy <Gopu Govindaswamy>
21172
21173 * source/Lib/TLibEncoder/NALwrite.cpp:
21174 Nalwrite: removed EMULATION_SIZE macro and calculate the
21175 emulationSize from Encoded bitstream size
21176 [356d91e22b25]
21177
21178 2014-01-17 Min Chen <chenm003@163.com>
21179
21180 * source/common/x86/asm-primitives.cpp,
21181 source/common/x86/intrapred8.asm:
21182 asm: IntraAng32x32 Mode[17]
21183 [9f7fca027b41]
21184
21185 2014-01-18 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21186
21187 * source/test/pixelharness.cpp, source/test/pixelharness.h:
21188 testbench support for addAvg primitive
21189 [56ce4f7669c6]
21190
21191 2014-01-17 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21192
21193 * source/Lib/TLibCommon/TComYuv.cpp, source/common/pixel.cpp,
21194 source/common/primitives.h:
21195 primitive function for luma and chroma for loops in addAvg().
21196 [c88314c4a1a1]
21197
21198 2014-01-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
21199
21200 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
21201 Re-enabling new weightp
21202 [e90e39c3a035]
21203
21204 2014-01-17 Steve Borho <steve@borho.org>
21205
21206 * source/common/common.cpp:
21207 common: do not report ssim costs by default
21208
21209 It costs CPU cycles to measure SSIM, do not do this unless the user
21210 asks for them with --ssim
21211 [385560ac328d]
21212
21213 * source/common/common.cpp:
21214 common: remove trailing white-space
21215 [299bbf5f06c2]
21216
21217 * source/encoder/encoder.cpp:
21218 white-space fixes, reorder for clarity
21219 [838e485c6365]
21220
21221 * source/encoder/encoder.cpp:
21222 update/fix comments
21223 [c8c8a0273eff]
21224
21225 * source/common/common.cpp, source/encoder/encoder.cpp:
21226 move param fixups to Encoder::configure()
21227 [7855cee45b8c]
21228
21229 2014-01-15 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21230
21231 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21232 source/common/x86/intrapred8.asm:
21233 asm: code for intra_pred[BLOCK_32x32] mode 2 and 34
21234 [1d7ea03e1a38]
21235
21236 2014-01-16 Steve Borho <steve@borho.org>
21237
21238 * source/encoder/encoder.cpp:
21239 stats: simplify slice type lookup
21240 [3d747041271f]
21241
21242 2014-01-16 Xun Xu, PPLive Corporation <xunxu@pptv.com>
21243
21244 * source/CMakeLists.txt, source/Lib/TLibCommon/TComPic.h,
21245 source/encoder/encoder.cpp, source/encoder/encoder.h,
21246 source/encoder/slicetype.cpp, source/x265.h:
21247 add dts to x265_picture, handle same as x264
21248 [57b3238680c5]
21249
21250 2014-01-16 Steve Borho <steve@borho.org>
21251
21252 * source/Lib/TLibEncoder/TEncSbac.cpp:
21253 TEncSbac: remove hungarian prefixes from loop vars
21254 [243b01e81109]
21255
21256 2014-01-12 Satoshi Nakagawa <nakagawa424@oki.com>
21257
21258 * source/encoder/compress.cpp:
21259 remove duplicate code
21260 [188617e76d60]
21261
21262 2014-01-15 Satoshi Nakagawa <nakagawa424@oki.com>
21263
21264 * source/Lib/TLibCommon/TComTrQuant.h,
21265 source/Lib/TLibEncoder/TEncSbac.cpp:
21266 fix blockCbpBits[]
21267 [04aae8fd88a0]
21268
21269 2014-01-15 Min Chen <chenm003@163.com>
21270
21271 * source/Lib/TLibCommon/TComDataCU.cpp:
21272 cleanup initCU()
21273 [37b4ca796088]
21274
21275 2014-01-15 Steve Borho <steve@borho.org>
21276
21277 * source/x265.cpp:
21278 x265: help nit
21279 [e5d28e2c5a82]
21280
21281 2013-12-17 Kavitha Sampath <kavitha@multicorewareinc.com>
21282
21283 * source/common/common.cpp, source/encoder/dpb.cpp,
21284 source/encoder/slicetype.cpp, source/x265.cpp, source/x265.h:
21285 slicetype: remove --refresh and use --open-gop(default: enable)
21286 [27c2dac98a3c]
21287
21288 2014-01-14 Steve Borho <steve@borho.org>
21289
21290 * Merge with stable
21291 [7af141be0e7a]
21292
21293 2014-01-09 Satoshi Nakagawa <nakagawa424@oki.com>
21294
21295 * source/Lib/TLibCommon/TComDataCU.cpp,
21296 source/Lib/TLibCommon/TComDataCU.h,
21297 source/Lib/TLibCommon/TComPrediction.cpp,
21298 source/Lib/TLibEncoder/TEncSearch.cpp:
21299 cleanup MVPNum
21300 [e7624ab39cff]
21301
21302 2014-01-14 Steve Borho <steve@borho.org>
21303
21304 * source/common/wavefront.cpp:
21305 wavefront: bug fix
21306 [9e923f539d89] <stable>
21307
21308 2014-01-13 Steve Borho <steve@borho.org>
21309
21310 * source/common/wavefront.cpp:
21311 wavefront: consider enabled bitmap status in
21312 checkHigherPriorityRow()
21313 [8e0fa5fcbf15] <stable>
21314
21315 * source/Lib/TLibCommon/TComYuv.cpp:
21316 TComYuv: pad chroma allocations, fix valgrind warnings
21317 [aae31685d8c7] <stable>
21318
21319 * source/Lib/TLibCommon/TComPicYuv.cpp:
21320 TComPicYuv: add a row and col of padding for lowres interpolation
21321 [8d3cdf1a846e] <stable>
21322
21323 * source/CMakeLists.txt, source/common/CMakeLists.txt:
21324 cmake: tweak order of compiles to improve parallel build times
21325
21326 Move assembly and intrinsic files to front of the build
21327 [3bc604fdd380]
21328
21329 * Merge with stable
21330 [5a607dd446ea]
21331
21332 2014-01-13 Min Chen <chenm003@163.com>
21333
21334 * source/Lib/TLibCommon/ContextTables.h:
21335 HM: Fix for #576: Context table for CBF
21336 [c9cefa67691c] <stable>
21337
21338 * source/Lib/TLibCommon/ContextTables.h:
21339 HM: Fix for #501: Decoding part_mode with inter_4x4 can use CNU
21340 context
21341 [de98453fa608] <stable>
21342
21343 2014-01-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
21344
21345 * source/Lib/TLibCommon/TComSlice.h,
21346 source/encoder/weightPrediction.cpp,
21347 source/encoder/weightPrediction.h:
21348 fix for hash mismatch in new weightp
21349 [cd6c34bb4172] <stable>
21350
21351 2014-01-10 Steve Borho <steve@borho.org>
21352
21353 * Merge with stable
21354 [b2e7d8da2838]
21355
21356 2014-01-09 Murugan Vairavel <murugan@multicorewareinc.com>
21357
21358 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21359 source/common/x86/intrapred8.asm:
21360 asm: code for intra_pred[BLOCK_16x16] mode 2 and 34
21361 [c5aa7ae59fc7]
21362
21363 2014-01-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21364
21365 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21366 source/common/x86/intrapred8.asm:
21367 asm: intra_pred_ang8_2 asm code
21368 [acbe568e7366]
21369
21370 2014-01-07 Min Chen <chenm003@163.com>
21371
21372 * source/common/x86/ipfilter8.asm:
21373 improvement interpolate_H_pp
21374 [b2a0cfe4837b]
21375
21376 2013-12-28 Min Chen <chenm003@163.com>
21377
21378 * source/Lib/TLibEncoder/TEncEntropy.cpp:
21379 cleanup reduce condition check for getUseDQP()
21380 [a03cc8c4d739] <stable>
21381
21382 2014-01-08 Steve Borho <steve@borho.org>
21383
21384 * source/VectorClass/README.txt, source/VectorClass/instrset.h,
21385 source/VectorClass/vectorclass.h, source/VectorClass/vectori128.h,
21386 source/VectorClass/vectori256.h, source/VectorClass/vectori256e.h,
21387 source/common/vec/ipfilter-ssse3.cpp, source/common/vec/pixel-
21388 sse41.cpp, source/common/vec/pixel-ssse3.cpp,
21389 source/common/vec/pixel16-sse41.cpp,
21390 source/common/x86/intrapred.asm, source/common/x86/pixel-util.asm,
21391 source/test/testpool.cpp:
21392 Merge with default, prepare for 0.7 tag
21393 [0d70188e80bc] <stable>
21394
21395 2014-01-07 Murugan Vairavel <murugan@multicorewareinc.com>
21396
21397 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21398 util8.asm:
21399 asm: fix memory access violation due to scale2D_64to32
21400 [c4edab8dab65]
21401
21402 2014-01-07 Min Chen <chenm003@163.com>
21403
21404 * source/common/x86/ipfilter8.asm:
21405 correct number of xmm register on interp_8tap_horiz*
21406 [ca7bde495318]
21407
21408 2014-01-06 Steve Borho <steve@borho.org>
21409
21410 * source/Lib/TLibCommon/TComPrediction.cpp:
21411 TComPrediction: simplify luma intra prediction function
21412 [4811da38078c]
21413
21414 * source/Lib/TLibCommon/TComPrediction.cpp:
21415 wtf? a useless comment and if()/else() with two identical
21416 statements?
21417 [c1cf926c20e0]
21418
21419 * source/Lib/TLibCommon/TComBitStream.cpp:
21420 TComBitStream: fix loop bounds so we do not check past end of buffer
21421 [bd9b395c80c7]
21422
21423 * .hgignore:
21424 ignore vim swap files
21425 [6d40ab7be379]
21426
21427 * source/Lib/TLibCommon/TComBitStream.cpp:
21428 TComBitstream: simplify and streamline start code checks
21429 [e1ee0fc31e79]
21430
21431 * source/Lib/TLibCommon/TComBitStream.cpp:
21432 TComBitStream: rename variables for clarity
21433
21434 There was no point making cnt an unsigned variable when the return
21435 value is signed, this just adds more compiler warnings
21436 [324d99e3d6ac]
21437
21438 * source/encoder/motion.cpp:
21439 motion: add early out for subpel refine if bcost is already zero
21440 [63d6b04fe201]
21441
21442 * source/encoder/slicetype.cpp:
21443 slicetype: better prevention for compiler warnings and misbehaviors
21444 [54835bf61c11]
21445
21446 * source/common/x86/asm-primitives.cpp:
21447 asm: disable x265_scale2D_64to32_ssse3, DUMA finds access violations
21448
21449 I tried simple buffer padding workarounds, adding 16 bytes at the
21450 start and end of bufScale, but it was still causing the access
21451 violation.
21452 [d4bef967ae10]
21453
21454 2014-01-01 Steve Borho <steve@borho.org>
21455
21456 * source/Lib/TLibCommon/TComSlice.h:
21457 slice: nits
21458 [abd4da45823c]
21459
21460 * source/encoder/weightPrediction.cpp:
21461 weight: clarify max denom adjustments
21462 [75f7a9434289]
21463
21464 * source/encoder/weightPrediction.cpp:
21465 weight: nits
21466 [89e57c446a81]
21467
21468 * source/encoder/weightPrediction.cpp:
21469 weight: alloc intermediate weight buffer once per plane
21470 [c35d653ab515]
21471
21472 * source/encoder/weightPrediction.cpp,
21473 source/encoder/weightPrediction.h:
21474 weight: use m_ prefix consistently for all member variables
21475 [d809090f70ad]
21476
21477 * source/encoder/weightPrediction.h:
21478 weightPrediction: remove unused member variables, fix shadow warning
21479 [0715d03808f3]
21480
21481 2014-01-06 Min Chen <chenm003@163.com>
21482
21483 * source/encoder/frameencoder.cpp:
21484 fix every execute output different bitstream when SAO enabled
21485 [99f28c405b5c]
21486
21487 2014-01-03 Steve Borho <steve@borho.org>
21488
21489 * source/input/y4m.cpp:
21490 y4m: use loop to skip frames, avoid 32bit size wrap problems
21491 [f96c85f03b77]
21492
21493 2014-01-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21494
21495 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
21496 Backed out changeset: revert to HM-based weightP
21497 [8137881d4cad]
21498
21499 2013-12-30 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
21500
21501 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
21502 Integrating new weight analysis in encoder
21503 [dcae0b69d9b3]
21504
21505 * source/encoder/CMakeLists.txt, source/encoder/weightPrediction.cpp,
21506 source/encoder/weightPrediction.h:
21507 Importing x264 weight analysis to encoder
21508 [affdfa4b5537]
21509
21510 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
21511 Moving macro to header
21512 [f5427379b40d]
21513
21514 2013-12-30 Aarthi Thirumalai <Aarthi Thirumalai>
21515
21516 * source/encoder/ratecontrol.cpp:
21517 rc: bug fix to improve quality for the first I frame.
21518 [c86f18d7eb2a]
21519
21520 2013-12-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21521
21522 * source/common/common.cpp:
21523 common: tune-ssim sets aqmode as AUTO_VARIANCE (2). Gives higher
21524 ssim.
21525 [c561cd778ef5]
21526
21527 2013-12-27 Aarthi Thirumalai <Aarthi Thirumalai>
21528
21529 * source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
21530 cutree: bug fixes. correct the timescale used in getQScale()
21531 [964e5bc90ad2]
21532
21533 2013-12-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21534
21535 * source/common/common.cpp:
21536 aq, cutree: completely turn of AQ, at fastest presets
21537
21538 Prevent AQ from running unnecessarily with strength 0.
21539 [8b5c5fe7fbc9]
21540
21541 * source/common/common.cpp:
21542 aq, cutree: preset changes
21543
21544 1. Disable AQ at ultrafast/superfast presets 2. Disable CUTree at
21545 ultrafast/superfast/veryfast/faster presets (requires b-adapt to be
21546 non-zero). 3. tune-psnr disables only AQ, CUtree stays enabled (at
21547 appropriate presets).
21548 [cb2a18cc1d14]
21549
21550 2013-12-26 Murugan Vairavel <murugan@multicorewareinc.com>
21551
21552 * source/common/x86/blockcopy8.asm:
21553 asm: fix for mismatch in 10bpp block copy
21554 [0210e9c4a6f9]
21555
21556 2013-12-24 Aarthi Thirumalai <Aarthi Thirumalai>
21557
21558 * source/common/common.cpp, source/encoder/ratecontrol.cpp,
21559 source/encoder/ratecontrol.h, source/x265.h:
21560 aq: Add AQ_AUTO_VARIANCE feature for performing adaptive
21561 quantization.
21562 [2f83ed50ed9a]
21563
21564 2013-12-25 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21565
21566 * source/encoder/encoder.cpp, source/x265.cpp:
21567 encoder: nits
21568 [08bad990fd66]
21569
21570 2013-12-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21571
21572 * source/encoder/encoder.cpp:
21573 csv: formatting ssim output
21574 [d74f2e0856b4]
21575
21576 * source/common/common.cpp, source/x265.cpp:
21577 common: change tune-ssim to default. When tune-psnr is enabled, AQ
21578 and CUTree are turned off.
21579 [cb48e00e1fd8]
21580
21581 2013-12-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21582
21583 * source/encoder/encoder.cpp:
21584 encoder: increase precision, add ssim db info to csv output.
21585 [bb7057e7ed6d]
21586
21587 * source/common/common.cpp:
21588 common: [OUTPUT CHANGES]: change default ratecontrol mode to CRF-28.
21589 AQ on (strength 1.0), CUTree ON. SSIM reporting On, PSNR off.
21590 [aa2856a374a1]
21591
21592 2013-12-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21593
21594 * source/encoder/compress.cpp:
21595 rd: optimize rd 0
21596 [3e98f0e66e0b]
21597
21598 * source/encoder/compress.cpp:
21599 rd: fix incorrect check for rdlevel
21600
21601 Merge-skip check should be only for rdlevel 2
21602 [c69ef62da2b6]
21603
21604 * source/encoder/compress.cpp:
21605 rd: modify recon generation in rd 0 to have lesser mem copies
21606 [edeccf4c6cdd]
21607
21608 * source/Lib/TLibCommon/TComDataCU.cpp:
21609 rd: remove unnecessary mem copies
21610 [f766e7c3b165]
21611
21612 2013-12-17 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21613
21614 * source/encoder/compress.cpp:
21615 compress: clean up
21616 [c1802fef73b4]
21617
21618 * source/encoder/compress.cpp:
21619 rd: move merge-skip check before other modes are checked
21620
21621 in rd 1,0 merge-skip is chosen only based on sa8d threshols.
21622 Checking other Inter/inter modes is unnecessary overhead.
21623 [06ea3901bf35]
21624
21625 * source/encoder/compress.cpp:
21626 rd: fix error in merge-skip identfication in rd 1,0
21627
21628 Cost was not calculated if the best mode is merge-skip in rd 1,0
21629 [526c10b6a808]
21630
21631 * source/encoder/compress.cpp:
21632 compress: remove unused sbaccoder load
21633 [ee272784fa6e]
21634
21635 * source/encoder/compress.cpp:
21636 compress: remove redundant initializations
21637
21638 depth is already initialized in initsubcu
21639 [3aa3ed0fefe8]
21640
21641 * source/encoder/compress.cpp:
21642 compress: remove unnecessary code
21643
21644 reco and resi buffers is not used in this function
21645 [8c90ad61a306]
21646
21647 * source/encoder/compress.cpp:
21648 compress: remove redundant initializations
21649
21650 skipFlags are set to false during initialization.
21651 [e476d497f3cd]
21652
21653 * source/encoder/compress.cpp:
21654 rd: check DQP before best cu is copied to the pic in rd 0
21655 [f9c427b44459]
21656
21657 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/compress.cpp:
21658 rd: remove redundant checkDQP and add checkDQP for rd 0
21659
21660 checkDQP is called on bestCU, so no need to call it after each
21661 encode. For rd0, call checkDQP after residual encode at depth 0.
21662 [5828f199d745]
21663
21664 2013-12-19 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
21665
21666 * source/encoder/ratecontrol.cpp:
21667 Consider rounded width, height for ssd calculation
21668 [8133378e2250]
21669
21670 * source/Lib/TLibCommon/TComPicYuv.cpp:
21671 Fix typo in extending height to round to multiple of 16
21672 [146051557e0d]
21673
21674 2013-12-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
21675
21676 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
21677 encoder: print global ssim in db
21678 [60c2a49909f2]
21679
21680 2013-12-18 Rafaël Carré <funman@videolan.org>
21681
21682 * source/CMakeLists.txt:
21683 cmake: .pc file is useful as well when using static libs
21684 [1c37c4401ea4]
21685
21686 * source/cmake/version.cmake:
21687 cmake: take revision from git if within a git repo
21688 [54445c440ea0]
21689
21690 * source/cmake/version.cmake:
21691 cmake: verify existance of hg repo
21692 [387cd1635278]
21693
21694 2013-12-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21695
21696 * source/common/common.cpp:
21697 common: tune-ssim turns on aq strength
21698 [09d93b8d5994]
21699
21700 * source/common/common.cpp:
21701 common: adjust tabs
21702 [7f1da6982201]
21703
21704 * source/common/common.cpp:
21705 common: update print params and defaults.
21706
21707 By default, tune-psnr is turned on, which means CUTree is enabled
21708 but AQ strength is zero.
21709 [3055eacc88ae]
21710
21711 * source/common/common.cpp:
21712 common: this check taken care of in encoder::configure()
21713 [7db25026df8e]
21714
21715 * source/common/common.cpp:
21716 common: enable CUtree by default. tune=psnr is the default setting
21717 [06052d963404]
21718
21719 * source/common/common.cpp:
21720 common: remove meaningless warning
21721
21722 aq=1 is required for cutree. Therefore, aq=1, aqstrength=0 is a
21723 valid case for all configs that want cutree but do not want aq (eg,
21724 tune-psnr).
21725 [b9b1533b52d5]
21726
21727 * source/encoder/encoder.cpp:
21728 encoder: increase precision for SSIM printf
21729 [381ff6bcade6]
21730
21731 2013-12-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
21732
21733 * source/common/common.cpp, source/encoder/ratecontrol.cpp,
21734 source/encoder/slicetype.cpp, source/x265.cpp:
21735 cutree: Enable CUTree for ratecontrol when tune=ssim and bug fix for
21736 cutree
21737
21738 1. added cutree into cli option, default cutree is disabled 2.
21739 --tune=ssim then aq and cutree is enabled 3. Fixed bug in slicetype-
21740 frameCostRecalculate() the qp offset for B and B-REF from lowres
21741 qpAqOffset, for non-B from lowres qpoffset 4. Fixed bug in
21742 Ratecontrol-getQScale - the clip duration should (frameduration *
21743 timescale) when cutree is enabled
21744 [6edecf959a30]
21745
21746 2013-12-17 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21747
21748 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
21749 rd: remove unnecessary sbaccoder loads
21750 [37e0b00adeec]
21751
21752 * source/Lib/TLibEncoder/TEncSearch.cpp:
21753 rd: fix wrong chroma mode used for mode decision
21754 [119d09b54b95]
21755
21756 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21757
21758 * source/Lib/TLibEncoder/TEncSearch.cpp:
21759 rd level: use cu coeff array while computing Intra coefficients
21760 instead of temp buffer
21761 [37c57d47a9d4]
21762
21763 2013-12-17 Min Chen <chenm003@163.com>
21764
21765 * source/common/x86/intrapred8.asm:
21766 fix yasm warning 'trailing garbage after expression'
21767 [e1465ef2659c]
21768
21769 * source/common/x86/pixel-util8.asm:
21770 fix crash in pixel_var_16x16_internal, because
21771 RateControl::acEnergyCu() call it with unalignment pointer
21772 [c944aa8fbf2f]
21773
21774 2013-12-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
21775
21776 * source/encoder/ratecontrol.cpp:
21777 rc: bug fix for variance data calculation for weighted prediction
21778 when aq-mode is disable
21779 [517eadc29cf6]
21780
21781 2013-12-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21782
21783 * source/common/vec/vec-primitives.cpp:
21784 vec-primitives: avoid warnings
21785 [9ffeea38b119]
21786
21787 * source/Lib/TLibCommon/TComSlice.cpp:
21788 TComSlice: correct initialization list order (warnings on non-VS
21789 compilers).
21790 [7474532db9ec]
21791
21792 2013-12-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
21793
21794 * source/encoder/ratecontrol.cpp:
21795 rc: Calculate the variance data for weighted prediction if aq-mode
21796 is disable
21797 [baf811614a7a]
21798
21799 2013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
21800
21801 * source/encoder/compress.cpp:
21802 compress: remove unused variables
21803 [91b9cd801cbb]
21804
21805 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21806
21807 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
21808 rd level: use cu coeff array while computing coefficients instead of
21809 temp buffer
21810 [34137673f778]
21811
21812 2013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
21813
21814 * source/encoder/compress.cpp:
21815 rd level: fix for output mismatch
21816
21817 For boundary conditions, cost calculation was wrong.
21818 [3dae450a06a4]
21819
21820 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21821
21822 * source/Lib/TLibEncoder/TEncSearch.cpp:
21823 rd level: remove unnecessary calculations in intra residual encoding
21824
21825 calcrecon calculates recon,reconQT and reconIpred which is
21826 redundant. Use add and block copy instead of calcrecon.
21827 [9bb16a023918]
21828
21829 2013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
21830
21831 * source/Lib/TLibCommon/TComDataCU.cpp:
21832 TComDataCU: fix gcc warning
21833 [57efb99765cc]
21834
21835 * source/Lib/TLibEncoder/TEncCu.h:
21836 TEncCu: reintroduce a macro which was removed while merging
21837 [9171e78ee412]
21838
21839 2013-12-11 Praveen Tiwari <Praveen Tiwari>
21840
21841 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21842 source/common/x86/intrapred8.asm:
21843 all_angs_pred_8x8, asm code
21844 [43656ecbe66b]
21845
21846 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21847
21848 * source/Lib/TLibEncoder/TEncSearch.cpp:
21849 TEncSearch: fix gcc warning
21850
21851 remove unused variables and shadowed declarations
21852 [238d7f272d1e]
21853
21854 2013-12-13 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21855
21856 * source/encoder/compress.cpp:
21857 white space nits
21858 [f157836c3713]
21859
21860 * source/encoder/compress.cpp:
21861 rd level: modify mode-decision logic for rd level 0
21862
21863 In rd level 0, sa8d cost used for mode decision across depths.
21864 dct,quant is not done during mode-decision and no recon is
21865 generated. Hence Intra has to use original pixels as reference.
21866 Residual encoding is done at depth 0 and Intra prediction for the
21867 best mode will be done again with recon as reference.
21868 [d2a1b3409656]
21869
21870 * source/Lib/TLibCommon/TComDataCU.cpp,
21871 source/Lib/TLibCommon/TComDataCU.h, source/Lib/TLibEncoder/TEncCu.h,
21872 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
21873 rd level: add functions to do residual encoding at depth 0 for best
21874 modes.
21875
21876 This function will be used for rd level 0.
21877 [e05b990cfb93]
21878
21879 2013-12-13 Gopu Govindaswamy <gopu@multicorewareinc.com>
21880
21881 * source/common/common.cpp, source/common/lowres.cpp,
21882 source/encoder/ratecontrol.cpp:
21883 rc: Initialized qp and aq offsets and QscaleFactor if aqmode is
21884 disabled these variables need for cutree analyse
21885 [c6ff3ede1f29]
21886
21887 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
21888 Slicetype: recalculate the frame cost without re-running lookahead
21889 for cutree
21890 [582e96661432]
21891
21892 2013-12-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21893
21894 * source/output/yuv.cpp:
21895 Merge with stable
21896 [4b0163d06ba1]
21897
21898 * source/output/yuv.cpp:
21899 yuv: fix more 32-bit compile warnings
21900 [bca251133e70] <stable>
21901
21902 2013-12-13 Steve Borho <steve@borho.org>
21903
21904 * source/output/yuv.cpp:
21905 Merge with stable
21906 [5cbea1cd3d3a]
21907
21908 * source/output/yuv.cpp:
21909 yuv: prevent 32bit compiler warnings
21910 [14e9dbedab9d] <stable>
21911
21912 2013-12-12 Steve Borho <steve@borho.org>
21913
21914 * source/output/y4m.cpp:
21915 y4m: perform file offset math in uint64_t
21916 [292a91f3427e]
21917
21918 2013-12-13 Aarthi Thirumalai <Aarthi Thirumalai>
21919
21920 * source/Lib/TLibCommon/TComSlice.cpp,
21921 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp,
21922 source/encoder/ratecontrol.cpp:
21923 rc: implement ratecontrol upto MAX_MAX_QP.
21924
21925 For RateControl .virtual qps are used from 0 till 69. Howevr,Before
21926 encoding the frame, the qps are clipped back to 51
21927 [926f7034b2f0]
21928
21929 * source/Lib/TLibCommon/CommonDef.h,
21930 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
21931 rc: Initialize virtual qps till 69
21932 [07d83bc1cfad]
21933
21934 2013-12-12 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
21935
21936 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
21937 Fix for deltaWeight assert failure in Decoder
21938 [ba2f8f5d3b07]
21939
21940 2013-12-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21941
21942 * source/encoder/compress.cpp:
21943 Merge: changes outputs
21944 [d0cf79d76057]
21945
21946 2013-12-12 Sumalatha Polureddy <Sumalatha Polureddy>
21947
21948 * source/encoder/compress.cpp:
21949 rd level: fix the incorrect cost calculation for sa8d
21950
21951 In rd level 1, the distortion is sa8d, so cost calculation should be
21952 calrdsadcost() instead of calcrdcost()
21953 [ba3cc2f01138]
21954
21955 * source/encoder/compress.cpp:
21956 rd level: remove the redundant splitflag bit calculation with EARLY
21957 EXIT ON
21958 [fdfecd9f4c9e]
21959
21960 * source/encoder/compress.cpp:
21961 rd level: change the indexing for sa8d threshold array
21962
21963 The index in threshold array won't be same as depth when the max cu
21964 size is less than 64.
21965 [bf541ca76b3a]
21966
21967 2013-12-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21968
21969 * source/encoder/compress.cpp:
21970 compress: review/clean up top_skip
21971 [20f9187af731]
21972
21973 * source/encoder/compress.cpp:
21974 compress: review/clean up merge
21975 [1012911d1895]
21976
21977 2013-12-12 Steve Borho <steve@borho.org>
21978
21979 * source/output/yuv.cpp:
21980 Merge with stable
21981 [033a65692b6a]
21982
21983 2013-12-12 David Bachelart <david.bachelart@bbright.com>
21984
21985 * source/output/yuv.cpp:
21986 yuv: Support 4GB+ YUV files for output
21987 [06e88ad6d922] <stable>
21988
21989 2013-12-11 Steve Borho <steve@borho.org>
21990
21991 * source/common/CMakeLists.txt, source/common/ipfilter.cpp,
21992 source/common/primitives.h, source/common/vec/ipfilter-ssse3.cpp,
21993 source/common/vec/vec-primitives.cpp:
21994 primitives: drop ipfilter[FILTER_H_P_S_[4|8], including ipfilter-
21995 ssse3.cpp
21996 [a87f12ebb55b]
21997
21998 * source/common/x86/pixel-a.asm:
21999 merge with stable
22000 [25f412ecaba2]
22001
22002 * source/common/x86/pixel-a.asm:
22003 ssd: backport EMMS fix for SSD_4xN
22004 [d2385a789c8a] <stable>
22005
22006 2013-12-11 Nabajit Deka <nabajit@multicorewareinc.com>
22007
22008 * source/Lib/TLibCommon/TComPrediction.cpp:
22009 asm : Hook up chroma_hps with encoder.
22010 [93a92dafb667]
22011
22012 2013-12-11 Murugan Vairavel <murugan@multicorewareinc.com>
22013
22014 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22015 util.h, source/common/x86/pixel-util8.asm:
22016 asm: 10bpp code for calcrecon_16x16 and 32x32
22017 [350b0757d1a0]
22018
22019 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22020 util8.asm:
22021 asm: 10bpp code for calcrecon_4x4 and 8x8
22022 [59c09449211d]
22023
22024 2013-12-11 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22025
22026 * source/test/intrapredharness.cpp:
22027 testbench: fix invalid memory compare for 16bpp primitives
22028 [da972cf802fb]
22029
22030 2013-12-11 Murugan Vairavel <murugan@multicorewareinc.com>
22031
22032 * source/test/pixelharness.cpp:
22033 asm: 10bpp test bench code for calcrecon
22034 [99f3527f9b7b]
22035
22036 2013-12-11 Min Chen <chenm003@163.com>
22037
22038 * source/common/x86/intrapred16.asm:
22039 asm: remove reduce operators in intra_pred_planar32
22040 [5d21f5c91495]
22041
22042 2013-12-11 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22043
22044 * source/common/x86/intrapred16.asm:
22045 asm: fix hash mismatch in intra_pred_planar_32x32 16bpp
22046 [0d2771085aec]
22047
22048 2013-12-11 Min Chen <chenm003@163.com>
22049
22050 * source/common/x86/ssd-a.asm:
22051 asm: fix miss EMMS in pixel_ssd_ss_4xN
22052 [3e6b5f65f47c]
22053
22054 2013-12-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22055
22056 * source/common/x86/intrapred16.asm:
22057 asm: fix hash miss match due to intra_pred_ang4_17
22058 [8f634eac2ca0]
22059
22060 2013-12-10 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22061
22062 * source/common/x86/asm-primitives.cpp,
22063 source/common/x86/intrapred16.asm:
22064 16bpp: assembly code for intra_pred_planar_32x32
22065 [771e657a11fa]
22066
22067 * source/common/x86/intrapred16.asm:
22068 assembly code for intra_pred_planar_16x16 for 10 and 12-bit
22069 [2b618395a586]
22070
22071 2013-12-11 Gopu Govindaswamy <gopu@multicorewareinc.com>
22072
22073 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/lowres.cpp:
22074 tcomtrquant: when useRDOQ is disabled, it recomputes qpScaled, the
22075 qpScaled for trQuant is already set
22076 [c5f84164ef36]
22077
22078 2013-12-10 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
22079
22080 * source/Lib/TLibEncoder/TEncSearch.cpp,
22081 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
22082 rdlevel: implement rdlevel 1
22083
22084 At each depth, dct, quant, iquant, idct is done on best mode. No RD
22085 done during TU selection. Recon is generated for intra prediction in
22086 neighbouring quadtree is not broken
22087 [298470fa2d19]
22088
22089 * source/Lib/TLibEncoder/TEncSearch.cpp,
22090 source/Lib/TLibEncoder/TEncSearch.h:
22091 add functions for Intra residual transform and quantization without
22092 rd
22093 [14ddc3ed548a]
22094
22095 * source/Lib/TLibEncoder/TEncSearch.cpp,
22096 source/Lib/TLibEncoder/TEncSearch.h:
22097 add function for Inter residual tranform and quantization without RD
22098 [9b7f7303cdb9]
22099
22100 * source/Lib/TLibEncoder/TEncSearch.cpp,
22101 source/Lib/TLibEncoder/TEncSearch.h:
22102 TEncSearch: remove unused functions
22103 [b938ac5cef81]
22104
22105 2013-12-11 Kavitha Sampath <kavitha@multicorewareinc.com>
22106
22107 * source/Lib/TLibEncoder/TEncCu.cpp:
22108 log: fix memory overread issue
22109 [40895c94da21]
22110
22111 2013-12-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22112
22113 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp,
22114 source/Lib/TLibEncoder/TEncCu.h, source/encoder/encoder.cpp,
22115 source/encoder/frameencoder.cpp:
22116 cmake: Add LOG_CU_STATISTICS macro to enable/disable CU mode
22117 decision statistics.
22118 [a1e7aac486a7]
22119
22120 2013-12-10 Steve Borho <steve@borho.org>
22121
22122 * source/encoder/motion.cpp:
22123 motion: nit
22124 [3bf6be9d766b]
22125
22126 * source/common/x86/intrapred16.asm:
22127 intra: fix 64bit build of intrapred16.asm - Min please review
22128 [dcef9f3bca1e]
22129
22130 2013-12-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22131
22132 * Merge
22133 [c4fdea3fd659]
22134
22135 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22136
22137 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22138 util.h, source/common/x86/pixel-util8.asm:
22139 asm: 10bpp code for calcresidual_16x16 and 32x32
22140 [1169201b50c4]
22141
22142 2013-12-10 Nabajit Deka <nabajit@multicorewareinc.com>
22143
22144 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
22145 asm : Hook up luma_hps with the encoder.
22146 [af1f46818bed]
22147
22148 * source/test/ipfilterharness.cpp:
22149 Add comment for luma_hps and chroma_hps test bench code.
22150 [1cc5b2d87d8b]
22151
22152 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22153
22154 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
22155 source/common/x86/intrapred16.asm:
22156 asm: 16bpp asm code for intra_pred_ang4 - mode 17,18
22157 [384d99887688]
22158
22159 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22160
22161 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22162 util8.asm:
22163 asm: 10bpp code for calcresidual_4x4 and 8x8
22164 [e4c13676c4b5]
22165
22166 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22167
22168 * source/common/x86/asm-primitives.cpp,
22169 source/common/x86/intrapred16.asm:
22170 asm: 16bpp asm code for intra_pred_ang4 - mode 14,15,16
22171 [573a8cfac514]
22172
22173 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22174
22175 * source/common/x86/asm-primitives.cpp:
22176 asm: 10bpp support for blockcopy_ps and blockcopy_sp
22177 [8f8d4811352a]
22178
22179 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22180
22181 * source/common/x86/asm-primitives.cpp,
22182 source/common/x86/intrapred16.asm:
22183 asm: 16bpp asm code for intra_pred_ang4 - mode 11,12,13
22184 [b29166445321]
22185
22186 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22187
22188 * source/common/x86/asm-primitives.cpp:
22189 asm: 10bpp blockcopy_ps integration for Luma and chroma partitions
22190 [887206700a13]
22191
22192 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22193
22194 * source/common/x86/asm-primitives.cpp,
22195 source/common/x86/intrapred16.asm:
22196 asm: 16bpp code for intra_pred_ang4_26
22197 [1eb855251cc5]
22198
22199 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22200
22201 * source/common/x86/asm-primitives.cpp,
22202 source/common/x86/blockcopy8.asm:
22203 asm: 10bpp code for blockcopy_ps_64xN
22204 [72e7899bef55]
22205
22206 * source/common/x86/blockcopy8.asm:
22207 asm: 10bpp blockcopy_ps bug fix
22208 [8e34f135fd9e]
22209
22210 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22211
22212 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
22213 source/common/x86/intrapred16.asm:
22214 asm: 16bpp asm code for intra_pred_ang4_10
22215 [d604f25e6eab]
22216
22217 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22218
22219 * source/common/x86/asm-primitives.cpp,
22220 source/common/x86/blockcopy8.asm:
22221 asm: 10bpp code for blockcopy_ps_48x64
22222 [1679ad2da2a1]
22223
22224 * source/common/x86/asm-primitives.cpp,
22225 source/common/x86/blockcopy8.asm:
22226 asm: 10bpp code for blockcopy_ps_32xN
22227 [64c8f43aa7ce]
22228
22229 * source/common/x86/asm-primitives.cpp,
22230 source/common/x86/blockcopy8.asm:
22231 asm: 10bpp code for blockcopy_ps_24x32
22232 [e7fff01a464b]
22233
22234 2013-12-10 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22235
22236 * source/common/x86/asm-primitives.cpp:
22237 16bpp: enabled blockfill_s primitive
22238 [2cf9944afa92]
22239
22240 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22241
22242 * source/common/x86/asm-primitives.cpp,
22243 source/common/x86/blockcopy8.asm:
22244 asm: 10bpp code for blockcopy_ps_16xN
22245 [2e56e8e76f72]
22246
22247 2013-12-10 Nabajit Deka <nabajit@multicorewareinc.com>
22248
22249 * source/common/ipfilter.cpp:
22250 Bug fix in luma_hps C primitive.
22251 [1863cdede774]
22252
22253 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
22254
22255 * source/common/x86/blockcopy8.asm:
22256 asm: 10bpp code for bolckcopy_ps_12x16
22257 [54e8c012597c]
22258
22259 * source/common/x86/asm-primitives.cpp:
22260 asm: pixel_add_ps integration code for Luma and chroma partitions
22261 [0c46964557c8]
22262
22263 2013-12-10 Min Chen <chenm003@163.com>
22264
22265 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22266 testbench: fix wrong width parameter in check_planar_primitive()
22267 [5a7f116e3aae]
22268
22269 * source/common/x86/asm-primitives.cpp,
22270 source/common/x86/intrapred16.asm:
22271 asm: Intra Planar 16x16
22272 [5604254f779e]
22273
22274 * rename IntraPred.cpp to intrapred.cpp to avoid name conflict
22275 [7810ce2bdb53]
22276
22277 * source/common/x86/intrapred16.asm:
22278 asm: improvement IntraPredDC_32x32 by replace macro extend by loop
22279 [9a8b0e81330f]
22280
22281 2013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
22282
22283 * source/common/x86/asm-primitives.cpp,
22284 source/common/x86/blockcopy8.asm:
22285 asm: 10bpp code of blockcopy_pp for 2xN, 4xN, 6x8 and 8xN blocks
22286 [285a4d8c42a0]
22287
22288 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22289
22290 * source/common/x86/asm-primitives.cpp,
22291 source/common/x86/intrapred16.asm:
22292 asm: 16bpp asm code for intra_pred_ang4_8 and intra_pred_ang4_9
22293 [66d8405320d2]
22294
22295 * source/common/x86/asm-primitives.cpp,
22296 source/common/x86/intrapred16.asm:
22297 asm: 16bpp asm code for intra_pred_ang4_7
22298 [f33ca21fe0c2]
22299
22300 2013-12-10 Min Chen <chenm003@163.com>
22301
22302 * source/common/x86/intrapred16.asm:
22303 asm: alignment branch to 16 bytes
22304 [89fea75bbc1b]
22305
22306 2013-12-10 Kavitha Sampath <kavitha@multicorewareinc.com>
22307
22308 * source/Lib/TLibEncoder/TEncCu.cpp:
22309 log: fix crash caused by logging after CU analysis
22310 [ef26367cd10c]
22311
22312 2013-12-09 Steve Borho <steve@borho.org>
22313
22314 * Merge with stable
22315 [a88c5723d266]
22316
22317 2013-12-03 Steve Borho <steve@borho.org>
22318
22319 * source/Lib/TLibCommon/ContextTables.h,
22320 source/Lib/TLibEncoder/TEncSbac.cpp:
22321 sbac: move global tables into x265 namespace
22322 [7d4f5cbc68e7] <stable>
22323
22324 2013-12-09 Steve Borho <steve@borho.org>
22325
22326 * source/encoder/ratecontrol.cpp:
22327 Merge with stable
22328 [c6c73ef24c97]
22329
22330 * source/encoder/ratecontrol.cpp:
22331 ratecontrol: avoid reads past the end of chroma buffers
22332 [67e711fde921] <stable>
22333
22334 * source/common/vec/dct-ssse3.cpp:
22335 dct: drop intrinsic DCT 8x8 primitive, we have asm coverage
22336 [eacdbae47e47]
22337
22338 * source/encoder/ratecontrol.cpp:
22339 ratecontrol: make weightp analysis aware of colorspaces
22340 [f25e60a2b62c]
22341
22342 * source/Lib/TLibEncoder/TEncSearch.cpp:
22343 TEncSearch: nit
22344 [644d27bb26e9]
22345
22346 2013-12-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
22347
22348 * source/encoder/ratecontrol.cpp:
22349 Use correct width/height for chroma in ssd calculation
22350 [7bd7937e762b]
22351
22352 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22353
22354 * source/common/x86/asm-primitives.cpp,
22355 source/common/x86/intrapred16.asm:
22356 asm: 16bpp asm code for intra_pred_ang4_6
22357 [40e204fcf5d4]
22358
22359 * source/common/x86/asm-primitives.cpp,
22360 source/common/x86/intrapred16.asm:
22361 asm: 16bpp asm code for intra_pred_ang4_5
22362 [0587de3aeb9b]
22363
22364 2013-12-09 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22365
22366 * source/common/x86/asm-primitives.cpp,
22367 source/common/x86/intrapred16.asm:
22368 16bpp: assembly code for intra_planar8
22369 [4c5a86ff2c99]
22370
22371 * source/common/x86/asm-primitives.cpp,
22372 source/common/x86/intrapred16.asm:
22373 16bpp: assembly code for intra_planar4
22374 [39b7cf1f3a89]
22375
22376 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22377
22378 * source/common/x86/asm-primitives.cpp,
22379 source/common/x86/intrapred16.asm:
22380 asm: 16bpp asm code for intra_pred_ang4_4
22381 [6f2660e5a857]
22382
22383 * source/common/x86/asm-primitives.cpp,
22384 source/common/x86/intrapred16.asm:
22385 asm: 16bpp support for intra_pred_ang4_3
22386 [9116410f11b4]
22387
22388 2013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
22389
22390 * source/common/x86/pixeladd8.asm:
22391 asm: 10bpp code for pixel_add_ps_6x8
22392 [cbd96bfe5732]
22393
22394 * source/common/x86/asm-primitives.cpp,
22395 source/common/x86/pixeladd8.asm:
22396 asm: 10bpp code for pixel_add_ps_64xN
22397 [6385549fefa3]
22398
22399 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22400
22401 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
22402 source/common/x86/intrapred16.asm:
22403 asm: 16bpp asm code for intra_pred_ang4_2
22404 [36ffa3ba6039]
22405
22406 2013-12-09 Min Chen <chenm003@163.com>
22407
22408 * source/common/x86/intrapred8.asm:
22409 asm: little improvement(pextrd -> movd, jmp to alignlemt address)
22410 [e16a67613973]
22411
22412 2013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
22413
22414 * source/common/x86/asm-primitives.cpp,
22415 source/common/x86/pixeladd8.asm:
22416 asm: 10bpp code for pixel_add_ps_48x64
22417 [69766745fb6d]
22418
22419 * source/common/x86/asm-primitives.cpp,
22420 source/common/x86/pixeladd8.asm:
22421 asm: 10bpp code for pixel_add_ps_32xN
22422 [ef3bfef112c1]
22423
22424 * source/common/x86/asm-primitives.cpp,
22425 source/common/x86/pixeladd8.asm:
22426 asm: 10bpp code for pixel_add_ps_24x32
22427 [46a23a64eb1e]
22428
22429 * source/common/x86/asm-primitives.cpp,
22430 source/common/x86/pixeladd8.asm:
22431 asm: 10bpp code for pixel_add_ps_16xN
22432 [fdb1ed6efd5b]
22433
22434 * source/common/x86/asm-primitives.cpp,
22435 source/common/x86/pixeladd8.asm:
22436 asm: 10bpp code for pixel_add_ps_12x16
22437 [ced72100d067]
22438
22439 * source/common/x86/asm-primitives.cpp,
22440 source/common/x86/pixeladd8.asm:
22441 asm: 10bpp code for pixel_add_ps_8xN
22442 [1c4d5a2538d5]
22443
22444 2013-12-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22445
22446 * source/x265.h:
22447 x265: fix bad merge
22448 [55d99b6651f2]
22449
22450 * source/x265.h:
22451 Merge
22452 [c7e7003df711]
22453
22454 2013-12-09 Min Chen <chenm003@163.com>
22455
22456 * source/test/pixelharness.cpp:
22457 fix bug: avg_pp use weight 32
22458 [5bb46ef28bc5]
22459
22460 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
22461 source/common/x86/dct8.asm, source/common/x86/dct8.h:
22462 asm: assembly code for DCT8x8
22463 [8ffd72844276]
22464
22465 2013-12-07 Murugan Vairavel <murugan@multicorewareinc.com>
22466
22467 * source/common/x86/asm-primitives.cpp,
22468 source/common/x86/pixeladd8.asm:
22469 asm: 10bpp code for pixel_add_ps_4xN
22470 [4f9dc5dc44e0]
22471
22472 2013-12-07 Min Chen <chenm003@163.com>
22473
22474 * source/test/testpool.cpp:
22475 Merge branch 'X'
22476 [2353322df540]
22477
22478 2013-12-06 Steve Borho <steve@borho.org>
22479
22480 * Merge
22481 [f655add8bcc2]
22482
22483 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22484
22485 * source/Lib/TLibCommon/TComPrediction.cpp,
22486 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
22487 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
22488 source/common/x86/intrapred.h, source/common/x86/intrapred8.asm,
22489 source/encoder/compress.cpp, source/encoder/slicetype.cpp,
22490 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22491 cleanup: merge Intra Pred PLANAR mode into intra_pred[]
22492 [8773f7f028c2]
22493
22494 2013-12-06 Min Chen <chenm003@163.com>
22495
22496 * rename IntraPred.cpp to intrapred.cpp
22497 [a5984c686c55]
22498
22499 2013-12-06 Murugan Vairavel <murugan@multicorewareinc.com>
22500
22501 * source/common/x86/asm-primitives.cpp,
22502 source/common/x86/pixeladd8.asm:
22503 asm: 10bpp code for pixel_add_ps_2xN
22504 [8eba4667a5e3]
22505
22506 * source/test/pixelharness.cpp:
22507 10bpp: testbench code for pixel_add_ps
22508 [41bfe2b249f8]
22509
22510 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22511 util.h, source/common/x86/pixel-util8.asm:
22512 asm: 10bpp code of pixel_sub for 16xN, 24x32, 32xN,48x64 and 64xN
22513 [4bb40809a372]
22514
22515 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22516
22517 * source/common/x86/asm-primitives.cpp,
22518 source/common/x86/intrapred16.asm:
22519 16bpp: assembly code for intra_pred_dc32
22520 [3933b4a1380d]
22521
22522 * source/common/x86/asm-primitives.cpp,
22523 source/common/x86/intrapred16.asm:
22524 16bpp: assembly code for intra_pred_dc16
22525 [056a712852c9]
22526
22527 * source/common/x86/asm-primitives.cpp,
22528 source/common/x86/intrapred16.asm:
22529 16bpp: assembly code for intra_pred_dc8
22530 [ef6f2bdbaf7d]
22531
22532 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
22533 source/common/x86/const-a.asm, source/common/x86/intrapred16.asm:
22534 16bpp: assembly code for intra_pred_dc4
22535 [059af4b49f8e]
22536
22537 2013-12-06 Min Chen <chenm003@163.com>
22538
22539 * source/common/x86/intrapred8.asm:
22540 asm: cleanup garbage after fucntion declare
22541 [fef16dcf106f]
22542
22543 2013-12-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22544
22545 * source/x265.h:
22546 x265: remove obsolete R-D enums
22547 [dadb3ae865cb]
22548
22549 * source/x265.h:
22550 rc params: documentation on i/p/bfactor, qpstep, crf
22551 [3c0a1652611e]
22552
22553 * source/x265.h:
22554 ratecontrol params: documentation for rateTolerance
22555 [08cf1b4ba081]
22556
22557 * source/x265.h:
22558 ratecontrol parameters: add documentation for qcomp
22559 [c889005baa5f]
22560
22561 2013-12-05 Steve Borho <steve@borho.org>
22562
22563 * source/test/CMakeLists.txt, source/test/testpool.cpp:
22564 cmake: drop pool test; not seriously used since May
22565 [ebd32ea1f84e]
22566
22567 * source/CMakeLists.txt:
22568 cmake: add ENABLE_SHARED cmake option, default to ON
22569
22570 Allow MSVC users to opt-out; to roughly halve the compile time.
22571 Clean up a few nits in the process.
22572 [707901470d11]
22573
22574 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
22575 source/encoder/encoder.cpp:
22576 TEncCu: coding style, lower case initial letter for totalCu
22577 [458173c60685]
22578
22579 * source/CMakeLists.txt:
22580 cmake: bump X265_BUILD post 0.6, since x265_param has changed
22581 [9442edac08b7]
22582
22583 * source/CMakeLists.txt, source/common/CMakeLists.txt,
22584 source/common/cpu.cpp, source/common/primitives.cpp,
22585 source/common/primitives.h, source/common/vec/vec-primitives.cpp,
22586 source/test/TestBench.cpp:
22587 cmake: rename ENABLE_PRIMITIVES_ASM to ENABLE_ASSEMBLY
22588
22589 And use the same name for the build define. Also, rename
22590 Setup_Vector_Primitives() to Setup_Instrinsic_Primitives()
22591 [a3a4689496e8]
22592
22593 * source/CMakeLists.txt, source/common/CMakeLists.txt,
22594 source/common/primitives.cpp, source/test/TestBench.cpp:
22595 cmake: remove ENABLE_PRIMITIVES_VEC build option
22596
22597 The use of the few remaining compiler intrinsic functions is now
22598 unconditional. Compiler detection will remove them cleanly in case
22599 they cannot be compiled, so there is no reason to make them a top
22600 level build option
22601 [46cbb9f96850]
22602
22603 * source/Lib/TLibCommon/CommonDef.h, source/common/IntraPred.cpp,
22604 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
22605 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22606 primitives: cleanup intra prediction table dimensions
22607 [435c68acd2a1]
22608
22609 * source/common/CMakeLists.txt:
22610 cmake: move asm-primitives.cpp and asm headers into VS source group
22611
22612 A cosmetic change only
22613 [89b4d233b57f]
22614
22615 * source/encoder/compress.cpp:
22616 Merge
22617 [6fd83a8d944c]
22618
22619 2013-12-05 Praveen Tiwari <praveen@multicorewareinc.com>
22620
22621 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22622 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
22623 all_angs_pred_4x4, asm code for all modes
22624 [be8b52e8f903]
22625
22626 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
22627
22628 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22629 util8.asm:
22630 asm: 10bpp code for pixel_sub_12x16
22631 [f2ce16c8d65a]
22632
22633 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22634 util8.asm:
22635 asm: 10bpp code for pixel_sub_8xN
22636 [a30515de4c2d]
22637
22638 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22639
22640 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
22641 asm: 16bpp support for sad_x4 - all block sizes
22642 [ca7d0e04c324]
22643
22644 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
22645
22646 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22647 util8.asm:
22648 asm: 10bpp code for pixel_sub_6x8
22649 [9e0b2aa531a9]
22650
22651 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22652 util8.asm:
22653 asm: 10bpp code for pixel_sub_4xN
22654 [952d606c08ed]
22655
22656 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22657 util.h, source/common/x86/pixel-util8.asm:
22658 asm: 10bpp code for pixel_sub_2xN
22659 [376c68701fb7]
22660
22661 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22662
22663 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
22664 asm: 16bpp support for sad_x3 - all block sizes
22665 [057581245e2f]
22666
22667 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
22668
22669 * source/common/x86/asm-primitives.cpp:
22670 asm: primitives of sse_ss for 12x16, 24x32, 48x64 and 64xN blocks
22671 [6570bef3bc2b]
22672
22673 2013-12-05 Min Chen <chenm003@163.com>
22674
22675 * source/common/x86/intrapred8.asm:
22676 improvement by remove reduce ADD instruction in intra_pred_dc16
22677 [229ec0d4164f]
22678
22679 * source/Lib/TLibCommon/TComPrediction.cpp,
22680 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
22681 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
22682 source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22683 source/common/x86/intrapred8.asm, source/encoder/compress.cpp,
22684 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
22685 source/test/intrapredharness.h:
22686 cleanup:merge Intra Pred DC mode into intra_pred[]
22687 [e1cf58c22166]
22688
22689 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22690 source/common/x86/intrapred8.asm:
22691 asm: assembly code for IntraPredAng4x4 Mode 18
22692 [f4b8486659ad]
22693
22694 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22695 source/common/x86/intrapred8.asm:
22696 asm: assembly code for IntraPredAng4x4 Mode 17 & 19
22697 [06cb5289dfcf]
22698
22699 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22700 source/common/x86/intrapred8.asm:
22701 asm: assembly code for IntraPredAng4x4 Mode 16 & 20
22702 [56506c2913d8]
22703
22704 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22705 source/common/x86/intrapred8.asm:
22706 asm: assembly code for IntraPredAng4x4 Mode 15 & 21
22707 [112dabd56faf]
22708
22709 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22710 source/common/x86/intrapred8.asm:
22711 asm: assembly code for IntraPredAng4x4 Mode 14 & 22
22712 [2c2f9294e033]
22713
22714 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22715 source/common/x86/intrapred8.asm:
22716 asm: assembly code for IntraPredAng4x4 Mode 13 & 23
22717 [d77cf817b11e]
22718
22719 * source/test/intrapredharness.cpp:
22720 testbench: swap order to call asm code
22721
22722 Our old intra_pred_ang algorithm will fill buffer before input pLeft
22723 and pabove, in this time, the offset [-1] pixel equal to [4], it
22724 affect detect asm code error, so I swap the order
22725 [3aa3d68f1552]
22726
22727 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22728 source/common/x86/intrapred8.asm:
22729 asm: assembly code for IntraPredAng4x4 Mode 12 & 24
22730 [666ad0f9f68e]
22731
22732 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22733 source/common/x86/intrapred8.asm:
22734 asm: assembly code for IntraPredAng4x4 Mode 11 & 25
22735 [36da30382f5f]
22736
22737 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22738 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
22739 asm: improvement intra_pred_ang by SSE4(pextrd,pextrb)
22740 [ca7d44856001]
22741
22742 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
22743
22744 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22745 util8.asm:
22746 asm: 10bpp code for scale2D_64to32 routine
22747 [4d6b8c30f15e]
22748
22749 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22750
22751 * source/common/primitives.cpp:
22752 integrating asm code for sa8d in primitives.cpp
22753
22754 there was no separate functions for sa8d in assembly, we are just
22755 re-using sa8d_inter functions for sa8d.
22756 [1f96b2234977]
22757
22758 2013-12-05 Min Chen <chenm003@163.com>
22759
22760 * source/common/vec/intra-ssse3.cpp:
22761 cleanup unused array intra_ang4[]
22762 [f16f9f0ea93c]
22763
22764 * Merge branch 'X'
22765 [d11dbd953d6d]
22766
22767 2013-12-04 Nabajit Deka <nabajit@multicorewareinc.com>
22768
22769 * source/common/x86/ipfilter8.h:
22770 Function declarations for modified luma_hps and chroma_hps
22771 functions.
22772 [fc7883c471e4]
22773
22774 * source/common/primitives.h, source/test/ipfilterharness.cpp,
22775 source/test/ipfilterharness.h:
22776 Test bench code for luma_hps and chroma_hps
22777 [f29d063bf40d]
22778
22779 * source/common/ipfilter.cpp:
22780 C primitive changes for luma_hps and chroma_hps.
22781 [d19d6ac4bc4b]
22782
22783 * source/common/x86/ipfilter8.asm:
22784 asm : Modifications for luma_hps and chroma_hps(extra rows)
22785 [3e8632ea6c95]
22786
22787 2013-12-05 Min Chen <chenm003@163.com>
22788
22789 * source/Lib/TLibCommon/TComPrediction.cpp,
22790 source/common/IntraPred.cpp, source/common/primitives.h,
22791 source/common/vec/intra-ssse3.cpp, source/common/x86/asm-
22792 primitives.cpp, source/common/x86/intrapred.h,
22793 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22794 asm: simplify code by use intra_pred_ang[][], and avoid build error
22795 when disable yasm
22796 [660a23104096]
22797
22798 * rename IntraPred.cpp to intrapred.cpp to avoid team's hg merge
22799 conflict
22800 [d7bdf9a5b2c6]
22801
22802 2013-12-07 Steve Borho <steve@borho.org>
22803
22804 * source/test/testbench.cpp:
22805 testbench: remove long-since idiotic comment
22806 [b29f2f31ec46]
22807
22808 * source/CMakeLists.txt, source/common/CMakeLists.txt,
22809 source/common/cpu.cpp, source/common/primitives.cpp,
22810 source/test/testbench.cpp:
22811 cmake: simplify use of ENABLE_ASSEMBLY build define
22812
22813 The define is only needed in primitives.cpp. Move all of the CPU
22814 detect fallback code together in primitives.cpp making cpu.cpp more
22815 standalone. Make the testbench only build if the assembly code is
22816 enabled.
22817 [e1fbbf947b60]
22818
22819 2013-12-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22820
22821 * source/x265.h:
22822 rc params: complete documentation for rc params in x265.h
22823 [d8d844b36c6c]
22824
22825 2013-12-06 Steve Borho <steve@borho.org>
22826
22827 * Merge
22828 [a482cf5de173]
22829
22830 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22831
22832 * source/Lib/TLibCommon/TComPrediction.cpp,
22833 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
22834 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
22835 source/common/x86/intrapred.h, source/common/x86/intrapred8.asm,
22836 source/encoder/compress.cpp, source/encoder/slicetype.cpp,
22837 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22838 cleanup: merge Intra Pred PLANAR mode into intra_pred[]
22839 [c093e7847025]
22840
22841 2013-12-06 Min Chen <chenm003@163.com>
22842
22843 * rename IntraPred.cpp to intrapred.cpp
22844 [f4166f824c2b]
22845
22846 2013-12-06 Murugan Vairavel <murugan@multicorewareinc.com>
22847
22848 * source/common/x86/asm-primitives.cpp,
22849 source/common/x86/pixeladd8.asm:
22850 asm: 10bpp code for pixel_add_ps_2xN
22851 [967297338b27]
22852
22853 * source/test/pixelharness.cpp:
22854 10bpp: testbench code for pixel_add_ps
22855 [13314db77cf8]
22856
22857 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22858 util.h, source/common/x86/pixel-util8.asm:
22859 asm: 10bpp code of pixel_sub for 16xN, 24x32, 32xN,48x64 and 64xN
22860 [f27fb7c2676a]
22861
22862 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22863
22864 * source/common/x86/asm-primitives.cpp,
22865 source/common/x86/intrapred16.asm:
22866 16bpp: assembly code for intra_pred_dc32
22867 [d36fb6852698]
22868
22869 * source/common/x86/asm-primitives.cpp,
22870 source/common/x86/intrapred16.asm:
22871 16bpp: assembly code for intra_pred_dc16
22872 [6d2d7c2a5d79]
22873
22874 * source/common/x86/asm-primitives.cpp,
22875 source/common/x86/intrapred16.asm:
22876 16bpp: assembly code for intra_pred_dc8
22877 [110d716e67a7]
22878
22879 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
22880 source/common/x86/const-a.asm, source/common/x86/intrapred16.asm:
22881 16bpp: assembly code for intra_pred_dc4
22882 [9e24dcae2ebf]
22883
22884 2013-12-06 Min Chen <chenm003@163.com>
22885
22886 * source/common/x86/intrapred8.asm:
22887 asm: cleanup garbage after fucntion declare
22888 [ad08db06a7c6]
22889
22890 2013-12-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22891
22892 * source/x265.h:
22893 x265: remove obsolete R-D enums
22894 [56a17500909e]
22895
22896 * source/x265.h:
22897 rc params: documentation on i/p/bfactor, qpstep, crf
22898 [c5e91abfeb05]
22899
22900 * source/x265.h:
22901 ratecontrol params: documentation for rateTolerance
22902 [49288da0ee3e]
22903
22904 * source/x265.h:
22905 ratecontrol parameters: add documentation for qcomp
22906 [608874dc84ab]
22907
22908 2013-12-05 Steve Borho <steve@borho.org>
22909
22910 * source/test/CMakeLists.txt, source/test/testpool.cpp:
22911 cmake: drop pool test; not seriously used since May
22912 [d5dc48e6cd16]
22913
22914 * source/CMakeLists.txt:
22915 cmake: add ENABLE_SHARED cmake option, default to ON
22916
22917 Allow MSVC users to opt-out; to roughly halve the compile time.
22918 Clean up a few nits in the process.
22919 [3e6be1e11720]
22920
22921 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
22922 source/encoder/encoder.cpp:
22923 TEncCu: coding style, lower case initial letter for totalCu
22924 [97e917c4a923]
22925
22926 * source/CMakeLists.txt:
22927 cmake: bump X265_BUILD post 0.6, since x265_param has changed
22928 [6ed44381cb6c]
22929
22930 * source/CMakeLists.txt, source/common/CMakeLists.txt,
22931 source/common/cpu.cpp, source/common/primitives.cpp,
22932 source/common/primitives.h, source/common/vec/vec-primitives.cpp,
22933 source/test/testbench.cpp:
22934 cmake: rename ENABLE_PRIMITIVES_ASM to ENABLE_ASSEMBLY
22935
22936 And use the same name for the build define. Also, rename
22937 Setup_Vector_Primitives() to Setup_Instrinsic_Primitives()
22938 [f321d4a467fb]
22939
22940 * source/CMakeLists.txt, source/common/CMakeLists.txt,
22941 source/common/primitives.cpp, source/test/testbench.cpp:
22942 cmake: remove ENABLE_PRIMITIVES_VEC build option
22943
22944 The use of the few remaining compiler intrinsic functions is now
22945 unconditional. Compiler detection will remove them cleanly in case
22946 they cannot be compiled, so there is no reason to make them a top
22947 level build option
22948 [a458b8d6b476]
22949
22950 * source/Lib/TLibCommon/CommonDef.h, source/common/intrapred.cpp,
22951 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
22952 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22953 primitives: cleanup intra prediction table dimensions
22954 [49c0408febfd]
22955
22956 * source/common/CMakeLists.txt:
22957 cmake: move asm-primitives.cpp and asm headers into VS source group
22958
22959 A cosmetic change only
22960 [41e80c591116]
22961
22962 * source/encoder/compress.cpp:
22963 Merge
22964 [67d755e2a30c]
22965
22966 2013-12-05 Praveen Tiwari <praveen@multicorewareinc.com>
22967
22968 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
22969 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
22970 all_angs_pred_4x4, asm code for all modes
22971 [6d1b07d41cdd]
22972
22973 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
22974
22975 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22976 util8.asm:
22977 asm: 10bpp code for pixel_sub_12x16
22978 [9d974915023f]
22979
22980 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22981 util8.asm:
22982 asm: 10bpp code for pixel_sub_8xN
22983 [832d1d134449]
22984
22985 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22986
22987 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
22988 asm: 16bpp support for sad_x4 - all block sizes
22989 [f864064737bc]
22990
22991 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
22992
22993 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22994 util8.asm:
22995 asm: 10bpp code for pixel_sub_6x8
22996 [c83d6906f665]
22997
22998 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
22999 util8.asm:
23000 asm: 10bpp code for pixel_sub_4xN
23001 [31b3bf1246c7]
23002
23003 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23004 util.h, source/common/x86/pixel-util8.asm:
23005 asm: 10bpp code for pixel_sub_2xN
23006 [c36134873a8d]
23007
23008 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23009
23010 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
23011 asm: 16bpp support for sad_x3 - all block sizes
23012 [8f3af42f7f44]
23013
23014 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
23015
23016 * source/common/x86/asm-primitives.cpp:
23017 asm: primitives of sse_ss for 12x16, 24x32, 48x64 and 64xN blocks
23018 [4c9b7eb235a9]
23019
23020 2013-12-05 Min Chen <chenm003@163.com>
23021
23022 * source/common/x86/intrapred8.asm:
23023 improvement by remove reduce ADD instruction in intra_pred_dc16
23024 [c9a67d02ad1c]
23025
23026 * source/Lib/TLibCommon/TComPrediction.cpp,
23027 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
23028 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
23029 source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23030 source/common/x86/intrapred8.asm, source/encoder/compress.cpp,
23031 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
23032 source/test/intrapredharness.h:
23033 cleanup:merge Intra Pred DC mode into intra_pred[]
23034 [7febdbc37965]
23035
23036 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23037 source/common/x86/intrapred8.asm:
23038 asm: assembly code for IntraPredAng4x4 Mode 18
23039 [91fe66f971d2]
23040
23041 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23042 source/common/x86/intrapred8.asm:
23043 asm: assembly code for IntraPredAng4x4 Mode 17 & 19
23044 [59f0433ffca0]
23045
23046 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23047 source/common/x86/intrapred8.asm:
23048 asm: assembly code for IntraPredAng4x4 Mode 16 & 20
23049 [d551487023ba]
23050
23051 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23052 source/common/x86/intrapred8.asm:
23053 asm: assembly code for IntraPredAng4x4 Mode 15 & 21
23054 [2ae36352e08c]
23055
23056 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23057 source/common/x86/intrapred8.asm:
23058 asm: assembly code for IntraPredAng4x4 Mode 14 & 22
23059 [88e38d7f926b]
23060
23061 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23062 source/common/x86/intrapred8.asm:
23063 asm: assembly code for IntraPredAng4x4 Mode 13 & 23
23064 [7995a50e0fc2]
23065
23066 * source/test/intrapredharness.cpp:
23067 testbench: swap order to call asm code
23068
23069 Our old intra_pred_ang algorithm will fill buffer before input pLeft
23070 and pabove, in this time, the offset [-1] pixel equal to [4], it
23071 affect detect asm code error, so I swap the order
23072 [b9e0bfacfb8e]
23073
23074 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23075 source/common/x86/intrapred8.asm:
23076 asm: assembly code for IntraPredAng4x4 Mode 12 & 24
23077 [e39c11970ca0]
23078
23079 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23080 source/common/x86/intrapred8.asm:
23081 asm: assembly code for IntraPredAng4x4 Mode 11 & 25
23082 [c8641f015e5b]
23083
23084 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
23085 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
23086 asm: improvement intra_pred_ang by SSE4(pextrd,pextrb)
23087 [c3d07f251bd8]
23088
23089 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
23090
23091 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23092 util8.asm:
23093 asm: 10bpp code for scale2D_64to32 routine
23094 [1845917cb66d]
23095
23096 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23097
23098 * source/common/primitives.cpp:
23099 integrating asm code for sa8d in primitives.cpp
23100
23101 there was no separate functions for sa8d in assembly, we are just
23102 re-using sa8d_inter functions for sa8d.
23103 [b7656aa5f346]
23104
23105 2013-12-05 Min Chen <chenm003@163.com>
23106
23107 * source/common/vec/intra-ssse3.cpp:
23108 cleanup unused array intra_ang4[]
23109 [70a042f36c2c]
23110
23111 * Merge branch 'X'
23112 [78165334eed6]
23113
23114 2013-12-04 Nabajit Deka <nabajit@multicorewareinc.com>
23115
23116 * source/common/x86/ipfilter8.h:
23117 Function declarations for modified luma_hps and chroma_hps
23118 functions.
23119 [79d649d551f0]
23120
23121 * source/common/primitives.h, source/test/ipfilterharness.cpp,
23122 source/test/ipfilterharness.h:
23123 Test bench code for luma_hps and chroma_hps
23124 [06f89ffdba43]
23125
23126 * source/common/ipfilter.cpp:
23127 C primitive changes for luma_hps and chroma_hps.
23128 [835ee97789af]
23129
23130 * source/common/x86/ipfilter8.asm:
23131 asm : Modifications for luma_hps and chroma_hps(extra rows)
23132 [6a0f7924321e]
23133
23134 2013-12-05 Min Chen <chenm003@163.com>
23135
23136 * source/Lib/TLibCommon/TComPrediction.cpp,
23137 source/common/intrapred.cpp, source/common/primitives.h,
23138 source/common/vec/intra-ssse3.cpp, source/common/x86/asm-
23139 primitives.cpp, source/common/x86/intrapred.h,
23140 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
23141 asm: simplify code by use intra_pred_ang[][], and avoid build error
23142 when disable yasm
23143 [dcc2e11e5643]
23144
23145 * rename IntraPred.cpp to intrapred.cpp to avoid team's hg merge
23146 conflict
23147 [b04134971883]
23148
23149 2013-12-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
23150
23151 * source/encoder/compress.cpp:
23152 rdlevel: skip Intra if inter/merge sa8d less than a threshold
23153
23154 In higher rdlevels Intra is skipped if inter/merge cu cbf is 0. A
23155 threshold of sa8d expects that cu cbf will be 0. Thresholds have to
23156 be refined further.
23157 [e7424e0cb60f]
23158
23159 * source/encoder/compress.cpp:
23160 rdlevel: compare Merge-skip(merge2Nx2N with no residue) to best
23161 among inter/intra/merge in rdlevel 2
23162 [4668ede3a332]
23163
23164 * source/encoder/compress.cpp:
23165 rdlevel: Add code for rdlevel 2
23166
23167 Use signalling bits + sa8d cost to choose best among
23168 inter/merge/intra. Encode only best mode at each depth.
23169 [6694ef611b41]
23170
23171 * source/encoder/compress.cpp:
23172 Enable topskip and earlyexit for all rd levels <= 4 (output changes
23173 for presets faster than "slow")
23174
23175 Also use the encodeResandCalcRDInter instead of the refactored
23176 estimate function.
23177 [e44315ab36b9]
23178
23179 2013-12-05 Steve Borho <steve@borho.org>
23180
23181 * source/encoder/encoder.cpp:
23182 encoder: fix warning of potentially unused locals
23183 [c8ca8c93083b]
23184
23185 * source/x265.cpp:
23186 cli: fix final stat line handling of optional PSNR and SSIM stats
23187 [ee8f2fa7d82a]
23188
23189 2013-12-05 Kavitha Sampath <kavitha@multicorewareinc.com>
23190
23191 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
23192 source/encoder/compress.cpp, source/encoder/encoder.cpp:
23193 log: collect statistics after CU analysis
23194
23195 Report percentage of CU blocks encoded at each depth of P/B slice as
23196 EncCU
23197 [ed7c32d83490]
23198
23199 2013-12-05 Steve Borho <steve@borho.org>
23200
23201 * source/common/x86/pixel-a.asm:
23202 pixel-a: fix x64 calling convention for several HEVC satd functions
23203
23204 Bug fix from Min Chen
23205 [64096a4dcdc1]
23206
23207 2013-12-04 Steve Borho <steve@borho.org>
23208
23209 * source/CMakeLists.txt:
23210 cmake: use -DHAVE_ALIGNED_STACK=1 when building asm for Xcode
23211
23212 This matches the command line we use in the Makefile, and prevents
23213 stack corruption when debugging within Xcode
23214 [f9d3154732d9]
23215
23216 * source/CMakeLists.txt:
23217 cmake: workaround to allow Xcode 5 to link x265 CLI app
23218 [d35b42382331]
23219
23220 * source/encoder/encoder.cpp:
23221 encoder: remove trailing white-space
23222 [e4a7885f377e]
23223
23224 * source/test/ipfilterharness.cpp:
23225 oops
23226 [834d6f7608c1]
23227
23228 * source/test/ipfilterharness.cpp:
23229 ipfilterharness: do not test chroma for i400 color space
23230
23231 Because, umh, it doesn't have any chroma channels
23232 [716ec3505f43]
23233
23234 * source/CMakeLists.txt, source/VectorClass/README.txt,
23235 source/VectorClass/instrset.h, source/VectorClass/vectorclass.h,
23236 source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
23237 source/VectorClass/vectori256e.h, source/common/CMakeLists.txt,
23238 source/common/vec/intra-ssse3.cpp, source/common/vec/ipfilter-
23239 sse41.cpp, source/common/vec/pixel16-sse41.cpp, source/common/vec
23240 /vec-primitives.cpp:
23241 remove Agner Fog's vector classes and their last few users
23242
23243 We'll take a step back for HIGH_BIT_DEPTH perf for a few days, but
23244 these functions are all expected to have assembly coverage soon.
23245 This allows us to remove a few hacks from our cmake scripts as well.
23246 [421a37d0924d]
23247
23248 * source/common/vec/pixel16-sse41.cpp:
23249 vec: drop 16bpp sad vector intrinsics, we have ASM coverage
23250 [304354e736dc]
23251
23252 * Merge
23253 [2f41fae4a776]
23254
23255 2013-12-04 Min Chen <chenm003@163.com>
23256
23257 * source/test/pixelharness.cpp:
23258 fix crash in ssim_end testbench, the x264 support 10bpp only, but
23259 testbench use 12bpp
23260 [0716a8ca46b4]
23261
23262 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
23263
23264 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23265 util8.asm:
23266 asm: 10bpp code for scale1D_128to64 module
23267 [58674cdab926]
23268
23269 2013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23270
23271 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23272 asm: 16bpp support for sa8d_64xN
23273 [6aaea628af95]
23274
23275 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23276 asm: 16bpp support for sa8d_32xN
23277 [2b6d31ae96e1]
23278
23279 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
23280
23281 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp:
23282 asm: 10bpp code for enabling ssim_end_4
23283 [d73d32097efc]
23284
23285 2013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23286
23287 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23288 asm: 16bpp support for sa8d - 24x32 and 48x64
23289 [61c46e787877]
23290
23291 2013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23292
23293 * source/common/x86/const-a.asm, source/common/x86/intrapred8.asm:
23294 asm: move constant to const-a.asm
23295 [9b062eb8124e]
23296
23297 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
23298
23299 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23300 util8.asm:
23301 asm: 10bpp code for transpose 64x64
23302 [f697c98cb63f]
23303
23304 2013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23305
23306 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23307 asm: 16bpp asm code for pixel_sa8d_16xN
23308 [4547d3d03d1e]
23309
23310 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
23311
23312 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23313 util8.asm:
23314 asm: 10bpp code for transpose 32x32
23315 [146aae425df2]
23316
23317 2013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23318
23319 * source/common/x86/asm-primitives.cpp:
23320 16bpp: enabled avt32to16_shr and cvt16to32_shl assembly code
23321 [c38d2f74432f]
23322
23323 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
23324
23325 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23326 util8.asm:
23327 asm: 10bpp code for transpose 16x16
23328 [32bac98d3605]
23329
23330 2013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23331
23332 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
23333 source/common/x86/sad16-a.asm:
23334 16bpp: assembly code for sad_NxN functions
23335 [3602d193676d]
23336
23337 2013-12-04 Min Chen <chenm003@163.com>
23338
23339 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23340 source/common/x86/intrapred8.asm:
23341 asm: assembly code for IntraPredAng4x4 Mode 26
23342 [346830caf664]
23343
23344 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23345 source/common/x86/intrapred8.asm:
23346 asm: assembly code for IntraPredAng4x4 Mode 10
23347 [d142d2ba7168]
23348
23349 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23350 source/common/x86/intrapred8.asm:
23351 asm: assembly code for IntraPredAng4x4 Mode 9 & 27
23352 [f8d0c7b5b502]
23353
23354 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23355 source/common/x86/intrapred8.asm:
23356 asm: assembly code for IntraPredAng4x4 Mode 8 & 28
23357 [e37b4badaaa4]
23358
23359 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23360 source/common/x86/intrapred8.asm:
23361 asm: assembly code for IntraPredAng4x4 Mode 7 & 29
23362 [2f49dab61e52]
23363
23364 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23365 source/common/x86/intrapred8.asm:
23366 asm: assembly code for IntraPredAng4x4 Mode 6 & 30
23367 [2275a3803a80]
23368
23369 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23370 source/common/x86/intrapred8.asm:
23371 asm: assembly code for IntraPredAng4x4 Mode 5 & 31
23372 [f6dbd8dcec6c]
23373
23374 * source/common/x86/intrapred8.asm:
23375 asm: ALIGN branch target to improvement performance
23376 [f35737d6abfe]
23377
23378 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23379 source/common/x86/intrapred8.asm:
23380 asm: assembly code for IntraPredAng4x4 Mode 4 & 32
23381 [d4fe3e90aebf]
23382
23383 2013-12-03 Steve Borho <steve@borho.org>
23384
23385 * source/Lib/TLibCommon/ContextTables.h,
23386 source/Lib/TLibEncoder/TEncSbac.cpp:
23387 sbac: move global tables into x265 namespace
23388 [1d2d60f4eb81]
23389
23390 * source/Lib/TLibCommon/TComPrediction.cpp:
23391 TComPrediction: remove obsolete argument comment
23392 [55c0bf9d9966]
23393
23394 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/asm-
23395 primitives.cpp, source/encoder/compress.cpp:
23396 Merge with stable
23397 [4b455bb3caf6]
23398
23399 * .hgtags:
23400 Added tag 0.6 for changeset b970ffbdd696
23401 [6b7550eed359] <stable>
23402
23403 * source/common/x86/asm-primitives.cpp:
23404 asm: fix for icpc build
23405 [b970ffbdd696] [0.6] <stable>
23406
23407 * source/common/vec/intra-sse41.cpp, source/common/vec/intra-
23408 ssse3.cpp:
23409 vec: use square block size enums
23410 [70dba94f6012]
23411
23412 * source/common/CMakeLists.txt, source/common/vec/pixel-sse41.cpp,
23413 source/common/vec/vec-primitives.cpp:
23414 vec: remove pixel-sse41.cpp, we have full 8bpp pixelcmp coverage in
23415 asm
23416 [8c32edd92522]
23417
23418 * source/Lib/TLibEncoder/TEncSearch.cpp:
23419 tskip: temporary workaround for heap corruption
23420
23421 When tskip is enabled and tu-intra-depth is > 1 and --ctu is 64, we
23422 often see heap corruption when the encoder is destroyed. Disabling
23423 transform-skip on chroma seems to be an effective workaround until
23424 we can find a proper fix.
23425 [8e107ce14b43] <stable>
23426
23427 2013-12-03 Aarthi Thirumalai <Aarthi Thirumalai>
23428
23429 * source/encoder/compress.cpp:
23430 aq: bug fix for hash mismatch between recon with decoded output
23431 [c541804106c7] <stable>
23432
23433 2013-12-03 Steve Borho <steve@borho.org>
23434
23435 * source/encoder/ratecontrol.cpp:
23436 partial backout of 9cfe20b782da
23437
23438 Aarthi was correct, getSliceType() returns an HM SliceType enum.
23439 Five lines above this it was testing whether getSliceType() ==
23440 I_SLICE.
23441
23442 It is far less than optimal that we have two sets of slice type
23443 definitions, but we have to be careful not to mix them up.
23444 [432a87f546cd]
23445
23446 2013-12-03 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23447
23448 * source/common/vec/intra-sse41.cpp:
23449 fix 16bpp build fail due to intra-sse41.cpp
23450 [6cc25bb700fc]
23451
23452 2013-12-03 Steve Borho <steve@borho.org>
23453
23454 * source/common/vec/intra-sse41.cpp:
23455 Backed out changeset: 8a3bb3ecf8f6
23456 [552d46bc20a9]
23457
23458 * Merge
23459 [80938e33bb04]
23460
23461 2013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
23462
23463 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23464 util8.asm:
23465 asm: 10bpp code for transpose 4x4 and 8x8
23466 [c9fe21f4676e]
23467
23468 2013-12-03 Min Chen <chenm003@163.com>
23469
23470 * Merge branch 'X'
23471 [04350bfb3147]
23472
23473 2013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
23474
23475 * source/common/x86/ssd-a.asm:
23476 asm: 10bpp code for pixel_sse_pp for 12x16, 24x32 and 64xN
23477 [78aa21f66013]
23478
23479 2013-12-03 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23480
23481 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23482 asm: pixel_satd_32xN for 16bpp
23483 [f8b0946edc8f]
23484
23485 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23486 asm: pixel_satd_64xN for 16bpp
23487 [b4740dcd1621]
23488
23489 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23490 asm: pixel_satd - 12x16, 24x32, 48x64 for 16bpp
23491 [69c110c3751b]
23492
23493 2013-12-03 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23494
23495 * source/common/x86/sad-a.asm:
23496 asm: pixel_sad_64xN reduce large code size
23497 [ca60c165ba4b]
23498
23499 2013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
23500
23501 * source/common/x86/ssd-a.asm:
23502 asm: 10bpp fix for alignment in sse_ss routine
23503 [cd018d294e96]
23504
23505 2013-12-03 Min Chen <chenm003@163.com>
23506
23507 * source/common/vec/intra-ssse3.cpp, source/common/x86/const-a.asm,
23508 source/common/x86/intrapred.h, source/common/x86/intrapred8.asm,
23509 source/test/intrapredharness.cpp:
23510 asm: assembly code for IntraPredAng4x4 Mode 3 & 33
23511 [9f7dad70e6a9]
23512
23513 * source/common/x86/const-a.asm, source/common/x86/dct8.asm:
23514 asm: support IDCT4-10bpp
23515 [6f284a447088]
23516
23517 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred8.asm,
23518 source/test/intrapredharness.cpp:
23519 asm: intra_pred_ang Mode 34
23520 [21adddaee460]
23521
23522 * source/common/x86/blockcopy8.asm:
23523 asm: fix xmm register error in cvt16to32_shl
23524 [7fa921f5845d]
23525
23526 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
23527
23528 * source/common/x86/asm-primitives.cpp:
23529 asm: 10bpp support to sse_ss for 8xN, 16xN and 32xN blocks
23530 [102b5042e596]
23531
23532 2013-12-02 Min Chen <chenm003@163.com>
23533
23534 * source/common/x86/mc-a.asm, source/common/x86/mc.h:
23535 asm: fix miss avg_64x32
23536 [b2c7a7310e9f]
23537
23538 2013-12-02 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23539
23540 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm:
23541 16bpp: assembly code for pixelavg_pp
23542 [3fea1dd70211]
23543
23544 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
23545
23546 * source/common/vec/intra-sse41.cpp:
23547 fix: bug in inra-sse41.cpp
23548 [8a3bb3ecf8f6]
23549
23550 2013-12-02 Min Chen <chenm003@163.com>
23551
23552 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
23553 source/common/x86/intrapred8.asm:
23554 asm: assembly code for IntraPredAng4x4 Mode 2
23555 [f1ccd8eab389]
23556
23557 * source/common/primitives.h:
23558 fixup proto of intra_pred_ang_t
23559 [5457fd3a26a7]
23560
23561 2013-12-03 Min Chen <chenm003@163.com>
23562
23563 * source/test/pixelharness.cpp:
23564 testbench: increment buffer size to avoid crash in check_pixeladd_ss
23565 [21fe86adaa9a]
23566
23567 2013-12-03 Aarthi Thirumalai <Aarthi Thirumalai>
23568
23569 * source/encoder/compress.cpp:
23570 aq: bug fix for hash mismatch between recon with decoded output
23571 [660ec2c02798]
23572
23573 2013-12-03 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
23574
23575 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
23576 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
23577 source/encoder/cturow.cpp, source/encoder/encoder.cpp,
23578 source/x265.cpp, source/x265.h:
23579 define new rdlevels, default presets changed accordingly.
23580
23581 levels 6,5 equivalent to current rd 2, 4 equivalent to current rd 1,
23582 and rest equivalent to rd 0. More parameters will be added to
23583 distinguish each levels.
23584 [86d23688b017]
23585
23586 * source/encoder/encoder.cpp:
23587 Move rdoQTS initialization after rdoQ is set.
23588 [9f96817c8894]
23589
23590 2013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
23591
23592 * source/common/common.cpp, source/encoder/ratecontrol.cpp,
23593 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp:
23594 cuTree: integrated CuTree into RateControl and Added b-references
23595 into RC
23596 [9cfe20b782da]
23597
23598 2013-12-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
23599
23600 * source/Lib/TLibEncoder/TEncSearch.cpp:
23601 heap corruption: temporarily disable tskip in chroma.
23602
23603 Temporary fix for the crash caused by enabling tskip in chroma.
23604 [f539fa01f20c]
23605
23606 2013-12-02 Steve Borho <steve@borho.org>
23607
23608 * source/common/TShortYUV.cpp, source/common/TShortYUV.h,
23609 source/common/vec/intra-sse41.cpp, source/input/y4m.cpp:
23610 Merge with stable
23611 [ca7bd538e052]
23612
23613 * source/input/y4m.cpp:
23614 y4m: initialize colorSpace to avoid crashes after failing to parse
23615 y4m header
23616 [40f9842972da] <stable>
23617
23618 * source/common/vec/intra-sse41.cpp:
23619 vec: disable allangs 32x32 intrinsic primitive for clang
23620
23621 clang seems to compile it ok, and the testbench passes, but it
23622 causes runtime exceptions when used within the encoder.
23623 [353a34a5d35f] <stable>
23624
23625 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
23626 Backed out changeset: 5df643257054
23627
23628 This was causing memory corruption when --tskip and --rd=2 were used
23629 together. It needs to be further investigated and fixed on the
23630 default branch.
23631 [c2911115b79a] <stable>
23632
23633 * source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
23634 asm: make it more clear that pixel-a.asm has only satd and sa8d now
23635 [70e127d735a5]
23636
23637 * source/common/CMakeLists.txt, source/common/x86/pixel-a.asm,
23638 source/common/x86/ssd-a.asm:
23639 asm: move ssd functions into their own ssd-a.asm file, similar to
23640 sad-a.asm
23641 [a9f629fac91e]
23642
23643 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.h,
23644 source/common/x86/pixel-util8.asm, source/common/x86/pixel.h:
23645 asm: move variance functions to pixel-util8.asm
23646 [eea094a84b9c]
23647
23648 * source/common/x86/mc.h, source/common/x86/pixel-a.asm,
23649 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
23650 source/common/x86/pixel.h:
23651 asm: move pixel_sub to pixel-util8.asm, move pixel_avg funcdef to
23652 mc.h
23653 [2de04bb5da1d]
23654
23655 * source/common/x86/pixel-a.asm:
23656 pixel: remove an unused macro
23657 [2ed3b664c370]
23658
23659 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.h,
23660 source/common/x86/pixel-util8.asm, source/common/x86/pixel.h:
23661 asm: move scale functions to pixel-util
23662 [a439c19ee304]
23663
23664 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.h,
23665 source/common/x86/pixel-util8.asm, source/common/x86/pixel.h:
23666 asm: move SSIM functions to pixel-util
23667 [b091438d1446]
23668
23669 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23670 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
23671 source/common/x86/pixel.h:
23672 asm: move transpose from pixel-a.asm to pixel-util8.asm, add pixel-
23673 util.h
23674 [a182faf23ead]
23675
23676 * source/common/x86/pixel.h:
23677 asm: remove more unused funcdefs from pixel.h
23678 [41c6dc5b35e8]
23679
23680 * source/common/x86/blockcopy8.asm, source/common/x86/pixel-util8.asm:
23681 asm: move cvt* functions to blockcopy8.asm
23682 [b6766dc86e2a]
23683
23684 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
23685 rc: fixups for cutree changes
23686 [dab34fa63c0c]
23687
23688 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
23689
23690 * source/common/x86/pixel.h:
23691 asm: removed unused function defnitions from pixel.h
23692 [47ddbf9b5866]
23693
23694 2013-12-02 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23695
23696 * source/common/x86/pixel.h, source/common/x86/sad-a.asm:
23697 cleanup: removed unused code from sad-a.asm
23698 [a615a46d4631]
23699
23700 2013-12-02 Steve Borho <steve@borho.org>
23701
23702 * source/common/pixel.cpp:
23703 picel: fix compile error from older gcc
23704 [4508b8c923e6]
23705
23706 * source/common/CMakeLists.txt:
23707 cmake: fix Win64 vector primitive compile flags
23708 [ccf65888fc2c]
23709
23710 * Merge with stable
23711 [d8d716eb11b8]
23712
23713 2013-12-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
23714
23715 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
23716 fix for the number of weighted references exceeding 8 in HM weight
23717 analysis
23718 [bf778de26451] <stable>
23719
23720 2013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
23721
23722 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
23723 slicetype: fix for gcc warnings
23724 [0a8023666206]
23725
23726 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
23727
23728 * source/common/x86/pixel-a.asm:
23729 asm: removed unused code from pixel-a.asm
23730 [df0b4f81609e]
23731
23732 2013-12-02 Steve Borho <steve@borho.org>
23733
23734 * source/common/pixel.cpp:
23735 pixel: fix 16bpp warnings that were previously hidden by cmake rules
23736 [0a85121531fc]
23737
23738 2013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
23739
23740 * source/common/common.cpp, source/common/lowres.cpp,
23741 source/common/lowres.h, source/encoder/frameencoder.cpp,
23742 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
23743 source/encoder/slicetype.h, source/x265.h:
23744 slicetype: CuTree Implementation for AQ RateControl
23745
23746 Added Following methods into slicetype for CuTree Implementation
23747 1.cuTree - Entry Point for CuTree 2.estimateCUPropagate and
23748 estimateCUPropagateCost - Calculate the CU Propagate cost for CU's
23749 3.cuTreeFinish - update the qpOffset using Precomputed
23750 PropagateCost, weightedCostDelta and lookahead costs
23751
23752 Added cuTree option into param->rc and make it as a Disable, still
23753 the cuTree is an Under Construction
23754 [c75c3431b108]
23755
23756 2013-12-02 Steve Borho <steve@borho.org>
23757
23758 * source/common/CMakeLists.txt:
23759 cmake: nits
23760 [189ac76266a9]
23761
23762 * source/common/CMakeLists.txt:
23763 cmake: ignore gcc warnings in vector intrinsic files
23764 [bb65f4686d68]
23765
23766 2013-12-01 Steve Borho <steve@borho.org>
23767
23768 * source/common/CMakeLists.txt, source/common/vec/pixel-ssse3.cpp,
23769 source/common/vec/vec-primitives.cpp:
23770 vec: remove pixel-ssse3.cpp, its last function has asm coverage
23771 [bd3fad7cffec]
23772
23773 * source/common/CMakeLists.txt, source/common/vec/dct-sse3.cpp,
23774 source/common/vec/dct-ssse3.cpp, source/common/vec/intra-sse41.cpp,
23775 source/common/vec/ipfilter-ssse3.cpp, source/common/vec/pixel-
23776 sse41.cpp, source/common/vec/pixel16-sse41.cpp:
23777 cmake: ignore unreferenced formal paramter warnings in common/vec
23778
23779 And remove all the hacks that were in place to avoid those warnings
23780 [b4eef7d41af1]
23781
23782 * source/common/x86/asm-primitives.cpp:
23783 asm: nits
23784 [e83550d5f10d]
23785
23786 * source/common/x86/asm-primitives.cpp:
23787 asm: 16bpp fixup
23788 [5db9eba4b2df]
23789
23790 * source/Lib/TLibCommon/TComPicYuv.cpp,
23791 source/Lib/TLibCommon/TComPrediction.cpp,
23792 source/Lib/TLibCommon/TComSlice.h,
23793 source/Lib/TLibCommon/TComYuv.cpp,
23794 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
23795 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
23796 source/common/TShortYUV.h, source/common/common.cpp,
23797 source/common/cpu.cpp, source/common/ipfilter.cpp,
23798 source/common/pixel.cpp, source/common/primitives.h,
23799 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
23800 sse3.cpp, source/common/vec/dct-ssse3.cpp, source/common/vec/intra-
23801 sse41.cpp, source/common/vec/intra-ssse3.cpp, source/common/x86/asm-
23802 primitives.cpp, source/common/x86/blockcopy8.h,
23803 source/common/x86/ipfilter8.h, source/common/x86/pixel.h,
23804 source/encoder/compress.cpp, source/encoder/encoder.cpp,
23805 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
23806 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
23807 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
23808 source/input/y4m.cpp, source/input/yuv.cpp, source/output/y4m.cpp,
23809 source/output/yuv.cpp, source/test/intrapredharness.cpp,
23810 source/test/ipfilterharness.cpp, source/test/pixelharness.cpp,
23811 source/test/testbench.cpp, source/x265.h:
23812 uncrustify all source
23813 [5bf05c39e566]
23814
23815 * source/common/common.cpp, source/encoder/encoder.cpp,
23816 source/x265.cpp, source/x265.h:
23817 Merge with stable
23818 [7f2bc20e9ff1]
23819
23820 * source/encoder/encoder.cpp, source/x265.def.in, source/x265.h:
23821 api: add alloc/free methods for x265_picture for future safety
23822 [32942ebd5793] <stable>
23823
23824 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.def.in,
23825 source/x265.h:
23826 api: add alloc/free methods for x265_param
23827
23828 This allows apps to use x265_param as pure abstract structures, just
23829 like x265_encoder, in order to make their app future-safe against
23830 changes to x265_param (without requiring recompiles or code
23831 changes).
23832 [aabaf5382ac5] <stable>
23833
23834 * source/common/common.cpp, source/encoder/encoder.cpp,
23835 source/encoder/slicetype.cpp, source/x265.cpp, source/x265.h:
23836 api: change x265_param.bpyramid to bBPyramid (bool)
23837
23838 x264's strict bpyramid mode seems to be H.264/blue-ray specific and
23839 thus we are left with only on or off.
23840 [53b1eeb6333b] <stable>
23841
23842 * source/encoder/encoder.cpp:
23843 csv: improve CSV headers to use title caps
23844 [418e55eefbb8] <stable>
23845
23846 * source/test/intrapredharness.cpp:
23847 test: intrapred harness fixup
23848 [0547f1672f13]
23849
23850 * source/encoder/encoder.cpp:
23851 encoder: nits
23852 [d17843e942b5]
23853
23854 2013-11-08 Xun Xu, PPLive Corporation <xunxu@pptv.com>
23855
23856 * source/common/common.cpp, source/encoder/encoder.cpp,
23857 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
23858 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
23859 source/x265.cpp, source/x265.h:
23860 rc: initial work towards VBV rate control
23861
23862 1. add parameter "vbv-maxrate" "vbv-bufsize" "vbv-init" into cmd
23863 line 2. implement vbv methods, this patch doesn't use lookahead data
23864
23865 future work, 1. vbv-lookahead 2. CU level ratecontrol
23866 [8a90153de720]
23867
23868 2013-12-01 Steve Borho <steve@borho.org>
23869
23870 * source/common/vec/intra-sse41.cpp:
23871 vec: drop intra planar intrinsic primitives, we have asm coverage
23872 [343d9ba487b2]
23873
23874 * source/test/intrapredharness.cpp:
23875 intra: testbench fixups after dropping 64x64 C refs
23876 [81c09b55acf1]
23877
23878 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-ssse3.cpp:
23879 vec: remove two DCT intrinsic primitives with asm coverage
23880 [9facac4f81f7]
23881
23882 * source/common/intrapred.cpp:
23883 intrapred: fix func decl of intra-ang C ref
23884 [50261fa292ad]
23885
23886 * source/common/intrapred.cpp:
23887 intrapred: use square block defines, do not instantiate intra 64x64
23888 [3409078021ac]
23889
23890 * source/common/x86/asm-primitives.cpp:
23891 asm: plumb out more 16bpp asm setup infrastructure
23892 [776fc3575e2d]
23893
23894 2013-11-29 Murugan Vairavel <murugan@multicorewareinc.com>
23895
23896 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23897 10bpp: asm code for pixel_var_32x32 and 64x64
23898 [803048f62317]
23899
23900 2013-11-29 Nabajit Deka <nabajit@multicorewareinc.com>
23901
23902 * source/common/vec/dct-sse41.cpp, source/common/x86/asm-
23903 primitives.cpp:
23904 Enable idst4 asm
23905 [d8c523bd9f90]
23906
23907 * source/common/x86/dct8.asm, source/common/x86/dct8.h:
23908 asm : Adding asm routine for idst4
23909 [3e8c280b16a6]
23910
23911 2013-11-29 Min Chen <chenm003@163.com>
23912
23913 * source/Lib/TLibCommon/CommonDef.h,
23914 source/Lib/TLibCommon/TComPrediction.cpp,
23915 source/Lib/TLibCommon/TComPrediction.h, source/common/intrapred.cpp,
23916 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
23917 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
23918 size based array for intra_pred_ang[]
23919 [cc7bb2f18d01]
23920
23921 2013-11-28 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23922
23923 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23924 asm: enabled asm routines for HIGH_BIT_DEPTH, which has the support
23925 for 16bpp
23926 [bb776ea49cba]
23927
23928 2013-11-28 Nabajit Deka <nabajit@multicorewareinc.com>
23929
23930 * source/common/vec/dct-ssse3.cpp, source/common/x86/asm-
23931 primitives.cpp, source/common/x86/dct8.asm,
23932 source/common/x86/dct8.h:
23933 asm : Adding asm routine for dst4.
23934 [2ab09fab2826]
23935
23936 2013-11-28 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
23937
23938 * source/common/x86/asm-primitives.cpp,
23939 source/common/x86/blockcopy8.h, source/common/x86/pixel-util8.asm:
23940 asm: assembly code for cvt16to32_shl
23941 [9bda4cecf6c0]
23942
23943 2013-11-28 Min Chen <chenm003@163.com>
23944
23945 * source/common/primitives.h:
23946 cleanup: remove unused cvt16to16_shl_t
23947 [8f1a72797abb]
23948
23949 2013-11-28 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
23950
23951 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23952 testbench: added cvt16to32_shl primitive function
23953 [f9935384fa2a]
23954
23955 2013-12-01 Steve Borho <steve@borho.org>
23956
23957 * source/common/vec/pixel-sse41.cpp:
23958 pixel: remove sse_sp intrinsic primitives, we have asm coverage
23959 [5857fdc3c3ff]
23960
23961 2013-11-28 Murugan Vairavel <murugan@multicorewareinc.com>
23962
23963 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
23964 asm: cleanups for pixel_sse_sp
23965 [8a9a0ef760e8]
23966
23967 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23968 source/common/x86/pixel.h:
23969 asm: code for pixel_sse_sp_4xN
23970 [052a1b094def]
23971
23972 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23973 source/common/x86/pixel.h:
23974 asm: code for pixel_sse_sp_12x16
23975 [8683adc61bec]
23976
23977 2013-11-28 Min Chen <chenm003@163.com>
23978
23979 * source/common/CMakeLists.txt, source/common/x86/intrapred.asm,
23980 source/common/x86/intrapred8.asm, source/common/x86/pixel-util.asm,
23981 source/common/x86/pixel-util8.asm:
23982 rename to avoid 10bpp conflict
23983 [016709ae6264]
23984
23985 2013-11-28 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23986
23987 * source/common/x86/asm-primitives.cpp,
23988 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
23989 asm: assembly code for intra_pred_planar[32x32]
23990 [e6a32d404e18]
23991
23992 2013-11-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
23993
23994 * Merge from stable
23995 [2786f9e92560]
23996
23997 * source/common/common.cpp:
23998 presets: bpyramid default value reset to 1
23999
24000 No support for strict b-pyramid yet.
24001 [87dc694fc016] <stable>
24002
24003 * source/encoder/encoder.cpp:
24004 ssim: increase precision in ssim reporting
24005 [b08f3853adb9] <stable>
24006
24007 2013-11-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24008
24009 * Merge from stable
24010 [833d78aaf71e]
24011
24012 * source/common/common.cpp:
24013 presets: correct bframes in "slow" to 4
24014 [fb93582b5f3f] <stable>
24015
24016 * source/encoder/compress.cpp:
24017 compress: cleanup
24018 [ac01f12310ed]
24019
24020 * source/encoder/compress.cpp:
24021 compress: save distortion info in xComputeCostInter.
24022 [2559b4c52148]
24023
24024 * source/encoder/compress.cpp:
24025 compress: save best bits, sad in xcomputeCostIntrainInter
24026 [a7d2fb189311]
24027
24028 * source/encoder/compress.cpp:
24029 compress: disable EARLY_EXIT and TOP_SKIP (temporarily)
24030 [e0036ec4a61b]
24031
24032 2013-11-28 Steve Borho <steve@borho.org>
24033
24034 * Merge with stable
24035 [e7a5780843de]
24036
24037 * source/common/vec/vec-primitives.cpp:
24038 vec: tab to spaces
24039 [2456d360a4ce] <stable>
24040
24041 2013-11-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24042
24043 * source/common/common.cpp:
24044 presets: modifications to smoothen the performance-efficiency plot.
24045 [bcc0941f67b3] <stable>
24046
24047 2013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24048
24049 * source/encoder/compress.cpp:
24050 RD merge: refine merge costs with estimated merge mode bits.
24051 [42892f4f4cc2]
24052
24053 2013-11-28 Steve Borho <steve@borho.org>
24054
24055 * source/CMakeLists.txt, source/common/CMakeLists.txt,
24056 source/common/vec/vec-primitives.cpp:
24057 cmake: gcc flag introspection to fix Mac OS X 10.6 build
24058 [38719294293f] <stable>
24059
24060 2013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24061
24062 * source/encoder/compress.cpp:
24063 RD merge: add in early-skip param.
24064 [2ba6c26c9feb]
24065
24066 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
24067 RD merge: remove earlyDetectionSkip, output is unchanged.
24068 [ca8c57f0c532]
24069
24070 * source/encoder/compress.cpp:
24071 RD merge: remove more redundant set-fields
24072 [54379de63b85]
24073
24074 2013-11-27 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
24075
24076 * source/encoder/compress.cpp:
24077 merge2nx2n: move initializations out of the loop
24078
24079 Only mergeIndex and MVs will be changed in each loop.
24080 [f516ff5d6af3]
24081
24082 2013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24083
24084 * source/encoder/compress.cpp:
24085 RD: use sa8d in inter/merge cost measurements instead of satd
24086 [0c2a9f913c0b]
24087
24088 * source/encoder/compress.cpp:
24089 RD: change cost measurements for inter
24090
24091 The cost calculation for inter modes now use cost = satd(orig, pred)
24092 + lambda*mebits. This is an estimation to the actual RD-cost.
24093 [0ab1c01bf952]
24094
24095 2013-11-27 Steve Borho <steve@borho.org>
24096
24097 * source/encoder/encoder.cpp:
24098 encoder: change default frameNumThreads for 4-core HT CPUs to 3
24099 [f92e0c49a9f0] <stable>
24100
24101 2013-11-27 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
24102
24103 * source/encoder/frameencoder.cpp:
24104 Fix to eliminate unwanted application of weight in some (ref, enc)
24105 pairs
24106 [bfd5204ef226] <stable>
24107
24108 2013-11-27 Aarthi Thirumalai <Aarthi Thirumalai>
24109
24110 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
24111 aq: Bug Fixes in aq , ssim when ctu size is not set as 64.
24112
24113 1.Calculate qp offset for CU based maxCuSize set in
24114 FrameEncoder::calcQpForCu 2.Fix height for ssim computation based on
24115 maxCuHeight in FrameFilter::processRowPost
24116 [6eb45b5bf181] <stable>
24117
24118 2013-11-27 Steve Borho <steve@borho.org>
24119
24120 * source/encoder/encoder.cpp:
24121 encoder: use more portable %PRIu64, define __STDC_FORMAT_MACROS
24122
24123 Older GCC versions and clang require __STDC_FORMAT_MACROS to be
24124 defined prior to including stdint.h when compiling for C++, in order
24125 for PRIu64 and friends to be defined
24126 [13f60881bf01] <stable>
24127
24128 * Merge with stable
24129 [949f85337789]
24130
24131 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp:
24132 cmake: detect inttypes.h and use for uint64_t printfs
24133 [e4baf53cefe8] <stable>
24134
24135 * source/common/vec/intra-sse41.cpp:
24136 vec: remove intra_pred_planar16_sse4, we have asm coverage
24137 [892addcb1c94]
24138
24139 * source/common/vec/pixel-ssse3.cpp:
24140 vec: remove scale2D_64to32, we have asm coverage
24141 [c5efe0603b61]
24142
24143 * source/common/x86/intrapred.asm:
24144 intra: fix yasm warning about redefined macro
24145 [04811b42aa6b]
24146
24147 * Merge
24148 [ec904fab863a]
24149
24150 2013-11-27 Murugan Vairavel <murugan@multicorewareinc.com>
24151
24152 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24153 source/common/x86/pixel.h:
24154 asm: code for pixel_sse_sp_24x32
24155 [cf5c2f982353]
24156
24157 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24158 source/common/x86/pixel.h:
24159 asm: code for pixel_sse_sp_8xN
24160 [54ba57708276]
24161
24162 2013-11-27 Nabajit Deka <nabajit@multicorewareinc.com>
24163
24164 * source/common/vec/dct-sse3.cpp, source/common/x86/asm-
24165 primitives.cpp, source/common/x86/dct8.h:
24166 Enable the idct4 asm routine.
24167 [7dbe6495ebb8]
24168
24169 * source/common/x86/dct8.asm:
24170 asm: Adding asm routine for idct4
24171 [e463501f8a20]
24172
24173 * source/common/x86/const-a.asm:
24174 Adding constant tables used for idct4 asm routine
24175 [a49c0228e06e]
24176
24177 2013-11-27 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24178
24179 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24180 asm: pixel_sse_ss_64xN assembly routine
24181 [bf7cf2555571]
24182
24183 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24184 asm: pixel_sse_ss_48x64 assembly routine
24185 [45ce09834506]
24186
24187 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24188 asm: pixel_sse_ss_24x32 assembly routine
24189 [8edf6fa32a74]
24190
24191 2013-11-27 Murugan Vairavel <murugan@multicorewareinc.com>
24192
24193 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24194 source/common/x86/pixel.h:
24195 asm: code for pixel_sse_sp_64xN
24196 [248a56faff0a]
24197
24198 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24199 source/common/x86/pixel.h:
24200 asm: code for pixel_sse_sp_48x64
24201 [6051967b60cd]
24202
24203 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24204 source/common/x86/pixel.h:
24205 asm: code for pixel_sse_sp_32xN
24206 [aeb1c93c69d2]
24207
24208 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
24209 source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
24210 asm: code for pixel_var_32x32 and 64x64 blocks
24211 [8846d37b3d9c]
24212
24213 2013-11-27 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
24214
24215 * source/common/x86/asm-primitives.cpp,
24216 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
24217 asm : assembly code for intra_pred_planar[16x16]
24218 [09b5e8f592ac]
24219
24220 2013-11-27 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24221
24222 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24223 asm: fix the alignment issues occured in sse_ss
24224 [9c60abb71cf6]
24225
24226 2013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
24227
24228 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24229 source/common/x86/pixel.h:
24230 asm: code for scale2D_64to32 routine
24231 [78c171e33865]
24232
24233 2013-11-27 Steve Borho <steve@borho.org>
24234
24235 * source/Lib/TLibCommon/ContextModel.cpp,
24236 source/Lib/TLibCommon/ContextModel.h,
24237 source/Lib/TLibEncoder/TEncAnalyze.h, source/common/reference.cpp,
24238 source/common/reference.h, source/common/vec/blockcopy-avx2.cpp,
24239 source/common/vec/intra-sse3.cpp, source/common/vec/pixel-avx2.cpp,
24240 source/common/vec/pixel-sse3.cpp, source/compat/msvc/LGPL.txt,
24241 source/compat/msvc/getopt.c, source/compat/msvc/getopt.h:
24242 Merge with default (feature freeze for 0.6)
24243
24244 Bug fixes and tunings only on the stable branch, until the next tag
24245 is issued.
24246 [417f794274e5] <stable>
24247
24248 * source/encoder/encoder.cpp:
24249 encoder: do not print weightp stats if no P frames were generated
24250
24251 (prevents NAN or worse errors)
24252 [ece323e1b603]
24253
24254 * source/encoder/encoder.cpp:
24255 log: replace "Skip" with more accurate "Merge"
24256 [eadcdeb661bc]
24257
24258 2013-11-26 Steve Borho <steve@borho.org>
24259
24260 * source/common/vec/intra-sse41.cpp:
24261 vec: drop intra_pred_planar 4x4 and 8x8 intrinsic primitives, we
24262 have asm
24263 [b09b6fa7e89a]
24264
24265 * source/encoder/encoder.cpp:
24266 encoder: return pic.sliceType = X265_TYPE_IDR if keyframe
24267 [39286dff86ea]
24268
24269 * source/common/vec/dct-sse41.cpp:
24270 vec: drop dequant_normal intrinsic primitive, we have asm
24271 [5b5d37ef369a]
24272
24273 * source/common/vec/dct-sse3.cpp:
24274 vec: remove dct4 intrinsic primitive
24275 [543390a8644c]
24276
24277 * Merge
24278 [ba8e95798860]
24279
24280 2013-11-26 Nabajit Deka <nabajit@multicorewareinc.com>
24281
24282 * source/common/vec/dct-sse3.cpp, source/common/x86/asm-
24283 primitives.cpp:
24284 Enable the new dct4 asm routine.
24285 [5e3b1d59d8dd]
24286
24287 * source/common/CMakeLists.txt:
24288 Adding dct8.asm and dct8.h to CMakeLists
24289 [51b6d0c6ecf5]
24290
24291 * source/common/x86/const-a.asm:
24292 Adding constant table used for dct4
24293 [78431cd16bb5]
24294
24295 * source/common/x86/dct8.asm, source/common/x86/dct8.h:
24296 asm: assembly code for dct4x4
24297 [e9ac715f16cf]
24298
24299 * source/common/x86/pixel-util.asm:
24300 asm: Correct number of xmm registers for weight_sp routine.
24301 [8bc370263676]
24302
24303 2013-11-26 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
24304
24305 * source/common/x86/asm-primitives.cpp,
24306 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
24307 asm: assembly code for intra_pred_planar[8x8]
24308 [13fe158374e7]
24309
24310 2013-11-26 Murugan Vairavel <murugan@multicorewareinc.com>
24311
24312 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24313 source/common/x86/pixel.h:
24314 asm: code for pixel_sse_sp_16xN
24315 [3791482e68f5]
24316
24317 * source/common/pixel.cpp, source/common/primitives.h,
24318 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24319 source/common/x86/pixel.h, source/encoder/ratecontrol.cpp,
24320 source/test/pixelharness.cpp:
24321 asm: removed unused code in pixel_var module
24322 [a903be46b40d]
24323
24324 2013-11-26 Min Chen <chenm003@163.com>
24325
24326 * source/common/dct.cpp:
24327 fix: in 14bpp mode, maximum shift is 10
24328 [7b48cda38797]
24329
24330 * source/common/pixel.cpp, source/common/primitives.h,
24331 source/common/x86/asm-primitives.cpp,
24332 source/encoder/framefilter.cpp, source/test/pixelharness.cpp,
24333 source/test/pixelharness.h:
24334 asm: active x264 ssim code
24335
24336 Side effect: Remove ssim_t to avoid conflict with x264 asm code we
24337 use int64_t when HIGH_BIT_DEPTH enable, but x264 always 'int'
24338 [63a87d839bed]
24339
24340 2013-11-25 Steve Borho <steve@borho.org>
24341
24342 * source/common/vec/pixel-sse41.cpp:
24343 pixel: remove intrinsic pixel weight functions, we have asm coverage
24344 [491fd3ee6fd1]
24345
24346 2013-11-26 Steve Borho <steve@borho.org>
24347
24348 * source/x265.h:
24349 api: document a few rate control settings
24350 [5accd2ae5ceb]
24351
24352 2013-11-26 Min Chen <chenm003@163.com>
24353
24354 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.asm,
24355 source/common/x86/pixel.h:
24356 asm: fix build error on x64
24357 [116d91f08fcb]
24358
24359 2013-11-26 chenm003 <chenm003@163.com>
24360
24361 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp:
24362 合并 multicoreware/x265 到 default
24363 [06d509e2e687]
24364
24365 2013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
24366
24367 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
24368 source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
24369 asm: code for pixel_var_16xN
24370 [672ae35d4e5f]
24371
24372 2013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24373
24374 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24375 asm: assembly code for pixel_sse_ss_32xN
24376 [8075b13cee00]
24377
24378 2013-11-25 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
24379
24380 * source/common/x86/asm-primitives.cpp,
24381 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
24382 asm: assembly code for intra_pred_planar[4x4]
24383 [6a8fbb091722]
24384
24385 2013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
24386
24387 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
24388 source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
24389 asm: code for pixel_var_8xN
24390 [da18434af735]
24391
24392 2013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24393
24394 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24395 asm: assembly code for pixel_sse_ss_12x16
24396 [71262c718dfa]
24397
24398 2013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
24399
24400 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24401 Test bench: code for pixel_var
24402 [529bd0084265]
24403
24404 2013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24405
24406 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24407 source/common/x86/pixel.h:
24408 asm: assembly code for sse_ss - 4xN, 8xN, 16xN
24409 [7cab79758dd7]
24410
24411 2013-11-25 Nabajit Deka <nabajit@multicorewareinc.com>
24412
24413 * source/test/pixelharness.cpp:
24414 Test bench modifications for weight_sp() asm routine
24415 [3e688d424f05]
24416
24417 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
24418 primitives.cpp, source/common/x86/pixel.h:
24419 Adding asm function declaration and initialization for weight_sp asm
24420 routine
24421 [47ef19a1734c]
24422
24423 * source/common/x86/pixel-util.asm:
24424 asm : routine for weight_sp().
24425 [d9d6b8b4e4f1]
24426
24427 2013-11-25 Min Chen <chenm003@163.com>
24428
24429 * source/common/x86/const-a.asm, source/common/x86/ipfilter8.asm:
24430 asm: move constant 8192 to const-a.asm for share
24431 [a5c7cd496583]
24432
24433 2013-11-25 Nabajit Deka <nabajit@multicorewareinc.com>
24434
24435 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
24436 primitives.cpp, source/common/x86/pixel.h:
24437 Adding asm function declaration and initialization for weight_pp asm
24438 routine.
24439 [be74f1731279]
24440
24441 * source/test/pixelharness.cpp:
24442 Test bench modifications for weight_pp() asm routine.
24443 [13126513fe61]
24444
24445 * source/common/x86/pixel-util.asm:
24446 asm : routine for weight_pp(), for input width in multiples of 16
24447 [3e4c257d88ab]
24448
24449 2013-11-25 Praveen Tiwari <praveen@multicorewareinc.com>
24450
24451 * source/common/x86/asm-primitives.cpp:
24452 cleanup the temporary function pointer initialization
24453 [b54870f0cdd3]
24454
24455 2013-11-25 Min Chen <chenm003@163.com>
24456
24457 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp,
24458 source/common/x86/pixel-util.asm, source/common/x86/pixel.h:
24459 asm: assembly code for dequant_normal
24460 [67e8ecb2b0e5]
24461
24462 * source/common/x86/mc-a.asm:
24463 cleanup: remove unused code in mc-a.asm
24464 [9c7142ced7c4]
24465
24466 2013-11-24 Min Chen <chenm003@163.com>
24467
24468 * source/common/x86/pixel-a.asm:
24469 cleanup: remove unused constant in pixel-a.asm
24470 [c0c862dc71fb]
24471
24472 * source/common/x86/pixel-a.asm:
24473 cleanup: remove unused code in pixel-a.asm
24474 [513f564ba360]
24475
24476 * source/common/x86/mc-a2.asm:
24477 cleanup: remove unused code in mc-a2.asm
24478 [464af047f7b1]
24479
24480 2013-11-25 Steve Borho <steve@borho.org>
24481
24482 * source/encoder/encoder.cpp:
24483 encoder: do not warn of b-pyramid and small bframe value
24484
24485 Many default presets can do this, it is harmless
24486 [fdaa754dfbd4]
24487
24488 * source/encoder/encoder.cpp:
24489 log: shorten Planar to P
24490 [e607520863c0]
24491
24492 * source/encoder/encoder.cpp:
24493 log: do not output statistics for disabled features
24494 [484ac0c345a2]
24495
24496 * source/common/dct.cpp:
24497 dct: remove unused static array
24498 [81f4e226c5a3]
24499
24500 * source/encoder/encoder.cpp:
24501 encoder: compilers can't agree on how to print long longs
24502 [319881b4ebf3]
24503
24504 2013-11-25 Kavitha Sampath <kavitha@multicorewareinc.com>
24505
24506 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp,
24507 source/encoder/encoder.cpp:
24508 log: improve statistics display
24509
24510 represent 4x4 statistics for I frame, combine I frame log in single
24511 line, preserve space in log
24512 [c7b97ebc1c9b]
24513
24514 2013-11-24 Steve Borho <steve@borho.org>
24515
24516 * source/common/x86/asm-primitives.cpp:
24517 asm: repair ICL compile on Windows
24518 [864f4664c775]
24519
24520 2013-11-22 Steve Borho <steve@borho.org>
24521
24522 * source/common/vec/vec-primitives.cpp:
24523 clang: remove compilation guards around
24524 Setup_Vec_IPredPrimitives_sse41()
24525
24526 Now that a number of primitives have been replace by assembly, the
24527 functions are safe.
24528 [10f605bd0530]
24529
24530 * source/common/CMakeLists.txt, source/common/vec/pixel-sse3.cpp,
24531 source/common/vec/pixel-ssse3.cpp, source/common/vec/vec-
24532 primitives.cpp:
24533 cmake: merge pixel-sse3.cpp into pixel-ssse3.cpp
24534
24535 Both files only had one primitive each, and they will both probably
24536 be replaced soon
24537 [e5db4a4859ee]
24538
24539 * source/common/vec/pixel-ssse3.cpp:
24540 pixel-ssse3: remove scale1D_128to64, we have ASM
24541 [7e2694f9a226]
24542
24543 * source/common/vec/pixel-sse41.cpp:
24544 pixel-sse41: cleanup intrinsic weight function names
24545 [a6da40d0584f]
24546
24547 * source/common/vec/intra-sse41.cpp:
24548 vec: remove intrinsic predDCFiltering() and intra_pred_dc(), we have
24549 ASM
24550 [285fe7a59cf5]
24551
24552 * source/common/x86/asm-primitives.cpp:
24553 asm: remove assignements to square block sa8d[] methods
24554
24555 These are handled specially in x265_setup_primitives()
24556 [e28d9b6b5d65]
24557
24558 2013-11-22 Aarthi Thirumalai <Aarthi Thirumalai>
24559
24560 * source/encoder/ratecontrol.cpp:
24561 crf: bug fix. regulate qp of first frame based on ABR_INIT_QP.
24562 [e6ec06cf5d3d]
24563
24564 2013-11-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24565
24566 * Merge
24567 [cc075ae1098f]
24568
24569 2013-11-20 Sumalatha Polureddy <Sumalatha Polureddy>
24570
24571 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
24572 source/encoder/compress.cpp:
24573 no-rdo: implemented topskip algorithm
24574
24575 It is basically setting the starting depth from which the
24576 partitioning should happen for particular CU. The starting depth for
24577 particular CU in present frame is selected form the previous frame's
24578 colocated CU minimum depth.
24579
24580 the performance, bitrate increase and psnr comparison are given
24581 below CLI: x265.exe input.y4m -o abc.hevc -r recon.y4m --rd 1 --ref
24582 1 a. Early exit OFF and Top Skip OFF b. Early exit OFF and Top Skip
24583 ON
24584
24585 BasketballDrive_1920x1080_50 Timetaken to encode: 681/639s bitrate:
24586 3650/3657 kb/s PSNR: 36.7/36.703 perf improvement: 6.16% (compared
24587 to TopSkip OFF and ON) Bitrate increase: 0.19% (compared to TopSkip
24588 OFF and ON)
24589
24590 Cactus_1920x1080_50 Timetaken to encode: 530/492s bitrate: 2787/2795
24591 kb/s PSNR: 35.527/35.529 perf improvement: 7.16% (compared to
24592 TopSkip OFF and ON) Bitrate increase: 0.28% (compared to TopSkip OFF
24593 and ON)
24594
24595 Kimono1_1920x1080_24 Timetaken to encode: 278/264s bitrate:
24596 1243/1246 kb/s PSNR: 38.16/38.16 perf improvement: 5.03% (compared
24597 to TopSkip OFF and ON) Bitrate increase: 0.24% (compared to TopSkip
24598 OFF and ON)
24599
24600 FourPeople_1280x720_60 Timetaken to encode: 173/163s bitrate:
24601 486/492 kb/s PSNR: 39.097/39.094 perf improvement: 5.78% (compared
24602 to TopSkip OFF and ON) Bitrate increase: 1.2% (compared to TopSkip
24603 OFF and ON)
24604
24605 PartyScene_832x480_50 Timetaken to encode: 134/119s bitrate:
24606 1652/1661 kb/s PSNR: 31.374/31.377 perf improvement: 11.16%
24607 (compared to TopSkip OFF and ON) Bitrate increase: 0.544% (compared
24608 to TopSkip OFF and ON)
24609
24610 big_buck_bunny_360p24 Timetaken to encode: 1772/1477s bitrate:
24611 174/175 kb/s PSNR: 37.798/37.797 perf improvement: 16.6% (compared
24612 to TopSkip OFF and ON) Bitrate increase: 0.5% (compared to TopSkip
24613 OFF and ON)
24614 [b6323f2be057]
24615
24616 2013-11-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24617
24618 * source/encoder/slicetype.cpp:
24619 lookahead primitives: fix bug that caused wrong cost estimates in
24620 ducks_take_off.
24621 [28f42f1be951]
24622
24623 2013-11-22 Steve Borho <steve@borho.org>
24624
24625 * source/common/vec/pixel-sse41.cpp:
24626 pixel: drop intrinsic sse_pp functions, we have ASM coverage
24627 [1c74d7bfd007]
24628
24629 * source/test/pixelharness.cpp:
24630 pixelharness: fix the other header buffer
24631 [3c827bba6cd6]
24632
24633 2013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
24634
24635 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
24636 TComYuv::addClipChroma, integrated pixel_add_ps function
24637 [cc123a1ec253]
24638
24639 2013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
24640
24641 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24642 source/common/x86/pixel.h:
24643 asm: code of sse_pp routine for 64x32, 64x48 and 64x64 blocks
24644 [f082c556f337]
24645
24646 2013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
24647
24648 * source/common/x86/asm-primitives.cpp:
24649 added blockcopy_sp function pointers
24650 [4b437f76280d]
24651
24652 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
24653 TComYuv::addClip, integrated luma_add_ps
24654 [fd90bd911169]
24655
24656 2013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
24657
24658 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24659 source/common/x86/pixel.h:
24660 asm: code of sse_pp routine for 48x64 and 64x16 blocks
24661 [2e0a0a5eb0c7]
24662
24663 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24664 source/common/x86/pixel.h:
24665 asm: code for sse_pp_24x32 routine
24666 [0b9bccb2ef7f]
24667
24668 2013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
24669
24670 * source/common/x86/asm-primitives.cpp:
24671 asm-primitives.cpp, removed temporary function pointer
24672 initialization, generated through macro calls
24673 [76e2c787aadb]
24674
24675 * source/common/x86/asm-primitives.cpp,
24676 source/common/x86/pixeladd8.asm:
24677 pixel_add_ps_64xN, asm code
24678 [e7eeb6443303]
24679
24680 * source/common/x86/asm-primitives.cpp,
24681 source/common/x86/pixeladd8.asm:
24682 pixel_add_ps_48x64, asm code
24683 [3847098e9553]
24684
24685 * source/common/x86/asm-primitives.cpp,
24686 source/common/x86/pixeladd8.asm:
24687 pixel_add_ps_12x16, asm code
24688 [9f34d1d82296]
24689
24690 2013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
24691
24692 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24693 source/common/x86/pixel.h:
24694 asm: code for sse_pp_12x16 routine
24695 [f09ca4290a55]
24696
24697 2013-11-22 Min Chen <chenm003@163.com>
24698
24699 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
24700 source/common/primitives.h, source/common/vec/dct-sse41.cpp,
24701 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
24702 split dequant to normal and scaling path
24703 [4ec80bd40603]
24704
24705 * source/test/pixelharness.cpp:
24706 fix bug for testbench string buffer overflow
24707 [ab94f6effb71]
24708
24709 2013-11-22 Steve Borho <steve@borho.org>
24710
24711 * source/common/cpu.cpp:
24712 cpu: fix non-Windows build with ASM disabled
24713 [5009254d3d3a]
24714
24715 * source/CMakeLists.txt:
24716 cmake: backout cmake_policy(); cmake is idiotic
24717
24718 Why would you issue an error if your version of cmake doesn't know
24719 about the given policy? Especially if the selected policy is OLD?
24720 Hello??
24721 [830deb5fb3d3]
24722
24723 2013-11-21 Steve Borho <steve@borho.org>
24724
24725 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncSearch.cpp,
24726 source/common/CMakeLists.txt:
24727 cmake: almost revive Xcode support
24728
24729 # macbrew based instructions brew install cmake --HEAD cmake -G
24730 Xcode ../source open x265.xcodeproj
24731
24732 > cmake --version cmake version 2.8.12.20131121
24733
24734 The static library is still not linking properly, so the cli does
24735 not link as well; but it does build the shared library
24736 [f4e10e4d3f0d]
24737
24738 * source/encoder/motion.cpp, source/encoder/motion.h:
24739 motion: use fast weighted subpel refine
24740
24741 Don't do the full-blown weighted motion compensation for ME. Just
24742 interpolate the weighted full pel pixels. It is not 100% accurate to
24743 the pixels that will be used to encode the final prediction; but
24744 close enough for ME.
24745
24746 Testing with sintel_trailer_2k_720p24.y4m at medium preset and all
24747 defaults x265 [info]: 651 of 1124 (57.92%) P frames weighted
24748
24749 before: 1253 frames in 512.74s (2.44 fps), 223.51 kb/s, Global PSNR:
24750 50.552 after: 1253 frames in 410.25s (3.05 fps), 223.59 kb/s, Global
24751 PSNR: 50.589
24752 [8f156b97360b]
24753
24754 * source/common/vec/intra-sse41.cpp:
24755 intra: fix 16bpp builds
24756 [b172259c07f1]
24757
24758 2013-11-21 Praveen Tiwari <Praveen Tiwari>
24759
24760 * source/common/x86/pixeladd8.asm:
24761 pixel_add_ps, 32xN corrected xmm register count
24762 [76b0d2a278fb]
24763
24764 2013-11-21 Steve Borho <steve@borho.org>
24765
24766 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24767 pixelharness: cleanup check function names
24768 [8dfe7282ce81]
24769
24770 * source/test/intrapredharness.cpp, source/test/pixelharness.cpp,
24771 source/test/testharness.h:
24772 testbench: re-line up test results to improve readability
24773 [1643c78be418]
24774
24775 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
24776 source/common/pixel.cpp, source/common/primitives.h,
24777 source/common/vec/pixel-sse41.cpp, source/encoder/motion.cpp,
24778 source/encoder/reference.cpp, source/encoder/slicetype.cpp,
24779 source/test/pixelharness.cpp, source/test/pixelharness.h:
24780 primitive: rename weight primitives to match our naming convention
24781
24782 weight_pp -> weight pixels to pixels weight_sp -> weight shorts to
24783 pixels
24784 [49f8b71ae89b]
24785
24786 * source/encoder/slicetype.cpp:
24787 slicetype: prevent gcc 4.8.1 compiler error
24788 [8dc9e5e4a0e6]
24789
24790 * source/Lib/TLibCommon/TComPrediction.cpp:
24791 TComPrediction: fixup planar size index
24792 [e733415996a1]
24793
24794 * source/encoder/slicetype.cpp:
24795 slicetype: remove hungarian pointer prefixes and unnecessary pixel
24796 casts
24797 [d7cf0dd2133e]
24798
24799 * source/common/intrapred.cpp:
24800 intrapred: cleanup intra C references
24801 [bcef0e896234]
24802
24803 * source/common/x86/asm-primitives.cpp:
24804 asm: remove cmp templated wrapper function
24805 [46e4175eeb88]
24806
24807 * source/Lib/TLibCommon/TComPrediction.cpp:
24808 TComPrediction: nits
24809 [562eea581dcf]
24810
24811 2013-11-21 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
24812
24813 * source/Lib/TLibCommon/TComPrediction.cpp,
24814 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
24815 source/common/primitives.h, source/common/vec/intra-sse41.cpp,
24816 source/encoder/compress.cpp, source/encoder/slicetype.cpp,
24817 source/test/intrapredharness.cpp:
24818 remove width arg from intra_pred_planar
24819 [bdff2c785860]
24820
24821 2013-11-21 Santhoshini Sekar <santhoshini@multicorewareinc.com>
24822
24823 * source/encoder/encoder.cpp:
24824 bug fix: print Mean psnr Y,U,V properly
24825 [012b3d1da19b]
24826
24827 2013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24828
24829 * source/common/x86/asm-primitives.cpp:
24830 asm: added sa8d-4x4,4x8,8x4,4x16,16x4,12x16,16x12 to asm-
24831 primitives.cpp
24832 [fbb0dab55009]
24833
24834 2013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
24835
24836 * source/common/x86/asm-primitives.cpp,
24837 source/common/x86/pixeladd8.asm:
24838 pixel_add_ps_32x64, asm code
24839 [3b27df9d0a54]
24840
24841 * source/common/x86/asm-primitives.cpp,
24842 source/common/x86/pixeladd8.asm:
24843 pixel_add_ps_16x64, asm code
24844 [4f53bb000c70]
24845
24846 * source/common/x86/asm-primitives.cpp,
24847 source/common/x86/pixeladd8.asm:
24848 pixel_add_ps, asm code
24849 [2683153044c8]
24850
24851 * source/common/x86/asm-primitives.cpp,
24852 source/common/x86/pixeladd8.asm:
24853 asm: pixel_add_ps,32xN
24854 [23626c3cac6b]
24855
24856 * source/common/x86/asm-primitives.cpp,
24857 source/common/x86/pixeladd8.asm:
24858 pixel_add_ps, 16x8, 16x12, 16x16, 16x32 asm code
24859 [583152af6f66]
24860
24861 2013-11-21 Murugan Vairavel <murugan@multicorewareinc.com>
24862
24863 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24864 source/common/x86/pixel.h:
24865 asm: code for transpose_64x64 routine
24866 [b305aa607e0b]
24867
24868 * source/common/x86/pixel-a.asm:
24869 asm: Improvement by replace macro extend by function call
24870 [0caa6518420e]
24871
24872 2013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
24873
24874 * source/common/x86/asm-primitives.cpp,
24875 source/common/x86/pixeladd8.asm:
24876 pixel_add_ps_2x8 asm code
24877 [98fac41f309c]
24878
24879 2013-11-21 Min Chen <chenm003@163.com>
24880
24881 * source/common/x86/asm-primitives.cpp,
24882 source/common/x86/pixeladd8.asm:
24883 [asm]: pixel_add_ps_2x4
24884 [f290ec5a0532]
24885
24886 2013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
24887
24888 * source/common/x86/asm-primitives.cpp,
24889 source/common/x86/pixeladd8.asm:
24890 pixel_add_ps_6x8, asm code
24891 [3f227acdb082]
24892
24893 * source/common/x86/pixeladd8.asm:
24894 pixeladd8.asm, removed unsed header 'x86util.asm'
24895 [0e9ae87861ba]
24896
24897 * source/common/x86/asm-primitives.cpp,
24898 source/common/x86/pixeladd8.asm:
24899 pixel_add_ps_16x4, asm code
24900 [5077332c5bcc]
24901
24902 2013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24903
24904 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24905 asm: assembly code for pixel_sa8d_8x32
24906 [16b15235cd76]
24907
24908 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24909 asm: assembly code for pixel_sa8d_32x8
24910 [0b4b4143ceea]
24911
24912 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24913 asm: assembly code for pixel_sa8d_24x32
24914 [a71839b646b9]
24915
24916 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24917 asm: assembly code for pixel_sa8d_32x24
24918 [47c04fd98b80]
24919
24920 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24921 asm: assembly code for pixel_sa8d_8x16 and pixel_sa8d_16x8
24922 [977220137f22]
24923
24924 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24925 asm: assembly code for pixel_sa8d_16x64
24926 [2b8e89b5b836]
24927
24928 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24929 asm: assembly code for pixel_sa8d_64x16
24930 [d43255da9bd6]
24931
24932 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24933 asm: assembly code for pixel_sa8d_48x64
24934 [2d6721016c9a]
24935
24936 2013-11-21 Min Chen <chenm003@163.com>
24937
24938 * source/test/ipfilterharness.cpp:
24939 testbench: initialize output buffer to solve lumz_sp[] mistake
24940 problem
24941 [7e4656d4fd33]
24942
24943 2013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24944
24945 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24946 asm: assembly code for pixel_sa8d_64x48
24947 [6a82e5177eb3]
24948
24949 2013-11-21 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
24950
24951 * source/common/x86/asm-primitives.cpp,
24952 source/common/x86/intrapred.asm, source/common/x86/intrapred.h,
24953 source/test/intrapredharness.cpp:
24954 asm: assembly code for IntraPred_DC[32x32]
24955 [286984ebb6c7]
24956
24957 * source/common/x86/asm-primitives.cpp,
24958 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
24959 asm: assembly code for IntraPred_DC[16x16]
24960 [4eb59e47be20]
24961
24962 * source/common/x86/asm-primitives.cpp,
24963 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
24964 asm: assembly code for IntraPred_DC[8x8]
24965 [40a060130b62]
24966
24967 2013-11-20 Steve Borho <steve@borho.org>
24968
24969 * source/common/primitives.h:
24970 primitive: nits
24971 [db1151bb4974]
24972
24973 * source/common/pixel.cpp, source/common/primitives.h,
24974 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
24975 source/test/pixelharness.h:
24976 primitive: remove dead blockcpy_sp
24977 [b3749e1d64c0]
24978
24979 * source/common/pixel.cpp, source/common/primitives.h,
24980 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
24981 source/test/pixelharness.h:
24982 primitive: remove dead pixelsub_ps
24983 [0d54ec898e79]
24984
24985 * source/common/ipfilter.cpp, source/common/primitives.h,
24986 source/common/vec/ipfilter-sse41.cpp, source/common/vec/ipfilter-
24987 ssse3.cpp, source/test/ipfilterharness.cpp,
24988 source/test/ipfilterharness.h:
24989 primitive: remove dead ipfilter_s2p
24990 [f3962b7a971c]
24991
24992 * source/common/ipfilter.cpp, source/common/primitives.h,
24993 source/common/vec/ipfilter-sse41.cpp, source/common/vec/ipfilter-
24994 ssse3.cpp, source/test/ipfilterharness.cpp,
24995 source/test/ipfilterharness.h:
24996 primitive: remove dead ipfilter_p2s
24997 [f3d4f3ac215e]
24998
24999 * source/Lib/TLibCommon/TComSlice.h:
25000 TComSlice: nits
25001 [4b53b32ea6d8]
25002
25003 * source/Lib/TLibCommon/TComPic.cpp,
25004 source/Lib/TLibCommon/TComPrediction.cpp,
25005 source/Lib/TLibCommon/TComSlice.cpp,
25006 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
25007 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
25008 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
25009 source/common/common.cpp, source/common/ipfilter.cpp,
25010 source/common/pixel.cpp, source/common/primitives.cpp,
25011 source/common/primitives.h, source/common/vec/ipfilter-sse41.cpp,
25012 source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp,
25013 source/input/y4m.cpp, source/test/ipfilterharness.cpp,
25014 source/test/pixelharness.cpp, source/x265.cpp, source/x265.h:
25015 TComSlice: nits
25016 [cdfb587319f8]
25017
25018 * source/cmake/CMakeASM_YASMInformation.cmake:
25019 cmake: fix cygwin builds - yasm must output windows object files
25020 [871f3367fd45]
25021
25022 * source/test/testbench.cpp:
25023 test: bump pixel depth to 12 for HIGH_BIT_DEPTH builds
25024 [1561d1f1d1da]
25025
25026 * source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
25027 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/dct-
25028 ssse3.cpp, source/common/vec/intra-sse41.cpp, source/common/vec
25029 /intra-ssse3.cpp:
25030 vec: fix compile warnings with clang at 16bpp - remove dead
25031 functions
25032 [f7590776c5b2]
25033
25034 2013-11-20 Praveen Tiwari <Praveen Tiwari>
25035
25036 * source/common/x86/asm-primitives.cpp,
25037 source/common/x86/pixeladd8.asm:
25038 pixel_add_ps, 8x8, 8x16, 8x32 asm code
25039 [c75b72fcd284]
25040
25041 * source/common/x86/asm-primitives.cpp,
25042 source/common/x86/pixeladd8.asm:
25043 pixel_add_ps_8x6, asm code
25044 [e2f8b18cd253]
25045
25046 * source/common/x86/asm-primitives.cpp,
25047 source/common/x86/pixeladd8.asm:
25048 pixel_add_ps_8x4, asm code
25049 [079864d97afc]
25050
25051 * source/common/x86/asm-primitives.cpp,
25052 source/common/x86/pixeladd8.asm:
25053 pixel_add_ps_8x2, asm code
25054 [f65fbb5d2d44]
25055
25056 * source/common/primitives.h, source/common/x86/pixel.h:
25057 pixel.h and primitives.h, int replaced with intptr_t
25058 [f07d8d18212b]
25059
25060 * source/common/x86/asm-primitives.cpp,
25061 source/common/x86/pixeladd8.asm:
25062 asm code for pixel_add_ps_4x2
25063 [28e57d696b36]
25064
25065 * source/common/x86/pixeladd8.asm:
25066 pixel_add_pp_4x4, merged movd and pmovzxbw
25067 [bee92606b540]
25068
25069 * source/common/x86/pixeladd8.asm:
25070 pixel_add_pp: 4x8, 4x16, merged movd and pmovzxbw instructions
25071 [5fb3eae8a29d]
25072
25073 * source/common/x86/pixel.h:
25074 added pixel_add_ps chroma function definitions
25075 [406c500c0b0d]
25076
25077 * source/common/x86/pixeladd8.asm:
25078 pixeladd8.asm, int replaced with intptr_t for strides data type
25079 [0532a37e6a7e]
25080
25081 * source/common/x86/asm-primitives.cpp,
25082 source/common/x86/pixeladd8.asm:
25083 asm code for pixel_add_ps, 4x8 and 4x16
25084 [2fe88d075204]
25085
25086 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
25087 source/common/x86/pixel.h, source/common/x86/pixeladd8.asm:
25088 asm code for pixeladd_ps_4x4 and testbench integration
25089 [a3e4cbbc63e1]
25090
25091 * source/test/pixelharness.cpp, source/test/pixelharness.h:
25092 unit test code for pixel_add_ps
25093 [59964c99aa17]
25094
25095 * source/common/pixel.cpp, source/common/primitives.h:
25096 added pixel_add_ps_c as a primitve
25097 [ec0758b3ecfa]
25098
25099 2013-11-20 Steve Borho <steve@borho.org>
25100
25101 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
25102 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
25103 TEncBinCABAC: fix naming prefix convention of bIsCounter
25104 [0607aef383b7]
25105
25106 * source/Lib/TLibCommon/TComDataCU.h, source/Lib/TLibCommon/TComPic.h,
25107 source/Lib/TLibCommon/TComRdCost.h,
25108 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
25109 source/Lib/TLibCommon/TypeDef.h,
25110 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
25111 source/Lib/TLibEncoder/TEncSearch.cpp,
25112 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
25113 source/encoder/encoder.cpp, source/encoder/framefilter.cpp,
25114 source/encoder/ratecontrol.cpp:
25115 TypeDef: replace UInt64 with uint64_t
25116 [58dfac0ab062]
25117
25118 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
25119 source/Lib/TLibCommon/TComSlice.h,
25120 source/Lib/TLibCommon/TComTrQuant.cpp,
25121 source/Lib/TLibCommon/TypeDef.h,
25122 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
25123 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
25124 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
25125 source/Lib/TLibEncoder/WeightPredAnalysis.h:
25126 TypeDef: replace Int64 with int64_t
25127 [93f03580b998]
25128
25129 * source/common/x86/asm-primitives.cpp:
25130 asm: white-space nits
25131 [e3f82c9daafb]
25132
25133 2013-11-20 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25134
25135 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25136 asm: assembly code for pixel_sa8d_32x64
25137 [915bb51b6489]
25138
25139 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25140 asm: assembly code for pixel_sa8d_64x32
25141 [aa44b552bdd4]
25142
25143 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25144 asm: assembly code for pixel_sa8d_16x32
25145 [cbf8720197fb]
25146
25147 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25148 asm: assembly code for pixel_sa8d_32x16
25149 [bd44cdfcbba8]
25150
25151 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25152 asm: assembly code for pixel_sa8d_64x64
25153 [ef1a9a583c4a]
25154
25155 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25156 asm: assembly code for pixel_sa8d_32x32
25157 [357c693f8888]
25158
25159 2013-11-20 Min Chen <chenm003@163.com>
25160
25161 * source/Lib/TLibCommon/TComPrediction.cpp,
25162 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/CMakeLists.txt,
25163 source/common/intrapred.cpp, source/common/primitives.h,
25164 source/common/vec/intra-sse41.cpp, source/common/x86/asm-
25165 primitives.cpp, source/common/x86/intrapred.asm,
25166 source/common/x86/intrapred.h, source/encoder/compress.cpp,
25167 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
25168 source/test/intrapredharness.h:
25169 asm: assembly code for IntraPred_DC[4x4]
25170 [172b66a79401]
25171
25172 2013-11-20 Steve Borho <steve@borho.org>
25173
25174 * source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
25175 primitive: remove unused cvt16to16_shl
25176 [174bd2b5e652]
25177
25178 * source/common/vec/dct-sse41.cpp:
25179 vec: drop intrinsic quant primitive, we have assembly code
25180 [5e18a1158c5f]
25181
25182 * source/common/vec/pixel-sse3.cpp:
25183 vec: drop intrinsic transpose primitives, we have assembly code
25184 [7a154e9fccbd]
25185
25186 2013-11-20 Min Chen <chenm003@163.com>
25187
25188 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
25189 util.asm, source/common/x86/pixel.h, source/test/mbdstharness.cpp:
25190 asm: assembly code for quant
25191 [63b9ba51bac0]
25192
25193 2013-11-20 Murugan Vairavel <murugan@multicorewareinc.com>
25194
25195 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
25196 source/common/x86/pixel.h:
25197 asm: code for transpose_32x32 routine
25198 [6c9d7641bdca]
25199
25200 * source/common/x86/pixel-a.asm:
25201 asm: cleanup routines of transpose module for 4x4, 8x8 and 16x16
25202 [fe81ba733564]
25203
25204 2013-11-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
25205
25206 * source/encoder/slicetype.cpp:
25207 bpyramid: Support for b-pyramid with b-adapt 0
25208
25209 Test results for reference when enable and disable the b-pyramid
25210 with b-adapt=0
25211
25212 Cli option : --bframes=10 --b-adapt=0 --b-pyramid=1 -f 100 Enable
25213 B-references : --b-pyramid=1 Disable B-references : --b-pyramid=0
25214
25215 Results: Enable / Disable
25216
25217 clip - BasketballDrive_1920x1080_50 Total time taken - 57.84s (1.73
25218 fps) / 51.74s (1.93 fps) Bitrates - 4725.37 / 5660.68 PSNR - 37.178
25219 / 37.178
25220
25221 Clip - Cactus_1920x1080_50 Total time taken - 41.90s (2.39 fps) /
25222 47.08s (2.12 fps) Bitrates - 3800.62 / 4838.73 PSNR - 35.640 /
25223 35.615
25224
25225 Clip - Johnny_1280x720_60 Total time taken - 10.41s (9.61 fps) /
25226 10.34s (9.67 fps) Bitrates - 327.21 / 383.25 PSNR - 40.674 / 40.631
25227
25228 Clip - FourPeople_1280x720_60 Total time taken - 10.72s (9.33 fps) /
25229 10.18s (9.82 fps) Bitrates - 547.18 / 640.88 PSNR - 39.808 / 39.789
25230 [8e9c965648f6]
25231
25232 2013-11-19 Steve Borho <steve@borho.org>
25233
25234 * source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp:
25235 clang: fix build warnings
25236 [108ddc9e5c6b]
25237
25238 2013-11-19 Praveen Tiwari <Praveen Tiwari>
25239
25240 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
25241 blockcpy_sp asm integration
25242 [5df643257054]
25243
25244 * source/common/pixel.cpp, source/common/primitives.h,
25245 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
25246 csp support for blockcopy_sp
25247 [fd382d7bfeea]
25248
25249 * source/Lib/TLibCommon/TComYuv.cpp:
25250 blockcopy_ps, asm integration
25251 [cc88ae755af4]
25252
25253 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
25254 source/Lib/TLibEncoder/TEncSearch.cpp:
25255 TComYuv::copyPartToPartChroma, blockcopy_ps asm integration
25256 [036a65157263]
25257
25258 * source/common/pixel.cpp, source/common/primitives.h,
25259 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
25260 csp support for blockcopy_ps
25261 [32bd40623496]
25262
25263 * source/Lib/TLibCommon/TComYuv.cpp:
25264 TComYuv::copyPartToPartChroma, blockcopy_pp asm integration
25265 [10617a4ef7a5]
25266
25267 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
25268 TComYuv::copyToPicLuma, blockcopy_pp asm integration
25269 [e77e7c4465f1]
25270
25271 2013-11-19 Murugan Vairavel <murugan@multicorewareinc.com>
25272
25273 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
25274 source/common/x86/pixel.h:
25275 asm: code for transpose_16x16 routine
25276 [d8d9f36d0a44]
25277
25278 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
25279 source/common/x86/pixel.h:
25280 asm: code for transpose_8x8 routine
25281 [1e1ecddee271]
25282
25283 2013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
25284
25285 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
25286 source/common/x86/pixel.h:
25287 asm: code for transpose4x4 routine
25288 [d484c28c63f5]
25289
25290 2013-11-19 Steve Borho <steve@borho.org>
25291
25292 * source/common/common.cpp, source/x265.h:
25293 api: enable weightp by default, disable for ultrafast
25294 [f68e0b9cae2e]
25295
25296 * source/x265.h:
25297 api: fix typos and improve chroma qp offset descriptions
25298 [59dcbb0be7ca]
25299
25300 * source/common/common.cpp, source/x265.h:
25301 api: enable b-pyramid by default
25302
25303 The only reason for it to be disabled is if the decoder/use case
25304 prevented it
25305 [de92149b3c9b]
25306
25307 * source/x265.cpp:
25308 cli: fix warning in CLI help
25309 [e63916b50ac1]
25310
25311 * source/common/common.cpp:
25312 common: nit
25313 [a901089e8218]
25314
25315 * source/common/common.cpp:
25316 common: validate --subme value
25317 [371f83f5c9cd]
25318
25319 * source/x265.h:
25320 api: cleanup x265_param orderings, add full comments
25321 [7dea1450b7fa]
25322
25323 2013-11-18 Steve Borho <steve@borho.org>
25324
25325 * source/encoder/encoder.cpp:
25326 encoder: simplify size variables
25327 [8abf4200186a]
25328
25329 * source/x265.h:
25330 api: nit
25331 [ca30b6c351c2]
25332
25333 * source/encoder/encoder.cpp, source/encoder/encoder.h,
25334 source/x265.cpp, source/x265.h:
25335 api: make x265_encoder_get_stats() somewhat future proof
25336
25337 By passing in the size of x265_stats as the user application knows
25338 about the encoder can know not to try to set new fields that were
25339 added to the end of x265_stats. This requires some discipline on our
25340 part to only append to the structure and to always check the size
25341 for any new fields we might add.
25342 [5ae9bb8daaec]
25343
25344 * source/x265.h:
25345 api: remove old suffix and prefix from C symbols in comment, reflow
25346 [afde9f11046a]
25347
25348 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
25349 api: remove hungarian prefixes from x265_nal members
25350
25351 These particular prefixes came from x264 originally
25352 [75328ddf6ef1]
25353
25354 * source/x265.h:
25355 api: remove reserved NAL enums and C++ style comments from public
25356 header
25357 [6bf2bdc1dd1c]
25358
25359 2013-11-19 Steve Borho <steve@borho.org>
25360
25361 * source/x265.cpp, source/x265.h:
25362 api: cleanup bpyramid
25363 [f38139868da6]
25364
25365 2013-11-19 Gopu Govindaswamy <gopu@multicorewareinc.com>
25366
25367 * source/common/common.cpp, source/encoder/dpb.cpp,
25368 source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
25369 source/x265.cpp, source/x265.h:
25370 b-pyramid implementation: Allow the use of B-frames as references
25371 for non B and B frames
25372
25373 when we enable the b-pyramid the bitrates efficienctly reduced and
25374 there is not much diff in the performance and the PSNR 00. increased
25375 some of the clips and decreased some of clips
25376
25377 Test results for reference when enable and disable the b-pyramid:
25378 cli option : -b 10 --hash=1 -f 100 --b-pyramid=1 --b-adapt=2 Enable
25379 B-reference : --b-pyramid=1 Disable B-reference : --b-pyramid=0
25380
25381 Results: Enable / Disable
25382
25383 Clips - Johnny_1280x720_60.y4m Total time taken - 11.19s (8.94 fps)
25384 / 13.44s (7.44 fps) Bitrates - 303.52 kb/s / 326.79 kb/s PSNR -
25385 40.679 / 40.612
25386
25387 Clips - Cactus_1920x1080_50.y4m Total Time taken - 44.61s (2.24 fps)
25388 / 48.23s (2.07 fps) Bitrates - 3420.80 kb/s / 3575.20 kb/s PSNR -
25389 35.709 / 35.726
25390
25391 Clips - BasketballDrive_1920x1080_50.y4m Total time taken - 54.15s
25392 (1.85 fps) / 53.72s (1.86 fps) Bitrates - 4114.07 kb/s / 4310.45
25393 kb/s PSNR - 37.283 / 37.290
25394
25395 Clips - FourPeople_1280x720_60 Total time taken - 11.79s (8.48 fps)
25396 / 12.16s (8.23 fps) Bitrates - 514.90 kb/s / 539.08 kb/s PSNR -
25397 39.782 / 39.757
25398 [1449a1a2041f]
25399
25400 2013-11-18 Steve Borho <steve@borho.org>
25401
25402 * source/common/common.cpp:
25403 log: do not show aq-strength if AQ is disabled
25404 [2f5f538d2cbc]
25405
25406 * source/common/common.cpp:
25407 preset: return superfast/ultrafast lookahead depths to 10
25408 [628be479be44]
25409
25410 2013-11-18 Aarthi Thirumalai <aarthi@multicorewareinc.com>
25411
25412 * source/common/common.cpp, source/x265.cpp:
25413 cli: add aq-strength to cli input options, add validations for aq
25414 mode
25415 [6a068b264c84]
25416
25417 2013-11-18 Steve Borho <steve@borho.org>
25418
25419 * source/encoder/frameencoder.cpp:
25420 frameencoder: fix initialization order to prevent warnings
25421 [cfd834ba8e4f]
25422
25423 2013-11-18 Praveen Tiwari <Praveen Tiwari>
25424
25425 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
25426 TComYuv::copyPartToPartYuv, blockcopy_pp asm integration
25427 [ad5dff9a2374]
25428
25429 2013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
25430
25431 * source/test/pixelharness.cpp, source/test/pixelharness.h:
25432 Test bench code for transpose routine
25433 [301f9f86ae23]
25434
25435 * source/common/TShortYUV.cpp, source/common/TShortYUV.h,
25436 source/common/pixel.cpp, source/common/primitives.h,
25437 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
25438 TShortYUV: asm code integration for pixelsub_ps
25439 [58646537ce29]
25440
25441 2013-11-18 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25442
25443 * source/common/x86/pixel-a.asm:
25444 asm: fix the bug caused on 32-bit linux due to satd routines.
25445 [690f6534d310]
25446
25447 2013-11-18 Kavitha Sampath <kavitha@multicorewareinc.com>
25448
25449 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
25450 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
25451 source/encoder/compress.cpp, source/encoder/encoder.cpp,
25452 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
25453 source/x265.cpp:
25454 Encoder statistics: Inter[% (2Nx2N %2NxN %Nx2N %AMP)] Intra[% (%DC
25455 %PLANAR %ANG)] Split[%] Skip[%]
25456 [2321ebe0bf64]
25457
25458 2013-11-18 Nabajit Deka <Nabajit Deka>
25459
25460 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
25461 Adding asm function declarations and initializations for chroma hps
25462 filter functions.
25463 [ac9e64d8a80b]
25464
25465 2013-11-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25466
25467 * source/Lib/TLibCommon/TComPrediction.cpp,
25468 source/Lib/TLibCommon/TComPrediction.h:
25469 TComPrediction: cleanup, remove unused buffers
25470 [58f4e30dbe8f]
25471
25472 2013-11-17 Steve Borho <steve@borho.org>
25473
25474 * source/test/ipfilterharness.cpp:
25475 testbench: quit zeroing buffers before every test
25476 [e2895ce7bbeb]
25477
25478 * source/common/vec/ipfilter-sse41.cpp:
25479 vec: disable 16bpp ipfilter_ps[] functions, not 10bit pixel safe
25480 [b32dc442ca83]
25481
25482 * source/common/vec/intra-ssse3.cpp:
25483 clang: fix ambiguous * operator in intra-ssse3.cpp
25484 [7cae5e2e17ed]
25485
25486 2013-11-16 Steve Borho <steve@borho.org>
25487
25488 * source/common/common.cpp:
25489 common: remove thread counts from param2string
25490 [e276322c6288]
25491
25492 * source/common/common.cpp, source/common/common.h, source/x265.cpp,
25493 source/x265.h:
25494 cli: allow string argument names for --me, generalize
25495 [14cd6a901cc4]
25496
25497 * source/common/vec/pixel-sse3.cpp:
25498 vec: drop blockfill intrinsic primitives, we have ASM
25499 [1544cf94837d]
25500
25501 * source/common/pixel.cpp, source/common/vec/pixel-sse3.cpp:
25502 vec: drop residual and recon intrinsic primitives, we have ASM
25503 [3052fca7e7d1]
25504
25505 * source/common/x86/pixel-util.asm:
25506 fix eoln of pixel-util.asm
25507 [119c01293aa5]
25508
25509 2013-11-16 Min Chen <chenm003@163.com>
25510
25511 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h,
25512 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
25513 util.asm, source/common/x86/pixel.h:
25514 asm: assembly code for calcresidual[]
25515 [24bcae464492]
25516
25517 * source/common/pixel.cpp, source/common/vec/pixel-sse3.cpp,
25518 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
25519 util.asm, source/common/x86/pixel.h:
25520 cleanup: remove unused 64x64 functions
25521 [64ece76a2152]
25522
25523 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/pixel-
25524 util.asm:
25525 asm: residual buffer is alignment to size, so we can use alignment
25526 load instruction
25527 [e43b1e005ffa]
25528
25529 2013-11-16 Steve Borho <steve@borho.org>
25530
25531 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
25532 repair -i0 behavior
25533 [2552369e3537]
25534
25535 * source/encoder/slicetype.cpp:
25536 slicetype: hoist intra cost estimate out of weightsAnalyze
25537 [da5b10cf5ee5]
25538
25539 2013-11-15 Praveen Tiwari <Praveen Tiwari>
25540
25541 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
25542 TComYuv::copyPartToYuv, asm code integration for blockcopy_pp
25543 [7e7397e823c9]
25544
25545 * source/Lib/TLibCommon/TComYuv.cpp:
25546 TComYuv::copyToPartYuv, asm integration for blockcopy_pp
25547 [08cb5a0bff32]
25548
25549 * source/common/primitives.cpp, source/common/primitives.h,
25550 source/test/pixelharness.cpp:
25551 checking for all supported csp values
25552 [a4b880b9114d]
25553
25554 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
25555 source/common/pixel.cpp, source/common/primitives.h,
25556 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
25557 TComYuv::copyFromPicLuma, asm integration for chroma blockcopy_pp
25558 [0aa7be2c038a]
25559
25560 2013-11-15 Nabajit Deka <Nabajit Deka>
25561
25562 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
25563 Adding asm function declarations and initializations for luma vss
25564 filter functions.
25565 [ec9295e39fe6]
25566
25567 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
25568 Adding asm function declarations and initializations for chroma vss
25569 filter functions
25570 [726f302ca952]
25571
25572 * source/common/x86/ipfilter8.asm:
25573 asm: routines for luma vss filter functions for all block sizes.
25574 [4ee15557ea11]
25575
25576 * source/common/x86/ipfilter8.asm:
25577 asm: routines for chroma vss filter functions for all block sizes
25578 [83c9a7a473c4]
25579
25580 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25581 Adding test bench code for luma vss filter functions.
25582 [7fd467ca4f3e]
25583
25584 * source/common/ipfilter.cpp, source/common/primitives.h:
25585 Adding function pointer array and C primitive initializations for
25586 luma vss filter functions
25587 [544c4712cd45]
25588
25589 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25590 Adding test bench code for chroma vss filter functions
25591 [47de8ca8952c]
25592
25593 * source/common/ipfilter.cpp:
25594 Adding C primitive for chroma vss filter functions
25595 [fdaef69fbf19]
25596
25597 * source/common/primitives.h:
25598 Adding function pointer type & array declaration for chroma vss
25599 filter functions
25600 [f6efa96cfbd4]
25601
25602 2013-11-16 Steve Borho <steve@borho.org>
25603
25604 * source/CMakeLists.txt, source/common/CMakeLists.txt:
25605 cmake: disable some flags for clang, old versions balk at them
25606 [60a66cbd8b47]
25607
25608 2013-11-15 Praveen Tiwari <Praveen Tiwari>
25609
25610 * source/Lib/TLibCommon/TComPrediction.cpp:
25611 reverted chroma_copy_pp asm integration to avoid csp break
25612 [2cb5461ccd45]
25613
25614 2013-11-15 Steve Borho <steve@borho.org>
25615
25616 * source/Lib/TLibCommon/TComPic.cpp, source/common/lowres.cpp,
25617 source/common/lowres.h, source/encoder/slicetype.cpp,
25618 source/encoder/slicetype.h:
25619 slicetype: hoist weightp analysis above dosearch checks
25620 [3e9bb2ca458b]
25621
25622 * source/Lib/TLibCommon/TComPrediction.cpp:
25623 TComPrediction: cleanup hugarian notations and redundant vars
25624 [959cabcc9ece]
25625
25626 * source/Lib/TLibCommon/TComSlice.h:
25627 fix variable shadow warning
25628 [95f292369c06]
25629
25630 2013-11-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25631
25632 * Merge
25633 [c45770e5a2ae]
25634
25635 * source/common/common.cpp:
25636 presets: fix bugs, better spread out the efficiency/speed data
25637 points.
25638 [a85c5f418794]
25639
25640 * source/x265.h:
25641 x265: whitespace nit
25642 [a5689bb5808e]
25643
25644 2013-11-14 Steve Borho <steve@borho.org>
25645
25646 * source/encoder/slicetype.cpp:
25647 slicetype: correct non-denom round, improve some comments
25648 [ee42f57411ae]
25649
25650 * source/encoder/slicetype.cpp:
25651 slicetype: remove unnecessary lines, simplify a few things
25652 [31bbe5e1142e]
25653
25654 * source/encoder/slicetype.cpp:
25655 slicetype: use x265 style camelCase auto vars
25656 [82b9f30398ae]
25657
25658 * source/encoder/slicetype.cpp:
25659 slicetype: since w is an auto-var there is no need to zero at early-
25660 outs
25661 [02fd5b099fa3]
25662
25663 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
25664 slicetype: optimize away mcWeight helper function
25665 [ba00da135945]
25666
25667 2013-11-14 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
25668
25669 * source/common/lowres.cpp, source/common/lowres.h,
25670 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
25671 Using weighted lowres ref frames in cost estimation in lookahead
25672 [899731955c6d]
25673
25674 * source/Lib/TLibCommon/TComSlice.h, source/encoder/slicetype.cpp,
25675 source/encoder/slicetype.h:
25676 Pulling x264 weight decision into x265 lookahead
25677 [61f9fc2e91d2]
25678
25679 2013-11-14 Min Chen <chenm003@163.com>
25680
25681 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
25682 util.asm, source/common/x86/pixel.h, source/test/pixelharness.cpp:
25683 asm: assembly code for calcrecon[]
25684 [1b9545e23e36]
25685
25686 2013-11-14 Sumalatha Polureddy <Sumalatha Polureddy>
25687
25688 * source/encoder/compress.cpp:
25689 no-rdo early exit: giving weightage to the cost of that CU and
25690 neighbour CU's for early exit
25691
25692 Early exit is done when CU cost at depth "n" is lessthan sum of 60%
25693 of avgcost of that CU at same depth and 40% of avgcost of neighbour
25694 CU's at same depth.
25695
25696 the performance, bitrate increase and psnr comparison are given
25697 below CLI: x265.exe input.y4m -o abc.hevc -r recon.y4m --rd 1 --ref
25698 1
25699
25700 BasketballDrive_1920x1080_50 Timetaken to encode: 704/585/564s
25701 bitrate: 3650/3696/3696 PSNR: 36.7/36.67/36.67 perf improvement:
25702 16.9% (compared to early exit OFF and already existing early exit)
25703 perf improvement: 19.8% (compared to early exit OFF and new early
25704 exit)
25705
25706 Cactus_1920x1080_50 Timetaken to encode: 526/443/436s bitrate:
25707 2787/2831/2833 PSNR: 35.527/35.48/35.48 perf improvement: 15.7%
25708 (compared to early exit OFF and already existing early exit) perf
25709 improvement: 17.1% (compared to early exit OFF and new early exit)
25710
25711 Kimono1_1920x1080_24 Timetaken to encode: 279/235/238s bitrate:
25712 1243/1252/1252 PSNR: 38.16/38.158/38.159 perf improvement: 15.7%
25713 (compared to early exit OFF and already existing early exit) perf
25714 improvement: 14.6% (compared to early exit OFF and new early exit)
25715
25716 FourPeople_1280x720_60 Timetaken to encode: 169/157/157s 16.9%/19.8%
25717 bitrate: 486/489/489 PSNR: 39.09/39.052/39.042 perf improvement:
25718 7.1% (compared to early exit OFF and already existing early exit)
25719 perf improvement: 7.1% (compared to early exit OFF and new early
25720 exit)
25721
25722 big_buck_bunny_360p24 Timetaken to encode: 1739/1511/1505s
25723 16.9%/19.8% bitrate: 174.9/175.38/175.5 PSNR: 37.798/37.746/37.752
25724 perf improvement: 13.1% (compared to early exit OFF and already
25725 existing early exit) perf improvement: 13.4% (compared to early exit
25726 OFF and new early exit)
25727
25728 PartyScene_832x480_50 Timetaken to encode: 123/120/120s 16.9%/19.8%
25729 bitrate: 208/208/208 PSNR: 40.344/40.33/40.332 perf improvement:
25730 2.4% (compared to early exit OFF and already existing early exit)
25731 perf improvement: 2.4% (compared to early exit OFF and new early
25732 exit)
25733 [1a033fe23a3e]
25734
25735 2013-11-14 Praveen Tiwari <Praveen Tiwari>
25736
25737 * source/Lib/TLibEncoder/TEncSearch.cpp:
25738 reverted chroma_copy_pp asm integration code, avoiding csp break
25739 [b0ce6bd99b15]
25740
25741 2013-11-14 Murugan Vairavel <murugan@multicorewareinc.com>
25742
25743 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
25744 source/common/x86/pixel.h:
25745 asm: code for scale1D_128to64 routine
25746 [05484f075744]
25747
25748 * source/test/pixelharness.cpp, source/test/pixelharness.h:
25749 Unit test code for Pixel scaling
25750 [38e124ec202c]
25751
25752 2013-11-14 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25753
25754 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25755 asm: assembly code for pixel_satd_32x64 and pixel_satd_48x64
25756 [84f9ced21747]
25757
25758 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25759 asm: assembly code for pixel_satd_64x64
25760 [99b64d267788]
25761
25762 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25763 asm: assembly code for pixel_satd_64x32 and pixel_satd_64x48
25764 [ed1dab579cb1]
25765
25766 2013-11-13 Steve Borho <steve@borho.org>
25767
25768 * source/Lib/TLibEncoder/TEncSearch.cpp:
25769 TEncSearch: nit
25770 [e871fe75d5ab]
25771
25772 2013-11-13 Nabajit Deka <Nabajit Deka>
25773
25774 * source/common/x86/ipfilter8.asm:
25775 asm: routines for chroma vps filter functions for 2x4 and 2x8 block
25776 sizes.
25777 [c828dd4d9eae]
25778
25779 2013-11-13 Derek Buitenhuis <derek.buitenhuis@gmail.com>
25780
25781 * source/Lib/TLibEncoder/TEncSearch.cpp:
25782 Reindent after last commit
25783 [5683ee5b793c]
25784
25785 * source/Lib/TLibEncoder/TEncSearch.cpp,
25786 source/Lib/TLibEncoder/TEncSearch.h:
25787 TEncSearch: Fix parameter type of xEstimateResidualQT
25788
25789 Fixes compilation with g++.
25790 [c89e22d26bcd]
25791
25792 2013-11-13 Nabajit Deka <Nabajit Deka>
25793
25794 * source/common/x86/asm-primitives.cpp,
25795 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
25796 Change minimum architecture to sse4 as chroma vsp functions for
25797 block sizes(2x4,2x8 and 6x8) need faster SSE4 instructions.
25798 [a04ca925ad3f]
25799
25800 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
25801 Adding asm function declarations and initializations for chroma vps
25802 filter functions.
25803 [5fc6ca938864]
25804
25805 * source/common/x86/ipfilter8.asm:
25806 asm: routines for chroma vps filter functions for 32xN block sizes.
25807 [701b696d0670]
25808
25809 * source/common/x86/ipfilter8.asm:
25810 asm: routines for chroma vps filter function for 24x32 block size.
25811 [21d27b188e71]
25812
25813 * source/common/x86/ipfilter8.asm:
25814 asm: routines for chroma vps filter functions for 16xN block sizes.
25815 [52d18d911356]
25816
25817 * source/common/x86/ipfilter8.asm:
25818 asm: routines for chroma vps filter functions for 6x8 and 12x16
25819 block sizes.
25820 [8e6dcabdccd5]
25821
25822 * source/common/x86/ipfilter8.asm:
25823 asm: routines for chroma vps filter functions for 8xN block sizes
25824 [91cfcd159ff3]
25825
25826 * source/common/x86/ipfilter8.asm:
25827 asm: routines for chroma vps filter functions for 4xN block sizes.
25828 [23aecd3f9180]
25829
25830 * source/common/x86/ipfilter8.asm:
25831 asm: routines for chroma hps filter functions for 16xN, 24xN and
25832 32xN
25833 [d80ab2913b31]
25834
25835 * source/common/x86/ipfilter8.asm:
25836 asm: routines for chroma hps filter functions for 8xN block sizes.
25837 [3448252924ad]
25838
25839 * source/common/x86/ipfilter8.asm:
25840 asm: Proper indentation and function prototype updation for chroma
25841 hps filter functions for 2xN, 4xN, 6x8 and 12x16 block sizes.
25842 [51d3c0782e46]
25843
25844 2013-11-13 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25845
25846 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25847 asm: assembly code for pixel_satd_64x16
25848 [32e01ab333a6]
25849
25850 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25851 asm: assembly code for pixel_satd_32x32
25852 [4ee655b93b03]
25853
25854 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25855 asm: assembly code for pixel_satd_24x32
25856 [2ffe634ebd71]
25857
25858 2013-11-12 Murugan Vairavel <murugan@multicorewareinc.com>
25859
25860 * source/common/pixel.cpp, source/common/primitives.h,
25861 source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
25862 source/test/pixelharness.cpp, source/test/pixelharness.h:
25863 asm: Unit test code for pixelsub_ps function
25864 [c4ca80d19105]
25865
25866 2013-11-13 Murugan Vairavel <murugan@multicorewareinc.com>
25867
25868 * source/common/x86/pixel-a.asm:
25869 asm: pixelsub_ps routine for all block sizes
25870 [2d6dd46dc286]
25871
25872 2013-11-12 sagarkotecha <sagarkotecha>
25873
25874 * source/common/ipfilter.cpp:
25875 Bug fix : In ipfilter for 10 bit yuv support
25876 [90c2763ee027]
25877
25878 2013-11-12 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
25879
25880 * source/encoder/ratecontrol.cpp:
25881 Adding initialisation for ssd/sum values for lowress frame
25882 [a19ba09c1fd7]
25883
25884 2013-11-12 Nabajit Deka <Nabajit Deka>
25885
25886 * source/test/ipfilterharness.cpp:
25887 Adding test bench code for chroma vps filter functions.
25888 [2185b81ae35b]
25889
25890 * source/common/ipfilter.cpp, source/common/primitives.h:
25891 Adding function pointer array and C primitive initializations for
25892 chroma vps filter functions.
25893 [1ddacfd89112]
25894
25895 * source/common/x86/ipfilter8.asm:
25896 asm: routines for chroma hps filter functions for 2xN, 4xN, 6x8 and
25897 12x16 block sizes.
25898 [533bca3ec7e9]
25899
25900 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25901 Adding test bench code for chroma hps filter functions.
25902 [e6d26209c45f]
25903
25904 * source/common/ipfilter.cpp, source/common/primitives.h:
25905 Adding function pointer array and initializations for chroma hps
25906 filter functions.
25907 [8a8b967500e5]
25908
25909 * source/common/x86/asm-primitives.cpp:
25910 Adding function pointer initializations for asm chroma vsp
25911 functions.
25912 [028b911ae623]
25913
25914 * source/common/x86/ipfilter8.h:
25915 Adding asm function declarations for chroma vsp filter functions.
25916 [8fe8d8f9f7cb]
25917
25918 * source/common/x86/ipfilter8.asm:
25919 asm: routines for chroma vsp filter functions for all block sizes.
25920 [4844849073b7]
25921
25922 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25923 Adding test bench code for chroma vsp filter functions.
25924 [ed8a6cd4d8ec]
25925
25926 * source/common/ipfilter.cpp, source/common/primitives.h:
25927 Adding function pointer array and initializations for chroma vsp
25928 filter functions.
25929 [e676cbd86238]
25930
25931 2013-11-12 Min Chen <chenm003@163.com>
25932
25933 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
25934 source/common/x86/pixel.h:
25935 asm: assembly code for x265_pixel_avg_12x16
25936 [d0f80f375c3b]
25937
25938 2013-11-12 Praveen Tiwari <Praveen Tiwari>
25939
25940 * source/Lib/TLibCommon/TComYuv.cpp:
25941 TComYuv.cpp, use new luma_copy_ps asm primitives where feasible
25942 [31528c277c64]
25943
25944 * source/Lib/TLibCommon/TComYuv.cpp:
25945 TComYuv.cpp, use new blockcopy_pp luma primitives where feasible
25946 [8708689dcca2]
25947
25948 * source/Lib/TLibCommon/TComYuv.cpp:
25949 TComYuv::copyFromPicLuma, blockcopy_pp luma asm code integration
25950 [c56ea57ce3ab]
25951
25952 * source/Lib/TLibCommon/TComYuv.cpp:
25953 TComYuv::copyToPicLuma, blockcopy_pp asm code integration
25954 [04c28af13c4d]
25955
25956 2013-11-12 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25957
25958 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25959 asm: assembly code for pixel_satd_12x16
25960 [c56ce77dc081]
25961
25962 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25963 asm: assembly code for satd_16x32, satd_16x64, satd_8x32
25964 [d636952ed093]
25965
25966 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25967 asm: assembly code for pixel_satd_16x4
25968 [7818f5b7cc25]
25969
25970 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25971 asm: assembly code for pixel_satd_16x12
25972 [2baf62a8e47d]
25973
25974 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
25975 asm: assembly code for pixel_satd_32x24 and rearranged the functions
25976 [085d5c625c53]
25977
25978 2013-11-11 Steve Borho <steve@borho.org>
25979
25980 * source/encoder/compress.cpp:
25981 compress: fix shadow warning from GCC
25982 [58bdb05da194]
25983
25984 * source/Lib/TLibEncoder/TEncSearch.cpp:
25985 TEncSearch: use luma block copy (luma part size) if bChromaSame
25986 [ea4f939478ed]
25987
25988 2013-11-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25989
25990 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
25991 source/encoder/compress.cpp:
25992 Backout: Causing non-determinism in rd 0 and 1. Needs to be further
25993 investigated.
25994 [ab0968b4b65d]
25995
25996 2013-11-12 Min Chen <chenm003@163.com>
25997
25998 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp:
25999 cleanup: hardcoded m_qtTempTComYuv[qtLayer].m_width to MAX_CU_SIZE
26000 [12053d6bf759]
26001
26002 2013-11-12 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26003
26004 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
26005 source/common/x86/pixel.h:
26006 asm: pixel_avg_48x64, pixel_avg_8x32
26007 [4a4fd61e98e6]
26008
26009 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
26010 source/common/x86/pixel.h:
26011 asm: asm: pixel_avg_24x32
26012 [56642525d09e]
26013
26014 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
26015 source/common/x86/pixel.h:
26016 asm: pixel_avg_64x(64,48,16)
26017 [9c92947860e0]
26018
26019 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
26020 source/common/x86/pixel.h:
26021 asm: pixel_avg_32x(64,32,24,8)
26022 [5b0e1731f776]
26023
26024 2013-11-12 Sumalatha Polureddy <Sumalatha Polureddy>
26025
26026 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
26027 source/encoder/compress.cpp:
26028 no-rdo early exit: giving weightage to the cost of all CU's and
26029 neighbour CU's for early exit
26030
26031 Early exit is done when CU cost at depth "n" is lessthan sum of 60%
26032 of avgcost of all CU's and 40% of avgcost of neighbour CU's at same
26033 depth.
26034 [dc5c51ff542f]
26035
26036 2013-11-11 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26037
26038 * source/Lib/TLibEncoder/TEncSearch.cpp:
26039 no-rdo: cleanups. Remove unnecessary memsets, rearrange
26040 computations.
26041 [1ca01c82609f]
26042
26043 2013-11-11 Steve Borho <steve@borho.org>
26044
26045 * source/Lib/TLibCommon/TComYuv.h:
26046 TComYuv: de-hungarian nits
26047 [d1d716083aa7]
26048
26049 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
26050 source/encoder/ratecontrol.cpp:
26051 asm: use new block copy primitives where feasible
26052 [1c95568c7143]
26053
26054 * source/Lib/TLibCommon/TComPrediction.cpp,
26055 source/common/ipfilter.cpp, source/common/primitives.h,
26056 source/common/vec/ipfilter-sse41.cpp, source/common/x86/asm-
26057 primitives.cpp, source/common/x86/ipfilter8.asm,
26058 source/common/x86/ipfilter8.h, source/encoder/motion.cpp:
26059 asm: hookup luma_vsp primitive, drop asm and intrinsic non-block
26060 versions
26061 [904b788b09e2]
26062
26063 2013-11-11 Nabajit Deka <Nabajit Deka>
26064
26065 * source/common/x86/asm-primitives.cpp:
26066 Adding function pointer initializations for luma vsp functions.
26067 [d11de5be8e25]
26068
26069 * source/common/x86/ipfilter8.h:
26070 Adding asm function declarations for luma vsp filter functions.
26071 [937ac0c1bac4]
26072
26073 * source/common/x86/ipfilter8.asm:
26074 asm: routines for luma vsp filter functions for all block sizes.
26075 [1eae34eb5995]
26076
26077 2013-11-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26078
26079 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
26080 asm: assembly code for x265_pixel_satd_32x16
26081 [27b97bc50331]
26082
26083 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
26084 asm: assembly code for x265_pixel_satd_32x8
26085 [da13148e7c6e]
26086
26087 2013-11-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26088
26089 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
26090 source/common/x86/pixel.h:
26091 asm: enabled pixel_avg_16x(64,32,12,4) assembly functions
26092 [1990e66030d1]
26093
26094 2013-11-11 Min Chen <chenm003@163.com>
26095
26096 * source/Lib/TLibEncoder/TEncSearch.cpp:
26097 use fixed stride/size on m_qtTempTComYuv, to reduce number of
26098 calcRecon() parameters
26099 [0f9c6391fa19]
26100
26101 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
26102 source/common/x86/pixel.h:
26103 asm: pixel_avg[32x16]
26104 [79a452bec247]
26105
26106 2013-11-11 Praveen Tiwari <Praveen Tiwari>
26107
26108 * source/common/x86/asm-primitives.cpp:
26109 added macro call for luma partition blockcopy_ps function
26110 [18dd57c38254]
26111
26112 * source/common/x86/asm-primitives.cpp,
26113 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26114 asm code for blockcopy_ps_64xN
26115 [ed32ed5a0785]
26116
26117 * source/common/x86/asm-primitives.cpp,
26118 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26119 asm code for luma blockcopy_ps_48x64
26120 [c19168acd391]
26121
26122 * source/common/x86/asm-primitives.cpp,
26123 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26124 asm code for luma blockcopy_ps_32x64
26125 [15b705145e15]
26126
26127 * source/common/x86/asm-primitives.cpp,
26128 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26129 added asm function for luma blockcopy_ps_16x64
26130 [8e20f3c1dbb4]
26131
26132 * source/common/x86/asm-primitives.cpp,
26133 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26134 added asm code blockcopy_ps_4x16 and invoked function pointer
26135 initialization with macro
26136 [67fb80ee548a]
26137
26138 * source/common/x86/asm-primitives.cpp,
26139 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26140 asm code for blockcopy_ps_6x8
26141 [b208adfaaba6]
26142
26143 * source/common/x86/asm-primitives.cpp,
26144 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26145 asm code for blockcopy_ps_2x8
26146 [c047d5898b59]
26147
26148 * source/common/x86/asm-primitives.cpp,
26149 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26150 asm code for blockcopy_ps_2x4
26151 [cf089f73913d]
26152
26153 * source/common/x86/asm-primitives.cpp,
26154 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26155 asm code for blockcopy_ps_24x32
26156 [c8e0d150b111]
26157
26158 * source/common/x86/asm-primitives.cpp,
26159 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26160 asm code for blockcopy_ps_4x8
26161 [332793211a8d]
26162
26163 * source/common/x86/asm-primitives.cpp,
26164 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26165 asm code for blockcopy_ps_4x4
26166 [953fe27840b6]
26167
26168 * source/common/x86/asm-primitives.cpp,
26169 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26170 asm code for blockcopy_ps_4x2
26171 [4c45ee313c3c]
26172
26173 * source/common/x86/asm-primitives.cpp,
26174 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26175 asm code for blockcopy_ps_12x16
26176 [c09ba17002c0]
26177
26178 * source/common/x86/asm-primitives.cpp,
26179 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26180 asm code for blockcopy_ps_32xN
26181 [badcc7920c91]
26182
26183 * source/common/x86/asm-primitives.cpp,
26184 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26185 blockcopy_ps_16x4, asm code is now sse4
26186 [1365b796a75e]
26187
26188 * source/common/x86/blockcopy8.asm:
26189 eliminated register copy from BLOCKCOPY_PS_W16_H4 macro
26190 [7a0afcd7c4c9]
26191
26192 * source/common/x86/asm-primitives.cpp,
26193 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26194 asm code for asm code for blockcopy_ps,16x8, 16x12, 16x16, 16x32
26195 [e5567a4eeec5]
26196
26197 * source/common/x86/asm-primitives.cpp,
26198 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26199 asm code for blockcopy_ps_16x4
26200 [cb378330b31b]
26201
26202 * source/common/x86/asm-primitives.cpp,
26203 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26204 asm code for blockcopy_ps, 8x6, 8x16 and 8x32
26205 [7d74ee88f3fe]
26206
26207 * source/common/x86/asm-primitives.cpp,
26208 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26209 asm code for blockcopy_ps_8x6
26210 [1fbaef13feb7]
26211
26212 2013-11-11 Steve Borho <steve@borho.org>
26213
26214 * source/encoder/compress.cpp:
26215 compress: white-space nits
26216 [c94d51359a5f]
26217
26218 2013-11-11 Mahesh Doijade <maheshdoijade@multicorewareinc.com>
26219
26220 * source/encoder/compress.cpp:
26221 TEncCu: cleanup xComputeCostIntraInInter to use 32x32 logic for
26222 64x64
26223 [2e90d81098af]
26224
26225 2013-11-11 Min Chen <chenm003@163.com>
26226
26227 * source/test/pixelharness.cpp:
26228 bugfix: PixelHarness::check_pixelavg_pp() output buffer did not
26229 initialize
26230 [9642b5b6500b]
26231
26232 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm:
26233 re-enable asm code for pixel_avg, the problem is miss EMMS
26234 [a1577003ee96]
26235
26236 2013-11-11 Praveen Tiwari <Praveen Tiwari>
26237
26238 * source/common/x86/asm-primitives.cpp,
26239 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26240 asm code for blockcopy_ps_8x4
26241 [25300bdf7bbe]
26242
26243 * source/common/x86/asm-primitives.cpp,
26244 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26245 asm code for blockcopy_ps_8x2
26246 [11b09a9fa32f]
26247
26248 * source/test/pixelharness.cpp, source/test/pixelharness.h:
26249 unit test code for block_copy_ps function
26250 [eab2cd89e813]
26251
26252 * source/common/pixel.cpp, source/common/primitives.h:
26253 added blockcopy_ps c primitive and function pointes
26254 [7f3164f16551]
26255
26256 2013-11-11 Nabajit Deka <Nabajit Deka>
26257
26258 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
26259 Adding test bench code for luma vsp filter functions.
26260 [51358e3422b7]
26261
26262 * source/common/ipfilter.cpp:
26263 Adding C primitive for luma vsp filter functions.
26264 [d2b3aefb522e]
26265
26266 * source/common/primitives.h:
26267 Adding function pointer type & array definition for luma vsp filter
26268 functions.
26269 [8d496292dd1d]
26270
26271 2013-11-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
26272
26273 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
26274 16bpp primitives: disabling dct/idct/dst/idst primitives
26275 [8ca334701a92]
26276
26277 2013-11-09 Steve Borho <steve@borho.org>
26278
26279 * source/test/testbench.cpp:
26280 testbench: set g_bitDepth to 10 for HIGH_BIT_DEPTH builds
26281
26282 This more accurately tests our optimized primitives vs the C ref,
26283 and several of them now fail validation. The intrinsic primitives
26284 need to be updated to the changes made in commit b24d05dd4990 and/or
26285 disabled for 16bpp.
26286 [9d74638c3640]
26287
26288 * source/common/vec/dct-sse3.cpp:
26289 dct: white-space cleanup
26290 [975d0089a37d]
26291
26292 * source/output/y4m.cpp:
26293 y4m: fix 8bpp build
26294 [efb26544f8aa]
26295
26296 * source/Lib/TLibCommon/TComPicYuv.cpp:
26297 TComPicYuv: add a comment for future optimizations
26298 [2be9bd65f418]
26299
26300 * source/input/yuv.cpp:
26301 yuv: pic.stride should be in units of pixels, not bytes
26302 [b2b455afd60e]
26303
26304 * source/Lib/TLibCommon/TComPicYuv.cpp:
26305 csp: fix allocation size calculation of chroma planes
26306 [99d934beca75]
26307
26308 * source/Lib/TLibCommon/TComPicYuv.cpp,
26309 source/Lib/TLibCommon/TComPicYuv.h:
26310 TComPicYuv: remove unused luma-oriented functions, cleanup destroy
26311 method
26312 [9dece99f7faa]
26313
26314 * source/Lib/TLibCommon/TComPicYuv.cpp,
26315 source/Lib/TLibCommon/TComPicYuv.h:
26316 TComPicYuv: remove unused copy methods
26317 [ad8b9d120f8c]
26318
26319 * source/Lib/TLibCommon/TComPicYuv.cpp:
26320 TComPicYuv: cleanup prefixes
26321 [c05952a71525]
26322
26323 * source/Lib/TLibCommon/TComPicYuv.cpp,
26324 source/Lib/TLibCommon/TComPicYuv.h:
26325 TComPicYuv: remove unused dump function
26326 [8774e07b9d8a]
26327
26328 * source/output/output.cpp, source/output/y4m.cpp,
26329 source/output/y4m.h, source/output/yuv.cpp, source/x265.cpp:
26330 cli: file writers should validate output bitdepth, if any is
26331 specified
26332 [5c3ecc48bf3b]
26333
26334 * source/common/CMakeLists.txt, source/common/vec/pixel-avx2.cpp,
26335 source/common/vec/vec-primitives.cpp:
26336 pixel: remove AVX2 vector class SAD primitives
26337
26338 These are superceded by assembly - the ASM doesn't use AVX2 yet but
26339 it's already faster
26340 [af9ec83d864a]
26341
26342 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
26343 TComYuv: remove unused removeHighFreq()
26344 [cd9b013529ad]
26345
26346 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
26347 source/common/pixel.cpp, source/common/primitives.h,
26348 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
26349 source/test/pixelharness.h:
26350 primitive: remove pixeladd_pp and TComYuv::addClip()
26351
26352 These were used by the old HM bidir search
26353 [57caf112acf9]
26354
26355 2013-11-08 Steve Borho <steve@borho.org>
26356
26357 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
26358 source/input/yuv.cpp, source/input/yuv.h:
26359 input: drop unthreaded reader paths for simplicity
26360 [29ad451b3026]
26361
26362 * source/input/yuv.cpp:
26363 yuv: simplify framesize usage
26364 [27486e340eac]
26365
26366 * source/input/yuv.cpp:
26367 yuv: initialize pixelbytes as early as possible
26368 [45c5ba1dc340]
26369
26370 * source/input/y4m.cpp, source/input/yuv.cpp:
26371 input: include nits
26372 [620c2a377cf6]
26373
26374 * source/x265.cpp:
26375 cli: do not check recon bit depth if no recon file is requested
26376
26377 For now, just enforce our current requirement that the output
26378 bitdepth must match the input bit depth. If the recon file writers
26379 ever support depth conversions, these checks can be revisited
26380 [4a824497b3f4]
26381
26382 * source/common/common.cpp:
26383 common: set default params to match medium preset, keep star search
26384 for medium
26385 [5b688170c506]
26386
26387 2013-11-06 Steve Borho <steve@borho.org>
26388
26389 * source/common/common.cpp:
26390 presets: adjust presets to increase spread and align closer with
26391 x264 presets
26392 [8487f675effa]
26393
26394 2013-11-08 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26395
26396 * source/Lib/TLibEncoder/TEncSearch.cpp,
26397 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
26398 no-rdo: refactor enodeResandCalcRDInterCU function
26399
26400 Divide estimateBits and modeDecision inside the function.
26401 EstimateBits uses a pseudo encode. Bitstream changes with this patch
26402 for --rd 1.
26403 [66659d4a7b31]
26404
26405 2013-11-08 Steve Borho <steve@borho.org>
26406
26407 * source/Lib/TLibCommon/TComPicYuv.cpp:
26408 TComPicYuv: fixup 16x16 picture padding by using unpadded width as
26409 pad base
26410 [74bed0a288f5]
26411
26412 2013-11-08 Mahesh Doijade <Mahesh Doijade>
26413
26414 * source/Lib/TLibEncoder/TEncSearch.cpp:
26415 TEncSearch: cleanup estIntraPredQT to use 32x32 logic for 64x64
26416 blocks
26417 [abb7c130ca2f]
26418
26419 2013-11-08 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26420
26421 * source/common/x86/sad-a.asm:
26422 asm: optimised pixel_sad_xN_24x32 assembly code
26423 [cd16d2ed3128]
26424
26425 2013-11-08 Praveen Tiwari <Praveen Tiwari>
26426
26427 * source/common/x86/blockcopy8.asm:
26428 blockcopy_sp_2x8, optimized asm code
26429 [1e7c99e5b511]
26430
26431 * source/common/x86/blockcopy8.asm:
26432 blockcopy_sp_2x4, optimized asm code
26433 [7bd27dfad3bf]
26434
26435 * source/common/x86/blockcopy8.asm:
26436 blockcopy_sp_6x8, optimized asm code
26437 [073ca727d5de]
26438
26439 * source/common/x86/blockcopy8.asm:
26440 blockcopy_sp_32xN, optimized asm code
26441 [b95f9e753039]
26442
26443 * source/common/x86/blockcopy8.asm:
26444 blockcopy_sp_48x64, optimized asm code
26445 [fa5544054a1d]
26446
26447 * source/common/x86/blockcopy8.asm:
26448 blockcopy_sp_64xN, optimized asm code
26449 [a1c0eb5f5d84]
26450
26451 * source/common/x86/blockcopy8.asm:
26452 blockcopy_sp_24x32, optimized asm code
26453 [3cf4edc66844]
26454
26455 * source/common/x86/blockcopy8.asm:
26456 blockcopy_sp_16xN, optimized asm code
26457 [a1a9b29cccf9]
26458
26459 * source/common/x86/blockcopy8.asm:
26460 blockcopy_sp_12x16, optimized asm code
26461 [970517e2eb4c]
26462
26463 * source/common/x86/blockcopy8.asm:
26464 blockcopy_sp_8x16, optimized asm code
26465 [a0b003aac23e]
26466
26467 * source/common/x86/blockcopy8.asm:
26468 blockcopy_sp_8x8, optimized asm code
26469 [8cfa90a574f8]
26470
26471 * source/common/x86/blockcopy8.asm:
26472 blockcopy_sp_8x2, optimized asm code
26473 [c8d25ce3b965]
26474
26475 * source/common/x86/blockcopy8.asm:
26476 blockcopy_sp_8x6, optimized asm code
26477 [2fd3cf3b5edb]
26478
26479 * source/common/x86/blockcopy8.asm:
26480 blockcopy_sp_8x4, optimized asm code
26481 [27c70b409c1b]
26482
26483 * source/common/x86/blockcopy8.asm:
26484 blockcopy_sp_4x8, optimized asm code
26485 [ceed26f375d5]
26486
26487 * source/common/x86/blockcopy8.asm:
26488 blockcopy_sp_4x16, optimized asm code
26489 [b20b89bf5348]
26490
26491 * source/common/x86/blockcopy8.asm:
26492 blockcopy_sp_4x4, optimized asm code according to modified C
26493 primitive
26494 [d5f67f9cba2c]
26495
26496 * source/common/x86/blockcopy8.asm:
26497 blockcopy_sp_4x2, optimized asm code according to modified C
26498 primitive
26499 [85dddb9aa165]
26500
26501 2013-11-08 Steve Borho <steve@borho.org>
26502
26503 * source/common/ipfilter.cpp, source/common/primitives.h,
26504 source/common/vec/ipfilter-sse41.cpp,
26505 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
26506 primitives: remove unused ipfilter_pp_t funcdef and C and intrinsic
26507 primitives
26508
26509 These are now completely replaced by block based assembly code
26510 [fef74c2e329d]
26511
26512 * source/common/vec/pixel-sse41.cpp:
26513 linux: re-enable sse_12x16 for clang and gcc
26514 [94cba84de8dd]
26515
26516 2013-11-08 Min Chen <chenm003@163.com>
26517
26518 * source/common/vec/pixel-sse41.cpp:
26519 fix bug in sse_sp12
26520 [f76b591b7aef]
26521
26522 * source/test/pixelharness.cpp, source/test/pixelharness.h:
26523 testbench: update for blockcopy, these function use dynamic range
26524 [0,255]
26525 [c5e633516217]
26526
26527 2013-11-07 Steve Borho <steve@borho.org>
26528
26529 * source/x265.cpp:
26530 cli: add missing --version long option for -V, and -? short option
26531 for --help
26532 [fd721a5ba063]
26533
26534 * source/x265.cpp:
26535 cli: report a warning on preset or tune string mismatches
26536 [08872c3c4735]
26537
26538 * source/common/vec/pixel-sse41.cpp:
26539 linux: disable sse_12x16 for GCC and clang
26540 [fd0ebb4b4709]
26541
26542 * source/test/pixelharness.cpp:
26543 linux: fix pixelharness on linux which has full-range rand()
26544 [1ea82d16d334]
26545
26546 * source/common/vec/blockcopy-sse3.cpp:
26547 vec: remove use of deleted primitive for 16bpp
26548 [014e3303ad3d]
26549
26550 * source/common/lowres.h:
26551 lowres: reorder members of Lowres struct for clarity
26552 [5563bd58c1e3]
26553
26554 * source/common/lowres.h, source/common/mv.h,
26555 source/encoder/motion.cpp, source/encoder/reference.h:
26556 lowres: move ReferencePlanes from mv.h to lowres.h
26557 [dac2888cbf4c]
26558
26559 * source/common/mv.h, source/encoder/motion.cpp,
26560 source/encoder/slicetype.cpp:
26561 lowres: pull lowres motion compensation and residual costs into
26562 lowres struct
26563 [9668c5b6373a]
26564
26565 2013-11-07 Min Chen <chenm003@163.com>
26566
26567 * source/common/TShortYUV.cpp, source/common/pixel.cpp,
26568 source/common/primitives.h, source/common/vec/blockcopy-sse3.cpp,
26569 source/test/pixelharness.cpp, source/test/pixelharness.h:
26570 rename: pixelsub_sp to pixelsub_ps, because it sub two Pixel and
26571 result is Short
26572 [cb24ed71905d]
26573
26574 2013-11-07 Praveen Tiwari <Praveen Tiwari>
26575
26576 * source/common/x86/asm-primitives.cpp,
26577 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26578 asm code for blockfil_s, 32x32
26579 [b4993b1fef7c]
26580
26581 * source/common/x86/asm-primitives.cpp,
26582 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26583 asm code for blockfill_s, 16x16
26584 [a8df8123e9ab]
26585
26586 * source/common/x86/asm-primitives.cpp,
26587 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26588 asm code for blockfill_s, 8x8
26589 [7d3e461312a5]
26590
26591 * source/common/x86/asm-primitives.cpp,
26592 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
26593 asm code for blockfill_s, 4x4
26594 [29d208555299]
26595
26596 * source/test/pixelharness.cpp, source/test/pixelharness.h:
26597 unit test code for blockfill_s_c function
26598 [12ec248f7390]
26599
26600 2013-11-07 Steve Borho <steve@borho.org>
26601
26602 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
26603 asm: enable luma_vpp block MC functions
26604 [4d9aac4f0985]
26605
26606 2013-11-07 Nabajit Deka <Nabajit Deka>
26607
26608 * source/common/x86/ipfilter8.asm:
26609 Bug fix for luma vpp asm routines.Also incorporated review comment
26610 changes.
26611 [9ba49b482a1e]
26612
26613 2013-11-07 Min Chen <chenm003@163.com>
26614
26615 * source/common/pixel.cpp, source/common/primitives.h,
26616 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
26617 source/test/pixelharness.h:
26618 cleanup: remove unused blockcpy_sc
26619 [db7752a46693]
26620
26621 * source/common/pixel.cpp:
26622 asm: the pixel value in blockcopy_ps is saturation by calcRecon, so
26623 asm can use packuswb
26624 [b572831429ec]
26625
26626 2013-11-07 Aarthi Thirumalai <Aarthi Thirumalai>
26627
26628 * source/Lib/TLibCommon/TComPicYuv.cpp:
26629 tcompicyuv: add right boundary padding while applying bottom row
26630 padding.
26631 [397a201b0ea3]
26632
26633 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/lowres.cpp,
26634 source/encoder/frameencoder.cpp:
26635 aq: bug fix, extend right and bot of TComPic::m_origPicYuv to a
26636 multiple of 16
26637 [93a4f88844f1]
26638
26639 2013-11-07 Steve Borho <steve@borho.org>
26640
26641 * source/common/vec/pixel-sse41.cpp:
26642 pixel: remove last remaining intrinsic SAD primitives
26643 [536db32fc253]
26644
26645 2013-11-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26646
26647 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26648 asm: assembly code for pixel_sad_x4_64xN
26649 [dc31fc1daf42]
26650
26651 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26652 asm: assembly code for pixel_sad_x3_64xN
26653 [d6644a32e6bc]
26654
26655 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26656 asm: assembly code for pixel_sad_x4_48x64
26657 [96f1bb63b747]
26658
26659 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26660 asm: assembly code for pixel_sad_x3_48x64
26661 [74682dfe5342]
26662
26663 2013-11-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
26664
26665 * source/Lib/TLibCommon/TComPicYuv.cpp:
26666 tcompicyuv: improvement for Extend the right if width is not
26667 multiple of min CU size
26668 [85002898f5b4]
26669
26670 2013-11-07 Min Chen <chenm003@163.com>
26671
26672 * source/common/pixel.cpp:
26673 asm: the pixel value in blockcopy_ps is saturation by calcRecon, so
26674 asm can use packuswb
26675 [0a1b379be359]
26676
26677 2013-11-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
26678
26679 * source/Lib/TLibCommon/TComPicYuv.cpp:
26680 tcompicyuv: fix for copyFromPicture() when HIGH_BIT_DEPTH enable,
26681 sizeof(Pel)=2 and pic.bitDepth=8
26682 [ed1b1a7b0b38]
26683
26684 2013-11-07 Steve Borho <steve@borho.org>
26685
26686 * source/encoder/encoder.cpp:
26687 api: output x265_picture.bitDepth should reflect actual internal
26688 bitdepth
26689
26690 And not sizeof(pixel) * 8.
26691 [0ab509a661c7]
26692
26693 2013-11-06 Steve Borho <steve@borho.org>
26694
26695 * source/common/common.cpp, source/encoder/encoder.cpp,
26696 source/x265.cpp, source/x265.h:
26697 api: simplistic auto-determination of frame thread count
26698 [90d9c1067f50]
26699
26700 * source/encoder/motion.cpp:
26701 motion: fixup weightp - use unweighted reference pixels as
26702 interpolation source
26703 [93cccbe49a93]
26704
26705 * source/x265.cpp:
26706 cli: do not lookup a colorspace name if not supplied
26707 [60f78cbfacc8]
26708
26709 * source/common/common.cpp:
26710 common: set a default color space of I420
26711 [d9ea97e248bc]
26712
26713 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
26714 asm: use new block based single-pass H-filter motion compensation
26715 primitives
26716 [dbb86150c919]
26717
26718 * source/Lib/TLibCommon/TComPrediction.cpp:
26719 asm: use new block based chroma single-pass MC primitives
26720 [8d1bd79d3618]
26721
26722 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
26723 source/common/x86/blockcopy8.h, source/common/x86/pixel.h:
26724 asm: move block copy funcdefs into blockcopy8.h
26725 [edf77f60b55c]
26726
26727 * source/common/x86/asm-primitives.cpp:
26728 asm: move _sse4 block copy function pointer assignments into SSE4
26729 section
26730 [34d494a8051f]
26731
26732 2013-11-06 Praveen Tiwari <Praveen Tiwari>
26733
26734 * source/common/x86/blockcopy8.asm:
26735 blockcopy_sp, corrected number of xmm registers
26736 [0c359d82ebc1]
26737
26738 * source/common/x86/asm-primitives.cpp,
26739 source/common/x86/blockcopy8.asm:
26740 asm code for blockcopy_sp, 64xN
26741 [f0214135645a]
26742
26743 * source/common/x86/blockcopy8.asm:
26744 blockcopy_sp, 48x64 changed the macro name according to width
26745 [d87d627b2161]
26746
26747 * source/common/x86/asm-primitives.cpp,
26748 source/common/x86/blockcopy8.asm:
26749 asm code for blockcopy_sp, 48x64
26750 [cde21084ca9d]
26751
26752 * source/common/x86/asm-primitives.cpp,
26753 source/common/x86/blockcopy8.asm:
26754 blockcopy_sp, added 16x64 block size
26755 [598a03afc62f]
26756
26757 * source/common/x86/asm-primitives.cpp,
26758 source/common/x86/blockcopy8.asm:
26759 asm code for blockcopy_sp, 32x64
26760 [1a46771b9f87]
26761
26762 * source/common/x86/asm-primitives.cpp,
26763 source/common/x86/blockcopy8.asm, source/common/x86/pixel.h:
26764 used sse4 for 2x4, 2x8 and 6x8
26765 [ddaa80b9b959]
26766
26767 * source/common/x86/asm-primitives.cpp,
26768 source/common/x86/blockcopy8.asm:
26769 asm code for blockcopy_sp, 6x8
26770 [2ae2eb6c8e51]
26771
26772 * source/common/x86/asm-primitives.cpp,
26773 source/common/x86/blockcopy8.asm:
26774 asm code for blockcopy_sp, 2x8
26775 [529bf6093782]
26776
26777 * source/common/x86/asm-primitives.cpp,
26778 source/common/x86/blockcopy8.asm:
26779 asm code for blockcopy_sp, 2x4
26780 [ea33d0f85b8e]
26781
26782 * source/common/x86/asm-primitives.cpp,
26783 source/common/x86/blockcopy8.asm:
26784 asm code for blockcopy_sp, 12x16 block
26785 [99c3b2e4f1cc]
26786
26787 * source/common/x86/asm-primitives.cpp,
26788 source/common/x86/blockcopy8.asm:
26789 asm code for blockcopy_sp, 32xN
26790 [6b6d54cc234e]
26791
26792 2013-11-06 Gopu Govindaswamy <gopu@multicorewareinc.com>
26793
26794 * source/Lib/TLibCommon/TComDataCU.cpp:
26795 tcomdatacu: partStartIdx is always negative, no need to have else
26796 block in InitCU()
26797 [11a4c5a15d79]
26798
26799 * source/Lib/TLibCommon/TComDataCU.cpp:
26800 tcomdatacu: remove the for loop in InitCU(), which will never
26801 execute
26802
26803 partStartIdx is always zero or negative, and the numElements is also
26804 always zero or negative the for will never executed if numElements
26805 is zero or negative, removed the for loop block in initCU()
26806 [8bdb65fef0f0]
26807
26808 2013-11-06 Steve Borho <steve@borho.org>
26809
26810 * source/Lib/TLibCommon/TComSlice.cpp,
26811 source/Lib/TLibCommon/TComSlice.h:
26812 TComSlice: nits
26813 [eab2d925a0e0]
26814
26815 * source/common/x86/pixel.h:
26816 pixel.h: nit
26817 [267b3da1a734]
26818
26819 2013-11-06 Min Chen <chenm003@163.com>
26820
26821 * source/Lib/TLibCommon/TComPrediction.cpp,
26822 source/common/ipfilter.cpp, source/common/primitives.h,
26823 source/common/x86/asm-primitives.cpp,
26824 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
26825 source/encoder/motion.cpp, source/test/ipfilterharness.cpp,
26826 source/test/ipfilterharness.h:
26827 asm: ipfilter_ss[FILTER_V_S_S_8]
26828 [de7a50155cba]
26829
26830 2013-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
26831
26832 * source/output/y4m.cpp, source/output/yuv.cpp:
26833 YUV, Y4M Output: bitdepth confusion resolved
26834 [846e2c0d8478]
26835
26836 2013-11-06 Praveen Tiwari <Praveen Tiwari>
26837
26838 * source/common/x86/asm-primitives.cpp,
26839 source/common/x86/blockcopy8.asm:
26840 asm code for blockcopy_sp, 24x32 block
26841 [8f71fba52d55]
26842
26843 * source/common/x86/asm-primitives.cpp,
26844 source/common/x86/blockcopy8.asm:
26845 asm code for blockcopy_sp, 16xN blocks
26846 [264b1458963a]
26847
26848 2013-11-06 Nabajit Deka <Nabajit Deka>
26849
26850 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
26851 Adding asm function declaration and function pointer initializations
26852 for luma hps functions.
26853 [450947d76251]
26854
26855 * source/common/x86/ipfilter8.asm:
26856 asm: routines for luma hps filter functions for all block sizes.
26857 [01d97a51d37d]
26858
26859 2013-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
26860
26861 * Merge
26862 [21e08cf159c5]
26863
26864 * source/output/yuv.cpp:
26865 YUV Output: more rext merge bugs
26866 [b2068453b55b]
26867
26868 * source/output/yuv.cpp:
26869 YUV output: correct a rext merge issue
26870 [dd8510d84b5a]
26871
26872 2013-11-06 Praveen Tiwari <Praveen Tiwari>
26873
26874 * source/common/x86/asm-primitives.cpp,
26875 source/common/x86/blockcopy8.asm:
26876 asm code for blockcopy_sp, 4xN blocks
26877 [bab35592e71c]
26878
26879 * source/common/x86/asm-primitives.cpp,
26880 source/common/x86/blockcopy8.asm:
26881 asm code for blockcopy_sp, 8xN blocks
26882 [73b4015984fd]
26883
26884 2013-11-06 Nabajit Deka <Nabajit Deka>
26885
26886 * source/test/ipfilterharness.cpp:
26887 Adding test bench code for luma hps filter functions.
26888 [cb323bec7d06]
26889
26890 * source/common/ipfilter.cpp, source/common/primitives.h:
26891 Adding function pointer array and C primitive for luma hps filter
26892 functions.
26893 [e31319dfb866]
26894
26895 2013-11-06 Gopu Govindaswamy <gopu@multicorewareinc.com>
26896
26897 * source/Lib/TLibCommon/TComDataCU.cpp:
26898 tcomdatacu: remove memset in initSubCU()
26899
26900 m_trCoeffY, m_trCoeffCb, m_trCoeffCr, m_iPCMSampleY, m_iPCMSampleCb
26901 and m_iPCMSampleCr buffers are getting initialized in initCU(), and
26902 its not required to set 0 in initSubCU()
26903 [1b913b8f7f19]
26904
26905 * source/Lib/TLibCommon/TComDataCU.cpp:
26906 tcomdatacu: remove memset in initEstData()
26907
26908 m_trCoeffY, m_trCoeffCb, m_trCoeffCr, m_iPCMSampleY, m_iPCMSampleCb
26909 and m_iPCMSampleCr buffers are getting initialized in initCU(), and
26910 its not required to set 0 in initEstData()
26911 [d044314537ad]
26912
26913 * source/Lib/TLibCommon/TComDataCU.cpp,
26914 source/Lib/TLibCommon/TComDataCU.h:
26915 tcomdatacu: remove unused set functions
26916 [9368bfd107b8]
26917
26918 2013-11-06 Steve Borho <steve@borho.org>
26919
26920 * source/encoder/motion.cpp, source/encoder/motion.h:
26921 motion: simplify subpel refine, drop height+1 interpolation
26922
26923 This is in preparation of enabling assembly versions of
26924 interpolation functions
26925 [a1d576fbd0b0]
26926
26927 2013-11-05 Steve Borho <steve@borho.org>
26928
26929 * source/encoder/motion.cpp:
26930 motion: simplify lowres subpel refine
26931 [72520485725e]
26932
26933 2013-11-06 Steve Borho <steve@borho.org>
26934
26935 * source/encoder/slicetype.cpp:
26936 slicetype: move lastNonB set outside if expression for both I and P
26937 clauses
26938 [412d2f3a2bd2]
26939
26940 2013-11-05 Steve Borho <steve@borho.org>
26941
26942 * source/encoder/motion.cpp:
26943 motion: move StarPatternSearch higher in the file, no behavior
26944 change
26945 [bc99537483f1]
26946
26947 2013-11-06 Steve Borho <steve@borho.org>
26948
26949 * source/CMakeLists.txt:
26950 cmake: link platform libraries into the shared library (fixes PPA
26951 builds)
26952 [0234bd136cb9]
26953
26954 2013-11-05 Steve Borho <steve@borho.org>
26955
26956 * source/cmake/CMakeDetermineASM_YASMCompiler.cmake:
26957 cmake: use detected yasm executable for CMAKE_ASM_YASM_COMPILER
26958 variable
26959 [ae906d212c5e]
26960
26961 * source/Lib/TLibCommon/TComDataCU.cpp,
26962 source/Lib/TLibCommon/TComDataCU.h,
26963 source/Lib/TLibCommon/TComPattern.cpp,
26964 source/Lib/TLibCommon/TComPic.cpp,
26965 source/Lib/TLibCommon/TComPicSym.cpp,
26966 source/Lib/TLibCommon/TComPicSym.h,
26967 source/Lib/TLibCommon/TComPicYuv.cpp,
26968 source/Lib/TLibCommon/TComPicYuv.h,
26969 source/Lib/TLibCommon/TComPrediction.cpp,
26970 source/Lib/TLibCommon/TComPrediction.h,
26971 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
26972 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
26973 source/Lib/TLibEncoder/TEncCu.cpp,
26974 source/Lib/TLibEncoder/TEncSearch.cpp,
26975 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
26976 source/common/TShortYUV.h, source/common/common.cpp,
26977 source/common/common.h, source/encoder/cturow.cpp,
26978 source/encoder/encoder.cpp, source/input/input.h,
26979 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
26980 source/input/yuv.h, source/output/output.cpp,
26981 source/output/output.h, source/output/y4m.cpp, source/output/y4m.h,
26982 source/output/yuv.cpp, source/output/yuv.h, source/x265.cpp,
26983 source/x265.h:
26984 rext: partial support for 4:2:2 and 4:4:4 color spaces
26985
26986 reconFileBitDepth did not need to be a member of x265_param, and the
26987 comment for inputBitDepth needed to mention that it also determined
26988 the internal bit depth of the encoder.
26989 [7cdcf1a03d93]
26990
26991 * source/common/common.cpp, source/common/version.cpp,
26992 source/encoder/encoder.cpp, source/input/input.cpp,
26993 source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
26994 source/input/yuv.cpp, source/input/yuv.h, source/output/y4m.cpp,
26995 source/x265.cpp, source/x265.h:
26996 main10: allow pixel sizes of 10 and 12 for HIGH_BIT_DEPTH builds
26997
26998 Removes param.internalBitDepth and uses inputBitDepth to mean both
26999 the size of input pixels and internal pixels (x265 will do no color
27000 space conversions)
27001 [6a94dca867c8]
27002
27003 * source/common/dct.cpp, source/common/ipfilter.cpp:
27004 main10: fix dct and MC primitives to correctly respect larger pixel
27005 sizes
27006 [b24d05dd4990]
27007
27008 * source/Lib/TLibCommon/ContextTables.h,
27009 source/Lib/TLibCommon/TComDataCU.h,
27010 source/Lib/TLibCommon/TComPicYuv.cpp,
27011 source/Lib/TLibCommon/TComPicYuv.h,
27012 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
27013 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
27014 source/Lib/TLibCommon/TComTrQuant.cpp,
27015 source/Lib/TLibCommon/TComTrQuant.h,
27016 source/Lib/TLibEncoder/NALwrite.h,
27017 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
27018 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
27019 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
27020 source/Lib/TLibEncoder/TEncSearch.cpp,
27021 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.cpp,
27022 source/common/cpu.cpp, source/common/dct.cpp,
27023 source/common/ipfilter.cpp, source/common/lowres.cpp,
27024 source/common/lowres.h, source/common/pixel.cpp, source/common/vec
27025 /dct-sse41.cpp, source/common/vec/intra-sse41.cpp, source/common/vec
27026 /intra-ssse3.cpp, source/common/vec/ipfilter-sse41.cpp,
27027 source/common/vec/ipfilter-ssse3.cpp, source/common/vec/pixel-
27028 avx2.cpp, source/common/vec/pixel16-sse41.cpp, source/common/x86
27029 /asm-primitives.cpp, source/common/x86/ipfilter8.h,
27030 source/common/x86/mc.h, source/common/x86/pixel.h,
27031 source/encoder/bitcost.cpp, source/encoder/compress.cpp,
27032 source/encoder/cturow.cpp, source/encoder/encoder.cpp,
27033 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
27034 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
27035 source/encoder/ratecontrol.cpp, source/input/y4m.cpp,
27036 source/input/y4m.h, source/input/yuv.cpp, source/input/yuv.h,
27037 source/output/y4m.cpp, source/output/yuv.cpp,
27038 source/test/ipfilterharness.cpp, source/test/pixelharness.h,
27039 source/test/testbench.cpp, source/x265.cpp:
27040 uncrustify source tree
27041 [0c9d8360e1b0]
27042
27043 * source/encoder/slicetype.cpp:
27044 slicetype: better fix for --b-adapt 0
27045
27046 Don't allow an IDR to be re-ordered
27047 [f56a9fc5e999]
27048
27049 * source/x265.cpp:
27050 cli: re-introduce x265_setup_primitives() call prior to
27051 printVersion()
27052
27053 This way --cpuid N is properly respected. This orders the output of
27054 the log messages, but the total number is the same.
27055 [76d1d1aa3700]
27056
27057 * source/encoder/encoder.cpp:
27058 encoder: nits
27059 [9b7ca5a14605]
27060
27061 * source/encoder/encoder.cpp:
27062 log: cleanup Encoder::printSummary()
27063 [d8513c114f42]
27064
27065 * source/encoder/slicetype.cpp:
27066 slicetype: do not force P before I with --b-adapt 0
27067
27068 I don't remember what bug this was covering up, but it's no longer
27069 necessary and it was breaking the later code which expected a single
27070 non-B per mini-GOP
27071 [f7e55b468373]
27072
27073 * source/common/primitives.cpp:
27074 log: only log primitve status if some primitives are missing
27075
27076 Don't waste a line of log output to report everything is normal
27077 [e566ef4d3e95]
27078
27079 2013-11-05 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27080
27081 * source/common/common.cpp, source/x265.cpp, source/x265.h:
27082 cli: add option to turn on AQ
27083 [ddf4d33e8c15]
27084
27085 2013-11-05 Steve Borho <steve@borho.org>
27086
27087 * source/encoder/encoder.cpp:
27088 log: white-space nit
27089 [f6cb006b3628]
27090
27091 2013-10-30 Kurtnoise <kurtnoise@free.fr>
27092
27093 * source/x265.cpp:
27094 Display also version info during encoding instead of primitives
27095 setup.
27096 [5895ca0d36be]
27097
27098 2013-11-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
27099
27100 * source/Lib/TLibEncoder/TEncCu.cpp:
27101 tenccu: remove calling outTempCU->initEstData() multiple time
27102 without modifying outTempCU
27103 [486f2cff2c3e]
27104
27105 * source/Lib/TLibCommon/TComDataCU.cpp:
27106 tcomdatacu: Remove memset from create(), these variables are
27107 initialized in initCU()
27108 [67ec1b965461]
27109
27110 * source/Lib/TLibCommon/TComDataCU.cpp,
27111 source/Lib/TLibCommon/TComDataCU.h:
27112 tcomdatacu: remove unused copySubCU() function
27113 [1028756870f7]
27114
27115 * source/Lib/TLibCommon/TComDataCU.cpp,
27116 source/Lib/TLibCommon/TComDataCU.h:
27117 tcomdatacu: remove unused copyInterPredInfoFrom() function
27118 [f3f510808287]
27119
27120 * source/Lib/TLibCommon/TComDataCU.cpp,
27121 source/Lib/TLibCommon/TComDataCU.h:
27122 tcomdatacu: remove unused setOutsideCUPart() function
27123 [a38c5f57cf7e]
27124
27125 2013-11-05 Praveen Tiwari <Praveen Tiwari>
27126
27127 * source/common/x86/pixel.h:
27128 changed the naming convention for blockcopy_sp
27129 [e3853b2cbaa8]
27130
27131 * source/common/pixel.cpp, source/common/primitives.h,
27132 source/test/pixelharness.cpp, source/test/pixelharness.h:
27133 changed naming convention and added unit test code for blockcopy_sp
27134 function
27135 [9deec9d96ed4]
27136
27137 2013-11-02 Neil Piken <neilpiken@gmail.com>
27138
27139 * build/README.txt:
27140 cmake: document minimum cmake required version for VC12
27141 [be7af3216ebd]
27142
27143 2013-11-05 Steve Borho <steve@borho.org>
27144
27145 * source/x265.cpp:
27146 Merge with stable
27147 [ba8c09070e54]
27148
27149 * source/x265.cpp:
27150 cli: use 64bit byte counter (closes #1)
27151 [3c15a9f74091] <stable>
27152
27153 2013-11-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
27154
27155 * source/input/y4m.cpp, source/input/yuv.cpp:
27156 input:reset the file pointer before return in guessFrameCount()
27157 [ece7af249573]
27158
27159 * source/Lib/TLibEncoder/TEncCu.cpp:
27160 tenccu:remove calling outTempCU->initEstData() multiple time without
27161 changing outTempCU from xCompressIntraCU
27162 [925ed6f7ed34]
27163
27164 2013-11-05 Nabajit Deka <Nabajit Deka>
27165
27166 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
27167 Adding asm function declaration and function pointer initializations
27168 for luma vps functions.
27169 [df9d7d85a146]
27170
27171 * source/common/x86/ipfilter8.asm:
27172 asm: routines for luma vps filter functions for all block sizes.
27173 [29d3861c5370]
27174
27175 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
27176 Adding test bench code for luma vps filter functions.
27177 [f8053c69b732]
27178
27179 * source/common/ipfilter.cpp:
27180 Adding C primitive for luma vps filter functions.
27181 [9d29fff93f3a]
27182
27183 * source/common/primitives.h:
27184 Adding function pointer type & array definition for luma vps filter
27185 functions.
27186 [ed0dd83bb7ca]
27187
27188 2013-11-05 Steve Borho <steve@borho.org>
27189
27190 * source/encoder/encoder.cpp, source/encoder/encoder.h, source/x265.h:
27191 api: use uint64_t to accumulate bits
27192 [c57ed1fd7bd5]
27193
27194 2013-11-05 Santhoshini Sekar <santhoshini@multicorewareinc.com>
27195
27196 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
27197 source/Lib/TLibCommon/TComSlice.cpp,
27198 source/Lib/TLibCommon/TComSlice.h,
27199 source/Lib/TLibEncoder/TEncAnalyze.h, source/encoder/CMakeLists.txt,
27200 source/encoder/encoder.cpp, source/encoder/encoder.h,
27201 source/encoder/framefilter.cpp:
27202 collect global stats of psnr and ssim
27203 [6f19e6ef9ab5]
27204
27205 2013-11-04 Steve Borho <steve@borho.org>
27206
27207 * source/encoder/slicetype.cpp:
27208 slicetype: make b-adapt 0 set lastNonB, leadingBframes, and
27209 bLastMiniGopBFrame
27210 [7aa33c9734f5]
27211
27212 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
27213 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
27214 source/Lib/TLibEncoder/TEncSearch.cpp:
27215 white-space fixes following UInt->uint32_t search and replace
27216 [686b5b502797]
27217
27218 * source/input/y4m.cpp:
27219 y4m: fix two more while loops
27220 [22d51335d4ec]
27221
27222 * source/input/y4m.cpp:
27223 y4m: fix eof detection during header parsing
27224
27225 Evaluating an istream as a bool returns the file status. When ifs
27226 was converted to a stream pointer, these while loops needed to be
27227 changed because a bool evaluation of a pointer is always true if the
27228 pointer is not NULL
27229 [9732c845db44]
27230
27231 * source/test/pixelharness.cpp:
27232 pixelharness: shorten copy primitive names for consistency
27233 [f3106abb88b2]
27234
27235 2013-11-04 Praveen Tiwari <Praveen Tiwari>
27236
27237 * source/test/pixelharness.cpp:
27238 corrected buffer name for chroma_copy_pp
27239 [35989e4e0b46]
27240
27241 * source/common/x86/pixel.h:
27242 pixel.h, added asm function decleration for blockcopy_ps_c
27243 [4cd16b86488c]
27244
27245 * source/common/pixel.cpp:
27246 pixel.cpp, initialization of function pointer table for
27247 blockcopy_ps_c partitions
27248 [64f25611bcb2]
27249
27250 * source/common/pixel.cpp, source/common/primitives.h:
27251 added C primitive for blockcopy_p_s and function pointer creation
27252 for new type
27253 [e61a0b1c035b]
27254
27255 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
27256 source/common/x86/blockcopy8.asm, source/common/x86/pixel.h,
27257 source/test/pixelharness.cpp:
27258 asm code and test bench integration code for blockcopy_pp_c
27259 partitions
27260 [7898c58d9cbc]
27261
27262 2013-11-04 Min Chen <chenm003@163.com>
27263
27264 * source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
27265 fix bug in chroma_p2s and testbench
27266 [c83157a8b616]
27267
27268 * source/test/ipfilterharness.cpp:
27269 update authors header
27270 [6e211f980d98]
27271
27272 2013-11-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27273
27274 * source/Lib/TLibCommon/TComTrQuant.cpp,
27275 source/Lib/TLibCommon/TComTrQuant.h,
27276 source/Lib/TLibEncoder/TEncSearch.cpp,
27277 source/Lib/TLibEncoder/TEncSearch.h:
27278 RDOQ : pass a parameter to temporarily disable RDOQ.
27279
27280 default value of parameter is true, that means RDOQ is not disabled.
27281 Outputs mustnot change in any rd levels.
27282 [91d96a6038e2]
27283
27284 2013-11-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
27285
27286 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/lowres.cpp,
27287 source/common/lowres.h, source/encoder/frameencoder.cpp,
27288 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
27289 Dropping the 'm_' prefix from names used for members of struct type
27290 Lowres
27291 [37903c6fd1f9]
27292
27293 2013-11-04 Steve Borho <steve@borho.org>
27294
27295 * source/common/x86/asm-primitives.cpp:
27296 asm: re-enable sad_x3 following alignment workaround
27297 [814b4639d6a6]
27298
27299 2013-11-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
27300
27301 * source/common/lowres.h, source/encoder/encoder.cpp,
27302 source/encoder/ratecontrol.cpp:
27303 Generating sum & ssd values for weightp decision in lookahead
27304 [2ab39c2dd50f]
27305
27306 2013-11-02 Wenju He <wenju@multicorewareinc.com>
27307
27308 * source/encoder/motion.cpp:
27309 fix vec/asm crash in COST_MV_X3_DIR: costs+3 is not aligned
27310 [8621008756ba]
27311
27312 2013-10-30 idxa <idxa@sina.com>
27313
27314 * source/common/common.cpp, source/encoder/encoder.cpp,
27315 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
27316 source/x265.cpp, source/x265.h:
27317 rc: add CRF ratecontrol
27318
27319 1. add a parameter of "--crf" to the command line
27320
27321 2. modify the running branches of rateControlStart, using
27322 "if(isAbr)" instead of "switch (cfg->param.rc.rateControlMode)", for
27323 the logic of classifying the combination of multiple ratecontrol
27324 methods is very complex, it is not only based on rateControlMode, so
27325 porting x264's way looks feasible.
27326
27327 3. add crf method into x265
27328 [c51c35880df5]
27329
27330 2013-11-01 Steve Borho <steve@borho.org>
27331
27332 * source/common/CMakeLists.txt:
27333 cmake: cleanup intrinc primitives
27334 [f81af999ef6c]
27335
27336 * source/common/CMakeLists.txt:
27337 cmake: more asm simplifications
27338 [ad8222ed1360]
27339
27340 * source/encoder/ratecontrol.cpp:
27341 rc: replace tabs with spaces
27342 [0d79e31728a4]
27343
27344 * source/CMakeLists.txt:
27345 cmake: drop STLport support, it is no longer necessary
27346 [a3d07bee1316]
27347
27348 2013-10-27 Neil Piken <neilpiken@gmail.com>
27349
27350 * build/vc12-x86/build-all.bat, build/vc12-x86/make-solutions.bat,
27351 build/vc12-x86_64/build-all.bat, build/vc12-x86_64/make-
27352 solutions.bat:
27353 cmake: add Visual Studio 2013 build folder
27354 [d7986ac66bc1]
27355
27356 2013-11-01 Steve Borho <steve@borho.org>
27357
27358 * source/common/CMakeLists.txt:
27359 cmake: remove obsolete build flags
27360 [a1502a1f1fa2]
27361
27362 2013-10-31 Steve Borho <steve@borho.org>
27363
27364 * source/CMakeLists.txt, source/common/CMakeLists.txt:
27365 cmake: remove assembly library to fix MSVC static lib
27366
27367 This fixes the static library built by VisualStudio to include the
27368 assembly objects. It has the side effect of causing the assembly
27369 objects to be built once for the static lib and once for the shared
27370 lib, which can be avoided by unloading the shared lib project while
27371 you are working on assembly within VisualStudio
27372 [3716c9f588df]
27373
27374 * source/cmake/CMakeDetermineASM_YASMCompiler.cmake:
27375 cmake: fix warning about ASM_YASM compiler being unknown
27376 [1c5122851247]
27377
27378 * source/x265.cpp:
27379 cli: tweaks for command line help
27380 [bd53cb226710]
27381
27382 * source/common/common.cpp:
27383 common: fix int typecast to operate on results of float expression
27384 [ae576a38ca5b]
27385
27386 * source/common/common.cpp, source/common/primitives.cpp,
27387 source/common/vec/vec-primitives.cpp, source/x265.h:
27388 Merge with stable
27389 [a4e9f242fdf3]
27390
27391 * source/x265.h:
27392 api: give structs the same name as their typedef
27393
27394 This allows them to be forward-decl'd.
27395 [30a0c2c5fcbd] <stable>
27396
27397 * source/common/cpu.cpp, source/common/vec/vec-primitives.cpp:
27398 cpu: move ASM fallback functions out of vec-primitives.cpp
27399
27400 This fixes link errors when ASM and vector primitives are both
27401 disabled
27402 [e1dde58cf6e1] <stable>
27403
27404 * source/common/common.cpp:
27405 common: disable MSVC warning that is exposed when compiling without
27406 primitives
27407 [01e77fde7194] <stable>
27408
27409 * source/common/primitives.cpp:
27410 primitives: fix compile warning exposed when ASM and instrincs are
27411 both disabled
27412 [ad6d6ddd7037] <stable>
27413
27414 * source/common/common.cpp, source/x265.h:
27415 api: add zero-latency tune target
27416
27417 This just disables lookahead and B frames at the moment.
27418 [8afb161419df]
27419
27420 * source/common/x86/asm-primitives.cpp:
27421 asm: disable more sad_x3 functions which cause crashes on Haswell
27422 [885e41fac726]
27423
27424 * source/common/x86/asm-primitives.cpp:
27425 asm: disable sad_x3[LUMA_32xN], they cause crashes on Haswell
27426
27427 Seen crashes on Windows, Mac, and Linux. The only constant is
27428 Haswell.
27429 [51660f092aa4]
27430
27431 * source/common/common.cpp:
27432 common: lower search range for higher presets with max CTU size 32
27433 [21da3bba6e70]
27434
27435 2013-10-30 Steve Borho <steve@borho.org>
27436
27437 * source/CMakeLists.txt, source/common/common.cpp, source/x265.cpp,
27438 source/x265.def.in, source/x265.h:
27439 api: introduce performance presets
27440 [0607132e6b11]
27441
27442 2013-10-31 Steve Borho <steve@borho.org>
27443
27444 * source/common/x86/asm-primitives.cpp:
27445 disable two avx2 routines which fail unit tests
27446 [2621639c96b5]
27447
27448 * source/common/vec/pixel-sse41.cpp:
27449 clang: re-disable 12x16, sse_pp_12x16 testbench fails
27450 [8f4744bdf6fc]
27451
27452 2013-10-31 Min Chen <chenm003@163.com>
27453
27454 * source/common/x86/ipfilter8.asm:
27455 asm: fix typo bug in chroma_p2s
27456 [e842b2a4aeeb]
27457
27458 2013-10-31 Nabajit Deka <Nabajit Deka>
27459
27460 * source/common/x86/asm-primitives.cpp,
27461 source/common/x86/ipfilter8.asm:
27462 asm: routines for vertical luma filter for all block sizes
27463 [faf29e19669f]
27464
27465 * source/test/ipfilterharness.cpp:
27466 Ensure that the destination buffer is not overwritten. 64 is added
27467 as it is the maximum width supported for luma filter.
27468 [935d96d93b70]
27469
27470 2013-10-31 Steve Borho <steve@borho.org>
27471
27472 * source/common/vec/pixel-sse41.cpp:
27473 remove clang prevention for 12x16 pixel primitives
27474 [30c655ec95f7]
27475
27476 * source/common/vec/pixel-sse41.cpp:
27477 pixel: remove sad_x3_12 and sad_x4_16 intrinsic functions
27478 [2d08d77871b0]
27479
27480 * source/encoder/ratecontrol.cpp:
27481 aq: remove unnecessary double->float->double conversions
27482 [abedbfdb1e12]
27483
27484 * source/encoder/ratecontrol.cpp:
27485 aq: fixes for loop over 16x16 blocks
27486
27487 This loop was busted when maxCUSize was not 64. It still has a
27488 problem with pictures that are not even multiples of 16. The
27489 lookahead will extend out the frame during lowres init to an even
27490 multiple of 16 pixels, so it's lowres CU width will be wider than
27491 the AQ code will use, so the block_xy offsets will be wrong for
27492 lookahead analysis.
27493
27494 The pixel extension needs to be moved earlier so AQ and the
27495 lookahead have a consistent 16x16 CU width
27496 [974a6afaddca]
27497
27498 * source/encoder/ratecontrol.cpp:
27499 aq: simplify acEnergyCu
27500
27501 EMMS was in the wrong place, there were a few white-space issues.
27502 [180d95f09057]
27503
27504 * source/encoder/ratecontrol.cpp:
27505 aq: use more explicit chroma variance stride
27506 [3e2d69028a3b]
27507
27508 * source/encoder/slicetype.cpp:
27509 aq: fix NULL pointer check
27510 [9acea4fbacef]
27511
27512 2013-10-31 Aarthi Thirumalai <Aarthi Thirumalai>
27513
27514 * source/Lib/TLibCommon/TComDataCU.cpp,
27515 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/encoder.cpp,
27516 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
27517 aq: set qp, lambda for every CU in the row before processing the CU
27518
27519 enabled bUseDQP flag when AQ is mode is ON.
27520 [650e40a62322]
27521
27522 2013-10-31 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27523
27524 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
27525 source/encoder/compress.cpp:
27526 compress: cleanup, remove unused data structs
27527 [eed2b51675cf]
27528
27529 2013-10-31 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27530
27531 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
27532 no-rdo: Use entropy encoder for bit estimation.
27533
27534 Instead of me-bit estimation, use entropy encoder.
27535 [775519fb9ba1]
27536
27537 2013-10-31 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27538
27539 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27540 assembly code for pixel_sad_x4_12x16
27541 [ed884e91d5d5]
27542
27543 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27544 assembly code for pixel_sad_x3_12x16
27545 [7ccdf622d081]
27546
27547 2013-10-31 Min Chen <chenm003@163.com>
27548
27549 * source/Lib/TLibCommon/TComPrediction.cpp,
27550 source/common/ipfilter.cpp, source/common/primitives.h,
27551 source/common/x86/asm-primitives.cpp,
27552 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
27553 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
27554 asm: chroma_p2s to replace ipfilter_p2s
27555 [4a40c4069ad1]
27556
27557 * source/Lib/TLibCommon/TComPrediction.cpp,
27558 source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
27559 asm: fix bug in luma_p2s and active it in encoder
27560 [21dbf988079b]
27561
27562 * source/common/x86/ipfilter8.asm:
27563 asm: less code size by reduce constant offset
27564 [a64e813de628]
27565
27566 * source/common/x86/sad-a.asm:
27567 asm: fix stack broken bug
27568 [08bc7ccc8aad]
27569
27570 2013-10-31 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27571
27572 * source/common/x86/sad-a.asm:
27573 asm: reduce large code size in sad_16xN, sad_32xN for better cache
27574 performance
27575 [9a0da4e6d9e3]
27576
27577 * source/common/x86/sad-a.asm:
27578 asm: reduce large code size in pixel_sad_8x32 for better cache
27579 performance
27580 [e4a75488c147]
27581
27582 2013-10-31 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27583
27584 * source/common/x86/sad-a.asm:
27585 asm: fix the bug which occured at win32 compile
27586 [4a886c170a51]
27587
27588 2013-10-31 Steve Borho <steve@borho.org>
27589
27590 * source/test/testpool.cpp:
27591 testpool: add missing stdio.h for printf
27592 [ec6b4d35f110]
27593
27594 2013-10-30 Steve Borho <steve@borho.org>
27595
27596 * source/common/vec/ipfilter-sse41.cpp:
27597 ipfilter: fix 16bpp build following f0eea23735a6
27598 [f06e4a24b388]
27599
27600 * source/encoder/framefilter.cpp:
27601 fix shadowed variable warning
27602 [a406f7c1dd3b]
27603
27604 2013-10-30 Praveen Tiwari <Praveen Tiwari>
27605
27606 * source/common/pixel.cpp:
27607 added blockcopy_pp_c primitive according to modified argument list
27608 [7f68debc632b]
27609
27610 * source/common/primitives.h, source/test/pixelharness.cpp,
27611 source/test/pixelharness.h:
27612 added test code for blockcopy_pp function
27613 [e8e84b67cf8f]
27614
27615 2013-10-30 Steve Borho <steve@borho.org>
27616
27617 * source/common/vec/pixel-sse41.cpp:
27618 pixel: remove sad_12, sad_48, and sad_64
27619
27620 All single sads have asm coverage
27621 [645899ddda59]
27622
27623 * source/common/vec/pixel-sse41.cpp:
27624 pixel: remove 24 and 32 width sad intrinsic functions
27625
27626 These are now covered by assembly. Only 12, 48, and 64 remain
27627 because they still lack x3 and x4 versions.
27628 [eccfe236169b]
27629
27630 2013-10-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27631
27632 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27633 assembly code for pixel_sad_x4_32xN
27634 [c3cf2c42e854]
27635
27636 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27637 assembly code for pixel_sad_x3_32xN
27638 [e371719c4c47]
27639
27640 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27641 assembly code for pixel_sad_x4_24x32
27642 [f021f06f3b80]
27643
27644 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
27645 source/common/x86/sad-a.asm:
27646 assembly code for pixel_sad_x3_24x32
27647 [de91fbc95b4a]
27648
27649 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27650
27651 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
27652 source/common/x86/sad-a.asm:
27653 asm: assembly code for pixel_sad_12x16
27654 [8ee637b11d17]
27655
27656 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
27657 source/common/x86/sad-a.asm:
27658 asm: assembly code for pixel_sad_24x32
27659 [ed5d877b8452]
27660
27661 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
27662 source/common/x86/sad-a.asm:
27663 asm: assembly code for pixel_sad_48x64
27664 [78db76b7abec]
27665
27666 2013-10-30 Min Chen <chenm003@163.com>
27667
27668 * source/Lib/TLibCommon/TComPrediction.cpp,
27669 source/common/ipfilter.cpp, source/common/primitives.h,
27670 source/common/x86/asm-primitives.cpp,
27671 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
27672 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
27673 asm: filterConvertPelToShort
27674 [1a51e6cb0e0c]
27675
27676 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27677
27678 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27679 asm: assembly code for pixel_sad_64x48 and pixel_sad_64x64
27680 [700b46a1a0cf]
27681
27682 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27683 asm: assembly code for pixel_sad_64x32
27684 [42ad273b1d4f]
27685
27686 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27687 asm: assembly code for pixel_sad_64x16
27688 [4414f3394a61]
27689
27690 * source/common/x86/sad-a.asm:
27691 asm: modified common macro for pixel_sad_64xN
27692 [e9340727231d]
27693
27694 2013-10-30 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27695
27696 * source/Lib/TLibEncoder/TEncSearch.cpp,
27697 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
27698 no-rdo: use bit estimates from ME to calculate RDcost.
27699
27700 bits estimated in ME stored in CU and used for calculating rdcost
27701 along with distortion. This results in better bitrate with no-rdo,
27702 with small drop in PSNR.
27703 [77db80a67f4e]
27704
27705 2013-10-30 Praveen Tiwari <Praveen Tiwari>
27706
27707 * source/common/x86/asm-primitives.cpp,
27708 source/common/x86/ipfilter8.asm:
27709 chroma interp_4tap_vert_pp all blocks asm code
27710 [74bf8634037c]
27711
27712 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27713
27714 * source/common/x86/pixel.h:
27715 asm: declare asm function pointers for sad_64xN partitions
27716 [9f9b2f8d293a]
27717
27718 2013-10-30 Steve Borho <steve@borho.org>
27719
27720 * source/common/vec/pixel-sse41.cpp:
27721 pixel: remove sad_x3_4x16 and sad_x4_4x16, no longer HAVE_MMX
27722 [65462024832b]
27723
27724 2013-10-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27725
27726 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27727 assembly code for pixel_sad_x3_4x16 and pixel_sad_x4_4x16
27728 [50c2c41ac0ea]
27729
27730 2013-10-30 Santhoshini Sekar <santhoshini@multicorewareinc.com>
27731
27732 * source/Lib/TLibEncoder/NALwrite.cpp,
27733 source/Lib/TLibEncoder/NALwrite.h, source/encoder/frameencoder.cpp:
27734 rename variable name m_Bitstream to m_bitstream
27735 [e2a1dcca4518]
27736
27737 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
27738 source/encoder/frameencoder.h:
27739 writing hash SEI messages in frameencoder
27740 [4c047e5ff69b]
27741
27742 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27743
27744 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27745 asm: assembly code for pixel_sad_16x12
27746 [40e38dfa5cdd]
27747
27748 2013-10-30 Steve Borho <steve@borho.org>
27749
27750 * source/common/vec/pixel-sse41.cpp:
27751 pixel: remove sad_8, sad_x3_8, sad_x4_8 intrinsic functions
27752 [abf8286f3fa9]
27753
27754 2013-10-30 Min Chen <chenm003@163.com>
27755
27756 * source/test/ipfilterharness.cpp:
27757 testbench: upgrade for check_IPFilter_primitive, don't pass wrong
27758 (width, height, stride) to asm
27759 [20aa88626c52]
27760
27761 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27762
27763 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27764 asm: assembly code for pixel_sad_8x32
27765 [c048ef93ea55]
27766
27767 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27768 asm: assembly code for pixel_sad_32x64
27769 [d3e510bb67cf]
27770
27771 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27772 asm: assembly code for pixel_sad_32x16
27773 [def3d61bc4b0]
27774
27775 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27776 asm: assembly code for pixel_sad_32x32
27777 [77aa24f08e76]
27778
27779 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27780 asm: assembly code for pixel_sad_32x24
27781 [840a638609b0]
27782
27783 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27784 asm: assembly code for pixel_sad_32x8
27785 [1aec8ddad7a3]
27786
27787 * source/common/x86/sad-a.asm:
27788 asm: created comman asm macro for pixel_sad_32xN functions
27789 [f69c0f13c7b0]
27790
27791 2013-10-29 Steve Borho <steve@borho.org>
27792
27793 * source/common/vec/pixel-sse41.cpp:
27794 pixel: remove sad_16, sad_x3_16 and sad_x4_16
27795
27796 We have assembly coverage for everything but sad_16x12; which I've
27797 put on the top of our TODO list.
27798 [42ae4dc90005]
27799
27800 2013-10-29 Murugan Vairavel <murugan@multicorewareinc.com>
27801
27802 * source/common/ipfilter.cpp, source/encoder/motion.cpp,
27803 source/test/intrapredharness.cpp:
27804 refactor: Check need for signed/unsigned int16_t
27805 [c946d617fd9f]
27806
27807 2013-10-29 Steve Borho <steve@borho.org>
27808
27809 * Merge
27810 [b02df3ebdf39]
27811
27812 2013-10-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
27813
27814 * source/Lib/TLibCommon/TComDataCU.cpp:
27815 TComDataCU: Remove initializations in initCU() already initialized
27816 in create()
27817
27818 currently m_partSizes, m_mvpIdx[0] and m_mvpIdx[1] all three
27819 variables initialized using memset in TComDataCU::create() and same
27820 initialization in done in TComDataCU::initCU(), removed the memset
27821 in initCU() to avoid the duplicate initilization
27822 [deac0d819c43]
27823
27824 2013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27825
27826 * source/Lib/TLibCommon/TComMotionInfo.cpp:
27827 cleanups: Remove unnecessary reset.
27828
27829 If refIdx is set to NOT_VALID, mv will not be used. Hence resetting
27830 MVs to 0 can be safely removed.
27831 [50cd62d85ead]
27832
27833 * source/Lib/TLibEncoder/TEncSearch.cpp:
27834 Cleanups: Remove call to setALLMVField, and set only required
27835 members.
27836 [6552629b45c5]
27837
27838 * source/Lib/TLibCommon/TComMotionInfo.h:
27839 Cleanups: MVField - make members public.
27840
27841 set and clear methods take many cycles, where most of the time only
27842 one index need to be set. By giving public access, caller can set
27843 required indexes.
27844 [f1a1d4f19db4]
27845
27846 2013-10-29 Sumalatha Polureddy <Sumalatha Polureddy>
27847
27848 * source/Lib/TLibCommon/TComDataCU.cpp,
27849 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
27850 no_rdo: implementation of new early exit
27851
27852 early exit is done when the RD cost of best mode at depth "n" is
27853 less than the average of RD cost of the CU's at depth "n" of
27854 previosuly coded CU's(CUAbove, CUAboveRight, CUAoveLeft, CULeft,
27855 CUColocated). For HD videos performance improvement of 20 to 27%
27856 bitrate increases by 0.75 to 0.02%
27857 [0e0d0d2e1d2b]
27858
27859 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27860
27861 * source/common/x86/pixel.h:
27862 asm: declare asm function pointers for sad_32xN partitions
27863 [b3208fa4294b]
27864
27865 2013-10-29 Min Chen <chenm003@163.com>
27866
27867 * source/common/x86/ipfilter8.asm:
27868 asm: improvement on chroma_hpp{2,4} by reduce memory operator
27869 [48b75fc2e614]
27870
27871 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27872
27873 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27874 asm: assembly code for pixel_sad_16x4
27875 [fb7b95d11c77]
27876
27877 2013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27878
27879 * source/encoder/compress.cpp:
27880 no-rdo: add no-residue candidate in merge2Nx2N
27881 [064f309d4862]
27882
27883 2013-10-29 Steve Borho <steve@borho.org>
27884
27885 * source/common/common.cpp, source/common/primitives.h,
27886 source/encoder/ratecontrol.cpp:
27887 Merge with stable
27888 [8b909d315964]
27889
27890 * .hgtags:
27891 Added tag 0.5 for changeset 69acb3cb777f
27892 [9eef2952ea16] <stable>
27893
27894 2013-10-28 idxa <idxa>
27895
27896 * source/common/common.cpp, source/encoder/ratecontrol.cpp:
27897 rc: improvements for ABR
27898
27899 1. modify rateTolerance from 0.1 to 1.0, in order to allow the final
27900 bitrate to fluctuate more(CBR to ABR)
27901
27902 2. ncu in initialization of ratecontrol is set according to 16x16
27903 block size which is same to x264, for the empirical formula in x264
27904 is for 16x16 size.
27905
27906 3. do more modification to make ratecontrol algorithm of x265 more
27907 similar to x264 for x264 has been developed for about 10 years and
27908 is very mature , it is reasonale to take its method firstly.
27909 [69acb3cb777f] [0.5] <stable>
27910
27911 2013-10-25 Steve Borho <steve@borho.org>
27912
27913 * source/encoder/encoder.cpp:
27914 encoder: prevent divide by zero in elapsedVideoTime calculation
27915 [6528ab023062] <stable>
27916
27917 2013-10-29 Steve Borho <steve@borho.org>
27918
27919 * source/common/primitives.h:
27920 primitives: fix ordering of LUMA_4x16 LUMA_16x4 to match other AMP
27921 partitions
27922
27923 This also fixes the testbench to properly represent 16x4 and 4x16
27924 partition primitives
27925 [9713ec98fa8a] <stable>
27926
27927 2013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27928
27929 * source/encoder/compress.cpp:
27930 no-rdo: add no-residue candidate in merge2Nx2N
27931 [358400cb0c67]
27932
27933 2013-10-29 Murugan Vairavel <murugan@multicorewareinc.com>
27934
27935 * source/Lib/TLibCommon/TComTrQuant.cpp,
27936 source/Lib/TLibCommon/TComTrQuant.h,
27937 source/Lib/TLibCommon/TypeDef.h:
27938 Cleanups: Replacing Ushort with uint16_t
27939 [4c618e33c25f]
27940
27941 2013-10-29 Steve Borho <steve@borho.org>
27942
27943 * source/common/primitives.h:
27944 primitives: fix ordering of LUMA_4x16 LUMA_16x4 to match other AMP
27945 partitions
27946
27947 This also fixes the testbench to properly represent 16x4 and 4x16
27948 partition primitives
27949 [4db0aec57138]
27950
27951 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27952
27953 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27954 asm: assembly code for pixel_sad_16x64
27955 [3c0b386fe799]
27956
27957 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
27958 asm: assembly code for pixel_sad_16x32
27959 [f44cc9f976cc]
27960
27961 2013-10-29 Steve Borho <steve@borho.org>
27962
27963 * source/common/vec/vec-primitives.cpp:
27964 vec: fix VC9 build with ASM disabled but intrinsics enabled
27965 [8846f5cf6d8d]
27966
27967 * source/common/threadpool.cpp, source/input/y4m.cpp,
27968 source/input/yuv.cpp:
27969 use correct _WIN32 build guard
27970 [560bd09eb4bb]
27971
27972 2013-10-29 Min Chen <chenm003@163.com>
27973
27974 * source/common/x86/asm-primitives.cpp,
27975 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
27976 source/test/ipfilterharness.cpp:
27977 asm: interp_8tap_v_sp for ipfilter_sp[FILTER_V_S_P_8]
27978 [44c38df44532]
27979
27980 2013-10-28 Min Chen <chenm003@163.com>
27981
27982 * source/Lib/TLibCommon/TComPrediction.cpp,
27983 source/common/ipfilter.cpp, source/common/primitives.h,
27984 source/common/vec/ipfilter-sse41.cpp, source/encoder/motion.cpp,
27985 source/test/ipfilterharness.cpp:
27986 replace pointer to coeff by coeffIdx in ipfilter_sp
27987 [f0eea23735a6]
27988
27989 * source/encoder/motion.cpp:
27990 disable interpolate horizontal merge
27991
27992 we need width is multiple of 4 in asm code, the maskmovq is very
27993 expensive
27994 [a36a2e39f983]
27995
27996 * source/common/ipfilter.cpp, source/common/primitives.h,
27997 source/common/x86/asm-primitives.cpp,
27998 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
27999 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
28000 asm: interp_8tap_hv_pp_8x8() for Interpolate_HV_8x8
28001 [31dfc1580bf2]
28002
28003 2013-10-28 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28004
28005 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
28006 asm code for pixel_sad_x3_16x64 and pixel_sad_x4_16x64
28007 [0666d56aaa42]
28008
28009 2013-10-28 Aarthi Thirumalai <Aarthi Thirumalai>
28010
28011 * source/common/lowres.cpp, source/common/lowres.h,
28012 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
28013 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
28014 source/encoder/slicetype.cpp:
28015 rc: implement qp with Aq for each Cu before encoding them.
28016 [c3a28172894a]
28017
28018 2013-10-28 Kavitha Sampath <kavitha@multicorewareinc.com>
28019
28020 * source/encoder/encoder.cpp, source/input/input.h,
28021 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
28022 source/input/yuv.h, source/output/output.cpp,
28023 source/output/output.h, source/output/yuv.cpp, source/output/yuv.h,
28024 source/x265.cpp, source/x265.h:
28025 refactor: (Input/Output files) - Check need of signed/unsigned int
28026 [5e1fb266b39f]
28027
28028 2013-10-28 murugan <murugan@multicorewareinc.com Murugan Vairavel>
28029
28030 * source/output/y4m.cpp, source/output/yuv.cpp:
28031 refactor: use unsigned int16 types where applicable
28032 [4de8551f1f52]
28033
28034 2013-10-28 Kavitha Sampath <kavitha@multicorewareinc.com>
28035
28036 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
28037 source/Lib/TLibCommon/TComBitCounter.h,
28038 source/Lib/TLibCommon/TComBitStream.cpp,
28039 source/Lib/TLibCommon/TComBitStream.h,
28040 source/Lib/TLibCommon/TComDataCU.cpp,
28041 source/Lib/TLibCommon/TComDataCU.h,
28042 source/Lib/TLibCommon/TComLoopFilter.cpp,
28043 source/Lib/TLibCommon/TComLoopFilter.h,
28044 source/Lib/TLibCommon/TComMotionInfo.cpp,
28045 source/Lib/TLibCommon/TComMotionInfo.h,
28046 source/Lib/TLibCommon/TComPattern.cpp,
28047 source/Lib/TLibCommon/TComPattern.h,
28048 source/Lib/TLibCommon/TComPic.h,
28049 source/Lib/TLibCommon/TComPicSym.cpp,
28050 source/Lib/TLibCommon/TComPicSym.h,
28051 source/Lib/TLibCommon/TComPicYuv.cpp,
28052 source/Lib/TLibCommon/TComPicYuv.h,
28053 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
28054 source/Lib/TLibCommon/TComPrediction.cpp,
28055 source/Lib/TLibCommon/TComPrediction.h,
28056 source/Lib/TLibCommon/TComRdCost.h,
28057 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
28058 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
28059 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
28060 source/Lib/TLibCommon/TComSlice.cpp,
28061 source/Lib/TLibCommon/TComSlice.h,
28062 source/Lib/TLibCommon/TComTrQuant.cpp,
28063 source/Lib/TLibCommon/TComTrQuant.h,
28064 source/Lib/TLibCommon/TComWeightPrediction.cpp,
28065 source/Lib/TLibCommon/TComWeightPrediction.h,
28066 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
28067 source/Lib/TLibCommon/TypeDef.h,
28068 source/Lib/TLibEncoder/NALwrite.cpp,
28069 source/Lib/TLibEncoder/NALwrite.h,
28070 source/Lib/TLibEncoder/SEIwrite.cpp,
28071 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
28072 source/Lib/TLibEncoder/SyntaxElementWriter.h,
28073 source/Lib/TLibEncoder/TEncAnalyze.h,
28074 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28075 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
28076 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
28077 source/Lib/TLibEncoder/TEncCu.h,
28078 source/Lib/TLibEncoder/TEncEntropy.cpp,
28079 source/Lib/TLibEncoder/TEncEntropy.h,
28080 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
28081 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
28082 source/Lib/TLibEncoder/TEncSbac.cpp,
28083 source/Lib/TLibEncoder/TEncSbac.h,
28084 source/Lib/TLibEncoder/TEncSearch.cpp,
28085 source/Lib/TLibEncoder/TEncSearch.h,
28086 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
28087 source/Lib/TLibEncoder/WeightPredAnalysis.h,
28088 source/common/common.cpp, source/common/dct.cpp,
28089 source/common/lowres.cpp, source/common/lowres.h,
28090 source/common/pixel.cpp, source/common/primitives.h,
28091 source/common/threading.h, source/common/vec/dct-sse3.cpp,
28092 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
28093 source/common/vec/intra-sse41.cpp, source/common/vec/pixel-avx2.cpp,
28094 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
28095 source/common/vec/pixel16-sse41.cpp, source/compat/getopt/getopt.c,
28096 source/compat/getopt/getopt.h, source/encoder/compress.cpp,
28097 source/encoder/cturow.cpp, source/encoder/cturow.h,
28098 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
28099 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp,
28100 source/encoder/slicetype.cpp:
28101 refactor: replace int pointers with int32_t and UInt with uint32_t
28102 [a96b8f225c4a]
28103
28104 * source/Lib/TLibCommon/TComDataCU.cpp,
28105 source/Lib/TLibCommon/TComDataCU.h,
28106 source/Lib/TLibCommon/TComPrediction.cpp,
28107 source/Lib/TLibCommon/TComPrediction.h,
28108 source/Lib/TLibCommon/TComSlice.cpp,
28109 source/Lib/TLibCommon/TComSlice.h,
28110 source/Lib/TLibCommon/TComWeightPrediction.cpp,
28111 source/Lib/TLibCommon/TComWeightPrediction.h,
28112 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
28113 source/Lib/TLibEncoder/TEncEntropy.cpp,
28114 source/Lib/TLibEncoder/TEncEntropy.h,
28115 source/Lib/TLibEncoder/TEncSbac.cpp,
28116 source/Lib/TLibEncoder/TEncSbac.h,
28117 source/Lib/TLibEncoder/TEncSearch.cpp,
28118 source/Lib/TLibEncoder/TEncSearch.h,
28119 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
28120 source/encoder/compress.cpp, source/encoder/dpb.cpp,
28121 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
28122 refactor: replace ternary operator with loop variable and enum with
28123 #define
28124 [4176ba91f62d]
28125
28126 2013-10-28 Santhoshini Sekar <santhoshini@multicorewareinc.com>
28127
28128 * source/Lib/TLibCommon/TComPic.h,
28129 source/Lib/TLibCommon/TComPicYuv.cpp,
28130 source/Lib/TLibCommon/TComPicYuv.h,
28131 source/Lib/TLibCommon/TComPicYuvMD5.cpp, source/encoder/encoder.cpp,
28132 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
28133 row wise generation of hash in framefilter
28134 [edd33e942d7b]
28135
28136 2013-10-28 Steve Borho <steve@borho.org>
28137
28138 * source/input/input.cpp, source/input/input.h, source/x265.cpp:
28139 cli: add --y4m option to force Y4M stream parser
28140 [fa30212a64f8]
28141
28142 2013-10-28 Gopu Govindaswamy <gopu@multicorewareinc.com>
28143
28144 * source/input/y4m.cpp, source/input/y4m.h:
28145 input: read y4m input from stdin if filename is passed as "-"
28146 [f59393a695ee]
28147
28148 * source/input/y4m.cpp:
28149 y4m : bug fix for calculating framesize in skipFrames()
28150 [7916afc6c9c4]
28151
28152 2013-10-28 Steve Borho <steve@borho.org>
28153
28154 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h,
28155 source/encoder/compress.cpp, source/encoder/motion.cpp,
28156 source/encoder/slicetype.cpp, source/test/pixelharness.cpp:
28157 primitives: lower case partitionFromSizes() function to follow
28158 coding style
28159 [ef2428fd32fe]
28160
28161 2013-10-27 Steve Borho <steve@borho.org>
28162
28163 * source/common/primitives.cpp, source/common/primitives.h:
28164 primitives: micro optimizations of PartitionFromSizes()
28165
28166 * use int for w, h
28167 * change lookup table to uint8_t
28168 * make function inlined
28169 [1a65c6df7e70]
28170
28171 2013-10-27 Wenju He <wenju@multicorewareinc.com>
28172
28173 * source/Lib/TLibEncoder/TEncSearch.cpp:
28174 need not compute chroma in xGetInterPredictionError
28175 [7c2ce4d33f62]
28176
28177 * source/Lib/TLibEncoder/TEncSearch.cpp:
28178 fix variable name, msg to mrg
28179 [e1453bc3ae1e]
28180
28181 2013-10-25 Steve Borho <steve@borho.org>
28182
28183 * source/input/y4m.cpp, source/input/yuv.cpp:
28184 input: do not check for inactive read thread until read queue is
28185 empty
28186 [ccac3a7d3622]
28187
28188 * source/input/yuv.cpp:
28189 yuv: set binary mode on stdin on Windows
28190 [34573a44f81d]
28191
28192 * source/input/y4m.cpp, source/input/yuv.cpp:
28193 input: do not use ifstream.good(), use ifstream.ignore() for
28194 skipFrames
28195 [bc044398a2c1]
28196
28197 * source/x265.cpp:
28198 cli: improve handling of encoder start failures; no pictures encoded
28199 [8606211480ea]
28200
28201 * source/encoder/encoder.cpp:
28202 encoder: prevent divide by zero in elapsedVideoTime calculation
28203 [824ede6074a6]
28204
28205 * source/input/y4m.cpp, source/input/yuv.cpp:
28206 input: prevent more deadlocks on file read errors
28207 [12d6ba61b235]
28208
28209 * source/input/yuv.cpp:
28210 yuv: fix --skip behavior for stdin
28211 [565abe18280a]
28212
28213 * source/cmake/version.cmake:
28214 cmake: improve .hg_archive parsing
28215
28216 Patch submitted by HaaeeD via pull request
28217 [7dff7b61898c]
28218
28219 * Merge
28220 [4d024982658d]
28221
28222 * Merge with stable
28223 [4cdd80a730ab]
28224
28225 * source/x265.cpp:
28226 cli: improve handling of unknown input frame count
28227 [0c8e2580b410] <stable>
28228
28229 * source/encoder/encoder.cpp:
28230 encoder: calculate encoded video time in floating point
28231 [9c26397ec80c] <stable>
28232
28233 * source/common/ipfilter.cpp:
28234 Merged in mcwmurugan/x265 (pull request #5)
28235
28236 CleanUps: Replacing Short with int16_t
28237 [4ced02a9a5b2]
28238
28239 2013-10-25 Murugan <murugan@multicorewareinc.com>
28240
28241 * source/Lib/TLibCommon/TComLoopFilter.cpp,
28242 source/Lib/TLibCommon/TComPrediction.cpp,
28243 source/Lib/TLibCommon/TComPrediction.h,
28244 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
28245 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
28246 source/Lib/TLibCommon/TComTrQuant.cpp,
28247 source/Lib/TLibCommon/TComTrQuant.h,
28248 source/Lib/TLibCommon/TComWeightPrediction.cpp,
28249 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
28250 source/Lib/TLibEncoder/TEncSearch.cpp,
28251 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
28252 source/common/TShortYUV.h, source/common/dct.cpp,
28253 source/common/intrapred.cpp, source/common/ipfilter.cpp,
28254 source/common/pixel.cpp, source/common/primitives.h,
28255 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
28256 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/dct-
28257 ssse3.cpp, source/common/vec/intra-ssse3.cpp, source/common/vec
28258 /ipfilter-sse41.cpp, source/common/vec/ipfilter-ssse3.cpp,
28259 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
28260 source/common/x86/pixel.h, source/encoder/motion.cpp,
28261 source/encoder/motion.h, source/output/y4m.cpp,
28262 source/output/yuv.cpp, source/test/intrapredharness.cpp,
28263 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h,
28264 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
28265 source/test/pixelharness.cpp, source/test/pixelharness.h:
28266 CleanUps: Replacing Short with int16_t
28267 [2126b735949e]
28268
28269 2013-10-25 Steve Borho <steve@borho.org>
28270
28271 * source/Lib/TLibCommon/TComPicYuv.cpp,
28272 source/encoder/ratecontrol.cpp:
28273 Merge with stable
28274 [f645df2eb5bd]
28275
28276 * source/input/yuv.cpp:
28277 yuv: do not attempt to measure size of stdin
28278 [88e0d2dbb8fe]
28279
28280 * source/Lib/TLibCommon/TComPicYuv.cpp:
28281 TComPicYuv: increase vertical padding to account for
28282 TComDataCU::clipMv() logic
28283
28284 mvmin is clamped to -(g_maxCUHeight + offset + m_cuPelY) where
28285 offset is 8
28286 [9a7c5831ebf8] <stable>
28287
28288 2013-10-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
28289
28290 * source/encoder/ratecontrol.cpp:
28291 rc: Bug fix. use the slice type from the right context in
28292 rateControlEnd.
28293 [782e2d041d3f] <stable>
28294
28295 2013-10-25 Steve Borho <steve@borho.org>
28296
28297 * source/input/yuv.cpp:
28298 Merge with stable
28299 [333c7a8d1f49]
28300
28301 * source/input/yuv.cpp:
28302 yuv: zero ifs pointer if deleted
28303 [3d733e4c52c7]
28304
28305 2013-10-25 Nabajit Deka <Nabajit Deka>
28306
28307 * source/common/ipfilter.cpp, source/common/x86/ipfilter8.h:
28308 Function declarations and function pointers set up for the vertical
28309 luma filter functions.
28310 [2adbf0c4c4c0]
28311
28312 2013-10-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
28313
28314 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
28315 tenccu : remove unused functions
28316 [74f7e6d96d2d]
28317
28318 * source/Lib/TLibCommon/NAL.h:
28319 nal: remove unused helper functions
28320 [85c064318253]
28321
28322 * source/input/y4m.cpp, source/input/yuv.cpp:
28323 input: initialize the input buffer (buf) pointer
28324 [ba7d3d79c5a3] <stable>
28325
28326 * source/input/yuv.cpp, source/input/yuv.h:
28327 input: read yuv input from stdin if filename is passed as "-"
28328 [9223c4aff1e0]
28329
28330 2013-10-25 Nabajit Deka <Nabajit Deka>
28331
28332 * source/common/primitives.h, source/test/ipfilterharness.cpp:
28333 Test bench code for vertical luma filter.
28334 [4ca4da7bdd36]
28335
28336 2013-10-25 Steve Borho <steve@borho.org>
28337
28338 * source/test/pixelharness.cpp:
28339 testbench: differentiate the two weight functions
28340 [159876e25c7a]
28341
28342 2013-10-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28343
28344 * source/common/vec/pixel-sse41.cpp:
28345 pixel: modified weightUnidirPixel to match the changes done in c
28346 code
28347 [298b17e548d4]
28348
28349 2013-10-25 Steve Borho <steve@borho.org>
28350
28351 * source/encoder/reference.cpp:
28352 reference: initialize weight buffer pointer
28353 [4125c74ff21d]
28354
28355 2013-10-25 Min Chen <chenm003@163.com>
28356
28357 * source/common/x86/ipfilter8.asm:
28358 more general on ipfilter macro FILTER_H8_W8
28359 [6d6fe9d208d1]
28360
28361 2013-10-25 Steve Borho <steve@borho.org>
28362
28363 * source/CMakeLists.txt, source/compat/getopt/LGPL.txt,
28364 source/compat/getopt/getopt.c, source/compat/getopt/getopt.h,
28365 source/compat/msvc/LGPL.txt, source/compat/msvc/getopt.c,
28366 source/compat/msvc/getopt.h:
28367 cmake: segregate the getopt files into their own compat/ folder
28368 [84aea900ea0d]
28369
28370 * Merge with stable
28371 [7145f423fd03]
28372
28373 * source/CMakeLists.txt:
28374 cmake: add compat/msvc to include path if using our getopt.h
28375 [7cc9e1566162] <stable>
28376
28377 * source/input/y4m.cpp, source/input/yuv.cpp, source/x265.cpp:
28378 input: improve handling of frame count estimation failures
28379 [88f69939bc17] <stable>
28380
28381 2013-10-24 Steve Borho <steve@borho.org>
28382
28383 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
28384 source/input/yuv.cpp, source/input/yuv.h, source/x265.cpp:
28385 input: add explicit startReader() method to prevent file handle use
28386 collisions
28387 [6e4ef45441b7] <stable>
28388
28389 * source/encoder/encoder.cpp:
28390 encoder: fix per-frame logging without CSV file
28391 [260bff6100f2] <stable>
28392
28393 * source/input/y4m.cpp:
28394 y4m: directly use member variables while parsing header
28395 [0174ac7bc2b1] <stable>
28396
28397 * source/output/yuv.cpp:
28398 yuv: fix VC9 compile warning - possible loss of precision
28399 [34c9951b15fa] <stable>
28400
28401 * source/common/common.cpp:
28402 Merge with stable
28403 [f886f2ed1fcd]
28404
28405 * source/CMakeLists.txt:
28406 cmake: use system native stdint.h and getopt if they are found
28407 [1ab80557656a] <stable>
28408
28409 * source/common/vec/pixel-sse41.cpp:
28410 pixel: sse_sp[LUMA_12x16] fails tests on clang, disable it
28411 [17195e65e91b] <stable>
28412
28413 * source/input/y4m.cpp, source/input/yuv.cpp:
28414 input: add missing carriage returns from error log messages
28415 [63ca0173f8cb] <stable>
28416
28417 * source/input/y4m.cpp:
28418 y4m: disable file reader thread on frame header errors
28419
28420 Prevents deadlocks from malformed Y4M files
28421 [776c2ec26a5f] <stable>
28422
28423 * source/common/common.cpp:
28424 common: hoist x265_mdate above using namespace x265
28425
28426 I do not understand why, but this fixes cli linkage on Mac
28427 [4ac43db2d640] <stable>
28428
28429 * source/encoder/reference.cpp, source/encoder/reference.h:
28430 reference: more robust initialization, remove m_startPad member
28431 variable
28432
28433 m_startPad was only used in the init() function so it could be an
28434 auto-var
28435 [015839081c84]
28436
28437 * source/Lib/TLibCommon/TComPicYuv.cpp, source/encoder/reference.cpp:
28438 Merge with stable
28439 [201468d75f33]
28440
28441 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
28442 weightp: use source reference frames for weight analysis
28443
28444 This fixes weightp when used in combination with frame parallelism,
28445 where the reference's reconstructed picture is most likely not yet
28446 avaialable.
28447
28448 Some measurements using the sintel 480p clip no-weightp -F1: 408.47s
28449 (3.07 fps), 144.63 kb/s, Global PSNR: 48.956 no-weightp -F3: 361.14s
28450 (3.47 fps), 144.01 kb/s, Global PSNR: 48.746
28451
28452 Prior to this change (recon refs used for weightp analysis): weightp
28453 -F1: 402.84s (3.11 fps), 131.09 kb/s, Global PSNR: 49.908 x265
28454 [info]: 278 of 687 (40.47%) P frames weighted weightp -F3: 355.88s
28455 (3.52 fps), 132.09 kb/s, Global PSNR: 49.768 x265 [info]: 242 of 687
28456 (35.23%) P frames weighted
28457
28458 After this change (source refs used for weightp analysis): weightp
28459 -F1: 404.83s (3.10 fps), 131.82 kb/s, Global PSNR: 49.414 x265
28460 [info]: 325 of 687 (47.31%) P frames weighted weightp -F3: 348.32s
28461 (3.60 fps), 131.01 kb/s, Global PSNR: 49.957 x265 [info]: 325 of 687
28462 (47.31%) P frames weighted
28463
28464 Because of the lower bitrate, enabling weightp actually makes this
28465 clip encode faster. No idea why -F1 has so much less PSNR than -F3;
28466 needs investigation.
28467 [a44b48b74d6f] <stable>
28468
28469 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp:
28470 TComPicYuv: fix padding of picture buffers
28471
28472 Ensure row starts are at a multiple of 32, this causes strides to be
28473 multiple of 64. Before this patch, strides we capable of being
28474 multiples of 8, causing alignment exceptions for some videos.
28475 [0315cf14deda] <stable>
28476
28477 * source/Lib/TLibCommon/TComPicYuv.cpp:
28478 TComPicYuv: remove unused include
28479 [a54a9fa53063] <stable>
28480
28481 * source/Lib/TLibCommon/TComSlice.cpp,
28482 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp,
28483 source/encoder/slicetype.cpp:
28484 Merge with stable
28485 [a349dec61168]
28486
28487 2013-10-24 Min Chen <chenm003@163.com>
28488
28489 * source/Lib/TLibCommon/TComTrQuant.cpp,
28490 source/Lib/TLibCommon/TComTrQuant.h:
28491 improvement xGetRateLast by remove reduce double operator
28492 [4bb4dbe427ec]
28493
28494 * source/Lib/TLibCommon/TComTrQuant.cpp,
28495 source/Lib/TLibCommon/TComTrQuant.h,
28496 source/Lib/TLibEncoder/TEncSbac.cpp:
28497 improvement getSigCoeffGroupCtxInc by merge pointer calculate
28498 [c986a9fc7f8f]
28499
28500 * source/Lib/TLibCommon/TComTrQuant.cpp,
28501 source/Lib/TLibCommon/TComTrQuant.h,
28502 source/Lib/TLibEncoder/TEncSbac.cpp:
28503 improvement TComTrQuant::calcPatternSigCtx
28504
28505 1. replace width/height by size, since there are only NxN 2. use
28506 mask operatior to avoid condition and branch
28507 [84bf706ace32]
28508
28509 * source/Lib/TLibCommon/TComTrQuant.cpp:
28510 improvement TComTrQuant::getSigCtxInc by lookup table for 'cnt'
28511 [25d372f13fb6]
28512
28513 2013-10-24 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
28514
28515 * source/encoder/slicetype.cpp:
28516 lookahead: fix reference initialization for intra prediction
28517
28518 buffer size of pAbove/pLeft is height+1+width = 2*cusize+1
28519 [1aaa596bb20b] <stable>
28520
28521 2013-10-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
28522
28523 * source/input/y4m.cpp:
28524 input: If Any error in reading frame from file, deactivate the
28525 thread and exit encoder gracefully
28526 [b69e4433cc97] <stable>
28527
28528 * source/output/y4m.cpp, source/output/yuv.cpp:
28529 output: use 64bit file offsets to prevent overflow with 4k video
28530 [f94f18950283] <stable>
28531
28532 2013-10-24 Steve Borho <steve@borho.org>
28533
28534 * source/encoder/encoder.cpp:
28535 encoder: fix bitrate statistic (accBits is a bit count, not byte
28536 count)
28537 [98bf7e4154f5] <stable>
28538
28539 2013-10-24 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
28540
28541 * source/Lib/TLibCommon/TComSlice.cpp,
28542 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
28543 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
28544 source/x265.h:
28545 Displaying the number of weighted P frames used in console log
28546 [e8992549a970] <stable>
28547
28548 2013-10-24 Min Chen <chenm003@163.com>
28549
28550 * source/Lib/TLibEncoder/TEncSbac.h:
28551 fix commit typo
28552 [eb694f6150b1]
28553
28554 2013-10-24 Steve Borho <steve@borho.org>
28555
28556 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
28557 source/common/x86/sad-a.asm:
28558 asm: instantiate some sad_x3 and sad_x4 functions for HEVC
28559 partitions
28560 [3b8fa23f68ec]
28561
28562 2013-10-23 Steve Borho <steve@borho.org>
28563
28564 * source/Lib/TLibCommon/TComSlice.cpp,
28565 source/Lib/TLibCommon/TComSlice.h:
28566 TComSlice: remove unused copySliceInfo
28567 [e8f05b1c543a]
28568
28569 * source/Lib/TLibCommon/TComSlice.cpp,
28570 source/Lib/TLibCommon/TComSlice.h:
28571 TComSlice: remove unused m_bEqualRef and helper functions
28572 [d31740e6905d]
28573
28574 * source/Lib/TLibCommon/TComSlice.cpp,
28575 source/Lib/TLibCommon/TComSlice.h,
28576 source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/dpb.cpp:
28577 TComSlice: remove unused TComRefPicListModification
28578 [855151a30078]
28579
28580 * source/Lib/TLibCommon/TComPicYuv.cpp,
28581 source/Lib/TLibCommon/TComPicYuv.h,
28582 source/Lib/TLibCommon/TComPrediction.cpp,
28583 source/Lib/TLibCommon/TComPrediction.h,
28584 source/Lib/TLibCommon/TComSlice.h,
28585 source/Lib/TLibEncoder/TEncSearch.cpp,
28586 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
28587 source/common/lowres.h, source/common/mv.h,
28588 source/common/reference.cpp, source/common/reference.h,
28589 source/encoder/CMakeLists.txt, source/encoder/dpb.cpp,
28590 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
28591 source/encoder/reference.cpp, source/encoder/reference.h:
28592 reference: cache MotionReference instances in each FrameEncoder
28593
28594 This prevents these structures from being allocated over and over
28595 for each frame The source files were moved into the encoder folder
28596 where they've belonged but couldn't live in the past because
28597 TComPicYuv needed to know their contents.
28598 [95384f8f7c22]
28599
28600 2013-10-24 Steve Borho <steve@borho.org>
28601
28602 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
28603 source/common/common.cpp, source/common/common.h,
28604 source/common/primitives.cpp:
28605 Merge with stable
28606 [6ea79d6f7e17]
28607
28608 2013-10-23 Steve Borho <steve@borho.org>
28609
28610 * source/Lib/TLibCommon/TComPicYuv.cpp,
28611 source/Lib/TLibCommon/TComPicYuv.h,
28612 source/Lib/TLibEncoder/TEncCfg.h, source/common/common.cpp,
28613 source/common/common.h, source/common/primitives.cpp,
28614 source/dllmain.cpp, source/encoder/encoder.cpp,
28615 source/encoder/encoder.h, source/input/input.h,
28616 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
28617 source/input/yuv.h, source/output/output.h, source/output/y4m.cpp,
28618 source/output/y4m.h, source/output/yuv.cpp, source/output/yuv.h,
28619 source/x265.cpp, source/x265.h:
28620 api: drop _t suffix from public data types, for POSIX compatibility
28621
28622 x265_t was changed to x265_encoder, since x265 is too short and
28623 would collide with our namespace.
28624 [b07c29e930fe] <stable>
28625
28626 * source/x265.h:
28627 api: white-space cleanups in x265.h
28628 [7beeab25a8fb] <stable>
28629
28630 * source/CMakeLists.txt, source/Lib/TLibCommon/CommonDef.h,
28631 source/common/common.cpp, source/dllmain.cpp,
28632 source/encoder/encoder.cpp, source/encoder/encoder.h,
28633 source/x265.cpp, source/x265.def.in, source/x265.h:
28634 api: large reorg of logging and statistics
28635
28636 * move all CSV logging into the encoder so API users can take
28637 advantage of it
28638 * remove hacky global PSNR return value from x265_encoder_close
28639 * add time and bitrate values to x265_stats_t
28640 * remove some dead HM code
28641 * use x265_log in the CLI
28642 [3e53b004a8f8] <stable>
28643
28644 2013-10-23 Kavitha Sampath <kavitha@multicorewareinc.com>
28645
28646 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
28647 source/common/common.cpp, source/common/common.h,
28648 source/encoder/encoder.cpp, source/encoder/encoder.h,
28649 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
28650 source/x265.cpp, source/x265.h:
28651 CSV log: Enable frame-by-frame CSV logging
28652 [0c8dbda94696] <stable>
28653
28654 2013-10-22 Steve Borho <steve@borho.org>
28655
28656 * source/CMakeLists.txt, source/x265.pc.in:
28657 cmake: generate and install pkgconfig file
28658
28659 This installs the x265.pc into /usr/local/lib/pkgconfig/ with these
28660 contents:
28661
28662 prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib
28663 includedir=${prefix}/include
28664
28665 Name: x265 Description: H.265/HEVC video encoder Version: 0.4.1
28666 Libs: -L${libdir} -lx265 Libs.private: -lstdc++ -lm -lc -lpthread
28667 -lrt Cflags: -I${includedir}
28668
28669 The pkg-config file is only generated and installed if CMake finds
28670 pkg-config
28671
28672 Q1: it seems unwise to hard-code "/lib" in a few places, what if
28673 lib64 is used or something else? Q2: Should x265.pc have a version
28674 number like x265-0.4.1.pc?
28675 [b2fcb1bf7b75] <stable>
28676
28677 2013-10-23 Min Chen <chenm003@163.com>
28678
28679 * source/Lib/TLibCommon/ContextModel.cpp,
28680 source/Lib/TLibCommon/ContextModel.h,
28681 source/Lib/TLibCommon/ContextTables.h,
28682 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28683 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
28684 source/Lib/TLibEncoder/TEncEntropy.h,
28685 source/Lib/TLibEncoder/TEncSbac.cpp,
28686 source/Lib/TLibEncoder/TEncSbac.h, source/common/CMakeLists.txt,
28687 source/common/primitives.cpp:
28688 cabac: cleanup and convert class ContextModel to struct
28689 [0cb0692d6c69]
28690
28691 * source/Lib/TLibCommon/ContextModel.cpp,
28692 source/Lib/TLibCommon/ContextModel.h:
28693 cabac: move static table to global space
28694 [11a4ca818c57]
28695
28696 * source/Lib/TLibCommon/ContextModel.h,
28697 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
28698 cabac: imprvement by merge context status update path
28699 [b53d40e1c7cf]
28700
28701 2013-10-23 Steve Borho <steve@borho.org>
28702
28703 * source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt,
28704 source/encoder/slicetype.cpp:
28705 Merge with stable
28706 [8ebddbb7acd3]
28707
28708 * source/common/CMakeLists.txt, source/common/vec/blockcopy-avx2.cpp,
28709 source/common/vec/vec-primitives.cpp:
28710 remove blockcopy-avx2.cpp - not worth the trouble to convert and
28711 maintain
28712 [020eb714b9cc]
28713
28714 2013-10-23 Aarthi Thirumalai <Aarthi Thirumalai>
28715
28716 * source/encoder/slicetype.cpp:
28717 slicetype: bug fix for estimated frame costs
28718
28719 By the time rate control queries the estimated frame cost, lastNonB
28720 might have moved. Use the slice's actual L0 reference.
28721 [6a7383b8cbf0] <stable>
28722
28723 2013-10-23 Steve Borho <steve@borho.org>
28724
28725 * source/common/vec/intra-ssse3.cpp:
28726 intra: move 8x8 and 16x16 into their final order
28727
28728 None of the 8bpp intra primitives use vector clases any more.
28729 blockcopy-avx2 is the last 8bpp vector primitive.
28730 [465e48ca0d15]
28731
28732 * source/common/vec/intra-ssse3.cpp:
28733 intra: remove unused macros
28734 [d167d149b59e]
28735
28736 2013-10-23 Min Chen <chenm003@163.com>
28737
28738 * source/common/vec/intra-ssse3.cpp:
28739 Fix memory write beyond bound bug in intraPredAng8x8()
28740 [30be14fa79d6]
28741
28742 2013-10-23 Jan Ekström <jeebjp@gmail.com>
28743
28744 * source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt:
28745 Fix compilation with Visual Studio 2013
28746
28747 The <algorithm> header is needed for std::min and friends, and the
28748 CMakeLists.txt modification makes the version check match what is
28749 used in the source code.
28750
28751 Unfortunately cmake does not seem to contain a GREATER_OR_EQUAL
28752 macro, so NOT(LESS) has to be used.
28753 [4922bf148182] <stable>
28754
28755 2013-10-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28756
28757 * source/common/vec/intra-ssse3.cpp:
28758 intra: converted intraPredAng16x16 vector class functin to intrinsic
28759 [521ecea592fa]
28760
28761 2013-10-23 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28762
28763 * source/common/vec/intra-ssse3.cpp:
28764 intra-ssse3: intra angular 8x8 vector to intrinsic
28765 [aaee6da4f02c]
28766
28767 2013-10-23 Steve Borho <steve@borho.org>
28768
28769 * source/common/vec/pixel-avx2.cpp:
28770 pixel: remove vector class include from pixel-avx2.cpp
28771 [51a48f878f39]
28772
28773 2013-10-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28774
28775 * source/common/vec/pixel-avx2.cpp:
28776 pixel: converted sad_avx2_x4_64 vector class to intrinsic
28777 [435665d9233e]
28778
28779 * source/common/vec/pixel-avx2.cpp:
28780 pixel: converted sad_avx2_x4_32 vector class to intrinsic
28781 [2d4ee19a40b4]
28782
28783 2013-10-22 Aarthi Thirumalai <aarthi@multicorewareinc.com>
28784
28785 * source/encoder/slicetype.cpp:
28786 slicetype: calculate weighted frame costs for Aq
28787 [6d96d64c4e9a]
28788
28789 2013-10-22 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28790
28791 * source/common/vec/pixel-avx2.cpp:
28792 pixel: converted some sad_avx2 vector class functions to intrinsic
28793 [0bb1d7221938]
28794
28795 2013-10-22 Steve Borho <steve@borho.org>
28796
28797 * source/common/CMakeLists.txt, source/common/vec/intra-sse3.cpp,
28798 source/common/vec/intra-ssse3.cpp, source/common/vec/vec-
28799 primitives.cpp:
28800 intra: rename intra-sse3.cpp to intra-ssse3.cpp
28801 [20bf892451db]
28802
28803 * source/common/vec/intra-sse3.cpp:
28804 intra: move 32x32 angular prediction function into non-vector
28805 portion
28806 [41aa6dd645ed]
28807
28808 2013-10-22 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28809
28810 * source/common/vec/intra-sse3.cpp:
28811 intra-sse3.cpp: replace intraPredAng32x32 vector class function with
28812 intrinsic
28813 [9827c0129014]
28814
28815 * source/common/vec/intra-sse3.cpp:
28816 intra-sse3.cpp: replace intraPredAng8x8 vector class function with
28817 intrinsic
28818 [de32b76c391d]
28819
28820 2013-10-22 Steve Borho <steve@borho.org>
28821
28822 * source/Lib/TLibEncoder/TEncBinCoder.h,
28823 source/Lib/TLibEncoder/TEncCavlc.cpp,
28824 source/Lib/TLibEncoder/TEncCavlc.h, source/common/common.cpp,
28825 source/encoder/ratecontrol.cpp:
28826 Merge with stable
28827 [88de242f7530]
28828
28829 2013-10-22 Min Chen <chenm003@163.com>
28830
28831 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
28832 cabac: improvement performance by use negative cabac counter
28833 [88b3831ab799] <stable>
28834
28835 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28836 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
28837 source/Lib/TLibEncoder/TEncCavlc.cpp,
28838 source/Lib/TLibEncoder/TEncCavlc.h,
28839 source/Lib/TLibEncoder/TEncSbac.cpp,
28840 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/CMakeLists.txt,
28841 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
28842 cleanup: merge header operator from TEncCavlc into class TEncSbac
28843 [4ec21109440b] <stable>
28844
28845 * source/Lib/TLibEncoder/TEncBinCoder.h,
28846 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28847 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
28848 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/CMakeLists.txt,
28849 source/encoder/frameencoder.cpp:
28850 cleanup:remove unused base class TEncBinIf
28851 [b6427fa01195] <stable>
28852
28853 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
28854 cleanup: remove unused getNumberOfWrittenBits() from
28855 TEncBinCABAC::getNumWrittenBits()
28856 [af1695e1808c] <stable>
28857
28858 * source/common/x86/ipfilter8.asm:
28859 remove reduce register copy in FILTER_H4_w2_2 and FILTER_H4_w4_2
28860 (update for linux build error)
28861 [f1045bead3b5] <stable>
28862
28863 2013-10-22 Steve Borho <steve@borho.org>
28864
28865 * source/encoder/ratecontrol.cpp:
28866 ratecontrol: consistent comment style
28867 [27265ca6dd90] <stable>
28868
28869 2013-10-22 Gopu Govindaswamy <gopu@multicorewareinc.com>
28870
28871 * source/Lib/TLibCommon/TComPicYuv.cpp,
28872 source/Lib/TLibCommon/TComPicYuv.h, source/common/common.cpp,
28873 source/encoder/encoder.cpp:
28874 encoder: auto-padding to min CU size and set conformance window
28875 [27a149b2062c] <stable>
28876
28877 2013-10-22 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
28878
28879 * source/common/pixel.cpp:
28880 Eliminating decreament in pointer index in weightp primitives
28881
28882 could have been a source of possible crash
28883 [49849de33234] <stable>
28884
28885 2013-10-22 Steve Borho <steve@borho.org>
28886
28887 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
28888 ratecontrol: use cfg->param.frameNumThreads directly; nit cleanups
28889 [cd65a3311df5] <stable>
28890
28891 2013-10-22 Aarthi Thirumalai <Aarthi Thirumalai>
28892
28893 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
28894 rc: Bug fixes for ABR.
28895
28896 remove uninitialized local variables and use values from
28897 cfg.param.rc as required.
28898 [e2dc3ec294a8] <stable>
28899
28900 2013-10-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
28901
28902 * source/Lib/TLibEncoder/TEncCu.cpp:
28903 TEncCu: nits
28904 [f1bdacac6497]
28905
28906 2013-10-22 Aarthi Thirumalai <Aarthi Thirumalai>
28907
28908 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
28909 rc: Bug fixes for ABR.
28910
28911 remove uninitialized local variables and use values from
28912 cfg.param.rc as required.
28913 [f8ab02273bdb]
28914
28915 2013-10-21 Steve Borho <steve@borho.org>
28916
28917 * source/common/common.cpp:
28918 Merge with stable
28919 [9245a882ccee]
28920
28921 * source/common/common.cpp:
28922 common: add --ref to the tool list so it is visible in the log
28923 [40eb6be35caa] <stable>
28924
28925 * source/common/lowres.cpp:
28926 lowres: initialize satdCost to -1
28927 [606cdb8d05ef]
28928
28929 2013-10-21 Aarthi Thirumalai <aarthi@multicorewareinc.com>
28930
28931 * source/common/lowres.cpp, source/common/lowres.h,
28932 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
28933 lowres: Add states to store weighted Aq costs per frame.
28934 [ee5e9caa0ff9]
28935
28936 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
28937 source/common/common.cpp, source/common/common.h:
28938 add methods to convert qpAqoffsets to qscale
28939 [afa3a6660764]
28940
28941 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
28942 source/common/lowres.cpp, source/common/lowres.h,
28943 source/encoder/ratecontrol.cpp:
28944 lowres: move m_qpAqOffset from TComPic to Lowres
28945 [588c8fcc1df6]
28946
28947 2013-10-21 Steve Borho <steve@borho.org>
28948
28949 * doc/README_data-structure.ppt, doc/astyle/AStyle.exe, doc/astyle
28950 /apply-to-all-source.py, doc/astyle/astyle-config.txt, doc/astyle
28951 /drag-astyle.bat, doc/intra/T16.TXT, doc/intra/T32.TXT,
28952 doc/intra/T4.TXT, doc/intra/T8.TXT, doc/software-manual.pdf,
28953 doc/uncrustify/uncrustify.bat, doc/uncrustify/uncrustify.exe,
28954 source/Lib/TLibCommon/AccessUnit.h,
28955 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
28956 source/Lib/TLibCommon/ContextModel3DBuffer.h,
28957 source/Lib/TLibCommon/TComList.h,
28958 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
28959 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
28960 source/Lib/TLibEncoder/TEncTop.cpp,
28961 source/Lib/TLibEncoder/TEncTop.h,
28962 source/VectorClass/instrset_detect.cpp,
28963 source/cmake/mergestaticlibs.cmake,
28964 source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
28965 source/common/vec/avx2.cpp, source/common/vec/blockcopy-avx.cpp,
28966 source/common/vec/blockcopy-sse41.cpp, source/common/vec/blockcopy-
28967 ssse3.cpp, source/common/vec/blockcopy-xop.cpp,
28968 source/common/vec/blockcopy.inc, source/common/vec/dct-avx.cpp,
28969 source/common/vec/dct-avx2.cpp, source/common/vec/dct-xop.cpp,
28970 source/common/vec/dct.inc, source/common/vec/intra-avx.cpp,
28971 source/common/vec/intra-avx2.cpp, source/common/vec/intra-ssse3.cpp,
28972 source/common/vec/intra-xop.cpp, source/common/vec/intrapred.inc,
28973 source/common/vec/ipfilter-avx.cpp, source/common/vec/ipfilter-
28974 avx2.cpp, source/common/vec/ipfilter-sse3.cpp, source/common/vec
28975 /ipfilter-xop.cpp, source/common/vec/ipfilter.inc,
28976 source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
28977 source/common/vec/pixel-avx.cpp, source/common/vec/pixel-ssse3.cpp,
28978 source/common/vec/pixel-xop.cpp, source/common/vec/pixel.inc,
28979 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
28980 source/common/vec/sse.inc, source/common/vec/sse3.cpp,
28981 source/common/vec/sse41.cpp, source/common/vec/ssse3.cpp,
28982 source/common/vec/utils.h, source/common/vec/vecprimitives.inc,
28983 source/common/vec/xop.cpp, source/common/x86/CMakeLists.txt,
28984 source/test/unittest.cpp, source/test/unittest.h, source/x265opts.h:
28985 Merge with default (feature freeze for 0.5)
28986 [f2fcda06d76a] <stable>
28987
28988 2013-10-21 Min Chen <chenm003@163.com>
28989
28990 * source/Lib/TLibCommon/TComDataCU.cpp,
28991 source/Lib/TLibCommon/TComDataCU.h,
28992 source/Lib/TLibEncoder/TEncSbac.cpp,
28993 source/Lib/TLibEncoder/TEncSbac.h,
28994 source/Lib/TLibEncoder/TEncSearch.cpp:
28995 merge multiple encodeBinEP to encodeBinsEP
28996 [6817f34b0572]
28997
28998 2013-10-21 Steve Borho <steve@borho.org>
28999
29000 * source/encoder/compress.cpp:
29001 compress: remove a pile of unnecessary intra estimation code
29002 [dd26e0a9c3df]
29003
29004 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
29005 compress: remove pointer reference from xComputeCostIntraInInter and
29006 simplify
29007 [c1ee22ece6f5]
29008
29009 * source/encoder/compress.cpp:
29010 compress: replace magic numbers with proper enums
29011 [505b1c488b39]
29012
29013 2013-10-21 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29014
29015 * source/common/vec/intra-sse3.cpp:
29016 intra-sse3.cpp: replace predIntraAng8_32 vector class function with
29017 intrinsic
29018 [e24a4bb6de84]
29019
29020 2013-10-21 Sumalatha Polureddy <Sumalatha Polureddy>
29021
29022 * source/encoder/compress.cpp:
29023 no-rdo: compute Luma only in MC for cost estimation for mode
29024 decision
29025
29026 luma alone is computed in MC since luma cost alone is used for mode
29027 decision. After best mode is selected, before encoding, chroma MC is
29028 done
29029 [16a5fc504005]
29030
29031 2013-10-21 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29032
29033 * source/common/pixel.cpp, source/common/vec/pixel-sse41.cpp:
29034 Adapting weightp primitive for pixel input
29035
29036 By simulating shift & round as in convertPixelToShort primitive. The
29037 SSE4.1 intrinsic primitives are disabled because they no longer
29038 match
29039 [e719f0de8d9c]
29040
29041 2013-10-21 Steve Borho <steve@borho.org>
29042
29043 * source/common/ipfilter.cpp, source/common/vec/ipfilter-sse41.cpp,
29044 source/common/vec/ipfilter-ssse3.cpp:
29045 ipfilter: cleanup C and intrinsic functions
29046 [90dde3b44ada]
29047
29048 2013-10-21 Praveen Tiwari <Praveen Tiwari>
29049
29050 * source/common/ipfilter.cpp:
29051 added C code for chroma filter_vpp function
29052 [2e0076f3f694]
29053
29054 * source/common/x86/ipfilter8.h:
29055 created function declerations for chroma_vpp
29056 [9477665dd935]
29057
29058 * source/test/ipfilterharness.cpp:
29059 ipfilterharness.cpp, modified chroma filter_hpp unit test code to
29060 support filter_vpp
29061 [60ade24dbf9b]
29062
29063 * source/test/ipfilterharness.cpp:
29064 ipfilterharness.cpp, added measure speed code for ipfilter_vpp
29065 function
29066 [091fb24735da]
29067
29068 * source/test/ipfilterharness.cpp:
29069 ipfilterharness.cpp, added test correctness code for ipfilter_vpp
29070 function
29071 [e42826e06e06]
29072
29073 * source/common/primitives.h:
29074 added array of function pointers for chroma ipfilter_vpp function
29075 [e3b4b6b778a5]
29076
29077 2013-10-21 Gopu Govindaswamy <gopu@multicorewareinc.com>
29078
29079 * source/Lib/TLibCommon/TComPic.cpp,
29080 source/Lib/TLibCommon/TComSlice.h,
29081 source/Lib/TLibEncoder/TEncCavlc.cpp,
29082 source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
29083 tcomslice : removed set and get window*offset() methods
29084 [ee5ef0f3fd3d]
29085
29086 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp,
29087 source/encoder/framefilter.cpp:
29088 tenccfg : removed unused setpad() and getpad() methods
29089 [caa8db6b7986]
29090
29091 2013-10-21 Steve Borho <steve@borho.org>
29092
29093 * source/x265.cpp:
29094 cli: reintroduce -w short option for weightp
29095 [c4cc469e5286]
29096
29097 2013-10-21 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29098
29099 * source/encoder/slicetype.cpp:
29100 Lookahead: wavefront bugfix.
29101
29102 conditionally assign estimated cost to avoid overwriting intra cost.
29103 [92d13feba8fe]
29104
29105 2013-10-21 =?utf-8?b?UmFmYcOrbCBDYXJyw6kgPGZ1bm1hbkB2aWRlb2xhbi5vcmc+?= <=?utf-8?b?UmFmYcOrbCBDYXJyw6kgPGZ1bm1hbkB2aWRlb2xhbi5vcmc+?=>
29106
29107 * source/encoder/ratecontrol.cpp:
29108 [x265] ratecontrol: initialize frameThreads Fix a floating point
29109 exceptio
29110
29111 --- source/encoder/ratecontrol.cpp | 1 + 1 file changed, 1
29112 insertion(+)
29113 [3fe9a9d0a0b6]
29114
29115 2013-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
29116
29117 * source/common/lowres.cpp:
29118 lowres: right and bottom margins are being extended twice?
29119 [f987c24c7bf2]
29120
29121 2013-10-21 Sumalatha Polureddy <Sumalatha Polureddy>
29122
29123 * source/Lib/TLibCommon/TComPrediction.cpp,
29124 source/Lib/TLibCommon/TComWeightPrediction.cpp:
29125 bug fix for passing bLuma and bChroma as separate arguments
29126
29127 if there are default arguments other than bLuma and bChroma, those
29128 default values (bRound, refIdx) are not passed during the function
29129 call(addWeightBi(), xWeightedPredictionUni())
29130 [b2aa2aad2c66]
29131
29132 2013-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
29133
29134 * source/common/vec/intra-sse3.cpp:
29135 intra-sse: Fix for HIGH_BIT_DEPTH build error
29136 [8fc308449916]
29137
29138 2013-10-21 Min Chen <chenm003@163.com>
29139
29140 * source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
29141 source/Lib/TLibCommon/ContextModel3DBuffer.h,
29142 source/Lib/TLibCommon/ContextTables.h,
29143 source/Lib/TLibEncoder/TEncSbac.cpp,
29144 source/Lib/TLibEncoder/TEncSbac.h, source/common/CMakeLists.txt:
29145 cabac: cleanup array of cabac context
29146 [15588437fc24]
29147
29148 2013-10-19 Min Chen <chenm003@163.com>
29149
29150 * source/common/x86/ipfilter8.asm:
29151 remove reduce register copy in FILTER_H4_w2_2 and FILTER_H4_w4_2
29152 [fabb25ae4db4]
29153
29154 2013-10-20 Steve Borho <steve@borho.org>
29155
29156 * source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp:
29157 intra: move intra_pred_dc to intra-sse41.cpp; it uses SSSE3
29158 instructions
29159
29160 We don't have an intra-ssse3.cpp and it seems a waste to create one
29161 just for this one function.
29162 [7ec69cb067fd]
29163
29164 2013-10-18 Steve Borho <steve@borho.org>
29165
29166 * source/common/wavefront.h, source/encoder/encoder.cpp,
29167 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
29168 Lookahead: implement wavefront parallel processing
29169 [c96f97cf3914]
29170
29171 2013-10-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29172
29173 * source/common/wavefront.cpp, source/common/wavefront.h:
29174 WaveFront: add new function to enable all rows
29175 [dd45e55248c8]
29176
29177 2013-10-18 Steve Borho <steve@borho.org>
29178
29179 * source/test/ipfilterharness.cpp:
29180 ipfilterharness: simplify filter names
29181 [4066e6e725ee]
29182
29183 * source/Lib/TLibEncoder/TEncSearch.cpp:
29184 TEncSearch: add x265_emms() after use of pixelavg_pp and satd
29185 primitives
29186 [1fa93e1f4caa]
29187
29188 2013-10-18 Praveen Tiwari <Praveen Tiwari>
29189
29190 * source/common/x86/asm-primitives.cpp,
29191 source/common/x86/ipfilter8.asm:
29192 asm code for luma filter functions
29193 [0d146f05d561]
29194
29195 * source/common/x86/asm-primitives.cpp,
29196 source/common/x86/ipfilter8.asm:
29197 added 24x32 partion size asm code to chroma function
29198 [a301f749b0bc]
29199
29200 * source/common/x86/asm-primitives.cpp,
29201 source/test/ipfilterharness.cpp:
29202 asm: corrected luma enum variable, testbench fix
29203 [8b507771e6b0]
29204
29205 * source/common/ipfilter.cpp:
29206 ipfilter.cpp, added code to support luma coefficients too
29207 [4bcfc0e23935]
29208
29209 2013-10-18 Steve Borho <steve@borho.org>
29210
29211 * source/common/vec/intra-sse3.cpp:
29212 intra: isolate last remaining vector class functions (angular intra
29213 8, 16, 32)
29214 [8de380c7bd41]
29215
29216 * source/common/vec/intra-sse3.cpp:
29217 intra: sane function names and typedefs
29218 [1959dbe1b643]
29219
29220 * source/common/vec/intra-sse3.cpp:
29221 intra: nits
29222 [6a453beeea88]
29223
29224 * source/common/vec/intra-sse3.cpp:
29225 intra: remove SSE3 planar intrinsic functions; they are redundant
29226 [edf6eb8da4ca]
29227
29228 2013-10-18 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29229
29230 * source/common/vec/intra-sse3.cpp:
29231 intra: replace predDCFiltering vector class function with intrinsic
29232 [140f90417702]
29233
29234 * source/common/vec/intra-sse3.cpp:
29235 intra: replace intra_pred_dc vector class function with intrinsic
29236 [d24283fe5e31]
29237
29238 2013-10-18 Aarthi Thirumalai <aarthi@multicorewareinc.com>
29239
29240 * source/encoder/ratecontrol.cpp:
29241 rc : removed warning , moved strength to acEnergyCu
29242 [089b29b4da2a]
29243
29244 2013-10-18 Steve Borho <steve@borho.org>
29245
29246 * source/common/x86/asm-primitives.cpp:
29247 asm: disable remaining pixelavg primitives, they fail against our C
29248 ref
29249 [904ff6d6e5d9]
29250
29251 * source/test/pixelharness.cpp:
29252 pixelharness: fix iteration through partition enums
29253 [7e95be5f70bc]
29254
29255 2013-10-18 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29256
29257 * source/test/pixelharness.cpp, source/test/pixelharness.h:
29258 added pixelavg_pp function to testbench
29259 [fdd1262059ad]
29260
29261 * source/common/vec/blockcopy-sse3.cpp:
29262 blockcopy-sse3.cpp: removed unnecessary variable.
29263 [9ff06eb3bc4d]
29264
29265 2013-10-18 Steve Borho <steve@borho.org>
29266
29267 * source/common/CMakeLists.txt:
29268 cmake: msvc yasm dependency fix
29269 [357a6d0c305d]
29270
29271 2013-10-18 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29272
29273 * source/test/pixelharness.cpp, source/test/pixelharness.h:
29274 added cvt32to16_shr_sse2 function to testbench.
29275
29276 Speed up measured is almost 14x.
29277 [f3523973eafb]
29278
29279 * source/common/vec/blockcopy-sse3.cpp:
29280 blockcopy-sse3.cpp: removed warning: overflow in implicit constant
29281 conversion.
29282 [48afd41e0753]
29283
29284 * source/common/vec/intra-sse3.cpp:
29285 intra-sse3.cpp: replace xPredIntraAng4x4 vector class function with
29286 intrinsic.
29287 [c1e53b796ef4]
29288
29289 2013-10-18 Steve Borho <steve@borho.org>
29290
29291 * source/common/vec/intra-sse3.cpp:
29292 intra: remove unused variable
29293 [d6d7187c5f4e]
29294
29295 * source/common/x86/asm-primitives.cpp:
29296 asm: fix 32bit build following partition enum carnage
29297 [27dfc522397e]
29298
29299 2013-10-17 Min Chen <chenm003@163.com>
29300
29301 * source/common/CMakeLists.txt, source/common/vec/pixel-sse3.cpp,
29302 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
29303 util.asm, source/common/x86/pixel.h:
29304 asm: add cvt32to16_shr_sse2, remove intrinsic primitive
29305 [84857e7ba3e1]
29306
29307 2013-10-17 Steve Borho <steve@borho.org>
29308
29309 * source/common/common.h:
29310 common: force float and double arguments to logf() and log(),
29311 respectively
29312
29313 Fixes warnings on some MSVC versions
29314 [d61e2ff59c29]
29315
29316 * source/common/vec/intra-sse3.cpp:
29317 intra: fix GCC warning about potentially uninitialized sum variable
29318 [61abe115acfc]
29319
29320 * source/common/vec/intra-sse3.cpp, source/test/intrapredharness.cpp:
29321 intra: segregate 8bpp from 16bpp functions, drop 16bpp angular, drop
29322 64x64
29323
29324 The HIGH_BIT_DEPTH angular function was just a copy of the C
29325 reference, we do not need 64x64 blocks any more
29326 [5ab2da8320f5]
29327
29328 * source/common/vec/intra-sse3.cpp:
29329 intra: remove unused argument to predDCFiltering(), remove static
29330
29331 There's no need to declare the function static, it is within an
29332 anonymous namespace
29333 [d05cf1a4d3a5]
29334
29335 * source/common/vec/pixel-avx2.cpp,
29336 source/common/vec/pixel16-sse41.cpp, source/test/testbench.cpp,
29337 source/test/testharness.h:
29338 pixel: fix avx2, 16bpp, and testbench following luma enum reorg
29339 [39ceb9570c5d]
29340
29341 2013-10-17 Praveen Tiwari <Praveen Tiwari>
29342
29343 * source/test/ipfilterharness.cpp:
29344 removed unnecessary calculation from chroma REPORT_SPEEDUP function
29345 [b42f1963229b]
29346
29347 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
29348 asm: fundef creation and function pointer table setup for luma asm
29349 primitives
29350 [165d27a37689]
29351
29352 * source/common/ipfilter.cpp:
29353 ipfilter: setup luma function pointers
29354 [2ecc6883d465]
29355
29356 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
29357 unit test code for luma filter
29358 [2b312edc7d7d]
29359
29360 2013-10-17 Steve Borho <steve@borho.org>
29361
29362 * source/common/primitives.h:
29363 primitives: define luma_hpp block interpolation function pointers
29364 [8f0f4bb9825e]
29365
29366 * source/common/CMakeLists.txt, source/common/ipfilter.cpp,
29367 source/common/pixel.cpp, source/common/primitives.cpp,
29368 source/common/primitives.h, source/common/vec/pixel-sse41.cpp,
29369 source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h,
29370 source/common/x86/mc.h, source/common/x86/pixel-a.asm,
29371 source/common/x86/pixel.h, source/encoder/framefilter.cpp,
29372 source/encoder/motion.cpp, source/encoder/ratecontrol.cpp,
29373 source/encoder/slicetype.cpp, source/test/ipfilterharness.cpp,
29374 source/test/pixelharness.cpp, source/test/testharness.h:
29375 primitives: cleanup luma partition enums and primitive
29376 initialization
29377
29378 Don't define any enums for partitions which are not used by HEVC.
29379 Line up chroma enums to match luma enums. Stop instantiating C
29380 primitives that are never used. Shorten up the partition enum names.
29381 Prune unused SSD assembly routines, move ASM funcdefs into headers
29382 [2eb3f19bb34a]
29383
29384 2013-10-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29385
29386 * source/common/vec/pixel16-sse41.cpp:
29387 pixel16: converted sad_4 from vector class to intrinsic
29388 [f5cdcb7cdaca]
29389
29390 2013-10-17 Aarthi Thirumalai <aarthi@multicorewareinc.com>
29391
29392 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
29393 source/encoder/ratecontrol.h:
29394 rc: implement Adaptive Quantization.
29395
29396 added functions to compute AC Energy per CU for all planes,
29397 calculate qpAqOffset for each CU
29398 [c49db12611a2]
29399
29400 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
29401 source/encoder/encoder.cpp:
29402 TComPic: add m_qpAqOffset to store qp offsets per CU when Aq is
29403 enabled
29404 [e2333fe80c56]
29405
29406 2013-10-17 Steve Borho <steve@borho.org>
29407
29408 * source/common/CMakeLists.txt:
29409 cmake: fix assembly dependency path
29410 [a09583956501]
29411
29412 2013-10-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
29413
29414 * source/common/common.cpp, source/encoder/encoder.cpp,
29415 source/x265.cpp, source/x265.h:
29416 cli: rename bRDLevel to rdLevel
29417 [ffb8df2f3778]
29418
29419 * source/common/common.cpp, source/common/common.h:
29420 common : Added new function x265_param2string
29421 [09bb631e4253]
29422
29423 2013-10-17 Min Chen <chenm003@163.com>
29424
29425 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/pixel.cpp,
29426 source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
29427 improvement cvt32to16_shr by merge width and height loop
29428 [f6226cef13f1]
29429
29430 2013-10-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29431
29432 * source/common/vec/pixel-sse3.cpp:
29433 pixel: fix the hash mismatch due to convert32to16_shr
29434 [a31b03ff2cff]
29435
29436 2013-10-17 Min Chen <chenm003@163.com>
29437
29438 * source/common/x86/pixel-a.asm:
29439 x265_pixel_ssd_4x4_ssse3 miss EMMS
29440 [2a3af4fe8e5c]
29441
29442 2013-10-17 Praveen Tiwari <Praveen Tiwari>
29443
29444 * source/test/ipfilterharness.cpp:
29445 removed unnecessary calculation form rand_srcStride
29446 [dfae391107c3]
29447
29448 * source/test/ipfilterharness.cpp:
29449 added genration of random stride in chroma unit test code
29450 [fc9dbd798ac3]
29451
29452 * source/common/x86/ipfilter8.asm:
29453 fixed output mismatch problem with chroma 2xN block
29454 [b3852d6908a5]
29455
29456 2013-10-17 Steve Borho <steve@borho.org>
29457
29458 * source/common/vec/intra-sse3.cpp:
29459 intra: remove dead tables, fix comment typos, and other white-space
29460 issues
29461 [2fbeab18f182]
29462
29463 * source/encoder/slicetype.cpp:
29464 slicetype: fix pre-calculation of slice cost for ABR
29465 [ce1116e9def7]
29466
29467 * source/common/vec/intra-sse3.cpp:
29468 intra: add parens to macros to fix auto-alignment
29469 [d05787e07b21]
29470
29471 2013-10-16 Steve Borho <steve@borho.org>
29472
29473 * doc/uncrustify/codingstyle.cfg,
29474 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
29475 source/Lib/TLibCommon/TComTrQuant.cpp:
29476 uncrustify: another brace-style tweak
29477 [ebec58e22380]
29478
29479 * source/Lib/TLibCommon/ContextModel.h,
29480 source/Lib/TLibCommon/ContextModel3DBuffer.h,
29481 source/Lib/TLibCommon/ContextTables.h,
29482 source/Lib/TLibCommon/TComBitCounter.h,
29483 source/Lib/TLibCommon/TComBitStream.cpp,
29484 source/Lib/TLibCommon/TComDataCU.cpp,
29485 source/Lib/TLibCommon/TComDataCU.h,
29486 source/Lib/TLibCommon/TComLoopFilter.cpp,
29487 source/Lib/TLibCommon/TComPattern.cpp,
29488 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
29489 source/Lib/TLibCommon/TComPicYuv.cpp,
29490 source/Lib/TLibCommon/TComPicYuv.h,
29491 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
29492 source/Lib/TLibCommon/TComPrediction.cpp,
29493 source/Lib/TLibCommon/TComPrediction.h,
29494 source/Lib/TLibCommon/TComRom.cpp,
29495 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
29496 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
29497 source/Lib/TLibCommon/TComSlice.cpp,
29498 source/Lib/TLibCommon/TComSlice.h,
29499 source/Lib/TLibCommon/TComTrQuant.cpp,
29500 source/Lib/TLibCommon/TComTrQuant.h,
29501 source/Lib/TLibCommon/TComWeightPrediction.cpp,
29502 source/Lib/TLibCommon/TComYuv.cpp,
29503 source/Lib/TLibEncoder/NALwrite.cpp,
29504 source/Lib/TLibEncoder/NALwrite.h,
29505 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
29506 source/Lib/TLibEncoder/TEncAnalyze.h,
29507 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
29508 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
29509 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
29510 source/Lib/TLibEncoder/TEncSbac.cpp,
29511 source/Lib/TLibEncoder/TEncSbac.h,
29512 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
29513 source/common/common.cpp, source/common/common.h,
29514 source/common/cpu.h, source/common/ipfilter.cpp,
29515 source/common/lowres.cpp, source/common/lowres.h,
29516 source/common/piclist.cpp, source/common/piclist.h,
29517 source/common/pixel.cpp, source/common/primitives.cpp,
29518 source/common/reference.cpp, source/common/threading.cpp,
29519 source/common/threading.h, source/common/vec/blockcopy-avx2.cpp,
29520 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
29521 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/intra-
29522 sse3.cpp, source/common/vec/intra-sse41.cpp, source/common/vec
29523 /ipfilter-sse41.cpp, source/common/vec/ipfilter-ssse3.cpp,
29524 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
29525 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel-
29526 ssse3.cpp, source/common/vec/pixel16-sse41.cpp, source/common/vec
29527 /vec-primitives.cpp, source/common/x86/asm-primitives.cpp,
29528 source/common/x86/pixel.h, source/dllmain.cpp,
29529 source/encoder/compress.cpp, source/encoder/cturow.h,
29530 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
29531 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
29532 source/encoder/motion.cpp, source/encoder/motion.h,
29533 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
29534 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
29535 source/input/yuv.h, source/test/intrapredharness.cpp,
29536 source/test/ipfilterharness.cpp, source/test/pixelharness.cpp,
29537 source/test/pixelharness.h, source/test/testbench.cpp,
29538 source/test/testharness.h, source/x265.cpp, source/x265.h:
29539 uncrustify entire source tree
29540 [1d6b3626f1b3]
29541
29542 * doc/uncrustify/apply-to-all-source.py:
29543 uncrustify: allow uncrustify to process .cpp and .h in common/x86
29544 [03be69eab3db]
29545
29546 * doc/uncrustify/codingstyle.cfg:
29547 uncrustify: do not remove whitespace in an empty brace section {}
29548
29549 (just ignore it)
29550 [6405dca03059]
29551
29552 2013-10-14 Steve Borho <steve@borho.org>
29553
29554 * source/CMakeLists.txt, source/compat/msvc/LGPL.txt,
29555 source/compat/msvc/getopt.c, source/compat/msvc/getopt.h:
29556 getopt: grab an unambiguously LGPL version of getopt
29557
29558 Found at: https://github.com/Tietew/mediawiki-
29559 xml2sql/tree/master/getopt
29560
29561 The only change made was to move getopt_long() into getopt.c from
29562 getopt1.c
29563
29564 # HG changeset patch # User Steve Borho <steve@borho.org> # Date
29565 1381776922 18000 # Mon Oct 14 13:55:22 2013 -0500 # Node ID
29566 b6cca1b1a9b700a8ffc316f3186dbf10bc1149cc # Parent
29567 abae6903e0af0d9940bb734ba34dff6928d72e61 getopt: grab an
29568 unambiguously LGPL version of getopt
29569
29570 Found at: https://github.com/Tietew/mediawiki-
29571 xml2sql/tree/master/getopt
29572
29573 The only change made was to move getopt_long() into getopt.c from
29574 getopt1.c
29575 [60a105fed8c8]
29576
29577 2013-10-16 Steve Borho <steve@borho.org>
29578
29579 * source/common/vec/pixel-sse3.cpp:
29580 pixel: disable intrinsic cvt32to16_shr; it is causing hash
29581 mismatches
29582 [258394d8ab91]
29583
29584 * source/common/ipfilter.cpp:
29585 ipfilter: gcc preprocessor does not allow ## use for non-symbols
29586
29587 The ## in this case was totally unnecessary
29588 [63a63e668fb7]
29589
29590 * source/x265.cpp:
29591 cli: add missing --cpuid handler
29592 [af92ca11aa13]
29593
29594 * source/test/ipfilterharness.cpp:
29595 test: revert accidental change to 64 dims so testbench passes
29596 [16ae0ba47935]
29597
29598 * source/common/vec/dct-sse41.cpp:
29599 dct: remove SSE41 dct 8x8, 16x16 and 32x32 intrinsic primitives
29600
29601 These were adapted from vector class functions but were much slower
29602 than the hand-tuned dct SSSE3 functions written by Min.
29603 [6c3aa856dc65]
29604
29605 * source/common/primitives.h, source/common/vec/vec-primitives.cpp,
29606 source/common/x86/asm-primitives.cpp:
29607 primitives: do not include the public API header in primitives.h
29608
29609 This was necessary in the past for the CPU level enums but those are
29610 now gone. Only vec-primitives.cpp and asm-primitives.cpp need the
29611 CPU capability defines and they can include x265.h themselves.
29612 [5e269e353bc6]
29613
29614 2013-10-16 Praveen Tiwari <Praveen Tiwari>
29615
29616 * source/test/ipfilterharness.cpp:
29617 check_IPFilterChroma_primitive, stride made equal to min width 2
29618
29619 short-term workaround for 2XN blocks
29620 [89a299c198d0]
29621
29622 2013-10-16 Steve Borho <steve@borho.org>
29623
29624 * source/x265.cpp:
29625 cli: tighten up command line help, remove redundancies and save
29626 whitespace
29627 [f7d1914d1f61]
29628
29629 * source/x265.cpp:
29630 cli: pull CLIOptions methods out of struct definition (cleanup)
29631
29632 Remove i_ hungarian notation from variables
29633 [5c258896b571]
29634
29635 * build/vc10-x86/make-solutions.bat, build/vc10-x86_64/make-
29636 solutions.bat, build/vc11-x86/make-solutions.bat, build/vc11-x86_64
29637 /make-solutions.bat, build/vc9-x86/make-solutions.bat,
29638 build/vc9-x86_64/make-solutions.bat:
29639 build: wtf is a Visual Studion?
29640 [798f12a3ca4c]
29641
29642 2013-10-16 Sumalatha Polureddy <Sumalatha Polureddy>
29643
29644 * source/Lib/TLibCommon/TComPrediction.cpp,
29645 source/Lib/TLibCommon/TComPrediction.h,
29646 source/Lib/TLibCommon/TComWeightPrediction.cpp,
29647 source/Lib/TLibCommon/TComWeightPrediction.h,
29648 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
29649 source/Lib/TLibEncoder/TEncSearch.cpp,
29650 source/Lib/TLibEncoder/TEncSearch.h:
29651 pass bLuma and bChroma parameters for functions
29652
29653 Based on the values of two parameters, luma and chroma operations
29654 are done. Default value for both is set as true todo both operations
29655 [872e98c8bc7b]
29656
29657 2013-10-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
29658
29659 * source/CMakeLists.txt, source/x265opts.h:
29660 cli: remove unused x265opts.h
29661 [9317198e26e2]
29662
29663 * source/x265.cpp:
29664 cli: long_options structure initialization without using x265opts.h
29665 [1cf1fe777d14]
29666
29667 * source/x265.cpp:
29668 cli: implemented do_help() without using x265opts.h
29669 [9347808f2f9b]
29670
29671 * source/common/common.cpp, source/x265.cpp, source/x265.def.in,
29672 source/x265.h:
29673 api: add x265_param_parse() function based on x264_param_parse()
29674 [69d8796e57e4]
29675
29676 2013-10-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29677
29678 * source/Lib/TLibEncoder/TEncSearch.cpp:
29679 bidir: fix for hash mismatch with B-frames
29680
29681 Use seperate variables for mvp and mvpidx used for zero mv
29682 candidates. Also copy the corresponding AMVPinfo for each
29683 reflist/refIdx.
29684 [c415f32219fe]
29685
29686 2013-10-16 Praveen Tiwari <Praveen Tiwari>
29687
29688 * source/common/x86/asm-primitives.cpp,
29689 source/common/x86/ipfilter8.asm:
29690 asm: update chroma interpolation primitives
29691 [bc1399dbc2ed]
29692
29693 * source/common/ipfilter.cpp, source/test/ipfilterharness.cpp,
29694 source/test/ipfilterharness.h:
29695 primitive: added C primitive and unit test code for one chroma
29696 filter
29697 [762ca3c4b6f2]
29698
29699 * source/common/primitives.h:
29700 primitive: chroma partition enums by full dimension and function
29701 pointers
29702 [08ecee513efc]
29703
29704 2013-10-16 Sumalatha Polureddy <Sumalatha Polureddy>
29705
29706 * source/Lib/TLibEncoder/TEncCu.cpp,
29707 source/Lib/TLibEncoder/TEncSearch.cpp:
29708 no-rdo: remove unused checks
29709 [d45ce25752cf]
29710
29711 2013-10-16 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29712
29713 * source/common/vec/intra-sse3.cpp:
29714 intra-sse3.cpp: Remove unused vector class macros
29715 [ec5a816c4ef3]
29716
29717 2013-10-16 Min Chen <chenm003@163.com>
29718
29719 * source/Lib/TLibEncoder/TEncCavlc.h,
29720 source/Lib/TLibEncoder/TEncEntropy.h,
29721 source/Lib/TLibEncoder/TEncSbac.cpp,
29722 source/Lib/TLibEncoder/TEncSbac.h:
29723 cleanup: remove unused updateContextTables()
29724 [ad081b5f340f]
29725
29726 2013-10-16 Kavitha Sampath <kavitha@multicorewareinc.com>
29727
29728 * source/input/yuv.cpp, source/input/yuv.h:
29729 yuv: make file reading threaded
29730 [18c935330e9e]
29731
29732 2013-10-16 Steve Borho <steve@borho.org>
29733
29734 * source/common/x86/asm-primitives.cpp:
29735 asm: disable the use of x264 pixel weighting functions
29736
29737 These are breaking lowres qpel generation
29738 [4b1716b232e5]
29739
29740 2013-10-16 Aarthi Thirumalai <aarthi@multicorewareinc.com>
29741
29742 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
29743 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
29744 move ssim calculation to frameFilters
29745 [09c0e0209d84]
29746
29747 2013-10-15 Steve Borho <steve@borho.org>
29748
29749 * source/Lib/TLibEncoder/TEncSearch.cpp:
29750 TEncSearch: remove unused static MV arrays
29751 [a998daed8459]
29752
29753 * source/Lib/TLibEncoder/TEncSearch.cpp:
29754 TEncSearch: nits
29755 [9bff70c75d32]
29756
29757 * source/Lib/TLibCommon/TComSlice.cpp,
29758 source/Lib/TLibCommon/TComSlice.h,
29759 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/dpb.cpp:
29760 TComSlice: remove unused m_list1IdxToList0Idx and methods
29761 [676788df0ab2]
29762
29763 * source/Lib/TLibEncoder/TEncSearch.cpp:
29764 TEncSearch: remove unused variables
29765 [397589048016]
29766
29767 * source/Lib/TLibEncoder/TEncSearch.cpp:
29768 TEncSearch: rename refList -> list, refIdxTmp -> idx (more readable)
29769 [53323636b8d3]
29770
29771 * source/Lib/TLibEncoder/TEncSearch.cpp:
29772 TEncSearch: simplify unidirectional search logic
29773
29774 There was a lot of extra code to check if an L0 pic was in the L1
29775 list and was already searched. We do not copy our L0 pics into the
29776 L1 list so this isn't an issue.
29777 [d8665f64a662]
29778
29779 * source/Lib/TLibEncoder/TEncSearch.cpp:
29780 TEncSearch: remove unnecessary memsets
29781 [f2f61a2626ef]
29782
29783 * source/Lib/TLibEncoder/TEncSearch.cpp,
29784 source/encoder/frameencoder.cpp:
29785 TEncSearch: hoist setSourcePlane() to be called just once per frame
29786 [1fda6e4da927]
29787
29788 * source/Lib/TLibEncoder/TEncSearch.cpp:
29789 TEncSearch: move variables closer to their use
29790 [b6db83cab831]
29791
29792 * source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
29793 source/Lib/TLibCommon/ContextModel3DBuffer.h,
29794 source/Lib/TLibCommon/TComDataCU.h,
29795 source/Lib/TLibCommon/TComTrQuant.cpp,
29796 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
29797 source/Lib/TLibEncoder/TEncCavlc.cpp,
29798 source/Lib/TLibEncoder/TEncEntropy.cpp,
29799 source/Lib/TLibEncoder/TEncEntropy.h,
29800 source/Lib/TLibEncoder/TEncSbac.cpp,
29801 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/framefilter.cpp:
29802 global search and replace for common hungarian prefixed variables
29803 [5ada776190c0]
29804
29805 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
29806 source/Lib/TLibEncoder/WeightPredAnalysis.h:
29807 WeightPredAnalysis: remove hungarian prefixes
29808 [e0893637f5ac]
29809
29810 * source/Lib/TLibEncoder/TEncCavlc.cpp,
29811 source/Lib/TLibEncoder/TEncCavlc.h:
29812 TEncCavlc: remove hungarian prefixes
29813 [c5ac154bfb4d]
29814
29815 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
29816 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
29817 TEncBinCABAC: remove hungarian prefixes
29818 [b7d09f879c51]
29819
29820 * source/common/CMakeLists.txt:
29821 cmake: fix gcc 16bpp build
29822 [b04d75ceb182]
29823
29824 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
29825 source/x265.h:
29826 api: pass presentation timestamp through the encoder
29827 [7c8c591908ac]
29828
29829 2013-10-15 Min Chen <chenm003@163.com>
29830
29831 * source/Lib/TLibCommon/TComBitStream.cpp:
29832 faster grow buffer size to reduce number of memcpy
29833 [f66122e4565e]
29834
29835 * source/Lib/TLibCommon/TComBitCounter.h,
29836 source/Lib/TLibCommon/TComBitStream.cpp,
29837 source/Lib/TLibCommon/TComBitStream.h,
29838 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
29839 cabac: writeByte() for faster CABAC output
29840 [7bd38dc97fa1]
29841
29842 * source/Lib/TLibCommon/ContextModel.h,
29843 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
29844 source/Lib/TLibCommon/ContextModel3DBuffer.h,
29845 source/Lib/TLibCommon/ContextTables.h,
29846 source/Lib/TLibCommon/TypeDef.h,
29847 source/Lib/TLibEncoder/TEncSbac.cpp:
29848 cleanup:reduce ContextModel3DBuffer to 1D
29849 [e4f130853d90]
29850
29851 2013-10-15 Praveen Tiwari <Praveen Tiwari>
29852
29853 * source/common/primitives.h:
29854 primitives: add chroma partition widths and interpolation function
29855 def
29856 [d011ba82c852]
29857
29858 2013-10-15 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29859
29860 * source/common/vec/pixel-sse41.cpp:
29861 pixel-sse41.cpp: Modified PROCESS_SSE_SS4x1 macro with faster
29862 intrinsics
29863 [352781943ca8]
29864
29865 2013-10-15 Kavitha Sampath <kavitha@multicorewareinc.com>
29866
29867 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h:
29868 y4m: make file reading threaded
29869 [dd78cc895f2d]
29870
29871 2013-10-15 Santhoshini Sekar <santhoshini@multicorewareinc.com>
29872
29873 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
29874 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
29875 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
29876 PSNR: row-by-row PSNR measurement with SSD accumulators in TComPic
29877 [404528f1ed26]
29878
29879 2013-10-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
29880
29881 * source/common/vec/ipfilter-sse41.cpp:
29882 ipfilter: Fix for 16bpp build
29883 [1a85d8814346]
29884
29885 2013-10-15 Steve Borho <steve@borho.org>
29886
29887 * source/common/vec/pixel-sse41.cpp:
29888 pixel: fix 16bpp build
29889 [bbe95ece093f]
29890
29891 2013-10-15 sairam <sairam@multicorewareinc.com>
29892
29893 * source/encoder/motion.cpp:
29894 Fixed the --me 4 cli option error
29895 [cb83e2f93592]
29896
29897 2013-10-15 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29898
29899 * source/common/vec/pixel-sse41.cpp:
29900 pixel: cleared the bug in sse_sp8, through sse_sp64
29901 [8c8d5700d22b]
29902
29903 * source/common/vec/pixel-sse41.cpp:
29904 pixel: modified weightUnidir to clear the bug.
29905 [07f03a3fa2b8]
29906
29907 * source/common/vec/pixel-sse41.cpp:
29908 pixel: cleared the bug in sse_sp4.
29909 [cc35cb2f55e8]
29910
29911 2013-10-15 Steve Borho <steve@borho.org>
29912
29913 * source/common/CMakeLists.txt, source/common/vec/pixel-sse41.cpp,
29914 source/common/vec/pixel16-sse41.cpp, source/common/vec/pixel16.inc:
29915 cmake: give 16bpp vector sad primitives their own C++ file
29916 [764c0e9984f0]
29917
29918 * source/CMakeLists.txt:
29919 cmake: do not query clang version, it is not used
29920 [fa90c915a323]
29921
29922 2013-10-14 Steve Borho <steve@borho.org>
29923
29924 * source/Lib/TLibEncoder/TEncSearch.cpp:
29925 TEncSearch: fix comment for TEncSearch::predInterSearch
29926 [062c51758069]
29927
29928 * source/CMakeLists.txt:
29929 cmake: move X265_BUILD definition to near top of main CMakeLists.txt
29930
29931 This is just to make it easier to find
29932 [abae6903e0af]
29933
29934 * source/common/CMakeLists.txt, source/common/common.cpp,
29935 source/common/version.cpp:
29936 version: move export variables into version.cpp
29937 [eeffa630e770]
29938
29939 * source/CMakeLists.txt:
29940 cmake: allow MinGW to rename x265-static to x265
29941
29942 MinGW uses libx265.dll.a for the shim loader library, which does not
29943 collide with libx265.a, so it is ok. Only MSVC wants to use x265.lib
29944 for both
29945 [28e2a3926c95]
29946
29947 * source/common/CMakeLists.txt:
29948 cmake: fix 32bit GCC compile
29949 [b2c148b71db8]
29950
29951 * source/CMakeLists.txt:
29952 cmake: drop x265 folder suffix to archive install path
29953 [5af31960c41d]
29954
29955 2013-10-13 Steve Borho <steve@borho.org>
29956
29957 * source/common/common.cpp, source/common/common.h,
29958 source/common/lowres.h, source/encoder/slicetype.h:
29959 common: sanity check some lookahead settings
29960 [eb0aa9c42bba]
29961
29962 2013-09-10 Steve Borho <steve@borho.org>
29963
29964 * source/common/lowres.cpp, source/common/lowres.h,
29965 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
29966 slicetype: fill in missing detail from slicetypeDecide()
29967
29968 This moves slicetypeDecide() to make the file more readable. It also
29969 adds stubs for features that we do not support yet including
29970 weightp, B-pyramid, intra refresh, user-supplied slice types, etc
29971 [9bdff3310321]
29972
29973 2013-10-13 Steve Borho <steve@borho.org>
29974
29975 * source/common/CMakeLists.txt:
29976 cpu: disable -Wnarrowing for cpu.cpp
29977
29978 This C99 code from x264 causes warnings when compiled for C++
29979 [8011064113f7]
29980
29981 2013-10-13 Min Chen <chenm003@163.com>
29982
29983 * source/Lib/TLibCommon/TComDataCU.cpp,
29984 source/Lib/TLibCommon/TComDataCU.h,
29985 source/Lib/TLibEncoder/TEncBinCoder.h,
29986 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
29987 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
29988 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp,
29989 source/encoder/cturow.cpp:
29990 cabac: cleanup unused code
29991 [1eeac78dbddb]
29992
29993 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
29994 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
29995 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
29996 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
29997 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
29998 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
29999 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/CMakeLists.txt,
30000 source/encoder/cturow.cpp, source/encoder/cturow.h,
30001 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
30002 cabac: cleanup TEncBinCoderCABACCounter to reduce C++ feature
30003 [6d351ec699e5]
30004
30005 2013-10-12 Steve Borho <steve@borho.org>
30006
30007 * source/common/vec/vec-primitives.cpp:
30008 vec: it seems clang has its own set of intrinsic generation bugs
30009
30010 If clang is allowed to run the instrinsic functions it builds in
30011 these two files it causes SEGVs
30012 [db12b4bf3ffd]
30013
30014 * source/common/primitives.cpp:
30015 primitives: show capabilities used even when cpuid is specified
30016 [4423fc3fcd08]
30017
30018 * source/test/testbench.cpp:
30019 testbench: repair --cpuid command line argument
30020 [c1acbd493213]
30021
30022 * source/common/vec/ipfilter-sse41.cpp:
30023 ipfilter: move 16bpp primitives into a separate area of the file
30024
30025 This isolates the remaining vector primitives from the intrinsic
30026 primitives
30027 [7196914eff8f]
30028
30029 2013-10-10 Steve Borho <steve@borho.org>
30030
30031 * source/VectorClass/instrset.h,
30032 source/VectorClass/instrset_detect.cpp,
30033 source/common/CMakeLists.txt, source/common/cpu.cpp,
30034 source/common/cpu.h, source/common/primitives.cpp,
30035 source/common/primitives.h, source/common/vec/vec-primitives.cpp,
30036 source/common/x86/asm-primitives.cpp, source/test/testbench.cpp,
30037 source/x265.h:
30038 asm: adopt x264 CPU detection and flags
30039 [76260e1b472d]
30040
30041 2013-10-12 Steve Borho <steve@borho.org>
30042
30043 * source/CMakeLists.txt, source/common/CMakeLists.txt,
30044 source/common/common.cpp, source/common/common.h, source/x265.cpp,
30045 source/x265.def.in, source/x265.h:
30046 api: add exported strings which describe version and build info
30047
30048 It seemed more useful for this data to be in the x265 library rather
30049 than the CLI app
30050 [6d5df4858df6]
30051
30052 * source/CMakeLists.txt, source/cmake/cmake_uninstall.cmake.in:
30053 cmake: add uninstall rule for non-Windows platforms
30054
30055 CMake on Windows doesn't appear to generate an install manifest file
30056 [c18a09b9d2d3]
30057
30058 * source/CMakeLists.txt, source/common/CMakeLists.txt,
30059 source/encoder/CMakeLists.txt:
30060 cmake: enable vim syntax hightlighting
30061 [ec98f30c5185]
30062
30063 * source/cmake/version.cmake:
30064 cmake: nit cleanups in version.cmake
30065 [c032a0fbc863]
30066
30067 * source/CMakeLists.txt, source/cmake/version.cmake, source/x265.def,
30068 source/x265.def.in, source/x265.h, source/x265_config.h.in:
30069 cmake: add install targets, machine generate x265.def and
30070 x265_config.h
30071
30072 Now X265_BUILD is maintained in just a single place,
30073 souce/CMakeLists.txt.
30074
30075 The shared library is only installed if a valid tag is found;
30076 meaning the user must be building a Mercurial clone or a release
30077 tarball with .hg_archive.txt file in it (otherwise they must install
30078 the shared library themselves)
30079 [1097e547c441]
30080
30081 * source/common/common.h:
30082 common: properly report clang compiled by version
30083 [28690748ab1d]
30084
30085 2013-10-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30086
30087 * source/test/pixelharness.cpp, source/test/testharness.h:
30088 testbench fix: short buffers now have short values
30089 [aef52403ed5a]
30090
30091 2013-10-11 Steve Borho <steve@borho.org>
30092
30093 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
30094 ratecontrol: use param.rc.rateControlMode, from duplicate RC var
30095 [9a02765f182e]
30096
30097 * source/common/vec/intra-sse41.cpp:
30098 intra: remove vector class header include from intra-sse41.cpp
30099
30100 intra-sse3.cpp is the last file with 8bpp (non-AVX2) vector class
30101 primitives
30102 [f77efd501767]
30103
30104 * source/common/vec/blockcopy-sse3.cpp:
30105 blockcopy-sse3: consistent naming convention
30106 [8518e39a2b74]
30107
30108 * source/common/vec/blockcopy-sse3.cpp:
30109 blockcopy-sse3: remove vector class use from last 16bpp intrinsic
30110
30111 blockcopy files are now vector class clean
30112 [41b7ceea1e32]
30113
30114 * source/common/vec/blockcopy-sse3.cpp:
30115 blockcopy-sse3: consistent naming convention
30116 [0be273b5f082]
30117
30118 * source/common/vec/intra-sse3.cpp:
30119 intra: prevent variable shadow warnings from GCC
30120 [d97cf152f620]
30121
30122 2013-10-11 Aarthi Thirumalai <Aarthi Thirumalai>
30123
30124 * source/common/pixel.cpp, source/common/primitives.h:
30125 primitves: add c primitives for the following :
30126
30127 compute AC energy for each block copy pixels of chroma plane
30128 [725ac176cd13]
30129
30130 * source/common/common.cpp, source/x265.h:
30131 param: added rc states for setting Aq mode and Aq strength
30132 [73d085da8533]
30133
30134 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
30135 source/encoder/ratecontrol.h:
30136 rc: added TEncCfg instance to RateControl to reuse all the rc params
30137 directly.
30138 [ce889cef37be]
30139
30140 2013-10-11 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30141
30142 * source/common/reference.cpp, source/encoder/motion.cpp:
30143 Some fixes in applyWeight() function
30144
30145 These wont fix the PSNR drop but are necessary
30146 [b70432f7b275]
30147
30148 2013-10-11 Steve Borho <steve@borho.org>
30149
30150 * source/common/vec/dct-ssse3.cpp:
30151 dct-ssse3: remove vector class includes; dct files are now clean
30152 [1cd3bc5e6881]
30153
30154 * source/common/vec/dct-sse3.cpp:
30155 dct-sse3: don't compile dct4 for 16bpp builds when it is not used
30156 [2267068cc7e1]
30157
30158 * source/common/vec/dct-sse41.cpp:
30159 dct-sse41: reorder functions for clarity - no code change
30160 [d6dc4ebb5cbe]
30161
30162 * source/common/vec/dct-sse3.cpp:
30163 dct-sse3: remove idst4; it uses SSE4.1 but dct-sse41.cpp already has
30164 idst4
30165 [839a9ba551e4]
30166
30167 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30168
30169 * source/common/vec/dct-sse3.cpp:
30170 dct: Replaced inversedst vector class function to intrinsic
30171 [df024b91ffd6]
30172
30173 2013-10-11 Steve Borho <steve@borho.org>
30174
30175 * source/common/vec/pixel-sse3.cpp:
30176 pixel-sse3: move convert32to16_shr to top of file, remove vector
30177 class includes
30178 [9f37e3d7818c]
30179
30180 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30181
30182 * source/common/vec/pixel-sse3.cpp:
30183 pixel-sse3.cpp: Replace convert32to16_shr vector class function with
30184 intrinsic.
30185 [efb230642757]
30186
30187 2013-10-11 Steve Borho <steve@borho.org>
30188
30189 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
30190 dct: move dct32 to dct-sse41.cpp, inline convert16to32
30191 [def1551c14f0]
30192
30193 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30194
30195 * source/common/vec/dct-sse3.cpp:
30196 dct: Replaced partialButterfly32 vector class function to intrinsic
30197 [ca00db64f5bb]
30198
30199 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30200
30201 * source/common/vec/intra-sse3.cpp:
30202 intra-sse3.cpp: Replace PredIntraAng4_m_32 vector class function
30203 with intrinsic.
30204 [4824f15116e6]
30205
30206 * source/common/vec/intra-sse3.cpp:
30207 intra-sse3.cpp: Replace PredIntraAng4_m_26 vector class function
30208 with intrinsic.
30209 [267fa83cd7b9]
30210
30211 * source/common/vec/intra-sse3.cpp:
30212 intra-sse3.cpp: Replace PredIntraAng4_m_21 vector class function
30213 with intrinsic.
30214 [90b34ae5e8de]
30215
30216 * source/common/vec/intra-sse3.cpp:
30217 intra-sse3.cpp: Replace PredIntraAng4_m_17 vector class function
30218 with intrinsic.
30219 [263acbde8ec1]
30220
30221 * source/common/vec/intra-sse3.cpp:
30222 intra-sse3.cpp: Replace PredIntraAng4_m_13 vector class function
30223 with intrinsic.
30224 [f1013117efab]
30225
30226 * source/common/vec/intra-sse3.cpp:
30227 intra-sse3.cpp: Replace PredIntraAng4_m_9 vector class function with
30228 intrinsic.
30229 [5c6f7106c918]
30230
30231 * source/common/vec/intra-sse3.cpp:
30232 intra-sse3.cpp: Replace PredIntraAng4_m_5 vector class function with
30233 intrinsic.
30234 [87a56e0ff6a9]
30235
30236 * source/common/vec/intra-sse3.cpp:
30237 intra-sse3.cpp: Replace PredIntraAng4_m_2 vector class function with
30238 intrinsic.
30239 [e4efd408f394]
30240
30241 * source/common/vec/intra-sse3.cpp:
30242 intra-sse3.cpp: Replace PredIntraAng4_2 vector class function with
30243 intrinsic.
30244 [bd335e21744d]
30245
30246 * source/common/vec/intra-sse3.cpp:
30247 intra-sse3.cpp: Replace PredIntraAng4_5 vector class function with
30248 intrinsic.
30249 [2b9f94e11cc5]
30250
30251 * source/common/vec/intra-sse3.cpp:
30252 intra-sse3.cpp: Replace PredIntraAng4_9 vector class function with
30253 intrinsic.
30254 [e65e3714bbb9]
30255
30256 * source/common/vec/intra-sse3.cpp:
30257 intra-sse3.cpp: Replace PredIntraAng4_13 vector class function with
30258 intrinsic.
30259 [f3d0ced4a4f1]
30260
30261 * source/common/vec/intra-sse3.cpp:
30262 intra-sse3.cpp: Replace PredIntraAng4_17 vector class function with
30263 intrinsic.
30264 [17c772394df3]
30265
30266 2013-10-11 Steve Borho <steve@borho.org>
30267
30268 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
30269 dct: move dct8 to dct-sse41.cpp, inline convert16to32
30270 [f0eebdf90a58]
30271
30272 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30273
30274 * source/common/vec/dct-sse3.cpp:
30275 dct: Replaced partialButterfly16 vector class function to intrinsic
30276 [f760de7f5596]
30277
30278 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30279
30280 * source/common/vec/intra-sse3.cpp:
30281 intra-sse3.cpp: Replace PredIntraAng4_21 vector class function with
30282 intrinsic.
30283 [e9b401f5c655]
30284
30285 2013-10-11 Min Chen <chenm003@163.com>
30286
30287 * source/common/x86/ipfilter8.asm:
30288 asm: improvement filterHorizontal_p_p_4 by reorder intermedia data
30289
30290 1. repleace phaddw to paddw 2. use extra load operator to split data
30291 dependency and reduce table size
30292 [080a9fdada2c]
30293
30294 * source/common/x86/ipfilter8.asm:
30295 asm: fix bug in filterHorizontal_p_p_4 with width less than 8 (seed
30296 0x52578C72)
30297 [953a4e9f3d57]
30298
30299 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30300
30301 * source/common/vec/intra-sse3.cpp:
30302 intra-sse3.cpp: Replace PredIntraAng4_26 vector class function with
30303 intrinsic using intrinsic macros PRED_INTRA_ANGLE_4_START and
30304 PRED_INTRA_ANGLE_4_END.
30305 [295973cbc020]
30306
30307 * source/common/vec/intra-sse3.cpp:
30308 intra-sse3.cpp: Created common macros PRED_INTRA_ANGLE_4_START,
30309 PRED_INTRA_ANGLE_4_END for PredIntraAng4_[ANGLE] function.
30310 [ee4f9ae07523]
30311
30312 2013-10-11 Steve Borho <steve@borho.org>
30313
30314 * source/common/vec/dct-sse41.cpp:
30315 dct: manually inline convert16to32, for 10% improvement
30316 [ab9f6ad97d30]
30317
30318 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30319
30320 * source/common/vec/dct-sse41.cpp:
30321 dct: modified block copy used in dct8 with convert16to32 inline
30322 function
30323 [855757691efc]
30324
30325 2013-10-11 Steve Borho <steve@borho.org>
30326
30327 * source/common/vec/dct-sse3.cpp:
30328 dct: fix 16bpp, dct primitives are not 16bpp safe
30329 [c6d89dc62e19]
30330
30331 2013-10-10 Steve Borho <steve@borho.org>
30332
30333 * source/common/piclist.cpp:
30334 piclist: ensure a TComPic is not enqueued in two lists at once
30335 [7134a091a71d]
30336
30337 2013-10-11 Steve Borho <steve@borho.org>
30338
30339 * source/common/pixel.cpp, source/common/primitives.h,
30340 source/common/vec/pixel-sse3.cpp:
30341 pixel: remove unreferenced cvt16to32_t and cvt32to16_t primitives
30342 [9bbaa60db38b]
30343
30344 * source/common/vec/pixel-sse41.cpp:
30345 pixel: remove unreferenced sse_pp4 function
30346 [fa480d5c2166]
30347
30348 2013-10-10 Steve Borho <steve@borho.org>
30349
30350 * source/common/vec/pixel-avx2.cpp:
30351 pixel: allow clang to build AVX2 pixel primitives functions
30352 [0fabe33e0448]
30353
30354 2013-10-11 Min Chen <chenm003@163.com>
30355
30356 * source/cmake/version.cmake:
30357 cmake: default value for X265_VERSION
30358 [b6756c2e6386]
30359
30360 2013-10-10 Steve Borho <steve@borho.org>
30361
30362 * source/CMakeLists.txt, source/common/CMakeLists.txt:
30363 cmake: repair ICL nmake builds - do not use yasm custom rule with
30364 nmake
30365 [57e6b2cf633d]
30366
30367 2013-10-11 Steve Borho <steve@borho.org>
30368
30369 * source/CMakeLists.txt, source/common/CMakeLists.txt:
30370 cmake: make intel C++ compiler detection independent of env vars
30371 [e282601b92d6]
30372
30373 2013-10-10 Steve Borho <steve@borho.org>
30374
30375 * source/CMakeLists.txt, source/common/CMakeLists.txt:
30376 cmake: cleanup compiler determination
30377 [95f8e0c146b8]
30378
30379 * source/common/CMakeLists.txt:
30380 cmake: add parens to fix icpc builds of intrinsic primitives
30381 [7320ecd0901c]
30382
30383 * source/Lib/TLibCommon/TComSlice.h:
30384 TComSlice: add missing cstring include for memcpy
30385 [71fca64942a6]
30386
30387 * source/Lib/TLibCommon/TComSlice.h:
30388 TComSlice: remove unreferenced member variable
30389 [614a68ab4703]
30390
30391 * source/Lib/TLibEncoder/NALwrite.cpp:
30392 NALwrite: reintroduce include of cstring, required for memcpy on
30393 Linux
30394 [d6b9cc9c402f]
30395
30396 * source/encoder/CMakeLists.txt:
30397 cmake: merge TLibEncoderH source group into TLibEncoder
30398
30399 They are both small enough now that they are manageable as a single
30400 unit
30401 [bfdfeb2fd817]
30402
30403 * source/CMakeLists.txt:
30404 cmake: link PPA and other libs into x265-shared and x265-static
30405 [499ef0e4e254]
30406
30407 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
30408 dct: add comments for future opts/code reuse
30409 [7b4a6a5f8efc]
30410
30411 * source/common/vec/dct-sse41.cpp:
30412 dct: remove vector class includes from dct-sse41.cpp, it is clean
30413 [3be4451ea3aa]
30414
30415 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
30416 dct: move functions which require SSE4.1 from dct-sse3.cpp to dct-
30417 sse41.cpp
30418 [be7c6c42566a]
30419
30420 * source/common/vec/dct-sse3.cpp:
30421 dct: move last vector dct function into its own section
30422 [b0b5c22f5a34]
30423
30424 2013-10-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30425
30426 * source/common/vec/dct-sse3.cpp:
30427 dct: replaced partialButterfly8 vector class function with intrinsic
30428 [6fa763ba9da8]
30429
30430 * source/common/vec/dct-sse3.cpp:
30431 dct: replace dequant vector class function with intrinsic
30432 [b77a66b6b93d]
30433
30434 2013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30435
30436 * source/common/vec/intra-sse3.cpp:
30437 intra-sse3.cpp: Replace PredIntraAng4_32 vector class function with
30438 intrinsic.
30439 [8b49d3995f0c]
30440
30441 2013-10-10 Steve Borho <steve@borho.org>
30442
30443 * source/common/vec/blockcopy-sse3.cpp:
30444 blockcopy: move intrinsic function out of vector-class section
30445 [7dbbbb2a42bc]
30446
30447 2013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30448
30449 * source/common/vec/blockcopy-sse3.cpp:
30450 blockcopy-sse3.cpp: Replace pixeladd_pp vector class function with
30451 intrinsic.
30452 [12d098e5d907]
30453
30454 2013-10-10 Gopu Govindaswamy <gopu@multicorewareinc.com>
30455
30456 * source/Lib/TLibCommon/TComTrQuant.cpp,
30457 source/Lib/TLibCommon/TComTrQuant.h:
30458 tcomtrquant:remove unused methods
30459 [a79ecf3a7875]
30460
30461 * source/Lib/TLibCommon/CommonDef.h,
30462 source/Lib/TLibCommon/TComDataCU.h,
30463 source/Lib/TLibEncoder/NALwrite.cpp,
30464 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/dct.cpp,
30465 source/common/pixel.cpp, source/common/vec/dct-sse3.cpp,
30466 source/common/vec/dct-sse41.cpp, source/x265.cpp:
30467 remove unused <algorithm> includes
30468 [dce6ced4b4a3]
30469
30470 * source/Lib/TLibCommon/TComSlice.cpp,
30471 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
30472 tcomslice:remove unused set methods
30473 [c2fb3d12c812]
30474
30475 * source/Lib/TLibCommon/TComSlice.cpp,
30476 source/Lib/TLibCommon/TComSlice.h:
30477 tcomslice: removed unused set methods in TComReferencePictureSet
30478 class
30479 [bb43823efa92]
30480
30481 2013-10-10 Steve Borho <steve@borho.org>
30482
30483 * source/common/vec/pixel-sse41.cpp, source/common/vec/sse.inc:
30484 sse: move last SSE function into vector-class section of pixel-
30485 sse41.cpp
30486 [7b4685130793]
30487
30488 * source/common/vec/ipfilter-ssse3.cpp:
30489 ipfilter: remove vector class headers from ipfilter-ssse3.cpp
30490 [29844e1eb697]
30491
30492 2013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30493
30494 * source/common/vec/ipfilter-ssse3.cpp:
30495 ipfilter-ssse3.cpp: Replace filterConvertPelToShort vector class
30496 function with intrinsic.
30497 [b7b00d3533b1]
30498
30499 * source/common/vec/ipfilter-ssse3.cpp:
30500 ipfilter-ssse3.cpp: Replace filterConvertShortToPel vector class
30501 function with intrinsic.
30502 [fc4bc74c095a]
30503
30504 2013-10-10 Steve Borho <steve@borho.org>
30505
30506 * source/common/vec/pixel-sse41.cpp, source/common/vec/sse.inc:
30507 sse: move intrinsic functions to pixel-sse41.cpp
30508 [02fd071a875b]
30509
30510 2013-10-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30511
30512 * source/common/vec/sse.inc:
30513 pixel: replace sse_sp64 vector class with intrinsic
30514 [250b1b037e94]
30515
30516 * source/common/vec/sse.inc:
30517 pixel: replace sse_sp48 vector class with intrinsic
30518 [1d872b8c6480]
30519
30520 * source/common/vec/sse.inc:
30521 pixel: replace sse_sp32 vector class with intrinsic
30522 [92b11584470c]
30523
30524 * source/common/vec/sse.inc:
30525 pixel: replace sse_sp24 vector class with intrinsic
30526 [cae449cb7965]
30527
30528 * source/common/vec/sse.inc:
30529 pixel: replace sse_sp16 vector class with intrinsic
30530 [087267802b1c]
30531
30532 * source/common/vec/sse.inc:
30533 pixel: modified sse_sp8 with a comman macro SSE_SP8x1
30534 [fb043c201cce]
30535
30536 2013-10-10 Min Chen <chenm003@163.com>
30537
30538 * source/Lib/TLibEncoder/TEncSearch.cpp:
30539 TEncSeach: add alignment to bidir output buffer
30540
30541 fixes crash in x265_pixel_avg_w16_sse2 from aligned writes to the
30542 output buffer
30543 [6a6f72ea32a3]
30544
30545 2013-10-10 Steve Borho <steve@borho.org>
30546
30547 * source/x265.def, source/x265.h:
30548 api: make notice of how the build number now must be echoed in
30549 x265.def
30550 [8ae52f2b159c]
30551
30552 * source/encoder/encoder.cpp:
30553 encoder: silence idiotic compiler warning from VC10
30554 [4b84c969a079]
30555
30556 2013-10-09 Steve Borho <steve@borho.org>
30557
30558 * source/x265.h:
30559 api: add API version to x265_encoder_open to prevent dynamic library
30560 link skew
30561
30562 Gratefully borrowed from x264
30563 [52284d8d4dc1]
30564
30565 * source/common/CMakeLists.txt, source/common/vec/vec-primitives.cpp:
30566 cmake: enable clang to compile intrinsic primitives without version
30567 checks
30568 [edcc92f2b2ab]
30569
30570 * source/common/vec/blockcopy-sse3.cpp:
30571 blockcopy: isolate vector class routines together (firing squad)
30572 [82f20a7cb593]
30573
30574 * source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
30575 source/VectorClass/vectori256e.h:
30576 vector: bypass a number of functions we do not use when compiled by
30577 clang
30578
30579 The sooner these classes go away the better
30580 [5cc9abe88e62]
30581
30582 * source/common/vec/pixel-ssse3.cpp:
30583 pixel: remove vector class headers from pixel-ssse3.cpp
30584 [a574f4347855]
30585
30586 * source/common/vec/intra-sse3.cpp:
30587 intra: remove an unreferenced function
30588 [27a3de7a742c]
30589
30590 * source/common/vec/ipfilter-sse41.cpp:
30591 ipfilter: remove two unreferenced functions
30592 [9518070da726]
30593
30594 * source/common/ipfilter.cpp:
30595 ipfilter: remove two unused functions
30596 [6a08d0e9178c]
30597
30598 * source/CMakeLists.txt:
30599 cmake: detect clang compiler anf fix some link issues
30600 [d7922b02ef3c]
30601
30602 * source/CMakeLists.txt:
30603 cmake: bump minimum required version to 2.8.8
30604 [5dceef85c58c]
30605
30606 * source/CMakeLists.txt:
30607 cmake: add -ffast-math to GCC compile flags
30608 [4710e2b5e134]
30609
30610 * source/Lib/TLibCommon/TComSlice.h:
30611 TComSlice: linux build fix, include <cstring> for memcpy
30612 [80af6aaa16e2]
30613
30614 2013-10-09 Sumalatha Polureddy <Sumalatha Polureddy>
30615
30616 * source/encoder/compress.cpp:
30617 no-rdo(early exit): update the memory with info from m_interCU_NxN
30618
30619 The encoding and prediction details which are updated in the
30620 m_interCU_NxN in NxN calculation are updated in the m_tempCU
30621 [bd3f43f06dd4]
30622
30623 2013-10-09 Steve Borho <steve@borho.org>
30624
30625 * source/common/vec/dct-ssse3.cpp, source/encoder/bitcost.cpp:
30626 remove more <algorithm> includes
30627 [e4369bb24ad7]
30628
30629 * source/Lib/TLibEncoder/TEncCu.cpp:
30630 TEncCu: replace <algorithm> with X265_MIN, X265_MAX
30631 [50d55737f6b0]
30632
30633 * source/Lib/TLibCommon/ContextModel.cpp:
30634 ContextModel: replace <algorithm> with X265_MIN, X265_MAX
30635 [8cd4c7e800ed]
30636
30637 * source/Lib/TLibEncoder/NALwrite.cpp:
30638 NALwrite: remove "using namespace std"
30639 [05b6f86ebda6]
30640
30641 * source/test/unittest.cpp, source/test/unittest.h:
30642 remove unused unittest class (is not even compiled today)
30643 [882d6a2b329e]
30644
30645 * source/x265.cpp:
30646 cli: remove "using namespace std"
30647 [ddb9d884df8d]
30648
30649 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
30650 source/Lib/TLibCommon/TComBitStream.cpp,
30651 source/Lib/TLibCommon/TComBitStream.h,
30652 source/Lib/TLibCommon/TComDataCU.h,
30653 source/Lib/TLibEncoder/NALwrite.cpp:
30654 remove a pile of unused STL includes, reorder includes for clarity
30655 [7c15a193cef9]
30656
30657 * source/Lib/TLibEncoder/TEncSbac.cpp:
30658 TEncSBac: remove unused #include <map>
30659 [64b58c78dd68]
30660
30661 * source/Lib/TLibCommon/TComSlice.cpp,
30662 source/Lib/TLibCommon/TComSlice.h:
30663 TComSlice: remove unused ParameterSetMap and #include<map>
30664 [5a50663968f5]
30665
30666 2013-10-09 Gopu Govindaswamy <gopu@multicorewareinc.com>
30667
30668 * source/Lib/TLibCommon/TComList.h, source/Lib/TLibCommon/TComSlice.h,
30669 source/common/CMakeLists.txt, source/encoder/encoder.cpp:
30670 TLibCommon: Removed unused TComList
30671 [fd1d967972d0]
30672
30673 * source/Lib/TLibCommon/TComSlice.cpp,
30674 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
30675 source/encoder/dpb.h, source/encoder/encoder.h:
30676 dpb and TComSlice: replaced TComList with PicList
30677 [85c733f8a057]
30678
30679 2013-10-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30680
30681 * source/common/reference.cpp, source/common/reference.h,
30682 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
30683 source/encoder/motion.h:
30684 Enabling weight prediction for half and full pel
30685 [b44fccc8e6ea]
30686
30687 2013-10-09 Steve Borho <steve@borho.org>
30688
30689 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
30690 source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
30691 pixel: fixup GCC builds, remove pixel8.inc and pixel.inc
30692 [271b02645979]
30693
30694 2013-10-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30695
30696 * source/common/vec/pixel8.inc:
30697 pixel: Replace weightUnidir vector class function with intrinsic.
30698 [408ca7050bc7]
30699
30700 * source/common/vec/sse.inc:
30701 pixel: replace sse_sp12 vector class with intrinsic
30702 [e828f98d388a]
30703
30704 * source/common/vec/sse.inc:
30705 pixel: replace sse_sp8 vector class with intrinsic
30706 [d9665d0ad277]
30707
30708 * source/common/vec/sse.inc:
30709 pixel: replace sse_sp4 vector class with intrinsic
30710 [dc0bd9d959db]
30711
30712 2013-10-09 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30713
30714 * source/common/vec/sse.inc:
30715 sse.inc: Modified sse_ss64 intrinsic function. Removed redundancy
30716 using comman macro PROCESS_SSE_SS4x1.
30717 [756de900bae5]
30718
30719 * source/common/vec/sse.inc:
30720 sse.inc: Modified sse_ss48 intrinsic function. Removed redundancy
30721 using comman macro PROCESS_SSE_SS4x1.
30722 [50a2725a989d]
30723
30724 * source/common/vec/sse.inc:
30725 sse.inc: Modified sse_ss32 intrinsic function. Removed redundancy
30726 using comman macro PROCESS_SSE_SS4x1.
30727 [363ff9b66afa]
30728
30729 * source/common/vec/sse.inc:
30730 sse.inc: Modified sse_ss24 intrinsic function. Removed redundancy
30731 using comman macro PROCESS_SSE_SS4x1.
30732 [9f1ec1c9cdb6]
30733
30734 * source/common/vec/sse.inc:
30735 sse.inc: Modified sse_ss16 intrinsic function. Removed redundancy
30736 using comman macro PROCESS_SSE_SS4x1.
30737 [aca490fa02d7]
30738
30739 * source/common/vec/sse.inc:
30740 sse.inc: Modified sse_ss12 intrinsic function. Removed redundancy
30741 using comman macro PROCESS_SSE_SS4x1.
30742 [3f5fe6d9a81d]
30743
30744 * source/common/vec/sse.inc:
30745 sse.inc: Modified sse_ss8 intrinsic function. Removed redundancy
30746 using comman macro PROCESS_SSE_SS4x1.
30747 [1428dcddfa4d]
30748
30749 * source/common/vec/sse.inc:
30750 pixel.inc: Modified sse_ss4 intrinsic function. Removed redundancy
30751 using comman macro PROCESS_SSE_SS4x1.
30752 [d1ca36034d9f]
30753
30754 * source/common/vec/sse.inc:
30755 sse.inc: Created comman macro PROCESS_SSE_SS4x1 for functions
30756 sse_ss4, sse_ss8, sse_ss16, sse_ss24, sse_ss32, sse_ss48, sse_ss64.
30757 [95da8fa18a2e]
30758
30759 * source/common/vec/pixel8.inc:
30760 pixel8.inc: Replace weightUnidirPixel vector class function with
30761 intrinsic.
30762 [9a20693c6ff2]
30763
30764 * source/common/vec/pixel-sse3.cpp:
30765 pixel-sse3.cpp: Modified calcRecons function argument names. Removed
30766 hungarian prefixes.
30767 [9d534f295529]
30768
30769 * source/common/vec/pixel-sse3.cpp:
30770 pixel-sse3.cpp: Modified calcRecons8 function argument names.
30771 Removed hungarian prefixes.
30772 [a1a2233536d5]
30773
30774 * source/common/vec/pixel-sse3.cpp:
30775 pixel-sse3.cpp: Modified calcRecons4 function argument names.
30776 Removed hungarian prefixes.
30777 [87084e0f93f4]
30778
30779 2013-10-09 Steve Borho <steve@borho.org>
30780
30781 * source/Lib/TLibEncoder/TEncCavlc.h,
30782 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
30783 source/Lib/TLibEncoder/TEncSbac.cpp,
30784 source/Lib/TLibEncoder/TEncSbac.h,
30785 source/Lib/TLibEncoder/TEncTop.cpp,
30786 source/Lib/TLibEncoder/TEncTop.h, source/encoder/CMakeLists.txt,
30787 source/encoder/cturow.cpp, source/encoder/cturow.h,
30788 source/encoder/encoder.cpp, source/encoder/encoder.h,
30789 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
30790 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
30791 pull TEncTop code into Encoder class in encoder.cpp, encoder.h
30792
30793 The TEncTop in our repo bears little resemblance to the original HM
30794 class, so I think it is applicable to move this code into one of our
30795 files where it makes the most sense. Some methods were renamed to
30796 our naming style in the process.
30797 [47d92e8a8a41]
30798
30799 2013-10-09 Gopu Govindaswamy <gopu@multicorewareinc.com>
30800
30801 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
30802 slicetype: removed TComList(std::list) and used PicList to store the
30803 TComPics
30804 [497ef3556b12]
30805
30806 2013-10-09 Steve Borho <steve@borho.org>
30807
30808 * source/CMakeLists.txt:
30809 cmake: this time for reals
30810 [fc7fbdd18bc0]
30811
30812 2013-10-08 Steve Borho <steve@borho.org>
30813
30814 * source/CMakeLists.txt:
30815 cmake: fixes for non-assembly builds and windows builds
30816 [4737b5423ea4]
30817
30818 * source/CMakeLists.txt:
30819 cmake: tweak static library names to avoid conflict
30820
30821 MSVC was trying to write both the static library and the DLL shim
30822 loader to x265.lib. After this change, the static library is now
30823 x265-static.lib and the shim loader is x265.lib (corresponding with
30824 x265.dll)
30825 [4b354b902b50]
30826
30827 2013-10-07 Steve Borho <steve@borho.org>
30828
30829 * source/CMakeLists.txt, source/cmake/mergestaticlibs.cmake,
30830 source/common/CMakeLists.txt, source/common/common.cpp,
30831 source/common/common.h, source/common/primitives.cpp,
30832 source/common/vec/CMakeLists.txt, source/common/x86/CMakeLists.txt,
30833 source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
30834 source/test/CMakeLists.txt, source/x265.cpp, source/x265.def,
30835 source/x265.h:
30836 cmake: use cmake 2.8 OBJECT target type to manage static and share
30837 libs
30838
30839 With the OBJECT target type, the common and encoder folders are
30840 compiled to object files but not linked until main static or shared
30841 library is built. This removes the need for mergestatic.cmake and
30842 cleans up a lot of messy problems - at the cost of requiring a
30843 somewhat recent cmake.
30844
30845 For MSVC (and presumably Xcode) we must keep the assembly as a
30846 static lib since it uses custom build commands which do not work
30847 with OBJECT target types. This static lib is then linked with the
30848 main x265.lib or x265.dll
30849
30850 The X265_EXPORT macro is no longer necessary since we are generating
30851 both the static library and shared library from one compile we are
30852 forced to use an x265.def file to define DLL exports. x265.exe must
30853 link with the static library because on Windows the static lib will
30854 be empty if no EXE links with it.
30855
30856 x265_mdate() was moved into the CLI x265.cpp so the CLI could link
30857 with the shared library if necessary (x265_mdate is not exported)
30858 [713c2133c77c]
30859
30860 2013-10-08 Steve Borho <steve@borho.org>
30861
30862 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
30863 source/common/vec/pixel8.inc:
30864 pixel: move intrinsic residual and recon functions to pixel-sse3.cpp
30865 [3202ca7a44bb]
30866
30867 2013-10-08 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30868
30869 * source/common/reference.cpp:
30870 Check against numRows in applyweight
30871
30872 applyWeight() processes rows a 'refLag' number of rows in advance as
30873 compared to the current iteration in compressCTURows()
30874 [7831bda44186]
30875
30876 * source/common/reference.cpp:
30877 Fix for possible memory access violation in applyWeight()
30878 [85cc6aaac7ec]
30879
30880 * source/Lib/TLibCommon/TComPrediction.cpp:
30881 Use unweighted pixels before interpolation for Luma in Motion
30882 Compensation
30883 [65f56d5e2ee7]
30884
30885 2013-10-08 Steve Borho <steve@borho.org>
30886
30887 * source/common/piclist.cpp, source/common/piclist.h:
30888 piclist: pass non-optional pictures by reference to avoid NULL
30889 checks
30890 [71afca6c173b]
30891
30892 2013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
30893
30894 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
30895 source/common/CMakeLists.txt, source/common/piclist.cpp,
30896 source/common/piclist.h:
30897 piclist: add class PicList for picture list manipulations
30898
30899 Created new file piclist.cpp and piclist.h for linked list
30900 manipulation, there will be no intermediate storage in piclist,
30901 PicList just links TComPic objects together.
30902
30903 PicList will be used to replace TComList<TComPic> and this will
30904 remove std::list dependency in x265
30905 [df812d396499]
30906
30907 2013-10-08 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
30908
30909 * source/common/vec/pixel8.inc:
30910 pixel: replace getResidual64 from vector class to intrinsic
30911 [bb27ac985cb9]
30912
30913 * source/common/vec/pixel8.inc:
30914 pixel: replace getResidual32 from vector class to intrinsic
30915 [1e53142731ab]
30916
30917 * source/common/vec/pixel8.inc:
30918 pixel: replace getResidual16 from vector class to intrinsic
30919 [c27e9b8951d0]
30920
30921 2013-10-08 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
30922
30923 * source/common/vec/pixel8.inc:
30924 pixel8.inc: replace calcRecons vector class function with intrinsic.
30925 [add71d9845a7]
30926
30927 * source/common/vec/pixel8.inc:
30928 pixel8.inc: replace calcRecons8 vector class function with
30929 intrinsic.
30930 [1d2e192467a8]
30931
30932 * source/common/vec/pixel8.inc:
30933 pixel8.inc: replace calcRecons4 vector class function with
30934 intrinsic.
30935 [d2c8e7248f4a]
30936
30937 2013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
30938
30939 * source/Lib/TLibCommon/TComSlice.cpp,
30940 source/Lib/TLibCommon/TComSlice.h:
30941 tcomslice: removed un-used sortPicList() function
30942 [91aea72a1de9]
30943
30944 * source/Lib/TLibCommon/TComSlice.cpp,
30945 source/Lib/TLibCommon/TComSlice.h:
30946 tcomslice: removed un-used checkThatAllRefPicsAreAvailable()
30947 function
30948 [ed0d3fd544e6]
30949
30950 * source/Lib/TLibCommon/TComSlice.cpp,
30951 source/Lib/TLibCommon/TComSlice.h:
30952 TComSlice: Removed un-used
30953 createExplicitReferencePictureSetFromReference() Method
30954 [268a34d4389f]
30955
30956 2013-10-08 Min Chen <chenm003@163.com>
30957
30958 * source/test/testpool.cpp:
30959 Update testbench for threadpool
30960 [57c15726158a]
30961
30962 2013-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
30963
30964 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
30965 source/encoder/frameencoder.h:
30966 calculate SSIM for each Row after deblock, sao
30967 [349206daad1d]
30968
30969 * source/common/pixel.cpp, source/common/primitives.h:
30970 primitives: added C primitives to compute SSIM
30971 [279e050947cf]
30972
30973 2013-10-08 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30974
30975 * source/encoder/slicetype.cpp:
30976 slicetype: Bidir cost estimation added to lookahead
30977 [0204da76bdb6]
30978
30979 2013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
30980
30981 * source/Lib/TLibCommon/TComBitStream.cpp:
30982 tcombitstream: bug fix for count StartCodeEmulations to calculate
30983 the substream size
30984 [9b3a427a1009]
30985
30986 2013-10-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
30987
30988 * source/Lib/TLibCommon/TComDataCU.cpp,
30989 source/Lib/TLibCommon/TComDataCU.h,
30990 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
30991 source/encoder/frameencoder.cpp:
30992 tcomdatacu: Removed Un-used NDBFBlockInfo - Non-deblocking filter
30993 processing block information
30994
30995 1.setNDBFilterBlockBorderAvailability() 2.createNonDBFilterInfo()
30996 3.createNonDBFilterInfoLCU() 4.destroyNonDBFilterInfo()
30997
30998 All the above methods are used to set and destroy the
30999 NDBFBlockInformation, but NDBFBlockInfo m_vNDFBlock is not getting
31000 used encoding process
31001 [d71078917df0]
31002
31003 2013-10-07 Steve Borho <steve@borho.org>
31004
31005 * source/common/common.cpp:
31006 common: rename AILIGNBYTES to avoid conflict with apple i386/param.h
31007 [41e5e72e2a46]
31008
31009 * source/CMakeLists.txt:
31010 cmake: white-space nit
31011 [5ff1a56ba33b]
31012
31013 * source/CMakeLists.txt, source/test/CMakeLists.txt:
31014 cmake: simplify test build structure
31015 [d79cbcdcb538]
31016
31017 * source/common/vec/pixel-sse3.cpp:
31018 pixel: wrap primitives in anononymous namespace (file static)
31019 [e1be6debf9a7]
31020
31021 * source/common/vec/pixel-sse3.cpp:
31022 pixel: fix spelling of blockfill functions, add calcresidual
31023 functions
31024 [c8b2682f8ee3]
31025
31026 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
31027 source/common/vec/pixel8.inc:
31028 pixel: move intrinsic getResidual4 and getResidual8 to pixel-
31029 sse3.cpp
31030 [baf9d1d30a9c]
31031
31032 2013-10-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
31033
31034 * source/common/vec/pixel8.inc:
31035 pixel: replace getResidual8 vector class with intrinsic
31036 [5be3fea0721a]
31037
31038 * source/common/vec/pixel8.inc:
31039 pixel: replace Residual4 vector class with intrinsic
31040 [5a0c772fd165]
31041
31042 2013-10-07 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
31043
31044 * source/common/vec/pixel-sse41.cpp:
31045 pixel: simplify sad_x4_32 to make it easier to maintain
31046 [b6f29369879c]
31047
31048 * source/common/vec/pixel-sse41.cpp:
31049 pixel: simplify sad_x4_24 to make it easier to maintain
31050 [9facd6b0a9f8]
31051
31052 * source/common/vec/pixel-sse41.cpp:
31053 pixel: simplify sad_x4_12 to make it easier to maintain
31054 [d6dc18f9cead]
31055
31056 * source/common/vec/pixel-sse41.cpp:
31057 pixel: simplify sad_x3_32 to make it easier to maintain
31058 [91df941f46bc]
31059
31060 * source/common/vec/pixel-sse41.cpp:
31061 pixel: simplify sad_x3_24 to make it easier to maintain
31062 [908f617c8847]
31063
31064 * source/common/vec/pixel-sse41.cpp:
31065 pixel: simplify sad_12 to make easier to maintain
31066 [b8756aa16d1a]
31067
31068 * source/common/vec/pixel-sse41.cpp:
31069 pixel: simplify sad_x3_12 to make it easier to maintain
31070 [afcfd17e395f]
31071
31072 * source/common/vec/pixel-sse41.cpp:
31073 pixel: simplify sad_32 to make it easier to maintain
31074 [b52b52cd0f77]
31075
31076 * source/common/vec/pixel-sse41.cpp:
31077 pixel: simplify sad_24 to make easier to maintain
31078 [2556af7a5c0d]
31079
31080 2013-10-06 Steve Borho <steve@borho.org>
31081
31082 * source/Lib/TLibCommon/TComTrQuant.cpp,
31083 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
31084 source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
31085 primitives: rename blockfil_s to blockfill_s_c
31086 [bed5c2765dc8]
31087
31088 * source/common/primitives.h:
31089 primitives: remove unused function decl
31090 [c433691041a2]
31091
31092 * source/common/primitives.h:
31093 primitives: remove obsolete FilterConf enum
31094 [69d2774132c4]
31095
31096 * source/common/ipfilter.cpp, source/common/primitives.h:
31097 ipfilter: remove unused filterRow primitives
31098 [808210e75c21]
31099
31100 2013-10-07 Steve Borho <steve@borho.org>
31101
31102 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
31103 ipfilterharness: remove test harnesses for removed primitives
31104 [6fdea23da2b9]
31105
31106 2013-10-06 Steve Borho <steve@borho.org>
31107
31108 * source/common/ipfilter.cpp, source/common/primitives.h,
31109 source/common/vec/ipfilter-sse41.cpp:
31110 ipfilter: remove unused weighted interpolation primitives
31111 [15c6e2451b34]
31112
31113 * source/CMakeLists.txt:
31114 cmake: use add_definitions() instead of modifying CMAKE_CXX_FLAGS
31115 manually
31116 [c010342f7605]
31117
31118 2013-10-02 Steve Borho <steve@borho.org>
31119
31120 * source/CMakeLists.txt, source/common/common.cpp,
31121 source/common/primitives.cpp, source/dllmain.cpp,
31122 source/encoder/encoder.cpp, source/x265.h:
31123 cmake: add ENABLE_SHARED build option for creating a shared library
31124 (dll/so)
31125 [33ea0f317564]
31126
31127 2013-10-06 Steve Borho <steve@borho.org>
31128
31129 * source/common/vec/pixel-avx2.cpp:
31130 pixel: fix eoln damage to pixel-avx2.cpp
31131 [2190f2f036a1]
31132
31133 * source/common/x86/asm-primitives.cpp:
31134 asm: simplify setup of HEVC partitions for SATD primitives
31135 [484d1d98710b]
31136
31137 * source/common/vec/pixel-sse41.cpp:
31138 pixel: simplify sad_x3_16 and sad_x4_16 to make them easier to
31139 maintain
31140 [d27d01ffa4f0]
31141
31142 2013-10-05 Steve Borho <steve@borho.org>
31143
31144 * source/common/vec/pixel-sse41.cpp:
31145 pixel: simplify sad_16 to make it easier to maintain
31146 [bf5852bbf75f]
31147
31148 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
31149 primitives.cpp:
31150 pixel: fix HIGH_BIT_DEPTH builds
31151 [bc3d1a8ebc89]
31152
31153 * source/common/vec/pixel-sse41.cpp:
31154 pixel: add missing sse_pp_12x16, untemplatize others
31155 [017aab1983dd]
31156
31157 * source/common/x86/asm-primitives.cpp:
31158 asm: don't build wrappers for functions with intrinsic
31159 implementations
31160 [da37cd44a77c]
31161
31162 * source/common/vec/pixel-sse41.cpp:
31163 pixel: drop SSE primitives that have assembly
31164 [08b4bb1e5dbe]
31165
31166 * source/common/x86/asm-primitives.cpp:
31167 asm: cleanup the assignment of SSD primitives
31168 [dc74d9932a3f]
31169
31170 * source/common/x86/asm-primitives.cpp:
31171 asm: simplify generation of sa8d_inter functions from 8x8 and 16x16
31172 blocks
31173 [276f98fe1c59]
31174
31175 * source/test/testbench.cpp:
31176 testbench: fix off-by one initialization of primitives
31177 [e352d1f1a7c6]
31178
31179 * source/common/vec/pixel-sse41.cpp:
31180 pixel: add back intrinsics for sad_x3_4x16 and sad_x4_4x16
31181
31182 These routines do not yet have assembly code
31183 [2e8d7b261880]
31184
31185 * source/common/primitives.cpp:
31186 primitives: fix off-by one initialization of primitives
31187 [6e46fabdef40]
31188
31189 * source/common/primitives.cpp:
31190 primitives: fixup 12x16 and 16x2 sa8d_inter pointers
31191
31192 32x12 isn't used but 12x16 and 16x12 are (for AMP)
31193 [884016c98502]
31194
31195 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
31196 primitives: setup square sa8d_inter function pointers from sa8d
31197 block pointers
31198 [58bacc9ae3d1]
31199
31200 * source/common/x86/asm-primitives.cpp:
31201 asm: use x265_pixel_satd_8x4_xop for p.satd[PARTITION_16x4] for 32
31202 bit builds
31203
31204 On 64bit builds, we have native sse2 functions
31205 [4f837e3ebd26]
31206
31207 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
31208 primitives: move small block sa8d_inter setup to primitives.cpp
31209
31210 This hack didn't belong in the assembly setup function
31211 [83ae910874e3]
31212
31213 * source/test/pixelharness.cpp:
31214 pixelharness: report sad, sad_x3, and sad_x4 scores together
31215 [4089b17f33ed]
31216
31217 * source/common/x86/asm-primitives.cpp:
31218 asm: quit instantiating functions which are not necessary
31219
31220 Re-order functions for more clarity
31221 [5c27d330da43]
31222
31223 * source/common/vec/pixel-sse41.cpp:
31224 pixel: stop building 16x16, 16x8, and 8x16 intrinsic primitives
31225 [73f14d5ca8a9]
31226
31227 * source/common/vec/pixel-sse41.cpp:
31228 pixel: limit sad_8 routines to just height 32
31229
31230 8x4, 8x8, and 8x16 are handled by x264 assembly, only 8x32 remains
31231 for the intrinsic function to cover
31232 [19b319c9a6aa]
31233
31234 * source/common/vec/pixel-sse41.cpp:
31235 pixel: eliminate width 48 SAD code for height != 64
31236 [8f7091d09c11]
31237
31238 * source/common/vec/pixel-sse41.cpp:
31239 pixel: simplify sad_32 primitives to a single loop
31240
31241 32 width blocks will only be height 8, 16, 24, or 32. Having an
31242 8-row loop is just fine
31243 [affee51d4f86]
31244
31245 * source/common/vec/pixel-sse41.cpp:
31246 pixel: simplify sad_64 primitives to a single loop
31247
31248 64 width blocks will only be height 16, 32, 48, or 64. Having an
31249 8-row loop is just fine
31250 [87b5a379a1d8]
31251
31252 * source/common/vec/pixel-sse41.cpp:
31253 pixel: remove sad_*_4<> intrinsic functions, they are covered by
31254 assembly
31255
31256 x264 assembly code covers 4x4, 4x8, and 4x16 and those are the only
31257 4-width partitions used by x265.
31258 [1ae7953bceb4]
31259
31260 * source/common/vec/pixel-sse41.cpp:
31261 pixel: eliminate width 24 SAD code for height != 32
31262 [fb475b36852c]
31263
31264 * source/common/vec/pixel-sse41.cpp:
31265 pixel: eliminate width 12 SAD code for height != 16
31266 [bbc040a8109c]
31267
31268 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
31269 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel.inc:
31270 pixel: only compile partition sizes that are used by the encoder
31271 [e5369adbccba]
31272
31273 * source/test/pixelharness.cpp, source/test/pixelharness.h:
31274 pixelharness: only test partition sizes plausibly used by the
31275 encoder
31276 [699b843073de]
31277
31278 * source/common/vec/pixel-sse41.cpp:
31279 pixel: use unaligned loads for reference pixels in sad_12
31280 [49231db18e60]
31281
31282 * source/common/vec/pixel-sse41.cpp:
31283 pixel: fix typo which was copied and pasted 36 times
31284 [fbfa3a5c5ae8]
31285
31286 * source/common/vec/pixel-sse41.cpp:
31287 pixel: use unaligned loads for reference pixels in sad_24
31288 [bee7275174f1]
31289
31290 2013-10-05 Min Chen <chenm003@163.com>
31291
31292 * source/encoder/framefilter.cpp:
31293 fix bug on SAO initialize
31294 [46a901ac1aff]
31295
31296 2013-10-04 Steve Borho <steve@borho.org>
31297
31298 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
31299 source/common/primitives.h, source/common/x86/CMakeLists.txt,
31300 source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
31301 source/encoder/motion.cpp:
31302 use x264 pixel average assembly routines for bidir and lowres QPEL
31303
31304 This required adding a weight parameter and re-ordering arguments.
31305 Bidir might eventually use the weighting feature so this didn't seem
31306 like a bad trade-off.
31307
31308 This commit naively pulls in all of mc-a.asm from x264 for just this
31309 one set of assembly functions.
31310 [84d0f4f907f7]
31311
31312 * source/encoder/motion.cpp:
31313 motion: use new pixelavg_pp primitive for lowres QPEL pixel
31314 generation
31315 [7976c35f5b76]
31316
31317 * source/encoder/motion.cpp:
31318 motion: remove NULL checks prior to X265_FREE calls
31319 [cb6b3038a1e6]
31320
31321 * source/common/x86/CMakeLists.txt:
31322 cmake: add ASM files to MSVC solution so they are easily edited
31323
31324 this has no effect on the build
31325 [4ee217cd64cc]
31326
31327 2013-10-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
31328
31329 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
31330 source/test/pixelharness.cpp:
31331 Fix for Testbench fail in weightpUni for Pixel input
31332 [e1404a7a05b0]
31333
31334 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
31335 source/common/pixel.cpp, source/common/primitives.h,
31336 source/common/vec/pixel.inc, source/test/pixelharness.cpp:
31337 Using int16_t rather than uint16_t in weightpUni primitive; inputs
31338 can be signed
31339 [491996e415b0]
31340
31341 2013-10-04 Aarthi Thirumalai <Aarthi Thirumalai>
31342
31343 * source/encoder/ratecontrol.cpp:
31344 rc : bug fix for quality drop with larger number of frame threads.
31345 [b960d808d0be]
31346
31347 2013-10-04 Dnyaneshwar <Dnyaneshwar>
31348
31349 * source/common/vec/blockcopy-sse3.cpp:
31350 Replace "pixeladd_ss" vector class function with intrinsic.
31351 Performance measured is same as that of vector function.
31352 [cfc69c57d335]
31353
31354 * source/common/vec/blockcopy-sse3.cpp:
31355 replace "pixelsub_sp" vector class function with intrinsic.
31356 Performance is same as that of vector function.
31357 [1a884afb63bb]
31358
31359 * source/common/vec/blockcopy-sse3.cpp:
31360 replace blockcopy_s_p (pixel to short) vector class function with
31361 intrinsic. Performance is same as that of vector class function.
31362 [5b7226f332be]
31363
31364 * source/common/vec/blockcopy-sse3.cpp:
31365 replace block_copy_p_s (short to pixel) vector class function with
31366 intrinsic. Performance measured is same as that of vector function.
31367 [64325084bd3b]
31368
31369 * source/common/vec/blockcopy-sse3.cpp:
31370 replace block_copy_p_p vector class function with intrinsic code.
31371 Performance is almost same as that of vector function.
31372 [7b93c1cae0c4]
31373
31374 2013-10-04 Steve Borho <steve@borho.org>
31375
31376 * source/common/vec/pixel-sse41.cpp, source/common/vec/pixel8.inc:
31377 pixel: move SSE4.1 functions from pixel8.inc to pixel-sse41.cpp
31378 [8829b508822b]
31379
31380 2013-10-04 yuvaraj <yuvaraj>
31381
31382 * source/common/vec/pixel8.inc:
31383 Replace sad_x4_64 vector class function with intrinsic.
31384 [d59dcf48b9de]
31385
31386 * source/common/vec/pixel8.inc:
31387 Replace sad_x4_48 vector class function with intrinsic.
31388 [d370697071ed]
31389
31390 * source/common/vec/pixel8.inc:
31391 Replace sad_x3_64 vector class function with intrinsic.
31392 [6dcae4946fe3]
31393
31394 * source/common/vec/pixel8.inc:
31395 Replace sad_x3_48 vector class function with intrinsic.
31396 [c29821f80cd3]
31397
31398 * source/common/vec/pixel8.inc:
31399 Replace sad_64 vector class function with intrinsic.
31400 [4f990ec05dc5]
31401
31402 * source/common/vec/pixel8.inc:
31403 Replace sad_48 vector class function with intrinsic.
31404 [88378feb4794]
31405
31406 2013-10-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31407
31408 * source/Lib/TLibEncoder/TEncSearch.cpp:
31409 TEncSearch: remove unused code
31410 [a201bc951e10]
31411
31412 * source/Lib/TLibEncoder/TEncSearch.cpp:
31413 Bidir ME: store bits required for bidir which will be used for merge
31414 estimation
31415 [5b987ed0a557]
31416
31417 * source/Lib/TLibEncoder/TEncSearch.cpp:
31418 TEncSearch: fix for gcc warning
31419 [ae9c68edd6b2]
31420
31421 2013-10-04 Steve Borho <steve@borho.org>
31422
31423 * source/common/vec/pixel.inc, source/common/vec/pixel16.inc:
31424 pixel: remove 16bpp vector class satd functions
31425
31426 They were not competitive with assembly and were unlikely to be
31427 competitive as intrinsics
31428 [bf14f75b8cf9]
31429
31430 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
31431 source/common/vec/pixel-sse41.cpp:
31432 pixel: comment nits
31433 [1dd953bba5ed]
31434
31435 * source/common/vec/pixel-sse3.cpp:
31436 pixel: move vector class include to bottom of the file
31437
31438 the clearly segregates vector class primitives from intrinsic
31439 primitives
31440 [cfe01e12b04f]
31441
31442 * source/common/vec/pixel-sse41.cpp, source/common/vec/pixel8.inc,
31443 source/common/vec/sse.inc:
31444 pixel: move SSE4.1 intrinsic primitives into pixel-sse41.cpp
31445 [9794528eef7b]
31446
31447 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel.inc,
31448 source/common/vec/pixel8.inc:
31449 pixel: move SSE3 intrinsic primitives into pixel-sse3.cpp
31450
31451 This improves compile time slightly
31452 [4d00380f0da0]
31453
31454 * source/common/vec/CMakeLists.txt, source/common/vec/pixel-ssse3.cpp,
31455 source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
31456 source/common/vec/vec-primitives.cpp:
31457 cmake: move SSSE3 routines into pixel-ssse3.cpp
31458 [4018a2281c9c]
31459
31460 2013-10-03 Steve Borho <steve@borho.org>
31461
31462 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
31463 pixel: cleanup pixel.inc
31464
31465 Remove copy of C primitive transpose Move 8bpp-only functions to
31466 pixel8.inc cleanup setup function
31467 [64886382abe2]
31468
31469 * source/common/vec/CMakeLists.txt, source/common/vec/pixel-xop.cpp,
31470 source/common/vec/vec-primitives.cpp:
31471 cmake: drop pixel-xop.cpp
31472
31473 Now that there are very few vector class intrinsics left, there is
31474 almost no point to compiling pixel.inc with the XOP flag enabled.
31475 This saves compile time. It's setup function wasn't even being
31476 called.
31477 [9091bdd024b1]
31478
31479 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel8.inc:
31480 pixel: move avx2 functions into pixel-avx2.cpp
31481 [b08fb0b5de8a]
31482
31483 2013-10-03 Dnyaneshwar <Dnyaneshwar>
31484
31485 * source/common/vec/pixel8.inc:
31486 replace sad_x4_32 vector class function with intrinsic.
31487 [93c4e5d784d7]
31488
31489 * source/common/vec/pixel8.inc:
31490 replace sad_x4_24 vector class function with intrinsic.
31491 [d92ccc92698e]
31492
31493 * source/common/vec/pixel8.inc:
31494 replace sad_x4_12 vector class function with intrinsic.
31495 [86e702079865]
31496
31497 * source/common/vec/pixel8.inc:
31498 replace sad_x3_32 vector class function with intrinsic.
31499 [489fac4bebfe]
31500
31501 * source/common/vec/pixel8.inc:
31502 replace sad_x3_24 vector class function with intrinsic.
31503 [ea4f5cb0799f]
31504
31505 * source/common/vec/pixel8.inc:
31506 replace sad_x3_12 vector class function with intrinsic.
31507 [7b8c822b884e]
31508
31509 * source/common/vec/pixel8.inc:
31510 replace sad_32 vector class function with intrinsic.
31511 [fbc82a9e97e7]
31512
31513 * source/common/vec/pixel8.inc:
31514 replace sad_24 vector class function with intrinsic.
31515 [0b19614fe2bf]
31516
31517 * source/common/vec/pixel8.inc:
31518 replace sad_12 vector class function with intrinsic.
31519 [c96520dc9795]
31520
31521 2013-10-03 Steve Borho <steve@borho.org>
31522
31523 * source/Lib/TLibEncoder/TEncSearch.cpp,
31524 source/Lib/TLibEncoder/TEncSearch.h:
31525 TEncSearch: remove methods unreachable after bidir replacement
31526 [86469b2bc1bd]
31527
31528 * source/Lib/TLibEncoder/TEncSearch.cpp,
31529 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.cpp,
31530 source/x265.h, source/x265opts.h:
31531 api: remove dead bipredSearchRange parameter and CLI option
31532 [97444bf3e5bd]
31533
31534 2013-10-03 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31535
31536 * source/Lib/TLibEncoder/TEncSearch.cpp:
31537 Bidir ME: add (0,0) candidate
31538 [99812ad37453]
31539
31540 * source/Lib/TLibEncoder/TEncCu.cpp,
31541 source/Lib/TLibEncoder/TEncSearch.cpp,
31542 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
31543 Bidir ME: new logic adapted from x264
31544
31545 L0 and L1 MVs from unidir ME used for bidir MV. bidir cost is
31546 calculated from the average of references.
31547 [a6a0e6e90536]
31548
31549 * source/common/pixel.cpp, source/common/primitives.h:
31550 primitives: add pixelavg primitive
31551 [3a2297992a24]
31552
31553 2013-10-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
31554
31555 * source/Lib/TLibCommon/TComBitStream.cpp,
31556 source/Lib/TLibCommon/TComBitStream.h,
31557 source/Lib/TLibEncoder/NALwrite.cpp, source/common/common.h:
31558 Tcombitstream: Encoded Bit stream storage (fifo) moved from
31559 std::vector to Non STL Class
31560
31561 1.Removed std::vector Class from Tcombitstream 2.Removed
31562 std::search_n algorithm from Tcombitstream 3.Implemented fifo using
31563 Pointers to an array - Encoded Bit stream storage
31564 [2d04a0bb09c3]
31565
31566 2013-10-03 Sumalatha Polureddy <Sumalatha Polureddy>
31567
31568 * source/encoder/compress.cpp:
31569 no rdo: Turn OFF the early exit code
31570
31571 Turning off the early exit code since it increases the bitrate by 2%
31572 This will be enabled when the hash mismatch issue is solved for the
31573 reuse of NxN calculataion in early exit code
31574 [3e24e1081c16]
31575
31576 2013-10-01 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
31577
31578 * source/common/reference.cpp, source/common/reference.h:
31579 reference: add applyWeight method to MotionReference
31580
31581 to generate weighted full pel pixels for one or more CTU rows
31582 [4f68ed1126b6]
31583
31584 2013-10-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
31585
31586 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
31587 source/common/pixel.cpp, source/common/primitives.h,
31588 source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
31589 source/test/pixelharness.cpp, source/test/pixelharness.h:
31590 primitives: weightUnidir primitive to support pixel or uint16 inputs
31591 [2c73823af522]
31592
31593 2013-10-01 Steve Borho <steve@borho.org>
31594
31595 * source/common/primitives.cpp:
31596 primitives: shorten log message to prevent 80char terminal wrap
31597 [0be80d41c551]
31598
31599 * source/common/common.cpp:
31600 common: tighten up tool descriptions; save horizontal space
31601 [41aa8e024102]
31602
31603 2013-10-01 Aarthi Thirumalai <Aarthi Thirumalai>
31604
31605 * source/Lib/TLibEncoder/TEncTop.cpp,
31606 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
31607 source/x265.cpp, source/x265.h:
31608 api: added x265_stats_t structure and x265_encoder_stats() function
31609 [c5dc3e37d767]
31610
31611 * source/Lib/TLibCommon/TComSlice.cpp,
31612 source/Lib/TLibCommon/TComSlice.h,
31613 source/Lib/TLibEncoder/TEncTop.cpp,
31614 source/Lib/TLibEncoder/TEncTop.h:
31615 added states for storing ssim values per frame and globally at
31616 encoder level
31617 [572ddbf8428e]
31618
31619 2013-10-01 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
31620
31621 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp,
31622 source/common/reference.h:
31623 Adding few checks and an init() function in MotionRefrence class
31624
31625 to properly signal malloc failure for 'fpelPlane'; handling to be
31626 added later
31627 [b1900856741c]
31628
31629 * source/x265opts.h:
31630 Enable cli parameters for unidirectional weighted prediction
31631
31632 As part of re-enabling unidirectional weighted prediction after
31633 introduction of frame parallelism
31634 [c94c053eda36]
31635
31636 2013-09-30 Min Chen <chenm003@163.com>
31637
31638 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/cturow.h,
31639 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31640 get deterministic output when frame threading is enabled (for all
31641 -Fn, n > 1)
31642
31643 Output mistake reasons:
31644
31645 1. CABAC Table Initialize The HM have decide best table for CABAC,
31646 but in frame parallelism, we can't get this information before
31647 thread start, we have to disable it now. Side effect: maybe lost
31648 some compress performance
31649
31650 2. SAO Global Disable The HM decide SAO global disable flag depend
31651 previous same type of slice. but here, we can get right statistics
31652 informat before start, so we have to disable it. Side effect: more
31653 computer cost since we always try SAO on every LCU
31654
31655 3. CABAC status m_frac not reset. This HM bug still alive, we found
31656 more here.
31657 [af559fe3e565]
31658
31659 2013-09-30 Steve Borho <steve@borho.org>
31660
31661 * source/test/pixelharness.cpp:
31662 pixelharness: always use STRIDE for source buffers
31663
31664 Because they are allocated based on that dimension and the max
31665 iterations
31666 [a03659cfa957]
31667
31668 * source/common/vec/blockcopy-sse3.cpp:
31669 blockcopy: fix missing stride checks
31670 [25f8402ad767]
31671
31672 * source/common/x86/asm-primitives.cpp:
31673 asm: use named defines rather than hard-coded values
31674 [1206434af474]
31675
31676 2013-09-27 Steve Borho <steve@borho.org>
31677
31678 * source/common/x86/ipfilter8.asm:
31679 ipfilter: remove needless width==0 check
31680 [3dae8ff2902a]
31681
31682 2013-09-27 praveen Tiwari <praveen Tiwari>
31683
31684 * source/common/x86/CMakeLists.txt, source/common/x86/asm-
31685 primitives.cpp, source/common/x86/ipfilter8.asm:
31686 asm code for ipfilterH_pp, 4 tap filter
31687 [d65224005524]
31688
31689 2013-09-28 Aarthi Thirumalai <Aarthi Thirumalai>
31690
31691 * source/common/common.cpp, source/x265.h, source/x265opts.h:
31692 cli: add options for toggling PSNR and SSIM metrics (currently
31693 inactive)
31694
31695 By default (for now) PSNR is turned on, SSIM is off.
31696 [21307df78bdb]
31697
31698 2013-09-28 Steve Borho <steve@borho.org>
31699
31700 * source/common/common.h:
31701 common: white-space nit
31702 [55edc34e253c]
31703
31704 * source/common/common.h:
31705 common: directly call x265_malloc from CHECKED_MALLOC, fix malloc
31706 size problem
31707 [1ce1e18ee05c]
31708
31709 2013-09-27 Steve Borho <steve@borho.org>
31710
31711 * source/common/vec/intra-sse3.cpp:
31712 intra: fix eoln damage
31713 [4014edcf2157]
31714
31715 2013-09-26 Steve Borho <steve@borho.org>
31716
31717 * source/common/primitives.cpp, source/test/testbench.cpp:
31718 primitives: build primitive list iteratively
31719
31720 Rather than collect all intrinsic primitives and then collect all
31721 assembly primitives, do the process iteratively for each CPU
31722 capability. This plausibly allows an SSE41 intrinsic primitive to
31723 have higher priority than an SSE assembly primitive.
31724 [93319ce8bb92]
31725
31726 * source/common/primitives.cpp, source/common/primitives.h,
31727 source/common/x86/asm-primitives.cpp, source/test/testbench.cpp:
31728 primitives: convert Setup_Assembly_Primitives to a CPU mask instead
31729 of ID
31730
31731 This allows the testbench to isolate the functions added for a given
31732 arch
31733 [9cdf05d40249]
31734
31735 * source/common/primitives.cpp, source/common/primitives.h,
31736 source/common/vec/vec-primitives.cpp, source/test/testbench.cpp:
31737 primitives: convert Setup_Vector_Primitives to a CPU mask instead of
31738 ID
31739
31740 This allows the testbench to isolate the functions added for a given
31741 arch
31742 [19e1d1c80268]
31743
31744 2013-09-27 Steve Borho <steve@borho.org>
31745
31746 * source/common/vec/intra-sse3.cpp:
31747 intra: re-enable __forceinline for MSVC to recover perf of angular
31748 predictions
31749 [6f85cb3f7813]
31750
31751 * source/common/vec/intra-sse41.cpp:
31752 intra: remove redundant intra angular prediction functions
31753 [cdda742b1e83]
31754
31755 * source/common/vec/intra-sse41.cpp:
31756 intra: remove redundant 16bpp angular prediction code
31757 [f8106e88f5e3]
31758
31759 * source/common/vec/vec-primitives.cpp:
31760 vec: prevent link errors on older compilers, do not try to call
31761 missing funcs
31762 [28febb6e52f0]
31763
31764 * source/common/vec/intra-sse41.cpp:
31765 intra: merge consecutive 8bpp regions and remove dead code
31766 [e9fcfa1df742]
31767
31768 * source/common/vec/intra-sse41.cpp:
31769 intra: remove redundant planar primitives
31770 [b8fa74815587]
31771
31772 2013-09-26 Steve Borho <steve@borho.org>
31773
31774 * source/common/vec/intra-sse41.cpp:
31775 intra: remove redundant copy of intra_pred_dc
31776 [dfac2c1c4c64]
31777
31778 * source/common/vec/vec-primitives.cpp:
31779 vec: add missing call to Setup_Vec_IPredPrimitives_sse3()
31780 [94c1079648a8]
31781
31782 * source/common/vec/ipfilter-ssse3.cpp:
31783 ipfilter: don't use 8bpp primitives for 16bpp builds
31784 [99be942b3855]
31785
31786 * source/common/vec/blockcopy-avx2.cpp, source/common/vec/dct-
31787 ssse3.cpp:
31788 vec: prevent unreferenced parameter warnings for 16bpp builds
31789 [7f168ba0e444]
31790
31791 * source/common/vec/intra-sse41.cpp:
31792 intra: remove unused extern
31793 [0607ecb8adef]
31794
31795 * source/encoder/motion.cpp:
31796 motion: fix shadow warnings
31797 [008903846fb1]
31798
31799 2013-09-25 Steve Borho <steve@borho.org>
31800
31801 * source/common/vec/CMakeLists.txt, source/common/vec/avx2.cpp,
31802 source/common/vec/sse3.cpp, source/common/vec/sse41.cpp,
31803 source/common/vec/ssse3.cpp, source/common/vec/vec-primitives.cpp,
31804 source/common/vec/xop.cpp:
31805 combine per-architecture files into vec-primitives.cpp
31806 [1058aa043e5e]
31807
31808 * source/common/vec/CMakeLists.txt, source/common/vec/pixel.inc,
31809 source/common/vec/utils.h:
31810 inline utils.h into the last place it is included
31811 [2e2f773dff36]
31812
31813 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
31814 source/common/vec/pixel-avx.cpp, source/common/vec/pixel-ssse3.cpp,
31815 source/common/vec/ssse3.cpp, source/common/vec/vec-primitives.cpp:
31816 remove ssse3 and avx pixel files, which makes avx.cpp redundant
31817 [74efcc344e32]
31818
31819 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
31820 source/common/vec/avx2.cpp, source/common/vec/ipfilter-avx.cpp,
31821 source/common/vec/ipfilter-avx2.cpp, source/common/vec/ipfilter-
31822 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
31823 /ipfilter-ssse3.cpp, source/common/vec/ipfilter-xop.cpp,
31824 source/common/vec/ipfilter.inc, source/common/vec/ipfilter16.inc,
31825 source/common/vec/ipfilter8.inc, source/common/vec/sse3.cpp,
31826 source/common/vec/xop.cpp:
31827 split ipfilter.inc into ssse3 and sse41 CPP files
31828 [953172b04f19]
31829
31830 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
31831 source/common/vec/avx2.cpp, source/common/vec/intra-avx.cpp,
31832 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse3.cpp,
31833 source/common/vec/intra-sse41.cpp, source/common/vec/intra-
31834 ssse3.cpp, source/common/vec/intra-xop.cpp,
31835 source/common/vec/intrapred.inc, source/common/vec/ssse3.cpp,
31836 source/common/vec/xop.cpp:
31837 split intrapred.inc into sse3 and sse41 CPP files
31838 [cad4970ef197]
31839
31840 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
31841 source/common/vec/avx2.cpp, source/common/vec/dct-avx.cpp,
31842 source/common/vec/dct-avx2.cpp, source/common/vec/dct-sse3.cpp,
31843 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
31844 source/common/vec/dct-xop.cpp, source/common/vec/dct.inc,
31845 source/common/vec/xop.cpp:
31846 split dct.inc into sse3, sse41, ssse3 CPP files
31847 [6b0a78ffaaa9]
31848
31849 2013-09-26 Steve Borho <steve@borho.org>
31850
31851 * source/common/vec/blockcopy-sse3.cpp:
31852 blockcopy: fix INSTRSET define for SSE3
31853 [c47e5c9d89f4]
31854
31855 2013-09-25 Steve Borho <steve@borho.org>
31856
31857 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
31858 source/common/vec/avx2.cpp, source/common/vec/blockcopy-avx.cpp,
31859 source/common/vec/blockcopy-avx2.cpp, source/common/vec/blockcopy-
31860 sse3.cpp, source/common/vec/blockcopy-sse41.cpp, source/common/vec
31861 /blockcopy-ssse3.cpp, source/common/vec/blockcopy-xop.cpp,
31862 source/common/vec/blockcopy.inc, source/common/vec/sse3.cpp,
31863 source/common/vec/sse41.cpp, source/common/vec/ssse3.cpp,
31864 source/common/vec/vecprimitives.inc, source/common/vec/xop.cpp:
31865 merge blockcopy.inc into blockcopy-sse3.cpp and -avx2.cpp
31866
31867 This is the first step towards four goals:
31868
31869 1 - reduce compile time, no more redundant primitive compiles 2 -
31870 reduce redirections / templating of intrinsic primitives 3 - move
31871 away from vector class library's INSTRSET CPU level define 4 - make
31872 the test bench faster, only validate each primitive once
31873 [baaefda928fa]
31874
31875 2013-09-26 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31876
31877 * source/encoder/dpb.cpp:
31878 Force numPics in RPS <= maxDecPicBuffering - 1
31879
31880 because maxDecPicBuffering is now set to numReferences+1
31881 [7bbdd9cb086f]
31882
31883 2013-09-25 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
31884
31885 * source/common/common.cpp, source/encoder/dpb.h,
31886 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
31887 Added support for multiple references
31888
31889 Added a commandline parameter '--ref <max number of references>'.
31890 DPB size adjusted to use number of references.
31891 [0dbfb0bbca1a]
31892
31893 2013-09-25 Steve Borho <steve@borho.org>
31894
31895 * source/common/common.cpp, source/encoder/encoder.cpp,
31896 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31897 Merge with stable
31898 [a66a677b65b4]
31899
31900 2013-09-25 Min Chen <chenm003@163.com>
31901
31902 * source/common/vec/ipfilter8.inc:
31903 Avoid VS2008 X64 compiler bug
31904 [fb4e4dfdb841]
31905
31906 * source/common/vec/ipfilter8.inc, source/encoder/motion.cpp,
31907 source/encoder/motion.h:
31908 Merge HPEL interpolations with the same HPEL offsets
31909
31910 In the square1[9], the candidate HPEL offsets are:
31911
31912 5 1 7 3 x 4 6 2 8
31913
31914 The main idea is two HPEL distances makes one FPEL so we can merge
31915 1-2, 3-4, 5-6, and 7-8 into one interpolation each by adding 1 extra
31916 row/col to the interpolation
31917 [5768db8ac355]
31918
31919 2013-09-25 Steve Borho <steve@borho.org>
31920
31921 * source/encoder/encoder.cpp:
31922 encoder: range check number of NAL units
31923 [d514d8685797]
31924
31925 2013-09-25 Min Chen <chenm003@163.com>
31926
31927 * source/common/common.cpp, source/encoder/encoder.cpp,
31928 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31929 fix hash mistake from --sao-lcu-opt=0 --frame-threads 2
31930
31931 Delay all deblock and SAO until the entire frame is available. Frame
31932 SAO and frame parallelism will now generate correct results, but it
31933 will have very poor performance, so the hard check is relaxed to a
31934 warning.
31935 [2d77d4a2c31b] <stable>
31936
31937 2013-09-25 Steve Borho <steve@borho.org>
31938
31939 * source/encoder/encoder.cpp:
31940 encoder: disable lookahead for all-intra encodes
31941
31942 This works around a bug in the current Lookahead::slicetypeDecide().
31943 I have a patch in the works which fixes this properly, but I think
31944 this is a reasonable workaround. Tested with ABR and it works ok.
31945 [b8658deb4a77] <stable>
31946
31947 2013-09-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
31948
31949 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
31950 source/Lib/TLibEncoder/NALwrite.h:
31951 NAL: Remove unused NALUnitEBSP functions
31952
31953 Removed the unused NALUnitEBSP(OutputNALUnit& nalu) and
31954 copyNaluData() methods from NAL
31955 [4d0ced5c64fe]
31956
31957 * source/Lib/TLibCommon/AccessUnit.h,
31958 source/Lib/TLibEncoder/TEncTop.h, source/common/CMakeLists.txt,
31959 source/encoder/frameencoder.h:
31960 Accessunit: Remove unused accessUnit class
31961
31962 AccessUnit class derived from std template list, Accessunit class
31963 replaced with pointers to an array
31964 [bb88bbe34c95]
31965
31966 2013-09-24 Steve Borho <steve@borho.org>
31967
31968 * source/encoder/encoder.cpp:
31969 encoder: ensure returned NAL count matches output array size
31970
31971 On CHECKED_MALLOC failure, m_packetData and/or m_nals will be NULL
31972 and thus the returned count must be 0. Also, do not free the packet
31973 data from within this utility function. It is cleaner to release
31974 that memory in the function which declared the pointers on the
31975 stack.
31976 [bdd26fd0325a]
31977
31978 * source/encoder/frameencoder.cpp:
31979 frameencoder: do not cause deadlock on malloc fail
31980 [bb5d3e9aadc3]
31981
31982 * source/Lib/TLibEncoder/TEncTop.cpp:
31983 TEncTop: prevent divide by zero if no frames were output by stream
31984 [ae6d6584b193]
31985
31986 2013-09-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
31987
31988 * source/Lib/TLibEncoder/TEncTop.cpp,
31989 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
31990 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31991 encoder: do not use std::list for the class AccessUnit
31992 [d62d31ea1520]
31993
31994 * source/Lib/TLibCommon/TComBitStream.cpp,
31995 source/Lib/TLibCommon/TComBitStream.h:
31996 bitstream: remove unused std::vector class code
31997 [235726d72281]
31998
31999 2013-09-24 Steve Borho <steve@borho.org>
32000
32001 * source/encoder/slicetype.cpp:
32002 Merge with stable
32003 [dec0309ec94c]
32004
32005 * .hgtags:
32006 Added tag 0.4.1 for changeset 93707bc4fccd
32007 [ddb7abf83f98] <stable>
32008
32009 * source/common/vec/CMakeLists.txt:
32010 cmake: ignore icpc warnings about EMMS from pixelcmp primitives
32011 [93707bc4fccd] [0.4.1] <stable>
32012
32013 * source/encoder/slicetype.cpp:
32014 slicetype: fix variable shadow warning
32015 [3a77059e1ebf] <stable>
32016
32017 2013-09-24 Min Chen <chenm003@163.com>
32018
32019 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
32020 Reset CABAC status to get same output between single and multi
32021 threading
32022 [fe00fb449af4]
32023
32024 2013-09-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32025
32026 * source/common/CMakeLists.txt:
32027 Merge with stable
32028 [a8f6f62217d5]
32029
32030 * source/common/CMakeLists.txt:
32031 MinGW: build fix for common.cpp
32032 [f56cd5c652ef] <stable>
32033
32034 2013-09-24 Steve Borho <steve@borho.org>
32035
32036 * source/encoder/slicetype.cpp:
32037 Merge with stable
32038 [c56e392b2c68]
32039
32040 2013-09-24 sumalatha polureddy <sumalatha polureddy>
32041
32042 * source/encoder/ratecontrol.cpp:
32043 RateControl : Bug fix when previous estimated frame cost is zero
32044 [2824b8e732e9] <stable>
32045
32046 2013-09-23 Steve Borho <steve@borho.org>
32047
32048 * source/common/common.cpp:
32049 common: prevent an API race hazard
32050
32051 The public API should be thread-safe for a given encoder or param
32052 object (they are distinct data structures). However x265 has a small
32053 number of global vars that are configured on first use and must be
32054 the same for all encoders in the same process (max CTU size and
32055 pixel bit-depth). Using an atomic compare-and- swap here prevents
32056 simultaneous encoder creations from violating those rules.
32057 [3ee2a8a2d852]
32058
32059 * source/common/common.cpp:
32060 common: rename CONFIRM macro to CHECK
32061
32062 The logic of the macro is: if (expr) fail So CONFIRM is highly
32063 misleading
32064 [15ab448f1607]
32065
32066 2013-09-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
32067
32068 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.h,
32069 source/common/common.h, source/encoder/encoder.cpp,
32070 source/encoder/frameencoder.cpp:
32071 frameencoder: use CHECKED_MALLOC in getStreamHeaders()
32072 [886a765eb760]
32073
32074 2013-09-24 Steve Borho <steve@borho.org>
32075
32076 * source/encoder/slicetype.cpp:
32077 lowres intra fixes
32078 [46cc93c497c5] <stable>
32079
32080 2013-09-23 Steve Borho <steve@borho.org>
32081
32082 * doc/intra/T16.TXT, doc/intra/T32.TXT, doc/intra/T4.TXT,
32083 doc/intra/T8.TXT, doc/intra/intra-16x16.txt, doc/intra/intra-
32084 32x32.txt, doc/intra/intra-4x4.txt, doc/intra/intra-8x8.txt:
32085 rename intra docs, switch to unix eoln
32086 [ad7866811610]
32087
32088 * build/README.txt, build/regression/commandlines-example.txt,
32089 build/regression/config-example.txt, build/regression/email-csv.py,
32090 doc/uncrustify/apply-to-all-source.py,
32091 doc/uncrustify/codingstyle.cfg, source/Lib/README.txt,
32092 source/VectorClass/README.txt, source/VectorClass/vectorclass.h,
32093 source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
32094 source/VectorClass/vectori256e.h:
32095 use unix EOLN for all non-bat files
32096 [a194cf5486e7]
32097
32098 * .hgignore, doc/uncrustify/drag-uncrustify.bat,
32099 doc/uncrustify/uncrustify.bat, doc/uncrustify/uncrustify.exe:
32100 prune uncrustify.exe; ignore any executable copied into that folder
32101
32102 uncrustify.bat was unused, so it was also removed
32103 [0600e707b254]
32104
32105 * doc/README_data-structure.ppt, doc/software-manual.pdf:
32106 remove binary documentation files leftover from HM source tree
32107 [46f25d98c8b2]
32108
32109 * doc/astyle/AStyle.exe, doc/astyle/apply-to-all-source.py, doc/astyle
32110 /astyle-config.txt, doc/astyle/drag-astyle.bat:
32111 remove obsolete astyle scripts and tools
32112 [fa07f9e00dcb]
32113
32114 * source/common/lowres.cpp:
32115 lowres: fixup bad merge/patch re-import
32116 [a2d7412377dd]
32117
32118 * source/encoder/encoder.cpp:
32119 encoder: explicitly disable AMP if rectangular modes are disabled
32120
32121 In the mode decision logic, asymmetrical motion prediction is
32122 implicitly disabled when rectangular modes are disabled. This makes
32123 the disabling more explicit, AMP will not appear as enabled in the
32124 "encoding tools" log line.
32125 [0656b16f0c4a]
32126
32127 2013-09-23 Min Chen <chenm003@163.com>
32128
32129 * source/common/vec/ipfilter8.inc:
32130 Replace (maskmovq) by (blendvb + movq)
32131 [98903821e0dc]
32132
32133 * source/common/vec/ipfilter8.inc:
32134 Replace combo padd(32)+psra(6) by pmulhrsw
32135 [017743def32e]
32136
32137 2013-09-23 Steve Borho <steve@borho.org>
32138
32139 * source/common/lowres.cpp:
32140 lowres: remove NULL pointer checks, x265_free does this internally
32141 [d6082fcfc3dd]
32142
32143 * source/common/lowres.cpp:
32144 lowres: white-space nits and minor cleanup
32145 [b877bb01f231]
32146
32147 * source/common/lowres.cpp:
32148 Merge with stable
32149 [500686c60c97]
32150
32151 2013-09-23 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
32152
32153 * source/common/lowres.cpp:
32154 Adapting lowress frame dimensions to multiples of lowress CU size.
32155
32156 The full res frame is required to be extended accordingly to achieve
32157 a lowres frame with dimensions in multiples of lowres CU size.
32158 [90be63021e7d] <stable>
32159
32160 2013-09-23 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32161
32162 * source/common/lowres.cpp:
32163 lowres: bug fix - move initialization from create() to init()
32164
32165 lowres objects are reused, hence they should be re-initialized.
32166 [bba314600ed0] <stable>
32167
32168 2013-09-23 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
32169
32170 * source/common/lowres.cpp:
32171 Adapting lowress frame dimensions to multiples of lowress CU size.
32172
32173 The full res frame is required to be extended accordingly to achieve
32174 a lowres frame with dimensions in multiples of lowres CU size.
32175 [4b794e2ffcb4]
32176
32177 2013-09-20 Steve Borho <steve@borho.org>
32178
32179 * source/encoder/encoder.cpp:
32180 encoder: hoist declaration of offset var to fix GCC goto warnings,
32181 avoid casts
32182 [ff797c5087ae]
32183
32184 * source/encoder/encoder.cpp:
32185 encoder: white-space fixes
32186 [7291eaa504d2]
32187
32188 * source/encoder/encoder.cpp:
32189 encoder: remove NULL checks prior to X265_FREE, which does its own
32190 [9dce39147a94]
32191
32192 * source/encoder/encoder.cpp:
32193 encoder: fix indentation of extract_naldata
32194 [1a1752129829]
32195
32196 * source/CMakeLists.txt:
32197 cmake: force creation of ENABLE_PRIMITIVES_ASM option for all yasm
32198 versions
32199 [2a00fe5b8a1c]
32200
32201 * Merge with stable
32202 [d6494dd903f6]
32203
32204 2013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
32205
32206 * source/encoder/ratecontrol.cpp:
32207 Bug Fix - copy last Recq value to thread local rce object
32208
32209 Missed this out in previous patch.
32210 [1311936ef9cf] <stable>
32211
32212 2013-09-19 Steve Borho <steve@borho.org>
32213
32214 * source/CMakeLists.txt:
32215 cmake: fix auto-link issues with MSVC
32216
32217 If you tell MSVC to link with the static lib, the dependencies
32218 somehow fail and x265.exe is not re-linked properly when the static
32219 lib is changed.
32220 [d47ef13cb735] <stable>
32221
32222 2013-09-20 Steve Borho <steve@borho.org>
32223
32224 * source/encoder/encoder.cpp:
32225 encoder: style nits, no logic change
32226 [e672b5f15e9c]
32227
32228 2013-09-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
32229
32230 * source/encoder/encoder.cpp:
32231 encoder: Do not use X265_MALLOC use CHECKED_MALLOC
32232
32233 Currently X265_MALLOC did't validate the returned pointer,
32234 CHECKED_MALLOC Always validate the returned pointer and print the
32235 Log message and jumps to fail lable if returned pointer is not
32236 valid,
32237 [af8daa6c720b]
32238
32239 * source/common/common.cpp, source/common/common.h:
32240 common: add CHECKED_MALLOC macro that logs malloc failures and jumps
32241 to fail label
32242 [678ae6e4f3fd]
32243
32244 2013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
32245
32246 * source/encoder/ratecontrol.cpp:
32247 Bug Fix - copy last Recq value to thread local rce object
32248
32249 Missed this out in previous patch.
32250 [de084699ba00]
32251
32252 2013-09-19 Steve Borho <steve@borho.org>
32253
32254 * source/encoder/slicetype.cpp:
32255 slicetype: fix shadow warning reported by GCC
32256 [20d8fa0541d8]
32257
32258 * source/CMakeLists.txt:
32259 cmake: fix auto-link issues with MSVC
32260
32261 If you tell MSVC to link with the static lib, the dependencies
32262 somehow fail and x265.exe is not re-linked properly when the static
32263 lib is changed.
32264 [73a710b6d1c1]
32265
32266 * source/common/CMakeLists.txt:
32267 cmake: use explicit file list for HM TLibCommon files
32268 [6aea8272dcd8]
32269
32270 * source/encoder/CMakeLists.txt:
32271 cmake: use explicit file list for HM TLibEncoder files
32272
32273 This prevents issues when HM files are deleted; we simply remove
32274 them from this list and then CMake automatically regenerates
32275 projects or Makefiles. With globs, you have to know to poke CMake to
32276 regenerate the files, but most do not know this.
32277 [bd1d4bdc996e]
32278
32279 * source/common/common.cpp:
32280 common: white-space logging nit
32281 [00429bb81ef7]
32282
32283 * source/common/common.cpp:
32284 common: improve logging string for lookahead configuration - conveys
32285 more info
32286 [233046035a5f]
32287
32288 * Merge with stable
32289 [5c6c9c095cb8]
32290
32291 * .hgtags:
32292 Added tag 0.4 for changeset 2ba6ec553f21
32293 [85219cda3127] <stable>
32294
32295 * source/encoder/slicetype.cpp:
32296 slicetype: respect --bframes count when --b-adapt is 0
32297
32298 --b-adapt 0 --bframes 3 => IPBBBPBBBPBBB
32299 --b-adapt 0 --bframes 4 => IPBBBBPBBBBPBBBB
32300
32301 This is a stop-gap feature until --b-adapt 1 and 2 are fully
32302 functional
32303 [2ba6ec553f21] [0.4] <stable>
32304
32305 * source/encoder/slicetype.cpp:
32306 slicetype: remove x265_ prefix from internal functions
32307
32308 These were adapted from x264 functions, and the prefix was
32309 incorrectly preserved
32310 [4c97a2025103] <stable>
32311
32312 * build/linux/batch.py, source/Lib/TLibCommon/SEI.cpp:
32313 Merge with default
32314 [9d97cddc0fac] <stable>
32315
32316 2013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
32317
32318 * source/encoder/ratecontrol.cpp:
32319 tuned up ABR logic to better adapt for frame parallelism
32320
32321 Rate control needs to be more aggressive based on actual ecoded
32322 bits cost rather than estimated costs from concurrent threads .Tuned
32323 up some parameters to effect this idea.
32324 [395bf0a490c2]
32325
32326 2013-09-19 Aarthi Thirumalai <Aarthi Thirumalai>
32327
32328 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
32329 RateControl bug fixes for frame parallelism
32330
32331 1. Added lastRceq in ratecotrol structure and copied the value into
32332 thread local rate control entry obj so that Bframes can get latest
32333 lastRceq value.
32334
32335 2. Added framesDone state - to maintain a serial order of frames in
32336 RateCotrol to get a correct estimate of wantedBits.
32337 [d62c413b3c06]
32338
32339 2013-09-19 Steve Borho <steve@borho.org>
32340
32341 * source/x265.cpp:
32342 cli: use strerror to report signal error
32343 [82aceba785f0]
32344
32345 * source/Lib/TLibEncoder/TEncTop.cpp:
32346 top: fix leak of output NALs on CTRL+C aborts
32347 [e50237973977]
32348
32349 2013-09-18 Steve Borho <steve@borho.org>
32350
32351 * source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h:
32352 sei: remove unused SEIMessages type define
32353
32354 After this, and after AccessUnit is replaced with a simple pointer
32355 array, TComList is the only type derived from std::list, so we would
32356 no longer need a templated list class. TComList could be replaced
32357 with a simple list class that suits our exact needs.
32358
32359 This also removes another HM file
32360 [53c551867006]
32361
32362 * source/common/common.cpp, source/x265.cpp, source/x265.h:
32363 api: introduce an x265_picture_init() function
32364 [7f069c6e6b89]
32365
32366 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lowres.cpp,
32367 source/common/lowres.h, source/encoder/slicetype.cpp,
32368 source/encoder/slicetype.h:
32369 lowres: pass poc and user slice type to lowres::init()
32370 [14af4e13ab66]
32371
32372 * source/common/lowres.h:
32373 lowres: group fields by type, remove trailing white-space
32374 [f646ebe0b520]
32375
32376 * source/common/lowres.cpp, source/common/lowres.h,
32377 source/encoder/dpb.cpp, source/encoder/slicetype.cpp:
32378 lowres: change int keyframe to bool bKeyframe
32379 [f5a6b908037c]
32380
32381 * source/common/lowres.cpp, source/common/lowres.h,
32382 source/encoder/slicetype.cpp:
32383 lowres: change int scenecut to bool bScenecut
32384 [8df58890ff0b]
32385
32386 2013-09-19 Min Chen <chenm003@163.com>
32387
32388 * source/encoder/framefilter.cpp, source/encoder/framefilter.h,
32389 source/x265.cpp:
32390 framefilter: allow SAO to be disabled independently of deblock
32391 filter
32392 [7b26e7c0bf88]
32393
32394 2013-09-19 Steve Borho <steve@borho.org>
32395
32396 * source/x265.cpp:
32397 cli: fix memory leaks on early exits
32398 [bc1a28d6f187]
32399
32400 * source/common/common.cpp:
32401 sao: prevent picture based SAO to be used in combination with frame
32402 threading
32403 [12db8e96402b]
32404
32405 2013-09-19 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32406
32407 * source/encoder/slicetype.cpp:
32408 lookahead: fix crash for I frame cost estimation
32409 [e51ecfcabcaa]
32410
32411 2013-09-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32412
32413 * source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
32414 source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
32415 source/test/testbench.cpp, source/test/testharness.h:
32416 testharness cleanup: Testharness uses the same malloc/free wrapper
32417 as the rest of the encoder.
32418
32419 Aligned mallocs in testharness use the wrapper (X265_MALLOC/FREE)
32420 defined in CommonDef.h. Remove alignedMalloc/Free definitions in the
32421 test class.
32422 [eea9154229a0]
32423
32424 2013-09-18 Steve Borho <steve@borho.org>
32425
32426 * source/encoder/slicetype.cpp:
32427 slicetype: fix bug in intra estimation in
32428 Lookahead::estimateCUCost()
32429
32430 # HG changeset patch # User Steve Borho <steve@borho.org> # Date
32431 1379538813 18000 # Wed Sep 18 16:13:33 2013 -0500 # Node ID
32432 5bab261d0dd7ac68c4af3837853d48d56017d4d6 # Parent
32433 197dd6d2f54d7193d7dcf28d03a0b3dccb353fad slicetype: fix bug in intra
32434 estimation in Lookahead::estimateCUCost()
32435 [26d6f155f8df]
32436
32437 * source/common/common.cpp, source/x265.h:
32438 white-space and comment nits
32439 [2531c630739e]
32440
32441 * source/x265.cpp:
32442 cli: report errors from registering signal handler
32443 [197dd6d2f54d]
32444
32445 * source/Lib/TLibEncoder/TEncSbac.h:
32446 TEncSbac: remove exit() calls from unsupported functions
32447 [ded83381f219]
32448
32449 * source/Lib/TLibEncoder/TEncTop.cpp:
32450 TEncTop: replace debugging exit() call with abort(), use x265_log
32451 [4b3ff29d661d]
32452
32453 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComDataCU.cpp,
32454 source/Lib/TLibCommon/TComLoopFilter.cpp,
32455 source/Lib/TLibCommon/TComPicSym.cpp,
32456 source/Lib/TLibCommon/TComPrediction.cpp,
32457 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32458 source/Lib/TLibCommon/TComSlice.cpp,
32459 source/Lib/TLibCommon/TComTrQuant.cpp,
32460 source/Lib/TLibEncoder/TEncCu.cpp,
32461 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32462 source/Lib/TLibEncoder/TEncSearch.cpp,
32463 source/Lib/TLibEncoder/TEncTop.cpp, source/common/wavefront.cpp,
32464 source/encoder/bitcost.cpp, source/input/y4m.cpp,
32465 source/input/yuv.cpp, source/output/y4m.cpp, source/output/yuv.cpp,
32466 source/test/testpool.cpp:
32467 do not check for NULL prior to delete, do not reset pointers in
32468 destructors
32469
32470 A lot of our classes have destroy() methods. In those we try to zero
32471 deleted pointers since there is a chance for multiple destroy()
32472 calls. But in destructors the pointer storage itself will be
32473 released when the function exits
32474 [d8d209de87c2]
32475
32476 * source/x265.cpp:
32477 cli: use sig_atomic_t type for variable modified by SIGINT handler
32478
32479 Other nits:
32480 * removed unused b_exit_on_ctrl_c
32481 * removed unnecessary static initializer
32482 [6b1982cfc05d]
32483
32484 2013-09-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32485
32486 * source/encoder/slicetype.cpp:
32487 lookahead: fix cost estimation, use previous result when calculation
32488 is skipped
32489 [f467c4792a28]
32490
32491 2013-09-17 Aarthi Thirumalai <Aarthi Thirumalai>
32492
32493 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
32494 ABR - Removed unused states, cleaned up the comments.
32495
32496 Removed states that are not used in ABR or CQP rate contnrol modes.
32497 [d05f4310a976]
32498
32499 2013-09-18 Min Chen <chenm003@163.com>
32500
32501 * source/encoder/frameencoder.cpp:
32502 frameencoder: disable filter/extend lag when SAO and deblocking are
32503 off
32504
32505 This improves frame parallelism when all loop filtering is disabled
32506 (aka: benchmark mode)
32507 [d694a96b181c]
32508
32509 2013-09-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32510
32511 * source/encoder/slicetype.cpp:
32512 lookahead: change const bool to const int, so as to use it safely as
32513 a loop counter.
32514 [9d5d4e4e6d6c]
32515
32516 2013-09-17 Wenju He <wenju@multicorewareinc.com>
32517
32518 * source/input/y4m.cpp:
32519 fix allocation crash if input y4m file is not found
32520 [1dc07ca4c4ce]
32521
32522 2013-09-17 Min Chen <chenm003@163.com>
32523
32524 * source/common/wavefront.cpp, source/encoder/frameencoder.cpp,
32525 source/encoder/frameencoder.h:
32526 Resolve some patching issues for previous patch (deadlock).
32527 [13531b8f19cc]
32528
32529 2013-09-17 funman <funman@videolan.org Rafaël Carré>
32530
32531 * source/x265.h:
32532 [x265] [PATCH] library header: use #ifdef __cplusplus Remove a
32533 warning when using from C
32534 [1c66f40da3e9]
32535
32536 2013-09-16 Min Chen <chenm003@163.com>
32537
32538 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
32539 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
32540 Use mixed bitmap between FrameEncoder and FrameFilter to Fix crash
32541 and hash mistake in WPP mode
32542
32543 I change task schedult bitmap to mixed FrameEncoder and FrameFilter
32544 because there catch two bugs, and I want to reduce latency of Frame
32545 Parallelism. The new bitmap mapping 2N+0 to FrameEncoder and 2N+1 to
32546 FrameFilter.
32547
32548 Side effect: 1. We can remove the lock from FrameFilter. 2. Mixed
32549 bitmap let us do Filter early, so reduce latency of Frame
32550 Parallelism
32551
32552 Solved bugs: 1. CRASH: the reason is sometime two of threads finish
32553 in same time, so they will enter Filter in wrong order and sent
32554 Finished Event early. when main thread dequeue JobProvider and
32555 execute FrameFilter, we will catch a crash!
32556
32557 2. HASH MISTAKE: the reason is same as below, but last row is right
32558 order, we will got worng reconst image.
32559 [0d33ff236f68]
32560
32561 2013-09-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32562
32563 * source/common/common.cpp:
32564 CLI Options: reset x265_param_default to extern "C"
32565 [9a727efab9fa]
32566
32567 * Merge
32568 [960dbe714209]
32569
32570 * source/common/common.cpp, source/encoder/encoder.cpp,
32571 source/x265opts.h:
32572 CLI options: Eliminate rdoqts option; cleanup
32573
32574 1. Eliminate rdoqts CLI option: enabled when rdoq and ts are both
32575 enabled. 2. Rearrange default initialisations in x265_param_ t
32576 structure
32577 [46b065f7d676]
32578
32579 * source/encoder/framefilter.cpp:
32580 framefilter: Fix memcpy for pel-pixel datatype change
32581 [881444f5910b]
32582
32583 * source/encoder/framefilter.cpp:
32584 framefilter: Fix memcpy for pel-pixel datatype change
32585 [810ceb9d2b7c]
32586
32587 2013-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
32588
32589 * source/Lib/TLibCommon/AccessUnit.h,
32590 source/Lib/TLibCommon/CommonDef.h,
32591 source/Lib/TLibCommon/ContextModel.h,
32592 source/Lib/TLibCommon/ContextModel3DBuffer.h,
32593 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
32594 source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComBitCounter.h,
32595 source/Lib/TLibCommon/TComBitStream.h,
32596 source/Lib/TLibCommon/TComDataCU.h,
32597 source/Lib/TLibCommon/TComList.h,
32598 source/Lib/TLibCommon/TComLoopFilter.h,
32599 source/Lib/TLibCommon/TComMotionInfo.h,
32600 source/Lib/TLibCommon/TComPattern.h,
32601 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
32602 source/Lib/TLibCommon/TComPicYuv.h,
32603 source/Lib/TLibCommon/TComPrediction.h,
32604 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TComRom.h,
32605 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
32606 source/Lib/TLibCommon/TComSlice.h,
32607 source/Lib/TLibCommon/TComTrQuant.h,
32608 source/Lib/TLibCommon/TComWeightPrediction.h,
32609 source/Lib/TLibCommon/TComYuv.h, source/Lib/TLibCommon/TypeDef.h,
32610 source/Lib/TLibEncoder/NALwrite.h,
32611 source/Lib/TLibEncoder/SEIwrite.h,
32612 source/Lib/TLibEncoder/SyntaxElementWriter.h,
32613 source/Lib/TLibEncoder/TEncAnalyze.h,
32614 source/Lib/TLibEncoder/TEncBinCoder.h,
32615 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
32616 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
32617 source/Lib/TLibEncoder/TEncCavlc.h,
32618 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
32619 source/Lib/TLibEncoder/TEncEntropy.h,
32620 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
32621 source/Lib/TLibEncoder/TEncSbac.h,
32622 source/Lib/TLibEncoder/TEncSearch.h,
32623 source/Lib/TLibEncoder/TEncTop.h,
32624 source/Lib/TLibEncoder/WeightPredAnalysis.h,
32625 source/common/TShortYUV.h, source/common/common.h,
32626 source/common/lowres.h, source/common/md5.h, source/common/mv.h,
32627 source/common/reference.h, source/common/threading.h,
32628 source/common/threadpool.h, source/common/wavefront.h,
32629 source/compat/msvc/getopt.h, source/encoder/bitcost.h,
32630 source/encoder/cturow.h, source/encoder/dpb.h,
32631 source/encoder/frameencoder.h, source/encoder/framefilter.h,
32632 source/encoder/motion.h, source/encoder/ratecontrol.h,
32633 source/encoder/slicetype.h, source/input/input.h,
32634 source/input/y4m.h, source/input/yuv.h, source/output/output.h,
32635 source/output/y4m.h, source/output/yuv.h, source/x265.h:
32636 X265: header guards format Changed to X265_<FILENAME>_H
32637
32638 Globally all the x265 header files header guards format changed into
32639 X265_<FILENAME>_H
32640 [d09f36e4dc8b]
32641
32642 2013-09-13 sumalatha polureddy <sumalatha polureddy>
32643
32644 * source/encoder/ratecontrol.cpp:
32645 ratecontrol: Tweak to better handle short term compensation
32646
32647 Increase the coefficient cplxrSum is adjusted by so that short term
32648 compensation does not suffer as much.
32649
32650 Also, clip the QP for the first frame.
32651
32652 Overall improvement is about 5%.
32653 [6bab41a554b3]
32654
32655 2013-09-13 Steve Borho <steve@borho.org>
32656
32657 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
32658 frameencoder: move threadMain() into cpp file
32659 [d0883c21fc7f]
32660
32661 * source/encoder/slicetype.cpp:
32662 slicetype: increase baseline bframe bias by 10%
32663
32664 Our estimateFrameCost() function is not yet checking bidir
32665 candidates (because bidir search in the main encoder needs to be
32666 replaced first) and since B frame estimates cannot use intra modes
32667 either this tends to make B frame scores relatively higher than what
32668 x264 finds. So our default bias needs to be a bit higher in order
32669 for the lookahead to select B paths.
32670 [2555acbc9736]
32671
32672 * source/cmake/mergestaticlibs.cmake:
32673 cmake: whitespace cleanups in mergestaticlibs.cmake (should not
32674 change behavior)
32675
32676 this file was borrowed from another project, and wasn't scrubbed for
32677 our cmake script style (no tabs, 4 spaces, unix eoln, lower case cmd
32678 names)
32679 [9c5a74cfacca]
32680
32681 2013-09-13 Derek Buitenhuis <derek.buitenhuis@gmail.com>
32682
32683 * source/cmake/mergestaticlibs.cmake:
32684 cmake: Don't rely on non-POSIX ar functionality
32685
32686 Fixes build on stricter systems like FreeBSD.
32687 [8e7d559df1ac]
32688
32689 * source/Lib/TLibEncoder/NALwrite.cpp:
32690 NALwrite: Include forgotten header
32691
32692 Fixes build on Linux, where memcpy is not global.
32693 [32922922a332]
32694
32695 2013-09-13 Steve Borho <steve@borho.org>
32696
32697 * source/encoder/framefilter.cpp:
32698 ppa: remove redundant PPA event
32699
32700 The PPAScopeEvent macro causes a bar to appear in our profiler with
32701 the given name, associated with the CPU core and start/stop time.
32702 The problem with this particular instance is that the function was
32703 copy-pasted from another in this file and this profile scope came
32704 along for the ride and since they both have the same name and one
32705 calls the other it is essentially a NOP
32706 [f98bfe09f806]
32707
32708 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
32709 framefilter: comment cleanups, use pixel data type
32710 [a1e34874f642]
32711
32712 * source/test/CMakeLists.txt:
32713 cmake: fix test bench builds following static lib reorg
32714 [4206091a6278]
32715
32716 2013-09-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32717
32718 * source/encoder/encoder.cpp:
32719 Encoder: Remove x265_ prefix from NAL data extract functions.
32720 [45786d093571]
32721
32722 * source/encoder/encoder.cpp:
32723 Encoder: Factor out duplicated code in NAL data extraction [Gopu]
32724 [fc32e3804b8b]
32725
32726 2013-09-12 Gopu Govindaswamy <gopu@multicorewareinc.com>
32727
32728 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
32729 source/Lib/TLibEncoder/NALwrite.h,
32730 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
32731 NAL : std::ostringstream replaced
32732 [92b1820c3e42]
32733
32734 2013-09-12 Derek Buitenhuis <derek.buitenhuis@gmail.com>
32735
32736 * source/common/threading.h:
32737 threading: Include fcntl.h on POSIX systems
32738
32739 This is where O_CREAT and O_EXCL are defined.
32740 [17d41a7563aa]
32741
32742 2013-09-11 Steve Borho <steve@borho.org>
32743
32744 * source/CMakeLists.txt:
32745 cmake: set MACOS build flag on mac builds (fixes CPU count
32746 detection)
32747 [8fdafe573ef7]
32748
32749 * source/common/threading.cpp, source/common/threading.h:
32750 threading: use named semaphores for POSIX events
32751
32752 Mac OS X does not support unnamed semaphores. It's not clear what
32753 the performance implications of this are on Linux (or Mac). Also,
32754 this method is not very robust. If x265 crashes, it leaves named
32755 semaphores in the system until the kernel is restarted.
32756 [d95d94ee0e1d]
32757
32758 * build/linux/batch.py:
32759 build: remove obsolete test script
32760 [7a3699202860]
32761
32762 * source/common/ipfilter.cpp:
32763 ipfilter: remove two unused file-static functions
32764
32765 Xcode reported these as warnings; Xcode build is now 100% clean
32766 [2d59beb5c0f4]
32767
32768 * source/common/x86/CMakeLists.txt:
32769 cmake: add Xcode hacks for YASM integration (is there a better way?)
32770 [dfda8ed7bbf4]
32771
32772 * source/CMakeLists.txt:
32773 cmake: detect Xcode generator, avoid static lib failure
32774 [74d7078f9afe]
32775
32776 * build/xcode/make-project.sh:
32777 cmake: add xcode build folder
32778 [881263c02cc2]
32779
32780 2013-09-12 Steve Borho <steve@borho.org>
32781
32782 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
32783 framefilter: prevent row filter overlap race hazards
32784 [463fc13419b9]
32785
32786 2013-09-11 Wenju He <Wenju He>
32787
32788 * source/Lib/TLibEncoder/TEncCu.cpp:
32789 check before delete
32790 [80c133ffdbef]
32791
32792 2013-09-12 Steve Borho <steve@borho.org>
32793
32794 * source/common/CMakeLists.txt, source/common/vec/CMakeLists.txt,
32795 source/common/x86/CMakeLists.txt, source/encoder/CMakeLists.txt:
32796 cmake: mark project libs as static
32797 [d4a8f6b92eb2]
32798
32799 2013-09-11 Steve Borho <steve@borho.org>
32800
32801 * source/CMakeLists.txt, source/common/CMakeLists.txt,
32802 source/encoder/CMakeLists.txt:
32803 cmake: link primitive projects into libx264 directly, not through
32804 common
32805 [d5ffa406e4fb]
32806
32807 * build/icl32/build-all.bat, build/icl32/make-makefile.bat,
32808 build/icl64/build-all.bat, build/icl64/make-makefile.bat:
32809 cmake: detect and use ICL version 14
32810 [11785c1be804]
32811
32812 2013-09-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32813
32814 * Merge
32815 [a9ad48de415e]
32816
32817 * source/x265opts.h:
32818 cli: moving rd option description to rate distortion section.
32819 [25291305a3b9]
32820
32821 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
32822 source/x265opts.h:
32823 cli: replacing no-rdo and no-rdoq options with rd: 0 means
32824 nordo,nordoq. 1 means nordo,rdoq and 2 means rdo, rdoq.
32825 [52630a3de867]
32826
32827 2013-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32828
32829 * source/x265.h:
32830 cli: clarifying enum comment in No-RDO.
32831 [989980166bed]
32832
32833 2013-09-11 Steve Borho <steve@borho.org>
32834
32835 * source/CMakeLists.txt:
32836 cmake: quiet ICL warnings from STLport's use of pragmas
32837 [ea0aa1f8abda]
32838
32839 2013-09-11 Min Chen <chenm003@163.com>
32840
32841 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
32842 framefilter: Make code clearer
32843
32844 We do not need the row delay when the loopfilter is disabled.
32845 [ffbe50c2f743]
32846
32847 2013-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32848
32849 * source/encoder/compress.cpp:
32850 compress: fast-no-rdo is stable enough to be a part of regular no-
32851 rdo
32852 [a6bf1f10e820]
32853
32854 * source/x265.h:
32855 cli: Add enum RDOLevel to list of rate distortion modes.
32856 [babfab4f36a8]
32857
32858 2013-09-11 Steve Borho <steve@borho.org>
32859
32860 * source/encoder/slicetype.cpp:
32861 slicetype: remove extra parens (Mac GCC reports this as a warning)
32862 [af8cddab103e]
32863
32864 2013-09-09 Steve Borho <steve@borho.org>
32865
32866 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
32867 source/encoder/framefilter.h:
32868 framefilter: run filters synchronously at end of each row
32869 [4ec9253cc3c1]
32870
32871 2013-09-10 Steve Borho <steve@borho.org>
32872
32873 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
32874 source/Lib/TLibEncoder/TEncTop.cpp, source/common/lowres.cpp,
32875 source/common/lowres.h, source/encoder/dpb.cpp,
32876 source/encoder/slicetype.cpp:
32877 lowres: don't use bframes member var to store allocation count
32878
32879 x264 used a bframes variable here to hold the number of leading B
32880 frames encoded before an I or a P (I assume for rate control use)
32881 [6ca33594fbf3]
32882
32883 * source/Lib/TLibEncoder/TEncSearch.cpp:
32884 TEncSearch: clamp mvmin.y to reflag distance as well
32885 [e5b5277956a8]
32886
32887 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
32888 ratecontrol: remove unused bframes (this was probably not the
32889 bframes you need)
32890 [90a4d668f833]
32891
32892 * source/x265opts.h:
32893 cli: move fast-no-rdo next to the other rdo options
32894 [f241eedf1ae1]
32895
32896 * source/CMakeLists.txt:
32897 cmake: generate libx265 unconditionally
32898 [21d8b3a825ad]
32899
32900 * source/CMakeLists.txt:
32901 cmake: merge fixup
32902 [e27907038796]
32903
32904 * source/encoder/compress.cpp:
32905 compress: remove unnecessary line (GCC warning)
32906 [e2123d174c7c]
32907
32908 * source/CMakeLists.txt, source/input/CMakeLists.txt,
32909 source/output/CMakeLists.txt:
32910 Merge with stable
32911 [b7646217f425]
32912
32913 * source/CMakeLists.txt:
32914 cmake: rename x265 project to cli, force output name to x265. use
32915 libx265.a
32916 [841aaa5fa2ec]
32917
32918 * source/encoder/encoder.cpp:
32919 encoder: replace long with UInt
32920 [616f585fa646]
32921
32922 2013-09-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32923
32924 * source/encoder/compress.cpp:
32925 compress: different lambdas for P and B slices, no efficiency drop.
32926 [4cd9216dd366]
32927
32928 * source/encoder/compress.cpp:
32929 compress: replace early exit macro with fast-no-rdo option
32930 [5c8ce4a2e9fc]
32931
32932 * source/common/common.cpp, source/x265.h, source/x265opts.h:
32933 compress: Introducing option fast no-rdo, only when no-rdo mode is
32934 enabled.
32935 [cda8c3d1f83c]
32936
32937 * source/encoder/compress.cpp:
32938 compress: Intra mode checked only in P frames
32939 [1c72e3fbd641]
32940
32941 * source/encoder/compress.cpp:
32942 compress: Enabling early exit macro.
32943 [ab77d80491d8]
32944
32945 2013-09-09 Steve Borho <steve@borho.org>
32946
32947 * source/common/vec/ipfilter8.inc:
32948 ipfilter: remove unused maxVal variable
32949 [98f0f7dde384] <stable>
32950
32951 * source/Lib/TLibCommon/CommonDef.h,
32952 source/Lib/TLibCommon/TComMotionInfo.cpp,
32953 source/Lib/TLibCommon/TComRom.cpp,
32954 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32955 source/Lib/TLibCommon/TComTrQuant.cpp,
32956 source/Lib/TLibCommon/TComYuv.cpp,
32957 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32958 source/VectorClass/instrset.h, source/common/TShortYUV.cpp,
32959 source/common/common.h, source/common/pixel.cpp,
32960 source/common/threading.h:
32961 convert stdlib.h includes to <cstdlib> to avoid namespace conflicts
32962 [cfd76423dbf4] <stable>
32963
32964 * source/CMakeLists.txt, source/input/CMakeLists.txt,
32965 source/output/CMakeLists.txt:
32966 cmake: merge InputFiles and OutputFiles projects into cli project
32967 (simplicity)
32968 [60dec1deb894] <stable>
32969
32970 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt,
32971 source/Lib/TLibCommon/TComCABACTables.cpp,
32972 source/Lib/TLibCommon/TComCABACTables.h,
32973 source/Lib/TLibCommon/TComRdCost.cpp,
32974 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
32975 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
32976 source/Lib/TLibEncoder/AnnexBwrite.h,
32977 source/Lib/TLibEncoder/TEncGOP.cpp,
32978 source/Lib/TLibEncoder/TEncGOP.h,
32979 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
32980 source/Lib/TLibEncoder/TEncRateCtrl.h,
32981 source/Lib/TLibEncoder/TEncSlice.cpp,
32982 source/Lib/TLibEncoder/TEncSlice.h, source/common/vec/blockcopy-
32983 sse42.cpp, source/common/vec/dct-sse42.cpp, source/common/vec/intra-
32984 sse42.cpp, source/common/vec/ipfilter-sse42.cpp, source/common/vec
32985 /pixel-sse42.cpp, source/common/vec/sse42.cpp,
32986 source/encoder/encoder.h:
32987 merge default into stable; feature freeze
32988 [1efd146deeeb] <stable>
32989
32990 * source/x265.cpp:
32991 cli: add version id into CSV output
32992 [d11de33521cf]
32993
32994 * source/x265.cpp:
32995 cli: report global PSNR on summary line
32996 [0811d6c95e44]
32997
32998 * source/common/common.cpp:
32999 common: fix lookahead check
33000 [48ab740e5c7f]
33001
33002 * source/CMakeLists.txt:
33003 cmake: do not use -fPIC on MinGW64
33004 [84e49ab6fef1]
33005
33006 * source/CMakeLists.txt:
33007 cmake: fix eoln damage
33008 [a24a04441e5e]
33009
33010 * source/CMakeLists.txt:
33011 cmake: add STLport build option
33012 [943ffb8b220c]
33013
33014 * source/input/input.h, source/input/y4m.h, source/input/yuv.h,
33015 source/x265.cpp:
33016 stl: fix warnings/errors reported by STLport headers
33017 [96f8d46f9e13]
33018
33019 * source/common/common.cpp:
33020 common: fix lookahead depth dependency
33021 [d8511336efdb]
33022
33023 * source/encoder/slicetype.cpp:
33024 slicetype: disable lookahead for all-P frame runs
33025 [8859d7da393c]
33026
33027 * source/common/common.cpp:
33028 common: enable -b3 by default to match x264
33029
33030 Use -b0 to get the previous all-P frame default behavior
33031 [7717f84c5cfa]
33032
33033 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33034 ratecontrol: remove rce member variable pointer
33035
33036 Pass RateControlEntry to functions that need it. It was pretty
33037 misleading to pass in an argument named m_rce.
33038 [42c2c838d492]
33039
33040 2013-09-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33041
33042 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
33043 source/encoder/ratecontrol.h:
33044 ratecontrol: move lastRceq and qpaRc to RateControlEntry().
33045 [22ac6e8ca357]
33046
33047 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt:
33048 Merge
33049 [76f1e04c897e]
33050
33051 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.h,
33052 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33053 ratecontrol: rateControlEntry is now a member of FrameEncoder.
33054 [a5087ca01ab8]
33055
33056 2013-09-09 Steve Borho <steve@borho.org>
33057
33058 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt:
33059 doc: remove obsolete planning docs
33060 [bc4a13c9017c]
33061
33062 * source/encoder/slicetype.cpp:
33063 slicetype: enable lookahead by default. --b-adapt 0 or --rc-
33064 lookahead 0 disables
33065 [d3c9a535c21d]
33066
33067 * source/x265opts.h:
33068 cli: add --b-adapt CLI option
33069 [176055b7fadd]
33070
33071 2013-09-08 Min Chen <chenm003@163.com>
33072
33073 * source/encoder/framefilter.cpp:
33074 support diable both thread and lft/sao
33075 [f9150ab39bf9]
33076
33077 * source/encoder/frameencoder.cpp:
33078 support both diable thread and lft/sao
33079 [4ace08e490a0]
33080
33081 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
33082 simplify by processRowPost()
33083 [6882f7eb6c31]
33084
33085 2013-09-07 Steve Borho <steve@borho.org>
33086
33087 * source/encoder/motion.cpp:
33088 motion: subpel offsets table needs a 'no-motion' entry
33089 [1f8760fdc2d8]
33090
33091 * source/Lib/TLibEncoder/TEncSearch.cpp,
33092 source/Lib/TLibEncoder/TEncSearch.h:
33093 TEncSearch: remove unused m_searchRange
33094 [08ed93aebcdc]
33095
33096 * source/Lib/TLibEncoder/TEncSearch.cpp,
33097 source/Lib/TLibEncoder/TEncSearch.h:
33098 TEncSearch: remove unused m_searchMethod
33099 [72f6cfac517d]
33100
33101 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
33102 source/encoder/motion.cpp, source/encoder/motion.h,
33103 source/encoder/slicetype.cpp, source/x265.cpp, source/x265.h,
33104 source/x265opts.h:
33105 api: add -m/--subme to adjust level of subpel refine
33106
33107 This is very similar to x264, but ours has no effect on RD analysis,
33108 it only affects the amount of HPEL and QPEL refinement for motion
33109 estimation.
33110 [0f8c8a921d1b]
33111
33112 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibEncoder/TEncTop.cpp,
33113 source/x265.cpp, source/x265.h:
33114 api: pass through a void* user data pointer through the encoder
33115 [dcc5e822fb05]
33116
33117 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
33118 source/encoder/cturow.h, source/encoder/frameencoder.cpp:
33119 cturow: move completed column counter back into CTURow class (from
33120 TComPic)
33121 [8e945ca22fd5]
33122
33123 * source/x265.cpp:
33124 cli: initialize input picture slice type
33125 [507ad2b9aa37]
33126
33127 * source/Lib/TLibEncoder/TEncTop.h:
33128 TEncTop: remove dead meathod declaration
33129 [836a1b2beb3f]
33130
33131 * source/Lib/TLibEncoder/TEncTop.cpp:
33132 TEncTop: prevent deadlocks on CTRL+C aborts
33133 [e46a1ae90f30]
33134
33135 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/slicetype.cpp,
33136 source/encoder/slicetype.h:
33137 lookahead: do not leak pictures left in lookahead queues on abort
33138 [1fd36612d2a9]
33139
33140 * source/Lib/TLibCommon/TComSlice.cpp,
33141 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
33142 TComSlice: remove unused lambda variables
33143 [090e76ad93c9]
33144
33145 * source/encoder/frameencoder.cpp:
33146 frameencoder: use a more refined depth for SAO
33147 [065ada6a83f7]
33148
33149 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33150 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33151 source/encoder/frameencoder.cpp:
33152 sao: fix a typo
33153 [b7afed5ff5c4]
33154
33155 * source/Lib/TLibCommon/TComSlice.cpp,
33156 source/Lib/TLibCommon/TComSlice.h,
33157 source/Lib/TLibEncoder/TEncSearch.cpp,
33158 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
33159 slice: finally remove slice 'depth' parameter, use slice type to
33160 approximate
33161
33162 Instead of relying on a fixed depth cadence, apply all the high-
33163 depth hacks to only B slices.
33164 [ea196d10f05e]
33165
33166 * source/encoder/encoder.cpp:
33167 log: concise is almost always better
33168 [d337394a2f86]
33169
33170 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
33171 TEncSampleAdaptiveOffset: remove hungarian prefixes
33172 [bc6e986c96cc]
33173
33174 * source/encoder/frameencoder.cpp:
33175 frameencoder: update a TODO comment
33176 [aa958a34d2f5]
33177
33178 * source/encoder/compress.cpp:
33179 compress: enable SSD based merge decisions for --no-rdo path
33180 [302f9fd4fb0c]
33181
33182 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
33183 compress: cleanups
33184 [791da0534bb7]
33185
33186 2013-09-07 Aarthi Thirumalai <aarthi@multicorewareinc.com>
33187
33188 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
33189 source/encoder/compress.cpp:
33190 TEncCu: optimized merge routine xcomputeCostmerge2x2N
33191 [3198b82d6709]
33192
33193 2013-09-07 Steve Borho <steve@borho.org>
33194
33195 * source/common/common.cpp, source/encoder/encoder.cpp:
33196 log: combine all threading info into one log line
33197 [fd0c4026514b]
33198
33199 2013-09-07 Min Chen <chenm003@163.com>
33200
33201 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
33202 source/encoder/framefilter.cpp:
33203 framepp: Support NO-WPP + FrameParallelism Mode
33204 [a376aeeb9638]
33205
33206 * source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
33207 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/frameencoder.cpp,
33208 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
33209 framepp: let sao use own context
33210 [c9fd5009e72a]
33211
33212 2013-09-07 Steve Borho <steve@borho.org>
33213
33214 * source/Lib/TLibEncoder/TEncSearch.cpp,
33215 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33216 frameencoder: remove broadcast methods, inline row initializations
33217 [57959ef033e4]
33218
33219 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33220 frameencoder: remove unused accessor methods, inline scaling list
33221 sets
33222 [19571e08f69e]
33223
33224 * source/encoder/frameencoder.h:
33225 frameencoder: remove unused accessor methods
33226 [a7b6d9b86b4a]
33227
33228 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33229 frameencoder: inline resetEncoder
33230 [470884b53ec3]
33231
33232 * source/encoder/frameencoder.h:
33233 frameencoder: improve comments
33234 [392e8ebaba0b]
33235
33236 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33237 frameencoder: nits
33238 [859f9b557938]
33239
33240 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
33241 source/encoder/frameencoder.h:
33242 frameencoder: move lambda initialization into the frame worker
33243 thread
33244 [831882d2f600]
33245
33246 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
33247 source/encoder/dpb.h:
33248 dpb: we don't need to pass the FrameEncoder to DPB::prepareEncode()
33249 [5e00016ee73b]
33250
33251 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
33252 source/encoder/ratecontrol.h:
33253 ratecontrol: avoid lookahead overhead for CQP
33254 [a027cdf5a6e6]
33255
33256 * source/encoder/ratecontrol.cpp:
33257 ratecontrol: avoid some operations in CQP mode
33258 [282d9b666254]
33259
33260 * source/encoder/ratecontrol.cpp:
33261 ratecontrol: remove redundant clip and double conversions
33262 [61f44f7895c7]
33263
33264 2013-09-07 Aarthi Thirumalai <aarthi@multicorewareinc.com>
33265
33266 * source/encoder/ratecontrol.cpp:
33267 ratecontrol: bug fix - qp for ABR cant exceed MAX_QP = 51
33268 [fb9aa649c13e]
33269
33270 2013-09-06 Steve Borho <steve@borho.org>
33271
33272 * source/Lib/TLibEncoder/TEncTop.cpp:
33273 TEncTop: lookAheadCost is a somewhat confusing variable name
33274 [385c0b29be4f]
33275
33276 * source/x265.cpp:
33277 cli: assign poc on input pictures (ignored by encoder, but good
33278 example)
33279 [ef0c1d6fbd26]
33280
33281 * source/common/vec/vec-primitives.cpp:
33282 vec: simplify externs, fix MSVC compiler version dependencies
33283 [090407717725]
33284
33285 * source/Lib/TLibEncoder/TEncCfg.h,
33286 source/Lib/TLibEncoder/TEncTop.cpp:
33287 TEncCfg: use param.decodedPictureHashSEI directly without accessor
33288 [84f9983a5de7]
33289
33290 * source/Lib/TLibEncoder/TEncCfg.h, source/x265.h, source/x265opts.h:
33291 api: rename bEnableDecodedPictureHashSEI (not a bool)
33292 [381e8ea239cb]
33293
33294 * source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h:
33295 api: add sliceType to output pictures
33296 [79ade4825d33]
33297
33298 * source/common/lowres.h, source/x265.h:
33299 api: move slice type macros to public API
33300 [1256b9f2678e]
33301
33302 * source/x265.cpp:
33303 x265: nits
33304 [850a0ddfb3ae]
33305
33306 * source/x265.cpp:
33307 x265: print unrecognized short options as char instead of hex
33308 [883098a93d61]
33309
33310 * source/x265.cpp:
33311 x265: emit a warning message if a short option is invalid
33312 [5a14cf8e8a3b]
33313
33314 * source/x265.cpp:
33315 x265: remove -w short option for disabled weightp command
33316 [e41fd1a98838]
33317
33318 2013-09-06 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
33319
33320 * source/encoder/slicetype.cpp:
33321 slicetype: Handle Bframes immediately preceding an IDR correctly.
33322 [aaeeb869133d]
33323
33324 * source/common/lowres.cpp, source/common/lowres.h,
33325 source/encoder/dpb.cpp, source/encoder/dpb.h,
33326 source/encoder/slicetype.cpp:
33327 Set all I frames as keyframes, change nalunittype decision
33328 accordingly.
33329 [d934cc573e08]
33330
33331 * source/encoder/slicetype.cpp:
33332 slicetype: uncrustified
33333 [66b3f3b38e84]
33334
33335 * source/encoder/slicetype.cpp:
33336 slicetype: B-frames analysis integrated
33337 [86603fe88df5]
33338
33339 * source/encoder/slicetype.cpp:
33340 slicetype: Remove unnecessary initialization
33341 [9c4c2b1c7fe0]
33342
33343 2013-09-06 Min Chen <chenm003@163.com>
33344
33345 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
33346 review: improvement filterVertical_p_p and filterHorizontal_p_p
33347 [0f79f2f96170]
33348
33349 2013-09-06 Steve Borho <steve@borho.org>
33350
33351 * source/CMakeLists.txt:
33352 cmake: MSVC does not understand -fPIC
33353 [11e0362a9835]
33354
33355 2013-09-06 Rafaël Carré <funman@videolan.org>
33356
33357 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake:
33358 Always use -DPIC/-fPIC when targetting x64
33359
33360 Fix link failure when making a shared object on Linux
33361 [ae8499191c12]
33362
33363 2013-09-06 Steve Borho <steve@borho.org>
33364
33365 * source/encoder/slicetype.cpp:
33366 slicetype: nits
33367 [63364b91b72a]
33368
33369 2013-09-06 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
33370
33371 * source/common/lowres.cpp, source/encoder/slicetype.cpp:
33372 Scenecut detection functional with no bframes
33373 [6b4a050476d1]
33374
33375 2013-09-05 Steve Borho <steve@borho.org>
33376
33377 * source/Lib/TLibCommon/TComDataCU.cpp,
33378 source/Lib/TLibCommon/TComDataCU.h,
33379 source/Lib/TLibEncoder/TEncSearch.cpp,
33380 source/Lib/TLibEncoder/TEncSearch.h,
33381 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33382 TEncSearch: clip mvmax by a fixed ammount for frame parallelism
33383
33384 When frame parallelism is enabled, we enforce at least merange +
33385 interpolation half-length of reconstructed reference pixels to be
33386 available in all reference frames before allowing the encoder to
33387 begin compressing a given row. So we cannot allow the motion search
33388 to extend beyond merange past the colocated ref block (regardless of
33389 the MVP search starting location).
33390
33391 We can't use the actual number of rows available because this
33392 results in non- determinism.
33393 [f3a583f4d0b1]
33394
33395 * source/x265.cpp:
33396 ppa: use scoped PPA event for writeNALs
33397 [1b49fdef200e]
33398
33399 * source/x265.cpp:
33400 x265: remove redundant help output line
33401 [8baa04aa131e]
33402
33403 * source/encoder/frameencoder.cpp:
33404 frameencoder: poke idle thread after enabling a row
33405
33406 This ensures at least one worker thread sees the state transition
33407 [69c280c82c83]
33408
33409 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
33410 source/encoder/bitcost.h, source/encoder/slicetype.cpp:
33411 bitcost: always use non-I lambda table to seed bitcost table
33412 [2c525d4b2010]
33413
33414 * source/encoder/frameencoder.cpp:
33415 nit
33416 [0a24b5f9c372]
33417
33418 2013-09-03 Steve Borho <steve@borho.org>
33419
33420 * source/encoder/frameencoder.cpp:
33421 frameencoder: start encoding CU rows once minimum reference row lag
33422 is met
33423 [9c5b11c33960]
33424
33425 2013-09-05 Steve Borho <steve@borho.org>
33426
33427 * source/encoder/encoder.cpp:
33428 encoder: declare destructor virtual
33429 [54612105847b]
33430
33431 * source/Lib/TLibEncoder/TEncTop.h:
33432 TEncTop: nits
33433 [25bc610d324e]
33434
33435 * source/Lib/TLibEncoder/TEncTop.cpp,
33436 source/Lib/TLibEncoder/TEncTop.h:
33437 TEncTop: statistics lock was no longer necessary, always runs in API
33438 thread ctx
33439 [5e42cbe10f98]
33440
33441 * source/Lib/TLibEncoder/TEncTop.h:
33442 TEncTop: cleanup
33443 [b0ac25bf249a]
33444
33445 2013-09-06 Aarthi Thirumalai <aarthi@multicorewareinc.com>
33446
33447 * source/encoder/ratecontrol.cpp:
33448 tighten rate control logic for ABR
33449 [9266f876f316]
33450
33451 2013-09-05 Min Chen <chenm003@163.com>
33452
33453 * source/Lib/TLibCommon/TComDataCU.cpp,
33454 source/Lib/TLibCommon/TComDataCU.h,
33455 source/Lib/TLibCommon/TComMotionInfo.cpp,
33456 source/Lib/TLibCommon/TComMotionInfo.h,
33457 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
33458 source/encoder/framefilter.cpp:
33459 improvement: replace compressMV by index mapping
33460 [d6df26c90ee5]
33461
33462 * source/Lib/TLibCommon/TComDataCU.cpp,
33463 source/Lib/TLibCommon/TComDataCU.h,
33464 source/Lib/TLibCommon/TComMotionInfo.cpp,
33465 source/Lib/TLibCommon/TComMotionInfo.h,
33466 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
33467 framepp: move compressMV into loop
33468 [b121e96290e2]
33469
33470 2013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
33471
33472 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
33473 source/encoder/frameencoder.cpp:
33474 SEI: Replaced STL Classes
33475 [bce4dbc57e09]
33476
33477 * source/encoder/encoder.cpp:
33478 encoder: Added pad size in Malloc
33479 [842e8155f9dc]
33480
33481 2013-09-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33482
33483 * source/common/common.cpp:
33484 common: keyframeMax should always be >=0
33485 [c30558100e0d]
33486
33487 * source/x265opts.h:
33488 bOpenGOP: remove option openGOP, we only support closed GOP now;
33489 clarify comment
33490 [b3fe7c74c8ca]
33491
33492 * source/encoder/encoder.cpp:
33493 bOpenGOP: Open GOP has nothing to do with keyframe interval
33494 [0a5662f7e27f]
33495
33496 * source/x265.h:
33497 bOpenGOP: clarify in comment
33498 [550ae0ed71a2]
33499
33500 2013-09-05 Steve Borho <steve@borho.org>
33501
33502 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
33503 TEncTop: hoist compressFrame trigger back into encode() function
33504 [3d5c461db4a7]
33505
33506 * source/Lib/TLibEncoder/TEncTop.cpp,
33507 source/Lib/TLibEncoder/TEncTop.h, source/encoder/frameencoder.cpp,
33508 source/encoder/frameencoder.h:
33509 frameencoder: set QP and lambda on the correct FrameEncoder
33510 [84539616c439]
33511
33512 * source/Lib/TLibEncoder/TEncTop.cpp:
33513 TEncTop: hold a reference for frames connected to FrameEncoders
33514 [3221580e71d6]
33515
33516 * source/encoder/encoder.cpp:
33517 encoder: uncrustify
33518 [135b917429ac]
33519
33520 2013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
33521
33522 * source/encoder/encoder.cpp:
33523 Encoder: removed STL Container classes
33524 [b1e048696138]
33525
33526 2013-09-05 Min Chen <chenm003@163.com>
33527
33528 * doc/intra/T16.TXT, doc/intra/T32.TXT, doc/intra/T4.TXT,
33529 doc/intra/T8.TXT, source/common/vec/intrapred.inc:
33530 doc: intra all angles algorithm
33531 [c05c9410a379]
33532
33533 2013-09-05 Steve Borho <steve@borho.org>
33534
33535 * source/encoder/slicetype.cpp:
33536 slicetype: handle odd keyframe intervals better
33537 [8d73d4ffd725]
33538
33539 2013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
33540
33541 * source/x265.cpp:
33542 x265Cli: Removed std::string in log
33543 [ce7faa93a060]
33544
33545 2013-09-05 Steve Borho <steve@borho.org>
33546
33547 * source/PPA/ppaCPUEvents.h, source/encoder/frameencoder.cpp:
33548 ppa: measure a different FrameEncoder method
33549 [9b9c4b842d10]
33550
33551 2013-09-04 Steve Borho <steve@borho.org>
33552
33553 * source/common/common.cpp, source/encoder/encoder.cpp,
33554 source/x265opts.h:
33555 encoder: make rate control mode implicit from other configs
33556 [6fb582a6d95e]
33557
33558 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/dpb.cpp,
33559 source/encoder/encoder.cpp:
33560 TEncCfg: remove fixed GOP structures
33561 [8b79137bdd37]
33562
33563 * source/Lib/TLibEncoder/TEncTop.cpp:
33564 TEncTop: require --log 4 to dump hash strings
33565
33566 I don't see them being useful for display except for regression
33567 scripts
33568 [a871b170dd2d]
33569
33570 * source/encoder/dpb.cpp:
33571 dpb: do not use fixed GOP cadence to select colocated direction
33572 [80ba827e2150]
33573
33574 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
33575 TEncCfg: remove unused dQP table
33576 [a8a002ebcde2]
33577
33578 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
33579 TEncCfg: remove obsolete configurables
33580 [60c1adcbc34a]
33581
33582 * source/encoder/dpb.cpp:
33583 dpb: nits
33584 [0a211206d496]
33585
33586 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
33587 source/encoder/ratecontrol.cpp:
33588 do not configure QP and lambda twice
33589 [77881138aa1d]
33590
33591 * source/encoder/ratecontrol.cpp:
33592 ratecontrol: assign qp correctly
33593 [ce4c14ba9b85]
33594
33595 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
33596 source/encoder/ratecontrol.h:
33597 ratecontrol: move CQP support into our code
33598 [7bcd5530d55a]
33599
33600 * source/encoder/frameencoder.cpp:
33601 FrameEncoder: remove min gop size from depth calculation
33602 [9ba4683de281]
33603
33604 * source/Lib/TLibEncoder/TEncTop.cpp:
33605 TEncTop: hard code setNumRefIdxL0DefaultActive() and L1 default
33606
33607 This was failing in debug with -i1
33608 [6a47835b91e1]
33609
33610 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lowres.h,
33611 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
33612 source/encoder/frameencoder.h, source/encoder/slicetype.cpp:
33613 slicetype: remove gopIdx from lookahead output, simplify fake
33614 lookahead
33615
33616 CQP uses a simple offset for non-I slices (temporary hack)
33617 [23911d66a504]
33618
33619 * source/Lib/TLibEncoder/TEncCu.cpp,
33620 source/Lib/TLibEncoder/TEncEntropy.cpp,
33621 source/Lib/TLibEncoder/TEncEntropy.h,
33622 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33623 source/encoder/compress.cpp, source/encoder/frameencoder.cpp:
33624 TEncEntropy: remove hungarian prefixes
33625 [b48bafd35b68]
33626
33627 * source/Lib/TLibEncoder/TEncTop.cpp:
33628 TEncTop: remove hungarian prefixes from function arguments
33629 [99a1fb3c4730]
33630
33631 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33632 FrameEncoder: stop passing pic pointer to methods, use m_pic
33633 [ead51e579c13]
33634
33635 * source/encoder/frameencoder.cpp:
33636 FrameEncoder: remove extra white-space
33637 [493d0dfc608a]
33638
33639 * source/Lib/TLibEncoder/TEncTop.cpp:
33640 TEncTop: remove trailing white-space
33641 [ce33f819359b]
33642
33643 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp:
33644 SEI: remove hungarian prefixes
33645 [a2c84fdf74d7]
33646
33647 * source/Lib/TLibCommon/TComSlice.cpp:
33648 TComSlice: missed deletion
33649 [43a27c6d551d]
33650
33651 2013-09-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
33652
33653 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
33654 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
33655 source/encoder/slicetype.cpp:
33656 using slicetypes from lookahead
33657 [7df7dab02f10]
33658
33659 2013-09-04 Min Chen <chenm003@163.com>
33660
33661 * source/encoder/framefilter.cpp:
33662 Fix bug in PCM mode
33663 [6b2797b588c7]
33664
33665 2013-09-04 Gopu Govindaswamy <gopu@multicorewareinc.com>
33666
33667 * source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
33668 TComSlice : Removed Unused std::vector Variable
33669 [6ef1bd02dd48]
33670
33671 2013-09-04 Steve Borho <steve@borho.org>
33672
33673 * source/common/common.cpp:
33674 common: replace std::string with const char *
33675 [70966790b40e]
33676
33677 * source/CMakeLists.txt:
33678 cmake: make -Werror on GCC a build option defaulting to off
33679
33680 It can be enabled on build-bots, etc, but not block typical
33681 development
33682 [e694a5fbf527]
33683
33684 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
33685 coding style
33686 [209566e9acc5]
33687
33688 2013-09-04 sumalatha <sumalatha>
33689
33690 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
33691 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
33692 QP- Lambda table -x265_lambda2_tab_I , x265_lambda2_tab_non_ I : for
33693 inter and intra blocks
33694 [5f0f2466345f]
33695
33696 2013-09-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33697
33698 * source/encoder/dpb.cpp:
33699 dpb: encode structure limitations
33700
33701 Min GOP size for IP config is 4, for B frames it is 8. Keyframe
33702 interval should be a multiple of min GOP size.
33703 [a4cec6558ccc]
33704
33705 * source/Lib/TLibEncoder/TEncCfg.h,
33706 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
33707 source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
33708 TEncCfg: rename getGopSize to getGopSizeMin()
33709 [375d9f3157c1]
33710
33711 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/dpb.cpp,
33712 source/encoder/encoder.cpp:
33713 dpb: rename m_gopsize in TEncCfg.h to gopsizeMin
33714 [9c558cf50fde]
33715
33716 * source/common/common.cpp:
33717 framepp: number of frame threads always less than lookahead depth
33718 [06862133aecc]
33719
33720 2013-09-04 Steve Borho <steve@borho.org>
33721
33722 * source/Lib/TLibCommon/TypeDef.h:
33723 TypeDef: give explicit namespace to X265_DEPTH for 16bpp builds
33724 [e7cfb49dc587]
33725
33726 2013-09-03 Steve Borho <steve@borho.org>
33727
33728 * source/common/common.cpp:
33729 common: prune default search length to 60, for optimal frame
33730 parallelism
33731 [3ca96381d4f0]
33732
33733 * source/encoder/frameencoder.cpp:
33734 frameencoder: clear enabled row bitmask at the start of each frame
33735 [1e8a103ef4d5]
33736
33737 * source/common/wavefront.cpp, source/common/wavefront.h:
33738 wavefront: add a method to clear the enabled bitmask
33739 [3fd72a7b33b8]
33740
33741 * source/encoder/frameencoder.cpp:
33742 frameencoder: remove TODO comment, it was already done
33743 [e976fe0b62bd]
33744
33745 * source/Lib/TLibCommon/TComPrediction.cpp:
33746 TComPrediction: use pre-allocated temp buffer for weighted and
33747 chroma MC
33748 [6dde4a22e763]
33749
33750 * source/Lib/TLibCommon/TComDataCU.h,
33751 source/Lib/TLibCommon/TComMotionInfo.h,
33752 source/Lib/TLibCommon/TComPic.h,
33753 source/Lib/TLibCommon/TComPicYuv.cpp,
33754 source/Lib/TLibCommon/TComPicYuv.h,
33755 source/Lib/TLibCommon/TComPrediction.cpp,
33756 source/Lib/TLibCommon/TComPrediction.h,
33757 source/Lib/TLibCommon/TComSlice.h,
33758 source/Lib/TLibCommon/TComTrQuant.cpp,
33759 source/Lib/TLibCommon/TComWeightPrediction.cpp,
33760 source/Lib/TLibCommon/TComYuv.cpp,
33761 source/Lib/TLibEncoder/TEncSearch.cpp,
33762 source/Lib/TLibEncoder/TEncSearch.h,
33763 source/Lib/TLibEncoder/TEncTop.cpp,
33764 source/Lib/TLibEncoder/TEncTop.h, source/common/lowres.cpp,
33765 source/common/primitives.cpp, source/common/vec/blockcopy.inc,
33766 source/common/x86/asm-primitives.cpp, source/encoder/compress.cpp,
33767 source/encoder/dpb.cpp, source/encoder/dpb.h,
33768 source/encoder/encoder.cpp, source/encoder/frameencoder.h,
33769 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
33770 source/test/intrapredharness.h, source/test/ipfilterharness.cpp,
33771 source/test/ipfilterharness.h, source/test/mbdstharness.h,
33772 source/test/pixelharness.cpp, source/test/pixelharness.h,
33773 source/test/testharness.h, source/x265.cpp:
33774 remove redundant x265 namespace qualifiers
33775 [7f8b72995aee]
33776
33777 * source/Lib/TLibCommon/TComDataCU.cpp:
33778 tpyo
33779 [ade4ff7e2cb8]
33780
33781 * source/Lib/TLibCommon/TComDataCU.cpp,
33782 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33783 source/Lib/TLibCommon/TComSlice.cpp,
33784 source/Lib/TLibCommon/TComTrQuant.cpp,
33785 source/Lib/TLibEncoder/TEncCavlc.cpp,
33786 source/Lib/TLibEncoder/TEncEntropy.cpp,
33787 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33788 source/Lib/TLibEncoder/TEncSbac.cpp,
33789 source/Lib/TLibEncoder/TEncSearch.cpp,
33790 source/encoder/frameencoder.cpp:
33791 use X265_MIN/X265_MAX to avoid GCC warnings
33792 [a68aded38e69]
33793
33794 * source/Lib/TLibEncoder/TEncAnalyze.h,
33795 source/Lib/TLibEncoder/TEncCu.cpp,
33796 source/Lib/TLibEncoder/TEncTop.cpp:
33797 TEncAnalyze: cleanup hungarian notation and other issues
33798 [6044f5d13785]
33799
33800 * COPYING:
33801 COPYING: add a mention to our available commercial license
33802 [2fa5d1060ded]
33803
33804 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
33805 source/Lib/TLibCommon/TComDataCU.cpp,
33806 source/Lib/TLibCommon/TComDataCU.h,
33807 source/Lib/TLibCommon/TComLoopFilter.cpp,
33808 source/Lib/TLibCommon/TComLoopFilter.h,
33809 source/Lib/TLibCommon/TComPattern.cpp,
33810 source/Lib/TLibCommon/TComPattern.h,
33811 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
33812 source/Lib/TLibCommon/TComPicYuv.cpp,
33813 source/Lib/TLibCommon/TComPicYuv.h,
33814 source/Lib/TLibCommon/TComPrediction.cpp,
33815 source/Lib/TLibCommon/TComPrediction.h,
33816 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
33817 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33818 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
33819 source/Lib/TLibCommon/TComSlice.cpp,
33820 source/Lib/TLibCommon/TComSlice.h,
33821 source/Lib/TLibCommon/TComTrQuant.cpp,
33822 source/Lib/TLibCommon/TComTrQuant.h,
33823 source/Lib/TLibCommon/TComWeightPrediction.cpp,
33824 source/Lib/TLibCommon/TComWeightPrediction.h,
33825 source/Lib/TLibCommon/TypeDef.h,
33826 source/Lib/TLibEncoder/SEIwrite.cpp,
33827 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
33828 source/Lib/TLibEncoder/TEncCavlc.cpp,
33829 source/Lib/TLibEncoder/TEncCavlc.h,
33830 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
33831 source/Lib/TLibEncoder/TEncCu.h,
33832 source/Lib/TLibEncoder/TEncEntropy.cpp,
33833 source/Lib/TLibEncoder/TEncEntropy.h,
33834 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33835 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33836 source/Lib/TLibEncoder/TEncSbac.cpp,
33837 source/Lib/TLibEncoder/TEncSbac.h,
33838 source/Lib/TLibEncoder/TEncSearch.cpp,
33839 source/Lib/TLibEncoder/TEncSearch.h,
33840 source/Lib/TLibEncoder/TEncTop.cpp,
33841 source/Lib/TLibEncoder/TEncTop.h,
33842 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
33843 source/Lib/TLibEncoder/WeightPredAnalysis.h,
33844 source/encoder/compress.cpp, source/encoder/dpb.cpp,
33845 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
33846 source/encoder/framefilter.cpp, source/test/intrapredharness.cpp:
33847 reorg: replace HM's Bool typedef globally with C++ bool
33848 [4cbd0c51baa9]
33849
33850 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33851 source/Lib/TLibCommon/TypeDef.h:
33852 reorg: replace HM's Float typedef globally with C float
33853 [2feaea24b9ff]
33854
33855 * source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
33856 source/Lib/TLibCommon/TComRdCost.h,
33857 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
33858 source/Lib/TLibCommon/TComSlice.h,
33859 source/Lib/TLibCommon/TComTrQuant.cpp,
33860 source/Lib/TLibCommon/TComTrQuant.h,
33861 source/Lib/TLibCommon/TypeDef.h,
33862 source/Lib/TLibEncoder/TEncAnalyze.h,
33863 source/Lib/TLibEncoder/TEncCfg.h,
33864 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33865 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33866 source/Lib/TLibEncoder/TEncSearch.cpp,
33867 source/Lib/TLibEncoder/TEncSearch.h,
33868 source/Lib/TLibEncoder/TEncTop.cpp,
33869 source/Lib/TLibEncoder/TEncTop.h,
33870 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
33871 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
33872 reorg: replace HM's Double typedef globally with C double
33873 [84e4e7bd4ba8]
33874
33875 * source/Lib/TLibCommon/ContextModel.cpp,
33876 source/Lib/TLibCommon/ContextModel.h,
33877 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
33878 source/Lib/TLibCommon/ContextModel3DBuffer.h,
33879 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
33880 source/Lib/TLibCommon/TComBitStream.cpp,
33881 source/Lib/TLibCommon/TComBitStream.h,
33882 source/Lib/TLibCommon/TComDataCU.cpp,
33883 source/Lib/TLibCommon/TComDataCU.h,
33884 source/Lib/TLibCommon/TComLoopFilter.cpp,
33885 source/Lib/TLibCommon/TComLoopFilter.h,
33886 source/Lib/TLibCommon/TComMotionInfo.cpp,
33887 source/Lib/TLibCommon/TComMotionInfo.h,
33888 source/Lib/TLibCommon/TComPattern.cpp,
33889 source/Lib/TLibCommon/TComPattern.h,
33890 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
33891 source/Lib/TLibCommon/TComPicSym.cpp,
33892 source/Lib/TLibCommon/TComPicSym.h,
33893 source/Lib/TLibCommon/TComPicYuv.cpp,
33894 source/Lib/TLibCommon/TComPicYuv.h,
33895 source/Lib/TLibCommon/TComPrediction.cpp,
33896 source/Lib/TLibCommon/TComPrediction.h,
33897 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
33898 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33899 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
33900 source/Lib/TLibCommon/TComSlice.cpp,
33901 source/Lib/TLibCommon/TComSlice.h,
33902 source/Lib/TLibCommon/TComTrQuant.cpp,
33903 source/Lib/TLibCommon/TComTrQuant.h,
33904 source/Lib/TLibCommon/TComWeightPrediction.cpp,
33905 source/Lib/TLibCommon/TComWeightPrediction.h,
33906 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
33907 source/Lib/TLibCommon/TypeDef.h,
33908 source/Lib/TLibEncoder/SEIwrite.cpp,
33909 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
33910 source/Lib/TLibEncoder/SyntaxElementWriter.h,
33911 source/Lib/TLibEncoder/TEncBinCoder.h,
33912 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
33913 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
33914 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
33915 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
33916 source/Lib/TLibEncoder/TEncCavlc.cpp,
33917 source/Lib/TLibEncoder/TEncCavlc.h,
33918 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
33919 source/Lib/TLibEncoder/TEncCu.h,
33920 source/Lib/TLibEncoder/TEncEntropy.cpp,
33921 source/Lib/TLibEncoder/TEncEntropy.h,
33922 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33923 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33924 source/Lib/TLibEncoder/TEncSbac.cpp,
33925 source/Lib/TLibEncoder/TEncSbac.h,
33926 source/Lib/TLibEncoder/TEncSearch.cpp,
33927 source/Lib/TLibEncoder/TEncSearch.h,
33928 source/Lib/TLibEncoder/TEncTop.cpp,
33929 source/Lib/TLibEncoder/TEncTop.h,
33930 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
33931 source/Lib/TLibEncoder/WeightPredAnalysis.h,
33932 source/common/TShortYUV.h, source/common/dct.cpp,
33933 source/common/ipfilter.cpp, source/common/lowres.cpp,
33934 source/common/vec/dct.inc, source/encoder/compress.cpp,
33935 source/encoder/cturow.cpp, source/encoder/dpb.cpp,
33936 source/encoder/dpb.h, source/encoder/encoder.cpp,
33937 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
33938 source/encoder/slicetype.cpp:
33939 reorg: replace HM's Int typedef globally with C int
33940 [236d8e715ef2]
33941
33942 * source/Lib/TLibCommon/ContextModel.h,
33943 source/Lib/TLibCommon/TComLoopFilter.cpp,
33944 source/Lib/TLibCommon/TComPrediction.cpp,
33945 source/Lib/TLibCommon/TComPrediction.h,
33946 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
33947 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33948 source/Lib/TLibCommon/TComTrQuant.cpp,
33949 source/Lib/TLibCommon/TComTrQuant.h,
33950 source/Lib/TLibCommon/TComWeightPrediction.cpp,
33951 source/Lib/TLibCommon/TComYuv.cpp,
33952 source/Lib/TLibEncoder/TEncSearch.cpp,
33953 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
33954 source/common/dct.cpp, source/common/vec/dct.inc,
33955 source/encoder/slicetype.cpp:
33956 reorg: replace HM's Short typedef globally with C short
33957 [e44a6950d22a]
33958
33959 * source/Lib/TLibCommon/TComBitStream.cpp,
33960 source/Lib/TLibCommon/TComBitStream.h,
33961 source/Lib/TLibCommon/TComDataCU.cpp,
33962 source/Lib/TLibCommon/TComDataCU.h,
33963 source/Lib/TLibCommon/TComMotionInfo.cpp,
33964 source/Lib/TLibCommon/TComMotionInfo.h,
33965 source/Lib/TLibCommon/TComPicYuv.cpp,
33966 source/Lib/TLibCommon/TComPicYuv.h,
33967 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
33968 source/Lib/TLibCommon/TComSlice.cpp,
33969 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
33970 source/Lib/TLibEncoder/NALwrite.cpp,
33971 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
33972 source/Lib/TLibEncoder/SyntaxElementWriter.h,
33973 source/Lib/TLibEncoder/TEncAnalyze.h,
33974 source/Lib/TLibEncoder/TEncCavlc.cpp,
33975 source/Lib/TLibEncoder/TEncCavlc.h,
33976 source/Lib/TLibEncoder/TEncCfg.h,
33977 source/Lib/TLibEncoder/TEncEntropy.h,
33978 source/Lib/TLibEncoder/TEncSbac.h,
33979 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
33980 reorg: replace HM's Char typedef globally with C char
33981 [37b99feefbfd]
33982
33983 * source/Lib/TLibCommon/ContextModel.cpp,
33984 source/Lib/TLibCommon/ContextModel.h,
33985 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
33986 source/Lib/TLibCommon/ContextModel3DBuffer.h,
33987 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
33988 source/Lib/TLibCommon/TComBitCounter.h,
33989 source/Lib/TLibCommon/TComBitStream.cpp,
33990 source/Lib/TLibCommon/TComBitStream.h,
33991 source/Lib/TLibCommon/TComDataCU.cpp,
33992 source/Lib/TLibCommon/TComDataCU.h,
33993 source/Lib/TLibCommon/TComList.h,
33994 source/Lib/TLibCommon/TComLoopFilter.cpp,
33995 source/Lib/TLibCommon/TComLoopFilter.h,
33996 source/Lib/TLibCommon/TComMotionInfo.cpp,
33997 source/Lib/TLibCommon/TComMotionInfo.h,
33998 source/Lib/TLibCommon/TComPattern.cpp,
33999 source/Lib/TLibCommon/TComPattern.h,
34000 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
34001 source/Lib/TLibCommon/TComPicSym.cpp,
34002 source/Lib/TLibCommon/TComPicSym.h,
34003 source/Lib/TLibCommon/TComPicYuv.cpp,
34004 source/Lib/TLibCommon/TComPicYuv.h,
34005 source/Lib/TLibCommon/TComPrediction.cpp,
34006 source/Lib/TLibCommon/TComPrediction.h,
34007 source/Lib/TLibCommon/TComRdCost.h,
34008 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
34009 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
34010 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
34011 source/Lib/TLibCommon/TComSlice.cpp,
34012 source/Lib/TLibCommon/TComSlice.h,
34013 source/Lib/TLibCommon/TComTrQuant.cpp,
34014 source/Lib/TLibCommon/TComTrQuant.h,
34015 source/Lib/TLibCommon/TComWeightPrediction.cpp,
34016 source/Lib/TLibCommon/TComWeightPrediction.h,
34017 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
34018 source/Lib/TLibCommon/TypeDef.h,
34019 source/Lib/TLibEncoder/NALwrite.cpp,
34020 source/Lib/TLibEncoder/SEIwrite.cpp,
34021 source/Lib/TLibEncoder/SEIwrite.h,
34022 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
34023 source/Lib/TLibEncoder/SyntaxElementWriter.h,
34024 source/Lib/TLibEncoder/TEncAnalyze.h,
34025 source/Lib/TLibEncoder/TEncBinCoder.h,
34026 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
34027 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
34028 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
34029 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
34030 source/Lib/TLibEncoder/TEncCavlc.cpp,
34031 source/Lib/TLibEncoder/TEncCavlc.h,
34032 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
34033 source/Lib/TLibEncoder/TEncCu.h,
34034 source/Lib/TLibEncoder/TEncEntropy.cpp,
34035 source/Lib/TLibEncoder/TEncEntropy.h,
34036 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
34037 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
34038 source/Lib/TLibEncoder/TEncSbac.cpp,
34039 source/Lib/TLibEncoder/TEncSbac.h,
34040 source/Lib/TLibEncoder/TEncSearch.cpp,
34041 source/Lib/TLibEncoder/TEncSearch.h,
34042 source/Lib/TLibEncoder/TEncTop.cpp,
34043 source/Lib/TLibEncoder/TEncTop.h,
34044 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
34045 source/Lib/TLibEncoder/WeightPredAnalysis.h,
34046 source/common/TShortYUV.cpp, source/encoder/compress.cpp,
34047 source/encoder/dpb.cpp, source/encoder/dpb.h,
34048 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34049 reorg: replace HM's Void typedef globally with C void
34050 [1a9780eb8bea]
34051
34052 * source/Lib/TLibCommon/TComCABACTables.cpp,
34053 source/Lib/TLibCommon/TComCABACTables.h,
34054 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
34055 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
34056 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
34057 merge statically defined CABAC constant tables into TComRom
34058 [25c5139fe205]
34059
34060 * source/Lib/TLibEncoder/AnnexBwrite.h:
34061 remove unused AnnexBwrite.h
34062 [a867152e7071]
34063
34064 * source/Lib/TLibCommon/AccessUnit.h,
34065 source/Lib/TLibCommon/ContextModel.cpp,
34066 source/Lib/TLibCommon/ContextModel.h,
34067 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
34068 source/Lib/TLibCommon/ContextModel3DBuffer.h,
34069 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
34070 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
34071 source/Lib/TLibCommon/TComBitCounter.h,
34072 source/Lib/TLibCommon/TComBitStream.cpp,
34073 source/Lib/TLibCommon/TComBitStream.h,
34074 source/Lib/TLibCommon/TComCABACTables.cpp,
34075 source/Lib/TLibCommon/TComCABACTables.h,
34076 source/Lib/TLibCommon/TComDataCU.cpp,
34077 source/Lib/TLibCommon/TComDataCU.h,
34078 source/Lib/TLibCommon/TComList.h,
34079 source/Lib/TLibCommon/TComLoopFilter.h,
34080 source/Lib/TLibCommon/TComMotionInfo.h,
34081 source/Lib/TLibCommon/TComPattern.cpp,
34082 source/Lib/TLibCommon/TComPattern.h,
34083 source/Lib/TLibCommon/TComPic.h,
34084 source/Lib/TLibCommon/TComPicSym.cpp,
34085 source/Lib/TLibCommon/TComPicSym.h,
34086 source/Lib/TLibCommon/TComPicYuv.h,
34087 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
34088 source/Lib/TLibCommon/TComPrediction.cpp,
34089 source/Lib/TLibCommon/TComPrediction.h,
34090 source/Lib/TLibCommon/TComRdCost.h,
34091 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
34092 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
34093 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
34094 source/Lib/TLibCommon/TComSlice.cpp,
34095 source/Lib/TLibCommon/TComSlice.h,
34096 source/Lib/TLibCommon/TComTrQuant.cpp,
34097 source/Lib/TLibCommon/TComTrQuant.h,
34098 source/Lib/TLibCommon/TComWeightPrediction.cpp,
34099 source/Lib/TLibCommon/TComWeightPrediction.h,
34100 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
34101 source/Lib/TLibCommon/TypeDef.h,
34102 source/Lib/TLibEncoder/NALwrite.cpp,
34103 source/Lib/TLibEncoder/NALwrite.h,
34104 source/Lib/TLibEncoder/SEIwrite.cpp,
34105 source/Lib/TLibEncoder/SEIwrite.h,
34106 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
34107 source/Lib/TLibEncoder/SyntaxElementWriter.h,
34108 source/Lib/TLibEncoder/TEncAnalyze.h,
34109 source/Lib/TLibEncoder/TEncBinCoder.h,
34110 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
34111 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
34112 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
34113 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
34114 source/Lib/TLibEncoder/TEncCavlc.cpp,
34115 source/Lib/TLibEncoder/TEncCavlc.h,
34116 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
34117 source/Lib/TLibEncoder/TEncEntropy.cpp,
34118 source/Lib/TLibEncoder/TEncEntropy.h,
34119 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
34120 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
34121 source/Lib/TLibEncoder/TEncSbac.cpp,
34122 source/Lib/TLibEncoder/TEncSbac.h,
34123 source/Lib/TLibEncoder/TEncSearch.h,
34124 source/Lib/TLibEncoder/TEncTop.h,
34125 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
34126 source/Lib/TLibEncoder/WeightPredAnalysis.h,
34127 source/common/TShortYUV.cpp, source/common/TShortYUV.h,
34128 source/common/common.cpp, source/common/dct.cpp,
34129 source/common/intrapred.cpp, source/common/ipfilter.cpp,
34130 source/common/lowres.h, source/common/pixel.cpp,
34131 source/common/primitives.cpp, source/common/reference.h,
34132 source/common/vec/dct.inc, source/common/vec/intrapred.inc,
34133 source/common/vec/ipfilter8.inc, source/encoder/cturow.h,
34134 source/encoder/dpb.h, source/encoder/frameencoder.h,
34135 source/encoder/framefilter.h, source/encoder/ratecontrol.h,
34136 source/encoder/slicetype.h:
34137 reorg: move HM classes and functions under x265 namespace
34138
34139 This makes it possible to link x265 and HM into a single application
34140 [aa94afeb8368]
34141
34142 2013-09-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
34143
34144 * source/common/ipfilter.cpp:
34145 ipfilter : extendCURowColBorder() performance tuning
34146 [30daf6927e11]
34147
34148 2013-09-03 praveen Tiwari <praveen Tiwari>
34149
34150 * source/common/vec/pixel8.inc:
34151 pixel8.inc: VC9 fix for SAD_4, 'pextrd' replaced with 'movd'
34152 [15c21c4da368]
34153
34154 2013-09-03 Steve Borho <steve@borho.org>
34155
34156 * source/common/common.cpp:
34157 common: log nit
34158 [b27576343f8c]
34159
34160 * source/common/common.cpp, source/common/wavefront.cpp,
34161 source/encoder/dpb.h, source/encoder/frameencoder.cpp,
34162 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
34163 source/encoder/framefilter.h, source/encoder/slicetype.h:
34164 uncrustify
34165 [71ee73499db4]
34166
34167 * source/common/vec/pixel8.inc:
34168 pixel8: sad_x4_16 improvements
34169 [2a2c74c9eb02]
34170
34171 * source/common/vec/pixel8.inc:
34172 pixel8: sad_x4_4 improvements
34173 [7caa93beb17f]
34174
34175 * source/common/vec/pixel8.inc:
34176 pixel8: sad_x3_16 improvements
34177 [9e5372fe1f6c]
34178
34179 * source/common/vec/pixel8.inc:
34180 pixel8: sad_x3_8 improvements
34181 [92256af4cf8b]
34182
34183 * source/common/vec/pixel8.inc:
34184 pixel8: sad_x3_4 improvements
34185 [ae93ad833228]
34186
34187 * source/encoder/frameencoder.cpp:
34188 frameencoder: fix initialization order
34189 [d62d57018d3d]
34190
34191 * source/encoder/slicetype.cpp:
34192 slicetype: fix unsigned/signed comparison
34193 [8e4e2f0c10a9]
34194
34195 * source/common/lowres.h, source/encoder/slicetype.h:
34196 lowres: move slice type defines into common/
34197
34198 headers in common/ should not include encoder/ headers
34199 [07599fd4a497]
34200
34201 2013-09-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34202
34203 * source/common/common.cpp:
34204 framepp: Changing output message
34205 [9a2eaa27b174]
34206
34207 2013-09-03 Min Chen <chenm003@163.com>
34208
34209 * source/Lib/TLibCommon/TComDataCU.cpp,
34210 source/Lib/TLibCommon/TComDataCU.h,
34211 source/Lib/TLibCommon/TComPicYuv.cpp,
34212 source/Lib/TLibCommon/TComPicYuv.h,
34213 source/Lib/TLibEncoder/TEncCu.cpp,
34214 source/Lib/TLibEncoder/TEncSearch.cpp,
34215 source/Lib/TLibEncoder/TEncSearch.h,
34216 source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
34217 source/common/ipfilter.cpp, source/common/primitives.h,
34218 source/common/wavefront.cpp, source/common/wavefront.h,
34219 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
34220 source/encoder/frameencoder.h, source/encoder/framefilter.cpp:
34221 framepp: Active frame parallelism
34222 [bc1887f2bbc4]
34223
34224 2013-09-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
34225
34226 * source/encoder/slicetype.cpp:
34227 Used slicetypeAnalyse() in slicetypeDecide()
34228
34229 # HG changeset patch # User Shazeb Nawaz Khan
34230 <shazeb@multicorewareinc.com> # Date 1378118764 -19800 # Mon Sep 02
34231 16:16:04 2013 +0530 # Node ID
34232 e4a57ae74dd96ceb31815a44098b81872e494fff # Parent
34233 e2d93166e034040d61c897264e1dfe7aeeb3d661 Used slicetypeAnalyse() in
34234 slicetypeDecide()
34235 [2f9fcf768918]
34236
34237 * source/encoder/slicetype.cpp:
34238 Fixed slicetypeAnalyse() for no-B config
34239
34240 # HG changeset patch # User Shazeb Nawaz Khan
34241 <shazeb@multicorewareinc.com> # Date 1378118617 -19800 # Mon Sep 02
34242 16:13:37 2013 +0530 # Node ID
34243 e2d93166e034040d61c897264e1dfe7aeeb3d661 # Parent
34244 3ea029900ab3ee58ed6b16c5c5a0a89975ba8c03 Fixed slicetypeAnalyse()
34245 for no-B config
34246 [e4142126e8ac]
34247
34248 2013-09-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
34249
34250 * source/common/ipfilter.cpp, source/common/primitives.h,
34251 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
34252 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
34253 ipfilter : Removed unused filterHorizontalExtendCol from testbench
34254 and primitive
34255 [e3e4e2c33331]
34256
34257 2013-09-02 praveen Tiwari <praveen Tiwari>
34258
34259 * source/common/vec/pixel8.inc:
34260 pixel8.inc: Optimization with sad_x4 4xn
34261 [3ea029900ab3]
34262
34263 2013-09-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34264
34265 * source/common/common.cpp:
34266 slicetype: keyframe min and max values inported from x264
34267 [10ec000a0902]
34268
34269 * source/common/common.cpp:
34270 slicetype: default value for scenecutThreshold pulled in from x264
34271 [e347a519e060]
34272
34273 * source/common/lowres.cpp, source/common/lowres.h,
34274 source/encoder/slicetype.cpp:
34275 slicetype: Double defined macros replaced.
34276
34277 Todo: investigate whether its safe to replace the table with just I,
34278 P, B (2,1,0) according to Table 7-7
34279 [d3a13581ef98]
34280
34281 2013-09-01 Steve Borho <steve@borho.org>
34282
34283 * source/Lib/TLibCommon/TComPrediction.cpp,
34284 source/Lib/TLibCommon/TComPrediction.h:
34285 TComPrediction: pre-allocate intermediates temp buffer
34286 [5c27dd5f8542]
34287
34288 * source/Lib/TLibCommon/TComPrediction.cpp:
34289 TComPrediction: simplify xPredInterLumaBlk
34290 [98ea1b8fcfea]
34291
34292 * source/encoder/motion.cpp:
34293 motion: split mvcost from subpelCompare
34294 [6948b2b8d1fd]
34295
34296 * source/encoder/motion.cpp:
34297 replace 64s with MAX_CU_SIZE
34298 [7ce07886514a]
34299
34300 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake,
34301 source/common/vec/CMakeLists.txt, source/common/vec/vec-
34302 primitives.cpp:
34303 cmake: detect and handle Mac OS X 10.8 default compiler
34304
34305 It can't build any of the vector primitives, but at least now it
34306 generates a working x265 exectuable
34307 [6410d56ae417]
34308
34309 2013-07-25 Vittorio Giovara <vittorio.giovara@gmail.com>
34310
34311 * source/x265.cpp, source/x265opts.h:
34312 replace --width and --height with --input-res
34313 [d41fadfab6de]
34314
34315 * source/x265opts.h:
34316 change 'rate' option to 'fps'
34317 [20a4642c6f5b]
34318
34319 2013-09-01 Steve Borho <steve@borho.org>
34320
34321 * source/encoder/motion.cpp:
34322 motion: lowres qpel
34323 [61b2b54bf21b]
34324
34325 * source/encoder/motion.cpp:
34326 motion: simplify subpel logic
34327 [dab5d5e5e69c]
34328
34329 * source/encoder/motion.cpp, source/encoder/motion.h:
34330 motion: use lowresPlane for lowres subpel, make pixelcmp_t an
34331 argument
34332 [33900a0ca821]
34333
34334 * source/Lib/TLibCommon/TComPicYuv.cpp,
34335 source/Lib/TLibCommon/TComPicYuv.h, source/common/lowres.cpp,
34336 source/common/reference.cpp, source/common/reference.h,
34337 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
34338 source/encoder/slicetype.cpp:
34339 reference: remove lumaPlane[][] and prior calculation
34340 [90af58daa658]
34341
34342 * source/common/reference.cpp, source/common/reference.h,
34343 source/encoder/motion.cpp, source/encoder/motion.h:
34344 motion: cleanup subpel on-demand generation
34345 [546d00cfe1fd]
34346
34347 * source/encoder/motion.cpp:
34348 motion: fix include slash
34349 [c937dc7f6d8e]
34350
34351 * source/common/ipfilter.cpp, source/common/pixel.cpp,
34352 source/common/primitives.h, source/common/vec/ipfilter16.inc,
34353 source/common/vec/ipfilter8.inc, source/common/vec/pixel8.inc:
34354 primitives: use intptr_t for stride arguments
34355 [a2ff0d818bdf]
34356
34357 2013-09-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34358
34359 * source/Lib/TLibCommon/TComRdCost.cpp,
34360 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
34361 source/Lib/TLibCommon/TComRdCostWeightPrediction.h:
34362 Merge
34363 [c31b254a4bfc]
34364
34365 * source/Lib/TLibCommon/TComPicYuv.cpp:
34366 reference: no pre-generating reference planes
34367 [35a513f3263b]
34368
34369 * source/encoder/motion.cpp:
34370 motion: replace intermediate values with a tmp buffer.
34371 [0106d1f8d2a2]
34372
34373 * source/encoder/motion.cpp:
34374 motion: COST_QMV redefined
34375 [95d92294576d]
34376
34377 * source/common/reference.cpp, source/common/reference.h,
34378 source/encoder/motion.cpp:
34379 motion: correct strides in subpel buffer and intermediate values
34380 buffer
34381 [2cc40cfee287]
34382
34383 2013-08-31 Gopu Govindaswamy <gopu@multicorewareinc.com>
34384
34385 * source/common/reference.cpp, source/common/reference.h,
34386 source/encoder/motion.cpp, source/encoder/motion.h:
34387 Motion :subpel Generation
34388 [1032a9893607]
34389
34390 2013-08-31 Steve Borho <steve@borho.org>
34391
34392 * source/Lib/TLibCommon/TComSlice.cpp:
34393 TComSlice: fix init order for GCC
34394 [0e0a822fd344]
34395
34396 * source/Lib/TLibCommon/TComRdCost.h:
34397 TComRdCost: add missing include of math.h (sqrt)
34398 [86e371cdb75e]
34399
34400 * source/CMakeLists.txt, source/cmake/mergestaticlibs.cmake,
34401 source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
34402 cmake: add ENABLE_STATICLIB build option (requires some black magic)
34403 [02846fb1a082]
34404
34405 * source/Lib/TLibCommon/TComRdCost.h:
34406 TComRdCost: remove unused includes
34407 [33efbdbb527c]
34408
34409 * source/Lib/TLibEncoder/TEncSearch.cpp:
34410 TEncSearch: remove buffer copy for full-pel SATD measurement
34411 [043b414d4317]
34412
34413 * source/Lib/TLibCommon/TComRdCost.cpp,
34414 source/Lib/TLibCommon/TComRdCost.h,
34415 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
34416 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
34417 source/Lib/TLibEncoder/TEncSearch.cpp,
34418 source/Lib/TLibEncoder/TEncSearch.h:
34419 TComRdCost: remove distortion functions and
34420 TComRdCostWeightPrediction
34421
34422 TComRdCost is now just a pure-inline class with no CPP
34423 [48e8b5c0fd9b]
34424
34425 2013-08-30 Steve Borho <steve@borho.org>
34426
34427 * source/x265opts.h:
34428 x265: disable weighted unipred CLI option
34429
34430 The recent changes to TComPrediction::xPredInterLumaBlk() to
34431 generate subpel on demand almost certainly busted weighted
34432 prediction.
34433 [326e3757c130]
34434
34435 * source/x265opts.h:
34436 x265: disable weighted bipred CLI option
34437 [dd2e8492b873]
34438
34439 * source/Lib/TLibEncoder/TEncSearch.cpp:
34440 TEncSearch: simplify refPic initialization
34441 [9d8b579bf811]
34442
34443 * source/Lib/TLibEncoder/TEncSearch.cpp,
34444 source/Lib/TLibEncoder/TEncSearch.h:
34445 TEncSearch: use optimized satd primitives for bidir fractional
34446 search
34447 [aa7343de0a87]
34448
34449 * source/Lib/TLibEncoder/TEncSearch.cpp:
34450 TEncSearch: fix a typo
34451 [7866a8b3d925]
34452
34453 * source/Lib/TLibEncoder/TEncSearch.cpp,
34454 source/Lib/TLibEncoder/TEncSearch.h:
34455 TEncSearch: remove m_bc and inline xPatternSearchFracDIF
34456 [5444249106a9]
34457
34458 * source/Lib/TLibCommon/TComRdCost.cpp,
34459 source/Lib/TLibCommon/TComRdCost.h,
34460 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
34461 source/Lib/TLibEncoder/TEncSearch.cpp:
34462 TComRdCost: remove step parameter, always 1, merge setDistParam
34463 methods
34464 [814c5a4538cf]
34465
34466 * source/Lib/TLibCommon/TComPicYuv.h,
34467 source/Lib/TLibEncoder/TEncSearch.cpp,
34468 source/Lib/TLibEncoder/TEncSearch.h:
34469 TComPicYuv: remove getLumaFilterBlock() methods, generate on demand
34470 in subpel
34471
34472 TEncSearch::xPatternRefinement() is only used for bidir refinement,
34473 and is on the short-list to be removed once bidir is optimized.
34474 [29d2a7ce4c68]
34475
34476 * source/Lib/TLibEncoder/TEncSearch.cpp:
34477 TEncSearch: replace getLumaFilterBlock() use with fpel getLumaAddr()
34478
34479 This returned address is stored in m_distParam but it never actually
34480 used. The fref is overwritten before any calls to SATD
34481 [f36e35862749]
34482
34483 * source/encoder/slicetype.cpp:
34484 slicetype: hard-code 8x8 CU size for intra predictions output buffer
34485 [94d8f58137bc]
34486
34487 2013-08-30 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
34488
34489 * source/Lib/TLibCommon/TComSlice.cpp:
34490 Fix decoder crash, Initialize m_numberOfReferencePictureSets to 0
34491 [6798c3d229ac]
34492
34493 2013-08-30 Steve Borho <steve@borho.org>
34494
34495 * source/Lib/TLibCommon/TComRom.cpp:
34496 TComRom: tabs to spaces
34497 [242c4c511c4f]
34498
34499 2013-08-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34500
34501 * source/encoder/ratecontrol.cpp:
34502 ratecontrol: Slightly lower I frame qp to prevent quality drop.
34503 [090de727cc5b]
34504
34505 * source/Lib/TLibEncoder/TEncTop.cpp:
34506 ratecontrol: minor edits
34507 [ac1f425f844f]
34508
34509 * source/Lib/TLibEncoder/TEncTop.cpp:
34510 ratecontrol: fix compile error.
34511 [06c30405d308]
34512
34513 2013-08-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
34514
34515 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
34516 source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
34517 source/encoder/ratecontrol.cpp:
34518 modified x265_lambda2_tab[] , adjusted some rc factors, modifed
34519 chroma weight for chromaLambda
34520 [fbf6fedd9818]
34521
34522 2013-08-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34523
34524 * source/Lib/TLibCommon/TComPrediction.cpp:
34525 interpolate: fix hash error bug introduced by block-ip filter.
34526 [87bb45fa2ff3]
34527
34528 2013-08-30 Min Chen <chenm003@163.com>
34529
34530 * source/common/ipfilter.cpp, source/common/reference.cpp:
34531 interpolate: fix bug that generate error interpolate pixel in border
34532 area
34533 [291cbb41ab47]
34534
34535 2013-08-29 Steve Borho <steve@borho.org>
34536
34537 * source/Lib/TLibCommon/TComPrediction.cpp:
34538 TComPrediction: cleanup xPredInterLumaBlk
34539 [8b78d8cff9d8]
34540
34541 * source/Lib/TLibCommon/TComPrediction.cpp:
34542 TComPrediction: rename file static variable
34543 [cbf84884c34a]
34544
34545 2013-08-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
34546
34547 * source/Lib/TLibCommon/TComPrediction.cpp, source/common/reference.h:
34548 TcomPridiction : IP calculation for a Block and modified the src
34549 buffer
34550 [341049cdcc5c]
34551
34552 2013-08-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34553
34554 * source/common/lowres.cpp:
34555 lookahead: Initialise I frame MBs to zero. This parameter gets
34556 incremented in CUcost.
34557 [4a5fd8756d8c]
34558
34559 2013-08-29 Steve Borho <steve@borho.org>
34560
34561 * source/encoder/slicetype.cpp:
34562 slicetype: fix eoln
34563 [77d92ca1d183]
34564
34565 * source/encoder/slicetype.cpp:
34566 slicetype: do not allow edge CUs to contribute to frame cost totals
34567
34568 (x264 does this, it seems to result in better cost estimates
34569 overall)
34570 [0632a39dd630]
34571
34572 * source/encoder/slicetype.cpp:
34573 slicetype: use satd for lowres intra estimate
34574 [700603cdeb55]
34575
34576 2013-08-28 Steve Borho <steve@borho.org>
34577
34578 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
34579 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
34580 source/encoder/frameencoder.h, source/encoder/framefilter.cpp:
34581 add partial framework for frame parallelism
34582 [1ce2c5c87b19]
34583
34584 * source/Lib/TLibEncoder/TEncSearch.cpp:
34585 TEncSearch: use optimized sad_x4 for bidir full search
34586 [b7c3aa334fda]
34587
34588 * source/encoder/motion.cpp:
34589 motion: fix a typo in full-search
34590 [12addd543c0c]
34591
34592 * source/Lib/TLibEncoder/TEncSearch.cpp:
34593 TEncSearch: use optimized sad for bidir full search
34594 [e06f1b5c456d]
34595
34596 * source/common/CMakeLists.txt:
34597 cmake: disable signed/unsigned comparisons from Intel C++ in common/
34598 [a60d5991e6aa]
34599
34600 * source/common/vec/CMakeLists.txt:
34601 cmake: disable some Intel warnings and errors we know are safe
34602 [0a88b5cee672]
34603
34604 * source/common/threadpool.cpp:
34605 threadpool: fix a warning from InteL C++ compiler
34606 [eba7f716c515]
34607
34608 * build/icl/build-all.bat, build/icl/make-makefile.bat, build/icl32
34609 /build-all.bat, build/icl32/make-makefile.bat, build/icl64/build-
34610 all.bat, build/icl64/make-makefile.bat:
34611 cmake: split out 32bit and 64bit ICL nmake configurations
34612 [5fded61de5e8]
34613
34614 2013-08-28 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
34615
34616 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
34617 source/encoder/dpb.h:
34618 Remove unused code related to dpb and rps
34619 [cb3521c28879]
34620
34621 * source/encoder/dpb.cpp:
34622 dbp.cpp: white-space nits
34623 [eab25d12ece9]
34624
34625 * source/Lib/TLibCommon/TComSlice.cpp,
34626 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
34627 source/encoder/dpb.h:
34628 Move dpb related functions from TComSlice to DPB
34629 [762bf799dca2]
34630
34631 2013-08-28 Steve Borho <steve@borho.org>
34632
34633 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34634 ratecontrol: we have the param for frame parallelism
34635 [476f363c87f9]
34636
34637 * source/encoder/framefilter.cpp:
34638 framefilter: use explicit 0 and 1 in lieu of Windows only FALSE and
34639 TRUE
34640 [7de6d0cde087]
34641
34642 2013-08-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34643
34644 * source/encoder/framefilter.cpp:
34645 Backout: breaks VC build
34646 [bdb54195f558]
34647
34648 2013-08-28 Rafaël Carré <funman@videolan.org>
34649
34650 * source/encoder/framefilter.cpp:
34651 Use C++ true/false rather than Windows TRUE/FALSE
34652
34653 Fix build on Linux
34654 [707c41aa5a63]
34655
34656 2013-08-27 Shazeb Nawaz Khan <Shazeb Nawaz Khan>
34657
34658 * source/encoder/dpb.cpp:
34659 A minor fix to computeRPS integration
34660
34661 # HG changeset patch # User Shazeb Nawaz Khan # Date 1377595358
34662 -19800 # Tue Aug 27 14:52:38 2013 +0530 # Node ID
34663 8d26028f32cc9a2e5f09882368370689e1f317a0 # Parent
34664 bf72e539f3d8e25ff7fe1bc176ea1516c60a73d3 A minor fix to computeRPS
34665 integration
34666 [0de7523f43fc]
34667
34668 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp:
34669 Integrating computeRPS to encoder
34670
34671 # HG changeset patch # User Shazeb Nawaz Khan # Date 1377594214
34672 -19800 # Tue Aug 27 14:33:34 2013 +0530 # Node ID
34673 bf72e539f3d8e25ff7fe1bc176ea1516c60a73d3 # Parent
34674 5245113fa0d66de8933b18ca03fffde4f3fbdef0 Integrating computeRPS to
34675 encoder
34676 [527e8a0a0f9e]
34677
34678 2013-08-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34679
34680 * source/x265opts.h:
34681 ratecontrol: adding bitrate to CLI options
34682 [6ec33774f06a]
34683
34684 * source/encoder/ratecontrol.cpp:
34685 ratecontrol: adding inits
34686 [62ce96dd8080]
34687
34688 * source/encoder/ratecontrol.cpp:
34689 ratecontrol: minor edits
34690 [5c042746f711]
34691
34692 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34693 ratecontrol: fps member var renamed as framerate
34694 [159d27a7c7d3]
34695
34696 2013-08-27 Steve Borho <steve@borho.org>
34697
34698 * source/Lib/TLibEncoder/TEncTop.cpp:
34699 TEncTop: white-space nits
34700 [ea85b67907ca]
34701
34702 * source/encoder/dpb.cpp:
34703 dpb: fix "statement has no effect" warning
34704 [2cf36835f6e1]
34705
34706 * source/Lib/TLibCommon/TComSlice.cpp:
34707 TComSlice: fix initialization order
34708 [27d87f071a92]
34709
34710 2013-08-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
34711
34712 * source/Lib/TLibEncoder/TEncTop.cpp:
34713 ratecontrol: Merge
34714 [d006294891d0]
34715
34716 * source/Lib/TLibEncoder/TEncTop.cpp:
34717 ratecontrol: RateControl methods only when ABR is enabled.
34718 [a165b52487ca]
34719
34720 2013-08-27 Steve Borho <steve@borho.org>
34721
34722 * source/Lib/TLibEncoder/TEncTop.cpp,
34723 source/Lib/TLibEncoder/TEncTop.h, source/encoder/ratecontrol.cpp:
34724 ratecontrol: fix header warning, replace tabs with spaces,
34725 uncrustify
34726 [f2041d164c74]
34727
34728 2013-08-27 Deepthi <Deepthi>
34729
34730 * source/x265opts.h:
34731 ratecontrol: correcting help message, Abr=0 and constQp=1
34732 [20c6a69a2fe1]
34733
34734 * source/encoder/ratecontrol.cpp, source/x265.h, source/x265opts.h:
34735 Adding rc-mode to CLI option list
34736 [80baf6900512]
34737
34738 2013-08-27 sumalatha <sumalatha>
34739
34740 * source/Lib/TLibEncoder/TEncTop.cpp:
34741 computeLambdaForQP - using the formulae of HM directly to get the
34742 lambda values
34743 [ff4044130a96]
34744
34745 2013-08-27 Shazeb Nawaz Khan <Shazeb Nawaz Khan>
34746
34747 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
34748 source/encoder/dpb.h:
34749 Adding support for RPS generation (not integrated yet)
34750
34751 # HG changeset patch # User Shazeb Nawaz Khan # Date 1377594122
34752 -19800 # Tue Aug 27 14:32:02 2013 +0530 # Node ID
34753 5245113fa0d66de8933b18ca03fffde4f3fbdef0 # Parent
34754 273b1face64ce9e0c391713165776c773ec54774 Adding support for RPS
34755 generation (not integrated yet)
34756 [71dedcc6922b]
34757
34758 2013-08-27 sumalatha <sumalatha>
34759
34760 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
34761 source/Lib/TLibEncoder/TEncTop.cpp,
34762 source/Lib/TLibEncoder/TEncTop.h, source/encoder/ratecontrol.cpp,
34763 source/encoder/ratecontrol.h:
34764 Included the computeLambdaqp()-- reset the lambda based on new QP
34765 [abd8a7189096]
34766
34767 2013-08-27 Deepthi <Deepthi>
34768
34769 * source/encoder/frameencoder.cpp:
34770 ratecontrol: Remove dqp, not relevant until AQ is implemented. Even
34771 then, dqp is an LCU parameter.
34772 [76ee630587a9]
34773
34774 2013-08-26 Steve Borho <steve@borho.org>
34775
34776 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
34777 slicetype: rename member vars for clarity
34778 [273b1face64c]
34779
34780 * source/common/reference.cpp:
34781 reference: correctly handle frames not an even multiple of max CTU
34782 height
34783 [ee3ddeb3414d]
34784
34785 * source/common/lowres.cpp, source/common/lowres.h,
34786 source/encoder/slicetype.cpp:
34787 lowres: use 8x8 blocks for lookahead analysis
34788 [56110b3e965d]
34789
34790 * source/encoder/dpb.cpp:
34791 dpb: add default case for switch, remove trailing white-space
34792 [407d8c61698d]
34793
34794 * source/common/reference.cpp:
34795 reference: fix member variable shadowing reported by GCC
34796 [5cff93d45be5]
34797
34798 * source/common/vec/pixel8.inc:
34799 pixel: more explicit HAVE_MMX logic, fixes link errors with VC11 x64
34800 [8a6859929055]
34801
34802 2013-08-26 praveentiwari <praveentiwari>
34803
34804 * source/common/vec/pixel8.inc:
34805 pixel8.inc: Avoiding overlap of _MSC_VER macro
34806 [00873cc0099b]
34807
34808 * source/common/vec/pixel8.inc:
34809 pixel8.inc: sad_x3_4 further optimization
34810 [015f93435ac3]
34811
34812 * source/common/vec/pixel8.inc:
34813 pixel8.inc: sad_x4_8 further optimization
34814 [ff2a7b2dbfbf]
34815
34816 * source/common/vec/pixel8.inc:
34817 pixel8.inc: Further optimization
34818 [22ccca70061e]
34819
34820 * source/common/vec/pixel8.inc:
34821 pixel8.inc: sad_x3_8 further optimization
34822 [64d346fc559e]
34823
34824 * source/common/vec/pixel8.inc:
34825 pixel8.inc: sad_x3_4 further optimization
34826 [faeb85aedd4a]
34827
34828 * source/common/vec/pixel8.inc:
34829 pixel8.inc: sad_x4_16, vector replaced with intrinsic
34830 [af46df46431c]
34831
34832 * source/common/vec/pixel8.inc:
34833 pixel8.inc: sad_x4_8, vector replaced with intrinsic
34834 [1736618230bc]
34835
34836 * source/common/vec/pixel8.inc:
34837 pixel8.inc: sad_x4_4, enabled sad_x4_4 code for 32-build except VC
34838 [80577235dba0]
34839
34840 * source/common/vec/pixel8.inc:
34841 pixel8.inc: sad_x3_8 enabled MMX code for 32-bit build except vc
34842 [47cf292c6619]
34843
34844 * source/common/vec/pixel8.inc:
34845 pixel8.inc:sad_x3_4 enabled MMX code for 32-build except VC
34846 [63af120cd6cc]
34847
34848 * source/common/vec/pixel8.inc:
34849 pixel8.inc: sad_8 enabled MMX code for 32-build except VC
34850 [5c38e12afe9a]
34851
34852 * source/common/vec/pixel8.inc:
34853 pixel8.inc: sad_4 cleanup with macro
34854 [52e0b9869886]
34855
34856 * source/common/vec/pixel8.inc:
34857 pixel8.inc: Enabled MMX code for 32-bit build except VC [added macro
34858 and swap postions of sse and MMX funtions]
34859 [6b7000546c20]
34860
34861 2013-08-26 Steve Borho <steve@borho.org>
34862
34863 * source/encoder/dpb.cpp, source/encoder/dpb.h:
34864 dpb: pass free list by reference (fixes memory leaks)
34865
34866 Passing by copy was resulting in TEncTop::m_freeList never being
34867 used. recycleUnreferenced() was adding the free pictures to a list
34868 that was destroyed as soon as the function returned.
34869 [da8281ec88ac]
34870
34871 2013-08-26 Deepthi <Deepthi>
34872
34873 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
34874 Testharness: Removing filterV/HMultiplane from test harness.
34875 [a37e03a3f0b6]
34876
34877 2013-08-26 Min Chen <chenm003@163.com>
34878
34879 * source/Lib/TLibCommon/TComPicYuv.cpp,
34880 source/Lib/TLibCommon/TComPicYuv.h, source/common/ipfilter.cpp,
34881 source/common/primitives.h, source/common/reference.cpp,
34882 source/common/reference.h, source/common/vec/ipfilter.inc:
34883 framepp: row based interpolate
34884 [63e0736c1f87]
34885
34886 2013-08-26 Deepthi <Deepthi>
34887
34888 * source/encoder/dpb.cpp:
34889 DPB::prepareEncode - replace code snippet with switch case
34890 [055c97bd9b7d]
34891
34892 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp:
34893 TEncTop: Move FrameEncoder->initSlice() to TEncTop::encode
34894 [3dd7b6da60bb]
34895
34896 * source/Lib/TLibEncoder/TEncTop.cpp:
34897 TEncTop: (Redundant) setPOC to max value
34898 [2f2acd2fc7ad]
34899
34900 2013-08-25 Steve Borho <steve@borho.org>
34901
34902 * source/Lib/TLibEncoder/TEncSearch.cpp:
34903 TEncSearch: refIdx typo corrected
34904 [797c13ec5d2a]
34905
34906 * source/Lib/TLibEncoder/TEncSearch.cpp:
34907 TEncSearch: remove redundant bestIdx initialization
34908 [1f532e886a49]
34909
34910 * source/Lib/TLibEncoder/TEncSearch.cpp,
34911 source/Lib/TLibEncoder/TEncSearch.h:
34912 TEncSearch: remove bFilled argument from xEstimateMvPredAMVP (always
34913 false)
34914 [a8b4963087b5]
34915
34916 * source/Lib/TLibEncoder/TEncSearch.cpp:
34917 TEncSearch: nit
34918 [9e020c0883c6]
34919
34920 * source/common/vec/pixel8.inc:
34921 pixel: use unaligned loads for fref pixels
34922 [f05a6d740ede]
34923
34924 2013-08-25 Min Chen <chenm003@163.com>
34925
34926 * source/common/vec/ipfilter8.inc:
34927 Improvement filterHorizontalMultiplaneExtend
34928 [1ea25137e5cc]
34929
34930 2013-08-25 praveentiwari <praveentiwari>
34931
34932 * source/common/vec/pixel8.inc:
34933 pixel8.inc: Uncrustified
34934 [5d0c9e08265e]
34935
34936 * source/common/vec/pixel8.inc:
34937 pixel8.inc: sad_x4_4 optimized assingment operators
34938 [8af27ce24619]
34939
34940 * source/common/vec/pixel8.inc:
34941 pixel8.inc: sad_x3 64-bit build fail fixed
34942 [21981597572b]
34943
34944 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
34945 pixel8.inc: sad_x4_4 vector replaced with intrinsic
34946 [827cfb10feba]
34947
34948 * source/common/vec/pixel.inc:
34949 uncrustified pixel.inc
34950 [1306bdb29227]
34951
34952 * source/common/vec/pixel8.inc:
34953 pixel8.inc: new line cleanup
34954 [34db6fb0cfbc]
34955
34956 * source/common/vec/pixel8.inc:
34957 pixel8.inc: sad_x3_8 avoiding extra condition check
34958 [86a5d7ceae78]
34959
34960 * source/common/vec/pixel8.inc:
34961 pixel8.inc: sad_x3_16 cleanu some newlines
34962 [83af948acce4]
34963
34964 * source/common/vec/pixel8.inc:
34965 pixel8.inc: sad_x3_4 more optimization
34966 [43d8ec7a9193]
34967
34968 * source/common/vec/pixel8.inc:
34969 pixel8.cpp: sad_x3_16 vector replaced with intrinsic
34970 [aade693715b3]
34971
34972 * source/common/vec/pixel8.inc:
34973 pixel8.inc: sad_x3_8 integrated fast MMX 32-bit build code
34974 [22b6b2ad15c1]
34975
34976 * source/common/vec/pixel8.inc:
34977 pixel8.inc: sad_x3_4 integrated faster MMX code for 32-bit build
34978 [828ec0701097]
34979
34980 * source/common/vec/pixel8.inc:
34981 pixel8.inc: Uncrustified
34982 [8f4e4d104dc0]
34983
34984 2013-08-25 Steve Borho <steve@borho.org>
34985
34986 * source/encoder/CMakeLists.txt:
34987 cmake: force -march=i686 for framefilter.cpp
34988 [5281d5789986]
34989
34990 * source/encoder/ratecontrol.cpp:
34991 ratecontol: fix case sensitive includes
34992 [55d7edaa3e8e]
34993
34994 2013-08-23 Steve Borho <steve@borho.org>
34995
34996 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
34997 pixel: new 16xN and x3 intrinsic primitives require SSE4.1
34998 [c881d82f9d85]
34999
35000 2013-08-23 praveentiwari <praveentiwari>
35001
35002 * source/common/vec/pixel8.inc:
35003 sad[16xN]:Intrinsic
35004 [97d0506cb0db]
35005
35006 * source/common/vec/pixel8.inc:
35007 pixel8inc: sad_x3 8xN, replace vector with intrinsic
35008 [9e7e1c772ec3]
35009
35010 * source/common/vec/pixel8.inc:
35011 sad_x3_4[4Xn]:Intrinsic
35012 [5805f5a34497]
35013
35014 2013-08-23 Steve Borho <steve@borho.org>
35015
35016 * source/common/threading.h, source/common/wavefront.cpp:
35017 threading: rename CLZ64 to CTZ64 and reverse bit search for GCC
35018
35019 __builtin_ctzll(x) - Returns the number of trailing 0-bits in x,
35020 starting at the least significant bit position. If x is 0, the
35021 result is undefined
35022 [8cbc34f927b6]
35023
35024 * source/common/common.h, source/encoder/ratecontrol.cpp:
35025 common: make log2 functions safe for GCC, use multiply instead of
35026 divide
35027 [9da03fb899de]
35028
35029 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
35030 pixel: sad primitives now require SSE4.1, properly wrap #pragma
35031 [58dcf14afa79]
35032
35033 2013-08-23 Deepthi <Deepthi>
35034
35035 * source/common/vec/pixel8.inc:
35036 pixel8inc: sad 4xN, replace vector with intrinsic [Praveen]
35037 [b489dfb2e90a]
35038
35039 * source/common/vec/pixel8.inc:
35040 pixel8inc: sad 8xN, replace vector with intrinsic [Praveen]
35041 [eaf94c74774f]
35042
35043 * source/common/vec/pixel8.inc:
35044 pixel8inc: Uncrustify [Praveen]
35045 [20bbd0ad6c1b]
35046
35047 * source/common/ipfilter.cpp, source/common/primitives.h,
35048 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
35049 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
35050 FilterExtendCURow: add primitives for horizontal filtering of each
35051 row: Gopu
35052 [77b53186d568]
35053
35054 * source/encoder/ratecontrol.cpp:
35055 ratecontrol: replacing more log2 calculations with macro
35056 [c99cc112fd71]
35057
35058 * source/Lib/TLibEncoder/TEncTop.cpp,
35059 source/Lib/TLibEncoder/TEncTop.h:
35060 ratecontrol: move RCEnd back to TEncTop::encode
35061 [e187433abd5e]
35062
35063 * source/encoder/ratecontrol.cpp:
35064 Avoid conversion to float
35065 [a7fad933a6c3]
35066
35067 * source/common/common.h, source/encoder/ratecontrol.cpp:
35068 log2 define from x264
35069 [e306203049cf]
35070
35071 2013-08-23 Aarthi <aarthi@multicorewareinc.com>
35072
35073 * source/encoder/ratecontrol.cpp:
35074 fixed bugs in ABR mode - implemeted log2() instead of log() as
35075 required.
35076 [41f20253a3b8]
35077
35078 2013-08-22 Steve Borho <steve@borho.org>
35079
35080 * source/encoder/ratecontrol.cpp:
35081 ratecontrol: include all enums in switch statement, avoid GCC
35082 warning
35083 [77418bf4a67b]
35084
35085 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
35086 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
35087 sao: remove dead rdoSaoUnitAll function
35088 [763165c09029]
35089
35090 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
35091 ratecontrol: stub in partial code for CQP
35092 [4fd6bd86ff92]
35093
35094 * source/encoder/ratecontrol.cpp:
35095 ratecontrol: initialize rce to NULL, prevent invalid free
35096 [12199cf44193]
35097
35098 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
35099 sao: fix GCC warnings about autos shadowing member variables
35100 [633718701cc9]
35101
35102 2013-08-21 sumalatha <sumalatha>
35103
35104 * source/encoder/ratecontrol.cpp:
35105 ratecontrol: added comments, corrected some errors in code
35106 [1d890ba79f64]
35107
35108 * source/Lib/TLibEncoder/TEncTop.cpp:
35109 made changes to function call - rateControlEnd
35110 [1498b673e95a]
35111
35112 2013-08-22 Min Chen <chenm003 at 163.com> <chenm003 at 163.com>
35113
35114 * source/CMakeLists.txt:
35115 fix bug in WinXP mode
35116 [9f38435eee26]
35117
35118 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
35119 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
35120 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
35121 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
35122 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
35123 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
35124 framepp: Parallelism of SAO (saoLcuBasedOptimization mode only)
35125 [2b321cbfb953]
35126
35127 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
35128 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
35129 framepp: replace static class array countPreDblk and
35130 offsetOrgPreDblk
35131 [d11de19b9d26]
35132
35133 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
35134 improvement by replace lock to atom operator
35135 [0e2c2ab41bd9]
35136
35137 2013-08-20 Steve Borho <steve@borho.org>
35138
35139 * source/encoder/slicetype.cpp:
35140 slicetype: do not use backwards L1 for slicetype estimates
35141
35142 The lookahead engine can't really handle it.
35143 [6fe2b6e1fd6f]
35144
35145 * source/encoder/dpb.cpp:
35146 dpb: ensure bframe count same as m_gopSize when fixed GOP is in use
35147 [4bc719a5e735]
35148
35149 * source/encoder/slicetype.cpp:
35150 slicetype: remove redundant break statements
35151 [5b67acbe7871]
35152
35153 * source/encoder/slicetype.h:
35154 slicetype: re-order member variables by size
35155 [9994e722c6bc]
35156
35157 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
35158 source/encoder/frameencoder.cpp, source/x265.h, source/x265opts.h:
35159 x265: move qp parameter within rc struct, use QP logging line for
35160 rate control
35161 [779ac0d75231]
35162
35163 * source/common/common.cpp, source/encoder/encoder.cpp:
35164 common: combine WPP logging lines
35165 [3bc38a85503a]
35166
35167 * source/common/common.cpp:
35168 common: add a summary log line for lookahead configuration
35169 [566f30410df1]
35170
35171 * source/common/common.cpp:
35172 common: shorten "enabled coding tools" to "tools"
35173 [8cb425d6dbc4]
35174
35175 2013-08-20 Min Chen <chenm003@163.com>
35176
35177 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
35178 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
35179 source/encoder/framefilter.cpp:
35180 cleanup: remove unused function and process row once
35181 [af98ad50dd96]
35182
35183 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
35184 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
35185 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
35186 cleanup: move temporary pointer from class
35187 [b26267a38367]
35188
35189 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35190 fix bug correct row delay with '--sao-lcu-bounds 1'
35191 [52ba7c428cef]
35192
35193 * source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
35194 source/encoder/framefilter.h:
35195 cleanup: remove reduce m_sad since we are single thread now
35196 [9ba42b518d6b]
35197
35198 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
35199 source/encoder/framefilter.h:
35200 framepp: simplify FrameFilter control logic
35201 [d3d6119d5662]
35202
35203 * source/common/threading.h, source/common/threadpool.cpp,
35204 source/common/wavefront.cpp:
35205 move ATOM operators to threading.h
35206 [b016dce3b990]
35207
35208 2013-08-20 Steve Borho <steve@borho.org>
35209
35210 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/slicetype.cpp,
35211 source/encoder/slicetype.h:
35212 slicetype: add a method to get estimated frame cost (calculated if
35213 not cached)
35214 [2a1e1e3fcba2]
35215
35216 * source/encoder/dpb.cpp:
35217 dpb: remove obsolete TODO
35218 [24fc61094b55]
35219
35220 * source/encoder/dpb.cpp:
35221 dpb: remove redundant calls to setNumRefIdx()
35222 [16f5434cf8e4]
35223
35224 * source/encoder/ratecontrol.cpp:
35225 ratecontrol: nit
35226 [c177b592a915]
35227
35228 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp:
35229 dpb: move setNumRefIdx from frameEncoder to DPB for clarity
35230 [6e45cb567792]
35231
35232 2013-08-19 Steve Borho <steve@borho.org>
35233
35234 * source/encoder/slicetype.cpp:
35235 slicetype: move special case logic for POC zero out of "fake"
35236 category
35237 [f5834b464a7c]
35238
35239 * source/encoder/slicetype.cpp:
35240 slicetype: initialize row satd sums at each row, delay
35241 bIntraCalculated set
35242 [fb9f092e8291]
35243
35244 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35245 slicetype: malloc prediction buffer to avoid stack size issues
35246 [c4cd8d9d6c8c]
35247
35248 * source/encoder/slicetype.cpp:
35249 slicetype: x and y loops were reversed
35250 [8157dcac7865]
35251
35252 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35253 slicetype: auto-variable cleanup
35254 [da6f7e555f0d]
35255
35256 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35257 slicetype: do_search is a bool as well
35258 [43f633c7b553]
35259
35260 * source/common/lowres.cpp, source/common/lowres.h,
35261 source/encoder/slicetype.cpp:
35262 lowres: remove redundant stride variable, use
35263 ReferencePlanes::lumaStride
35264 [e5eeb053c459]
35265
35266 * source/encoder/slicetype.cpp:
35267 slicetype: remove redundant assignment
35268 [e3fe0e2caa77]
35269
35270 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35271 slicetype: rename last_keyframe to lastKeyframe
35272 [d06cdce272ee]
35273
35274 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35275 slicetype: use cfg->param structure directly, do not copy data items
35276 [d568082adb02]
35277
35278 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35279 slicetype: copy bFrameBias from param structure
35280 [c6a47d383128]
35281
35282 * source/encoder/slicetype.cpp:
35283 slicetype: fixup bIntraPenalty type
35284 [75833aca1872]
35285
35286 * source/encoder/slicetype.h:
35287 slicetype: remove unused analyze_keyframe variable
35288 [84fa8299c4e2]
35289
35290 * source/encoder/slicetype.cpp:
35291 slicetype: estimate SATD cost of first I frame
35292 [60fbdb64ed0c]
35293
35294 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35295 slicetype: realScenecut is a bool
35296 [2cc3f1686119]
35297
35298 * source/encoder/slicetype.cpp:
35299 slicetype: add disabled "real path"
35300 [b250cbbd95ed]
35301
35302 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35303 slicetype: change slicetypeAnalyze argument type to bool, fix
35304 cuCount
35305 [7703d11126e8]
35306
35307 * source/encoder/slicetype.cpp:
35308 slicetype: set lowres.frameNum in addPicture()
35309 [5d5247ccf3fb]
35310
35311 * source/encoder/slicetype.cpp:
35312 slicetype: fix order of operations, remove obsolete comment
35313 [bafc37c130d7]
35314
35315 * source/encoder/slicetype.cpp:
35316 slicetype: improve history comment
35317 [92e84207edc0]
35318
35319 2013-08-19 Min Chen <chenm003@163.com>
35320
35321 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
35322 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
35323 source/encoder/framefilter.h:
35324 framepp: Refactor loopfilter thread
35325 [800465af4795]
35326
35327 2013-08-19 Steve Borho <steve@borho.org>
35328
35329 * source/common/wavefront.cpp:
35330 wavefront: use _BitScanForward64 on Windows to get proper bit
35331 priority order
35332
35333 Spotted and fixed by Min Chen
35334 [fc12faa1672e]
35335
35336 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp:
35337 dpb: move the pushBack of the frame into DPB::prepareEncode()
35338 [6bd04d658885]
35339
35340 * source/Lib/TLibEncoder/TEncAnalyze.h,
35341 source/Lib/TLibEncoder/TEncTop.cpp:
35342 TEncAnalyze: rename setFrmRate to setFrameRate
35343 [ab8e517b3f5c]
35344
35345 * source/Lib/TLibEncoder/TEncTop.cpp,
35346 source/Lib/TLibEncoder/TEncTop.h, source/encoder/frameencoder.cpp,
35347 source/encoder/frameencoder.h:
35348 TEncTop: use multiple frame encoders (they do not overlap in
35349 execution time)
35350 [cf68474b7fd4]
35351
35352 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
35353 source/common/threadpool.h, source/encoder/frameencoder.cpp,
35354 source/encoder/frameencoder.h, source/x265.cpp, source/x265.h,
35355 source/x265opts.h:
35356 x265: add -F/--frame-threads CLI option, param->frameNumThreads
35357
35358 This required allocating an array of FrameEncoder instances, which
35359 required adding a method for initializing the thread pool after
35360 construction.
35361 [84c939999179]
35362
35363 * source/Lib/TLibCommon/TComPic.h, source/common/CMakeLists.txt,
35364 source/common/lookahead.cpp, source/common/lookahead.h,
35365 source/common/lowres.cpp, source/common/lowres.h,
35366 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
35367 rename lookahead.cpp to lowres.cpp (and also header)
35368 [9a5d62cf19f1]
35369
35370 * source/Lib/TLibCommon/TComPic.h, source/common/lookahead.cpp,
35371 source/common/lookahead.h, source/encoder/ratecontrol.cpp,
35372 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
35373 source/encoder/slicetype.h:
35374 lookahead: rename LookaheadFrame struct to Lowres, statically
35375 allocate frames[]
35376 [f242ef373949]
35377
35378 * source/common/CMakeLists.txt:
35379 cmake: add COPYING to common project to remove any ambiguity
35380 [c4963929c680]
35381
35382 * source/Lib/TLibCommon/TComSlice.cpp:
35383 TComSlice: nit
35384 [c6ffd3ab9493]
35385
35386 * source/PPA/ppaCPUEvents.h, source/encoder/dpb.cpp,
35387 source/encoder/frameencoder.cpp:
35388 ppa: resolve event names which conflict with method names, add
35389 DPB_encodeSlice
35390 [1adb33d3536a]
35391
35392 2013-08-18 Steve Borho <steve@borho.org>
35393
35394 * source/common/lookahead.cpp:
35395 lookahead: re-initialize lowresMvs by dereferencing first MV (nit)
35396 [5b97ea55042f]
35397
35398 * source/encoder/cturow.cpp:
35399 cturow: remove prefixes from loop autos
35400 [e0b4698761fd]
35401
35402 * source/encoder/cturow.cpp:
35403 cturow: remove pc prefix from rdSbacCoder
35404 [aaf4327d1be3]
35405
35406 * source/common/lookahead.cpp:
35407 lookahead: fix intraCost data type for malloc
35408 [662d24a28312]
35409
35410 * source/common/lookahead.cpp:
35411 lookahead: re-enable downscale, ensure lowres stride is multiple of
35412 32
35413 [d907e9a55ad1]
35414
35415 * source/encoder/slicetype.cpp:
35416 slicetype: simplify intra processing
35417 [6badaa4d5e5f]
35418
35419 * source/encoder/slicetype.cpp:
35420 slicetype: improve comments
35421 [7146682f5133]
35422
35423 * source/encoder/slicetype.cpp:
35424 slicetype: remove warning disables now that functionality is all
35425 present
35426 [2048f9324890]
35427
35428 * source/encoder/slicetype.cpp:
35429 slicetype: update authors now that x264 routines are removed
35430 [a1c1cbd257ff]
35431
35432 * source/encoder/motion.cpp:
35433 motion: remove hungarian prefixes from temp vars
35434 [51d8d4962ab9]
35435
35436 * source/common/mv.h:
35437 mv: switch from class to struct since member vars do not have m_
35438 prefix
35439 [5b7014113b29]
35440
35441 * source/Lib/TLibCommon/TComPicYuv.cpp,
35442 source/Lib/TLibCommon/TComPicYuv.h,
35443 source/Lib/TLibCommon/TComPrediction.cpp,
35444 source/common/lookahead.cpp, source/common/reference.cpp,
35445 source/common/reference.h, source/encoder/motion.cpp,
35446 source/encoder/slicetype.cpp:
35447 reference: remove m_ prefix from member variables
35448 [2a2569c73bdb]
35449
35450 * source/common/reference.h:
35451 reference: convert ReferencePlanes from class to struct
35452
35453 I want to remove m_ prefix, and a policy of m_ for class but not for
35454 struct seems reasonable
35455 [bf0b1cb360f9]
35456
35457 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/primitives.cpp:
35458 ContextModel: move static initialization out of TEncTop constructor
35459 [e0e620037485]
35460
35461 * source/Lib/TLibCommon/ContextModel.cpp,
35462 source/Lib/TLibCommon/ContextModel.h:
35463 ContextModel: variable name cleanup
35464 [86fbb4094143]
35465
35466 * source/common/lookahead.h, source/encoder/slicetype.cpp,
35467 source/encoder/slicetype.h:
35468 slicetype: move cuWidth and cuHeight from LookaheadFrame to
35469 Lookahead
35470 [e3b40ff627b7]
35471
35472 * source/encoder/slicetype.cpp:
35473 slicetype: simplify intra cost check
35474 [e1fe931856ad]
35475
35476 * source/encoder/motion.cpp:
35477 motion: avoid QPEL refinement during lookahead
35478
35479 Our QPEL plane pointers simply reference the nearest HPEL plane so
35480 doing any QPEL refine would be a waste of time, and add rnadom bits.
35481 We should add an H.264 (A+B+1)>>1 primitive and then use this to
35482 create fake QPEL blocks for refinment during lookahead.
35483 [c1e1e8e43299]
35484
35485 * source/common/lookahead.cpp, source/common/reference.h:
35486 reference: add lowres flag
35487 [6702102c2691]
35488
35489 * source/encoder/slicetype.cpp:
35490 slicetype: establish lowres search bounds
35491 [db1d199e9f8e]
35492
35493 2013-08-16 Min Chen <chenm003@163.com>
35494
35495 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
35496 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
35497 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
35498 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
35499 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
35500 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
35501 source/encoder/framefilter.h:
35502 framepp: fix bug with '--sao-lcu-bounds 1' and move part of sao into
35503 compress loop
35504 [9cecd693489c]
35505
35506 2013-08-16 praveentiwari <praveentiwari>
35507
35508 * source/common/vec/sse.inc:
35509 sse_pp8: Eliminated shift
35510 [87f93fe917f6]
35511
35512 2013-08-16 Steve Borho <steve@borho.org>
35513
35514 * source/encoder/slicetype.cpp:
35515 slicetype: more varname cleanups
35516 [a5a265b57844]
35517
35518 * source/encoder/slicetype.cpp:
35519 slicetype: fix GCC nits
35520 [442dd01cacb1]
35521
35522 * source/encoder/slicetype.cpp:
35523 slicetype: nits
35524 [41b35c287a2f]
35525
35526 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
35527 slicetype: fill missing detail, use x265 varname style, remove old
35528 functions
35529 [815a3cce3969]
35530
35531 * source/encoder/slicetype.cpp:
35532 slicetype: fix another cu_size
35533 [4c4e30671ad7]
35534
35535 * source/encoder/slicetype.cpp:
35536 clicetype: uncrustify
35537 [0a5a90a0899e]
35538
35539 2013-08-16 ggopu <ggopu>
35540
35541 * source/common/lookahead.h, source/encoder/slicetype.cpp,
35542 source/encoder/slicetype.h, source/x265.h:
35543 slicetype: Added slicetypeAnalyse
35544 [6551f04e7eed]
35545
35546 2013-08-16 Steve Borho <steve@borho.org>
35547
35548 * source/Lib/TLibCommon/TComTrQuant.cpp:
35549 TrComQuant: fix 8bpp build
35550 [c2f5275ecb49]
35551
35552 * source/Lib/TLibCommon/TComTrQuant.cpp:
35553 TrComQuant: lastpos formal parameter unreferenced
35554 [16feaf4ec711]
35555
35556 * source/common/vec/dct.inc:
35557 dct: prevent compilation of quant for < SSE4.1 (fixes GCC build)
35558 [8a0228a12a84]
35559
35560 2013-08-16 Min Chen <chenm003@163.com>
35561
35562 * source/Lib/TLibEncoder/TEncSearch.cpp:
35563 idct: more dc mode detect code
35564 [76ca2eae8f0b]
35565
35566 * source/Lib/TLibCommon/TComTrQuant.cpp,
35567 source/Lib/TLibCommon/TComTrQuant.h:
35568 cleanup: remove unused code invRecurTransformNxN
35569 [983cc77e8526]
35570
35571 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/pixel.cpp,
35572 source/common/primitives.h, source/common/vec/pixel.inc:
35573 idct: primitive blockfil_s for dc fill
35574 [23b8aafb1fde]
35575
35576 * source/Lib/TLibCommon/TComTrQuant.cpp,
35577 source/Lib/TLibCommon/TComTrQuant.h,
35578 source/Lib/TLibEncoder/TEncSearch.cpp:
35579 idct: Improved performance by DC only block detect
35580 [0b225ee24b5d]
35581
35582 * source/Lib/TLibCommon/TComTrQuant.cpp,
35583 source/Lib/TLibCommon/TComTrQuant.h,
35584 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
35585 source/common/primitives.h, source/common/vec/dct.inc,
35586 source/test/mbdstharness.cpp:
35587 generate lastPos in quant
35588 [4be95d676094]
35589
35590 * source/common/vec/dct.inc, source/test/mbdstharness.cpp:
35591 quant: Improved performance by SSE4
35592 [681ab201ea0c]
35593
35594 * source/encoder/slicetype.cpp:
35595 temp for Intra Buffer generate
35596 [ec4a9d8a39b1]
35597
35598 2013-08-16 Steve Borho <steve@borho.org>
35599
35600 * source/encoder/ratecontrol.cpp:
35601 tpyo
35602 [1cf5ed68ab58]
35603
35604 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
35605 ratecontrol: move defines within CPP file
35606 [4a39b2fa427d]
35607
35608 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
35609 ratecontrol: move math methods to CPP file as file statics
35610 [1f2577034e53]
35611
35612 2013-08-16 sumalatha <sumalatha>
35613
35614 * source/Lib/TLibEncoder/TEncTop.cpp,
35615 source/Lib/TLibEncoder/TEncTop.h, source/encoder/ratecontrol.cpp,
35616 source/encoder/ratecontrol.h:
35617 integrate ratecontrol methods and changed some APIs
35618 [fe0adfe9d10d]
35619
35620 2013-08-16 Steve Borho <steve@borho.org>
35621
35622 * source/Lib/TLibEncoder/TEncTop.cpp:
35623 TEncTop: GCC needs math.h for log10()
35624 [a1a2eceec263]
35625
35626 * source/encoder/encoder.cpp:
35627 encoder: add a comment explaining the odd nature of encoder.cpp
35628 [e8d616dbbd16]
35629
35630 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/CMakeLists.txt,
35631 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
35632 source/encoder/encoder.h:
35633 dpb: move fixed GOP initialization function into dpb, drop encoder.h
35634 [b77b7dc21de9]
35635
35636 * source/Lib/TLibEncoder/TEncTop.cpp,
35637 source/Lib/TLibEncoder/TEncTop.h, source/encoder/CMakeLists.txt,
35638 source/encoder/dpb.cpp, source/encoder/dpb.h,
35639 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35640 dpb: split DPB logic and data from TEncTop into a separate class
35641
35642 The DPB class is still using the HM's fixed GOP mess, but at least
35643 this is all mostly localized in one place so it can be cleaned up
35644 together and has a clean interface.
35645 [6d14b538caa6]
35646
35647 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35648 frame: inline wait_lft and re-order code for more clarity
35649 [8f25a0cde46f]
35650
35651 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35652 frame: simplify determineSliceBounds
35653 [96d870433517]
35654
35655 2013-08-15 Steve Borho <steve@borho.org>
35656
35657 * source/encoder/frameencoder.cpp:
35658 frame: nit
35659 [7efbd7bb9606]
35660
35661 * source/encoder/frameencoder.cpp:
35662 frame: remove unused oneBitstreamPerSliceLength
35663 [646346ad4fe1]
35664
35665 * source/encoder/frameencoder.cpp:
35666 frame: replace access method calls with direct variable accesses
35667 [59d41d6da41c]
35668
35669 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35670 frame: rename compressSlice to compressCTURows()
35671 [8a322b6c90ec]
35672
35673 * source/encoder/frameencoder.cpp:
35674 frame: hoist stat file logging into compressFrame()
35675 [175ae0c43c10]
35676
35677 * source/encoder/frameencoder.cpp:
35678 frame: isolate CU processing functionality into compressSlice()
35679
35680 Other unrelated functionality pulled up into compressFrame()
35681 [8137fa713b09]
35682
35683 * source/encoder/frameencoder.cpp:
35684 frame: move xStoreWPparam() together with rest of weightp analysis
35685 [4262ef8c2495]
35686
35687 * source/Lib/TLibEncoder/TEncGOP.cpp,
35688 source/Lib/TLibEncoder/TEncGOP.h,
35689 source/Lib/TLibEncoder/TEncTop.cpp,
35690 source/Lib/TLibEncoder/TEncTop.h, source/encoder/cturow.cpp,
35691 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
35692 source/encoder/frameencoder.h, source/encoder/ratecontrol.h:
35693 remove TEncGOP, merge remaining pieces into FrameEncoder
35694 [f2bdd05b440d]
35695
35696 * source/Lib/TLibEncoder/SEIwrite.cpp,
35697 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
35698 source/Lib/TLibEncoder/SyntaxElementWriter.h,
35699 source/Lib/TLibEncoder/TEncCavlc.cpp,
35700 source/Lib/TLibEncoder/TEncCavlc.h:
35701 SEIWrite: varname cleanups
35702 [268b3e920752]
35703
35704 * source/Lib/TLibEncoder/SEIwrite.h:
35705 SEIWrite: remove only unused data member
35706 [4de5d74111ee]
35707
35708 * source/Lib/TLibEncoder/TEncGOP.cpp,
35709 source/Lib/TLibEncoder/TEncGOP.h,
35710 source/Lib/TLibEncoder/TEncTop.cpp,
35711 source/Lib/TLibEncoder/TEncTop.h:
35712 TEncGOP: move hash and PSNR calculations to TEncTop
35713
35714 Much of the function needs to use singleton data elements in TEncTop
35715 anyway, and very little of it needs the frame encoder.
35716 [c98c3ad68604]
35717
35718 * source/Lib/TLibEncoder/TEncGOP.cpp:
35719 TEncGOP: move digestToString so it doesn't need forward decl
35720 [bbcc53d4c501]
35721
35722 * source/Lib/TLibEncoder/TEncGOP.cpp,
35723 source/Lib/TLibEncoder/TEncGOP.h:
35724 TEncGOP: remove unused xGetFirstSeiLocation
35725 [885718e12a06]
35726
35727 * source/Lib/TLibEncoder/TEncGOP.cpp,
35728 source/Lib/TLibEncoder/TEncGOP.h:
35729 TEncGOP: inline xAttachSliceDataToNalUnit, only used once
35730 [b5027d04ff40]
35731
35732 * source/Lib/TLibEncoder/TEncGOP.cpp,
35733 source/Lib/TLibEncoder/TEncGOP.h:
35734 TEncGOP: inline SEI creation functions
35735
35736 I see no need to alloc/free them
35737 [ea53a8153f61]
35738
35739 * source/Lib/TLibEncoder/TEncGOP.cpp,
35740 source/Lib/TLibEncoder/TEncGOP.h:
35741 TEncGOP: drop HRD/DU logic and SEI message generation
35742
35743 This HRD logic is going to be broken badly by frame parallelism, and
35744 we do not allow it to be enabled, in any case, so I'm removing this
35745 code before it can be broken.
35746 [029ba5a2f11e]
35747
35748 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
35749 TEncTop: move ASR initialization to compressSlice()
35750 [12bf524e02d3]
35751
35752 2013-08-16 Min Chen <chenm003@163.com>
35753
35754 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
35755 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
35756 source/Lib/TLibEncoder/TEncGOP.cpp:
35757 framepp: move xPCMRestoration* outside from TComSampleAdaptiveOffset
35758 [84c4b829261b]
35759
35760 * source/x265.cpp:
35761 framepp: loopfilter and sao need same control value
35762 [15e1795cbc78]
35763
35764 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
35765 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
35766 cleanup: remove unused code TComSampleAdaptiveOffset::processSaoCu
35767 [3a0630fff639]
35768
35769 * source/Lib/TLibEncoder/TEncGOP.cpp:
35770 cleanup: remove unused code
35771 [b1cb3809070d]
35772
35773 * source/Lib/TLibEncoder/TEncGOP.cpp:
35774 cleanup: remove unused code
35775 [ddc1969b819a]
35776
35777 * source/encoder/frameencoder.cpp:
35778 fix VC9 compile error
35779 [b079ba16208f]
35780
35781 2013-08-15 Steve Borho <steve@borho.org>
35782
35783 * source/Lib/TLibEncoder/TEncGOP.cpp,
35784 source/Lib/TLibEncoder/TEncGOP.h:
35785 TEncGOP: unify hash and PSNR reporting into one routine
35786 [23d8d29c5242]
35787
35788 * source/Lib/TLibEncoder/TEncGOP.cpp,
35789 source/Lib/TLibEncoder/TEncGOP.h:
35790 TEncGOP: remove redundant argument to xCreateSEIActiveParameterSets
35791 [d51950a93f5d]
35792
35793 * source/Lib/TLibEncoder/TEncGOP.cpp,
35794 source/Lib/TLibEncoder/TEncGOP.h,
35795 source/Lib/TLibEncoder/TEncTop.cpp,
35796 source/Lib/TLibEncoder/TEncTop.h:
35797 TEncTop: move prepareEncode and all RPS/DPB logic out of TEncGOP
35798 [6dc06a8b5ebc]
35799
35800 * source/Lib/TLibEncoder/TEncGOP.cpp:
35801 TEncGOP: reorder some code for more clarity
35802 [bc8d3239f833]
35803
35804 * source/Lib/TLibEncoder/TEncGOP.cpp,
35805 source/Lib/TLibEncoder/TEncGOP.h,
35806 source/Lib/TLibEncoder/TEncTop.cpp:
35807 TEncGOP: prune unused cruft
35808 [1b745ef91669]
35809
35810 * source/Lib/TLibEncoder/TEncGOP.cpp:
35811 TEncGOP: remove access var only used twice
35812 [225ba0172ae5]
35813
35814 * source/Lib/TLibEncoder/TEncGOP.cpp:
35815 TEncGOP: use m_cfg in lieu of m_top where applicable
35816 [76b2e8aa1c18]
35817
35818 * source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.h,
35819 source/Lib/TLibEncoder/TEncSearch.cpp,
35820 source/Lib/TLibEncoder/TEncSlice.cpp,
35821 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/encoder.cpp,
35822 source/encoder/frameencoder.h:
35823 Remove unused TEncSlice
35824 [95afc59fb926]
35825
35826 * source/Lib/TLibEncoder/TEncGOP.cpp,
35827 source/Lib/TLibEncoder/TEncSlice.cpp,
35828 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
35829 source/encoder/frameencoder.h:
35830 TEncSlice: move xDetermineStartAndBoundingCUAddr to FrameEncoder
35831
35832 And give a less idiotic name
35833 [7aa3ea09223d]
35834
35835 * source/encoder/frameencoder.cpp:
35836 frameencoder: include math.h for GCC
35837 [ca1a412ecaad]
35838
35839 * source/Lib/TLibEncoder/TEncGOP.cpp,
35840 source/Lib/TLibEncoder/TEncSlice.cpp,
35841 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
35842 source/encoder/frameencoder.h:
35843 TEncSlice: move encodeSlice into FrameEncoder
35844 [31676f5d2e19]
35845
35846 * source/encoder/frameencoder.cpp:
35847 frameencoder: enqueue framefilter after frameencoder
35848
35849 This gives higher priority to compressCU jobs over deblocking jobs
35850 [9d68f6d61ecf]
35851
35852 * source/encoder/frameencoder.cpp:
35853 frameencoder: simplify motion reference generation
35854 [d1e0f1613380]
35855
35856 * source/encoder/frameencoder.cpp:
35857 frameencoder: nits
35858 [e03a200c073c]
35859
35860 * source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
35861 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
35862 source/encoder/frameencoder.h:
35863 cturow: split CTURow class into its own cpp and h
35864 [93a8be5a9247]
35865
35866 * source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
35867 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
35868 source/encoder/framefilter.h:
35869 framefilter: split FrameFilter class into its own cpp and h
35870
35871 frameencoder is getting crowded with TEncSlice methods being
35872 integrated, and it is only going to grow as TEncGOP is broken up.
35873 [f4bbb38f427d]
35874
35875 * source/Lib/TLibEncoder/TEncGOP.cpp,
35876 source/Lib/TLibEncoder/TEncSlice.cpp,
35877 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
35878 source/encoder/frameencoder.h:
35879 TEncSlice: move compressSlice logic into FrameEncoder
35880 [b057e7325398]
35881
35882 * source/Lib/TLibEncoder/TEncSlice.cpp,
35883 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp:
35884 TEncSlice: prune unnecessary cruft
35885 [e160aef8a3a1]
35886
35887 * source/Lib/TLibEncoder/TEncGOP.cpp,
35888 source/Lib/TLibEncoder/TEncSlice.cpp,
35889 source/Lib/TLibEncoder/TEncSlice.h:
35890 TEncSlice: inline SAR configuration into prepareEncode()
35891 [76636a121054]
35892
35893 * source/Lib/TLibEncoder/TEncSlice.cpp,
35894 source/Lib/TLibEncoder/TEncSlice.h:
35895 TEncSlice: remove unused resetQP method
35896 [19e8c9de3746]
35897
35898 * source/Lib/TLibEncoder/TEncGOP.cpp,
35899 source/Lib/TLibEncoder/TEncSlice.cpp,
35900 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
35901 source/encoder/frameencoder.h:
35902 move TEncSlice::initEncSlice to FrameEncoder::initSlice
35903 [ec371fd8c2a9]
35904
35905 * source/Lib/TLibEncoder/TEncSlice.cpp,
35906 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35907 frameencoder: retrieve slice from pic
35908 [2f2413f173f1]
35909
35910 * source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.h:
35911 more include cleanups
35912 [26c84a647f51]
35913
35914 * source/Lib/TLibEncoder/WeightPredAnalysis.h:
35915 WeightPredAnalysis: simplify includes
35916 [d0332c1c4efa]
35917
35918 * source/Lib/TLibEncoder/TEncSlice.cpp,
35919 source/Lib/TLibEncoder/TEncSlice.h:
35920 TEncSlice: remove unused xGetQPValueAccordingToLambda
35921 [88762f5981b5]
35922
35923 * source/Lib/TLibEncoder/TEncGOP.cpp:
35924 TEncGOP: report slice depth in verbose logging
35925 [e184ead1cb2e]
35926
35927 * source/Lib/TLibEncoder/TEncCfg.h,
35928 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
35929 encoder: remove unexposed m_recalculateQPAccordingToLambda
35930 [32b7db776b91]
35931
35932 * source/Lib/TLibCommon/CommonDef.h,
35933 source/Lib/TLibEncoder/TEncSlice.cpp:
35934 CommonDef: remove unnecessary HB_LAMBDA_FOR_LDC
35935 [61fe1722b31d]
35936
35937 * source/Lib/TLibEncoder/TEncSlice.cpp:
35938 TEncSlice: re-order logic for more clarity
35939 [4b57d673354b]
35940
35941 * source/Lib/TLibEncoder/TEncSlice.cpp:
35942 TEncSlice: remove obsolete comments for initEncSlice()
35943 [6a1ed114c77a]
35944
35945 * source/Lib/TLibEncoder/TEncGOP.cpp:
35946 TEncGOP: re-order some functions by use
35947 [08245cb48490]
35948
35949 * source/Lib/TLibEncoder/TEncGOP.cpp,
35950 source/Lib/TLibEncoder/TEncSlice.cpp,
35951 source/Lib/TLibEncoder/TEncSlice.h:
35952 TEncSlice: do not pass pocCurr to initEncSlice
35953 [8cc6ca8a86df]
35954
35955 * source/Lib/TLibEncoder/TEncGOP.cpp,
35956 source/Lib/TLibEncoder/TEncGOP.h,
35957 source/Lib/TLibEncoder/TEncTop.cpp, source/PPA/ppaCPUEvents.h:
35958 TEncGOP: split DPB/RPS management into prepareEncode() function
35959 [449a3b84fb3e]
35960
35961 * source/Lib/TLibEncoder/TEncGOP.cpp,
35962 source/Lib/TLibEncoder/TEncGOP.h:
35963 TEncGOP: remove unnecessary pointer argument reference
35964 [1f8f44007b88]
35965
35966 * source/encoder/encoder.cpp:
35967 encoder: use true/false to assign bool values
35968 [312b7e281b1a]
35969
35970 * source/Lib/TLibEncoder/TEncGOP.cpp,
35971 source/Lib/TLibEncoder/TEncGOP.h,
35972 source/Lib/TLibEncoder/TEncTop.cpp,
35973 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp:
35974 TEncTop: getStreamHeaders always returns one access unit
35975 [5c22574b8dd9]
35976
35977 2013-08-14 Steve Borho <steve@borho.org>
35978
35979 * source/Lib/TLibEncoder/TEncGOP.cpp,
35980 source/Lib/TLibEncoder/TEncGOP.h,
35981 source/Lib/TLibEncoder/TEncTop.cpp:
35982 TEncGOP: rename m_frameEncoders to singular
35983 [735d3ee0ef97]
35984
35985 * source/Lib/TLibEncoder/TEncTop.cpp,
35986 source/Lib/TLibEncoder/TEncTop.h:
35987 TEncTop: remove m_picsEncoded
35988 [90fe33838e63]
35989
35990 * source/Lib/TLibEncoder/TEncGOP.cpp,
35991 source/Lib/TLibEncoder/TEncGOP.h:
35992 TEncGOP: move utility functions to the end of the file, cleanups
35993 [b34a889f4388]
35994
35995 * source/Lib/TLibEncoder/TEncGOP.cpp:
35996 TEncGOP: increment m_totalCoded appropriately, improve comments
35997 [80f6de28afb2]
35998
35999 * source/Lib/TLibEncoder/TEncGOP.cpp,
36000 source/Lib/TLibEncoder/TEncGOP.h:
36001 TEncGOP: remove unused ref pic fields
36002 [823a9a1ae579]
36003
36004 * source/Lib/TLibEncoder/TEncGOP.cpp:
36005 TEncGOP: use configured bitrate instead of hard-coded value
36006 [7b435f8feaad]
36007
36008 * source/Lib/TLibEncoder/TEncGOP.h:
36009 TEncGOP: prepare to bifurcate TEncGOP
36010 [d7ecc2be68b7]
36011
36012 * source/Lib/TLibEncoder/TEncCfg.h:
36013 TEncCfg: drop unused m_framesToBeEncoded
36014 [b6debda1b70d]
36015
36016 * source/Lib/TLibEncoder/TEncTop.cpp:
36017 TEncTop: fix recon file write with 16bpp builds
36018 [ba0badc108ed]
36019
36020 * source/encoder/ratecontrol.cpp:
36021 ratecontrol: fix vc10 release build
36022 [a506ed0b9704]
36023
36024 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
36025 ratecontrol: clean compile for GCC - not sure all these changes are
36026 correct
36027 [e8a95b63af2b]
36028
36029 * source/encoder/slicetype.cpp:
36030 slicetype: more fixes
36031 [c0f68e202961]
36032
36033 * source/encoder/slicetype.cpp:
36034 slicetype: include list used in lowresCosts
36035
36036 0 - intra 1 - inter L0 2 - inter L1 3 - bidir (future)
36037 [0182e9c3abe4]
36038
36039 * source/encoder/slicetype.cpp:
36040 slicetype: fix I frame cost accumulation, use min to clamp
36041 lowresCosts
36042 [c744de283468]
36043
36044 * source/common/lookahead.cpp, source/common/lookahead.h:
36045 lookahead: add intraCost array
36046 [c2a650e052a6]
36047
36048 * source/encoder/slicetype.cpp:
36049 slicetype: fixup intra cost and combinations
36050 [ab0751792c3c]
36051
36052 2013-08-14 ggopu <ggopu>
36053
36054 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
36055 slicetype : estimateCUCost enhancement for selecting best cost
36056 [29acacb4afe8]
36057
36058 2013-08-14 Steve Borho <steve@borho.org>
36059
36060 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
36061 source/x265.h:
36062 ratecontrol: use doubles, fix warnings
36063 [74b11e67f664]
36064
36065 * source/Lib/TLibEncoder/TEncGOP.cpp:
36066 TEncGOP: re-order some code for clarity
36067 [29635c591048]
36068
36069 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
36070 ratecontrol: uncrustify
36071 [52a709ce88a8]
36072
36073 * source/common/common.cpp:
36074 common: prevent warnings about double-to-float conversions
36075 [f3ec4ebd72c9]
36076
36077 * source/encoder/CMakeLists.txt:
36078 cmake: add ratecontrol to the build
36079 [5c7f8a82e267]
36080
36081 * source/Lib/TLibEncoder/TEncGOP.cpp, source/common/common.cpp,
36082 source/encoder/encoder.cpp, source/encoder/ratecontrol.h,
36083 source/x265.h:
36084 ratecontrol: nits
36085 [4dfc091ce662]
36086
36087 2013-08-14 sumalatha <sumalatha>
36088
36089 * source/common/common.cpp, source/common/common.h,
36090 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
36091 source/encoder/slicetype.h, source/x265.h:
36092 add rate control parameters to x265_param_t make corresponding
36093 changes to ratecontrol.cpp and .h moved the macro definition of
36094 QP_BD_OFFSET from slicetype.cpp to common.h
36095 [d1d0d90ec2f1]
36096
36097 2013-08-14 Steve Borho <steve@borho.org>
36098
36099 * source/Lib/TLibEncoder/TEncTop.cpp:
36100 TEncTop: fix some obsolete comments
36101 [2c89a497dc5b]
36102
36103 * source/Lib/TLibEncoder/TEncGOP.cpp,
36104 source/Lib/TLibEncoder/TEncGOP.h,
36105 source/Lib/TLibEncoder/TEncSlice.cpp,
36106 source/Lib/TLibEncoder/TEncSlice.h,
36107 source/Lib/TLibEncoder/TEncTop.cpp,
36108 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
36109 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
36110 source/x265.cpp, source/x265.h:
36111 x265: remove GOP compress cadence, encode frames one at a time
36112
36113 it is still using the HM's fixed GOP schedule, but the encoder only
36114 encodes one frame per encode call, and returns at most one encoded
36115 frame.
36116 [11cce4de927a]
36117
36118 2013-08-13 Steve Borho <steve@borho.org>
36119
36120 * source/Lib/TLibCommon/TComSlice.cpp,
36121 source/Lib/TLibCommon/TComSlice.h,
36122 source/Lib/TLibEncoder/TEncTop.cpp:
36123 TComSlice: delay clearing of motion references until TComPic is
36124 recycled
36125 [a2026f0e1556]
36126
36127 * source/Lib/TLibEncoder/TEncTop.cpp,
36128 source/Lib/TLibEncoder/TEncTop.h:
36129 TEncTop: allocate frames as needed, recycle unreferenced frames from
36130 pic list
36131 [965dbb6e0880]
36132
36133 * source/Lib/TLibCommon/TComPic.h, source/common/lookahead.cpp,
36134 source/common/lookahead.h:
36135 lookahead: add slicetype decision outputs
36136 [45743a306237]
36137
36138 * source/common/lookahead.cpp:
36139 lookahead: hide unused formal parameter, prevent compiler warning
36140 [b4ff6dca63fa]
36141
36142 * source/common/lookahead.cpp, source/common/lookahead.h:
36143 lookahead: fix EOLN, move methods to CPP file, disable downscale
36144 again for now
36145 [b8ad0352ce45]
36146
36147 * source/Lib/TLibEncoder/TEncGOP.cpp:
36148 TEncGOP: don't pretend the gop encoder has multiple frame encoders
36149 [c34463e78f61]
36150
36151 * source/Lib/TLibEncoder/TEncTop.cpp, source/output/y4m.cpp,
36152 source/output/y4m.h, source/output/yuv.cpp, source/x265.h:
36153 recon: allow reconstructed images to be output in non-display order
36154
36155 By returning the POC of the recon image, the output file writers can
36156 seek to the appropriate location in the output file before writing
36157 the frame data
36158 [1d710404b8bb]
36159
36160 * source/Lib/TLibCommon/TComPic.cpp, source/common/lookahead.cpp,
36161 source/common/lookahead.h:
36162 lookahead: move remaining create logic into create method
36163 [90c11204554b]
36164
36165 * source/common/lookahead.cpp:
36166 lookahead: simplify create() method slightly
36167 [506ee1b3ad69]
36168
36169 * source/Lib/TLibCommon/TComPic.cpp:
36170 TComPic: add missing call to lowres.create()
36171 [8c468308ab8d]
36172
36173 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lookahead.h:
36174 lookahead: move downscale and extend logic into lowres.init()
36175 [e3bd326a9f6f]
36176
36177 * source/Lib/TLibCommon/TComPic.h:
36178 TComPic: add sliceType member variable for lookahead output
36179 indication
36180
36181 The TComPic doesn't have a TEncSlice associated with it until encode
36182 time
36183 [74cc4a1bfd2c]
36184
36185 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
36186 source/Lib/TLibEncoder/TEncTop.cpp, source/common/CMakeLists.txt,
36187 source/common/lookahead.cpp, source/common/lookahead.h:
36188 lookahead: isolate buffer allocation and release logic into
36189 LookaheadFrame class
36190 [79c8806844e7]
36191
36192 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
36193 slicetype: remove incorrect comments
36194 [aea1b324270c]
36195
36196 * source/Lib/TLibEncoder/TEncTop.cpp,
36197 source/Lib/TLibEncoder/TEncTop.h, source/encoder/CMakeLists.txt,
36198 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
36199 TEncTop: allocate a singleton lookahead instance
36200 [9a5b30cb1224]
36201
36202 * source/x265opts.h:
36203 x265: no camelcase CLI options
36204 [e866ff4da277]
36205
36206 * source/x265opts.h:
36207 x265: fix help for bFrameBias
36208 [2f1c5bb1d471]
36209
36210 * source/x265.cpp:
36211 x265: show boolean flag defaults even if they have a short-option
36212 [f94fa416ac32]
36213
36214 * source/x265opts.h:
36215 x265: re-order boolean flags for more logical groupings
36216 [c7cfe440ace3]
36217
36218 * source/x265opts.h:
36219 x265: remove obsolete default documentation
36220 [76775075d70d]
36221
36222 2013-08-13 ggopu <ggopu>
36223
36224 * source/x265.cpp:
36225 x265 cli: Added default values to the CLI help text
36226 [d374ab339bb1]
36227
36228 2013-08-13 Steve Borho <steve@borho.org>
36229
36230 * source/Lib/TLibEncoder/TEncGOP.cpp,
36231 source/Lib/TLibEncoder/TEncTop.cpp,
36232 source/Lib/TLibEncoder/TEncTop.h:
36233 TEncTop: remove hungarian gc prefix from frame statistics members
36234 [7caea03eee1a]
36235
36236 * source/Lib/TLibEncoder/TEncGOP.cpp:
36237 TEncGOP: remove unnecessary scope level
36238 [03782d7def51]
36239
36240 * source/Lib/TLibEncoder/TEncTop.h:
36241 TEncTOP: forward decl Lookahead and ThreadPool
36242 [d65cc8602bec]
36243
36244 * source/encoder/encoder.cpp:
36245 encoder: prevent warnings for open-gop config
36246 [f3e7ad1ce870]
36247
36248 * source/encoder/slicetype.cpp:
36249 slicetype: only calculate lowres intra costs once per input picture
36250 [9eb065201f31]
36251
36252 * source/encoder/slicetype.cpp:
36253 slicetype: rename tmp to predictions
36254 [c9b3cd336732]
36255
36256 * source/Lib/TLibCommon/TComPic.cpp,
36257 source/Lib/TLibEncoder/TEncTop.cpp, source/common/lookahead.h:
36258 lookahead: re-initialize lowres state for each new picture
36259 [2751158af327]
36260
36261 * source/encoder/slicetype.cpp:
36262 slicetype: fix prediction and sa8d arguments
36263 [78096e525541]
36264
36265 * source/encoder/motion.h:
36266 motion: expose COST_MAX
36267 [cce777ac5df4]
36268
36269 2013-08-13 ggopu <ggopu>
36270
36271 * source/encoder/motion.h, source/encoder/slicetype.cpp:
36272 slicetype: satd cost analysis bug fixed
36273 [682a9fba1363]
36274
36275 2013-08-13 Steve Borho <steve@borho.org>
36276
36277 * source/common/common.cpp, source/encoder/encoder.cpp:
36278 encoder: repair open-gop behavior
36279
36280 it was broken when we replaced uint getKeyframeInterval() with
36281 signed int param.keyframeInterval
36282 [560f4c14f09a]
36283
36284 * source/encoder/slicetype.cpp:
36285 slicetype: add comment to make uncrustify happy
36286 [69cd47d7f82d]
36287
36288 * source/common/lookahead.h:
36289 lookahead: remove unused macro
36290 [b87942b6386e]
36291
36292 * source/Lib/TLibEncoder/TEncGOP.cpp,
36293 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.cpp,
36294 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
36295 x265: add lookahead parameters to x265_param_t
36296 [30c4a908cf65]
36297
36298 2013-08-12 Steve Borho <steve@borho.org>
36299
36300 * source/common/lookahead.h:
36301 lookahead: reorder and document LookaheadFrame
36302 [b9c7aa48d921]
36303
36304 * source/encoder/slicetype.cpp:
36305 slicetype: rename X264_LOOKAHEAD_QP
36306 [c8fff4b1bec8]
36307
36308 * source/encoder/slicetype.cpp:
36309 slicetype: use hex search in lookahead
36310 [8d7ffa0d7433]
36311
36312 2013-08-12 ggopu <ggopu>
36313
36314 * source/encoder/slicetype.cpp:
36315 slicetype : Uncrustify
36316 [9f604820f7ef]
36317
36318 2013-08-12 Steve Borho <steve@borho.org>
36319
36320 * source/Lib/TLibEncoder/TEncGOP.cpp:
36321 TEncGOP: cleanup
36322 [415f3a0ae098]
36323
36324 * source/Lib/TLibEncoder/TEncGOP.cpp:
36325 TEncGOP: move adaptive search range determination a bit later
36326 [2ac81e7d676c]
36327
36328 * source/Lib/TLibEncoder/TEncGOP.cpp:
36329 TEncGOP: use REF_PIC_LIST enums directly
36330 [58b2989ec91e]
36331
36332 * source/Lib/TLibEncoder/TEncGOP.cpp:
36333 TEncGOP: move access unit allocation closer to bitstream generation
36334
36335 This further isolates the slice initialization code
36336 [7057a8e3603d]
36337
36338 * source/Lib/TLibEncoder/TEncGOP.cpp:
36339 TEncGOP: wrap long line
36340 [4294560b0494]
36341
36342 * source/Lib/TLibEncoder/TEncGOP.cpp:
36343 TEncGOP: use m_cfg to reference scaling list type
36344 [4d5f7e8888c1]
36345
36346 * source/Lib/TLibEncoder/TEncGOP.cpp:
36347 TEncGOP: rename iRef to ref
36348 [14f9aa8dbe2e]
36349
36350 * source/Lib/TLibEncoder/TEncCfg.h,
36351 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
36352 TEncGOP: TMVP has been hard-coded enabled for some time
36353 [2181954a2d68]
36354
36355 * source/Lib/TLibEncoder/TEncCfg.h,
36356 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
36357 TEncGOP: drop file parsing of scaling lists, simplify slice
36358 initialization
36359 [7afeef6f2a9a]
36360
36361 2013-08-11 ggopu <ggopu>
36362
36363 * source/encoder/slicetype.cpp:
36364 slicetype: added x265_median_mv
36365 [8438cad92049]
36366
36367 2013-08-12 Steve Borho <steve@borho.org>
36368
36369 * source/CMakeLists.txt:
36370 cmake: add Windows-only option to make binary compatible with
36371 Windows XP
36372 [e6ad89277005]
36373
36374 2013-08-11 Steve Borho <steve@borho.org>
36375
36376 * source/input/yuv.cpp:
36377 yuv: delay signed int cast until after division by picture size
36378
36379 This should fix reported negative frame count problems
36380 [368c080859bd]
36381
36382 * source/Lib/TLibEncoder/TEncTop.cpp:
36383 TEncTop: GOP encoders are no longer allocated as an array
36384
36385 As reported by JMK
36386 [14a47a6c1ec1]
36387
36388 2013-08-11 Aarthi <aarthi@multicorewareinc.com>
36389
36390 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
36391 uncrustify, code cleanup , continue porting x264 rate control to
36392 x265.
36393 [4085c992877a]
36394
36395 2013-08-11 Steve Borho <steve@borho.org>
36396
36397 * source/Lib/TLibEncoder/TEncGOP.cpp,
36398 source/Lib/TLibEncoder/TEncSlice.cpp:
36399 TEncGOP: move slice reference flag from TEncSlice to TEncGOP
36400
36401 Move it together with the rest of the code that determines slice and
36402 NAL type
36403 [7b25809b3fe4]
36404
36405 * source/test/pixelharness.cpp:
36406 pixelharness: revert memcmp counts to full block size
36407
36408 I had changed a number of these to only compare the actual block
36409 size processed by the primitive, but this was wrongly checking the
36410 first n x m pixels instead of the n x m pixels in the upper left
36411 corner of the output buffer (the stride of the buffers was always
36412 64). So it was comparing some of the wrong pixels, and not all of
36413 the proper ones. Comparing all 64x64 pixels is harmless, and
36414 actually verifies the primitive isn't writing beyond the correct
36415 outputs.
36416 [607eedcf3212]
36417
36418 2013-08-09 Steve Borho <steve@borho.org>
36419
36420 * source/encoder/encoder.cpp:
36421 encoder: nit
36422 [88e0c10bf47b]
36423
36424 * source/Lib/TLibEncoder/TEncCfg.h,
36425 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
36426 encoder: drop unused loop filter offsets from fixed GOP struct
36427 [b496ddb751ac]
36428
36429 * source/encoder/frameencoder.cpp:
36430 frameencoder: fix member initialization order for GCC
36431 [83def5041252]
36432
36433 * source/encoder/slicetype.cpp:
36434 slicetype: fix GCC warnings and EOLN damage and one bug
36435 [69d4bdb68535]
36436
36437 2013-08-09 sumalatha <sumalatha>
36438
36439 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
36440 Uncrustify ratecontrol.cpp and ratecontrol.h
36441 [5f10bcb999ce]
36442
36443 2013-08-09 praveentiwari <praveentiwari>
36444
36445 * source/common/dct.cpp, source/common/vec/ipfilter8.inc,
36446 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
36447 Added name to worked files
36448 [8a7256f288de]
36449
36450 * source/common/vec/sse.inc:
36451 sse.inc: Added name to contributed file
36452 [93520e0c6df3]
36453
36454 * source/common/vec/dct.inc:
36455 dct.inc: Added name to contributed file
36456 [d8777ff60029]
36457
36458 2013-08-09 Steve Borho <steve@borho.org>
36459
36460 * source/common/lookahead.h, source/encoder/slicetype.cpp:
36461 slicetype: fill in more lookahead detail
36462 [63e629a504d1]
36463
36464 2013-08-08 Steve Borho <steve@borho.org>
36465
36466 * source/Lib/TLibEncoder/TEncGOP.cpp,
36467 source/Lib/TLibEncoder/TEncSlice.cpp,
36468 source/Lib/TLibEncoder/TEncTop.cpp:
36469 mark places where m_gopList is used
36470
36471 aka, mark where the demolition charges are set
36472 [14e5d42ea283]
36473
36474 2013-08-08 Min Chen <chenm003@163.com>
36475
36476 * source/Lib/TLibCommon/TComLoopFilter.cpp,
36477 source/Lib/TLibCommon/TComLoopFilter.h,
36478 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
36479 source/Lib/TLibEncoder/TEncGOP.cpp, source/PPA/ppaCPUEvents.h,
36480 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
36481 framepp: thread of loopfilter
36482 [facd861224d6]
36483
36484 2013-08-08 Steve Borho <steve@borho.org>
36485
36486 * source/common/vec/pixel.inc:
36487 pixel: allow intel compiler to generate AVX2 intrinsics
36488 [95e6b13e7122]
36489
36490 * source/common/vec/pixel.inc:
36491 pixel: disable AVX2 instrinsic SAD primitives for VC11
36492
36493 They are failing unit tests, and causing odd encoder crashes that
36494 appear to be related to aligned loads. We need ASM versions of these
36495 functions.
36496 [235519423524]
36497
36498 * source/test/ipfilterharness.cpp:
36499 ipfilter: and some more tabs
36500 [ee7f9c2593fd]
36501
36502 * source/test/ipfilterharness.cpp:
36503 ipfilter: nuke some tabs
36504 [d2f925d4fdb3]
36505
36506 * source/Lib/TLibCommon/TComCABACTables.h:
36507 TComCABACTables: fix ICL warning about order of variable modifiers
36508 [820b7497f118]
36509
36510 * source/test/ipfilterharness.cpp:
36511 ipfilter: malloc output buffers for testbench - prevents ICL stack
36512 overflow
36513 [9130a070955e]
36514
36515 * source/common/vec/sse.inc:
36516 sse: variable renames to match pixelcmp style
36517 [eb4da8a89357]
36518
36519 2013-08-08 praveentiwari <praveentiwari>
36520
36521 * source/common/vec/sse.inc:
36522 sse_pp64: +1x over last commit
36523 [e272439497e7]
36524
36525 * source/common/vec/sse.inc:
36526 sse_pp48: +1x over last commit
36527 [5c0700683875]
36528
36529 * source/common/vec/sse.inc:
36530 sse_pp32: Better performance result
36531 [14c2bcce6de1]
36532
36533 * source/common/vec/sse.inc:
36534 sse_pp24: Better performance result
36535 [f03aca71c486]
36536
36537 * source/common/vec/sse.inc:
36538 sse_pp16: Better performance result
36539 [e91911135862]
36540
36541 * source/common/vec/sse.inc:
36542 sse_pp12: Replced costly psrli + pmovzx and psrli + add
36543 [307ade9f9aab]
36544
36545 * source/common/vec/sse.inc:
36546 sse_pp8: Replaced 'vpbroadcastd' with cheaper 'pxor' instruction
36547 [11aed2197707]
36548
36549 2013-08-08 sumalatha <sumalatha>
36550
36551 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
36552 add (incomplete) ratecontrol.cpp and ratecontrol.h
36553 [9974f57f56a1]
36554
36555 2013-08-08 praveentiwari <praveentiwari>
36556
36557 * source/common/vec/ipfilter8.inc:
36558 filterVertical_s_p: VC9 fix
36559 [5881b6f1e81a]
36560
36561 2013-08-08 Steve Borho <steve@borho.org>
36562
36563 * source/encoder/CMakeLists.txt:
36564 cmake: add slicetype.cpp to the encoder build
36565 [b4fcf168c5d0]
36566
36567 * source/Lib/TLibCommon/TComPic.h:
36568 TComPic: nit
36569 [dce4535983f4]
36570
36571 2013-08-08 ggopu <ggopu>
36572
36573 * source/common/lookahead.h, source/encoder/slicetype.cpp:
36574 slicetype: modified lookahead structure and added
36575 slicetype_cu_cost()
36576 [1d6f838b4f64]
36577
36578 * source/encoder/slicetype.cpp:
36579 Uncrustify slicetype.cpp
36580 [2bfbb7608340]
36581
36582 2013-08-08 Steve Borho <steve@borho.org>
36583
36584 * build/icl/build-all.bat, build/icl/make-makefile.bat,
36585 source/common/vec/CMakeLists.txt:
36586 cmake: add batch files for Intel C++ 2013 on Windows
36587 [57cef8258abe]
36588
36589 * source/CMakeLists.txt:
36590 cmake: Intel's ICL mimics MSVC compiler commandline, treat as equiv
36591 [d4a7ea88c34d]
36592
36593 2013-08-07 Min Chen <chenm003@163.com>
36594
36595 * source/Lib/TLibEncoder/TEncCavlc.cpp,
36596 source/Lib/TLibEncoder/TEncTop.cpp:
36597 fix bug when '--no-wpp --no-lft'
36598 [33aa6210de6d]
36599
36600 * source/common/common.cpp, source/x265opts.h:
36601 rename option from 'lpf' to 'lft'
36602 [084497e2ef56]
36603
36604 2013-08-07 praveentiwari <praveentiwari>
36605
36606 * source/common/vec/sse.inc:
36607 sse_pp64: +1.5x for all versions
36608 [710007b7f4ba]
36609
36610 * source/common/vec/sse.inc:
36611 sse_pp48: Improved performance result for all versions
36612 [797416b5b84b]
36613
36614 * source/common/vec/sse.inc:
36615 sse_pp24: Improved performance result for all the versions
36616 [d6403549def5]
36617
36618 * source/common/vec/sse.inc:
36619 sse_pp32: Improved performance for all versions above 1x
36620 [480322faaa72]
36621
36622 * source/common/vec/sse.inc:
36623 sse.inc: Uncrustified
36624 [4cd7311e31b5]
36625
36626 2013-08-07 Steve Borho <steve@borho.org>
36627
36628 * source/Lib/TLibEncoder/TEncGOP.cpp:
36629 TEncGop: simplify call of setMvdL1ZeroFlag()
36630 [e6d0a359648c]
36631
36632 * source/common/pixel.cpp:
36633 pixel: white-space cleanups in frame_init_lowres_core
36634 [38f11ae10731]
36635
36636 * source/test/pixelharness.cpp:
36637 pixelharness: fix more test dimensions
36638 [80fde3dd585d]
36639
36640 2013-08-06 Steve Borho <steve@borho.org>
36641
36642 * source/Lib/TLibEncoder/TEncTop.cpp:
36643 TEncTop: simplify pic list destruction
36644 [e8fed4725b02]
36645
36646 * source/Lib/TLibEncoder/TEncTop.cpp:
36647 TEncTop: correct an old comment
36648 [3afa31de4310]
36649
36650 2013-08-06 Deepthi Devaki <Deepthi Devaki>
36651
36652 * source/common/vec/ipfilter8.inc:
36653 ipfilter8.inc: Uncrustified
36654 [3f879cd9e058]
36655
36656 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
36657 ipfilter8.inc: vectorized vertical weighted filter
36658 [56d7ae74bd6e]
36659
36660 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
36661 ipfilterharness: unit test for vertical weighted filter
36662 [053083121fe0]
36663
36664 2013-08-06 Steve Borho <steve@borho.org>
36665
36666 * source/common/vec/pixel.inc, source/common/vec/sse.inc:
36667 sse: sse_pp requires SSE4.1
36668 [9418d73daa48]
36669
36670 * source/Lib/TLibCommon/TComPic.cpp:
36671 TComPic: fix the malloc logic
36672 [cd89e891c3b9]
36673
36674 * source/Lib/TLibCommon/TComPic.cpp:
36675 TComPic: fix white-space style
36676 [80f154c0305f]
36677
36678 2013-08-06 praveentiwari <praveentiwari>
36679
36680 * source/common/vec/sse.inc:
36681 sse_pp16: more than +1x performance improvement for all versions.
36682 [c90132bb66fb]
36683
36684 * source/common/vec/sse.inc:
36685 sse_pp12 all versions, improved performance with intrinsic code
36686 [d0a378326291]
36687
36688 * source/common/vec/sse.inc:
36689 +1x for all versions of sse_pp8
36690 [8854c6df7d10]
36691
36692 2013-08-06 Min Chen <chenm003@163.com>
36693
36694 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
36695 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
36696 framepp: move frame col flag to Pic
36697 [2d032b79a988]
36698
36699 2013-08-06 Steve Borho <steve@borho.org>
36700
36701 * source/Lib/TLibCommon/TComPic.cpp:
36702 TComPic: initialize m_bframes and lowres struct to all zeros
36703 [f48617fc87d3]
36704
36705 * source/test/pixelharness.cpp:
36706 pixelharness: futher magic value cleanups, use STRIDE as appropriate
36707 [c9149cee2317]
36708
36709 * source/Lib/TLibCommon/TComLoopFilter.cpp:
36710 TComLoopFilter: fix variable shadowing
36711
36712 The HM was using Edge as a parameter and iEdge as a loop variable
36713 [977bb357f2a0]
36714
36715 * source/Lib/TLibEncoder/TEncSbac.cpp,
36716 source/Lib/TLibEncoder/TEncSbac.h:
36717 TEncSBac: iOffset -> offset
36718 [91743e8e2ecc]
36719
36720 * source/Lib/TLibCommon/TComPattern.cpp:
36721 TComPattern: piSrc -> sec
36722 [0d5ec9084022]
36723
36724 * source/Lib/TLibCommon/TComLoopFilter.cpp,
36725 source/Lib/TLibCommon/TComLoopFilter.h:
36726 TComLoopFilter: strip hungarian prefixes from members and autos
36727 [d42fdd481a32]
36728
36729 2013-08-06 Min Chen <chenm003@163.com>
36730
36731 * source/Lib/TLibCommon/TComLoopFilter.cpp:
36732 framepp: merge V/H filter into one loop
36733 [4c49a45a5ce9]
36734
36735 * source/Lib/TLibCommon/TComLoopFilter.cpp:
36736 framepp: loopfilter simplify and remove redundant
36737 getDeblockingFilterDisable()
36738 [aaf5ba14d7d4]
36739
36740 2013-08-05 Steve Borho <steve@borho.org>
36741
36742 * source/test/pixelharness.cpp:
36743 pixelharness: stride of 64, incr of 32, remove magical values
36744
36745 This should fix AVX2 test failures and make the code more
36746 maintainable
36747 [922ef1b99c9a]
36748
36749 * source/test/pixelharness.cpp:
36750 pixelharness: remove redundant defines
36751 [9c2792126e9d]
36752
36753 * source/Lib/TLibEncoder/TEncCfg.h:
36754 white-space cleanups in TEncCfg.h
36755 [03880135c31b]
36756
36757 * source/encoder/motion.cpp, source/encoder/motion.h:
36758 motion: remove dead subsample member
36759 [18eefbb58790]
36760
36761 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
36762 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
36763 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
36764 TEncGOP: remove SOPDescriptionSEI, the HM's implementation required
36765 fixed GOP
36766 [697ed158f1e2]
36767
36768 * source/Lib/TLibEncoder/TEncGOP.cpp:
36769 TEncGOP: remove unused multi-slice logic
36770 [4b91d6759a09]
36771
36772 * source/Lib/TLibEncoder/TEncGOP.cpp:
36773 TEncGOP: isolate colDir logic within B-frame expression
36774 [43b753eef43d]
36775
36776 2013-08-05 ggopu <ggopu>
36777
36778 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
36779 source/Lib/TLibEncoder/TEncTop.cpp:
36780 lookahead: lookahead output cost allocations and initialization
36781 [81c3ad052397]
36782
36783 2013-08-05 Steve Borho <steve@borho.org>
36784
36785 * source/Lib/TLibEncoder/TEncCfg.h,
36786 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
36787 remove redundant m_deblockingFilterControlPresent
36788 [ee84b4b64587]
36789
36790 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
36791 remove redundant m_bLoopFilterDisable
36792 [8db8e2fe6ba3]
36793
36794 2013-08-05 Min Chen <chenm003@163.com>
36795
36796 * source/Lib/TLibCommon/TComLoopFilter.cpp,
36797 source/Lib/TLibCommon/TComLoopFilter.h,
36798 source/Lib/TLibEncoder/TEncGOP.cpp,
36799 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.cpp,
36800 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
36801 source/x265.h, source/x265opts.h:
36802 framepp: Loopfilter cleanup and control by --lpf
36803 [d1f2b9cad11d]
36804
36805 2013-08-05 Deepthi Devaki <Deepthi Devaki>
36806
36807 * source/common/vec/ipfilter8.inc:
36808 Optimizations to horizontal weighted filter
36809 [bdea613d4402]
36810
36811 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
36812 vectorized horizontal weighted filter
36813 [894e47d258a7]
36814
36815 * source/test/ipfilterharness.cpp:
36816 ipfilterharness: modifications to weighted filter testbench
36817 [87dbfdda0769]
36818
36819 2013-08-05 praveentiwari <praveentiwari>
36820
36821 * source/common/vec/ipfilter8.inc:
36822 filterHorizontal_p_s: saving instructions with control execution
36823 [48c6641e19de]
36824
36825 * source/common/vec/ipfilter8.inc:
36826 filterHorizontal_p_p: sum decleared as local register
36827 [77ee29b50554]
36828
36829 * source/common/vec/ipfilter8.inc:
36830 filterHorizontal_p_p: saving instruction with control execution
36831 [0c2a6a18293e]
36832
36833 2013-08-05 Steve Borho <steve@borho.org>
36834
36835 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
36836 ipfilter: ipfilter_pp uses SSE4.1 instructions
36837 [a1133f538222]
36838
36839 2013-08-04 Aarthi <aarthi@multicorewareinc.com>
36840
36841 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
36842 source/Lib/TLibCommon/TComTrQuant.cpp,
36843 source/Lib/TLibCommon/TComTrQuant.h,
36844 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
36845 source/Lib/TLibEncoder/TEncGOP.cpp,
36846 source/Lib/TLibEncoder/TEncSearch.cpp,
36847 source/Lib/TLibEncoder/TEncSlice.cpp,
36848 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
36849 source/encoder/frameencoder.cpp:
36850 remove duplicate vars, get() methods
36851 [37cbf6432e63]
36852
36853 2013-08-02 Steve Borho <steve@borho.org>
36854
36855 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
36856 ipfilter: remove vector versions of more optimized functions
36857 [074c05f87c53]
36858
36859 * source/common/vec/CMakeLists.txt, source/common/vec/blockcopy-
36860 sse42.cpp, source/common/vec/dct-sse42.cpp, source/common/vec/intra-
36861 sse42.cpp, source/common/vec/ipfilter-sse42.cpp, source/common/vec
36862 /pixel-sse42.cpp, source/common/vec/sse42.cpp, source/common/vec
36863 /vec-primitives.cpp:
36864 remove SSE42 vector primitive files - they were nearly the same as
36865 SSE41
36866
36867 There wasn't enough differentiation (only abs() changed with SSE42)
36868 to warrant all the extra build time.
36869 [b391765c9c96]
36870
36871 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
36872 source/x265.h:
36873 x265: switch cpu levels from enum to defines
36874 [3db96ea97abb]
36875
36876 * source/common/vec/pixel.inc:
36877 pixel: move sse.inc include closer to other primitive includes
36878 [8afe0e089317]
36879
36880 * source/common/primitives.h, source/common/vec/blockcopy.inc,
36881 source/common/vec/dct.inc, source/common/vec/intrapred.inc,
36882 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
36883 vec: use enums instead of magical integer values for SIMD build
36884 macros
36885 [6764c2750c35]
36886
36887 * source/common/primitives.h:
36888 primitives: white-space fix
36889 [190063ccc281]
36890
36891 * source/x265.h:
36892 x265: add enums for CPU SIMD architecture levels
36893 [adad7346e6f7]
36894
36895 * source/x265.h:
36896 x265: fix C++ism in public header and some white-space issues
36897 [37e2c97d2478]
36898
36899 * source/encoder/frameencoder.cpp:
36900 frameencoder: do not check row priority if WPP is disabled
36901 [d0b3ab46f903]
36902
36903 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
36904 source/encoder/compress.cpp:
36905 TEncCfg: nuke most set*() methods
36906 [1b9935ff8dcf]
36907
36908 2013-08-02 praveentiwari <praveentiwari>
36909
36910 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
36911 filterVertical_p_p: intrinsic for vector replacement
36912 [0a9afd5eed38]
36913
36914 * source/common/vec/ipfilter8.inc:
36915 filterVertical_s_p: constrution replaced with shuffle
36916 [d2cbfda470bb]
36917
36918 * source/common/vec/ipfilter8.inc:
36919 filterVertical_s_p: fix for VC9 test bench fail
36920 [62696c47e875]
36921
36922 2013-08-02 Steve Borho <steve@borho.org>
36923
36924 * source/encoder/encoder.cpp:
36925 encoder: fix member variable shadowing
36926 [2416019326d9]
36927
36928 2013-08-02 ggopu <ggopu>
36929
36930 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
36931 source/Lib/TLibCommon/TComPicYuv.h,
36932 source/Lib/TLibEncoder/TEncTop.cpp, source/common/CMakeLists.txt,
36933 source/common/lookahead.h:
36934 Lookahead data structures introduced
36935 [de3e6c30815c]
36936
36937 2013-08-02 aarthi <aarthi>
36938
36939 * source/encoder/encoder.cpp:
36940 replaced all the set*() methods with the member variables in
36941 encoder.cpp
36942 [83865be72a9d]
36943
36944 2013-08-02 Shazeb N Khan <Shazeb N Khan>
36945
36946 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
36947 TestBench for filter-Weighted
36948 [30c7ae31afd5]
36949
36950 2013-08-01 Steve Borho <steve@borho.org>
36951
36952 * source/common/wavefront.cpp, source/common/wavefront.h,
36953 source/encoder/frameencoder.cpp:
36954 wavefront: add a check for higher priority rows ready to be
36955 processed
36956 [322bea3559e7]
36957
36958 * source/Lib/TLibEncoder/TEncCfg.h,
36959 source/Lib/TLibEncoder/TEncGOP.cpp,
36960 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
36961 replace TEncCfg.getIntraPeriod with param.keyframeInterval
36962 [86cc97cbcb3e]
36963
36964 * source/Lib/TLibEncoder/TEncCfg.h,
36965 source/Lib/TLibEncoder/TEncGOP.cpp,
36966 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
36967 source/encoder/frameencoder.cpp:
36968 replace TEncCfg.getSourceHeight with param.sourceHeight
36969 [67cc495aaa55]
36970
36971 * source/Lib/TLibEncoder/TEncCfg.h,
36972 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
36973 source/encoder/frameencoder.cpp:
36974 replace TEncCfg.getSourceWidth with param.sourceWidth
36975 [3f971cea03e8]
36976
36977 * source/Lib/TLibEncoder/TEncCfg.h,
36978 source/Lib/TLibEncoder/TEncGOP.cpp,
36979 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
36980 replace TEncCfg.getFrameRate with param.frameRate
36981 [9e872c494da3]
36982
36983 * source/Lib/TLibEncoder/TEncCfg.h,
36984 source/Lib/TLibEncoder/TEncGOP.cpp,
36985 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
36986 replace TEncCfg.getLogLevel with param.logLevel
36987 [1f83472c5312]
36988
36989 * source/Lib/TLibEncoder/TEncGOP.cpp,
36990 source/Lib/TLibEncoder/TEncSlice.cpp,
36991 source/Lib/TLibEncoder/TEncTop.cpp,
36992 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
36993 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
36994 replace TEncCfg.getEnableWaveFront() with param.bEnableWavefront
36995 [584dac26a4f2]
36996
36997 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncTop.h,
36998 source/encoder/encoder.cpp:
36999 give TEncCfg a copy of the input params
37000 [184702b704a5]
37001
37002 * source/encoder/encoder.cpp:
37003 encoder: note some missing logic in level enforcement
37004 [0e6828678464]
37005
37006 * source/common/common.cpp:
37007 common: update warning message about searchMethod values
37008 [29e00b2bff05]
37009
37010 * source/Lib/TLibEncoder/TEncSearch.cpp,
37011 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.cpp:
37012 add full search to optimized ME, always use our function for uni-
37013 search
37014 [187647eff86d]
37015
37016 * source/Lib/TLibEncoder/TEncSearch.cpp,
37017 source/Lib/TLibEncoder/TEncSearch.h, source/x265.h,
37018 source/x265opts.h:
37019 remove HM's unidirectional motion search except full search
37020 [712d50ffcfe4]
37021
37022 * source/encoder/encoder.cpp:
37023 biprediction uses HM's full search routine unconditionally
37024
37025 The search method for uni-directional search does not depend on
37026 bipred search configuration.
37027 [bdef1663b85a]
37028
37029 2013-08-01 Shazeb N Khan <Shazeb N Khan>
37030
37031 * source/Lib/TLibCommon/TComPrediction.cpp,
37032 source/Lib/TLibEncoder/TEncSearch.cpp,
37033 source/Lib/TLibEncoder/TEncSlice.cpp:
37034 TEncSearch, TEncSlice, TComPrediction: Uncrustified
37035 [59d9b3f08727]
37036
37037 2013-08-01 Steve Borho <steve@borho.org>
37038
37039 * source/Lib/TLibCommon/TComPrediction.cpp,
37040 source/Lib/TLibCommon/TComWeightPrediction.cpp,
37041 source/Lib/TLibCommon/TComWeightPrediction.h,
37042 source/Lib/TLibEncoder/TEncSearch.cpp:
37043 Using the weighted frames in prediction
37044 [c77176c0a699]
37045
37046 2013-08-01 Shazeb N Khan <Shazeb N Khan>
37047
37048 * source/Lib/TLibCommon/TComSlice.h,
37049 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
37050 Integration of weighted frames in the encoder
37051 [2113842f58ea]
37052
37053 * source/Lib/TLibCommon/TComPrediction.cpp,
37054 source/Lib/TLibCommon/TComPrediction.h,
37055 source/Lib/TLibEncoder/TEncSearch.cpp:
37056 Used cached MotionReference pointers in Prediction
37057 [62150133b753]
37058
37059 2013-08-01 Steve Borho <steve@borho.org>
37060
37061 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp,
37062 source/common/reference.h:
37063 reference: add methods for setting and comparing weights
37064 [dba06d54c67e]
37065
37066 * source/common/reference.h, source/encoder/motion.cpp,
37067 source/encoder/motion.h:
37068 reference: split reference plane data from interpolation logic
37069
37070 The motion search code only needs the ReferencePlanes data. Now that
37071 it is separated, lookahead can use the reference plane structure
37072 without all the MotionReference overhead.
37073 [7b3fa7f5cfa5]
37074
37075 * source/Lib/TLibCommon/CommonDef.h, source/encoder/compress.cpp:
37076 Move LAMBDA_PARTITION_SELECT defnition from CommonDef to
37077 compress.cpp
37078 [f39175ab6093]
37079
37080 * source/common/vec/ipfilter8.inc:
37081 ipfilter: remove unused maxVal variable (for 8bpp it is unnecessary)
37082 [689de127f659]
37083
37084 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
37085 ipfilter_sp uses SSE4 instructions
37086 [1ee78b4c3ba0]
37087
37088 * source/common/common.cpp:
37089 common: enable WPP by default, disable by --no-wpp or --threads 1
37090 [b1b84e8b7b70]
37091
37092 2013-08-01 praveentiwari <praveentiwari>
37093
37094 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
37095 Close to +2x performance improvement for filterVertical_s_p
37096 [6a66dfc449bc]
37097
37098 2013-08-01 sumalatha <sumalatha>
37099
37100 * source/Lib/TLibCommon/CommonDef.h:
37101 adjusted LAMBDA_PARTITION_SELECT value to 0.9 - optimal for using in
37102 Early-Exit NO-RDO
37103 [053abe99ac91]
37104
37105 * source/encoder/compress.cpp:
37106 made logic changes to EARLY_EXIT_NO_RDO mode - optimized for perf
37107 Gain
37108 [f03c950448c0]
37109
37110 * source/encoder/compress.cpp:
37111 uncrustify : compress.cpp
37112 [e108bfd4d6f5]
37113
37114 2013-07-31 Steve Borho <steve@borho.org>
37115
37116 * source/Lib/TLibEncoder/TEncGOP.cpp:
37117 TEncGOP: remove unused variable
37118 [8eebc88f86e0]
37119
37120 * source/Lib/TLibCommon/TComPicYuv.cpp:
37121 TComPicYuv: release m_refList as a singly linked list
37122 [b59563cc34bb]
37123
37124 * source/Lib/TLibCommon/TComPicYuv.h,
37125 source/Lib/TLibEncoder/TEncTop.cpp:
37126 TComPicYuv: rename setBorderExtension() to clearExtendedFlag()
37127 [0be525cd8583]
37128
37129 * source/Lib/TLibCommon/TComPicYuv.cpp,
37130 source/Lib/TLibCommon/TComPicYuv.h,
37131 source/Lib/TLibEncoder/TEncSlice.cpp:
37132 TComPicYuv: rename extendPicBorder to generateMotionReference()
37133
37134 The function now can be said to generate a motion reference for a
37135 reconstructed frame
37136 [0d8544362337]
37137
37138 * source/Lib/TLibCommon/TComPicYuv.cpp,
37139 source/Lib/TLibCommon/TComPicYuv.h:
37140 TComPicYuv: inline the motion reference search
37141 [f1d4fe6c85fa]
37142
37143 * source/Lib/TLibEncoder/TEncSearch.cpp:
37144 TEncSearch: use cached motion references from slice header
37145 [7a80be8edcfa]
37146
37147 2013-07-31 Shazeb N Khan <Shazeb N Khan>
37148
37149 * source/Lib/TLibCommon/TComPicYuv.cpp,
37150 source/Lib/TLibCommon/TComPicYuv.h,
37151 source/Lib/TLibCommon/TComSlice.h,
37152 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/reference.cpp,
37153 source/common/reference.h:
37154 Cached the motion reference list in the Slice
37155 [cd150fe1d042]
37156
37157 2013-07-31 Steve Borho <steve@borho.org>
37158
37159 * source/Lib/TLibCommon/TComPicYuv.cpp,
37160 source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.h:
37161 MotionReference objects with distinct weights handled as linked list
37162 [575c8ba71475]
37163
37164 * source/Lib/TLibEncoder/TEncGOP.cpp:
37165 TEncGOP: further simplifications
37166 [66eab44e4c56]
37167
37168 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
37169 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
37170 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
37171 remove unreachable TemporalLevel0Index SEI message
37172 [5843dfb610e4]
37173
37174 * source/Lib/TLibEncoder/TEncGOP.cpp:
37175 TEncGOP: further simplifications and cleanups
37176 [a20d80859567]
37177
37178 * source/Lib/TLibEncoder/TEncGOP.cpp:
37179 TEncGOP: remove redundant slice->setNextSlice() (very next line
37180 reverses it)
37181 [faf8586102b5]
37182
37183 * source/Lib/TLibEncoder/TEncGOP.cpp:
37184 TEncGOP: remove redundant if() checks and pointer dereferences
37185 [0602b9fb4f62]
37186
37187 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
37188 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
37189 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
37190 remove unreachable scalable nesting SEI message
37191 [84e6d71e70e1]
37192
37193 2013-07-30 Steve Borho <steve@borho.org>
37194
37195 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
37196 source/Lib/TLibCommon/TComSlice.cpp,
37197 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
37198 source/Lib/TLibEncoder/TEncGOP.cpp,
37199 source/Lib/TLibEncoder/TEncSlice.cpp,
37200 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
37201 remove unused temporal layer logic
37202 [74060e8f4860]
37203
37204 * source/Lib/TLibEncoder/TEncGOP.cpp:
37205 TEncGOP: reorder some logic for more clarity
37206 [17a48c3c393a]
37207
37208 * source/Lib/TLibEncoder/TEncGOP.cpp,
37209 source/Lib/TLibEncoder/TEncGOP.h:
37210 TEncGOP: remove unused m_batchSize, m_startPOC
37211
37212 Remnants of GOP parallelism
37213 [1396e8d60605]
37214
37215 * source/Lib/TLibEncoder/TEncGOP.cpp:
37216 TEncGOP: move init-type code into init() function
37217 [1610291e59a0]
37218
37219 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
37220 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
37221 source/Lib/TLibEncoder/TEncGOP.h,
37222 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
37223 source/Lib/TLibEncoder/TEncRateCtrl.h,
37224 source/Lib/TLibEncoder/TEncSlice.h,
37225 source/Lib/TLibEncoder/TEncTop.cpp,
37226 source/Lib/TLibEncoder/TEncTop.h, source/encoder/compress.cpp,
37227 source/encoder/encoder.cpp:
37228 remove HM rate control code that has been long broken by WPP
37229 [deb6891ead01]
37230
37231 * source/CMakeLists.txt, source/common/vec/CMakeLists.txt:
37232 cmake: cleanup tabs
37233 [058ee5276203]
37234
37235 * source/CMakeLists.txt, source/common/vec/CMakeLists.txt:
37236 cmake: gcc 4.7 support for avx2 vector headers is a little touchy
37237 [7d0616453134]
37238
37239 * source/common/reference.cpp, source/common/reference.h:
37240 MotionReference class with weighted frames
37241 [0b55e4728a3d]
37242
37243 2013-07-30 Deepthi Devaki <Deepthi Devaki>
37244
37245 * source/common/ipfilter.cpp, source/common/primitives.h:
37246 Modified weighted IP Filter primitive to include Full Pel
37247 [575b46e6d413]
37248
37249 2013-07-29 Steve Borho <steve@borho.org>
37250
37251 * source/Lib/TLibEncoder/TEncTop.cpp:
37252 TEncTop: re-order destruction so thread pool outlives job providers
37253 [057b9a97c920]
37254
37255 * source/Lib/TLibEncoder/TEncGOP.cpp,
37256 source/Lib/TLibEncoder/TEncGOP.h,
37257 source/Lib/TLibEncoder/TEncTop.cpp,
37258 source/Lib/TLibEncoder/TEncTop.h:
37259 TEncTop: move frame list, recon list, and access units out of
37260 TEncGOP
37261
37262 This is in preparation for making a new slicetype / lookahead
37263 structure and breaking TEncGOP into a half dozen pieces.
37264 [ec1852ccacee]
37265
37266 * source/common/common.cpp:
37267 common: enable AMP by default
37268 [2f3df1553a49]
37269
37270 * source/common/common.cpp:
37271 common: enable SAO by default
37272 [9fd468696d9a]
37273
37274 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37275 source/x265opts.h:
37276 make decoder refresh type a configurable param [CHANGES OUTPUTS]
37277
37278 Now that internal GOP parallelism is gone, we can allow the
37279 different modes to be selected at runtime.
37280 [4d923d9b501a]
37281
37282 * source/Lib/TLibEncoder/TEncSlice.cpp:
37283 TEncSlice: recover HM's original lambda calculations [CHANGES
37284 OUTPUTS (back)]
37285
37286 Now that internal GOP parallelism is no longer supported, this logic
37287 is no longer a determinism bug waiting to happen. But we still want
37288 to replace all this "magical math" with simple QP->lambda tables, in
37289 the long term.
37290 [4992e5165984]
37291
37292 * source/Lib/TLibEncoder/TEncGOP.cpp:
37293 TEncGOP: nit
37294 [62db6594a54e]
37295
37296 * source/Lib/TLibEncoder/TEncCfg.h,
37297 source/Lib/TLibEncoder/TEncGOP.cpp,
37298 source/Lib/TLibEncoder/TEncGOP.h,
37299 source/Lib/TLibEncoder/TEncTop.cpp,
37300 source/Lib/TLibEncoder/TEncTop.h, source/common/common.cpp,
37301 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
37302 remove GOP parallelism, simplify TEncTop and TEncGOP
37303 [fabc0722f393]
37304
37305 * source/CMakeLists.txt:
37306 cmake: add x265.h to CLI visual studio project for convenience
37307
37308 most people will open the x265 project looking for x265.h
37309 [3cadbb2d0150]
37310
37311 2013-07-27 Steve Borho <steve@borho.org>
37312
37313 * source/Lib/TLibEncoder/TEncGOP.cpp,
37314 source/Lib/TLibEncoder/TEncGOP.h,
37315 source/Lib/TLibEncoder/TEncTop.cpp,
37316 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
37317 source/x265.cpp, source/x265.h:
37318 x265: add x265_encoder_headers() public API
37319
37320 This brings us more in sync with x264, and makes GOP parallelism
37321 almost trivial to implement above the level of the encoder (so we
37322 can remove the internal one)
37323 [2bda33439bf9]
37324
37325 2013-07-29 Steve Borho <steve@borho.org>
37326
37327 * source/Lib/TLibEncoder/TEncGOP.cpp:
37328 TEncGOP: remove unused variable
37329 [3e055671010e]
37330
37331 2013-07-29 praveentiwari <praveentiwari>
37332
37333 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
37334 ipfilter: +3x for filterHorizontal_p_s functions
37335
37336 ipfilter_ps now requires at least SSSE3
37337 [5feb9f813a64]
37338
37339 * source/common/vec/ipfilter8.inc:
37340 filterHorizontal_p_p vector portion replaced with intrinsic code
37341 [74d8c41266d5]
37342
37343 * source/common/vec/ipfilter8.inc:
37344 Uncrustified ipfilter8.inc file
37345 [9fb0dd3a7460]
37346
37347 2013-07-29 Steve Borho <steve@borho.org>
37348
37349 * source/common/x86/asm-primitives.cpp:
37350 asm: fix 16bpp test bench
37351 [364f48a1e183]
37352
37353 * source/Lib/TLibEncoder/TEncGOP.cpp:
37354 TEncGOP: cleanups
37355 [8f7dc5f4a05c]
37356
37357 2013-07-27 Steve Borho <steve@borho.org>
37358
37359 * source/encoder/compress.cpp:
37360 compress: inter2Nx2NCost was set but not used in default builds
37361 [08061e08d3bb]
37362
37363 * source/Lib/TLibEncoder/TEncCavlc.cpp,
37364 source/Lib/TLibEncoder/TEncSbac.cpp:
37365 fix compile with ENC_DEC_TRACE enabled in TComRom.h
37366 [5ad0b644d15f]
37367
37368 * source/common/vec/ipfilter8.inc:
37369 ipfilter: fix variable shadowing reported by GCC
37370 [2d13884687e8]
37371
37372 2013-07-26 Steve Borho <steve@borho.org>
37373
37374 * Merge with stable
37375 [30c257a1fa77]
37376
37377 * build/regression/email-csv.py:
37378 regression: improve email-csv.py
37379 [36c6c198f885] <stable>
37380
37381 * source/encoder/compress.cpp:
37382 compress: code cleanups, no functional changes
37383 [ca9d2057a56c]
37384
37385 2013-07-26 Aarthi <aarthi@multicorewareinc.com>
37386
37387 * source/encoder/compress.cpp:
37388 changes to early Exit No RDO - roughly +14% with EARLY_EXIT_NO_RDO=1
37389 [5ef875c10c88]
37390
37391 2013-07-26 Steve Borho <steve@borho.org>
37392
37393 * source/CMakeLists.txt:
37394 cmake: remove unused NO_RDO_EARLY_EXIT build option
37395 [2b4f9d12f141]
37396
37397 * source/encoder/compress.cpp:
37398 move EARLY_EXIT_NO_RDO to top of compress.cpp
37399 [6e4a1748e98a]
37400
37401 * source/common/vec/ipfilter8.inc:
37402 ipfilter: use unaligned load for coefficients
37403
37404 The chroma coeff table can't be loaded on 16byte alignment
37405 [73d93cdcf978]
37406
37407 * source/common/vec/ipfilter8.inc:
37408 ipfilter: fix eoln damage from cut-paste
37409 [70ff5b57e0e2]
37410
37411 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
37412 ipfilter now requires at least SSSE3
37413 [06e9fb6913aa]
37414
37415 2013-07-26 praveentiwari <praveentiwari>
37416
37417 * source/common/vec/ipfilter8.inc:
37418 Approx +5x for ipfilterH_pp<8> and ipfilterH_pp<4>
37419 [dee0115561d9]
37420
37421 2013-07-26 Steve Borho <steve@borho.org>
37422
37423 * source/common/x86/pixel.h:
37424 asm: white-space nits
37425 [76931d20b082]
37426
37427 * Merge with stable
37428 [e23b5e5f7347]
37429
37430 * source/common/x86/README.txt, source/common/x86/const-a.asm,
37431 source/common/x86/cpu-a.asm, source/common/x86/mc-a2.asm,
37432 source/common/x86/pixel-a.asm, source/common/x86/sad-a.asm,
37433 source/common/x86/x86inc.asm, source/common/x86/x86util.asm:
37434 asm: refresh all asm to a recent x264 revision
37435 [d0542565dc1d]
37436
37437 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
37438 asm: use macro decl of downscale prims
37439 [fc069ab1ecd6]
37440
37441 * source/common/x86/asm-primitives.cpp:
37442 asm: remove pragma warning disable, connect some 16bpp routines
37443 [b1bbb760f007]
37444
37445 * source/test/pixelharness.cpp:
37446 pixelharness: fix alignment of downscale input arguments
37447 [4117d2f613ac]
37448
37449 2013-07-26 ggopu <ggopu@bitbucket.org>
37450
37451 * source/common/pixel.cpp, source/common/primitives.h,
37452 source/common/x86/CMakeLists.txt, source/common/x86/asm-
37453 primitives.cpp, source/common/x86/mc-a2.asm,
37454 source/common/x86/pixel.h, source/test/pixelharness.cpp,
37455 source/test/pixelharness.h:
37456 Lookahead: asm primitve for downscale
37457 [71234ae45d95]
37458
37459 2013-07-26 Steve Borho <steve@borho.org>
37460
37461 * source/common/common.cpp, source/x265.h:
37462 api: rename x265_bit_depth to x265_max_bit_depth for clarity
37463
37464 For 16bpp builds, we will eventually want to allow 12bit pixels, but
37465 it should also be capable of encoding 10 and 8 bit streams as well.
37466 Use 8 even for 16bpp builds for now, since we know higher bit depths
37467 are broken.
37468 [d44588a406ce] <stable>
37469
37470 * source/PPA/ppa.cpp, source/common/threading.h:
37471 use lower case <windows.h> consistently - fixes cross-compiles
37472 [aa392516ae56] <stable>
37473
37474 * source/test/testbench.cpp:
37475 testbench: use x265_malloc / x265_free to avoid duplicate logic
37476 [6b18efa79241] <stable>
37477
37478 * source/common/common.cpp:
37479 common: fix mingw64 malloc
37480 [29fd8ece16d7] <stable>
37481
37482 * open a permanent named branch "stable"
37483
37484 The stable branch is for bug-fixes and documentation improvements
37485 The default branch is where all new development takes place
37486
37487 Each time bugs are fixed on stable, the stable branch is merged into
37488 default. Default is only merged back into stable just prior to a new
37489 release tag.
37490 [1fd88edc7b11] <stable>
37491
37492 * source/Lib/TLibEncoder/TEncSearch.cpp:
37493 intra: re-enable 64x64 downscale path
37494 [f2f70fa9b4f3]
37495
37496 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
37497 intrapred: fix bug on --cpuid less than 4
37498 [bd8ef1eb5a6c]
37499
37500 * source/encoder/encoder.cpp:
37501 encoder: ensure the setLFCrossTileBoundaryFlag() method is called
37502 once
37503
37504 Even though we do not use tiles, this could have affected the logic.
37505 For basic encodes, we are now valgrind clean.
37506 [904c5cac454d]
37507
37508 * source/encoder/encoder.cpp:
37509 encoder: fix bug reported by valgrind; config vars referenced before
37510 assignment
37511 [13729094ca7e]
37512
37513 * source/Lib/TLibEncoder/TEncGOP.cpp:
37514 TEncGOP: fix crash in computeSSD when frame stride is not aligned
37515 enough
37516 [e53c6f48ba9f]
37517
37518 * source/test/pixelharness.cpp:
37519 testbench: fix leak in pixelharness
37520 [4968a6bfd760]
37521
37522 2013-07-25 Steve Borho <steve@borho.org>
37523
37524 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
37525 primitives.cpp:
37526 cmake: clarify GCC versions which supported AVX, XOP, and AVX2
37527 intrinsics
37528 [1dfbbb7d2476]
37529
37530 * source/common/vec/pixel8.inc:
37531 pixel: remove unused formal parameter names
37532 [ddaaf7b2bd70]
37533
37534 * source/VectorClass/vectori256.h:
37535 vector: fix variable shadow warnings reported by GCC 4.8.1
37536
37537 The second shadow was almost certainly a bug
37538 [d6da69ef1e14]
37539
37540 * source/CMakeLists.txt:
37541 cmake: on Mac OS X, it is not necessary to link with rt
37542 [2f5480619e98]
37543
37544 * source/Lib/TLibCommon/CommonDef.h,
37545 source/Lib/TLibCommon/TComDataCU.cpp,
37546 source/Lib/TLibCommon/TComPicYuv.cpp,
37547 source/Lib/TLibCommon/TComPrediction.cpp,
37548 source/Lib/TLibCommon/TComTrQuant.cpp,
37549 source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp,
37550 source/common/common.cpp, source/common/ipfilter.cpp,
37551 source/common/reference.cpp, source/test/mbdstharness.cpp,
37552 source/test/pixelharness.cpp, source/test/testbench.cpp:
37553 common: introduce X265_MALLOC/X265_FREE to replace xMalloc/xFree
37554
37555 Uses _aligned_malloc() on Windows and posix_memalign() on everything
37556 else. Old MingGW32 requires a name mapping hack
37557 [0e9399d65002]
37558
37559 * source/common/x86/asm-primitives.cpp:
37560 asm: more white-space nits
37561 [a32a25e928e6]
37562
37563 * source/common/x86/asm-primitives.cpp:
37564 asm: white-space only
37565 [5f20aa2d81bf]
37566
37567 * source/common/x86/asm-primitives.cpp:
37568 asm: CPUID 3 is SSSE3, 4 is SSE4. CPUID 1 == C only
37569 [5c2f9bb8f965]
37570
37571 * source/Lib/COPYING.HM:
37572 license: add a copy of HM's license to source/Lib
37573 [6f06736eb325]
37574
37575 * source/x265.cpp:
37576 x265: exit cleanly when missing input YUV parameters
37577 [1fd3c11d5219]
37578
37579 * source/x265.cpp:
37580 vld: report leaks to file as well, useful for regression suite
37581 [d0153575b4b4]
37582
37583 * source/x265.cpp:
37584 x265: clear progress report line at exit only if progress enabled
37585 [fc9a6776f9d0]
37586
37587 * build/regression/01build-and-smoke-test.bat:
37588 regression: leave build remnants in place, delete cmake cache
37589 between runs
37590 [44c880a8932b]
37591
37592 * build/regression/01build-and-smoke-test.bat,
37593 build/regression/02perftest.bat:
37594 regression: use --no-progress when running encoder, to clean up logs
37595 [b8b9ff6596ee]
37596
37597 * build/regression/01build-and-smoke-test.bat:
37598 regression: use single-threaded msys make to avoid console color
37599 issues
37600 [62e3828fe4d9]
37601
37602 * doc/LookaheadPlan.txt:
37603 doc: publish a plan for porting x264 slice decision and adding frame
37604 parallelism
37605 [67d705db7085]
37606
37607 2013-07-25 Min Chen <chenm003@163.com>
37608
37609 * source/encoder/compress.cpp:
37610 intrapred: sync buffer overflow patch to mode --no-rdo
37611 [67da2187eb8b]
37612
37613 2013-07-24 Steve Borho <steve@borho.org>
37614
37615 * source/common/vec/dct.inc, source/common/vec/intrapred.inc:
37616 dct,intra: protect include of smmintrin.h from SIMD arch < SSE4.1
37617 [25b5e4a4cc1e]
37618
37619 * source/common/vec/CMakeLists.txt:
37620 cmake: use appropriate -mARCH for each intrinsic file set for GCC
37621 [8f746d62e6e1]
37622
37623 * source/x265.cpp:
37624 x265: check YUV parameters before trying to open YUV file
37625 [580ded735dc2]
37626
37627 * source/Lib/TLibCommon/TComPicYuv.cpp,
37628 source/Lib/TLibCommon/TComPicYuv.h:
37629 TComPicYuv: cache strides in a member variable
37630 [d3ae586fca87]
37631
37632 * source/Lib/TLibCommon/TComPicYuv.cpp:
37633 TComPicYuv: remove obsolete malloc includes
37634 [6da8f47eb6e1]
37635
37636 * source/Lib/TLibCommon/TComPicYuv.cpp:
37637 TComPicYuv: varname cleanup
37638 [cffe02b2feda]
37639
37640 * source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp:
37641 TComYuv: variable name cleanups
37642 [5487a1e80f4e]
37643
37644 2013-07-24 Deepthi <Deepthi>
37645
37646 * source/Lib/TLibCommon/TComYuv.cpp:
37647 Unreferenced variable removed.
37648 [fd4954d7c2ac]
37649
37650 2013-07-24 ggopu <ggopu>
37651
37652 * source/Lib/TLibCommon/TComYuv.cpp:
37653 TComYuv: Added primitive functions for Addclip Luma and chroma
37654 [47edc0c679e0]
37655
37656 * source/common/TShortYUV.cpp:
37657 TshortYUV: Added Primitive Functions for BlockCopy and AddClip for
37658 both luma and chroma
37659 [113fcd8b89a6]
37660
37661 2013-07-24 Deepthi <Deepthi>
37662
37663 * source/encoder/compress.cpp:
37664 Wrapping up early exit code development in a macro.
37665 [ad24a3cc9e6d]
37666
37667 * Merge
37668 [fa3b07fcf212]
37669
37670 * source/encoder/compress.cpp:
37671 Variable renaming in no-rdo mode: removing ambiguities
37672 [e61e07e405f1]
37673
37674 2013-07-24 Steve Borho <steve@borho.org>
37675
37676 * source/PPA/ppa.h:
37677 ppa: fix "potential uninitialized variable" warning from GCC
37678
37679 gcc is being somewhat obtuse here, but I'll humor it
37680 [138898b6c3e8]
37681
37682 * build/regression/02perftest.bat:
37683 regression: improve log message in perftest
37684 [a210f3b7704c]
37685
37686 * build/regression/01build-and-smoke-test.bat, build/regression
37687 /config-example.txt, build/regression/run.bat:
37688 regression: add MSYS builds to regression suite
37689 [9c25b085049c]
37690
37691 2013-07-23 Steve Borho <steve@borho.org>
37692
37693 * build/regression/02perftest.bat:
37694 regression: properly use configured perfframes for performance tests
37695 [a0e145b76ee5]
37696
37697 2013-07-23 maheshpittala <maheshpittala>
37698
37699 * build/regression/01build-and-smoke-test.bat,
37700 build/regression/02perftest.bat, build/regression/commandlines-
37701 example.txt, build/regression/config-example.txt, build/regression
37702 /email-csv.py, build/regression/run.bat, source/test/testbench.cpp:
37703 Add regression scripts
37704 [db664de68d3a]
37705
37706 2013-07-23 Steve Borho <steve@borho.org>
37707
37708 * source/Lib/TLibEncoder/TEncSearch.cpp:
37709 TEncSearch: temporarily disable 64x64 intra fast path
37710
37711 Running in debug it is reporting stack corruption around the above[]
37712 array
37713 [dabc5df15515]
37714
37715 2013-07-23 Deepthi <Deepthi>
37716
37717 * Merge
37718 [9f5a5ad402b6]
37719
37720 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
37721 Function signature of xcomputeCostInter changed
37722 [00115ae64f1a]
37723
37724 * source/encoder/compress.cpp:
37725 Computing NxN satd costs for the previous depth
37726 [a952c558dfec]
37727
37728 * source/encoder/compress.cpp:
37729 Rearranging code
37730 [68303445d7f6]
37731
37732 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37733 Renaming Recon to Pred: we'll be saving satd costs and predicted
37734 frames for NxN vs 2nx2n decision
37735 [28198b1f7e8b]
37736
37737 2013-07-22 Min Chen <chenm003@163.com>
37738
37739 * source/common/pixel.cpp:
37740 intrapred: fix mistake between C and Instrinsic
37741 [a5dd4011b8bb]
37742
37743 * source/Lib/TLibEncoder/TEncSearch.cpp:
37744 intrapred: fix bug in HIGH_BIT_DEPTH=1
37745 [460189b98f61]
37746
37747 2013-07-23 Deepthi <Deepthi>
37748
37749 * source/Lib/TLibEncoder/TEncCu.cpp:
37750 Adding a missing memory initialisation
37751 [e6622364d73d]
37752
37753 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37754 Adding new recon structures in no-rdo mode - interNxN
37755 [643c56139902]
37756
37757 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37758 Adding new structures in no-rdo mode - interNxN
37759 [386daa4ac9a9]
37760
37761 2013-07-22 Steve Borho <steve@borho.org>
37762
37763 * doc/UnitTestUsage.txt:
37764 remove obsolete unit test doc
37765 [2bbe9227d44c]
37766
37767 2013-07-22 Deepthi <Deepthi>
37768
37769 * doc/Doxyfile, doc/mainpage.h:
37770 Removing Doxygen related documentation from the repo
37771 [0c4eebd03a00]
37772
37773 * doc/gop-structure-example.pdf:
37774 Removing GOP structure example - the POC/decode order is a familiar
37775 concept carried over from H.264
37776 [6d0c465b4ba8]
37777
37778 2013-07-21 Min Chen <chenm003@163.com>
37779
37780 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
37781 source/common/primitives.h, source/common/vec/pixel.inc,
37782 source/common/vec/pixel8.inc, source/encoder/compress.cpp:
37783 intrapred: Improvement Inra 64x64 [CHANGES OUTPUTS]
37784 [18447bd07244]
37785
37786 2013-07-19 Steve Borho <steve@borho.org>
37787
37788 * .hgtags:
37789 Added tag 0.3 for changeset 3767fbfa970f
37790 [158239bec6c1]
37791
37792 2013-07-19 ggopu <ggopu>
37793
37794 * source/common/pixel.cpp, source/common/primitives.h,
37795 source/common/vec/blockcopy.inc, source/test/pixelharness.cpp,
37796 source/test/pixelharness.h:
37797 Primitive: Performance Primitives for Pixel add Clip - TcomYuv and
37798 TshortYuv
37799
37800 # HG changeset patch # User ggopu # Date 1374210970 -19800 # Node
37801 ID 6a864fc57a58e6988969faf3b5b919dd3defa0c1 # Parent
37802 a4c00c3f1897d9af8239bacf5f56621297e9785b Primitive: Performance
37803 Primitives for Pixel add Clip - TcomYuv and TshortYuv
37804 [3767fbfa970f] [0.3]
37805
37806 2013-07-18 Steve Borho <steve@borho.org>
37807
37808 * source/common/threadpool.cpp:
37809 gcc: fix threadpool warnings
37810 [db7ed939be08]
37811
37812 2013-07-19 Deepthi <Deepthi>
37813
37814 * source/Lib/TLibCommon/TComDataCU.h:
37815 Cleanup: Removing codedQp member variable.
37816 [bcc2539665c8]
37817
37818 * source/Lib/TLibCommon/TComDataCU.cpp,
37819 source/Lib/TLibCommon/TComDataCU.h,
37820 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
37821 Cleanup: Removing TotalBins access methods
37822 [b56d92419898]
37823
37824 * source/Lib/TLibCommon/TComDataCU.cpp,
37825 source/Lib/TLibCommon/TComDataCU.h,
37826 source/Lib/TLibEncoder/TEncCu.cpp,
37827 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
37828 source/encoder/frameencoder.cpp:
37829 Cleanup: Removing TotalBits access methods
37830 [374594f69e59]
37831
37832 * source/Lib/TLibCommon/TComDataCU.cpp,
37833 source/Lib/TLibCommon/TComDataCU.h,
37834 source/Lib/TLibEncoder/TEncCu.cpp,
37835 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
37836 source/encoder/frameencoder.cpp:
37837 Cleanup: Removing Distortion access methods.
37838 [f60f409fe25f]
37839
37840 * source/Lib/TLibCommon/TComDataCU.h:
37841 Removed getTotalCost() method
37842 [1c772b90b6ca]
37843
37844 * source/Lib/TLibCommon/TComDataCU.cpp,
37845 source/Lib/TLibEncoder/TEncCu.cpp,
37846 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
37847 source/encoder/frameencoder.cpp:
37848 Cleanup: Replace getTotalCost() with member access
37849 [93164613a8dc]
37850
37851 * source/Lib/TLibCommon/TComDataCU.h:
37852 Making CU cost and misc variables public
37853 [b476367a146d]
37854
37855 2013-07-19 sumalatha <sumalatha>
37856
37857 * source/encoder/compress.cpp:
37858 Changed the LOG, the pred mode was selected wrongly in few cases.
37859 Fixed
37860 [0c3e3a46fb7e]
37861
37862 2013-07-18 Steve Borho <steve@borho.org>
37863
37864 * source/common/threadpool.cpp:
37865 threadpool: repair EOLN
37866 [a4c00c3f1897]
37867
37868 * source/common/threadpool.cpp:
37869 threadpool: nit
37870 [7565dd4c7d54]
37871
37872 * source/common/threadpool.cpp:
37873 threadpool: reduce priority of worker threads slightly
37874
37875 This gives higher priority to GOP (and later frame) threads which,
37876 if they are not blocked should be given CPU cores over worker
37877 threads.
37878 [9ac15ef1fa44]
37879
37880 * source/common/threadpool.cpp:
37881 threadpool: cleanup
37882 [1af121504330]
37883
37884 * source/common/vec/CMakeLists.txt:
37885 cmake: fix icpc AVX2 builds
37886 [1ba93da79ac4]
37887
37888 * source/common/vec/pixel8.inc:
37889 pixel: remove the names of unreferenced parameters (GCC now
37890 complains of these)
37891 [a1810069717f]
37892
37893 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
37894 primitives.cpp:
37895 vec: GCC and icpc both have issues with XOP intrinsics
37896
37897 Probably because both rely on GCC headers
37898 [6e10601c8f2a]
37899
37900 * source/common/primitives.cpp:
37901 primitives: only print XOP FMA3 FMA4 if CPU level is at least AVX
37902
37903 If the user asked for --cpuid 6, they should not see XOP, FMA3, or
37904 FMA4 because those will not be used.
37905 [ca27274a19ab]
37906
37907 * source/encoder/motion.cpp, source/encoder/motion.h:
37908 motion: increase alignement of fenc buffer to 32bytes for AVX2
37909 [d371aff1b1fc]
37910
37911 * source/common/vec/vec-primitives.cpp:
37912 vec: only use XOP primitives when AVX CPU level is requested
37913 [064808dc2286]
37914
37915 * source/common/vec/CMakeLists.txt, source/common/vec/blockcopy-
37916 xop.cpp, source/common/vec/dct-xop.cpp, source/common/vec/intra-
37917 xop.cpp, source/common/vec/ipfilter-xop.cpp, source/common/vec
37918 /pixel-xop.cpp, source/common/vec/vec-primitives.cpp,
37919 source/common/vec/xop.cpp:
37920 vec: add XOP build files, for late AMD CPUs
37921 [8808d7d79279]
37922
37923 * source/common/vec/CMakeLists.txt, source/common/vec/blockcopy-
37924 avx.cpp, source/common/vec/blockcopy-avx2.cpp, source/common/vec
37925 /blockcopy-sse3.cpp, source/common/vec/blockcopy-sse41.cpp,
37926 source/common/vec/blockcopy-sse42.cpp, source/common/vec/blockcopy-
37927 ssse3.cpp, source/common/vec/blockcopy.inc,
37928 source/common/vec/vecprimitives.inc:
37929 vec: break blockcopy intrinsics into their own files
37930 [c27fbf50e931]
37931
37932 * source/common/vec/CMakeLists.txt, source/common/vec/dct-sse2.cpp,
37933 source/common/vec/intra-sse2.cpp, source/common/vec/ipfilter-
37934 sse2.cpp, source/common/vec/pixel-sse2.cpp,
37935 source/common/vec/sse2.cpp, source/common/vec/vec-primitives.cpp:
37936 vec: drop SSE2 files, we don't care that much about CPUs that old
37937
37938 This is mainly for improving compile times, since I will add XOP
37939 files shortly
37940 [be0fc8418935]
37941
37942 * x265: fix EOLN damage
37943 [e4b9418724ba]
37944
37945 * source/x265.cpp:
37946 x265: use puts for writing CLI args (makes GCC happy)
37947 [ab4cb9c33e6f]
37948
37949 * source/Lib/TLibEncoder/TEncSlice.cpp:
37950 TEncSlice: cleanups
37951 [2fd9dc2844af]
37952
37953 * source/Lib/TLibEncoder/TEncSlice.cpp:
37954 TEncSlice: tweak lambda magic value [CHANGES OUTPUTS]
37955
37956 This recovers BasketBallDrive encode PSNR/Bitrate/FPS back to close
37957 what it was when the encoder used the non-deterministic lambda
37958 function
37959 [4e1a8cf10b3b]
37960
37961 * source/Lib/TLibCommon/TComRdCost.h,
37962 source/Lib/TLibEncoder/TEncSearch.cpp:
37963 TEncSearch: pass the correct lamda to bitcost calculator [CHANGES
37964 OUTPUTS]
37965
37966 This fixes a bug introduced in 15f993eceb4b, right after 0.1. The
37967 different naming conventions had tripped me up.
37968 [6847162fbcb1]
37969
37970 2013-07-18 sumalatha <sumalatha>
37971
37972 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
37973 modifications to log file(LOG_CU_COST) to print the best mode, cost
37974 chosen at each level.
37975 [6849a1f910d0]
37976
37977 2013-07-18 Steve Borho <steve@borho.org>
37978
37979 * source/Lib/TLibEncoder/TEncSearch.cpp:
37980 TEncSearch: remove unused variable
37981 [8878236b696d]
37982
37983 2013-07-18 Min Chen <chenm003@163.com>
37984
37985 * source/Lib/TLibCommon/TComPrediction.cpp,
37986 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
37987 source/common/primitives.h, source/common/vec/intrapred.inc,
37988 source/encoder/compress.cpp, source/test/intrapredharness.cpp:
37989 intrapred: improvement intra_pred_planar
37990 [c65a482b2879]
37991
37992 2013-07-18 Deepthi <Deepthi>
37993
37994 * Merge
37995 [dacf6c061e81]
37996
37997 * source/CMakeLists.txt:
37998 NO_RDO_EARLY_EXIT: experimental macro to play with early exit of
37999 analysis
38000 [3eca40de1a35]
38001
38002 2013-07-18 Steve Borho <steve@borho.org>
38003
38004 * source/Lib/TLibCommon/TypeDef.h:
38005 TypeDef: declare g_bitDepth extern if used for X265_DEPTH
38006 [f813f110d69a]
38007
38008 2013-07-18 Deepthi <Deepthi>
38009
38010 * source/encoder/compress.cpp:
38011 Merge
38012 [fa872fec6372]
38013
38014 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
38015 Backout changeset: c45fe1b2bd90
38016
38017 Reasons discussed. Performance improvement at the expense of
38018 quality/bitrate by avoiding the non-zero residual mode.
38019 [7f52bb181cf8]
38020
38021 2013-07-18 Steve Borho <steve@borho.org>
38022
38023 * source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h:
38024 csv: fix global PSNR calculation
38025 [031c4c889edc]
38026
38027 * source/x265.cpp:
38028 csv: add missing fps and line feed
38029 [de92dfd387a2]
38030
38031 * source/encoder/compress.cpp:
38032 compress: fix debug build
38033 [ed69790ac6d4]
38034
38035 * source/Lib/TLibEncoder/TEncTop.cpp,
38036 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
38037 source/x265.cpp, source/x265.h, source/x265opts.h:
38038 x265: add --csv logfile command line
38039 [5bb6d0e451c2]
38040
38041 * source/encoder/encoder.cpp, source/encoder/encoder.h:
38042 encoder: nit
38043 [47f97d1adb8a]
38044
38045 2013-07-17 Steve Borho <steve@borho.org>
38046
38047 * source/common/common.cpp, source/common/common.h,
38048 source/encoder/encoder.cpp:
38049 common: enforce global variables not changing within a single
38050 process
38051 [1d77c9eab71f]
38052
38053 * source/Lib/TLibCommon/TComPrediction.cpp,
38054 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38055 source/Lib/TLibCommon/TComYuv.cpp,
38056 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
38057 source/common/TShortYUV.h:
38058 TShortYuv: cleanup
38059 [b806d6e8f299]
38060
38061 * source/Lib/TLibCommon/TComPicYuv.cpp,
38062 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
38063 source/common/TShortYUV.cpp, source/common/TShortYUV.h:
38064 TComYuv: cleanup
38065 [34bbe4ec628f]
38066
38067 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
38068 source/Lib/TLibEncoder/TEncEntropy.cpp,
38069 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38070 source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
38071 remove other various internal users of bitdepth variables
38072 [69b55b6be18c]
38073
38074 * source/Lib/TLibCommon/TComRdCost.cpp,
38075 source/Lib/TLibCommon/TComRdCost.h,
38076 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
38077 source/Lib/TLibEncoder/TEncSearch.cpp:
38078 TComRdCost: remove bitdepth from distParam
38079 [f313ce8116b8]
38080
38081 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
38082 TComPicYuv: remove bitdepth arguments
38083 [474327bdbefc]
38084
38085 * source/Lib/TLibCommon/TComPattern.cpp,
38086 source/Lib/TLibCommon/TComPattern.h:
38087 TComPattern: remove bitdepth argument from fillReferenceSamples
38088 [2848c686e55f]
38089
38090 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
38091 source/Lib/TLibEncoder/TEncEntropy.cpp:
38092 TComRom: remove hungarian prefix, fix comment typo
38093 [c227aa627d52]
38094
38095 * source/Lib/TLibCommon/TComPrediction.cpp,
38096 source/Lib/TLibCommon/TComTrQuant.cpp,
38097 source/Lib/TLibCommon/TComTrQuant.h,
38098 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38099 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
38100 source/common/intrapred.cpp, source/common/ipfilter.cpp,
38101 source/common/pixel.cpp, source/common/primitives.h,
38102 source/common/reference.cpp, source/common/vec/dct.inc,
38103 source/common/vec/intrapred.inc, source/common/vec/ipfilter16.inc,
38104 source/common/vec/ipfilter8.inc, source/common/vec/pixel8.inc,
38105 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
38106 source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
38107 primitives: remove bitdepth arguments from all primitives and other
38108 functions
38109 [0f5a9a141244]
38110
38111 * source/common/primitives.h:
38112 primitives: enable EMMS for random compilers, remove unused define
38113 [1a0fbfe3066d]
38114
38115 * source/Lib/TLibCommon/TComLoopFilter.cpp,
38116 source/Lib/TLibCommon/TComPattern.cpp,
38117 source/Lib/TLibCommon/TComPicYuv.cpp,
38118 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
38119 source/Lib/TLibCommon/TComPrediction.cpp,
38120 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
38121 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38122 source/Lib/TLibCommon/TComSlice.cpp,
38123 source/Lib/TLibCommon/TComTrQuant.cpp,
38124 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38125 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
38126 source/Lib/TLibEncoder/TEncCu.cpp,
38127 source/Lib/TLibEncoder/TEncEntropy.cpp,
38128 source/Lib/TLibEncoder/TEncGOP.cpp,
38129 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38130 source/Lib/TLibEncoder/TEncSearch.cpp,
38131 source/Lib/TLibEncoder/TEncTop.cpp,
38132 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
38133 source/common/common.cpp, source/common/reference.cpp:
38134 Make 8bpp bit depth a compile define (X265_DEPTH=8), g_bitDepthY ->
38135 g_bitDepth
38136 [648cf3243a4d]
38137
38138 * source/Lib/TLibCommon/TypeDef.h:
38139 TypeDef: white-space nits
38140 [e5bd6f54af40]
38141
38142 * source/Lib/TLibCommon/TypeDef.h:
38143 Remove hacks for VC6, we support nothing before VC9
38144 [1c3713fe241e]
38145
38146 * source/Lib/TLibCommon/TComTrQuant.cpp,
38147 source/Lib/TLibCommon/TComTrQuant.h,
38148 source/Lib/TLibEncoder/TEncSearch.cpp:
38149 TComTrQuant: eText argument is no longer needed for
38150 invRecurTransformNxN
38151 [ceec75c37e20]
38152
38153 * source/Lib/TLibCommon/TComLoopFilter.cpp,
38154 source/Lib/TLibCommon/TComPattern.cpp,
38155 source/Lib/TLibCommon/TComPicYuv.cpp,
38156 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
38157 source/Lib/TLibCommon/TComPrediction.cpp,
38158 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
38159 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38160 source/Lib/TLibCommon/TComSlice.cpp,
38161 source/Lib/TLibCommon/TComTrQuant.cpp,
38162 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38163 source/Lib/TLibCommon/TComYuv.cpp,
38164 source/Lib/TLibEncoder/TEncCu.cpp,
38165 source/Lib/TLibEncoder/TEncEntropy.cpp,
38166 source/Lib/TLibEncoder/TEncGOP.cpp,
38167 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38168 source/Lib/TLibEncoder/TEncSearch.cpp,
38169 source/Lib/TLibEncoder/TEncTop.cpp,
38170 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
38171 source/common/common.cpp, source/test/mbdstharness.cpp:
38172 Remove separate bitdepth configurable for chroma
38173
38174 Our x265_param_t has never allowed chroma depth to be different from
38175 luma depth, so this is just a simplification of the code. This will
38176 allow further optimizations to shortly follow.
38177 [0a3d2667aab8]
38178
38179 * source/Lib/TLibCommon/TComPrediction.cpp,
38180 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38181 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
38182 source/Lib/TLibEncoder/TEncCu.cpp,
38183 source/Lib/TLibEncoder/TEncGOP.cpp,
38184 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
38185 source/common/reference.cpp, source/encoder/compress.cpp:
38186 change 16bpp Pel to UShort, equivalent to x264's uint16_t
38187
38188 This removes a metric ton of ugly casts and makes the code a lot
38189 more readable, and it should keep the 16bpp build from being
38190 accidentally broken when Pels are passed to functions as pixels.
38191 [57404da2493d]
38192
38193 * source/common/TShortYUV.cpp:
38194 blockcopy: further 16bpp fixes
38195 [7fb13585cfa3]
38196
38197 * source/test/pixelharness.cpp:
38198 pixelharness: one change was missed from last commit
38199 [d3594896e12e]
38200
38201 * source/common/TShortYUV.cpp, source/common/pixel.cpp,
38202 source/common/primitives.h, source/common/vec/blockcopy.inc,
38203 source/test/pixelharness.cpp:
38204 blockcopy: fix 16bpp build, pixelsubsp -> pixelsub_sp
38205 [dd8d73aeb1de]
38206
38207 * source/encoder/compress.cpp:
38208 compress: uncrustify
38209 [f10a163531a4]
38210
38211 2013-07-15 sumalatha <sumalatha>
38212
38213 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
38214 Changes in merge mode in no-rdo path for better psnr improvement and
38215 time performance
38216 [c45fe1b2bd90]
38217
38218 2013-07-17 Steve Borho <steve@borho.org>
38219
38220 * source/Lib/TLibCommon/TComPrediction.cpp,
38221 source/common/intrapred.cpp, source/common/primitives.h,
38222 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
38223 Backed out changeset: aee4a23a8f01 (does not compile)
38224 [4ffaf245b427]
38225
38226 2013-07-17 Min Chen <chenm003@163.com>
38227
38228 * source/Lib/TLibCommon/TComPrediction.cpp,
38229 source/common/intrapred.cpp, source/common/primitives.h,
38230 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
38231 intrapred: improvement intra_pred_planar
38232 [aee4a23a8f01]
38233
38234 * source/test/intrapredharness.cpp:
38235 cleanup: remove unused debug code
38236 [dd6ca15e90ac]
38237
38238 2013-07-17 Deepthi Devaki <Deepthi Devaki>
38239
38240 * source/common/ipfilter.cpp, source/common/primitives.h:
38241 C primitive for weighted ipfilter
38242 [2e067e3443c8]
38243
38244 2013-07-17 Deepthi <Deepthi>
38245
38246 * Merge
38247 [0cb8c7c9c7b2]
38248
38249 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
38250 HIGH_BIT_ENABLE build error fixed.
38251
38252 Any better idea to get rid of the c4333 warnings welcome.
38253 [800ea1ebadef]
38254
38255 2013-07-17 ggopu <ggopu>
38256
38257 * source/common/TShortYUV.cpp, source/common/pixel.cpp,
38258 source/common/primitives.h, source/common/vec/blockcopy.inc,
38259 source/test/pixelharness.cpp, source/test/pixelharness.h:
38260 TShortYUV : Implemented perfomance Primitives pixelsub_sp
38261 [054d8c409569]
38262
38263 2013-07-17 Steve Borho <steve@borho.org>
38264
38265 * source/Lib/TLibCommon/TComSlice.cpp,
38266 source/Lib/TLibEncoder/TEncSlice.cpp:
38267 TComSlice: relocate subpel generation to after weightp determination
38268 [0becdecde6ee]
38269
38270 2013-07-16 Steve Borho <steve@borho.org>
38271
38272 * source/Lib/TLibCommon/TComSlice.cpp:
38273 TComSlice: fix variable shadowing problem that was causing B frame
38274 bugs
38275
38276 This HM routine was using refRPC and pcRefRPC in the same function
38277 with entirely different meanings, and it bit me hard when I
38278 refactored this function with search+replace.
38279 [a3ca6eceb27a]
38280
38281 * source/Lib/TLibEncoder/TEncCfg.h,
38282 source/Lib/TLibEncoder/TEncGOP.cpp,
38283 source/Lib/TLibEncoder/TEncGOP.h,
38284 source/Lib/TLibEncoder/TEncSlice.cpp,
38285 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
38286 source/encoder/frameencoder.cpp:
38287 TEncGOP: cleanup, make TEncCfg WPP var a Bool
38288 [28ce2df5cb4d]
38289
38290 * source/Lib/TLibEncoder/TEncGOP.cpp,
38291 source/Lib/TLibEncoder/TEncGOP.h:
38292 TEncGOP: header cleanup
38293 [50b6e306dcbe]
38294
38295 * source/Lib/TLibCommon/TComPicYuv.cpp,
38296 source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.cpp:
38297 TComPicYuv: cleanup
38298 [c3fa187d5460]
38299
38300 * source/Lib/TLibCommon/TComPicYuv.h,
38301 source/Lib/TLibCommon/TComWeightPrediction.h:
38302 Replace includes with class forward decls
38303 [6ebabe789fc7]
38304
38305 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
38306 TComPic: cleanup
38307 [84c275972fee]
38308
38309 * source/Lib/TLibCommon/TComPicSym.cpp,
38310 source/Lib/TLibCommon/TComPicSym.h:
38311 TComPicSym: cleanup
38312 [6afb8bad8568]
38313
38314 * source/Lib/TLibCommon/TComSlice.cpp:
38315 TComSlice:: fix end-of-list handling in xGetRefPic
38316 [4a72479a9bc6]
38317
38318 * source/Lib/TLibEncoder/TEncSearch.cpp:
38319 TEncSearch: fix full search regression
38320 [07b381e97f7d]
38321
38322 * source/Lib/TLibCommon/TComSlice.cpp,
38323 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38324 source/Lib/TLibEncoder/TEncSearch.cpp:
38325 repair debug build after removing formal arugments by removing
38326 asserts
38327 [49adf99e9138]
38328
38329 * source/Lib/TLibEncoder/TEncCu.cpp:
38330 TEncCu: fixup after refactoring
38331
38332 I deleted the 0 argument instead of the NULL argument. MSVC didn't
38333 care but GCC flagged this as a warning. NULL can't be passed as an
38334 integer argument.
38335 [10abee4a15c5]
38336
38337 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
38338 TEncCu: remove unused xTuCollectARLStats
38339 [67c339ec83dd]
38340
38341 * source/Lib/TLibCommon/TComDataCU.cpp,
38342 source/Lib/TLibCommon/TComDataCU.h,
38343 source/Lib/TLibCommon/TComTrQuant.cpp,
38344 source/Lib/TLibCommon/TComTrQuant.h,
38345 source/Lib/TLibEncoder/TEncSearch.cpp,
38346 source/Lib/TLibEncoder/TEncSearch.h:
38347 remove buffers no longer used after removing AQ
38348 [0fbbde73203f]
38349
38350 * source/common/dct.cpp, source/common/primitives.h,
38351 source/common/vec/dct.inc, source/test/mbdstharness.cpp,
38352 source/test/mbdstharness.h:
38353 remove unreachable quantaq primitive
38354 [5b61ed2e33e4]
38355
38356 * source/Lib/TLibCommon/TComTrQuant.cpp,
38357 source/Lib/TLibCommon/TComTrQuant.h,
38358 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
38359 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
38360 source/Lib/TLibEncoder/TEncPic.cpp,
38361 source/Lib/TLibEncoder/TEncPic.h,
38362 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38363 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
38364 source/Lib/TLibEncoder/TEncSearch.cpp,
38365 source/Lib/TLibEncoder/TEncSlice.cpp,
38366 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
38367 source/encoder/frameencoder.cpp:
38368 Remove broken adaptive QP, fix unused parameter and variable
38369 warnings
38370
38371 All of TEncPic now goes away
38372 [979b9953d696]
38373
38374 * source/Lib/TLibEncoder/TEncCfg.h,
38375 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
38376 TEncCfg: hungarian cleanup
38377 [fc4718bd4565]
38378
38379 * source/Lib/TLibEncoder/TEncCfg.h:
38380 TEncCfg: remove unused istringstream operator
38381 [ae96f205c7b6]
38382
38383 * source/Lib/TLibEncoder/TEncSearch.cpp,
38384 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
38385 TEncSearch: remove unused formal parameters (quite a bit of
38386 unwinding here)
38387 [2389117c0085]
38388
38389 * source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
38390 source/Lib/TLibEncoder/TEncCavlc.cpp,
38391 source/Lib/TLibEncoder/TEncCavlc.h,
38392 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
38393 source/Lib/TLibEncoder/TEncGOP.cpp,
38394 source/Lib/TLibEncoder/TEncGOP.h,
38395 source/Lib/TLibEncoder/TEncSbac.cpp,
38396 source/Lib/TLibEncoder/TEncSlice.cpp,
38397 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
38398 source/Lib/TLibEncoder/WeightPredAnalysis.h,
38399 source/encoder/CMakeLists.txt:
38400 Stop ignoring many compiler warnings in TLibEncoder
38401
38402 Enable warnings about unused parameters, clean up the warnings
38403 reported. In a few cases I removed parameters that were obviously
38404 obsolete.
38405
38406 Enable warnings about unused variables, clean up the warnings.
38407 [c65db4ee3972]
38408
38409 * source/Lib/TLibCommon/TComPrediction.cpp,
38410 source/Lib/TLibCommon/TComPrediction.h,
38411 source/Lib/TLibEncoder/TEncSearch.cpp:
38412 TComPrediction: remove unused "bi" parameters to prediction
38413 functions
38414 [e047cdd02421]
38415
38416 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
38417 TComWeightPrediction: fix bug found by enabling warnings
38418 [cf568953fbe7]
38419
38420 * source/Lib/TLibCommon/TComBitStream.cpp,
38421 source/Lib/TLibCommon/TComDataCU.cpp,
38422 source/Lib/TLibCommon/TComPattern.cpp,
38423 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
38424 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
38425 source/Lib/TLibCommon/TComPrediction.cpp,
38426 source/Lib/TLibCommon/TComPrediction.h,
38427 source/Lib/TLibCommon/TComRdCost.cpp,
38428 source/Lib/TLibCommon/TComSlice.cpp,
38429 source/Lib/TLibCommon/TComSlice.h,
38430 source/Lib/TLibCommon/TComTrQuant.cpp,
38431 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38432 source/Lib/TLibEncoder/TEncGOP.cpp,
38433 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/CMakeLists.txt,
38434 source/encoder/compress.cpp:
38435 Stop ignoring many compiler warnings in TLibCommon
38436
38437 Enable warnings about unused parameters, clean up the warnings
38438 reported. In a few cases I removed parameters that were obviously
38439 obsolete.
38440
38441 Enable warnings about unused variables, clean up the warnings. This
38442 actually found a recently introduced bug.
38443 [4a86baaac709]
38444
38445 2013-07-16 Min Chen <chenm003@163.com>
38446
38447 * source/Lib/TLibCommon/TComPrediction.cpp,
38448 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
38449 source/common/primitives.h, source/common/vec/intrapred.inc,
38450 source/encoder/compress.cpp, source/test/intrapredharness.cpp:
38451 intrapred: improvement intra_pred_dc
38452 [cf614acd8099]
38453
38454 2013-07-16 Deepthi <Deepthi>
38455
38456 * Merge
38457 [8f632c25d1ee]
38458
38459 * source/encoder/compress.cpp:
38460 Merge
38461 [0eb8a3db4b3f]
38462
38463 * source/encoder/compress.cpp:
38464 SSE cost calculation in inter-no-rdo. Raises quality and lowers
38465 bitrate (slightly). Will be changed into a CLI configurable if perf
38466 effect is significant.
38467 [29c1f5b64795]
38468
38469 2013-07-16 Steve Borho <steve@borho.org>
38470
38471 * source/Lib/TLibCommon/CommonDef.h,
38472 source/Lib/TLibCommon/ContextModel.cpp,
38473 source/Lib/TLibCommon/TComRom.h:
38474 more cleanups for CommonDef.h
38475
38476 * remove circular defininition of g_bitDepthY and g_bitDepthC
38477 * move Clip templates to TComRom.h
38478 * remove some dead defines
38479 [6ee321714568]
38480
38481 * source/Lib/TLibCommon/CommonDef.h,
38482 source/Lib/TLibCommon/TComCABACTables.h,
38483 source/Lib/TLibCommon/TComLoopFilter.h,
38484 source/Lib/TLibCommon/TComPicSym.h,
38485 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38486 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
38487 source/Lib/TLibCommon/TypeDef.h,
38488 source/Lib/TLibEncoder/TEncCavlc.cpp,
38489 source/Lib/TLibEncoder/TEncCfg.h,
38490 source/Lib/TLibEncoder/TEncGOP.cpp,
38491 source/Lib/TLibEncoder/TEncGOP.h,
38492 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38493 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
38494 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/TShortYUV.cpp,
38495 source/common/TShortYUV.h, source/common/dct.cpp,
38496 source/common/pixel.cpp, source/common/reference.cpp:
38497 TComSampleAdaptiveOffset: cleanup and global SR, major header
38498 cleanups
38499
38500 move all #defines from TypeDef.h to CommonDef.h and move all
38501 feature-specific structs from TypeDef.h to their more specific
38502 header
38503
38504 TypeDef.h should just define types (duh!) and CommonDef.h should
38505 just have defines.
38506 [778f0786eff8]
38507
38508 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
38509 TComWeightPrediction: hungarian cleanup
38510 [60812792ee78]
38511
38512 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
38513 source/Lib/TLibCommon/TComWeightPrediction.h,
38514 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
38515 source/common/TShortYUV.h:
38516 TComWeightPrediction: cleanup and global SR iPartUnitIdx ->
38517 partUnitIdx
38518 [0ad503ad1110]
38519
38520 2013-07-16 Deepthi Devaki <Deepthi Devaki>
38521
38522 * source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
38523 pixel8.inc, pixelharness : Uncrustified.
38524 [4774cbad2bfb]
38525
38526 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
38527 source/test/pixelharness.cpp:
38528 Vectorized WeightUni
38529 [f7d8f489f694]
38530
38531 2013-07-16 Steve Borho <steve@borho.org>
38532
38533 * source/common/vec/pixel-avx.cpp, source/common/vec/pixel-avx2.cpp,
38534 source/common/vec/pixel-sse2.cpp, source/common/vec/pixel-sse3.cpp,
38535 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel-
38536 sse42.cpp, source/common/vec/pixel-ssse3.cpp,
38537 source/common/vec/pixel.inc:
38538 pixel: move includes of pixel8.inc or pixel16.inc inside pixel.inc
38539
38540 This makes the pixel-ARCH.cpp files much simpler, and makes it
38541 easier to add headers for the pixel functions.
38542 [44b4fb45e005]
38543
38544 2013-07-15 Steve Borho <steve@borho.org>
38545
38546 * source/x265opts.h:
38547 x265: document --cpuid 1 behavior
38548 [c9bb72e8cb8e]
38549
38550 * source/Lib/TLibCommon/TComDataCU.cpp,
38551 source/Lib/TLibCommon/TComDataCU.h:
38552 TComDataCU: cleanup classmethods
38553 [48fb229ef210]
38554
38555 * source/Lib/TLibCommon/TComDataCU.cpp,
38556 source/Lib/TLibCommon/TComDataCU.h,
38557 source/Lib/TLibCommon/TComPicSym.cpp,
38558 source/Lib/TLibEncoder/TEncCu.cpp:
38559 TComDataCU: remove static ARL buffers, these were not thread safe
38560
38561 This is further proof that the ARL buffers are essentially unused
38562 the way we are using the encoder (with AQ disabled). It is very
38563 tempting to remove them globally.
38564 [a75833091e14]
38565
38566 * source/Lib/TLibCommon/TComDataCU.cpp,
38567 source/Lib/TLibCommon/TComDataCU.h,
38568 source/Lib/TLibCommon/TComPattern.cpp,
38569 source/Lib/TLibCommon/TComPicSym.cpp:
38570 TComDataCU: cleanup, remove "is a decoder" variable
38571 [75e5f85ae8e1]
38572
38573 * source/Lib/TLibCommon/TComDataCU.cpp,
38574 source/Lib/TLibCommon/TComDataCU.h,
38575 source/Lib/TLibCommon/TComLoopFilter.cpp,
38576 source/Lib/TLibCommon/TComLoopFilter.h,
38577 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38578 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
38579 source/Lib/TLibEncoder/TEncCu.cpp,
38580 source/Lib/TLibEncoder/TEncGOP.cpp,
38581 source/Lib/TLibEncoder/TEncGOP.h,
38582 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38583 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
38584 source/Lib/TLibEncoder/TEncSlice.cpp,
38585 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/compress.cpp:
38586 TEncSlice: less eye-bleed, more global SR
38587 [846887941425]
38588
38589 * source/Lib/TLibCommon/TComSlice.cpp,
38590 source/Lib/TLibCommon/TComSlice.h:
38591 TComSlice: cpp cleanup, remove unreferenced class static
38592 [cd5750e16bd7]
38593
38594 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
38595 source/Lib/TLibCommon/TComSlice.cpp,
38596 source/Lib/TLibCommon/TComSlice.h,
38597 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38598 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
38599 source/Lib/TLibEncoder/TEncCavlc.cpp,
38600 source/Lib/TLibEncoder/TEncSlice.cpp,
38601 source/Lib/TLibEncoder/TEncSlice.h,
38602 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
38603 source/Lib/TLibEncoder/WeightPredAnalysis.h:
38604 TComSlice: cleanup + global SR
38605 [26f767779d57]
38606
38607 2013-07-15 ggopu <ggopu>
38608
38609 * source/Lib/TLibEncoder/TEncGOP.cpp,
38610 source/Lib/TLibEncoder/TEncSlice.cpp,
38611 source/Lib/TLibEncoder/TEncSlice.h:
38612 TEncSlice: CleanUp and Removd Hungarian Notation
38613 [ae234c4c22e1]
38614
38615 2013-07-15 praveentiwari <praveentiwari>
38616
38617 * source/Lib/TLibCommon/TComRdCost.cpp:
38618 Cleaup the remaing functions in TComRdCost.cpp file
38619 [b47059899650]
38620
38621 2013-07-15 ggopu <ggopu>
38622
38623 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
38624 source/Lib/TLibEncoder/TEncEntropy.cpp,
38625 source/encoder/frameencoder.cpp:
38626 TEncCU and TEncEntrophy: Clean Up
38627 [cfb5b30ddadb]
38628
38629 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38630 source/Lib/TLibCommon/TComSlice.cpp,
38631 source/Lib/TLibEncoder/TEncCavlc.cpp:
38632 Cleanup and removed Hungarian notation
38633 [add9f7dc8c83]
38634
38635 2013-07-12 Steve Borho <steve@borho.org>
38636
38637 * source/x265.cpp, source/x265opts.h:
38638 x265: add --no-progress CLI option to disable reports when capturing
38639 output
38640 [9e689682ffb1]
38641
38642 * source/common/vec/blockcopy.inc:
38643 blockcopy: AVX2 compress and extend ended up being a perf loss
38644 [9afb0e925451]
38645
38646 * source/common/vec/blockcopy.inc:
38647 blockcopy: add AVX2 fast paths
38648 [17a78803a971]
38649
38650 * source/common/vec/blockcopy.inc:
38651 blockcopy: ensure strides obey alignment requirements
38652
38653 This should fix crashes reported by Shanthan and Brian from
38654 Telestream
38655 [64e98159b25e]
38656
38657 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
38658 pixel: add AVX2 sad_x4 for 32 and 64 wide blocks
38659 [c51d6f92205e]
38660
38661 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
38662 pixel: add AVX2 sad_x3 for 32 and 64 wide blocks
38663 [037d8072cf60]
38664
38665 * source/common/vec/pixel8.inc:
38666 pixel8: CurN -> frefN
38667 [17bec876e8ed]
38668
38669 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
38670 primitives.cpp:
38671 cmake: allow icpc to build AVX2 intrinsics
38672 [bee415cae643]
38673
38674 * source/VectorClass/vectori256.h, source/common/vec/pixel.inc,
38675 source/common/vec/pixel8.inc:
38676 pixel: add AVX2 sad primitives for 32 and 64 wide blocks
38677 [87eadb9849bc]
38678
38679 * .hgtags:
38680 Added tag 0.2 for changeset b3471d9009f5
38681 [391d4aeb3acc]
38682
38683 * source/cmake/version.cmake:
38684 cmake: properly handle tagged release archives
38685 [b3471d9009f5] [0.2]
38686
38687 * source/common/mv.h:
38688 mv: remove unused toFPel() method
38689 [cabc9474ccfc]
38690
38691 * source/common/wavefront.cpp, source/common/wavefront.h,
38692 source/encoder/frameencoder.cpp, source/test/testpool.cpp:
38693 wavefront: coding-style fixes, improve comments
38694 [09cc9680e85d]
38695
38696 * source/common/wavefront.h:
38697 wavefront: cleanup method comments
38698 [1a2e10dbb8a3]
38699
38700 * build/README.txt, source/cmake/version.cmake:
38701 cmake: do not cache x265 version from ENV var, update status message
38702 [60d1a6e70946]
38703
38704 * source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h:
38705 ppa: change license to x265 GPL+commercial license
38706 [b99630f44717]
38707
38708 * source/CMakeLists.txt:
38709 cmake: add a cmake option to statically link CRT on Windows release
38710 builds
38711 [c9625ddb711d]
38712
38713 * source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
38714 source/VectorClass/vectorf256.h, source/VectorClass/vectorf256e.h:
38715 remove vector class floating point, simplify includes
38716 [4f9a3bda6185]
38717
38718 * source/VectorClass/special/complexvec.h,
38719 source/VectorClass/special/decimal.h,
38720 source/VectorClass/special/quaternion.h,
38721 source/VectorClass/special/vector3d.h,
38722 source/VectorClass/special/vectormath.h:
38723 remove vector class special floating point headers
38724 [91271bbcda30]
38725
38726 * source/CMakeLists.txt, source/tools/CMakeLists.txt,
38727 source/tools/dr_psnr/CMakeLists.txt,
38728 source/tools/dr_psnr/PsnrCalculator.cpp,
38729 source/tools/dr_psnr/PsnrCalculator.h,
38730 source/tools/dr_psnr/SSIMCalculator.cpp,
38731 source/tools/dr_psnr/SSIMCalculator.h,
38732 source/tools/dr_psnr/dr_psnr.cpp:
38733 remove dr_psnr, it's a mess and no-one is working on it
38734 [0839ec783eaf]
38735
38736 * source/tools/TestForChecking_BadCommit.bat,
38737 source/tools/performanceProfiler/Profiler.bat,
38738 source/tools/performanceProfiler/Readme.txt,
38739 source/tools/performanceProfiler/config.txt,
38740 source/tools/performanceProfiler/performanceProfiler.bat:
38741 remove obsolete perf batch files
38742 [41ec50a27f4f]
38743
38744 * build/README.txt:
38745 build: update README.txt
38746 [00400cf33211]
38747
38748 * build/BuildEncoderApplications.bat, build/ConfigureBuild.bash,
38749 build/ConfigureBuild.bat, build/CreateRegressionPackage.bat,
38750 build/CreateRegressionPackage.sh, build/RunEncoderApplications.bat,
38751 build/config.txt:
38752 remove obsolete regression tests and batch build scripts
38753 [4207769d7bd6]
38754
38755 2013-07-12 Min Chen <chenm003@163.com>
38756
38757 * source/common/vec/intrapred.inc:
38758 intrapred: cleanup pDst
38759 [18f282e09b36]
38760
38761 2013-07-12 praveentiwari <praveentiwari>
38762
38763 * source/Lib/TLibCommon/TComRdCost.cpp:
38764 TComRdCost::xGetSSE32 cleanup
38765 [dd2dfd0e1acf]
38766
38767 * source/Lib/TLibCommon/TComRdCost.cpp:
38768 xGetSSE32Help cleanup
38769 [08a9378c2d71]
38770
38771 * source/Lib/TLibCommon/TComRdCost.cpp:
38772 TComRdCost::xGetSSE16N cleanup
38773 [99196b0684e6]
38774
38775 * source/Lib/TLibCommon/TComRdCost.cpp:
38776 xGetSSE16NHelp cleanup
38777 [dfc5c4114f63]
38778
38779 * source/Lib/TLibCommon/TComRdCost.cpp:
38780 TComRdCost::xGetSSE16 cleanup
38781 [11d28b173c04]
38782
38783 * source/Lib/TLibCommon/TComRdCost.cpp:
38784 xGetSSE16Help cleanup
38785 [75305fa33a5f]
38786
38787 * source/Lib/TLibCommon/TComRdCost.cpp:
38788 TComRdCost::xGetSSE8 cleanup
38789 [03bbb4c9ae99]
38790
38791 * source/Lib/TLibCommon/TComRdCost.cpp:
38792 xGetSSE8Help cleanup
38793 [f0038e6006e1]
38794
38795 * source/Lib/TLibCommon/TComRdCost.cpp:
38796 TComRdCost::xGetSSE4 cleanup
38797 [3f8bffc3f0ba]
38798
38799 * source/Lib/TLibCommon/TComRdCost.cpp:
38800 xGetSSE4Help cleanup
38801 [fd8c0d5c4983]
38802
38803 * source/Lib/TLibCommon/TComRdCost.cpp:
38804 TComRdCost::xGetSSE cleanup
38805 [18f845fde53f]
38806
38807 * source/Lib/TLibCommon/TComRdCost.cpp:
38808 xGetSSEHelp cleanup
38809 [ea7669697410]
38810
38811 * source/Lib/TLibCommon/TComRdCost.cpp:
38812 TComRdCost::xGetSAD48 cleanup
38813 [169e5b28f63f]
38814
38815 * source/Lib/TLibCommon/TComRdCost.cpp:
38816 TComRdCost::xGetSAD64 cleanup
38817 [5ed30c9ea3c5]
38818
38819 * source/Lib/TLibCommon/TComRdCost.cpp:
38820 TComRdCost::xGetSAD24 cleanup
38821 [1dc0453c1670]
38822
38823 * source/Lib/TLibCommon/TComRdCost.cpp:
38824 TComRdCost::xGetSAD32 cleanup
38825 [0bfaaf368618]
38826
38827 * source/Lib/TLibCommon/TComRdCost.cpp:
38828 TComRdCost::xGetSAD16N cleanup
38829 [904837a3a1de]
38830
38831 * source/Lib/TLibCommon/TComRdCost.cpp:
38832 TComRdCost::xGetSAD12 cleanup
38833 [f8933cd25eca]
38834
38835 * source/Lib/TLibCommon/TComRdCost.cpp:
38836 Clean up the white-space by lining up
38837 [eb92dec76124]
38838
38839 * source/Lib/TLibCommon/TComRdCost.cpp:
38840 TComRdCost::xGetSAD16 cleanup
38841 [ae6d26dee61f]
38842
38843 * source/Lib/TLibCommon/TComRdCost.cpp:
38844 TComRdCost::xGetSAD8 cleanup
38845 [d9e9186e2e6f]
38846
38847 * source/Lib/TLibCommon/TComRdCost.cpp:
38848 TComRdCost::xGetSAD4 cleanup
38849 [151ff0670a0a]
38850
38851 2013-07-12 Steve Borho <steve@borho.org>
38852
38853 * source/common/x86/asm-primitives.cpp:
38854 asm: disable sad_x3 for AVX2, does not pass tests
38855 [077dc358e9fa]
38856
38857 2013-07-12 praveentiwari <praveentiwari>
38858
38859 * source/Lib/TLibCommon/TComRdCost.cpp:
38860 TComRdCost::xGetSAD cleanup
38861 [f3b49b4bc244]
38862
38863 * source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
38864 Fix for Debug version build
38865 [6fc940f59c01]
38866
38867 * source/Lib/TLibCommon/TComRdCost.cpp:
38868 TComRdCost::setDistParam overloaded version clenup
38869 [7a1c0fc82cb0]
38870
38871 * source/Lib/TLibCommon/TComRdCost.cpp:
38872 TComRdCost::setLambda cleanup
38873 [6c97e265b662]
38874
38875 * source/Lib/TLibCommon/TComRdCost.cpp:
38876 TComRdCost::setDistParam cleanup
38877 [191eca565ac9]
38878
38879 * source/Lib/TLibCommon/TComRdCost.cpp,
38880 source/Lib/TLibCommon/TComRdCost.h,
38881 source/Lib/TLibEncoder/TEncSearch.cpp:
38882 bApplyWeight member variable replaced with applyWeight
38883 [22a03cf91021]
38884
38885 2013-07-12 Steve Borho <steve@borho.org>
38886
38887 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
38888 source/Lib/TLibEncoder/TEncSearch.cpp:
38889 Fix Build Errors for HIGH_BIT_DEPTH enable
38890 [8758e968520c]
38891
38892 2013-07-12 praveentiwari <praveentiwari>
38893
38894 * source/Lib/TLibCommon/TComRdCost.cpp,
38895 source/Lib/TLibCommon/TComRdCost.h,
38896 source/Lib/TLibEncoder/TEncSearch.cpp:
38897 iSubShift member variable replaced with subShift for all referances
38898 [deffbdd77bb4]
38899
38900 * source/Lib/TLibEncoder/TEncSearch.cpp:
38901 Uncrustified TEncSearch.cpp file
38902 [8847796da616]
38903
38904 2013-07-11 Steve Borho <steve@borho.org>
38905
38906 * source/x265.cpp:
38907 x265: prune dead short_options and fix no-arg flags
38908 [1858833d3ef1]
38909
38910 * source/Lib/TLibEncoder/TEncSearch.cpp,
38911 source/Lib/TLibEncoder/TEncSearch.h:
38912 TEncSearch: remove unnecessary pointer argument refs
38913 [a1b29fa01efb]
38914
38915 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
38916 compress: hungarian cleanups, white-space fixes
38917 [b15db4f286f6]
38918
38919 * source/common/common.h:
38920 common: fixup commit for previous (msvc didn't write the file)
38921 [d36cc90f9848]
38922
38923 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
38924 source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
38925 source/encoder/encoder.cpp, source/x265.cpp:
38926 x265: call x265_set_globals() when the encoder is created
38927 [3d61f1b09eb6]
38928
38929 * source/Lib/TLibCommon/TComDataCU.cpp,
38930 source/Lib/TLibCommon/TComLoopFilter.cpp,
38931 source/Lib/TLibCommon/TComMotionInfo.h,
38932 source/Lib/TLibCommon/TComPrediction.cpp,
38933 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38934 source/Lib/TLibCommon/TComTrQuant.h,
38935 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38936 source/Lib/TLibEncoder/TEncCavlc.cpp,
38937 source/Lib/TLibEncoder/TEncCavlc.h,
38938 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
38939 source/Lib/TLibEncoder/TEncEntropy.cpp,
38940 source/Lib/TLibEncoder/TEncEntropy.h,
38941 source/Lib/TLibEncoder/TEncGOP.cpp,
38942 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
38943 source/Lib/TLibEncoder/TEncSbac.cpp,
38944 source/Lib/TLibEncoder/TEncSbac.h,
38945 source/Lib/TLibEncoder/TEncSearch.cpp,
38946 source/Lib/TLibEncoder/TEncSlice.cpp,
38947 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/compress.cpp,
38948 source/encoder/frameencoder.h:
38949 TEncCu: more de-hungarian, global SR, and AMVPInfo cleanups
38950 [d75d51592719]
38951
38952 * source/Lib/TLibCommon/TComDataCU.cpp,
38953 source/Lib/TLibCommon/TComDataCU.h,
38954 source/Lib/TLibCommon/TComLoopFilter.cpp,
38955 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
38956 source/Lib/TLibCommon/TComPicSym.h,
38957 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38958 source/Lib/TLibCommon/TComSlice.cpp,
38959 source/Lib/TLibCommon/TComYuv.h, source/Lib/TLibEncoder/TEncCu.cpp,
38960 source/Lib/TLibEncoder/TEncCu.h,
38961 source/Lib/TLibEncoder/TEncEntropy.cpp,
38962 source/Lib/TLibEncoder/TEncSbac.cpp,
38963 source/Lib/TLibEncoder/TEncSlice.cpp,
38964 source/Lib/TLibEncoder/TEncSlice.h, source/common/TShortYUV.h,
38965 source/encoder/compress.cpp, source/encoder/frameencoder.cpp:
38966 TEncCu: more de-hungarian and global SR and more cleanups
38967 [d5ab0435a15b]
38968
38969 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
38970 source/encoder/compress.cpp:
38971 TEncCu: de-hungarian buffer member variables
38972 [870fe66f4533]
38973
38974 * source/Lib/TLibEncoder/TEncCu.h:
38975 TEncCu: white-space and comment cleanups
38976 [0a126dd487b2]
38977
38978 * source/Lib/TLibCommon/TComPattern.cpp:
38979 TComPattern: finishing touches
38980 [f2ff5cb195fc]
38981
38982 * source/Lib/TLibCommon/TComPattern.h:
38983 TComPattern: white-space cleanup of header
38984 [98e1d31e7029]
38985
38986 * source/Lib/TLibCommon/TComDataCU.cpp,
38987 source/Lib/TLibCommon/TComPattern.cpp,
38988 source/Lib/TLibCommon/TComPattern.h:
38989 TComPattern: de-hungarian, and global SR
38990 [c75bdba9683f]
38991
38992 * source/Lib/TLibCommon/TComDataCU.cpp,
38993 source/Lib/TLibCommon/TComDataCU.h,
38994 source/Lib/TLibCommon/TComLoopFilter.cpp,
38995 source/Lib/TLibCommon/TComLoopFilter.h,
38996 source/Lib/TLibCommon/TComPattern.cpp,
38997 source/Lib/TLibCommon/TComPattern.h,
38998 source/Lib/TLibCommon/TComPicYuv.cpp,
38999 source/Lib/TLibCommon/TComPicYuv.h,
39000 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
39001 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
39002 source/Lib/TLibCommon/TComSlice.cpp,
39003 source/Lib/TLibCommon/TComTrQuant.cpp,
39004 source/Lib/TLibCommon/TComTrQuant.h,
39005 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
39006 source/Lib/TLibEncoder/TEncGOP.cpp,
39007 source/Lib/TLibEncoder/TEncPic.cpp,
39008 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
39009 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
39010 source/Lib/TLibEncoder/WeightPredAnalysis.h,
39011 source/common/pixel.cpp:
39012 TComPattern: cleanup + global SR
39013
39014 neighbouring => neighboring, iStride -> stride, iComp -> comp
39015 [5d5c89968b66]
39016
39017 * source/common/common.cpp:
39018 Backed out changeset: 064e6bfa93f0 (too much PSNR loss to be
39019 default)
39020 [61d15d0b453d]
39021
39022 * source/Lib/TLibCommon/TComDataCU.cpp,
39023 source/Lib/TLibCommon/TComDataCU.h,
39024 source/Lib/TLibCommon/TComLoopFilter.cpp,
39025 source/Lib/TLibCommon/TComMotionInfo.cpp,
39026 source/Lib/TLibCommon/TComMotionInfo.h,
39027 source/Lib/TLibCommon/TComPattern.cpp,
39028 source/Lib/TLibCommon/TComSlice.h:
39029 TComMotionInfo: simplify TComCUMvField
39030 [24d0170026dc]
39031
39032 * source/Lib/TLibCommon/TComDataCU.cpp,
39033 source/Lib/TLibCommon/TComDataCU.h,
39034 source/Lib/TLibCommon/TComMotionInfo.cpp,
39035 source/Lib/TLibCommon/TComMotionInfo.h:
39036 TComMotionInfo: simplify TComMvField
39037 [73fec016b9b9]
39038
39039 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
39040 source/x265opts.h:
39041 x265: hide busted adaptive QP functionality
39042
39043 This might get ripped out entirely, will wait until after the GPL
39044 release
39045 [be8598d81e19]
39046
39047 * source/common/common.cpp:
39048 x265: roughly alphabetize tool option reporting
39049 [771d4d232d7e]
39050
39051 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
39052 source/x265opts.h:
39053 x265: hide --sao-max-offsets argument
39054 [93d5e906c6ef]
39055
39056 * source/common/common.cpp:
39057 x265: enable --fast-cbf by default [CHANGES OUTPUTS]
39058
39059 This appears to be a really good trade-off when RDO is enabled
39060 [064e6bfa93f0]
39061
39062 * source/common/common.cpp:
39063 x265: tweak option logging
39064 [41d1a452c033]
39065
39066 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
39067 source/x265opts.h:
39068 x265: hide --tmvp parameter, it does not appear useful
39069
39070 --tmvp 0 and 2 appear to both be worse than the default In the
39071 interest of simplifying our API for the near-term, I'm removing the
39072 param
39073 [98fb5cbf6f57]
39074
39075 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
39076 source/x265opts.h:
39077 x265: hide --merge-level parameter, it does not appear useful
39078
39079 --merge-level 3 decreases bitrate very slightly
39080 --merge-level 4 increases bitrate
39081
39082 In the interest of simplifying our API for the near-term, I'm
39083 removing the param
39084 [c1fd77c0a995]
39085
39086 * source/Lib/TLibCommon/TComTrQuant.cpp,
39087 source/Lib/TLibCommon/TComTrQuant.h,
39088 source/Lib/TLibEncoder/TEncCu.cpp,
39089 source/Lib/TLibEncoder/TEncGOP.cpp,
39090 source/Lib/TLibEncoder/TEncSbac.cpp,
39091 source/Lib/TLibEncoder/TEncSbac.h:
39092 TComTrQuant: nits and global SR
39093 [3cfa626d1ec4]
39094
39095 * source/Lib/TLibCommon/TComTrQuant.cpp,
39096 source/Lib/TLibCommon/TComTrQuant.h:
39097 TComTrQuant: remove hungarian from QpParam
39098 [959bd4f14b23]
39099
39100 * source/Lib/TLibCommon/TComPrediction.cpp,
39101 source/Lib/TLibCommon/TComPrediction.h:
39102 TComPrediction: remove a couple more invalid pointer refs, fix a
39103 comment
39104 [a930ca2615c1]
39105
39106 * source/Lib/TLibEncoder/TEncSearch.cpp:
39107 fix variable shadow warnings reported by GCC
39108 [2f36960fb069]
39109
39110 * source/Lib/TLibCommon/TComLoopFilter.cpp,
39111 source/Lib/TLibCommon/TComLoopFilter.h,
39112 source/Lib/TLibCommon/TComSlice.cpp,
39113 source/Lib/TLibEncoder/TEncSlice.cpp,
39114 source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
39115 refactor: iDir->dir, iList->list
39116 [17f0a360918f]
39117
39118 * source/Lib/TLibCommon/TComDataCU.cpp,
39119 source/Lib/TLibCommon/TComDataCU.h,
39120 source/Lib/TLibCommon/TComLoopFilter.cpp,
39121 source/Lib/TLibCommon/TComMotionInfo.cpp,
39122 source/Lib/TLibCommon/TComMotionInfo.h,
39123 source/Lib/TLibCommon/TComPrediction.cpp,
39124 source/Lib/TLibCommon/TComPrediction.h,
39125 source/Lib/TLibCommon/TComSlice.cpp,
39126 source/Lib/TLibCommon/TComSlice.h,
39127 source/Lib/TLibCommon/TComTrQuant.cpp,
39128 source/Lib/TLibCommon/TComWeightPrediction.cpp,
39129 source/Lib/TLibCommon/TComWeightPrediction.h,
39130 source/Lib/TLibEncoder/TEncCavlc.cpp,
39131 source/Lib/TLibEncoder/TEncGOP.cpp,
39132 source/Lib/TLibEncoder/TEncSearch.cpp,
39133 source/Lib/TLibEncoder/TEncSlice.cpp,
39134 source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
39135 TComPrediction: remove ptr arg references, plus some global
39136 search/replace
39137 [b14b992b3f0c]
39138
39139 * source/Lib/TLibCommon/TComDataCU.cpp,
39140 source/Lib/TLibCommon/TComPattern.cpp,
39141 source/Lib/TLibCommon/TComPattern.h,
39142 source/Lib/TLibCommon/TComPrediction.cpp,
39143 source/Lib/TLibCommon/TComPrediction.h,
39144 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
39145 source/Lib/TLibCommon/TComSlice.cpp,
39146 source/Lib/TLibCommon/TComSlice.h,
39147 source/Lib/TLibCommon/TComTrQuant.cpp,
39148 source/Lib/TLibCommon/TComTrQuant.h,
39149 source/Lib/TLibCommon/TComWeightPrediction.cpp,
39150 source/Lib/TLibCommon/TComWeightPrediction.h,
39151 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
39152 TComPrediction: cleanup hungarian, plus some global search/replace
39153 [37d226b549d7]
39154
39155 * source/Lib/TLibCommon/TComPrediction.cpp,
39156 source/Lib/TLibCommon/TComPrediction.h,
39157 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
39158 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
39159 source/common/intrapred.cpp, source/common/ipfilter.cpp,
39160 source/common/vec/dct.inc, source/common/vec/ipfilter.inc,
39161 source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
39162 source/test/ipfilterharness.cpp:
39163 refactor: move subpel interpolation filters to TComRom, remove dups
39164 [8b7079adef37]
39165
39166 * source/Lib/TLibCommon/TComRdCost.cpp,
39167 source/Lib/TLibCommon/TComRdCost.h,
39168 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
39169 source/Lib/TLibEncoder/TEncSearch.cpp,
39170 source/Lib/TLibEncoder/TEncSearch.h:
39171 TComRdCost: adopt x264 style names, move last mv cost remnant to
39172 TEncSearch
39173 [9ffb3769afdb]
39174
39175 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
39176 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
39177 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
39178 source/encoder/compress.cpp:
39179 TEncCU, TEncSAO: global search/replace for common hungarian names
39180 [3edafbb958a7]
39181
39182 * source/Lib/TLibEncoder/TEncCu.cpp,
39183 source/Lib/TLibEncoder/TEncSearch.h:
39184 TEncSearch: cleanup set method names
39185 [251a3fb404f0]
39186
39187 * source/Lib/TLibEncoder/TEncSearch.cpp,
39188 source/Lib/TLibEncoder/TEncSearch.h:
39189 TEncSearch: further cleanups
39190 [0fe565be0395]
39191
39192 * source/Lib/TLibEncoder/TEncSearch.cpp,
39193 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
39194 TEncSearch: remove more hungarian from member vars, other cleanups
39195 [1992995f62f3]
39196
39197 * source/Lib/TLibEncoder/TEncSearch.cpp,
39198 source/Lib/TLibEncoder/TEncSearch.h:
39199 TEncSearch: cleanup init, remove unused s_dFilter, m_puiDFilter
39200 [1aa4e291c6dc]
39201
39202 * source/Lib/TLibEncoder/TEncSearch.cpp,
39203 source/Lib/TLibEncoder/TEncSearch.h:
39204 TEncSearch: remove hunariang prefixes from member vars, remove
39205 unused min/max
39206 [42754524511a]
39207
39208 * source/Lib/TLibEncoder/TEncSearch.cpp,
39209 source/Lib/TLibEncoder/TEncSearch.h:
39210 TEncSearch: remove hungarian prefixes from temp buffers
39211 [5098bd2dfa09]
39212
39213 * source/Lib/TLibEncoder/TEncSearch.cpp,
39214 source/Lib/TLibEncoder/TEncSearch.h:
39215 TEncSearch: remove unused singleton temp buffers
39216 [879890f4aa94]
39217
39218 * source/Lib/TLibEncoder/TEncSearch.cpp:
39219 TEncSearch: qtTempAccessLayer -> qtlayer
39220 [ab54c5d80683]
39221
39222 * source/Lib/TLibEncoder/TEncSearch.h:
39223 TEncSearch: remove redundant white-space
39224 [bb1b55c79d3d]
39225
39226 2013-07-11 Deepthi Devaki <Deepthi Devaki>
39227
39228 * source/common/pixel.cpp, source/common/primitives.h:
39229 WeightedPredicton: Code cleanup, variable renaming - no logic
39230 change.
39231 [b09304da8423]
39232
39233 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
39234 Weighted prediction primitives integrated to encoder.
39235 [a9cf11753b9d]
39236
39237 * source/common/pixel.cpp, source/common/primitives.h,
39238 source/test/pixelharness.cpp, source/test/pixelharness.h:
39239 C primitives and testbench support for weighted prediction
39240 unidirectional.
39241 [a8fba5231ff3]
39242
39243 2013-07-11 praveentiwari <praveentiwari>
39244
39245 * source/Lib/TLibCommon/TComRdCost.cpp,
39246 source/Lib/TLibCommon/TComRdCost.h,
39247 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
39248 iStrideCur member variable replaced with strideCur for all
39249 referances
39250 [cdc2757a09f0]
39251
39252 * source/Lib/TLibCommon/TComRdCost.cpp,
39253 source/Lib/TLibCommon/TComRdCost.h,
39254 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
39255 iStrideOrg member variable renamed to strideOrg for all referances
39256 [24670d4aea5e]
39257
39258 2013-07-11 Steve Borho <steve@borho.org>
39259
39260 * source/Lib/TLibEncoder/TEncSearch.cpp:
39261 TEncSearch: cleanup xEncodeResidualQT
39262 [c1e2e7ee80f8]
39263
39264 * source/Lib/TLibEncoder/TEncSearch.cpp:
39265 TEncSearch: further cleanup of xEstimateResidualQT
39266 [e8c50a292890]
39267
39268 * source/Lib/TLibEncoder/TEncSearch.cpp:
39269 TEncSearch: further cleanup of xEstimateResidualQT
39270 [dfdd07b57714]
39271
39272 * source/Lib/TLibEncoder/TEncSearch.cpp:
39273 TEncSearch: more cleanups
39274 [2d6cbbfeae8b]
39275
39276 * source/Lib/TLibEncoder/TEncSearch.cpp:
39277 TEncSearch: partial cleanup of xEstimateResidualQT
39278 [54b7e44a945f]
39279
39280 * source/Lib/TLibEncoder/TEncSearch.cpp:
39281 TEncSearch: cleanup encodeResAndCalcRdInterCU
39282 [740e4002bc8a]
39283
39284 * source/Lib/TLibEncoder/TEncSearch.cpp:
39285 TEncSearch: cleanup xPatternSearchFracDIF
39286 [5cfdcda40cd9]
39287
39288 * source/Lib/TLibEncoder/TEncSearch.cpp:
39289 TEncSearch: cleanup xPatternSearchFast
39290 [5170b6383156]
39291
39292 * source/Lib/TLibEncoder/TEncSearch.cpp:
39293 TEncSearch: cleanup xPatternSearch
39294 [ad8f26c19b65]
39295
39296 * source/Lib/TLibEncoder/TEncSearch.cpp:
39297 TEncSearch: cleanup xMotionEstimation
39298 [2158663a6e10]
39299
39300 * source/Lib/TLibEncoder/TEncSearch.cpp:
39301 TEncSearch: cleanup xGetTemplateCost and xEstimateMvPredAMVP
39302 [17699ac30ca9]
39303
39304 * source/Lib/TLibEncoder/TEncSearch.cpp:
39305 TEncSearch: cleanup predInterSearch
39306 [75d4bc043fa1]
39307
39308 * source/Lib/TLibEncoder/TEncSearch.cpp:
39309 TEncSearch: cleanup xMergeEstimation
39310 [322076f45e2a]
39311
39312 * source/Lib/TLibEncoder/TEncSearch.cpp:
39313 TEncSearch: cleanup IPCMSearch
39314 [a566e9fdb97a]
39315
39316 * source/Lib/TLibEncoder/TEncSearch.cpp:
39317 TEncSearch: cleanup xEncPCM
39318 [1a15e5414b07]
39319
39320 * source/Lib/TLibEncoder/TEncSearch.cpp:
39321 TEncSearch: cleanup estIntraPredChromaQT
39322 [6e8092345092]
39323
39324 * source/Lib/TLibEncoder/TEncSearch.cpp:
39325 TEncSearch: cleanup estIntraPredQT
39326 [725885f26120]
39327
39328 * source/Lib/TLibEncoder/TEncSearch.cpp:
39329 TEncSearch: cleanup preestChromaPredMode
39330 [a81b1600a1ae]
39331
39332 * source/Lib/TLibEncoder/TEncSearch.cpp:
39333 TEncSearch: cleanup xSetIntraResultChromaQT
39334 [a3bf887469c8]
39335
39336 * source/Lib/TLibEncoder/TEncSearch.cpp:
39337 TEncSearch: cleanup xRecurIntraChromaCodingQT
39338 [d8c562aab747]
39339
39340 * source/Lib/TLibEncoder/TEncSearch.cpp:
39341 TEncSearch: cleanup xLoadIntraResultChromaQT, use block copy
39342 primitives
39343 [87516ea1b92e]
39344
39345 * source/Lib/TLibEncoder/TEncSearch.cpp:
39346 TEncSearch: cleanup xStoreIntraResultChromaQT
39347 [204d2839f830]
39348
39349 * source/Lib/TLibEncoder/TEncSearch.cpp:
39350 TEncSearch: cleanup xLoadIntraResultQT, correct stride and size for
39351 chroma
39352 [7367545ec76a]
39353
39354 * source/Lib/TLibEncoder/TEncSearch.cpp:
39355 TEncSearch: cleanup xStoreIntraResultQT
39356 [65409511940b]
39357
39358 2013-07-10 Steve Borho <steve@borho.org>
39359
39360 * source/Lib/TLibEncoder/TEncSearch.cpp:
39361 TEncSearch: cleanup xSetIntraResultQT
39362 [b549964b4636]
39363
39364 * source/Lib/TLibEncoder/TEncSearch.cpp:
39365 TEncSearch: cleanup xRecurIntraCodingQT, use block copy primitives
39366 [5542e517b305]
39367
39368 * source/Lib/TLibEncoder/TEncSearch.cpp:
39369 TEncSearch: cleanup xIntraCodingChromaBlk
39370 [e383fa1d83b7]
39371
39372 * source/Lib/TLibEncoder/TEncSearch.cpp:
39373 TEncSearch: cleanup xIntraCodingLumaBlk
39374 [155ee7e2e1a8]
39375
39376 * source/Lib/TLibEncoder/TEncSearch.cpp,
39377 source/Lib/TLibEncoder/TEncSearch.h:
39378 TEncSearch: cleanup xEncCoeffQT, remove unused bRealCoeff
39379 [f5e166b6a6f2]
39380
39381 * source/Lib/TLibEncoder/TEncSearch.cpp:
39382 TEncSearch: cleanup xGetIntraBitsQT
39383 [c21dd51ed3ca]
39384
39385 * source/Lib/TLibEncoder/TEncSearch.cpp:
39386 TEncSearch: cleanup xEncIntraHeader
39387 [3031fd60571a]
39388
39389 * source/Lib/TLibEncoder/TEncSearch.cpp:
39390 TEncSearch: cleanup xEncCoeffQT
39391 [ff557176bba7]
39392
39393 * source/Lib/TLibEncoder/TEncSearch.cpp:
39394 TEncSearch: cleanup xEncSubdivCbfQT
39395 [d4433b481d08]
39396
39397 * source/Lib/TLibEncoder/TEncSearch.h:
39398 TEncSearch: remove meaningless consts and comments
39399 [2245a4a8b34d]
39400
39401 * source/Lib/TLibEncoder/TEncSearch.h:
39402 TEncSearch: followup renames
39403 [c1a9e7bb9749]
39404
39405 * source/Lib/TLibEncoder/TEncSearch.h:
39406 TEncSearch: cleanup the header
39407 [d09e321b4d06]
39408
39409 * source/common/primitives.h, source/common/vec/ipfilter16.inc,
39410 source/common/vec/ipfilter8.inc:
39411 primitives: cleanup funcdefs
39412 [d6ad445e4eeb]
39413
39414 * source/encoder/compress.cpp:
39415 compress: remove trailing white-space
39416 [cd6cdea03bbe]
39417
39418 * source/Lib/TLibCommon/TComDataCU.cpp,
39419 source/Lib/TLibCommon/TComDataCU.h,
39420 source/Lib/TLibCommon/TComLoopFilter.cpp,
39421 source/Lib/TLibCommon/TComLoopFilter.h,
39422 source/Lib/TLibCommon/TComMotionInfo.cpp,
39423 source/Lib/TLibCommon/TComMotionInfo.h,
39424 source/Lib/TLibCommon/TComPattern.cpp,
39425 source/Lib/TLibCommon/TComPattern.h,
39426 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
39427 source/Lib/TLibCommon/TComPicYuv.cpp,
39428 source/Lib/TLibCommon/TComPicYuv.h,
39429 source/Lib/TLibCommon/TComPrediction.cpp,
39430 source/Lib/TLibCommon/TComPrediction.h,
39431 source/Lib/TLibCommon/TComRdCost.cpp,
39432 source/Lib/TLibCommon/TComRdCost.h,
39433 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
39434 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
39435 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
39436 source/Lib/TLibCommon/TComSlice.cpp,
39437 source/Lib/TLibCommon/TComSlice.h,
39438 source/Lib/TLibCommon/TComTrQuant.cpp,
39439 source/Lib/TLibCommon/TComWeightPrediction.cpp,
39440 source/Lib/TLibCommon/TComWeightPrediction.h,
39441 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
39442 source/Lib/TLibEncoder/TEncCavlc.cpp,
39443 source/Lib/TLibEncoder/TEncCavlc.h,
39444 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
39445 source/Lib/TLibEncoder/TEncEntropy.cpp,
39446 source/Lib/TLibEncoder/TEncEntropy.h,
39447 source/Lib/TLibEncoder/TEncGOP.cpp,
39448 source/Lib/TLibEncoder/TEncPic.cpp,
39449 source/Lib/TLibEncoder/TEncPic.h,
39450 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
39451 source/Lib/TLibEncoder/TEncSbac.cpp,
39452 source/Lib/TLibEncoder/TEncSbac.h,
39453 source/Lib/TLibEncoder/TEncSlice.cpp,
39454 source/Lib/TLibEncoder/TEncSlice.h,
39455 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
39456 source/Lib/TLibEncoder/WeightPredAnalysis.h,
39457 source/encoder/compress.cpp:
39458 more mass search-replaces and various other cleanups
39459 [f04c1ab7b493]
39460
39461 * source/Lib/TLibCommon/TComDataCU.cpp,
39462 source/Lib/TLibCommon/TComDataCU.h,
39463 source/Lib/TLibCommon/TComLoopFilter.cpp,
39464 source/Lib/TLibCommon/TComLoopFilter.h,
39465 source/Lib/TLibCommon/TComMotionInfo.cpp,
39466 source/Lib/TLibCommon/TComMotionInfo.h,
39467 source/Lib/TLibCommon/TComPattern.cpp,
39468 source/Lib/TLibCommon/TComPattern.h,
39469 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
39470 source/Lib/TLibCommon/TComPrediction.cpp,
39471 source/Lib/TLibCommon/TComPrediction.h,
39472 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
39473 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
39474 source/Lib/TLibCommon/TComTrQuant.cpp,
39475 source/Lib/TLibCommon/TComWeightPrediction.cpp,
39476 source/Lib/TLibCommon/TComWeightPrediction.h,
39477 source/Lib/TLibEncoder/TEncCavlc.cpp,
39478 source/Lib/TLibEncoder/TEncCavlc.h,
39479 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
39480 source/Lib/TLibEncoder/TEncEntropy.cpp,
39481 source/Lib/TLibEncoder/TEncEntropy.h,
39482 source/Lib/TLibEncoder/TEncGOP.cpp,
39483 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
39484 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
39485 source/Lib/TLibEncoder/TEncSbac.cpp,
39486 source/Lib/TLibEncoder/TEncSbac.h,
39487 source/Lib/TLibEncoder/TEncSearch.cpp,
39488 source/Lib/TLibEncoder/TEncSearch.h,
39489 source/Lib/TLibEncoder/TEncSlice.cpp,
39490 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
39491 source/encoder/compress.cpp, source/encoder/frameencoder.cpp:
39492 global search-replaces for common variables, remove prefixes
39493
39494 pcCu -> cu, uiTrMode -> trMode, pcYuvPred -> predYuv, eRefPicList ->
39495 picList, iRefList -> refList, iRefIdxTemp -> refIdxTmp
39496 [4349ad516f23]
39497
39498 * source/Lib/TLibEncoder/TEncCu.cpp:
39499 TEncCu: fix memory leak
39500 [48e99b31ca1e]
39501
39502 2013-07-10 praveentiwari <praveentiwari>
39503
39504 * source/Lib/TLibCommon/TComTrQuant.cpp:
39505 Cleanup xGetCodedLevel function
39506 [ccb2f92de6a4]
39507
39508 * source/Lib/TLibCommon/TComTrQuant.cpp:
39509 Clenup xGetICRateCost function
39510 [6239f27298a1]
39511
39512 * source/Lib/TLibCommon/TComTrQuant.cpp:
39513 Cleanup xGetICRate function
39514 [26e5e760a27a]
39515
39516 * source/Lib/TLibCommon/TComTrQuant.cpp:
39517 Cleanup setErrScaleCoeff function
39518 [3b98d991c3e2]
39519
39520 2013-07-10 Steve Borho <steve@borho.org>
39521
39522 * source/Lib/TLibEncoder/TEncCfg.h,
39523 source/Lib/TLibEncoder/TEncSearch.cpp,
39524 source/Lib/TLibEncoder/TEncSearch.h,
39525 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
39526 TEncSearch: remove m_bUseHADME, clean more hungarian
39527 [7cffa89fad19]
39528
39529 2013-07-10 ggopu <ggopu>
39530
39531 * source/Lib/TLibEncoder/TEncSearch.cpp:
39532 TEncodeSearch : Cleanup Removed un used codes, white space and
39533 Removed Hungarian Notation
39534 [435170a8901e]
39535
39536 2013-07-10 Deepthi <Deepthi>
39537
39538 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
39539 Removed duplicate copy of Merge RD cost estimation.
39540 [422cbbbb1493]
39541
39542 * source/encoder/compress.cpp:
39543 Code reuse of Merge: part 2
39544 [6c320ed872a4]
39545
39546 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
39547 Code reuse of Merge cost estimation for rdo/no-rdo: part 1
39548 [e2ded94ab75d]
39549
39550 * source/Lib/TLibEncoder/TEncCfg.h:
39551 Removing fdm from TEncCfg
39552 [d291ed7c19b5]
39553
39554 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
39555 source/x265opts.h:
39556 Removing bEnableFastMergeDecision from CLI Options.
39557 [2b4e59ecd75b]
39558
39559 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
39560 Fast Decision for Merge always set - this CLI option does not give
39561 any higher efficiency.
39562 [8aff90a1c454]
39563
39564 * source/encoder/compress.cpp:
39565 Enabling merge modes with non-zero residual in no-rdo mode.
39566 [ff2b06916f87]
39567
39568 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
39569 Recon for merge modes - store in TEnCU structure
39570 [6c654e521fa4]
39571
39572 2013-07-10 Steve Borho <steve@borho.org>
39573
39574 * source/Lib/TLibCommon/TComBitStream.cpp,
39575 source/Lib/TLibCommon/TComDataCU.cpp,
39576 source/Lib/TLibCommon/TComDataCU.h,
39577 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
39578 source/Lib/TLibCommon/TComPicYuv.h,
39579 source/Lib/TLibCommon/TComPrediction.cpp,
39580 source/Lib/TLibCommon/TComPrediction.h,
39581 source/Lib/TLibCommon/TComRom.cpp,
39582 source/Lib/TLibCommon/TComSlice.cpp,
39583 source/Lib/TLibCommon/TComSlice.h,
39584 source/Lib/TLibCommon/TComTrQuant.cpp,
39585 source/Lib/TLibCommon/TComTrQuant.h,
39586 source/Lib/TLibEncoder/TEncAnalyze.h,
39587 source/Lib/TLibEncoder/TEncCavlc.cpp,
39588 source/Lib/TLibEncoder/TEncCavlc.h,
39589 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
39590 source/Lib/TLibEncoder/TEncGOP.cpp,
39591 source/Lib/TLibEncoder/TEncSbac.cpp,
39592 source/Lib/TLibEncoder/TEncSearch.cpp,
39593 source/Lib/TLibEncoder/TEncTop.cpp,
39594 source/Lib/TLibEncoder/TEncTop.h, source/common/ipfilter.cpp,
39595 source/common/pixel.cpp, source/common/reference.cpp,
39596 source/common/threadpool.cpp, source/common/vec/dct.inc,
39597 source/common/vec/intrapred.inc, source/common/vec/ipfilter16.inc,
39598 source/common/vec/ipfilter8.inc, source/common/vec/pixel.inc,
39599 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
39600 source/common/wavefront.cpp, source/common/wavefront.h,
39601 source/encoder/compress.cpp, source/encoder/encoder.cpp,
39602 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
39603 source/encoder/frameencoder.h, source/encoder/motion.cpp,
39604 source/encoder/motion.h, source/test/intrapredharness.cpp,
39605 source/test/ipfilterharness.cpp, source/test/pixelharness.h,
39606 source/test/testbench.cpp, source/x265.cpp, source/x265.h:
39607 uncrustify
39608 [ae3cf6062c1a]
39609
39610 2013-07-09 Steve Borho <steve@borho.org>
39611
39612 * source/test/mbdstharness.cpp:
39613 mbdstharness: workaround for linux test failures
39614 [2bad78a65d37]
39615
39616 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
39617 source/encoder/compress.cpp:
39618 TEncCU: use loops to create/destroy objects, rename m_IntraInInterCU
39619 [e126e6386acc]
39620
39621 * source/Lib/TLibCommon/TComTrQuant.cpp:
39622 TComTrQuant: fix shadowed variables for GCC
39623 [df76c016468d]
39624
39625 * source/common/common.cpp:
39626 common: fix a potential 8bpp usage bug
39627 [f6552d7189dd]
39628
39629 * source/Lib/TLibEncoder/TEncCu.cpp, source/common/common.cpp:
39630 TComRom: only allow zscan tables to be initialized once
39631 [917b56038be3]
39632
39633 * source/Lib/TLibCommon/TComDataCU.cpp,
39634 source/Lib/TLibCommon/TComDataCU.h,
39635 source/Lib/TLibCommon/TComLoopFilter.cpp,
39636 source/Lib/TLibCommon/TComLoopFilter.h,
39637 source/Lib/TLibCommon/TComPattern.cpp,
39638 source/Lib/TLibCommon/TComPic.cpp,
39639 source/Lib/TLibCommon/TComPicYuv.cpp,
39640 source/Lib/TLibCommon/TComPicYuv.h,
39641 source/Lib/TLibCommon/TComPrediction.cpp,
39642 source/Lib/TLibCommon/TComRdCost.cpp,
39643 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
39644 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
39645 source/Lib/TLibCommon/TComSlice.h,
39646 source/Lib/TLibCommon/TComTrQuant.cpp,
39647 source/Lib/TLibCommon/TComYuv.h,
39648 source/Lib/TLibEncoder/TEncCavlc.cpp,
39649 source/Lib/TLibEncoder/TEncCu.cpp,
39650 source/Lib/TLibEncoder/TEncEntropy.cpp,
39651 source/Lib/TLibEncoder/TEncGOP.cpp,
39652 source/Lib/TLibEncoder/TEncSbac.cpp,
39653 source/Lib/TLibEncoder/TEncSearch.cpp,
39654 source/Lib/TLibEncoder/TEncSlice.cpp,
39655 source/Lib/TLibEncoder/TEncTop.cpp, source/common/TShortYUV.h,
39656 source/common/butterfly.h, source/common/common.cpp,
39657 source/common/dct.cpp, source/common/intrapred.cpp,
39658 source/common/vec/intrapred.inc, source/encoder/compress.cpp,
39659 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
39660 TComRom: remove hungarian notation, remove unused butterfly.h
39661 [2f68b284ba53]
39662
39663 * source/Lib/TLibCommon/TComRom.h:
39664 TComRom: simplify white-space
39665 [daa1bf21a3ce]
39666
39667 * source/Lib/TLibEncoder/TEncGOP.cpp,
39668 source/Lib/TLibEncoder/TEncSlice.cpp,
39669 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
39670 frameencoder: de-hungarian the member vars and auto-vars
39671 [95ae28081f11]
39672
39673 * source/Lib/TLibCommon/TComTrQuant.cpp,
39674 source/Lib/TLibCommon/TComTrQuant.h,
39675 source/Lib/TLibEncoder/TEncSearch.cpp:
39676 TComTrQuant: remove hungarian notations from member variables
39677 [6af026c91d32]
39678
39679 * source/Lib/TLibCommon/TComTrQuant.cpp,
39680 source/Lib/TLibCommon/TComTrQuant.h,
39681 source/encoder/frameencoder.cpp:
39682 TComTrQuant: remove m_bEnc member variable
39683 [a9e3cf2ee919]
39684
39685 * source/Lib/TLibCommon/TComTrQuant.cpp:
39686 TComTrQuant: CU -> cu
39687 [079bbdf4d687]
39688
39689 * source/Lib/TLibEncoder/TEncGOP.cpp:
39690 TEncGOP: remove hungarian prefixes from auto-vars
39691 [d366eeefac0f]
39692
39693 * source/Lib/TLibCommon/TComTrQuant.cpp,
39694 source/Lib/TLibCommon/TComTrQuant.h,
39695 source/Lib/TLibEncoder/TEncSbac.cpp:
39696 TComTrQuant: hungarian removal, white-space cleanup, remove useless
39697 comments
39698 [a096d4fdefe5]
39699
39700 * source/Lib/TLibCommon/TComTrQuant.cpp,
39701 source/Lib/TLibCommon/TComTrQuant.h,
39702 source/Lib/TLibEncoder/TEncSearch.cpp:
39703 TComTrQuant: simplify function arguments
39704
39705 * do not pass arlCCoef as a pointer reference
39706 * return acSum rather than pass as integer reference
39707 [d6c1bf1a4801]
39708
39709 * source/Lib/TLibCommon/TComTrQuant.cpp,
39710 source/Lib/TLibCommon/TComTrQuant.h, source/common/dct.cpp,
39711 source/common/vec/dct.inc:
39712 TComTrQuant: remove deprecated DCT functions
39713 [733534550553]
39714
39715 * source/Lib/TLibCommon/TComTrQuant.cpp:
39716 TComTrQuant: lowercase cu, other cleanups
39717 [10a797823849]
39718
39719 2013-07-09 praveentiwari <praveentiwari>
39720
39721 * source/Lib/TLibCommon/TComTrQuant.cpp:
39722 Cleanup xRateDistOptQuant function
39723 [6cef4fc5a850]
39724
39725 * source/Lib/TLibCommon/TComTrQuant.cpp:
39726 Cleanup xITransformSkip function
39727 [0124ebb836bb]
39728
39729 * source/Lib/TLibCommon/TComTrQuant.cpp:
39730 Cleanup xTransformSkip function
39731 [593ccf9b637b]
39732
39733 * source/Lib/TLibCommon/TComTrQuant.cpp:
39734 Cleanup xIT function
39735 [23b7b876ad58]
39736
39737 * source/Lib/TLibCommon/TComTrQuant.cpp:
39738 Cleanup invRecurTransformNxN function
39739 [3e2ea30421a1]
39740
39741 * source/Lib/TLibCommon/TComTrQuant.cpp:
39742 Cleanup invtransformNxN function
39743 [ce4c31d4fcad]
39744
39745 * source/Lib/TLibCommon/TComTrQuant.cpp:
39746 More cleanup with transformNxN
39747 [6151c3d14f14]
39748
39749 * source/Lib/TLibCommon/TComTrQuant.cpp:
39750 cleanup transformNxN function
39751 [dc146c2b451a]
39752
39753 * source/Lib/TLibCommon/TComTrQuant.cpp:
39754 cleanup init function
39755 [741604b8a4b5]
39756
39757 * source/Lib/TLibCommon/TComTrQuant.cpp:
39758 cleanup xDeQuant function
39759 [0847be750c4e]
39760
39761 2013-07-09 Steve Borho <steve@borho.org>
39762
39763 * source/Lib/TLibCommon/TComTrQuant.cpp:
39764 TComTrQuant: lowercase cu
39765 [bd0ece7e95a1]
39766
39767 2013-07-09 praveentiwari <praveentiwari>
39768
39769 * source/Lib/TLibCommon/TComTrQuant.cpp:
39770 cleanup xQuant function
39771 [c1bdb5c6f841]
39772
39773 2013-07-10 Deepthi <Deepthi>
39774
39775 * Merge
39776 [707b458d0e5e]
39777
39778 2013-07-09 Deepthi <Deepthi>
39779
39780 * source/encoder/compress.cpp:
39781 Exit early if merge modes detected
39782 [df22ad807c9f]
39783
39784 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
39785 Updating merge cost calculation to enable early skips.
39786 [0cd3c9c94bb0]
39787
39788 2013-07-09 Steve Borho <steve@borho.org>
39789
39790 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
39791 source/test/testbench.cpp:
39792 misc fixes
39793 [aa8ddcc78c4a]
39794
39795 * source/common/vec/intrapred.inc:
39796 intrapred: further cleanups
39797
39798 * rename methods to match primitive funcdef
39799 * remove unoptimized all-angs methods, use C ref
39800 [5a81d522e9e3]
39801
39802 * source/common/vec/ipfilter8.inc:
39803 ipfilter: white-space fixup
39804 [2e6f01521c90]
39805
39806 * source/common/vec/ipfilter8.inc:
39807 ipfilter: remove buggy SSE2 version of
39808 filterHorizontalMultiplaneExtend
39809 [c1df7dba97be]
39810
39811 * source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
39812 source/test/ipfilterharness.cpp:
39813 ipfilter: follow up cleaning, one 16bpp compile fix
39814 [0602a41d8ced]
39815
39816 2013-07-09 ggopu <ggopu>
39817
39818 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter16.inc,
39819 source/common/vec/ipfilter8.inc:
39820 ipfilter*.inc : Cleanup function names and variables
39821 [1d24abd75465]
39822
39823 * source/common/common.cpp, source/common/ipfilter.cpp:
39824 ipfilter: Cleanups function names and Variables
39825 [05b43fadedd8]
39826
39827 2013-07-09 praveentiwari <praveentiwari>
39828
39829 * source/Lib/TLibCommon/TComTrQuant.cpp:
39830 cleanup signBitHidingHDQ function
39831 [ea86a1524985]
39832
39833 * source/Lib/TLibCommon/TComTrQuant.cpp:
39834 Cleanup storeSliceQpNext function
39835 [7b33153ce08c]
39836
39837 2013-07-09 Deepthi <Deepthi>
39838
39839 * source/encoder/compress.cpp:
39840 Cleanup: remove commented code
39841 [fe3a1d78f9d9]
39842
39843 * source/encoder/compress.cpp:
39844 Merge modes now use RDO cost to compare against inter/intra. Quality
39845 up, bitrate down.
39846 [4efd9d9d4b60]
39847
39848 * source/encoder/compress.cpp:
39849 Remove unused if-checks
39850 [9605252d9dd8]
39851
39852 2013-07-09 Steve Borho <steve@borho.org>
39853
39854 * source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp:
39855 testbench: more test result format tweaking
39856 [a5c300785b8f]
39857
39858 2013-07-08 Steve Borho <steve@borho.org>
39859
39860 * source/test/intrapredharness.cpp:
39861 intrapred: tweak test result reporting
39862 [a103a8a37fb8]
39863
39864 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
39865 source/Lib/TLibCommon/TComInterpolationFilter.h,
39866 source/Lib/TLibCommon/TComPrediction.cpp,
39867 source/Lib/TLibCommon/TComPrediction.h,
39868 source/Lib/TLibCommon/TComWeightPrediction.cpp,
39869 source/Lib/TLibCommon/TComWeightPrediction.h,
39870 source/Lib/TLibCommon/TComYuv.cpp,
39871 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/ipfilter.cpp,
39872 source/common/primitives.h:
39873 TComInterpolationFilter: remove dead code and dead primitive
39874 [eee0360420e2]
39875
39876 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
39877 source/Lib/TLibCommon/TComPrediction.cpp,
39878 source/Lib/TLibCommon/TComYuv.cpp,
39879 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/ipfilter.cpp,
39880 source/common/pixel.cpp, source/common/primitives.h,
39881 source/common/vec/blockcopy.inc, source/common/vec/ipfilter.inc,
39882 source/encoder/motion.cpp, source/test/ipfilterharness.cpp,
39883 source/test/pixelharness.cpp:
39884 primitives: normalize primitive function names
39885 [3f91e1121a00]
39886
39887 * source/common/primitives.h:
39888 primitives: white-space alignment for primitive structure, re-order
39889 for clarity
39890 [6d15ceb19861]
39891
39892 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
39893 source/common/primitives.h, source/common/vec/pixel.inc,
39894 source/common/x86/asm-primitives.cpp, source/encoder/compress.cpp,
39895 source/encoder/motion.h, source/test/ipfilterharness.cpp,
39896 source/test/ipfilterharness.h, source/test/pixelharness.cpp,
39897 source/test/pixelharness.h:
39898 primitives: unify primitive funcdef type names
39899 [ed9b76835696]
39900
39901 * source/x265.cpp:
39902 x265: cleanups
39903 [420bb0f5b279]
39904
39905 * source/test/pixelharness.cpp, source/test/pixelharness.h:
39906 pixel: cleanup test harness methods
39907 [992721365f6f]
39908
39909 * source/input/input.cpp, source/input/input.h,
39910 source/output/output.cpp, source/output/output.h, source/x265.cpp:
39911 i/o: lower case open methods
39912 [b6d72f3e0096]
39913
39914 * source/common/reference.cpp:
39915 reference: add a comment
39916 [b36838e5b7cf]
39917
39918 * source/CMakeLists.txt:
39919 cmake: move version.cmake include to just before the CLI link
39920
39921 this should avoid rebuilds in cmake generated Makefiles when the
39922 version number changes (which happens at every commit)
39923 [87d2b6578384]
39924
39925 * source/common/common.cpp, source/common/common.h:
39926 common: cleanups, remove unused dumpBuffer routine
39927 [11194a1a5917]
39928
39929 * source/common/CMakeLists.txt:
39930 cmake: force i686 arch for wavefront.cpp for GCC (to generate
39931 intrinsics)
39932 [c3b5d95f11c3]
39933
39934 * source/Lib/TLibEncoder/TEncGOP.cpp,
39935 source/Lib/TLibEncoder/TEncGOP.h, source/common/reference.cpp,
39936 source/common/threading.cpp, source/common/threading.h,
39937 source/common/threadpool.cpp, source/encoder/frameencoder.cpp,
39938 source/test/testpool.cpp:
39939 threading: lower case method names
39940 [7bdf867f5565]
39941
39942 * source/Lib/TLibCommon/TComSlice.cpp,
39943 source/Lib/TLibEncoder/TEncTop.cpp, source/common/reference.cpp,
39944 source/common/threadpool.cpp, source/common/threadpool.h,
39945 source/common/wavefront.cpp, source/encoder/encoder.cpp,
39946 source/encoder/frameencoder.cpp, source/test/testpool.cpp:
39947 threadpool: lower case method names
39948 [2724414e4c97]
39949
39950 * source/test/testpool.cpp:
39951 testpool: update to new interfaces
39952 [1e0de23fd8cf]
39953
39954 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
39955 frameencoder: rename irow to row
39956 [ca4ef78851dc]
39957
39958 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
39959 frameencoder: rename m_nrows to m_numRows
39960 [0cd64834fc44]
39961
39962 * source/Lib/TLibEncoder/TEncSlice.cpp, source/common/reference.cpp,
39963 source/common/reference.h, source/common/threadpool.cpp,
39964 source/common/threadpool.h, source/common/wavefront.cpp,
39965 source/common/wavefront.h, source/encoder/frameencoder.cpp,
39966 source/encoder/frameencoder.h:
39967 wavefront: lower case some method names
39968 [460e36b39510]
39969
39970 * source/Lib/TLibEncoder/TEncGOP.h,
39971 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/CMakeLists.txt,
39972 source/common/threadpool.cpp, source/common/threadpool.h,
39973 source/common/wavefront.cpp, source/common/wavefront.h,
39974 source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
39975 source/encoder/frameencoder.h, source/encoder/wavefront.cpp,
39976 source/encoder/wavefront.h:
39977 threadpool: split QueueFrame into own files, rename wavefront to
39978 frameencoder
39979
39980 This commit also removes the un-exposed x265_init_threading()
39981 function which would have leaked the thread pool if anyone had used
39982 it.
39983 [ef1a5aeed45c]
39984
39985 * source/common/reference.cpp, source/common/threadpool.cpp,
39986 source/common/threadpool.h:
39987 threadpool: cleanup
39988 [1f126e6d3188]
39989
39990 * source/common/reference.cpp:
39991 reference: general cleanup
39992 [8e9e65404251]
39993
39994 * source/common/primitives.cpp:
39995 primitives: general cleanup
39996 [25dd71fec257]
39997
39998 * source/common/primitives.h:
39999 primitives: more argument cleanups
40000 [ac679985a223]
40001
40002 * source/Lib/TLibCommon/TComPrediction.cpp,
40003 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
40004 source/common/primitives.h, source/common/vec/intrapred.inc,
40005 source/encoder/compress.cpp, source/test/intrapredharness.cpp,
40006 source/test/intrapredharness.h:
40007 primitives: rename intra primitive function pointers
40008 [f0ed0e012c69]
40009
40010 * source/common/primitives.h, source/test/intrapredharness.cpp,
40011 source/test/intrapredharness.h:
40012 primitives: rename intra funcdefs, cleanup hungarian from
40013 primitives.h
40014 [676b0ce0b073]
40015
40016 * source/common/primitives.h:
40017 primitives: update comment for PartitionFromSizes
40018 [45237ca3f80e]
40019
40020 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
40021 cleanup dct testbench names
40022 [c9bf846287de]
40023
40024 * source/test/mbdstharness.cpp:
40025 one more fixup
40026 [e05d5cb444ed]
40027
40028 * source/test/mbdstharness.cpp:
40029 testbench fixup
40030 [7ff03b771df4]
40031
40032 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
40033 source/common/primitives.h, source/common/vec/dct.inc,
40034 source/test/mbdstharness.cpp:
40035 primitives: rename deQuant to dequant
40036 [7f9581358d71]
40037
40038 * source/common/dct.cpp:
40039 dct: tweak C reference function names
40040 [64a60d981754]
40041
40042 2013-07-08 praveentiwari <praveentiwari>
40043
40044 * source/common/vec/dct.inc:
40045 xIDCT32 renamed
40046 [c6c2f393542b]
40047
40048 * source/common/vec/dct.inc:
40049 xIDCT16 renamed
40050 [6f3e60bfc015]
40051
40052 * source/common/vec/dct.inc:
40053 xIDCT8 renamed
40054 [41b0fd84e529]
40055
40056 * source/common/vec/dct.inc:
40057 xIDCT4 renamed to idct4
40058 [9f1b4c87102e]
40059
40060 * source/common/vec/dct.inc:
40061 xIDST4 renamed to idst4
40062 [96f0f843ce32]
40063
40064 * source/common/vec/dct.inc:
40065 xDCT32 renamed and code cleanup
40066 [6b41676cb38e]
40067
40068 * source/common/vec/dct.inc:
40069 xDCT8 renamed and cleanup
40070 [9e014c33e51f]
40071
40072 * source/common/vec/dct.inc:
40073 xDCT16 renamed and code cleanup
40074 [b339a499aed7]
40075
40076 * source/common/vec/dct.inc:
40077 xDCT4 vector function renamed and code cleanup
40078 [60a0b40415c0]
40079
40080 * source/common/vec/dct.inc:
40081 xDST4 renamed and code cleanup
40082 [b433892d93bc]
40083
40084 * source/common/vec/dct.inc:
40085 xDeQuant renamed and code cleanup
40086 [977e4de578f8]
40087
40088 * source/common/dct.cpp:
40089 xDeQuant renamed to dequant and code cleanup
40090 [f4a8ee3589fc]
40091
40092 * source/common/dct.cpp:
40093 xIDCT32_C renamed to idct32_c and code cleanup
40094 [ad9fa655dd85]
40095
40096 * source/common/dct.cpp:
40097 xIDCT16_C renamed to idct16_c and code cleanup
40098 [6c88b49c9df6]
40099
40100 * source/common/dct.cpp:
40101 xIDCT8_C renamed to idct8_c and code cleanup
40102 [628340f39377]
40103
40104 * source/common/dct.cpp:
40105 xIDCT4_C renamed to idct4_c and code cleanup
40106 [96ba4ac11c58]
40107
40108 * source/common/dct.cpp:
40109 xIDST4_C renamed to idst4_c and code cleanup
40110 [baf12bcf3edb]
40111
40112 * source/common/dct.cpp:
40113 xDCT32_C renamed to dct32_c and code cleanup
40114 [f7b83d5d0517]
40115
40116 * source/common/dct.cpp:
40117 xDCT16_C renamed to dct16_c and code cleanup
40118 [7b0ef137a4f3]
40119
40120 2013-07-08 Steve Borho <steve@borho.org>
40121
40122 * source/common/vec/intrapred.inc:
40123 intrapred: fixup variable renaming
40124 [fcca2928bf47]
40125
40126 * source/common/intrapred.cpp:
40127 intrapred: remove hungarian prefix for file static
40128 [ec2b823011be]
40129
40130 * source/common/pixel.cpp:
40131 pixel: cleanup C references
40132 [3fa99086d2f5]
40133
40134 * source/common/vec/pixel16.inc:
40135 pixel: use x264 style argument names
40136 [a9d1cbda189f]
40137
40138 * source/common/vec/pixel8.inc:
40139 pixel: use x264 style argument names
40140 [e0224143803e]
40141
40142 * source/common/intrapred.cpp:
40143 intrapred: finish variable cleanups
40144 [1f4cd3821191]
40145
40146 * source/common/vec/pixel.inc:
40147 pixel: remove caps in function arguments, macro white-space cleanups
40148 [066d75ab8433]
40149
40150 * source/common/vec/pixel.inc, source/common/vec/utils.h:
40151 pixel: cleanup includes
40152 [dd217d262bbf]
40153
40154 * source/common/vec/pixel.inc:
40155 pixel: simplify SET_FUNC_PRIMITIVE_TABLE macro and relocate
40156 [44ca2af6c6b9]
40157
40158 2013-07-08 ggopu <ggopu>
40159
40160 * source/common/intrapred.cpp, source/common/vec/intrapred.inc:
40161 IntraPred: Removed Unused Codes and Cleanup the Function names and
40162 Hungarian Notations
40163 [56eeac8279f3]
40164
40165 * source/common/vec/pixel.inc, source/common/vec/pixel16.inc,
40166 source/common/vec/pixel8.inc, source/common/vec/sse.inc:
40167 Vector Primitives : Removed hungarian notation
40168 [0ba9d8a0ec82]
40169
40170 2013-07-08 Steve Borho <steve@borho.org>
40171
40172 * source/common/vec/intrapred.inc:
40173 intra: fix HIGH_BIT_DEPTH builds
40174 [7242d6166f87]
40175
40176 2013-07-08 praveentiwari <praveentiwari>
40177
40178 * source/common/dct.cpp:
40179 xDCT8_C renamed to dct8_c and code cleanup
40180 [dc13d07919db]
40181
40182 * source/common/dct.cpp:
40183 xDCT4_C renamed to dct4_c and code cleanup
40184 [6030b16d3025]
40185
40186 * source/common/dct.cpp:
40187 xDST4_C renamed to dst4_c and clenup
40188 [0cf5a2be157b]
40189
40190 2013-07-08 Steve Borho <steve@borho.org>
40191
40192 * source/Lib/TLibEncoder/TEncCfg.h,
40193 source/Lib/TLibEncoder/TEncGOP.cpp,
40194 source/Lib/TLibEncoder/TEncTop.cpp:
40195 TEncTop: use mini-GOP sized frame batches with --gops 1 [CHANGES
40196 OUTPUTS]
40197
40198 This changes the cadence slightly, so outputs will change. This also
40199 greatly reduces the memory requirements when GOP parallelism is not
40200 in use.
40201 [30346629dbc4]
40202
40203 2013-07-05 praveentiwari <praveentiwari>
40204
40205 * source/common/dct.cpp:
40206 Cleanup some left hungarian notation left in first commit for
40207 xDeQuant
40208 [7ee04e912bdd]
40209
40210 * source/common/dct.cpp:
40211 xDeQuant code cleanup
40212 [e46a76843569]
40213
40214 * source/common/dct.cpp:
40215 xIDCT32_C code cleanup
40216 [92c0f50f7ec9]
40217
40218 * source/common/dct.cpp:
40219 xIDCT16_C code cleanup
40220 [712eb60831c0]
40221
40222 * source/common/dct.cpp:
40223 xIDCT8_C code cleanup
40224 [f431146891cc]
40225
40226 * source/common/dct.cpp:
40227 xIDCT4_C code cleanup
40228 [65517cac4316]
40229
40230 2013-07-05 Deepthi <Deepthi>
40231
40232 * source/common/common.cpp:
40233 Rect option is enabled by default
40234 [6b12d890e0e9]
40235
40236 2013-07-05 Min Chen <chenm003@163.com>
40237
40238 * source/common/vec/intrapred.inc:
40239 intrapred: code cleanup
40240 [f84fb8dcdf32]
40241
40242 2013-07-05 Deepthi Devaki <Deepthi Devaki>
40243
40244 * source/common/vec/ipfilter16.inc:
40245 Used memory align macro in ipfilter16.inc for compatibility with
40246 other compilers.
40247 [8543860c3817]
40248
40249 2013-07-05 praveentiwari <praveentiwari>
40250
40251 * source/common/dct.cpp:
40252 xIDST4_C code cleanup
40253 [df4bd7c4a4a1]
40254
40255 * source/common/dct.cpp:
40256 xDCT32_C code cleanup
40257 [30022ece780f]
40258
40259 * source/common/dct.cpp:
40260 xDCT16_C code cleanup
40261 [eee88868ac98]
40262
40263 * source/common/dct.cpp:
40264 xDCT8_C code cleanup
40265 [52e9946621cd]
40266
40267 * source/common/dct.cpp:
40268 xDCT4_C code cleanup
40269 [8c0bdd83e6dc]
40270
40271 * source/common/dct.cpp:
40272 xDST4_C code cleanup
40273 [1f0f735545bf]
40274
40275 * source/common/vec/dct.inc:
40276 partialButterfy32 code cleanup
40277 [71ed2bcad90a]
40278
40279 * source/common/vec/dct.inc:
40280 partialButterfly16 code cleanup
40281 [a3a0bb7eced1]
40282
40283 * source/common/vec/dct.inc:
40284 partialButterfly8 code clenup
40285 [1955cac08ed8]
40286
40287 2013-07-05 ggopu <ggopu>
40288
40289 * source/Lib/TLibCommon/TComPrediction.cpp,
40290 source/Lib/TLibCommon/TComWeightPrediction.cpp,
40291 source/Lib/TLibCommon/TComYuv.cpp,
40292 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
40293 source/common/TShortYUV.h:
40294 TShortYUV : Removed Get*() Method and Moved Member variables private
40295 to Public
40296 [5149904749c6]
40297
40298 2013-07-05 praveentiwari <praveentiwari>
40299
40300 * source/common/vec/dct.inc:
40301 xIDCT32 code cleanup
40302 [02973bed3d3c]
40303
40304 * source/common/vec/dct.inc:
40305 xIDCT16 code cleanup
40306 [46d7c537f220]
40307
40308 2013-07-05 Deepthi <Deepthi>
40309
40310 * source/Lib/TLibCommon/TComPrediction.cpp,
40311 source/Lib/TLibCommon/TComWeightPrediction.cpp,
40312 source/Lib/TLibCommon/TComYuv.cpp,
40313 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
40314 source/common/TShortYUV.h:
40315 Backout changeset: TShortYUV
40316 [e5eded426f38]
40317
40318 2013-07-05 sumalatha <sumalatha>
40319
40320 * source/Lib/TLibCommon/TComPrediction.h,
40321 source/Lib/TLibEncoder/TEncCu.h,
40322 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
40323 intra and merge in no-rdo latest patch
40324 [d492600f757a]
40325
40326 2013-07-04 Deepthi Devaki <Deepthi Devaki>
40327
40328 * source/common/vec/ipfilter16.inc:
40329 Fix for vc10 crash in ipfilter16.inc
40330 [bf00c76a537d]
40331
40332 2013-07-02 ggopu <ggopu>
40333
40334 * source/Lib/TLibCommon/TComPrediction.cpp,
40335 source/Lib/TLibCommon/TComWeightPrediction.cpp,
40336 source/Lib/TLibCommon/TComYuv.cpp,
40337 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
40338 source/common/TShortYUV.h:
40339 TShortYUV : Removed all the get() method and moved private data
40340 member into Public
40341 [5c307e0cd2f5]
40342
40343 2013-07-03 praveentiwari <praveentiwari>
40344
40345 * source/common/vec/dct.inc:
40346 xIDCT4 intrinsic code cleanup
40347 [133b907bb8ee]
40348
40349 * source/common/vec/dct.inc:
40350 xIDCT8 intrinsic code cleanup
40351 [dfa4be3b6bab]
40352
40353 * source/common/vec/dct.inc:
40354 xIDST4 intrinsic code cleanup
40355 [e55954ec3be8]
40356
40357 * source/common/vec/dct.inc:
40358 xIDST4 vector code cleanup
40359 [bf7dcf1b6cb1]
40360
40361 * source/common/vec/dct.inc:
40362 xDCT32 intrinsic code cleanup
40363 [48aa9d0d5d74]
40364
40365 2013-07-03 Deepthi Devaki <Deepthi Devaki>
40366
40367 * source/common/vec/ipfilter16.inc:
40368 Fix for crash in vc9 for IP filter
40369 [15ad7154c62f]
40370
40371 2013-07-03 praveentiwari <praveentiwari>
40372
40373 * source/common/vec/dct.inc:
40374 xDCT32 vector code cleanup
40375 [0ab33d7ffaea]
40376
40377 * source/common/vec/dct.inc:
40378 xDCT16 intrinsic code cleanup
40379 [1a70ee3a0be9]
40380
40381 2013-07-02 praveentiwari <praveentiwari>
40382
40383 * source/common/vec/dct.inc:
40384 xDCT16 vector code cleanup
40385 [31801697cf9b]
40386
40387 2013-07-05 Deepthi <Deepthi>
40388
40389 * source/Lib/TLibEncoder/TEncSearch.cpp,
40390 source/common/vec/intrapred.inc:
40391 # From 2b989d9a7e9ecf86a592f33c39555cd63dbebd5a Mon Sep 17 00:00:00
40392 2001 # From: Min Chen <chenm003@163.com> # Date: Tue, 2 Jul 2013
40393 16:54:35 +0800 # Subject: [PATCH 3/3] intrapred: IntraAngle33 32x32
40394 intrapred: IntraAngle33 32x32
40395
40396 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +-
40397 source/common/vec/intrapred.inc | 2628
40398 ++++++++++++++++++++++++++++++++- 2 files changed, 2628
40399 insertions(+), 2 deletions(-)
40400 [f1101476cf1c]
40401
40402 2013-07-03 Deepthi <Deepthi>
40403
40404 * source/common/vec/pixel.inc:
40405 Fix for HIGH_BIT_DEPTH enable
40406 [209cce8f38be]
40407
40408 * source/common/vec/pixel.inc, source/common/vec/utils.h:
40409 Assert error in pixel.inc resolved
40410 [e59400fe1240]
40411
40412 2013-07-02 praveentiwari <praveentiwari>
40413
40414 * source/common/vec/dct.inc:
40415 xDCT8 intrinsic code cleaup
40416 [57b142b20d91]
40417
40418 2013-07-02 Deepthi <Deepthi>
40419
40420 * source/common/threadpool.cpp:
40421 # From d515ac32f810fe6e6a986862771c85564193ee51 Mon Sep 17 00:00:00
40422 2001 # From: Min Chen <chenm003@163.com> # Date: Mon, 1 Jul 2013
40423 17:45:07 +0800 # Subject: [PATCH 2/3] Disable #pragma in INTEL
40424 Compiler Disable #pragma in INTEL Compiler
40425 --- source/common/threadpool.cpp | 2 ++ 1 files changed, 2
40426 insertions(+), 0 deletions(-)
40427 [4ecacec3c8fa]
40428
40429 * source/common/vec/pixel.inc:
40430 # From 8fa0f843e7fcf96f934856e5f0541501f077909a Mon Sep 17 00:00:00
40431 2001 # From: Min Chen <chenm003@163.com> # Date: Tue, 2 Jul 2013
40432 15:57:32 +0800 # Subject: [PATCH 1/3] intrapred: transpose_32x32
40433 intrapred: transpose_32x32
40434 --- source/common/vec/pixel.inc | 12 +++++++++++- 1 files changed, 11
40435 insertions(+), 1 deletions(-)
40436 [396712bd0111]
40437
40438 2013-07-02 praveentiwari <praveentiwari>
40439
40440 * source/common/vec/dct.inc:
40441 xDCT8 vector code cleanup
40442 [4b738b357911]
40443
40444 * source/common/vec/dct.inc:
40445 Removed hungarian notation from xDCT4 intrinsic code
40446 [01b2f4e5cbdd]
40447
40448 * source/common/vec/dct.inc:
40449 Removed hungarian notation from xDST4 intrinsic code
40450 [c7acbdbd0986]
40451
40452 * source/common/vec/dct.inc:
40453 xDST4 code cleanup
40454 [97a2b34abe05]
40455
40456 2013-07-01 praveentiwari <praveentiwari>
40457
40458 * source/common/vec/dct.inc:
40459 Removed hungarian notation and code cleanup for xDeQuant vector code
40460 [31e8e201a7ab]
40461
40462 2013-07-01 Deepthi Devaki <Deepthi Devaki>
40463
40464 * source/common/ipfilter.cpp:
40465 code cleanup and variable renaming in ipfilter.cpp
40466 [1857d23adace]
40467
40468 2013-07-01 praveentiwari <praveentiwari>
40469
40470 * source/test/mbdstharness.cpp:
40471 Removed hungarian notation and code cleanup for
40472 check_xdequant_primitive test code
40473 [936c56e589ec]
40474
40475 * source/test/mbdstharness.cpp:
40476 Removed hungarian notation and code cleanup for
40477 check_quantaq_primitive test code
40478 [65f14e9260f6]
40479
40480 * source/test/mbdstharness.cpp:
40481 Removed hungarian notation and cleanup for check_quant_primitive
40482 test code
40483 [d47ea60f050f]
40484
40485 2013-07-01 Deepthi Devaki <Deepthi Devaki>
40486
40487 * source/common/vec/ipfilter8.inc:
40488 Removed cliping from vertical filter implementation; observed to be
40489 redundant
40490 [f72fac178387]
40491
40492 2013-06-30 Steve Borho <steve@borho.org>
40493
40494 * source/cmake/version.cmake:
40495 cmake: remove cache property for X265_VERSION
40496
40497 This was causing cmake to only check the version when the cmake
40498 cache was entirely cleared (usually just once). After this change
40499 cmake will update X265_VERSION every time it generates the CLI
40500 project.
40501 [30c0e5591120]
40502
40503 2013-06-29 Steve Borho <steve@borho.org>
40504
40505 * source/Lib/TLibEncoder/TEncSlice.cpp:
40506 TEncSlice: ensure lambda per QP does not change [CHANGES OUTPUTS]
40507
40508 This fixes non-determinism when GOP parallelism is enabled. I think
40509 we should just use x264's lambda tables and get rid of all of this
40510 logic, but it's too big of a change to make right before I leave for
40511 vacation.
40512
40513 My 1.55 hack attempts to get our compression per-QP close to where
40514 it was before the change.
40515 [c3953142041c]
40516
40517 * source/Lib/TLibEncoder/TEncCu.cpp,
40518 source/Lib/TLibEncoder/TEncSearch.cpp,
40519 source/Lib/TLibEncoder/TEncSearch.h,
40520 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.cpp,
40521 source/encoder/wavefront.h:
40522 TEncSearch: configure bitcost estimators at same time as TComRdCost
40523
40524 This ensures the lambdas used for RD cost are always in sync with
40525 the bit costs
40526 [15f993eceb4b]
40527
40528 2013-06-29 Min Chen <chenm003@163.com>
40529
40530 * source/common/vec/intrapred.inc:
40531 intrapred: Enable primitive with Intel Compiler
40532 --- source/common/vec/intrapred.inc | 2 +- 1 files changed, 1
40533 insertions(+), 1 deletions(-)
40534 [b0d55cc8161e]
40535
40536 2013-06-28 Steve Borho <steve@borho.org>
40537
40538 * .hgtags:
40539 Added tag 0.1 for changeset 99fab2ef92be
40540 [e13a79c5ea45]
40541
40542 * source/common/vec/ipfilter.inc:
40543 VC9 crashes running filterHorizontalMultiplaneExtend in release
40544
40545 The test outright fails in debug, but doesn't crash
40546 [99fab2ef92be] [0.1]
40547
40548 * source/encoder/encoder.cpp:
40549 encoder: ensure primitives (and ROM) are initialized before
40550 x265_check_params
40551
40552 This might be an issue for API users
40553 [c34b079119ab]
40554
40555 * source/Lib/TLibEncoder/TEncGOP.cpp,
40556 source/Lib/TLibEncoder/TEncGOP.h,
40557 source/Lib/TLibEncoder/TEncSlice.cpp,
40558 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/wavefront.cpp,
40559 source/encoder/wavefront.h:
40560 rename EncodeFrame to FrameEncoder
40561 [47f4f559739b]
40562
40563 * source/common/common.cpp, source/common/common.h,
40564 source/encoder/encoder.cpp:
40565 common: use g_aucConvertToBit for getMaxCuDepth
40566 [47e80c91afaf]
40567
40568 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/primitives.cpp,
40569 source/encoder/encoder.cpp:
40570 TEncTop: move ROM management out of TEncTop
40571
40572 Eventually we will want to allow more than one TEncTop in a process
40573 [1b4c93071203]
40574
40575 * source/Lib/TLibCommon/TComRom.cpp:
40576 TComRom: make initROM and destroyROM safe for cycled calls
40577 [aa4402b22049]
40578
40579 * source/Lib/TLibCommon/TComPrediction.cpp:
40580 TComPrediction: use aligned allocs for temporary interpolation
40581 buffers
40582
40583 Hoping this resolves the problems found with 32bit heap corruption.
40584 [3b923c5e34ee]
40585
40586 * source/common/common.cpp:
40587 vc9 requires unambigous casts for log() arguments
40588 [c31d63feaf21]
40589
40590 * source/common/common.cpp:
40591 gcc requires math.h for log()
40592 [82b80c7a3ebc]
40593
40594 * source/common/vec/ipfilter.inc:
40595 ipfilter: disable vector version of filterHmulti
40596 [12036d016834]
40597
40598 * source/common/reference.cpp:
40599 reference: remove obsolete code
40600 [972659be1ea9]
40601
40602 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
40603 ipfilter: white-space nits, no code chage
40604 [fc3e18cdca42]
40605
40606 2013-06-28 Deepthi Devaki <Deepthi Devaki>
40607
40608 * source/common/vec/ipfilter8.inc:
40609 Modification on Horizontal filter
40610 [010b7590003a]
40611
40612 * source/common/ipfilter.cpp, source/common/primitives.h,
40613 source/common/reference.cpp, source/common/vec/ipfilter.inc,
40614 source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
40615 Merged buffer extension with Horizontal filter; integrated with
40616 encoder
40617 [f9cf63bae785]
40618
40619 2013-06-28 Steve Borho <steve@borho.org>
40620
40621 * source/encoder/encoder.cpp:
40622 encoder: Always use IDR decoder refresh type
40623 [e025b15b8856]
40624
40625 2013-06-28 praveentiwari <praveentiwari>
40626
40627 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
40628 Test code for quantaq and quant functions.
40629 [c5b3ab055087]
40630
40631 * source/common/vec/dct.inc:
40632 Vector code for quantaq and quant functions.
40633 [96e5fa2a60cd]
40634
40635 * source/common/dct.cpp:
40636 Replaced uint64_t with int in quantaq_C and quant_C functions,
40637 tested with BasketballDrive.
40638 [4257f9931e27]
40639
40640 2013-06-28 Steve Borho <steve@borho.org>
40641
40642 * source/common/common.cpp, source/common/common.h,
40643 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
40644 Removed tuQTMaxLog2Size and tuQTMinLog2Size parametr from CLI option
40645 [6f0059abaf51]
40646
40647 * source/common/common.cpp, source/x265.h, source/x265opts.h:
40648 Removed maxCUDepth parameter from CLI option
40649 [e052ebcb13d5]
40650
40651 * source/Lib/TLibEncoder/TEncTop.cpp:
40652 TEncTop: improve comment about determining where the second I frame
40653 will be
40654 [c79ed90edca5]
40655
40656 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
40657 source/x265.cpp, source/x265.h, source/x265opts.h:
40658 x265: add --bframes/-b parameter to select B GOP structure
40659 [d9cf2ba5e957]
40660
40661 * source/encoder/encoder.cpp:
40662 encoder: round keyframeInterval after establishing GOP structure
40663
40664 This prevents 30Hz video from accidentally triggering our -i32 B
40665 frame hack
40666 [83d6f513ba93]
40667
40668 * source/Lib/TLibCommon/TComPicYuv.cpp,
40669 source/Lib/TLibCommon/TComPicYuv.h,
40670 source/Lib/TLibCommon/TComSlice.cpp,
40671 source/Lib/TLibCommon/TComSlice.h:
40672 TComSlice: free motion reference when picture is no longer
40673 referenced
40674
40675 This is a stop-gap fix to the enourmous memory requirements of GOP
40676 level parallelism. It would be better to re-use these structures
40677 instead of allocing them every time.
40678 [10a9bc997966]
40679
40680 2013-06-27 Steve Borho <steve@borho.org>
40681
40682 * source/Lib/TLibCommon/TComSlice.cpp:
40683 TComSlice: nits
40684 [57a074870b71]
40685
40686 * source/Lib/TLibCommon/TComPicYuv.h:
40687 TComPicYuv: remove obsolete member function definition
40688 [f1ffad55ce94]
40689
40690 * source/common/reference.cpp, source/encoder/wavefront.cpp:
40691 thread: add serial code-paths for job provider if thread pool is not
40692 available
40693 [fe6020943bd0]
40694
40695 2013-06-27 Min Chen <chenm003@163.com>
40696
40697 * source/Lib/TLibEncoder/TEncSearch.cpp:
40698 intrapred: Active code IntraAngle33 16x16
40699 --- source/Lib/TLibEncoder/TEncSearch.cpp | 14 ++------------ 1 files
40700 changed, 2 insertions(+), 12 deletions(-)
40701 [aa95488eaa2d]
40702
40703 * source/common/vec/pixel.inc:
40704 pixel: fix bug in Transpose 16x16
40705 --- source/common/vec/pixel.inc | 76
40706 +++++++++++++++++++++--------------------- 1 files changed, 38
40707 insertions(+), 38 deletions(-)
40708 [265e7e0333c4]
40709
40710 2013-06-27 sumalatha <sumalatha>
40711
40712 * source/encoder/compress.cpp:
40713 Fixed the Hash error with -no-rdo ON
40714 [3b93256a844b]
40715
40716 2013-06-26 Steve Borho <steve@borho.org>
40717
40718 * source/Lib/TLibEncoder/TEncTop.cpp:
40719 TEncTop: don't flush two GOP coders in one call
40720 [5b42d1c900b4]
40721
40722 * source/common/threadpool.cpp:
40723 threadpool: tweak for thread deletion loop
40724 [9fab0eb1538a]
40725
40726 * source/common/threadpool.cpp:
40727 threadpool: more explicit shutdown code
40728 [d12f113a1e42]
40729
40730 * source/Lib/TLibEncoder/TEncCu.cpp:
40731 TEncCu: fix a small memory leak
40732 [82d95660132f]
40733
40734 * source/Lib/TLibEncoder/TEncCu.cpp:
40735 TEncCU: white-space cleanup
40736 [7bacf11b7f2e]
40737
40738 * source/Lib/TLibEncoder/TEncTop.cpp,
40739 source/Lib/TLibEncoder/TEncTop.h:
40740 TEncTop: allow GOP coder execution to overlap execution
40741
40742 Finally.. GOP parallelism.
40743 [80d6e85cdd03]
40744
40745 * source/Lib/TLibEncoder/TEncTop.cpp:
40746 TEncTop: do not flush if no pics are queued, prevents deadlock
40747 [d064340c3227]
40748
40749 * source/Lib/TLibCommon/TypeDef.h,
40750 source/Lib/TLibEncoder/TEncCavlc.cpp:
40751 cleanup: move SCALING_LIST_OUTPUT_RESULT to TEncCavlc
40752 [f89b453bc412]
40753
40754 * source/Lib/TLibCommon/TypeDef.h:
40755 cleanup: remove unused REMOVE_SAO_LCU_ENC_CONSTRAINTS_3
40756 [90a69b42da1f]
40757
40758 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h:
40759 cleanup: move DISABLING_CLIP_FOR_BIPREDME to TComYuv, add comment
40760 [8685e99751bc]
40761
40762 * source/Lib/TLibCommon/TypeDef.h,
40763 source/Lib/TLibEncoder/TEncCavlc.cpp:
40764 cleanup: move PRINT_RPS_INFO to TEncCavlc
40765 [2adc62db4d55]
40766
40767 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp:
40768 cleanup: move VERBOSE_RATE define to TEncGOP
40769 [518c70801520]
40770
40771 * source/Lib/TLibEncoder/TEncGOP.cpp,
40772 source/Lib/TLibEncoder/TEncGOP.h:
40773 TEncGOP: add a worker thread to process keyframe intervals
40774 [93ca3f5bafec]
40775
40776 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
40777 TShortYUV: remove or correct comment lines
40778 [7f49c1a3ffcc]
40779
40780 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
40781 cmake: move HM headers into their own source group in VC
40782 [cfa1897d63eb]
40783
40784 * source/encoder/CMakeLists.txt:
40785 cmake: remove deleted compress.h from encoder project
40786 [c7c32a64931f]
40787
40788 * source/encoder/compress.cpp:
40789 compress: remove warning disable pragmas, fix warnings
40790 [8055fd9930c2]
40791
40792 * source/encoder/compress.h:
40793 compress: remove unused header
40794 [a1831863c966]
40795
40796 * source/encoder/compress.cpp:
40797 compress: uncrustify
40798 [6492774bd3e5]
40799
40800 * source/encoder/compress.cpp:
40801 compress: remove dead variables
40802 [b5bbcf9da827]
40803
40804 * source/common/primitives.h, source/test/mbdstharness.cpp,
40805 source/test/mbdstharness.h:
40806 primitives: fix symbol collision
40807 [b3539e001ea4]
40808
40809 2013-06-26 Min Chen <chenm003@163.com>
40810
40811 * source/common/vec/intrapred.inc:
40812 inrapred: generate all of 33 IntraAngle 16x16 modes once (vc9-win32
40813 only)
40814
40815 --- source/common/vec/intrapred.inc | 4151
40816 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 4148
40817 insertions(+), 3 deletions(-)
40818 [3977edfa3ee1]
40819
40820 * source/common/vec/intrapred.inc:
40821 cleanup: Remove unused debug code
40822 --- source/common/vec/intrapred.inc | 3 --- 1 files changed, 0
40823 insertions(+), 3 deletions(-)
40824 [60955ad48ef9]
40825
40826 2013-06-27 Mandar Gurav <Mandar Gurav>
40827
40828 * source/common/vec/intrapred.inc:
40829 primitves: 8 bit : PredIntraAng8x8 function table implementation
40830 [dc1663eaf7f7]
40831
40832 2013-06-26 praveentiwari <praveentiwari>
40833
40834 * source/Lib/TLibCommon/TComTrQuant.cpp:
40835 TrComQuant: replaced original code with primitive calls
40836 [3e60dfba74c9]
40837
40838 * source/common/dct.cpp:
40839 Separated the logic block of code from xQuant function as two
40840 functions for optimization
40841 [60a4710e5fc3]
40842
40843 * source/common/primitives.h:
40844 primitives: Added function pointer types for quant
40845 [e22c26d712a1]
40846
40847 2013-06-26 sumalatha <sumalatha>
40848
40849 * source/encoder/compress.cpp:
40850 commit : added log for printing costs for each partSize
40851 [c23b800f04e5]
40852
40853 2013-06-26 praveentiwari <praveentiwari>
40854
40855 * source/common/primitives.h:
40856 White-space fixes in primitives.h
40857 [e48f23e628df]
40858
40859 * source/common/dct.cpp:
40860 Uncrustyfied dct.cpp file
40861 [cfebb7774024]
40862
40863 2013-06-25 Deepthi Devaki <Deepthi Devaki>
40864
40865 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h:
40866 Enabled clipping for Bframes in ME as a fix for 8bpp-16bpp mismatch.
40867 [9f6a0fb1947a]
40868
40869 2013-06-26 praveentiwari <praveentiwari>
40870
40871 * source/Lib/TLibCommon/TComTrQuant.cpp:
40872 White-space fixes in TComTrQuant.cpp file
40873 [12322d9f0b18]
40874
40875 2013-06-26 Mandar Gurav <Mandar Gurav>
40876
40877 * source/common/vec/intrapred.inc:
40878 primitves: 8 bit : PredIntraAng4x4 function table implementation
40879 [f7c7c5e792dc]
40880
40881 2013-06-25 Steve Borho <steve@borho.org>
40882
40883 * source/Lib/TLibEncoder/TEncGOP.cpp:
40884 TEncGOP: fix signed/unsigned comparison
40885 [ecc9ce8993c2]
40886
40887 * source/Lib/TLibEncoder/TEncTop.cpp:
40888 TEncTOP: small perf tweak for --gops 1
40889 [f5605a0579d4]
40890
40891 * source/Lib/TLibEncoder/TEncGOP.cpp,
40892 source/Lib/TLibEncoder/TEncGOP.h,
40893 source/Lib/TLibEncoder/TEncTop.cpp:
40894 TEncGOP: move access unit buffering to TEncGOP
40895 [0ff90feebcbe]
40896
40897 * source/Lib/TLibEncoder/TEncTop.h:
40898 TEncTop: prune unused headers, this stuff has all been moved
40899 downstream
40900 [83fc7f016b60]
40901
40902 * source/common/CMakeLists.txt, source/common/IntraPred.cpp,
40903 source/common/intrapred.cpp:
40904 cmake: lower-case the intrapred.cpp filename
40905 [f8f794c5e611]
40906
40907 * source/Lib/TLibCommon/TComLoopFilter.cpp,
40908 source/Lib/TLibCommon/TComMotionInfo.h,
40909 source/Lib/TLibEncoder/TEncSbac.cpp,
40910 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/mv.h:
40911 mv: remove getHor() and getVer() compatibility methods
40912 [9607556126e3]
40913
40914 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/mv.h:
40915 mv: remove set() compatibility method
40916 [a0d858f0462e]
40917
40918 * source/Lib/TLibEncoder/TEncPic.cpp:
40919 TEncPic: use MAX_DOUBLE from CommonDefs.h
40920 [3310b6859a26]
40921
40922 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/mv.h:
40923 mv: remove setHor(), SetVer() compatibility methods
40924 [1807e4e93e87]
40925
40926 * source/common/CMakeLists.txt, source/common/mv.h,
40927 source/encoder/CMakeLists.txt, source/encoder/mv.h:
40928 mv: move mv.h from encoder/ to common/
40929 [309e04c35ea4]
40930
40931 * source/Lib/TLibCommon/TComDataCU.cpp,
40932 source/Lib/TLibCommon/TComDataCU.h,
40933 source/Lib/TLibCommon/TComLoopFilter.cpp,
40934 source/Lib/TLibCommon/TComMotionInfo.cpp,
40935 source/Lib/TLibCommon/TComMotionInfo.h,
40936 source/Lib/TLibCommon/TComMv.h,
40937 source/Lib/TLibCommon/TComPrediction.cpp,
40938 source/Lib/TLibCommon/TComPrediction.h,
40939 source/Lib/TLibCommon/TComRdCost.h,
40940 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
40941 source/Lib/TLibEncoder/TEncSearch.cpp,
40942 source/Lib/TLibEncoder/TEncSearch.h:
40943 common: replace TComMV with x265::MV everywhere
40944 [8753803f57e1]
40945
40946 * source/Lib/TLibEncoder/TEncTop.cpp:
40947 TEncTOP: simplify logic
40948 [d570ee7646f0]
40949
40950 * source/Lib/TLibEncoder/TEncTop.cpp:
40951 TEncTOP: remove incorrect comment
40952 [589dbbf841d1]
40953
40954 * source/Lib/TLibEncoder/TEncCu.cpp,
40955 source/Lib/TLibEncoder/TEncGOP.cpp,
40956 source/Lib/TLibEncoder/TEncGOP.h,
40957 source/Lib/TLibEncoder/TEncPic.cpp,
40958 source/Lib/TLibEncoder/TEncPic.h,
40959 source/Lib/TLibEncoder/TEncPreanalyzer.cpp,
40960 source/Lib/TLibEncoder/TEncPreanalyzer.h:
40961 TEncPic: make TEncPreanalyzer::xPreanalyze a method of TEncPic
40962 [06de0a8f273d]
40963
40964 * source/Lib/TLibEncoder/TEncGOP.cpp,
40965 source/Lib/TLibEncoder/TEncGOP.h,
40966 source/Lib/TLibEncoder/TEncTop.cpp,
40967 source/Lib/TLibEncoder/TEncTop.h:
40968 TEncGOP: move all picture prep work from TEncTop to TEncGOP
40969 [74cfd68d431f]
40970
40971 * source/Lib/TLibEncoder/TEncGOP.cpp,
40972 source/Lib/TLibEncoder/TEncGOP.h:
40973 TEncGOP: do not use accessors for member variables
40974 [60c1cc2e014a]
40975
40976 * source/Lib/TLibEncoder/TEncGOP.cpp,
40977 source/Lib/TLibEncoder/TEncGOP.h:
40978 TEncGOP: remove m_cpbRemovalDelay, which was never read
40979 [9601ff4148b8]
40980
40981 * source/encoder/encoder.cpp:
40982 encoder: set progressive flag, since we only support progressive
40983 sources
40984 [a041ffd6c0ad]
40985
40986 * source/encoder/encoder.cpp:
40987 encoder: allow CRA mode when gopNumThreads is 1, add some comments
40988 [31f7ebda9f97]
40989
40990 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
40991 TEncTOP: allow -i32 --gops 2, but detect and avoid end-of-stream
40992 crashes
40993 [180e91b6bbf4]
40994
40995 * source/Lib/TLibCommon/TypeDef.h:
40996 Backed out changeset: fdb2ffe6b29b
40997 [05b082d276f4]
40998
40999 * source/Lib/TLibCommon/TypeDef.h:
41000 TypeDef: remove unused DISABLING_CLIP_FOR_BIPREDME
41001 [fdb2ffe6b29b]
41002
41003 * source/encoder/encoder.cpp:
41004 encoder: repair open-gop again
41005 [0cd6fd8d8c39]
41006
41007 * source/encoder/encoder.cpp:
41008 encoder: fix keyframe interval before InitializeGOP()
41009 [0f06e7b6d298]
41010
41011 * source/Lib/TLibEncoder/TEncGOP.cpp:
41012 TEncGOP: fix the first I frame (temporary fix)
41013 [744e04edb379]
41014
41015 * source/encoder/encoder.cpp:
41016 encoder: remove redundant assignments
41017 [3df972c1a6f8]
41018
41019 * source/encoder/encoder.cpp:
41020 encoder: enforce keyframe as multiple of GOPSize
41021 [57919ce774e1]
41022
41023 * source/Lib/TLibEncoder/TEncGOP.cpp,
41024 source/Lib/TLibEncoder/TEncTop.cpp,
41025 source/Lib/TLibEncoder/TEncTop.h:
41026 TEncTOP: remove unused m_vRVM_RP vector
41027 [5da286a92f5a]
41028
41029 2013-06-25 praveentiwari <praveentiwari>
41030
41031 * source/test/mbdstharness.cpp:
41032 Fixed size issue in xDeQuant test code
41033 [fe4b745a0332]
41034
41035 * source/test/mbdstharness.cpp:
41036 uncrustified mbdstharness.cpp file
41037 [542f3ef09ca1]
41038
41039 2013-06-25 sumalatha <sumalatha>
41040
41041 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
41042 Included merge mode for FMD = ON. Changed the
41043 xComputeCostMerge2Nx2N() to calculate the SATD cost and decide the
41044 mode based on that.
41045 [89d3a8de1f47]
41046
41047 2013-06-25 Min Chen <chenm003@163.com>
41048
41049 * source/common/vec/intrapred.inc:
41050 intrapred: Enable primitive since VC9 haven't this bug
41051 --- source/common/vec/intrapred.inc | 2 +- 1 files changed, 1
41052 insertions(+), 1 deletions(-)
41053 [e335b5a9ddca]
41054
41055 2013-06-25 Steve Borho <steve@borho.org>
41056
41057 * source/Lib/TLibEncoder/TEncGOP.cpp,
41058 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
41059 TEncGOP: temporary workarounds for --keyint 32; will finish tomorrow
41060 [f3c41ba3423b]
41061
41062 * source/Lib/TLibEncoder/TEncTop.cpp:
41063 TEncGOP: ugly hack for our ugly --keyint 32 hack
41064
41065 This allows the encoder to survive up till the last mini-GOP, still
41066 debugging
41067 [1fb8e850e893]
41068
41069 * source/encoder/encoder.cpp:
41070 encoder: switch to IDR decoder refresh mode, more GOP parallelism
41071 friendly
41072 [70a215f4e0fa]
41073
41074 2013-06-24 Steve Borho <steve@borho.org>
41075
41076 * source/Lib/TLibEncoder/TEncTop.cpp:
41077 TEncTOP: remove special cases for first keyframe interval
41078 [ba72bbb6ec31]
41079
41080 * source/encoder/encoder.cpp:
41081 encoder: disable GOP parallelism if open GOP configured
41082 [7dadd3f6b861]
41083
41084 * source/encoder/encoder.cpp:
41085 encoder: add a comment for default keyframe interval
41086 [b5e283a6703e]
41087
41088 * source/common/common.cpp, source/encoder/encoder.cpp,
41089 source/x265.cpp:
41090 encoder: change default keyframe interval from fixed value (16) to 1
41091 second
41092 [7a2555036e8d]
41093
41094 * source/common/common.cpp, source/encoder/encoder.cpp:
41095 encoder: consolidate logic which validates feature combinations
41096 [cfc53bb18e32]
41097
41098 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncTop.cpp,
41099 source/Lib/TLibEncoder/TEncTop.h:
41100 TEncTOP: nuke xCalculateRVM() and RVM_VCEGAM10_M
41101 [7d8bb458e541]
41102
41103 * source/common/x86/README.txt:
41104 asm: add a couple more notes to the README
41105 [76f7fc3b8804]
41106
41107 * source/Lib/TLibEncoder/TEncGOP.cpp,
41108 source/Lib/TLibEncoder/TEncTop.cpp,
41109 source/Lib/TLibEncoder/TEncTop.h:
41110 TEncTop: round-robin cycle through GOP encoders
41111 [4cd8f659cee2]
41112
41113 * source/common/IntraPred.cpp, source/common/dct.cpp,
41114 source/common/ipfilter.cpp, source/common/pixel.cpp,
41115 source/common/primitives.h, source/common/vec/blockcopy.inc,
41116 source/common/vec/dct.inc, source/common/vec/ipfilter16.inc,
41117 source/common/vec/ipfilter8.inc, source/common/vec/pixel.inc,
41118 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
41119 source/common/x86/asm-primitives.cpp:
41120 primitve: remove CDECL globally
41121 [5bc43fd3c39b]
41122
41123 * source/Lib/TLibEncoder/TEncCfg.h,
41124 source/Lib/TLibEncoder/TEncTop.cpp,
41125 source/Lib/TLibEncoder/TEncTop.h, source/common/common.cpp,
41126 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
41127 x265: introduce gop thread count parameter, currently mostly ignored
41128 [1ccb2a5664e2]
41129
41130 * source/Lib/TLibEncoder/TEncGOP.cpp,
41131 source/Lib/TLibEncoder/TEncTop.cpp:
41132 TEncGOP: encode frames in keyframe interval batches
41133
41134 This makes progress reports even more infrequent
41135 [f559317ff736]
41136
41137 * source/Lib/TLibEncoder/TEncTop.cpp,
41138 source/Lib/TLibEncoder/TEncTop.h:
41139 TEncTOP: 50% less hungarian, remove or correct wrong comments
41140 [1e7f5c80ee9f]
41141
41142 2013-06-24 Deepthi Devaki <Deepthi Devaki>
41143
41144 * source/Lib/TLibCommon/TComPrediction.cpp,
41145 source/Lib/TLibCommon/TComPrediction.h,
41146 source/Lib/TLibCommon/TComWeightPrediction.cpp,
41147 source/Lib/TLibCommon/TComWeightPrediction.h,
41148 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
41149 source/Lib/TLibEncoder/TEncSearch.cpp:
41150 Added support for bipred, but 8bpp, 16bpp mismatch
41151 [4d95584be40d]
41152
41153 2013-06-21 Deepthi Devaki <Deepthi Devaki>
41154
41155 * source/Lib/TLibCommon/TComPrediction.cpp,
41156 source/Lib/TLibCommon/TComPrediction.h:
41157 TComPrediction: fixes for biprediction
41158
41159 Restructured xPredInterBi. Added xPredInterluma/chromablk/Uni
41160 functions with TShortYuv argument for bipred
41161 [254a52d53a2f]
41162
41163 2013-06-24 Steve Borho <steve@borho.org>
41164
41165 * source/Lib/TLibEncoder/TEncGOP.cpp:
41166 TEncGOP: nits
41167 [a240b7530a29]
41168
41169 * source/Lib/TLibEncoder/TEncGOP.cpp,
41170 source/Lib/TLibEncoder/TEncGOP.h:
41171 TEncGOP: stub in a processKeyframeInterval() method
41172
41173 This is the next step to GOP parallelism. 1) Process an entire
41174 keyframe interval of frames at one go; ensure the picture lists can
41175 deal with this. 2) Add multiple TEncGOP encoders and round-robin
41176 them to encode GOPs. 3) Finally add threading so they work in
41177 unison.
41178 [38efcc5dcbf5]
41179
41180 * source/common/vec/intrapred.inc:
41181 intra: work around VC10 and VC11 Win32 compiler bugs
41182 [a1de9e7f8ee7]
41183
41184 * source/common/ipfilter.cpp, source/common/vec/intrapred.inc,
41185 source/common/vec/pixel.inc:
41186 gcc: fix warnings reported by GCC
41187 [0e83bb44b8e0]
41188
41189 2013-06-23 Steve Borho <steve@borho.org>
41190
41191 * source/common/common.cpp, source/encoder/encoder.cpp,
41192 source/x265.cpp, source/x265.h, source/x265opts.h:
41193 x265: remove ui/i hungarian prefixes from x265_param_t, standardize
41194 bool flags
41195 [7f6b0ae32985]
41196
41197 2013-06-24 Deepthi <Deepthi>
41198
41199 * source/encoder/compress.cpp:
41200 Merge
41201 [d45053ca8e2b]
41202
41203 * source/Lib/TLibEncoder/TEncSearch.cpp:
41204 Merge
41205 [a609e11dc6a5]
41206
41207 2013-06-22 Deepthi <Deepthi>
41208
41209 * source/encoder/compress.cpp:
41210 Adding in entropy measurements to nordo after encode residual.
41211 [628313e72a1d]
41212
41213 * source/encoder/compress.cpp:
41214 Removing merge modes for now; need more debugging
41215 [9e95d8d524a9]
41216
41217 * source/Lib/TLibEncoder/TEncSearch.cpp:
41218 Removing an erroneous cost calculation
41219 [4239f6bf06d7]
41220
41221 2013-06-23 Steve Borho <steve@borho.org>
41222
41223 * source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
41224 encoder: fix open-gop behavior
41225 [30b142f02135]
41226
41227 * source/common/common.cpp:
41228 common: fixups for keyframe interval
41229 [cdb337e59eb0]
41230
41231 2013-06-22 Steve Borho <steve@borho.org>
41232
41233 * source/Lib/TLibEncoder/TEncCu.cpp:
41234 TEncCU: remove more dead code
41235 [e76879d77757]
41236
41237 * source/Lib/TLibEncoder/TEncCu.cpp:
41238 TEncCU: nits
41239 [1aec16cc83ee]
41240
41241 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41242 TEncCU: remove dead code paths
41243 [9df420362f0b]
41244
41245 2013-06-23 Steve Borho <steve@borho.org>
41246
41247 * source/Lib/TLibEncoder/TEncSearch.cpp:
41248 TEncSearch: fix 16bpp build
41249 [8e8edbaa351b]
41250
41251 * source/common/vec/pixel.inc:
41252 pixel: fix typo in build define
41253 [f20bccea941b]
41254
41255 2013-06-22 Steve Borho <steve@borho.org>
41256
41257 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
41258 source/test/pixelharness.cpp:
41259 pixel: simplify and optimize residual and recon primitives
41260 [0b1625fd6625]
41261
41262 * source/VectorClass/vectori128.h:
41263 vector: nit
41264 [67b7bf7ec06c]
41265
41266 2013-06-22 Min Chen <chenm003@163.com>
41267
41268 * source/common/vec/ipfilter8.inc:
41269 interp: [review] PACKUSWB included clip
41270 --- source/common/vec/ipfilter8.inc | 6 ------ 1 files changed, 0
41271 insertions(+), 6 deletions(-)
41272 [f1a23b5dfaec]
41273
41274 2013-06-22 Steve Borho <steve@borho.org>
41275
41276 * source/common/vec/ipfilter-avx.cpp, source/common/vec/ipfilter-
41277 avx2.cpp, source/common/vec/ipfilter-sse2.cpp, source/common/vec
41278 /ipfilter-sse3.cpp, source/common/vec/ipfilter-sse41.cpp,
41279 source/common/vec/ipfilter-sse42.cpp, source/common/vec/ipfilter-
41280 ssse3.cpp, source/common/vec/ipfilter.inc:
41281 ipfilter: move logic from cpp files to ipfilter.inc
41282 [a58b34f95d5a]
41283
41284 2013-06-22 Min Chen <chenm003@163.com>
41285
41286 * source/common/vec/pixel.inc:
41287 pixel: intrinsic Tranpose 16x16
41288 --- source/common/vec/pixel.inc | 83
41289 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 82
41290 insertions(+), 1 deletions(-)
41291 [0d005f8ba719]
41292
41293 * source/common/vec/pixel.inc:
41294 pixel: intrinsic Tranpose 8x8
41295 --- source/common/vec/pixel.inc | 45
41296 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 43
41297 insertions(+), 2 deletions(-)
41298 [1d7ab6944679]
41299
41300 2013-06-22 Steve Borho <steve@borho.org>
41301
41302 * source/common/primitives.h, source/test/pixelharness.cpp:
41303 primitives: rename NUM_BLOCKS to NUM_SQUARE_BLOCKS, use for intra
41304 and transpose
41305 [1ac63a9e6dea]
41306
41307 2013-06-22 Min Chen <chenm003@163.com>
41308
41309 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
41310 source/common/primitives.h, source/common/vec/pixel.inc:
41311 pixel: intrinsic Tranpose 4x4
41312 --- source/Lib/TLibEncoder/TEncSearch.cpp | 9 +------
41313 source/common/pixel.cpp | 19 +++++++++++++++
41314 source/common/primitives.h | 2 + source/common/vec/pixel.inc | 41
41315 +++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+),
41316 8 deletions(-)
41317 [9e07e835929a]
41318
41319 2013-06-22 Steve Borho <steve@borho.org>
41320
41321 * source/common/vec/intrapred.inc:
41322 intrapred: wrap pragma warning with #if _MSC_VER
41323 [f262575efbe4]
41324
41325 * source/Lib/TLibEncoder/TEncSearch.cpp:
41326 TEncSearch: fix cost adjustments following HM ME
41327 [ae98c873c26e]
41328
41329 * source/Lib/TLibEncoder/TEncSearch.cpp:
41330 TEncSearch: simplify full search
41331 [23c6b755811e]
41332
41333 * source/Lib/TLibEncoder/TEncSearch.cpp:
41334 ppa: move motion search event to a higher level
41335 [0fede11b81e5]
41336
41337 * source/Lib/TLibEncoder/TEncGOP.cpp:
41338 TEncGOP: catch --keyint -1 sanely
41339 [fd14b3dd6986]
41340
41341 * source/Lib/TLibEncoder/TEncSearch.h:
41342 TEncSearch: nit
41343 [a4cbe5f4cda3]
41344
41345 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
41346 source/x265.h, source/x265opts.h:
41347 x265: expose HM's full search as a CLI option --me 5
41348 [9be42d1878ee]
41349
41350 * source/Lib/TLibCommon/CommonDef.h,
41351 source/Lib/TLibEncoder/TEncSearch.cpp:
41352 TEncSearch: remove more cruft
41353 [1035b13af978]
41354
41355 * source/Lib/TLibCommon/TComRdCost.h,
41356 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
41357 source/Lib/TLibEncoder/TEncSearch.cpp:
41358 TComRdCost: remove unused uiComp
41359 [0e60557dfa5a]
41360
41361 * source/Lib/TLibEncoder/TEncSearch.cpp,
41362 source/Lib/TLibEncoder/TEncSearch.h:
41363 TEncSearch: remove setDistParamComp
41364 [e31e6df77aba]
41365
41366 2013-06-21 Steve Borho <steve@borho.org>
41367
41368 * source/Lib/TLibEncoder/TEncSearch.cpp:
41369 TEncSearch: cleanups
41370 [895b3f846a08]
41371
41372 * source/Lib/TLibEncoder/TEncSearch.cpp,
41373 source/Lib/TLibEncoder/TEncSearch.h:
41374 TEncSearch: move predictor fetching earlier in inter pred
41375
41376 This allows us to merge xTZSearch into xPatternSearchFast
41377 [5b79dc7d982d]
41378
41379 * source/Lib/TLibEncoder/TEncSearch.cpp:
41380 TEncSearch: hoist our optimized ME up a function layer
41381
41382 Avoid a lot of useless overhead, simplify how ME is called
41383 [e29623267bbe]
41384
41385 * source/Lib/TLibEncoder/TEncSearch.cpp,
41386 source/Lib/TLibEncoder/TEncSearch.h:
41387 TEncSearch: simplify xSetSearchRange
41388 [cd45b4dd8e73]
41389
41390 * source/encoder/motion.cpp, source/encoder/mv.h:
41391 MV: do not allow implicit creation from int
41392 [2fbda9cade34]
41393
41394 * source/Lib/TLibEncoder/TEncSearch.cpp:
41395 TEncSearch: nits
41396 [609f5607d1a5]
41397
41398 * source/common/common.cpp:
41399 common: do not allow weighted prediction with optimized ME
41400
41401 This prevents having to check for this deep within the encoder
41402 [a66478706e61]
41403
41404 2013-06-21 Min Chen <chenm003@163.com>
41405
41406 * source/Lib/TLibEncoder/TEncSearch.cpp,
41407 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
41408 [x265] [PATCH] inrapred: generate all of 33 IntraAngle-8x8 modes
41409 once
41410 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +-
41411 source/common/vec/intrapred.inc | 1017
41412 ++++++++++++++++++++++++++++++++- source/test/intrapredharness.cpp |
41413 3 +- 3 files changed, 1019 insertions(+), 3 deletions(-)
41414 [851fe263dabf]
41415
41416 2013-06-21 Steve Borho <steve@borho.org>
41417
41418 * source/Lib/TLibEncoder/TEncSearch.cpp:
41419 TEncSearch: remove last Double uses from TEncSearch
41420 [de1044dfbaf1]
41421
41422 * source/Lib/TLibCommon/TComRdCost.h:
41423 TComRdCost: remove unused getLambda() method
41424 [3fe92111bc85]
41425
41426 2013-06-20 Min Chen <chenm003@163.com>
41427
41428 * source/common/IntraPred.cpp, source/common/vec/intrapred.inc,
41429 source/test/intrapredharness.cpp:
41430 intrapred: 1.fix C model when size more than 8, 2.fix buffer
41431 overflow in testbench
41432 --- source/common/IntraPred.cpp | 40
41433 ++++++++++++++++++-------------------
41434 source/common/vec/intrapred.inc | 9 ++-----
41435 source/test/intrapredharness.cpp | 9 +++---- 3 files changed, 26
41436 insertions(+), 32 deletions(-)
41437 [14cc0e972566]
41438
41439 2013-06-21 Deepthi Devaki <Deepthi Devaki>
41440
41441 * source/common/ipfilter.cpp, source/common/primitives.h:
41442 Filtervertical-short-short and pel-short to support bipred
41443 [cfea4bf27fa8]
41444
41445 2013-06-21 Deepthi <Deepthi>
41446
41447 * source/encoder/compress.cpp:
41448 Cleanup: compress.cpp
41449 [0abefa6bc340]
41450
41451 * source/encoder/compress.cpp:
41452 Removing incorrect null checks
41453 [90965b5b4da8]
41454
41455 * source/encoder/compress.cpp:
41456 Branch decision taken only if CU does not contain boundary. Always
41457 true otherwise.
41458 [bec0647b8d3f]
41459
41460 * Merge
41461 [20caf72adaac]
41462
41463 * source/encoder/compress.cpp:
41464 Replacing SATD computations with blkcpy and then satd
41465 [6c2368a2a98a]
41466
41467 2013-06-21 Steve Borho <steve@borho.org>
41468
41469 * source/Lib/TLibEncoder/TEncGOP.cpp:
41470 TEncGOP: nits
41471 [3a080c7ba1d0]
41472
41473 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
41474 cmake: separate HM headers from the cpp files for convenience
41475 [fa1a70530abd]
41476
41477 * source/common/pixel.cpp:
41478 pixel: refix 16bpp builds
41479 [ab01a775ab83]
41480
41481 * source/x265.cpp:
41482 x265: fix bitrate progress reports
41483 [bced30963f15]
41484
41485 * source/Lib/TLibEncoder/TEncGOP.cpp:
41486 TEncGOP: use member SPS and PPS structs, stop refetching slice
41487 [ae82def2da71]
41488
41489 2013-06-20 Steve Borho <steve@borho.org>
41490
41491 * source/common/x86/asm-primitives.cpp:
41492 asm: do not override new SSE2 ASM functions with slower templated
41493 XOP calls
41494 [79231017d0da]
41495
41496 * source/Lib/TLibEncoder/TEncGOP.cpp:
41497 TEncGOP: nits
41498 [575f21816974]
41499
41500 * source/CMakeLists.txt:
41501 cmake: assign value to X86_64 when defined
41502 [5de7df75a0fe]
41503
41504 * source/Lib/TLibEncoder/TEncGOP.cpp:
41505 TEncGOP: move a couple of methods
41506 [fc339086c88d]
41507
41508 * source/Lib/TLibEncoder/TEncGOP.cpp:
41509 TEncGOP: nits
41510 [5de89ceadeeb]
41511
41512 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
41513 bitcost: use more accurate fractional bit cost accounting from x264
41514 [07015bbe306b]
41515
41516 * source/encoder/motion.cpp, source/encoder/motion.h:
41517 motion: drop SUBSAMPLE_SAD [CHANGES OUTPUTS]
41518
41519 The complexity outweighed the benefits
41520 [d5e5d3812eaa]
41521
41522 * source/Lib/TLibEncoder/TEncGOP.cpp:
41523 TEncGOP: fix comment
41524 [cadd2ff53d3c]
41525
41526 * source/encoder/bitcost.cpp:
41527 bitcost: fix clamp of bitcost to 16bits
41528
41529 The typecast to uint16_t was just wrong
41530 [6557f5e10c86]
41531
41532 * source/common/reference.cpp:
41533 reference: cleanup worker function
41534 [2c5d35632fea]
41535
41536 * source/common/vec/ipfilter-avx.cpp, source/common/vec/ipfilter-
41537 avx2.cpp, source/common/vec/ipfilter-sse2.cpp, source/common/vec
41538 /ipfilter-sse3.cpp, source/common/vec/ipfilter-sse41.cpp,
41539 source/common/vec/ipfilter-sse42.cpp, source/common/vec/ipfilter-
41540 ssse3.cpp, source/common/vec/ipfilter8.inc:
41541 ipfilter: use memcpy to extend top/bottom rows
41542 [f27f99b01e66]
41543
41544 * source/common/vec/ipfilter8.inc:
41545 ipfilter: fix indention (all white-space changes)
41546 [9ab99c57b42a]
41547
41548 * source/common/vec/ipfilter8.inc:
41549 ipfilter: fix spacing
41550 [e6ef40975e4a]
41551
41552 * source/common/pixel.cpp:
41553 pixel: fix sa8d_16x16 C primitive
41554 [1cec6b092506]
41555
41556 2013-06-20 Deepthi Devaki <Deepthi Devaki>
41557
41558 * source/common/ipfilter.cpp, source/common/primitives.h,
41559 source/common/reference.cpp, source/common/vec/ipfilter.inc,
41560 source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
41561 Vertical filter with Border extend
41562 [fea6feb1152d]
41563
41564 2013-06-20 Min Chen <chenm003@163.com>
41565
41566 * source/test/intrapredharness.cpp:
41567 intrapred: adjust debug info format
41568 --- source/test/intrapredharness.cpp | 2 +- 1 files changed, 1
41569 insertions(+), 1 deletions(-)
41570 [367a3f300210]
41571
41572 * source/test/testbench.cpp:
41573 testbench: fix logic on option --cpuid
41574 [4054533a85e9]
41575
41576 2013-06-20 Steve Borho <steve@borho.org>
41577
41578 * source/Lib/TLibEncoder/TEncGOP.cpp:
41579 TEncGOP: ensure pic list contains at least two TComPic
41580 [cadcbb46ffd9]
41581
41582 2013-06-20 Min Chen <chenm003@163.com>
41583
41584 * source/common/vec/dct.inc:
41585 dct: disable optimize version dct in 16bpp, all of intermediate
41586 value must be 32-bits
41587 --- source/common/vec/dct.inc | 5 +++++ 1 files changed, 5
41588 insertions(+), 0 deletions(-)
41589 [7135a13cf3a5]
41590
41591 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
41592 source/common/primitives.h, source/common/vec/intrapred.inc,
41593 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
41594 intrapred: implement IntraAngle mode to all size
41595 --- source/Lib/TLibEncoder/TEncSearch.cpp | 5 ++-
41596 source/common/IntraPred.cpp | 22 ++++++++++-------
41597 source/common/primitives.h | 2 +- source/common/vec/intrapred.inc |
41598 39 +++++++++++++++++------------- source/test/intrapredharness.cpp |
41599 41 +++++++++++++++++++------------- source/test/intrapredharness.h |
41600 2 +- 6 files changed, 64 insertions(+), 47 deletions(-)
41601 [12ef1f072327]
41602
41603 2013-06-20 Mandar Gurav <Mandar Gurav>
41604
41605 * source/common/pixel.cpp, source/test/testbench.cpp:
41606 primitives: some macro implementation to improve readabilty of code.
41607 [f97119251704]
41608
41609 2013-06-20 Steve Borho <steve@borho.org>
41610
41611 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
41612 asm: use more generic 64bit build define
41613 [6df10ad11f4a]
41614
41615 * source/common/x86/asm-primitives.cpp:
41616 asm: prune trailing white-space
41617 [094b99a737b6]
41618
41619 2013-06-20 Mandar Gurav <Mandar Gurav>
41620
41621 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
41622 source/common/x86/pixel.h:
41623 primitives: asm: satd: fix for 32 bit issue
41624 [18b0bc26f3a0]
41625
41626 2013-06-20 Deepthi <Deepthi>
41627
41628 * Merge
41629 [17ddca539510]
41630
41631 * source/common/common.cpp:
41632 Print rdo if enabled, no-rdo if disabled
41633 [8454a96806ff]
41634
41635 2013-06-20 Steve Borho <steve@borho.org>
41636
41637 * source/Lib/TLibEncoder/TEncGOP.cpp:
41638 TEncGOP: simplify POC search
41639 [e926b2d50cee]
41640
41641 * source/Lib/TLibEncoder/TEncGOP.cpp:
41642 TEncGOP: remove unused variable
41643 [bbf02b319ed7]
41644
41645 * source/Lib/TLibEncoder/TEncGOP.cpp,
41646 source/Lib/TLibEncoder/TEncGOP.h,
41647 source/Lib/TLibEncoder/TEncTop.cpp,
41648 source/Lib/TLibEncoder/TEncTop.h:
41649 TEncGOP: move all picture management to TEncGOP
41650 [276ab8776f48]
41651
41652 * source/x265.cpp:
41653 x265: do not ask for recon pictures if no output file was requested
41654 [48d22ee16225]
41655
41656 * source/encoder/encoder.cpp:
41657 encoder: consider output NALs even if iNumEncoded is zero
41658 [636674cc5f50]
41659
41660 2013-06-19 Steve Borho <steve@borho.org>
41661
41662 * source/Lib/TLibEncoder/TEncGOP.cpp,
41663 source/Lib/TLibEncoder/TEncGOP.h,
41664 source/Lib/TLibEncoder/TEncTop.cpp,
41665 source/Lib/TLibEncoder/TEncTop.h:
41666 TEncGOP: move frame list from TEncTOP to TEncGOP
41667 [abfa8a5a1ebc]
41668
41669 * source/Lib/TLibEncoder/TEncGOP.cpp,
41670 source/Lib/TLibEncoder/TEncGOP.h,
41671 source/Lib/TLibEncoder/TEncTop.cpp,
41672 source/Lib/TLibEncoder/TEncTop.h, source/encoder/wavefront.cpp,
41673 source/encoder/wavefront.h:
41674 TEncGOP: move SPS, PPS to TEncGOP
41675
41676 These structures are modified by compressGOP and thus cannot be
41677 encoder singletons. The init functions are kept in TEncTOP since
41678 they are tightly coupled with TEncCfg and TEncTOP
41679 [43a210488e02]
41680
41681 * source/Lib/TLibCommon/TComSlice.cpp,
41682 source/Lib/TLibCommon/TComSlice.h,
41683 source/Lib/TLibCommon/TComWeightPrediction.cpp,
41684 source/Lib/TLibEncoder/TEncCavlc.cpp,
41685 source/Lib/TLibEncoder/TEncTop.h:
41686 make a pile of get*() methods const
41687 [79d8bdd3612f]
41688
41689 * source/Lib/TLibEncoder/TEncCfg.h,
41690 source/Lib/TLibEncoder/TEncGOP.cpp,
41691 source/Lib/TLibEncoder/TEncGOP.h,
41692 source/Lib/TLibEncoder/TEncTop.cpp,
41693 source/Lib/TLibEncoder/TEncTop.h:
41694 TEncGOP: move getReferencePictureSetIdxForSOP and
41695 selectReferencePictureSet
41696 [998ee354be96]
41697
41698 2013-06-19 Min Chen <chenm003@163.com>
41699
41700 * source/common/vec/intrapred.inc:
41701 intrapred: correct HIGH_BIT_DEPTH fault
41702 --- source/common/vec/intrapred.inc | 2 +- 1 file changed, 1
41703 insertion(+), 1 deletion(-)
41704 [bfde7f16c723]
41705
41706 2013-06-19 Steve Borho <steve@borho.org>
41707
41708 * source/Lib/TLibEncoder/TEncGOP.cpp,
41709 source/Lib/TLibEncoder/TEncGOP.h,
41710 source/Lib/TLibEncoder/TEncTop.cpp,
41711 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
41712 source/encoder/encoder.h:
41713 TEncGOP: directly return references to encoder's recon frames, do
41714 not copy
41715
41716 This is all prep-work for GOP threading, but it doesn't hurt to
41717 remove a frame copy from the main loop. Now if the user wants no
41718 recon frames there is no overhead associated in maintaining them.
41719 [519b62011b23]
41720
41721 * source/encoder/encoder.cpp, source/encoder/encoder.h,
41722 source/x265.cpp, source/x265.h:
41723 x265: change public API slightly to allow batch reconstructed frame
41724 delivery
41725 [45b31cb09114]
41726
41727 * source/Lib/TLibCommon/TComSlice.cpp:
41728 TComSlice: nits
41729 [63afd266e232]
41730
41731 * source/Lib/TLibEncoder/TEncTop.cpp,
41732 source/Lib/TLibEncoder/TEncTop.h:
41733 TEncTop: return TComPic from xGetNewPicBuffer, don't use reference
41734 args
41735 [770b306f1163]
41736
41737 * source/Lib/TLibCommon/TComTrQuant.cpp,
41738 source/Lib/TLibCommon/TComTrQuant.h:
41739 Backed out changeset: 8af5a9eb198c
41740
41741 This backs out the lambda change from Double to UInt64, but leaves
41742 the typo and other white-space fixes in place. This change ended up
41743 being a net performance loser. The double->UInt64 conversions in the
41744 middle of the tight loop were slower than the savings from using
41745 integer math.
41746
41747 We need an effective way to perform the cost scaling using integer
41748 math in order to use integers throughout this function.
41749 [eba9a84e9054]
41750
41751 * source/Lib/TLibCommon/TComTrQuant.cpp:
41752 TComTrQuant: reduce number of double<->int conversions
41753 [092152f58712]
41754
41755 * source/Lib/TLibCommon/TComTrQuant.cpp,
41756 source/Lib/TLibCommon/TComTrQuant.h:
41757 TComTrQuant: switch lambda from Double to UInt64 [CHANGES OUTPUTS]
41758 [8af5a9eb198c]
41759
41760 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.h:
41761 motion: add bufSA8D() method, so sa8d and satd are both available
41762 [76449efed663]
41763
41764 2013-06-19 sumalatha <sumalatha>
41765
41766 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
41767 source/encoder/compress.cpp:
41768 Included the merge mode for selecting the mode for xCompressInterCU
41769 [94d7d31fc312]
41770
41771 2013-06-20 ShinYee Chung <shinyee@multicorewareinc.com>
41772
41773 * source/common/vec/intrapred.inc:
41774 intrapred: Fix unused variables.
41775
41776 error: statement has no effect [-Werror=unused-value]
41777 [bb78ee5841f2]
41778
41779 2013-06-19 Steve Borho <steve@borho.org>
41780
41781 * source/common/common.cpp:
41782 common: move RDO settings together
41783 [8039746d5cb0]
41784
41785 * source/common/common.cpp:
41786 common: output logs to stderr consistently
41787 [d2a568b0c078]
41788
41789 2013-06-20 ShinYee Chung <shinyee@multicorewareinc.com>
41790
41791 * source/Lib/TLibEncoder/TEncSearch.cpp:
41792 TEncSearch: Fix compile error due to char array subscript.
41793
41794 Sample compile errors in Linux64/GCC4.8.1:
41795
41796 $HEVC/source/Lib/TLibEncoder/TEncSearch.cpp:2134:75: error: array
41797 subscript has type ‘char’ [-Werror=char-subscripts] x265::pixelcmp
41798 sa8d = x265::primitives.sa8d[g_aucConvertToBit[uiWidth]]; ^
41799 $HEVC/source/Lib/TLibEncoder/TEncSearch.cpp: In member function
41800 ‘Void TEncSearch::estIntraPredQT(TComDataCU*, TComYuv*, TComYuv*,
41801 TShortYUV*, TComYuv*, UInt&, Bool)’:
41802 $HEVC/source/Lib/TLibEncoder/TEncSearch.cpp:2206:79: error: array
41803 subscript has type ‘char’ [-Werror=char-subscripts] x265::pixelcmp
41804 sa8d = x265::primitives.sa8d[g_aucConvertToBit[uiWidth]]; ^
41805 [dd5dd47e17f4]
41806
41807 * source/common/IntraPred.cpp:
41808 intrapred: Fix unused global variable.
41809
41810 Compile error in Linux64/GCC4.8.1:
41811
41812 $HEVC/source/common/IntraPred.cpp:252:15: error:
41813 ‘{anonymous}::g_aucIntraFilterType’ defined but not used [-Werror
41814 =unused-variable] unsigned char g_aucIntraFilterType[][35] = { ^
41815 [ac3e7ab6cdc0]
41816
41817 2013-06-19 ShinYee Chung <shinyee@multicorewareinc.com>
41818
41819 * source/Lib/TLibCommon/TComPrediction.cpp:
41820 TComPrediction: Fix reordered initialization list.
41821
41822 Sample compile errors in Linux64/GCC4.8.1:
41823
41824 $HEVC/source/Lib/TLibCommon/TComPrediction.h: In constructor
41825 ‘TComPrediction::TComPrediction()’:
41826 $HEVC/source/Lib/TLibCommon/TComPrediction.h:80:12: error:
41827 ‘TComPrediction::m_iLumaRecStride’ will be initialized after
41828 [-Werror=reorder] Int m_iLumaRecStride; ///< stride of
41829 #m_pLumaRecBuffer array ^
41830 $HEVC/source/Lib/TLibCommon/TComPrediction.h:79:12: error: ‘Pel*
41831 TComPrediction::m_pLumaRecBuffer’ [-Werror=reorder] Pel*
41832 m_pLumaRecBuffer; ///< array for downsampled reconstructed luma
41833 sample ^ $HEVC/source/Lib/TLibCommon/TComPrediction.cpp:60:1: error:
41834 when initialized here [-Werror=reorder]
41835 TComPrediction::TComPrediction() ^ In file included from
41836 $HEVC/source/Lib/TLibCommon/TComPrediction.cpp:39:0:
41837 $HEVC/source/Lib/TLibCommon/TComPrediction.h:79:12: error:
41838 ‘TComPrediction::m_pLumaRecBuffer’ will be initialized after
41839 [-Werror=reorder] Pel* m_pLumaRecBuffer; ///< array for downsampled
41840 reconstructed luma sample ^
41841 $HEVC/source/Lib/TLibCommon/TComPrediction.h:62:15: error: ‘Pel*
41842 TComPrediction::m_piPredBuf’ [-Werror=reorder] Pel* m_piPredBuf; ^
41843 $HEVC/source/Lib/TLibCommon/TComPrediction.cpp:60:1: error: when
41844 initialized here [-Werror=reorder] TComPrediction::TComPrediction()
41845 ^
41846 [f8d043a4f6b4]
41847
41848 * source/common/IntraPred.cpp, source/common/vec/intrapred.inc:
41849 intrapred: Fix unused variables.
41850
41851 Sample compile errors in Linux64/GCC 4.8.1:
41852
41853 $HEVC/source/common/vec/intrapred.inc:4677:13: error: statement has
41854 no effect [-Werror=unused-value] (pLeft1); ^
41855 $HEVC/source/common/vec/intrapred.inc:4678:14: error: statement has
41856 no effect [-Werror=unused-value] (pAbove1); ^
41857 [e373dbe02018]
41858
41859 2013-06-19 Min Chen <chenm003@163.com>
41860
41861 * source/Lib/TLibEncoder/TEncSearch.cpp,
41862 source/common/vec/intrapred.inc:
41863 inrapred: generate all of 33 IntraAngle-4x4 modes once
41864 [1353e6681c7d]
41865
41866 2013-06-19 Mandar Gurav <Mandar Gurav>
41867
41868 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
41869 source/common/x86/pixel.h:
41870 primitives: asm: update: implementation of satd(sse2)
41871 [762b53ecba5a]
41872
41873 2013-06-18 Mandar Gurav <Mandar Gurav>
41874
41875 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
41876 source/common/x86/pixel.h:
41877 primitives: asm: implementation of satd_16x12(sse2)
41878 [594020d9d19b]
41879
41880 2013-06-19 Steve Borho <steve@borho.org>
41881
41882 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
41883 source/common/vec/intrapred.inc, source/encoder/motion.cpp:
41884 16bpp fixes
41885 [67342f25244e]
41886
41887 2013-06-18 Steve Borho <steve@borho.org>
41888
41889 * source/Lib/TLibCommon/TComTrQuant.cpp,
41890 source/Lib/TLibCommon/TComTrQuant.h:
41891 TComTrQuant: remove wrong comments, cleanup funcdefs, move inlines
41892 to header
41893 [6ecc4a1ca26c]
41894
41895 2013-06-19 Deepthi <Deepthi>
41896
41897 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
41898 Cleanuo: Removing swapCU
41899 [ab93e542c0a4]
41900
41901 * source/Lib/TLibCommon/TComDataCU.cpp,
41902 source/Lib/TLibCommon/TComDataCU.h:
41903 Cleanup: Removing copyCU
41904 [c46b9a8ead56]
41905
41906 * source/CMakeLists.txt:
41907 Removing FMD from cmake options.
41908 [332b3145d9be]
41909
41910 * source/Lib/TLibCommon/TComDataCU.cpp,
41911 source/Lib/TLibCommon/TComDataCU.h,
41912 source/Lib/TLibEncoder/TEncCu.cpp,
41913 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
41914 Replacing all FMD macros with cfg file option
41915 [77b91dd88829]
41916
41917 * source/encoder/encoder.cpp:
41918 Set cfg flag to enableRDO CL option.
41919 [e0528e455855]
41920
41921 * source/Lib/TLibEncoder/TEncCfg.h:
41922 Adding rdo to cfg structure
41923 [49737829b64f]
41924
41925 * source/common/common.cpp, source/x265.h, source/x265opts.h:
41926 Add rdo/no-rdo to command line interface
41927 [00a331ad69a4]
41928
41929 2013-06-18 Steve Borho <steve@borho.org>
41930
41931 * source/Lib/TLibCommon/TComRdCost.h:
41932 TComRdCost: move getCost closer to calcRdSADCost, to show how they
41933 are related
41934 [c79263efd38d]
41935
41936 * source/Lib/TLibCommon/TComRdCost.cpp,
41937 source/Lib/TLibCommon/TComRdCost.h:
41938 TComRdCost: remove unused calcHAD() method
41939 [401167498626]
41940
41941 * source/Lib/TLibCommon/TComRdCost.cpp:
41942 TComRdCost: fix a typo in a comment
41943 [ee06dc714841]
41944
41945 * source/Lib/TLibCommon/TComRdCost.cpp,
41946 source/Lib/TLibCommon/TComRdCost.h:
41947 TComRdCost: remove unused overload of setDistParam
41948 [08310bc6f97d]
41949
41950 * source/Lib/TLibCommon/TComRdCost.cpp,
41951 source/Lib/TLibCommon/TComRdCost.h:
41952 TComRdCost: remove unused overload of setDistParam
41953 [1ba3c30c42c2]
41954
41955 * source/encoder/motion.cpp, source/encoder/motion.h:
41956 motion: move bufSATD back into motion.h and declare both inline
41957 [f1d34f7a9d9b]
41958
41959 * source/common/pixel.cpp, source/common/primitives.h,
41960 source/common/x86/asm-primitives.cpp, source/encoder/motion.cpp,
41961 source/encoder/motion.h, source/test/pixelharness.cpp:
41962 pixel: add sa8d_inter primitives to match TComRdCost::calcHAD()
41963
41964 Now we can pick between sa8d and satd at runtime via a pointer
41965 selection
41966 [b4f99ece0aeb]
41967
41968 * source/Lib/TLibEncoder/TEncSearch.cpp:
41969 TEncSearch: use motion.bufSAD instead of m_pcRdCost DistParam
41970 [d1604fa4e39e]
41971
41972 * source/encoder/motion.cpp, source/encoder/motion.h:
41973 motion: make bufSATD function exactly like TComRdCost::calcHAD()
41974 [dec21e1c6ee9]
41975
41976 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
41977 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
41978 source/test/pixelharness.cpp:
41979 primitives: collect sa8d primitives into blocksize array
41980 [a21a11f9e1b6]
41981
41982 * source/common/primitives.h:
41983 primitives: fix two wrong comments
41984 [4915f80d3cdb]
41985
41986 * source/encoder/motion.h:
41987 motion: add bufSATD method
41988 [760aa86a54ba]
41989
41990 * source/Lib/TLibEncoder/TEncSearch.cpp:
41991 TEncSearch: remove extra indent level; nit
41992 [b0d5c4f14d3b]
41993
41994 * source/common/primitives.cpp:
41995 primitives: add rationale for disabling EMMS when ASM is disabled
41996 [21b34444026c]
41997
41998 * source/common/vec/pixel.inc:
41999 pixel: cleanup Setup_Vec_PixelPrimitives, remove comments that add
42000 no meaning
42001 [f1437f97e146]
42002
42003 * source/common/pixel.cpp:
42004 pixel: round up to nearest half before shift, fixes --cpuid 1
42005 encodes
42006 [4118bc3a68aa]
42007
42008 * source/encoder/bitcost.cpp:
42009 bitcost: use x265_emms() before calculating a row of MV costs, to be
42010 safe
42011 [5c1de9ce010c]
42012
42013 * source/common/x86/asm-primitives.cpp:
42014 asm-primitives: fix eoln
42015 [c56ef1521a07]
42016
42017 * source/common/primitives.h, source/common/x86/asm-primitives.cpp:
42018 Backed out changeset: d9f7525c4adf
42019 [c6370b56b1d9]
42020
42021 * source/Lib/TLibEncoder/TEncSearch.cpp:
42022 TEncSearch: delay x265_emms() to RDO stage of intra analysis
42023 [f0b745956762]
42024
42025 * source/Lib/TLibEncoder/TEncSearch.cpp:
42026 TEncSearch: use m_pcRdCost->calcRdSADCost() to avoid doubles in
42027 intra analysis
42028 [458cdba67699]
42029
42030 2013-06-18 chenm003 <chenm003@163.com unknown>
42031
42032 * source/Lib/TLibCommon/TComPrediction.cpp,
42033 source/Lib/TLibCommon/TComPrediction.h,
42034 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
42035 source/common/primitives.h, source/common/vec/intrapred.inc,
42036 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
42037 intrapred: framework for generate 33 Angle modes once
42038 --- source/Lib/TLibCommon/TComPrediction.cpp | 5 +-
42039 source/Lib/TLibCommon/TComPrediction.h | 1 +
42040 source/Lib/TLibEncoder/TEncSearch.cpp | 65 +-
42041 source/common/IntraPred.cpp | 569 +- source/common/primitives.h | 2
42042 + source/common/vec/intrapred.inc | 9409
42043 +++++++++++++++--------------- source/test/intrapredharness.cpp | 72
42044 + source/test/intrapredharness.h | 4 + 8 files changed, 5179
42045 insertions(+), 4948 deletions(-)
42046 [e582599ae931]
42047
42048 * source/common/primitives.h, source/test/intrapredharness.cpp,
42049 source/test/intrapredharness.h:
42050 intrapred: fix build error after simplify bLeft and bAbove
42051 --- source/common/primitives.h | 8 ++++----
42052 source/test/intrapredharness.cpp | 26 +++++++++-----------------
42053 source/test/intrapredharness.h | 4 ++-- 3 files changed, 15
42054 insertions(+), 23 deletions(-)
42055 [5fbfc07c8898]
42056
42057 * source/Lib/TLibEncoder/TEncSearch.cpp:
42058 intrapred: Split DC and Planar from Loop
42059 --- source/Lib/TLibEncoder/TEncSearch.cpp | 17 ++++++++++++++++- 1
42060 file changed, 16 insertions(+), 1 deletion(-)
42061 [20e256246d19]
42062
42063 * source/Lib/TLibCommon/TComPattern.cpp,
42064 source/Lib/TLibCommon/TComPattern.h,
42065 source/Lib/TLibCommon/TComPrediction.cpp,
42066 source/Lib/TLibCommon/TComPrediction.h,
42067 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
42068 source/common/primitives.h, source/common/vec/intrapred.inc:
42069 cleanup: remove bLeft and bAbove since HEVC have a reference sample
42070 pad, they are always True
42071 --- source/Lib/TLibCommon/TComPattern.cpp | 14 ++--
42072 source/Lib/TLibCommon/TComPattern.h | 10 +--
42073 source/Lib/TLibCommon/TComPrediction.cpp | 33 +++++----
42074 source/Lib/TLibCommon/TComPrediction.h | 4 +-
42075 source/Lib/TLibEncoder/TEncSearch.cpp | 29 +++-----
42076 source/common/IntraPred.cpp | 43 +++---------
42077 source/common/primitives.h | 4 +- source/common/vec/intrapred.inc |
42078 115 +++++++++++++++---------------- 8 files changed, 101
42079 insertions(+), 151 deletions(-)
42080 [b639e5fff55e]
42081
42082 2013-06-18 chenm003 <chenm003@163.com Min Chen>
42083
42084 * source/Lib/TLibEncoder/TEncSearch.cpp:
42085 intrapred: Split loop into Loop_Prediction and Loop_Decide
42086 --- source/Lib/TLibEncoder/TEncSearch.cpp | 12 ++++++++---- 1 file
42087 changed, 8 insertions(+), 4 deletions(-)
42088 [758ac3d8616c]
42089
42090 2013-06-18 chenm003 <chenm003@163.com unknown>
42091
42092 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
42093 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
42094 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
42095 cleanup: unused code m_bUseNIF
42096 --- source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp | 36
42097 +------------------ source/Lib/TLibCommon/TComSampleAdaptiveOffset.h
42098 | 1 - .../Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp | 41
42099 +--------------------- 3 files changed, 2 insertions(+), 76
42100 deletions(-)
42101 [56d07fe3a257]
42102
42103 2013-06-18 Steve Borho <steve@borho.org>
42104
42105 * source/common/reference.cpp:
42106 Merge
42107 [469e285c62c3]
42108
42109 2013-06-18 Deepthi Devaki <Deepthi Devaki>
42110
42111 * source/common/reference.cpp, source/common/reference.h:
42112 Merge
42113 [0e1117a1e892]
42114
42115 * source/common/vec/ipfilter8.inc:
42116 Intrinsic implementation for SSE4 and higher for vertical filter
42117 [ef85cd7f938d]
42118
42119 2013-06-17 Steve Borho <steve@borho.org>
42120
42121 * source/common/reference.cpp, source/common/reference.h:
42122 reference: use new multiplane primitives (changes outputs, likely
42123 buggy)
42124 [97dbc3346524]
42125
42126 2013-06-18 Deepthi Devaki <Deepthi Devaki>
42127
42128 * Merge
42129 [de3b92c772ad]
42130
42131 * source/common/vec/ipfilter8.inc:
42132 Partial intrinsic for vertical filter
42133 [844308961a0b]
42134
42135 2013-06-18 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
42136
42137 * source/common/reference.cpp:
42138 Fixed Build Errors(Type cast) for 16 bit
42139 [41855cf217d0]
42140
42141 2013-06-18 mahesh pittala <mahesh@multicorewareinc.com>
42142
42143 * Merged multicoreware/xhevc into default
42144 [beab4f74a085]
42145
42146 * Merged multicoreware/xhevc into default
42147 [f4734dec9dc8]
42148
42149 2013-06-17 mahesh pittala <mahesh@multicorewareinc.com>
42150
42151 * Merged multicoreware/xhevc into default
42152 [2cd09f020148]
42153
42154 * Merged multicoreware/xhevc into default
42155 [819fd14f888e]
42156
42157 * source/Lib/TLibEncoder/TEncAnalyze.cpp:
42158 Merged multicoreware/xhevc into default
42159 [e712594eda8f]
42160
42161 2013-06-15 mahesh pittala <mahesh@multicorewareinc.com>
42162
42163 * Merged multicoreware/xhevc into default
42164 [dc66b43ad68e]
42165
42166 * Merged multicoreware/xhevc into default
42167 [31558ea714e2]
42168
42169 2013-06-14 mahesh pittala <mahesh@multicorewareinc.com>
42170
42171 * Merged multicoreware/xhevc into default
42172 [491779f0da6e]
42173
42174 2013-06-18 Steve Borho <steve@borho.org>
42175
42176 * source/common/reference.cpp:
42177 reference: extend Y=0 planes in worker function
42178 [7e76d1574234]
42179
42180 * source/common/reference.cpp, source/common/reference.h:
42181 reference: use new APIs
42182 [948587f9c9fa]
42183
42184 2013-06-17 Steve Borho <steve@borho.org>
42185
42186 * source/Lib/TLibCommon/TComSlice.cpp:
42187 TComSlice: fix debug builds (asserts)
42188 [b252b6a34869]
42189
42190 * source/Lib/TLibEncoder/TEncCfg.h,
42191 source/Lib/TLibEncoder/TEncGOP.cpp,
42192 source/Lib/TLibEncoder/TEncGOP.h,
42193 source/Lib/TLibEncoder/TEncSlice.cpp,
42194 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
42195 TEncCfg: remove deblocking filter metric code
42196 [97c117eee937]
42197
42198 * source/Lib/TLibEncoder/TEncGOP.cpp,
42199 source/Lib/TLibEncoder/TEncGOP.h:
42200 TEncGOP: remove uiNumSlices
42201 [fcaae4248d5d]
42202
42203 * source/Lib/TLibCommon/TComSlice.cpp,
42204 source/Lib/TLibCommon/TComSlice.h,
42205 source/Lib/TLibEncoder/TEncGOP.cpp,
42206 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
42207 TComSlice: remove m_sliceIdx and access methods
42208 [04505d780210]
42209
42210 * source/Lib/TLibEncoder/TEncGOP.cpp,
42211 source/Lib/TLibEncoder/TEncGOP.h:
42212 TEncGOP: remove unused SEI var, nit cleanups
42213 [739c30209346]
42214
42215 * source/Lib/TLibEncoder/TEncGOP.cpp,
42216 source/Lib/TLibEncoder/TEncGOP.h:
42217 TEncGOP: SEIPresent variables can now be local variables
42218 [5d9dc98c01a7]
42219
42220 * source/Lib/TLibEncoder/TEncGOP.h:
42221 TEncGOP: remove obsolete PROCESSING_STATE enum
42222 [e817dece7a51]
42223
42224 * source/Lib/TLibEncoder/TEncGOP.cpp,
42225 source/Lib/TLibEncoder/TEncGOP.h:
42226 TEncGOP: inline xResetNonNestedSEIPresentFlags() and
42227 xResetNestedSEIPresentFlags()
42228 [0a034b2714ba]
42229
42230 * source/Lib/TLibEncoder/TEncGOP.cpp,
42231 source/Lib/TLibEncoder/TEncGOP.h:
42232 TEncGOP: inline xCreateLeadingSEIMessages
42233 [42c156937eef]
42234
42235 * source/Lib/TLibEncoder/TEncGOP.cpp,
42236 source/Lib/TLibEncoder/TEncGOP.h:
42237 TEncGOP: m_iGopSize did not need to be a member variable
42238 [ac6bf2ad37dd]
42239
42240 * source/encoder/encoder.cpp:
42241 encoder: declare large integer constant to be unsigned to prevent
42242 warnings
42243 [b42f5f907a8a]
42244
42245 * source/Lib/TLibEncoder/TEncGOP.h:
42246 TEncGOP: remove unnecessary includes of <list> and <stdlib.h>
42247 [bc3fe350f76a]
42248
42249 * source/Lib/TLibEncoder/TEncGOP.h:
42250 TEncGOP: remove uneecessary include of <vector>
42251 [b34fc8a28026]
42252
42253 * source/Lib/TLibEncoder/TEncPic.h:
42254 TEncPic: nits
42255 [5cec340da54e]
42256
42257 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42258 source/Lib/TLibEncoder/TEncPic.cpp,
42259 source/Lib/TLibEncoder/TEncPic.h,
42260 source/Lib/TLibEncoder/TEncTop.cpp:
42261 TComPic: remove unused m_numReorderPics
42262 [dcb9836738d0]
42263
42264 * source/Lib/TLibCommon/TComPic.h:
42265 TComPic: move pointers to start of class definition
42266 [d9e2d694bd64]
42267
42268 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42269 TComPic: remove unused m_SEIs
42270
42271 This may get added again later with a more C friendly interface
42272 [d75b868d9d33]
42273
42274 * source/Lib/TLibCommon/TComSlice.h:
42275 TComSlice: white-space cleanups
42276 [bc1ca09c3569]
42277
42278 * source/Lib/TLibCommon/TComBitStream.cpp,
42279 source/Lib/TLibCommon/TComBitStream.h:
42280 TComBitstream: remove decoder class TComInputBitstream
42281 [5ccdcfc7f906]
42282
42283 * source/Lib/TLibCommon/TComPic.h:
42284 TComPic: remove obsolete include
42285 [272fd2b3626f]
42286
42287 * source/Lib/TLibCommon/TComSlice.cpp,
42288 source/Lib/TLibCommon/TComSlice.h:
42289 TComSlice: fix misspelled member variable
42290 [70efa70c09c6]
42291
42292 2013-06-16 ShinYee Chung <shinyee@multicorewareinc.com>
42293
42294 * source/encoder/encoder.cpp:
42295 encoder: Fix compile warnings due to unhandled enumeration values in
42296 a switch statement.
42297
42298 $HEVC/source/encoder/encoder.cpp: In member function ‘void
42299 x265::Encoder::determineLevelAndProfile(x265_param_t*)’:
42300 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
42301 ‘NONE’ not handled in switch [-Werror=switch] switch (m_level) ^
42302 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
42303 ‘LEVEL1’ not handled in switch [-Werror=switch]
42304 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
42305 ‘LEVEL2’ not handled in switch [-Werror=switch]
42306 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
42307 ‘LEVEL2_1’ not handled in switch [-Werror=switch]
42308 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
42309 ‘LEVEL3’ not handled in switch [-Werror=switch]
42310 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
42311 ‘LEVEL3_1’ not handled in switch [-Werror=switch] cc1plus: all
42312 warnings being treated as errors
42313 [bf8657373cc0]
42314
42315 2013-06-17 ShinYee Chung <shinyee@multicorewareinc.com>
42316
42317 * source/Lib/TLibEncoder/TEncGOP.cpp:
42318 gop: Fix compile warning due to shadow variables.
42319
42320 error: shadowed declaration is here [-Werror=shadow]
42321 [1afdab036cdf]
42322
42323 2013-06-17 Steve Borho <steve@borho.org>
42324
42325 * source/Lib/TLibCommon/TComSlice.h:
42326 TComSlice: remove unreferenced checkColRefIdx
42327 [462ae5b5c92b]
42328
42329 * source/Lib/TLibCommon/TComDataCU.cpp,
42330 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42331 source/Lib/TLibCommon/TComPicSym.cpp,
42332 source/Lib/TLibCommon/TComPicSym.h,
42333 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
42334 source/Lib/TLibCommon/TComSlice.cpp,
42335 source/Lib/TLibEncoder/TEncCu.cpp,
42336 source/Lib/TLibEncoder/TEncGOP.cpp,
42337 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
42338 source/Lib/TLibEncoder/TEncSearch.cpp,
42339 source/Lib/TLibEncoder/TEncSlice.cpp,
42340 source/Lib/TLibEncoder/TEncTop.cpp,
42341 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
42342 source/encoder/compress.cpp:
42343 TComDataCU: remove TComSlice array of pointers; only one slice
42344 [4a443108dea9]
42345
42346 * source/Lib/TLibCommon/TComDataCU.cpp,
42347 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42348 source/Lib/TLibCommon/TComSlice.cpp,
42349 source/Lib/TLibEncoder/TEncCu.cpp,
42350 source/Lib/TLibEncoder/TEncGOP.cpp,
42351 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
42352 TComPic: remove m_uiCurrSliceIdx (there can be only one)
42353 [f61d6a311ac7]
42354
42355 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42356 TComPic: give the orig and recon pointers real names
42357 [4da66382061e]
42358
42359 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42360 TComPic: rename m_apcPicSym to m_pcPicSym, there is no array
42361 [254cfb7b02c2]
42362
42363 * source/Lib/TLibCommon/TComPic.cpp:
42364 TComPic: further simplify boundary detection
42365 [8bc870e559e5]
42366
42367 * source/Lib/TLibCommon/TComDataCU.cpp,
42368 source/Lib/TLibCommon/TComDataCU.h,
42369 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42370 TComPic, TComDataCU: remove m_pSliceSUMap
42371 [5c7a900e9a7a]
42372
42373 * source/Lib/TLibCommon/TComPic.cpp:
42374 TComPic: pre-allocate vSliceCUDataLink
42375 [82e9374afa55]
42376
42377 * source/Lib/TLibCommon/TComPic.h:
42378 TComPic: nits
42379 [de4b9e89db28]
42380
42381 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42382 TComPic: m_vSliceCUDataLink did not need to be a member variable
42383 [ab9d5f1754f1]
42384
42385 * source/test/mbdstharness.cpp:
42386 mbdstharness: fix compile with DEBUG
42387 [d54f561a75ee]
42388
42389 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42390 TComPic: m_sliceGranularityForNDBFilter did not need to be a member
42391 variable
42392 [03754edfb91b]
42393
42394 * source/Lib/TLibCommon/TComPic.cpp,
42395 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
42396 TComPic: nits
42397 [e07e08349d30]
42398
42399 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42400 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
42401 TComPic: remove temp YUV image for tile/slice boundary filtering
42402 [5d800bd145a9]
42403
42404 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
42405 TComPic: remove more multi-slice cruft
42406 [381a0aeddd3c]
42407
42408 * source/Lib/TLibEncoder/TEncSlice.cpp,
42409 source/Lib/TLibEncoder/TEncSlice.h:
42410 TEncSlice: do not pass TComPic as pointer reference to encodeSlice
42411 [896ca3355963]
42412
42413 * source/Lib/TLibEncoder/TEncSlice.cpp,
42414 source/Lib/TLibEncoder/TEncSlice.h:
42415 TEncSlice: TComPic argument to compressSlice is not a reference
42416 [4cc39023e365]
42417
42418 * source/Lib/TLibEncoder/TEncSlice.cpp,
42419 source/Lib/TLibEncoder/TEncSlice.h:
42420 TEncSlice: nits
42421 [15e62b2ff599]
42422
42423 * source/Lib/TLibEncoder/TEncSlice.cpp,
42424 source/Lib/TLibEncoder/TEncSlice.h:
42425 TEncSlice: remove unused m_pcPicYuvPred and m_pcPicYuvResi
42426 [d89a075a2779]
42427
42428 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42429 source/Lib/TLibEncoder/TEncSlice.cpp:
42430 TComPic: remove unused m_pcPicYuvPred
42431 [c31d7d16e14c]
42432
42433 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42434 source/Lib/TLibEncoder/TEncSlice.cpp:
42435 TComPic: remove unused m_pcPicYuvResi
42436
42437 I believe we use TShortYUV internally for this now
42438 [e7aa7efbee13]
42439
42440 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicYuv.h:
42441 TComPic: nits
42442 [b5cc706cb214]
42443
42444 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42445 source/Lib/TLibEncoder/TEncGOP.cpp,
42446 source/Lib/TLibEncoder/TEncTop.cpp:
42447 TComPic: remove unused m_bReconstructed member
42448 [3b359b196585]
42449
42450 * source/Lib/TLibEncoder/TEncTop.cpp:
42451 TEncTop: remove extra assignment of m_iMaxRefPicNum, cleanup
42452 [f67a6d5916f2]
42453
42454 * source/common/ipfilter.cpp, source/common/primitives.h:
42455 Merge
42456 [8dba6d9462cb]
42457
42458 2013-06-17 Deepthi Devaki <Deepthi Devaki>
42459
42460 * Merge
42461 [068622ee452c]
42462
42463 * source/common/ipfilter.cpp, source/common/primitives.h,
42464 source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
42465 Restructured Horizontal/Vertical filters, added support for
42466 width!=16n in horizontal filter
42467 [f2f58de47a26]
42468
42469 * source/Lib/TLibEncoder/TEncAnalyze.cpp:
42470 Merge
42471 [6de69685341f]
42472
42473 * source/common/vec/intrapred.inc:
42474 Used unsafe compress to improve performance
42475 [b852bbd6605b]
42476
42477 * source/common/vec/ipfilter8.inc:
42478 Used saturated compress to eliminate min()
42479 [9da8624cf3c5]
42480
42481 2013-06-17 Steve Borho <steve@borho.org>
42482
42483 * source/Lib/TLibCommon/TComPrediction.cpp:
42484 TComPrediction: white-space nits
42485 [22edfeb729e5]
42486
42487 * source/Lib/TLibCommon/TComPrediction.cpp:
42488 TComPrediction: fix eoln
42489 [7051e6809ffb]
42490
42491 * source/Lib/TLibCommon/TComInterpolationFilter.h,
42492 source/Lib/TLibCommon/TComPrediction.cpp,
42493 source/Lib/TLibCommon/TComPrediction.h,
42494 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/ipfilter.cpp,
42495 source/common/reference.cpp:
42496 remove redundant copy of subpel filter coefficients
42497 [975d36cb92df]
42498
42499 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42500 source/Lib/TLibCommon/TComPicSym.cpp,
42501 source/Lib/TLibCommon/TComPicSym.h,
42502 source/Lib/TLibCommon/TComWeightPrediction.h:
42503 HM fixes: remove various unused member variables
42504 [89454200f223]
42505
42506 * source/x265.cpp:
42507 x265: improve x265 -V output some more
42508 [1ba7a1176cef]
42509
42510 * source/x265.cpp:
42511 x265: fix and improve output of x265 -V
42512 [1c9c6c9c4acc]
42513
42514 * source/common/vec/dct.inc:
42515 dct: uncrustify
42516 [9d71425aa983]
42517
42518 2013-06-17 Min Chen <chenm003@163.com>
42519
42520 * source/Lib/TLibCommon/TComTrQuant.cpp:
42521 inline xIT() into invtransformNxN()
42522 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 +++++- 1 files changed,
42523 5 insertions(+), 1 deletions(-)
42524 [87f57ab18e2a]
42525
42526 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
42527 source/common/primitives.h, source/common/vec/dct.inc,
42528 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
42529 [review] reduce memory copy in xIT()
42530 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 +-
42531 source/common/dct.cpp | 73 ++++- source/common/primitives.h | 2 +-
42532 source/common/vec/dct.inc | 639 +++++++++++++++++++++------------
42533 source/test/mbdstharness.cpp | 11 +- source/test/mbdstharness.h | 1
42534 + 6 files changed, 485 insertions(+), 247 deletions(-)
42535 [7511cd738ad6]
42536
42537 * source/common/vec/dct.inc:
42538 cleanup: remove unused IDCT table
42539 --- source/common/vec/dct.inc | 208
42540 --------------------------------------------- 1 files changed, 0
42541 insertions(+), 208 deletions(-)
42542 [8d40f4be3699]
42543
42544 * source/test/mbdstharness.cpp:
42545 cleanup: new IDCT don't need backup buffer
42546 --- source/test/mbdstharness.cpp | 15 ++------------- 1 files
42547 changed, 2 insertions(+), 13 deletions(-)
42548 [779041295105]
42549
42550 * source/common/vec/dct.inc:
42551 new IDCT32x32 from project Chinese University version of x265
42552 --- source/common/vec/dct.inc | 2069
42553 ++++++++++++++++----------------------------- 1 files changed, 732
42554 insertions(+), 1337 deletions(-)
42555 [ac6b5681eb77]
42556
42557 * source/common/vec/dct.inc:
42558 new IDCT16x16 from project Chinese University version of x265
42559 --- source/common/vec/dct.inc | 9290
42560 ++++++++++++++++++++++----------------------- 1 files changed, 4571
42561 insertions(+), 4719 deletions(-)
42562 [993296aeec04]
42563
42564 * source/Lib/TLibCommon/TComTrQuant.cpp,
42565 source/Lib/TLibCommon/TComTrQuant.h:
42566 inline xT() into transformNxN()
42567 --- source/Lib/TLibCommon/TComTrQuant.cpp | 27
42568 +++++++-------------------- source/Lib/TLibCommon/TComTrQuant.h | 3
42569 --- 2 files changed, 7 insertions(+), 23 deletions(-)
42570 [1252d3c3c90f]
42571
42572 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
42573 source/common/primitives.h, source/common/vec/dct.inc,
42574 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
42575 [review] reduce memory copy in xT()
42576 --- source/Lib/TLibCommon/TComTrQuant.cpp | 11 +-
42577 source/common/dct.cpp | 175 +++++++++++++++++-------
42578 source/common/primitives.h | 11 ++- source/common/vec/dct.inc | 240
42579 +++++++++++++-------------------- source/test/mbdstharness.cpp | 60
42580 ++++++++- source/test/mbdstharness.h | 2 + 6 files changed, 294
42581 insertions(+), 205 deletions(-)
42582 [af7d0d29ef16]
42583
42584 2013-06-17 Deepthi <Deepthi>
42585
42586 * source/encoder/compress.cpp:
42587 Early Detection skip mode removed from FMD
42588 [f167939ebd90]
42589
42590 * source/Lib/TLibEncoder/TEncAnalyze.cpp, source/encoder/compress.cpp:
42591 Merge
42592 [81d2deb0c7c1]
42593
42594 2013-06-15 Deepthi <Deepthi>
42595
42596 * source/Lib/TLibEncoder/TEncCu.cpp,
42597 source/Lib/TLibEncoder/TEncSearch.cpp:
42598 Removing irrelevant FMD optimizations
42599 [78ae2eec3b01]
42600
42601 * source/encoder/compress.cpp:
42602 Adding comments
42603 [abaabb22011f]
42604
42605 2013-06-16 Steve Borho <steve@borho.org>
42606
42607 * .hgtags:
42608 Move tag LASTKNOWNGOOD
42609 [58f364792384]
42610
42611 * source/test/intrapredharness.cpp, source/test/intrapredharness.h,
42612 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
42613 testbench: only perform 0xCDCDCDCDCDCD memsets for debug, runs much
42614 faster
42615
42616 It should only be necessary to do this when you are not sure the C
42617 primitive is correct. Once the C primitive is correct, it should
42618 never be required to initialize the output buffers in order to find
42619 mismatch bugs.
42620 [9a6800e84295]
42621
42622 * source/test/mbdstharness.cpp:
42623 mbdstharness: remove unused BufferflyConf_names
42624 [1a8a3ddd9475]
42625
42626 * source/encoder/compress.cpp:
42627 compress: fix eoln
42628 [94b5e1de4d90]
42629
42630 * source/common/vec/dct.inc:
42631 dct: remove VC9 x64 warning, the affected routines are all gone
42632 [07b13562ea8d]
42633
42634 * source/common/vec/dct.inc:
42635 dct: remove unused primitives, reorder for clarity
42636 [ce0f1e1ed310]
42637
42638 * source/common/dct.cpp, source/common/primitives.h,
42639 source/common/vec/dct.inc, source/test/mbdstharness.cpp,
42640 source/test/mbdstharness.h:
42641 remove partial butterfly and inversedst primitives
42642 [63a832540bab]
42643
42644 2013-06-16 Min Chen <chenm003@163.com>
42645
42646 * source/Lib/TLibCommon/TComTrQuant.cpp:
42647 [review] merge buffer convert into DCT* module
42648 --- source/Lib/TLibCommon/TComTrQuant.cpp | 8 +------- 1 files
42649 changed, 1 insertions(+), 7 deletions(-)
42650 [7f6068ab7706]
42651
42652 * source/common/vec/dct.inc:
42653 support nSrcStride on DCT*
42654 --- source/common/vec/dct.inc | 417
42655 ++++++++++++++++++++++++--------------------- 1 files changed, 221
42656 insertions(+), 196 deletions(-)
42657 [f3a8a85bdb0d]
42658
42659 * source/Lib/TLibCommon/TComTrQuant.cpp:
42660 Merge xTrMxN into TComTrQuant::xT
42661 --- source/Lib/TLibCommon/TComTrQuant.cpp | 21 +++++----------------
42662 1 files changed, 5 insertions(+), 16 deletions(-)
42663 [53838676f709]
42664
42665 * source/Lib/TLibCommon/TComTrQuant.cpp:
42666 optimize xTrMxN by function pointer array
42667 --- source/Lib/TLibCommon/TComTrQuant.cpp | 30
42668 ++---------------------------- 1 files changed, 2 insertions(+), 28
42669 deletions(-)
42670 [f6c012a6b57f]
42671
42672 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
42673 source/common/vec/dct.inc:
42674 [review] code for DST4x4
42675 --- source/Lib/TLibCommon/TComTrQuant.cpp | 7 +--
42676 source/common/dct.cpp | 20 ++++++++ source/common/vec/dct.inc | 87
42677 +++++++++++++++++++++++++++++++++ 3 files changed, 110
42678 insertions(+), 4 deletions(-)
42679 [bc1b9ace38e9]
42680
42681 * source/Lib/TLibEncoder/TEncTop.cpp:
42682 miss <math.h> for sqrt()
42683 --- source/Lib/TLibEncoder/TEncTop.cpp | 1 + 1 files changed, 1
42684 insertions(+), 0 deletions(-)
42685 [f7ab8faa77f9]
42686
42687 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
42688 source/common/vec/dct.inc, source/test/mbdstharness.cpp:
42689 Optimize DCT32x32
42690 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
42691 source/common/dct.cpp | 11 + source/common/vec/dct.inc | 669
42692 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 2
42693 +- 4 files changed, 682 insertions(+), 3 deletions(-)
42694 [4e73d671ade5]
42695
42696 * source/common/vec/dct.inc:
42697 simplify table name
42698 --- source/common/vec/dct.inc | 384
42699 ++++++++++++++++++++++---------------------- 1 files changed, 192
42700 insertions(+), 192 deletions(-)
42701 [92d5ad1eb45f]
42702
42703 * source/common/vec/dct.inc:
42704 [review] share some table with DCT8x8
42705 --- source/common/vec/dct.inc | 230
42706 +++++++++++++++++++++----------------------- 1 files changed, 110
42707 insertions(+), 120 deletions(-)
42708 [9551c827dd8c]
42709
42710 2013-06-15 Steve Borho <steve@borho.org>
42711
42712 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
42713 source/Lib/TLibEncoder/TEncGOP.cpp,
42714 source/Lib/TLibEncoder/TEncGOP.h:
42715 TEncGOP: remove m_storedStartCUAddrForEncodingSlice std::vector
42716 [aa925c788d24]
42717
42718 * source/Lib/TLibEncoder/TEncAnalyze.cpp,
42719 source/Lib/TLibEncoder/TEncAnalyze.h,
42720 source/Lib/TLibEncoder/TEncGOP.cpp,
42721 source/Lib/TLibEncoder/TEncGOP.h,
42722 source/Lib/TLibEncoder/TEncTop.cpp,
42723 source/Lib/TLibEncoder/TEncTop.h:
42724 TEncGOP: Move statistics structures to TEncTop, protect with a lock
42725 [3545ade1fb3b]
42726
42727 * source/Lib/TLibEncoder/TEncGOP.cpp:
42728 TEncGOP: use array delete for array new pointers
42729 [8508e8293b74]
42730
42731 * source/Lib/TLibEncoder/TEncGOP.cpp:
42732 TEncGOP: simplifications
42733 [035a7dee0480]
42734
42735 * source/Lib/TLibEncoder/TEncGOP.cpp:
42736 TEncGOP: single tile simplifications
42737 [065ee8264b98]
42738
42739 * source/Lib/TLibEncoder/TEncGOP.cpp:
42740 TEncGOP: more single-slice simplifications
42741 [b05e694e6a22]
42742
42743 * source/Lib/TLibEncoder/TEncGOP.cpp:
42744 TEncGOP: remove undefined SAO_RDO
42745 [1a2fb8fe36b8]
42746
42747 * source/Lib/TLibEncoder/TEncGOP.cpp:
42748 TEncGOP: remove dead code
42749 [d024c9bddf19]
42750
42751 * source/Lib/TLibEncoder/TEncGOP.cpp:
42752 TEncGOP: clean-up some multi-slice constructs
42753 [18ad786c53c0]
42754
42755 * source/Lib/TLibEncoder/TEncGOP.cpp,
42756 source/Lib/TLibEncoder/TEncTop.cpp:
42757 TEncTOP: move RC-GOP operations within compressGOP()
42758 [fa70c5f59650]
42759
42760 * source/Lib/TLibEncoder/TEncGOP.cpp,
42761 source/Lib/TLibEncoder/TEncGOP.h:
42762 TEncGOP: use iPOCLast==0 instead of m_bSeqFirst
42763 [c08b29d11335]
42764
42765 * source/Lib/TLibEncoder/TEncGOP.cpp:
42766 TEncGOP: cleanup initialization
42767 [8d9c2a12262f]
42768
42769 * source/Lib/TLibEncoder/TEncGOP.h:
42770 TEncGOP: cleanups, make internal methods protected
42771 [1821fba47aa4]
42772
42773 * source/Lib/TLibEncoder/TEncGOP.cpp,
42774 source/Lib/TLibEncoder/TEncGOP.h:
42775 TEncGOP: remove member pointer to encoder singleton picture list
42776
42777 The picture list is provided to compressGOP() method
42778 [b5ce58a2af61]
42779
42780 * source/Lib/TLibEncoder/TEncGOP.h:
42781 TEncGOP: remove unused getListPic() method
42782 [67b8bea4073d]
42783
42784 * source/Lib/TLibEncoder/TEncSlice.cpp,
42785 source/Lib/TLibEncoder/TEncSlice.h:
42786 TEncSlice: remove member pointer to global picture list
42787 [f90b3bfd87c4]
42788
42789 * source/Lib/TLibEncoder/TEncGOP.cpp,
42790 source/Lib/TLibEncoder/TEncSlice.cpp,
42791 source/Lib/TLibEncoder/TEncSlice.h,
42792 source/Lib/TLibEncoder/TEncTop.h:
42793 TEncSlice: remove GOP encoder member variable
42794
42795 Get rid of another assumption about singleton objects
42796 [8e7b990788c9]
42797
42798 2013-06-12 Min Chen <chenm003@163.com>
42799
42800 * source/common/primitives.h, source/common/vec/pixel.inc:
42801 primitives: add a 16bit copy with left shift primitive
42802 [ca516890cd40]
42803
42804 2013-06-15 Steve Borho <steve@borho.org>
42805
42806 * source/test/pixelharness.cpp:
42807 pixelharness: fixup indexing of block primitives
42808 [9b7a1362f367]
42809
42810 2013-06-15 Deepthi <Deepthi>
42811
42812 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
42813 source/encoder/compress.cpp:
42814 Merge; FAST_MODE_DECISION fully functional with inter.
42815 [9a99578e2815]
42816
42817 * source/Lib/TLibCommon/TComDataCU.cpp,
42818 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
42819 Merge
42820 [f4f5b666aecd]
42821
42822 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
42823 Null rpcBestCU. Memory leaks resolved.
42824 [353206dee54b]
42825
42826 * source/encoder/compress.cpp:
42827 More prep to null BestCU
42828 [966336c97827]
42829
42830 * source/encoder/compress.cpp:
42831 Prepare to Null split level BestCU
42832 [e143b9a344e7]
42833
42834 * source/encoder/compress.cpp:
42835 Prepare to null rpcBestCU
42836 [c61499ef1432]
42837
42838 * source/encoder/compress.cpp:
42839 More cleanup
42840 [f68b8005dae1]
42841
42842 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/compress.cpp:
42843 Cleanup; fix split bugs
42844 [57174096d40b]
42845
42846 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
42847 Rolling back; inter mode works, split has bugs
42848 [caba150c54c0]
42849
42850 2013-06-14 Steve Borho <steve@borho.org>
42851
42852 * source/encoder/encoder.cpp:
42853 x265: better handling of level thresholds
42854 [4d8007536eb4]
42855
42856 * source/encoder/encoder.cpp, source/encoder/encoder.h:
42857 x265: detect and set the profile and level
42858 [07a1ffa03c3a]
42859
42860 * source/Lib/TLibEncoder/TEncSearch.cpp:
42861 gcc: integer array subscripts
42862 [c11ecb15eaa0]
42863
42864 2013-06-14 Min Chen <chenm003@163.com>
42865
42866 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
42867 source/common/vec/dct.inc, source/test/mbdstharness.cpp:
42868 Optimize DCT16x16
42869 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
42870 source/common/dct.cpp | 11 + source/common/vec/dct.inc | 482
42871 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 2
42872 +- 4 files changed, 495 insertions(+), 3 deletions(-)
42873 [261b26b87c0b]
42874
42875 * source/common/vec/dct.inc:
42876 cleanup MAKE_ODD outside xDCT8
42877 --- source/common/vec/dct.inc | 1 + 1 files changed, 1 insertions(+),
42878 0 deletions(-)
42879 [914852d611c8]
42880
42881 2013-06-14 Steve Borho <steve@borho.org>
42882
42883 * source/x265opts.h:
42884 x265: nit in CLI help
42885 [43fd53ad27fe]
42886
42887 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h:
42888 pixel: use width bit size to index residual and recon primitives
42889 [34e5e66bd386]
42890
42891 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
42892 source/common/primitives.h, source/common/vec/pixel.inc,
42893 source/test/pixelharness.cpp, source/test/pixelharness.h:
42894 pixel: rename residual/reconstruction primitves
42895 [83756d7ec230]
42896
42897 * source/Lib/TLibEncoder/TEncSearch.cpp:
42898 Merged in deepthidevaki/xhevc_deepthid (pull request #199)
42899
42900 Added vector Filter Horizontal Multiplane, and support in testbench.
42901 [d2a8a011a13e]
42902
42903 2013-06-14 Deepthi Devaki <Deepthi Devaki>
42904
42905 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
42906 source/common/primitives.h, source/common/vec/pixel.inc,
42907 source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
42908 GetResidual + calcRecon changed to use function pointers
42909 [575b19e5a035]
42910
42911 * source/common/primitives.h, source/test/ipfilterharness.cpp:
42912 Merge
42913 [8fc2fe71a2d7]
42914
42915 * source/common/ipfilter.cpp, source/common/primitives.h,
42916 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
42917 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
42918 Added vector Filter Horizontal Multiplane, and support in testbench.
42919 [15956ceaf16a]
42920
42921 2013-06-14 Steve Borho <steve@borho.org>
42922
42923 * Merged in maheshpittala/xhevc_mahesh (pull request #198)
42924
42925 Fixed Build errors(Type cast) in 16 bit
42926 [73b00711e83d]
42927
42928 2013-06-14 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
42929
42930 * source/Lib/TLibCommon/TComPicYuv.h,
42931 source/Lib/TLibEncoder/TEncGOP.cpp,
42932 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/reference.cpp:
42933 Fixed Build errors(Type cast) in 16 bit
42934 [b80bdba3d499]
42935
42936 2013-06-14 mahesh pittala <mahesh@multicorewareinc.com>
42937
42938 * Merged multicoreware/xhevc into default
42939 [2318037a8305]
42940
42941 * Merged multicoreware/xhevc into default
42942 [ed51338a5928]
42943
42944 * Merged multicoreware/xhevc into default
42945 [a4e3b5280eb4]
42946
42947 2013-06-12 mahesh pittala <mahesh@multicorewareinc.com>
42948
42949 * Merged multicoreware/xhevc into default
42950 [392194eba6a1]
42951
42952 2013-06-13 mahesh pittala <mahesh@multicorewareinc.com>
42953
42954 * source/tools/HM decoder/TAppDecoder.exe:
42955 Merged multicoreware/xhevc into default
42956 [41fd32e1ee06]
42957
42958 2013-06-12 mahesh pittala <mahesh@multicorewareinc.com>
42959
42960 * Merged multicoreware/xhevc into default
42961 [9eb8f9941713]
42962
42963 * Merged multicoreware/xhevc into default
42964 [0eb8933de745]
42965
42966 * Merged multicoreware/xhevc into default
42967 [803e22af8582]
42968
42969 2013-06-11 mahesh pittala <mahesh@multicorewareinc.com>
42970
42971 * Merged multicoreware/xhevc into default
42972 [8c842a8cfe96]
42973
42974 * source/common/macroblock.cpp, source/common/vec/macroblock.inc:
42975 Merged multicoreware/xhevc into default
42976 [266046e7522d]
42977
42978 2013-06-10 mahesh pittala <mahesh@multicorewareinc.com>
42979
42980 * Merged multicoreware/xhevc into default
42981 [9cd8563afb0d]
42982
42983 * Merged multicoreware/xhevc into default
42984 [007a8b519e53]
42985
42986 * Merged multicoreware/xhevc into default
42987 [b5f5d466d800]
42988
42989 2013-06-07 mahesh pittala <mahesh@multicorewareinc.com>
42990
42991 * Merged multicoreware/xhevc into default
42992 [91c5bb78d52b]
42993
42994 2013-06-05 mahesh pittala <mahesh@multicorewareinc.com>
42995
42996 * Merged multicoreware/xhevc into default
42997 [9c8618adaf4c]
42998
42999 * Merged multicoreware/xhevc into default
43000 [fe2691e5afff]
43001
43002 * Merged multicoreware/xhevc into default
43003 [e4c6fb2823f1]
43004
43005 2013-06-04 mahesh pittala <mahesh@multicorewareinc.com>
43006
43007 * Merged multicoreware/xhevc into default
43008 [cd1437d72a75]
43009
43010 2013-06-03 mahesh pittala <mahesh@multicorewareinc.com>
43011
43012 * Merged multicoreware/xhevc into default
43013 [7f7bd035a835]
43014
43015 * Merged multicoreware/xhevc into default
43016 [c7b8e56f6079]
43017
43018 2013-06-14 Deepthi <Deepthi>
43019
43020 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
43021 Merge
43022 [852e5f6730a5]
43023
43024 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
43025 Adding comments; cosmetic changes, removing unnecessary local vars
43026 [93938fd46918]
43027
43028 * source/encoder/compress.cpp:
43029 Entropy related code removed
43030 [5c3e24604043]
43031
43032 * source/encoder/compress.cpp:
43033 Removing extraneous checks
43034 [07de3c5c0ad9]
43035
43036 * source/encoder/compress.cpp:
43037 Copy sub-best-recon to current best recon
43038 [acf302317da7]
43039
43040 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
43041 source/encoder/compress.cpp:
43042 BestCU is a reference pointer, while TempCU is just that; a
43043 temporary local pointer.
43044 [9f22712fc800]
43045
43046 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
43047 To avoid memory leaks, pass in an empty pointer. rpcBestCU returns
43048 with the Best chosen CU.
43049 [7f4f0e71895f]
43050
43051 2013-06-13 Deepthi <Deepthi>
43052
43053 * source/encoder/compress.cpp:
43054 Claridying assert checks
43055 [8316225c0886]
43056
43057 * source/encoder/compress.cpp:
43058 Removing use of rpcTempCU for initializations
43059 [c8f4bd10ea38]
43060
43061 2013-06-14 Steve Borho <steve@borho.org>
43062
43063 * source/Lib/TLibCommon/TComSlice.cpp,
43064 source/Lib/TLibCommon/TComSlice.h,
43065 source/Lib/TLibEncoder/TEncCavlc.cpp,
43066 source/Lib/TLibEncoder/TEncGOP.cpp:
43067 HM bug fix: Improve the temporary fix for issue #1071 (Nonconforming
43068 RPS in CRA pictures)
43069 - generate proper CRA RPS at encoding stage rather than slice segment
43070 header writing
43071 [ec4e63c7c8be]
43072
43073 * source/Lib/TLibEncoder/TEncGOP.cpp:
43074 HM fixes: cleanups
43075 [3a5d6e4754ce]
43076
43077 * source/Lib/TLibEncoder/TEncCu.cpp:
43078 HM fix: "Cleanup"
43079 [a174e0b3f6b7]
43080
43081 * source/Lib/TLibCommon/TComTrQuant.cpp:
43082 HM fixes: "Clean up"
43083 [1707a3030f7c]
43084
43085 * source/Lib/TLibCommon/TComPicYuv.h:
43086 TComPicYuv: fix 16bpp build
43087 [30941b044925]
43088
43089 * source/Lib/TLibCommon/TComSlice.cpp:
43090 HM cleanups: "Add assert() statements / clean up"
43091 [57ea893a55f9]
43092
43093 2013-06-13 Steve Borho <steve@borho.org>
43094
43095 * source/Lib/TLibEncoder/TEncGOP.cpp:
43096 HM bug fix: "Fix for #1072"
43097 [381af1803935]
43098
43099 * source/Lib/TLibCommon/TComSlice.h,
43100 source/Lib/TLibEncoder/TEncCavlc.cpp:
43101 HM bug fix: "Fix for #1078"
43102 [15c51314f7ac]
43103
43104 * source/Lib/TLibEncoder/TEncCavlc.cpp:
43105 HM bug fix: "Fix for #1079"
43106 [e8b1953c65b4]
43107
43108 * source/test/ipfilterharness.cpp:
43109 ipfilterharness: add offsets for src buffer pointer
43110 [fee9cd2c3fc8]
43111
43112 * source/test/ipfilterharness.cpp:
43113 ipfilterharness: use alignedMalloc for short_buff
43114 [857a4fa1a8e9]
43115
43116 * source/common/common.cpp, source/encoder/motion.cpp:
43117 motion: prevent over-large merange from causing inf loops
43118 [64acb994bc4e]
43119
43120 * source/encoder/motion.cpp, source/encoder/motion.h:
43121 motion: move distance for-loop within StarPatternSearch (less call
43122 overhead)
43123 [323a6667d127]
43124
43125 * source/Lib/TLibEncoder/TEncGOP.cpp,
43126 source/Lib/TLibEncoder/TEncGOP.h,
43127 source/Lib/TLibEncoder/TEncSlice.cpp,
43128 source/Lib/TLibEncoder/TEncSlice.h,
43129 source/Lib/TLibEncoder/TEncTop.cpp,
43130 source/Lib/TLibEncoder/TEncTop.h:
43131 TEncTop: move EncoderFrame instances from TEncTop to TEncGOP
43132
43133 Each TEncGOP will have at least one frame encoder, for parallelism
43134 [f961dee0df08]
43135
43136 * source/Lib/TLibEncoder/TEncGOP.cpp,
43137 source/Lib/TLibEncoder/TEncGOP.h:
43138 TEncGOP: make m_iNumPicCoded a function local variable
43139 [408239eb7e61]
43140
43141 * source/Lib/TLibCommon/TComDataCU.cpp,
43142 source/Lib/TLibEncoder/TEncSearch.cpp:
43143 gcc: replace MAXUINT64 with MAX_INT64 from CommonDefs.h
43144 [5960f5864c43]
43145
43146 * source/Lib/TLibCommon/TComRdCost.cpp,
43147 source/Lib/TLibCommon/TComRdCost.h:
43148 TComRdCost: move setCbDistortionWeight() to cpp file, cleanup
43149 [38e5bb0dbca5]
43150
43151 * source/encoder/motion.cpp, source/encoder/motion.h:
43152 motion: rename bufsad to fullsad
43153 [33138ffa79a7]
43154
43155 * source/encoder/motion.cpp, source/encoder/motion.h:
43156 motion: move init_scales() to constructor, remove from setSourcePU
43157 [5b2b4a7090bb]
43158
43159 * source/common/primitives.h:
43160 Merged in deepthidevaki/xhevc_deepthid (pull request #196)
43161
43162 Modifications to vertical filter multiplane
43163 [95b415adeffa]
43164
43165 2013-06-13 Deepthi Devaki <Deepthi Devaki>
43166
43167 * source/tools/HM decoder/TAppDecoder.exe:
43168 Merge
43169 [65768d985016]
43170
43171 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
43172 Modifications to vertical filter multiplane
43173 [2c0ecc7b043d]
43174
43175 2013-06-13 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
43176
43177 * source/tools/HM decoder/TAppDecoder.exe:
43178 Merged multicoreware/xhevc into default
43179 [c8b90c296a0b]
43180
43181 2013-06-12 Deepthi Devaki <Deepthi Devaki>
43182
43183 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
43184 Added Vertical filter for multiplane (Vectorized assuming width is
43185 multiple of 4)
43186 [bd33365c378c]
43187
43188 * source/VectorClass/vectori128.h, source/common/ipfilter.cpp,
43189 source/common/primitives.h, source/test/ipfilterharness.cpp,
43190 source/test/ipfilterharness.h:
43191 Testbench for Vertical IPFilter for multiplane
43192 [a9af2d31ba00]
43193
43194 2013-06-13 Steve Borho <steve@borho.org>
43195
43196 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #197)
43197
43198 primitives: sse2, ssse3, avx: Assembly calls for SSE_PP(SSD) for
43199 8,16,24,32,48,64
43200 [9123ea04e339]
43201
43202 2013-06-13 Mandar Gurav <Mandar Gurav>
43203
43204 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
43205 source/common/x86/pixel.h:
43206 primitives: sse2: Assembly calls for SSE_PP(SSD) for 8, 16, 24, 32,
43207 48, 64
43208 [3ab1f65ad43a]
43209
43210 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
43211 source/common/x86/pixel.h:
43212 primitives: ssse3: Assembly calls for SSE_PP(SSD) for 8, 16, 24, 32,
43213 48, 64
43214 [a268ac5113cd]
43215
43216 * source/common/x86/asm-primitives.cpp:
43217 primitives: Assembly calls for SSE_PP(SSD) for 24,48,64
43218 [59228bcdfe9c]
43219
43220 2013-06-13 Mandar Gurav <mandar@multicorewareinc.com>
43221
43222 * Merged multicoreware/xhevc into default
43223 [33ba85c5f2a1]
43224
43225 2013-06-13 Mandar Gurav <Mandar Gurav>
43226
43227 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
43228 source/common/x86/pixel.h:
43229 primitives: Assembly calls for SSE_PP(SSD) for 32,16,8
43230 [68c6b9d2d8d1]
43231
43232 2013-06-13 Steve Borho <steve@borho.org>
43233
43234 * source/Lib/TLibEncoder/TEncSearch.cpp,
43235 source/Lib/TLibEncoder/TEncSearch.h:
43236 TEncSearch: small improvements
43237 [6a170f9465ab]
43238
43239 * source/Lib/TLibCommon/TComRdCost.h,
43240 source/Lib/TLibEncoder/TEncSearch.cpp:
43241 TComRdCost: remove unused m_mvPredictor (HM ME is using our bit-cost
43242 methods)
43243 [e8d675ec84de]
43244
43245 * source/Lib/TLibCommon/TComRdCost.h,
43246 source/Lib/TLibEncoder/TEncSearch.cpp:
43247 TComRdCost: use UInt to scale chroma costs instead of Double
43248 [cf348485a9a5]
43249
43250 2013-06-13 sumalatha <sumalatha>
43251
43252 * source/Lib/TLibCommon/TComDataCU.cpp,
43253 source/Lib/TLibCommon/TComDataCU.h,
43254 source/Lib/TLibCommon/TComRdCost.cpp,
43255 source/Lib/TLibCommon/TComRdCost.h,
43256 source/Lib/TLibEncoder/TEncCu.cpp,
43257 source/Lib/TLibEncoder/TEncSearch.cpp,
43258 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
43259 removed double from computing Cost
43260 [b6f7ac1f105a]
43261
43262 2013-06-13 Min Chen <chenm003@163.com>
43263
43264 * source/test/testbench.cpp:
43265 revert debug code commit by '[review] faster DCT4x4'
43266 --- source/test/testbench.cpp | 2 +- 1 files changed, 1
43267 insertions(+), 1 deletions(-)
43268 [c69480d6a22b]
43269
43270 * source/common/vec/dct.inc:
43271 [review] fatser DCT8x8
43272 --- source/common/vec/dct.inc | 461
43273 ++++++++++++++++++++------------------------- 1 files changed, 200
43274 insertions(+), 261 deletions(-)
43275 [9c4501c71e10]
43276
43277 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/pixel.cpp,
43278 source/common/primitives.h, source/common/vec/pixel.inc:
43279 [review] merge row process into convert16to32_shl
43280 --- source/Lib/TLibCommon/TComTrQuant.cpp | 22 +---------------------
43281 source/common/pixel.cpp | 9 ++++++--- source/common/primitives.h | 2
43282 +- source/common/vec/pixel.inc | 27 +++++++++++++++------------ 4
43283 files changed, 23 insertions(+), 37 deletions(-)
43284 [44402f63268d]
43285
43286 2013-06-13 Steve Borho <steve@borho.org>
43287
43288 * source/Lib/TLibEncoder/TEncGOP.cpp:
43289 TEncGOP: nits
43290 [a20041407e93]
43291
43292 2013-06-13 Deepthi <Deepthi>
43293
43294 * source/encoder/compress.cpp:
43295 Fixing Best CU bugs
43296 [4ccd02f3c17a]
43297
43298 * source/tools/HM decoder/TAppDecoder.exe:
43299 Merge
43300 [9f348f94c788]
43301
43302 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
43303 source/encoder/compress.cpp:
43304 First cut version of RDO-less mode decision: Only inter and rect
43305 modes.
43306 [7df0cd69bbf9]
43307
43308 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
43309 Adding pred copy to ComputeCostInter
43310 [ac115aa34201]
43311
43312 * Merge
43313 [84a113488c8e]
43314
43315 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
43316 source/encoder/compress.cpp:
43317 Preparation for moving to RDO-less analysis.
43318 [ad0f4840b8c2]
43319
43320 2013-06-12 Deepthi <Deepthi>
43321
43322 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
43323 Prediction structures for each mode: inter, intra, rect and merge
43324 [12e076b777b3]
43325
43326 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
43327 Cleanup macro RDO_WITHOUT_DQP_BITS: always set.
43328 [064461252a7d]
43329
43330 * source/Lib/TLibEncoder/TEncSearch.cpp:
43331 Merge
43332 [d9f8493ad297]
43333
43334 * source/encoder/compress.cpp:
43335 Inter mode only works in compress.cpp
43336 [2a4ada95c8da]
43337
43338 2013-06-11 Deepthi <Deepthi>
43339
43340 * source/encoder/compress.cpp:
43341 Removing RDO without DQP
43342 [0457e3d429f3]
43343
43344 * source/encoder/compress.cpp:
43345 Merge and Intra modes removed from Inter slices for now.
43346 [806c020e696e]
43347
43348 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/macroblock.cpp,
43349 source/common/vec/macroblock.inc:
43350 Merge
43351 [af84de459345]
43352
43353 2013-06-10 sumalatha <sumalatha>
43354
43355 * source/Lib/TLibEncoder/TEncSearch.cpp,
43356 source/Lib/TLibEncoder/TEncSearch.h:
43357 Added a function to estimate the header bits
43358 [6a8bff3ae903]
43359
43360 2013-06-12 Steve Borho <steve@borho.org>
43361
43362 * source/encoder/motion.cpp:
43363 motion: simplify setSourcePU
43364 [9a053413d61c]
43365
43366 * source/Lib/TLibEncoder/TEncGOP.cpp:
43367 nits
43368 [a5c8f414b509]
43369
43370 * source/Lib/TLibEncoder/TEncGOP.cpp,
43371 source/Lib/TLibEncoder/TEncSlice.cpp,
43372 source/Lib/TLibEncoder/TEncSlice.h:
43373 TEncSlice: remove unused iNumPicRcvd argument to initEncSlice
43374 [fde34b9f8b05]
43375
43376 * source/Lib/TLibEncoder/TEncGOP.cpp,
43377 source/Lib/TLibEncoder/TEncSlice.cpp,
43378 source/Lib/TLibEncoder/TEncSlice.h:
43379 TEncSlice: pass EncoderFrame to TEncSlice methods, do not get from
43380 TEncCfg
43381 [6e3589df7134]
43382
43383 * source/Lib/TLibEncoder/TEncGOP.cpp,
43384 source/Lib/TLibEncoder/TEncSlice.cpp,
43385 source/Lib/TLibEncoder/TEncSlice.h:
43386 TEncSlice: refactor initEncSlice to return TComSlice, not pass as
43387 reference
43388
43389 Make it more obvious pcSlice is the functions output
43390 [eadec0d58647]
43391
43392 * source/Lib/TLibEncoder/TEncGOP.cpp:
43393 TEncGOP: remove redundant setCurrSliceIdx() call
43394 [18418d680e43]
43395
43396 * source/Lib/TLibEncoder/TEncGOP.cpp,
43397 source/Lib/TLibEncoder/TEncGOP.h:
43398 TEncGOP: inline xGetBuffer for clarity
43399 [4f2cab2656e5]
43400
43401 * source/Lib/TLibEncoder/TEncGOP.cpp,
43402 source/Lib/TLibEncoder/TEncGOP.h:
43403 TEncGOP: inline xInitGOP, which ignored most of its arguments
43404 [5cd02a1e0833]
43405
43406 * source/Lib/TLibCommon/TComSlice.h:
43407 nits
43408 [b3a522a85ca1]
43409
43410 * source/Lib/TLibEncoder/TEncGOP.cpp,
43411 source/Lib/TLibEncoder/TEncGOP.h:
43412 TEncGOP: remove two more unused variables
43413 [e94675550fa9]
43414
43415 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
43416 nits
43417 [7a22a718c027]
43418
43419 * source/Lib/TLibEncoder/TEncGOP.cpp:
43420 nits
43421 [1b36f456d018]
43422
43423 * source/Lib/TLibEncoder/TEncGOP.cpp:
43424 TEncGOP: cleanup refactor, no behavior change
43425 [26f03b2606f8]
43426
43427 * source/Lib/TLibEncoder/TEncGOP.cpp,
43428 source/Lib/TLibEncoder/TEncGOP.h:
43429 TEncGOP: remove unused m_bFirst variable
43430 [28bbf3b63723]
43431
43432 * .hgtags:
43433 tweak tags, make older LASTKNOWNGOOD tag visible
43434 [6b8fabd722e7]
43435
43436 * source/tools/HM decoder/TAppDecoder.exe:
43437 Remove compiled TAppDecoder.exe
43438
43439 It's not working on some platforms, and in general we don't want
43440 compiled binaries in the tree. Users should build their own, or we
43441 should have it available for download from Bitbucket or Egnyte.
43442 [6facda17b5dc]
43443
43444 2013-06-12 Min Chen <chenm003@163.com>
43445
43446 * source/common/vec/dct.inc:
43447 IDCT4x4 is SSE2
43448 --- source/common/vec/dct.inc | 22 ---------------------- 1 files
43449 changed, 0 insertions(+), 22 deletions(-)
43450 [37e60377bb38]
43451
43452 * source/common/vec/dct.inc, source/test/testbench.cpp:
43453 [review] faster DCT4x4
43454 --- source/common/vec/dct.inc | 137
43455 ++++++++++++++++++++++-----------------------
43456 source/test/testbench.cpp | 2 +- 2 files changed, 68 insertions(+),
43457 71 deletions(-)
43458 [fad6f1100104]
43459
43460 2013-06-12 Steve Borho <steve@borho.org>
43461
43462 * source/Lib/TLibEncoder/TEncGOP.cpp,
43463 source/Lib/TLibEncoder/TEncGOP.h:
43464 TEncGOP: remove unused xFindDistortionFrame() method
43465 [64989e7f7b96]
43466
43467 * source/Lib/TLibEncoder/TEncGOP.cpp:
43468 TEncGOP: fix chroma stride used in frame PSNR
43469 [87599a2e5ea9]
43470
43471 * source/Lib/TLibEncoder/TEncGOP.cpp:
43472 TEncGOP: fix chroma stride used in frame PSNR
43473 [94b3cd0b3d6d]
43474
43475 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
43476 Fix chroma stride used in hash functions (Min Chen)
43477 [fda858eb8b20]
43478
43479 2013-06-11 Steve Borho <steve@borho.org>
43480
43481 * source/Lib/TLibEncoder/TEncGOP.cpp:
43482 TEncGOP: add a note for future optimizations
43483 [a5e26e8a86c8]
43484
43485 * source/Lib/TLibEncoder/TEncGOP.cpp:
43486 TEncGOP: minor cleanups
43487 [c8e15bb22d3c]
43488
43489 * source/CMakeLists.txt:
43490 cmake: downgrade requirement to cmake-2.6; it works fine
43491 [5cc718257bc0]
43492
43493 * source/Lib/TLibEncoder/TEncGOP.cpp:
43494 TEncGOP: nit
43495 [1ffcfbfa6a67]
43496
43497 * source/Lib/TLibEncoder/TEncGOP.cpp:
43498 TEncGOP: use SSE primitives to calculate frame PSNR
43499 [e93c215a81df]
43500
43501 * source/Lib/TLibCommon/TComPicYuv.cpp:
43502 TComPicYUV: enforce 16byte alignment of chroma planes
43503 [580383b435fb]
43504
43505 * source/Lib/TLibEncoder/TEncGOP.cpp,
43506 source/Lib/TLibEncoder/TEncGOP.h:
43507 TEncGOP: remove a handful of of member variables, declare on stack
43508
43509 This is a safety measure to prevent race hazards. Now we know the
43510 scope where these variables must be consistent.
43511 [e2948255ad27]
43512
43513 * source/Lib/TLibEncoder/TEncSlice.cpp,
43514 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/wavefront.cpp:
43515 TEncSlice: prune unused cost variables and methods
43516 [295fbda07f03]
43517
43518 * source/encoder/wavefront.cpp:
43519 wavefront: slight refactor
43520 [b3e9a7469e43]
43521
43522 * source/common/CMakeLists.txt:
43523 gcc: fix win32 mingw compile
43524 [fb8920b0bba0]
43525
43526 * source/encoder/wavefront.cpp:
43527 wavefront: drop PPA events for compress and encodeCU
43528
43529 Now I know that encodeCU takes very little time compared to
43530 compressCU
43531 [4e8a0221fb01]
43532
43533 * source/Lib/TLibEncoder/TEncCu.cpp,
43534 source/Lib/TLibEncoder/TEncGOP.cpp,
43535 source/Lib/TLibEncoder/TEncTop.cpp,
43536 source/Lib/TLibEncoder/TEncTop.h, source/encoder/wavefront.cpp,
43537 source/encoder/wavefront.h:
43538 refactor: move singleton objects from TEncTop to EncodeFrame
43539
43540 This will allow multiple frames to be encoded at the same time,
43541 barring other data dependencies
43542 [6a77792e00e0]
43543
43544 * source/common/vec/pixel8.inc:
43545 pixel: pass sad as reference
43546 [c14b5fb37187]
43547
43548 * source/common/vec/pixel8.inc:
43549 pixel: perform sad_8 in batches of 16 rows
43550 [f74b07aa34f4]
43551
43552 * source/common/pixel.cpp, source/common/vec/pixel.inc,
43553 source/common/vec/pixel8.inc:
43554 pixel: white-space cleanups, remove Intra from getResidual name
43555 [b69c96b0e90c]
43556
43557 2013-06-11 Min Chen <chenm003@163.com>
43558
43559 * source/CMakeLists.txt:
43560 Stack align for GCC
43561 --- source/CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1
43562 deletions(-)
43563 [a3bf4f55f789]
43564
43565 2013-06-11 Steve Borho <steve@borho.org>
43566
43567 * source/common/vec/pixel8.inc:
43568 Merged in deepthidevaki/xhevc_deepthid (pull request #191)
43569
43570 Optimized residual and reconstruction in
43571 xIntraCoding[Luma/Chroma]Blk
43572 [318e10a6a50d]
43573
43574 2013-06-11 Deepthi Devaki <Deepthi Devaki>
43575
43576 * source/common/primitives.h:
43577 fix for bad commit
43578 [8e690d36e169]
43579
43580 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/macroblock.cpp,
43581 source/common/primitives.h, source/common/vec/macroblock.inc,
43582 source/common/vec/pixel8.inc:
43583 Merge
43584 [16f559d6b0d9]
43585
43586 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
43587 source/common/primitives.h, source/common/vec/pixel.inc,
43588 source/common/vec/pixel8.inc, source/test/pixelharness.cpp,
43589 source/test/pixelharness.h:
43590 Optimized residual and reconstruction in
43591 xIntraCoding[Luma/Chroma]Blk
43592 [df8efcb6d5ab]
43593
43594 2013-06-11 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
43595
43596 * source/common/macroblock.cpp, source/common/vec/macroblock.inc:
43597 Merged multicoreware/xhevc into default
43598 [f66842baa091]
43599
43600 2013-06-10 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
43601
43602 * Merged multicoreware/xhevc into default
43603 [f449fe3822e5]
43604
43605 2013-06-11 ggopu <ggopu>
43606
43607 * source/common/vec/pixel8.inc:
43608 primitives:- implementation of loop unrolling for sad - 8,32,48,64.
43609 Others are not showing performance benefit.
43610 [f09d5d9cf0c3]
43611
43612 2013-06-10 Steve Borho <steve@borho.org>
43613
43614 * source/encoder/motion.h:
43615 motion: use intptr_t for blockOffset
43616 [bc498b762ad8]
43617
43618 * source/encoder/motion.cpp, source/encoder/motion.h:
43619 motion: remove sadStride member variable
43620 [8f13381a9a50]
43621
43622 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
43623 source/encoder/motion.h:
43624 motion: make motion reference and search limits function arguments
43625
43626 This makes the motion search re-entrant, for a given source PU block
43627 [7a630939cd66]
43628
43629 * source/encoder/motion.cpp, source/encoder/motion.h:
43630 motion: inline qpelSatd
43631 [2ea29b826a89]
43632
43633 * source/encoder/motion.cpp, source/encoder/motion.h:
43634 motion: inline qpelSad function
43635 [13019ff2dfd3]
43636
43637 * source/encoder/motion.cpp, source/encoder/motion.h:
43638 motion: inline the fpelSad() helper function
43639 [e5b9711d3615]
43640
43641 * source/common/vec/CMakeLists.txt, source/common/vec/pixel8.inc:
43642 gcc: unused parameter workarounds
43643 [b8896916d0cf]
43644
43645 * source/common/vec/pixel8.inc:
43646 pixel: override ALWAYSINLINE for the unroll template functions
43647 [07408db373ed]
43648
43649 * source/common/vec/pixel8.inc, source/test/mbdstharness.cpp:
43650 fix GCC compile errors
43651 [51d401251cd2]
43652
43653 * source/common/CMakeLists.txt, source/common/dct.cpp,
43654 source/common/macroblock.cpp, source/common/primitives.cpp,
43655 source/common/vec/CMakeLists.txt, source/common/vec/dct-avx.cpp,
43656 source/common/vec/dct-avx2.cpp, source/common/vec/dct-sse2.cpp,
43657 source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp,
43658 source/common/vec/dct-sse42.cpp, source/common/vec/dct-ssse3.cpp,
43659 source/common/vec/dct.inc, source/common/vec/macroblock.inc,
43660 source/common/vec/vecprimitives.inc:
43661 rename macroblock to dct, split vector primitives into their own C++
43662 files
43663 [ed6cb766af9e]
43664
43665 * source/common/vec/pixel8.inc:
43666 pixel: fix EOLN damage
43667 [045c16364748]
43668
43669 * source/common/vec/pixel8.inc:
43670 pixel: simplify exit logic
43671 [2fa825921a79]
43672
43673 * source/common/vec/pixel8.inc:
43674 pixel: remove pointer offset multiplication
43675 [b7a5ceb6d6c9]
43676
43677 * source/common/vec/pixel8.inc:
43678 pixel: simplify template early-outs
43679 [ddb5937d4ce2]
43680
43681 * Merged in ggopu/gopu_xhevc (pull request #189)
43682
43683 primitives:- loop unrolling using template metaprogramming.
43684 [597cc1154c19]
43685
43686 2013-06-10 Mandar Gurav <Mandar Gurav>
43687
43688 * source/common/vec/pixel8.inc:
43689 primitives:- loop unrolling using template metaprogramming.
43690 [187b5e63d0c2]
43691
43692 2013-06-10 Steve Borho <steve@borho.org>
43693
43694 * .hgtags:
43695 Moved tag LASTKNOWNGOOD to changeset 3ec4837e6f6c (from changeset
43696 d60578bec82e)
43697 [72b1768e42cd]
43698
43699 * source/common/macroblock.cpp, source/common/vec/macroblock.inc,
43700 source/encoder/CMakeLists.txt:
43701 fix GCC compile errors
43702 [3ec4837e6f6c]
43703
43704 * source/Lib/TLibEncoder/TEncCu.cpp:
43705 TEncCu: add more missing x265_emms() calls; win32 is broken without
43706 them
43707 [016bad7ac3e4]
43708
43709 * .hgtags:
43710 Moved tag LASTKNOWNGOOD to changeset d60578bec82e (from changeset
43711 681eabf8a086)
43712 [0667ab7fc8ed]
43713
43714 * source/Lib/TLibEncoder/TEncCu.cpp,
43715 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
43716 source/encoder/motion.h:
43717 Merge
43718 [d60578bec82e]
43719
43720 * source/Lib/TLibEncoder/TEncSearch.cpp:
43721 TEncSearch: move QP set much earlier, avoids race hazards
43722 [5fbac3c94918]
43723
43724 * source/Lib/TLibEncoder/TEncCu.cpp,
43725 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
43726 source/encoder/motion.h:
43727 motion: do not use subsampling for bufSAD(), call EMMS where
43728 necessary
43729 [5d8f24205a1c]
43730
43731 2013-06-11 Deepthi <Deepthi>
43732
43733 * Merge
43734 [d693fcba0feb]
43735
43736 * source/Lib/TLibEncoder/TEncCu.cpp:
43737 Verified that satd cost of orig and final prediction correspond to
43738 those returned from ME.
43739 [3ca77cf0a0da]
43740
43741 * source/Lib/TLibEncoder/TEncSearch.cpp:
43742 Capturing Cost for Mode Decision from Motion Estimation.
43743
43744 Here, TotalCost (which will be used in Mode Decision) is satd +
43745 lambda*MVDbits. This cost needs to be improved by adding
43746 lambda*header(or signalling) bits.
43747 [7a4e397d0703]
43748
43749 2013-06-10 Steve Borho <steve@borho.org>
43750
43751 * source/Lib/TLibEncoder/TEncAnalyze.h,
43752 source/Lib/TLibEncoder/TEncGOP.cpp:
43753 x265: use stderr and log level consistently for logging output
43754 [6ed146e7e6a2]
43755
43756 2013-06-10 Min Chen <chenm003@163.com>
43757
43758 * source/common/vec/macroblock.inc:
43759 [review] more optimize for IDCT32x32
43760 --- source/common/vec/macroblock.inc | 114
43761 +++++++++++--------------------------- 1 files changed, 33
43762 insertions(+), 81 deletions(-)
43763 [251c74042c22]
43764
43765 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
43766 source/common/primitives.h, source/common/vec/macroblock.inc,
43767 source/test/mbdstharness.cpp:
43768 [PATCH 10/11] [review] merge memcpy with stride into IDCT
43769
43770 From c4ab38c711e073f8e244bac87171b1e762992eed Mon Sep 17 00:00:00
43771 2001
43772 --- source/Lib/TLibCommon/TComTrQuant.cpp | 16 ++----
43773 source/common/macroblock.cpp | 66 ++++++++++++++------
43774 source/common/primitives.h | 3 +- source/common/vec/macroblock.inc |
43775 106 ++++++++++++++++++-------------- source/test/mbdstharness.cpp |
43776 14 ++-- 5 files changed, 120 insertions(+), 85 deletions(-)
43777 [b0bb8b7d2ec1]
43778
43779 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
43780 source/test/mbdstharness.cpp:
43781 [review] replace function xITrMxN by function pointer
43782 --- source/Lib/TLibCommon/TComTrQuant.cpp | 42
43783 ++++----------------------------- source/common/primitives.h | 10
43784 ++++---- source/test/mbdstharness.cpp | 8 +++--- 3 files changed, 14
43785 insertions(+), 46 deletions(-)
43786 [a53a6888afea]
43787
43788 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
43789 source/common/primitives.h, source/common/vec/macroblock.inc,
43790 source/test/mbdstharness.cpp:
43791 [review] code for IDCT32x32
43792 --- source/Lib/TLibCommon/TComTrQuant.cpp | 8 +-
43793 source/common/macroblock.cpp | 11 + source/common/primitives.h | 1 +
43794 source/common/vec/macroblock.inc | 1533
43795 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 1 +
43796 5 files changed, 1547 insertions(+), 7 deletions(-)
43797 [313549dc567d]
43798
43799 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
43800 source/common/primitives.h, source/common/vec/macroblock.inc,
43801 source/test/mbdstharness.cpp:
43802 [review] code for IDCT16x16
43803 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
43804 source/common/macroblock.cpp | 11 + source/common/primitives.h | 1 +
43805 source/common/vec/macroblock.inc | 1449
43806 +++++++++++++++++++++++---------- source/test/mbdstharness.cpp | 19
43807 +- 5 files changed, 1042 insertions(+), 441 deletions(-)
43808 [6ffb16e28ec2]
43809
43810 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
43811 fix bug in testbench
43812 --- source/test/mbdstharness.cpp | 47
43813 +++++++++++++++++++++++++---------------- source/test/mbdstharness.h
43814 | 4 +- 2 files changed, 31 insertions(+), 20 deletions(-)
43815 [b5414396d60d]
43816
43817 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
43818 source/common/primitives.h, source/common/vec/macroblock.inc,
43819 source/test/mbdstharness.cpp:
43820 [review] code for IDCT8x8
43821 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
43822 source/common/macroblock.cpp | 11 ++ source/common/primitives.h | 1
43823 + source/common/vec/macroblock.inc | 252
43824 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 1 +
43825 5 files changed, 266 insertions(+), 2 deletions(-)
43826 [fa33207d7309]
43827
43828 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
43829 source/common/primitives.h, source/common/vec/macroblock.inc,
43830 source/test/mbdstharness.cpp:
43831 [review] code for IDCT4x4
43832 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 +-
43833 source/common/macroblock.cpp | 11 ++++ source/common/primitives.h |
43834 1 + source/common/vec/macroblock.inc | 103
43835 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 1 +
43836 5 files changed, 120 insertions(+), 2 deletions(-)
43837 [6900a1238ea5]
43838
43839 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
43840 more general testbench
43841 --- source/test/mbdstharness.cpp | 52
43842 ++++++----------------------------------- source/test/mbdstharness.h
43843 | 3 +- 2 files changed, 9 insertions(+), 46 deletions(-)
43844 [fbdad5a9a376]
43845
43846 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
43847 source/common/primitives.h, source/common/vec/macroblock.inc,
43848 source/test/mbdstharness.cpp:
43849 [review] code for IDST4x4
43850 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
43851 source/common/macroblock.cpp | 11 +++ source/common/primitives.h | 1
43852 + source/common/vec/macroblock.inc | 115
43853 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 10
43854 +++ 5 files changed, 138 insertions(+), 2 deletions(-)
43855 [ee73706fab63]
43856
43857 * source/test/mbdstharness.cpp:
43858 ident
43859 --- source/test/mbdstharness.cpp | 2 +- 1 files changed, 1
43860 insertions(+), 1 deletions(-)
43861 [1616a4a66f8a]
43862
43863 2013-06-10 Steve Borho <steve@borho.org>
43864
43865 * source/encoder/compress.cpp:
43866 compress: fix eoln and VC9 compile
43867 [89957326ec3e]
43868
43869 * source/encoder/motion.cpp:
43870 motion: improve cost comment
43871 [c342a23c05a6]
43872
43873 * Merged in deepthidevaki/xhevc_deepthid (pull request #188)
43874
43875 32x32 intraAng with intrinsics - Reduced build time in MSVC
43876 [1d4db3d80b2d]
43877
43878 2013-06-10 Deepthi Devaki <Deepthi Devaki>
43879
43880 * source/common/vec/intrapred.inc:
43881 Merge
43882 [7525ac0b99d9]
43883
43884 * source/test/intrapredharness.cpp:
43885 Include 32x32 IntraAng in testbench
43886 [4c815940f610]
43887
43888 * source/common/vec/intrapred.inc:
43889 removing unwanted comments
43890 [ec956b124b97]
43891
43892 * source/common/vec/intrapred.inc:
43893 32x32 intraAng with intrinsics - Reduced build time in MSVC
43894 [079d9456f248]
43895
43896 2013-06-10 Deepthi <Deepthi>
43897
43898 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
43899 More cleanup
43900 [ff59c5d68841]
43901
43902 * source/Lib/TLibEncoder/TEncCu.cpp,
43903 source/Lib/TLibEncoder/TEncSearch.cpp,
43904 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
43905 Removing extraneous arguments to predInterSearch
43906 [9999fc1a7939]
43907
43908 * source/Lib/TLibEncoder/TEncCu.cpp:
43909 Replacing xcompressCU with xCompressInterCU
43910 [cf88ab9b2ad2]
43911
43912 * source/encoder/compress.cpp:
43913 Finetuning xComputeCostInter
43914 [cd37abe9c70b]
43915
43916 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
43917 source/Lib/TLibCommon/TypeDef.h,
43918 source/Lib/TLibEncoder/TEncEntropy.cpp,
43919 source/Lib/TLibEncoder/TEncEntropy.h,
43920 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.h,
43921 source/common/vec/macroblock.inc,
43922 source/common/vec/vecprimitives.inc:
43923 backout e200a6011f23: causes crash.
43924 [00190abfbdbf]
43925
43926 * Merge
43927 [621c6f8f64e0]
43928
43929 * source/encoder/motion.cpp:
43930 Comment for clarification of the term "cost" used in ME.
43931
43932 In general, we can try to use the following terms in a consistent
43933 manner. 1. Distortion: This is the actual distortion produced in the
43934 image due to any of the lossy components in video compression (block
43935 matching, quant, filtering etc etc). In prediction, we can define
43936 this as the satd/sad between orig and predicted image. 2. Bits: no.
43937 of bits used in representing that particular mode. 3. Cost or
43938 TotalCost = Distortion + lambda*bits.
43939
43940 Appending cost to either satd/bits is to be generally avoided.
43941 [69ea081b98a6]
43942
43943 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
43944 Define xComputeCostInter.
43945
43946 Early skip detection always ON. If skip detected, exit early.
43947 [e4f2d46c69fe]
43948
43949 * source/Lib/TLibCommon/TComDataCU.cpp:
43950 Implementation of copyCU member function.
43951 [3ba1b81f83df]
43952
43953 * source/Lib/TLibCommon/TComDataCU.h:
43954 Adding more access functions; declaring a copyCU member function to
43955 copy Search results.
43956 [3173379b20a0]
43957
43958 2013-06-09 Deepthi <Deepthi>
43959
43960 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
43961 4 temporary structs for 2nx2nInter, InterRect, IntrainInter, and
43962 Merge
43963 [32ea45399897]
43964
43965 * source/encoder/compress.cpp:
43966 Recursive calls to xcompressInterCU
43967 [c307d3211445]
43968
43969 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
43970 Adding xcompressInterCU; removing irrelevant if-checks
43971 [96c054b8187b]
43972
43973 * Merge
43974 [9bc61fc21444]
43975
43976 * source/encoder/CMakeLists.txt, source/encoder/compress.cpp,
43977 source/encoder/compress.h:
43978 Adding compress.cpp and compress.h for the new mode decision
43979 algorithm.
43980 [6b5cb6739108]
43981
43982 2013-06-10 Steve Borho <steve@borho.org>
43983
43984 * source/encoder/slicetype.cpp:
43985 slicetype: remove functions we will not need anytime soon
43986 [01a345bdfccc]
43987
43988 2013-06-09 Steve Borho <steve@borho.org>
43989
43990 * doc/LookaheadGuide.txt, source/encoder/slicetype.cpp:
43991 Borrow slicetype.c from x264 as slicetype.cpp
43992
43993 This file was taken from x264 source tree circa Dec 4, 2012 with
43994 x264 bug fixes applied from Dec 11th and Jan 8th 2013. But without
43995 taking any of the slice threading changes because we will eventually
43996 use the x265 thread pool and wavefront scheduling.
43997 [1fd9e6a154dc]
43998
43999 * source/Lib/TLibEncoder/TEncTop.h:
44000 TEncTop: reorder members together, prepare for reorg
44001 [8725f199bac5]
44002
44003 * source/common/vec/vecprimitives.inc:
44004 vec: add comments on where external functions are found
44005 [5df470615208]
44006
44007 * source/common/vec/macroblock.inc,
44008 source/common/vec/vecprimitives.inc:
44009 vec: move includes into vecprimitives.inc
44010
44011 macroblock.inc is included inside an anonymous namespace, and cannot
44012 include headers itself.
44013 [b80c25641411]
44014
44015 2013-06-09 Min Chen <chenm003@163.com>
44016
44017 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
44018 source/common/vec/macroblock.inc, source/test/mbdstharness.cpp,
44019 source/test/mbdstharness.h:
44020 [review] code for DCT4x4
44021 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 ++-
44022 source/common/macroblock.cpp | 11 ++++
44023 source/common/vec/macroblock.inc | 82
44024 +++++++++++++++++++++++++++++++++ source/test/testbench.cpp | 2 +-
44025 source/test/mbdstharness.cpp | 30 ++++++++++++
44026 source/test/mbdstharness.h | 1 + 6 files changed, 129 insertions(+),
44027 3 deletions(-)
44028 [2622ba58e755]
44029
44030 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
44031 source/common/primitives.h, source/common/vec/macroblock.inc,
44032 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
44033 [review] code for DCT8x8
44034 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
44035 source/common/macroblock.cpp | 11 ++ source/common/primitives.h | 12
44036 ++ source/common/vec/macroblock.inc | 275
44037 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 50
44038 ++++++ source/test/mbdstharness.h | 1 + 6 files changed, 350
44039 insertions(+), 2 deletions(-)
44040 [d2175819e669]
44041
44042 * source/Lib/TLibCommon/TComTrQuant.cpp:
44043 replace by const
44044 --- source/Lib/TLibCommon/TComTrQuant.cpp | 12 ++++++------ 1 files
44045 changed, 6 insertions(+), 6 deletions(-)
44046 [2ea982400b90]
44047
44048 * source/Lib/TLibEncoder/TEncSbac.cpp:
44049 little optimize in TEncSbac::codeLastSignificantXY
44050 --- source/Lib/TLibEncoder/TEncSbac.cpp | 10 ++-------- 1 files
44051 changed, 2 insertions(+), 8 deletions(-)
44052 [145223d77222]
44053
44054 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
44055 source/Lib/TLibCommon/TypeDef.h,
44056 source/Lib/TLibEncoder/TEncEntropy.cpp,
44057 source/Lib/TLibEncoder/TEncEntropy.h,
44058 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.h,
44059 source/common/vec/macroblock.inc,
44060 source/common/vec/vecprimitives.inc:
44061 optimize TEncSbac::codeCoeffNxN by new function scanNonZeroCoeffs
44062 --- source/Lib/TLibCommon/TComRom.cpp | 23 +++++
44063 source/Lib/TLibCommon/TComRom.h | 2 +
44064 source/Lib/TLibCommon/TypeDef.h | 1 +
44065 source/Lib/TLibEncoder/TEncEntropy.cpp | 12 ---
44066 source/Lib/TLibEncoder/TEncEntropy.h | 1 -
44067 source/Lib/TLibEncoder/TEncSbac.cpp | 59 ++++---------
44068 source/common/primitives.h | 2 + source/common/vec/macroblock.inc |
44069 146 ++++++++++++++++++++++++++++++++
44070 source/common/vec/vecprimitives.inc | 2 + 9 files changed, 194
44071 insertions(+), 54 deletions(-)
44072 [e200a6011f23]
44073
44074 2013-06-08 Steve Borho <steve@borho.org>
44075
44076 * source/common/primitives.h, source/common/x86/asm-primitives.cpp:
44077 primitives: disable EMMS usage on x64 compiles
44078 [d9f7525c4adf]
44079
44080 2013-06-08 Min Chen <chenm003@163.com>
44081
44082 * source/Lib/TLibEncoder/TEncSearch.cpp:
44083 reduce EMMS when there NO Double operator
44084 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +- 1 files changed, 1
44085 insertions(+), 1 deletions(-)
44086 [f61a08dec7b7]
44087
44088 2013-06-08 Steve Borho <steve@borho.org>
44089
44090 * source/x265.cpp:
44091 x265: report elapsed time in final logging output
44092 [264f4853796c]
44093
44094 2013-06-08 Min Chen <chenm003@163.com>
44095
44096 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
44097 asm: use assembly SSD routines, where applicable
44098 --- source/common/x86/asm-primitives.cpp | 5 +++++
44099 source/common/x86/pixel-a.asm | 6 ++++++ 2 files changed, 11
44100 insertions(+), 0 deletions(-)
44101 [c67c9f5fd4b5]
44102
44103 2013-06-07 Steve Borho <steve@borho.org>
44104
44105 * source/test/pixelharness.cpp:
44106 pixelharness: repair the pixel correctness tests
44107 [7710c496c0bb]
44108
44109 * source/common/x86/asm-primitives.cpp:
44110 Backed out changeset: e040de3904a6 (appears to break some PCs)
44111 [cb5a4206160e]
44112
44113 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
44114 wavefront: move CU processing into a CTURow method
44115 [2d7570e3eab0]
44116
44117 * source/test/testbench.cpp:
44118 testbench: add support for --test NAME argument
44119
44120 ex: TestBench --test pix
44121
44122 Only tests pixel primitives
44123 [c5f0c45e6198]
44124
44125 * source/test/intrapredharness.h, source/test/ipfilterharness.h,
44126 source/test/mbdstharness.h, source/test/pixelharness.h,
44127 source/test/testbench.cpp, source/test/testharness.h:
44128 testbench: add test bench names
44129 [c6fe42bb96f1]
44130
44131 * source/test/testbench.cpp:
44132 testbench: stop testing C prims against themselves. show SIMD names
44133 [a88d84ce9391]
44134
44135 * source/common/primitives.cpp:
44136 primitives: remove unused variable
44137 [078d513b8ce7]
44138
44139 * source/common/x86/asm-primitives.cpp:
44140 asm: use assembly SSD routines, where applicable
44141 [e040de3904a6]
44142
44143 * source/common/x86/CMakeLists.txt:
44144 cmake: add pixel.h to solution, for easy access from MSVC
44145 [88b81e0565f0]
44146
44147 * source/common/primitives.h:
44148 primitives: note that SSE primitives make no alignment assumptions
44149 [de9847f38e29]
44150
44151 * source/x265.cpp:
44152 x265: move CPU detection and primitive initialization after file
44153 init
44154 [1047b745f04f]
44155
44156 * source/common/common.cpp, source/x265.cpp:
44157 x265: report input file data all one one line. Do not repeat input
44158 filename
44159 [42fac954412a]
44160
44161 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
44162 input: add getName() method
44163 [27549dbae44b]
44164
44165 * source/Lib/TLibEncoder/TEncAnalyze.h:
44166 x265: report global bitrate
44167 [8a1ebb2da93c]
44168
44169 * source/Lib/TLibEncoder/TEncAnalyze.h:
44170 x265: indicate bitrate in frame logging same as other places
44171 [4bc3d0f8cf5f]
44172
44173 * source/Lib/TLibCommon/TComSlice.cpp,
44174 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
44175 source/Lib/TLibEncoder/TEncGOP.cpp,
44176 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
44177 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
44178 source/Lib/TLibEncoder/TEncSlice.cpp:
44179 Remove SAO_CHROMA_LAMBDA define, assume enabled
44180 [49160bd03b96]
44181
44182 * source/Lib/TLibCommon/TComTrQuant.h,
44183 source/Lib/TLibCommon/TypeDef.h,
44184 source/Lib/TLibEncoder/TEncSearch.cpp,
44185 source/Lib/TLibEncoder/TEncSlice.cpp:
44186 Remove RDOQ_CHROMA_LAMBDA define, assume enabled
44187 [915c857b3074]
44188
44189 * source/Lib/TLibEncoder/TEncSearch.cpp:
44190 nit
44191 [5a4710c63060]
44192
44193 * source/Lib/TLibEncoder/TEncSearch.cpp:
44194 TEncSearch: replace another copy loop with a primitive
44195 [8e5ed1f84fe9]
44196
44197 * source/Lib/TLibEncoder/TEncSearch.cpp:
44198 TEncSearch: inline primitive arguments, remove unused var
44199 [850ab8ac45fa]
44200
44201 * source/Lib/TLibCommon/TComRdCost.cpp,
44202 source/Lib/TLibCommon/TComRdCost.h:
44203 TComRdCost: remove all three getDistPart()
44204 [0f089c76a5c9]
44205
44206 * source/Lib/TLibCommon/TComRdCost.h,
44207 source/Lib/TLibEncoder/TEncSearch.cpp:
44208 TEncSearch: restore xTZSearchHelp() to its former simplicity
44209 [9bdce4f90c1a]
44210
44211 * Merged in ggopu/gopu_xhevc (pull request #187)
44212
44213 TEncodeSearch: Removed getDistPart() replaced with sse Primitives
44214 [20d3411fb757]
44215
44216 2013-06-07 ggopu <ggopu>
44217
44218 * source/Lib/TLibCommon/TComRdCost.h,
44219 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/vec/sse.inc:
44220 TEncodeSearch: Removed getDistPart() replaced with sse Primitives
44221 [ca1959805ada]
44222
44223 2013-06-07 Steve Borho <steve@borho.org>
44224
44225 * source/common/vec/intrapred.inc:
44226 Merged in deepthidevaki/xhevc_deepthid (pull request #185)
44227
44228 Added IntraAngular modes for chroma
44229 [573411ef9172]
44230
44231 2013-06-07 Deepthi Devaki <Deepthi Devaki>
44232
44233 * source/common/vec/intrapred.inc:
44234 Added bFilter in call for 16x16 for chroma
44235 [ac2aa44b996b]
44236
44237 * source/common/vec/intrapred.inc:
44238 Merge
44239 [22c9294eb683]
44240
44241 * source/Lib/TLibCommon/TComPrediction.cpp,
44242 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
44243 IntraAngular adapted for Chroma application
44244 [18843443dc21]
44245
44246 2013-06-07 Min Chen <chenm003@163.com>
44247
44248 * source/common/vec/intrapred.inc:
44249 intrapred: fix bug on VC9-x64, the pextrw instruction very easy make
44250 bug in VS2008
44251 --- source/common/vec/intrapred.inc | 3 +-- 1 files changed, 1
44252 insertions(+), 2 deletions(-)
44253 [105c01ee73d9]
44254
44255 2013-06-07 nandaku2 <deepthi@multicorewareinc.com>
44256
44257 * source/Lib/TLibEncoder/TEncCu.cpp:
44258 Merged in sumalatha/xhevc_sumalatha (pull request #186)
44259
44260 missed in previous checkin
44261 [772be4365f2d]
44262
44263 2013-06-07 sumalatha <sumalatha>
44264
44265 * source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.cpp:
44266 missed in previous checkin for CU_STAT_LOGFILE
44267 [0e9f956c7cd5]
44268
44269 2013-06-07 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
44270
44271 * source/x265.cpp:
44272 Merged multicoreware/xhevc/default into default (e5a96e958371)
44273 [1b1235269f98]
44274
44275 * source/Lib/TLibEncoder/TEncCu.cpp,
44276 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp:
44277 Merged multicoreware/xhevc/default into default (f4815a9f6747)
44278 [e5a96e958371]
44279
44280 2013-06-06 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
44281
44282 * Merged multicoreware/xhevc/default into default (4f45fd8e9ea8)
44283 [f4815a9f6747]
44284
44285 * source/Lib/TLibEncoder/TEncCu.cpp,
44286 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
44287 source/x265.h:
44288 Merged multicoreware/xhevc/default into default (6dc2e5b6c1d4)
44289 [4f45fd8e9ea8]
44290
44291 2013-06-05 sumalatha <sumalatha>
44292
44293 * source/Lib/TLibEncoder/TEncCu.cpp,
44294 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
44295 source/x265.h:
44296 Backed out changeset: 683fbbf6818d
44297 [6dc2e5b6c1d4]
44298
44299 * source/Lib/TLibEncoder/TEncCu.cpp,
44300 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
44301 source/x265.h:
44302 added logging to collect statistics related to mode decision
44303 [683fbbf6818d]
44304
44305 2013-06-07 Deepthi <Deepthi>
44306
44307 * Merge
44308 [f1fd893cab78]
44309
44310 * source/Lib/TLibEncoder/TEncCu.cpp:
44311 Introducing satd based Intra in Inter: quality slowly climbing up
44312 (0.4 dB less), bitrate equal to RDO-based.
44313 [e654eb6fdb2c]
44314
44315 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44316 CheckRDCostIntrainInter: so we can simplify Intra in Inter without
44317 affecting I-slice decisions.
44318 [8eca9075cfe0]
44319
44320 2013-06-07 Steve Borho <steve@borho.org>
44321
44322 * source/x265.cpp:
44323 x265: remove obsolete printf argument
44324 [4ff9a3f7639f]
44325
44326 2013-06-06 Steve Borho <steve@borho.org>
44327
44328 * source/Lib/TLibEncoder/TEncAnalyze.h,
44329 source/Lib/TLibEncoder/TEncGOP.cpp, source/x265.cpp:
44330 x265: adapt statistic logging to look more like x264
44331 [2df6841df3ab]
44332
44333 * source/x265.cpp:
44334 x265: report final FPS and bitrate as x264 does
44335 [465450a1ffa7]
44336
44337 * source/PPA/ppaCPUEvents.h, source/common/reference.cpp,
44338 source/common/reference.h:
44339 reference: up to 16 threads used for subpel interpolation
44340 [ef3d597154d9]
44341
44342 * source/common/reference.cpp, source/common/reference.h:
44343 reference: up to 9 threads used for subpel interpolation
44344 [fa007c214c1f]
44345
44346 * source/common/reference.cpp:
44347 reference: fix eoln
44348 [83a646b6f94e]
44349
44350 * source/Lib/TLibCommon/TComPicYuv.cpp,
44351 source/Lib/TLibCommon/TComPicYuv.h,
44352 source/Lib/TLibCommon/TComSlice.cpp, source/common/reference.cpp,
44353 source/common/reference.h:
44354 reference: use thread pool to interpolate references, up to 4
44355 threads
44356 [299bcbf0b763]
44357
44358 * source/common/threadpool.cpp, source/common/threadpool.h:
44359 threadpool: add accessor to static var that doesn't increase ref
44360 count
44361 [6cf0b85a4e38]
44362
44363 * source/common/reference.h:
44364 reference: use intptr_t for pointer offset m_offsetToLuma
44365 [32bcc907c80f]
44366
44367 * source/common/reference.cpp, source/common/reference.h:
44368 reference: remove redundant variables
44369 [75abe6a7275e]
44370
44371 * source/common/reference.cpp:
44372 reference: simplify and correct some math
44373 [5a5edf293002]
44374
44375 * source/common/reference.cpp, source/common/reference.h:
44376 reference: split out compute per horizontal qpel offset
44377 [bfb389d9b26a]
44378
44379 * source/common/vec/intrapred.inc:
44380 intrapred: allow non-MSVC compilers to build intra 32x32
44381 [95769be84f67]
44382
44383 * source/common/reference.cpp, source/common/reference.h:
44384 reference: move temp vars to be class members
44385
44386 Normally this wouldn't be helpful but since this routine is about to
44387 be threaded, this helps work efficiency
44388 [4707e4389160]
44389
44390 * source/Lib/TLibEncoder/TEncSlice.cpp, source/PPA/ppaCPUEvents.h:
44391 PPA: add event for TEncSlice_encodeSlice
44392 [f0fe1b23b93a]
44393
44394 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppaCPUEvents.h,
44395 source/common/reference.cpp, source/encoder/wavefront.cpp:
44396 PPA: tweak events to more easily analyse threading
44397
44398 GenerateReferencePlanes has improved from 60ms to 56ms in the last 6
44399 commits (measuring on HD video). Each plane costs 3.7ms
44400 [ecbbfa05934d]
44401
44402 * source/common/reference.cpp:
44403 reference: directly use full-pel plane from TComPicYuv - do not copy
44404 [b2aa11f00641]
44405
44406 * source/common/reference.cpp:
44407 reference: reduce redunant calculations
44408 [4311f9eda5c6]
44409
44410 * source/common/reference.cpp:
44411 reference: reduce redunant calculations
44412 [418ef065cd76]
44413
44414 * source/common/reference.cpp:
44415 reference: reduce redunant calculations
44416 [efcf8e88705c]
44417
44418 * source/common/reference.cpp:
44419 reference: reduce redunant calculations
44420 [51ffeea76d4b]
44421
44422 * source/common/reference.cpp:
44423 reference: unroll plane extensions
44424 [411cb75acef5]
44425
44426 * source/common/reference.cpp, source/common/reference.h:
44427 reference: combine functions
44428 [831ab4d28f46]
44429
44430 2013-06-07 Deepthi <Deepthi>
44431
44432 * Merge
44433 [7ea20ea451eb]
44434
44435 * source/Lib/TLibEncoder/TEncCu.cpp:
44436 Replacing Merge distortion with satd costs.
44437
44438 However, this badly thrashes quality - I suspect this is due to
44439 lower distortion values from satd for the merge-zero residual mode.
44440 We need to finetune the merge distortion model.
44441 [0d0adf325e0d]
44442
44443 2013-06-06 Steve Borho <steve@borho.org>
44444
44445 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp:
44446 re-enable forceinline for intra AVX and SSE42
44447 [9567c46f3511]
44448
44449 * Merged in deepthidevaki/xhevc_deepthid (pull request #184)
44450
44451 intrinsics in IntraAng
44452 [1c7ce772c0b7]
44453
44454 2013-06-06 Deepthi Devaki <Deepthi Devaki>
44455
44456 * source/common/vec/intrapred.inc:
44457 Expanded some of the Macros in 32x32 IntraAng with intention to
44458 improve compile time.
44459 [18f485d4e06f]
44460
44461 * source/common/vec/intrapred.inc:
44462 Intrinsics added in 32x32 Macros.
44463 [105bb52b4414]
44464
44465 * source/common/vec/intrapred.inc:
44466 More intrinsics in 16x16
44467 [eaab40490386]
44468
44469 * source/common/vec/intrapred.inc:
44470 Intrinsics in MACRO for 16x16
44471 [dea89dcfa4c8]
44472
44473 2013-06-06 Deepthi <Deepthi>
44474
44475 * source/Lib/TLibEncoder/TEncSearch.cpp:
44476 Using bits estimate from RDO instead of ME estimate.
44477
44478 Using the bits estimate from RDO gives 0.5dB loss and 10% bitrate
44479 increase. Using bits estimate from ME gives 30% bitrate increase and
44480 0.7dB loss. ToDo: replace RDO bits estimate with a carefully
44481 calculated estimate.
44482 [6657cc220ef5]
44483
44484 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44485 Cleanup: remove CalcRDCostInter/Intra
44486 [ae86f626666c]
44487
44488 2013-06-06 sumalatha <sumalatha>
44489
44490 * source/Lib/TLibEncoder/TEncSearch.cpp:
44491 incremental changes - commit to add logs for rdo, satd cost.
44492 [d021c4d5e43f]
44493
44494 2013-06-06 Deepthi <Deepthi>
44495
44496 * source/Lib/TLibEncoder/TEncCu.cpp,
44497 source/Lib/TLibEncoder/TEncSearch.cpp:
44498 CU_STAT patch from Aarthi/Sumalatha
44499 [14aa8db979f8]
44500
44501 * source/Lib/TLibEncoder/TEncCu.cpp,
44502 source/Lib/TLibEncoder/TEncSearch.cpp:
44503 Merge
44504 [aa89281d6517]
44505
44506 * source/Lib/TLibEncoder/TEncCu.cpp:
44507 Merge
44508 [b77d5500205d]
44509
44510 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
44511 source/Lib/TLibEncoder/TEncSearch.cpp:
44512 Modeling SATD distortion
44513 [5158e6a3466e]
44514
44515 2013-06-05 Steve Borho <steve@borho.org>
44516
44517 * source/common/vec/intrapred.inc:
44518 intrapred: move another file static init into setup func
44519 [3ec88cd25ae6]
44520
44521 * source/common/reference.cpp:
44522 reference: nit
44523 [9f64d9a6a9f8]
44524
44525 * source/common/reference.cpp:
44526 reference: use a single temp buffer
44527 [287576ca5ad2]
44528
44529 * source/common/reference.cpp:
44530 reference: remove unused assignment
44531 [650800e42016]
44532
44533 * source/common/reference.cpp:
44534 reference: reorder plane generations
44535 [9c8caf38d14f]
44536
44537 * source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.cpp,
44538 source/common/reference.h, source/encoder/motion.cpp,
44539 source/encoder/motion.h:
44540 reference: use m_ prefix for member variables
44541 [15ea880c0ffd]
44542
44543 * source/encoder/motion.cpp, source/encoder/motion.h:
44544 motion: drop chroma fenc plane pointers, unused
44545 [b13ccd8af6ea]
44546
44547 * source/Lib/TLibCommon/TComPicYuv.cpp,
44548 source/Lib/TLibCommon/TComPicYuv.h,
44549 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/CMakeLists.txt,
44550 source/common/reference.cpp, source/common/reference.h,
44551 source/encoder/motion.h:
44552 reference: move reference plane generation into new common/ files
44553 [2b62bd9493e0]
44554
44555 2013-06-06 ShinYee Chung <shinyee@multicorewareinc.com>
44556
44557 * source/test/pixelharness.cpp:
44558 pixelharness: Fix missing header for SHRT_MAX.
44559 [ec399d4f91f0]
44560
44561 * source/common/pixel.cpp, source/common/vec/pixel.inc:
44562 vec: Fix macro paste problem due to invalid tokens.
44563
44564 error: pasting "." and "sad" does not give a valid preprocessing
44565 token error: pasting "sse" and "<" does not give a valid
44566 preprocessing token
44567 [f0bee4bc5ab8]
44568
44569 2013-06-05 Steve Borho <steve@borho.org>
44570
44571 * source/common/vec/macroblock.inc:
44572 macroblock: prevent VC9 x64 from building SSE4 intrinsic butterfly
44573 primitives
44574
44575 Specifically the butterfly32 crashes and butterfly8 fails unit tests
44576 [cc3701060a60]
44577
44578 * source/common/common.h:
44579 common: disable logging by default
44580 [fb8d4ef3eed1]
44581
44582 * source/x265.cpp:
44583 remove redundant fclose()
44584 [1192519fe4cc]
44585
44586 * source/Lib/TLibEncoder/TEncCu.cpp,
44587 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.h,
44588 source/x265.cpp:
44589 rename LOGGING to CU_STAT_LOGFILE
44590 [436ebbab3ba2]
44591
44592 * source/Lib/TLibEncoder/TEncCu.cpp,
44593 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.h,
44594 source/x265.h:
44595 move LOGGING define to common.h
44596 [f2ea9f497340]
44597
44598 * source/Lib/TLibCommon/TComRdCost.cpp:
44599 TComRdCost: use its own helper function consistently
44600 [4b036d5114f8]
44601
44602 * source/Lib/TLibCommon/TComRdCost.h:
44603 TComRdCost: reorder methods, no change
44604 [b076f3dd0351]
44605
44606 * source/Lib/TLibCommon/TComRdCost.h:
44607 TComRdCost: remove two unused member variables
44608
44609 They were moved to DistParam and never removed from here
44610 [c5008c610656]
44611
44612 * source/Lib/TLibCommon/TComDataCU.cpp,
44613 source/Lib/TLibCommon/TComDataCU.h:
44614 TComDataCU: remove unused slow bit counting methods
44615
44616 These weren't being used at all; not sure if they were used in dead
44617 code paths we've pruned or if all of its users were moved to
44618 TComRdCost
44619 [971fe0131bd5]
44620
44621 * source/Lib/TLibEncoder/TEncSearch.cpp:
44622 TEncSearch: remove old commented code, can no longer be used
44623 [cda2e64d596c]
44624
44625 * source/Lib/TLibCommon/TComRdCost.cpp,
44626 source/Lib/TLibCommon/TComRdCost.h:
44627 TComRdCost: remove getCost(x, y), getBits(x, y), and
44628 xGetComponentBits()
44629 [0e4510344de3]
44630
44631 * source/Lib/TLibEncoder/TEncSearch.cpp:
44632 TEncSearch: replace TComRdCost::getCost(x,y) with BitCost::mvcost
44633 [CHANGE]
44634
44635 Changes outputs of --me 4 (HM orig) slightly. Does not affect other
44636 ME modes, which were already using mvcost()
44637 [1058053226f4]
44638
44639 * source/common/vec/pixel.inc, source/common/vec/sse.inc,
44640 source/test/pixelharness.cpp:
44641 Backed out changeset: ce41a92cec25
44642 [0720ed17000a]
44643
44644 * source/common/vec/intrapred.inc:
44645 intrapred: remove const from file static vars
44646
44647 The compiler was ignoring my const_cast<> and discarding the
44648 assignments. My guess is that it had inlined the constants (known to
44649 be zero) into the routines
44650 [6c44353bb63f]
44651
44652 * source/common/vec/intrapred.inc:
44653 intra: disable 32x32 temporarily, to save MSVC build times
44654
44655 Once the key macros have been made pure-intrinsic, it should be safe
44656 to build these again with MSVC.
44657 [1ae62e55635c]
44658
44659 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
44660 wavefront: uncrustify
44661 [cec743da6f0e]
44662
44663 * source/Lib/TLibEncoder/TEncCu.cpp,
44664 source/Lib/TLibEncoder/TEncSlice.cpp:
44665 TEncCu, TEncSlice: uncrustify
44666 [dcad39643221]
44667
44668 * source/common/vec/intrapred.inc:
44669 intrapred: move static variable initialization to init time
44670
44671 Allow CPU detection to avoid initializing static vars that might use
44672 illegal instructions.
44673 [b7fa5ee0ff52]
44674
44675 2013-06-05 ggopu <ggopu>
44676
44677 * source/common/vec/pixel.inc, source/common/vec/sse.inc,
44678 source/test/pixelharness.cpp:
44679 primitives: implementation of sse_ss, sse_sp, sse_pp : Comment out
44680 crashing part
44681 [ce41a92cec25]
44682
44683 * source/test/pixelharness.cpp, source/test/pixelharness.h:
44684 primitives: implementation of sse_ss, sse_sp, sse_pp : Quick fix
44685 [fa56753ac713]
44686
44687 * source/common/pixel.cpp, source/common/primitives.h,
44688 source/common/vec/CMakeLists.txt, source/common/vec/pixel.inc,
44689 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
44690 source/common/vec/sse.inc, source/test/pixelharness.cpp:
44691 primitives: implementation of sse_ss, sse_sp, sse_pp
44692 [7e9174316989]
44693
44694 2013-06-05 Deepthi <Deepthi>
44695
44696 * Merge
44697 [2cf7f7189f52]
44698
44699 * source/Lib/TLibEncoder/TEncCu.cpp,
44700 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
44701 source/x265.h:
44702 Logging statistics showing CU mode types and partition sizes - patch
44703 from Aarthi/Sumalatha.
44704 [5679059e8c2d]
44705
44706 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44707 Do not repeat encRes for merge mode
44708 [ed6c51f1274e]
44709
44710 2013-06-05 Steve Borho <steve@borho.org>
44711
44712 * .hgtags:
44713 Added tag LASTKNOWNGOOD for changeset 681eabf8a086
44714 [ce241499c41d]
44715
44716 * source/Lib/TLibEncoder/TEncSearch.cpp:
44717 TEncSearch: nits, no change
44718 [30fc780867a3]
44719
44720 2013-06-04 Steve Borho <steve@borho.org>
44721
44722 * source/encoder/wavefront.cpp:
44723 wavefront: re-order initializations to make GCC happy
44724 [86059d10c1da]
44725
44726 * source/Lib/TLibEncoder/TEncCavlc.h:
44727 TEncCavlc: remove unused formal parameter names, avoid GCC warnings
44728 [189c561de3cd]
44729
44730 * source/encoder/wavefront.cpp:
44731 wavefront: remove clumsy logic where codeRow could be different for
44732 goOnSBac
44733 [2b27bd6e3c0e]
44734
44735 * source/encoder/encoder.cpp:
44736 encoder: mark WPP disabled if thread pool has only one thread
44737
44738 Either the user requested --threads 1, or auto-detect only found 1
44739 CPU core
44740 [051e5dab1985]
44741
44742 * source/Lib/TLibEncoder/TEncSlice.cpp:
44743 nit
44744 [fd22c2f571ce]
44745
44746 * source/Lib/TLibEncoder/TEncSlice.cpp:
44747 TEncSlice: remove include of omp.h
44748 [f3a40c7d2ec5]
44749
44750 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.cpp,
44751 source/encoder/wavefront.h:
44752 wavefront: further cleanups
44753 [70edba386b16]
44754
44755 * source/encoder/wavefront.cpp:
44756 wavefront: remove unnecessary re-alloc of buffer Sbac coders
44757 [f559d0f9c927]
44758
44759 * source/Lib/TLibEncoder/TEncSlice.cpp,
44760 source/Lib/TLibEncoder/TEncSlice.h,
44761 source/Lib/TLibEncoder/TEncTop.h:
44762 TEncTop: completely remove singleton TComRdCost, force use of
44763 EncodeFrame
44764 [6134af9537f2]
44765
44766 * source/x265.cpp:
44767 x265: remove old comment
44768 [9cbadcbf9af5]
44769
44770 * source/encoder/wavefront.cpp:
44771 wavefront: move flush and deletions to destroy method
44772 [2c6debbdea1d]
44773
44774 * source/encoder/wavefront.cpp:
44775 wavefront: eliminate redundant assignments
44776 [8a6c3172ad9e]
44777
44778 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
44779 source/encoder/wavefront.cpp:
44780 TEncCu: CU should use row local m_cRdCost so lambda is allowed to
44781 diverge
44782 [cb1c0f4fe4d2]
44783
44784 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.h:
44785 distribute lambda and chroma weights to thread m_cRdCost (fixes non-
44786 determinism)
44787
44788 it seems --me 4 and --wpp is still non-deterministic, just not
44789 nearly as much.
44790 [8ad5d8bc925c]
44791
44792 2013-06-03 Steve Borho <steve@borho.org>
44793
44794 * source/Lib/TLibEncoder/TEncGOP.cpp,
44795 source/Lib/TLibEncoder/TEncGOP.h,
44796 source/Lib/TLibEncoder/TEncSlice.cpp,
44797 source/Lib/TLibEncoder/TEncSlice.h,
44798 source/Lib/TLibEncoder/TEncTop.cpp,
44799 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
44800 source/encoder/wavefront.cpp, source/encoder/wavefront.h:
44801 wavefront: reorg per-thread/row data into a structure
44802 [5103e97b516e]
44803
44804 2013-06-04 Steve Borho <steve@borho.org>
44805
44806 * source/Lib/TLibCommon/TypeDef.h:
44807 Remove unused SEQUENCE_LEVEL_LOSSLESS
44808 [31b2998e87e2]
44809
44810 * source/Lib/TLibCommon/TComRdCost.cpp,
44811 source/Lib/TLibCommon/TComRdCost.h:
44812 TComRdCost: remove unused calcRdCost64
44813 [734d93ef8fd8]
44814
44815 * source/Lib/TLibCommon/TComRdCost.cpp,
44816 source/Lib/TLibCommon/TComRdCost.h:
44817 TComRdCost: remove unused calcRdCost
44818 [d46bc99052f6]
44819
44820 * source/common/vec/CMakeLists.txt:
44821 cmake: cleanup vec file, no real changes
44822 [2b0a5cfe46f2]
44823
44824 2013-06-05 ShinYee Chung <shinyee@multicorewareinc.com>
44825
44826 * source/Lib/TLibEncoder/TEncSearch.cpp:
44827 search: Fix compile warnings.
44828 [31e1d53e0aad]
44829
44830 2013-06-04 Steve Borho <steve@borho.org>
44831
44832 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp:
44833 disable forceinline, compiles are taking multiple hours
44834 [9f27fcbe7660]
44835
44836 * source/common/pixel.cpp:
44837 pixel: add C primitives for int/short conversion functions
44838 [5935a4c31de9]
44839
44840 * source/common/vec/intrapred.inc,
44841 source/common/vec/vecprimitives.inc:
44842 vec: more #include pruning to avoid unnecessary rebuilds
44843 [637f3b3a1f8a]
44844
44845 * source/common/vec/intrapred.inc,
44846 source/common/vec/vecprimitives.inc:
44847 move g_aucConvertToBit[] to intrapred.inc
44848 [9df6d9454529]
44849
44850 * source/Lib/TLibCommon/TComRdCost.cpp,
44851 source/Lib/TLibCommon/TComRdCost.h:
44852 TComRdCost: remove eDFunc argument from getDistPart() methods
44853
44854 Soon getDistPart() can be replaced entirely with SSE primitives.
44855 [3f286f363159]
44856
44857 * source/Lib/TLibCommon/TComRdCost.h:
44858 TComRdCost: remove unused macro and method
44859 [90f2d655fc4f]
44860
44861 * source/Lib/TLibEncoder/TEncCu.cpp:
44862 TEncCu: fix eoln
44863 [cbcce0610e27]
44864
44865 2013-06-04 Deepthi <Deepthi>
44866
44867 * source/Lib/TLibEncoder/TEncSearch.cpp:
44868 Merge
44869 [bdec57941cef]
44870
44871 * source/Lib/TLibEncoder/TEncSearch.cpp:
44872 Bug fix in memcpy
44873 [34cafdcafffe]
44874
44875 2013-06-04 Steve Borho <steve@borho.org>
44876
44877 * source/Lib/TLibEncoder/TEncCu.cpp,
44878 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/vec/pixel.inc,
44879 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc:
44880 Merged in ggopu/gopu_xhevc (pull request #182)
44881
44882 primitives: SSE 8 & 16 bit implementation - done for all and
44883 Replaced getSADPart with Primitives.sad function
44884 [537e783eab5b]
44885
44886 2013-06-04 Mandar Gurav <Mandar Gurav>
44887
44888 * source/Lib/TLibEncoder/TEncSearch.cpp:
44889 Replaced getDistPart() with SadBuf() and remved CALCRDCOST_SAD call
44890 from TencodeSearch
44891 [0d22b87a3bd4]
44892
44893 * source/Lib/TLibEncoder/TEncCu.cpp:
44894 Replaced getSADPart with Primitives.sad function
44895 [23778eeabe2f]
44896
44897 * source/common/vec/pixel16.inc, source/common/vec/pixel8.inc:
44898 primitives: SSE 16 bit - done for all
44899 [d8065a5600fb]
44900
44901 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
44902 primitives: SSE 8 bit implementation - done for all
44903 [4c3b34bfd0a3]
44904
44905 2013-06-04 Deepthi <Deepthi>
44906
44907 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/vec/intra-
44908 avx.cpp, source/common/vec/intra-sse42.cpp, source/common/vec
44909 /ipfilter-avx.cpp, source/common/vec/ipfilter-avx2.cpp,
44910 source/common/vec/ipfilter-sse2.cpp, source/common/vec/ipfilter-
44911 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
44912 /ipfilter-sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
44913 source/common/vec/pixel-avx.cpp, source/common/vec/pixel-avx2.cpp,
44914 source/common/vec/pixel-sse2.cpp, source/common/vec/pixel-sse3.cpp,
44915 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel-
44916 sse42.cpp, source/common/vec/pixel-ssse3.cpp,
44917 source/common/vec/utils.h:
44918 Merge
44919 [da81281bbfb6]
44920
44921 * source/Lib/TLibEncoder/TEncSearch.cpp:
44922 Replacing with memcpy.
44923 [c6948a0ed131]
44924
44925 2013-06-04 Deepthi Devaki <Deepthi Devaki>
44926
44927 * source/common/vec/intrapred.inc:
44928 Completed & Uncrustified Intra Angular 32x32
44929 [f42c0dd3b2c3]
44930
44931 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
44932 source/test/intrapredharness.cpp:
44933 Fix for a previous wrong commit, that disabled forceinline
44934 [be5a9b49fdcb]
44935
44936 * source/Lib/TLibCommon/AccessUnit.h,
44937 source/Lib/TLibCommon/ContextModel.cpp,
44938 source/Lib/TLibCommon/ContextModel3DBuffer.h,
44939 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
44940 source/Lib/TLibCommon/TComDataCU.cpp,
44941 source/Lib/TLibCommon/TComLoopFilter.cpp,
44942 source/Lib/TLibCommon/TComPattern.cpp,
44943 source/Lib/TLibCommon/TComPattern.h,
44944 source/Lib/TLibCommon/TComPic.cpp,
44945 source/Lib/TLibCommon/TComPicYuv.cpp,
44946 source/Lib/TLibCommon/TComPicYuv.h,
44947 source/Lib/TLibCommon/TComPrediction.cpp,
44948 source/Lib/TLibCommon/TComPrediction.h,
44949 source/Lib/TLibCommon/TComRdCost.cpp,
44950 source/Lib/TLibCommon/TComRdCost.h,
44951 source/Lib/TLibCommon/TComRom.cpp,
44952 source/Lib/TLibCommon/TComTrQuant.cpp,
44953 source/Lib/TLibCommon/TComTrQuant.h,
44954 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
44955 source/Lib/TLibCommon/TypeDef.h,
44956 source/Lib/TLibEncoder/AnnexBwrite.h,
44957 source/Lib/TLibEncoder/NALwrite.h,
44958 source/Lib/TLibEncoder/SEIwrite.h,
44959 source/Lib/TLibEncoder/TEncCavlc.cpp,
44960 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
44961 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
44962 source/Lib/TLibEncoder/TEncGOP.h, source/Lib/TLibEncoder/TEncSbac.h,
44963 source/Lib/TLibEncoder/TEncSearch.cpp,
44964 source/Lib/TLibEncoder/TEncSearch.h,
44965 source/Lib/TLibEncoder/TEncSlice.cpp,
44966 source/Lib/TLibEncoder/TEncSlice.h,
44967 source/Lib/TLibEncoder/TEncTop.cpp,
44968 source/Lib/TLibEncoder/TEncTop.h, source/PPA/ppa.h,
44969 source/VectorClass/vectori128.h, source/common/TShortYUV.cpp,
44970 source/common/TShortYUV.h, source/common/common.cpp,
44971 source/common/common.h, source/common/ipfilter.cpp,
44972 source/common/md5.cpp, source/common/md5.h, source/common/pixel.cpp,
44973 source/common/primitives.cpp, source/common/primitives.h,
44974 source/common/threadpool.cpp, source/common/vec/CMakeLists.txt,
44975 source/common/vec/blockcopy.inc, source/common/vec/intra-avx.cpp,
44976 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse2.cpp,
44977 source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp,
44978 source/common/vec/intra-sse42.cpp, source/common/vec/intra-
44979 ssse3.cpp, source/common/vec/intrapred.inc, source/common/vec
44980 /ipfilter-avx.cpp, source/common/vec/ipfilter-avx2.cpp,
44981 source/common/vec/ipfilter-sse2.cpp, source/common/vec/ipfilter-
44982 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
44983 /ipfilter-sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
44984 source/common/vec/ipfilter.inc, source/common/vec/pixel-avx.cpp,
44985 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
44986 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
44987 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
44988 ssse3.cpp, source/common/vec/pixel.inc,
44989 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
44990 source/common/vec/utils.h, source/common/vec/vec-primitives.cpp,
44991 source/common/vec/vecprimitives.inc, source/encoder/bitcost.cpp,
44992 source/encoder/bitcost.h, source/encoder/encoder.cpp,
44993 source/encoder/encoder.h, source/encoder/motion.cpp,
44994 source/input/y4m.cpp, source/input/yuv.cpp,
44995 source/output/output.cpp, source/output/output.h,
44996 source/output/y4m.cpp, source/output/yuv.cpp, source/output/yuv.h,
44997 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
44998 source/test/pixelharness.cpp, source/test/testbench.cpp,
44999 source/test/testharness.h, source/tools/dr_psnr/PsnrCalculator.h,
45000 source/tools/dr_psnr/SSIMCalculator.h, source/x265.cpp,
45001 source/x265.h, source/x265opts.h:
45002 Backed out changeset: 471c6f016b40
45003 [d790920f4c32]
45004
45005 * source/Lib/TLibCommon/AccessUnit.h,
45006 source/Lib/TLibCommon/ContextModel.cpp,
45007 source/Lib/TLibCommon/ContextModel3DBuffer.h,
45008 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
45009 source/Lib/TLibCommon/TComDataCU.cpp,
45010 source/Lib/TLibCommon/TComLoopFilter.cpp,
45011 source/Lib/TLibCommon/TComPattern.cpp,
45012 source/Lib/TLibCommon/TComPattern.h,
45013 source/Lib/TLibCommon/TComPic.cpp,
45014 source/Lib/TLibCommon/TComPicYuv.cpp,
45015 source/Lib/TLibCommon/TComPicYuv.h,
45016 source/Lib/TLibCommon/TComPrediction.cpp,
45017 source/Lib/TLibCommon/TComPrediction.h,
45018 source/Lib/TLibCommon/TComRdCost.cpp,
45019 source/Lib/TLibCommon/TComRdCost.h,
45020 source/Lib/TLibCommon/TComRom.cpp,
45021 source/Lib/TLibCommon/TComTrQuant.cpp,
45022 source/Lib/TLibCommon/TComTrQuant.h,
45023 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
45024 source/Lib/TLibCommon/TypeDef.h,
45025 source/Lib/TLibEncoder/AnnexBwrite.h,
45026 source/Lib/TLibEncoder/NALwrite.h,
45027 source/Lib/TLibEncoder/SEIwrite.h,
45028 source/Lib/TLibEncoder/TEncCavlc.cpp,
45029 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
45030 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
45031 source/Lib/TLibEncoder/TEncGOP.h, source/Lib/TLibEncoder/TEncSbac.h,
45032 source/Lib/TLibEncoder/TEncSearch.cpp,
45033 source/Lib/TLibEncoder/TEncSearch.h,
45034 source/Lib/TLibEncoder/TEncSlice.cpp,
45035 source/Lib/TLibEncoder/TEncSlice.h,
45036 source/Lib/TLibEncoder/TEncTop.cpp,
45037 source/Lib/TLibEncoder/TEncTop.h, source/PPA/ppa.h,
45038 source/VectorClass/vectori128.h, source/common/TShortYUV.cpp,
45039 source/common/TShortYUV.h, source/common/common.cpp,
45040 source/common/common.h, source/common/ipfilter.cpp,
45041 source/common/md5.cpp, source/common/md5.h, source/common/pixel.cpp,
45042 source/common/primitives.cpp, source/common/primitives.h,
45043 source/common/threadpool.cpp, source/common/vec/CMakeLists.txt,
45044 source/common/vec/blockcopy.inc, source/common/vec/intra-avx.cpp,
45045 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse2.cpp,
45046 source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp,
45047 source/common/vec/intra-sse42.cpp, source/common/vec/intra-
45048 ssse3.cpp, source/common/vec/intrapred.inc, source/common/vec
45049 /ipfilter-avx.cpp, source/common/vec/ipfilter-avx2.cpp,
45050 source/common/vec/ipfilter-sse2.cpp, source/common/vec/ipfilter-
45051 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
45052 /ipfilter-sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
45053 source/common/vec/ipfilter.inc, source/common/vec/pixel-avx.cpp,
45054 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
45055 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
45056 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
45057 ssse3.cpp, source/common/vec/pixel.inc,
45058 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
45059 source/common/vec/utils.h, source/common/vec/vec-primitives.cpp,
45060 source/common/vec/vecprimitives.inc, source/encoder/bitcost.cpp,
45061 source/encoder/bitcost.h, source/encoder/encoder.cpp,
45062 source/encoder/encoder.h, source/encoder/motion.cpp,
45063 source/input/y4m.cpp, source/input/yuv.cpp,
45064 source/output/output.cpp, source/output/output.h,
45065 source/output/y4m.cpp, source/output/yuv.cpp, source/output/yuv.h,
45066 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
45067 source/test/pixelharness.cpp, source/test/testbench.cpp,
45068 source/test/testharness.h, source/tools/dr_psnr/PsnrCalculator.h,
45069 source/tools/dr_psnr/SSIMCalculator.h, source/x265.cpp,
45070 source/x265.h, source/x265opts.h:
45071 Backed out merge changeset: 899d27ae3960
45072
45073 Backed out merge revision to its first parent (ffc3e2a59068)
45074 [471c6f016b40]
45075
45076 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
45077 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
45078 Merge
45079 [899d27ae3960]
45080
45081 * source/common/vec/intrapred.inc:
45082 Partial vector implementation of IntrPredAng 32x32.
45083 [ffc3e2a59068]
45084
45085 2013-06-03 Steve Borho <steve@borho.org>
45086
45087 * source/Lib/TLibCommon/AccessUnit.h,
45088 source/Lib/TLibCommon/ContextModel.cpp,
45089 source/Lib/TLibCommon/ContextModel3DBuffer.h,
45090 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
45091 source/Lib/TLibCommon/TComDataCU.cpp,
45092 source/Lib/TLibCommon/TComLoopFilter.cpp,
45093 source/Lib/TLibCommon/TComPattern.cpp,
45094 source/Lib/TLibCommon/TComPattern.h,
45095 source/Lib/TLibCommon/TComPic.cpp,
45096 source/Lib/TLibCommon/TComPicYuv.cpp,
45097 source/Lib/TLibCommon/TComPicYuv.h,
45098 source/Lib/TLibCommon/TComPrediction.cpp,
45099 source/Lib/TLibCommon/TComPrediction.h,
45100 source/Lib/TLibCommon/TComRdCost.cpp,
45101 source/Lib/TLibCommon/TComTrQuant.cpp,
45102 source/Lib/TLibCommon/TComTrQuant.h,
45103 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
45104 source/Lib/TLibEncoder/AnnexBwrite.h,
45105 source/Lib/TLibEncoder/NALwrite.h,
45106 source/Lib/TLibEncoder/SEIwrite.h,
45107 source/Lib/TLibEncoder/TEncCavlc.cpp,
45108 source/Lib/TLibEncoder/TEncCfg.h,
45109 source/Lib/TLibEncoder/TEncSearch.cpp,
45110 source/Lib/TLibEncoder/TEncSearch.h,
45111 source/Lib/TLibEncoder/TEncTop.h, source/PPA/ppa.h,
45112 source/common/TShortYUV.cpp, source/common/TShortYUV.h,
45113 source/common/common.cpp, source/common/common.h,
45114 source/common/ipfilter.cpp, source/common/md5.cpp,
45115 source/common/md5.h, source/common/pixel.cpp,
45116 source/common/primitives.cpp, source/common/primitives.h,
45117 source/common/threadpool.cpp, source/common/vec/blockcopy.inc,
45118 source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
45119 source/common/vec/intrapred.inc, source/common/vec/ipfilter-avx.cpp,
45120 source/common/vec/ipfilter-avx2.cpp, source/common/vec/ipfilter-
45121 sse2.cpp, source/common/vec/ipfilter-sse3.cpp, source/common/vec
45122 /ipfilter-sse41.cpp, source/common/vec/ipfilter-sse42.cpp,
45123 source/common/vec/ipfilter-ssse3.cpp,
45124 source/common/vec/ipfilter.inc, source/common/vec/pixel-avx.cpp,
45125 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
45126 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
45127 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
45128 ssse3.cpp, source/common/vec/pixel.inc,
45129 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
45130 source/common/vec/utils.h, source/encoder/bitcost.cpp,
45131 source/encoder/bitcost.h, source/encoder/encoder.cpp,
45132 source/encoder/encoder.h, source/encoder/motion.cpp,
45133 source/input/y4m.cpp, source/input/yuv.cpp,
45134 source/output/output.cpp, source/output/output.h,
45135 source/output/y4m.cpp, source/output/yuv.cpp, source/output/yuv.h,
45136 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
45137 source/test/pixelharness.cpp, source/test/testbench.cpp,
45138 source/test/testharness.h, source/tools/dr_psnr/PsnrCalculator.h,
45139 source/tools/dr_psnr/SSIMCalculator.h, source/x265.cpp,
45140 source/x265.h, source/x265opts.h:
45141 uncrustify: catch up with several weeks of drift
45142 [b68cb1eaef6d]
45143
45144 * source/Lib/TLibEncoder/TEncSearch.cpp:
45145 Merge
45146 [a35eae69f1a8]
45147
45148 * source/Lib/TLibEncoder/TEncGOP.cpp,
45149 source/Lib/TLibEncoder/TEncGOP.h,
45150 source/Lib/TLibEncoder/TEncSlice.h:
45151 white-space nits
45152 [b2327bb6131d]
45153
45154 * source/Lib/TLibEncoder/TEncCu.h:
45155 TEncCu: nits
45156 [f56bc8f415de]
45157
45158 * source/Lib/TLibEncoder/TEncSearch.cpp,
45159 source/Lib/TLibEncoder/TEncSearch.h,
45160 source/Lib/TLibEncoder/TEncTop.cpp:
45161 TEncSearch: reduce argument count for TEncSearch::Init() (it can
45162 read)
45163 [c163638bc616]
45164
45165 * source/Lib/TLibEncoder/TEncCfg.h:
45166 TEncCfg: add accessors for all ME data
45167 [227956601381]
45168
45169 * source/Lib/TLibEncoder/TEncTop.h:
45170 TEncTop: white-space nits
45171 [3a35f88c6dc4]
45172
45173 * source/Lib/TLibEncoder/TEncTop.cpp,
45174 source/Lib/TLibEncoder/TEncTop.h:
45175 TEncTop: remove xInitPPSforTiles
45176 [ab72ab85c51d]
45177
45178 * source/Lib/TLibEncoder/TEncSearch.cpp,
45179 source/Lib/TLibEncoder/TEncSearch.h:
45180 TEncSearch: remove xTZ8PointSquareSearch
45181 [8ff79cf0335e]
45182
45183 * source/Lib/TLibEncoder/TEncSearch.cpp:
45184 TEncSlice: more white-space nits
45185 [ade13761b5d4]
45186
45187 * source/Lib/TLibEncoder/TEncSearch.cpp:
45188 TEncSearch: fixup commit
45189 [d4e1b147c8aa]
45190
45191 * source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h:
45192 Move DFunc enum from TypeDef.h to TComRdCost.h
45193 [42efb06e0617]
45194
45195 * source/Lib/TLibEncoder/TEncSearch.cpp:
45196 TEncSearch: add a note for future optimization
45197 [5bfad71d2e69]
45198
45199 * source/Lib/TLibCommon/TypeDef.h,
45200 source/Lib/TLibEncoder/TEncSearch.cpp,
45201 source/Lib/TLibEncoder/TEncSearch.h:
45202 Remove HHI_RQT_INTRA_SPEEDUP, HHI_RQT_INTRA_SPEEDUP_MOD. Assume
45203 current values
45204 [9a12626cc6cc]
45205
45206 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TypeDef.h,
45207 source/Lib/TLibEncoder/TEncSearch.cpp:
45208 Remove FAST_UDI_USE_MPM, always enabled
45209 [7893e9388d61]
45210
45211 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncTop.cpp:
45212 Remove WRITE_BACK define, always enabled
45213 [e2674be0bcce]
45214
45215 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
45216 source/Lib/TLibEncoder/TEncTop.cpp:
45217 Remove AUTO_INTER_RPS define, always enabled
45218 [d74b6ff8128a]
45219
45220 * source/Lib/TLibEncoder/TEncTop.cpp,
45221 source/Lib/TLibEncoder/TEncTop.h:
45222 TEncTop: remove redundant m_uiNumSubstreams
45223 [dce2e6e926e4]
45224
45225 * source/Lib/TLibEncoder/TEncSlice.cpp,
45226 source/Lib/TLibEncoder/TEncTop.cpp,
45227 source/Lib/TLibEncoder/TEncTop.h:
45228 TEncTop: prep cleanup, remove unused m_cRDGoOnSbacCoder
45229 [75d7c30ceb8b]
45230
45231 2013-06-04 Deepthi <Deepthi>
45232
45233 * source/Lib/TLibEncoder/TEncSearch.cpp:
45234 xAddSymbolBitsInter: part replacement of entropy estimate
45235 [7e4e05cc36e1]
45236
45237 * source/Lib/TLibEncoder/TEncSearch.cpp:
45238 Replacing zeroResidual mode bit estimate
45239 [1a1185fbe376]
45240
45241 2013-06-03 Deepthi <Deepthi>
45242
45243 * source/Lib/TLibEncoder/TEncSearch.cpp:
45244 Replacing entropy estimate for Skip.
45245 [7ad86922e1a9]
45246
45247 2013-06-03 Steve Borho <steve@borho.org>
45248
45249 * source/Lib/TLibEncoder/TEncSbac.h,
45250 source/Lib/TLibEncoder/TEncSlice.cpp:
45251 TEncSlice: more white-space nits
45252 [4b42318dec1c]
45253
45254 * source/Lib/TLibEncoder/TEncSearch.cpp:
45255 TEncSearch: white-space nits
45256 [29258a2b78e8]
45257
45258 2013-06-03 Min Chen <chenm003@163.com>
45259
45260 * source/common/vec/intrapred.inc:
45261 [review] more performance implement on predIntraPlanar4_sse4
45262 --- source/common/vec/intrapred.inc | 48
45263 ++++++++++++++++++++------------------ 1 files changed, 25
45264 insertions(+), 23 deletions(-)
45265 [65305cf315ae]
45266
45267 * source/common/vec/intrapred.inc:
45268 [review] instrinsic predIntraPlanar64_sse4
45269 --- source/common/vec/intrapred.inc | 126
45270 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 121
45271 insertions(+), 5 deletions(-)
45272 [f5aef2183b11]
45273
45274 * source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
45275 [review] instrinsic predIntraPlanar32_sse4
45276 --- source/common/vec/intrapred.inc | 82
45277 ++++++++++++++++++++++++++++++++++++++
45278 source/test/intrapredharness.cpp | 6 +- 2 files changed, 85
45279 insertions(+), 3 deletions(-)
45280 [b1be1b00a939]
45281
45282 * source/common/vec/intrapred.inc:
45283 [review] instrinsic predIntraPlanar16_sse4
45284 --- source/common/vec/intrapred.inc | 97
45285 ++++++++++++--------------------------- 1 files changed, 30
45286 insertions(+), 67 deletions(-)
45287 [58046661809b]
45288
45289 * source/common/vec/intrapred.inc:
45290 [review] instrinsic predIntraPlanar16_sse4, performance
45291 --- source/common/vec/intrapred.inc | 112
45292 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 110
45293 insertions(+), 2 deletions(-)
45294 [3265a3e7a60f]
45295
45296 * source/common/vec/intrapred.inc:
45297 [review] instrinsic predIntraPlanar8_sse4
45298 --- source/common/vec/intrapred.inc | 79
45299 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 77
45300 insertions(+), 2 deletions(-)
45301 [5c6fca239875]
45302
45303 2013-06-03 Steve Borho <steve@borho.org>
45304
45305 * source/Lib/TLibEncoder/TEncSearch.cpp:
45306 TencSearch: fix bit counting
45307 [f96db0f0e705]
45308
45309 * source/common/vec/pixel8.inc:
45310 pixel: use real ints in vector code
45311 [a22994d345a4]
45312
45313 * source/Lib/TLibCommon/TComRdCost.cpp,
45314 source/Lib/TLibCommon/TComRdCost.h,
45315 source/Lib/TLibEncoder/TEncSearch.cpp:
45316 backout changes to TComRdCost, this file cannot use primitives.
45317 [fd2d0932ed34]
45318
45319 * Merged in ggopu/gopu_xhevc (pull request #180)
45320
45321 * m_pcRdCost->getBits() replaced with BitCost.mvcost
45322 [609ae722f590]
45323
45324 2013-06-03 ggopu <ggopu>
45325
45326 * source/Lib/TLibCommon/TComRdCost.cpp,
45327 source/Lib/TLibCommon/TComRdCost.h,
45328 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
45329 source/common/primitives.h, source/common/vec/pixel.inc,
45330 source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
45331 * m_pcRdCost->getBits() replaced with BitCost.mvcost
45332 * Fixed other code blocks calling non-primitive SAD functions (crashes
45333 at sad8 - for load_a whereas works with just load)
45334 * Primitives for SSE functions
45335 [dedd1f39ae61]
45336
45337 2013-06-03 Steve Borho <steve@borho.org>
45338
45339 * Merged in deepthidevaki/xhevc_deepthid (pull request #179)
45340
45341 Enabled Intra Angular 16x16 in testbench
45342 [ae67119947c0]
45343
45344 2013-06-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45345
45346 * Merged multicoreware/xhevc into default
45347 [b6298df4010a]
45348
45349 2013-06-03 Deepthi Devaki <Deepthi Devaki>
45350
45351 * source/test/intrapredharness.cpp:
45352 Enabled Intra Angular 16x16 in testbench
45353 [8e85d566d172]
45354
45355 2013-06-03 Deepthi <Deepthi>
45356
45357 * Merge
45358 [e521c7751844]
45359
45360 * source/Lib/TLibEncoder/TEncSearch.cpp:
45361 FMD - Bug fix
45362 [06dc1c8c186f]
45363
45364 * source/Lib/TLibEncoder/TEncCu.cpp:
45365 Making RDO optional
45366 [ad3f6e8fd032]
45367
45368 2013-06-03 Steve Borho <steve@borho.org>
45369
45370 * source/common/vec/CMakeLists.txt:
45371 cmake: add missing ipfilter-avx.cpp
45372 [681eabf8a086]
45373
45374 * source/common/vec/CMakeLists.txt:
45375 cmake: add new foo-avx.cpp files to -mavx properties list
45376 [ce989de34742]
45377
45378 * source/common/vec/intrapred.inc:
45379 intrapred: add include for smmintrin.h
45380 [755d91c1e921]
45381
45382 * source/common/vec/vec-primitives.cpp:
45383 vec: allow VC9 and VC10 to use SSE4 primitives
45384 [ffe0f4fb6980]
45385
45386 * source/VectorClass/vectori128.h, source/common/vec/intra-avx.cpp,
45387 source/common/vec/intra-sse42.cpp:
45388 vec: enable __forceinline for higher arches of intra primitives
45389 [b4ed502f10e5]
45390
45391 * source/common/vec/CMakeLists.txt, source/common/vec/ipfilter-
45392 avx.cpp, source/common/vec/ipfilter-avx2.cpp, source/common/vec
45393 /ipfilter-sse2.cpp, source/common/vec/ipfilter-sse3.cpp,
45394 source/common/vec/ipfilter-sse41.cpp, source/common/vec/ipfilter-
45395 sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
45396 source/common/vec/ipfilter.inc, source/common/vec/vecprimitives.inc:
45397 vec: split ipfilter primitives into their own C++ files
45398 [ecaeb658c41f]
45399
45400 * source/common/vec/CMakeLists.txt, source/common/vec/intra-avx.cpp,
45401 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse2.cpp,
45402 source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp,
45403 source/common/vec/intra-sse42.cpp, source/common/vec/intra-
45404 ssse3.cpp, source/common/vec/intrapred.inc,
45405 source/common/vec/vecprimitives.inc:
45406 vec: split intra primitives into their own C++ files
45407 [8a3b623143e7]
45408
45409 * source/common/vec/CMakeLists.txt, source/common/vec/pixel-avx.cpp,
45410 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
45411 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
45412 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
45413 ssse3.cpp, source/common/vec/pixel.inc,
45414 source/common/vec/pixel16.inc, source/common/vec/utils.h,
45415 source/common/vec/vecprimitives.inc:
45416 vec: split pixel primitives into their own C++ files
45417 [d7b8280f744a]
45418
45419 2013-06-03 ShinYee Chung <shinyee@multicorewareinc.com>
45420
45421 * source/x265.cpp:
45422 cmd: Fix segfault when an unrecognized option is given on the
45423 command line.
45424 [d4363da9df37]
45425
45426 2013-06-02 Min Chen <chenm003@163.com>
45427
45428 * source/common/vec/intrapred.inc:
45429 [review] instrinsic predIntraPlanar4_sse4
45430 --- source/common/vec/intrapred.inc | 59
45431 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 59
45432 insertions(+), 0 deletions(-)
45433 [598fa5788632]
45434
45435 * source/common/vec/intrapred.inc:
45436 intrapred: optimize by func_ptr in predIntraPlanar
45437 --- source/common/vec/intrapred.inc | 59
45438 ++++++++++++++++++-------------------- 1 files changed, 28
45439 insertions(+), 31 deletions(-)
45440 [9737e9d6ba9e]
45441
45442 * source/common/vec/CMakeLists.txt:
45443 Enable SSE4 on VC9
45444 --- source/common/vec/CMakeLists.txt | 10 +++------- 1 files changed,
45445 3 insertions(+), 7 deletions(-)
45446 [ddfcdb3e6815]
45447
45448 * source/common/vec/intrapred.inc:
45449 intrapred: simple predIntraPlanar4 by macro
45450 --- source/common/vec/intrapred.inc | 49
45451 ++++++++++++--------------------------- 1 files changed, 15
45452 insertions(+), 34 deletions(-)
45453 [43dc6a7f95cc]
45454
45455 * source/common/vec/intrapred.inc:
45456 miss some authors
45457 --- source/common/vec/intrapred.inc | 3 +++ 1 files changed, 3
45458 insertions(+), 0 deletions(-)
45459 [f17187830a01]
45460
45461 2013-06-01 Steve Borho <steve@borho.org>
45462
45463 * source/x265.cpp:
45464 x265: use output frame counts for progress reports
45465
45466 This actually makes them less accurate in the short term because of
45467 the GOP cadence of the encode function. but it is more correct from
45468 a code logic point of view.
45469 [0abd8ed72c32]
45470
45471 * source/encoder/encoder.cpp:
45472 encoder: pull recon images from queue even when not requested
45473
45474 When the app wasn't requesting recon images, they were queueing
45475 indefinitely in m_cListRecQueue (not quite as bad as it seems, it
45476 only queues pointers and the buffers are recycled). And it's was
45477 always returning 0 for iNumEncoded, which was bad.
45478 [e93dce2aaf48]
45479
45480 * source/encoder/motion.cpp, source/encoder/motion.h:
45481 motion: rename StarSearch to StarPatternSearch, make inline
45482 [c7d3dbce14c8]
45483
45484 * source/encoder/motion.cpp:
45485 motion: fixup comments, remove tabs, simplify some macros
45486 [016c61125c55]
45487
45488 * source/Lib/TLibCommon/TComRom.h:
45489 TComRom: remove unused extern
45490 [ca6ac5ea20bd]
45491
45492 * source/encoder/motion.h:
45493 motion: use sadStride in helper functions
45494 [c70e2aff8caa]
45495
45496 2013-06-01 Mandar Gurav <Mandar Gurav>
45497
45498 * source/encoder/motion.cpp:
45499 motion: use sad_x4 in star Search for dist = 1.
45500 [20a701e4a753]
45501
45502 * source/common/common.h:
45503 motion: ME cycle count- Print lld
45504 [4413954b9a14]
45505
45506 * source/encoder/motion.cpp, source/encoder/motion.h:
45507 motion: TwoPoint search manually inlined. Now, exe_time_SUBSAMPLE_1
45508 < exe_time_SUBSAMPLE_0.
45509 [8d0a2281093e]
45510
45511 * source/common/common.h:
45512 motion: Print Total Cycle count also. Avg. Cycle count doesn't give
45513 exact idea of performance - since num_calls_SUBSAMPLE_0 !=
45514 num_calls_SUBSAMPLE_1.
45515 [5e5988fad642]
45516
45517 * source/encoder/motion.cpp, source/encoder/motion.h:
45518 motion: Replace "stride << subsample" with "sadStride".
45519 [2a19d8945ddd]
45520
45521 * source/Lib/TLibCommon/TComRom.h:
45522 Merge conflict: Copy files directly from xhevc main repo. part 4
45523 [e902484772b1]
45524
45525 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
45526 source/Lib/TLibEncoder/TEncAnalyze.h:
45527 Merge conflict: Copy files directly from xhevc main repo. part 3
45528 [65463235027f]
45529
45530 2013-05-31 Mandar Gurav <mandar@multicorewareinc.com>
45531
45532 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, cfg/per-
45533 sequence/BQMall.cfg, cfg/per-sequence/BQSquare.cfg, cfg/per-
45534 sequence/BQTerrace.cfg, cfg/per-sequence/BasketballDrill.cfg, cfg
45535 /per-sequence/BasketballDrillText.cfg, cfg/per-
45536 sequence/BasketballDrive.cfg, cfg/per-sequence/BasketballPass.cfg,
45537 cfg/per-sequence/BlowingBubbles.cfg, cfg/per-sequence/Cactus.cfg,
45538 cfg/per-sequence/ChinaSpeed.cfg, cfg/per-sequence/FourPeople.cfg,
45539 cfg/per-sequence/Johnny.cfg, cfg/per-sequence/Kimono.cfg, cfg/per-
45540 sequence/KristenAndSara.cfg, cfg/per-
45541 sequence/NebutaFestival_10bit.cfg, cfg/per-sequence/ParkScene.cfg,
45542 cfg/per-sequence/PartyScene.cfg, cfg/per-
45543 sequence/PeopleOnStreet.cfg, cfg/per-sequence/RaceHorses.cfg, cfg
45544 /per-sequence/RaceHorsesC.cfg, cfg/per-sequence/SlideEditing.cfg,
45545 cfg/per-sequence/SlideShow.cfg, cfg/per-
45546 sequence/SteamLocomotiveTrain_10bit.cfg, cfg/per-
45547 sequence/Traffic.cfg, cfg/per-sequence/Vidyo1.cfg, cfg/per-
45548 sequence/Vidyo3.cfg, cfg/per-sequence/Vidyo4.cfg,
45549 source/Lib/CMakeLists.txt,
45550 source/Lib/TAppCommon/program_options_lite.cpp,
45551 source/Lib/TAppCommon/program_options_lite.h,
45552 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
45553 source/Lib/TLibEncoder/TEncAnalyze.h,
45554 source/Lib/TLibEncoder/TEncSearch.cpp,
45555 source/TestForChecking_BadCommit.bat, source/encoder/IntraPred.cpp,
45556 source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h,
45557 source/encoder/butterfly.h, source/encoder/common.cpp,
45558 source/encoder/common.h, source/encoder/ipfilter.cpp,
45559 source/encoder/macroblock.cpp, source/encoder/md5.cpp,
45560 source/encoder/md5.h, source/encoder/motion.cpp,
45561 source/encoder/motion.h, source/encoder/pixel.cpp,
45562 source/encoder/primitives.cpp, source/encoder/primitives.h,
45563 source/encoder/threading.cpp, source/encoder/threading.h,
45564 source/encoder/threadpool.cpp, source/encoder/threadpool.h,
45565 source/encoder/vec/CMakeLists.txt, source/encoder/vec/avx.cpp,
45566 source/encoder/vec/avx2.cpp, source/encoder/vec/blockcopy.inc,
45567 source/encoder/vec/intrapred.inc, source/encoder/vec/ipfilter.inc,
45568 source/encoder/vec/ipfilter16.inc, source/encoder/vec/ipfilter8.inc,
45569 source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
45570 source/encoder/vec/pixel16.inc, source/encoder/vec/pixel8.inc,
45571 source/encoder/vec/sse2.cpp, source/encoder/vec/sse3.cpp,
45572 source/encoder/vec/sse41.cpp, source/encoder/vec/sse42.cpp,
45573 source/encoder/vec/ssse3.cpp, source/encoder/vec/vec-primitives.cpp,
45574 source/encoder/vec/vecprimitives.inc,
45575 source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
45576 primitives.cpp, source/encoder/x86/const-a.asm,
45577 source/encoder/x86/cpu-a.asm, source/encoder/x86/pixel-32.asm,
45578 source/encoder/x86/pixel-a.asm, source/encoder/x86/pixel.h,
45579 source/encoder/x86/sad-a.asm, source/encoder/x86/x86inc.asm,
45580 source/encoder/x86/x86util.asm, source/x265cfg.cpp,
45581 source/x265cfg.h, source/x265enc.cpp, source/x265enc.h,
45582 source/x265main.cpp:
45583 Merged multicoreware/xhevc into default
45584 [2871d75ffb73]
45585
45586 2013-06-01 Mandar Gurav <Mandar Gurav>
45587
45588 * source/Lib/TLibEncoder/TEncSearch.cpp,
45589 source/Lib/TLibEncoder/TEncSearch.h:
45590 Merge conflict: Copy files directly from xhevc main repo. part 2
45591 [c446638cb8c0]
45592
45593 2013-06-01 ggopu <ggopu>
45594
45595 * source/encoder/motion.cpp, source/encoder/motion.h:
45596 Merge conflict: Copy files directly from xhevc main repo.
45597 [6272284d8ce0]
45598
45599 2013-05-23 Mandar Gurav <mandar@multicorewareinc.com>
45600
45601 * source/encoder/motion.cpp:
45602 Merged multicoreware/xhevc into default
45603 [53497b61c0ac]
45604
45605 2013-05-24 ggopu <ggopu>
45606
45607 * build/nmake/make-solutions.bat, source/Lib/TLibCommon/TComRom.cpp,
45608 source/Lib/TLibCommon/TComRom.h,
45609 source/Lib/TLibEncoder/TEncAnalyze.h,
45610 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp:
45611 Merge
45612 [b224e58a7f8b]
45613
45614 2013-05-23 ggopu <ggopu>
45615
45616 * source/Lib/TLibEncoder/TEncSearch.cpp:
45617 Backed out changeset: 06fa58c2176d
45618 [effd80b01d39]
45619
45620 2013-05-31 Steve Borho <steve@borho.org>
45621
45622 * source/encoder/encoder.cpp:
45623 encoder: do not allow GOP size to be less than 1
45624 [984eb5329bef]
45625
45626 * source/Lib/TLibCommon/TComTrQuant.cpp:
45627 TrComQuant: remove unused variable, fix GCC warnings
45628 [2125b36b8ae6]
45629
45630 2013-05-30 Steve Borho <steve@borho.org>
45631
45632 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, cfg/per-
45633 sequence/BQMall.cfg, cfg/per-sequence/BQSquare.cfg, cfg/per-
45634 sequence/BQTerrace.cfg, cfg/per-sequence/BasketballDrill.cfg, cfg
45635 /per-sequence/BasketballDrillText.cfg, cfg/per-
45636 sequence/BasketballDrive.cfg, cfg/per-sequence/BasketballPass.cfg,
45637 cfg/per-sequence/BlowingBubbles.cfg, cfg/per-sequence/Cactus.cfg,
45638 cfg/per-sequence/ChinaSpeed.cfg, cfg/per-sequence/FourPeople.cfg,
45639 cfg/per-sequence/Johnny.cfg, cfg/per-sequence/Kimono.cfg, cfg/per-
45640 sequence/KristenAndSara.cfg, cfg/per-
45641 sequence/NebutaFestival_10bit.cfg, cfg/per-sequence/ParkScene.cfg,
45642 cfg/per-sequence/PartyScene.cfg, cfg/per-
45643 sequence/PeopleOnStreet.cfg, cfg/per-sequence/RaceHorses.cfg, cfg
45644 /per-sequence/RaceHorsesC.cfg, cfg/per-sequence/SlideEditing.cfg,
45645 cfg/per-sequence/SlideShow.cfg, cfg/per-
45646 sequence/SteamLocomotiveTrain_10bit.cfg, cfg/per-
45647 sequence/Traffic.cfg, cfg/per-sequence/Vidyo1.cfg, cfg/per-
45648 sequence/Vidyo3.cfg, cfg/per-sequence/Vidyo4.cfg,
45649 source/CMakeLists.txt,
45650 source/Lib/TAppCommon/program_options_lite.cpp,
45651 source/Lib/TAppCommon/program_options_lite.h, source/x265cfg.cpp,
45652 source/x265cfg.h, source/x265enc.cpp, source/x265enc.h,
45653 source/x265main.cpp:
45654 x265-cli: remove old CLI program and config files
45655
45656 old command line: x265-cli -i Vidyo4.yuv -c cfg/encoder_I_15P.cfg -c
45657 cfg/per-sequence/Vidyo4.cfg -b out.hevc new command line: x265
45658 Vidyo4.y4m out.hevc
45659
45660 old command line: x265-cli -i Vidyo4.yuv -c cfg/encoder_all_I.cfg -c
45661 cfg/per-sequence/Vidyo4.cfg -b out.hevc new command line: x265
45662 Vidyo4.y4m out.hevc --sao -i 1
45663 [cda100c6417f]
45664
45665 2013-05-31 Steve Borho <steve@borho.org>
45666
45667 * source/encoder/encoder.cpp:
45668 encoder: add "-i 32" hack to select "encoder_randomaccess_main"
45669 config from hm
45670
45671 Also requires enabling --rect --amp --sao to match the output of
45672 that config file.
45673 [3136a4b62f03]
45674
45675 2013-05-30 Steve Borho <steve@borho.org>
45676
45677 * source/encoder/encoder.cpp:
45678 encoder: be explicit about slice type
45679 [4414841e3211]
45680
45681 * source/x265.cpp:
45682 x265: fix warnings hidden by old x265-cli project
45683 [192da7e89c14]
45684
45685 2013-05-31 Steve Borho <steve@borho.org>
45686
45687 * source/common/vec/CMakeLists.txt:
45688 cmake: fix another set_source_files problem
45689 [8d6efac63424]
45690
45691 * source/common/vec/CMakeLists.txt:
45692 cmake: avoid warnings from x64 MSVC compilers
45693
45694 x64 implies at least SSE4, and gets tetchy when you say /arch:SSE2
45695 Previously, the set_source_files_properties line was busted by a bad
45696 cut-paste
45697 [633b668d6c47]
45698
45699 2013-05-31 Min Chen <chenm003@163.com>
45700
45701 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
45702 source/common/vec/pixel.inc:
45703 optimize by convert32to16_shr
45704 --- source/Lib/TLibCommon/TComTrQuant.cpp | 5 +----
45705 source/common/primitives.h | 2 ++ source/common/vec/pixel.inc | 24
45706 ++++++++++++++++++++++-- 3 files changed, 25 insertions(+), 6
45707 deletions(-)
45708 [f70b88137438]
45709
45710 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
45711 source/common/vec/pixel.inc:
45712 optimize by convert16to32_shl
45713 --- source/Lib/TLibCommon/TComTrQuant.cpp | 17 ++++++++++++++---
45714 source/common/primitives.h | 2 ++ source/common/vec/pixel.inc | 18
45715 ++++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-)
45716 [525a8ad9e244]
45717
45718 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
45719 source/common/vec/pixel.inc:
45720 optimize by convert32to16
45721 --- source/Lib/TLibCommon/TComTrQuant.cpp | 5 +----
45722 source/common/primitives.h | 2 ++ source/common/vec/pixel.inc | 19
45723 +++++++++++++++++++ 3 files changed, 22 insertions(+), 4
45724 deletions(-)
45725 [49856ba4303c]
45726
45727 * source/Lib/TLibCommon/TComTrQuant.cpp:
45728 TComTrQuant::xT: replace for_loop by memcpy()
45729 --- source/Lib/TLibCommon/TComTrQuant.cpp | 15 ++++----------- 1
45730 files changed, 4 insertions(+), 11 deletions(-)
45731 [060e49a8383d]
45732
45733 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
45734 source/common/vec/pixel.inc:
45735 optimize by convert16to32
45736 --- source/Lib/TLibCommon/TComTrQuant.cpp | 9 +++++----
45737 source/common/primitives.h | 3 +++ source/common/vec/pixel.inc | 20
45738 ++++++++++++++++++++ 3 files changed, 28 insertions(+), 4
45739 deletions(-)
45740 [ec636f543969]
45741
45742 * source/encoder/wavefront.cpp:
45743 thread: bits matches to HM when single thread
45744 --- source/encoder/wavefront.cpp | 11 ++++++++--- 1 files changed, 8
45745 insertions(+), 3 deletions(-)
45746 [fa49682780e3]
45747
45748 * source/common/vec/macroblock.inc:
45749 fix bug on VC9-x86
45750 --- source/common/vec/macroblock.inc | 87
45751 +++++++++++++++++++++++++------------ 1 files changed, 59
45752 insertions(+), 28 deletions(-)
45753 [61dc8cf0acdd]
45754
45755 2013-05-31 Deepthi Devaki <Deepthi Devaki>
45756
45757 * source/Lib/TLibEncoder/TEncSearch.cpp:
45758 Fix for 8bpp & 16bpp output mismatch
45759 [ce4d663b31d7]
45760
45761 2013-05-31 ShinYee Chung <shinyee@multicorewareinc.com>
45762
45763 * source/Lib/TLibEncoder/TEncSearch.cpp:
45764 TEncSearch: Disable set but not used variables (-Werror=unused-but-
45765 set-variable).
45766 [4c7879f51a14]
45767
45768 * source/common/common.cpp:
45769 Common: Fix compile error -Werror=write-strings.
45770 [e73b996e121d]
45771
45772 2013-05-30 Steve Borho <steve@borho.org>
45773
45774 * source/common/vec/ipfilter8.inc:
45775 ipfilter: work around unaligned data copies generated by VC9 (from
45776 Min Chen)
45777 [05e0b5742adb]
45778
45779 2013-05-31 ShinYee Chung <shinyee@multicorewareinc.com>
45780
45781 * source/x265.cpp:
45782 x265: Fix compile issue due to -Wwrite-strings and undeclared
45783 va_start() and va_end().
45784 [4dfbf564c772]
45785
45786 2013-05-30 Steve Borho <steve@borho.org>
45787
45788 * source/test/mbdstharness.cpp:
45789 dequant: fix a test bench typo
45790 [c7b53fb8146d]
45791
45792 * source/x265.cpp, source/x265opts.h:
45793 x265: make input/output bit depths function local to parse method,
45794 fix eoln
45795 [e7d3e278ba1c]
45796
45797 * source/x265cfg.cpp:
45798 x265cfg: set default log level for x265-cli to "debug"
45799 [1dab28c7dbda]
45800
45801 * source/x265.cpp:
45802 x265: add a CTRL+C handler
45803 [a8b7be978131]
45804
45805 * source/Lib/TLibEncoder/TEncCfg.h,
45806 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp,
45807 source/x265enc.cpp:
45808 TEncGOP: show per-frame statistics at log level X265_LOG_DEBUG
45809 [be3ba8d41623]
45810
45811 * source/Lib/TLibEncoder/TEncTop.cpp,
45812 source/Lib/TLibEncoder/TEncTop.h, source/common/common.cpp,
45813 source/common/common.h, source/common/primitives.cpp,
45814 source/common/primitives.h, source/encoder/encoder.cpp,
45815 source/test/testbench.cpp, source/x265.cpp, source/x265.h,
45816 source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp,
45817 source/x265opts.h:
45818 x265: use x265_log when initializing primitives and thread pool
45819
45820 * removes thread pool pointer from CLI apps, encoders initialize it
45821 now
45822 * thread pool size validation moved to x265_check_params()
45823 [55c353b046a1]
45824
45825 * source/common/common.cpp, source/x265.cpp, source/x265.h,
45826 source/x265opts.h:
45827 x265: introduce x265_param_t.logLevel, and x265_log()
45828 [cb9129046937]
45829
45830 * source/x265.h:
45831 x265: fixup comment for iWaveFrontSynchro
45832 [7bb9d9960526]
45833
45834 * source/x265.cpp, source/x265.h, source/x265opts.h:
45835 x265: introduce the concept of log levels
45836 [e7e934f1aed9]
45837
45838 * source/x265.h:
45839 x265: prune unused bits of public header
45840 [d6c0d17e7c87]
45841
45842 * source/Lib/TLibEncoder/TEncGOP.cpp, source/x265.cpp:
45843 x265: add x264 style progress reporting, kbps numbers differ from HM
45844 [8d9f188a7219]
45845
45846 * source/common/threadpool.cpp, source/common/threadpool.h,
45847 source/x265.cpp:
45848 threadpool: report thread pool size, fix bug with CPU count auto-
45849 detect
45850 [dddd03cf7b26]
45851
45852 * source/CMakeLists.txt:
45853 cmake: remove short-lived openmp compile flags
45854 [0a300add8bc5]
45855
45856 2013-05-30 ShinYee Chung <shinyee@multicorewareinc.com>
45857
45858 * source/x265.cpp, source/x265cfg.cpp:
45859 Config: Force the threadpool to be single threaded when wavefront is
45860 disabled.
45861 [6b1b567da72c]
45862
45863 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/CMakeLists.txt:
45864 WPP: Use the threadpool based wavefront parallel processing module.
45865 [00c1977b8709]
45866
45867 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
45868 WPP: Module for wavefront parallelization using threadpool.
45869 [fe2556ffffff]
45870
45871 * source/Lib/TLibEncoder/TEncTop.h:
45872 TLibEncoder: Add threadpool accessor to TEncTop.
45873 [2730479ce267]
45874
45875 2013-05-30 Steve Borho <steve@borho.org>
45876
45877 * source/encoder/motion.cpp:
45878 motion: fix a bug introduced in last commit
45879 [c853140e23c9]
45880
45881 * source/encoder/motion.cpp:
45882 motion: two more SAD calls that were missed
45883 [b9e8e9d51890]
45884
45885 * source/encoder/motion.cpp:
45886 motion: fix a missed raw call to a sad() primitive
45887 [08dd67222b97]
45888
45889 * source/encoder/motion.cpp, source/encoder/motion.h:
45890 motion: minor cleanups, no behavior changes
45891 [6f32a8ba24b0]
45892
45893 * source/encoder/motion.cpp:
45894 motion: else clause of primitive setup must always be compiled in
45895
45896 This fixes some of the broken-ness when SUBSAMPLE_SAD is enabled
45897 [4d77283b0129]
45898
45899 * source/encoder/motion.cpp, source/encoder/motion.h:
45900 motion: remove unused blockWidth and blockHeight
45901 [d7ec2b5e1519]
45902
45903 * Merged in ggopu/gopu_xhevc (pull request #176)
45904
45905 Motion: implemented subsampling SAD when the block height is greater
45906 than 12
45907 [d67eed484a46]
45908
45909 2013-05-30 ggopu <ggopu>
45910
45911 * source/encoder/motion.cpp, source/encoder/motion.h:
45912 Motion: implemented subsampling SAD when the block height is greater
45913 than 12
45914 [7d87f713971f]
45915
45916 2013-05-30 Gopu G <gopu@multicorewareinc.com>
45917
45918 * Merged multicoreware/xhevc into default
45919 [29850cefbec9]
45920
45921 2013-05-29 Gopu G <gopu@multicorewareinc.com>
45922
45923 * source/encoder/motion.cpp:
45924 Merged multicoreware/xhevc into default
45925 [824c2ddca305]
45926
45927 2013-05-30 ggopu <ggopu>
45928
45929 * source/encoder/motion.cpp:
45930 Conflict
45931 [edc303ed7859]
45932
45933 2013-05-29 ggopu <ggopu>
45934
45935 * source/encoder/motion.cpp:
45936 Motion: raster search refinement - sad_x4 Implementation
45937 [d8ac001a7730]
45938
45939 2013-05-30 Steve Borho <steve@borho.org>
45940
45941 * source/common/primitives.cpp, source/common/primitives.h,
45942 source/common/x86/README.txt, source/common/x86/asm-primitives.cpp,
45943 source/common/x86/pixel-a.asm, source/common/x86/pixel.h,
45944 source/common/x86/x86inc.asm:
45945 asm: rebrand x264 assembly functions with x265_ to avoid static link
45946 collisions
45947
45948 x265 compiles the routines with a different FENC_STRIDE, so they
45949 cannot have the same names as the x264 routines else x264 may break
45950 when linked together with x265 in the same application.
45951 [3b4597a6a66b]
45952
45953 2013-05-30 Deepthi <Deepthi>
45954
45955 * Merge
45956 [d0242a8f6c60]
45957
45958 2013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
45959
45960 * Merged multicoreware/xhevc into default
45961 [2a5bfbaa64c1]
45962
45963 2013-05-30 praveentiwari <praveentiwari>
45964
45965 * source/test/mbdstharness.cpp:
45966 Modified unit test
45967 [369944997be0]
45968
45969 2013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
45970
45971 * Merged multicoreware/xhevc into default
45972 [f4a49e8bc939]
45973
45974 2013-05-30 praveentiwari <praveentiwari>
45975
45976 * source/test/mbdstharness.cpp:
45977 More comprehensive unit test code for xDeQuant.
45978 [e7f272bfe95a]
45979
45980 2013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
45981
45982 * Merged multicoreware/xhevc into default
45983 [4fe41d6eced6]
45984
45985 2013-05-29 praveentiwari <praveentiwari>
45986
45987 * source/common/vec/macroblock.inc:
45988 Vector code for xDeQuant function
45989 [71119aff0eb0]
45990
45991 2013-05-29 praveen Tiwari <praveen@multicorewareinc.com>
45992
45993 * Merged multicoreware/xhevc into default
45994 [c94a23b37846]
45995
45996 2013-05-29 praveentiwari <praveentiwari>
45997
45998 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp:
45999 Shorten the variable names
46000 [32326bb746ae]
46001
46002 2013-05-29 praveen Tiwari <praveen@multicorewareinc.com>
46003
46004 * Merged multicoreware/xhevc into default
46005 [92fa5bc97c93]
46006
46007 * Merged multicoreware/xhevc into default
46008 [d0a255af3f3b]
46009
46010 2013-05-29 praveentiwari <praveentiwari>
46011
46012 * source/common/macroblock.cpp:
46013 C primitive for xDeQuant function
46014 [40b64d61b0ac]
46015
46016 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
46017 Test code for xDeQuant
46018 [0f58120670fe]
46019
46020 * source/common/primitives.h:
46021 Added function pointer typedef for xDeQuant in primitives.h file
46022 [f82cb9a78b0a]
46023
46024 * source/Lib/TLibCommon/TComTrQuant.cpp:
46025 Added a switch and modified argument list for xDeQuant to break
46026 dependecy from other member variable and functions
46027 [28de65cc3e50]
46028
46029 2013-05-30 Deepthi <Deepthi>
46030
46031 * Merge
46032 [8c8f8d931100]
46033
46034 * source/Lib/TLibEncoder/TEncSearch.cpp:
46035 RDO: new version for fast mode decision
46036 [e7ca54f292cb]
46037
46038 2013-05-30 Steve Borho <steve@borho.org>
46039
46040 * source/common/common.cpp:
46041 common: prevent a known-broken configuration (wpp+aqselect)
46042 [4c56f1b1c190]
46043
46044 * source/x265opts.h:
46045 x265opts: disable --depth when compiled for 8bpp, make --wpp a
46046 boolean flag
46047 [f02a5ddfe1d4]
46048
46049 * source/common/common.cpp:
46050 common: give log indication when FAST_MODE_DECISION has been
46051 compiled in
46052 [51cea626fc5c]
46053
46054 * source/common/common.cpp:
46055 common: show rect and amp options when enabled
46056 [2b1b890ae098]
46057
46058 * source/common/common.cpp:
46059 common: group transform skip options together
46060 [93cd37a94aa6]
46061
46062 * source/CMakeLists.txt:
46063 cmake: give FAST_MODE_DECISION an accurate help message
46064 [57ac25324d49]
46065
46066 2013-05-30 Deepthi <Deepthi>
46067
46068 * cfg/encoder_I_15P.cfg, source/CMakeLists.txt,
46069 source/Lib/TLibEncoder/TEncCu.cpp,
46070 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp:
46071 Merge
46072 [af2246ceeb2c]
46073
46074 * source/Lib/TLibEncoder/TEncCu.cpp,
46075 source/Lib/TLibEncoder/TEncSearch.cpp:
46076 First cut version of using SAD costs.
46077 [4d681d6d86fe]
46078
46079 * cfg/encoder_I_15P.cfg, source/common/common.cpp:
46080 Disabling rect and AMP search (for now)
46081 [06f36a6d94fc]
46082
46083 2013-05-29 Deepthi <Deepthi>
46084
46085 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncSearch.cpp:
46086 ME satd costs and bits captured. FAST_MODE_DECISION introduced.
46087 [27ac6d4a40fd]
46088
46089 2013-05-30 Steve Borho <steve@borho.org>
46090
46091 * source/common/common.cpp, source/common/common.h:
46092 common: add x265_mdate() and fix rdoq option names
46093 [7e10b0e4554f]
46094
46095 2013-05-29 Steve Borho <steve@borho.org>
46096
46097 * source/x265opts.h:
46098 x265: add "no-" options for boolean parameters, cleanup sao and hash
46099 options
46100 [6769ff6d6154]
46101
46102 * source/x265.cpp:
46103 x265: add basic command line help
46104 [a48721370b31]
46105
46106 * source/x265.cpp:
46107 x265: improve reporting of invalid or extra vars, allow "x265 input
46108 output"
46109 [fafeb6fb8d0c]
46110
46111 * source/encoder/motion.cpp, source/encoder/motion.h:
46112 motion: introduce infrastructure for sub-sampled SAD
46113
46114 When performing a motion search for a block taller than 12 pixels
46115 (16 or more) we want to use sub-sampled SAD, meaning we only measure
46116 every other row of the block. Normally one would do this by halving
46117 the number of rows and doubling the stride, and doubling the output
46118 SAD result but we have two caveats:
46119
46120 1 - our sad_x3 and sad_x4 primitives have hard-coded fenc strides
46121 (FENC_STRIDE) and thus we cannot subsample the fenc block by
46122 doubling stride. Instead we have to actually subsample the block and
46123 store it in a buffer with FENC_STRIDE, which I've done in this
46124 commit. Now fencSad will always point to a buffer with FENC_STRIDE,
46125 and if this->subsample == 1, the buffer is subsampled.
46126
46127 2 - since the SAD costs never leave this function, we do not have to
46128 shift up our sad results by one bit to account for the subsampling.
46129 The subpel refine step will remeasure with non-subsampled SATD and
46130 thus we don't care what the best SAD cost actually was (only that it
46131 was the best). The only place where we need to account for
46132 subsampling is in the SAD_THRESH macro. It must shift the sad cost
46133 up by this->subsample bits.
46134
46135 Steps remaining (all to be done within #if SUBSAMPLE_SAD
46136
46137 1 - Replace fenc with fencSad for all sad(), sad_x3(), sad_x4()
46138 calls 2 - shift the luma stride by this->subsample for sad(),
46139 sad_x3() and sad_x4() 3 - shift up SAD cost by this->subsample for
46140 SAD_THREAD checks 4 - make sure all the changes from 1..3 have no
46141 effect on SATD calls 5 - test, we should see a small quality loss
46142 and an ME perf gain when enabled
46143 [3ea322fcdd7a]
46144
46145 * source/CMakeLists.txt:
46146 gcc: add openmp flags for gcc and icl
46147 [7f14e6ca1bff]
46148
46149 * source/Lib/TLibEncoder/TEncSlice.cpp:
46150 TEncSlice: disable allocation and usage of events if numThreads == 1
46151 [300663bf0015]
46152
46153 2013-05-23 Min Chen <chenm003@163.com>
46154
46155 * source/Lib/TLibEncoder/TEncSlice.cpp:
46156 thread: improvement performance based on replace iFinish by Event
46157 --- source/Lib/TLibEncoder/TEncSlice.cpp | 41
46158 ++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+),
46159 9 deletions(-)
46160 [1f68ebfe1ae7]
46161
46162 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp,
46163 source/Lib/TLibEncoder/TEncSlice.cpp:
46164 thread: the first worked version, turn on in WPP mode only
46165 [b67a18ce5c31]
46166
46167 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
46168 source/Lib/TLibCommon/TComSlice.h,
46169 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
46170 source/Lib/TLibEncoder/TEncGOP.cpp,
46171 source/Lib/TLibEncoder/TEncSearch.cpp,
46172 source/Lib/TLibEncoder/TEncSearch.h,
46173 source/Lib/TLibEncoder/TEncSlice.cpp,
46174 source/Lib/TLibEncoder/TEncSlice.h,
46175 source/Lib/TLibEncoder/TEncTop.cpp,
46176 source/Lib/TLibEncoder/TEncTop.h:
46177 thread: modify m_pcTrQuant to every thread, [BROKEN
46178 UseAdaptQpSelect]
46179 --- source/Lib/TLibCommon/TComSlice.h | 5 -----
46180 source/Lib/TLibEncoder/TEncCu.cpp | 3 ++-
46181 source/Lib/TLibEncoder/TEncCu.h | 1 +
46182 source/Lib/TLibEncoder/TEncGOP.cpp | 23 +++++++++++++++--------
46183 source/Lib/TLibEncoder/TEncSearch.cpp | 3 +--
46184 source/Lib/TLibEncoder/TEncSearch.h | 2 +-
46185 source/Lib/TLibEncoder/TEncSlice.cpp | 22 +++++++++++++++++++---
46186 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
46187 source/Lib/TLibEncoder/TEncTop.cpp | 26 +++++++++++++-------------
46188 source/Lib/TLibEncoder/TEncTop.h | 4 ++-- 10 files changed, 55
46189 insertions(+), 36 deletions(-)
46190 [d4a0ce886fae]
46191
46192 2013-05-29 Steve Borho <steve@borho.org>
46193
46194 * build/linux/batch.py:
46195 update batch.py to use x265.exe
46196 [45a9d983b45a]
46197
46198 * source/x265.cpp:
46199 x265: destroy cliopt before checking for leaks (x265.exe now leak
46200 free)
46201 [492957758353]
46202
46203 * source/encoder/encoder.cpp:
46204 encoder: destroy YUV buffers before deleting them
46205 [9131daa60c98]
46206
46207 * source/encoder/encoder.cpp:
46208 encoder: properly release reconstructed image buffers at close
46209 [61d3fb60cb9e]
46210
46211 * source/x265.cpp:
46212 x265: cleanup library statics before exit, prevent leak reports
46213 [908544e772b4]
46214
46215 * source/encoder/encoder.h:
46216 encoder: preallocate room in NAL containers
46217 [932360bdc969]
46218
46219 * source/encoder/encoder.cpp, source/encoder/encoder.h:
46220 encoder: write output packets directly into std::string buffer
46221 [80db68a1ea35]
46222
46223 * source/encoder/motion.cpp:
46224 motion: check motion candidates even for star search
46225 [60b59cac3bc2]
46226
46227 * source/encoder/motion.cpp:
46228 motion: use sad_x4 for raster search
46229 [f0cbf34f0845]
46230
46231 2013-05-29 Min Chen <chenm003@163.com>
46232
46233 * source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
46234 x265: new option hash
46235 --- source/encoder/encoder.cpp | 2 +- source/x265.h | 3 +++
46236 source/x265opts.h | 1 + 3 files changed, 5 insertions(+), 1
46237 deletions(-)
46238 [d5e04469c1fc]
46239
46240 * source/encoder/encoder.cpp, source/encoder/encoder.h:
46241 x265: fix bug in nal write
46242 --- source/encoder/encoder.cpp | 6 +++++- source/encoder/encoder.h |
46243 1 + 2 files changed, 6 insertions(+), 1 deletions(-)
46244 [ae9452e370e7]
46245
46246 2013-05-29 Steve Borho <steve@borho.org>
46247
46248 * source/Lib/TLibEncoder/TEncCu.cpp,
46249 source/Lib/TLibEncoder/TEncSearch.cpp, source/PPA/ppaCPUEvents.h:
46250 ppa: tweak PPA events to extract more useful detail about threading
46251 [3f33cdd7ff98]
46252
46253 * source/x265.cpp:
46254 x265: fix integer argument parsing
46255 [c40e7dbe7f07]
46256
46257 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppaCPUEvents.h:
46258 TEncCu: add separate PPA event for xCalcRDCostIntra
46259 [ee68c82fc7c7]
46260
46261 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppa.h,
46262 source/PPA/ppaCPUEvents.h:
46263 TEncCU: allow PPA to show recursive depth to xCompressCU
46264 [f625550f4de7]
46265
46266 * source/encoder/CMakeLists.txt:
46267 cmake: fix display of TLibEncoder headers
46268 [3e9e9412262b]
46269
46270 * source/common/common.cpp, source/x265.cpp:
46271 common: improve the logging of configuration
46272 [cfde846ed6e4]
46273
46274 2013-05-28 Steve Borho <steve@borho.org>
46275
46276 * source/x265.cpp:
46277 x265: report total elapsed time
46278 [5b755da5e73a]
46279
46280 2013-05-29 Deepthi <Deepthi>
46281
46282 * Merge
46283 [d16847d13c67]
46284
46285 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp:
46286 Early Partition Decision macro removed - the xCompressCU version has
46287 been commented out with a warning.
46288 [7bad155a07be]
46289
46290 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46291 Cleanup - early exit
46292 [82f090c9a0f2]
46293
46294 2013-05-28 Deepthi <Deepthi>
46295
46296 * Merge
46297 [d876d9c5eecc]
46298
46299 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46300 Early exit reloaded.
46301 [fcdedf954fbf]
46302
46303 2013-05-27 Deepthi <Deepthi>
46304
46305 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46306 Adding CalcRDCostIntra
46307 [6de8c04a070d]
46308
46309 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46310 Separating out analysis structure from mode decision
46311 [3a4b62a318bb]
46312
46313 2013-05-28 Steve Borho <steve@borho.org>
46314
46315 * source/encoder/motion.cpp:
46316 motion: hoist two-point early out out of function
46317 [f3c78bfe071d]
46318
46319 * source/encoder/motion.cpp:
46320 motion: convert two-point search into a table lookup
46321 [3d4df6126d11]
46322
46323 * source/common/common.h, source/encoder/encoder.cpp:
46324 Merge
46325 [60570eb6bff8]
46326
46327 * source/Lib/TLibCommon/TComRom.cpp,
46328 source/Lib/TLibEncoder/TEncAnalyze.h,
46329 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
46330 source/encoder/encoder.cpp:
46331 common: cleanup cycle counter, disable by default
46332 [70ee52ecfdb5]
46333
46334 * source/common/common.h, source/encoder/motion.cpp:
46335 motion: rename some macros, enable sad_x4
46336 [fb67b234b11e]
46337
46338 * source/encoder/encoder.cpp:
46339 encoder: use osstream.write() instead of << which appears to be zero
46340 terminated
46341 [ebb0c3ff732c]
46342
46343 2013-05-28 ggopu <ggopu>
46344
46345 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
46346 source/Lib/TLibEncoder/TEncAnalyze.h,
46347 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h:
46348 Implemented the Cycle Count Calculation for Motion Estimation
46349 [2a0b3e881909]
46350
46351 * source/common/common.h, source/encoder/motion.cpp:
46352 sad_x4 Implementation for Star Search
46353 [e0a1a4ed9ccc]
46354
46355 2013-05-27 Steve Borho <steve@borho.org>
46356
46357 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
46358 cmake: minor cleanups
46359 [4fd217fbf622]
46360
46361 2013-05-27 Min Chen <chenm003@163.com>
46362
46363 * source/VectorClass/vectori128.h, source/common/CMakeLists.txt,
46364 source/encoder/CMakeLists.txt:
46365 Fix build problem
46366 --- source/VectorClass/vectori128.h | 2 +-
46367 source/common/CMakeLists.txt | 3 ++- source/encoder/CMakeLists.txt |
46368 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-)
46369 [3ba1fae68c60]
46370
46371 2013-05-27 Steve Borho <steve@borho.org>
46372
46373 * source/x265.h:
46374 x265: fix eoln mangling
46375 [835abb6c24f9]
46376
46377 2013-05-27 praveentiwari <praveentiwari>
46378
46379 * source/common/vec/macroblock.inc:
46380 .60x more performance gain for partailButterfly4 intrinsic version
46381 [3cd8e6c169f6]
46382
46383 2013-05-26 Deepthi <Deepthi>
46384
46385 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46386 Adding CalcRDCostInter
46387 [a61257252105]
46388
46389 2013-05-25 Steve Borho <steve@borho.org>
46390
46391 * source/encoder/encoder.cpp, source/x265.cpp:
46392 x265: encoder_all_I.cfg output now matches x265 -i1 --sao 1
46393
46394 SAO was never disabled in the I frame config, so must be enabled to
46395 get the exact same bitstream
46396 [a581b097ad6e]
46397
46398 * source/encoder/encoder.cpp:
46399 x265: I15P config now matches bit for bit with x265-cli
46400 [7bab890121d4]
46401
46402 * source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp,
46403 source/encoder/encoder.h:
46404 x265: resolve some bitstream differences between CLI apps
46405 [dee26a40d02a]
46406
46407 * source/TestForChecking_BadCommit.bat,
46408 source/tools/TestForChecking_BadCommit.bat:
46409 move regression batch file into tools folder
46410 [8b15863c0013]
46411
46412 * source/x265.cpp:
46413 nits
46414 [e32ccdc056a1]
46415
46416 * source/encoder/encoder.cpp, source/x265.cpp:
46417 encoder: correct NAL counts and a few other issues
46418
46419 Byte count difference between the two CLI programs is now 2
46420 [2fe823ae463f]
46421
46422 * source/encoder/encoder.cpp, source/encoder/encoder.h,
46423 source/x265.cpp:
46424 encoder: plausible NAL write routines
46425 [8fa3800a48e2]
46426
46427 * source/x265.cpp:
46428 x265: enable NAL write functions
46429 [025d311ac08e]
46430
46431 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h,
46432 source/x265.cpp, source/x265main.cpp:
46433 x265: move NVM macros to common.h
46434 [e22bfa6b8f85]
46435
46436 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/NAL.h,
46437 source/Lib/TLibCommon/TComSlice.h, source/x265.cpp, source/x265.h:
46438 x265: move NalUnitType from CommonDef.h to public x265.h
46439 [a2f0181eda8b]
46440
46441 * source/CMakeLists.txt, source/input/yuv.cpp:
46442 x265: more warnings cleanups
46443 [79cab5bc3d95]
46444
46445 * source/Lib/TLibEncoder/TEncGOP.cpp:
46446 TEncGOP: add missing semi-colons after PPA macros
46447 [c5796290ba6e]
46448
46449 * source/input/yuv.cpp:
46450 x265: more compiler warnings fixes
46451 [3478dcabae7b]
46452
46453 * source/test/CMakeLists.txt:
46454 cmake: test benches only need common.lib
46455 [813159de8a6a]
46456
46457 * source/input/y4m.cpp, source/input/y4m.h, source/x265.cpp:
46458 x265: fix compiler warnings that were accidentally hidden
46459 [068c2a7d55a1]
46460
46461 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
46462 source/common/CMakeLists.txt, source/encoder/CMakeLists.txt,
46463 source/test/CMakeLists.txt:
46464 cmake: merge TLibCommon into common.lib, TLibEncoder into
46465 encoder.lib
46466
46467 This fixes link issues with GCC, and clarifies the project
46468 relationships
46469 [46c9252f7dcb]
46470
46471 * source/x265.cpp, source/x265opts.h:
46472 x265opt: add help strings to CLI help output
46473 [1dab9cd7ccf7]
46474
46475 * source/x265opts.h:
46476 x265opt: more tuning of command line options
46477 [750c8127e6bc]
46478
46479 * source/CMakeLists.txt:
46480 cmake: provide version number to x265.cpp
46481 [8693e88f6e7b]
46482
46483 * source/common/primitives.cpp, source/encoder/encoder.cpp:
46484 move x265_cleanup into the encoder/ folder, fixes link references
46485 [678151ff4837]
46486
46487 * source/Lib/CMakeLists.txt, source/encoder/CMakeLists.txt:
46488 cmake: split HM into TLibEncoder and TLibCommon
46489 [617b70bc5028]
46490
46491 * source/CMakeLists.txt, source/common/CMakeLists.txt,
46492 source/common/IntraPred.cpp, source/common/TShortYUV.cpp,
46493 source/common/TShortYUV.h, source/common/butterfly.h,
46494 source/common/common.cpp, source/common/common.h,
46495 source/common/ipfilter.cpp, source/common/macroblock.cpp,
46496 source/common/md5.cpp, source/common/md5.h, source/common/pixel.cpp,
46497 source/common/primitives.cpp, source/common/primitives.h,
46498 source/common/threading.cpp, source/common/threading.h,
46499 source/common/threadpool.cpp, source/common/threadpool.h,
46500 source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
46501 source/common/vec/avx2.cpp, source/common/vec/blockcopy.inc,
46502 source/common/vec/intrapred.inc, source/common/vec/ipfilter.inc,
46503 source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
46504 source/common/vec/macroblock.inc, source/common/vec/pixel.inc,
46505 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
46506 source/common/vec/sse2.cpp, source/common/vec/sse3.cpp,
46507 source/common/vec/sse41.cpp, source/common/vec/sse42.cpp,
46508 source/common/vec/ssse3.cpp, source/common/vec/vec-primitives.cpp,
46509 source/common/vec/vecprimitives.inc,
46510 source/common/x86/CMakeLists.txt, source/common/x86/asm-
46511 primitives.cpp, source/common/x86/const-a.asm,
46512 source/common/x86/cpu-a.asm, source/common/x86/pixel-32.asm,
46513 source/common/x86/pixel-a.asm, source/common/x86/pixel.h,
46514 source/common/x86/sad-a.asm, source/common/x86/x86inc.asm,
46515 source/common/x86/x86util.asm, source/encoder/CMakeLists.txt,
46516 source/encoder/IntraPred.cpp, source/encoder/TShortYUV.cpp,
46517 source/encoder/TShortYUV.h, source/encoder/butterfly.h,
46518 source/encoder/common.cpp, source/encoder/common.h,
46519 source/encoder/ipfilter.cpp, source/encoder/macroblock.cpp,
46520 source/encoder/md5.cpp, source/encoder/md5.h,
46521 source/encoder/pixel.cpp, source/encoder/primitives.cpp,
46522 source/encoder/primitives.h, source/encoder/threading.cpp,
46523 source/encoder/threading.h, source/encoder/threadpool.cpp,
46524 source/encoder/threadpool.h, source/encoder/vec/CMakeLists.txt,
46525 source/encoder/vec/avx.cpp, source/encoder/vec/avx2.cpp,
46526 source/encoder/vec/blockcopy.inc, source/encoder/vec/intrapred.inc,
46527 source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
46528 source/encoder/vec/ipfilter8.inc, source/encoder/vec/macroblock.inc,
46529 source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
46530 source/encoder/vec/pixel8.inc, source/encoder/vec/sse2.cpp,
46531 source/encoder/vec/sse3.cpp, source/encoder/vec/sse41.cpp,
46532 source/encoder/vec/sse42.cpp, source/encoder/vec/ssse3.cpp,
46533 source/encoder/vec/vec-primitives.cpp,
46534 source/encoder/vec/vecprimitives.inc,
46535 source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
46536 primitives.cpp, source/encoder/x86/const-a.asm,
46537 source/encoder/x86/cpu-a.asm, source/encoder/x86/pixel-32.asm,
46538 source/encoder/x86/pixel-a.asm, source/encoder/x86/pixel.h,
46539 source/encoder/x86/sad-a.asm, source/encoder/x86/x86inc.asm,
46540 source/encoder/x86/x86util.asm, source/test/CMakeLists.txt:
46541 directory re-org, move primitives and infrastructure into common/
46542 folder
46543
46544 This encoder/common split is also how x264 has its code arranged.
46545
46546 common - performance primitives, threading, low level features
46547 encoder - analysis, mode decision, cabac, high level features
46548
46549 General rules: 1. Things we're replacing from TLibCommon/ go in
46550 common/ 2. Things we're replacing from TLibEncoder/ go in encoder/
46551 [96baad4e5160]
46552
46553 2013-05-25 Deepthi <Deepthi>
46554
46555 * source/Lib/TLibEncoder/TEncCu.cpp:
46556 More if - I_slice checks removed
46557 [bcbed778915b]
46558
46559 * source/Lib/TLibEncoder/TEncCu.cpp:
46560 Removing redundant if-I_slice checks
46561 [7dfef87f686f]
46562
46563 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46564 A separate path for Intra Slice Analysis
46565 [9372c4dd1876]
46566
46567 * source/Lib/TLibEncoder/TEncCu.cpp:
46568 POinters for each NxN partition
46569 [07982959ab7d]
46570
46571 * source/Lib/TLibEncoder/TEncCu.cpp:
46572 This code snippet is baffling - no NxN partitions allowed at any
46573 level for inter-CUs.
46574 [5077b41e4dcc]
46575
46576 * source/Lib/TLibEncoder/TEncCu.cpp:
46577 More PCM cleanup
46578 [4c23d8da41c3]
46579
46580 * source/Lib/TLibEncoder/TEncCu.cpp:
46581 Removing PCM and AMP from EARLY_PARTITION.
46582 [996d036256a5]
46583
46584 * source/Lib/TLibEncoder/TEncCu.cpp:
46585 Done experimenting - lets clean up and start afresh.
46586 [b831e30a39f1]
46587
46588 * source/Lib/TLibEncoder/TEncCu.cpp:
46589 Merge
46590 [1275b8710950]
46591
46592 * source/Lib/TLibEncoder/TEncCu.cpp:
46593 Bug fix for no EARLY_DECISION path. The difference between #ifndef
46594 and #if !!
46595 [fe1e15dc6eb1]
46596
46597 2013-05-24 Deepthi <Deepthi>
46598
46599 * source/Lib/TLibEncoder/TEncCu.cpp:
46600 Eliminating repetitive cost checks for 4 NxN partitions
46601 [472585bb237a]
46602
46603 2013-05-24 Steve Borho <steve@borho.org>
46604
46605 * source/encoder/encoder.cpp:
46606 encoder: correct the flush argument to TEncTop::encoder()
46607 [ea418dc405d4]
46608
46609 * source/Lib/TLibEncoder/TEncGOP.cpp:
46610 TEncGOP: use less horizontal space to print per-frame PSNR
46611 [f377a112c835]
46612
46613 * source/encoder/encoder.cpp:
46614 encoder: reorder some lines, should have no effect
46615 [2729b04a27f3]
46616
46617 * source/Lib/TLibEncoder/TEncGOP.cpp, source/PPA/ppaCPUEvents.h:
46618 ppa: add wrapping event for loop filters
46619 [3639ac6c84ed]
46620
46621 * source/x265.cpp:
46622 x265: combine two log lines, remove bitstream filename (not
46623 relevant)
46624 [73c2c3b6bdd2]
46625
46626 * source/encoder/common.cpp:
46627 common: change more defaults to match I15P
46628 [3462f6dfee4d]
46629
46630 * source/encoder/encoder.cpp, source/encoder/encoder.h:
46631 encoder: pull in really ugly GOP intialization/validation code from
46632 TAppEncoder
46633
46634 This all goes away once we have a proper lookahead
46635 [35f67ed1b8ce]
46636
46637 * source/encoder/common.cpp:
46638 common: fixup default params
46639 [5e9aca57a444]
46640
46641 * source/Lib/TLibEncoder/TEncTop.cpp:
46642 nits, no code change
46643 [a893a5ee88ab]
46644
46645 * source/x265.cpp:
46646 x265: fix input file arg indexing
46647 [f01c09fd1370]
46648
46649 2013-05-25 ShinYee Chung <shinyee@multicorewareinc.com>
46650
46651 * source/encoder/vec/intrapred.inc:
46652 intra: Fix compile warning for HIGH_BIT_DEPTH (-Werror=shadow).
46653 [480bc3934409]
46654
46655 * source/encoder/vec/intrapred.inc:
46656 intra: Fix compile warning for HIGH_BIT_DEPTH (-Werror=unused-but-
46657 set-variable).
46658 [d5459b8da333]
46659
46660 * source/encoder/vec/intrapred.inc:
46661 intra: Fix vector conversion errors.
46662
46663 source/encoder/vec/intrapred.inc:570:66: error: conversion from
46664 ‘Vec128b’ to non-scalar type ‘Vec8s’ requested Vec8s
46665 v_topRow = load_partial(const_int(8), &pSrc[-srcStride]); // topRow
46666
46667 ...
46668 [e63381924908]
46669
46670 * source/x265.cpp:
46671 x265: Fix compile error due to undeclared strncmp function.
46672 [8b6c9566d28d]
46673
46674 2013-05-24 ShinYee Chung <shinyee@multicorewareinc.com>
46675
46676 * source/encoder/motion.h:
46677 motion: Fix compile warning due to -Wparentheses.
46678 [ea85c7f907b9]
46679
46680 2013-05-23 ShinYee Chung <shinyee@multicorewareinc.com>
46681
46682 * source/encoder/vec/intrapred.inc:
46683 intrapred: Fix compile warnings/errors due to -Wmaybe-uninitialized.
46684 [7984ca4e57fd]
46685
46686 2013-05-24 Steve Borho <steve@borho.org>
46687
46688 * source/x265.cpp:
46689 x265: more debugging
46690 [81f824e31a0d]
46691
46692 * source/x265.cpp, source/x265opts.h:
46693 x265: more work on CLI options
46694 [3b6c4efdc154]
46695
46696 * source/CMakeLists.txt, source/x265.cpp, source/x265opts.h:
46697 x265: add getopt() to new CLI app, tune short flags to match x264
46698 [c140af14db48]
46699
46700 * source/Lib/TLibEncoder/TEncCu.cpp:
46701 re-apply bug fix, there must have been a bad merge somewhere
46702 [d14951b6324a]
46703
46704 * Merged in deepthidevaki/xhevc_deepthid (pull request #170)
46705
46706 IntraPredAng 16x16 with all modes
46707 [813e9c90cbf6]
46708
46709 2013-05-24 Deepthi Devaki <Deepthi Devaki>
46710
46711 * source/encoder/vec/intrapred.inc:
46712 Merge
46713 [73316a3addc5]
46714
46715 * source/encoder/vec/intrapred.inc:
46716 IntraPredAng 16x16 with all modes
46717 [9d91f3584db2]
46718
46719 * source/VectorClass/vectori128.h:
46720 ForceInline few more functions in vectorclass
46721 [05870dbb3efb]
46722
46723 * build/nmake/make-solutions.bat:
46724 Merge
46725 [2a6f287ceebe]
46726
46727 * source/encoder/vec/intrapred.inc:
46728 IntraPredAng16x16 few modes, not getting called yet, shall be
46729 included on completion
46730 [4b10526cb3a0]
46731
46732 2013-05-24 nandaku2 <deepthi@multicorewareinc.com>
46733
46734 * Merged in praveentiwari/xhevc_praveent (pull request #169)
46735
46736 Added logic to avoid saturation in partialButterfly4 intrinsic
46737 version
46738 [e3ed785d727f]
46739
46740 2013-05-24 praveentiwari <praveentiwari>
46741
46742 * source/encoder/vec/macroblock.inc:
46743 Added logic to avoid saturation in partialButterfly4 intrinsic
46744 version
46745 [81d852d7865b]
46746
46747 * source/encoder/vec/macroblock.inc:
46748 Removed unused vectors from partialButterflyInverse32 code
46749 [afb8d92f66f4]
46750
46751 * source/encoder/vec/macroblock.inc:
46752 Removed unused vectors from partialButterflyInverse16
46753 [fabf29c2888a]
46754
46755 * source/encoder/vec/macroblock.inc:
46756 Removed unused vectore from partialButterflyInvers8 code
46757 [1d2b3e54a4a4]
46758
46759 * source/encoder/vec/macroblock.inc:
46760 optimized saturation mechanism in partialButterflyInvers16 vector
46761 version
46762 [19b0f38f6380]
46763
46764 * source/encoder/vec/macroblock.inc:
46765 Removed unnecessary computation from partialButterflyInverse4 vector
46766 version
46767 [08b2688b6de9]
46768
46769 * source/encoder/vec/macroblock.inc:
46770 changed saturation mechanism for partialButterflyInverse8 vector
46771 version
46772 [4d0cf1002390]
46773
46774 2013-05-24 Deepthi <Deepthi>
46775
46776 * Merge
46777 [f739e927e018]
46778
46779 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46780 Storing NxN CU's at each depth
46781 [051ac8dfaff9]
46782
46783 * source/Lib/TLibEncoder/TEncCu.cpp:
46784 Bug fix for m_NxNCU
46785 [84a82ca7c5a6]
46786
46787 * source/Lib/TLibEncoder/TEncCu.cpp:
46788 More cleanup; Rmeoving CheckBestMode out of CheckInterCost
46789 [477d76b93842]
46790
46791 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46792 Cleanup: Remove extra arguments from xCheckRDCostInter/Intra
46793 [4555cb1f1a2b]
46794
46795 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46796 Adding data structures for NxN information
46797 [ef9f8f85c277]
46798
46799 2013-05-24 praveentiwari <praveentiwari>
46800
46801 * source/encoder/vec/macroblock.inc:
46802 Changed packing mechanism for partialButterfly8 intrinsic version
46803 [a6f34ed51a4d]
46804
46805 2013-05-24 praveen Tiwari <praveen@multicorewareinc.com>
46806
46807 * Merged multicoreware/xhevc into default
46808 [f32272e3ca22]
46809
46810 2013-05-24 praveentiwari <praveentiwari>
46811
46812 * source/encoder/vec/macroblock.inc:
46813 Removed unnecessary computation from partialButterflyInverse32
46814 [c7ee802ee960]
46815
46816 2013-05-24 praveen Tiwari <praveen@multicorewareinc.com>
46817
46818 * Merged multicoreware/xhevc into default
46819 [b1d686c45089]
46820
46821 * build/nmake/make-solutions.bat:
46822 Merged multicoreware/xhevc into default
46823 [fd0bbd1775d6]
46824
46825 2013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
46826
46827 * Merged multicoreware/xhevc into default
46828 [526ab84ce55d]
46829
46830 * Merged multicoreware/xhevc into default
46831 [f9fd6ba9f9bc]
46832
46833 2013-05-24 Deepthi Devaki <Deepthi Devaki>
46834
46835 * source/encoder/vec/intrapred.inc:
46836 Fixed build for HIGH_BIT_DEPTH enabled
46837 [ea8e87bacbcf]
46838
46839 2013-05-23 Steve Borho <steve@borho.org>
46840
46841 * source/encoder/motion.cpp:
46842 motion: fix star search's raster step
46843
46844 tmv's loop range covers the entire search area. The search origin
46845 should not be added to it.
46846 [a3439ab05d47]
46847
46848 * source/encoder/encoder.cpp, source/encoder/encoder.h:
46849 encoder: hard-code our simple P frame GOP structure
46850
46851 It will be the default GOP structure, but "All I" can be selected
46852 simply by adding --keyint 1 option. Will add another option for
46853 all-B later.
46854 [04ce483efd92]
46855
46856 * source/encoder/vec/CMakeLists.txt, source/encoder/vec/vec-
46857 primitives.cpp:
46858 cmake: prevent VC9 and VC10 from using SSE4, fixes aligned move
46859 crashes
46860 [8394398ddad3]
46861
46862 * source/Lib/TLibCommon/TComPrediction.cpp:
46863 nit
46864 [dc7eea8b9b88]
46865
46866 * source/encoder/vec/macroblock.inc:
46867 macroblock: do not use SSE4 intrinsics for lower instrset builds
46868 [7c65d9710ec4]
46869
46870 * source/encoder/vec/ipfilter8.inc:
46871 ipfilter: use immediate load-partial, fixes VC9 x64 crashes
46872 [f66f0728d7e1]
46873
46874 * source/encoder/vec/macroblock.inc:
46875 macroblock: do not use SSE4 intrinsics for lower instrset builds
46876 [3ea4514efde6]
46877
46878 * source/Lib/TLibCommon/TComPrediction.cpp:
46879 TComPrediction: only allocate extY tmp buffer when necessary, use
46880 xMalloc
46881 [9894aed732d5]
46882
46883 * build/nmake/make-solutions.bat:
46884 build: drop nmake script - was only a temp hack for ASM support
46885 [ce6d7bc7f18d]
46886
46887 * source/Lib/TLibEncoder/TEncSearch.h:
46888 nit
46889 [cbf103758b5a]
46890
46891 * source/x265.cpp:
46892 x265: inline the NAL write functions into CLIOptions
46893 [661d5db35d30]
46894
46895 * source/x265.cpp:
46896 x265: include assert.h for VLD validation checks
46897 [9479fde37ee3]
46898
46899 * source/encoder/motion.h:
46900 motion: manually enforce 16 byte alignment for fenc buffer
46901 [577747a625ff]
46902
46903 2013-05-23 Deepthi <Deepthi>
46904
46905 * source/encoder/vec/macroblock.inc:
46906 Merge
46907 [d749a9fe2c1c]
46908
46909 * Merge
46910 [8686b9a4e74c]
46911
46912 2013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
46913
46914 * Merged multicoreware/xhevc into default
46915 [d329a297cccd]
46916
46917 2013-05-23 praveentiwari <praveentiwari>
46918
46919 * source/encoder/vec/macroblock.inc:
46920 Intrinsic code for partialButterflyInverse16
46921 [824a8e9a6a6f]
46922
46923 2013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
46924
46925 * Merged multicoreware/xhevc into default
46926 [6f04eef8255c]
46927
46928 2013-05-23 praveentiwari <praveentiwari>
46929
46930 * source/encoder/vec/macroblock.inc:
46931 Intrinsic code for partialButterflyInverse8
46932 [44529de64523]
46933
46934 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
46935
46936 * source/encoder/vec/macroblock.inc:
46937 Merged multicoreware/xhevc into default
46938 [235de855d779]
46939
46940 2013-05-23 Deepthi Devaki <Deepthi Devaki>
46941
46942 * Merge
46943 [31c59ffe9c96]
46944
46945 * source/encoder/vec/intrapred.inc:
46946 Improvement in Intra Angular 8x8 vector implementation
46947 [d6a113bf815b]
46948
46949 2013-05-23 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
46950
46951 * Merged multicoreware/xhevc into default
46952 [bf29b1a40bca]
46953
46954 2013-05-23 Deepthi Devaki <Deepthi Devaki>
46955
46956 * source/VectorClass/vectori128.h:
46957 ForceInlined a few more functions in vectori128
46958 [c7fe807725d5]
46959
46960 * source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
46961 IntraPredAng 8x8 HIGH_BIT disabled - with special case
46962 implementation for 8 modes.
46963 [9ce6eb8b73ce]
46964
46965 2013-05-23 Deepthi <Deepthi>
46966
46967 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
46968 Defining lambda values for Check Best Mode
46969 [3f9b5f17bb56]
46970
46971 2013-05-23 Steve Borho <steve@borho.org>
46972
46973 * source/CMakeLists.txt, source/encoder/encoder.cpp,
46974 source/encoder/encoder.h, source/x265.cpp, source/x265.h:
46975 encoder: introduce new cli front-end, to eventually replace x265-cli
46976
46977 cfg/*, x265main, x265cfg, and x265enc will all go away as soon as
46978 this works
46979 [92e3da6cc72d]
46980
46981 2013-05-23 Deepthi <Deepthi>
46982
46983 * Merge
46984 [18d3c0a322d2]
46985
46986 * source/Lib/TLibCommon/TypeDef.h:
46987 Best value of lambda select set to 0.6
46988 [96bb8955c43e]
46989
46990 2013-05-22 Steve Borho <steve@borho.org>
46991
46992 * source/Lib/TLibEncoder/TEncSearch.cpp:
46993 TEncSearch: remove my comments from HM source, they were also wrong
46994 [06fa58c2176d]
46995
46996 * source/encoder/motion.cpp:
46997 motion: better document search shapes
46998 [28fbc93455c6]
46999
47000 * source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
47001 source/VectorClass/vectori128.h:
47002 vector: disable floating point vector classes, avoids GCC warnings,
47003 fix EOLN
47004
47005 vecprimitives.inc:73:1: error: '__m128d selectd(const __m128d&,
47006 const __m128d&, const __m128d&)' conflicts with a previous
47007 declaration
47008 [eea2e5dbd441]
47009
47010 * source/encoder/vec/intrapred.inc:
47011 intrapred: fix GCC warnings
47012
47013 intrapred.inc:1340:45: error: conversion from 'Vec16c' to non-scalar
47014 type 'Vec16uc' intrapred.inc:1362:17: error: declaration of 'k'
47015 shadows a previous local
47016 [0d9eeff169b0]
47017
47018 * source/encoder/vec/macroblock.inc:
47019 macroblock: fix GCC warnings again, perhaps line argument should be
47020 removed?
47021
47022 macroblock.inc:562:9: error: statement has no effect [-Werror
47023 =unused-value]
47024 [d377908c3b23]
47025
47026 * source/encoder/encoder.cpp, source/encoder/motion.cpp,
47027 source/encoder/motion.h, source/x265.h, source/x265cfg.cpp:
47028 motion: rename our adapted HM search to "STAR"
47029 [175b3e9e3fe8]
47030
47031 * Merged in praveentiwari/xhevc_praveent (pull request #161)
47032
47033 Intrinsic code for partialButterfly8
47034 [c9c87ffc9b47]
47035
47036 2013-05-22 praveen Tiwari <praveen@multicorewareinc.com>
47037
47038 * Merged multicoreware/xhevc into default
47039 [0bb355ace86f]
47040
47041 2013-05-22 praveentiwari <praveentiwari>
47042
47043 * source/encoder/vec/macroblock.inc:
47044 Intrinsic code for partialButterfly8
47045 [bc4ff1668070]
47046
47047 2013-05-22 Steve Borho <steve@borho.org>
47048
47049 * Merged in deepthidevaki/xhevc_deepthid (pull request #160)
47050
47051 IntraPredAngular 4x4 HIGH_BIT depth enabled
47052 [b322aca2f1da]
47053
47054 2013-05-22 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
47055
47056 * Merged multicoreware/xhevc into default
47057 [ed34d6c8a225]
47058
47059 2013-05-22 Deepthi Devaki <Deepthi Devaki>
47060
47061 * source/Lib/TLibCommon/TComPrediction.cpp,
47062 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
47063 source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
47064 IntraPredAngular 4x4 HIGH_BIT depth enabled
47065 [12eaf2159b3f]
47066
47067 * source/encoder/vec/vecprimitives.inc:
47068 Fix back slash in #include
47069 [55094d80f04a]
47070
47071 2013-05-22 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
47072
47073 * Merged multicoreware/xhevc into default
47074 [bd911514525a]
47075
47076 2013-05-21 Deepthi Devaki <Deepthi Devaki>
47077
47078 * Merge
47079 [8aa73d922542]
47080
47081 * source/encoder/IntraPred.cpp, source/encoder/vec/intrapred.inc,
47082 source/encoder/vec/vecprimitives.inc,
47083 source/test/intrapredharness.cpp:
47084 xPredIntraAng 4x4 HIGH_BIT disabled
47085 [db8e242c4ad0]
47086
47087 * source/VectorClass/vectori128.h, source/test/intrapredharness.cpp:
47088 Force inline functions in vectori128.h
47089 [5551a0eb5fbe]
47090
47091 2013-05-22 Steve Borho <steve@borho.org>
47092
47093 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
47094 source/encoder/motion.h:
47095 motion: use square pattern for subpel refinement
47096 [0d8765c5e054]
47097
47098 * source/encoder/motion.cpp:
47099 motion: allow fpel star refinement if two point search finds new
47100 point
47101 [9b50900a78d4]
47102
47103 2013-05-22 ggopu <ggopu>
47104
47105 * source/Lib/TLibEncoder/TEncSearch.cpp:
47106 Temporary fix to crash
47107 [0dbbe48f078d]
47108
47109 2013-05-22 Steve Borho <steve@borho.org>
47110
47111 * source/encoder/motion.cpp:
47112 motion: use COPY2_IF_LT in subpel refine, simplifies logic
47113
47114 No behavior change
47115 [a1b974810f40]
47116
47117 * source/encoder/motion.cpp:
47118 motion: if first subpel iteration found no improvement, skip later
47119 iters
47120
47121 Should have no coding effect, but should help perf slightly.
47122 [32ee09f3e9b8]
47123
47124 2013-05-21 Steve Borho <steve@borho.org>
47125
47126 * source/encoder/motion.cpp:
47127 motion: only adjust subpel search center once per iteration
47128
47129 Basing the offsets from BMV was allowing the search to wander away
47130 on less fruitful paths. Best to wait for all results to come in
47131 before moving the search center point.
47132 [c0134d7e756d]
47133
47134 2013-05-22 ShinYee Chung <shinyee@multicorewareinc.com>
47135
47136 * source/encoder/encoder.h:
47137 Encoder: Fix enum accesses.
47138 [2e7af97e815e]
47139
47140 * source/encoder/motion.cpp:
47141 motion: Fix compile warning/error due to shadow variable in COST_MV
47142 macro.
47143 [d2ff2006533f]
47144
47145 * source/Lib/TLibEncoder/TEncTop.cpp:
47146 TLibEncoder: Fix compile error due to undeclared INT_MAX.
47147 [53b7e60badcb]
47148
47149 2013-05-21 Steve Borho <steve@borho.org>
47150
47151 * source/encoder/common.cpp, source/encoder/encoder.cpp,
47152 source/x265.h, source/x265cfg.cpp, source/x265cfg.h,
47153 source/x265enc.cpp:
47154 api: further trim x265_param_t, remove PCM and rate control and
47155 other bits
47156
47157 We will add these back later as we optimize and/or adapt these
47158 features
47159 [26d354b832d2]
47160
47161 * source/encoder/common.cpp, source/encoder/encoder.cpp,
47162 source/x265cfg.cpp:
47163 encoder: plumb in a parse function
47164 [2ac0b485815b]
47165
47166 * source/Lib/TLibEncoder/TEncCfg.h:
47167 TEncCfg: white-space nit
47168 [38a2194f7420]
47169
47170 * source/Lib/TLibEncoder/TEncCfg.h,
47171 source/Lib/TLibEncoder/TEncTop.cpp,
47172 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
47173 source/x265enc.cpp:
47174 encoder: simply encode() function signature, auto-detect frames to
47175 be encoded
47176 [084aaa5e85cc]
47177
47178 * source/Lib/TLibEncoder/TEncTop.cpp:
47179 TEncTop: simplify destroy method slightly
47180 [2af1b2f39aa0]
47181
47182 2013-05-21 Min Chen <chenm003@163.com>
47183
47184 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
47185 cleanup: remove unused pointer from TEncCu
47186
47187 From 28a48831f9571ff030574c4e28c75e4afc8105f3 Mon Sep 17 00:00:00
47188 2001
47189 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 ---
47190 source/Lib/TLibEncoder/TEncCu.h | 3 --- 2 files changed, 0
47191 insertions(+), 6 deletions(-)
47192 [c0f39e04c429]
47193
47194 2013-05-20 Min Chen <chenm003@163.com>
47195
47196 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
47197 source/Lib/TLibEncoder/TEncGOP.cpp,
47198 source/Lib/TLibEncoder/TEncSearch.h,
47199 source/Lib/TLibEncoder/TEncSlice.cpp,
47200 source/Lib/TLibEncoder/TEncSlice.h,
47201 source/Lib/TLibEncoder/TEncTop.cpp,
47202 source/Lib/TLibEncoder/TEncTop.h:
47203 thread: [BITS CHANGED] split m_pcRDGoOnSbacCoder into own thread
47204 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 ++-
47205 source/Lib/TLibEncoder/TEncCu.h | 2 +-
47206 source/Lib/TLibEncoder/TEncGOP.cpp | 4 ++--
47207 source/Lib/TLibEncoder/TEncSearch.h | 2 +-
47208 source/Lib/TLibEncoder/TEncSlice.cpp | 7 ++++---
47209 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
47210 source/Lib/TLibEncoder/TEncTop.cpp | 6 +++---
47211 source/Lib/TLibEncoder/TEncTop.h | 4 ++-- 8 files changed, 16
47212 insertions(+), 14 deletions(-)
47213 [695f62044e15]
47214
47215 2013-05-21 Steve Borho <steve@borho.org>
47216
47217 * source/encoder/encoder.cpp, source/encoder/encoder.h:
47218 encoder: remove some includes only used by new main
47219 [e076db6b561e]
47220
47221 * source/Lib/TLibEncoder/TEncTop.cpp:
47222 TEncTop: call destroy() on CU encoders before deleting them
47223
47224 HM class destructors do not necessarily free memory. This fixes some
47225 large leaks.
47226 [c645bcc7795c]
47227
47228 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp,
47229 source/x265enc.cpp:
47230 cruft: remove setFrameSkip/getFrameSkip() from TencCfg
47231
47232 The encoder should be unaware of file I/O properties.
47233 setFramesToBeEncoded() should also be removed, but the encoder needs
47234 the last frame number in order to handle edge cases at the end of
47235 the encode.
47236 [c19a3ca7761d]
47237
47238 * source/encoder/encoder.h:
47239 encoder: remove obsolete cruft, assign default level and profile
47240 [efccf29f74ef]
47241
47242 * source/encoder/encoder.cpp, source/encoder/encoder.h:
47243 encoder: improve defaults to match current behavior, simplify
47244 [0d7c1810b154]
47245
47246 * source/x265cfg.cpp:
47247 more nits
47248 [3ec9dcc432cf]
47249
47250 * source/encoder/vec/macroblock.inc:
47251 macroblock: tabs to spaces
47252 [398786d7e65a]
47253
47254 * source/encoder/vec/macroblock.inc:
47255 Merged in praveentiwari/xhevc_praveent (pull request #159)
47256
47257 Intrinsic code for partialButterflyInverse4
47258 [4a43a67aab95]
47259
47260 2013-05-21 praveentiwari <praveentiwari>
47261
47262 * source/encoder/vec/macroblock.inc:
47263 Intrinsic code for partialButterflyInverse4
47264 [8a115d37a05a]
47265
47266 * source/CMakeLists.txt, source/encoder/vec/macroblock.inc,
47267 source/test/filterharness.cpp, source/test/mbdstharness.cpp,
47268 source/test/testbench.cpp:
47269 Backed out changeset: 6a5d35fd39fb
47270 [ff8e92d7c095]
47271
47272 * source/CMakeLists.txt, source/encoder/vec/macroblock.inc,
47273 source/test/filterharness.cpp, source/test/mbdstharness.cpp,
47274 source/test/testbench.cpp:
47275 Intrinsic code for partialButterflyInverse4
47276 [6a5d35fd39fb]
47277
47278 2013-05-21 Steve Borho <steve@borho.org>
47279
47280 * source/encoder/motion.cpp:
47281 motion: do not check candidate MVs for HM style search
47282
47283 No compelling reason for this, except to help debug differences
47284 [21098423e1aa]
47285
47286 * source/Lib/TLibEncoder/TEncSearch.cpp:
47287 TEncSearch: disable SAD subsampling while we debug ME
47288
47289 It's not clear we ever want to turn this back on, at least before
47290 we've added subsampling to x265 ME
47291 [b05a30649d2e]
47292
47293 * source/Lib/TLibEncoder/TEncSearch.cpp:
47294 TEncSearch: give the real MVP to x265 ME, not just zero
47295
47296 This is the bug that has been preventing UMH from working as
47297 designed
47298
47299 DIA: 461.0320 31.4553 36.0712 36.1111 HEX: 457.8880 31.4728 36.0830
47300 36.1282 UMH: 457.3520 31.4723 36.1079 36.1460 HM: 458.6560 31.4827
47301 36.1382 36.1273 ORIG: 456.0960 31.5091 36.1377 36.1228
47302
47303 Our HM version still has a bug; need to find it
47304 [d011d9380876]
47305
47306 * source/encoder/motion.cpp:
47307 motion: use MV 0 prediction as search start if cheaper than MVP
47308 [5957dfe39429]
47309
47310 * source/Lib/TLibEncoder/TEncSearch.cpp:
47311 TEncSearch: use actual enum for selecting x265 ME routine
47312 [94edee85036a]
47313
47314 * source/encoder/motion.cpp:
47315 motion: remove hard-coded mode selection
47316 [d96750bcb143]
47317
47318 * source/encoder/motion.cpp, source/encoder/motion.h:
47319 motion: fix bugs in my changes, add relevant comments for future
47320 work
47321 [88caee6ef7c3]
47322
47323 * source/encoder/motion.cpp, source/encoder/motion.h,
47324 source/encoder/mv.h:
47325 motion: simplify HM search method code
47326 [b58f7f60ae7c]
47327
47328 * source/encoder/common.cpp, source/x265.h:
47329 api: add original HM search as valid configurable option
47330 [4a4f55e067b9]
47331
47332 * Merged in ggopu/ggopu_xhevc (pull request #158)
47333
47334 Implemented the HM ME to Motion.cpp
47335 [3301bc78e1ce]
47336
47337 2013-05-21 ggopu <ggopu>
47338
47339 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
47340 source/encoder/motion.h, source/encoder/mv.h:
47341 Implemented the HM ME to Motion.cpp
47342 [e2e81e4f914c]
47343
47344 * source/Lib/TLibEncoder/TEncSearch.cpp:
47345 Merge
47346 [f13d5c93b30e]
47347
47348 * source/encoder/motion.cpp, source/encoder/motion.h,
47349 source/encoder/mv.h:
47350 Implemented HM ME to Motion.cpp
47351 [453365fdf903]
47352
47353 2013-05-21 Steve Borho <steve@borho.org>
47354
47355 * source/encoder/encoder.cpp:
47356 encoder: fix another shadowed variable warning
47357 [5ad7c41ac970]
47358
47359 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp:
47360 encoder: fix GCC compiler warnings
47361 [b515463b42cd]
47362
47363 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
47364 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
47365 source/Lib/TLibEncoder/TEncCu.cpp,
47366 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/common.cpp,
47367 source/encoder/encoder.cpp, source/x265.h, source/x265cfg.cpp,
47368 source/x265enc.cpp:
47369 api: rename enableAMPRefine to useRectInter
47370
47371 This configurable was mis-named. It has nothing to do with AMP, it
47372 is disabling the use of rectangular inter prediction modes (which
47373 has the side-effect of also disabling AMP since AMP is not checked
47374 if the rectangular mode of similar shape was not checked).
47375
47376 This configurable should never have been in TComSlice since the flag
47377 is not signaled in the slice header like AMP activation is.
47378 [ab23a9399bcb]
47379
47380 * source/encoder/vec/macroblock.inc:
47381 macroblock: fix GCC compiler warning
47382
47383 macroblock.inc: In function 'void
47384 {anonymous}::partialButterfly4(short int*, short int*, int, int)':
47385 macroblock.inc:1326:12: error: parameter 'line' set but not used
47386 [-Werror=unused-but-set-parameter]
47387 [587dd16e4001]
47388
47389 2013-05-21 praveen Tiwari <praveen@multicorewareinc.com>
47390
47391 * Merged multicoreware/xhevc into default
47392 [5d2edf07bd81]
47393
47394 2013-05-21 praveentiwari <praveentiwari>
47395
47396 * source/Lib/TLibCommon/TComTrQuant.cpp,
47397 source/encoder/vec/macroblock.inc:
47398 Fixed alignment issue for partialButterfly32
47399 [8e42a9907241]
47400
47401 2013-05-21 praveen Tiwari <praveen@multicorewareinc.com>
47402
47403 * Merged multicoreware/xhevc into default
47404 [f89ac88ad652]
47405
47406 2013-05-21 praveentiwari <praveentiwari>
47407
47408 * source/encoder/vec/macroblock.inc:
47409 Fixed encoder crash for partialButterfly32
47410 [c175df4a600f]
47411
47412 * source/encoder/vec/macroblock.inc:
47413 Code cleanup for partialButterfly4
47414 [f110e2eac973]
47415
47416 2013-05-21 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
47417
47418 * source/TestForChecking_BadCommit.bat:
47419 Test script to find bad commit
47420 [55fd15776acf]
47421
47422 2013-05-21 Steve Borho <steve@borho.org>
47423
47424 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
47425 source/encoder/encoder.h:
47426 api: new encoder class and main function
47427 [b4b06a6e89cd]
47428
47429 * source/encoder/common.cpp, source/x265cfg.cpp:
47430 api: use new methods to validate and print public params (CHANGES
47431 LOGGING)
47432
47433 This changes the look of the output log, but should not change any
47434 output bits
47435 [6cb27c8e9011]
47436
47437 * source/encoder/common.cpp, source/encoder/common.h:
47438 common: add new methods for validating and printing the public
47439 params
47440 [3f0ece48b1f7]
47441
47442 * source/x265.h, source/x265cfg.cpp:
47443 api: make iMaxCuDQPDepth a uint32_t, like the other depth settings
47444 [e8acc21708cb]
47445
47446 2013-05-20 Steve Borho <steve@borho.org>
47447
47448 * source/x265cfg.cpp:
47449 fix HIGH_BIT_DEPTH=1 build
47450 [6d47f9979e5c]
47451
47452 * source/Lib/TLibCommon/ContextModel3DBuffer.h,
47453 source/Lib/TLibCommon/TComPrediction.cpp:
47454 minor nit fixes, no behavior changes
47455 [17d10d96b071]
47456
47457 * source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
47458 source/x265enc.cpp:
47459 api: remove m_ prefix from x265_param_t data members
47460 [bb2c9bc68a9e]
47461
47462 2013-05-21 ShinYee Chung <shinyee@multicorewareinc.com>
47463
47464 * source/encoder/vec/macroblock.inc:
47465 Vec: Fix compile warnings/errors due to unused typedef.
47466 [d062def382de]
47467
47468 2013-05-20 Steve Borho <steve@borho.org>
47469
47470 * source/x265cfg.cpp:
47471 cfg: simplify log header a bit
47472 [06f883384489]
47473
47474 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
47475 source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
47476 source/x265enc.cpp:
47477 cfg: replace MaxCUWidth, MaxCUHeight with single MaxCUSize
47478 [fe13c968c8c1]
47479
47480 * source/x265cfg.cpp:
47481 x265cfg: remove redundant ME name array, white-space cleanups
47482 [8f33ed829287]
47483
47484 * source/x265cfg.cpp:
47485 x265cfg: move the default output filename to a better location
47486 [5bd50e2c6ad3]
47487
47488 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
47489 bitcost: match BitCost::bitcost() to TComRdCost:getCost() [CHANGES
47490 OUTPUTS]
47491
47492 The HM counts MVD bits in integer, while we were using log2n() and
47493 keeping floats. Our MV costs were smoother across the range of MV's
47494 but this is a false accuracy. Encoding cost is rounded to nearest
47495 bit. This change improves compression efficiency.
47496 [bcf310907041]
47497
47498 * source/x265main.cpp:
47499 main: minor nit cleanups
47500 [596328140dfc]
47501
47502 * source/encoder/vec/macroblock.inc, source/x265.h:
47503 fix GCC compile warnings
47504 [4d682b12d184]
47505
47506 2013-05-20 praveentiwari <praveentiwari>
47507
47508 * source/encoder/vec/macroblock.inc:
47509 32bit build issue fix for partialButterfly4 intrinsic function.
47510 Further optimisation.
47511 [e90a68b8cdd8]
47512
47513 2013-05-20 sumalatha <sumalatha>
47514
47515 * source/tools/performanceProfiler/Profiler.bat,
47516 source/tools/performanceProfiler/Readme.txt,
47517 source/tools/performanceProfiler/config.txt,
47518 source/tools/performanceProfiler/performanceProfiler.bat:
47519 modified the scripts files to take the application's(.exe) from the
47520 relative path to the curent directory
47521 [215c0e0beda0]
47522
47523 2013-05-20 Steve Borho <steve@borho.org>
47524
47525 * source/Lib/TLibEncoder/TEncSearch.cpp:
47526 TEncSearch: use x265's optimized bitcost() method for xCheckBestMVP
47527
47528 Minor performance improvement
47529 [36642a6ac4c6]
47530
47531 2013-05-20 Deepthi Devaki <Deepthi Devaki>
47532
47533 * source/Lib/TLibCommon/TComPrediction.cpp:
47534 Fix for compilation error in HIGH_BIT_DEPTH enabled
47535 [e1ce48613e7f]
47536
47537 2013-05-19 Steve Borho <steve@borho.org>
47538
47539 * source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
47540 source/x265cfg.h:
47541 api: further work triming x265_param_t and implementing public API
47542 [42d2f5b65c7c]
47543
47544 * source/x265cfg.cpp:
47545 x265cfg: white-space nits
47546 [0ba7cbf85049]
47547
47548 * source/Lib/TLibCommon/TComPicYuv.cpp,
47549 source/Lib/TLibCommon/TComPicYuv.h,
47550 source/Lib/TLibEncoder/TEncTop.cpp,
47551 source/Lib/TLibEncoder/TEncTop.h, source/encoder/common.cpp,
47552 source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
47553 source/input/yuv.cpp, source/input/yuv.h, source/output/output.h,
47554 source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
47555 source/output/yuv.h, source/x265.h, source/x265cfg.h,
47556 source/x265enc.cpp:
47557 api: rename some public structures to follow x264 style, hide some
47558 params
47559
47560 If I have no idea how a param is configured or used, I removed it
47561 from the public data structure.
47562 [c8f27268f3c1]
47563
47564 * source/Lib/TLibEncoder/TEncSearch.cpp:
47565 TEncSearch: fix comments in xTZ8PointDiamondSearch
47566
47567 Removes one extraneaous if() level by chaining together if() else
47568 if() else
47569 [ff379e5854bf]
47570
47571 * source/encoder/motion.cpp:
47572 Backout 1545:eaaa4edde516 (tested worse in regression suite)
47573 [2fbe276bd35f]
47574
47575 * source/encoder/motion.cpp:
47576 motion: fix GCC shadow variable warning (tmv is used inside COST_MV)
47577 [27b17a18367d]
47578
47579 * source/encoder/motion.cpp:
47580 motion: start fpel search at best predictor
47581
47582 HM and x264 both do this, but has uncertain results. Will test in
47583 regression suite with more videos
47584 [eaaa4edde516]
47585
47586 * source/encoder/motion.cpp:
47587 motion: use roundToFPel() when converting clipped MVP to fpel
47588
47589 x264 does this, and it seems to help compression slightly.
47590 [63af725da724]
47591
47592 * source/encoder/motion.cpp, source/encoder/mv.h:
47593 motion: only remeasure bmv at fpel if pmv had subpel fractions
47594 [d465b6f04260]
47595
47596 * source/encoder/motion.cpp:
47597 motion: remove omv=bmv assignment that x264 UMH does not do
47598 [e343fdb42a15]
47599
47600 * source/encoder/motion.cpp:
47601 motion: avoid rechecking bestpre
47602 [2b88c1e2bc08]
47603
47604 * source/encoder/motion.cpp:
47605 motion: improve UMH comments, add a TODO for further analysis
47606 [fd94f23e7828]
47607
47608 * source/encoder/motion.cpp:
47609 motion: do not check candidates equal to MVP, clarify prep code
47610 [253d81c1a1e5]
47611
47612 * source/encoder/motion.cpp:
47613 motion: move warning disable to top of file
47614 [21ae49204eb1]
47615
47616 * source/encoder/motion.cpp:
47617 motion: use x265.h enums for motion search methods
47618 [ae6e0fbfabab]
47619
47620 * source/encoder/motion.cpp:
47621 motion: nits
47622 [96a835f01afa]
47623
47624 * source/encoder/motion.cpp, source/encoder/mv.h:
47625 mv: explicit notZero() method
47626 [dce5c8184afc]
47627
47628 2013-05-19 Min Chen <chenm003@163.com>
47629
47630 * source/Lib/TLibEncoder/TEncSlice.cpp,
47631 source/Lib/TLibEncoder/TEncSlice.h,
47632 source/Lib/TLibEncoder/TEncTop.cpp,
47633 source/Lib/TLibEncoder/TEncTop.h:
47634 thread: modify m_pcCuEncoder to every thread
47635 --- source/Lib/TLibEncoder/TEncSlice.cpp | 22 +++++++++++-----------
47636 source/Lib/TLibEncoder/TEncSlice.h | 4 ++--
47637 source/Lib/TLibEncoder/TEncTop.cpp | 8 +++++---
47638 source/Lib/TLibEncoder/TEncTop.h | 4 ++-- 4 files changed, 20
47639 insertions(+), 18 deletions(-)
47640 [8448f800200b]
47641
47642 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
47643 source/Lib/TLibEncoder/TEncSearch.cpp,
47644 source/Lib/TLibEncoder/TEncSearch.h,
47645 source/Lib/TLibEncoder/TEncSlice.cpp,
47646 source/Lib/TLibEncoder/TEncSlice.h,
47647 source/Lib/TLibEncoder/TEncTop.cpp,
47648 source/Lib/TLibEncoder/TEncTop.h:
47649 thread: modify m_pcPredSearch to every thread
47650 --- source/Lib/TLibEncoder/TEncCu.cpp | 2 +-
47651 source/Lib/TLibEncoder/TEncCu.h | 2 ++
47652 source/Lib/TLibEncoder/TEncSearch.cpp | 6 ++----
47653 source/Lib/TLibEncoder/TEncSearch.h | 2 --
47654 source/Lib/TLibEncoder/TEncSlice.cpp | 10 ++++++++--
47655 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
47656 source/Lib/TLibEncoder/TEncTop.cpp | 8 +++++++-
47657 source/Lib/TLibEncoder/TEncTop.h | 7 +++++-- 8 files changed, 26
47658 insertions(+), 13 deletions(-)
47659 [74d3dbbf08fc]
47660
47661 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
47662 source/Lib/TLibEncoder/TEncGOP.cpp,
47663 source/Lib/TLibEncoder/TEncGOP.h,
47664 source/Lib/TLibEncoder/TEncSearch.h,
47665 source/Lib/TLibEncoder/TEncSlice.cpp,
47666 source/Lib/TLibEncoder/TEncSlice.h,
47667 source/Lib/TLibEncoder/TEncTop.cpp,
47668 source/Lib/TLibEncoder/TEncTop.h:
47669 thread: modify m_pcEntropyCoder and fix bug in HM when WPP
47670 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 +-
47671 source/Lib/TLibEncoder/TEncCu.h | 1 +
47672 source/Lib/TLibEncoder/TEncGOP.cpp | 122
47673 +++++++++++++++++----------------- source/Lib/TLibEncoder/TEncGOP.h
47674 | 2 +- source/Lib/TLibEncoder/TEncSearch.h | 2 +
47675 source/Lib/TLibEncoder/TEncSlice.cpp | 39 +++++++-----
47676 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
47677 source/Lib/TLibEncoder/TEncTop.cpp | 6 ++-
47678 source/Lib/TLibEncoder/TEncTop.h | 5 +- 9 files changed, 98
47679 insertions(+), 84 deletions(-)
47680 [079de58deffd]
47681
47682 2013-05-19 Steve Borho <steve@borho.org>
47683
47684 * source/encoder/motion.cpp:
47685 motion: do two subpel iterations for hpel and qpel
47686
47687 This will find corner vectors, where previous simple DIA did not.
47688 This catches us up quite a bit:
47689
47690 DIA: 467.8400 31.3870 36.0379 36.0973 HEX: 466.5200 31.3955 36.0604
47691 36.1248 UMH: 463.1120 31.4415 36.1199 36.1584 HM: 456.4880 31.4984
47692 36.1100 36.1101
47693 [bbb7982882ba]
47694
47695 2013-05-18 Steve Borho <steve@borho.org>
47696
47697 * source/encoder/motion.cpp:
47698 motion: use ints for temp vars
47699
47700 Using sub-word integers is usually a perf loss, and opens you up to
47701 wierd overflow bugs.
47702 [4db7ec5efb78]
47703
47704 * source/encoder/motion.cpp:
47705 motion: minor cleanups, no effects
47706 [ebf5fd8f484d]
47707
47708 * source/encoder/motion.cpp, source/encoder/mv.h:
47709 motion: convert hex4 to MV, use tmv for checkRange within hex grid
47710 loop
47711
47712 x264 checks tmv there (mv being tested), not bmv (current best mv)
47713 [1bb2e323b6fb]
47714
47715 2013-05-18 Min Chen <chenm003@163.com>
47716
47717 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
47718 source/Lib/TLibEncoder/TEncGOP.cpp,
47719 source/Lib/TLibEncoder/TEncSearch.h,
47720 source/Lib/TLibEncoder/TEncSlice.cpp,
47721 source/Lib/TLibEncoder/TEncSlice.h,
47722 source/Lib/TLibEncoder/TEncTop.cpp,
47723 source/Lib/TLibEncoder/TEncTop.h:
47724 thread: [NEED VERIFY] modify logic and remove unused code for
47725 m_pppcRDSbacCoder Conflicts:
47726
47727 source/Lib/TLibEncoder/TEncTop.cpp
47728 --- source/Lib/TLibEncoder/TEncCu.cpp | 5 +++-
47729 source/Lib/TLibEncoder/TEncCu.h | 1 +
47730 source/Lib/TLibEncoder/TEncGOP.cpp | 3 +-
47731 source/Lib/TLibEncoder/TEncSearch.h | 1 +
47732 source/Lib/TLibEncoder/TEncSlice.cpp | 9 ++----
47733 source/Lib/TLibEncoder/TEncSlice.h | 1 -
47734 source/Lib/TLibEncoder/TEncTop.cpp | 46
47735 +++------------------------------ source/Lib/TLibEncoder/TEncTop.h |
47736 6 +--- 8 files changed, 17 insertions(+), 55 deletions(-)
47737 [4817a9ff9832]
47738
47739 2013-05-18 Steve Borho <steve@borho.org>
47740
47741 * source/encoder/motion.cpp:
47742 motion: adapt "full MB size" check to HEVC CTU
47743
47744 This had no measurable effect, but seemed more correct
47745 [d5f187bb6d44]
47746
47747 * source/encoder/motion.cpp:
47748 motion: fix arguments to CROSS macro in UMH
47749 [b5947f8c979e]
47750
47751 * source/encoder/motion.cpp:
47752 motion: remove SIMPLE_HEX, the outputs are now the same
47753 [0304c492eb5d]
47754
47755 * source/encoder/x86/x86util.asm:
47756 asm: fix FENC_STRIDE to HEVC size
47757 [b333105c3ae1]
47758
47759 * source/encoder/motion.cpp:
47760 motion: remove BITS_MVD again (was resurrected during a merge)
47761 [cb15920370ca]
47762
47763 * source/encoder/motion.cpp:
47764 motion: enable SIMPLE_HEX by default, until the "fast" path is
47765 debugged
47766 [b243347757d4]
47767
47768 2013-05-18 Min Chen <chenm003@163.com>
47769
47770 * source/Lib/TLibEncoder/TEncSlice.cpp:
47771 thread: avoid reference to m_pppcRDSbacCoder[0][CI_CURR_BEST]
47772 --- source/Lib/TLibEncoder/TEncSlice.cpp | 4 ++-- 1 files changed, 2
47773 insertions(+), 2 deletions(-)
47774 [afb15c17b9c0]
47775
47776 * source/Lib/TLibEncoder/TEncSlice.cpp,
47777 source/Lib/TLibEncoder/TEncSlice.h:
47778 thread: remove unused code for m_pcBufferBinCoderCABACs
47779 --- source/Lib/TLibEncoder/TEncSlice.cpp | 12 ++----------
47780 source/Lib/TLibEncoder/TEncSlice.h | 1 - 2 files changed, 2
47781 insertions(+), 11 deletions(-)
47782 [9a0a53b12609]
47783
47784 * source/Lib/TLibEncoder/TEncSlice.cpp:
47785 thread: move pppcRDSbacCoder into loop
47786 --- source/Lib/TLibEncoder/TEncSlice.cpp | 8 ++++---- 1 files
47787 changed, 4 insertions(+), 4 deletions(-)
47788 [9bf8a39b1801]
47789
47790 * source/Lib/TLibEncoder/TEncSlice.cpp,
47791 source/Lib/TLibEncoder/TEncSlice.h:
47792 cleanup: remove unused code for pcBufferLowLatSbacCoders
47793 --- source/Lib/TLibEncoder/TEncSlice.cpp | 15 ---------------
47794 source/Lib/TLibEncoder/TEncSlice.h | 2 -- 2 files changed, 0
47795 insertions(+), 17 deletions(-)
47796 [798cdd336099]
47797
47798 * source/Lib/TLibEncoder/TEncCu.cpp:
47799 cleanup: remove unused code
47800 --- source/Lib/TLibEncoder/TEncCu.cpp | 17 ----------------- 1 files
47801 changed, 0 insertions(+), 17 deletions(-)
47802 [659df28d9850]
47803
47804 2013-05-18 Steve Borho <steve@borho.org>
47805
47806 * source/Lib/TLibEncoder/TEncSearch.cpp,
47807 source/Lib/TLibEncoder/TEncSearch.h:
47808 TEncSearch: remove m_fencbuf and SAD primitive use from HM ME
47809
47810 This fixes BIDIR and weighted P prediction
47811 [76c5cc558878]
47812
47813 * cfg/encoder_all_I.cfg:
47814 encoder_all_I: nit cleanups
47815 [103828d5f1b0]
47816
47817 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
47818 source/Lib/TLibEncoder/TEncCfg.h,
47819 source/Lib/TLibEncoder/TEncSearch.cpp,
47820 source/Lib/TLibEncoder/TEncSearch.h,
47821 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/motion.cpp,
47822 source/encoder/motion.h, source/x265.h, source/x265cfg.cpp,
47823 source/x265enc.cpp:
47824 replace FastSearch configurable with motion search method
47825 [b24d4f0d8a6e]
47826
47827 * source/encoder/vec/macroblock.inc:
47828 macroblock: disable partialButterfly4, it is failing in the
47829 testbench
47830 [c407651a52a4]
47831
47832 * source/encoder/motion.cpp:
47833 Merge
47834 [29b3933dcf27]
47835
47836 * source/Lib/TLibCommon/TComDataCU.cpp:
47837 TComDataCU: fix GCC compile warnings
47838 [0ee4ca22aa1f]
47839
47840 * source/encoder/motion.cpp:
47841 motion: fix GCC compile warnings
47842 [7260a1fdc7a7]
47843
47844 * source/encoder/IntraPred.cpp:
47845 intrapred: fix include path again
47846 [701bc030c157]
47847
47848 * source/encoder/IntraPred.cpp, source/encoder/primitives.h:
47849 IntraPred: do not use pointer reference
47850
47851 1 - this is a C++ only construct, and would make ASM opts very
47852 difficult 2 - the pointer value being passed was a temp rvalue, not
47853 modifiable
47854 [c4459134a244]
47855
47856 2013-05-18 Deepthi <Deepthi>
47857
47858 * source/encoder/vec/macroblock.inc:
47859 Disabling 4 and 32 butterfly intrinsic implementations
47860 [83b3c02ec36a]
47861
47862 * source/Lib/TLibCommon/TComPrediction.cpp:
47863 Remove xPredIntraAngRefBuf from HM - they are now part of
47864 x265::primitives
47865 [4bb8150df674]
47866
47867 * source/Lib/TLibEncoder/TEncSearch.cpp:
47868 Merge
47869 [393536c14d6f]
47870
47871 2013-05-17 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
47872
47873 * Merged multicoreware/xhevc into default
47874 [33bb25b0bf5f]
47875
47876 2013-05-16 Deepthi Devaki <Deepthi Devaki>
47877
47878 * Merge
47879 [6f0ad2ce8510]
47880
47881 * source/Lib/TLibCommon/TComPrediction.cpp,
47882 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
47883 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
47884 Unit test for Intra Angular primitives
47885 [bd9bc0bc3759]
47886
47887 2013-05-16 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
47888
47889 * Merged multicoreware/xhevc into default
47890 [8e9356e3cf6e]
47891
47892 2013-05-16 Deepthi Devaki <Deepthi Devaki>
47893
47894 * Merge
47895 [b48ae2baa364]
47896
47897 * source/Lib/TLibCommon/TComPattern.cpp,
47898 source/Lib/TLibCommon/TComPattern.h,
47899 source/Lib/TLibCommon/TComPrediction.cpp,
47900 source/Lib/TLibCommon/TComPrediction.h,
47901 source/Lib/TLibEncoder/TEncSearch.cpp:
47902 Redesigned intraprediction for angular modes to use buffered
47903 references
47904 [048211fdc5f0]
47905
47906 2013-05-18 Steve Borho <steve@borho.org>
47907
47908 * source/encoder/motion.cpp:
47909 motion: make UMH the default (this needs to be a param)
47910 [d8c379d73e86]
47911
47912 * source/encoder/motion.cpp:
47913 motion: make "optimized" HEX the default now
47914 [bc7cae4f28e8]
47915
47916 * source/encoder/motion.cpp:
47917 motion: remove unused BITS_MVD macro
47918 [cf973ab501ae]
47919
47920 * source/encoder/motion.cpp:
47921 motion: measure MV cost in qpel in COST_MV
47922 [fbdfdd9f710d]
47923
47924 2013-05-17 Steve Borho <steve@borho.org>
47925
47926 * source/encoder/motion.cpp:
47927 motion: simplify COST_MV_X4
47928 [5850f4fb7e1e]
47929
47930 * source/encoder/motion.cpp:
47931 motion: add range check for subpel refine
47932 [e8c864e6301e]
47933
47934 * source/encoder/motion.cpp:
47935 motion: cleanup hex and square offset arrays
47936 [1c8d80939de3]
47937
47938 * source/encoder/motion.cpp:
47939 motion: add default case to switch statement
47940 [b46bc231b6a1]
47941
47942 * source/encoder/motion.cpp:
47943 motion: make HEX the default for the moment
47944 [d15f3b52a98c]
47945
47946 * source/encoder/mv.h:
47947 mv: add a helpful comment
47948 [346ce779ff9a]
47949
47950 * source/encoder/motion.cpp:
47951 motion: fix obvious bug in COST_MV(). HEX mode now looks ok
47952
47953 This is a quality/perf progression you would expect for DIA and HEX
47954
47955 Kbps Y PSNR U PSNR V PSNR elapsed time DIA: 499.9280 31.1502
47956 35.8939 35.9815 27sec HEX: 474.3600 31.3310 36.0312 36.1283 28sec
47957 HM: 456.4880 31.4984 36.1100 36.1101 30sec
47958
47959 UMH is worse than HEX, better than DIA. Which means there are still
47960 bugs.
47961
47962 UMH: 481.9600 31.2575 36.0621 36.0658 28sec
47963
47964 The "optimized" HEX path is also broken (worse numbers than these)
47965 [3179771dfccc]
47966
47967 * source/encoder/motion.cpp:
47968 motion: add descriptive #if 0 from x264
47969
47970 It is useful because it is a simpler version of hex that can be more
47971 easily debugged, and the later version should match the outputs
47972 [96d7eed717e0]
47973
47974 * source/encoder/motion.cpp:
47975 motion: white-space nit, no code change
47976 [cf80adc4e35c]
47977
47978 * source/encoder/motion.cpp:
47979 motion: remove redundant code
47980 [3ec960515133]
47981
47982 * source/encoder/motion.cpp:
47983 motion: just a single stride var is necessary
47984 [6de0d4f2f5a9]
47985
47986 * source/encoder/motion.cpp:
47987 motion: use bmv.checkRange()
47988 [04923c4dc22a]
47989
47990 * source/encoder/motion.cpp:
47991 motion: take advantage of MV union
47992 [55427f2a6fbc]
47993
47994 * source/encoder/motion.cpp:
47995 motion: include assert.h
47996 [7e83eb3c796e]
47997
47998 * source/encoder/motion.cpp:
47999 motion: use MV copy constructor some more
48000 [08c0e5f843e7]
48001
48002 * source/encoder/motion.cpp:
48003 motion: HEVC does not have 4x4 inter partitions
48004 [fd313e990e4b]
48005
48006 * source/encoder/motion.cpp:
48007 motion: pmv needs to be a full-pel motion vector
48008 [d7cd89c7d662]
48009
48010 * source/encoder/motion.cpp:
48011 motion: use MV copy constructor
48012 [494e1c059f10]
48013
48014 * source/encoder/motion.cpp:
48015 motion: remove dup variable i_me_range
48016 [8e5588e6b2a7]
48017
48018 * source/encoder/motion.cpp:
48019 motion: cleanup
48020 [e2727ec025ac]
48021
48022 * source/encoder/motion.cpp:
48023 motion: remove unnecessary dup variables
48024 [01ee1bc52dea]
48025
48026 * source/encoder/motion.cpp, source/encoder/motion.h:
48027 motion: save the partition enum for the current PU
48028 [ae2c9e4d80fe]
48029
48030 * source/encoder/motion.cpp:
48031 motion: turn size_scale the right way around
48032 [962787f0f8a3]
48033
48034 * source/encoder/motion.cpp:
48035 motion: remove cruft
48036 [fb19468bde57]
48037
48038 * source/encoder/motion.cpp:
48039 motion: fix obvious bug in x265_predictor_difference
48040 [5290730cc3b2]
48041
48042 * source/encoder/motion.cpp:
48043 cleanups, no behavior change
48044 [98b7107debdf]
48045
48046 * source/encoder/common.cpp, source/encoder/common.h,
48047 source/encoder/motion.cpp:
48048 motion: move common macros to common.h
48049 [6e0a819ee02b]
48050
48051 * source/encoder/motion.cpp, source/encoder/vec/macroblock.inc,
48052 source/x265cfg.cpp:
48053 fix GCC compilation warnings
48054 [807d04c7511c]
48055
48056 * Merged in sumalatha/xhevc_sumalatha (pull request #148)
48057
48058 fix for decoder crash in xcompresscu() [early_abort optimization]
48059 [28523f0f4149]
48060
48061 2013-05-17 sumalatha <sumalatha>
48062
48063 * source/Lib/TLibEncoder/TEncCu.cpp:
48064 fix for removing the decoder crash in xcompressCU() - early
48065 partition optimization
48066 [0122fe9ae44c]
48067
48068 2013-05-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
48069
48070 * build/dr_psnr_script/TAppDecoder.exe,
48071 build/dr_psnr_script/psnr_script.bat,
48072 source/Lib/TLibEncoder/TEncCu.cpp:
48073 Merged multicoreware/xhevc into default
48074 [ee89354b0898]
48075
48076 2013-05-17 sumalatha <sumalatha>
48077
48078 * source/Lib/TLibEncoder/TEncCu.cpp:
48079 Backed out changeset: 78976eb7f3fa
48080 [0ad65cd9d7b4]
48081
48082 * source/Lib/TLibEncoder/TEncCu.cpp:
48083 fix for decoder crash in xcompresscu() {early_abort optimization]
48084 [78976eb7f3fa]
48085
48086 2013-05-17 Steve Borho <steve@borho.org>
48087
48088 * source/encoder/vec/macroblock.inc:
48089 partialButterfly4 does not compile on 32bit x86
48090
48091 _mm_cvtsi64_si128 does not exist on 32bit systems
48092 [608559903526]
48093
48094 2013-05-17 praveen Tiwari <praveen@multicorewareinc.com>
48095
48096 * build/dr_psnr_script/TAppDecoder.exe,
48097 build/dr_psnr_script/psnr_script.bat:
48098 Merged multicoreware/xhevc into default
48099 [a501a1c26fd9]
48100
48101 2013-05-17 praveentiwari <praveentiwari>
48102
48103 * source/encoder/vec/macroblock.inc:
48104 intrinsic code for partialButterfly32
48105 [d14c341119ff]
48106
48107 2013-05-17 Deepthi <Deepthi>
48108
48109 * .hgignore, build/dr_psnr_script/TAppDecoder.exe,
48110 build/dr_psnr_script/psnr_script.bat, source/tools/HM
48111 decoder/TAppDecoder.exe:
48112 Relocating HM decoder to tools. Removing build/dr_psnr_script
48113 [71005e0c4e43]
48114
48115 * Merge
48116 [c5c192a1e47f]
48117
48118 2013-05-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
48119
48120 * Merged multicoreware/xhevc into default
48121 [8718c6433394]
48122
48123 2013-05-17 sumalatha <sumalatha>
48124
48125 * source/tools/performanceProfiler/Profiler.bat,
48126 source/tools/performanceProfiler/Readme.txt,
48127 source/tools/performanceProfiler/config.txt,
48128 source/tools/performanceProfiler/performanceProfiler.bat:
48129 Modified the testing scripts for running both yuv files and y4m
48130 files also
48131 [d37656a0c5ca]
48132
48133 2013-05-17 Deepthi <Deepthi>
48134
48135 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
48136 More refinement of early abort conditions
48137 [67bf72b8a743]
48138
48139 * Merge
48140 [9e411b77d861]
48141
48142 * source/Lib/TLibEncoder/TEncCu.cpp:
48143 refining early abort
48144 [404f0e8cd3e6]
48145
48146 * source/Lib/TLibEncoder/TEncCu.cpp:
48147 fixing the decoder crash
48148 [539b0fbd82fe]
48149
48150 * source/Lib/TLibEncoder/TEncCu.cpp:
48151 remove PCM for now
48152 [519dd09ead40]
48153
48154 * source/Lib/TLibEncoder/TEncCu.cpp:
48155 Remove AMP for now from EARLY_ABORT mode decision
48156 [53ace900d5ba]
48157
48158 2013-05-17 Steve Borho <steve@borho.org>
48159
48160 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp:
48161 TEncSearch: pass neighbor MVs to motionEstimate (UMH seems to
48162 require them)
48163 [a0e0b589aa92]
48164
48165 2013-05-17 ggopu <ggopu>
48166
48167 * source/encoder/motion.cpp:
48168 Motion Estimation : UMH implementation stage 1
48169 [94746841ea03]
48170
48171 2013-05-16 Gopu G <gopu@multicorewareinc.com>
48172
48173 * Merged multicoreware/xhevc into default
48174 [526f1f214b82]
48175
48176 * Merged multicoreware/xhevc into default
48177 [197dcdbb270f]
48178
48179 2013-05-14 Gopu G <gopu@multicorewareinc.com>
48180
48181 * source/test/timer.cpp:
48182 Merged multicoreware/xhevc into default
48183 [dde8e0582a9b]
48184
48185 2013-05-13 Gopu G <gopu@multicorewareinc.com>
48186
48187 * Merged multicoreware/xhevc into default
48188 [2b1a79979ce5]
48189
48190 2013-05-13 ggopu <ggopu>
48191
48192 * source/encoder/motion.cpp:
48193 Motion Estimation : UMH implementation stage 1
48194 [a599997fbd20]
48195
48196 2013-05-16 Steve Borho <steve@borho.org>
48197
48198 * source/x265main.cpp:
48199 vld: add assert for zero leaks (DEBUG only)
48200 [2c3c0dfb5f83]
48201
48202 * source/x265main.cpp:
48203 x265main: explicit allocation and deallocation of TAppEncTop
48204 [97d5b00ab35a]
48205
48206 * source/Lib/TLibCommon/TComPicYuv.cpp:
48207 TComPicYuv: TComPicYuv are re-used, check before allocating subpel
48208 buffers
48209 [c98229f4a65d]
48210
48211 * source/x265cfg.cpp, source/x265cfg.h:
48212 x265cfg: release thread pool handle at exit
48213 [b0919ee9a22e]
48214
48215 * source/x265main.cpp:
48216 x265main: ask VLD to output the leak log to the debugger output
48217 console
48218
48219 This way the leak report survives after the run.
48220 [cadb1c11d2ef]
48221
48222 * source/CMakeLists.txt, source/cmake/FindVLD.cmake,
48223 source/x265main.cpp:
48224 cmake: add detection and use of Visual Leak Detector
48225 [70519a482e47]
48226
48227 * source/Lib/TLibEncoder/TEncGOP.cpp:
48228 TEncGOP: disable printing of per-frame encode time, prune unused
48229 lists
48230
48231 This just makes the frame logs non-deterministic.
48232 [90aa43526097]
48233
48234 * source/Lib/TLibEncoder/TEncGOP.cpp:
48235 TEncGOP: fix EOLN
48236 [297851df497a]
48237
48238 * build/linux/batch.py:
48239 write batch outputs into a folder
48240 [603fef620960]
48241
48242 * build/linux/batch.py:
48243 add MD5 hashes to batch run output log
48244 [095771f6dbaa]
48245
48246 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, source/x265cfg.cpp:
48247 remove filenames from configuration files
48248
48249 Hard-code the default filename for an output stream. Default to no
48250 recon output file if none is specified on the CLI.
48251 [b6b24bd0e966]
48252
48253 2013-05-16 Deepthi <Deepthi>
48254
48255 * source/Lib/TLibEncoder/TEncCu.cpp:
48256 Preserving the original xcompressCU implementation until the
48257 EARLY_PARTITION_DECISION mode has been fully debugged.
48258 [d246be5c803a]
48259
48260 2013-05-16 Steve Borho <steve@borho.org>
48261
48262 * source/tools/CMakeLists.txt:
48263 backout change to source/tools/CMakeLists.txt
48264
48265 The performanceProfiler/ folder has no CMakeLists.txt within it.
48266 [6215d24d1f59]
48267
48268 2013-05-16 sumalatha <sumalatha>
48269
48270 * source/tools/CMakeLists.txt,
48271 source/tools/performanceProfiler/Profiler.bat,
48272 source/tools/performanceProfiler/Readme.txt,
48273 source/tools/performanceProfiler/config.txt,
48274 source/tools/performanceProfiler/performanceProfiler.bat:
48275 Added the scripts for validating the encoded bitstream(running HM
48276 decoder) and measuring the the performance like PSNR values,
48277 Timetaken for encoing and the bytes written in encoded bitstream.
48278 For running the scripts, use Readme.txt
48279 [56ba4fb6b574]
48280
48281 2013-05-16 Deepthi <Deepthi>
48282
48283 * Merge
48284 [2f469b1dc95c]
48285
48286 * source/Lib/TLibEncoder/TEncCu.cpp:
48287 Cleanup
48288 [d258fac8d99d]
48289
48290 * source/Lib/TLibEncoder/TEncCu.cpp:
48291 AMP after 2nxn, nx2n, if at all
48292 [091ddf1c5724]
48293
48294 * source/Lib/TLibEncoder/TEncCu.cpp:
48295 2nxn and nx2n comparisons only if nxn mode better than 2nx2n
48296 [e24d7b31af7d]
48297
48298 * source/Lib/TLibEncoder/TEncCu.cpp:
48299 Cleanup; remove erroneous paths
48300 [0b8a18bc5914]
48301
48302 * source/Lib/TLibEncoder/TEncCu.cpp:
48303 merge error
48304 [30df17dc5923]
48305
48306 * source/Lib/TLibEncoder/TEncCu.cpp:
48307 Initial version of compare 2nx2n with sum of nxn costs
48308 [7b58edb59bae]
48309
48310 * source/Lib/TLibEncoder/TEncCu.cpp:
48311 Getting rid of EARLY_PARITION_DECISION macro (temporarily)
48312 [079ddf89b5d5]
48313
48314 * source/Lib/TLibEncoder/TEncCu.cpp:
48315 Init Sub CUs to prevent crash when early detection is OFF
48316 [db9215642791]
48317
48318 * source/Lib/TLibEncoder/TEncCu.cpp:
48319 Scalar expansion for subCUs
48320 [034adf2f6077]
48321
48322 2013-05-15 Deepthi <Deepthi>
48323
48324 * source/Lib/TLibEncoder/TEncCu.cpp:
48325 Tab fixes
48326 [e1300ac7706a]
48327
48328 2013-05-16 Steve Borho <steve@borho.org>
48329
48330 * build/linux/batch.py:
48331 add a batch launch script for litespeed server
48332 [b30e0de1a6ee]
48333
48334 2013-05-15 Steve Borho <steve@borho.org>
48335
48336 * source/encoder/x86/asm-primitives.cpp:
48337 asm: fix a bug found by x86-64 linux and GDB
48338 [ecf99ffdc0c6]
48339
48340 * source/encoder/vec/vecprimitives.inc:
48341 vec: GCC needs smmintrin.h for some intrinsics we use in
48342 partialButterfly4
48343 [5f71cc4e88e4]
48344
48345 * source/VectorClass/vectori128.h:
48346 vector: use correct build define for fromUint64
48347 [34a4b0cbd857]
48348
48349 * source/CMakeLists.txt:
48350 cmake: reverse yasm version logic, so all versions less than 1.2.0
48351 rejected
48352
48353 previous logic was allowing 1.1.0.X
48354 [5796f6b06a15]
48355
48356 2013-05-15 Min Chen <min.chen@multicorewareinc.com>
48357
48358 * source/Lib/TLibEncoder/TEncSlice.cpp,
48359 source/Lib/TLibEncoder/TEncSlice.h:
48360 thread: [NEED VERIFY] modify logic about m_pcBufferSbacCoders, from
48361 [sliceID] to [wpp_line]
48362 --- source/Lib/TLibEncoder/TEncSlice.cpp | 21 +++++++++++----------
48363 source/Lib/TLibEncoder/TEncSlice.h | 2 +- 2 files changed, 12
48364 insertions(+), 11 deletions(-)
48365 [8328dc3293fb]
48366
48367 * source/Lib/TLibEncoder/TEncSlice.cpp:
48368 thread: [NEED VERIFY] simplify logic about WPP SBAC context manage
48369 --- source/Lib/TLibEncoder/TEncSlice.cpp | 24
48370 ++++++------------------ 1 files changed, 6 insertions(+), 18
48371 deletions(-)
48372 [7e8190b7ce6b]
48373
48374 2013-05-15 Steve Borho <steve@borho.org>
48375
48376 * source/CMakeLists.txt, source/cmake/FindYasm.cmake,
48377 source/cmake/version.cmake:
48378 cmake: detect and enforce minimal YASM version
48379
48380 x264 assembly code requires YASM 1.2.0 (for AVX2, etc)
48381 [38d4e63a1d87]
48382
48383 2013-05-15 Min Chen <min.chen@multicorewareinc.com>
48384
48385 * source/Lib/TLibEncoder/TEncSlice.cpp:
48386 thread: remove reduce call to m_pcCfg->getWaveFrontsynchro()
48387 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 ++- 1 files changed, 2
48388 insertions(+), 1 deletions(-)
48389 [71af0137057f]
48390
48391 * source/Lib/TLibEncoder/TEncSlice.cpp:
48392 thread: move define of uiCUAddr into loop
48393 --- source/Lib/TLibEncoder/TEncSlice.cpp | 4 +--- 1 files changed, 1
48394 insertions(+), 3 deletions(-)
48395 [7b7e8aa6e785]
48396
48397 * source/Lib/TLibEncoder/TEncSlice.cpp:
48398 thread: simplify uiSubStrm
48399 --- source/Lib/TLibEncoder/TEncSlice.cpp | 4 ++-- 1 files changed, 2
48400 insertions(+), 2 deletions(-)
48401 [de144fc9cc62]
48402
48403 2013-05-15 Steve Borho <steve@borho.org>
48404
48405 * source/test/intrapredharness.cpp, source/test/testbench.cpp:
48406 testbench: GCC compilation fixes
48407 [2801d32f7a03]
48408
48409 * source/cmake/version.cmake:
48410 cmake: avoid use of HG find_package
48411 [b04ee03ff736]
48412
48413 * source/encoder/common.cpp:
48414 GCC compilation fix
48415 [1fb1106c2e4b]
48416
48417 * source/encoder/vec/macroblock.inc:
48418 macroblock: enable partialButterfly4 for X86_64 builds only
48419
48420 The primitive does not compile on x86
48421 [21836779c4fd]
48422
48423 2013-05-15 Deepthi <Deepthi>
48424
48425 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
48426 source/test/timer.cpp, source/x265.h, source/x265cfg.cpp,
48427 source/x265enc.cpp:
48428 Merge
48429 [fe8ccdde67f6]
48430
48431 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
48432 source/x265.h, source/x265cfg.cpp, source/x265enc.cpp:
48433 Early CU option removed.
48434 [e7ab5425ab23]
48435
48436 * source/Lib/TLibEncoder/TEncCu.cpp:
48437 More useless skip control variables removed.
48438 [ba4bd338e345]
48439
48440 * source/Lib/TLibCommon/CommonDef.h,
48441 source/Lib/TLibEncoder/TEncCu.cpp:
48442 Removing extraneous SKIP macros. A more relevant Skip threshold
48443 macro can be added later.
48444 [72079ab73e34]
48445
48446 2013-05-15 praveentiwari <praveentiwari>
48447
48448 * source/encoder/macroblock.cpp:
48449 C primitive for partialButterfly4
48450 [ae0b9dbfa305]
48451
48452 2013-05-14 Min Chen <min.chen@multicorewareinc.com>
48453
48454 * source/VectorClass/vectori128.h:
48455 vector128i: fix bug report by Shazeb, it don't broad to high element
48456 --- source/VectorClass/vectori128.h | 13 +++++++++---- 1 files
48457 changed, 9 insertions(+), 4 deletions(-)
48458 [285509a3c2b1]
48459
48460 * source/Lib/TLibEncoder/TEncGOP.cpp:
48461 cleanup: remove code for loop
48462 --- source/Lib/TLibEncoder/TEncGOP.cpp | 27
48463 ++++----------------------- 1 files changed, 4 insertions(+), 23
48464 deletions(-)
48465 [175911f4f3ab]
48466
48467 * source/Lib/TLibEncoder/TEncGOP.cpp,
48468 source/Lib/TLibEncoder/TEncSlice.cpp,
48469 source/Lib/TLibEncoder/TEncSlice.h:
48470 cleanup: remove code for boundingCUAddr
48471 --- source/Lib/TLibEncoder/TEncGOP.cpp | 3 +--
48472 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++++++--------------
48473 source/Lib/TLibEncoder/TEncSlice.h | 2 +- 3 files changed, 8
48474 insertions(+), 17 deletions(-)
48475 [7bd6922d4d68]
48476
48477 * source/Lib/TLibEncoder/TEncSlice.cpp:
48478 thread: simplify, uiTotalCUs always multiple of CUSize
48479 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 ++- 1 files changed, 2
48480 insertions(+), 1 deletions(-)
48481 [62a3a423b4a3]
48482
48483 * source/Lib/TLibCommon/TComSlice.cpp,
48484 source/Lib/TLibCommon/TComSlice.h,
48485 source/Lib/TLibEncoder/TEncCavlc.cpp,
48486 source/Lib/TLibEncoder/TEncCfg.h,
48487 source/Lib/TLibEncoder/TEncGOP.cpp,
48488 source/Lib/TLibEncoder/TEncSlice.cpp,
48489 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
48490 source/x265cfg.cpp, source/x265enc.cpp:
48491 thread: simplify, iNumSubstreams always equal to maxCUHeight
48492 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
48493 source/Lib/TLibCommon/TComSlice.h | 6 ------
48494 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
48495 source/Lib/TLibEncoder/TEncCfg.h | 5 -----
48496 source/Lib/TLibEncoder/TEncGOP.cpp | 12 +++++++-----
48497 source/Lib/TLibEncoder/TEncSlice.cpp | 31
48498 +++++++++++++++++++------------ source/Lib/TLibEncoder/TEncTop.cpp |
48499 7 ------- source/x265.h | 1 - source/x265cfg.cpp | 5 +----
48500 source/x265enc.cpp | 1 - 10 files changed, 28 insertions(+), 43
48501 deletions(-)
48502 [05b33c3d0ca5]
48503
48504 * source/Lib/TLibEncoder/TEncSlice.cpp:
48505 thread: don't calculate uiLin and uiCol from uiCUAddr, they are
48506 for_loop now
48507 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 --- 1 files changed, 0
48508 insertions(+), 3 deletions(-)
48509 [620f08b2c1ae]
48510
48511 * source/Lib/TLibEncoder/TEncGOP.cpp,
48512 source/Lib/TLibEncoder/TEncGOP.h:
48513 cleanup: remove unused code for startCUAddrSliceSegment
48514 --- source/Lib/TLibEncoder/TEncGOP.cpp | 29
48515 ++++------------------------- source/Lib/TLibEncoder/TEncGOP.h | 1 -
48516 2 files changed, 4 insertions(+), 26 deletions(-)
48517 [f9011428cf05]
48518
48519 * source/Lib/TLibCommon/TComSlice.cpp,
48520 source/Lib/TLibCommon/TComSlice.h,
48521 source/Lib/TLibEncoder/TEncGOP.cpp,
48522 source/Lib/TLibEncoder/TEncSlice.cpp:
48523 cleanup: remove unused code for nextSliceSegment
48524 --- source/Lib/TLibCommon/TComSlice.cpp | 2 --
48525 source/Lib/TLibCommon/TComSlice.h | 5 -----
48526 source/Lib/TLibEncoder/TEncGOP.cpp | 21 +--------------------
48527 source/Lib/TLibEncoder/TEncSlice.cpp | 1 - 4 files changed, 1
48528 insertions(+), 28 deletions(-)
48529 [1e6f773bc6d0]
48530
48531 * source/Lib/TLibCommon/TComSlice.cpp,
48532 source/Lib/TLibCommon/TComSlice.h,
48533 source/Lib/TLibEncoder/TEncCavlc.cpp,
48534 source/Lib/TLibEncoder/TEncCu.cpp,
48535 source/Lib/TLibEncoder/TEncGOP.cpp,
48536 source/Lib/TLibEncoder/TEncSlice.cpp:
48537 cleanup: simplify since sliceSegmentCurEndCUAddr always equal to
48538 sliceCurEndCUAddr
48539 --- source/Lib/TLibCommon/TComSlice.cpp | 2 --
48540 source/Lib/TLibCommon/TComSlice.h | 5 -----
48541 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
48542 source/Lib/TLibEncoder/TEncCu.cpp | 16 ++++++++--------
48543 source/Lib/TLibEncoder/TEncGOP.cpp | 12 ++++++------
48544 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++------------------ 6
48545 files changed, 17 insertions(+), 40 deletions(-)
48546 [311b199d9062]
48547
48548 * source/Lib/TLibEncoder/TEncSlice.cpp:
48549 thread: ident, no code changes
48550 --- source/Lib/TLibEncoder/TEncSlice.cpp | 217
48551 +++++++++++++++++----------------- 1 files changed, 108
48552 insertions(+), 109 deletions(-)
48553 [e0e64a6d4690]
48554
48555 * source/Lib/TLibEncoder/TEncSlice.cpp:
48556 thread: replace while_loop to row/col for_loop
48557 --- source/Lib/TLibEncoder/TEncSlice.cpp | 16 +++++++++++++--- 1
48558 files changed, 13 insertions(+), 3 deletions(-)
48559 [ede2db9aabaf]
48560
48561 * source/Lib/TLibEncoder/TEncSlice.cpp:
48562 cleanup: remove unused TilesCol, etc
48563 --- source/Lib/TLibEncoder/TEncSlice.cpp | 38
48564 +++++++++------------------------- 1 files changed, 10
48565 insertions(+), 28 deletions(-)
48566 [95f330abd287]
48567
48568 * source/Lib/TLibEncoder/TEncSlice.cpp:
48569 cleanup: replace uiEncCUOrder to uiCUAddr since they always equal
48570 --- source/Lib/TLibEncoder/TEncSlice.cpp | 8 +++----- 1 files
48571 changed, 3 insertions(+), 5 deletions(-)
48572 [19fc43ebdd8f]
48573
48574 * source/Lib/TLibEncoder/TEncGOP.cpp,
48575 source/Lib/TLibEncoder/TEncSlice.cpp,
48576 source/Lib/TLibEncoder/TEncSlice.h:
48577 cleanup: StartCUAddr always zero
48578 --- source/Lib/TLibEncoder/TEncGOP.cpp | 3 +--
48579 source/Lib/TLibEncoder/TEncSlice.cpp | 10 ++++------
48580 source/Lib/TLibEncoder/TEncSlice.h | 2 +- 3 files changed, 6
48581 insertions(+), 9 deletions(-)
48582 [aad01f6a7122]
48583
48584 2013-05-14 Steve Borho <steve@borho.org>
48585
48586 * source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
48587 source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
48588 source/test/testharness.h:
48589 testharness: simplify REPORT_SPEEDUP, use varargs to avoid bugs
48590 [ae526ecaa5d4]
48591
48592 * source/test/CMakeLists.txt, source/test/intrapredharness.cpp,
48593 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
48594 source/test/pixelharness.cpp, source/test/testharness.h,
48595 source/test/timer.cpp:
48596 testbench: remove unused timer class
48597 [78a8595b98aa]
48598
48599 * source/test/testbench.cpp:
48600 nits
48601 [21e04f3d8f9c]
48602
48603 * source/encoder/vec/macroblock.inc:
48604 macroblock: disable partialButterfly4 for 32bit builds
48605 (_mm_cvtsi64_si128)
48606
48607 The _mm_cvtsi64_si128 instrinsic is only supported in 64bit
48608 executables
48609 [91a94c5f2272]
48610
48611 * source/encoder/vec/intrapred.inc:
48612 intrapred: use X86_64 instead of _WIN64
48613 [1116d281a461]
48614
48615 * source/CMakeLists.txt:
48616 cmake: add X86_64 define for 64bit builds
48617 [abee2d651a02]
48618
48619 * Merged in shazebnawazkhan/xhevc_shazeb (pull request #141)
48620
48621 Pred Intra Planar 16x16 vectorization
48622 [2d32d38d62dc]
48623
48624 2013-05-14 Deepthi Devaki <Deepthi Devaki>
48625
48626 * Merge
48627 [1b9b6880f410]
48628
48629 * source/encoder/vec/intrapred.inc:
48630 uncrustified intrapred.inc
48631 [c23f7530165e]
48632
48633 * source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
48634 Pred Intra Planar 16x16 vectorization
48635 [6ce476cd2d2e]
48636
48637 2013-05-14 Steve Borho <steve@borho.org>
48638
48639 * source/test/mbdstharness.cpp:
48640 mbdstharness: remove redundant enum
48641 [84e91a173197]
48642
48643 * source/encoder/vec/macroblock.inc:
48644 macroblock: disable BUTTERFLY_4 until it as a C reference
48645 [b449fc77bbe6]
48646
48647 * source/test/testbench.cpp:
48648 testbench: zero C primitive struct to better isolate missing C
48649 primitives
48650 [70c55c6ce1d1]
48651
48652 2013-05-14 praveentiwari <praveentiwari>
48653
48654 * source/test/mbdstharness.h:
48655 Added extra buffer for intrinsic code test
48656 [c8edec8e1333]
48657
48658 * source/encoder/vec/macroblock.inc:
48659 Intrinsic Code for partialButterfly4
48660 [e5df64c80123]
48661
48662 2013-05-14 praveen Tiwari <praveen@multicorewareinc.com>
48663
48664 * Merged multicoreware/xhevc into default
48665 [f66250dd1d07]
48666
48667 * Merged multicoreware/xhevc into default
48668 [426cf8c7b3d5]
48669
48670 2013-05-14 praveentiwari <praveentiwari>
48671
48672 * source/test/mbdstharness.cpp:
48673 Test code for PartialButterfly4 intrisic code
48674 [7a499330e879]
48675
48676 2013-05-14 Deepthi <Deepthi>
48677
48678 * Merge
48679 [36cb4e19eebf]
48680
48681 * source/Lib/TLibEncoder/TEncCu.cpp:
48682 Modify mode decision to include NxN cost as well
48683 [f7654615b959]
48684
48685 2013-05-14 Deepthi Devaki <Deepthi Devaki>
48686
48687 * Merge
48688 [2446e9744085]
48689
48690 * source/encoder/vec/intrapred.inc:
48691 Predict intraplanar 8x8 - vector implementation
48692 [fab3b59f778a]
48693
48694 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
48695 Predict IntraPlanar - unit test integration
48696 [018bdfa8fd47]
48697
48698 2013-05-14 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
48699
48700 * build/BuildEncoderApplications.bat,
48701 build/RunEncoderApplications.bat:
48702 Removed ENABLE_PRIMITIVES macro from Regression test
48703 [73c2de1b5707]
48704
48705 * Merge
48706 [f65050f97357]
48707
48708 * build/BuildEncoderApplications.bat,
48709 build/CreateRegressionPackage.bat, build/RunEncoderApplications.bat,
48710 build/config.txt:
48711 Modified RegressionTest script for 8bit and 16bit
48712 [3ca347cc6859]
48713
48714 2013-05-14 Deepthi <Deepthi>
48715
48716 * source/Lib/TLibEncoder/TEncCu.cpp:
48717 Removing abortflag control - performance and bitrate impact mostly
48718 positive
48719 [93f0085d2164]
48720
48721 * source/Lib/TLibEncoder/TEncCu.cpp:
48722 Modifying the recursion abort condition
48723 [17c1d43da9dd]
48724
48725 * source/Lib/TLibEncoder/TEncCu.cpp:
48726 Fix for compile error with early partition select ON.
48727 [3001e773bc64]
48728
48729 2013-05-13 Deepthi <Deepthi>
48730
48731 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp:
48732 Early exit for partition selection - macro defined. Will be disabled
48733 by default - bitcost too high.
48734 [0d8b88594b0b]
48735
48736 2013-05-13 sumalatha <sumalatha>
48737
48738 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
48739 renamed the macro QUALITYFACTOR to LAMBDA_PARTITION_SELECT
48740 [4bc94e0e7cc6]
48741
48742 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
48743 source/Lib/TLibEncoder/TEncCu.h:
48744 Made optimizations on xcompressCU - to check the cost of each 2Nx2N
48745 block with the corresponding cost of the same CU with NxN partition.
48746 Aborts recursion if 2Nx2N mode is better.
48747 [6da859408e68]
48748
48749 2013-05-12 Steve Borho <steve@borho.org>
48750
48751 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
48752 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
48753 source/Lib/TLibEncoder/TEncGOP.cpp,
48754 source/Lib/TLibEncoder/TEncGOP.h, source/x265.h, source/x265cfg.cpp,
48755 source/x265enc.cpp:
48756 remove frame packing SEI
48757
48758 This packet only contained data passed in by the user. They can
48759 generate it themselves
48760 [4751ca1eb836]
48761
48762 * source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
48763 source/Lib/TLibCommon/TypeDef.h,
48764 source/Lib/TLibEncoder/SEIwrite.cpp,
48765 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
48766 source/Lib/TLibEncoder/TEncGOP.cpp,
48767 source/Lib/TLibEncoder/TEncGOP.h, source/x265.h, source/x265cfg.cpp,
48768 source/x265enc.cpp:
48769 remove J0149_TONE_MAPPING_SEI
48770
48771 If an app wants to generate this SEI, they can do so themselves.
48772 There's no point cluttering the encoder with metadata like this.
48773 [424003ca7043]
48774
48775 * source/x265cfg.cpp:
48776 x265cfg: do not print chroma QP offsets if they are 0
48777 [3c01f9d9dd2b]
48778
48779 * source/Lib/TLibCommon/TComDataCU.cpp,
48780 source/Lib/TLibEncoder/TEncCavlc.cpp,
48781 source/Lib/TLibEncoder/TEncSlice.cpp:
48782 cleanup unused variable warnings found by GCC
48783 [e8dff9af77dd]
48784
48785 * source/Lib/TLibEncoder/TEncSearch.cpp,
48786 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/motion.cpp,
48787 source/encoder/primitives.cpp, source/encoder/primitives.h,
48788 source/test/testharness.h, source/test/timer.cpp:
48789 primitives: fix EMMS calls from the HM libraries, make compiler safe
48790
48791 Use inline when available, else use ASM version of EMMS
48792 [6e85e3e865d6]
48793
48794 * source/x265cfg.cpp:
48795 x265cfg: white-space tweaks, no code changes
48796 [51d8de167925]
48797
48798 * build/BuildEncoderApplications.bat,
48799 build/CreateRegressionPackage.sh, source/CMakeLists.txt,
48800 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
48801 source/Lib/TLibCommon/TComPicYuv.cpp,
48802 source/Lib/TLibCommon/TComPrediction.cpp,
48803 source/Lib/TLibCommon/TComTrQuant.cpp,
48804 source/Lib/TLibCommon/TComYuv.cpp,
48805 source/Lib/TLibEncoder/TEncSearch.cpp,
48806 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/CMakeLists.txt,
48807 source/encoder/motion.cpp, source/encoder/primitives.cpp,
48808 source/test/CMakeLists.txt, source/test/testbench.cpp:
48809 cleanup: remove ENABLE_PRIMITIVES cmake build option, always enabled
48810 [5eecf2d019c8]
48811
48812 * source/Lib/TLibEncoder/TEncSearch.cpp:
48813 cleanup: remove redundant brace levels, no logic changes
48814 [d0e3af235277]
48815
48816 * source/Lib/TLibEncoder/TEncSearch.cpp:
48817 cleanup: remove unnecessary x264_cpu_emms()
48818 [69df9f38425b]
48819
48820 * source/Lib/TLibEncoder/TEncCu.cpp:
48821 cleanup: remove extra levels of indent in TEncCU.cpp, no logic
48822 changes
48823 [77c5d4ff7ef6]
48824
48825 * source/Lib/TLibEncoder/TEncCu.cpp:
48826 cleanup: remove iMinQP
48827 [0ded36ddaf39]
48828
48829 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
48830 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
48831 source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.h,
48832 source/x265cfg.cpp, source/x265enc.cpp:
48833 remove FEN configurable, assume always true
48834 [cbfcb9ccee64]
48835
48836 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
48837 source/Lib/TLibEncoder/TEncCfg.h,
48838 source/Lib/TLibEncoder/TEncSlice.cpp,
48839 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
48840 source/x265cfg.cpp, source/x265enc.cpp:
48841 remove max delta QP configuration logic
48842 [08005afcd2a1]
48843
48844 * source/Lib/TLibEncoder/TEncCu.cpp:
48845 TEncCu: prune per-CU multiple QP logic
48846
48847 When we add/enable rate control, each CU will only be coded once
48848 with its determined QP. We won't be encoding the CU multiple times
48849 for RDO
48850 [83146bab2aa7]
48851
48852 * source/Lib/TLibEncoder/TEncCu.cpp:
48853 TEncCU: rename rpcCU to pcCu since it is no longer a reference
48854 [25567c1a1191]
48855
48856 2013-05-11 Steve Borho <steve@borho.org>
48857
48858 * source/Lib/TLibEncoder/TEncSlice.cpp,
48859 source/Lib/TLibEncoder/TEncSlice.h:
48860 remove slice-level per-delta QP and lambda
48861 [1cb2a420f6b2]
48862
48863 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
48864 source/Lib/TLibEncoder/TEncCfg.h,
48865 source/Lib/TLibEncoder/TEncGOP.cpp,
48866 source/Lib/TLibEncoder/TEncSlice.cpp,
48867 source/Lib/TLibEncoder/TEncSlice.h, source/x265.h,
48868 source/x265cfg.cpp, source/x265enc.cpp:
48869 remove slice-level multiple-QP rate distortion loop
48870 [a30ec6c0bbbd]
48871
48872 * source/Lib/TLibEncoder/TEncSlice.cpp:
48873 tpyo fix
48874 [6088dbb69829]
48875
48876 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
48877 source/Lib/TLibEncoder/TEncGOP.cpp,
48878 source/Lib/TLibEncoder/TEncSearch.cpp,
48879 source/Lib/TLibEncoder/TEncSearch.h,
48880 source/Lib/TLibEncoder/TEncSlice.cpp,
48881 source/Lib/TLibEncoder/TEncTop.cpp:
48882 uncrustify: tidy white-space
48883 [383ac352dde6]
48884
48885 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
48886 remove no longer supported config options
48887 [107e039f90b1]
48888
48889 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
48890 source/Lib/TLibEncoder/TEncCu.h,
48891 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
48892 source/Lib/TLibEncoder/TEncSlice.cpp,
48893 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
48894 source/x265cfg.cpp, source/x265enc.cpp:
48895 merge with slice/tile removal
48896 [d9ed2c77f27f]
48897
48898 * source/x265cfg.cpp:
48899 don't print configurations that cannot change
48900 [55084a3b3d5e]
48901
48902 2013-05-11 Min Chen <min.chen@multicorewareinc.com>
48903
48904 * source/Lib/TLibEncoder/TEncCu.cpp:
48905 cleanup: remove code for bSliceStart
48906 --- source/Lib/TLibEncoder/TEncCu.cpp | 9 +++------ 1 files changed,
48907 3 insertions(+), 6 deletions(-)
48908 [555278f25dfd]
48909
48910 * source/Lib/TLibCommon/TComDataCU.cpp,
48911 source/Lib/TLibCommon/TComDataCU.h,
48912 source/Lib/TLibCommon/TComSlice.cpp,
48913 source/Lib/TLibCommon/TComSlice.h,
48914 source/Lib/TLibEncoder/TEncCavlc.cpp,
48915 source/Lib/TLibEncoder/TEncCu.cpp,
48916 source/Lib/TLibEncoder/TEncGOP.cpp,
48917 source/Lib/TLibEncoder/TEncSlice.cpp:
48918 cleanup: remove code for sliceStartCU
48919 --- source/Lib/TLibCommon/TComDataCU.cpp | 169
48920 +++-------------------------------
48921 source/Lib/TLibCommon/TComDataCU.h | 4 -
48922 source/Lib/TLibCommon/TComSlice.cpp | 4 -
48923 source/Lib/TLibCommon/TComSlice.h | 10 --
48924 source/Lib/TLibEncoder/TEncCavlc.cpp | 18 +---
48925 source/Lib/TLibEncoder/TEncCu.cpp | 35 ++------
48926 source/Lib/TLibEncoder/TEncGOP.cpp | 24 +-----
48927 source/Lib/TLibEncoder/TEncSlice.cpp | 130
48928 ++++----------------------- 8 files changed, 44 insertions(+), 350
48929 deletions(-)
48930 [b4d10409be04]
48931
48932 * source/Lib/TLibCommon/TComSlice.cpp,
48933 source/Lib/TLibCommon/TComSlice.h,
48934 source/Lib/TLibEncoder/TEncCavlc.cpp,
48935 source/Lib/TLibEncoder/TEncSlice.cpp,
48936 source/Lib/TLibEncoder/TEncTop.cpp:
48937 cleanup: remove unused code since dependentSliceSegmentsEnabledFlag
48938 always false
48939 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
48940 source/Lib/TLibCommon/TComSlice.h | 5 -
48941 source/Lib/TLibEncoder/TEncCavlc.cpp | 6 +-
48942 source/Lib/TLibEncoder/TEncSlice.cpp | 156
48943 +-------------------------------- source/Lib/TLibEncoder/TEncTop.cpp
48944 | 12 --- 5 files changed, 6 insertions(+), 174 deletions(-)
48945 [cc4d3b223d18]
48946
48947 * source/Lib/TLibCommon/TComPicSym.cpp,
48948 source/Lib/TLibCommon/TComPicSym.h:
48949 cleanup: remove unused xCalculateNxtCUAddr
48950 --- source/Lib/TLibCommon/TComPicSym.cpp | 25
48951 ------------------------- source/Lib/TLibCommon/TComPicSym.h | 1 - 2
48952 files changed, 0 insertions(+), 26 deletions(-)
48953 [d00c47bdfe0a]
48954
48955 * source/Lib/TLibCommon/TComPicSym.cpp,
48956 source/Lib/TLibCommon/TComPicSym.h,
48957 source/Lib/TLibEncoder/TEncGOP.cpp,
48958 source/Lib/TLibEncoder/TEncSlice.cpp:
48959 cleanup: remove class TComTile
48960 --- source/Lib/TLibCommon/TComPicSym.cpp | 41
48961 +-------------------------------- source/Lib/TLibCommon/TComPicSym.h
48962 | 31 ------------------------- source/Lib/TLibEncoder/TEncGOP.cpp |
48963 6 ----- source/Lib/TLibEncoder/TEncSlice.cpp | 17 ++++++------- 4
48964 files changed, 10 insertions(+), 85 deletions(-)
48965 [1b10f4a0ab74]
48966
48967 * source/Lib/TLibCommon/TComPicSym.cpp,
48968 source/Lib/TLibCommon/TComPicSym.h,
48969 source/Lib/TLibEncoder/TEncGOP.cpp:
48970 cleanup: cleanup code for getTileWidth and getTileHeight
48971 --- source/Lib/TLibCommon/TComPicSym.cpp | 12 +++++-------
48972 source/Lib/TLibCommon/TComPicSym.h | 10 ----------
48973 source/Lib/TLibEncoder/TEncGOP.cpp | 7 ------- 3 files changed, 5
48974 insertions(+), 24 deletions(-)
48975 [097f2b0c2d72]
48976
48977 * source/Lib/TLibCommon/TComPicSym.cpp,
48978 source/Lib/TLibCommon/TComPicSym.h,
48979 source/Lib/TLibEncoder/TEncCu.cpp,
48980 source/Lib/TLibEncoder/TEncGOP.cpp,
48981 source/Lib/TLibEncoder/TEncSlice.cpp:
48982 cleanup: cleanup code for getPicSCUEncOrder and getPicSCUAddr
48983 --- source/Lib/TLibCommon/TComPicSym.cpp | 10 ----------
48984 source/Lib/TLibCommon/TComPicSym.h | 2 --
48985 source/Lib/TLibEncoder/TEncCu.cpp | 6 +++---
48986 source/Lib/TLibEncoder/TEncGOP.cpp | 6 +++---
48987 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++++++++++---------- 5
48988 files changed, 16 insertions(+), 28 deletions(-)
48989 [96f911caef7c]
48990
48991 * source/Lib/TLibCommon/TComDataCU.cpp,
48992 source/Lib/TLibCommon/TComPic.cpp,
48993 source/Lib/TLibCommon/TComPicSym.cpp,
48994 source/Lib/TLibCommon/TComPicSym.h,
48995 source/Lib/TLibEncoder/TEncCavlc.cpp,
48996 source/Lib/TLibEncoder/TEncCu.cpp,
48997 source/Lib/TLibEncoder/TEncGOP.cpp,
48998 source/Lib/TLibEncoder/TEncSlice.cpp:
48999 cleanup: cleanup more code for CUOrderMap
49000 --- source/Lib/TLibCommon/TComDataCU.cpp | 24
49001 ++++++++++++------------ source/Lib/TLibCommon/TComPic.cpp | 4 ++--
49002 source/Lib/TLibCommon/TComPicSym.cpp | 4 ++--
49003 source/Lib/TLibCommon/TComPicSym.h | 4 ----
49004 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
49005 source/Lib/TLibEncoder/TEncCu.cpp | 18 +++++++++---------
49006 source/Lib/TLibEncoder/TEncGOP.cpp | 2 +-
49007 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++++++++++---------- 8
49008 files changed, 37 insertions(+), 41 deletions(-)
49009 [7f054fc6613a]
49010
49011 * source/Lib/TLibCommon/TComPicSym.cpp,
49012 source/Lib/TLibCommon/TComPicSym.h,
49013 source/Lib/TLibEncoder/TEncGOP.cpp:
49014 cleanup: cleanup code for CUOrderMap
49015 --- source/Lib/TLibCommon/TComPicSym.cpp | 17 -----------------
49016 source/Lib/TLibCommon/TComPicSym.h | 10 ++--------
49017 source/Lib/TLibEncoder/TEncGOP.cpp | 13 +------------ 3 files
49018 changed, 3 insertions(+), 37 deletions(-)
49019 [68d8a7b12206]
49020
49021 * source/Lib/TLibCommon/TComDataCU.cpp,
49022 source/Lib/TLibCommon/TComDataCU.h,
49023 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
49024 source/Lib/TLibCommon/TComPicSym.cpp,
49025 source/Lib/TLibCommon/TComPicSym.h,
49026 source/Lib/TLibEncoder/TEncGOP.cpp,
49027 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
49028 source/Lib/TLibEncoder/TEncSlice.cpp:
49029 cleanup: cleanup code for tilesIDX
49030 --- source/Lib/TLibCommon/TComDataCU.cpp | 33 +++-----
49031 source/Lib/TLibCommon/TComDataCU.h | 3 +-
49032 source/Lib/TLibCommon/TComPic.cpp | 34 +-------
49033 source/Lib/TLibCommon/TComPic.h | 2 +-
49034 source/Lib/TLibCommon/TComPicSym.cpp | 83 +++-----------------
49035 source/Lib/TLibCommon/TComPicSym.h | 7 +-
49036 source/Lib/TLibEncoder/TEncGOP.cpp | 4 +-
49037 .../Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp | 12 ++--
49038 source/Lib/TLibEncoder/TEncSlice.cpp | 66 +++------------- 9 files
49039 changed, 50 insertions(+), 194 deletions(-)
49040 [b39cd3c37dc4]
49041
49042 * source/Lib/TLibCommon/TComSlice.cpp,
49043 source/Lib/TLibCommon/TComSlice.h,
49044 source/Lib/TLibEncoder/TEncGOP.cpp:
49045 cleanup: remove unused code for uniformSpacingFlag
49046 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
49047 source/Lib/TLibCommon/TComSlice.h | 5 ----
49048 source/Lib/TLibEncoder/TEncGOP.cpp | 37
49049 +--------------------------------- 3 files changed, 2 insertions(+),
49050 41 deletions(-)
49051 [045677ed690d]
49052
49053 * source/Lib/TLibCommon/TComSlice.cpp,
49054 source/Lib/TLibCommon/TComSlice.h,
49055 source/Lib/TLibEncoder/TEncCavlc.cpp,
49056 source/Lib/TLibEncoder/TEncTop.cpp:
49057 cleanup: remove unused code since tilesEnabledFlag always false
49058 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
49059 source/Lib/TLibCommon/TComSlice.h | 5 -----
49060 source/Lib/TLibEncoder/TEncCavlc.cpp | 33
49061 +++------------------------------ source/Lib/TLibEncoder/TEncTop.cpp
49062 | 1 - 4 files changed, 3 insertions(+), 37 deletions(-)
49063 [1766af826d7b]
49064
49065 * source/Lib/TLibEncoder/TEncSlice.cpp:
49066 cleanup: remove unused code since uiTilesAcross always 1
49067 --- source/Lib/TLibEncoder/TEncSlice.cpp | 30
49068 ++++++++---------------------- 1 files changed, 8 insertions(+), 22
49069 deletions(-)
49070 [52069da06f5e]
49071
49072 * source/Lib/TLibCommon/TComSlice.h,
49073 source/Lib/TLibEncoder/TEncCavlc.cpp,
49074 source/Lib/TLibEncoder/TEncCfg.h,
49075 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49076 source/x265cfg.cpp, source/x265enc.cpp:
49077 cleanup: remove code for option TilesFixedStructure
49078 --- source/Lib/TLibCommon/TComSlice.h | 6 ------
49079 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
49080 source/Lib/TLibEncoder/TEncCfg.h | 5 -----
49081 source/Lib/TLibEncoder/TEncTop.cpp | 1 - source/x265.h | 1 -
49082 source/x265cfg.cpp | 1 - source/x265enc.cpp | 1 - 7 files changed, 1
49083 insertions(+), 16 deletions(-)
49084 [38354c90843d]
49085
49086 * source/x265.h, source/x265cfg.cpp, source/x265enc.cpp:
49087 cleanup: remove code for option LFCrossTileBoundaryFlag
49088 --- source/x265.h | 1 - source/x265cfg.cpp | 1 - source/x265enc.cpp |
49089 3 --- 3 files changed, 0 insertions(+), 5 deletions(-)
49090 [5a642068a6b0]
49091
49092 * source/Lib/TLibEncoder/TEncCfg.h,
49093 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49094 source/x265cfg.cpp, source/x265enc.cpp:
49095 cleanup: remove code for options UniformSpacingIdc
49096 --- source/Lib/TLibEncoder/TEncCfg.h | 5 -----
49097 source/Lib/TLibEncoder/TEncTop.cpp | 1 - source/x265.h | 1 -
49098 source/x265cfg.cpp | 1 - source/x265enc.cpp | 1 - 5 files changed, 0
49099 insertions(+), 9 deletions(-)
49100 [868bfad3eaca]
49101
49102 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
49103 source/Lib/TLibEncoder/TEncGOP.cpp:
49104 cleanup: remove unused code in TComPic::createNonDBFilterInfo
49105 --- source/Lib/TLibCommon/TComPic.cpp | 10 +++-------
49106 source/Lib/TLibCommon/TComPic.h | 1 -
49107 source/Lib/TLibEncoder/TEncGOP.cpp | 2 +- 3 files changed, 4
49108 insertions(+), 9 deletions(-)
49109 [96640251b7f3]
49110
49111 * source/x265cfg.cpp:
49112 cleanup: remove unused code since tileFlag always false
49113 --- source/x265cfg.cpp | 30 ++---------------------------- 1 files
49114 changed, 2 insertions(+), 28 deletions(-)
49115 [7bbab452fbb1]
49116
49117 * source/Lib/TLibCommon/TComPicSym.cpp,
49118 source/Lib/TLibCommon/TComPicSym.h,
49119 source/Lib/TLibCommon/TComSlice.cpp,
49120 source/Lib/TLibCommon/TComSlice.h,
49121 source/Lib/TLibEncoder/TEncCavlc.cpp,
49122 source/Lib/TLibEncoder/TEncCfg.h,
49123 source/Lib/TLibEncoder/TEncGOP.cpp,
49124 source/Lib/TLibEncoder/TEncSlice.cpp,
49125 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49126 source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp:
49127 cleanup: remove code for options NumTileColumnsMinus1 and
49128 NumTileRowsMinus1
49129 --- source/Lib/TLibCommon/TComPicSym.cpp | 38 +++++-------
49130 source/Lib/TLibCommon/TComPicSym.h | 12 ----
49131 source/Lib/TLibCommon/TComSlice.cpp | 14 ----
49132 source/Lib/TLibCommon/TComSlice.h | 42 -------------
49133 source/Lib/TLibEncoder/TEncCavlc.cpp | 20 +------
49134 source/Lib/TLibEncoder/TEncCfg.h | 51 ----------------
49135 source/Lib/TLibEncoder/TEncGOP.cpp | 44 ++++----------
49136 source/Lib/TLibEncoder/TEncSlice.cpp | 20 +++---
49137 source/Lib/TLibEncoder/TEncTop.cpp | 73 +----------------------
49138 source/x265.h | 2 - source/x265cfg.cpp | 109
49139 +--------------------------------- source/x265cfg.h | 5 --
49140 source/x265enc.cpp | 12 ---- 13 files changed, 43 insertions(+), 399
49141 deletions(-)
49142 [3cf723a2a3e7]
49143
49144 * source/Lib/TLibCommon/TComDataCU.cpp:
49145 cleanup: onlyOneSliceInPic always true
49146 --- source/Lib/TLibCommon/TComDataCU.cpp | 188
49147 ++-------------------------------- 1 files changed, 8 insertions(+),
49148 180 deletions(-)
49149 [da29d2e40837]
49150
49151 * source/Lib/TLibCommon/TComDataCU.cpp,
49152 source/Lib/TLibCommon/TComDataCU.h,
49153 source/Lib/TLibCommon/TComLoopFilter.cpp,
49154 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
49155 source/Lib/TLibCommon/TComSlice.cpp,
49156 source/Lib/TLibCommon/TComSlice.h,
49157 source/Lib/TLibEncoder/TEncCavlc.cpp,
49158 source/Lib/TLibEncoder/TEncCfg.h,
49159 source/Lib/TLibEncoder/TEncGOP.cpp,
49160 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49161 source/x265cfg.cpp, source/x265enc.cpp:
49162 cleanup: remove code for LFCrossSliceBoundaryFlag
49163 --- source/Lib/TLibCommon/TComDataCU.cpp | 19 +++++++++----------
49164 source/Lib/TLibCommon/TComDataCU.h | 1 -
49165 source/Lib/TLibCommon/TComLoopFilter.cpp | 18 +++++++++---------
49166 source/Lib/TLibCommon/TComPic.cpp | 12 ------------
49167 source/Lib/TLibCommon/TComPic.h | 1 -
49168 source/Lib/TLibCommon/TComSlice.cpp | 2 --
49169 source/Lib/TLibCommon/TComSlice.h | 10 ----------
49170 source/Lib/TLibEncoder/TEncCavlc.cpp | 6 +++---
49171 source/Lib/TLibEncoder/TEncCfg.h | 6 ------
49172 source/Lib/TLibEncoder/TEncGOP.cpp | 12 ++----------
49173 source/Lib/TLibEncoder/TEncTop.cpp | 1 - source/x265.h | 1 -
49174 source/x265cfg.cpp | 1 - source/x265enc.cpp | 3 --- 14 files
49175 changed, 23 insertions(+), 70 deletions(-)
49176 [2faa4694539d]
49177
49178 * source/Lib/TLibCommon/TypeDef.h:
49179 cleanup: remove enum SliceConstraint
49180 --- source/Lib/TLibCommon/TypeDef.h | 9 --------- 1 files changed, 0
49181 insertions(+), 9 deletions(-)
49182 [d8836d4bff30]
49183
49184 * source/Lib/TLibCommon/TComSlice.cpp,
49185 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
49186 source/Lib/TLibEncoder/TEncCu.cpp,
49187 source/Lib/TLibEncoder/TEncGOP.cpp,
49188 source/Lib/TLibEncoder/TEncSlice.cpp,
49189 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49190 source/x265cfg.cpp, source/x265enc.cpp:
49191 cleanup: remove code for option sliceSegmentMode and
49192 sliceSegmentModeArgument
49193 --- source/Lib/TLibCommon/TComSlice.cpp | 4 -
49194 source/Lib/TLibCommon/TComSlice.h | 9 ---
49195 source/Lib/TLibEncoder/TEncCfg.h | 11 ---
49196 source/Lib/TLibEncoder/TEncCu.cpp | 12 ----
49197 source/Lib/TLibEncoder/TEncGOP.cpp | 2 +-
49198 source/Lib/TLibEncoder/TEncSlice.cpp | 118
49199 +---------------------------------
49200 source/Lib/TLibEncoder/TEncTop.cpp | 4 - source/x265.h | 4 -
49201 source/x265cfg.cpp | 17 +----- source/x265enc.cpp | 9 --- 10 files
49202 changed, 3 insertions(+), 187 deletions(-)
49203 [bd168f9a50b3]
49204
49205 * source/Lib/TLibCommon/TComSlice.cpp,
49206 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
49207 source/Lib/TLibEncoder/TEncCu.cpp,
49208 source/Lib/TLibEncoder/TEncGOP.cpp,
49209 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.h,
49210 source/x265cfg.cpp, source/x265enc.cpp:
49211 cleanup: remove code for option sliceMode and sliceModeArgument
49212 --- source/Lib/TLibCommon/TComSlice.cpp | 4 -
49213 source/Lib/TLibCommon/TComSlice.h | 10 ---
49214 source/Lib/TLibEncoder/TEncCfg.h | 12 ----
49215 source/Lib/TLibEncoder/TEncCu.cpp | 11 +---
49216 source/Lib/TLibEncoder/TEncGOP.cpp | 7 +-
49217 source/Lib/TLibEncoder/TEncSlice.cpp | 106
49218 +-------------------------------- source/x265.h | 3 -
49219 source/x265cfg.cpp | 20 +------ source/x265enc.cpp | 17 ------ 9
49220 files changed, 10 insertions(+), 180 deletions(-)
49221 [a4788d814f55]
49222
49223 * source/Lib/TLibCommon/TComDataCU.cpp,
49224 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibEncoder/TEncCu.cpp,
49225 source/Lib/TLibEncoder/TEncCu.h,
49226 source/Lib/TLibEncoder/TEncSlice.cpp,
49227 source/Lib/TLibEncoder/TEncSlice.h:
49228 threading: remove unused C++ pointer reference (variant name do not
49229 modify for keep compatible)
49230 --- source/Lib/TLibCommon/TComDataCU.cpp | 4 ++--
49231 source/Lib/TLibCommon/TComPic.h | 2 +-
49232 source/Lib/TLibEncoder/TEncCu.cpp | 2 +-
49233 source/Lib/TLibEncoder/TEncCu.h | 2 +-
49234 source/Lib/TLibEncoder/TEncSlice.cpp | 8 ++++----
49235 source/Lib/TLibEncoder/TEncSlice.h | 4 ++-- 6 files changed, 11
49236 insertions(+), 11 deletions(-)
49237 [90b611273d0a]
49238
49239 2013-05-11 Steve Borho <steve@borho.org>
49240
49241 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
49242 source/Lib/TLibEncoder/TEncCu.h,
49243 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
49244 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
49245 source/Lib/TLibEncoder/TEncSearch.cpp,
49246 source/Lib/TLibEncoder/TEncSearch.h,
49247 source/Lib/TLibEncoder/TEncSlice.cpp,
49248 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49249 source/x265cfg.cpp, source/x265enc.cpp:
49250 Remove SBACRD configuration option
49251 [4fef14f41d6d]
49252
49253 * source/Lib/TLibEncoder/TEncSearch.cpp:
49254 TEncSearch: fix 16bpp compiler warnings
49255 [3dfbf98b245e]
49256
49257 * source/Lib/TLibCommon/TComRdCost.cpp,
49258 source/Lib/TLibCommon/TComRdCost.h:
49259 TComRdCost: remove dead 2x2 satd code paths
49260
49261 HEVC does not support 2x2 partitions, even for chroma. See
49262 http://forum.doom9.org/showthread.php?t=167081
49263 [293b1e04bea4]
49264
49265 * source/Lib/TLibCommon/TComRdCost.cpp:
49266 TComRdCost: fix old HM bug in dead 2x2 logic
49267 [73ef64e5f6a4]
49268
49269 * source/Lib/TLibEncoder/TEncSearch.cpp:
49270 TEncSearch: use SATD primitives to measure chroma intra residual
49271 [574ec4bfc6b7]
49272
49273 * source/encoder/x86/asm-primitives.cpp:
49274 asm: use XOP satd primitives when available; roughly 10x C versions
49275 [a387fff04cb9]
49276
49277 * source/encoder/x86/asm-primitives.cpp:
49278 asm: use x264_pixel_satd_4x16_avx when available
49279 [6910ed19b5d6]
49280
49281 * source/encoder/x86/asm-primitives.cpp:
49282 asm: use x264_pixel_satd_4x16_sse4 when available
49283 [26003f6ce226]
49284
49285 * source/encoder/x86/asm-primitives.cpp:
49286 asm: use SSE2 satd functions for all partitions, where available
49287
49288 Roughly 6x faster than C, 2x faster than MMX
49289 [2178cc1f7651]
49290
49291 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/pixel.cpp,
49292 source/encoder/primitives.h, source/encoder/x86/asm-primitives.cpp,
49293 source/test/pixelharness.cpp:
49294 primitive: add sa8d_32x32 and sa8d_64x64, use for intra cost
49295 estimation
49296 [e2f65de5920e]
49297
49298 * source/Lib/TLibEncoder/TEncCu.cpp:
49299 TEncCu: remove for-loops over QP, make them simple expressions
49300
49301 No sane encoder would ever do that sort of redundant analysis. There
49302 is a lot of cleanup that needs to trickle up from here. iMinQP and
49303 isAddLowestQP can probably be removed, and all the slice and SPS
49304 fields for QP RD can be removed, all the way up to the config
49305 options that enabled it.
49306 [d799578d900d]
49307
49308 2013-05-10 Steve Borho <steve@borho.org>
49309
49310 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.h:
49311 fix aligned pixel caches for x86 and x64 builds
49312
49313 Tested on VC10, VC11, and MinGW x86
49314 [b8cb76df149d]
49315
49316 * source/Lib/TLibCommon/TComPicYuv.cpp,
49317 source/Lib/TLibCommon/TComPrediction.cpp,
49318 source/Lib/TLibCommon/TComPrediction.h,
49319 source/Lib/TLibEncoder/TEncSearch.cpp,
49320 source/encoder/CMakeLists.txt,
49321 source/encoder/InterpolationFilter.cpp,
49322 source/encoder/InterpolationFilter.h:
49323 remove unused InterpolationFilter.cpp, move filter args back into
49324 TComPrediction
49325 [29c61b186ec8]
49326
49327 * source/Lib/TLibEncoder/TEncSearch.cpp:
49328 TEncSearch: replace filterCopy() call with cpyblock primitive
49329 [928a426cc302]
49330
49331 * source/encoder/motion.h:
49332 motion: lessen alignment restriction for pixel cache
49333
49334 Prevents compiler warnings about required padding
49335 [bcc1dbbf732d]
49336
49337 * source/encoder/primitives.cpp:
49338 primitives: report XOP and FMA detection as well as CPU SIMD level
49339 [031313a5bfcb]
49340
49341 * source/Lib/TLibEncoder/TEncSearch.h:
49342 TEncSearch: re-order member variables to avoid alignment causing
49343 padding
49344
49345 Some VC versions will issue warnings if alignment decls require
49346 padding to be added (a performance warning)
49347 [8d904a7306ac]
49348
49349 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
49350 source/encoder/motion.h:
49351 motion: rename MotionReference.plane to lumaPlane, remove unused
49352 channels
49353 [9b655ff38985]
49354
49355 * Merged in sumalatha/xhevc_sumalatha (pull request #132)
49356
49357 Changed the variable name according to naming convention of HM
49358 [0e45feaf8759]
49359
49360 2013-05-10 sumalatha <sumalatha>
49361
49362 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
49363 changed the variable name according to naming convention of HM
49364 Included the comment such that early abort can be disabled
49365 [9df494f9e780]
49366
49367 * source/Lib/TLibEncoder/TEncCu.cpp:
49368 removed goto statement.
49369 [a0bce7915be9]
49370
49371 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
49372 Incorporated Steves changes in optimized xcompressCU() to abort
49373 recursion if cost of child CU is greater that the cost of parent CU.
49374 [97195ad9e3e2]
49375
49376 2013-05-10 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
49377
49378 * Merged multicoreware/xhevc into default
49379 [a3286df9a8cb]
49380
49381 2013-05-09 sumalatha <sumalatha>
49382
49383 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
49384 optimized xcompressCU() to abort recursion if cost of child CU is
49385 greater that the cost of parent CU.
49386 [5432fa0411d9]
49387
49388 2013-05-10 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
49389
49390 * build/BuildEncoderApplications.bat:
49391 Implemented all posible configurations into Regression test(8bit_pre
49392 m(enable_test),8bit_HM(disable_test),16bit_prem(enable_test),16bit_H
49393 M(disable_test))
49394 [b686ba6045ad]
49395
49396 2013-05-10 ShinYee Chung <shinyee@multicorewareinc.com>
49397
49398 * source/encoder/vec/intrapred.inc:
49399 Intra: Fix compile errors due to vector conversions.
49400 [e4fa6f942fe7]
49401
49402 * source/encoder/common.cpp:
49403 Common: Fix the type mismatch between printf format and argument.
49404 [915fc0395e29]
49405
49406 * source/encoder/common.cpp:
49407 Common: Fix broken eol, tabs, spaces.
49408 [710015f394ee]
49409
49410 2013-05-10 Steve Borho <steve@borho.org>
49411
49412 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
49413 source/encoder/bitcost.h, source/encoder/motion.cpp,
49414 source/encoder/motion.h:
49415 motion: new bitcost method for BitCost and MotionEstimate classes
49416 [a553b5197f40]
49417
49418 * source/Lib/TLibCommon/TComRdCost.cpp,
49419 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
49420 source/Lib/TLibEncoder/TEncSearch.cpp,
49421 source/Lib/TLibEncoder/TEncSlice.cpp:
49422 remove WEIGHTED_CHROMA_DISTORTION define
49423 [39d47f7eaa87]
49424
49425 * source/Lib/TLibCommon/CommonDef.h,
49426 source/Lib/TLibEncoder/TEncSearch.cpp:
49427 Remove GPB_SIMPLE_UNI define
49428 [f8bc2b563e63]
49429
49430 2013-05-10 Min Chen <min.chen@multicorewareinc.com>
49431
49432 * source/encoder/vec/intrapred.inc:
49433 intrapred: optimize predIntraPlanar4 with 16bpp
49434 --- source/encoder/vec/intrapred.inc | 87
49435 +++++++++++++++++++++++++------------- 1 files changed, 58
49436 insertions(+), 29 deletions(-)
49437 [0191c2e03e51]
49438
49439 * source/Lib/TLibCommon/TComPrediction.cpp:
49440 TComPrediction: fix build warning at 16bpp
49441 --- source/Lib/TLibCommon/TComPrediction.cpp | 4 ++-- 1 files
49442 changed, 2 insertions(+), 2 deletions(-)
49443 [14bd77d46976]
49444
49445 2013-05-10 Steve Borho <steve@borho.org>
49446
49447 * source/encoder/vec/intrapred.inc,
49448 source/encoder/vec/vecprimitives.inc:
49449 vec: inc files should not have includes of their own
49450 [7505b485f286]
49451
49452 2013-05-10 Min Chen <min.chen@multicorewareinc.com>
49453
49454 * source/Lib/TLibCommon/TComPrediction.cpp,
49455 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
49456 source/encoder/vec/intrapred.inc,
49457 source/encoder/vec/vecprimitives.inc:
49458 intrapred: optimize predIntraPlanar4 with 8bpp
49459 --- source/Lib/TLibCommon/TComPrediction.cpp | 15 +++-
49460 source/encoder/IntraPred.cpp | 51 +++++++++
49461 source/encoder/primitives.h | 2 + source/encoder/vec/intrapred.inc |
49462 169 ++++++++++++++++++++++++++++++
49463 source/encoder/vec/vecprimitives.inc | 1 + 5 files changed, 236
49464 insertions(+), 2 deletions(-)
49465 [77f050ae9201]
49466
49467 * source/VectorClass/vectori128.h:
49468 vector128: unsafe compress(map to packuswb)
49469 --- source/VectorClass/vectori128.h | 4 ++++ 1 files changed, 4
49470 insertions(+), 0 deletions(-)
49471 [5b41635781a6]
49472
49473 * source/VectorClass/vectori128.h:
49474 vector128: constant shift right and broadcast
49475 --- source/VectorClass/vectori128.h | 39
49476 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39
49477 insertions(+), 0 deletions(-)
49478 [5b4d2cff5b76]
49479
49480 * source/VectorClass/vectori128.h:
49481 vector128: constant shift left
49482 --- source/VectorClass/vectori128.h | 31
49483 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0
49484 deletions(-)
49485 [c1200d24153e]
49486
49487 2013-05-09 Steve Borho <steve@borho.org>
49488
49489 * source/encoder/motion.cpp, source/encoder/motion.h:
49490 motion: remove fref class member
49491 [07c65d9466fc]
49492
49493 * source/encoder/motion.cpp, source/encoder/motion.h:
49494 motion: remove residual functions from class
49495
49496 motion compensation can happen well outside of the analysis loop, so
49497 there is no benefit in trying to re-use our pixel cache
49498 [3399d80552f7]
49499
49500 * source/test/ipfilterharness.cpp, source/test/testharness.h:
49501 testharness: adopt checkasm approach to measuring performance
49502 [46d2553e471e]
49503
49504 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/x86/asm-
49505 primitives.cpp, source/encoder/x86/const-a.asm,
49506 source/encoder/x86/cpu-a.asm, source/encoder/x86/pixel-a.asm,
49507 source/encoder/x86/pixel.h, source/encoder/x86/sad-a.asm,
49508 source/encoder/x86/x86inc.asm, source/encoder/x86/x86util.asm:
49509 asm: enable x264 sad, sad_x3, sad_x4, sa8d, and satd assembly
49510 routines
49511
49512 This required removing sa8d and satd primitives from TComRdCost.cpp
49513 - they are only called from the new motion search now. x264 asm has
49514 been updated to tip
49515 [09b29a12d3b9]
49516
49517 2013-05-09 Mandar Gurav <Mandar Gurav>
49518
49519 * cfg/per-sequence/FourPeople.cfg:
49520 Implemented Steve's comments - 2
49521 [7b7444bd1693]
49522
49523 * build/dr_psnr_script/psnr_script.bat, cfg/per-
49524 sequence/BasketballDrive.cfg, cfg/per-sequence/FourPeople.cfg:
49525 Implemented Steve's comments.
49526 [bade8b9e1b03]
49527
49528 2013-05-09 Mandar Gurav <mandar@multicorewareinc.com>
49529
49530 * Merged multicoreware/xhevc into default
49531 [b4aa1a7dbe9f]
49532
49533 2013-05-09 Mandar Gurav <Mandar Gurav>
49534
49535 * build/dr_psnr_script/dr_psnr.exe,
49536 build/dr_psnr_script/psnr_script.bat:
49537 Use tools/dr_psnr binary built from the source directory. And use
49538 YUV file as input to dr_psnr instead of y4m.
49539 [8c75b377005e]
49540
49541 2013-05-09 Mandar Gurav <mandar@multicorewareinc.com>
49542
49543 * Merged multicoreware/xhevc into default
49544 [4e2423672016]
49545
49546 2013-05-08 Mandar Gurav <Mandar Gurav>
49547
49548 * Merge
49549 [be402320a9b8]
49550
49551 * build/dr_psnr_script/psnr_script.bat:
49552 Implemented suggestions from Steve.
49553 [d6affb95df1d]
49554
49555 2013-05-08 Mandar Gurav <mandar@multicorewareinc.com>
49556
49557 * Merged multicoreware/xhevc into default
49558 [e76f1de33e6b]
49559
49560 2013-05-08 Mandar Gurav <Mandar Gurav>
49561
49562 * build/dr_psnr_script/BasketballDrive.cfg,
49563 build/dr_psnr_script/FourPeople.cfg,
49564 build/dr_psnr_script/encoder_I_15P.cfg,
49565 build/dr_psnr_script/encoder_all_I.cfg,
49566 build/dr_psnr_script/psnr_script.bat, cfg/per-
49567 sequence/BasketballDrive.cfg, cfg/per-sequence/FourPeople.cfg:
49568 Implemented suggestions from Deepthi N.
49569 [b6ee43e7007e]
49570
49571 2013-05-08 Mandar Gurav <mandar@multicorewareinc.com>
49572
49573 * Merged multicoreware/xhevc into default
49574 [321ae9002b1e]
49575
49576 * Merged multicoreware/xhevc into default
49577 [fd85e05a4c0d]
49578
49579 2013-05-07 Mandar Gurav <Mandar Gurav>
49580
49581 * build/dr_psnr_script/BasketballDrive.cfg,
49582 build/dr_psnr_script/FourPeople.cfg,
49583 build/dr_psnr_script/TAppDecoder.exe,
49584 build/dr_psnr_script/dr_psnr.exe,
49585 build/dr_psnr_script/encoder_I_15P.cfg,
49586 build/dr_psnr_script/encoder_all_I.cfg,
49587 build/dr_psnr_script/psnr_script.bat:
49588 Script for generating dr_psnr output. Output files are as follows
49589 * encoder_output.txt
49590 * decoder_output.txt
49591 * dr_psnr_output.txt
49592 [6e70935ca7db]
49593
49594 2013-05-09 Deepthi Devaki <Deepthi Devaki>
49595
49596 * Merge
49597 [acf7fe823eda]
49598
49599 * source/Lib/TLibCommon/TComPicYuv.cpp:
49600 Change comment.
49601 [2a48b178a31c]
49602
49603 * source/Lib/TLibCommon/TComPicYuv.cpp:
49604 Remove copy of Full Pel from filter. Instead copy it in
49605 extendPicBorder
49606 [9d818fd017d9]
49607
49608 2013-05-09 Steve Borho <steve@borho.org>
49609
49610 * source/Lib/TLibEncoder/TEncSearch.cpp:
49611 motion: remove redundant plane pointer assignments
49612 [6bd4cc4a96c1]
49613
49614 * source/Lib/TLibEncoder/TEncSearch.cpp:
49615 disable new motion search until UMH mode is added
49616
49617 The UMH search should have comparable quality to the HM search. The
49618 DIA search loses too much compression efficiency to use as a default
49619 [fb3a87cc0e10]
49620
49621 * Merged in ggopu/ggopu_xhevc (pull request #129)
49622
49623 motion: fix reference plane pointers and strides
49624 [8a5c2df2915c]
49625
49626 2013-05-09 ggopu <ggopu>
49627
49628 * source/Lib/TLibEncoder/TEncSearch.cpp:
49629 Integrated new motion vector changes
49630 [2f781b3a5479]
49631
49632 * source/Lib/TLibEncoder/TEncSearch.cpp:
49633 motion: fix reference plane pointers and strides
49634 [ac4916565956]
49635
49636 2013-05-09 Deepthi Devaki <Deepthi Devaki>
49637
49638 * source/Lib/TLibCommon/TComPicYuv.cpp:
49639 Fix output mismatch: change input width/height for filter
49640 [8c7533211b95]
49641
49642 2013-05-08 Steve Borho <steve@borho.org>
49643
49644 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
49645 source/Lib/TLibEncoder/SEIwrite.cpp,
49646 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
49647 source/Lib/TLibEncoder/TEncGOP.cpp,
49648 source/Lib/TLibEncoder/TEncGOP.h, source/x265cfg.cpp,
49649 source/x265enc.cpp:
49650 Remove REMOVE_SINGLE_SEI_EXTENSION_FLAGS, K0180_SCALABLE_NESTING_SEI
49651 macros
49652 [0a960f095a1e]
49653
49654 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
49655 source/Lib/TLibEncoder/SEIwrite.cpp,
49656 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
49657 source/Lib/TLibEncoder/TEncGOP.cpp,
49658 source/Lib/TLibEncoder/TEncTop.cpp,
49659 source/Lib/TLibEncoder/TEncTop.h, source/x265cfg.cpp,
49660 source/x265enc.cpp:
49661 Remove L0208_SOP_DESCRIPTION_SEI define (remove from HM)
49662 [7b3273e9b24a]
49663
49664 * source/Lib/TLibCommon/TComSlice.cpp,
49665 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
49666 source/Lib/TLibEncoder/TEncCavlc.cpp,
49667 source/Lib/TLibEncoder/TEncCavlc.h, source/x265cfg.cpp,
49668 source/x265enc.cpp:
49669 Remove SIGNAL_BITRATE_PICRATE_IN_VPS define (removed from tip of HM)
49670 [315a8cb35bc7]
49671
49672 * source/compat/msvc/getopt.c, source/tools/dr_psnr/CMakeLists.txt,
49673 source/tools/dr_psnr/SSIMCalculator.cpp:
49674 dr_psnr: fix GCC build warnings
49675 [1504ac21e981]
49676
49677 * source/CMakeLists.txt, source/tools/CMakeLists.txt,
49678 source/tools/dr_psnr/CMakeLists.txt,
49679 source/tools/dr_psnr/PsnrCalculator.cpp,
49680 source/tools/dr_psnr/PsnrCalculator.h,
49681 source/tools/dr_psnr/SSIMCalculator.cpp,
49682 source/tools/dr_psnr/SSIMCalculator.h,
49683 source/tools/dr_psnr/dr_psnr.cpp:
49684 tools: add a tools/ folder and start with dr_psnr
49685 [c211b4c4d1ba]
49686
49687 * source/Lib/TLibCommon/AccessUnit.h,
49688 source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/NAL.h,
49689 source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComBitCounter.h,
49690 source/Lib/TLibCommon/TComBitStream.h,
49691 source/Lib/TLibCommon/TComList.h,
49692 source/Lib/TLibEncoder/AnnexBwrite.h,
49693 source/Lib/TLibEncoder/NALwrite.h,
49694 source/Lib/TLibEncoder/SEIwrite.h,
49695 source/Lib/TLibEncoder/SyntaxElementWriter.h,
49696 source/Lib/TLibEncoder/TEncAnalyze.h,
49697 source/Lib/TLibEncoder/TEncCavlc.h,
49698 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncSbac.h:
49699 cleanup compile guards, no code effects
49700 [eb687bb237ae]
49701
49702 * source/Lib/TLibCommon/ContextTables.h:
49703 remove FIX827, FIX712 #defines
49704 [6cf68223c50f]
49705
49706 * source/Lib/TLibCommon/TComDataCU.h,
49707 source/Lib/TLibEncoder/TEncSlice.h,
49708 source/Lib/TLibEncoder/TEncTop.cpp,
49709 source/Lib/TLibEncoder/TEncTop.h:
49710 random white-space cleanups, no code changes
49711 [22363860b159]
49712
49713 2013-05-08 nandaku2 <deepthi@multicorewareinc.com>
49714
49715 * Merged in deepthidevaki/xhevc_deepthid (pull request #124)
49716
49717 Modifications to subpel generation
49718 [4dd4c610646f]
49719
49720 2013-05-08 Deepthi Devaki <Deepthi Devaki>
49721
49722 * Merge
49723 [f928fa3e7405]
49724
49725 * source/Lib/TLibCommon/TComPicYuv.cpp:
49726 Merge
49727 [656789cd00e1]
49728
49729 * source/Lib/TLibCommon/TComPicYuv.cpp:
49730 Change filter temp variable to short* instead of TshortYuv
49731 [6c4e3ee894bf]
49732
49733 * source/Lib/TLibCommon/TComPicYuv.cpp,
49734 source/Lib/TLibCommon/TComPrediction.cpp:
49735 Uncrustified two files.
49736 [86c4e1e12613]
49737
49738 * source/Lib/TLibCommon/TComPicYuv.cpp,
49739 source/Lib/TLibCommon/TComPrediction.cpp:
49740 Use block copy primitives instead of filterCopy
49741 [47aa034b5545]
49742
49743 * Merge
49744 [770006a69dfa]
49745
49746 2013-05-07 Deepthi Devaki <Deepthi Devaki>
49747
49748 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
49749 source/encoder/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
49750 Backed out changeset: 1baaa3822b79
49751 [6b4cabf50573]
49752
49753 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
49754 source/encoder/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
49755 Backed out changeset: da889c1d7641
49756 [1baaa3822b79]
49757
49758 2013-05-08 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
49759
49760 * Merged multicoreware/xhevc into default
49761 [4470f5f36d76]
49762
49763 * source/Lib/TLibCommon/TComPicYuv.cpp:
49764 Merged multicoreware/xhevc into default
49765 [cd5e5e2498d8]
49766
49767 2013-05-07 Deepthi Devaki <Deepthi Devaki>
49768
49769 * source/Lib/TLibCommon/TComPicYuv.cpp,
49770 source/Lib/TLibCommon/TComPicYuv.h,
49771 source/Lib/TLibCommon/TComPrediction.cpp,
49772 source/Lib/TLibEncoder/TEncSearch.cpp:
49773 Remove unwanted comments and code.
49774 [bb747fc0379d]
49775
49776 2013-05-08 Deepthi <Deepthi>
49777
49778 * Merge
49779 [bad457c087fd]
49780
49781 * source/encoder/CMakeLists.txt, source/encoder/common.cpp,
49782 source/encoder/common.h:
49783 Debug Support for dumping buffers. Simply typecast all pointers to
49784 void*, and it will dump the required number of bytes into a buffer.
49785 [1aa6126cf203]
49786
49787 2013-05-08 Steve Borho <steve@borho.org>
49788
49789 * source/test/testharness.h:
49790 testbench: GCC build fixes
49791 [524b43126be7]
49792
49793 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #121)
49794
49795 Prints the avg. number of cycles taken for vec_primitive and C
49796 function calls.
49797 [e9572d3f84b7]
49798
49799 2013-05-07 Mandar Gurav <Mandar Gurav>
49800
49801 * source/test/testharness.h:
49802 Prints the avg. number of cycles taken for vec_primitive and C
49803 function calls.
49804 [d339ef591ffd]
49805
49806 2013-05-08 nandaku2 <deepthi@multicorewareinc.com>
49807
49808 * Merged in sumalatha/xhevc_sumalatha (pull request #122)
49809
49810 fix for the output mismatch issue. Now when AMPREfine flag is not
49811 set, output matches
49812 [1595173e7694]
49813
49814 2013-05-08 sumalatha <sumalatha>
49815
49816 * source/Lib/TLibEncoder/TEncTop.cpp:
49817 fix for the output mismatch issue. Now when AMPREfine flag is not
49818 set, output matches
49819 [34dd7b92a7f7]
49820
49821 2013-05-07 Steve Borho <steve@borho.org>
49822
49823 * source/Lib/TLibCommon/TComPicYuv.cpp, source/PPA/ppaCPUEvents.h:
49824 ppa: add an event for TComPicYuv::extendPicBorder()
49825 [b4702c569e73]
49826
49827 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
49828 white-space nits in config files
49829 [32049d39e86b]
49830
49831 2013-05-07 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
49832
49833 * source/test/filterharness.cpp, source/test/filterharness.h:
49834 Merged multicoreware/xhevc into default
49835 [e29437861397]
49836
49837 2013-05-07 sumalatha <sumalatha>
49838
49839 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
49840 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
49841 source/Lib/TLibEncoder/TEncCu.cpp,
49842 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
49843 source/x265cfg.cpp, source/x265enc.cpp:
49844 Included additional flag "AMPRefine" in cfg file and made changes in
49845 the code such that if the flag is enabled, the partition size Nx2N
49846 and 2NxN is used for search and other operations in INTER otherwise
49847 these two partition sizes are excluded.
49848 [4589879e4226]
49849
49850 2013-05-07 Deepthi Devaki <Deepthi Devaki>
49851
49852 * source/Lib/TLibCommon/TComPrediction.cpp,
49853 source/Lib/TLibEncoder/TEncSearch.cpp,
49854 source/Lib/TLibEncoder/TEncSearch.h:
49855 Removed unwanted comments
49856 [498c2a8e99e9]
49857
49858 * source/encoder/InterpolationFilter.cpp:
49859 Modified filterverticalpel_pel
49860 [5c9b304404b5]
49861
49862 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
49863 source/encoder/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
49864 Added vector primitives for filtervertical_pel_pel
49865 [da889c1d7641]
49866
49867 * source/Lib/TLibCommon/TComPicYuv.cpp,
49868 source/Lib/TLibCommon/TComPicYuv.h:
49869 Remove all references to chroma filterBlocks.
49870 [171889c50962]
49871
49872 * source/Lib/TLibCommon/TComPicYuv.cpp,
49873 source/Lib/TLibCommon/TComPicYuv.h,
49874 source/Lib/TLibCommon/TComPrediction.cpp,
49875 source/Lib/TLibEncoder/TEncSearch.cpp,
49876 source/Lib/TLibEncoder/TEncSearch.h:
49877 ME and Prediction uses new Luma subpel blocks, instead of generating
49878 subpels on demand.
49879 [127995bc3034]
49880
49881 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
49882 source/test/filterharness.h, source/test/testbench.cpp:
49883 Removed old filter from testbench
49884 [069d0a894c3b]
49885
49886 * source/encoder/macroblock.cpp:
49887 Removed old filter c primitives from macroblock.cpp
49888 [f5f4cefafde6]
49889
49890 * source/encoder/vec/macroblock.inc:
49891 Removed old filters vec primitives
49892 [98efb37469d6]
49893
49894 2013-05-06 Steve Borho <steve@borho.org>
49895
49896 * source/encoder/vec/blockcopy.inc:
49897 blockcopy: retask 8bpp s_p for s_c
49898 [b80724df82fb]
49899
49900 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49901 source/test/pixelharness.cpp, source/test/pixelharness.h:
49902 pixel: introduce blockcopy_s_c primitive for expanding bytes to
49903 shorts
49904
49905 In some places, we always want to expand bytes to shorts
49906 unconditionally, regardless of the size of pixel/Pel. This function
49907 pointer may be used for that. Implementation wise, it should use the
49908 existing vectorized function for 8bpp blockcopy_s_p.
49909 [f0ce6f417381]
49910
49911 * source/Lib/TLibCommon/TComPrediction.cpp:
49912 TComPrediction: fix build warning at 16bpp
49913 [1c265556534f]
49914
49915 * Merged in deepthidevaki/xhevc_deepthid (pull request #118)
49916
49917 Added function to generate Luma subpels for entire frame.
49918 [6e133daf825b]
49919
49920 2013-05-06 Deepthi Devaki <Deepthi Devaki>
49921
49922 * source/Lib/TLibCommon/TComPicYuv.cpp:
49923 Modified function to generate Luma subpels for entire frame.
49924 [8910b39167b2]
49925
49926 * source/Lib/TLibCommon/TComPicYuv.cpp:
49927 Functions to generate QPels for entire frame
49928 [a230bfeb4924]
49929
49930 * source/Lib/TLibCommon/TComPicYuv.cpp,
49931 source/Lib/TLibCommon/TComPicYuv.h,
49932 source/encoder/InterpolationFilter.h:
49933 Generate Hpel for entire frame. (tested!)
49934 [5e8ea012ff63]
49935
49936 2013-05-06 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
49937
49938 * source/Lib/TLibCommon/TComPicYuv.h,
49939 source/encoder/vec/interpolationfilter.inc:
49940 Merged multicoreware/xhevc into default
49941 [a9d4a7ce337c]
49942
49943 2013-05-03 Deepthi Devaki <Deepthi Devaki>
49944
49945 * source/Lib/TLibCommon/TComPicYuv.h:
49946 Added access functions for filteredBlocks
49947 [260dd458563c]
49948
49949 * Merge
49950 [5fafbbd52b06]
49951
49952 * source/Lib/TLibCommon/TComPicYuv.cpp:
49953 Initialize m_filterBlocks to NULL
49954 [dd7000afff97]
49955
49956 * source/Lib/TLibCommon/TComPicYuv.cpp:
49957 Fix deallocating filterBlocks memory.
49958 [e7e63540cbf8]
49959
49960 * source/Lib/TLibCommon/TComPicYuv.cpp,
49961 source/Lib/TLibCommon/TComPicYuv.h, source/encoder/TShortYUV.h:
49962 Added Data structures for H/Q planes
49963 [d2269b064b50]
49964
49965 2013-05-06 Steve Borho <steve@borho.org>
49966
49967 * source/test/intrapredharness.cpp:
49968 intrapredharness: prevent out-of-bounds reads during validation
49969 tests
49970 [25de1ee81ef5]
49971
49972 * source/encoder/vec/ipfilter.inc:
49973 ipfilter: remove cruft that was only for preventing unused parameter
49974 warnings
49975 [df6907669de5]
49976
49977 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter8.inc:
49978 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #117)
49979
49980 Filter implementation for HIGH_BIT_DEPTH=0
49981 [d6a9d7d2fb0e]
49982
49983 2013-05-06 Mandar Gurav <Mandar Gurav>
49984
49985 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter8.inc:
49986 Filter implementation for HIGH_BIT_DEPH=0
49987 [0e7d769686df]
49988
49989 2013-05-06 Min Chen <chenm003@163.com>
49990
49991 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
49992 intrapred: testbench for xPredIntraDC
49993 --- source/test/intrapredharness.cpp | 59
49994 +++++++++++++++++++++++++++++---------
49995 source/test/intrapredharness.h | 4 ++- 2 files changed, 48
49996 insertions(+), 15 deletions(-)
49997 [9d2804da4cff]
49998
49999 * source/Lib/TLibCommon/TComPrediction.cpp,
50000 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
50001 source/encoder/vec/intrapred.inc:
50002 intrapred: C reference model and code cleanup
50003 --- source/Lib/TLibCommon/TComPrediction.cpp | 12 ++-
50004 source/encoder/IntraPred.cpp | 44 ++++++++++-
50005 source/encoder/primitives.h | 6 +- source/encoder/vec/intrapred.inc
50006 | 132 +----------------------------- 4 files changed, 53
50007 insertions(+), 141 deletions(-)
50008 [8f5f1349ecb3]
50009
50010 * source/encoder/vec/intrapred.inc:
50011 intrapred: simplify in xDCPredFiltering()
50012 --- source/encoder/vec/intrapred.inc | 10 ++++++---- 1 files changed,
50013 6 insertions(+), 4 deletions(-)
50014 [22b068217f37]
50015
50016 * source/Lib/TLibCommon/TComPrediction.cpp,
50017 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
50018 source/encoder/vec/intrapred.inc:
50019 intrapred: new vector optimize code for predIntraDC,
50020 xDCPredFiltering
50021 --- source/Lib/TLibCommon/TComPrediction.cpp | 4 +
50022 source/encoder/IntraPred.cpp | 1 + source/encoder/primitives.h | 2 +
50023 source/encoder/vec/intrapred.inc | 471
50024 ++++++++++++++++++++++++++++++ 4 files changed, 478 insertions(+), 0
50025 deletions(-)
50026 [66de4e152e1f]
50027
50028 * source/VectorClass/vectori128.h:
50029 vector128: constant shift for Vec8us
50030 --- source/VectorClass/vectori128.h | 12 ++++++++++++ 1 files
50031 changed, 12 insertions(+), 0 deletions(-)
50032 [6764e16594d5]
50033
50034 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
50035 vector128: more general load_partial and store_partial
50036 --- source/VectorClass/vectori128.h | 56
50037 +++++++++++++++++++++++++++++++------
50038 source/encoder/vec/intrapred.inc | 3 +- 2 files changed, 48
50039 insertions(+), 11 deletions(-)
50040 [2cc4fc0e415e]
50041
50042 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
50043 vectorclass: fix Vec4ui wrong action and name
50044 --- source/VectorClass/vectori128.h | 4 ++--
50045 source/encoder/vec/intrapred.inc | 4 ++-- 2 files changed, 4
50046 insertions(+), 4 deletions(-)
50047 [19c3e1abfd46]
50048
50049 2013-05-06 Steve Borho <steve@borho.org>
50050
50051 * source/encoder/vec/ipfilter16.inc, source/encoder/vec/ipfilter8.inc:
50052 ipfilter: more pruning
50053 [2bb2e364d57c]
50054
50055 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
50056 source/encoder/vec/ipfilter8.inc,
50057 source/encoder/vec/vecprimitives.inc:
50058 vec: inc files should not include other headers
50059
50060 Only vecprimitives.inc may include files; the other files are being
50061 included within a namespace and can cause strange link problems if
50062 headers are included.
50063 [b6fc9bf11a3e]
50064
50065 * source/Lib/TLibEncoder/TEncSlice.cpp:
50066 TEncSlice: backout replacement of calcRdCost64 with CALCRDCOST_SAD
50067
50068 Those were two entirely different function calls
50069 [74bf6c970636]
50070
50071 2013-05-06 nandaku2 <deepthi@multicorewareinc.com>
50072
50073 * source/encoder/vec/interpolationfilter.inc:
50074 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #116)
50075
50076 Interpolationfilter primitives restructured.
50077 [81577757e572]
50078
50079 2013-05-06 Mandar Gurav <Mandar Gurav>
50080
50081 * source/encoder/vec/CMakeLists.txt,
50082 source/encoder/vec/interpolationfilter.inc,
50083 source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
50084 source/encoder/vec/ipfilter8.inc,
50085 source/encoder/vec/vecprimitives.inc:
50086 Interpolationfilter primitives restructured.
50087 [07679e04c0e4]
50088
50089 2013-05-06 sumalatha <sumalatha>
50090
50091 * source/Lib/TLibCommon/TComRdCost.h,
50092 source/Lib/TLibEncoder/TEncCu.cpp,
50093 source/Lib/TLibEncoder/TEncSearch.cpp,
50094 source/Lib/TLibEncoder/TEncSlice.cpp:
50095 Replaced the function call for calcRdCost() with MACRO CALCRDCOST
50096 such that in macro, the switch case for selection of "eDFunc" is
50097 removed.
50098 [7f3fe334fb1e]
50099
50100 2013-05-05 Steve Borho <steve@borho.org>
50101
50102 * source/Lib/TLibEncoder/TEncSearch.cpp:
50103 TEncSearch: fix warning with 15bpp build
50104 [cd46a81725fb]
50105
50106 * source/Lib/TLibCommon/TComYuv.cpp:
50107 TComYuv: use primitives for remaining copy functions
50108 [34471ada8ab3]
50109
50110 * source/Lib/TLibCommon/TComYuv.cpp:
50111 TComYuv: use pixel copy primitives
50112 [bce043dae3ef]
50113
50114 * source/Lib/TLibCommon/TComDataCU.h,
50115 source/Lib/TLibCommon/TComPicYuv.h:
50116 white-space nits, no changes
50117 [2bed949a69ab]
50118
50119 * source/Lib/TLibEncoder/TEncSearch.cpp:
50120 TEncSearch: get access to the original source pixel plane and real
50121 strides
50122 [d959edb866f9]
50123
50124 * source/Lib/TLibEncoder/TEncSearch.cpp:
50125 TEncSearch: get offset into original picture buffer
50126
50127 pcOrgYuv seems to point to a small YUV buffer holding only the
50128 pixels for the current CTU under analysis.
50129 [d85c6703f022]
50130
50131 * source/Lib/TLibCommon/TComPrediction.cpp:
50132 TComPrediction: fix MSVC reported stack corruption
50133
50134 When run in debug mode, MSVC reported stack corruption near
50135 leftColumn. The 1st for loop is iterating over blkSize+1
50136
50137 This looks like an HM bug exposed by reducing MAX_CU_SIZE to the
50138 actual max 64
50139 [14d43f8589d0]
50140
50141 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50142 source/encoder/vec/pixel8.inc:
50143 pixel: add vectorized sad_48_x3
50144 [765fc92c7d80]
50145
50146 * source/encoder/pixel.cpp, source/encoder/vec/pixel.inc,
50147 source/encoder/vec/pixel16.inc, source/encoder/vec/pixel8.inc:
50148 pixel: add vectorized sad_48_x4
50149 [254937aa7425]
50150
50151 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50152 source/encoder/vec/pixel8.inc:
50153 pixel: add vectorized sad 48
50154 [f48a79bd4693]
50155
50156 * source/encoder/vec/pixel16.inc:
50157 pixel16: fix bug in sad_12_x4
50158 [a1ec7d7c20ee]
50159
50160 * source/encoder/vec/pixel16.inc:
50161 pixel16: fix bug in sad_12_x3
50162 [da712d42ba62]
50163
50164 * source/Lib/TLibEncoder/TEncSearch.cpp:
50165 TEncSearch: fix compiler warning
50166 [3be39838c8d4]
50167
50168 * source/encoder/vec/pixel8.inc:
50169 pixel8: fix bug in sad_4_x4
50170 [0b7655d1a1b3]
50171
50172 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
50173 source/encoder/primitives.h, source/test/pixelharness.cpp:
50174 pixel: add 48 sized partitions
50175 [98c591baafeb]
50176
50177 2013-05-05 Min Chen <chenm003@163.com>
50178
50179 * source/Lib/TLibCommon/TComPattern.cpp,
50180 source/Lib/TLibCommon/TComPrediction.cpp,
50181 source/Lib/TLibCommon/TComRom.h:
50182 intrapred: use alignment piAdibuf
50183 --- source/Lib/TLibCommon/TComPattern.cpp | 18 +++++++++---------
50184 source/Lib/TLibCommon/TComPrediction.cpp | 4 ++--
50185 source/Lib/TLibCommon/TComRom.h | 1 + 3 files changed, 12
50186 insertions(+), 11 deletions(-)
50187 [48895f57159b]
50188
50189 * source/Lib/TLibCommon/TComPattern.cpp:
50190 intrapred: perform by merge loop
50191 --- source/Lib/TLibCommon/TComPattern.cpp | 10 ++-------- 1 files
50192 changed, 2 insertions(+), 8 deletions(-)
50193 [51b0fb4398be]
50194
50195 * source/Lib/TLibCommon/TComPattern.cpp:
50196 intrapred: perform pixel copy with memcpy() in
50197 TComPattern::fillReferenceSamples
50198 --- source/Lib/TLibCommon/TComPattern.cpp | 23
50199 ++++------------------- 1 files changed, 4 insertions(+), 19
50200 deletions(-)
50201 [bab59102ce8e]
50202
50203 * source/Lib/TLibCommon/TComPattern.cpp,
50204 source/Lib/TLibCommon/TComPattern.h:
50205 intrapred: remove unsupported mode code for Chroma_FromLuma
50206 --- source/Lib/TLibCommon/TComPattern.cpp | 15 +++------------
50207 source/Lib/TLibCommon/TComPattern.h | 3 +-- 2 files changed, 4
50208 insertions(+), 14 deletions(-)
50209 [da7059cdee2c]
50210
50211 * source/Lib/TLibCommon/TComPattern.cpp:
50212 intrapred: perform pixel copy with memcpy() in
50213 TComPattern::initAdiPattern
50214 --- source/Lib/TLibCommon/TComPattern.cpp | 11 +++-------- 1 files
50215 changed, 3 insertions(+), 8 deletions(-)
50216 [d249be0a4674]
50217
50218 * source/Lib/TLibCommon/TComPrediction.cpp,
50219 source/Lib/TLibCommon/TComPrediction.h,
50220 source/Lib/TLibEncoder/TEncSearch.cpp:
50221 intrapred: correct buffer name from YuvExt to PredBuf
50222 --- source/Lib/TLibCommon/TComPrediction.cpp | 14 +++++++-------
50223 source/Lib/TLibCommon/TComPrediction.h | 12 ++++++------
50224 source/Lib/TLibEncoder/TEncSearch.cpp | 14 +++++++------- 3 files
50225 changed, 20 insertions(+), 20 deletions(-)
50226 [3faafbf81d93]
50227
50228 * source/Lib/TLibCommon/TComRom.h:
50229 reduce MAX_CU_SIZE to 64
50230 --- source/Lib/TLibCommon/TComRom.h | 2 +- 1 files changed, 1
50231 insertions(+), 1 deletions(-)
50232 [800d16ed3620]
50233
50234 2013-05-05 Steve Borho <steve@borho.org>
50235
50236 * source/Lib/TLibEncoder/TEncSearch.cpp,
50237 source/Lib/TLibEncoder/TEncSearch.h:
50238 TEncSearch: SAD primitives all expect 16byte aligned fenc buffer
50239 [7f90a9927f4a]
50240
50241 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50242 source/encoder/vec/pixel8.inc:
50243 pixel: finish optimizations - performance summary below
50244
50245 Measured on AMD Trinity A10M (more tuning can be done)
50246
50247 16b orig 16b opt 8b orig 8b opt sad[ 4x4] 3.79x 3.51x 2.53x 3.34x
50248 sad_x3[ 4x4] 2.02x 4.17x 4.17x 5.99x sad_x4[ 4x4] 3.63x 4.35x 3.64x
50249 5.95x sad[ 4x8] 3.76x 3.90x 4.21x 3.47x sad_x3[ 4x8] 3.64x 4.33x
50250 5.67x 7.58x sad_x4[ 4x8] 2.56x 4.74x 6.39x 8.21x sad[ 4x12] 4.25x
50251 3.94x 3.11x 4.74x sad_x3[ 4x12] 4.67x 4.98x 4.93x 8.96x sad_x4[
50252 4x12] 2.82x 5.31x 6.71x 9.39x sad[ 4x16] 4.42x 3.96x 3.41x 3.60x
50253 sad_x3[ 4x16] 4.65x 5.09x 6.98x 8.60x sad_x4[ 4x16] 3.17x 5.35x
50254 7.81x 8.41x sad[ 4x24] 5.08x 4.07x 3.69x 4.19x sad_x3[ 4x24] 5.53x
50255 5.83x 7.70x 8.82x sad_x4[ 4x24] 3.52x 5.73x 8.32x 9.37x sad[ 4x32]
50256 5.59x 3.94x 3.99x 4.00x sad_x3[ 4x32] 5.83x 5.27x 7.39x 9.31x
50257 sad_x4[ 4x32] 3.46x 5.41x 7.94x 9.42x sad[ 4x64] 5.40x 3.68x 3.60x
50258 4.36x sad_x3[ 4x64] 5.89x 5.95x 8.27x 8.82x sad_x4[ 4x64] 3.56x
50259 6.37x 9.17x 9.50x sad[ 8x4] 6.10x 5.74x 5.87x 5.84x sad_x3[ 8x4]
50260 6.39x 8.13x 9.75x 11.53x sad_x4[ 8x4] 3.26x 8.52x 9.19x 10.51x sad[
50261 8x8] 6.05x 6.33x 8.87x 8.01x sad_x3[ 8x8] 6.32x 9.18x 11.84x 13.61x
50262 sad_x4[ 8x8] 4.14x 10.67x 12.58x 14.97x sad[ 8x12] 8.03x 6.79x
50263 10.30x 6.91x sad_x3[ 8x12] 8.84x 10.46x 12.15x 17.12x sad_x4[ 8x12]
50264 5.28x 11.92x 12.83x 16.98x sad[ 8x16] 8.23x 6.79x 7.63x 9.17x
50265 sad_x3[ 8x16] 9.26x 11.33x 13.88x 17.11x sad_x4[ 8x16] 5.49x 12.22x
50266 14.27x 17.19x sad[ 8x24] 10.02x 6.93x 8.16x 9.32x sad_x3[ 8x24]
50267 11.32x 11.86x 15.38x 17.91x sad_x4[ 8x24] 6.48x 13.29x 15.28x 17.95x
50268 sad[ 8x32] 10.96x 6.94x 8.03x 7.51x sad_x3[ 8x32] 12.70x 10.95x
50269 14.03x 17.67x sad_x4[ 8x32] 6.87x 13.09x 15.16x 17.80x sad[ 8x64]
50270 10.61x 6.76x 8.18x 8.75x sad_x3[ 8x64] 12.35x 12.67x 16.05x 17.61x
50271 sad_x4[ 8x64] 6.70x 14.02x 17.93x 17.90x sad[ 12x4] 12.01x 8.40x
50272 4.32x 11.48x sad_x3[ 12x4] 14.04x 7.17x 9.33x 12.21x sad_x4[ 12x4]
50273 4.42x 7.61x 9.60x 12.85x sad[ 12x8] 5.78x 10.04x 3.35x 14.10x
50274 sad_x3[ 12x8] 5.31x 8.08x 10.47x 15.54x sad_x4[ 12x8] 4.34x 9.55x
50275 11.67x 16.22x sad[12x12] 6.83x 10.16x 2.92x 15.61x sad_x3[12x12]
50276 6.52x 9.10x 9.02x 18.85x sad_x4[12x12] 3.65x 9.97x 11.17x 18.88x
50277 sad[12x16] 6.68x 10.00x 3.90x 14.68x sad_x3[12x16] 6.04x 9.09x
50278 12.11x 18.01x sad_x4[12x16] 4.12x 10.20x 10.40x 16.77x sad[12x24]
50279 7.30x 10.50x 3.72x 17.46x sad_x3[12x24] 6.50x 9.48x 11.51x 18.17x
50280 sad_x4[12x24] 4.42x 10.80x 12.50x 19.86x sad[12x32] 7.26x 10.35x
50281 3.60x 15.86x sad_x3[12x32] 7.37x 9.28x 10.14x 19.57x sad_x4[12x32]
50282 4.50x 10.46x 11.64x 19.26x sad[12x64] 7.39x 10.43x 3.68x 16.47x
50283 sad_x3[12x64] 6.97x 9.85x 11.97x 19.00x sad_x4[12x64] 4.74x 10.70x
50284 13.86x 19.14x sad[ 16x4] 6.70x 11.02x 16.55x 15.20x sad_x3[ 16x4]
50285 2.94x 10.38x 14.13x 20.10x sad_x4[ 16x4] 9.72x 10.35x 13.35x 18.95x
50286 sad[ 16x8] 8.44x 13.62x 23.35x 22.69x sad_x3[ 16x8] 8.36x 11.16x
50287 17.99x 25.49x sad_x4[ 16x8] 12.18x 13.23x 18.34x 23.65x sad[16x12]
50288 10.72x 13.74x 25.86x 19.47x sad_x3[16x12] 11.61x 13.38x 19.21x
50289 31.36x sad_x4[16x12] 13.33x 13.83x 19.15x 31.15x sad[16x16] 9.02x
50290 13.12x 20.34x 24.25x sad_x3[16x16] 10.56x 13.96x 22.97x 31.96x
50291 sad_x4[16x16] 14.20x 14.20x 23.01x 28.75x sad[16x24] 11.53x 13.88x
50292 25.07x 21.63x sad_x3[16x24] 12.69x 14.23x 25.64x 32.38x
50293 sad_x4[16x24] 12.16x 15.11x 21.14x 34.09x sad[16x32] 13.78x 12.36x
50294 24.08x 20.00x sad_x3[16x32] 11.73x 13.73x 25.03x 33.07x
50295 sad_x4[16x32] 12.30x 14.24x 17.85x 33.74x sad[16x64] 12.01x 14.42x
50296 29.62x 20.27x sad_x3[16x64] 9.17x 15.85x 28.93x 26.92x sad_x4[16x64]
50297 10.81x 13.19x 13.30x 27.21x sad[ 24x4] 11.59x 17.13x sad_x3[ 24x4]
50298 10.48x 13.78x sad_x4[ 24x4] 11.10x 11.48x sad[ 24x8] 12.13x 18.30x
50299 sad_x3[ 24x8] 10.54x 21.45x sad_x4[ 24x8] 10.38x 20.92x sad[24x12]
50300 13.24x 19.48x sad_x3[24x12] 11.65x 24.07x sad_x4[24x12] 10.70x
50301 23.24x sad[24x16] 14.78x 16.64x sad_x3[24x16] 12.28x 24.14x
50302 sad_x4[24x16] 11.00x 23.40x sad[24x24] 13.03x 18.30x sad_x3[24x24]
50303 11.58x 25.63x sad_x4[24x24] 11.58x 24.97x sad[24x32] 13.31x 20.60x
50304 sad_x3[24x32] 11.98x 24.82x sad_x4[24x32] 11.75x 24.23x sad[24x64]
50305 14.44x 19.69x sad_x3[24x64] 11.99x 24.59x sad_x4[24x64] 10.38x
50306 24.77x sad[ 32x4] 14.00x 13.52x 16.56x 22.89x sad_x3[ 32x4] 11.05x
50307 10.79x 19.78x 27.12x sad_x4[ 32x4] 10.05x 9.93x 13.85x 24.46x sad[
50308 32x8] 8.41x 14.32x 27.08x 25.34x sad_x3[ 32x8] 12.81x 11.18x 27.39x
50309 29.64x sad_x4[ 32x8] 10.39x 9.57x 13.85x 29.09x sad[32x12] 10.30x
50310 16.07x 26.75x 27.38x sad_x3[32x12] 14.42x 11.35x 23.73x 33.19x
50311 sad_x4[32x12] 10.77x 10.22x 16.79x 33.34x sad[32x16] 9.98x 15.20x
50312 29.70x 27.72x sad_x3[32x16] 10.34x 11.84x 27.65x 32.54x
50313 sad_x4[32x16] 10.91x 11.07x 12.62x 33.63x sad[32x24] 10.65x 15.88x
50314 32.63x 28.39x sad_x3[32x24] 11.09x 11.14x 29.62x 33.79x
50315 sad_x4[32x24] 11.21x 11.18x 13.53x 34.14x sad[32x32] 11.62x 14.51x
50316 32.15x 24.65x sad_x3[32x32] 14.23x 11.83x 29.88x 30.06x
50317 sad_x4[32x32] 11.63x 11.44x 15.78x 33.15x sad[32x64] 11.39x 15.72x
50318 35.13x 28.99x sad_x3[32x64] 10.43x 10.39x 28.87x 36.20x
50319 sad_x4[32x64] 10.73x 9.71x 14.08x 36.61x sad[ 64x4] 9.92x 12.61x
50320 24.17x 25.65x sad_x3[ 64x4] 10.89x 9.16x 20.94x 27.04x sad_x4[ 64x4]
50321 7.64x 9.67x 11.56x 24.33x sad[ 64x8] 8.64x 13.43x 25.54x 26.88x
50322 sad_x3[ 64x8] 11.55x 9.80x 22.40x 23.04x sad_x4[ 64x8] 8.34x 10.10x
50323 12.34x 18.87x sad[64x12] 9.41x 14.17x 27.20x 28.67x sad_x3[64x12]
50324 12.39x 9.30x 23.76x 26.13x sad_x4[64x12] 7.88x 9.21x 14.02x 22.10x
50325 sad[64x16] 8.66x 14.51x 28.84x 30.87x sad_x3[64x16] 8.98x 9.60x
50326 24.42x 27.69x sad_x4[64x16] 8.27x 9.67x 29.10x 24.21x sad[64x24]
50327 9.16x 13.90x 24.11x 27.05x sad_x3[64x24] 8.56x 9.75x 16.25x 28.11x
50328 sad_x4[64x24] 9.61x 9.99x 30.53x 24.77x sad[64x32] 10.06x 14.10x
50329 25.67x 28.96x sad_x3[64x32] 8.46x 9.97x 13.58x 29.50x sad_x4[64x32]
50330 10.15x 10.14x 31.67x 25.41x sad[64x64] 10.06x 14.75x 25.82x 32.25x
50331 sad_x3[64x64] 8.04x 8.93x 31.06x 30.90x sad_x4[64x64] 9.36x 9.88x
50332 26.55x 26.53x
50333 [82239d0023c8]
50334
50335 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50336 source/encoder/vec/pixel8.inc:
50337 pixel: optimize sad_4 and sad_8 to not need helpers
50338 [3ad29dc2d608]
50339
50340 * source/encoder/vec/pixel8.inc:
50341 pixel8: more cleanups, no behavior changes
50342 [9ebffae04e6f]
50343
50344 * source/encoder/vec/pixel8.inc:
50345 pixel8: intermediate variable rename, to be consistent with pixel16
50346 [6f3ac7d4cfbd]
50347
50348 * source/encoder/vec/pixel8.inc:
50349 pixel8: 8bpp sad_64_x4 and sad_64_x3 cannot have residual rows
50350 [6fe1fd06c373]
50351
50352 * source/encoder/vec/pixel16.inc:
50353 pixel16: optimize 16bpp sad_N_x3 (adapted copies of sad_N_x4)
50354 [9b3489a15596]
50355
50356 * source/encoder/vec/pixel16.inc:
50357 pixel16: optimize sad_N_x4 16bpp
50358 [fde81cd177e9]
50359
50360 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel8.inc:
50361 pixel8: optimize sad_N_x4 8bpp, add sad_24_x4
50362 [2b22cc59fa15]
50363
50364 * source/encoder/vec/pixel8.inc:
50365 pixel8: optimize 8bpp sad_12_x4
50366 [379a62ef320b]
50367
50368 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50369 source/encoder/vec/pixel8.inc:
50370 pixel: add sad_24 for 8bpp and 24bpp
50371 [8851cd024b0f]
50372
50373 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc:
50374 pixel16: add sad_24_x3
50375 [e2002f58b3a8]
50376
50377 * source/encoder/vec/pixel16.inc:
50378 pixel16: fix some unaligned access exceptions triggered by VC10
50379 16bpp x64
50380 [3d667e4c590c]
50381
50382 * source/encoder/vec/pixel16.inc:
50383 pixel16: fixups for 16bpp primitives
50384 [e88afd27d35a]
50385
50386 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50387 source/encoder/vec/pixel8.inc:
50388 pixel: optimize sad_8_x4 - now same X over C as sad_8_x3
50389 [c17efc4e7f4a]
50390
50391 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50392 source/encoder/vec/pixel8.inc:
50393 pixel: optimize sad_4_x4, remove unnecessary sad_X_4_x4 functions
50394 [06554d1dedba]
50395
50396 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50397 source/encoder/vec/pixel8.inc:
50398 pixel: remove more useless lx parameters and for-loops for x3
50399 functions
50400 [72a35f3f6e2e]
50401
50402 * source/encoder/vec/pixel8.inc:
50403 pixel: optimize sad_64_x3 - about 20% improvement
50404 [46c082e89598]
50405
50406 * source/encoder/vec/pixel8.inc:
50407 pixel: optimize sad_32_x3 - about 20% improvement, remove unused
50408 sad_32_4
50409 [12351a667289]
50410
50411 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50412 source/encoder/vec/pixel8.inc:
50413 pixel: optimize sad_16_x3 - about 30% improvement, remove sad_16_4
50414 [ca2192011209]
50415
50416 2013-05-04 Steve Borho <steve@borho.org>
50417
50418 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50419 source/encoder/vec/pixel8.inc:
50420 pixel: optimize sad_12_x3 - about 2x improvement, remove sad_12_4
50421 [fed8c8152de7]
50422
50423 * source/encoder/vec/pixel8.inc:
50424 pixel8: slight tuneup for sad_8_3x
50425 [056c029b7762]
50426
50427 * source/encoder/vec/pixel8.inc:
50428 pixel8: allow 16 rows in a row of 4-wide 8bpp blocks - up to 30%
50429 faster
50430 [d906f4351c02]
50431
50432 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50433 source/encoder/vec/pixel8.inc:
50434 pixel: sad_8_x3<4> is faster than sad_8_4_x3<8,4> which seems to
50435 have no use
50436 [e834992087df]
50437
50438 2013-05-05 ShinYee Chung <shinyee@multicorewareinc.com>
50439
50440 * source/encoder/vec/CMakeLists.txt:
50441 cmake: Specify the compilation of architecture SSE2 explicitly.
50442
50443 The VS2010 crashes when executing one of the sad variants. The
50444 instruction vmovdqa() was found generated, crashing cpuid == 4 CPU.
50445 [9cf98cfecaa7]
50446
50447 2013-05-04 Steve Borho <steve@borho.org>
50448
50449 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50450 source/encoder/vec/pixel8.inc:
50451 pixel: sad_4_x3 should not have lx template var; it was broken for
50452 8bpp
50453
50454 Removes sad_4_4_x3 since it added no optimization
50455 [a89f7e937705]
50456
50457 * source/encoder/vec/pixel.inc:
50458 pixel: enable SAD PARTITION_16x24 now that it is supported for 8bpp
50459 [bc25ce99514e]
50460
50461 * source/encoder/vec/pixel8.inc:
50462 pixel8: use Vec8us to accumulate sums with addSumAbsDiff()
50463
50464 From 30 to 100% speedups for 8bpp SAD functions
50465 [a194cda3c978]
50466
50467 * source/VectorClass/vectori128.h:
50468 vector: add Vec8us::addSumAbsDiff()
50469
50470 This avoids data casts and removes a couple of instructions from
50471 some tight paths.
50472 [f167c85b6707]
50473
50474 * source/encoder/vec/CMakeLists.txt:
50475 cmake: add a comment about inc files listed in PrimitivesVec project
50476 [bc8c389159c5]
50477
50478 * source/CMakeLists.txt:
50479 cmake: remove option for multithreaded build, enable unconditionally
50480 [013198c3eb01]
50481
50482 2013-05-05 ShinYee Chung <shinyee@multicorewareinc.com>
50483
50484 * source/encoder/vec/interpolationfilter.inc:
50485 Interpolation: Fix compile warning/error on unused parameter.
50486 [e160901853b5]
50487
50488 * source/encoder/vec/vecprimitives.inc:
50489 primitives: Fix compile error on re-declaration of selectf() and
50490 selectd().
50491
50492 It is probably due to cycle in the header includes.
50493 [3736fe22253e]
50494
50495 2013-05-04 Min Chen <chenm003@163.com>
50496
50497 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
50498 intrapred: more improvement 8bpp DC for 32 and 64 blocks
50499 --- source/VectorClass/vectori128.h | 45
50500 ++++++++++++++++++++++++++++++++++++++
50501 source/encoder/vec/intrapred.inc | 38
50502 +++++++++++++------------------ 2 files changed, 61 insertions(+),
50503 22 deletions(-)
50504 [c8fe324edc4d]
50505
50506 * source/encoder/threadpool.cpp:
50507 threadpool: VS2008 not defined _WIN32_WINNT_VISTA
50508 --- source/encoder/threadpool.cpp | 2 +- 1 files changed, 1
50509 insertions(+), 1 deletions(-)
50510 [d5d163ce5222]
50511
50512 2013-05-04 Steve Borho <steve@borho.org>
50513
50514 * source/encoder/vec/intrapred.inc:
50515 intrapred: remove includes and namespace from inc header
50516
50517 includes must be in vecprimitives.inc, outside of the anonoymous
50518 namespace
50519 [ed8b00af0055]
50520
50521 * source/encoder/vec/CMakeLists.txt:
50522 cmake: add intrapred.inc to the PrimitivesVec project
50523
50524 So it's easy to find
50525 [40ccd41545cb]
50526
50527 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
50528 vectori128: add fromUint64() method, only available for x64 builds
50529
50530 Needs a better fallback and cross-platform x64 compilation detection
50531 [2daae31d6ab5]
50532
50533 * source/encoder/vec/intrapred.inc:
50534 intrapred: simplify 8bpp DC for 32 and 64 blocks, now faster than C
50535 [78aeea32fd92]
50536
50537 * source/encoder/vec/intrapred.inc:
50538 intrapred: add an 8bpp path for DC pred (currently slower than C at
50539 64x64)
50540
50541 This primitive might have to use aligned loads to be faster than C..
50542 or have a function pointer per intra-block width to avoid the switch
50543 statement.
50544 [4f1b0d47e596]
50545
50546 2013-05-03 Steve Borho <steve@borho.org>
50547
50548 * source/encoder/vec/intrapred.inc:
50549 intrapred: use g_aucConvertToBit for bit size
50550 [b2b21d6fe1fc]
50551
50552 * source/test/intrapredharness.cpp:
50553 intrapredharness: ensure top pixels always avail for perf test
50554 [3bb5cca8fb52]
50555
50556 * source/encoder/vec/intrapred.inc:
50557 intrapred: perform horizontal sum at increased depth
50558
50559 Test now passes with 10bit pixels
50560 [5a3d377654c2]
50561
50562 * source/test/intrapredharness.cpp:
50563 intrapredharness: pre-calculate all random pixels, ensure top pixels
50564 always avail
50565 [55dc29e361fa]
50566
50567 * source/test/intrapredharness.cpp:
50568 intrapredharness: this primitive requires initROM() to be called
50569 [793b2e36e7e8]
50570
50571 * source/test/CMakeLists.txt:
50572 testbench: 8bpp link now requires HM, just for a global array
50573 [d883646084ac]
50574
50575 * source/encoder/vec/intrapred.inc:
50576 intrapred: disable 4100 warnings until 8bpp is supported
50577 [3db61f610fc5]
50578
50579 * source/encoder/threadpool.cpp:
50580 threadpool: further compilation fixes for other platforms
50581 [5c2c51892268]
50582
50583 * source/test/intrapredharness.cpp:
50584 intrapredharness: fix shadowed loop variable
50585 [c9341cd75fca]
50586
50587 * source/test/CMakeLists.txt:
50588 cmake: add new intrapred harness to testbench build
50589 [fee22e63bf0a]
50590
50591 2013-05-04 Min Chen <chenm003@163.com>
50592
50593 * source/test/intrapredharness.cpp, source/test/intrapredharness.h,
50594 source/test/testbench.cpp:
50595 intrapred: testbench
50596
50597 From 990ec815902203bfb954921bac75e1913719e630 Mon Sep 17 00:00:00
50598 2001
50599 --- source/test/testbench.cpp | 5 +- source/test/intrapredharness.cpp
50600 | 122 ++++++++++++++++++++++++++++++++++++++
50601 source/test/intrapredharness.h | 53 ++++++++++++++++ 3 files
50602 changed, 179 insertions(+), 1 deletions(-) create mode 100644
50603 source/test/intrapredharness.cpp create mode 100644
50604 source/test/intrapredharness.h
50605 [50d74bce7e74]
50606
50607 2013-05-03 Steve Borho <steve@borho.org>
50608
50609 * source/encoder/vec/intrapred.inc:
50610 intrapred: fix one obvious bug, disable DC vec prim for 8bpp until
50611 debugged
50612 [1276967fdbcc]
50613
50614 * source/encoder/IntraPred.cpp:
50615 IntraPred: yes, pixel is an alias for Pel and vice-versa
50616 [4ee48f5e5c8d]
50617
50618 * source/encoder/CMakeLists.txt:
50619 cmake: add IntraPred.cpp to CPRIMITIVES file list
50620 [6da50ba09221]
50621
50622 2013-05-03 Min Chen <chenm003@163.com>
50623
50624 * source/Lib/TLibCommon/TComPrediction.cpp,
50625 source/VectorClass/vectori128.h, source/encoder/IntraPred.cpp,
50626 source/encoder/primitives.cpp, source/encoder/primitives.h,
50627 source/encoder/vec/intrapred.inc,
50628 source/encoder/vec/vecprimitives.inc:
50629 intrapred: vector code
50630 --- source/Lib/TLibCommon/TComPrediction.cpp | 8 ++-
50631 source/VectorClass/vectori128.h | 9 ++ source/encoder/IntraPred.cpp
50632 | 83 ++++++++++++++++ source/encoder/primitives.cpp | 2 +
50633 source/encoder/primitives.h | 3 + source/encoder/vec/intrapred.inc |
50634 156 ++++++++++++++++++++++++++++++
50635 source/encoder/vec/vecprimitives.inc | 3 + 7 files changed, 263
50636 insertions(+), 1 deletions(-) create mode 100644
50637 source/encoder/IntraPred.cpp create mode 100644
50638 source/encoder/vec/intrapred.inc
50639 [8ba7ba4f1b69]
50640
50641 * source/Lib/TLibCommon/TComPattern.cpp,
50642 source/Lib/TLibCommon/TComPattern.h,
50643 source/Lib/TLibCommon/TComPrediction.cpp,
50644 source/Lib/TLibCommon/TComPrediction.h,
50645 source/Lib/TLibEncoder/TEncSearch.cpp:
50646 replace piAdiBuf type from Int to Pel
50647 --- source/Lib/TLibCommon/TComPattern.cpp | 28
50648 ++++++++++++++-------------- source/Lib/TLibCommon/TComPattern.h |
50649 14 +++++++------- source/Lib/TLibCommon/TComPrediction.cpp | 22
50650 +++++++++++----------- source/Lib/TLibCommon/TComPrediction.h | 6
50651 +++--- source/Lib/TLibEncoder/TEncSearch.cpp | 6 +++--- 5 files
50652 changed, 38 insertions(+), 38 deletions(-)
50653 [a787dfc1a781]
50654
50655 * source/Lib/TLibCommon/TComPrediction.cpp:
50656 Intra dc prediction own function Conflicts:
50657
50658 source/Lib/TLibCommon/TComPrediction.cpp
50659 --- source/Lib/TLibCommon/TComPrediction.cpp | 61
50660 +++++++++++++++++------------- 1 files changed, 35 insertions(+), 26
50661 deletions(-)
50662 [2a4abd157919]
50663
50664 * source/Lib/TLibCommon/TComPrediction.cpp,
50665 source/Lib/TLibCommon/TComPrediction.h:
50666 extract Intra prediction functions from class to normal
50667 --- source/Lib/TLibCommon/TComPrediction.cpp | 10 ++++++----
50668 source/Lib/TLibCommon/TComPrediction.h | 5 ----- 2 files changed, 6
50669 insertions(+), 9 deletions(-)
50670 [b947edf8099b]
50671
50672 * source/Lib/TLibCommon/TComPrediction.cpp:
50673 OPT predIntraLumaAng: merge function call
50674 --- source/Lib/TLibCommon/TComPrediction.cpp | 16 +++++----------- 1
50675 files changed, 5 insertions(+), 11 deletions(-)
50676 [39e2bb372e4c]
50677
50678 2013-05-03 Steve Borho <steve@borho.org>
50679
50680 * source/test/pixelharness.cpp:
50681 pixelharness: cut down on iterations for measuring x3 and x4 perf
50682 [ba8113125178]
50683
50684 * source/encoder/threadpool.cpp:
50685 threadpool: fixup commit for GCC and later Windows versions
50686 [c8479b70bcdb]
50687
50688 2013-05-03 Min Chen <chenm003@163.com>
50689
50690 * source/encoder/threadpool.cpp:
50691 Fix WinXP compatible
50692 --- source/encoder/threadpool.cpp | 23 +++++++++++++++++++++-- 1
50693 files changed, 21 insertions(+), 2 deletions(-)
50694 [069ddee0aceb]
50695
50696 2013-05-03 Steve Borho <steve@borho.org>
50697
50698 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
50699 source/test/testbench.cpp:
50700 motion: make new motion search disappear without ENABLE_PRIMITIVES
50701 [96457db97f8e]
50702
50703 * source/Lib/TLibEncoder/TEncSearch.cpp:
50704 TEncSearch: don't use neighbor MVs as search candidates, merge will
50705 check them
50706
50707 I'm leaving the search candidate arguments in place, later we might
50708 get some search candidates that are not also merge candidates
50709 (lookahead, for one)
50710 [078a4dfddbcd]
50711
50712 2013-05-02 Steve Borho <steve@borho.org>
50713
50714 * source/Lib/TLibEncoder/TEncSearch.cpp:
50715 TEncSearch: found some predictor MVs
50716 [3e656c4c7905]
50717
50718 * source/Lib/TLibEncoder/TEncSearch.cpp,
50719 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.cpp,
50720 source/encoder/motion.h, source/encoder/mv.h:
50721 motion: partial integration into TEncSearch for debugging purposes
50722
50723 Adds a small amount of overhead
50724 [0842edc65dea]
50725
50726 * source/encoder/vec/pixel.inc:
50727 pixel: disable satd function completely for 8bpp
50728 [b49e50e70bb2]
50729
50730 * source/Lib/TLibCommon/TComPicYuv.cpp:
50731 TComPicYuv: add TODOs where new performance primitives can be added
50732 [ba309a167e38]
50733
50734 * source/Lib/TLibCommon/TComPicYuv.cpp:
50735 TComPicYuv: white-space nits, no effect
50736 [387f505139c6]
50737
50738 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
50739 TComPic: remove unused m_bNeededForOutput
50740 [0279f22166ba]
50741
50742 * source/encoder/motion.cpp:
50743 motion: use block copy primitive
50744 [a116b67a5a01]
50745
50746 * source/CMakeLists.txt:
50747 cmake: the big switch. Make 8bpp the default build configuration
50748 [6c9154cdab6f]
50749
50750 * source/encoder/bitcost.cpp:
50751 bitcost: and another cast
50752 [af04f537b82e]
50753
50754 * source/encoder/bitcost.cpp:
50755 bitcost: add back explicit typecasts
50756 [80b6aba5b4e4]
50757
50758 2013-05-03 ShinYee Chung <shinyee@multicorewareinc.com>
50759
50760 * source/encoder/bitcost.cpp:
50761 bitcost: Use portable std::min() instead of implicit min().
50762 [49605906cd31]
50763
50764 2013-05-02 Steve Borho <steve@borho.org>
50765
50766 * source/encoder/bitcost.cpp:
50767 bitcost: document more differences between the HM and x264
50768 approaches
50769 [dc6634bdf401]
50770
50771 * source/encoder/bitcost.cpp:
50772 bitcost: use integer min() for MSVC compatibility
50773 [abe3030915d6]
50774
50775 2013-05-03 ShinYee Chung <shinyee@multicorewareinc.com>
50776
50777 * source/encoder/bitcost.cpp:
50778 bitcost: Fix segfault due to out of bound accesses to logs table.
50779 [7b18a1bab2fa]
50780
50781 * source/input/y4m.cpp:
50782 y4m: Fix -ve PSNR when encoding a y4m file.
50783
50784 Sample output:
50785
50786 POC 0 TId: 0 ( I-SLICE, nQP 32 QP 32 ) 23444072 bits [Y -40.5587 dB
50787 U -40.8645 dB V -40.8654 dB] [ET 21 ] [L0 ] [L1 ]
50788 [13cd19348761]
50789
50790 2013-05-02 ShinYee Chung <shinyee@multicorewareinc.com>
50791
50792 * source/encoder/motion.cpp:
50793 motion: Fix a compile error due to undeclared memcpy().
50794 [85d91dfdccc6]
50795
50796 * source/encoder/motion.cpp, source/encoder/motion.h:
50797 motion: Fix compile warnings/errors due to shadowed variables.
50798 [9e6d97767358]
50799
50800 * source/CMakeLists.txt, source/encoder/bitcost.cpp:
50801 bitcost: Fix undeclared min().
50802
50803 The math.h header defines fmin(), and algorithm header defines
50804 std::min(). We decided to use fmin().
50805 [ebfbc677b238]
50806
50807 2013-05-02 nandaku2 <deepthi@multicorewareinc.com>
50808
50809 * Merged in deepthidevaki/xhevc_deepthid (pull request #111)
50810
50811 Fix compile issue in TComPrediction.cpp with disable primitives.
50812 [4ec6cd5d2732]
50813
50814 2013-05-02 Deepthi Devaki <Deepthi Devaki>
50815
50816 * source/Lib/TLibCommon/TComPrediction.cpp:
50817 Fix compile issue in TComPrediction.cpp with disable primitives.
50818 [a4f56554606d]
50819
50820 2013-05-02 Mandar Gurav <Mandar Gurav>
50821
50822 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50823 source/encoder/vec/pixel8.inc:
50824 Implementation of sad_x4 stage 2 and sad_x3
50825 [c8d6caa73c42]
50826
50827 2013-05-02 Mandar Gurav <mandar@multicorewareinc.com>
50828
50829 * Merged multicoreware/xhevc into default
50830 [700a3436aa9f]
50831
50832 * source/encoder/InterpolationFilter.cpp:
50833 Merged multicoreware/xhevc into default
50834 [1ded90aad015]
50835
50836 2013-05-02 Mandar Gurav <Mandar Gurav>
50837
50838 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel8.inc:
50839 Implementation for sad_x4 - 8,16,32,64 with HIGH_BT_WIDTH disabled.
50840 [3dd9ebabfdcb]
50841
50842 2013-05-02 Deepthi <Deepthi>
50843
50844 * source/encoder/primitives.cpp:
50845 Compilation fix for primitives disabled
50846 [4f863ec8e9d8]
50847
50848 2013-05-02 Deepthi Devaki <Deepthi Devaki>
50849
50850 * source/encoder/CMakeLists.txt:
50851 Merge
50852 [0ad59133e0b6]
50853
50854 * source/Lib/TLibCommon/TComPrediction.cpp,
50855 source/encoder/CMakeLists.txt,
50856 source/encoder/InterpolationFilter.cpp,
50857 source/encoder/InterpolationFilter.h:
50858 cleaning up TComPrediction.cpp with new filters
50859 [7827c5d4f308]
50860
50861 * source/encoder/CMakeLists.txt,
50862 source/encoder/InterpolationFilter.cpp, source/encoder/ipfilter.cpp:
50863 Rename .cpp file with filter-primitives
50864 [bd3f6bf45ab7]
50865
50866 * source/encoder/InterpolationFilter.cpp,
50867 source/encoder/interpolationfilter.cpp:
50868 Backed out changeset: 2e29f87a6088
50869 [2efde965e0ee]
50870
50871 * source/encoder/CMakeLists.txt:
50872 Backed out changeset: dd6580ef216e
50873 [6df4928a88a8]
50874
50875 * source/encoder/CMakeLists.txt:
50876 Renaming interpolationfilter.cpp in CMakeList
50877 [dd6580ef216e]
50878
50879 * source/encoder/InterpolationFilter.cpp,
50880 source/encoder/interpolationfilter.cpp:
50881 Rename .cpp file containing filter-primitives
50882 [2e29f87a6088]
50883
50884 2013-05-02 Steve Borho <steve@borho.org>
50885
50886 * source/encoder/CMakeLists.txt, source/encoder/motion.cpp,
50887 source/encoder/motion.h:
50888 motion: motion search now compiles, added to build but unused
50889 [56dfb55dad17]
50890
50891 * Merged in praveentiwari/xhevc_praveent (pull request #108)
50892
50893 2.20x more performance gain for partialButterflyInverse16
50894 [7b4811d9db39]
50895
50896 2013-05-02 praveentiwari <praveentiwari>
50897
50898 * source/encoder/vec/macroblock.inc:
50899 2.20x more performance gain for partialButterflyInverse16
50900 [eba40e7f48dc]
50901
50902 2013-05-02 Mandar Gurav <Mandar Gurav>
50903
50904 * source/encoder/pixel.cpp, source/encoder/primitives.h,
50905 source/encoder/vec/interpolationfilter.inc,
50906 source/encoder/vec/pixel16.inc, source/test/pixelharness.cpp:
50907 Implementation of sad_x3 and sad_x4 with reference frame stride.
50908 [249bdb052e0a]
50909
50910 2013-05-02 Steve Borho <steve@borho.org>
50911
50912 * source/encoder/motion.cpp, source/encoder/motion.h:
50913 motion: compilation fixes - file still not part of build
50914 [3dd5ac35ea76]
50915
50916 2013-05-01 Steve Borho <steve@borho.org>
50917
50918 * source/encoder/vec/pixel8.inc:
50919 pixel8: remove unused satd_4x4 and sa8d_8x8
50920 [d8bc48ebe95c]
50921
50922 2013-05-02 Mandar Gurav <Mandar Gurav>
50923
50924 * source/encoder/vec/CMakeLists.txt,
50925 source/encoder/vec/interpolationfilter.inc,
50926 source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
50927 source/encoder/vec/pixel8.inc, source/encoder/vec/vecprimitives.inc:
50928 Restructure pixel.inc
50929 [78d93b165924]
50930
50931 2013-05-01 Steve Borho <steve@borho.org>
50932
50933 * source/test/pixelharness.cpp:
50934 pixelharness: increase size of pixel buffers
50935 [d30a346a00d0]
50936
50937 * source/test/pixelharness.cpp:
50938 pixelharness: test random PU block sizes
50939 [a16589611ae6]
50940
50941 * source/encoder/vec/blockcopy.inc, source/test/pixelharness.cpp:
50942 blockcopy: couple of bug fixes, now all but p_s pass with 8bpp
50943 [26bcd02b0ffc]
50944
50945 * source/encoder/vec/blockcopy.inc, source/encoder/vec/pixel.inc:
50946 pixel: fix HIGH_BIT_DEPTH=0 build, temp fix
50947 [e3f72af44dff]
50948
50949 * source/encoder/vec/CMakeLists.txt, source/encoder/vec/blockcopy.inc,
50950 source/encoder/vec/vecprimitives.inc:
50951 primitives: add blockcopy.inc - only HIGH_BIT_DEPTH is accelerated
50952 [a2cb9e405fbe]
50953
50954 * source/encoder/pixel.cpp:
50955 pixel: fixes for block copy C ref
50956 [122dcad10a6f]
50957
50958 * source/test/pixelharness.cpp:
50959 pixelharness: add block copy perf tests
50960 [3842dc74d0e3]
50961
50962 * source/encoder/pixel.cpp, source/encoder/primitives.h,
50963 source/test/pixelharness.cpp, source/test/pixelharness.h:
50964 primitive: add block copy primitives
50965 [7f115c88c899]
50966
50967 * source/test/pixelharness.cpp:
50968 pixelharness: nit white-space
50969 [de5953b7be6e]
50970
50971 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp:
50972 bitcost: store logs as fractional values *CHANGES OUTPUTS*
50973
50974 /me dumb. What was the point of storing the output of ceil() in a
50975 float?
50976
50977 This was a small but unambiguous win in compression efficiency
50978 [ca0cd4e5b78c]
50979
50980 * source/encoder/bitcost.cpp:
50981 bitcost: use just one copy of "acquire" logic
50982 [94d5a08f85bd]
50983
50984 * source/encoder/bitcost.h:
50985 bitcost: nit - reorder methods in order they are typically used
50986 [fd114658c2d0]
50987
50988 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
50989 bitcost: store cost estimates as 16bits, clamp to max16
50990
50991 It's somewhat pedantic to keep more bits than this, and wasteful of
50992 precious CPU cache. If someone in the future really wants >16bit mv
50993 costs, they can template this class and instantiate the size they
50994 want. This had no measurable effect on the outputs.
50995 [1522b5f696e4]
50996
50997 * source/encoder/bitcost.h:
50998 bitcost: reorder initializers to make GCC happy
50999 [75f7df4a2567]
51000
51001 2013-04-30 Steve Borho <steve@borho.org>
51002
51003 * source/encoder/primitives.h:
51004 primitives: avoid redecl of CDECL with GCC
51005 [e3e7d5fc0930]
51006
51007 2013-05-01 Steve Borho <steve@borho.org>
51008
51009 * source/encoder/primitives.h:
51010 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #105)
51011
51012 Implementation of sad_4_x3 and sad_12_x3. and sad_x4
51013 [6f85a46676d5]
51014
51015 2013-05-01 Mandar Gurav <Mandar Gurav>
51016
51017 * source/encoder/pixel.cpp, source/encoder/primitives.h,
51018 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
51019 source/test/pixelharness.h:
51020 Implementation of sad_x4
51021 [b8dac1cab20f]
51022
51023 * source/encoder/vec/pixel.inc, source/test/pixelharness.cpp:
51024 Implementation of sad_4_x3 and sad_12_x3.
51025 [e1c2cc61fd99]
51026
51027 2013-05-01 Steve Borho <steve@borho.org>
51028
51029 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
51030 source/encoder/primitives.cpp, source/encoder/primitives.h:
51031 bitcost: use new bitcost class for mv cost estimates *CHANGES
51032 OUTPUTS*
51033
51034 Sample encode statistics comparing HM vs x265 mv cost estimates:
51035 (comparing HM vs our HM optimization, not the x264 approach)
51036
51037 kbps Y PSNR U PSNR V PSNR HM getCost(): 1381.8880 32.8096 41.0167
51038 43.3698 m_bc.mvcost(): 1383.2000 32.8171 41.0402 43.3580
51039
51040 (mostly noise, but it is different)
51041 [8fbf3bf1bce5]
51042
51043 * source/encoder/bitcost.cpp, source/encoder/bitcost.h,
51044 source/encoder/primitives.cpp:
51045 bitcost: rename cleanupCosts to destroy
51046 [e0e5b913b3ea]
51047
51048 * source/encoder/bitcost.cpp:
51049 bitcost: bring mv costs close in line with HM's methods
51050
51051 mvcost rounds earlier, so it results in even scores while the HM
51052 rounds at the end so it usually gets odd scores, but they are
51053 typically one digit apart. In a few places logs[] will vary from
51054 Motion_Costs by 1, causing the result to differ by 1 lambda.
51055 [af142516c4ff]
51056
51057 2013-05-01 Deepthi <Deepthi>
51058
51059 * Merge
51060 [55bb44dbbcab]
51061
51062 * source/x265enc.cpp:
51063 The very common sizeof bug.
51064 [961680a9f94e]
51065
51066 2013-05-01 Steve Borho <steve@borho.org>
51067
51068 * source/encoder/primitives.cpp:
51069 primitives: free Motion_Cost in x265_cleanup()
51070 [c424425a66f2]
51071
51072 2013-04-30 Steve Borho <steve@borho.org>
51073
51074 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
51075 bitcost: precalculate 2 * log2(n) for each MVD offset
51076 [42f145aaeea0]
51077
51078 * source/encoder/mv.h:
51079 mv: bug fixes; cannot use word shifts because x or y can be signed
51080 [425867841725]
51081
51082 * source/Lib/TLibEncoder/TEncSearch.cpp:
51083 TEncSearch: HM uses different sqrt(lambda) to calculate SAD bitcosts
51084 [28a3ad887c33]
51085
51086 * source/Lib/TLibEncoder/TEncSearch.cpp:
51087 TEncSearch: comment improvements and white-space nits
51088 [fe0009c03145]
51089
51090 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
51091 source/encoder/bitcost.h:
51092 bitcost: bug fixes and enable integration into TEncSearch.cpp
51093 [c18cfa4d13a6]
51094
51095 * source/Lib/TLibEncoder/TEncSearch.cpp,
51096 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/bitcost.cpp,
51097 source/encoder/bitcost.h, source/encoder/primitives.h:
51098 bitcost: begin integration into TEncSearch
51099 [81b815f0ac28]
51100
51101 * source/encoder/bitcost.cpp, source/x265.h:
51102 x265: comment nits
51103 [1ca12b92b67f]
51104
51105 * source/encoder/bitcost.cpp:
51106 bitcost: fix bug caused by bad eye-sight and worse fonts
51107 [2208db9f4e49]
51108
51109 * source/encoder/primitives.cpp, source/x265.h, source/x265main.cpp:
51110 api: add x265_cleanup() method, to make leak detectors happy
51111 [3bbdb7451176]
51112
51113 * source/encoder/CMakeLists.txt, source/encoder/bitcost.cpp,
51114 source/encoder/bitcost.h, source/encoder/motion.h:
51115 bitcost: add BitCost to x265 project build
51116 [1fb55290fb14]
51117
51118 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/mv.h:
51119 mv: remove getAbsHor|Ver access methods
51120 [99ed9f571a1c]
51121
51122 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/mv.h:
51123 mv: move scaleMV method to file static in TComDataCU.cpp
51124
51125 This was the only file to use it, and it requires CommonDef.h so it
51126 was cleaner to move it there than to #include CommonDef in our new
51127 code.
51128 [22f8092af4c0]
51129
51130 * source/encoder/bitcost.h, source/encoder/motion.cpp,
51131 source/encoder/motion.h, source/encoder/mv.h:
51132 motion: simplify block offset calculations and MV API
51133 [d45e0bf08279]
51134
51135 * source/Lib/TLibCommon/TComTrQuant.cpp:
51136 backout micro optimization in TComTrQuant
51137
51138 uiQ is much larger than a pixel value, so doing calculation as Int64
51139 is correct This change was resulting in an infinite for-loop in
51140 debug runs
51141 [2803c3221494]
51142
51143 * source/Lib/TLibCommon/TComLoopFilter.cpp,
51144 source/Lib/TLibCommon/TComMotionInfo.cpp, source/encoder/mv.h:
51145 mv: replace setZero() calls with assignments to 0 (implicit cast)
51146 [8bf5cfa3dc58]
51147
51148 * source/encoder/mv.h:
51149 mv: fix shadow compile warnings
51150 [26f80f4c0e63]
51151
51152 * source/encoder/vec/macroblock.inc:
51153 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #103)
51154
51155 Implementation of sad_16_x3, sad_32_x3 stage 1
51156 [dcc9d54d3338]
51157
51158 2013-04-30 Mandar Gurav <Mandar Gurav>
51159
51160 * source/Lib/TLibCommon/TComRdCost.cpp,
51161 source/encoder/vec/macroblock.inc:
51162 Revert to xhevc code...
51163 [d78e74091ac4]
51164
51165 * source/Lib/TLibCommon/TComRdCost.cpp,
51166 source/encoder/vec/macroblock.inc:
51167 Merge
51168 [c3c08427ee92]
51169
51170 * source/encoder/vec/pixel.inc:
51171 Implementation of sad_16_x3, sad_32_x3 stage 2
51172 [4e9455062807]
51173
51174 2013-04-30 Mandar Gurav <mandar@multicorewareinc.com>
51175
51176 * Merged multicoreware/xhevc into default
51177 [181bdddec8a7]
51178
51179 2013-04-30 Mandar Gurav <Mandar Gurav>
51180
51181 * source/encoder/vec/pixel.inc:
51182 Implementation of sad_16_x3, sad_32_x3 stage 1
51183 [d0e56fa89954]
51184
51185 2013-04-30 Steve Borho <steve@borho.org>
51186
51187 * source/Lib/TLibEncoder/TEncSearch.cpp:
51188 TEncSearch: white-space nits
51189 [c3dc302391b9]
51190
51191 * source/Lib/TLibCommon/TComDataCU.cpp,
51192 source/Lib/TLibCommon/TComMv.h, source/encoder/CMakeLists.txt:
51193 mv: substitute our x265::MV class for TComMv
51194 [7f84c91c706f]
51195
51196 * source/Lib/TLibCommon/TComTrQuant.cpp:
51197 TComTrQuant: white-space nits
51198 [2efe97558d45]
51199
51200 * source/Lib/TLibEncoder/TEncSearch.cpp:
51201 TEncSearch: eoln fixes
51202 [706caf90a11f]
51203
51204 * source/encoder/mv.h:
51205 mv: compilation fixes
51206 [10022975148e]
51207
51208 * source/encoder/motion.cpp:
51209 motion: call x264_cpu_emms() at end of motion search
51210 [ab58c2ee829a]
51211
51212 * Merge
51213 [da161f8dda40]
51214
51215 2013-04-30 Deepthi <Deepthi>
51216
51217 * source/Lib/TLibCommon/TComSlice.h:
51218 Signed/unsigned comparison mismatch
51219 [19e430b976bd]
51220
51221 2013-04-30 Deepthi Devaki <Deepthi Devaki>
51222
51223 * source/Lib/TLibCommon/TComPrediction.cpp,
51224 source/encoder/InterpolationFilter.cpp,
51225 source/encoder/InterpolationFilter.h, source/encoder/primitives.h:
51226 Filter in TComPrediction.cpp 0 - compiles with highBitDepth = 0/ 1
51227 [ee367956acdc]
51228
51229 2013-04-30 praveentiwari <praveentiwari>
51230
51231 * source/encoder/vec/macroblock.inc:
51232 Robust logic for clip3 function and multiplication replaced with
51233 shift
51234 [b9a706e1c328]
51235
51236 * source/encoder/vec/macroblock.inc:
51237 .62X more performance gain for partialButterflyInverse8
51238 [fa15bd1d94d1]
51239
51240 2013-04-30 praveen Tiwari <praveen@multicorewareinc.com>
51241
51242 * Merged multicoreware/xhevc into default
51243 [d4c8a6822d48]
51244
51245 * Merged multicoreware/xhevc into default
51246 [0595c6492fc9]
51247
51248 2013-04-29 praveen Tiwari <praveen@multicorewareinc.com>
51249
51250 * Merged multicoreware/xhevc into default
51251 [e1633a0b4388]
51252
51253 2013-04-26 praveen Tiwari <praveen@multicorewareinc.com>
51254
51255 * Merged multicoreware/xhevc into default
51256 [2e307dbf8bc3]
51257
51258 2013-04-25 praveen Tiwari <praveen@multicorewareinc.com>
51259
51260 * Merged multicoreware/xhevc into default
51261 [8079c95648f2]
51262
51263 * Merged multicoreware/xhevc into default
51264 [df407ba015a9]
51265
51266 2013-04-24 praveen Tiwari <praveen@multicorewareinc.com>
51267
51268 * source/encoder/vec/macroblock.inc:
51269 Merged multicoreware/xhevc into default
51270 [d084fa7c1507]
51271
51272 2013-04-30 Deepthi <Deepthi>
51273
51274 * source/Lib/TLibCommon/TComRdCost.cpp,
51275 source/Lib/TLibCommon/TComRdCost.h,
51276 source/Lib/TLibEncoder/TEncSearch.cpp:
51277 Adding support for Short-Short/Pel-Short SSE calculations.
51278 [963b0a22e185]
51279
51280 * Merge
51281 [df3e251c1550]
51282
51283 * source/Lib/TLibCommon/TComRdCost.h:
51284 Merge
51285 [43db01e2d0f1]
51286
51287 * source/Lib/TLibCommon/TComRdCost.cpp,
51288 source/Lib/TLibCommon/TComRdCost.h:
51289 Restructuring TComRdCost to allow for Pel,Short combinations of SSE
51290 calc.
51291 [6929ad484805]
51292
51293 2013-04-30 Steve Borho <steve@borho.org>
51294
51295 * source/encoder/vec/pixel.inc:
51296 pixel: disable sad_x3 functions for HIGH_BIT_DEPTH=0
51297 [7d724b6d631d]
51298
51299 * source/encoder/primitives.cpp, source/encoder/primitives.h:
51300 primitives: nit cleanups
51301 [4fabe59015fb]
51302
51303 * source/encoder/primitives.h:
51304 Merged in ggopu/ggopu_xhevc (pull request #101)
51305
51306 Removed GetCost() Function
51307 [5923e7ea9058]
51308
51309 2013-04-29 ggopu <ggopu>
51310
51311 * source/Lib/TLibCommon/TComRdCost.h,
51312 source/Lib/TLibEncoder/TEncSearch.cpp,
51313 source/encoder/primitives.cpp, source/encoder/primitives.h:
51314 Removed GetCost() Function
51315 [d59ff5bf67d9]
51316
51317 2013-04-30 Steve Borho <steve@borho.org>
51318
51319 * Merged in sumalatha/xhevc_sumalatha (pull request #99)
51320
51321 C Level Optimization on xRateDistOptQuant()
51322 [9920f881602d]
51323
51324 2013-04-30 sumalatha <sumalatha>
51325
51326 * source/Lib/TLibCommon/TComTrQuant.cpp:
51327 C Level Optimization on xRateDistOptQuant() - 1. removed all memsets
51328 ( except for pdCostCoeffGroupSig[]) - initialized only those array
51329 elements that will be read first before its updated from the inside
51330 the main for loop itself. 2. optimized a few of local variables used
51331 in certain calculations inside the loop.
51332
51333 Also done changes based on steves suggestion
51334 [8bb8a28015b6]
51335
51336 * source/Lib/TLibCommon/CommonDef.h,
51337 source/Lib/TLibCommon/TComTrQuant.cpp:
51338 Backed out changeset: eb3d76f250f8
51339 [93f865e11524]
51340
51341 2013-04-30 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
51342
51343 * source/Lib/TLibCommon/CommonDef.h,
51344 source/Lib/TLibCommon/TComTrQuant.cpp:
51345 Merged multicoreware/xhevc into default
51346 [5d85009c6e6b]
51347
51348 2013-04-29 sumalatha <sumalatha>
51349
51350 * source/Lib/TLibCommon/CommonDef.h,
51351 source/Lib/TLibCommon/TComTrQuant.cpp:
51352 C Level Optimization on xRateDistOptQuant() - 1. removed all memsets
51353 ( except for pdCostCoeffGroupSig[]) - initialized only those array
51354 elements that will be read first before its updated from the inside
51355 the main for loop itself. 2. optimized a few of local variables used
51356 in certain calculations inside the loop.
51357 [eb3d76f250f8]
51358
51359 2013-04-30 Steve Borho <steve@borho.org>
51360
51361 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #100)
51362
51363 Incoprporated Steve's comments - stage 2.
51364 [a68d3284d72a]
51365
51366 2013-04-30 Mandar Gurav <Mandar Gurav>
51367
51368 * source/test/pixelharness.cpp, source/test/pixelharness.h:
51369 Incoprporated Steve's comments - stage 2.
51370 [45002b3f2b97]
51371
51372 * source/encoder/pixel.cpp, source/encoder/primitives.h,
51373 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
51374 source/test/pixelharness.h:
51375 Incoprporated Steve's comments.
51376 [c44e18dd256b]
51377
51378 2013-04-30 Mandar Gurav <mandar@multicorewareinc.com>
51379
51380 * source/VectorClass/vectori128.h:
51381 Merged multicoreware/xhevc into default
51382 [d5e09736dcb5]
51383
51384 2013-04-29 Mandar Gurav <Mandar Gurav>
51385
51386 * source/VectorClass/vectori128.h, source/encoder/pixel.cpp,
51387 source/encoder/vec/pixel.inc:
51388 Revert old updates.
51389 [3c1645af294a]
51390
51391 * source/encoder/pixel.cpp, source/encoder/primitives.h,
51392 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
51393 source/test/pixelharness.h:
51394 Implemented sad_x3 for calculation of 3 SAD's in single call.
51395 [e79693d592d3]
51396
51397 2013-04-28 Mandar Gurav <mandar@multicorewareinc.com>
51398
51399 * source/VectorClass/vectori128.h, source/encoder/pixel.cpp,
51400 source/encoder/primitives.h, source/encoder/vec/pixel.inc,
51401 source/test/pixelharness.cpp:
51402 Merged multicoreware/xhevc into default
51403 [5692f4fd8ad5]
51404
51405 2013-04-29 Mandar Gurav <Mandar Gurav>
51406
51407 * source/encoder/vec/pixel.inc, source/test/pixelharness.cpp:
51408 Revert to new xhevc code.
51409 [21650019be5e]
51410
51411 2013-04-23 Mandar Gurav <Mandar Gurav>
51412
51413 * source/VectorClass/vectori128.h:
51414 Vector class library function
51415 [f4465f31f99c]
51416
51417 * source/encoder/vec/pixel.inc:
51418 Implemented x265_sad16 function into vectorclass librasy.
51419 [aed28167b644]
51420
51421 * source/encoder/pixel.cpp, source/encoder/primitives.h,
51422 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
51423 source/test/pixelharness.h:
51424 Implementation of SAD using intrinsics for 8 bit values.
51425 [6af56ea1b74c]
51426
51427 2013-04-30 Steve Borho <steve@borho.org>
51428
51429 * source/encoder/bitcost.cpp, source/encoder/bitcost.h,
51430 source/encoder/motion.cpp, source/encoder/motion.h,
51431 source/encoder/mv.h:
51432 add a new motion search core feature - is not part of the project
51433 yet
51434
51435 The MV, BitCost, MotionReference, and MotionEstimation classes will
51436 form the core of the x265 motion estimation system; eventually
51437 replacing TEncSearch, TComMV, and most of TComRdCost.
51438 [6937acae97d5]
51439
51440 2013-04-29 Steve Borho <steve@borho.org>
51441
51442 * source/VectorClass/instrset_detect.cpp:
51443 instrset_detect: workaround on Mac OS X
51444 [3b6663bd7fb9]
51445
51446 * source/VectorClass/vectori128.h, source/encoder/vec/CMakeLists.txt:
51447 cmake: isolate warnings disables within vectori128.h with two
51448 exceptions
51449 [c9ef5adc6f2b]
51450
51451 * source/test/testbench.cpp:
51452 testbench: mingw_aligned_malloc requires malloc.h
51453 [8e58b5fc3759]
51454
51455 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
51456 source/test/ipfilterharness.cpp, source/test/testbench.cpp:
51457 testbench: remove compiler warning training wheels
51458 [377da7143671]
51459
51460 * source/CMakeLists.txt:
51461 cmake: add a comment about why we ignore warnings in the CLI files
51462 [1ec1c161fb9e]
51463
51464 * source/Lib/TLibEncoder/TEncGOP.cpp:
51465 TEncGOP: provide bool values for Bool arguments
51466 [0cfc86971117]
51467
51468 * source/Lib/TLibEncoder/TEncCfg.h:
51469 TEncCfg: fix compiler warning
51470 [9e9458725136]
51471
51472 * source/Lib/TLibCommon/TComSlice.h:
51473 TComSlice: use Bools where appropriate
51474 [20b2e53cd947]
51475
51476 * source/Lib/TLibCommon/TComPicSym.h:
51477 TComPicSym: fix signed/unsigned mangling in the header
51478 [2dd01031906c]
51479
51480 * source/Lib/TAppCommon/program_options_lite.h:
51481 TAppCommon: give classes noimpl copy constructors, makes MSVC happy
51482 [18e014cab1d4]
51483
51484 * source/CMakeLists.txt:
51485 cmake: move tests above CLI, avoid pulling in disabled warnings
51486 [4fd9c4ed8a0a]
51487
51488 * source/CMakeLists.txt:
51489 cmake: add /wd4800 and /wd4018 to x265main.cpp and x265cfg.cpp
51490 [8ec187f802f3]
51491
51492 * source/Lib/CMakeLists.txt:
51493 cmake: add back /wd4018 and /wd4800 to HM source files
51494
51495 It would be a gargantuan effort to clean all these up at this point.
51496 Instead we will just make all the new code compile clean and these
51497 old files will eventually be replaced
51498 [7b1566c818a6]
51499
51500 * source/Lib/TLibCommon/CommonDef.h:
51501 Remove warnings disables from CommonDef.h, will add back with more
51502 focus
51503
51504 These were leaking into the encoder/ folder where we want our new
51505 code to be warning free.
51506 [a949c6f35a76]
51507
51508 2013-04-29 ShinYee Chung <shinyee@multicorewareinc.com>
51509
51510 * source/encoder/TShortYUV.cpp:
51511 shortyuv: Fix compile warnings/errors due to comparing signed and
51512 unsigned integers.
51513
51514 GCC 4.8.0 Linux64:
51515
51516 source/encoder/TShortYUV.cpp:424:32: error: comparison between
51517 signed and unsigned integer expressions [-Werror=sign-compare]
51518 for(int x = 0; x < iWidth; x++)
51519 [03df6f73f616]
51520
51521 2013-04-29 Deepthi <Deepthi>
51522
51523 * source/Lib/TLibEncoder/TEncSearch.cpp:
51524 Quick Fix for compilation errors in TEncSearch::xEstimateResidualQT.
51525 This has to be re-architected asap.
51526 [5305e9dd0f98]
51527
51528 * source/Lib/TLibCommon/TComTrQuant.cpp,
51529 source/Lib/TLibEncoder/TEncCu.cpp,
51530 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/TShortYUV.h:
51531 Merge
51532 [f298a0cc803f]
51533
51534 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
51535 One more function for TComYuv
51536 [27e841216893]
51537
51538 * source/Lib/TLibEncoder/TEncSearch.cpp,
51539 source/Lib/TLibEncoder/TEncSearch.h:
51540 Changing the datatype of m_pcQTTempTComYuv. Need to review this at
51541 some point - why does it hold both recon and residual data?
51542 [8e100ef76380]
51543
51544 * source/Lib/TLibCommon/TComYuv.cpp:
51545 Changes in TComYuv class
51546 [9625d6b6bfc0]
51547
51548 * source/Lib/TLibCommon/TComTrQuant.cpp,
51549 source/Lib/TLibCommon/TComTrQuant.h:
51550 Pel to Short changes in TComTrQuant
51551 [2161442f663e]
51552
51553 * source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h:
51554 Adding more functions to TShortYUV for TComyuv compatilibity. We can
51555 use inheritance later for better maintenance and code reuse.
51556 [03ed7310e127]
51557
51558 2013-04-28 Deepthi <Deepthi>
51559
51560 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
51561 source/Lib/TLibEncoder/TEncSearch.cpp,
51562 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/TShortYUV.cpp,
51563 source/encoder/TShortYUV.h:
51564 Adding a bunch of function definition/declarations to TShortYUV and
51565 TComYUV classes. Compilation successful.
51566 [dc004e397c4d]
51567
51568 2013-04-27 Deepthi <Deepthi>
51569
51570 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
51571 source/Lib/TLibEncoder/TEncSearch.cpp,
51572 source/Lib/TLibEncoder/TEncSearch.h:
51573 Replacing all function declarations/definitions with TShortYUV.
51574 [d17b57e25292]
51575
51576 2013-04-29 ShinYee Chung <shinyee@multicorewareinc.com>
51577
51578 * source/test/testharness.h:
51579 test: Fix compile error due to undefined size_t.
51580 [a3f27ae55e67]
51581
51582 * source/Lib/TLibCommon/CommonDef.h:
51583 HM/Common: Fix the undefined aligned memory allocation function.
51584 [15c7da6ad105]
51585
51586 2013-04-28 Steve Borho <steve@borho.org>
51587
51588 * source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
51589 source/test/testbench.cpp, source/test/testharness.h:
51590 testbench: add aligned alloc and free helper functions
51591 [a37bc125a568]
51592
51593 * source/CMakeLists.txt, source/test/CMakeLists.txt:
51594 cmake: define PLATFORM_LIBS in main cmake file, use for x265-cli
51595 [bd817f383232]
51596
51597 * source/Lib/TLibCommon/CommonDef.h:
51598 aligned_malloc() needs stdlib.h
51599 [589ba1b50405]
51600
51601 * source/encoder/threadpool.cpp:
51602 threadpool: use _BitScanReverse64() instead of __lzcnt64()
51603
51604 All variants of __lzcnt() fail to work correctly on Intel CPUs, with
51605 no warnings.
51606 [04fa32c7226a]
51607
51608 * source/Lib/TLibCommon/TComRdCost.cpp,
51609 source/Lib/TLibCommon/TComRdCost.h,
51610 source/Lib/TLibEncoder/TEncSearch.cpp:
51611 remove FIX203 #define, it will always be 1
51612 [6d3f0c68430c]
51613
51614 2013-04-27 Steve Borho <steve@borho.org>
51615
51616 * source/Lib/TLibCommon/TComRdCost.h,
51617 source/Lib/TLibEncoder/TEncSearch.cpp:
51618 rename GetsadFunctions to getSadFunctions()
51619 [7e2616997871]
51620
51621 * source/Lib/TLibEncoder/TEncTop.cpp,
51622 source/Lib/TLibEncoder/TEncTop.h, source/encoder/primitives.cpp,
51623 source/encoder/threadpool.cpp, source/x265.h, source/x265cfg.cpp,
51624 source/x265cfg.h:
51625 api: improvements to C API, make encoder auto-setup primitives and
51626 threadpool
51627
51628 Remove m_FrameSkip and m_framesToBeEncoded from the public params
51629 [a75806cbe14b]
51630
51631 * source/Lib/TLibEncoder/TEncCu.cpp:
51632 nits, no logic changes
51633 [0f02c76c63d1]
51634
51635 * source/Lib/TLibEncoder/TEncCu.cpp,
51636 source/Lib/TLibEncoder/TEncSearch.cpp:
51637 white-space nits
51638 [0b87935166f5]
51639
51640 * source/Lib/TLibEncoder/TEncCu.cpp,
51641 source/Lib/TLibEncoder/TEncGOP.cpp,
51642 source/Lib/TLibEncoder/TEncSearch.cpp,
51643 source/Lib/TLibEncoder/TEncSlice.cpp, source/PPA/ppa.h,
51644 source/PPA/ppaCPUEvents.h:
51645 ppa: add some high-level events
51646 [f8031314c27d]
51647
51648 * source/x265.h, source/x265cfg.cpp, source/x265cfg.h:
51649 x265: for public API, only internal bitdepth is configurable
51650
51651 And when HIGH_BIT_DEPTH is 0, the value is ignored. This change
51652 allows the input and output bit depth fields to be configurable for
51653 !HIGH_BIT_DEPTH builds, but are only allowed to be 8.
51654
51655 When x265 is used as a library, the input and output bitdepths are
51656 completely up to the user. libx265 does not have to know what they
51657 are.
51658 [e9afe7587e44]
51659
51660 * source/encoder/CMakeLists.txt:
51661 cmake: add x265.h to libx265 project
51662 [1a076f248de6]
51663
51664 * source/Lib/TLibCommon/TComTrQuant.cpp:
51665 white-space nit
51666 [e866124b9b3f]
51667
51668 * source/Lib/TLibCommon/TComRdCost.cpp:
51669 TComRdCost: micro optimizations, more for clarity than anything else
51670 [2df4c0434338]
51671
51672 * source/CMakeLists.txt, source/Lib/TLibCommon/TypeDef.h:
51673 cmake: define HIGH_BIT_DEPTH to 0 for 8bpp
51674 [02382ad0344d]
51675
51676 * source/encoder/TShortYUV.h:
51677 tshortyuv: white-space nits
51678 [06a3ab224b5a]
51679
51680 * source/encoder/TShortYUV.h:
51681 tshortyuv: forward slashes for includes
51682 [a25e6ee7923e]
51683
51684 2013-04-27 Deepthi <Deepthi>
51685
51686 * source/Lib/TLibEncoder/TEncSearch.cpp:
51687 Chroma fixes for Pixel=UShort; Bitrate issues sorted out, bit
51688 mismatch issues with Pixel=Short
51689 [2ccf934a7a83]
51690
51691 * source/Lib/TLibCommon/TComTrQuant.cpp,
51692 source/Lib/TLibEncoder/TEncSearch.cpp:
51693 Merge
51694 [d5bf22fdf56d]
51695
51696 * source/Lib/TLibCommon/TComTrQuant.cpp,
51697 source/Lib/TLibEncoder/TEncSearch.cpp:
51698 3 cheers!! Pixel now works with UShort (at a much higher bitrate).
51699 [05ddb2c288c6]
51700
51701 2013-04-26 Deepthi <Deepthi>
51702
51703 * source/encoder/TShortYUV.h:
51704 Adding more member functions to TShortYUV
51705 [78cd7e5ab0a1]
51706
51707 2013-04-26 Steve Borho <steve@borho.org>
51708
51709 * source/Lib/TLibCommon/TComRdCost.cpp:
51710 shift SAD result from TComRdCost::getSADPart() rather than each diff
51711 [03433b6ee01b]
51712
51713 * source/Lib/TLibCommon/TComRdCost.cpp:
51714 remove partition size check from TComRdCost::getSADPart()
51715 [194f459ded86]
51716
51717 * source/Lib/TLibCommon/TypeDef.h:
51718 remove unused Pxl type
51719 [4915dcd016d8]
51720
51721 * source/Lib/TLibCommon/TypeDef.h:
51722 clean up white-space alignment in TypeDef.h
51723 [52d5df36432e]
51724
51725 * source/Lib/TLibCommon/TypeDef.h,
51726 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
51727 source/Lib/TLibEncoder/TEncSlice.cpp:
51728 remove L0033_RC_BUGFIX #define, it will always be 1
51729 [8485a6a1c12d]
51730
51731 * source/Lib/TLibCommon/TComRdCost.cpp,
51732 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
51733 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
51734 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
51735 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
51736 source/Lib/TLibEncoder/TEncRateCtrl.h,
51737 source/Lib/TLibEncoder/TEncSlice.cpp,
51738 source/Lib/TLibEncoder/TEncSlice.h,
51739 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
51740 source/x265enc.cpp:
51741 remove RATE_CONTROL_LAMBDA_DOMAIN #define, it will always be 1
51742 [88101df1faee]
51743
51744 * source/test/mbdstharness.cpp:
51745 white-space nit
51746 [941581484868]
51747
51748 * source/encoder/x86/CMakeLists.txt:
51749 cmake: tell gcc not to sqawk about empty ASM setup function
51750 [659cbd8026b8]
51751
51752 * source/Lib/TLibCommon/CommonDef.h,
51753 source/Lib/TLibCommon/TComTrQuant.cpp:
51754 improve portability of alignment macros
51755 [12708950babd]
51756
51757 * source/Lib/TLibCommon/TComTrQuant.cpp,
51758 source/Lib/TLibCommon/TypeDef.h:
51759 remove MATRIX_MULT #define, it will always be 0
51760 [b7e14c53edda]
51761
51762 * source/Lib/TLibCommon/TComDataCU.cpp,
51763 source/Lib/TLibCommon/TComDataCU.h,
51764 source/Lib/TLibCommon/TComPicSym.cpp,
51765 source/Lib/TLibCommon/TComSlice.cpp,
51766 source/Lib/TLibCommon/TComSlice.h,
51767 source/Lib/TLibCommon/TComTrQuant.cpp,
51768 source/Lib/TLibCommon/TComTrQuant.h,
51769 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
51770 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
51771 source/Lib/TLibEncoder/TEncGOP.cpp,
51772 source/Lib/TLibEncoder/TEncSearch.cpp,
51773 source/Lib/TLibEncoder/TEncSearch.h,
51774 source/Lib/TLibEncoder/TEncSlice.cpp,
51775 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
51776 source/x265enc.cpp:
51777 remove ADAPTIVE_QP_SELECTION #define, it will always be 1
51778 [c33334661f82]
51779
51780 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp,
51781 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
51782 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
51783 remove SAO_ENCODING_CHOICE #define, it will always be 1
51784 [1b2d55dd7b4f]
51785
51786 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
51787 source/Lib/TLibEncoder/TEncSearch.cpp, source/x265cfg.cpp,
51788 source/x265enc.cpp:
51789 remove L0232_RD_PENALTY #define, it will always be 1
51790 [9dcea9d2b459]
51791
51792 * source/Lib/TLibCommon/TypeDef.h,
51793 source/Lib/TLibEncoder/TEncCavlc.cpp:
51794 remove L0372 #define, it will always be 1
51795 [4fa6f3a09dc7]
51796
51797 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp,
51798 source/x265cfg.cpp:
51799 remove L0444_FPA_TYPE #define, it will always be 1
51800 [c86464d72455]
51801
51802 * source/Lib/TLibCommon/TypeDef.h,
51803 source/Lib/TLibEncoder/TEncCavlc.cpp,
51804 source/Lib/TLibEncoder/TEncTop.cpp:
51805 remove L0255_MOVE_PPS_FLAGS #define, it will always be 1
51806 [c198a462c1c8]
51807
51808 * source/Lib/TLibCommon/TypeDef.h,
51809 source/Lib/TLibEncoder/TEncCavlc.cpp:
51810 remove L0363_BYTE_ALIGN #define, it will always be 1
51811 [64d5e486b138]
51812
51813 * source/Lib/TLibCommon/TComDataCU.cpp:
51814 fix eoln damage in TComDataCU.cpp
51815 [13b5ff7b9bb6]
51816
51817 * source/Lib/TLibCommon/TComDataCU.cpp,
51818 source/Lib/TLibCommon/TypeDef.h:
51819 remove L0363_MVP_POC #define, it will always be 1
51820 [b354aa200feb]
51821
51822 * source/Lib/TLibCommon/TComSlice.cpp,
51823 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51824 source/Lib/TLibEncoder/TEncCavlc.cpp,
51825 source/Lib/TLibEncoder/TEncCfg.h,
51826 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
51827 source/x265enc.cpp:
51828 remove L0046_CONSTRAINT_FLAGS #define, it will always be 1
51829 [a06f0d0bec2b]
51830
51831 * source/Lib/TLibCommon/TypeDef.h,
51832 source/Lib/TLibEncoder/TEncCavlc.cpp:
51833 remove L0043_MSS_IDC, L0116_ENTRY_POINT #defines, they will always
51834 be 1
51835 [5b78e69a6347]
51836
51837 * source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51838 source/Lib/TLibEncoder/SEIwrite.cpp:
51839 remove L0045_CONDITION_SIGNALLING #define, it will always be 1
51840 [3adb926ba0a7]
51841
51842 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
51843 source/Lib/TLibEncoder/SEIwrite.cpp:
51844 remove L0046_RENAME_PROG_SRC_IDC #define, it will always be 1
51845 [0b26e3187fdb]
51846
51847 * source/Lib/TLibCommon/TComSlice.cpp,
51848 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51849 source/Lib/TLibEncoder/TEncCavlc.cpp,
51850 source/Lib/TLibEncoder/TEncGOP.cpp,
51851 source/Lib/TLibEncoder/TEncTop.cpp:
51852 remove L0043_TIMING_INFO #define, it will always be 1
51853 [5e92e75e0bb6]
51854
51855 * source/Lib/TLibCommon/TypeDef.h:
51856 typo nits
51857 [bb19a6cf86dd]
51858
51859 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
51860 source/Lib/TLibEncoder/SEIwrite.cpp,
51861 source/Lib/TLibEncoder/TEncGOP.cpp:
51862 remove L0047_APS_FLAGS #define, it will always be 1
51863 [f55166a0ca8b]
51864
51865 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
51866 source/Lib/TLibEncoder/SEIwrite.cpp,
51867 source/Lib/TLibEncoder/TEncGOP.cpp:
51868 remove L0044_CPB_DPB_DELAY_OFFSET #define, it will always be 1
51869 [472b0e4bc12d]
51870
51871 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/TypeDef.h,
51872 source/Lib/TLibEncoder/SEIwrite.cpp,
51873 source/Lib/TLibEncoder/TEncGOP.cpp,
51874 source/Lib/TLibEncoder/TEncGOP.h:
51875 remove L0045_NON_NESTED_SEI_RESTRICTIONS #define, it will always be
51876 1
51877 [f716604c56ab]
51878
51879 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
51880 source/Lib/TLibEncoder/SEIwrite.cpp,
51881 source/Lib/TLibEncoder/TEncGOP.cpp:
51882 remove L0045_PERSISTENCE_FLAGS #define, it will always be 1
51883 [397acf975a04]
51884
51885 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComSlice.cpp,
51886 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51887 source/Lib/TLibEncoder/SEIwrite.cpp,
51888 source/Lib/TLibEncoder/TEncCavlc.cpp,
51889 source/Lib/TLibEncoder/TEncGOP.cpp:
51890 remove L0044_DU_DPB_OUTPUT_DELAY_HRD #define, it will always be 1
51891 [8d3ed21fb716]
51892
51893 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
51894 source/Lib/TLibEncoder/SEIwrite.cpp,
51895 source/Lib/TLibEncoder/TEncGOP.cpp:
51896 remove L0328_SPLICING #define, it will always be 1
51897 [355807b023d6]
51898
51899 * source/Lib/TLibCommon/TComSlice.cpp,
51900 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51901 source/Lib/TLibEncoder/TEncCavlc.cpp:
51902 remove L0363_DU_BIT_RATE #define, it will always be 1
51903 [426f0abeaed4]
51904
51905 * source/Lib/TLibCommon/TComSlice.cpp,
51906 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51907 source/Lib/TLibEncoder/TEncCavlc.cpp:
51908 remove FIX1071 #define, this temporary fix has been there for 1.5
51909 years
51910 [b43f11555c88]
51911
51912 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
51913 source/Lib/TLibEncoder/TEncGOP.cpp,
51914 source/Lib/TLibEncoder/TEncGOP.h,
51915 source/Lib/TLibEncoder/TEncSlice.cpp,
51916 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
51917 source/x265enc.cpp:
51918 remove L0386_DB_METRIC #define, it will always be 1
51919 [9eb517f53928]
51920
51921 * source/Lib/TLibCommon/TComSlice.cpp,
51922 source/Lib/TLibCommon/TypeDef.h,
51923 source/Lib/TLibEncoder/TEncCavlc.cpp, source/x265cfg.cpp:
51924 remove L0323_DPB #define, it will always be 1
51925 [5e53a1acd0de]
51926
51927 * source/Lib/TLibCommon/CommonDef.h,
51928 source/Lib/TLibCommon/TComSlice.cpp,
51929 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
51930 source/Lib/TLibEncoder/TEncCfg.h,
51931 source/Lib/TLibEncoder/TEncGOP.cpp,
51932 source/Lib/TLibEncoder/TEncSearch.cpp,
51933 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
51934 source/x265enc.cpp:
51935 remove L0034_COMBINED_LIST_CLEANUP #define, it will always be 1
51936 [c44835756f8c]
51937
51938 * source/Lib/TLibCommon/ContextModel.cpp,
51939 source/Lib/TLibCommon/ContextModel.h,
51940 source/Lib/TLibCommon/TypeDef.h,
51941 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
51942 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
51943 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
51944 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
51945 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
51946 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
51947 source/Lib/TLibEncoder/TEncSbac.h,
51948 source/Lib/TLibEncoder/TEncTop.cpp,
51949 source/Lib/TLibEncoder/TEncTop.h:
51950 remove FAST_BIT_EST #define, it will always be 1, improve
51951 readability
51952 [7d1e89b0e90a]
51953
51954 * source/Lib/TLibCommon/TComRdCost.cpp,
51955 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
51956 source/Lib/TLibEncoder/TEncSearch.cpp:
51957 remove NS_HAD #define, it will always be 0, improve readability
51958 [b455c6b5b150]
51959
51960 * source/Lib/TLibCommon/TypeDef.h,
51961 source/Lib/TLibEncoder/TEncSearch.cpp,
51962 source/Lib/TLibEncoder/TEncSearch.h:
51963 remove ZERO_MVD_EST #define, it will always be 0, improve
51964 readability
51965 [7c96e41f3155]
51966
51967 * source/Lib/TLibEncoder/TEncSearch.cpp:
51968 uncrustify: cleanup TEncSearch.cpp after AMP_MRG define removal
51969 [f93d8ade008f]
51970
51971 * source/Lib/TLibCommon/TComDataCU.h, source/Lib/TLibCommon/TypeDef.h,
51972 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
51973 source/Lib/TLibEncoder/TEncSearch.cpp,
51974 source/Lib/TLibEncoder/TEncSearch.h:
51975 remove AMP_MRG #define, it will always be 1, improve readability
51976 [900e0173b6fe]
51977
51978 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
51979 source/Lib/TLibEncoder/TEncCu.h:
51980 remove AMP_ENC_SPEEDUP #define, it will always be 1, improve
51981 readability
51982 [423fefc35e88]
51983
51984 * source/Lib/TLibCommon/TComRdCost.cpp,
51985 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
51986 source/Lib/TLibEncoder/TEncSearch.cpp:
51987 remove AMP_SAD #define, it will always be 1, improve readability
51988 [0efc8467e6cd]
51989
51990 * source/encoder/x86/asm-primitives.cpp:
51991 asm: disable assembly; was causing stack corruption in debug runs
51992
51993 The SATD functions are getting called from random places that do not
51994 enforce input buffer alignment. These need to be fixed before ASM
51995 can be re-enabled.
51996 [962848c1c6ff]
51997
51998 * source/test/CMakeLists.txt:
51999 cmake: add primitive defines to test folder
52000 [0bc70419ada8]
52001
52002 2013-04-27 ShinYee Chung <shinyee@multicorewareinc.com>
52003
52004 * source/encoder/TShortYUV.cpp:
52005 shortyuv: Fix the '\' in an #include.
52006
52007 Use '/' instead for compatibility with Windows and Linux.
52008 [c325ba0eb7b3]
52009
52010 2013-04-26 Steve Borho <steve@borho.org>
52011
52012 * source/Lib/TLibEncoder/TEncSearch.cpp,
52013 source/encoder/primitives.cpp, source/encoder/primitives.h:
52014 primitive: remove FastHeight(), use same logic with/without
52015 ENABLE_PRIMITIVES
52016
52017 * Allow iSubShift if iRows is greater than 12, since half-height
52018 blocks will be supported.
52019 * Unconditionally use the partition returned from PartitionFromSizes()
52020 [aa94262bd0b9]
52021
52022 2013-04-26 nandaku2 <deepthi@multicorewareinc.com>
52023
52024 * Merged in deepthidevaki/xhevc_deepthid (pull request #94)
52025
52026 Modified FIlter vec primitives
52027 [c531582449c4]
52028
52029 2013-04-26 Deepthi Devaki <Deepthi Devaki>
52030
52031 * source/encoder/vec/interpolationfilter.inc:
52032 Modified Filter vec primitives
52033 [b0115edcc276]
52034
52035 * source/test/ipfilterharness.cpp:
52036 Fix errors in IPfilterharness
52037 [c32c36a3ac29]
52038
52039 2013-04-26 Deepthi <Deepthi>
52040
52041 * source/encoder/CMakeLists.txt:
52042 Merge
52043 [0e30f0ceb6c3]
52044
52045 * source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h:
52046 Formatting the TShortYUV class.
52047 [a178a6e93c00]
52048
52049 * source/Lib/TLibCommon/TComPrediction.h,
52050 source/encoder/CMakeLists.txt, source/encoder/TShortYUV.cpp,
52051 source/encoder/TShortYUV.h:
52052 Introducing TShortYUV formally
52053 [80ff753040be]
52054
52055 2013-04-26 Deepthi Devaki <Deepthi Devaki>
52056
52057 * source/encoder/vec/interpolationfilter.inc,
52058 source/test/ipfilterharness.cpp:
52059 FilterConvert - vec primitives
52060 [dbf2e884f457]
52061
52062 * source/encoder/InterpolationFilter.cpp,
52063 source/encoder/vec/interpolationfilter.inc:
52064 Vectorized FilterHorizontal-pel-pel and pel_short
52065 [5ec9ce76685c]
52066
52067 * Merge
52068 [2af6e7c7b715]
52069
52070 * source/test/ipfilterharness.cpp:
52071 Changes to ipfilterharness.cpp
52072 [6accfad1e082]
52073
52074 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52075
52076 * source/encoder/vec/CMakeLists.txt,
52077 source/encoder/vec/interpolationfilter.inc,
52078 source/encoder/vec/vecprimitives.inc,
52079 source/test/ipfilterharness.cpp:
52080 Vectorized version of filterVertical_short_Pel
52081 [4faf8dcd1180]
52082
52083 2013-04-26 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52084
52085 * Merged multicoreware/xhevc into default
52086 [f34557bd0c1b]
52087
52088 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52089
52090 * source/encoder/InterpolationFilter.cpp:
52091 Typecast result val to pel.
52092 [8cc213785f0f]
52093
52094 2013-04-25 Steve Borho <steve@borho.org>
52095
52096 * source/x265cfg.cpp:
52097 x265: output string nit
52098 [062b636765af]
52099
52100 * source/x265.h, source/x265cfg.cpp, source/x265cfg.h,
52101 source/x265enc.cpp:
52102 x265: move encoder configurable fields into a C friendly header
52103 [ad159c607977]
52104
52105 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
52106 cmake: make vector and asm build flags local to encoder/ folder
52107
52108 Toggling the ASM or vector primitives should not require the HM
52109 library to be rebuilt.
52110 [e942246d64aa]
52111
52112 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
52113 cmake: move VectorClass include path within encoder/ folder
52114 [dc3899c4f7a7]
52115
52116 * source/CMakeLists.txt:
52117 cmake: remove getopt from build; leave files in place for potential
52118 later use
52119 [fdda9447ee37]
52120
52121 * source/CMakeLists.txt, source/Lib/CMakeLists.txt:
52122 cmake: move program_options_lite out of HM lib and into CLI project
52123 [1d8a40959e29]
52124
52125 * source/encoder/primitives.cpp:
52126 primitives: turn partition checks into asserts; we expect success
52127 [0f56cdd99c40]
52128
52129 * source/x265main.cpp:
52130 main: nits in output header
52131 [f8a551edd2b7]
52132
52133 * source/encoder/vec/pixel.inc:
52134 pixel: add vector width/height 12 SAD functions
52135 [27f5f9a00390]
52136
52137 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
52138 source/encoder/primitives.h, source/test/pixelharness.cpp:
52139 pixel: add support for width/height of 12
52140 [e2cb9064721e]
52141
52142 * source/encoder/vec/pixel.inc:
52143 pixel: add vector width/height 24 SAD functions
52144 [2c86ffb3f28b]
52145
52146 * source/test/pixelharness.cpp:
52147 pixelharness: fix up partition name strings
52148 [a968ffee3ff1]
52149
52150 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
52151 source/encoder/primitives.h:
52152 pixel: add support for width/height of 24
52153 [fb552f51143d]
52154
52155 * source/encoder/pixel.cpp:
52156 pixel: reorder C refs to match enums, add missing 64 sized SATD
52157 functions
52158
52159 Intra will not use 64 sized partitions, but sub-pel inter might. I'm
52160 surprised this didn't break uterly before?
52161 [167863d172b5]
52162
52163 * source/Lib/TLibEncoder/TEncSearch.cpp:
52164 white-space nit
52165 [4ccf1edbb887]
52166
52167 * source/Lib/TLibEncoder/TEncSearch.cpp:
52168 search: do not use iSubShift if it would result in slow path
52169 *CHANGES OUTPUT*
52170
52171 This doesn't have a large impact on performance today because motion
52172 search is still so bloody innefficient. But it is the right thing to
52173 do.
52174 [f99e73f1e0f5]
52175
52176 * source/encoder/primitives.cpp, source/encoder/primitives.h:
52177 primitives: add a FastHeight() method to give early warnings of slow
52178 paths
52179 [7a97443c2155]
52180
52181 * source/encoder/primitives.cpp:
52182 primitives: simplify PartitionFromSizes()
52183 [f4b4f25eb901]
52184
52185 * source/encoder/primitives.h:
52186 primitives: add macros for 32byte aligment
52187 [b65c2c4fa585]
52188
52189 * source/encoder/primitives.h:
52190 primitives: re-order enums so partitions with the same width are
52191 contiguous
52192 [0d3a7ebba9e9]
52193
52194 * source/Lib/TLibEncoder/TEncSearch.cpp,
52195 source/encoder/primitives.cpp:
52196 Merged in deepthidevaki/xhevc_deepthid (pull request #92)
52197
52198 Call Filter Primitives from SamplingQ, SamplingH
52199 [57aa9e90c935]
52200
52201 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52202
52203 * source/Lib/TLibEncoder/TEncSearch.cpp:
52204 Add filter Primitives call in SamplingQ
52205 [4e66d9fa333c]
52206
52207 * source/Lib/TLibEncoder/TEncSearch.cpp:
52208 Add Filter Primitives call in SamplingQ
52209 [9362b0761fa0]
52210
52211 * source/encoder/InterpolationFilter.cpp:
52212 Remove assert from filters
52213 [286250886456]
52214
52215 * source/Lib/TLibEncoder/TEncSearch.cpp:
52216 Call Filter Primitives from SamplingQ, SamplingH
52217 [c005c9980a4b]
52218
52219 * source/Lib/TLibEncoder/TEncSearch.cpp,
52220 source/encoder/InterpolationFilter.h:
52221 Merge
52222 [94205c681a97]
52223
52224 * source/encoder/InterpolationFilter.cpp,
52225 source/test/ipfilterharness.cpp:
52226 Fix unused variables.
52227 [3a12d696bf54]
52228
52229 2013-04-25 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52230
52231 * Merged multicoreware/xhevc into default
52232 [995b6235dffc]
52233
52234 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52235
52236 * source/test/ipfilterharness.cpp:
52237 Add limits.h to IPFilterHarness.
52238 [a2483d531f95]
52239
52240 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
52241 source/test/CMakeLists.txt:
52242 Filter c primitives - add to Cmake and primitives.cpp
52243 [410a769be98e]
52244
52245 2013-04-25 Steve Borho <steve@borho.org>
52246
52247 * source/Lib/TLibEncoder/TEncSearch.cpp:
52248 Merged in ggopu/gopu_xhevc (pull request #89)
52249
52250 included 64 Bit in PartitionFromSizes and Eliminated the
52251 setDisParam() call from xTZSearchHelp() and Removed the primitive
52252 call for rdCost for all the sad functions
52253 [0004001ac17b]
52254
52255 2013-04-25 ggopu <ggopu>
52256
52257 * source/Lib/TLibEncoder/TEncSearch.cpp:
52258 included 64 Bit in PartitionFromSizes and Eliminated the
52259 setDisParam() call from xTZSearchHelp() and Removed the primitive
52260 call for rdCost for all the sad functions Resolved the issue based
52261 on the comment
52262 [3e30fb1adc96]
52263
52264 * source/Lib/TLibEncoder/TEncSearch.cpp:
52265 included 64 Bit in PartitionFromSizes and Eliminated the
52266 setDisParam() call from xTZSearchHelp() and Removed the primitive
52267 call for rdCost for all the sad functions
52268 --solved the issues based on the comment
52269 [cbde0042b475]
52270
52271 * source/Lib/TLibEncoder/TEncSearch.cpp:
52272 included 64 Bit in PartitionFromSizes and Eliminated the
52273 setDisParam() call from xTZSearchHelp() and Removed the primitive
52274 call for rdCost for all the sad functions
52275 -- solved the issues based on the comment
52276 [c6af59bec3cd]
52277
52278 * source/Lib/TLibCommon/TComRdCost.cpp,
52279 source/Lib/TLibCommon/TComRdCost.h,
52280 source/Lib/TLibEncoder/TEncSearch.cpp:
52281 included 64 Bit in PartitionFromSizes and Eliminated the
52282 setDisParam() call from xTZSearchHelp() and Removed the primitive
52283 call for rdCost for all the sad functions
52284 [a3a21e07ef69]
52285
52286 * source/Lib/TLibCommon/TComRdCost.cpp,
52287 source/Lib/TLibCommon/TComRdCost.h,
52288 source/Lib/TLibEncoder/TEncSearch.cpp,
52289 source/encoder/primitives.cpp:
52290 Included 64 Bit in PartitionFromSizes and Eliminated the
52291 setDisParam() call from xTZSearchHelp() Removed the primitive call
52292 for rdCost for all the sad functions
52293 [df5479194d8d]
52294
52295 2013-04-24 Gopu G <gopu@multicorewareinc.com>
52296
52297 * Merged multicoreware/xhevc into default
52298 [388938d47d3a]
52299
52300 * Merged multicoreware/xhevc into default
52301 [18941a42d529]
52302
52303 2013-04-23 Gopu G <gopu@multicorewareinc.com>
52304
52305 * source/Lib/TLibVideoIO/TVideoIO.h,
52306 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52307 source/Lib/TLibVideoIO/TVideoIOY4m.h,
52308 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
52309 source/Lib/TLibVideoIO/TVideoIOYuv.h:
52310 Merged multicoreware/xhevc into default
52311 [a1d0b89d4a09]
52312
52313 2013-04-22 Gopu G <gopu@multicorewareinc.com>
52314
52315 * source/Lib/encoder.cpp, source/Lib/encoder.h,
52316 source/Lib/libmd5/MD5.h, source/Lib/libmd5/libmd5.c,
52317 source/Lib/libmd5/libmd5.h:
52318 Merged multicoreware/xhevc into default
52319 [51911ce2d52e]
52320
52321 2013-04-25 nandaku2 <deepthi@multicorewareinc.com>
52322
52323 * Merged in deepthidevaki/xhevc_deepthid (pull request #91)
52324
52325 Added new IPFilter function pointers. Added TestSuite for new
52326 IPFilter primitives.
52327 [ceded0279117]
52328
52329 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52330
52331 * source/encoder/InterpolationFilter.cpp:
52332 assert bitDepth==8
52333 [81b6dda66506]
52334
52335 * source/encoder/primitives.h, source/test/ipfilterharness.cpp,
52336 source/test/ipfilterharness.h, source/test/testbench.cpp:
52337 Added new IPFilter function pointers. Added TestSuite for new
52338 IPFilter primitives.
52339 [6e541a1f02e4]
52340
52341 2013-04-25 Deepthi <Deepthi>
52342
52343 * source/Lib/TLibEncoder/TEncSearch.cpp:
52344 Merge
52345 [93dcae8999dd]
52346
52347 * source/Lib/TLibCommon/TComPrediction.cpp:
52348 Random data type changes
52349 [dde5cb2850a0]
52350
52351 * source/Lib/TLibEncoder/TEncSearch.cpp:
52352 Correct typecasts in IFSamplingQ and H
52353 [3b74bb5a814c]
52354
52355 * cfg/encoder_I_15P.cfg:
52356 Turn off SAO
52357 [fb2f0ff73dc3]
52358
52359 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52360
52361 * source/encoder/CMakeLists.txt:
52362 Add InterpolationFilter.cpp to CMakeList
52363 [4356b72d5c7b]
52364
52365 * source/encoder/InterpolationFilter.cpp,
52366 source/encoder/InterpolationFilter.h:
52367 Changes to filter (fixing merge conflict)
52368 [92c17b5fe436]
52369
52370 2013-04-25 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52371
52372 * source/encoder/InterpolationFilter.h:
52373 Merged multicoreware/xhevc into default
52374 [a6ee0ff27646]
52375
52376 2013-04-25 Deepthi Devaki <Deepthi Devaki>
52377
52378 * source/encoder/InterpolationFilter.h:
52379 Backed out changeset: cc54b45a0eac
52380 [d2aebf4a7562]
52381
52382 2013-04-24 Deepthi Devaki <Deepthi Devaki>
52383
52384 * source/encoder/InterpolationFilter.cpp,
52385 source/encoder/InterpolationFilter.h:
52386 added filterVertical_pel_pel
52387 [e2cacd2ec890]
52388
52389 * source/encoder/InterpolationFilter.cpp,
52390 source/encoder/InterpolationFilter.h:
52391 Split interpolationfilter.h and .cpp
52392 [cc54b45a0eac]
52393
52394 * source/encoder/InterpolationFilter.h:
52395 Removed copying coeff to temporary array
52396 [9a69b9fd012f]
52397
52398 * source/Lib/TLibEncoder/TEncSearch.cpp,
52399 source/encoder/InterpolationFilter.h:
52400 modified filter assuming bitDepth is always 8
52401 [1bb0a3358d50]
52402
52403 * source/encoder/InterpolationFilter.h:
52404 Removed filterVertical_pel_pel.
52405 [76a182472142]
52406
52407 * source/encoder/InterpolationFilter.h:
52408 Add memcpy in filterCopy
52409 [6ea7aa1a93c3]
52410
52411 * source/Lib/TLibEncoder/TEncSearch.cpp,
52412 source/encoder/InterpolationFilter.h:
52413 Eliminated redundant operations in filter
52414 [6f17253fe853]
52415
52416 2013-04-24 Steve Borho <steve@borho.org>
52417
52418 * source/encoder/vec/macroblock.inc:
52419 Merged in praveentiwari/xhevc_praveent (pull request #87)
52420
52421 Vector code for partialButterflyInverse32
52422 [09cf53b336c3]
52423
52424 2013-04-24 praveentiwari <praveentiwari>
52425
52426 * source/Lib/TLibCommon/TComTrQuant.cpp,
52427 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52428 vector code for partialButterflyInverse32
52429 [71b1a222d57a]
52430
52431 2013-04-24 praveen Tiwari <praveen@multicorewareinc.com>
52432
52433 * Merged multicoreware/xhevc into default
52434 [c43e9ed20d1f]
52435
52436 2013-04-24 praveentiwari <praveentiwari>
52437
52438 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
52439 Test code for partialButterflyInverse32
52440 [e47972d48684]
52441
52442 2013-04-24 ShinYee Chung <shinyee@multicorewareinc.com>
52443
52444 * source/encoder/InterpolationFilter.h:
52445 Interpolation: Fix unused variable in the horizontal filter.
52446 [3d35a4bbd255]
52447
52448 2013-04-24 Steve Borho <steve@borho.org>
52449
52450 * source/encoder/InterpolationFilter.h:
52451 fix build on Linux, always use forward slashes in includes
52452 [e4e556b60058]
52453
52454 2013-04-24 Deepthi <Deepthi>
52455
52456 * Merge
52457 [ebdfe69383cc]
52458
52459 * source/Lib/TLibCommon/TComYuv.cpp:
52460 Static_casts in TComYuv
52461 [8541479eac97]
52462
52463 2013-04-24 Deepthi Devaki <Deepthi Devaki>
52464
52465 * source/Lib/TLibEncoder/TEncSearch.cpp:
52466 Fixed case mismatch in include
52467 [e345fae910b3]
52468
52469 2013-04-24 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52470
52471 * source/Lib/TLibEncoder/TEncSearch.cpp:
52472 Merged multicoreware/xhevc into default
52473 [73ed43fb0ef7]
52474
52475 2013-04-24 Deepthi Devaki <Deepthi Devaki>
52476
52477 * source/encoder/InterpolationFilter.h:
52478 Added InterpolationFilter.h
52479 [74d34f6cd481]
52480
52481 * source/encoder/interpolationFilter.h:
52482 removed interpolationFilter.h
52483 [98afe5c82a2e]
52484
52485 * source/Lib/TLibEncoder/TEncSearch.cpp,
52486 source/encoder/CMakeLists.txt, source/encoder/interpolationFilter.h:
52487 Fixed data types of srcPtr,dstPtr and intPtr.
52488 [1cfc4aa1e5be]
52489
52490 2013-04-23 Deepthi Devaki <Deepthi Devaki>
52491
52492 * source/Lib/TLibEncoder/TEncSearch.cpp:
52493 Changed typecasting to Pel.
52494 [2a77751c7ab8]
52495
52496 * source/Lib/TLibEncoder/TEncSearch.cpp:
52497 Modified call to Filters based on input/ouput data type
52498 [58cee8796bb4]
52499
52500 * source/encoder/CMakeLists.txt, source/encoder/interpolationFilter.h:
52501 Added new filter functions for different datatypes(Pel or short) for
52502 input/output.
52503 [77b56bf695f2]
52504
52505 2013-04-23 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52506
52507 * source/Lib/TLibVideoIO/TVideoIO.h,
52508 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52509 source/Lib/TLibVideoIO/TVideoIOY4m.h,
52510 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
52511 source/Lib/TLibVideoIO/TVideoIOYuv.h,
52512 source/encoder/vec/macroblock.inc:
52513 Merged multicoreware/xhevc into default
52514 [6daee65aa014]
52515
52516 * source/Lib/encoder.cpp, source/Lib/encoder.h,
52517 source/Lib/libmd5/MD5.h, source/Lib/libmd5/libmd5.c,
52518 source/Lib/libmd5/libmd5.h, source/encoder/vec/macroblock.inc:
52519 Merged multicoreware/xhevc into default
52520 [eb50336c8520]
52521
52522 2013-04-23 Deepthi Devaki <Deepthi Devaki>
52523
52524 * source/encoder/vec/macroblock.inc:
52525 fix the merge conflicts
52526 [2996c71961a0]
52527
52528 2013-04-19 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52529
52530 * Merged multicoreware/xhevc into default
52531 [afcb19e80d04]
52532
52533 2013-04-24 Deepthi <Deepthi>
52534
52535 * Merge
52536 [3e006ed9fb6c]
52537
52538 2013-04-23 Deepthi <Deepthi>
52539
52540 * source/Lib/TLibEncoder/TEncSearch.cpp:
52541 More static_cast in IntraCoding
52542 [979f31a68ee5]
52543
52544 * Merge
52545 [5c3124219338]
52546
52547 * source/Lib/TLibEncoder/TEncSearch.cpp:
52548 static_casts in IntraCoding
52549 [ba3596764ed0]
52550
52551 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
52552 Change to short to prevent infinite loop
52553 [11fe08841d59]
52554
52555 2013-04-23 Steve Borho <steve@borho.org>
52556
52557 * source/x265enc.cpp:
52558 x265enc: check return status of input.readPicture()
52559 [0484be696c65]
52560
52561 * source/input/y4m.cpp:
52562 input: further y4m reading fixes
52563 [a399bd21bdf5]
52564
52565 * source/input/y4m.cpp:
52566 input: declare header as char[] so sizeof works correctly
52567 [f9a651676c2f]
52568
52569 2013-04-23 ShinYee Chung <shinyee@multicorewareinc.com>
52570
52571 * source/encoder/md5.cpp:
52572 md5: Fix incorrect memory reset on MD5 context structure.
52573 [fd8e4a7004cd]
52574
52575 2013-04-23 Steve Borho <steve@borho.org>
52576
52577 * source/test/testbench.cpp:
52578 testbench: report bit depth in testbench output log
52579 [dc2cd230f09d]
52580
52581 * source/encoder/vec/pixel.inc:
52582 pixel: refactor pixel templates, optimizations mostly for 8bpp, see
52583 below
52584
52585 SAD part 16bpp opt 8bpp opt [4x4] 4.88x 4.24x 2.75x 3.16x [8x4]
52586 4.57x 6.40x 4.79x 5.87x [4x8] 4.95x 4.34x 3.08x 3.24x [8x8] 6.63x
52587 6.14x 6.03x 6.98x [4x16] 3.70x 6.10x 3.76x 3.67x [16x4] 8.51x 10.55x
52588 8.77x 10.75x [8x16] 7.08x 6.99x 6.65x 7.83x [16x8] 12.57x 14.31x
52589 11.21x 18.17x [16x16] 15.30x 13.36x 12.80x 26.20x [4x32] 4.83x 4.95x
52590 3.55x 3.99x [32x4] 10.30x 12.03x 7.07x 13.03x [8x32] 6.77x 7.66x
52591 6.43x 8.01x [32x8] 11.01x 14.35x 9.25x 13.80x [16x32] 14.12x 14.24x
52592 13.38x 17.81x [32x16] 10.75x 12.63x 9.72x 19.84x [32x32] 12.11x
52593 12.01x 9.19x 14.41x [4x64] 4.23x 4.12x 4.00x 4.73x [64x4] 11.34x
52594 11.63x 8.53x 14.24x [8x64] 7.68x 7.25x 7.74x 8.32x [64x8] 10.69x
52595 13.61x 8.79x 14.71x [16x64] 12.93x 12.82x 11.45x 21.61x [64x16]
52596 10.37x 10.46x 9.12x 17.29x [32x64] 13.22x 13.03x 10.34x 19.46x
52597 [64x32] 10.49x 10.81x 8.58x 13.40x [64x64] 11.19x 11.34x 9.45x
52598 16.19x
52599 [7dbd423a8820]
52600
52601 * source/VectorClass/vectori128.h:
52602 vec: add two methods to Vec16uc that are handy for pixelcmp
52603 [d45d724f45e4]
52604
52605 * source/x265cfg.cpp:
52606 x265cfg: more HIGH_BIT_DEPTH fixes
52607 [3118ee99c520]
52608
52609 * source/VectorClass/vectori128.h:
52610 vec: fix eoln in vectori128.h
52611 [f0069ad5eb70]
52612
52613 * source/PPA/ppaCPUEvents.h, source/output/y4m.cpp,
52614 source/output/yuv.cpp:
52615 ppa: add profile events for file write
52616 [667b19cb2ca6]
52617
52618 * source/input/input.h, source/input/y4m.h, source/output/y4m.cpp:
52619 nit: prune unnecessary includes
52620 [31f5f01b6a80]
52621
52622 * source/encoder/md5.cpp, source/encoder/md5.h:
52623 nit: hide internal function
52624 [f4b07506d49b]
52625
52626 * source/encoder/threadpool.cpp, source/test/testpool.cpp:
52627 threadpool: fix 32bit Windows __lzcnt_2x32
52628 [6dbcb3afc321]
52629
52630 * doc/uncrustify/codingstyle.cfg:
52631 uncrustify: comment two lines that triggered warnings
52632 [a918e7b44e0d]
52633
52634 * source/Lib/TLibCommon/CommonDef.h,
52635 source/Lib/TLibEncoder/TEncGOP.cpp:
52636 take HM updates up to 10.1rc
52637 [fdace7753eed]
52638
52639 * source/output/output.h, source/output/y4m.h, source/output/yuv.h,
52640 source/x265cfg.cpp:
52641 output: add error handling for output reconstructed video file
52642 [3c4a4ccc8da8]
52643
52644 * source/output/yuv.cpp, source/output/yuv.h:
52645 output: use ofstream for yuv
52646 [5e083ea9e0a7]
52647
52648 * source/output/y4m.cpp, source/output/y4m.h:
52649 output: use ofstream for y4m
52650 [dc215c6aa2ff]
52651
52652 * source/output/output.cpp, source/output/output.h,
52653 source/output/y4m.cpp, source/output/y4m.h, source/x265cfg.cpp:
52654 output: pass frame rate to output file
52655 [8808b77229fe]
52656
52657 * source/x265enc.cpp:
52658 we must initialize the fields which have been deprecated from config
52659 [29c9d0740692]
52660
52661 * source/x265cfg.cpp:
52662 use estimated frame count
52663 [1e3a180ec0ad]
52664
52665 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
52666 source/input/yuv.cpp, source/input/yuv.h:
52667 input: implement guessFrameCount(), use std::ifstream, cleanup Y4M
52668 header read
52669
52670 Prevent double-close of YUV file handle
52671 [7805c8506eda]
52672
52673 * source/x265cfg.h:
52674 white-space nits
52675 [6324d2cd5e04]
52676
52677 * source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp:
52678 cli: make bit depth arguments go away when HIGH_BIT_DEPTH=0,
52679 simplify
52680
52681 Enforce the requirement that the output bit depth cannot be larger
52682 than the internal bit depth. Remove "conformance mode" and aiPad[].
52683 Those operations, including color space adjustments, don't belong in
52684 an encoder. They should be done by a video processing library prior
52685 to the encoder.
52686 [5c453394226c]
52687
52688 * source/encoder/x86/asm-primitives.cpp:
52689 asm-primitives: use #if 0 rather than comments
52690 [2d660854c182]
52691
52692 * source/encoder/vec/pixel.inc:
52693 pixel: add separate implementations for 8bit pixels
52694
52695 the current 8bit versions are sub-optimal. Needs psadbw
52696 [c557f437293c]
52697
52698 * source/encoder/pixel.cpp:
52699 pixel: remove old TODO comment
52700 [c8bef114ec96]
52701
52702 2013-04-23 nandaku2 <deepthi@multicorewareinc.com>
52703
52704 * Merged in praveentiwari/xhevc_praveent (pull request #84)
52705
52706 Vector code for partialButterflyInverse16
52707 [0e66af1883ad]
52708
52709 2013-04-23 praveentiwari <praveentiwari>
52710
52711 * source/Lib/TLibCommon/TComTrQuant.cpp,
52712 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52713 Vector code for partialButterflyInverse16
52714 [9703357da52b]
52715
52716 2013-04-23 praveen Tiwari <praveen@multicorewareinc.com>
52717
52718 * Merged multicoreware/xhevc into default
52719 [788b291a1720]
52720
52721 * Merged multicoreware/xhevc into default
52722 [b6dcceb8ec9e]
52723
52724 * Merged multicoreware/xhevc into default
52725 [d3ed8a3f0be5]
52726
52727 2013-04-23 praveentiwari <praveentiwari>
52728
52729 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
52730 Testcode for partialButterflyInverse16
52731 [15924dfd46bb]
52732
52733 2013-04-23 praveen Tiwari <praveen@multicorewareinc.com>
52734
52735 * source/Lib/TLibVideoIO/TVideoIO.h,
52736 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52737 source/Lib/TLibVideoIO/TVideoIOY4m.h,
52738 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
52739 source/Lib/TLibVideoIO/TVideoIOYuv.h:
52740 Merged multicoreware/xhevc into default
52741 [dfa318bc6c1f]
52742
52743 2013-04-23 praveentiwari <praveentiwari>
52744
52745 * source/encoder/vec/macroblock.inc:
52746 Robust alternative logic for Clip3
52747 [6026e8c2efd5]
52748
52749 2013-04-23 nandaku2 <deepthi@multicorewareinc.com>
52750
52751 * Merged in ggopu/gopu_xhevc (pull request #83)
52752
52753 Enhanced the Regression suite and added Regression suite for Mingw
52754 and Linux
52755 [e85d16d29d0c]
52756
52757 2013-04-22 ggopu <ggopu>
52758
52759 * build/BuildEncoderApplications.bat,
52760 build/CreateRegressionPackage.bat, build/CreateRegressionPackage.sh,
52761 build/RunEncoderApplications.bat, build/config.txt:
52762 Enhanced the Regression suite and added Regression suite for Mingw
52763 and Linux
52764 [06e573f8842f]
52765
52766 2013-04-23 Deepthi <Deepthi>
52767
52768 * source/Lib/TLibVideoIO/TVideoIO.h,
52769 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52770 source/Lib/TLibVideoIO/TVideoIOY4m.h,
52771 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
52772 source/Lib/TLibVideoIO/TVideoIOYuv.h:
52773 Merge
52774 [e30ef3ca26c8]
52775
52776 * source/Lib/TLibCommon/TComPrediction.cpp:
52777 more precision related static casts in prediction.
52778 [7d9f38dc50a8]
52779
52780 * source/Lib/TLibCommon/TComLoopFilter.cpp:
52781 Deblocking Filter made type safe
52782 [b8763aa9e2cb]
52783
52784 2013-04-23 Steve Borho <steve@borho.org>
52785
52786 * source/output/y4m.cpp:
52787 output: simplify frame header generation
52788 [a07c8d0cb501]
52789
52790 * source/output/yuv.cpp:
52791 output: handle 16bit YUV output files correctly
52792 [b383da39acb2]
52793
52794 * .hgignore:
52795 hg: ignore y4m files
52796 [5182602454f0]
52797
52798 2013-04-23 Deepthi <Deepthi>
52799
52800 * source/Lib/TLibCommon/TComLoopFilter.cpp:
52801 static_cast to remove precision loss in loop filter (during Pel type
52802 conversions)
52803 [569611fe5c7c]
52804
52805 2013-04-23 Steve Borho <steve@borho.org>
52806
52807 * source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
52808 source/output/yuv.h, source/x265cfg.cpp, source/x265enc.cpp:
52809 output: handle 16bit Pel type from the encoder
52810 [4f7100891763]
52811
52812 2013-04-22 Steve Borho <steve@borho.org>
52813
52814 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
52815 source/Lib/TLibEncoder/TEncTop.h, source/Lib/TLibVideoIO/TVideoIO.h,
52816 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52817 source/Lib/TLibVideoIO/TVideoIOY4m.h,
52818 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
52819 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/output/CMakeLists.txt,
52820 source/output/output.cpp, source/output/output.h,
52821 source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
52822 source/output/yuv.h, source/x265cfg.cpp, source/x265cfg.h,
52823 source/x265enc.cpp, source/x265enc.h:
52824 replace TLibVideoIO with as-yet unimplemented Output classes
52825 [1b5074c2cf17]
52826
52827 2013-04-23 Steve Borho <steve@borho.org>
52828
52829 * source/Lib/TLibCommon/TComSlice.cpp,
52830 source/Lib/TLibEncoder/TEncCavlc.cpp:
52831 remove unicode chars from HM source
52832 [99deb04e11c5]
52833
52834 * source/test/timer.cpp:
52835 testbench: re-add EMMS calls to timer funcs, for x86 builds
52836
52837 Apparently uint64_t somehow involves the same hardware registers as
52838 MMX on x86
52839 [caa9d879d8bd]
52840
52841 2013-04-22 Steve Borho <steve@borho.org>
52842
52843 * source/test/timer.cpp:
52844 testbench: fix timer behavior on Linux
52845 [900e90ef3ec6]
52846
52847 * source/test/CMakeLists.txt, source/test/timer.cpp:
52848 testbench: fix Linux compile
52849 [8a71a9d9dd3c]
52850
52851 * source/test/CMakeLists.txt:
52852 cmake: the test bench apps no long need to link with the HM libs
52853 [c34f8aa32544]
52854
52855 * source/test/filterharness.cpp, source/test/mbdstharness.cpp,
52856 source/test/pixelharness.cpp, source/test/testbench.cpp,
52857 source/test/testharness.h, source/test/timer.cpp:
52858 testbench: report only speedups over C reference
52859 [5bf58f12bed0]
52860
52861 * source/x265main.cpp:
52862 fix eoln damage to x265main.cpp
52863 [18a1d0360507]
52864
52865 * source/Lib/CMakeLists.txt, source/Lib/TLibCommon/TComPicYuvMD5.cpp,
52866 source/Lib/TLibEncoder/TEncGOP.cpp, source/Lib/libmd5/MD5.h,
52867 source/Lib/libmd5/libmd5.c, source/Lib/libmd5/libmd5.h,
52868 source/encoder/CMakeLists.txt, source/encoder/md5.cpp,
52869 source/encoder/md5.h, source/test/testpool.cpp:
52870 replace BSD libmd5 library with tweaked GPL MD5 from Min's x265
52871 [4dc1489e326b]
52872
52873 * source/input/y4m.cpp, source/input/yuv.cpp, source/x265enc.cpp:
52874 move file read PPA events inside the file read classes
52875 [ff2e1d6a420c]
52876
52877 * source/x265cfg.cpp:
52878 nit cleanups in x265cfg.cpp
52879 [3a706e89af04]
52880
52881 * source/x265main.cpp:
52882 use correct data type for clock() output
52883 [3a23868f4daf]
52884
52885 * source/x265cfg.cpp, source/x265cfg.h, source/x265main.cpp:
52886 move some bits out of x265main into their proper locations
52887 [fd477ac10863]
52888
52889 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
52890 source/Lib/encoder.cpp, source/Lib/encoder.h, source/x265enc.cpp,
52891 source/x265enc.h, source/x265main.cpp:
52892 move CLI encoder toplevel class out of Lib/ folder
52893 [9fbc3e142f42]
52894
52895 * source/Lib/TLibCommon/TComPicYuv.cpp:
52896 fix eoln of TComPicYuv::copyFromPicture
52897 [00930012bc2b]
52898
52899 * source/Lib/TLibCommon/TComPicYuv.cpp,
52900 source/Lib/TLibCommon/TComPicYuv.h,
52901 source/Lib/TLibEncoder/TEncTop.cpp,
52902 source/Lib/TLibEncoder/TEncTop.h, source/Lib/encoder.cpp,
52903 source/x265cfg.cpp, source/x265cfg.h:
52904 Use Input classes for file reads, bit-exact
52905 [98ea3cd98a49]
52906
52907 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
52908 prune unnecessary Input class methods
52909 [edf1cf197b7f]
52910
52911 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
52912 source/input/yuv.cpp, source/input/yuv.h, source/x265.h:
52913 introduce x265.h - public interface header, C compatible
52914 [1b9dbdbe3b3c]
52915
52916 * source/input/input.h, source/input/y4m.cpp:
52917 input: remove include of internal header
52918 [0fd879feff34]
52919
52920 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
52921 remove ScalingListFile from config files
52922
52923 It was never implemented, and we're unlikely to add it
52924 [d7c1fa3d6c92]
52925
52926 * source/Lib/TLibEncoder/TEncCu.cpp:
52927 white-space tweak to TEncCu.cpp
52928 [fcf2c9a0f811]
52929
52930 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
52931 input tweaks
52932 [c5f827448a65]
52933
52934 * .hgignore:
52935 hg: ignore test run remnants
52936 [2708d9bed556]
52937
52938 2013-04-21 Steve Borho <steve@borho.org>
52939
52940 * source/CMakeLists.txt:
52941 cmake: set -D_CRT_NONSTDC_NO_DEPRECATE on x265cfg.cpp
52942 [6d42d360d056]
52943
52944 * source/Lib/TLibEncoder/TEncCfg.h:
52945 TEncCfg: minor white-space cleanups
52946 [7d53979cdc0c]
52947
52948 2013-04-22 nandaku2 <deepthi@multicorewareinc.com>
52949
52950 * Merged in praveentiwari/xhevc_praveent (pull request #82)
52951
52952 Vectorized code for partialButterflyInverse8
52953 [5d949f9e5b57]
52954
52955 2013-04-22 praveentiwari <praveentiwari>
52956
52957 * source/Lib/TLibCommon/TComTrQuant.cpp,
52958 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52959 Vectorized code for partialButterflyInverse8
52960 [2c0f4fb594da]
52961
52962 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
52963 Test code for partialButterflyInverse8
52964 [e1ae28e06e85]
52965
52966 2013-04-22 praveen Tiwari <praveen@multicorewareinc.com>
52967
52968 * Merged multicoreware/xhevc into default
52969 [e5de08686fce]
52970
52971 2013-04-22 praveentiwari <praveentiwari>
52972
52973 * source/Lib/TLibCommon/TComTrQuant.cpp,
52974 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52975 Vectorized code for partialButterflyInverse4
52976 [65245e2e352b]
52977
52978 * source/Lib/TLibCommon/TComTrQuant.cpp,
52979 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52980 Vectorized code for partialButterfly8
52981 [2331625b3ed3]
52982
52983 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
52984 Test code for partialButterflyInverse4
52985 [70688db2af31]
52986
52987 2013-04-22 Deepthi <Deepthi>
52988
52989 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52990 source/Lib/TLibVideoIO/TVideoIOYuv.cpp:
52991 Bit Depth checks.
52992 [303d89672240]
52993
52994 * source/Lib/TLibCommon/TComInterpolationFilter.h,
52995 source/Lib/TLibCommon/TComPrediction.cpp,
52996 source/Lib/TLibEncoder/TEncSearch.cpp:
52997 Final Short* parameter type casts. Now compiles with Pel as UShort.
52998 Output incorrect.
52999 [d2c2078f9a54]
53000
53001 * source/Lib/TLibCommon/TComPrediction.h:
53002 Merge
53003 [83b1e733d352]
53004
53005 2013-04-21 Deepthi <Deepthi>
53006
53007 * source/Lib/TLibCommon/TComPrediction.h:
53008 Comments
53009 [eadc32e88cc5]
53010
53011 2013-04-21 Steve Borho <steve@borho.org>
53012
53013 * source/x265cfg.h:
53014 eoln fixes for x265cfg.h
53015 [80b3d7f2ea2b]
53016
53017 * source/cmake/version.cmake:
53018 cmake: print detected xhevc version
53019 [7732fd1be70c]
53020
53021 * source/x265cfg.h:
53022 reintrodude old TVideIO classes, short term fix
53023 [0b3a7f032ca7]
53024
53025 * source/Lib/TLibCommon/TComDataCU.cpp,
53026 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53027 source/Lib/TLibCommon/TComInterpolationFilter.h,
53028 source/Lib/TLibEncoder/TEncCavlc.h:
53029 re-apply some changes that were accidentally backed out
53030 [301365973418]
53031
53032 * source/Lib/TLibCommon/TComSlice.cpp,
53033 source/Lib/TLibCommon/TComSlice.h,
53034 source/Lib/TLibCommon/TComTrQuant.cpp,
53035 source/Lib/TLibCommon/TComTrQuant.h,
53036 source/Lib/TLibCommon/TComWeightPrediction.cpp,
53037 source/Lib/TLibCommon/TComWeightPrediction.h,
53038 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
53039 source/Lib/TLibCommon/TypeDef.h,
53040 source/Lib/TLibEncoder/AnnexBwrite.h,
53041 source/Lib/TLibEncoder/NALwrite.cpp,
53042 source/Lib/TLibEncoder/SEIwrite.cpp,
53043 source/Lib/TLibEncoder/SyntaxElementWriter.h,
53044 source/Lib/TLibEncoder/TEncAnalyze.h,
53045 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
53046 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
53047 source/Lib/TLibEncoder/TEncCavlc.cpp,
53048 source/Lib/TLibEncoder/TEncCavlc.h,
53049 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
53050 source/Lib/TLibEncoder/TEncCu.h,
53051 source/Lib/TLibEncoder/TEncEntropy.cpp,
53052 source/Lib/TLibEncoder/TEncEntropy.h,
53053 source/Lib/TLibEncoder/TEncGOP.cpp,
53054 source/Lib/TLibEncoder/TEncGOP.h,
53055 source/Lib/TLibEncoder/TEncPic.cpp,
53056 source/Lib/TLibEncoder/TEncPic.h,
53057 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
53058 source/Lib/TLibEncoder/TEncRateCtrl.h,
53059 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
53060 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
53061 source/Lib/TLibEncoder/TEncSbac.cpp,
53062 source/Lib/TLibEncoder/TEncSbac.h,
53063 source/Lib/TLibEncoder/TEncSearch.cpp,
53064 source/Lib/TLibEncoder/TEncSearch.h,
53065 source/Lib/TLibEncoder/TEncSlice.cpp,
53066 source/Lib/TLibEncoder/TEncSlice.h,
53067 source/Lib/TLibEncoder/TEncTop.cpp,
53068 source/Lib/TLibEncoder/TEncTop.h,
53069 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
53070 source/Lib/TLibEncoder/WeightPredAnalysis.h:
53071 remaining checkin of HM files
53072 [d1697a1eb39d]
53073
53074 * source/Lib/TLibCommon/TComPrediction.cpp,
53075 source/Lib/TLibCommon/TComPrediction.h,
53076 source/Lib/TLibCommon/TComRdCost.cpp,
53077 source/Lib/TLibCommon/TComRdCost.h,
53078 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
53079 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
53080 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
53081 partial checkin of more HM files
53082 [843a9b287b93]
53083
53084 * source/Lib/TLibCommon/TComPicSym.cpp,
53085 source/Lib/TLibCommon/TComPicSym.h,
53086 source/Lib/TLibCommon/TComPicYuv.cpp,
53087 source/Lib/TLibCommon/TComPicYuv.h:
53088 partial checkin of more HM files
53089 [c34e62ee498a]
53090
53091 * source/Lib/TLibCommon/TComBitStream.h,
53092 source/Lib/TLibCommon/TComDataCU.h,
53093 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53094 source/Lib/TLibCommon/TComInterpolationFilter.h,
53095 source/Lib/TLibCommon/TComList.h,
53096 source/Lib/TLibCommon/TComLoopFilter.cpp,
53097 source/Lib/TLibCommon/TComLoopFilter.h,
53098 source/Lib/TLibCommon/TComMotionInfo.cpp,
53099 source/Lib/TLibCommon/TComMotionInfo.h,
53100 source/Lib/TLibCommon/TComMv.h,
53101 source/Lib/TLibCommon/TComPattern.cpp,
53102 source/Lib/TLibCommon/TComPattern.h,
53103 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
53104 partial checkin of more HM files
53105 [ede16ee58c25]
53106
53107 * source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/SEI.h,
53108 source/Lib/TLibCommon/TComBitStream.h, source/x265cfg.h:
53109 apply uncrustify tweak
53110 [5151eb7614ca]
53111
53112 * doc/uncrustify/codingstyle.cfg:
53113 uncrustify: yet another tweak
53114 [6f329f8be6cb]
53115
53116 * source/Lib/TAppCommon/program_options_lite.cpp,
53117 source/Lib/TAppCommon/program_options_lite.h,
53118 source/Lib/TLibCommon/CommonDef.h,
53119 source/Lib/TLibCommon/ContextModel.cpp,
53120 source/Lib/TLibCommon/ContextModel.h,
53121 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
53122 source/Lib/TLibCommon/ContextModel3DBuffer.h,
53123 source/Lib/TLibCommon/ContextTables.h,
53124 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
53125 source/Lib/TLibCommon/TComBitCounter.h,
53126 source/Lib/TLibCommon/TComBitStream.cpp,
53127 source/Lib/TLibCommon/TComBitStream.h,
53128 source/Lib/TLibCommon/TComDataCU.cpp:
53129 partial checkin of more HM files
53130 [a3e1adc924bc]
53131
53132 * cfg/encoder_I_15P.cfg, source/Lib/encoder.cpp, source/x265cfg.cpp,
53133 source/x265cfg.h:
53134 partial check-in of HM bug fixes - hand tweaking of large table
53135 formats
53136 [b54b96b9d205]
53137
53138 * source/Lib/TAppCommon/program_options_lite.cpp,
53139 source/Lib/TAppCommon/program_options_lite.h,
53140 source/Lib/TLibCommon/CommonDef.h,
53141 source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/SEI.h,
53142 source/Lib/TLibCommon/TComBitCounter.h,
53143 source/Lib/TLibCommon/TComBitStream.cpp,
53144 source/Lib/TLibCommon/TComBitStream.h,
53145 source/Lib/TLibCommon/TComDataCU.cpp,
53146 source/Lib/TLibCommon/TComDataCU.h,
53147 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53148 source/Lib/TLibCommon/TComInterpolationFilter.h,
53149 source/Lib/TLibCommon/TComMotionInfo.h,
53150 source/Lib/TLibCommon/TComMv.h, source/Lib/TLibCommon/TComPattern.h,
53151 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
53152 source/Lib/TLibCommon/TComPicYuv.cpp,
53153 source/Lib/TLibCommon/TComPicYuv.h,
53154 source/Lib/TLibCommon/TComPrediction.cpp,
53155 source/Lib/TLibCommon/TComPrediction.h,
53156 source/Lib/TLibCommon/TComRdCost.cpp,
53157 source/Lib/TLibCommon/TComRdCost.h,
53158 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
53159 source/Lib/TLibCommon/TComSlice.h,
53160 source/Lib/TLibCommon/TComTrQuant.cpp,
53161 source/Lib/TLibCommon/TComTrQuant.h,
53162 source/Lib/TLibCommon/TComYuv.h,
53163 source/Lib/TLibEncoder/NALwrite.cpp,
53164 source/Lib/TLibEncoder/SyntaxElementWriter.h,
53165 source/Lib/TLibEncoder/TEncAnalyze.h,
53166 source/Lib/TLibEncoder/TEncBinCoder.h,
53167 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
53168 source/Lib/TLibEncoder/TEncCavlc.h,
53169 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
53170 source/Lib/TLibEncoder/TEncEntropy.h,
53171 source/Lib/TLibEncoder/TEncGOP.h,
53172 source/Lib/TLibEncoder/TEncPic.cpp,
53173 source/Lib/TLibEncoder/TEncPic.h,
53174 source/Lib/TLibEncoder/TEncRateCtrl.h,
53175 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
53176 source/Lib/TLibEncoder/TEncSbac.h,
53177 source/Lib/TLibEncoder/TEncSearch.h,
53178 source/Lib/TLibEncoder/TEncSlice.cpp,
53179 source/Lib/TLibEncoder/TEncSlice.h,
53180 source/Lib/TLibEncoder/TEncTop.cpp,
53181 source/Lib/TLibEncoder/TEncTop.h,
53182 source/Lib/TLibVideoIO/TVideoIOY4m.h, source/Lib/encoder.cpp,
53183 source/encoder/pixel.cpp, source/encoder/primitives.cpp,
53184 source/encoder/primitives.h, source/encoder/threading.cpp,
53185 source/encoder/threadpool.cpp, source/encoder/vec/pixel.inc,
53186 source/encoder/vec/vec-primitives.cpp,
53187 source/encoder/vec/vecprimitives.inc, source/input/input.cpp,
53188 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
53189 source/input/yuv.h, source/test/filterharness.cpp,
53190 source/test/filterharness.h, source/test/mbdstharness.cpp,
53191 source/test/pixelharness.cpp, source/test/pixelharness.h,
53192 source/test/testbench.cpp, source/test/testharness.h,
53193 source/test/testpool.cpp, source/test/timer.cpp:
53194 uncrustify: apply coding style tweaks
53195
53196 The new style needed to be in place before I updated the HM code, in
53197 order to reduce the number of diffs to sift through.
53198 [6d038ab13735]
53199
53200 * doc/uncrustify/codingstyle.cfg:
53201 uncrustify: more tweaks to style setting
53202 [c451dbda7d94]
53203
53204 * doc/uncrustify/apply-to-all-source.py,
53205 doc/uncrustify/codingstyle.cfg, doc/uncrustify/uncrustify.exe:
53206 uncrustify: update uncrustify executable
53207 [46c33fbe9333]
53208
53209 * source/encoder/x86/asm-primitives.cpp:
53210 asm: disable SAD assembly to get back to bit-exact outputs
53211
53212 Perhaps a data alignment problem, or arguments in the wrong order
53213 somewhere
53214 [33d2ebf5f487]
53215
53216 * Merge
53217 [3fe21a59f6fd]
53218
53219 2013-04-21 Deepthi <Deepthi>
53220
53221 * source/Lib/TLibCommon/TComPrediction.cpp,
53222 source/Lib/TLibCommon/TComPrediction.h:
53223 Cleanups; remove TComYUV structure.
53224 [581d2044bf91]
53225
53226 * source/Lib/TLibEncoder/TEncSearch.cpp:
53227 Replace TComYUV class by TShortYUV
53228 [c9777c7b75fe]
53229
53230 * source/Lib/TLibCommon/TComPrediction.h:
53231 More members functions added to TShortYUV
53232 [64fc6448254c]
53233
53234 * source/Lib/TLibCommon/TComPrediction.cpp,
53235 source/Lib/TLibCommon/TComPrediction.h:
53236 Create and destroy filteredTmp class
53237 [01deb523db8b]
53238
53239 * source/Lib/TLibCommon/TComPrediction.h:
53240 Defining a new class for holding Short YUV buffers. This will
53241 replace the Pel YUV intermediate buffers in filter interpolation.
53242 [24500d602afd]
53243
53244 2013-04-20 Steve Borho <steve@borho.org>
53245
53246 * source/encoder/macroblock.cpp:
53247 cleanup some unfortunate uncrustify expression reflows
53248 [a9e3b68b81d9]
53249
53250 2013-04-20 Mandar Gurav <Mandar Gurav>
53251
53252 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53253 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
53254 source/test/filterharness.cpp:
53255 * Implemented vectorization of Filter_horizontal_4
53256 * Uncrustify all the commit files
53257 * Print one more field (speedup = c_time/vec_time) in testbench
53258 [d5eaa39bf3b6]
53259
53260 2013-04-20 Deepthi <Deepthi>
53261
53262 * source/Lib/TLibCommon/TComPrediction.cpp:
53263 Changing the intermediate filtering output to short-lived heap
53264 memory (type short).
53265 [e8b8232ddbb2]
53266
53267 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53268 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53269 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53270 Merge
53271 [e77a39c2105c]
53272
53273 2013-04-19 Mandar Gurav <Mandar Gurav>
53274
53275 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53276 Filter Horizontal vectorization stage 2
53277 [6f25724b3f93]
53278
53279 2013-04-19 Mandar Gurav <mandar@multicorewareinc.com>
53280
53281 * Merged multicoreware/xhevc into default
53282 [aa8a54f38812]
53283
53284 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53285 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53286 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53287 Merged multicoreware/xhevc into default
53288 [0e019be400f8]
53289
53290 * source/encoder/macroblock.cpp:
53291 Merged multicoreware/xhevc into default
53292 [dc9f04885f43]
53293
53294 2013-04-17 Mandar Gurav <mandar@multicorewareinc.com>
53295
53296 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53297 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
53298 source/test/filterharness.cpp:
53299 Merged multicoreware/xhevc into default
53300 [7ea883f9071d]
53301
53302 2013-04-18 Mandar Gurav <Mandar Gurav>
53303
53304 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
53305 Copy file directly from xhevc.
53306 [2b8e435f91bb]
53307
53308 2013-04-17 Mandar Gurav <mandar@multicorewareinc.com>
53309
53310 * build/RegressionTester.bat, source/Lib/config.cpp,
53311 source/Lib/config.h, source/encoder/macroblock.cpp,
53312 source/encoder/primitives.h, source/encoder/vec/macroblock.inc,
53313 source/test/filterharness.cpp:
53314 Merged multicoreware/xhevc into default
53315 [7f14170ed329]
53316
53317 2013-04-17 Mandar Gurav <Mandar Gurav>
53318
53319 * source/encoder/primitives.h:
53320 Move to Xhevc source stage 2
53321 [a45e2efa1fd6]
53322
53323 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
53324 source/test/filterharness.cpp:
53325 Move to latest xhevc source
53326 [b9152b69273b]
53327
53328 * source/encoder/macroblock.cpp:
53329 Revert changes
53330 [d451573343a3]
53331
53332 * source/encoder/macroblock.cpp:
53333 Copy file directly from xHEVC
53334 [aabf6e1c4ce3]
53335
53336 2013-04-16 Mandar Gurav <Mandar Gurav>
53337
53338 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53339 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53340 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53341 Restrctured filter function calling/template as per the discussion
53342 [675639180295]
53343
53344 2013-04-20 Deepthi <Deepthi>
53345
53346 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
53347 source/encoder/vec/macroblock.inc:
53348 Merge
53349 [a8918bd5c534]
53350
53351 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53352 source/Lib/TLibCommon/TComInterpolationFilter.h,
53353 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53354 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp,
53355 source/test/filterharness.h:
53356 Changing all filter interpolation primitives to accept short
53357 pointers.
53358 [53e2f960638a]
53359
53360 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53361 source/Lib/TLibCommon/TComInterpolationFilter.h:
53362 Changing all filter interpolation functions to accept Short
53363 pointers.
53364 [55d414249baa]
53365
53366 2013-04-19 Steve Borho <steve@borho.org>
53367
53368 * source/encoder/x86/CMakeLists.txt:
53369 cmake: use .obj extension for ASM compilation outputs, makes VS
53370 happier
53371 [e81ef56a1f28]
53372
53373 * source/CMakeLists.txt:
53374 cmake: enable /Oi flag globally for Visual Studio
53375
53376 This makes the test bench run faster compiled with VS than with GCC
53377 [e4cbdf357e3d]
53378
53379 * source/Lib/TLibCommon/TComRdCost.cpp,
53380 source/Lib/TLibEncoder/TEncSearch.cpp:
53381 add x264_cpu_emms() in some likely locations
53382 [454a38de0b89]
53383
53384 * source/encoder/x86/asm-primitives.cpp:
53385 asm: disable many of the sa8d_8x8 functions, they are causing
53386 crashes
53387
53388 (perhaps misalingment related, don't know. this will have to be
53389 revisited later)
53390 [9fa4ad5c65bf]
53391
53392 * source/encoder/x86/asm-primitives.cpp:
53393 asm: enable many more primitives, leave bunches disabled
53394
53395 Many of the high-bit depth primitives seem to be busted, they cause
53396 stack corruption even when called from GCC, at least the versions we
53397 have here.
53398 [b6c387c6256b]
53399
53400 * source/test/pixelharness.cpp:
53401 pixelharness: tweak print statements to show progress more clearly
53402 [796e05062cdc]
53403
53404 * source/encoder/x86/CMakeLists.txt:
53405 cmake: pass ARCH_X86_64 flag to asm-primitives.cpp
53406 [e81431e4bf6c]
53407
53408 * source/encoder/vec/pixel.inc:
53409 pixel: add a 16x4 satd vector primitive
53410 [ea89ec5d7ace]
53411
53412 * source/encoder/pixel.cpp:
53413 pixel: fix larger dimension satd C primitives, using simple template
53414 [b899a70a433b]
53415
53416 * source/encoder/x86/CMakeLists.txt, source/encoder/x86/sad-a.asm:
53417 cmake: add x264's sad-a.asm for more SAD functions
53418 [55920369b223]
53419
53420 * source/encoder/x86/CMakeLists.txt:
53421 cmake: fix linking of assembly code with MSVC x86
53422 [2b777b1de100]
53423
53424 * source/encoder/x86/asm-primitives.cpp:
53425 asm-primitives: repair EOLN
53426 [b758e0607830]
53427
53428 * source/input/yuv.cpp:
53429 yuv: fix MSVC x86 compiler warning
53430 [789f01fd0555]
53431
53432 * source/encoder/primitives.h, source/encoder/x86/CMakeLists.txt,
53433 source/encoder/x86/asm-primitives.cpp:
53434 cmake: fix linking of assembly code with MSVC builds (rename outputs
53435 to .lib)
53436 [06c9c88a35a8]
53437
53438 * source/encoder/primitives.h, source/encoder/x86/CMakeLists.txt,
53439 source/encoder/x86/asm-primitives.cpp, source/encoder/x86/cpu-a.asm,
53440 source/test/CMakeLists.txt, source/test/timer.cpp:
53441 asm: pull in cpu-a.asm from x264, includes EMMS function
53442
53443 The intrinsic support for EMMS is broken with MS compilers, so we
53444 have to use this short function provided by x264. We could improve
53445 this somewhat with inline assembly in primitives.h, but it would
53446 have to be cross-compiler.
53447
53448 linking the assembly with MSVC seems clearly broken
53449 [42546d6bb2da]
53450
53451 * source/Lib/TLibCommon/TComTrQuant.cpp,
53452 source/Lib/TLibVideoIO/TVideoIOY4m.h:
53453 EOLN repair in HM files
53454 [11cf80f51ee9]
53455
53456 * source/cmake/CMakeASM_YASMInformation.cmake,
53457 source/cmake/CMakeDetermineASM_YASMCompiler.cmake,
53458 source/cmake/CMakeTestASM_YASMCompiler.cmake,
53459 source/cmake/version.cmake:
53460 cmake: dos to unix eoln
53461 [b7668187381e]
53462
53463 * source/test/timer.cpp:
53464 timer: issue EMMS before attempting any floating point math
53465 [ea5150ee49a4]
53466
53467 * source/cmake/CMakeASM_YASMInformation.cmake, source/encoder/x86/asm-
53468 primitives.cpp, source/test/CMakeLists.txt:
53469 cmake: fix GCC Win32 linkage with x264 assembly
53470 [74d0c855ad7d]
53471
53472 * source/input/y4m.cpp:
53473 input: fix GCC build
53474 [234401a376c3]
53475
53476 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
53477 source/input/yuv.cpp, source/input/yuv.h:
53478 input: remove unnecessary public methods, cleanup read functions
53479
53480 fread returns the count of elements read. The file reader should
53481 know nothing about margins.
53482 [40d080f01e1b]
53483
53484 * source/input/y4m.cpp, source/input/yuv.cpp:
53485 input: fix compile warnings
53486 [875679b4cb08]
53487
53488 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
53489 source/input/yuv.cpp, source/input/yuv.h:
53490 input: update headers and classes
53491 [aa83c6072932]
53492
53493 2013-04-18 Steve Borho <steve@borho.org>
53494
53495 * source/encoder/macroblock.cpp:
53496 macroblock: move warning disable to top of file, remove dups
53497 [358d7a322561]
53498
53499 2013-04-19 Steve Borho <steve@borho.org>
53500
53501 * Merged in praveentiwari/xhevc_praveent (pull request #78)
53502
53503 Vectorized code for partialButterfly32
53504 [fe41a1e01a93]
53505
53506 2013-04-19 praveentiwari <praveentiwari>
53507
53508 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
53509 Test code of partialButterfly8
53510 [1f6cd6ba73f8]
53511
53512 2013-04-19 praveen Tiwari <praveen@multicorewareinc.com>
53513
53514 * source/Lib/TLibCommon/TComTrQuant.cpp:
53515 Merged multicoreware/xhevc into default
53516 [cc32f7a1aacf]
53517
53518 * source/encoder/vec/macroblock.inc:
53519 Merged multicoreware/xhevc into default
53520 [c2a7b5bce16e]
53521
53522 * source/encoder/vec/macroblock.inc:
53523 Merged multicoreware/xhevc into default
53524 [37b3da3c6bf9]
53525
53526 2013-04-19 praveentiwari <praveentiwari>
53527
53528 * source/Lib/TLibCommon/TComTrQuant.cpp,
53529 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53530 Vectorized code for partialButterfly32
53531 [961ebc25f630]
53532
53533 2013-04-19 Steve Borho <steve@borho.org>
53534
53535 * Merge
53536 [d613c2fde0f8]
53537
53538 2013-04-19 Deepthi <Deepthi>
53539
53540 * source/Lib/TLibCommon/TComTrQuant.cpp:
53541 Changing 16-bit hard coded memory copy in TComTrQuant::xT
53542 [8a517c789bbb]
53543
53544 * source/Lib/TLibCommon/TComTrQuant.cpp:
53545 Changing 16-bit hard coded memory copy in TComTrQuant::xIT
53546 [3e327e235ef6]
53547
53548 2013-04-19 Deepthi Devaki <Deepthi Devaki>
53549
53550 * source/encoder/vec/macroblock.inc:
53551 Fix build issue in macroblock.inc with Mingw, Msys
53552 [45b7819d08eb]
53553
53554 2013-04-19 Deepthi <Deepthi>
53555
53556 * source/encoder/vec/macroblock.inc:
53557 Comment
53558 [4252824d518f]
53559
53560 2013-04-19 Deepthi Devaki <Deepthi Devaki>
53561
53562 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53563 Vertical Filter - vector primitive with 32 bit operations.
53564 [5334266bbebb]
53565
53566 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53567 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53568 Filter C - primitive with isFirst, isLast and 32 bit sums.
53569 [f517af8fa3e1]
53570
53571 2013-04-19 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53572
53573 * source/encoder/macroblock.cpp:
53574 Merged multicoreware/xhevc into default
53575 [b95fa4555d92]
53576
53577 2013-04-19 Deepthi Devaki <Deepthi Devaki>
53578
53579 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53580 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53581 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53582 Backed out changeset: c51b962d2155
53583 [53fe4175ecf6]
53584
53585 2013-04-18 Rajesh <Rajesh>
53586
53587 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53588 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53589 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53590 Changed the array of Filter function pointers in primitives.h to
53591 have only Filter[V_8] and FIlter[V_4].
53592 [c51b962d2155]
53593
53594 2013-04-19 praveentiwari <praveentiwari>
53595
53596 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
53597 Test code for partialButterfly32
53598 [7d9db6232717]
53599
53600 2013-04-18 Steve Borho <steve@borho.org>
53601
53602 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
53603 cmake: move CPRIMITIVES variable creation into
53604 source/encoder/CMakeLists.txt
53605 [d69532344cd2]
53606
53607 * source/encoder/CMakeLists.txt:
53608 cmake: document the reason for the -march-i686 flag
53609 [f86cfcd39cda]
53610
53611 * source/encoder/threading.cpp, source/encoder/threading.h,
53612 source/encoder/threadpool.cpp:
53613 threading: cleanup of shutdown methods
53614
53615 This fixes the deadlock we see once 1 in 1 million runs of the pool
53616 test.
53617 [189956c5ac7e]
53618
53619 * source/encoder/primitives.cpp:
53620 primitives: remove PartitionFromSizes if primitives are disabled
53621 [1b4bcbe0b604]
53622
53623 * source/encoder/primitives.cpp, source/x265main.cpp:
53624 primitives: report primitive compilation settings when setting up
53625 primitives
53626 [622eada81044]
53627
53628 * source/encoder/primitives.cpp:
53629 primitives: fix GCC compile without primitives
53630 [f77e4badb7c3]
53631
53632 * source/test/testbench.cpp:
53633 testbench: allow to compile without primitives
53634 [906891cfca09]
53635
53636 2013-04-18 Deepthi <Deepthi>
53637
53638 * source/encoder/macroblock.cpp:
53639 reverting vertical filter to isLast and isFirst as template
53640 arguments.
53641 [ba92d2b802b0]
53642
53643 2013-04-17 Steve Borho <steve@borho.org>
53644
53645 * source/encoder/threadpool.cpp:
53646 threadpool: ensure threads spin up before allowing any jobs to
53647 enqueue
53648 [1711ba4cbae9]
53649
53650 * source/test/testpool.cpp:
53651 testpool: output nothing to stdout unless hashes mismatch
53652 [7a831fa74921]
53653
53654 * source/encoder/threadpool.cpp, source/encoder/threadpool.h,
53655 source/test/testpool.cpp:
53656 threadpool: prevent threads seing partially destroyed job providers
53657 [1c05ce459601]
53658
53659 * source/encoder/x86/asm-primitives.cpp, source/test/mbdstharness.cpp:
53660 further GCC fixes
53661 [4817f4da5c71]
53662
53663 * source/encoder/vec/macroblock.inc:
53664 vec: fix GCC build of macroblock.inc
53665 [75bd4e212561]
53666
53667 * source/encoder/threadpool.cpp:
53668 threadpool: add a mechanism to determine safety of job provider
53669 deletion
53670 [bada21fa0e75]
53671
53672 * source/encoder/x86/CMakeLists.txt:
53673 cmake: unify assembly file list, use a common object file name
53674 [4d8da41d0a98]
53675
53676 2013-04-18 Steve Borho <steve@borho.org>
53677
53678 * source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
53679 primitives.cpp, source/encoder/x86/const-a.asm:
53680 asm: Fix integrations of pixel-a.asm.
53681 [2ac269a795fe]
53682
53683 2013-04-18 Deepthi <Deepthi>
53684
53685 * source/encoder/vec/macroblock.inc:
53686 Merge
53687 [72ad141d57f3]
53688
53689 2013-04-17 Deepthi <Deepthi>
53690
53691 * source/encoder/vec/macroblock.inc:
53692 Merge
53693 [69fe3d55e91b]
53694
53695 * merged
53696 [125be1e48dcd]
53697
53698 2013-04-17 Deepthi Devaki <Deepthi Devaki>
53699
53700 * source/encoder/vec/macroblock.inc:
53701 Modified vertical_filter to pre-load coeff
53702 [e162b60189b8]
53703
53704 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53705 Backed out changeset: b520a3ddbf36
53706 [082f8068d4cd]
53707
53708 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
53709 Modified vertical_filter to pre-load coeff
53710 [b520a3ddbf36]
53711
53712 * source/encoder/vec/macroblock.inc:
53713 Backed out changeset: 0848ac28c541
53714 [31b64b009d89]
53715
53716 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53717 Backed out changeset: fbbc5ec48951
53718 [df782495c742]
53719
53720 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53721 Backed out changeset: bd537ec0cba7
53722 [fbbc5ec48951]
53723
53724 * source/encoder/vec/macroblock.inc:
53725 Backed out changeset: db0ac8504e1a
53726 [0848ac28c541]
53727
53728 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
53729 Modifed TComInterpolationFilter.cpp to call vertical-filter
53730 primitives
53731 [2b049a973793]
53732
53733 * source/test/filterharness.cpp:
53734 Modifed filterharness to test vertical filter.
53735 [25b506f908ff]
53736
53737 * source/encoder/vec/macroblock.inc:
53738 Modifed vertical-filter
53739 [db0ac8504e1a]
53740
53741 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53742 Added vectorized vertical Filter
53743 [bd537ec0cba7]
53744
53745 * source/encoder/macroblock.cpp:
53746 Added filter_Vertical C-primitive with isFirst = isLAst = True
53747 always.
53748 [808c38c73c93]
53749
53750 * source/encoder/macroblock.cpp:
53751 Added filter_Vertical C-primitive with isFirst = isLAst = True
53752 always.
53753 [1fe37c453312]
53754
53755 2013-04-17 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53756
53757 * build/RegressionTester.bat, source/Lib/config.cpp,
53758 source/Lib/config.h, source/encoder/macroblock.cpp:
53759 Merged multicoreware/xhevc into default
53760 [4c19cddce21b]
53761
53762 2013-04-17 Deepthi Devaki <Deepthi Devaki>
53763
53764 * source/encoder/macroblock.cpp:
53765 Backed out changeset: 0826f419aa6d
53766 [e93b9f1e9f10]
53767
53768 2013-04-16 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53769
53770 * Merged multicoreware/xhevc into default
53771 [66c24df49d97]
53772
53773 2013-04-15 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53774
53775 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53776 source/encoder/macroblock.cpp:
53777 Merged multicoreware/xhevc into default
53778 [f05a5d3879f0]
53779
53780 2013-04-15 Deepthi Devaki <Deepthi Devaki>
53781
53782 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
53783 Backed out changeset: 0826f419aa6d
53784 [7f8daed75336]
53785
53786 2013-04-12 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53787
53788 * source/encoder/macroblock.cpp:
53789 Merged multicoreware/xhevc into default
53790 [755bda7f920c]
53791
53792 2013-04-12 Rajesh <Rajesh>
53793
53794 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53795 source/encoder/macroblock.cpp:
53796 Added filter c primitive to macroblock.cpp. Changed
53797 TComInterpolationfilter.cpp to call filter primitives
53798 [0826f419aa6d]
53799
53800 2013-03-26 deepthidevaki <deepthidevaki>
53801
53802 * source/encoder/TComRdCost_SSE.cpp:
53803 Modified xCalcHADs4x4 for better optimization
53804 [6b9e69b013e8]
53805
53806 2013-04-17 Deepthi <Deepthi>
53807
53808 * source/Lib/TLibCommon/TComTrQuant.cpp:
53809 MingW support for alignment.
53810 [91412bd3a9a8]
53811
53812 2013-04-17 praveentiwari <praveentiwari>
53813
53814 * source/encoder/vec/macroblock.inc:
53815 partialButterfly16 vectorized code
53816 [e590f654128d]
53817
53818 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
53819
53820 * source/encoder/vec/macroblock.inc:
53821 Merged multicoreware/xhevc into default
53822 [f98bb4be9285]
53823
53824 2013-04-17 praveentiwari <praveentiwari>
53825
53826 * source/encoder/vec/macroblock.inc:
53827 solving merge conflict
53828 [745408cf439a]
53829
53830 * source/encoder/vec/macroblock.inc:
53831 merge conflict
53832 [0273e986d1ca]
53833
53834 * source/encoder/vec/macroblock.inc:
53835 solving merge conflict
53836 [ee1fec0bfdc3]
53837
53838 * source/encoder/vec/macroblock.inc:
53839 solving merge conflict
53840 [9ac0ab2c4469]
53841
53842 * source/encoder/vec/macroblock.inc:
53843 Replaced Vec16s and Vec8i usage with Vec8s and Vec4i for Vec-
53844 partialButterfly16
53845 [70f2f5526c71]
53846
53847 2013-04-17 Deepthi <Deepthi>
53848
53849 * source/Lib/TLibCommon/TComTrQuant.cpp,
53850 source/encoder/vec/macroblock.inc:
53851 Enforcing memory alignment in inversedst.
53852 [e7784727f33b]
53853
53854 * source/test/mbdstharness.cpp:
53855 Aligned mem in mbdst test harness
53856 [4580bf5d1062]
53857
53858 * source/encoder/vec/macroblock.inc:
53859 Removing extraneous min,max - performance improvements by 20%
53860 [882c40e8df1a]
53861
53862 * source/encoder/vec/macroblock.inc:
53863 Merge
53864 [7c3b537734e1]
53865
53866 2013-04-17 praveentiwari <praveentiwari>
53867
53868 * source/test/butterflyharness.cpp, source/test/butterflyharness.h:
53869 removed butterflyharness files
53870 [c0a349fc04e6]
53871
53872 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
53873
53874 * Merged multicoreware/xhevc into default
53875 [12c9c9bceb8c]
53876
53877 2013-04-17 praveentiwari <praveentiwari>
53878
53879 * source/test/CMakeLists.txt, source/test/mbdstharness.cpp,
53880 source/test/mbdstharness.h, source/test/testbench.cpp:
53881 Moved the butterfly-harness into mbdst-harness
53882 [d2e5c53f22d2]
53883
53884 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
53885
53886 * build/RegressionTester.bat, source/Lib/config.cpp,
53887 source/Lib/config.h, source/encoder/macroblock.cpp,
53888 source/test/CMakeLists.txt:
53889 Merged multicoreware/xhevc into default
53890 [170e9ffd084e]
53891
53892 2013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
53893
53894 * source/encoder/macroblock.cpp:
53895 Merged multicoreware/xhevc into default
53896 [a266c75a843d]
53897
53898 2013-04-16 praveentiwari <praveentiwari>
53899
53900 * source/test/CMakeLists.txt:
53901 Included butterflyharness.h and .cpp file in make file
53902 [d24a9c1f7f3e]
53903
53904 * source/test/butterflyharness.cpp:
53905 Increased the buffer size and used more meaningful name in Test Code
53906 of partialButterfly16
53907 [3b621b943630]
53908
53909 2013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
53910
53911 * Merged multicoreware/xhevc into default
53912 [2df037f5f4a2]
53913
53914 2013-04-16 praveentiwari <praveentiwari>
53915
53916 * source/Lib/TLibCommon/TComTrQuant.cpp,
53917 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53918 Added vectorized code for partialButterfly16 and removed unused
53919 function code
53920 [8effa08eff14]
53921
53922 * source/test/butterflyharness.cpp, source/test/butterflyharness.h,
53923 source/test/testbench.cpp:
53924 Test Suit for partialButterfly16
53925 [641d56d61ba2]
53926
53927 2013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
53928
53929 * source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
53930 Merged multicoreware/xhevc into default
53931 [e75d8a96b2b8]
53932
53933 2013-04-16 praveentiwari <praveentiwari>
53934
53935 * source/test/testbench.cpp:
53936 TestBench MergeConflict
53937 [5be23aedc1d5]
53938
53939 * source/test/testbench.cpp:
53940 Merge conflict
53941 [c5d7681b866f]
53942
53943 * source/test/testbench.cpp:
53944 Solving merge conflict with TestBench.cpp
53945 [42821ff0e1d5]
53946
53947 * source/test/testbench.cpp:
53948 Solving merge conflict with Testbench.cpp
53949 [fd6fae9fb6fa]
53950
53951 2013-04-15 praveentiwari <praveentiwari>
53952
53953 * source/Lib/TLibCommon/TComTrQuant.cpp,
53954 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
53955 Added Primitives for partialButterfly32
53956 [9c97c040fc19]
53957
53958 2013-04-15 praveen Tiwari <praveen@multicorewareinc.com>
53959
53960 * source/test/testbench.cpp:
53961 Merged multicoreware/xhevc into default
53962 [237ff80c3bd1]
53963
53964 2013-04-15 praveentiwari <praveentiwari>
53965
53966 * source/Lib/TLibCommon/TComTrQuant.cpp, source/encoder/butterfly.h,
53967 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53968 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
53969 Fixed alignment problem with partialButterfly16
53970 [1239bf84868c]
53971
53972 * source/Lib/TLibCommon/TComTrQuant.cpp:
53973 Fixed alignment problem with ENABLE_PRIMITIVES switch for
53974 partialButterfly16
53975 [48d8838f4298]
53976
53977 * source/Lib/TLibCommon/TComTrQuant.cpp,
53978 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53979 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
53980 Added ENABLE_PRIMITIVES switch for partialButterfly16
53981 [9b87cb3d8c84]
53982
53983 2013-04-15 praveen Tiwari <praveen@multicorewareinc.com>
53984
53985 * Merged multicoreware/xhevc into default
53986 [35e483e872ff]
53987
53988 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
53989 source/encoder/vec/macroblock.inc:
53990 Merged multicoreware/xhevc into default
53991 [af2db6bbb5a7]
53992
53993 2013-04-12 praveen Tiwari <praveen@multicorewareinc.com>
53994
53995 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
53996 source/encoder/vec/macroblock.inc:
53997 Merged multicoreware/xhevc into default
53998 [7413fc103a3e]
53999
54000 * source/encoder/macroblock.cpp:
54001 Merged multicoreware/xhevc into default
54002 [70abf8d31e02]
54003
54004 2013-04-11 praveen Tiwari <praveen@multicorewareinc.com>
54005
54006 * Merged multicoreware/xhevc into default
54007 [4d7790972b0e]
54008
54009 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
54010 source/encoder/vec/macroblock.inc:
54011 Merged multicoreware/xhevc into default
54012 [71ca57e3681f]
54013
54014 2013-04-10 praveen Tiwari <praveen@multicorewareinc.com>
54015
54016 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
54017 source/encoder/vec/macroblock.inc:
54018 Merged multicoreware/xhevc into default
54019 [9687e766009f]
54020
54021 2013-04-10 praveentiwari <praveentiwari>
54022
54023 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
54024 source/encoder/vec/macroblock.inc:
54025 resolving merge conflict
54026 [00c935e908ce]
54027
54028 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
54029 source/encoder/vec/macroblock.inc:
54030 Added C and Vector primitives for partialButterfly16
54031 [93846235af07]
54032
54033 * source/encoder/butterfly.h:
54034 Created butterfly.h to read the value from the g_aiT array
54035 [6d234bd90345]
54036
54037 2013-04-17 Deepthi <Deepthi>
54038
54039 * test_new.rtf:
54040 Delete test commit
54041 [1ad18182408d]
54042
54043 * test_new.rtf:
54044 Test commit
54045 [59aec92c8f61]
54046
54047 2013-04-16 Steve Borho <steve@borho.org>
54048
54049 * source/encoder/x86/CMakeLists.txt:
54050 cmake: figure out a workaround for YASM builds of assembly files
54051 with MSVC
54052 [28408d0ef0f7]
54053
54054 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
54055 source/encoder/vec/CMakeLists.txt,
54056 source/encoder/x86/CMakeLists.txt:
54057 cmake: allow YASM to be used by MSVC, even though its currently
54058 broken
54059
54060 Rename primitive projects so they sort together in VC
54061 [ffe6cf7be445]
54062
54063 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
54064 source/Lib/config.cpp, source/Lib/config.h, source/Lib/encoder.h,
54065 source/input/CMakeLists.txt, source/input/input.cpp,
54066 source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
54067 source/input/yuv.cpp, source/input/yuv.h, source/x265cfg.cpp,
54068 source/x265cfg.h:
54069 establish a new input file library, move CLI and command parsing to
54070 x265-cli
54071 [8163e7e7b324]
54072
54073 * source/test/CMakeLists.txt:
54074 cmake: disable the pool test by default, even when tests are enabled
54075
54076 Now that its functional, not many people will want to build/run it
54077 [5d16e9d82d62]
54078
54079 * source/test/timer.cpp:
54080 timer: replace NULL with 0
54081 [a182530927da]
54082
54083 * source/test/pixelharness.cpp:
54084 pixelharness: fix MinGW build
54085 [4c2412305e62]
54086
54087 * source/test/timer.cpp:
54088 timer: use native Windows high resolution timer
54089 [4f65489aaaf1]
54090
54091 * source/test/filterharness.cpp, source/test/filterharness.h,
54092 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
54093 source/test/pixelharness.cpp, source/test/pixelharness.h,
54094 source/test/testharness.h:
54095 dos to unix eoln for test harnesses
54096 [26baba09de44]
54097
54098 * source/test/testpool.cpp:
54099 trim trailing white-space
54100 [4f1719887601]
54101
54102 * source/test/testpool.cpp:
54103 testpool: verify below row is restartable
54104
54105 output is now deterministic regardless of thread count
54106 [19ba1f4edaf2]
54107
54108 * source/encoder/macroblock.cpp:
54109 Partial Backout changeset: 81101974408f
54110 [d03b4fa32d79]
54111
54112 * build/BuildEncoderApplications.bat:
54113 white-space cleanup in BuildEncoderApplications.bat
54114 [71a75afbb8e8]
54115
54116 * build/RegressionTester.bat:
54117 Merge
54118 [ce10cac4ce71]
54119
54120 * source/test/pixelharness.cpp:
54121 testbench: add a POSIX friendly aligned malloc, pad to 32 bytes
54122 [9e1a1faad621]
54123
54124 2013-04-16 Deepthi <Deepthi>
54125
54126 * source/encoder/macroblock.cpp:
54127 Changing 32-bit multiplies to 16-bit multiplies for filter. (This
54128 may need more testing).
54129 [81101974408f]
54130
54131 * source/test/pixelharness.cpp:
54132 Aligned mallocs and frees in pixel buffers
54133 [defda4cf08c2]
54134
54135 2013-04-16 nandaku2 <deepthi@multicorewareinc.com>
54136
54137 * build/RegressionTester.bat:
54138 Merged in ggopu/gopu_xhevc (pull request #66)
54139
54140 Redesigned the Regression test script - the script will be
54141 compatible for vc 9, vc 10 and vc 11
54142 [3b066f46831d]
54143
54144 2013-04-15 ggopu <ggopu>
54145
54146 * build/BuildEncoderApplications.bat,
54147 build/CreateRegressionPackage.bat, build/RegressionTester.bat,
54148 build/config.txt:
54149 Redesigned the Regression test script - the script will be
54150 compatible for vc 9, vc 10 and vc 11
54151 [0d9f10323b82]
54152
54153 2013-04-16 sumalatha <sumalatha>
54154
54155 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp:
54156 Fixed issue in handling y4m files Issue: The reconstructed file(yuv)
54157 were all zeros Fix: In y4m handler, bitDepthShiftY, bitDepthShiftC
54158 were not updated properly in the open(), so changed the code to
54159 update it properly.
54160 [c422cc514b80]
54161
54162 2013-04-15 Steve Borho <steve@borho.org>
54163
54164 * source/test/testbench.cpp:
54165 testbench: add the ability to easily bypass some tests
54166 [bd316d5a9edc]
54167
54168 * source/test/filterharness.cpp, source/test/testbench.cpp:
54169 testbench: GCC compilation fixes
54170 [d5e4ce5c651d]
54171
54172 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
54173 source/test/filterharness.h, source/test/mbdstharness.cpp,
54174 source/test/mbdstharness.h, source/test/pixelharness.cpp,
54175 source/test/pixelharness.h, source/test/testbench.cpp,
54176 source/test/testharness.h, source/test/timer.cpp:
54177 testbench: split into classes that know how to test each primitive
54178 type
54179 [d72521706de8]
54180
54181 * source/test/testbench.cpp:
54182 testbench: remove unused defines
54183 [0eb7444ebf8a]
54184
54185 * source/test/testbench.cpp:
54186 testbench: don't forget to test the detected CPUID
54187 [878233d4bcc9]
54188
54189 * source/test/testbench.cpp:
54190 less cargo-cult programming please
54191
54192 checkasm used BENCH_ALIGNS to over-allocate the buffers then fix the
54193 alignment We're just over-allocating buffers
54194 [de3741f6a1af]
54195
54196 * source/test/testbench.cpp:
54197 testbench: tune iterations to primitive type so test finishes in 60
54198 seconds
54199 [5206b476c65e]
54200
54201 * source/test/testbench.cpp:
54202 testbench: fix bugs exposed by GCC warnings
54203
54204 t_size was being used as a global by two different primitives, and
54205 then defined locally by one of them.
54206 [06cbe8719bfa]
54207
54208 * source/encoder/vec/pixel.inc:
54209 pixel: use aligned loads for 8 and 16 wide SAD 14% improvement
54210
54211 Using this optimization before the other loop optimizations hid the
54212 benefits of reducing the pipeline stalls. 350->300ms for 16x16
54213 testbench (many) iterations
54214 [7f9b889ce129]
54215
54216 * source/test/testbench.cpp:
54217 testbench: check primitive accuracy on all SIMD architectures
54218
54219 Measure performance only once, with the most optimized primitives
54220 available
54221 [9b4729fe6825]
54222
54223 * source/encoder/vec/pixel.inc:
54224 pixel: optimize 4 pixel wide SAD
54225
54226 Now 4x faster than the C version. We accumulate 8 values then
54227 discard half at the end.
54228 [4d0aa20b3fb8]
54229
54230 * source/encoder/vec/pixel.inc:
54231 pixel: further optimize multiples of 16 wide SAD
54232 [b3b7dc98a6ba]
54233
54234 * source/test/testbench.cpp:
54235 testbench: use a pseudo-random seed
54236 [f323471e8eaf]
54237
54238 * source/encoder/vec/pixel.inc:
54239 pixel: use lower case var named
54240 [4161c1c2d852]
54241
54242 * source/encoder/vec/pixel.inc:
54243 pixel: collect SAD sums in vectors, do horizontal_add_x only at end
54244
54245 The gives at least a 2X speedup. Many SAD functions are now 10x
54246 faster than the C primitives.
54247 [98af7878ab54]
54248
54249 * source/VectorClass/vectori128.h, source/encoder/vec/macroblock.inc:
54250 inversedst: use blend8s to generate outputs 30% faster
54251 [b1c604dac752]
54252
54253 * source/encoder/vec/sse2.cpp, source/encoder/vec/sse3.cpp,
54254 source/encoder/vec/ssse3.cpp:
54255 vectorized: correct the INSTRSET values for SSE2, SSE3, and SSSE3
54256 [a4d6b0f5c3c6]
54257
54258 2013-04-15 Mandar Gurav <mandar@multicorewareinc.com>
54259
54260 * Merged multicoreware/xhevc into default
54261 [9a0056333a34]
54262
54263 2013-04-15 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
54264
54265 * source/test/testbench.cpp:
54266 Used more meaningful variable names
54267 [bc80f481a448]
54268
54269 * source/test/testbench.cpp:
54270 Implemented init/clean function for filter testbench.
54271 [cce1fa50f3ff]
54272
54273 * source/test/testbench.cpp:
54274 Print a more meaningful message - replace %d value with a meaningful
54275 string showing the filter configuration.
54276 [96d57ac3598b]
54277
54278 2013-04-15 Deepthi <Deepthi>
54279
54280 * source/encoder/vec/pixel.inc:
54281 Reverting aligned loads in pixel.inc - caused crash. This needs more
54282 research
54283 [b5f1f4eef5ae]
54284
54285 2013-04-14 Steve Borho <steve@borho.org>
54286
54287 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
54288 cleanup TComInterpolationFilter.cpp
54289 [a230019cf137]
54290
54291 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/vec/pixel.inc:
54292 change order of arguments to SATD primitives to match x264 assembly
54293
54294 x264 assembly code wants fenc, fencstride, fref, frefstride. fenc is
54295 assumed to be aligned by the block size.
54296 [ce3635066069]
54297
54298 * source/encoder/vec/pixel.inc, source/test/testbench.cpp:
54299 pixel: use aligned loads for piOrg (encoded block), enable sad_4
54300
54301 vectorized sad_4 is now just a little bit faster than the C version.
54302 [c8333b3c1536]
54303
54304 * source/Lib/TLibCommon/TComRdCost.cpp:
54305 change order of arguments to SAD primitives to match x264 assembly
54306
54307 x264 assembly code wants fenc, fencstride, fref, frefstride. fenc is
54308 assumed to be aligned by the block size.
54309 [03dbce445e13]
54310
54311 * source/Lib/config.cpp:
54312 unfortunately the FrameN options are currently necessary
54313 [db32d5905f73]
54314
54315 * source/Lib/config.cpp:
54316 nuke the --FrameN command line options
54317
54318 These make the command line help really annoying
54319 [6ac0c6263ad4]
54320
54321 * source/encoder/vec/pixel.inc:
54322 pixel: add sad_4, but do not use it for now
54323
54324 When memory alignment is considered, it may be faster than the C
54325 primitive
54326 [c8a89155a025]
54327
54328 * source/encoder/vec/pixel.inc:
54329 pixel: add 16-wide vector SAD, instantiate all but 4x
54330 implementations
54331 [781034812b77]
54332
54333 * source/encoder/pixel.cpp:
54334 pixel: add C SAD partitions sized 64
54335 [18d7c9ec18c8]
54336
54337 2013-04-13 Steve Borho <steve@borho.org>
54338
54339 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
54340 source/encoder/macroblock.cpp, source/encoder/primitives.h,
54341 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
54342 backout bitdepth argument changes, the HM does not operate this way
54343 yet
54344
54345 The HM allows you to encode 8 bit pixels with HIGH_BIT_DEPTH
54346 enabled, so we cannot assume the bit depth is 10 just because
54347 HIGH_BIT_DEPTH is enabled.
54348
54349 However, the test bench should always test 10 bit pixels in that
54350 config.
54351 [9d49396e32b0]
54352
54353 2013-04-13 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
54354
54355 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
54356 source/encoder/macroblock.cpp, source/encoder/macroblock.h,
54357 source/encoder/primitives.h, source/encoder/vec/macroblock.inc,
54358 source/test/testbench.cpp, source/test/unittest.h:
54359 Updated the source as per the comments from Steve.
54360 * Unit test for filter improved.
54361 * bitDepth taken as a MACRO
54362 * Moved #define to respective cpp files
54363 * Remove unnecessary lines
54364 * Names added to copyright headers
54365 [c83ff08514ca]
54366
54367 2013-04-13 Mandar Gurav <mandar@multicorewareinc.com>
54368
54369 * Merged multicoreware/xhevc into default
54370 [fe804dbed45e]
54371
54372 2013-04-12 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
54373
54374 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
54375 source/encoder/macroblock.h, source/encoder/vec/macroblock.inc,
54376 source/test/testbench.cpp, source/test/unittest.h:
54377 vectorization of filter<8,0,...> stage 1 Added testbench support
54378 [cdb296338769]
54379
54380 2013-04-13 Deepthi <Deepthi>
54381
54382 * source/encoder/macroblock.cpp:
54383 Removing implicit-type conversion warnings.
54384 [848bb2845b01]
54385
54386 2013-04-12 Steve Borho <steve@borho.org>
54387
54388 * source/encoder/macroblock.cpp:
54389 macroblock: remove pixel typecasts, since block is now a Short*
54390 [9eb88e4e0d10]
54391
54392 2013-04-13 ShinYee Chung <shinyee@multicorewareinc.com>
54393
54394 * source/encoder/threadpool.cpp:
54395 threadpool: Fix incorrect memory deallocation.
54396
54397 The in-place buffer is an array.
54398 [5aaee38ecab2]
54399
54400 * source/encoder/threadpool.cpp:
54401 threadpool: Fix incorrect use of &= operator.
54402 [fe63fd1ba96a]
54403
54404 2013-04-12 Steve Borho <steve@borho.org>
54405
54406 * source/Lib/TLibCommon/TComRdCost.cpp:
54407 Merge
54408 [98452862003d]
54409
54410 * source/encoder/threadpool.cpp:
54411 threadpool: fix VC9 compile
54412 [9fce3c13f7f8]
54413
54414 2013-04-12 Deepthi <Deepthi>
54415
54416 * source/Lib/TLibCommon/TComRdCost.cpp:
54417 Replacing primitive call in xHADs8 and xHADs
54418 [36d7b00b1262]
54419
54420 * source/Lib/TLibCommon/TComRdCost.cpp:
54421 Replacing primitive call in xHads4
54422 [cd58cb707516]
54423
54424 * source/Lib/TLibCommon/TComRdCost.cpp:
54425 Fixing final scaling in sad primitives; disabling satd primitives.
54426 [a14a67418620]
54427
54428 2013-04-12 Steve Borho <steve@borho.org>
54429
54430 * source/Lib/TLibCommon/TComTrQuant.cpp:
54431 tabs to spaces
54432 [6b21dab6629d]
54433
54434 2013-04-12 Deepthi <Deepthi>
54435
54436 * Merge
54437 [9193471ef54e]
54438
54439 * source/Lib/TLibCommon/TComTrQuant.cpp:
54440 Replacing original inversedst with primitives
54441 [67404b0825e3]
54442
54443 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
54444 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
54445 Changing inversedst primitives parameters from pixel to short
54446 [beb412d2232f]
54447
54448 2013-04-11 Steve Borho <steve@borho.org>
54449
54450 * source/test/testpool.cpp:
54451 testpool: use fflush() on stdout
54452 [f3ba46f293db]
54453
54454 * source/encoder/threadpool.cpp:
54455 threadpool: wait for threads to quiesce before shutting them down
54456 [10746baf67fd]
54457
54458 * source/test/testpool.cpp:
54459 testpool: ensure MD5Frame is freed before pool
54460 [4749a6ab37f9]
54461
54462 * source/encoder/threading.cpp, source/encoder/threading.h:
54463 threading: build fixes for linux, more error checking
54464 [985af075a732]
54465
54466 * source/test/testpool.cpp:
54467 testpool: add indication of thread pool size
54468 [c20e695593ed]
54469
54470 * source/encoder/threading.h, source/encoder/threadpool.cpp,
54471 source/test/testpool.cpp:
54472 threadpool: use counting semaphore on POSIX, single wake event, lock
54473 for eol
54474
54475 To avoid race hazards at the end of each row, a row deciding to quit
54476 because it is block needs to block out the row above it that might
54477 be trying to exit. The is only ever between two threads, so
54478 hopefully it is low-contention.
54479
54480 This patch also goes back to a blocking wait when idle, to save
54481 power.
54482
54483 Note: the test does not currently pass. there is still a data hazard
54484 to be addressed.
54485 [87d026d4cced]
54486
54487 2013-04-11 Deepthi <Deepthi>
54488
54489 * source/test/testbench.cpp:
54490 Increase iteration count for better measurements
54491 [27c82c220aa9]
54492
54493 2013-04-11 ShinYee Chung <shinyee@multicorewareinc.com>
54494
54495 * source/encoder/macroblock.cpp:
54496 macroblock: Fix the path in an #include.
54497
54498 Use / instead of \ to remain portable to Windows and Linux.
54499 [e47f5284eed3]
54500
54501 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp:
54502 y4m: Fix missing math header include for function ceil().
54503
54504 We probably also need to add linking to the math library.
54505 [9092312686da]
54506
54507 2013-04-11 nandaku2 <deepthi@multicorewareinc.com>
54508
54509 * Merged in ggopu/gopu_x265 (pull request #57)
54510
54511 Fixed the issue for inversedst and malloc issue
54512 [4e62c71ed307]
54513
54514 2013-04-11 ggopu <ggopu>
54515
54516 * source/test/testbench.cpp:
54517 Fixed the issue for inversedst and malloc issue
54518 [510d32f9a7ec]
54519
54520 2013-04-11 sumalatha <sumalatha>
54521
54522 * source/Lib/encoder.cpp:
54523 The code was crashing when the reconstructed filename is not given
54524 in the cfg file. Fixed it in this version. The fix was like in the
54525 xCreateLib(), the reconstructed file is opened based on the flag
54526 "m_pchReconFile"(this flag is set when the recon filename is given
54527 in cfg), but in xDestroyLib(), the recon file is closed always, so
54528 have included the check like close the file only when the
54529 m_pchReconFile is set.
54530 [a21280198bad]
54531
54532 2013-04-11 Deepthi <Deepthi>
54533
54534 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
54535 source/encoder/macroblock.cpp, source/encoder/primitives.h,
54536 source/encoder/vec/macroblock.inc:
54537 Filter coefficients should always be const short* (irrespective of
54538 bitdepth)
54539 [4c4119d136fa]
54540
54541 * source/test/testbench.cpp:
54542 Comments for direction
54543 [e1e522b2a01e]
54544
54545 2013-04-10 nandaku2 <deepthi@multicorewareinc.com>
54546
54547 * Merged in sumalatha/xhevc_sumalatha (pull request #54)
54548
54549 support for y4m files(skipping the frame headers at each frame)
54550 [a4ea6dec3a3a]
54551
54552 2013-04-10 sumalatha <sumalatha>
54553
54554 * source/Lib/TLibVideoIO/TVideoIO.h,
54555 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
54556 source/Lib/TLibVideoIO/TVideoIOY4m.h,
54557 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
54558 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/Lib/config.cpp,
54559 source/Lib/config.h, source/Lib/encoder.cpp, source/Lib/encoder.h:
54560 added support for y4m files (like skipping the plain-text frame
54561 headers present in each frame)
54562 [5acc3f79f938]
54563
54564 2013-04-10 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54565
54566 * source/Lib/TLibCommon/TComRdCost.cpp,
54567 source/encoder/vec/macroblock.inc:
54568 Merged multicoreware/xhevc into default
54569 [72bd9b78bfef]
54570
54571 * source/encoder/vec/macroblock.inc:
54572 Merged multicoreware/xhevc into default
54573 [1b339b28b04a]
54574
54575 2013-04-09 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54576
54577 * Merged multicoreware/xhevc into default
54578 [c682e0de3aa0]
54579
54580 2013-04-08 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54581
54582 * source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
54583 source/encoder/vec/vecprimitives.inc:
54584 Merged multicoreware/xhevc into default
54585 [d0031331b9c7]
54586
54587 2013-04-08 sumalatha <sumalatha>
54588
54589 * source/encoder/TComRdCost_SSE.cpp:
54590 Deleted this file to remove merge conflict
54591 [697eee51787c]
54592
54593 2013-04-05 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54594
54595 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/vec/pixel.inc:
54596 Merged multicoreware/xhevc into default
54597 [321cb189ce36]
54598
54599 2013-04-04 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54600
54601 * source/encoder/vec/pixel.inc, source/test/TestBench.cpp,
54602 source/test/UnitTest.cpp, source/test/UnitTest.h:
54603 Merged multicoreware/xhevc into default
54604 [6993599a77b4]
54605
54606 * source/Lib/TLibCommon/TComRdCost.cpp,
54607 source/VectorClass/dispatch_example.cpp,
54608 source/encoder/TComRdCost_SSE.cpp,
54609 source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
54610 source/encoder/vec/vecprimitives.inc:
54611 Merged multicoreware/xhevc into default
54612 [b9716716f21a]
54613
54614 2013-04-04 sumalatha <sumalatha>
54615
54616 * source/Lib/TLibCommon/TComRdCost.cpp,
54617 source/encoder/TComRdCost_SSE.cpp,
54618 source/encoder/vec/vecprimitives.inc:
54619 Backed out changeset: 914f5238a7df
54620 [9646554f4779]
54621
54622 * source/encoder/TComRdCost_SSE.cpp:
54623 Backed out changeset: 850f67a0d4be
54624 [933d82869b8c]
54625
54626 * source/Lib/TLibCommon/TComRdCost.cpp:
54627 Backed out changeset: 11f514fc3415
54628 [44be5efc13ac]
54629
54630 2013-04-03 Steve Borho <steve@borho.org>
54631
54632 * source/Lib/TLibCommon/TComRdCost.cpp:
54633 made changes to remove merge conflicts
54634 [11f514fc3415]
54635
54636 * source/encoder/TComRdCost_SSE.cpp:
54637 made changes to remove the merge conflict
54638 [850f67a0d4be]
54639
54640 * source/Lib/TLibCommon/TComRdCost.cpp,
54641 source/encoder/TComRdCost_SSE.cpp,
54642 source/encoder/vec/vecprimitives.inc:
54643 moved the "xCalcHADs8x8()" from TComRdCost_SSE.cpp to
54644 vecprimitives.in
54645 [914f5238a7df]
54646
54647 2013-04-10 nandaku2 <deepthi@multicorewareinc.com>
54648
54649 * Merged in ggopu/gopu_x265 (pull request #55)
54650
54651 Created the New script for Regression testing
54652 [f7c677c40e17]
54653
54654 2013-04-10 ggopu <ggopu>
54655
54656 * build/RegressionTester.bat, build/config.txt:
54657 Created the New script for Regression testing
54658 [b5f0f40fb40e]
54659
54660 2013-04-10 Deepthi <Deepthi>
54661
54662 * source/test/testbench.cpp:
54663 Cleanup
54664 [f3273ba48335]
54665
54666 * source/test/testbench.cpp:
54667 Cleanup of cycle count measurement
54668 [0018c423de94]
54669
54670 * source/test/testbench.cpp:
54671 Disable cycle count. Separate mbdst testing into init_buffer,
54672 checkprimitive and clearbuffer.
54673 [6d16557c9e11]
54674
54675 * source/test/testbench.cpp:
54676 Buffer handling separated. pixelcmp buffers stay global for now.
54677 [454fe1e43fb6]
54678
54679 * source/test/testbench.cpp:
54680 More global vars removed
54681 [b05c7182c446]
54682
54683 * source/test/testbench.cpp:
54684 Removing unnecessary global variables
54685 [a76a6109a7ff]
54686
54687 * source/test/testbench.cpp:
54688 Replace delete with free.
54689 [08757a371067]
54690
54691 2013-04-10 Deepthi Devaki <Deepthi Devaki>
54692
54693 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
54694 source/encoder/macroblock.cpp, source/encoder/primitives.h,
54695 source/encoder/vec/macroblock.inc:
54696 Used array of function pointers for filter primitives. Added C
54697 primitives for filter_nonvertical.
54698 [66f39285c340]
54699
54700 2013-04-10 praveen Tiwari <praveen@multicorewareinc.com>
54701
54702 * Merged multicoreware/xhevc into default
54703 [9e59fba57f1b]
54704
54705 2013-04-10 praveentiwari <praveentiwari>
54706
54707 * source/encoder/macroblock.cpp:
54708 Fixed fastInverseDst function in encoder primitive file by adding
54709 the missing line
54710 [2bb7cf3d86c1]
54711
54712 * source/Lib/TLibCommon/TComTrQuant.cpp:
54713 Added missing line in fastInverseDst function
54714 [5008d1bf6cd2]
54715
54716 * source/Lib/TLibCommon/TComTrQuant.cpp:
54717 Removed last calculation in fastInverseDst function
54718 [f959a6b66cba]
54719
54720 2013-04-10 Steve Borho <steve@borho.org>
54721
54722 * source/test/testbench.cpp:
54723 testbench: give an indication of pixel size in test bench
54724 [306defc44548]
54725
54726 * source/Lib/TLibCommon/TComRdCost.cpp:
54727 TComRdCost: fix handling of iSubShift
54728
54729 When iSubShift was 1, the strides were already being doubled. We
54730 just needed to halve the rows and run the matching primitive. Also,
54731 the subpel functions were checking for iStep == 0, but xCalcHADs8x8
54732 was asserting the value to be 1. So it was never calling our satd
54733 performance primitives.
54734 [a95d907ee411]
54735
54736 2013-04-09 Deepthi <Deepthi>
54737
54738 * source/test/testbench.cpp:
54739 Fix memory leak in testbench
54740 [1dcb29da96d6]
54741
54742 2013-04-09 Steve Borho <steve@borho.org>
54743
54744 * source/test/testbench.cpp:
54745 testbench: fix warnings and errors when compiled with GCC
54746 [17d58d88ae09]
54747
54748 * source/Lib/TLibCommon/CommonDef.h,
54749 source/VectorClass/instrset_detect.cpp:
54750 more Linux Intel compiler fixes
54751 [25f7ecb0aaee]
54752
54753 * source/Lib/TLibCommon/CommonDef.h:
54754 Prevent multiple NVM_COMPILEDBY definitions
54755 [a344a1fabb0c]
54756
54757 * source/CMakeLists.txt:
54758 cmake: use CXX env var, which is not a full path
54759 [7c1b5e9245c2]
54760
54761 * source/CMakeLists.txt:
54762 cmake: treat Intel C++ compiler on Linux as gcc
54763 [aceaa0fb013d]
54764
54765 * source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
54766 nit cleanups
54767 [bfcb3bfff0f0]
54768
54769 2013-04-09 Deepthi <Deepthi>
54770
54771 * source/test/testbench.cpp:
54772 Adding to-do list
54773 [0cc3ada11beb]
54774
54775 * source/test/testbench.cpp:
54776 Removing redundant function
54777 [261e9c67faa6]
54778
54779 * source/test/testbench.cpp:
54780 Clearer error message
54781 [cc9e92334c63]
54782
54783 * source/test/testbench.cpp:
54784 Renaming check_*_primitive functions.
54785 [b3b4c099ab8c]
54786
54787 2013-04-09 ggopu <ggopu>
54788
54789 * source/test/testbench.cpp:
54790 Added IntraDct check
54791 [23a010c31203]
54792
54793 2013-04-09 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
54794
54795 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
54796 source/encoder/macroblock.cpp, source/encoder/primitives.h,
54797 source/encoder/vec/macroblock.inc:
54798 Modified Filter<8.0,..> functions as per the comments
54799 [d0f96efda047]
54800
54801 2013-04-08 Steve Borho <steve@borho.org>
54802
54803 * source/test/testbench.cpp:
54804 testbench: call Setup_Assembly_Primitives() to setup assembly
54805 primitives
54806 [a1e16c2c4e39]
54807
54808 * source/test/testbench.cpp:
54809 testbench: fix a compiler warning, add notice of which primitives
54810 are testing
54811 [3b0549756509]
54812
54813 * source/test/testbench.cpp:
54814 testbench: use single pixelcmp test function, tighten up output
54815 logging
54816 [52836d9667ac]
54817
54818 * source/cmake/FindHg.cmake:
54819 cmake: backout FindHg.cmake, it only causes further problems
54820 [725f3a534139]
54821
54822 * source/cmake/FindHg.cmake, source/cmake/version.cmake:
54823 cmake: add FindHg.cmake to our repo, only very recent cmake versions
54824 have it
54825
54826 and fix case-sensitivity issue
54827 [9bbaca4f9d79]
54828
54829 2013-04-08 ggopu <ggopu>
54830
54831 * source/test/testbench.cpp:
54832 Included comment to specify the source of code snippet
54833 [3191e8a2d66e]
54834
54835 * source/test/testbench.cpp:
54836 Implemented the Cycle testing
54837 [37ad4814764e]
54838
54839 2013-04-07 Steve Borho <steve@borho.org>
54840
54841 * source/CMakeLists.txt:
54842 cmake: disable ASM compilation for non-GCC compilers until a
54843 workaround is found
54844 [399977f3a6ec]
54845
54846 * source/cmake/CMakeASM_YASMInformation.cmake:
54847 cmake: use ASM_DIALECT consistently in
54848 CMakeASM_YASMInformation.cmake
54849 [584c490b9274]
54850
54851 * build/nmake/make-solutions.bat:
54852 cmake: add a VC11 nmake batch file, to test ASM builds
54853 [df3e9810d7a2]
54854
54855 * source/test/testbench.cpp:
54856 testbench: fix a couple of bugs
54857 [202fe2157dd3]
54858
54859 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
54860 cmake: rename primitive variables so they are listed together in
54861 cmake-gui
54862 [0c0b08a9373f]
54863
54864 * source/cmake/version.cmake:
54865 cmake: add version detection support for hg archives
54866 [aa2c04b65976]
54867
54868 * source/CMakeLists.txt, source/cmake/version.cmake:
54869 cmake: move version detection into cmake/version.cmake
54870 [00d01d23e853]
54871
54872 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
54873 source/encoder/primitives.h, source/encoder/vec/CMakeLists.txt,
54874 source/encoder/vec/vec-primitives.cpp,
54875 source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
54876 primitives.cpp, source/test/testbench.cpp:
54877 Move primitive setup functions closer to their implementations
54878 [c8563d2c4612]
54879
54880 * source/cmake/CMakeASM_YASMInformation.cmake,
54881 source/cmake/CMakeDetermineASM_YASMCompiler.cmake,
54882 source/cmake/CMakeTestASM_YASMCompiler.cmake:
54883 cmake: add yasm compilation ability
54884 [e4b548bbe391]
54885
54886 * source/CMakeLists.txt, source/cmake/FindYasm.cmake:
54887 cmake: introduce a cmake/ folder, add a package to find a yasm
54888 assembler
54889 [6f2940ddc545]
54890
54891 * source/encoder/x86/util.h:
54892 remove x264's utils.h, it has inline assembly we cannot use
54893
54894 And the functions implemented are not obviously applicable to HEVC
54895 [cd85d3840279]
54896
54897 2013-04-06 Steve Borho <steve@borho.org>
54898
54899 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
54900 source/encoder/primitives.cpp, source/encoder/x86/CMakeLists.txt,
54901 source/encoder/x86/pixel-32.asm, source/encoder/x86/pixel-a.asm,
54902 source/encoder/x86/pixel.h, source/encoder/x86/util.h,
54903 source/encoder/x86/x86inc.asm, source/encoder/x86/x86util.asm,
54904 source/test/CMakeLists.txt, source/test/testbench.cpp,
54905 source/test/unittest.cpp:
54906 cmake: begin to add plumbing for assembly language primitives
54907
54908 This changeset makes the vectorized primitives a build option,
54909 seperate from the C primitives and ASM primitives.
54910 [0704a16139c0]
54911
54912 * source/CMakeLists.txt:
54913 cmake: improve version detection logic from revision control
54914 [e59bb7a0d173]
54915
54916 * source/CMakeLists.txt:
54917 cmake: multithreaded make does not appear to work; gmake users
54918 should use -j4
54919 [33b9731a501c]
54920
54921 2013-04-05 Steve Borho <steve@borho.org>
54922
54923 * source/encoder/CMakeLists.txt, source/encoder/TComRdCost_SSE.cpp:
54924 remove TComRdCost_SSE.cpp
54925 [ca197e22abff]
54926
54927 * source/encoder/CMakeLists.txt:
54928 cmake: show the GPL license file in Visual Studio in the x265
54929 project
54930 [365967021bb4]
54931
54932 * source/test/unittest.cpp:
54933 unittest: fix pixel variable shadowing type name from primitives.h
54934
54935 Only broke the GCC build
54936 [5191e30d92cc]
54937
54938 * source/CMakeLists.txt, source/compat/msvc/getopt.c,
54939 source/compat/msvc/getopt.h:
54940 add GNU getopt library from glibc for argument parsing
54941
54942 Will replace all of TAppCommon and allow us to use getopt() style
54943 argument parsing on all platforms.
54944 [06c29bb43ee0]
54945
54946 * source/CMakeLists.txt, source/x265main.cpp:
54947 cmake: compile a version number from Mercurial into x265-cli.exe
54948
54949 The version number is only updated when cmake is run, so if you care
54950 about the version number you should trigger a cmake update by
54951 touching a cmake file (or building from a clean repository)
54952 [c1924f5ca686]
54953
54954 * source/encoder/macroblock.cpp:
54955 comment cleanups in macroblock.cpp
54956 [65329bd984d3]
54957
54958 * source/encoder/vec/pixel.inc:
54959 pixel: add 16x16 and 32x32 vectorized SAD functions
54960 [f153e4a050c6]
54961
54962 2013-04-05 Deepthi Devaki <Deepthi Devaki>
54963
54964 * Merge
54965 [ffb382a731cb]
54966
54967 * source/encoder/vec/pixel.inc:
54968 Uncrustified pixel.inc after changing sa8d_8x8
54969 [961f8617fa0a]
54970
54971 * source/encoder/vec/pixel.inc:
54972 Backed out changeset: dc9cf177f0d9
54973 [7fdb843fbcc9]
54974
54975 * source/encoder/vec/pixel.inc:
54976 Uncrustified pixel.inc after changing sa8d_8x8
54977 [dc9cf177f0d9]
54978
54979 2013-04-05 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54980
54981 * Merged multicoreware/xhevc into default
54982 [6de9d7e911b6]
54983
54984 2013-04-05 Deepthi Devaki <Deepthi Devaki>
54985
54986 * source/encoder/vec/pixel.inc:
54987 Fixed overflow issue when 10 bit pixels are used in vec-sa8d_8x8
54988 [ad257e35e970]
54989
54990 * source/encoder/vec/pixel.inc:
54991 Backed out changeset: b39276d2ef19
54992 [e19c604a0505]
54993
54994 * source/encoder/vec/pixel.inc:
54995 Added cases for high bit depth = 1 and 0 in vec-sa8d_8x8 in
54996 pixel.inc
54997 [b39276d2ef19]
54998
54999 2013-04-05 Deepthi <Deepthi>
55000
55001 * source/encoder/primitives.cpp:
55002 Disabling 64-size primitives temporarily.
55003 [9aaf8e56f457]
55004
55005 * source/encoder/primitives.cpp:
55006 Fixing the partition array for 64.
55007 [05df015ff6f4]
55008
55009 * source/encoder/primitives.cpp:
55010 Rollback: to 8x8 matrix
55011 [1b099c5ad876]
55012
55013 * source/encoder/primitives.cpp:
55014 Rollback: 64 expands the array heavily.
55015 [fdad810f7948]
55016
55017 * source/encoder/primitives.cpp:
55018 Width and height permitted to be > 32
55019 [9d01406efb58]
55020
55021 * Merge
55022 [315488d4f4b7]
55023
55024 * source/encoder/primitives.cpp:
55025 Expanding the psize static array to 64.
55026 [0108af4ff636]
55027
55028 * source/encoder/primitives.h:
55029 Expanding Partitions enum
55030 [49f2265daf5a]
55031
55032 * Merge
55033 [7281801c55a0]
55034
55035 * source/Lib/TLibCommon/TComPrediction.cpp:
55036 Temporary array to match Pel
55037 [7d1889dce383]
55038
55039 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
55040 Fix Error - matching function declaration and definition
55041 [bf5df7838588]
55042
55043 2013-04-05 Steve Borho <steve@borho.org>
55044
55045 * source/encoder/macroblock.cpp:
55046 fix implicit integer type conversions in macroblock.cpp
55047 [0d3b1caacadf]
55048
55049 * source/x265main.cpp:
55050 fix build error in x265main.cpp
55051 [76e4a2d6a8ba]
55052
55053 2013-04-04 Steve Borho <steve@borho.org>
55054
55055 * source/encoder/primitives.cpp, source/x265main.cpp:
55056 rewrite main(), add code that describes detected CPU type and other
55057 info
55058 [5c55457268e2]
55059
55060 2013-04-05 praveentiwari <praveentiwari>
55061
55062 * source/Lib/TLibCommon/TComTrQuant.cpp,
55063 source/Lib/TLibCommon/TComTrQuant.h,
55064 source/Lib/TLibCommon/TypeDef.h, source/encoder/macroblock.cpp,
55065 source/encoder/primitives.cpp, source/encoder/primitives.h,
55066 source/encoder/vec/macroblock.inc:
55067 Cleaned up the files checked in for modified encoder performance
55068 primitive for fastinversedst.
55069 [ba79f2fbc467]
55070
55071 * source/encoder/TComTrQuant_SSE.cpp:
55072 Removed as it is no longer needed.
55073 [7ca0466b0cd6]
55074
55075 2013-04-04 praveen Tiwari <praveen@multicorewareinc.com>
55076
55077 * Merged multicoreware/xhevc into default
55078 [6a6d1c7492dc]
55079
55080 * Merged multicoreware/xhevc into default
55081 [9ebdc2159a69]
55082
55083 * source/encoder/primitives.h, source/encoder/vec/pixel.inc:
55084 Merged multicoreware/xhevc into default
55085 [f582f89a4cad]
55086
55087 2013-04-04 praveentiwari <praveentiwari>
55088
55089 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
55090 source/encoder/vec/macroblock.inc:
55091 Modified encoder performance primitive for fastinversedst
55092 [044cf66c07ba]
55093
55094 2013-04-04 praveen Tiwari <praveen@multicorewareinc.com>
55095
55096 * Merged multicoreware/xhevc into default
55097 [067fdd3b2787]
55098
55099 * source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
55100 source/encoder/vec/vecprimitives.inc, source/test/TestBench.cpp,
55101 source/test/UnitTest.cpp, source/test/UnitTest.h:
55102 Merged multicoreware/xhevc into default
55103 [b6dcf4d300cd]
55104
55105 2013-04-04 praveentiwari <praveentiwari>
55106
55107 * source/encoder/vec/pixel.inc:
55108 resolving merge conflict with pixel.inc
55109 [0b5baa981f79]
55110
55111 * source/Lib/TLibCommon/TypeDef.h, source/encoder/vec/macroblock.inc,
55112 source/encoder/vec/pixel.inc:
55113 resolving merge conflicts with pixel.inc and macroblock.inc
55114 [205ece1b25c4]
55115
55116 * source/encoder/vec/vecprimitives.inc:
55117 second attempt to resolve merge conflict
55118 [6107601bfd02]
55119
55120 * source/encoder/vec/vecprimitives.inc:
55121 solving merge conflict with vecprimitives.inc
55122 [3706ae74ae2f]
55123
55124 * source/encoder/macroblock.cpp, source/encoder/primitives.cpp,
55125 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
55126 Encoder Performance Primitive fastInverseDst
55127 [ad754aa34a5b]
55128
55129 * source/encoder/primitives.h:
55130 Added a cdecl funcdef to primitives.h and function pointer to
55131 EncoderPrimitives structure
55132 [79f25cc12b0f]
55133
55134 2013-04-03 praveen Tiwari <praveen@multicorewareinc.com>
55135
55136 * source/Lib/TLibCommon/TComTrQuant.cpp,
55137 source/Lib/TLibCommon/TComTrQuant.h,
55138 source/VectorClass/dispatch_example.cpp,
55139 source/encoder/CMakeLists.txt:
55140 Merged multicoreware/xhevc into default
55141 [19bbb70cf090]
55142
55143 2013-04-04 praveentiwari <praveentiwari>
55144
55145 * source/Lib/TLibCommon/TComTrQuant.cpp:
55146 Solving merge conflict with TComTrQuant.cpp file
55147 [30e4df5a4552]
55148
55149 2013-04-03 praveen Tiwari <praveen@multicorewareinc.com>
55150
55151 * source/encoder/CMakeLists.txt:
55152 Merged multicoreware/xhevc into default
55153 [6e07d4ecd02e]
55154
55155 2013-04-03 praveentiwari <praveentiwari>
55156
55157 * source/encoder/CMakeLists.txt:
55158 Second attempt to solve merge conflict
55159 [305d19e49341]
55160
55161 * source/encoder/CMakeLists.txt:
55162 solving merge conflict with CMakeLists.txt
55163 [d69a08ec93b4]
55164
55165 * cfg/per-sequence/BasketballPass.cfg:
55166 Backed out changeset: 1801be94c033
55167 [52da05be5212]
55168
55169 * source/encoder/CMakeLists.txt:
55170 Merge Conflict
55171 [aa4d052d016c]
55172
55173 * cfg/per-sequence/BasketballPass.cfg:
55174 Merge Conflict
55175 [1801be94c033]
55176
55177 2013-04-02 praveentiwari <praveentiwari>
55178
55179 * source/Lib/TLibCommon/TComTrQuant.h, source/encoder/CMakeLists.txt:
55180 fastInverseDst with declarartion in TComTrQuant.h file
55181 [686753ae63ac]
55182
55183 * source/encoder/CMakeLists.txt:
55184 Solving merge conflict with CMakeLists.txt
55185 [d5d198a662ee]
55186
55187 2013-04-01 praveen Tiwari <praveen@multicorewareinc.com>
55188
55189 * source/encoder/CMakeLists.txt:
55190 Merged multicoreware/xhevc into default
55191 [779f1786e667]
55192
55193 2013-03-31 praveen Tiwari <praveen@multicorewareinc.com>
55194
55195 * source/encoder/CMakeLists.txt, source/x265cfg.cpp, source/x265cfg.h,
55196 source/x265top.cpp, source/x265top.h:
55197 Merged multicoreware/xhevc into default
55198 [28876bb73087]
55199
55200 2013-03-28 praveen Tiwari <praveen@multicorewareinc.com>
55201
55202 * source/encoder/CMakeLists.txt:
55203 Merged multicoreware/xhevc into default
55204 [7a2643c01212]
55205
55206 2013-03-28 praveentiwari <praveentiwari>
55207
55208 * source/encoder/CMakeLists.txt:
55209 Trying to resolve conflict during merge
55210 [55b8785b08bb]
55211
55212 2013-03-27 praveentiwari <praveentiwari>
55213
55214 * source/Lib/TLibCommon/TComTrQuant.cpp,
55215 source/Lib/TLibCommon/TComTrQuant.h,
55216 source/encoder/TComTrQuant_SSE.cpp:
55217 Vectorized fastInverseDst with added fastInverse decleration and
55218 ENABLE_VECTOR macro
55219 [8d5b58c7cf54]
55220
55221 * source/Lib/TLibCommon/TComTrQuant.cpp,
55222 source/encoder/TComTrQuant_SSE.cpp:
55223 Backed out changeset: 587fa81d140b
55224 [b84bc6b7ba79]
55225
55226 * source/Lib/TLibCommon/TComTrQuant.cpp,
55227 source/encoder/TComTrQuant_SSE.cpp:
55228 Replaced Clip3 and Inhanced techniqueVectorized
55229 TComTrQuant::fastInverseDst with added ENABLE_VECTOR macro
55230 [587fa81d140b]
55231
55232 2013-03-27 praveen Tiwari <praveen@multicorewareinc.com>
55233
55234 * Merged multicoreware/xhevc into default
55235 [531e2bde522d]
55236
55237 2013-03-26 praveentiwari <praveentiwari>
55238
55239 * source/encoder/TComTrQuant_SSE.cpp:
55240 Replaced Clip3 and Inhanced technique to load data in vectorization
55241 of TComTrQuant::fastInverseDst
55242 [b3b9435fdb6c]
55243
55244 2013-03-26 praveen Tiwari <praveen@multicorewareinc.com>
55245
55246 * source/encoder/CMakeLists.txt:
55247 Merged multicoreware/xhevc into default
55248 [225bfae48ee2]
55249
55250 2013-03-25 praveentiwari <praveentiwari>
55251
55252 * source/encoder/TComTrQuant_SSE.cpp:
55253 Vectorized code for TComTrQuant::fastInverseDst
55254 [14dab7ea86d5]
55255
55256 * source/encoder/CMakeLists.txt:
55257 Modified CMakeLists.txt for TComTrQuant_SSE.cpp
55258 [3a4b0271c907]
55259
55260 * source/Lib/TLibCommon/TComTrQuant.cpp,
55261 source/encoder/CMakeLists.txt:
55262 Backed out changeset: aa84b30cd9ae
55263 [297daf59f4e7]
55264
55265 * source/Lib/TLibCommon/TComTrQuant.cpp,
55266 source/encoder/CMakeLists.txt:
55267 Modified CMakeLists.txt for TComTrQuant.cpp
55268 [aa84b30cd9ae]
55269
55270 * source/Lib/TLibCommon/TComTrQuant.cpp:
55271 First attempt to vectorize
55272 [efdab4e67252]
55273
55274 2013-04-04 Steve Borho <steve@borho.org>
55275
55276 * source/test/testbench.cpp:
55277 testbench: add remaining pixel functions
55278 [a7b9fc5161dc]
55279
55280 * source/test/testbench.cpp:
55281 testbench: use a for() loop, rename numofprim to curpar
55282 [084eea175be7]
55283
55284 * source/test/testbench.cpp:
55285 testbench: combine loops
55286 [f139817f864a]
55287
55288 * source/test/testbench.cpp, source/test/unittest.cpp,
55289 source/test/unittest.h:
55290 testbench: remove redundant partition enum, clean unittest.h
55291
55292 Headers should #include only the minimal number of headers required
55293 to ensure their own data types are defined. They should also not use
55294 "using namespace", only CPP files should use those statements.
55295 [16de12763457]
55296
55297 * source/test/testbench.cpp:
55298 testbench: more flexible argument parsing
55299 [11cd8cf25ae1]
55300
55301 * source/test/testbench.cpp:
55302 testbench: remove unused do_bench
55303 [7b6028c5e509]
55304
55305 * source/test/testbench.cpp:
55306 testbench: allow cpuid to be user-provided
55307 [2df55ead8fe4]
55308
55309 * source/test/testbench.cpp:
55310 pass primitive function tables to validate to the check* functions
55311 [6473652ab8da]
55312
55313 * source/test/testbench.cpp:
55314 testbench: fix typos in comments, remove unused global var
55315 [380aa78e70ae]
55316
55317 * source/Lib/TLibCommon/TComRdCost.cpp:
55318 xCalcHADs8x8 should call sa8d_8x8, remove satd calls from similar
55319 functions
55320
55321 xCalcHADs16x4() and xCalcHADs4x16() would both need sa8d primitives
55322 [1a2ac116b26c]
55323
55324 * source/encoder/pixel.cpp, source/encoder/primitives.h,
55325 source/encoder/vec/pixel.inc:
55326 primitives: add sa8d_8x8 and sa8d_16x16 primitives
55327
55328 I copied C references for those functions from x264, and renamed
55329 satd_8x8 in pixel.inc to sa8d_8x8 since that is what it implements.
55330 [6b67af80a1f4]
55331
55332 2013-04-04 ggopu <ggopu>
55333
55334 * source/test/testbench.cpp, source/test/unittest.cpp,
55335 source/test/unittest.h:
55336 Added header and removed unwanted variable and comments
55337 [76e096fbd6bf]
55338
55339 * doc/UnitTestUsage.txt, source/test/testbench.cpp:
55340 Added Test bench usage Doc and Included the Single primitive check
55341 and Fixed all the Warning in test bench
55342 [cfa472c6afd5]
55343
55344 2013-04-04 Gopu G <gopu@multicorewareinc.com>
55345
55346 * source/test/CMakeLists.txt:
55347 Merged multicoreware/xhevc into default
55348 [a373f73d422a]
55349
55350 2013-04-04 ggopu <ggopu>
55351
55352 * source/test/CMakeLists.txt:
55353 solved conflict issue
55354 [df3b82e6640f]
55355
55356 * source/test/CMakeLists.txt:
55357 Disabled warnings for testbench
55358 [b7adfdf47dbe]
55359
55360 * doc/UnitTestUsage.txt:
55361 Added Doc for UnitTest Usage
55362 [f9a1d53c7703]
55363
55364 * source/test/testbench.cpp:
55365 Added Single primitive check
55366 [765992ddceb1]
55367
55368 2013-04-04 Steve Borho <steve@borho.org>
55369
55370 * source/encoder/vec/pixel.inc:
55371 uncrustify: fix eoln damage in pixel.inc
55372 [a6a4ecc9d93c]
55373
55374 2013-04-04 Deepthi <Deepthi>
55375
55376 * Merge
55377 [e07bb748be27]
55378
55379 * source/encoder/vec/pixel.inc:
55380 Removing shadows/redeclarations
55381 [ff75a4f2a134]
55382
55383 2013-04-04 Steve Borho <steve@borho.org>
55384
55385 * source/test/CMakeLists.txt:
55386 cmake: rename thread pool test to PoolTest
55387 [b79778a2a241]
55388
55389 * source/test/CMakeLists.txt:
55390 cmake: fix case of test bench filenames
55391 [8801f4346870]
55392
55393 2013-04-04 nandaku2 <deepthi@multicorewareinc.com>
55394
55395 * source/test/unittest.CPP:
55396 Merged in ggopu/gopu_x265 (pull request #33)
55397
55398 file name extension issue fixed
55399 [4449194c1d02]
55400
55401 2013-04-04 ggopu <ggopu>
55402
55403 * source/test/unittest.CPP, source/test/unittest.cpp:
55404 File name Extension issue fixed
55405 [350b345eff63]
55406
55407 2013-04-04 nandaku2 <deepthi@multicorewareinc.com>
55408
55409 * Merged in deepthidevaki/xhevc_deepthid (pull request #32)
55410
55411 Added vectorized satd_8x8 to pixel.inc
55412 [7e51f92d13e8]
55413
55414 2013-04-04 Deepthi Devaki <Deepthi Devaki>
55415
55416 * source/encoder/vec/pixel.inc:
55417 Added vectorized satd_8x8 to pixel.inc
55418 [349f2249ec7d]
55419
55420 2013-04-04 nandaku2 <deepthi@multicorewareinc.com>
55421
55422 * source/test/TestBench.cpp, source/test/UnitTest.cpp,
55423 source/test/UnitTest.h:
55424 Merged in ggopu/gopu_x265 (pull request #31)
55425
55426 changed the file name conversion and added comparision for c and
55427 vector primitives
55428 [4abb704ac3ba]
55429
55430 2013-04-04 ggopu <ggopu>
55431
55432 * source/test/TestBench.cpp, source/test/UnitTest.cpp,
55433 source/test/UnitTest.h, source/test/testbench.cpp,
55434 source/test/unittest.CPP, source/test/unittest.h:
55435 Changed file name conversion and included the c and vector primitive
55436 comparision check
55437 [3101b15fba69]
55438
55439 2013-04-03 Gopu G <gopu@multicorewareinc.com>
55440
55441 * source/VectorClass/dispatch_example.cpp, source/test/TestBench.cpp:
55442 Merged multicoreware/xhevc into default
55443 [809027331954]
55444
55445 2013-04-03 ggopu <ggopu>
55446
55447 * source/test/TestBench.cpp:
55448 conflict error
55449 [3adf277f27b9]
55450
55451 * source/test/TestBench.cpp:
55452 resolved conflict error
55453 [8089151317d8]
55454
55455 * source/test/TestBench.cpp:
55456 solved conflict error
55457 [8bd75c20c1be]
55458
55459 * source/test/TestBench.cpp:
55460 resolved conflict error
55461 [3e19d1cb4d37]
55462
55463 2013-04-03 Gopu G <gopu@multicorewareinc.com>
55464
55465 * Merged multicoreware/xhevc into default
55466 [50f85e140aac]
55467
55468 2013-04-02 Gopu G <gopu@multicorewareinc.com>
55469
55470 * Merged multicoreware/xhevc into default
55471 [181970e99874]
55472
55473 2013-04-02 ggopu <ggopu>
55474
55475 * source/test/TestBench.cpp:
55476 Enhanced test bench for satd*x*
55477 [8659ad7e9457]
55478
55479 2013-04-01 Gopu G <gopu@multicorewareinc.com>
55480
55481 * source/test/TestBench.cpp, source/x265cfg.cpp, source/x265cfg.h,
55482 source/x265top.cpp, source/x265top.h:
55483 Merged multicoreware/xhevc into default
55484 [7900bd4aedb5]
55485
55486 2013-04-01 ggopu <ggopu>
55487
55488 * source/test/TestBench.cpp:
55489 Resolved the Conflict Error
55490 [7d97e00d4fdf]
55491
55492 * source/test/TestBench.cpp:
55493 Resolved conflict
55494 [f085c786246b]
55495
55496 2013-03-28 ggopu <ggopu>
55497
55498 * source/test/TestBench.cpp:
55499 included test functions like pixelcmp
55500 [585c75f7107a]
55501
55502 2013-04-04 Steve Borho <steve@borho.org>
55503
55504 * source/encoder/vec/CMakeLists.txt,
55505 source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
55506 source/encoder/vec/vecprimitives.inc:
55507 break vecprimitives.inc into multiple headers
55508 [462b9403a0bf]
55509
55510 2013-04-03 Steve Borho <steve@borho.org>
55511
55512 * source/encoder/macroblock.cpp, source/encoder/primitives.cpp,
55513 source/encoder/primitives.h:
55514 make an empty shell for macroblock.cpp
55515 [732999829240]
55516
55517 * source/Lib/TLibCommon/TComPicYuv.cpp,
55518 source/Lib/TLibCommon/TComSlice.cpp,
55519 source/Lib/TLibEncoder/TEncPreanalyzer.cpp:
55520 uncrustify: fixup some code where uncrustify thought it saw
55521 templates
55522
55523 x<foo>> 1 was converted to x<foo> > 1 instead of x < (foo>>1). I
55524 added parens to avoid this abiguity.
55525 [7595da33f0f2]
55526
55527 * source/encoder/macroblock.cpp:
55528 change macroblock.cpp to unix eoln
55529 [70861c21adc1]
55530
55531 * source/encoder/primitives.cpp, source/encoder/primitives.h:
55532 Merge
55533 [e94d0b91c049]
55534
55535 2013-04-04 Deepthi <Deepthi>
55536
55537 * source/encoder/CMakeLists.txt:
55538 cmake: add macroblock.cpp
55539 [39e35d878b64]
55540
55541 * source/encoder/macroblock.cpp:
55542 Adding new file macroblock.cpp
55543 [6618a2d9f5fe]
55544
55545 * source/encoder/primitives.cpp, source/encoder/primitives.h:
55546 Move Setup_C_PixelPrimitives decl to header file
55547 [689fa6d23f01]
55548
55549 2013-04-03 Steve Borho <steve@borho.org>
55550
55551 * source/Lib/TLibCommon/TComDataCU.h,
55552 source/Lib/TLibEncoder/TEncRateCtrl.h:
55553 uncrustify: final run, fixups my hand edits
55554 [d77975bfe8ec]
55555
55556 * source/Lib/TAppCommon/program_options_lite.h,
55557 source/Lib/TLibCommon/ContextModel.cpp,
55558 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
55559 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/TComDataCU.h,
55560 source/Lib/TLibCommon/TComPicSym.h,
55561 source/Lib/TLibCommon/TComPicYuv.h,
55562 source/Lib/TLibCommon/TComRdCost.cpp,
55563 source/Lib/TLibCommon/TComRdCost.h,
55564 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
55565 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
55566 source/Lib/TLibEncoder/TEncEntropy.h,
55567 source/Lib/TLibEncoder/TEncGOP.cpp,
55568 source/Lib/TLibEncoder/TEncRateCtrl.h,
55569 source/Lib/TLibEncoder/TEncSbac.h,
55570 source/Lib/TLibEncoder/TEncSearch.cpp, source/Lib/config.cpp,
55571 source/Lib/encoder.cpp, source/Lib/libmd5/libmd5.c:
55572 uncrustify: apply globally again
55573
55574 After the first pass, some of the distance thresholds are now
55575 exceeded, requiring #endif comments or better wrapping. I've hand
55576 edited a few spots to make them easier to read
55577 [186aa91fb1c3]
55578
55579 * doc/uncrustify/apply-to-all-source.py:
55580 uncrustify: do not apply style to VectorClass headers
55581
55582 They are difficult functions to align mechanically, just leave them
55583 be
55584 [21185b179d11]
55585
55586 * source/Lib/TAppCommon/program_options_lite.cpp,
55587 source/Lib/TAppCommon/program_options_lite.h,
55588 source/Lib/TLibCommon/AccessUnit.h,
55589 source/Lib/TLibCommon/CommonDef.h,
55590 source/Lib/TLibCommon/ContextModel.cpp,
55591 source/Lib/TLibCommon/ContextModel.h,
55592 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
55593 source/Lib/TLibCommon/ContextModel3DBuffer.h,
55594 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
55595 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
55596 source/Lib/TLibCommon/TComBitCounter.h,
55597 source/Lib/TLibCommon/TComBitStream.cpp,
55598 source/Lib/TLibCommon/TComBitStream.h,
55599 source/Lib/TLibCommon/TComCABACTables.cpp,
55600 source/Lib/TLibCommon/TComCABACTables.h,
55601 source/Lib/TLibCommon/TComDataCU.cpp,
55602 source/Lib/TLibCommon/TComDataCU.h,
55603 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
55604 source/Lib/TLibCommon/TComInterpolationFilter.h,
55605 source/Lib/TLibCommon/TComList.h,
55606 source/Lib/TLibCommon/TComLoopFilter.cpp,
55607 source/Lib/TLibCommon/TComLoopFilter.h,
55608 source/Lib/TLibCommon/TComMotionInfo.cpp,
55609 source/Lib/TLibCommon/TComMotionInfo.h,
55610 source/Lib/TLibCommon/TComMv.h,
55611 source/Lib/TLibCommon/TComPattern.cpp,
55612 source/Lib/TLibCommon/TComPattern.h,
55613 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
55614 source/Lib/TLibCommon/TComPicSym.cpp,
55615 source/Lib/TLibCommon/TComPicSym.h,
55616 source/Lib/TLibCommon/TComPicYuv.cpp,
55617 source/Lib/TLibCommon/TComPicYuv.h,
55618 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
55619 source/Lib/TLibCommon/TComPrediction.cpp,
55620 source/Lib/TLibCommon/TComPrediction.h,
55621 source/Lib/TLibCommon/TComRdCost.cpp,
55622 source/Lib/TLibCommon/TComRdCost.h,
55623 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
55624 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
55625 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
55626 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
55627 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
55628 source/Lib/TLibCommon/TComSlice.cpp,
55629 source/Lib/TLibCommon/TComSlice.h,
55630 source/Lib/TLibCommon/TComTrQuant.cpp,
55631 source/Lib/TLibCommon/TComTrQuant.h,
55632 source/Lib/TLibCommon/TComWeightPrediction.cpp,
55633 source/Lib/TLibCommon/TComWeightPrediction.h,
55634 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
55635 source/Lib/TLibCommon/TypeDef.h,
55636 source/Lib/TLibEncoder/AnnexBwrite.h,
55637 source/Lib/TLibEncoder/NALwrite.cpp,
55638 source/Lib/TLibEncoder/NALwrite.h,
55639 source/Lib/TLibEncoder/SEIwrite.cpp,
55640 source/Lib/TLibEncoder/SEIwrite.h,
55641 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
55642 source/Lib/TLibEncoder/SyntaxElementWriter.h,
55643 source/Lib/TLibEncoder/TEncAnalyze.cpp,
55644 source/Lib/TLibEncoder/TEncAnalyze.h,
55645 source/Lib/TLibEncoder/TEncBinCoder.h,
55646 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
55647 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
55648 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
55649 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
55650 source/Lib/TLibEncoder/TEncCavlc.cpp,
55651 source/Lib/TLibEncoder/TEncCavlc.h,
55652 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
55653 source/Lib/TLibEncoder/TEncCu.h,
55654 source/Lib/TLibEncoder/TEncEntropy.cpp,
55655 source/Lib/TLibEncoder/TEncEntropy.h,
55656 source/Lib/TLibEncoder/TEncGOP.cpp,
55657 source/Lib/TLibEncoder/TEncGOP.h,
55658 source/Lib/TLibEncoder/TEncPic.cpp,
55659 source/Lib/TLibEncoder/TEncPic.h,
55660 source/Lib/TLibEncoder/TEncPreanalyzer.cpp,
55661 source/Lib/TLibEncoder/TEncPreanalyzer.h,
55662 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
55663 source/Lib/TLibEncoder/TEncRateCtrl.h,
55664 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
55665 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
55666 source/Lib/TLibEncoder/TEncSbac.cpp,
55667 source/Lib/TLibEncoder/TEncSbac.h,
55668 source/Lib/TLibEncoder/TEncSearch.cpp,
55669 source/Lib/TLibEncoder/TEncSearch.h,
55670 source/Lib/TLibEncoder/TEncSlice.cpp,
55671 source/Lib/TLibEncoder/TEncSlice.h,
55672 source/Lib/TLibEncoder/TEncTop.cpp,
55673 source/Lib/TLibEncoder/TEncTop.h,
55674 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
55675 source/Lib/TLibEncoder/WeightPredAnalysis.h,
55676 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
55677 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/Lib/config.cpp,
55678 source/Lib/config.h, source/Lib/encoder.cpp, source/Lib/encoder.h,
55679 source/Lib/libmd5/MD5.h, source/Lib/libmd5/libmd5.c,
55680 source/Lib/libmd5/libmd5.h, source/PPA/ppa.cpp, source/PPA/ppa.h,
55681 source/PPA/ppaApi.h, source/VectorClass/instrset.h,
55682 source/VectorClass/instrset_detect.cpp,
55683 source/encoder/TComRdCost_SSE.cpp, source/encoder/pixel.cpp,
55684 source/encoder/primitives.cpp, source/encoder/primitives.h,
55685 source/encoder/threading.cpp, source/encoder/threading.h,
55686 source/encoder/threadpool.cpp, source/encoder/threadpool.h,
55687 source/encoder/vec/vecprimitives.inc, source/test/TestBench.cpp,
55688 source/test/UnitTest.cpp, source/test/UnitTest.h,
55689 source/test/testpool.cpp:
55690 uncrustify: apply globally
55691 [a2054f7e2644]
55692
55693 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
55694 uncrustify.bat:
55695 uncrustify: add a drag/drop batch file for uncrustify, and apply-to-
55696 all.py
55697 [a737735e60a6]
55698
55699 * source/VectorClass/dispatch_example.cpp:
55700 remove VectorClass/dispatch_example.cpp
55701 [98b7425b8b1d]
55702
55703 * source/encoder/threading.cpp:
55704 threading: do not call pthread_exit after joining a thread
55705 [8333f6a4b74e]
55706
55707 * source/encoder/pixel.cpp, source/encoder/primitives.cpp:
55708 primitives: allow for the fact that multiple C++ files will define C
55709 primitives
55710 [98bb68d4f9aa]
55711
55712 * source/VectorClass/instrset_detect.cpp:
55713 instrset: prevent compiler warnings about nop function
55714 [4f459b703920]
55715
55716 * source/encoder/pixel.cpp:
55717 pixel: 4x16 and 16x4 were backwards
55718 [212467c42aba]
55719
55720 * source/VectorClass/instrset_detect.cpp:
55721 instrset: improve compiler fallbacks for xgetbv
55722 [8d1a5839809a]
55723
55724 * source/encoder/TComRdCost_SSE.cpp:
55725 remove cruft from TComRdCost_SSE.cpp
55726 [9ac68e0fc2ee]
55727
55728 * source/encoder/vec/vecprimitives.inc:
55729 astyle: cleanup vecprimitives.inc
55730 [3ecb9180930e]
55731
55732 * Merged in deepthidevaki/xhevc_deepthid (pull request #30)
55733
55734 Added satd4x4 in vecprimitives.inv
55735 [d17d19c2f9d6]
55736
55737 2013-04-03 Deepthi Devaki <Deepthi Devaki>
55738
55739 * source/encoder/vec/vecprimitives.inc:
55740 Added vectorized hads4x4(satd_4x4) to vecprimitive.inc
55741 [ba8f928d91d6]
55742
55743 2013-04-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
55744
55745 * Merged multicoreware/xhevc into default
55746 [e9cffb400da1]
55747
55748 * source/encoder/TComRdCost_SSE.cpp:
55749 Merged multicoreware/xhevc into default
55750 [b553eaec9dd7]
55751
55752 2013-04-03 Deepthi Devaki <Deepthi Devaki>
55753
55754 * source/encoder/TComRdCost_SSE.cpp:
55755 Vectorized xCalcHADS8x8 with 16 bit operations
55756 [552a75a69cb0]
55757
55758 * source/encoder/TComRdCost_SSE.cpp:
55759 Backed out changeset: e4616400a510
55760 [88a6837e15b5]
55761
55762 * source/encoder/TComRdCost_SSE.cpp:
55763 Backed out changeset: e500456e0146
55764 [e1ada400cd62]
55765
55766 2013-04-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
55767
55768 * Merged multicoreware/xhevc into default
55769 [9054e642786b]
55770
55771 2013-04-02 Deepthi Devaki <Deepthi Devaki>
55772
55773 * source/encoder/TComRdCost_SSE.cpp:
55774 Modifed xCalcHADS8x8 with 16bit operations.
55775 [e500456e0146]
55776
55777 * source/encoder/TComRdCost_SSE.cpp:
55778 Modified xCalcHADS8x8 with 16bit operations.
55779 [e4616400a510]
55780
55781 2013-04-03 Steve Borho <steve@borho.org>
55782
55783 * source/encoder/threadpool.cpp:
55784 threadpool: use InterlockedCompareExchange64
55785 [74715f9955e9]
55786
55787 * source/encoder/primitives.cpp, source/encoder/primitives.h:
55788 rename cpuIDDetect to CpuIDDetect, to follow convention of
55789 primitives.cpp
55790 [3b9f17747601]
55791
55792 * source/encoder/primitives.cpp, source/encoder/primitives.h,
55793 source/encoder/vec/CMakeLists.txt:
55794 cmake: gcc 4.6 supports AVX, but not yet AVX2
55795 [5d84ec0af006]
55796
55797 2013-04-03 Deepthi <Deepthi>
55798
55799 * source/encoder/primitives.cpp, source/encoder/primitives.h:
55800 Moving function declarations to the header file.
55801 [329deaeea8e7]
55802
55803 2013-04-03 Steve Borho <steve@borho.org>
55804
55805 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
55806 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
55807 Merge
55808 [3732add09cc2]
55809
55810 2013-04-03 Deepthi <Deepthi>
55811
55812 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
55813 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
55814 Changing Primitives Setup for C and vector code.
55815 [c5b472d23023]
55816
55817 2013-04-02 Deepthi <Deepthi>
55818
55819 * source/encoder/primitives.cpp:
55820 Bug Fix for crashes in PartitionFromSizes
55821 [c9dd52c5c274]
55822
55823 2013-03-30 Steve Borho <steve@borho.org>
55824
55825 * source/Lib/TLibCommon/TComRdCost.cpp,
55826 source/Lib/TLibCommon/TypeDef.h, source/encoder/TComRdCost_SSE.cpp:
55827 Replace #define ENABLE_VECTOR with ENABLE_PRIMITIVES cmake option
55828
55829 Use x265 performance primitives. We need to profile which of the 12,
55830 24, 48, and 64 partition sizes are worth adding as primitives.
55831
55832 Ditto for the SSE (sum of square differences) functions.
55833 [30ece3e5796f]
55834
55835 2013-04-02 Steve Borho <steve@borho.org>
55836
55837 * doc/uncrustify/codingstyle.cfg:
55838 uncrustify: tweak enum and struct bracing and comment margins
55839 [2ce1d641581a]
55840
55841 * doc/uncrustify/codingstyle.cfg, source/PPA/ppaApi.h,
55842 source/encoder/pixel.cpp, source/encoder/primitives.cpp,
55843 source/encoder/primitives.h, source/encoder/threading.cpp,
55844 source/encoder/threading.h, source/encoder/threadpool.cpp,
55845 source/encoder/threadpool.h, source/encoder/vec/vecprimitives.inc:
55846 Prepare to use uncrustify on our encoder sources
55847 [ae8c19ec7690]
55848
55849 * doc/uncrustify/codingstyle.cfg, doc/uncrustify/uncrustify.bat,
55850 doc/uncrustify/uncrustify.exe:
55851 add uncrustify and a base config
55852 [0b9a400d0a1a]
55853
55854 * source/encoder/threadpool.cpp:
55855 threadpool: remove semicolon from macro definition
55856 [a6a8378d4f32]
55857
55858 * source/encoder/primitives.cpp:
55859 primitives: replace asserts with if() checks
55860 [f833a10d6b5c]
55861
55862 * source/test/testpool.cpp:
55863 testpool: add another assertion
55864 [3b903329179e]
55865
55866 * source/encoder/threadpool.cpp:
55867 threadpool: correct the order of the arguments to
55868 InterlockedCompareExchange()
55869
55870 Amusingly, it mostly worked the wrong way, except it never cleared
55871 any bits, so the worker threads kept working on rows until the frame
55872 dequeued itself.
55873 [c3dad08b999b]
55874
55875 * source/test/testpool.cpp:
55876 testpool: stop processing CUs on the last column
55877 [e26d67716fd9]
55878
55879 * source/encoder/threadpool.cpp:
55880 threadpool: use the correct MSVC instrinsic for integer CAS
55881 [821adc18540a]
55882
55883 * source/encoder/threadpool.cpp:
55884 threadpool: use atomic compare and swap when consuming rows
55885
55886 The GCC __sync_and_and_fetch() instrinsic was returning the new
55887 value, which is entirely useless. The thread could not tell if it
55888 was the one which cleared the bit. So I've switched it to a compare
55889 and swap operation. Now the thread pool test runs correctly when
55890 compiled with GCC
55891 [b2d5a5aa7a20]
55892
55893 * source/encoder/threadpool.cpp:
55894 threadpool: remove redundant semicolon
55895 [10e63f2bdbc1]
55896
55897 * source/encoder/primitives.cpp:
55898 apply coding style to primitives.cpp, minor cleanups
55899 [2b33261c0e61]
55900
55901 * source/encoder/primitives.cpp:
55902 primitives: remove cruft from primitives.cpp, add compiler checks
55903
55904 Do not try to access vectorized architectures that we know the
55905 compiler cannot generate.
55906 [128a506f7cb9]
55907
55908 * source/encoder/primitives.cpp, source/encoder/primitives.h:
55909 primitives: do not include instrset.h from primitives.h
55910
55911 Just declare the instrset_detect() function as an extern in
55912 primitives.cpp
55913 [0f32be5b4fa8]
55914
55915 * source/encoder/CMakeLists.txt:
55916 cmake: tabs to spaces
55917 [1bd0a875d97d]
55918
55919 2013-04-02 sumalatha <sumalatha>
55920
55921 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
55922 source/encoder/primitives.h:
55923 1. Included the cpu detection logic in SetupPrimitives() function.
55924 2. Changed the SetupPrimitives() function such that, based on the
55925 cpuid, the corresponing vector architure and fucntions are selected
55926 [d5eb4f663e29]
55927
55928 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
55929 source/x265main.cpp:
55930 Backed out changeset: 94aff9bad183
55931 [8f33a2e2af52]
55932
55933 * source/encoder/cpu_detection.cpp, source/encoder/cpu_detection.h,
55934 source/encoder/instrset.h, source/encoder/instrset_detect.cpp:
55935 Backed out changeset: 36b4e54f54b9
55936 [274955b783ac]
55937
55938 2013-04-02 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55939
55940 * source/encoder/CMakeLists.txt:
55941 Merged multicoreware/xhevc into default
55942 [a729ebc85dd7]
55943
55944 2013-04-01 sumalatha <sumalatha>
55945
55946 * source/encoder/cpu_detection.cpp, source/encoder/cpu_detection.h,
55947 source/encoder/instrset.h, source/encoder/instrset_detect.cpp:
55948 these files has to go with the previous checkin version(199)
55949 [36b4e54f54b9]
55950
55951 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
55952 source/x265main.cpp:
55953 1. Included the cpu detection logic in the main 2. Changed the
55954 SetupPrimitives() function such that, based on the cpuid, the
55955 corresponing vector architure and fucntions are selected
55956 [94aff9bad183]
55957
55958 2013-04-02 Steve Borho <steve@borho.org>
55959
55960 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
55961 source/encoder/primitives.h:
55962 cmake: x64 Linux build fixes
55963 [c67a39f91e07]
55964
55965 * source/CMakeLists.txt:
55966 cmake: provide an appopriate -march for 64bit GCC targets
55967 [0c8fda784ba1]
55968
55969 2013-04-01 Steve Borho <steve@borho.org>
55970
55971 * source/Lib/CMakeLists.txt, source/encoder/CMakeLists.txt,
55972 source/encoder/vec/CMakeLists.txt, source/test/CMakeLists.txt:
55973 cmake: use GCC variable, in lieu of CMAKE_COMPILER_IS_GNUCXX
55974 [60c583f05000]
55975
55976 * source/CMakeLists.txt:
55977 cmake: detect 64bit build, set GCC flag if GCC is detected
55978
55979 Both of these can be used in internal CMakeLists.txt files, to
55980 improve clarity
55981 [0e8858d0fb9f]
55982
55983 2013-04-01 deepthidevaki <deepthidevaki>
55984
55985 * source/encoder/TComRdCost_SSE.cpp:
55986 Modified xCalcHADS4x4 to use 16bit operations.
55987 [87514f1663f3]
55988
55989 2013-03-30 Steve Borho <steve@borho.org>
55990
55991 * source/Lib/TLibCommon/TypeDef.h:
55992 Disable DISTORTION_PRECISION_ADJUSTMENT when HIGH_BIT_DEPTH is
55993 disabled.
55994
55995 This turns the operation into a >> 0, which any sane compiler will
55996 discard.
55997 [99eea17c57d6]
55998
55999 * source/encoder/primitives.cpp, source/encoder/primitives.h:
56000 add mapping function from Width x Height to Partition enum
56001 [759fd1db4927]
56002
56003 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
56004 source/Lib/config.cpp, source/Lib/config.h, source/Lib/encoder.cpp,
56005 source/Lib/encoder.h, source/x265cfg.cpp, source/x265cfg.h,
56006 source/x265main.cpp, source/x265top.cpp, source/x265top.h:
56007 move top level encoder classes into Lib/ folder
56008
56009 The encoder should be usable as a shared library (x265.lib +
56010 HM.lib). The top level class should not be part of the CLI-only
56011 portion of the source.
56012 [c509aabfc0a7]
56013
56014 * source/encoder/CMakeLists.txt:
56015 remove unused set_source_files_properties
56016 [2c938c6441e3]
56017
56018 * source/Lib/TLibEncoder/TEncCavlc.h:
56019 fix VC compiler warnings (unreferenced formal parameter) in HM
56020 source
56021 [3df5de68dbe7]
56022
56023 * source/Lib/TLibCommon/TComDataCU.h:
56024 fix VC compiler warnings (integer size type conversions) in HM
56025 source
56026 [73f1aa34c9a0]
56027
56028 * source/Lib/TLibCommon/ContextModel3DBuffer.h:
56029 fix VC compiler warning in the HM source
56030 [d6a9f964a0dc]
56031
56032 2013-03-29 Steve Borho <steve@borho.org>
56033
56034 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
56035 prevent one compile warning when HIGH_BIT_DEPTH is disabled
56036 [e0b7e82b403f]
56037
56038 * source/encoder/vec/vecprimitives.inc:
56039 add a stub 8bit vectorized primitive to prevent compile warnings
56040 [cbff9e95a7cb]
56041
56042 * source/encoder/pixel.cpp, source/encoder/primitives.h:
56043 move primitives_c extern to the file(s) which define its methods
56044 [ace6ed34ee4c]
56045
56046 * source/encoder/CMakeLists.txt, source/encoder/pixel.cpp:
56047 add templated SATD functions, based on x264's macro routines
56048
56049 These use SWAR to do two operations in each clock cycle
56050 [018408f096c4]
56051
56052 * source/encoder/pixel.cpp, source/encoder/primitives.h:
56053 add more irregular partition sizes (we probably still need 24s)
56054 [f676a5209ed7]
56055
56056 * source/encoder/CMakeLists.txt, source/encoder/pixel.cpp:
56057 add pixel.cpp with templated sad function
56058 [0f94e98ddcfa]
56059
56060 * source/encoder/vec/vecprimitives.inc:
56061 bug fix in vecprimitives.inc
56062 [aa80411df22e]
56063
56064 * source/encoder/vec/vecprimitives.inc:
56065 declare seperate implementations of vector primitives for 8bit and
56066 16bit pels
56067 [7adb3cf4ebe2]
56068
56069 * source/encoder/primitives.cpp, source/encoder/primitives.h:
56070 stub in support for C reference versions of each encoder primitive
56071 [ddc4616609f6]
56072
56073 * source/compat/msvc/stdint.h:
56074 ensure intptr_t is defined on MSVC compiles
56075 [ab7e6788a2bc]
56076
56077 * source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
56078 compiler portable CDECL macro
56079 [130b6f1555d2]
56080
56081 * source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h,
56082 source/encoder/TComRdCost_SSE.cpp, source/encoder/primitives.cpp,
56083 source/encoder/primitives.h, source/encoder/threading.cpp,
56084 source/encoder/threading.h, source/encoder/threadpool.cpp,
56085 source/encoder/threadpool.h, source/encoder/vec/avx.cpp,
56086 source/encoder/vec/avx2.cpp, source/encoder/vec/sse2.cpp,
56087 source/encoder/vec/sse3.cpp, source/encoder/vec/sse41.cpp,
56088 source/encoder/vec/sse42.cpp, source/encoder/vec/ssse3.cpp,
56089 source/encoder/vec/vecprimitives.inc, source/test/TestBench.cpp,
56090 source/test/UnitTest.cpp, source/test/UnitTest.h,
56091 source/test/testpool.cpp, source/x265cfg.cpp, source/x265cfg.h,
56092 source/x265main.cpp, source/x265top.cpp, source/x265top.h:
56093 apply coding style to all new code (leaving HM unmodified for the
56094 moment)
56095 [86b79c630261]
56096
56097 * doc/astyle/apply-to-all-source.py:
56098 add a Python script to apply coding style globally
56099 [750cd70ec32b]
56100
56101 * doc/astyle/drag-astyle.bat:
56102 fix comment in drag-astyle.bat
56103 [bae49dd4f46d]
56104
56105 * doc/astyle/AStyle.exe, doc/astyle/astyle-config.txt, doc/astyle
56106 /drag-astyle.bat:
56107 Add astyle.exe for Windows, a config file, and a handy drag-drop
56108 batch file
56109 [5695e621070f]
56110
56111 * source/x265top.cpp:
56112 also take updates to x265top.cpp
56113 [9096a01c31e7]
56114
56115 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/NAL.h,
56116 source/Lib/TLibCommon/TComRom.cpp,
56117 source/Lib/TLibCommon/TComSlice.cpp,
56118 source/Lib/TLibCommon/TComSlice.h,
56119 source/Lib/TLibEncoder/SEIwrite.cpp,
56120 source/Lib/TLibEncoder/TEncCavlc.cpp,
56121 source/Lib/TLibEncoder/TEncCavlc.h,
56122 source/Lib/TLibEncoder/TEncGOP.cpp,
56123 source/Lib/TLibEncoder/TEncSbac.h:
56124 Take HM tip code (mostly cleanups)
56125 [d5a4085b832a]
56126
56127 2013-03-29 Deepthi <Deepthi>
56128
56129 * source/encoder/vec/vecprimitives.inc:
56130 xCaldHads4x4 added as an example vector primitive.
56131 [7794ab12b1b8]
56132
56133 * source/encoder/primitives.cpp:
56134 Remove unused parameter warning
56135 [f69b495d2323]
56136
56137 2013-03-29 Steve Borho <steve@borho.org>
56138
56139 * source/CMakeLists.txt, source/Lib/TLibCommon/TypeDef.h,
56140 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
56141 cmake: add HIGH_BIT_DEPTH build flag, defaults to ON (previous
56142 behavior)
56143 [a168ba02c525]
56144
56145 2013-03-28 Steve Borho <steve@borho.org>
56146
56147 * source/encoder/threadpool.cpp:
56148 threadpool: fix MinGW build again
56149 [ec62c87b6a69]
56150
56151 * source/test/testpool.cpp:
56152 testpool: show MD5 hash as 4 hex ints
56153 [e78340875f4e]
56154
56155 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
56156 threadpool: make worker threads spin so long as job providers are
56157 enqueued
56158
56159 The idle list mechanism was buggy; threads would go idle when no
56160 work was available but none would be in the idle list when a work
56161 request arrived. Not sure how to fix this without locking, so
56162 removing the idle list for now. All threads are awakened when job
56163 providers are enqueued, and they stay active until there are no job
56164 providers registered with the thread pool.
56165
56166 Awakening a thread multiple times should be safe; might just cause a
56167 few extra loops for it to go idle later.
56168 [34d48bb54077]
56169
56170 * source/encoder/threadpool.cpp:
56171 threadpool: remove idle thread poke when job provider is enqueued
56172
56173 The provider may not have work yet; and if it did it can poke the
56174 pool itself
56175 [ede480130c99]
56176
56177 * source/CMakeLists.txt:
56178 add -march=i686 globally to gcc compile flags
56179
56180 This was required to fix MinGW link errors on Windows
56181 (__sync_and_fetch*)
56182 [64821a2d1dfe]
56183
56184 * source/test/testpool.cpp:
56185 add a proper hex print for the MD5 hash
56186 [9235319777da]
56187
56188 * source/test/UnitTest.cpp:
56189 white-space cleanups in UnitTest.cpp
56190 [e8052c1be059]
56191
56192 * source/test/CMakeLists.txt, source/test/UnitTest.cpp:
56193 more MSYS fixes
56194 [e87400a37651]
56195
56196 * source/test/CMakeLists.txt, source/test/TestBench.cpp:
56197 better workaround for strdup
56198 [14115a094db7]
56199
56200 * source/test/CMakeLists.txt, source/test/TestBench.cpp:
56201 msys compilation fixes for TestBench
56202 [cdb75f7b2fa7]
56203
56204 * source/test/CMakeLists.txt, source/test/TestBench.cpp,
56205 source/test/UnitTest.cpp:
56206 fix test bench compiler warnings
56207 [fe55521ed24c]
56208
56209 * source/test/CMakeLists.txt:
56210 cmake: fix case sensitivity of filenames
56211 [ad7dd76dc39d]
56212
56213 * source/test/CMakeLists.txt:
56214 cleanup source/test/CMakeLists.txt
56215 [47f9ec819fe8]
56216
56217 2013-03-25 ShinYee Chung <shinyee@multicorewareinc.com>
56218
56219 * build/linux/make-Makefiles.bash:
56220 Build: Fix missing executable permission on the BASH script.
56221 [0abab5c52e97]
56222
56223 2013-03-28 nandaku2 <deepthi@multicorewareinc.com>
56224
56225 * Merged in ggopu/gopu_x265 (pull request #19)
56226
56227 Created the Test bench For Vector Premitive Functions
56228 [a35abc703177]
56229
56230 2013-03-28 ggopu <ggopu>
56231
56232 * source/test/CMakeLists.txt, source/test/TestBench.cpp,
56233 source/test/UnitTest.cpp, source/test/UnitTest.h:
56234 Created the Test bench For Vector Premitive Functions
56235 [c530d6d7b14f]
56236
56237 2013-03-29 ShinYee Chung <shinyee@multicorewareinc.com>
56238
56239 * source/encoder/threadpool.cpp:
56240 threadpool: Fix missing #include for memset().
56241 [5ac9ea3e104f]
56242
56243 2013-03-28 Steve Borho <steve@borho.org>
56244
56245 * source/encoder/CMakeLists.txt, source/encoder/TComRdCost_SSE.cpp,
56246 source/encoder/primitives.cpp, source/encoder/primitives.h:
56247 add ALIGN_VAR macros for compiler portability
56248 [98b3d54f8bf6]
56249
56250 * source/encoder/primitives.h:
56251 primitives: use extern "C" instead of _cdecl; is more compiler
56252 portable
56253 [498c9bea248a]
56254
56255 * source/encoder/primitives.cpp, source/encoder/primitives.h,
56256 source/x265main.cpp:
56257 primitives: call SetupPrimitives() before starting encoder
56258 [da0d5b94edb6]
56259
56260 * source/CMakeLists.txt, source/encoder/primitives.cpp:
56261 primitives: add ENABLE_PRIMITIVES build option, default to ON
56262 [f2fa629b460b]
56263
56264 * source/encoder/primitives.cpp, source/encoder/primitives.h,
56265 source/encoder/vec/CMakeLists.txt:
56266 primitives: move vectorized function table externs into CPP file
56267 [24ac23d75f87]
56268
56269 * source/encoder/primitives.cpp, source/encoder/primitives.h:
56270 move stdint.h include to primitives.h since it uses std int types
56271 [a1b10c4251f9]
56272
56273 * source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
56274 primitives: match x264's pixel compare funcdef so we can later use
56275 their asm
56276 [4dc9fabbf725]
56277
56278 * source/encoder/CMakeLists.txt:
56279 fix compile of TComRdCost_SSE.cpp on VC (not sure why this worked
56280 before)
56281 [a3a4f0ed61b4]
56282
56283 * source/encoder/vec/CMakeLists.txt:
56284 cmake: VC10 appears to support /arch:AVX
56285
56286 We can back this out later if there are problems with it
56287 [ce56b207242b]
56288
56289 2013-03-27 Steve Borho <steve@borho.org>
56290
56291 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp:
56292 add a stub primitives.cpp, showing what CPU runtime detection should
56293 do
56294 [d169138ef9f2]
56295
56296 * source/encoder/vec/vecprimitives.inc:
56297 vec: automatically generate a primitive table for each vector
56298 architecture
56299 [169f67a4972c]
56300
56301 * source/encoder/CMakeLists.txt:
56302 cmake: add primitives.h x265 project
56303 [0bc67c2dc278]
56304
56305 * source/encoder/primitives.h:
56306 introduce EncoderPrimitives structure of function pointers
56307 [64638e854efb]
56308
56309 * source/VectorClass/vectori256.h:
56310 workaround two compiler warnings for AVX2 and VC11
56311 [97e315fd1008]
56312
56313 * source/encoder/CMakeLists.txt, source/encoder/vec/CMakeLists.txt,
56314 source/encoder/vec/avx.cpp, source/encoder/vec/avx2.cpp,
56315 source/encoder/vec/sse2.cpp, source/encoder/vec/sse3.cpp,
56316 source/encoder/vec/sse41.cpp, source/encoder/vec/sse42.cpp,
56317 source/encoder/vec/ssse3.cpp, source/encoder/vec/vecprimitives.inc:
56318 introduce a vec/ folder for instancing vectorized encoder primitives
56319
56320 This is incomplete. Next step is to declare a function table and set
56321 one up.
56322 [05481bf6d65a]
56323
56324 * source/encoder/TComRdCost_SSE.cpp:
56325 use one contributor per line in copyright header
56326 [27148d109699]
56327
56328 * source/CMakeLists.txt:
56329 cmake: add option to use multiple processors for compiling
56330 [d265d139dd54]
56331
56332 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
56333 cmake: move /Ob2 flag to be global
56334 [695e210034ad]
56335
56336 * source/test/testpool.cpp:
56337 testpool: add semicolons after PPA macros
56338 [ebb7b3d857cc]
56339
56340 * source/encoder/threadpool.cpp:
56341 cmake: use 64bit interlocked commands and C style typecasts
56342
56343 For some reason Microsoft uses signed types for atomic intrinsics
56344 and LONG64 is not the same as uint64_t
56345 [bffed1db2e83]
56346
56347 * source/test/CMakeLists.txt:
56348 cmake: add PPA and pthread libraries for appropriate build
56349 configurations
56350 [207e0e47d1c4]
56351
56352 * source/CMakeLists.txt:
56353 cmake: fix eoln damage from copy-pasting from a web-page
56354 [6c27e3178e4e]
56355
56356 2013-03-27 deepthidevaki <deepthidevaki>
56357
56358 * source/encoder/TComRdCost_SSE.cpp:
56359 Modified vector- xCalcHADs4x4
56360 [329defb33896]
56361
56362 * source/encoder/TComRdCost_SSE.cpp:
56363 Modifed vector- xCalcHADS4x4
56364 [ffc0604b89a9]
56365
56366 2013-03-27 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
56367
56368 * source/encoder/TComRdCost_SSE.cpp:
56369 Merged multicoreware/xhevc into default
56370 [c4df9c66f793]
56371
56372 2013-03-26 deepthidevaki <deepthidevaki>
56373
56374 * source/encoder/TComRdCost_SSE.cpp:
56375 Modified xCalcHADs4x4 for better optimization
56376 [921103b76c69]
56377
56378 2013-03-26 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
56379
56380 * Merged multicoreware/xhevc into default
56381 [a1206301f004]
56382
56383 2013-03-25 deepthidevaki <deepthidevaki>
56384
56385 * source/encoder/TComRdCost_SSE.cpp:
56386 Modifed vectorized xCalcHADs* for aligned data access
56387 [cdddf736f4a1]
56388
56389 2013-03-26 Steve Borho <steve@borho.org>
56390
56391 * source/encoder/threadpool.cpp:
56392 threadpool: reorder initializers to match member declarations to
56393 make gcc happy
56394 [a42d35cf40ea]
56395
56396 * source/test/testpool.cpp:
56397 testpool: memset requires string.h on Linux
56398 [5576e606f381]
56399
56400 * source/test/testpool.cpp:
56401 testpool: initialize CUData on allocation, makes hashes persistent
56402 [2f9e75feedfa]
56403
56404 * source/encoder/TComRdCost_SSE.cpp:
56405 disable formal parameter warnings in TComRdCost_SSE, for Release
56406 mode builds
56407
56408 This pragma should go away when we clean up the vectorized code
56409 [600af352c248]
56410
56411 * source/test/testpool.cpp:
56412 testpool: add more resolution to elapsed time
56413 [347c13c7c13a]
56414
56415 * source/encoder/threadpool.cpp:
56416 threadpool: safely allow the threadpool to be freed and reallocated
56417 [8ccacddcb5c2]
56418
56419 * source/test/testpool.cpp:
56420 testpool: do not check top-right data dependency for last block in
56421 row
56422
56423 The fact that the penumltimate block was finished implies all of the
56424 dependencies for the last block are also available.
56425 [a9b0cb1167f5]
56426
56427 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
56428 threadpool: fix a couple of bugs, introduce m_numWords variable for
56429 clarity
56430 [a2cc29d90646]
56431
56432 * source/test/testpool.cpp:
56433 testpool: enqueue row 0 to trigger processing
56434 [550abf2e723d]
56435
56436 * source/encoder/threadpool.cpp:
56437 threadpool: initialize m_numThreads correctly
56438 [72d310781d4f]
56439
56440 * source/encoder/threadpool.cpp:
56441 threadpool: clear m_queuedBitmap after allocation
56442 [b70a1bd11c88]
56443
56444 2013-03-25 Steve Borho <steve@borho.org>
56445
56446 * source/test/CMakeLists.txt, source/test/testpool.cpp:
56447 testpool: add MD5 fake CTU encode logic
56448 [ebef6ad81ce7]
56449
56450 * source/test/testpool.cpp:
56451 testpool: make progress on thread pool unit test
56452 [719adfd4d95a]
56453
56454 * build/README.txt:
56455 simplify build/README.txt
56456 [f0f36350faf2]
56457
56458 2013-03-25 Deepthi <Deepthi>
56459
56460 * Merge
56461 [928a9fe490c2]
56462
56463 * source/encoder/CMakeLists.txt:
56464 Force inlining for x265 project.
56465 [c5d96e5290e1]
56466
56467 * source/encoder/CMakeLists.txt:
56468 Adding /Ob1 for inline functions in vectorclass
56469 [58fdaadc8c9b]
56470
56471 2013-03-25 Steve Borho <steve@borho.org>
56472
56473 * source/Lib/TLibCommon/TComRdCost.cpp,
56474 source/encoder/TComRdCost_SSE.cpp:
56475 Added vectorized xCalcHADs4x4.
56476 [e4511f7ffd67]
56477
56478 * source/Lib/TLibCommon/TComRdCost.cpp,
56479 source/encoder/TComRdCost_SSE.cpp:
56480 Added vectorized xCalcHADs8x8 to TComRdCost_sse.cpp.
56481 [75902874989e]
56482
56483 2013-03-23 Steve Borho <steve@borho.org>
56484
56485 * build/ConfigureBuild.bat, build/README.txt, build/vc10-x86/build-
56486 all.bat, build/vc10-x86_64/build-all.bat, build/vc11-x86/build-
56487 all.bat, build/vc11-x86_64/build-all.bat, build/vc9-x86/build-
56488 all.bat, build/vc9-x86_64/build-all.bat, source/CMakeLists.txt,
56489 source/encoder/TComRdCost_SSE.cpp:
56490 cmake: change solution name to x265.sln
56491
56492 The repository will eventually be renamed to x265 as well
56493 [0b06a183e9d9]
56494
56495 2013-03-23 ShinYee Chung <shinyee@multicorewareinc.com>
56496
56497 * source/encoder/TComRdCost_SSE.cpp:
56498 Encoder: Fix the backslash used in an #include.
56499
56500 The lookup fails in Linux platform, while VC works with both
56501 backslash and forwardslash
56502 [3f5f4347ca3c]
56503
56504 * build/linux/make-Makefiles.bash:
56505 Build: cmake bash script for Linux 64bit platform.
56506 [1571b62368bf]
56507
56508 2013-03-22 Steve Borho <steve@borho.org>
56509
56510 * source/CMakeLists.txt:
56511 cmake: fix a copy-pasted comment
56512 [b6d723716d3a]
56513
56514 * source/CMakeLists.txt, source/VectorClass/CMakeLists.txt,
56515 source/encoder/CMakeLists.txt:
56516 cmake: merge VectorClass and all vectorization knowledge into
56517 encoder/
56518 [42d9ce7dd5b6]
56519
56520 * source/x265cfg.cpp:
56521 fixup a harmless mistake made when renaming files
56522 [2801e45e10fc]
56523
56524 2013-03-23 ShinYee Chung <shinyee@multicorewareinc.com>
56525
56526 * source/Lib/CMakeLists.txt:
56527 Build: Fix compile errors in HM codes due to compiler warning on
56528 unused variables.
56529 [48b1fa53a585]
56530
56531 2013-03-22 Steve Borho <steve@borho.org>
56532
56533 * source/CMakeLists.txt:
56534 cmake: for gcc builds, select Release build type by default
56535 [504de19e1c0c]
56536
56537 * source/App/README.txt, source/App/TAppEncoder/CMakeLists.txt,
56538 source/App/TAppEncoder/TAppEncCfg.cpp,
56539 source/App/TAppEncoder/TAppEncCfg.h,
56540 source/App/TAppEncoder/TAppEncTop.cpp,
56541 source/App/TAppEncoder/TAppEncTop.h,
56542 source/App/TAppEncoder/encmain.cpp, source/CMakeLists.txt,
56543 source/x265cfg.cpp, source/x265cfg.h, source/x265main.cpp,
56544 source/x265top.cpp, source/x265top.h:
56545 cmake: remove the APP folder, move encoder main files to source/
56546 folder
56547
56548 The CLI portion of the project is now a build option, defaulting to
56549 ON. The build target is now named x265-cli, and it will be generated
56550 in the build root Debug/ or Release/ folder
56551 [b4939353bb2f]
56552
56553 * source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
56554 source/Lib/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
56555 source/Lib/TLibEncoder/CMakeLists.txt:
56556 cmake: group all HM code into one library
56557 [dee196e7dd7f]
56558
56559 * build/vc10-x86/build-all.bat, build/vc10-x86_64/build-all.bat,
56560 build/vc11-x86/build-all.bat, build/vc11-x86_64/build-all.bat,
56561 build/vc9-x86/build-all.bat, build/vc9-x86_64/build-all.bat:
56562 cmake: add build-all batch files for each compiler target
56563
56564 This auto-detects the VS install location and skips impossible
56565 compiles
56566 [ea00c6454cd6]
56567
56568 * build/msys/make-Makefiles.sh, build/vc10-x86/make-solutions.bat,
56569 build/vc10-x86_64/make-solutions.bat, build/vc11-x86/make-
56570 solutions.bat, build/vc11-x86_64/make-solutions.bat, build/vc9-x86
56571 /make-solutions.bat, build/vc9-x86_64/make-solutions.bat:
56572 cmake: add build folders for each compiler target and batch files to
56573 open GUI
56574
56575 This makes it easy to configure the build options for each target.
56576 The number of build options is about to grow.
56577 [f8838d1b8aeb]
56578
56579 * source/Lib/TLibCommon/TComSlice.cpp:
56580 remove an include of a decoder header from the common lib
56581 [7308255a8774]
56582
56583 * source/App/TAppDecoder/CMakeLists.txt,
56584 source/App/TAppDecoder/TAppDecCfg.cpp,
56585 source/App/TAppDecoder/TAppDecCfg.h,
56586 source/App/TAppDecoder/TAppDecTop.cpp,
56587 source/App/TAppDecoder/TAppDecTop.h,
56588 source/App/TAppDecoder/decmain.cpp, source/CMakeLists.txt,
56589 source/Lib/CMakeLists.txt, source/Lib/TLibDecoder/AnnexBread.cpp,
56590 source/Lib/TLibDecoder/AnnexBread.h,
56591 source/Lib/TLibDecoder/CMakeLists.txt,
56592 source/Lib/TLibDecoder/NALread.cpp,
56593 source/Lib/TLibDecoder/NALread.h,
56594 source/Lib/TLibDecoder/SEIread.cpp,
56595 source/Lib/TLibDecoder/SEIread.h,
56596 source/Lib/TLibDecoder/SyntaxElementParser.cpp,
56597 source/Lib/TLibDecoder/SyntaxElementParser.h,
56598 source/Lib/TLibDecoder/TDecBinCoder.h,
56599 source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp,
56600 source/Lib/TLibDecoder/TDecBinCoderCABAC.h,
56601 source/Lib/TLibDecoder/TDecCAVLC.cpp,
56602 source/Lib/TLibDecoder/TDecCAVLC.h,
56603 source/Lib/TLibDecoder/TDecCu.cpp, source/Lib/TLibDecoder/TDecCu.h,
56604 source/Lib/TLibDecoder/TDecEntropy.cpp,
56605 source/Lib/TLibDecoder/TDecEntropy.h,
56606 source/Lib/TLibDecoder/TDecGop.cpp,
56607 source/Lib/TLibDecoder/TDecGop.h,
56608 source/Lib/TLibDecoder/TDecSbac.cpp,
56609 source/Lib/TLibDecoder/TDecSbac.h,
56610 source/Lib/TLibDecoder/TDecSlice.cpp,
56611 source/Lib/TLibDecoder/TDecSlice.h,
56612 source/Lib/TLibDecoder/TDecTop.cpp,
56613 source/Lib/TLibDecoder/TDecTop.h:
56614 Drop the HM decoder project; we should use HM project directly for
56615 decodes
56616
56617 We should be finding other decoders to test with as well
56618 [4e8dec8e4636]
56619
56620 * source/encoder/threadpool.h, source/test/testpool.cpp:
56621 threadpool: make pool destructor protected to force the use of
56622 Release()
56623 [e43c28659b53]
56624
56625 * source/CMakeLists.txt, source/test/CMakeLists.txt,
56626 source/test/testpool.cpp:
56627 add unit test for thread pool, incomplete
56628 [97e90fcd77fe]
56629
56630 * source/App/TAppEncoder/TAppEncCfg.cpp:
56631 ignore warnings in Y4M header reader imported from VPL
56632 [aa2829f682fb]
56633
56634 2013-03-21 Steve Borho <steve@borho.org>
56635
56636 * source/App/TAppEncoder/TAppEncCfg.cpp:
56637 fix white-space damage in TAppEncCfg.cpp
56638 [cca6a7ba5f3a]
56639
56640 * source/App/TAppEncoder/TAppEncCfg.cpp:
56641 Fix eoln damage in TAppEncCfg.cpp
56642 [50261b240150]
56643
56644 * source/Lib/TLibCommon/TComMv.h:
56645 fix another compiler warning in the HM
56646 [8a2d14661327]
56647
56648 * source/Lib/TLibCommon/TComSlice.h:
56649 fix a warning in the HM header
56650 [1942f88a267c]
56651
56652 * source/App/TAppEncoder/CMakeLists.txt:
56653 cmake: encoder app now links against x265 library (source/encoder)
56654 [d5de005561cf]
56655
56656 * source/App/TAppEncoder/TAppEncCfg.cpp:
56657 encoder: gcc requires math.h for ceil()
56658 [d6d1e2f2f535]
56659
56660 * source/App/TAppDecoder/CMakeLists.txt,
56661 source/App/TAppEncoder/CMakeLists.txt, source/Lib/CMakeLists.txt:
56662 cmake: rename md5 lib so it is not compiled as liblibmd5
56663 [f45eb3a34f5a]
56664
56665 * source/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
56666 source/encoder/CMakeLists.txt:
56667 cmake: move TComRdCost_SSE build to encoder/CMakeLists.txt
56668 [437850ed2225]
56669
56670 2013-03-21 ggopu <ggopu>
56671
56672 * build/ConfigureSolution.bash:
56673 Noo Need for this Script
56674 [21f0f70a76a6]
56675
56676 * build/ConfigureSolution.bat:
56677 No Need for this Script
56678 [f780b517b7b8]
56679
56680 * build/ConfigureBuild.bat:
56681 Modified the Script for Build Mode
56682 [f2ce5bd828bf]
56683
56684 2013-03-21 Deepthi <Deepthi>
56685
56686 * Merge
56687 [dd3d01a52f4c]
56688
56689 * build/ConfigureBuild.bat:
56690 Updates to build script
56691 [ee39c9715956]
56692
56693 * source/encoder/TComRdCost_SSE.cpp:
56694 Removing redundant path
56695 [c23b0c5f44b8]
56696
56697 * source/Lib/TLibCommon/CMakeLists.txt:
56698 Adding include directories and vector build options.
56699 [e788257c2b47]
56700
56701 * source/VectorClass/CMakeLists.txt:
56702 Changing all vector builds to SSE2 for now.
56703 [1ff8a33f3356]
56704
56705 * source/Lib/TLibCommon/CMakeLists.txt:
56706 Forward slash error in Cmake script
56707 [6d19c8cf40d2]
56708
56709 * build/buildSolution.bash:
56710 Removing initial build script
56711 [fa010f66f667]
56712
56713 2013-03-21 sumalatha <sumalatha>
56714
56715 * source/App/TAppEncoder/TAppEncCfg.cpp:
56716 Changed the code for supporting 1. YUV files with per sequence cfg
56717 files 2. y4m files with no per seqence cfg files for y4m files,
56718 width, height and frame rate are obtained by parsing the y4m file
56719 [d825fcd6fcf0]
56720
56721 2013-03-21 nandaku2 <deepthi@multicorewareinc.com>
56722
56723 * Merged in ggopu/xhevc_ggopu (pull request #6)
56724
56725 Build Scripts
56726 [36be38d95a0e]
56727
56728 2013-03-20 ggopu <ggopu>
56729
56730 * build/ConfigureSolution.bat:
56731 Script is for To Build only Visual Stdio Solutions for All Visual
56732 Studio Compilers or any Specific Visual Studio Compiler
56733 [1a26d0d759f3]
56734
56735 * build/ConfigureSolution.bash:
56736 Script is for To Build Only Solutions for All MinGW Compilers or Any
56737 Specific MinGW Compilers
56738 [cdb508562f50]
56739
56740 * build/ConfigureBuild.bat:
56741 Script is for To Build Bin and Solutions for All the Visual Studio
56742 Compilers or any Specific Visual Studio Compiler
56743 [924204a92ab3]
56744
56745 * build/ConfigureBuild.bash:
56746 Script is used to Configure the Solution and Build the Bin for all
56747 MinGW Compilers - MingW, UNIX and MSYS
56748 [cfc72567b7d1]
56749
56750 2013-03-21 Steve Borho <steve@borho.org>
56751
56752 * source/encoder/threadpool.cpp:
56753 add MACOS cpu number detection
56754
56755 This doesn't imply we care about MacOS, only that I found code for
56756 it online
56757 [22b6e4c7dbef]
56758
56759 2013-03-21 nandaku2 <deepthi@multicorewareinc.com>
56760
56761 * Merged in mandarmcw/xhevc_mandar (pull request #5)
56762
56763 Functions vectorized stage 1
56764 [cfccc2255421]
56765
56766 2013-03-20 mandarmcw <mandarmcw>
56767
56768 * source/Lib/TLibCommon/CMakeLists.txt,
56769 source/Lib/TLibCommon/TComRdCost.cpp,
56770 source/Lib/TLibCommon/TypeDef.h, source/encoder/TComRdCost_SSE.cpp:
56771 Functions vectorized stage 1 : TcomRdCost::xGetSAD* (Replace * with
56772 the numbers - 8, 16, 32, 64, 12, 24) Changes:-
56773 * Defined a macro ENABLE_VECTOR for enabling the vectorized function
56774 definations.
56775 * Addedd file source/encoder/TComRdCost_SSE.cpp to Cmakelists file
56776 [e5ab4f0e46f0]
56777
56778 2013-03-19 Mandar Gurav <mandar@multicorewareinc.com>
56779
56780 * cfg/encoder_intra_main.cfg, cfg/encoder_intra_main10.cfg,
56781 cfg/encoder_lowdelay_P_main.cfg, cfg/encoder_lowdelay_P_main10.cfg,
56782 cfg/encoder_lowdelay_main.cfg, cfg/encoder_lowdelay_main10.cfg,
56783 cfg/encoder_randomaccess_main.cfg,
56784 cfg/encoder_randomaccess_main10.cfg:
56785 Merged multicoreware/xhevc into default
56786 [552584fc09d7]
56787
56788 * Merged multicoreware/xhevc into default
56789 [93fa9a5208a3]
56790
56791 2013-03-19 mandarmcw <mandarmcw>
56792
56793 * source/encoder/TComRdCost_SSE.cpp:
56794 Updated all file names with *_SSE
56795 [fd7954b7ccb3]
56796
56797 * source/encoder/TComRdCost_SSE.cpp:
56798 New TComRdCost.cpp file with Vectorization.
56799 [7547355fbf79]
56800
56801 * source/Lib/TLibCommon/TComRdCost.cpp:
56802 Merge
56803 [831a802091f2]
56804
56805 * source/Lib/TLibCommon/TComRdCost.cpp:
56806 Discard changes
56807 [2e2e69ec398c]
56808
56809 * source/Lib/TLibCommon/TComRdCost.cpp:
56810 Discard changes. Revert back to original source
56811 [30854b3469d4]
56812
56813 2013-03-19 Mandar Gurav <mandar@multicorewareinc.com>
56814
56815 * Merged multicoreware/xhevc/default (954436fbb3df) into default
56816 [605590cb93f4]
56817
56818 2013-03-19 mandarmcw <mandarmcw>
56819
56820 * source/Lib/TLibCommon/TComRdCost.cpp:
56821 Functions vectorized stage 1 : TcomRdCost::xGetSAD* (Replace * with
56822 the numbers - 8, 16, 32, 64, 12, 24)
56823 [95ba23e9aec0]
56824
56825 2013-03-20 Steve Borho <steve@borho.org>
56826
56827 * source/encoder/threadpool.cpp:
56828 threadpool: add CPU core count detection, remove need for friend
56829 classes
56830 [ba0dcc65b645]
56831
56832 * build/buildSolution.bash:
56833 switch build/buildSolution.bash to unix EOLN, no behavior change
56834 [03a24f5c924e]
56835
56836 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
56837 threadpool: add worker thread implementation, non-blocking idle list
56838 [e69134e545db]
56839
56840 * source/App/README.txt, source/Lib/README.txt,
56841 source/VectorClass/README.txt:
56842 add README files describing where various code originated
56843 [d627780e1c0d]
56844
56845 * source/VectorClass/CMakeLists.txt:
56846 cmake: update name of VectorClass lib
56847 [64d3463a7437]
56848
56849 * .hgignore:
56850 ignore Mercurial merge/patch remnants
56851 [74246322f5d6]
56852
56853 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
56854 source/Lib/TVectorClass/CMakeLists.txt,
56855 source/Lib/TVectorClass/dispatch_example.cpp,
56856 source/Lib/TVectorClass/instrset.h,
56857 source/Lib/TVectorClass/instrset_detect.cpp,
56858 source/Lib/TVectorClass/special/complexvec.h,
56859 source/Lib/TVectorClass/special/decimal.h,
56860 source/Lib/TVectorClass/special/quaternion.h,
56861 source/Lib/TVectorClass/special/vector3d.h,
56862 source/Lib/TVectorClass/special/vectormath.h,
56863 source/Lib/TVectorClass/vectorclass.h,
56864 source/Lib/TVectorClass/vectorf128.h,
56865 source/Lib/TVectorClass/vectorf256.h,
56866 source/Lib/TVectorClass/vectorf256e.h,
56867 source/Lib/TVectorClass/vectori128.h,
56868 source/Lib/TVectorClass/vectori256.h,
56869 source/Lib/TVectorClass/vectori256e.h,
56870 source/VectorClass/CMakeLists.txt,
56871 source/VectorClass/dispatch_example.cpp,
56872 source/VectorClass/instrset.h,
56873 source/VectorClass/instrset_detect.cpp,
56874 source/VectorClass/special/complexvec.h,
56875 source/VectorClass/special/decimal.h,
56876 source/VectorClass/special/quaternion.h,
56877 source/VectorClass/special/vector3d.h,
56878 source/VectorClass/special/vectormath.h,
56879 source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
56880 source/VectorClass/vectorf256.h, source/VectorClass/vectorf256e.h,
56881 source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
56882 source/VectorClass/vectori256e.h:
56883 move TVectorClass folder from Lib/ folder to source/VectorClass
56884 [d1f2dcfd8c66]
56885
56886 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
56887 source/Lib/PPA/CMakeLists.txt, source/Lib/PPA/ppa.cpp,
56888 source/Lib/PPA/ppa.h, source/Lib/PPA/ppaApi.h,
56889 source/Lib/PPA/ppaCPUEvents.h, source/PPA/CMakeLists.txt,
56890 source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h,
56891 source/PPA/ppaCPUEvents.h:
56892 move PPA from Lib/ folder
56893 [7aa3258f57d8]
56894
56895 2013-03-20 sumalatha <sumalatha>
56896
56897 * Merge
56898 [e9f96ed95f8a]
56899
56900 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
56901 included few configurations like deblock filter, quantisation,
56902 motion search etc with default value in both cfg file
56903 [99cfa30c5630]
56904
56905 2013-03-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
56906
56907 * Merged multicoreware/xhevc into default
56908 [ca7efc3bd26f]
56909
56910 * Merged multicoreware/xhevc into default
56911 [364d82f2fb06]
56912
56913 2013-03-19 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
56914
56915 * Merged multicoreware/xhevc into default
56916 [1d6ff1eaba4e]
56917
56918 2013-03-19 MCW <MCW@MCW-PC.Belkin>
56919
56920 * cfg/encoder_intra_main.cfg, cfg/encoder_intra_main10.cfg,
56921 cfg/encoder_lowdelay_P_main10.cfg, cfg/encoder_lowdelay_main.cfg,
56922 cfg/encoder_lowdelay_main10.cfg, cfg/encoder_randomaccess_main.cfg,
56923 cfg/encoder_randomaccess_main10.cfg:
56924 Deleting redundant cfg files
56925 [24be06d25080]
56926
56927 * Merge
56928 [a1108949be35]
56929
56930 * cfg/encoder_lowdelay_P_main.cfg:
56931 Removing encoder cfg file
56932 [28407cd95bdc]
56933
56934 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
56935 included the two config files for testing. "encoder_all_I.cfg"
56936 encodes all frames as I frames. "encoder_I_15P.cfg" encodes "I"
56937 frame followed by 15 "P" frames. This pattern is followed for entire
56938 sequence.
56939 [124fe50587b5]
56940
56941 2013-03-19 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
56942
56943 * Merged multicoreware/xhevc/default (954436fbb3df) into default
56944 [6f5679aa1420]
56945
56946 2013-03-20 nandaku2 <deepthi@multicorewareinc.com>
56947
56948 * Merged in ggopu/xhevc_ggopu (pull request #2)
56949
56950 New Script for To build the Windows Solution / Make files for all
56951 the VS and MSYS Compilers
56952 [c6c9c4f150e1]
56953
56954 2013-03-19 ggopu <ggopu>
56955
56956 * build/buildSolution.bash:
56957 New Script for To build the Windows Solution / Make files for all
56958 the VS and MSYS Compilers
56959 [83904e69121d]
56960
56961 2013-03-19 Steve Borho <steve@borho.org>
56962
56963 * source/encoder/CMakeLists.txt, source/encoder/threadpool.cpp,
56964 source/encoder/threadpool.h:
56965 partially completed thread pool
56966
56967 needs PoolThread::ThreadMain(), ThreadPoolImpl::PokeIdleThread(),
56968 and a shutdown/flush mechanism for the pool
56969 [f9f791c32093]
56970
56971 2013-03-19 Deepthi <Deepthi>
56972
56973 * Merge
56974 [e70117d0f3d5]
56975
56976 2013-03-18 Deepthi <Deepthi>
56977
56978 * source/Lib/TLibCommon/TComRdCost.h:
56979 Backed out changeset: db7ddb189d7d
56980 [954436fbb3df]
56981
56982 * source/Lib/TLibCommon/TComRdCost.h:
56983 Test commit
56984 [db7ddb189d7d]
56985
56986 2013-03-19 Steve Borho <steve@borho.org>
56987
56988 * source/encoder/threadpool.h:
56989 threadpool: stub in interfaces for the thread pool and job providers
56990 [c5d831ed2ce0]
56991
56992 2013-03-18 Steve Borho <steve@borho.org>
56993
56994 * source/encoder/threading.h:
56995 threading: remove copy assignment operator body
56996
56997 I want a compile error generated if it is attempted
56998 [80a0e976c24e]
56999
57000 * source/encoder/CMakeLists.txt:
57001 cmake: remove redundant lib prefix
57002
57003 This was building liblibx265
57004 [bcabd73ba3f9]
57005
57006 * source/encoder/threading.cpp, source/encoder/threading.h:
57007 threading: fix compile problems with gcc on Linux
57008 [23e6db8e39d2]
57009
57010 * source/App/TAppEncoder/TAppEncCfg.cpp,
57011 source/App/TAppEncoder/TAppEncCfg.h,
57012 source/App/TAppEncoder/TAppEncTop.cpp,
57013 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
57014 source/Lib/TLibCommon/TComBitStream.cpp,
57015 source/Lib/TLibCommon/TComBitStream.h,
57016 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibDecoder/SEIread.cpp,
57017 source/Lib/TLibDecoder/SEIread.h,
57018 source/Lib/TLibEncoder/SEIwrite.cpp,
57019 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
57020 source/Lib/TLibEncoder/TEncGOP.cpp,
57021 source/Lib/TLibEncoder/TEncGOP.h,
57022 source/Lib/TLibEncoder/TEncSlice.cpp,
57023 source/Lib/TLibEncoder/TEncSlice.h:
57024 take tip HM 10.0-dev changes (subversion HM-10.0-dev@3381)
57025 [b1d8625402d8]
57026
57027 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
57028 source/encoder/threading.cpp, source/encoder/threading.h:
57029 introduce encoder folder and libx265 library project with threading
57030 classes
57031 [24d5964cfb3b]
57032
57033 * source/Lib/TVectorClass/CMakeLists.txt:
57034 cmake: fix comment about /arch:AVX flag, it is only necessary for
57035 VC11
57036 [4a68b817dea5]
57037
57038 * source/Lib/TVectorClass/CMakeLists.txt:
57039 cmake: white-space nits
57040 [097f1ac9a970]
57041
57042 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/CMakeLists.txt:
57043 cmake: isolate /arch:AVX compile flag to code which includes vector
57044 libs
57045
57046 When the HM is compiled with /arch:AVX globally, it causes a runtime
57047 exception when run in release mode but not in debug mode. Gah!
57048 [25fc265da117]
57049
57050 * source/Lib/TVectorClass/CMakeLists.txt:
57051 cmake: no need to build dispatch_example.cpp
57052 [0b93848cb7cc]
57053
57054 2013-03-16 Steve Borho <steve@borho.org>
57055
57056 * source/App/TAppDecoder/CMakeLists.txt,
57057 source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
57058 source/Lib/CMakeLists.txt:
57059 cmake: enable full GCC warnings globally, disable for HM source
57060 where required
57061 [23d5ac432957]
57062
57063 * build/README.txt:
57064 document MSYS build instructions
57065 [e76417ca32c7]
57066
57067 * source/Lib/CMakeLists.txt:
57068 cmake: MSYS gcc requires -msse4 and does not support AVX2 intrinsics
57069 (refs #1)
57070 [94aef6522ed0]
57071
57072 * source/Lib/CMakeLists.txt:
57073 cmake: VC9 can handle only SSE4.2 intrinsics (closes #1)
57074
57075 gcc was tested under CentOS 6.3 and it compiled fine as-is
57076 [66263d046d28]
57077
57078 2013-03-15 Steve Borho <steve@borho.org>
57079
57080 * source/Lib/CMakeLists.txt:
57081 cmake: VC11 does support AVX2 intrinsics, but lib does not compile
57082 (refs #1)
57083
57084 The library does not compile cleanly when AVX2 is enabled, one
57085 warning about an implicit int to bool conversion (easily ignored)
57086 and then an error that a formal parameter cannot be aligned as
57087 requested, which is much more serious. So I'm leaving AVX2 disabled
57088 for VC11
57089
57090 /arch:AVX2 was not valid, but /arch:AVX seemed to enable AVX2
57091 intrinsics.
57092 [b541bd207ee8]
57093
57094 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/vectori128.h:
57095 cmake: add INSTRSET definitions for various VC versions (refs #1)
57096
57097 I'm guessing that VC9 supports AVX and VC11 supports AVX2. I'll have
57098 to verify both of them. A similar section must be added for gcc.
57099 [70b96b111797]
57100
57101 2013-03-15 Deepthi <Deepthi>
57102
57103 * source/Lib/CMakeLists.txt:
57104 Merge
57105 [d465f7915365]
57106
57107 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/CMakeLists.txt:
57108 Adding Cmake build scripts for VectorClass
57109 [b948ddbdb645]
57110
57111 * source/Lib/TVectorClass/dispatch_example.cpp,
57112 source/Lib/TVectorClass/instrset.h,
57113 source/Lib/TVectorClass/instrset_detect.cpp,
57114 source/Lib/TVectorClass/special/complexvec.h,
57115 source/Lib/TVectorClass/special/decimal.h,
57116 source/Lib/TVectorClass/special/quaternion.h,
57117 source/Lib/TVectorClass/special/vector3d.h,
57118 source/Lib/TVectorClass/special/vectormath.h,
57119 source/Lib/TVectorClass/vectorclass.h,
57120 source/Lib/TVectorClass/vectorf128.h,
57121 source/Lib/TVectorClass/vectorf256.h,
57122 source/Lib/TVectorClass/vectorf256e.h,
57123 source/Lib/TVectorClass/vectori128.h,
57124 source/Lib/TVectorClass/vectori256.h,
57125 source/Lib/TVectorClass/vectori256e.h:
57126 Adding GPL vectorclass source files
57127 [ccf65d86f57b]
57128
57129 2013-03-15 ShinYee Chung <shinyee@multicorewareinc.com>
57130
57131 * source/CMakeLists.txt:
57132 Build: Update GCC compilations with more warning options.
57133 [aa8994f58577]
57134
57135 2013-03-14 Steve Borho <steve@borho.org>
57136
57137 * source/App/TAppDecoder/CMakeLists.txt,
57138 source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
57139 source/Lib/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
57140 source/Lib/TLibDecoder/CMakeLists.txt,
57141 source/Lib/TLibEncoder/CMakeLists.txt:
57142 move warning disablings as close as possible to the source that
57143 needs them
57144
57145 I want newly added files and folders to have full warnings by
57146 default
57147 [ae7aa0c6b26a]
57148
57149 * source/App/TAppDecoder/TAppDecTop.cpp, source/CMakeLists.txt,
57150 source/Lib/TLibCommon/TComDataCU.cpp,
57151 source/Lib/TLibDecoder/TDecCAVLC.cpp,
57152 source/Lib/TLibEncoder/TEncSearch.cpp:
57153 enable maximal warnings (and warnings as errors) on Windows
57154
57155 Manually exclude each warning emitted by the HM code that we chose
57156 to ignore, fix one warning to avoid ignoring all warnings of that
57157 type in the App folder. Explicitly disable some dangerous warnings
57158 directly in the files which emit them, so they can remain enabled
57159 globally to catch bugs as they are created.
57160 [053177b5e32c]
57161
57162 2013-03-11 Steve Borho <steve@borho.org>
57163
57164 * source/Lib/PPA/ppa.cpp:
57165 ppa: use API bindings from public Linux PPA package
57166
57167 On Linux the PPA shared library is quiet on success (yeah!) but this
57168 makes it a challenge to debug shared library path problems. So I
57169 added some logging.
57170 [cf22c53c7108]
57171
57172 2013-03-07 Steve Borho <steve@borho.org>
57173
57174 * source/App/TAppDecoder/CMakeLists.txt,
57175 source/App/TAppEncoder/CMakeLists.txt:
57176 ppa: -ldl is necessary for UNIX systems; not necessarily gcc
57177
57178 For instance, if building on MinGW gcc on Windows one does not need
57179 -ldl since PPA will still not use the dlsym library loader
57180 [07ec03019bda]
57181
57182 * source/App/TAppEncoder/TAppEncTop.cpp,
57183 source/Lib/PPA/ppaCPUEvents.h:
57184 ppa: add some very high level CPU events in the encoder
57185 [c1b56eec0474]
57186
57187 * source/App/TAppDecoder/CMakeLists.txt,
57188 source/App/TAppDecoder/decmain.cpp,
57189 source/App/TAppEncoder/CMakeLists.txt,
57190 source/App/TAppEncoder/encmain.cpp, source/CMakeLists.txt,
57191 source/Lib/CMakeLists.txt, source/Lib/PPA/CMakeLists.txt,
57192 source/Lib/PPA/ppa.cpp, source/Lib/PPA/ppa.h,
57193 source/Lib/PPA/ppaApi.h, source/Lib/PPA/ppaCPUEvents.h:
57194 introduce PPA as cmake build option
57195 [3117ce6b9688]
57196
57197 * source/App/TAppDecoder/CMakeLists.txt,
57198 source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
57199 source/Lib/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
57200 source/Lib/TLibDecoder/CMakeLists.txt,
57201 source/Lib/TLibEncoder/CMakeLists.txt:
57202 convert CMakeLists.txt to unix EOLN
57203 [04901970ea1a]
57204
57205 * source/Lib/TLibEncoder/CMakeLists.txt:
57206 fix case sensitivity of file paths in TLibEncoder/CMakeLists.txt
57207 [81a323ceae15]
57208
57209 2013-03-06 Steve Borho <steve@borho.org>
57210
57211 * source/App/TAppDecoder/CMakeLists.txt,
57212 source/App/TAppEncoder/CMakeLists.txt:
57213 reorder library linking to help gcc ld to resolve dependencies
57214 [f451d1272522]
57215
57216 * source/CMakeLists.txt:
57217 copy gcc warning flags from HM Makefiles
57218
57219 Can now compile without warnings on MSYS on Windows, but cannot link
57220 [99bb609ac6da]
57221
57222 * .hgignore, COPYING, build/README.txt, cfg/encoder_intra_main.cfg,
57223 cfg/encoder_intra_main10.cfg, cfg/encoder_lowdelay_P_main.cfg,
57224 cfg/encoder_lowdelay_P_main10.cfg, cfg/encoder_lowdelay_main.cfg,
57225 cfg/encoder_lowdelay_main10.cfg, cfg/encoder_randomaccess_main.cfg,
57226 cfg/encoder_randomaccess_main10.cfg, cfg/per-sequence/BQMall.cfg,
57227 cfg/per-sequence/BQSquare.cfg, cfg/per-sequence/BQTerrace.cfg, cfg
57228 /per-sequence/BasketballDrill.cfg, cfg/per-
57229 sequence/BasketballDrillText.cfg, cfg/per-
57230 sequence/BasketballDrive.cfg, cfg/per-sequence/BasketballPass.cfg,
57231 cfg/per-sequence/BlowingBubbles.cfg, cfg/per-sequence/Cactus.cfg,
57232 cfg/per-sequence/ChinaSpeed.cfg, cfg/per-sequence/FourPeople.cfg,
57233 cfg/per-sequence/Johnny.cfg, cfg/per-sequence/Kimono.cfg, cfg/per-
57234 sequence/KristenAndSara.cfg, cfg/per-
57235 sequence/NebutaFestival_10bit.cfg, cfg/per-sequence/ParkScene.cfg,
57236 cfg/per-sequence/PartyScene.cfg, cfg/per-
57237 sequence/PeopleOnStreet.cfg, cfg/per-sequence/RaceHorses.cfg, cfg
57238 /per-sequence/RaceHorsesC.cfg, cfg/per-sequence/SlideEditing.cfg,
57239 cfg/per-sequence/SlideShow.cfg, cfg/per-
57240 sequence/SteamLocomotiveTrain_10bit.cfg, cfg/per-
57241 sequence/Traffic.cfg, cfg/per-sequence/Vidyo1.cfg, cfg/per-
57242 sequence/Vidyo3.cfg, cfg/per-sequence/Vidyo4.cfg, doc/Doxyfile, doc
57243 /README_data-structure.ppt, doc/gop-structure-example.pdf,
57244 doc/mainpage.h, doc/software-manual.pdf,
57245 source/App/TAppDecoder/CMakeLists.txt,
57246 source/App/TAppDecoder/TAppDecCfg.cpp,
57247 source/App/TAppDecoder/TAppDecCfg.h,
57248 source/App/TAppDecoder/TAppDecTop.cpp,
57249 source/App/TAppDecoder/TAppDecTop.h,
57250 source/App/TAppDecoder/decmain.cpp,
57251 source/App/TAppEncoder/CMakeLists.txt,
57252 source/App/TAppEncoder/TAppEncCfg.cpp,
57253 source/App/TAppEncoder/TAppEncCfg.h,
57254 source/App/TAppEncoder/TAppEncTop.cpp,
57255 source/App/TAppEncoder/TAppEncTop.h,
57256 source/App/TAppEncoder/encmain.cpp, source/CMakeLists.txt,
57257 source/Lib/CMakeLists.txt,
57258 source/Lib/TAppCommon/program_options_lite.cpp,
57259 source/Lib/TAppCommon/program_options_lite.h,
57260 source/Lib/TLibCommon/AccessUnit.h,
57261 source/Lib/TLibCommon/CMakeLists.txt,
57262 source/Lib/TLibCommon/CommonDef.h,
57263 source/Lib/TLibCommon/ContextModel.cpp,
57264 source/Lib/TLibCommon/ContextModel.h,
57265 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
57266 source/Lib/TLibCommon/ContextModel3DBuffer.h,
57267 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
57268 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
57269 source/Lib/TLibCommon/TComBitCounter.h,
57270 source/Lib/TLibCommon/TComBitStream.cpp,
57271 source/Lib/TLibCommon/TComBitStream.h,
57272 source/Lib/TLibCommon/TComCABACTables.cpp,
57273 source/Lib/TLibCommon/TComCABACTables.h,
57274 source/Lib/TLibCommon/TComDataCU.cpp,
57275 source/Lib/TLibCommon/TComDataCU.h,
57276 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
57277 source/Lib/TLibCommon/TComInterpolationFilter.h,
57278 source/Lib/TLibCommon/TComList.h,
57279 source/Lib/TLibCommon/TComLoopFilter.cpp,
57280 source/Lib/TLibCommon/TComLoopFilter.h,
57281 source/Lib/TLibCommon/TComMotionInfo.cpp,
57282 source/Lib/TLibCommon/TComMotionInfo.h,
57283 source/Lib/TLibCommon/TComMv.h,
57284 source/Lib/TLibCommon/TComPattern.cpp,
57285 source/Lib/TLibCommon/TComPattern.h,
57286 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
57287 source/Lib/TLibCommon/TComPicSym.cpp,
57288 source/Lib/TLibCommon/TComPicSym.h,
57289 source/Lib/TLibCommon/TComPicYuv.cpp,
57290 source/Lib/TLibCommon/TComPicYuv.h,
57291 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
57292 source/Lib/TLibCommon/TComPrediction.cpp,
57293 source/Lib/TLibCommon/TComPrediction.h,
57294 source/Lib/TLibCommon/TComRdCost.cpp,
57295 source/Lib/TLibCommon/TComRdCost.h,
57296 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
57297 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
57298 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
57299 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
57300 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
57301 source/Lib/TLibCommon/TComSlice.cpp,
57302 source/Lib/TLibCommon/TComSlice.h,
57303 source/Lib/TLibCommon/TComTrQuant.cpp,
57304 source/Lib/TLibCommon/TComTrQuant.h,
57305 source/Lib/TLibCommon/TComWeightPrediction.cpp,
57306 source/Lib/TLibCommon/TComWeightPrediction.h,
57307 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
57308 source/Lib/TLibCommon/TypeDef.h,
57309 source/Lib/TLibDecoder/AnnexBread.cpp,
57310 source/Lib/TLibDecoder/AnnexBread.h,
57311 source/Lib/TLibDecoder/CMakeLists.txt,
57312 source/Lib/TLibDecoder/NALread.cpp,
57313 source/Lib/TLibDecoder/NALread.h,
57314 source/Lib/TLibDecoder/SEIread.cpp,
57315 source/Lib/TLibDecoder/SEIread.h,
57316 source/Lib/TLibDecoder/SyntaxElementParser.cpp,
57317 source/Lib/TLibDecoder/SyntaxElementParser.h,
57318 source/Lib/TLibDecoder/TDecBinCoder.h,
57319 source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp,
57320 source/Lib/TLibDecoder/TDecBinCoderCABAC.h,
57321 source/Lib/TLibDecoder/TDecCAVLC.cpp,
57322 source/Lib/TLibDecoder/TDecCAVLC.h,
57323 source/Lib/TLibDecoder/TDecCu.cpp, source/Lib/TLibDecoder/TDecCu.h,
57324 source/Lib/TLibDecoder/TDecEntropy.cpp,
57325 source/Lib/TLibDecoder/TDecEntropy.h,
57326 source/Lib/TLibDecoder/TDecGop.cpp,
57327 source/Lib/TLibDecoder/TDecGop.h,
57328 source/Lib/TLibDecoder/TDecSbac.cpp,
57329 source/Lib/TLibDecoder/TDecSbac.h,
57330 source/Lib/TLibDecoder/TDecSlice.cpp,
57331 source/Lib/TLibDecoder/TDecSlice.h,
57332 source/Lib/TLibDecoder/TDecTop.cpp,
57333 source/Lib/TLibDecoder/TDecTop.h,
57334 source/Lib/TLibEncoder/AnnexBwrite.h,
57335 source/Lib/TLibEncoder/CMakeLists.txt,
57336 source/Lib/TLibEncoder/NALwrite.cpp,
57337 source/Lib/TLibEncoder/NALwrite.h,
57338 source/Lib/TLibEncoder/SEIwrite.cpp,
57339 source/Lib/TLibEncoder/SEIwrite.h,
57340 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
57341 source/Lib/TLibEncoder/SyntaxElementWriter.h,
57342 source/Lib/TLibEncoder/TEncAnalyze.cpp,
57343 source/Lib/TLibEncoder/TEncAnalyze.h,
57344 source/Lib/TLibEncoder/TEncBinCoder.h,
57345 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
57346 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
57347 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
57348 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
57349 source/Lib/TLibEncoder/TEncCavlc.cpp,
57350 source/Lib/TLibEncoder/TEncCavlc.h,
57351 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
57352 source/Lib/TLibEncoder/TEncCu.h,
57353 source/Lib/TLibEncoder/TEncEntropy.cpp,
57354 source/Lib/TLibEncoder/TEncEntropy.h,
57355 source/Lib/TLibEncoder/TEncGOP.cpp,
57356 source/Lib/TLibEncoder/TEncGOP.h,
57357 source/Lib/TLibEncoder/TEncPic.cpp,
57358 source/Lib/TLibEncoder/TEncPic.h,
57359 source/Lib/TLibEncoder/TEncPreanalyzer.cpp,
57360 source/Lib/TLibEncoder/TEncPreanalyzer.h,
57361 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
57362 source/Lib/TLibEncoder/TEncRateCtrl.h,
57363 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
57364 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
57365 source/Lib/TLibEncoder/TEncSbac.cpp,
57366 source/Lib/TLibEncoder/TEncSbac.h,
57367 source/Lib/TLibEncoder/TEncSearch.cpp,
57368 source/Lib/TLibEncoder/TEncSearch.h,
57369 source/Lib/TLibEncoder/TEncSlice.cpp,
57370 source/Lib/TLibEncoder/TEncSlice.h,
57371 source/Lib/TLibEncoder/TEncTop.cpp,
57372 source/Lib/TLibEncoder/TEncTop.h,
57373 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
57374 source/Lib/TLibEncoder/WeightPredAnalysis.h,
57375 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
57376 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/Lib/libmd5/MD5.h,
57377 source/Lib/libmd5/libmd5.c, source/Lib/libmd5/libmd5.h,
57378 source/compat/msvc/stdint.h:
57379 commit JCT-VC HM source with cmake based build scripts
57380
57381 HM-10.0-dev@3375 with some parts trimmed and some trivial folder
57382 reorgs
57383
57384 https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/
57385 [09fe40627f03]
57386