Preliminary support for ARMv7:
[deb_x265.git] / ChangeLog
CommitLineData
72b9787e
JB
12014-10-31 Steve Borho <steve@borho.org>
2
3 * source/encoder/encoder.cpp:
4 encoder: emit an Active Parameter Sets SEI in stream headers if
5 interlaced
6
7 The APS is technically required if we're going to be emitting
8 picture timing SEI which we do for HRD and for interlaced inputs.
9 The lack of APS for interlaced content was causing a warning from
10 the HM decoder and on Windows the decoder would later crash.
11 [5e604833c5aa] [1.4] <stable>
12
132014-10-30 Steve Borho <steve@borho.org>
14
15 * source/encoder/slicetype.cpp:
16 slicetype: fix an msvc warning
17 [c369e6a12710]
18
192014-10-30 Min Chen <chenm003@163.com>
20
21 * source/common/x86/asm-primitives.cpp,
22 source/common/x86/ipfilter8.asm:
23 asm: AVX2 version luma_vpp[4x4], improve 391c -> 302c
24 [f0f073deb207]
25
26 * source/common/x86/ipfilter8.asm:
27 asm: replace constant table tab_c_512 by pw_512
28 [b39313659e71]
29
30 * source/common/x86/ipfilter8.asm:
31 asm: replace constant table tab_c_128 by pb_128
32 [7bb7f03d3e6b]
33
342014-10-30 Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
35
36 * source/common/lowres.cpp, source/common/lowres.h,
37 source/encoder/slicetype.cpp:
38 lowres: save intra mode in lowres
39 [7047fec7140a]
40
412014-10-30 Steve Borho <steve@borho.org>
42
43 * doc/reST/api.rst:
44 doc: make a note about how to ensure the version number is accurate
45 [f807d346663e]
46
47 * source/encoder/encoder.cpp:
48 encoder: fix some obviously incorrect comments
49 [de28d1b07e6f]
50
51 * doc/reST/cli.rst, source/common/param.cpp,
52 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
53 Merge with stable
54 [0f14e29eceb1]
55
56 * source/encoder/encoder.cpp:
57 encoder: give more warnings when features are automatically disabled
58
59 and add comments describing why the combinations are prevented. Some
60 of them are simply impossible, the option would have no affect and
61 so it is best not to pretend it is enabled. Some will not be useful
62 (have a negative impact on performance with no compression
63 improvement). And others are just currently broken and not typically
64 used.
65 [ba3193adff60] <stable>
66
67 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp,
68 source/x265.h:
69 api: allow --psy-rdoq values up to 50; it can be beneficial for film
70 grain
71 [73c243602b07] <stable>
72
73 * source/encoder/analysis.cpp:
74 analysis: remove TODO comment, I've given up on the idea
75 [31d648740464]
76
772014-10-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
78
79 * source/encoder/analysis.cpp, source/encoder/search.cpp,
80 source/encoder/search.h:
81 search: move m_bestME[] from search to Mode structure
82 [a147b3b6c2f7]
83
842014-10-29 Steve Borho <steve@borho.org>
85
86 * doc/reST/cli.rst, doc/reST/threading.rst, source/x265.h:
87 docs: improve --pmode documentation, the feature is fully functional
88 [9b73a4d2210a] <stable>
89
90 * source/encoder/analysis.cpp, source/encoder/analysis.h:
91 analysis: inline checkBestMode(), improve comments
92 [86ca1de606e3]
93
94 * source/encoder/analysis.cpp:
95 Merge with stable
96 [2b7d08c60105]
97
98 * source/test/CMakeLists.txt, source/test/testpool.cpp:
99 cmake: remove obsolete pool test
100 [393eb6c95e7c]
101
102 * source/encoder/analysis.cpp, source/encoder/analysis.h,
103 source/encoder/frameencoder.cpp, source/encoder/search.cpp,
104 source/encoder/search.h:
105 search: nits - pull Mode out of Search class, remove unused
106 NUM_LAYERS
107 [2bcf4e77b4bf]
108
109 * source/encoder/analysis.cpp:
110 analysis: do not allow top-skip and depth earlyout in --pmode with
111 --rd 5/6
112
113 Now outputs match or are better than those without --pmode
114 [476acb7a4088] <stable>
115
1162014-10-29 Min Chen <chenm003@163.com>
117
118 * source/common/x86/asm-primitives.cpp:
119 asm: correct wrong index name
120 [3995c5e0f313] <stable>
121
1222014-10-29 Steve Borho <steve@borho.org>
123
124 * source/encoder/analysis.cpp:
125 analysis: clarify --rd 1
126 [2a719b6e07ee]
127
128 * source/encoder/analysis.cpp:
129 analysis: add #if to make pmode exactly match non-pmode
130
131 This switch will throw away the hard work of some worker thread, so
132 it should only be used for debugging.
133
134 With the flag enabled, pmode matches non-pmode output exactly for RD
135 levels 2, 3 and 4. But RD 5 and 6 still have problems.
136 [e92170188568]
137
138 * doc/reST/cli.rst, doc/reST/presets.rst:
139 Merge with stable
140 [31ed48cdbefe]
141
142 * doc/reST/cli.rst, doc/reST/lossless.rst, doc/reST/presets.rst:
143 docs: update preset table and various command line options
144 [812ce345a14d] <stable>
145
146 * source/encoder/analysis.cpp, source/encoder/search.cpp:
147 Merge with stable
148 [210967feb8c3]
149
1502014-10-30 Satoshi Nakagawa <nakagawa424@oki.com>
151
152 * source/common/predict.cpp, source/common/predict.h,
153 source/encoder/analysis.cpp, source/encoder/search.cpp:
154 fix rd=0,1
155 [41220fab15c1] <stable>
156
1572014-10-29 Ashok Kumar Mishra <ashok@multicorewareinc.com>
158
159 * source/encoder/search.cpp:
160 search: nit
161 [27827068b3ec]
162
1632014-10-29 Steve Borho <steve@borho.org>
164
165 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
166 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
167 api: expose deblocking filter offsets as public params, deprecate
168 --[no-]lft
169
170 It was always a bit unfortunate to base the deblock param name on
171 loop filter when HEVC has two (deblock and SAO).
172
173 Now we support --deblock=<int>:<int> and similar options as x264
174 does
175 [f58a1cc0126a]
176
177 * source/x265.h:
178 api: improve comment for bEnableCbfFastMode
179 [f834d2e8195f]
180
181 * source/encoder/analysis.cpp, source/encoder/analysis.h,
182 source/encoder/search.cpp, source/encoder/search.h:
183 search: relocate intra in inter functions to search.cpp
184 [fe3b88e11f44]
185
186 * source/encoder/analysis.cpp, source/encoder/search.cpp:
187 Merge with stable
188 [f5603998be03]
189
190 * source/encoder/analysis.cpp:
191 analysis: fix for --rd 0, do not assume a CU is only inter or intra
192 [3aec7242d0be] <stable>
193
194 * source/encoder/analysis.cpp, source/encoder/search.cpp,
195 source/encoder/search.h:
196 search: split generateCoeffRecon() into its two callers, improve
197 comments
198
199 The function consisted of a big if (inter) else (intra) expression
200 and it had only two callers, one which knew it was inter and one
201 which knew it was intra.
202 [7c2b831e52fb]
203
2042014-10-29 gopi jayaraman <gopi@multicorewareinc.com>
205
206 * source/encoder/analysis.cpp:
207 analysis: rect cost compare typo fix for pmode
208 [da5ba239bf59] <stable>
209
2102014-10-28 Steve Borho <steve@borho.org>
211
212 * source/encoder/search.cpp:
213 search: ensure RDOQ entropy state is always initialized for chroma
214 intra
215
216 Fixes non-determinism seen in --preset slow and lower
217 [afb216f71318] <stable>
218
219 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
220 uncrustify.bat, source/Lib/COPYING.HM, source/Lib/README.txt,
221 source/Lib/TLibCommon/CommonDef.h,
222 source/Lib/TLibCommon/ContextTables.h,
223 source/Lib/TLibCommon/TComDataCU.cpp,
224 source/Lib/TLibCommon/TComDataCU.h,
225 source/Lib/TLibCommon/TComMotionInfo.cpp,
226 source/Lib/TLibCommon/TComMotionInfo.h,
227 source/Lib/TLibCommon/TComPattern.cpp,
228 source/Lib/TLibCommon/TComPattern.h,
229 source/Lib/TLibCommon/TComPicSym.cpp,
230 source/Lib/TLibCommon/TComPicSym.h,
231 source/Lib/TLibCommon/TComPicYuv.cpp,
232 source/Lib/TLibCommon/TComPicYuv.h,
233 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
234 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
235 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
236 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
237 source/Lib/TLibCommon/TComWeightPrediction.cpp,
238 source/Lib/TLibCommon/TComWeightPrediction.h,
239 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
240 source/Lib/TLibCommon/TypeDef.h,
241 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
242 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
243 source/Lib/TLibEncoder/TEncSearch.cpp,
244 source/Lib/TLibEncoder/TEncSearch.h, source/common/vec/blockcopy-
245 sse3.cpp, source/encoder/cturow.cpp, source/encoder/cturow.h,
246 source/encoder/predict.cpp, source/encoder/predict.h:
247 Merge with default (prep for 1.4 release)
248 [24b4177ea1ec] <stable>
249
250 * source/encoder/search.cpp:
251 search: trModeC -> tuDepthC
252 [7cfc1edb083f]
253
254 * source/encoder/entropy.cpp:
255 entropy: simplify loadIntraDirModeLuma
256 [42566b53b96d]
257
258 * source/encoder/analysis.cpp, source/encoder/search.cpp,
259 source/encoder/search.h:
260 search: make getIntraRemModeBits() const
261 [c561b0e99684]
262
263 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
264 source/encoder/entropy.h, source/encoder/search.cpp:
265 search: add a fast method for estimating non-MPM intra mode signal
266 cost
267 [9cdc7c61d3fb]
268
269 * source/encoder/analysis.cpp, source/encoder/search.cpp:
270 search: move getIntraDirLumaPredictor() into getIntraRemModeBits()
271 [9cc367aa2b40]
272
273 * source/encoder/analysis.cpp, source/encoder/search.cpp,
274 source/encoder/search.h:
275 search: use fast-path to get mpm mode signal cost
276
277 inline single caller of getIntraModeBits
278 [5b1d67874dd3]
279
280 * source/encoder/entropy.cpp, source/encoder/entropy.h:
281 entropy: make a fast const method for getting MPM mode signal cost
282 [7400828ccd0e]
283
284 * source/encoder/search.cpp:
285 search: simplify checks for 2x2 chroma blocks
286
287 "log2TrSize == 2 && m_csp != X265_CSP_I444" essentially means that
288 the chroma transform would be 2x2, aka log2TrSizeC == 1.
289
290 In offsetSubTUCBFs(), the chroma tu size is not calculated but
291 implied. We should be able to skip the X265_CSP_I444 check since the
292 function should only be called by 4:2:2 encodes that code two half-
293 sized chroma blocks per luma block
294 [90e1b515a364]
295
296 * source/encoder/search.cpp:
297 search: remove redundant work from residualTransformQuantInter()
298 [252f886f4871]
299
300 * source/common/cudata.cpp, source/common/cudata.h,
301 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
302 source/encoder/search.cpp:
303 cudata: split getQuadtreeTULog2MinSizeInCU() into intra/inter
304 functions
305
306 The caller usually knows what the CU prediction mode is
307 [98573a12738d]
308
309 * source/encoder/search.cpp:
310 search: remove redundant logic
311 [689e105ae41f]
312
313 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
314 uncrustify.bat:
315 doc: remove uncrustify helper scripts
316
317 I don't expect a lot of whole-new file development or wholesale
318 style enforcement. Leave the config script in place for new
319 developers.
320 [f91c01f6ca83]
321
3222014-10-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
323
324 * source/encoder/search.cpp:
325 [OUTPUT CHANGED for 422] made loops for chroma components in
326 xEstimateResidualQT()
327
328 The output change for 422 is valid. Initially the no. of bits(cbf
329 and coeff.) were calculated per block and per chroma component. Now
330 the no. of bits are calculated per chroma component.
331 [554dd4aad4a0]
332
3332014-10-27 Steve Borho <steve@borho.org>
334
335 * source/encoder/search.h:
336 search: sync up argument names between source and header
337 [fa79ec52c34d]
338
339 * source/encoder/search.cpp, source/encoder/search.h:
340 search: remove x prefixes from inter residual coding functions
341 [da3191896381]
342
343 * source/encoder/search.cpp, source/encoder/search.h:
344 search: use Cost instances to accumulate costs in
345 xEstimateResidualQT
346 [efe17882bca5]
347
348 * source/encoder/search.cpp:
349 search: nits
350 [4ad4ba77a339]
351
352 * source/common/cudata.cpp, source/common/cudata.h:
353 cudata: coding style nits
354
355 * reorder arguments so outputs are listed first
356 * pass const by reference
357 * return single integer output rather than pass by reference
358 * A == 0 ? B : C => A ? C : B;
359 * standardized variable names (puIdx, absPartIdx, etc)
360 [4afcdb09550e]
361
362 * source/common/cudata.cpp, source/common/cudata.h:
363 cudata: perform MV scaling directly within POC distance function
364
365 this avoids some code duplication and is also a bit more efficient
366 [59df6b4fe1d7]
367
368 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
369 source/encoder/slicetype.h:
370 slicetype: remove top-level Encoder pointer from Slicetype
371
372 Move the slice type assignment earlier to happen even before the
373 picture is given to the lookahead
374 [3ccb20b6c022]
375
376 * source/encoder/encoder.cpp:
377 encoder: nit cleanup of code copying data from input picture
378 [84f4cb50fe46]
379
380 * source/common/cudata.cpp, source/common/deblock.cpp,
381 source/common/frame.h, source/common/predict.cpp,
382 source/common/predict.h, source/common/quant.cpp,
383 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
384 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
385 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
386 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp,
387 source/encoder/sao.cpp, source/encoder/slicetype.cpp,
388 source/encoder/slicetype.h:
389 fix some header include loops
390 [fd95b6a592ee]
391
392 * source/common/frame.cpp, source/common/frame.h,
393 source/encoder/encoder.cpp:
394 frame: initialize and re-initialize m_bChromaExtended
395
396 fixes some non-determinism
397 [0fc522bebda5]
398
3992014-10-27 Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
400
401 * source/common/param.cpp, source/encoder/encoder.cpp,
402 source/encoder/search.cpp:
403 Set tuQTMaxLog2Size to MIN(5, maxLog2CUSize)
404
405 This allows 32x32 TUs even when --ctu 32 is used, for instance
406 [14388f2a7a88]
407
408 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp:
409 Add CLI option to enable/disable Temporal MVP
410 [f6f662559bde]
411
412 * source/CMakeLists.txt, source/common/cudata.cpp,
413 source/common/param.cpp, source/common/slice.h,
414 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
415 source/x265.h:
416 Add flag to enable/disable temporal MVP
417 [ef27c0eb2fd6]
418
4192014-10-27 Min Chen <chenm003@163.com>
420
421 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
422 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
423 asm: AVX2 version of luma_pp[4x4], improve 320c -> 188c
424 [52ba1fb2227e]
425
4262014-10-27 Steve Borho <steve@borho.org>
427
428 * source/encoder/analysis.cpp:
429 analysis: simplify logic slightly, combine conditionals
430 [d62838b20805]
431
432 * source/encoder/analysis.cpp:
433 analysis: fix a typo in --rd 5 --rect
434 [685127dfd466]
435
436 * source/encoder/analysis.cpp:
437 analysis: allow AMP to work at 64x64 with --pmode and --rd 5
438 [0f71dcb02c59]
439
440 * source/encoder/search.cpp:
441 search: leave a helpful comment to avoid unfortunate reordering
442 [26e1574a5424]
443
444 * source/common/predict.cpp, source/common/predict.h,
445 source/encoder/search.cpp:
446 predict: cache color space dimension shifts, use in search.cpp
447 [c36cfbbb7133]
448
449 * source/encoder/analysis.cpp:
450 analysis: in RD 5/6 ignore redundant merge candidates
451 [f5f26b4b6487]
452
453 * source/encoder/analysis.cpp:
454 analysis: use same MV range check in merge functions
455 [07482bd07946]
456
457 * source/encoder/analysis.cpp, source/encoder/search.cpp:
458 analysis: defer broadcast sets of merge mv field data until final
459 selection
460
461 The MC / encode functions do not need for the ME sub-parts to be
462 set. This is only needed by later neighbor parts
463 [3d5b73b500d4]
464
465 * source/encoder/search.cpp:
466 search: use member variable from Predict for csp
467
468 There's no need to derefernece the CU for the color space
469 [14ad8ed3792e]
470
471 * source/encoder/entropy.cpp:
472 entropy: nit
473 [3abbf77f3c5a]
474
475 * source/encoder/search.cpp, source/encoder/search.h:
476 search: simplify handling of TU size edge case in
477 extractIntraResultChromaQT
478 [bea22ebe6af1]
479
480 * source/encoder/search.cpp, source/encoder/search.h:
481 search: fixes for chroma tskip coding with placebo preset
482
483 Move the tskip decision after the special logic that deals with 4x4
484 luma, etc A couple of places where tskip == 0 was implied needed to
485 actually set the flag
486 [453d131f974b]
487
488 * source/encoder/search.cpp:
489 search: trMode -> tuDepth, improve clarity
490 [93a1d11c0a6e]
491
492 * source/common/cudata.h:
493 cudata: remove unused setDepthSubParts
494 [9e74e80f2192]
495
496 * source/common/cudata.h, source/encoder/search.cpp:
497 cudata: setTrIdxSubParts() -> setTUDepthSubParts()
498 [a2d70700d53b]
499
500 * source/common/cudata.cpp, source/common/cudata.h,
501 source/common/deblock.cpp, source/common/quant.cpp,
502 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
503 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
504 source/encoder/search.cpp:
505 cudata: renames (m_depth, m_trIdx) -> (m_cuDepth, m_tuDepth)
506
507 No behavior changes
508 [288db4430fcd]
509
510 * doc/reST/cli.rst:
511 docs: update --tu-intra-depth / --tu-inter-depth docs (refs #71)
512 [654ea07f93de]
513
514 * source/encoder/entropy.cpp:
515 entropy: improve check strings and comments
516 [97ca46e10144]
517
518 * source/encoder/search.cpp:
519 search: further --rd-penalty 2 fixes (refs #71)
520 [b0eaff8d1d1a]
521
522 * source/encoder/analysis.cpp:
523 analysis: invalidate slave entropy contexts, to help find bugs
524
525 this function has no effect in non-checked builds
526 [8fd59b57e5e0]
527
528 * source/encoder/analysis.cpp:
529 analysis: checkIntraInInter_rd0_4() needs the entropy context to be
530 initialized
531 [5a3c867cdf57]
532
5332014-10-25 Steve Borho <steve@borho.org>
534
535 * source/encoder/analysis.cpp:
536 analysis: further work on --pmode for --rd 5/6
537
538 Still needs debugging. The results with --pmode enabled have worse
539 compression than without, when used with --rd 5. That should be un-
540 possible.
541 [69277ae804d0]
542
5432014-10-24 gopi jayaraman <gopi@multicorewareinc.com>
544
545 * source/encoder/analysis.cpp:
546 analysis: adding support for --rd 5/6 in compressInterCU_dist() and
547 parallelModeAnalysis()
548 [9e221c8530bc]
549
5502014-10-26 Steve Borho <steve@borho.org>
551
552 * source/encoder/entropy.cpp:
553 entropy: readability nits
554 [78af768201c7]
555
556 * source/common/common.h:
557 common: add support for debug breaks in Xcode
558 [3e4aee59e21d]
559
560 * source/common/param.cpp:
561 param: fix w-s spacing in log messages for --rdpenalty and chroma
562 offsets
563
564 and some nit fixes with braces while I was in the area
565 [d9ce2644307a]
566
5672014-10-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
568
569 * source/encoder/analysis.cpp:
570 analysis: motionCompensation(chroma) needs to be performed for
571 asymmetric merge also
572
573 This fixes a bug introduced in commit (372a8230110a) for rd2
574 rect/amp options
575 [1b555ddd7667]
576
577 * source/encoder/motion.cpp:
578 motion: this emms is required
579 [d32f1ad8d061]
580
581 * source/encoder/analysis.cpp:
582 analysis: cleanup
583 [5fd8b40075a6]
584
5852014-10-27 Satoshi Nakagawa <nakagawa424@oki.com>
586
587 * source/common/cudata.h, source/encoder/frameencoder.cpp:
588 cugeom: fix uninitialized reported by valgrind
589 [3a8f6f685436]
590
5912014-10-25 Steve Borho <steve@borho.org>
592
593 * source/common/cudata.cpp:
594 cudata: validate subCU size against current analysis depth
595 [67d73bffd1fd]
596
597 * source/common/cudata.cpp, source/common/cudata.h:
598 cudata: make sure per-part buffers are allocate for g_maxCUSize
599
600 There are memsets which rely on the data being consecutive, and for
601 this to work they have to be the correct length. This fixes some
602 X265_CHECK failures and possibly some odd behavior with --ctu 32 or
603 --ctu 16
604 [d3a3d6cad8db]
605
606 * source/encoder/search.cpp:
607 search: improve comments in mergeEstimation()
608 [5186635c0536]
609
610 * source/encoder/search.cpp:
611 search: turn some redundant clears of tskip flags into runtime
612 checks
613 [72f2b87c86eb]
614
615 * source/encoder/search.cpp:
616 search: cleanup residualQTIntraChroma
617
618 There was a bug where it was reading tskip before setting it to
619 zero, but fortunately we never allow analysis to set tskip anyway.
620 [4d3797830500]
621
622 * doc/reST/cli.rst:
623 docs: update --tskip and --cu-lossless docs
624 [f81a2cec4183]
625
626 * source/encoder/encoder.cpp:
627 encoder: issue warning and disable --pmode if rdlevel < 2
628 [4e7f9bca6f39]
629
630 * source/encoder/analysis.cpp, source/encoder/search.cpp,
631 source/encoder/search.h:
632 search: remove resiYuv from Mode, keep tmpResiYuv in m_rqt[]
633
634 The residual buffer is always very short lived; there is no reason
635 to keep a copy of it per mode.
636 [08be12894acd]
637
638 * source/encoder/search.h:
639 search: updateCandList() can be a static method
640 [4e8edad1f2e6]
641
642 * source/encoder/search.cpp, source/encoder/search.h:
643 search: inline updateModeCost
644 [e69a8546897a]
645
646 * source/encoder/encoder.cpp:
647 encoder: issue warnings and explicitly disable tskip or culossless
648 if rd < 3
649
650 the analysis code is quite incapable of making these RDO decisions
651 at these RD levels. It's best that these tools never appear to be
652 enabled at these RD RD levels, and to explain why
653 [b2aa1fd68ffa]
654
655 * source/encoder/search.cpp:
656 search: prevent warnings about unused bCheckSplit value
657 [5e8e0e5fb760]
658
659 * source/common/pixel.cpp, source/common/primitives.h,
660 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp,
661 source/test/pixelharness.h:
662 primitives: remove unused calcrecon primitive (assembly needs
663 cleanup)
664 [daa0e77083a7]
665
666 * source/encoder/analysis.cpp, source/encoder/frameencoder.cpp,
667 source/encoder/motion.cpp, source/encoder/search.cpp,
668 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
669 trim x265_emms(), try to only use prior to floating point operations
670 [64bb88dc7cb6]
671
672 * source/encoder/search.cpp:
673 search: avoid a context save at the last recursion depth
674 [d7fbf10efe61]
675
676 * source/encoder/search.cpp:
677 search: improve comments and readability of
678 residualTransformQuantIntra
679 [58545ea1f6af]
680
681 * source/encoder/search.cpp, source/encoder/search.h:
682 search: keep recon QT in pixels, instead of shorts
683
684 This changes outputs, apparently because SSE is now comparing fenc
685 against the clipped recon instead of the un-clipped recon. This was
686 punishing residuals which were close to the pixel dynamic range
687 limits. The user never sees un- clipped pixels, and external
688 distortion metrics always use clipped recon, so it makes sense to do
689 the same here (never mind the obvious perf benefits)
690 [567491c02bf7]
691
692 * source/encoder/search.cpp, source/encoder/search.h:
693 search: remove tskip analysis out of luma chroma normal path
694 [1ea467c9bb22]
695
696 * source/encoder/search.cpp:
697 search: nit. splitted is not a word
698 [794bf8c060d4]
699
700 * source/encoder/analysis.cpp, source/encoder/search.cpp,
701 source/encoder/search.h:
702 search: rename methods that read coeff and recon from RQT struct at
703 final depths
704
705 also reorder arguments and pass reconYuv as a reference
706 [69ee86fd7284]
707
708 * source/encoder/search.cpp:
709 search: give offsetSubTUCBFs a basic comment
710 [67ae716977fd]
711
7122014-10-24 Steve Borho <steve@borho.org>
713
714 * source/encoder/search.cpp, source/encoder/search.h:
715 search: simplify RDO chroma intra coding, changes tskip outputs
716
717 Since the TU layers above tskip's 4x4 are not encoding their
718 residual (they only need distortion, not RD cost) there is no reason
719 to try to preserve the entropy coder state. This gives slightly
720 better compression than before, when tskip is enabled, and I believe
721 it makes the code a lot more maintainable.
722 [2261ad40ffe8]
723
7242014-10-25 Steve Borho <steve@borho.org>
725
726 * source/encoder/search.cpp:
727 search: simplify initTrDepth
728 [ddafaee9bf39]
729
730 * source/encoder/search.cpp:
731 search: reconYuv as ref
732 [f97c6f14a975]
733
734 * source/encoder/search.cpp:
735 search: improve a variable name
736 [b51aceca9bd8]
737
738 * source/encoder/search.cpp, source/encoder/search.h:
739 search: rename a couple chroma intra helper methods
740 [6f964d4cc8ef]
741
7422014-10-24 Steve Borho <steve@borho.org>
743
744 * source/encoder/search.cpp, source/encoder/search.h:
745 search: rename tmpCoeff to coeffRQT, tmpShortYuv to reconQtYuv /
746 resiQtYuv
747
748 Explain why these buffers are allocated to max CU size at every
749 layer, fix a few nits
750 [847c45521c19]
751
752 * source/encoder/search.cpp:
753 search: fix 4:2:2 chroma tskip bit-cost estimation
754 [0fc9c36d0c92]
755
756 * source/common/yuv.cpp, source/common/yuv.h:
757 yuv: add copyPartToPart* methods for recon RQT finalization
758
759 We're switching reconQt to be kept in pixels rather than shorts
760 [d918b786a3e6]
761
762 * source/common/shortyuv.cpp, source/common/shortyuv.h:
763 shortyuv: use absPartIdx for CU/TU part offset like everywhere else
764 [0922d96a74a6]
765
7662014-10-24 Praveen Tiwari <Praveen Tiwari>
767
768 * source/common/x86/pixel-util8.asm:
769 weight_sp: pshufd to handle width 6 for SSE version of asm code
770
771 Backout of 2cb8cdaa7df5
772 [1a07740f85f5]
773
7742014-10-24 Ashok Kumar Mishra <ashok@multicorewareinc.com>
775
776 * source/encoder/entropy.cpp, source/encoder/entropy.h,
777 source/encoder/search.cpp:
778 search: refactored xEstimateResidualQT() to remove cbf flag settings
779 [759c6cbf54fa]
780
781 * source/encoder/search.cpp:
782 search: remove redundant cbf flags setting in xEstimateResidualQT()
783 [363bd8ef6c6b]
784
7852014-10-24 Praveen Tiwari <Praveen Tiwari>
786
787 * source/common/quant.cpp:
788 quant.cpp: nits
789 [5f0838850cb5]
790
7912014-10-24 Ashok Kumar Mishra <ashok@multicorewareinc.com>
792
793 * source/encoder/search.cpp:
794 search: remove unnecessary set of cbf flags in xEstimateResidualQT()
795 [a0c07b8e583b]
796
7972014-10-23 Steve Borho <steve@borho.org>
798
799 * source/CMakeLists.txt:
800 cmake: add -Wno-array-bounds if the compiler supports it
801
802 These warnings have proven to always be spurious
803 [e3a3d17b821c]
804
8052014-10-23 Ashok Kumar Mishra <ashok@multicorewareinc.com>
806
807 * source/encoder/search.cpp:
808 [OUTPUT CHANGED for 444] : considering cbf bits for best cost
809 estimation for 444 format
810 [cfa3750f72a5]
811
8122014-10-23 Steve Borho <steve@borho.org>
813
814 * source/encoder/analysis.cpp:
815 analysis: cleanup checkInter functions
816 [daed2d3f67ba]
817
818 * source/encoder/analysis.cpp:
819 analysis: remove unnecessary set of skip flags in checkInter_rd5_6()
820
821 initSubCU() does this already, and the pred's cu is not being reused
822 [79f0d5f296ef]
823
824 * source/common/quant.cpp, source/common/quant.h,
825 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
826 source/encoder/search.cpp, source/encoder/search.h:
827 search: large mostly mechanical change to pass cu by reference
828 [b2005914aeb7]
829
830 * source/common/cudata.h:
831 cudata: remove unused method
832 [260eee4634a5]
833
834 * source/common/predict.cpp, source/common/predict.h,
835 source/encoder/analysis.cpp, source/encoder/search.cpp:
836 predict: enforce calling conventions, fix wrong side-effects
837
838 use references and consts where possible, order arguments to follow
839 the convention of memcpy (dest, src)
840
841 This exposed a bug in addWeightBi() and addWeightUni(), they were
842 modifying the PU size variables directly instead of making chroma
843 versions. This explains why it seemed to best necessary at times to
844 make seemingly redundant calls to prepMotionCompensation.
845
846 as a side-effect, this commit also removes the 1k 'avg' buffer that
847 bidir allocated on the stack and instead uses the existing
848 tmpPredYuv
849 [ff804d8ab03d]
850
851 * source/common/predict.cpp, source/common/predict.h,
852 source/encoder/analysis.cpp, source/encoder/search.cpp:
853 predict: rename members for clarity, save work in
854 singleMotionEstimation()
855
856 The first thing singleMotionEstimation() did was call
857 getPartIndexAndSize() to get the PU part index and dimensions. Then
858 it called prepMotionCompensation() which did the exact same thing,
859 storing its outputs into member variables. (after predInterSearch()
860 had already done it twice as well)
861
862 Now singleMotionEstimation() and predInterSearch() both directly use
863 the variables initialized by prepMotionCompensation(). Now when the
864 master thread calls its own singleMotionEstimation(), there is much
865 less redundant work
866 [c942de89cbed]
867
868 * source/encoder/search.cpp:
869 search: fix a change of outputs from f3bd6e5a880a, always zero
870 unused refs
871
872 it's not clear why this affects outputs, but it seems better to err
873 on the side of the data being initialized.
874 [8ac590040e8c]
875
876 * source/encoder/analysis.cpp, source/encoder/search.cpp,
877 source/encoder/search.h:
878 search: re-combine --pme with --no-pme code paths
879 [f8ee24fbbede]
880
881 * source/common/cudata.cpp, source/common/cudata.h:
882 cudata: cache numPartInCUSize as a class static
883
884 The obliviates a lot of pointer dereferences in some key functions
885 [2763d49b2e23]
886
887 * source/encoder/entropy.cpp:
888 entropy: drop last use of g_winUnitX, g_winUnitY
889 [77210e81c4ad]
890
891 * source/common/cudata.cpp, source/common/deblock.cpp,
892 source/common/framedata.cpp, source/common/framedata.h,
893 source/common/predict.cpp, source/common/slice.h,
894 source/encoder/encoder.cpp:
895 slice: move numPartitions and numPartInCUSize from FrameData to SPS
896
897 these fields never change, so it made no sense to have copies in
898 every FrameData they are based on CTU size, so SPS made sense
899 [17c5d2cc1335]
900
901 * source/common/cudata.h:
902 cudata: remove default arguments for getPUAboveRightAdi(),
903 getPUBelowLeftAdi()
904 [077015265a08]
905
906 * source/common/cudata.cpp, source/common/cudata.h,
907 source/common/framedata.cpp, source/encoder/analysis.cpp:
908 cudata: simplify allocation / initialization interfaces
909
910 the callers shouldn't need to know details about partitions or coeff
911 buffer sizes
912 [ebaeb6aa5dda]
913
914 * source/encoder/search.cpp:
915 search: use intptr_t for picture stride variables
916 [fa3e1744f125]
917
918 * source/common/cudata.cpp, source/common/cudata.h,
919 source/encoder/analysis.cpp, source/encoder/frameencoder.cpp:
920 cudata: push more data type casts out to callers
921 [bb5814a49de5]
922
923 * source/common/cudata.cpp, source/common/cudata.h,
924 source/encoder/analysis.cpp:
925 cudata: use static array of absolute depth broadcast set functions
926
927 this commit changed the value arguments to these set functions to
928 match the data type of their array, forcing one cast in analysis.cpp
929 to avoid a warning.
930 [f593e0455cbc]
931
9322014-10-22 Steve Borho <steve@borho.org>
933
934 * source/encoder/analysis.cpp:
935 analysis: encodeResidue rewrite, much improved --rd 0
936
937 it's not clear --rd 0 is always correct, but I can encode long clips
938 without hash mistakes and at reasonable bitrates (compared to
939 previous --rd 0). I suspect there is still problems with passing in
940 residual to residualTransformQuantInter() and getting it back in the
941 same ShortYuv instance
942 [bd865dd464bc]
943
944 * source/common/frame.cpp, source/common/frame.h,
945 source/common/framedata.h, source/common/quant.cpp,
946 source/common/quant.h, source/encoder/analysis.cpp,
947 source/encoder/analysis.h, source/encoder/encoder.cpp,
948 source/encoder/frameencoder.cpp, source/encoder/search.cpp:
949 nr: move noise reduction arrays to Quant, simplify its upkeep
950
951 This cleans up a number of layering violations and makes the array
952 management more robust
953 [ce304756a6e4]
954
955 * source/CMakeLists.txt, source/Lib/COPYING.HM, source/Lib/README.txt,
956 source/Lib/TLibCommon/ContextTables.h, source/common/CMakeLists.txt,
957 source/common/contexts.h, source/common/quant.cpp,
958 source/common/quant.h, source/encoder/entropy.cpp,
959 source/encoder/entropy.h:
960 cleanup enough of the context tables to bring them into common/
961
962 This was the last file under Lib/ so the whole folder is now
963 removed.
964 [fd03d43c1a97]
965
966 * source/Lib/TLibCommon/CommonDef.h,
967 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
968 source/Lib/TLibCommon/TypeDef.h, source/common/CMakeLists.txt,
969 source/common/common.cpp, source/common/common.h,
970 source/common/constants.cpp, source/common/constants.h,
971 source/common/cudata.cpp, source/common/cudata.h,
972 source/common/dct.cpp, source/common/deblock.h,
973 source/common/intrapred.cpp, source/common/ipfilter.cpp,
974 source/common/loopfilter.cpp, source/common/param.cpp,
975 source/common/picyuv.h, source/common/pixel.cpp,
976 source/common/primitives.cpp, source/common/quant.h,
977 source/common/scalinglist.cpp, source/common/shortyuv.h,
978 source/common/slice.h, source/common/vec/dct-sse3.cpp,
979 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
980 source/common/x86/asm-primitives.cpp, source/common/yuv.h,
981 source/encoder/bitcost.cpp, source/encoder/encoder.cpp,
982 source/encoder/entropy.cpp, source/encoder/motion.cpp,
983 source/encoder/search.cpp, source/encoder/slicetype.cpp,
984 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp:
985 pull TComRom into common/constants. bring CommonDef and TypeDefs
986 into various
987
988 A number of enums were pulled into cudata.h, one went to slice.h.
989 All the defines went into common.h
990 [bddf8ccf4c94]
991
992 * source/common/cudata.cpp:
993 cudata: nits, use m_encData directly
994 [63cb0c68d0c0]
995
996 * source/encoder/search.h:
997 search: use proper allocation size for m_rqt, fix --preset placebo
998
999 The entropy contexts need to be addressed from 0..4 (full depth)
1000 even if the buffers are only allocated to CU depth 0..3
1001 [a09b45ead8e0]
1002
1003 * source/encoder/analysis.cpp:
1004 analysis: fix --rd 1,2 behavior (broken by 84933c3136ec)
1005
1006 Also includes some fixes for --rd 0
1007 [372a8230110a]
1008
1009 * source/common/cudata.cpp:
1010 cudata: avoid 'char subscript' warnings from GCC
1011 [6716ce0bb043]
1012
1013 * source/common/framedata.cpp, source/common/framedata.h,
1014 source/encoder/encoder.cpp:
1015 framedata: param is now unused
1016 [01e865efd595]
1017
1018 * source/common/frame.cpp, source/common/framedata.cpp,
1019 source/common/framedata.h, source/common/slice.h,
1020 source/encoder/encoder.cpp, source/encoder/framefilter.cpp,
1021 source/encoder/ratecontrol.cpp:
1022 slice: move numCUsInFrame from FrameData to SPS
1023 [9b55f47f2043]
1024
1025 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
1026 framefilter: optimize row-height operations
1027 [a485e3377861]
1028
1029 * source/common/cudata.cpp, source/common/frame.cpp,
1030 source/common/frame.h, source/common/picyuv.cpp,
1031 source/common/picyuv.h, source/common/slice.cpp,
1032 source/common/slice.h, source/encoder/dpb.cpp,
1033 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
1034 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
1035 source/encoder/framefilter.cpp, source/encoder/framefilter.h,
1036 source/encoder/ratecontrol.cpp, source/encoder/reference.cpp,
1037 source/encoder/sao.cpp, source/encoder/search.cpp,
1038 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
1039 slice: move numCuInWidth, numCuInHeight to SPS, remove Frame pointer
1040
1041 Since the SPS defines the picture size and CTU size, it makes sense
1042 to keep these values there. It's a bit annoying removing m_frame
1043 from Slice, but all of its users didn't really want the frame
1044 itself, except in a couple instances (most already had the frame
1045 pointer)
1046 [fe8200af773f]
1047
1048 * source/common/cudata.cpp, source/common/cudata.h,
1049 source/common/deblock.cpp, source/common/predict.cpp,
1050 source/encoder/framefilter.cpp:
1051 cudata: keep a FrameData pointer instead of a Frame pointer
1052
1053 90% of the dereferences of m_frame were to access
1054 m_frame->m_encData. For good reason, all of the encode data needed
1055 by the CU is in m_encData. A few places need to get to the orig pic.
1056 [57f9b1f41b0c]
1057
1058 * source/common/cudata.cpp, source/common/cudata.h,
1059 source/encoder/frameencoder.cpp:
1060 cudata: pass picWidth and picHeight to calcCTUGeoms()
1061
1062 this was the only method which used m_frame for anything other than
1063 accessing m_encData
1064 [5d4828d1b706]
1065
1066 * source/common/cudata.cpp, source/common/cudata.h,
1067 source/encoder/analysis.cpp:
1068 cudata: simplify setQPSubCUs()
1069 [7b87661b8fef]
1070
1071 * source/common/cudata.cpp, source/common/cudata.h,
1072 source/encoder/analysis.cpp, source/encoder/search.cpp:
1073 cudata: consistent names for consistent functionality
1074 [19f79fa18526]
1075
1076 * source/common/cudata.cpp, source/common/cudata.h,
1077 source/encoder/analysis.cpp, source/encoder/search.cpp:
1078 cudata: no need to pass part size to setAll*, it can look it up
1079 itself
1080
1081 It only needed the part size in the past when these were
1082 TComCUMvField methods and they had no access to the part size array
1083 [c55083482d74]
1084
1085 * source/encoder/search.cpp:
1086 search: use helper function to set transform depth
1087 [583484b4a5e7]
1088
1089 * source/common/cudata.cpp, source/common/cudata.h,
1090 source/encoder/search.cpp:
1091 cudata: simplify clearCbf()
1092 [59a39ac95108]
1093
1094 * source/common/cudata.cpp, source/common/cudata.h:
1095 cudata: hoist a number of trivial functions to cudata.h for inlining
1096 [3a4708b0116c]
1097
1098 * source/common/common.h, source/common/cudata.h,
1099 source/common/frame.h:
1100 cudata: clean up a couple defines
1101 [fa10e7328429]
1102
1103 * source/encoder/search.cpp:
1104 search: remove unnecessary parens
1105 [2c42168b58b8]
1106
1107 * source/common/cudata.cpp, source/common/cudata.h,
1108 source/encoder/analysis.cpp, source/encoder/search.cpp:
1109 cudata: remove depth argument to setInterDirSubParts()
1110
1111 Inter dir is coded at the PU level, so it is always at the current
1112 depth
1113 [9430c148eb87]
1114
1115 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1116 source/Lib/TLibCommon/TComMotionInfo.h,
1117 source/common/CMakeLists.txt, source/common/cudata.cpp,
1118 source/common/cudata.h, source/common/deblock.cpp,
1119 source/common/framedata.cpp, source/common/framedata.h,
1120 source/common/predict.cpp, source/common/predict.h,
1121 source/encoder/analysis.cpp, source/encoder/analysis.h,
1122 source/encoder/entropy.cpp, source/encoder/search.cpp,
1123 source/encoder/search.h:
1124 cudata: merge motion field data directly into the CUData
1125
1126 TComCUMvField didn't add anything except overhead
1127 [dbfa9c03d8a3]
1128
1129 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
1130 source/common/cudata.h, source/encoder/analysis.cpp,
1131 source/encoder/search.h:
1132 mvfield: move TComMvField into cudata as MVField
1133
1134 The structure is only used for collecting merge candidates now, and
1135 does not need any constructor
1136 [b7ca971f2a57]
1137
1138 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1139 source/Lib/TLibCommon/TComMotionInfo.h:
1140 mvfield: combine mv buffers into a single allocation
1141 [bbe34d78a627]
1142
1143 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1144 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.cpp,
1145 source/encoder/search.cpp:
1146 mvfield: remove unnecessary depth arguments to set functions
1147
1148 mv and refidx are CU level data, not TU level, so there is never any
1149 need to set the values for a depth other than 0. Remove support for
1150 NxN parts from the switch statement, made the template function
1151 protected
1152 [62f736e7ca47]
1153
1154 * source/encoder/search.cpp:
1155 search: nits
1156 [6da134a66e0f]
1157
1158 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1159 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.cpp,
1160 source/encoder/search.cpp:
1161 mvfield: remove setAllMvField wrapper
1162
1163 When you see how the code unwound, certain optimizations may become
1164 possible
1165 [cdbb818ed024]
1166
1167 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
1168 mvfield: remove setMvField() method
1169 [c1453d40d1cf]
1170
1171 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1172 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
1173 source/common/cudata.h, source/common/framedata.cpp,
1174 source/encoder/analysis.cpp:
1175 mvfield: pass objects by reference, const when possible
1176 [d5d7033e1a04]
1177
1178 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1179 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
1180 cudata: replace clearMvField() with m_partSet calls
1181 [4831aa891f00]
1182
1183 * source/common/cudata.cpp:
1184 cudata: copy mvfield data from CTU in copyFromPic (more --rd 0
1185 fixes)
1186 [b0c6b3a9ccf4]
1187
1188 * source/encoder/entropy.cpp:
1189 entropy: remove only reference to TComCUMvField outside of cudata.h
1190 [564f07d41a6e]
1191
1192 * source/encoder/search.cpp:
1193 search: avoid unnecessary memcopies in inter prediction
1194
1195 Calling setAllMvField() twice is wasteful. At least one, perhaps
1196 both, of them will be overwritten by the final prediction. Better to
1197 set the REF_NOT_VALID manually for uni-predition on the 'other'
1198 list.
1199 [f3bd6e5a880a]
1200
1201 * source/Lib/TLibCommon/CommonDef.h,
1202 source/Lib/TLibCommon/TComMotionInfo.cpp,
1203 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
1204 source/encoder/search.cpp:
1205 defs: remove last traces of REF_PIC_LIST enums, NOT_VALID ->
1206 REF_NOT_VALID
1207 [ed57e2e5c2b6]
1208
1209 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
1210 mvfield: remove getRefIdx and getMvd access methods
1211 [7b94b7de0af5]
1212
1213 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp,
1214 source/common/deblock.cpp, source/common/predict.cpp:
1215 mvfield: remove getMv access method
1216 [eec157891d46]
1217
1218 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1219 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.cpp:
1220 mvfield: remove default arguments, use consistent variable names,
1221 cleanup
1222 [a453285d756d]
1223
1224 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1225 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/entropy.cpp,
1226 source/encoder/search.cpp:
1227 mvfield: class to struct, remove setMvd method
1228 [7b17ecc90937]
1229
1230 * doc/reST/cli.rst:
1231 docs: improve documentation for tskip options
1232 [8aa71d43db99]
1233
1234 * source/encoder/search.cpp:
1235 search: fix --rdpenalty 2, make logic explicit (closes #71)
1236 [ca0090c8fc69]
1237
12382014-10-21 Murugan Vairavel <murugan@multicorewareinc.com>
1239
1240 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
1241 util.h, source/common/x86/pixel-util8.asm:
1242 asm: avx2 asm code for 8bpp and 16bpp vesion of scale1D_128to64
1243 module
1244 [47095aafe91a]
1245
12462014-10-21 Praveen Tiwari <Praveen Tiwari>
1247
1248 * source/common/x86/pixel-util8.asm:
1249 weight_sp: sse version of asm code optimization
1250 [2cb8cdaa7df5]
1251
1252 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
1253 util.h, source/common/x86/pixel-util8.asm:
1254 weight_pp: avx2 asm code as per new interface
1255 [b6bd42615b37]
1256
12572014-10-21 Steve Borho <steve@borho.org>
1258
1259 * source/encoder/analysis.cpp, source/encoder/search.cpp:
1260 fix checked build errors
1261 [61ce6f790f25]
1262
1263 * source/common/picyuv.cpp, source/common/picyuv.h,
1264 source/encoder/encoder.cpp, source/encoder/encoder.h:
1265 picyuv: cache offset arrays in the top-level encoder
1266
1267 All PicYuv generated for a given encoder would generate the same
1268 offset arrays, so they might as well all point to the same memory
1269 [3465ef1eb7fc]
1270
1271 * source/common/cudata.cpp, source/common/cudata.h,
1272 source/encoder/analysis.cpp:
1273 cudata: add a helper function for not-present CUs
1274 [f8c3748eb24d]
1275
1276 * source/common/cudata.h:
1277 cudata: comment nits
1278 [7a2b895d7577]
1279
1280 * source/encoder/search.cpp:
1281 search: move auto var initialization to avoid goto warning
1282 [884bb04709a4]
1283
1284 * source/common/cudata.cpp, source/common/cudata.h,
1285 source/common/deblock.cpp, source/common/quant.cpp,
1286 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
1287 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
1288 source/encoder/search.cpp:
1289 cudata: consistent naming rules for part data (singular, no b prefix
1290 for flags)
1291 [943ebf4f2cf4]
1292
1293 * source/common/cudata.cpp:
1294 cudata: cleanup copy methods, fill in missing copies in
1295 copyFromPic()
1296 [70cb93a0fc26]
1297
1298 * source/common/cudata.h:
1299 cudata: reorder and white-space nits
1300 [ea81e3999545]
1301
1302 * source/common/cudata.cpp, source/common/cudata.h:
1303 cudata: inline single caller of getPartPosition
1304 [2e5df75752c4]
1305
1306 * source/common/cudata.h:
1307 cudata: consistent use of absPartIdx
1308 [bdffb50ff2fd]
1309
1310 * source/common/cudata.cpp, source/common/cudata.h,
1311 source/encoder/analysis.cpp:
1312 cudata: remove unused setCUTransquantBypassSubParts
1313 [708b65ea888d]
1314
1315 * source/common/cudata.cpp, source/common/cudata.h,
1316 source/encoder/analysis.cpp, source/encoder/framefilter.cpp:
1317 cudata: m_cuTransquantBypass will not be set without lossless being
1318 enabled
1319 [19baf4ddfe2f]
1320
1321 * source/common/cudata.cpp:
1322 cudata: nits
1323 [e4fcdc4f802a]
1324
1325 * source/common/cudata.cpp, source/common/cudata.h,
1326 source/encoder/analysis.cpp, source/encoder/search.cpp:
1327 cudata: define copy and broadcast set methods
1328
1329 Pruned a couple of functions which were only called once and were
1330 redundant or could have been done more simply.
1331 [196c2544685b]
1332
1333 * source/common/cudata.cpp, source/common/cudata.h,
1334 source/encoder/analysis.cpp, source/encoder/search.cpp:
1335 cudata: simplify setPartSizeSubParts and friends
1336
1337 These fields are always broadast-set to all sub-parts of the CU
1338 [668dbdd70654]
1339
1340 * source/Lib/TLibCommon/TComDataCU.cpp,
1341 source/Lib/TLibCommon/TComDataCU.h, source/common/CMakeLists.txt,
1342 source/common/cudata.cpp, source/common/cudata.h,
1343 source/common/deblock.cpp, source/common/deblock.h,
1344 source/common/framedata.cpp, source/common/framedata.h,
1345 source/common/predict.cpp, source/common/predict.h,
1346 source/common/quant.cpp, source/common/quant.h,
1347 source/encoder/analysis.cpp, source/encoder/analysis.h,
1348 source/encoder/entropy.cpp, source/encoder/entropy.h,
1349 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
1350 source/encoder/framefilter.cpp, source/encoder/sao.cpp,
1351 source/encoder/search.cpp, source/encoder/search.h:
1352 bring TComDataCU into common/ as CUData
1353 [a560d44d2cbd]
1354
1355 * source/Lib/TLibCommon/TComDataCU.cpp,
1356 source/Lib/TLibCommon/TComDataCU.h, source/common/predict.cpp,
1357 source/common/predict.h, source/encoder/analysis.cpp,
1358 source/encoder/analysis.h, source/encoder/entropy.cpp,
1359 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
1360 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
1361 source/encoder/search.cpp, source/encoder/search.h:
1362 rebrand CU/cuData as CUGeom/cuGeom
1363 [b7503f180eb4]
1364
1365 * source/encoder/encoder.cpp:
1366 encoder: improve comment, frame encoders to not use the worker pool
1367 [34c830359f33]
1368
1369 * source/Lib/TLibCommon/TComDataCU.cpp,
1370 source/Lib/TLibCommon/TComDataCU.h, source/encoder/encoder.cpp,
1371 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
1372 frameencoder: pre-calculate the set of unique geoms for the picture
1373 size
1374
1375 Now the geom sets only need to be calculated once, and they occupy a
1376 minimum amount of memory.
1377 [fe480c4b66be]
1378
1379 * source/encoder/frameencoder.h:
1380 frameencoder: group pointer members together for better alignment
1381 [ca1be14a7d81]
1382
1383 * source/Lib/TLibCommon/TComDataCU.cpp:
1384 cu: nits
1385 [d76b2094d5e6]
1386
1387 * source/Lib/TLibCommon/TComDataCU.cpp:
1388 cu: use memset in setQPSubParts()
1389 [0f452547704c]
1390
1391 * source/Lib/TLibCommon/TComDataCU.cpp,
1392 source/Lib/TLibCommon/TComDataCU.h:
1393 cu: inline single use of setSubPart into setInterDirSubParts
1394 [50d30aaa9823]
1395
1396 * source/Lib/TLibCommon/TComDataCU.h:
1397 cu: remove unused enum NDBFBlockBorderTag
1398 [902fdb066b70]
1399
1400 * source/Lib/TLibCommon/TComDataCU.cpp:
1401 cu: repair original intent of getLastCodedQP(), fix 73c6c9086577
1402 [8ea4c8a389cd]
1403
1404 * source/Lib/TLibCommon/TComDataCU.cpp,
1405 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
1406 source/encoder/analysis.h, source/encoder/entropy.cpp,
1407 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
1408 cu: remove m_cuLocalData from CU, use child offsets instead of
1409 absolute indices
1410
1411 This commit also removes a redundant
1412 'tld.analysis.m_quant.setQPforQuant()' from frameencoder.cpp. This
1413 belonged in compressCTU() and was actually one of the first things
1414 it does.
1415 [411149951603]
1416
1417 * source/Lib/TLibCommon/TComDataCU.cpp,
1418 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
1419 cu: pass m_cuLocalData to loadCTUData()
1420
1421 This is prep-work for removing m_cuLocalData from TComDataCU and
1422 having only a few instances of the array.
1423 [13d410a45434]
1424
1425 * source/Lib/TLibCommon/TComDataCU.cpp:
1426 cu: style nits, no behavior change
1427 [8ab3817fcf97]
1428
1429 * source/encoder/search.cpp, source/encoder/search.h:
1430 search: m_qtTempCoeff[ttype][qtLayer] ->
1431 m_rqt[qtLayer].tmpCoeff[ttype]
1432 [f7f4d9b59430]
1433
1434 * source/encoder/search.cpp, source/encoder/search.h:
1435 search: m_qtTempShortYuv[qtlayer] -> m_rqt[layer].tmpShortYuv
1436
1437 one less malloc to fail
1438 [5a3e8a4a51de]
1439
1440 * source/encoder/search.cpp, source/encoder/search.h:
1441 search: move inter search temp Yuv buffers into RQTData
1442
1443 This makes their allocation (and stride) per depth, which is
1444 hopefully a little more cache friendly
1445 [062c06517722]
1446
1447 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1448 source/encoder/search.h:
1449 search: rename m_rdContexts to m_rqt since its purpose has expanded
1450 [1d3b861ff5bb]
1451
14522014-10-21 gopi jayaraman <gopi@multicorewareinc.com>
1453
1454 * source/encoder/search.cpp:
1455 search: --pme bug fixes with slave threads tie up case
1456 [f5fc662b07cb]
1457
14582014-10-20 Steve Borho <steve@borho.org>
1459
1460 * source/encoder/search.cpp:
1461 search: move the destroy() method to after initSearch()
1462 [60633acf5a3a]
1463
1464 * source/common/frame.cpp:
1465 frame: initialize m_reconPicYuv pointer
1466 [4cff05a46557]
1467
14682014-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1469
1470 * source/encoder/search.cpp:
1471 search: make split choice logic cleaner
1472 [e66f78a6df4f]
1473
1474 * source/encoder/search.cpp:
1475 search: rename variables to mightSplit and mightNotSplit
1476 [b507a636f7e6]
1477
14782014-10-20 Steve Borho <steve@borho.org>
1479
1480 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1481 source/encoder/search.h:
1482 search: use small struct to accumulate costs
1483 [535b9ca17dd3]
1484
1485 * source/encoder/search.cpp:
1486 search: remove shadow variable
1487 [06f5d1594eca]
1488
1489 * source/encoder/search.cpp:
1490 search: improve comments
1491 [dad2c503c21e]
1492
1493 * source/encoder/search.cpp:
1494 search: avoid redundant work in typical path
1495 [0dd4b62f7331]
1496
1497 * source/encoder/search.cpp, source/encoder/search.h:
1498 search: inline single caller of xGetIntraBitsLuma, avoid extra
1499 copies
1500 [ce76838b769f]
1501
1502 * source/encoder/search.cpp, source/encoder/search.h:
1503 search: inline single call of calcIntraLumaRecon
1504
1505 This allows some much needed clarity and to avoid some redundant
1506 work
1507 [791d9a3ad651]
1508
1509 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1510 source/encoder/search.h:
1511 search: rename xRecurIntraCodingQT to codeIntraLumaQT, save a bit of
1512 work
1513 [2cb88ddefc43]
1514
1515 * source/encoder/search.cpp:
1516 search: combine xRecurIntraCodingQT() bCheckFull sections
1517 [8eae86316959]
1518
1519 * source/encoder/search.cpp:
1520 search: add tmpBits to xRecurIntraCodingQT
1521 [4a0498664e3f]
1522
1523 * source/encoder/search.cpp:
1524 search: remove remnants of tqbypass from xRecurIntraCodingQT,
1525 improve var names
1526 [f81c1e3a8788]
1527
1528 * source/encoder/search.cpp, source/encoder/search.h:
1529 search: create a per-depth temp buffer for temporary recon blocks
1530 [9642b0dc0798]
1531
1532 * source/encoder/search.cpp:
1533 search: fix --rdpenalty=2 at --rd 0,1
1534
1535 It needed the same fix for not skipping 32x32 if TU recursion is too
1536 restricted
1537 [0995d74b9b9c]
1538
1539 * source/encoder/search.cpp:
1540 search: use member variable access to current slice and frame, not
1541 the cu's
1542 [8d170703b186]
1543
1544 * doc/reST/cli.rst, source/encoder/search.cpp:
1545 search: clarify --rdpenalty
1546 [d0725a830b8d]
1547
1548 * source/encoder/search.cpp:
1549 search: simplify checkTransformSkip logic
1550
1551 drop !!qp condition, this doesn't appear necessary. we already check
1552 for TQ bypass
1553 [6df8c27c184a]
1554
1555 * source/encoder/encoder.cpp:
1556 encoder: make assignments to Frame::m_intraData and m_interData
1557 unconditional
1558
1559 The check doesn't help anyone. If pic_in->analysisData.intraData was
1560 NULL, the Frame fields are entirely uninitialized.
1561 [b874ac8f5427]
1562
1563 * source/encoder/search.cpp:
1564 search: remove redundant clearCbf call
1565
1566 The logic would not get here if cu->getQtRootCbf(0) didn't return
1567 zero, which implies all three CBF flags are already zero
1568 [5f15e0a7ce9a]
1569
1570 * source/encoder/analysis.cpp, source/encoder/analysis.h,
1571 source/encoder/search.cpp, source/encoder/search.h:
1572 search: move checkIntra from Analysis to Search
1573
1574 This function didn't belong in Analysis
1575 [42bc2e852217]
1576
1577 * source/encoder/search.cpp, source/encoder/search.h:
1578 search: rename xSetResidualQTData to saveResidualQTData and simplify
1579 [7c5713ba1712]
1580
1581 * source/encoder/search.cpp, source/encoder/search.h:
1582 search: do not return CBF=0 distortion from xEstimateResidualQT()
1583
1584 it can be calculated easily if needed
1585 [1882fb0d0d53]
1586
1587 * source/encoder/analysis.cpp:
1588 analysis: nit
1589 [3fad706c702e]
1590
1591 * doc/reST/cli.rst:
1592 doc: update description of --cu-lossless
1593 [e16426ff0679]
1594
1595 * source/encoder/analysis.cpp:
1596 analysis: do not try lossless if best mode had no distortion
1597 [eb284bc32580]
1598
1599 * source/encoder/analysis.cpp:
1600 analysis: copy inter prediction when evaluating lossless
1601 [60bf2a917454]
1602
16032014-10-20 Aarthi Thirumalai <Aarthi Thirumalai>
1604
1605 * source/encoder/ratecontrol.cpp:
1606 rc: fix error in vbv due to access of unreferenced refFrame data
1607 [6d1b8b8c0d7a]
1608
16092014-10-20 Praveen Tiwari <Praveen Tiwari>
1610
1611 * source/common/pixel.cpp, source/common/primitives.h,
1612 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
1613 source/encoder/reference.cpp, source/encoder/slicetype.cpp,
1614 source/encoder/weightPrediction.cpp, source/test/pixelharness.cpp:
1615 weighted prediction pixel, interface simplification
1616 [b2f534e54325]
1617
16182014-10-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
1619
1620 * source/encoder/analysis.cpp:
1621 analysis: share the depth, best modes and partitions based on cuAddr
1622 - bug fix
1623 [87515a42e79c]
1624
16252014-10-20 Steve Borho <steve@borho.org>
1626
1627 * source/Lib/TLibCommon/TComDataCU.cpp:
1628 cu: clear transform skip flags in lossless CU copy
1629 [18d9c6d2f212]
1630
1631 * source/Lib/TLibCommon/TComDataCU.h:
1632 cu: re-order part data defines to match allocation order (nit)
1633 [562f844b8f5a]
1634
1635 * source/Lib/TLibCommon/TComDataCU.cpp,
1636 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
1637 source/encoder/analysis.h, source/encoder/search.cpp:
1638 analysis: try lossless encode of only the best mode for each CU
1639
1640 This involved some subtle changes in behavior. TComDataCU::initCTU
1641 and initSubCU now initialize m_cuTransquantBypass to the global
1642 --lossless flag, so in the first pass of analysis it will always be
1643 all non-lossless (typical) or all lossless (when --lossless is
1644 enabled).
1645
1646 Before this change, when "--cu-lossless and !--lossless" the encoder
1647 would try both lossless and non-losseless coding of every option
1648 evaluated for RDO. This roughly doubled the work performed by the
1649 encoder, and because the same TComDataCU instance was being used for
1650 both, it was fragile
1651
1652 After this change, the encoder will only try lossless once per CU
1653 using the best mode found during non-lossless RDO, using a seperate
1654 TComDataCU instance.
1655 [cf127f22ef3b]
1656
1657 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1658 source/encoder/search.h:
1659 search: --pme needs master instance to be passed to slave function
1660
1661 The slave was read its own m_listSelBits instead of those pre-
1662 computed by the master, and then even worse it was updating its own
1663 m_bestME (holding its own output lock) instead of the master's.
1664 [5179bb833cea]
1665
1666 * source/encoder/analysis.cpp:
1667 analysis: nits
1668 [c02dda2693b9]
1669
1670 * source/encoder/analysis.cpp:
1671 analysis: only call checkDQP once per CU, use a consistent reconPic
1672 write policy
1673 [089e256fb32a]
1674
16752014-10-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1676
1677 * source/encoder/search.cpp:
1678 search: cleanup
1679 [7eab67ffff81]
1680
16812014-10-20 Steve Borho <steve@borho.org>
1682
1683 * source/common/framedata.cpp, source/common/framedata.h:
1684 framedata: add pointer to active param structure for that picture
1685
1686 today, this is always the single global param. in the future it may
1687 be different
1688 [c15bb6a0d01f]
1689
16902014-10-19 Steve Borho <steve@borho.org>
1691
1692 * source/Lib/TLibCommon/TComDataCU.cpp,
1693 source/Lib/TLibCommon/TComDataCU.h, source/common/framedata.h,
1694 source/encoder/analysis.cpp, source/encoder/frameencoder.cpp:
1695 cu: move more statistics into FrameData
1696 [32b5ab08cb51]
1697
1698 * source/encoder/search.cpp:
1699 search: nit
1700 [1e09d0395826]
1701
1702 * source/encoder/analysis.cpp:
1703 analysis: fix for --rd 0, always generate chroma prediction for best
1704 merge
1705 [75e42b9db526]
1706
17072014-10-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1708
1709 * source/common/common.h, source/common/pixel.cpp:
1710 pixel: add signed accumulators, these were causing errors in new
1711 primitives
1712 [d24d7c1a43f5]
1713
1714 * source/encoder/analysis.cpp:
1715 analysis: split flag cost is added only if the depth is less than
1716 max depth
1717
1718 removes (some) CHECKED_BUILD errors.
1719 [d1cd4a753d9e]
1720
17212014-10-19 Steve Borho <steve@borho.org>
1722
1723 * source/encoder/analysis.cpp:
1724 analysis: add emergency intra check for --pmode
1725
1726 if all other choices somehow fail, we should always be able to code
1727 intra
1728 [9da983792c7d]
1729
1730 * source/encoder/frameencoder.cpp:
1731 frameencoder: handle non-present CUs correctly when collecting stats
1732 [b575d5bf01e8]
1733
1734 * source/encoder/analysis.cpp:
1735 analysis: handle no-valid-merge more cleanly, simplify
1736 compressInterCU_rd0_4
1737
1738 checkMerge2Nx2N_rd0_4() will set md.bestMode if any of them were
1739 valid, else it will be left NULL. Fixes some rare decoder asserts
1740 when no valid modes is coded
1741 [84933c3136ec]
1742
17432014-10-18 Steve Borho <steve@borho.org>
1744
1745 * source/encoder/ratecontrol.cpp:
1746 rc: fix error message
1747 [a480618a85a3]
1748
1749 * source/encoder/ratecontrol.cpp:
1750 rc: use curEncData.m_numCUsInFrame
1751
1752 Note that the CU count was wrongly calculated before as height *
1753 height, broken by me a couple days ago in 14d5345e257a
1754 [426a279be2b8]
1755
1756 * source/common/framedata.cpp, source/common/framedata.h,
1757 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
1758 source/encoder/slicetype.cpp:
1759 framedata: change 'structure of arrays' to 'array of structures' for
1760 RC stats
1761
1762 This uses fewer mallocs, fewer memsets, and generally better data
1763 locality. It doesn't hurt that the code is more readable.
1764 [6a5d1543b769]
1765
1766 * source/common/frame.cpp, source/common/frame.h,
1767 source/common/framedata.cpp, source/common/framedata.h,
1768 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
1769 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
1770 frame: move rate control data to FrameData, cleanup variable names
1771 [16cf099c8a78]
1772
1773 * source/common/framedata.cpp:
1774 framedata: fix license header
1775 [3810e534830c]
1776
1777 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
1778 source/encoder/sao.h:
1779 sao: move lossless sample restoration functions to framefilter.cpp
1780
1781 These are only called by the framefilter code, and are not directly
1782 related to SAO itself.
1783 [99fccc2a5063]
1784
17852014-10-15 Satoshi Nakagawa <nakagawa424@oki.com>
1786
1787 * source/common/common.h, source/encoder/frameencoder.cpp,
1788 source/encoder/sao.cpp, source/encoder/sao.h:
1789 sao: refine sao merge mode
1790 [f38d218c62d4]
1791
17922014-10-17 Ashok Kumar Mishra <ashok@multicorewareinc.com>
1793
1794 * source/encoder/search.cpp:
1795 search: removed redundant context store
1796 [0a94dccf7c9a]
1797
1798 * source/encoder/entropy.cpp, source/encoder/entropy.h,
1799 source/encoder/search.cpp:
1800 search: removed redundant getAllowedChromaDir function call
1801 [15a7b8d0698e]
1802
18032014-10-18 Steve Borho <steve@borho.org>
1804
1805 * doc/reST/cli.rst, source/common/param.cpp,
1806 source/encoder/analysis.cpp:
1807 analysis: allow --b-intra to work with RD levels < 5 (no behavior
1808 change)
1809
1810 This changes no existing presets. This flag used to default to be
1811 on, but it was ignored at RD levels 0..4. Now it defaults to off,
1812 but is enabled by all the presets that use RD 5 and 6. This commit
1813 re-orders the tools log line to place similar options near each
1814 other
1815 [b9e3cec471c7]
1816
1817 * source/encoder/CMakeLists.txt:
1818 cmake: use -Wno-uninitialized, to avoid confusing clang or older GCC
1819 [66687fc129ff]
1820
18212014-10-17 Steve Borho <steve@borho.org>
1822
1823 * source/common/param.cpp:
1824 param: do not enable fast CBF at faster presets (no behavior change)
1825
1826 This flag has never had any effect at the RD levels these presets
1827 use, so this never had any effect, except showing 'cfm' in the
1828 logged tools list.
1829 [6e7567637dcb]
1830
1831 * source/encoder/analysis.cpp:
1832 analysis: fix --pmode crash, do not look at intra results if not
1833 P_SLICE
1834 [0123cf455f17]
1835
1836 * doc/reST/cli.rst, source/encoder/analysis.cpp,
1837 source/encoder/analysis.h:
1838 analysis: allow --amp to actually work with RD levels < 5
1839
1840 This changes none of the presets or defaults, it just allows
1841 --preset medium --rect --amp to perform as the user would expect
1842 [ff8fb2e06847]
1843
1844 * source/encoder/analysis.cpp, source/encoder/analysis.h,
1845 source/encoder/encoder.cpp:
1846 analysis: don't pass global variables to create methods
1847 [03f5fcca39be]
1848
1849 * source/encoder/analysis.cpp:
1850 analysis: nits
1851 [8bc599ad83ea]
1852
1853 * source/encoder/analysis.cpp:
1854 analysis: consistent use of subPartIdx
1855 [e089d34046d5]
1856
1857 * source/encoder/analysis.cpp:
1858 analysis: streamline parallelModeAnalysis
1859 [807ef6c02d64]
1860
1861 * source/common/predict.cpp, source/common/predict.h:
1862 predict: keep ref indices, rather than mvField pointers
1863 [3f100d527ab3]
1864
1865 * source/common/CMakeLists.txt:
1866 cmake: remove source group for TLibCommon/ in MSVC
1867
1868 Allow the remaining files to be grouped with the rest of common/ for
1869 now
1870 [73ed4c1d2387]
1871
1872 * source/test/CMakeLists.txt, source/test/testharness.h:
1873 cmake: newer GCC/MinGW define __rdtsc and do not like our
1874 redefinition
1875 [b6eb92d35ccb]
1876
1877 * source/encoder/CMakeLists.txt:
1878 cmake: quiet -Wmaybe-uninitialized warnings in encoder/
1879
1880 gcc >= 4.8 is catching false positives from Clip3
1881 (std::min<>(std::max<>)) when the arguments are all known at compile
1882 time. Just shut-up, please.
1883 [c818548cf7c1]
1884
1885 * source/Lib/TLibCommon/TComDataCU.cpp,
1886 source/Lib/TLibCommon/TComPicSym.cpp,
1887 source/Lib/TLibCommon/TComPicSym.h, source/common/CMakeLists.txt,
1888 source/common/deblock.cpp, source/common/frame.cpp,
1889 source/common/frame.h, source/common/framedata.cpp,
1890 source/common/framedata.h, source/common/piclist.cpp,
1891 source/common/predict.cpp, source/common/slice.cpp,
1892 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
1893 source/encoder/dpb.h, source/encoder/encoder.cpp,
1894 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
1895 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
1896 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
1897 source/encoder/sao.cpp, source/encoder/search.cpp,
1898 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
1899 pull TComPicSym into common/ as FrameData
1900
1901 Document the nature in how these are reused by multiple pictures.
1902 Frame::m_picSym was renamed to Frame::m_encData to make the
1903 relationship more clear.
1904 [f3ede27baeee]
1905
1906 * source/Lib/TLibCommon/TComDataCU.cpp,
1907 source/Lib/TLibCommon/TComPicSym.cpp,
1908 source/Lib/TLibCommon/TComPicSym.h, source/common/deblock.cpp,
1909 source/common/lowres.h, source/common/picyuv.cpp,
1910 source/common/picyuv.h, source/common/pixel.cpp,
1911 source/common/predict.cpp, source/common/predict.h,
1912 source/common/primitives.h, source/common/slice.cpp,
1913 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
1914 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
1915 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp,
1916 source/encoder/sao.cpp, source/encoder/slicetype.cpp,
1917 source/encoder/weightPrediction.cpp:
1918 picsym: remove trivial access methods, cleanup
1919
1920 Remove redundant data, use intptr_t more consistently for picture
1921 strides. Yuv stride can stay as int, the strides are never more than
1922 64 bytes. Use uint32_t for block counters
1923
1924 Rename getCU() as getPicCTU() for clarity
1925 [14d5345e257a]
1926
1927 * source/common/picyuv.cpp:
1928 picyuv: fix 16bpp warning
1929 [7cccfdf67502]
1930
19312014-10-17 Murugan Vairavel <murugan@multicorewareinc.com>
1932
1933 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
1934 util8.asm:
1935 asm: avx2 assembly code for 16bpp version of transpose(8, 16, 32 and
1936 64)
1937 [f590933a138a]
1938
19392014-10-17 Steve Borho <steve@borho.org>
1940
1941 * source/encoder/analysis.cpp:
1942 analysis: actually count numRefs, combine depth counters
1943 [53f8765fadbd]
1944
1945 * source/encoder/analysis.cpp:
1946 analysis: further simplify top-skip math
1947
1948 By multiplying both sides by (cuData.numPartitions >> 2) the dynamic
1949 range of the algorithm is increased by up to 8 bits. Removing the
1950 intermediate value allow the combination of the two conditional
1951 expressions
1952 [0829d64dd762]
1953
1954 * source/encoder/analysis.cpp:
1955 analysis: fix msvc warnings
1956 [5eb2916cc8ed]
1957
1958 * source/encoder/analysis.cpp:
1959 analysis: prevent redundant recon work for --rd 3 and 4
1960 [daf4e836f261]
1961
1962 * source/Lib/TLibCommon/TComDataCU.cpp:
1963 cu: cleanup getPartIndexAndSize()
1964 [56fe32e3b7eb]
1965
19662014-10-16 Steve Borho <steve@borho.org>
1967
1968 * source/encoder/analysis.cpp:
1969 analysis: fix for --rd 0, it does not generate recon (just
1970 prediction)
1971 [6b0b2b6cd3b5]
1972
1973 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1974 analysis: split --pmode into its own recursive analysis function
1975
1976 This simplifies compressInterCU_rd0_4() and allows us to limit
1977 --pmode to sane rd levels 2, 3, and 4.
1978 [90fffd9a337f]
1979
1980 * source/encoder/analysis.cpp:
1981 analysis: it should only be necessary to copy recon when not split
1982 [bad798574b22]
1983
1984 * source/encoder/analysis.cpp:
1985 analysis: combine stat collections at the end of CU analysis
1986 [c53f9f7df61e]
1987
1988 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1989 analysis: move recursion early-out logic to a helper function
1990 [6e772638b9e3]
1991
1992 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1993 analysis: move topSkip into a helper function
1994
1995 This will allow us to break up compressInterCU_rd0_4
1996 [774ab320f9c9]
1997
1998 * source/encoder/analysis.cpp:
1999 analysis: simplify addSplitFlagCost slightly
2000 [35c589d92f51]
2001
2002 * source/encoder/analysis.cpp:
2003 analysis: fix typo in addSplitFlagCost
2004 [d5777c2b4179]
2005
2006 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp:
2007 cu: remove trivial getCtxInterDir()
2008 [f33aad115fa1]
2009
2010 * source/Lib/TLibCommon/TComDataCU.cpp,
2011 source/Lib/TLibCommon/TComDataCU.h:
2012 cu: cleanup more copy and init methods
2013 [79a8b694ae25]
2014
2015 * source/Lib/TLibCommon/TComDataCU.cpp,
2016 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
2017 cu: streamline initCTU and initSubCU
2018 [cb5875b1e89f]
2019
2020 * source/Lib/TLibCommon/TComDataCU.cpp,
2021 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
2022 cu: rename initCU() to initCTU()
2023 [d7496c92aa33]
2024
2025 * source/Lib/TLibCommon/TComDataCU.cpp,
2026 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
2027 cu: pass initial QP to initCU
2028 [cfe4c070c59d]
2029
2030 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2031 source/encoder/entropy.cpp, source/encoder/search.cpp:
2032 cu: remove merge index wrappers, document how mvp idx is reused
2033 [2febbee05401]
2034
2035 * source/Lib/TLibCommon/TComDataCU.cpp,
2036 source/Lib/TLibCommon/TComDataCU.h:
2037 cu: remove unused isFirstAbsZorderIdxInDepth
2038 [b0c8b1ab5603]
2039
2040 * source/Lib/TLibCommon/TComDataCU.cpp,
2041 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp,
2042 source/encoder/search.cpp:
2043 cu: remove m_mvpIdx access methods
2044 [d790ac5a2ed9]
2045
2046 * source/Lib/TLibCommon/TComDataCU.cpp,
2047 source/Lib/TLibCommon/TComDataCU.h:
2048 cu: store each CU's data sequentially in memory
2049
2050 This should be more cache friendly
2051 [9d489eb535d3]
2052
2053 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2054 source/encoder/search.h:
2055 search: use consistent absPartIdx for PU offset
2056 [44d321c78d21]
2057
2058 * source/Lib/TLibCommon/TComDataCU.cpp,
2059 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2060 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
2061 source/encoder/search.cpp:
2062 cu: remove m_lumaIntraDir access methods
2063 [776da39f9999]
2064
2065 * source/Lib/TLibCommon/TComDataCU.cpp,
2066 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp,
2067 source/encoder/search.cpp:
2068 cu: remove m_chromaIntraDir access methods
2069 [71d6ff5b0e09]
2070
2071 * source/Lib/TLibCommon/TComDataCU.cpp,
2072 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp:
2073 cu: remove interDir access methods
2074 [c46d2e9e43ef]
2075
2076 * source/Lib/TLibCommon/TComDataCU.h:
2077 cu: white-space cleanups
2078 [c9978e9f94dd]
2079
2080 * source/Lib/TLibCommon/TComDataCU.h:
2081 cu: make setSubPart protected, group getSCUAddr() with encode helper
2082 functions
2083 [ff8a34e35d8d]
2084
2085 * source/Lib/TLibCommon/TComDataCU.cpp,
2086 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2087 source/encoder/entropy.cpp, source/encoder/search.cpp:
2088 cu: remove m_bMergeFlags access methods
2089 [72b5cc8ea5f7]
2090
2091 * source/Lib/TLibCommon/TComDataCU.cpp,
2092 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2093 source/encoder/search.cpp:
2094 cu: remove m_cbf access methods
2095 [2cd6eec80775]
2096
2097 * source/Lib/TLibCommon/TComDataCU.cpp,
2098 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2099 source/common/quant.cpp, source/encoder/entropy.cpp,
2100 source/encoder/search.cpp:
2101 cu: remove m_trIdx access methods
2102 [404a8abfbad5]
2103
2104 * source/Lib/TLibCommon/TComDataCU.cpp,
2105 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2106 source/common/predict.cpp, source/encoder/analysis.cpp,
2107 source/encoder/entropy.cpp, source/encoder/search.cpp:
2108 cu: remove m_log2CUSize access methods
2109 [fc42e88982af]
2110
2111 * source/Lib/TLibCommon/TComDataCU.cpp,
2112 source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp,
2113 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2114 source/encoder/frameencoder.cpp, source/encoder/search.cpp:
2115 cu: remove m_predModes access methods
2116 [9f51ef2afdc6]
2117
2118 * source/Lib/TLibCommon/TComDataCU.cpp,
2119 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
2120 cu: remove m_skipFlag access methods
2121 [99315bb8142c]
2122
2123 * source/Lib/TLibCommon/TComDataCU.cpp,
2124 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp,
2125 source/encoder/search.cpp:
2126 cu: remove m_transformSkip access methods
2127 [cdeaea376021]
2128
2129 * source/Lib/TLibCommon/TComDataCU.cpp,
2130 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2131 source/common/quant.cpp, source/encoder/analysis.cpp,
2132 source/encoder/entropy.cpp, source/encoder/search.cpp:
2133 cu: remove m_cuTransquantBypass access methods
2134 [b8938daa0e69]
2135
2136 * source/Lib/TLibCommon/TComDataCU.cpp,
2137 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2138 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2139 source/encoder/frameencoder.cpp, source/encoder/search.cpp:
2140 cu: remove m_partSizes access methods, rename copyCodedToPic() to
2141 updatePic()
2142 [263c8b73b7aa]
2143
2144 * source/Lib/TLibCommon/TComDataCU.h:
2145 cu: remove wrong or useless comments
2146 [e44ce1d54da3]
2147
2148 * source/Lib/TLibCommon/TComDataCU.cpp,
2149 source/Lib/TLibCommon/TComDataCU.h:
2150 cu: remove x prefixes
2151 [c16837999997]
2152
2153 * source/Lib/TLibCommon/TComDataCU.cpp,
2154 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2155 source/common/quant.cpp, source/encoder/analysis.cpp,
2156 source/encoder/entropy.cpp, source/encoder/search.cpp:
2157 cu: remove m_qp access methods
2158 [f1064a18fd1d]
2159
2160 * source/Lib/TLibCommon/TComDataCU.cpp,
2161 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2162 source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2163 source/encoder/frameencoder.cpp, source/encoder/sao.cpp,
2164 source/encoder/search.cpp:
2165 cu: remove m_depth access methods
2166 [ba3862977dfc]
2167
2168 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2169 source/encoder/search.cpp:
2170 cu: remove getCUMvField
2171 [6c7bee958e2a]
2172
2173 * source/Lib/TLibCommon/TComDataCU.cpp,
2174 source/Lib/TLibCommon/TComDataCU.h, source/encoder/search.cpp:
2175 cu: remove trivial access methods for m_trCoeff
2176 [47ea715be755]
2177
2178 * source/Lib/TLibCommon/TComDataCU.cpp,
2179 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2180 source/encoder/search.cpp:
2181 cu: unify array data types to uint8_t, group like methods together
2182 [a17e618c20cc]
2183
2184 * source/encoder/search.cpp:
2185 search: use pre-calculated partSize
2186 [bedbad51e3de]
2187
2188 * source/encoder/rdcost.h, source/encoder/search.cpp,
2189 source/encoder/search.h:
2190 Merge
2191 [59096255eafe]
2192
2193 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2194 source/encoder/search.h:
2195 search: add sa8dBits field to avoid conflict with RDO's totalBits
2196 [7db432da4269]
2197
2198 * source/encoder/frameencoder.cpp:
2199 frameEncoder: fix eoln
2200 [15fd6c844410]
2201
2202 * source/encoder/search.cpp, source/encoder/search.h:
2203 search: getBlkBits uses no data members, could be a static method
2204 [323876f98fbf]
2205
2206 * source/encoder/search.cpp:
2207 analysis: rename variables for consistency
2208 [78a112dc65fd]
2209
2210 * source/encoder/analysis.cpp:
2211 analysis: fix cut-paste bug in early-out code
2212 [71173ff67162]
2213
2214 * source/common/frame.cpp:
2215 frame: m_totalBitsPerCTU must be allocated even if AQ is disabled
2216 [9d4b9867a685]
2217
2218 * source/encoder/analysis.cpp:
2219 analysis: fix for --rd 0 check failure
2220 [643c6dc10f99]
2221
22222014-10-15 Steve Borho <steve@borho.org>
2223
2224 * source/encoder/encoder.cpp:
2225 Merge
2226 [96c144bf9b3f]
2227
2228 * source/encoder/analysis.cpp:
2229 analysis: minimal documentation for RD levels
2230 [8fe07f3a2311]
2231
2232 * source/encoder/analysis.cpp:
2233 analysis: --rd 1 needs reconYuv to be copied from sub-cu
2234 [abc464814a26]
2235
2236 * source/encoder/analysis.cpp:
2237 analysis: --rd 1 needs reconYuv to be copied to reconPic
2238 [9e623a96246a]
2239
2240 * source/encoder/analysis.cpp:
2241 analysis: move temp array out of conditional
2242
2243 Keeping a pointer to a stack array is not well defined behavior.
2244 Renamed buf_trans to bufTrans, also
2245 [3930ee35b182]
2246
2247 * source/encoder/analysis.cpp:
2248 analysis: only --rd 0 should use encodeResidue()
2249 [ea7d008b9457]
2250
2251 * source/encoder/analysis.cpp:
2252 analysis: at --rd 1, split and best modes only have sa8d cost
2253 [6861366e673f]
2254
2255 * source/encoder/analysis.cpp:
2256 analysis: do not call checkDQP() for --rd 0, the CU is not encoded
2257 [ec1595bc8a76]
2258
2259 * source/encoder/analysis.cpp:
2260 analysis: fix hash mistakes at --rd 2
2261
2262 Do not re-encode merge blocks, as we learned with --rd 6 this does
2263 not work without re-initializing skip flags. But since the CU was
2264 already coded once there is no need to repeat the work.
2265 [6d8bb90381fd]
2266
2267 * source/common/shortyuv.h, source/common/yuv.h:
2268 yuv: short descriptions
2269 [3d8d0dcd1ef9]
2270
2271 * source/common/yuv.cpp, source/common/yuv.h:
2272 yuv: consistent variable naming for clarity
2273
2274 absPartIdx is always the part index (in zorder) of a CU/PU/TU within
2275 a CTU
2276 [e6892e7c73bc]
2277
2278 * source/common/yuv.cpp, source/common/yuv.h:
2279 yuv: inline addClip sub-functions
2280 [632305ea202e]
2281
2282 * source/common/yuv.h:
2283 yuv: nit
2284 [2f1d633afec4]
2285
2286 * source/common/shortyuv.h:
2287 shortyuv: remove width argument to getChromaAddrOffset
2288 [a66f34e6bcd7]
2289
2290 * source/common/predict.cpp, source/common/shortyuv.cpp,
2291 source/common/shortyuv.h, source/common/yuv.cpp,
2292 source/encoder/analysis.cpp, source/encoder/search.cpp:
2293 shortyuv: take only a single size (width == height)
2294 [bfd27a43b034]
2295
2296 * source/common/shortyuv.cpp, source/common/shortyuv.h:
2297 shortyuv: remove m_height and m_cheight
2298 [d60c862b9ae1]
2299
2300 * source/common/yuv.h:
2301 yuv: nits
2302 [84c610604cc0]
2303
2304 * source/common/yuv.cpp, source/common/yuv.h:
2305 yuv: remove width argument to getChromaAddrOffset
2306 [469c92ffccd3]
2307
2308 * source/common/predict.cpp, source/common/shortyuv.cpp,
2309 source/common/yuv.cpp, source/common/yuv.h,
2310 source/encoder/analysis.cpp, source/encoder/search.cpp:
2311 yuv: take only single size (width == height)
2312 [171267587546]
2313
2314 * source/encoder/encoder.cpp:
2315 encoder: ensure TLD.nr is initialized
2316 [829ebca8ff0c]
2317
2318 * source/common/yuv.cpp, source/common/yuv.h:
2319 yuv: remove m_height and m_cheight
2320 [058fb0238cb5]
2321
2322 * source/common/yuv.cpp, source/common/yuv.h:
2323 yuv: remove unused clear() method
2324 [8a1563987a01]
2325
2326 * source/common/frame.cpp, source/common/frame.h,
2327 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
2328 rc: fix for ABR behavior - we need frame->m_totalBitsPerCTU to
2329 replace CU stats
2330
2331 m_totalBitsPerCTU always needs to be allocated and filled in with
2332 the total bit size of each CU, for VBV and non-VBV modes to function
2333 correctly
2334 [ff1123105f64]
2335
2336 * source/common/common.h, source/common/frame.cpp,
2337 source/common/frame.h, source/common/quant.cpp,
2338 source/encoder/analysis.cpp, source/encoder/analysis.h,
2339 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
2340 source/encoder/frameencoder.h, source/encoder/search.cpp,
2341 source/encoder/search.h:
2342 Merge
2343 [999815f31962]
2344
23452014-10-13 Murugan Vairavel <murugan@multicorewareinc.com>
2346
2347 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
2348 util.h, source/common/x86/pixel-util8.asm:
2349 asm: avx2 assembly code for 8bpp version of transpose(8, 16, 32 and
2350 64)
2351 [51416472d14c]
2352
23532014-10-14 Steve Borho <steve@borho.org>
2354
2355 * source/encoder/search.cpp:
2356 search: add a couple TODO comments
2357 [0161608f481a]
2358
2359 * source/encoder/search.cpp:
2360 search: make encodeResAndCalcRdInterCU() a bit more readable
2361 [7bb09720f59c]
2362
2363 * source/encoder/search.cpp:
2364 search: fix one obviously wrong psy-rd check
2365
2366 If measuring psy cost of CBF=0, you measure fenc against pred, not
2367 against zero
2368 [ae8bbb881b9e]
2369
2370 * source/encoder/search.cpp:
2371 search: remove I slice checks from encodeResAndCalcRdInterCU
2372
2373 We do not call this function for I slices, and it already checks for
2374 it
2375 [b78070d1eb47]
2376
2377 * source/encoder/search.cpp:
2378 search: fix initial value of bCodeDQP in encodeResAndCalcRdInterCU
2379 [6c9b28899c8f]
2380
2381 * source/encoder/search.cpp, source/encoder/search.h:
2382 search: inline single caller of getInterSymbolBits()
2383
2384 the code now uses temp vars instead of modifying the mode costs
2385 directly, since the final mode costs are set at the end of this
2386 function
2387 [9d435b9a76ad]
2388
2389 * source/encoder/search.cpp, source/encoder/search.h:
2390 search: inline single caller of xLoadIntraResultChromaQT
2391 [47761a49a3cf]
2392
2393 * source/encoder/search.cpp, source/encoder/search.h:
2394 search: inline single caller of xLoadIntraResultQT
2395 [1c9566ae8dae]
2396
2397 * source/encoder/search.cpp, source/encoder/search.h:
2398 search: inline single caller of xEncIntraHeaderLuma
2399 [27b996ccb80b]
2400
2401 * source/encoder/search.cpp, source/encoder/search.h:
2402 search: inline single caller of xEncIntraHeaderChroma
2403 [532a9a6f4713]
2404
2405 * source/encoder/search.cpp:
2406 search: reorder xRecurIntraChromaCodingQT() for clarity
2407 [bcc8b4f42f53]
2408
2409 * source/encoder/search.cpp, source/encoder/search.h:
2410 search: inline single callers of xGetIntraBitsChroma and
2411 xGetIntraBitsQTChroma
2412 [983e96789f5e]
2413
2414 * source/encoder/sao.cpp:
2415 sao: fix eoln
2416 [d27721f55ea5]
2417
2418 * source/common/common.h:
2419 common: fix eoln, fix merge bug
2420 [a30d82d4d2e7]
2421
2422 * Merge
2423 [badc6dec6b34]
2424
24252014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
2426
2427 * source/Lib/TLibCommon/TComRom.h, source/common/common.h,
2428 source/encoder/frameencoder.cpp:
2429 noiseReduction: replace magic values with readable names
2430 [961240f1ac16]
2431
24322014-10-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
2433
2434 * source/Lib/TLibCommon/TComDataCU.cpp,
2435 source/Lib/TLibCommon/TComDataCU.h,
2436 source/Lib/TLibCommon/TComPicSym.cpp, source/encoder/analysis.cpp,
2437 source/encoder/sao.cpp, source/encoder/search.cpp,
2438 source/encoder/search.h:
2439 cu-lossless: remove redundant lossless buffer
2440
2441 The pixel values in lossless mode can be obtained from the original
2442 yuv buffer itself.
2443 [207d1e432240]
2444
24452014-10-14 Steve Borho <steve@borho.org>
2446
2447 * source/encoder/analysis.cpp:
2448 analysis: match old merge analysis behavior at --rd 5,6
2449 [8ecb949326f9]
2450
2451 * source/encoder/analysis.h:
2452 analysis: reorder prediction modes for easier initialization at RD
2453 <= 4
2454 [2542439de2e6]
2455
2456 * source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2457 source/encoder/analysis.cpp, source/encoder/analysis.h,
2458 source/encoder/frameencoder.cpp:
2459 cu: make CU's frame pointer const, so it's clearly read-only to CU
2460 logic
2461
2462 Required passing a non-const Frame pointer to compressCTU, which is
2463 fine since the frame encoder by definition owns the non-const
2464 object.
2465 [82f22df1bb64]
2466
2467 * source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
2468 source/common/predict.cpp, source/common/predict.h,
2469 source/encoder/entropy.cpp, source/encoder/search.cpp:
2470 cu: make CU's slice pointer const, so its clearly read-only to CU
2471 logic
2472 [fb8b65d7812f]
2473
2474 * source/Lib/TLibCommon/TComDataCU.cpp,
2475 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2476 source/encoder/search.cpp:
2477 cu: return merge candidate count from getInterMergeCandidates()
2478
2479 do not set by reference
2480 [18dbef3d92ea]
2481
2482 * source/encoder/analysis.cpp:
2483 analysis: fix --rd 6 hash mistakes, clear skip flags between merge
2484 candidates
2485 [12a5dfb5bfb9]
2486
2487 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2488 analysis: inline deriveTestModeAMP
2489 [b0df34295958]
2490
2491 * source/encoder/analysis.cpp:
2492 analysis: uhm, try that again
2493 [f5c3121f88b4]
2494
2495 * source/encoder/analysis.cpp:
2496 analysis: checkIntra() is used by all slice types now
2497 [6ed24d5e4a64]
2498
2499 * source/encoder/search.cpp:
2500 search: minor cleanups
2501 [842c664c64ad]
2502
25032014-10-13 Steve Borho <steve@borho.org>
2504
2505 * source/encoder/analysis.cpp:
2506 analysis: simplify addSplitFlagCost(), encode split flag with mode's
2507 context
2508 [c025b698a2d5]
2509
2510 * source/encoder/analysis.cpp:
2511 analsys: add split flag cost to the split prediction (--rd 5/6)
2512 [4ec03ab5a463]
2513
2514 * source/encoder/search.cpp:
2515 search: nits, remove debug memsets
2516 [609cbaffdd9b]
2517
2518 * source/encoder/analysis.cpp, source/encoder/search.cpp:
2519 nits
2520 [2e6bccf560f5]
2521
2522 * source/encoder/analysis.cpp:
2523 analysis: split out more logic for rdlevel 0 & 1
2524
2525 Eventually rdlevels 0 and 1 would have a different compress function
2526 from rdlevels 2, 3 and 4 since they have much different logic around
2527 split and cost decisions. But the first step should be to pull the
2528 topSkip and avgCost into helper functions that could be used by both
2529 functions (to avoid duplicating those features, which I expect will
2530 get lots of attention in the comming weeks)
2531 [898b47f1082f]
2532
2533 * source/encoder/analysis.cpp:
2534 analysis: re-introduce RD level 0 intra hack
2535
2536 It didn't have a comment before, so I didn't understand its purpose.
2537 Placing up a level and adding a comment makes it more clear
2538 [64e516e6d865]
2539
25402014-10-11 Steve Borho <steve@borho.org>
2541
2542 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2543 analysis: add a helper function to deal with split flag bits
2544
2545 we can reasonably do something smart based on RD level in a
2546 consistent manner.
2547 * for high RD levels, we can account for split flag context states
2548 * For low RD levels, we just increment bit counters
2549
2550 this fixes the fact that the skip flag must be considered in the
2551 mvBits stat since all other bits are considered coeff bits. This
2552 should help 2-pass slightly
2553 [ff2142620928]
2554
2555 * source/encoder/analysis.h:
2556 analysis: remove unused m_initialContexts
2557 [9d2b67812d19]
2558
2559 * source/encoder/analysis.h, source/encoder/frameencoder.h:
2560 analysis: move StatisticLog to frameencoder.h
2561 [817192eda811]
2562
2563 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2564 analysis: add attributions for myself
2565 [0024124be46a]
2566
2567 * source/encoder/analysis.cpp:
2568 analysis: remove redundant pointer check
2569 [5461beda34e4]
2570
2571 * source/encoder/search.cpp:
2572 search: fix variable name shadow warnings
2573 [4be77cb8bbea]
2574
2575 * source/common/slice.h, source/encoder/entropy.cpp,
2576 source/encoder/entropy.h, source/encoder/sao.cpp,
2577 source/encoder/sao.h, source/encoder/search.h:
2578 Merge
2579 [20644db535dd]
2580
2581 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2582 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
2583 source/encoder/frameencoder.h:
2584 analysis: clarify and fix CTU stats logging, move to frame encoders
2585 [60bf1877612d]
2586
2587 * source/encoder/analysis.cpp:
2588 analysis: if avoiding skip analysis for lossless encodes, set max
2589 rdcost
2590 [825cd3ca0495]
2591
2592 * source/encoder/analysis.cpp:
2593 analysis: consistent naming of MC PU part index, try not to use temp
2594 CU pointers
2595
2596 Pointers to 'bestCU' tend to cause bugs; best to dereference
2597 md.bestMode->cu directly in case the pointer moves. The compiler is
2598 good about caching derefs
2599 [c12b3abd8d92]
2600
2601 * source/encoder/analysis.cpp:
2602 analysis: merge only ever has one part, within checkMerge2Nx2N_rd0_4
2603 [b3fdd6dcf8b6]
2604
2605 * source/Lib/TLibCommon/TComDataCU.cpp,
2606 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2607 source/encoder/analysis.h:
2608 cu: fix sub-cu pel positioning
2609
2610 The cuData.encodeIdx already included the sub-part offset during
2611 splits (there is one cuData instance per sub-part, not per depth).
2612 So it was wrong to pass the partUnitIdx to the next recursion depth.
2613
2614 It was only being used at the next depth to pass to initSubCU()
2615 which used it to calculate the relative pixel offsets from the
2616 parent CU. But in the new code the parent CU is now the parent CTU,
2617 and so the pel offsets must be calculated relative from the CTU pel
2618 positions. This is what the g_zscanToPel? tables are for.
2619 [c50ae2a64cd9]
2620
2621 * source/encoder/analysis.cpp:
2622 analysis: remove a temp variables used in only one place
2623 [1192a7e45953]
2624
2625 * source/Lib/TLibCommon/TComDataCU.cpp:
2626 cu: remove useless numPartition variable from copyPartFrom()
2627 [75e389fd9b3e]
2628
2629 * source/encoder/analysis.cpp:
2630 analysis: simplify handling of not-present sub-cus
2631 [f8c0d8f0cc71]
2632
2633 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2634 analysis: m_bEncodeDQP should never have been a member variable
2635
2636 The value should always be initialized to m_slice->m_pps->bUseDQP
2637 prior to calling m_entropyCoder.codeCoeff(), and then allow that
2638 function to modify it as it recurses.
2639 [d08c691b11ad]
2640
2641 * source/common/frame.cpp:
2642 frame: fix uninitialized pointer
2643 [06235f8119ca]
2644
2645 * source/Lib/TLibCommon/TComDataCU.cpp,
2646 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
2647 cu: make TComDataCU::copyPartFrom() take a const ref, cleanup
2648
2649 this function did not need to copy m_cuAbove and friends
2650 [69ae969b5d04]
2651
2652 * source/Lib/TLibCommon/TComDataCU.cpp,
2653 source/Lib/TLibCommon/TComDataCU.h, source/encoder/sao.cpp:
2654 cu: remove getLumaOrigYuv() access methods
2655 [88cec6cb806f]
2656
2657 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2658 source/encoder/search.cpp, source/encoder/search.h:
2659 analysis: more ref religion
2660 [44dacb1a44de]
2661
2662 * source/encoder/analysis.cpp:
2663 analysis: use m_slice consistently, not the pointer in the CU
2664 [5b15e657ace9]
2665
2666 * source/encoder/analysis.cpp:
2667 analysis: simplify encodeIntraInInter
2668 [ee7eb64c1c9c]
2669
2670 * source/encoder/search.cpp:
2671 search: minor cleanups and comment improvements
2672 [2e3c07bd52db]
2673
2674 * source/Lib/TLibCommon/TComDataCU.cpp:
2675 cu: white space and comment nits, initSubCU() no longer inits CTU
2676 costs
2677 [e2eea276e6b5]
2678
2679 * source/encoder/analysis.cpp:
2680 analysis: give the splitCU the correct partition index (0..3)
2681
2682 this doesn't currently affect outputs, but it is definitely more
2683 correct
2684 [c7561cbb7b0f]
2685
2686 * source/Lib/TLibCommon/TComDataCU.cpp,
2687 source/Lib/TLibCommon/TComDataCU.h, source/common/frame.cpp,
2688 source/common/frame.h, source/encoder/analysis.cpp,
2689 source/encoder/analysis.h, source/encoder/frameencoder.cpp,
2690 source/encoder/ratecontrol.cpp, source/encoder/search.cpp,
2691 source/encoder/search.h:
2692 cu: move cost variables from TComDataCU to Mode
2693
2694 we use md.bestMode != NULL to determine if no best mode has been
2695 found yet, so we do not have to initialize costs to MAX_INT64 to
2696 simulate that condition. Hopefully this is more robust.
2697
2698 this changes outputs, in a very good way, so I think this fixed a
2699 hidden bug or two
2700 [6bf0d3f1c93d]
2701
2702 * source/common/yuv.h:
2703 yuv: nit
2704 [7b2c95729183]
2705
2706 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2707 source/encoder/search.cpp, source/encoder/search.h:
2708 analysis: settle on fencYuv for 'frame being encoded' or 'original
2709 pixels'
2710
2711 there was no point in analysis and search having different names for
2712 the same pixels. this patch moves responsibility of filling fencYuv
2713 to the caller in a consistent basis
2714 [6f7f54438424]
2715
2716 * source/Lib/TLibCommon/TComDataCU.cpp,
2717 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
2718 cu: remove access methods for neighbor CTUs
2719 [37c229d6f8cc]
2720
2721 * source/encoder/analysis.cpp:
2722 analysis: fixes for --pmode and --rect with --rd 0..4
2723 [c8b4c9be2559]
2724
2725 * source/encoder/analysis.cpp:
2726 analysis: initCU() is only necessary for picSym CTUs, not analysis
2727 CUs
2728 [c218dd4a4c71]
2729
27302014-10-10 Steve Borho <steve@borho.org>
2731
2732 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2733 source/encoder/search.cpp, source/encoder/search.h:
2734 analysis: move fillOrigYUVBuffer to Search
2735
2736 it is not really an analysis functions, it is a coding function
2737 [d1f8ae7710d4]
2738
2739 * source/encoder/analysis.cpp:
2740 analysis: fixes for merge/skip behavior at --rd 6, improve clarity
2741 [f44a21cae332]
2742
2743 * source/encoder/analysis.cpp:
2744 analysis: fix precendence problem in split logic
2745 [8778bf23678b]
2746
2747 * source/encoder/analysis.cpp:
2748 analysis: fix a couple of obvious --rd 6 bugs
2749 [4728d78c0f4d]
2750
2751 * source/encoder/analysis.cpp:
2752 analysis: fix --rd 2 crash, only check intra for P slices
2753 [633056237fb2]
2754
2755 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2756 analysis: greatly simplify checkMerge2Nx2N_rd5_6
2757 [aef32e8b25c1]
2758
2759 * source/Lib/TLibCommon/TComDataCU.h:
2760 cu: fix comments
2761 [d82691c50f7a]
2762
2763 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2764 analysis: pass merge and skip modes to merge analysis functions
2765
2766 It was a layering violation for these functions to access md.pred[]
2767 themselves
2768 [e573d484cd33]
2769
2770 * source/encoder/analysis.h:
2771 analysis: PRED_NxN is no more
2772 [f4aba985d261]
2773
2774 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2775 analysis: nit rename
2776 [083138d1dce1]
2777
2778 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2779 analysis: most merge shared intra path into the main path
2780
2781 The overhead for the nominal I frame path is one NULL pointer check
2782 per CU
2783 [8f77003f3f33]
2784
2785 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2786 analysis: remove checkIntraInInter_rd5_6(), it is the same as
2787 checkIntra now
2788 [e5d3c1eba674]
2789
2790 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2791 source/encoder/search.cpp, source/encoder/search.h:
2792 analysis: move parallel ME from Analysis to Search
2793 [489614317ca8]
2794
27952014-10-09 Steve Borho <steve@borho.org>
2796
2797 * source/encoder/search.cpp, source/encoder/search.h:
2798 search: pass mode to xIntraCodingLumaBlk
2799 [f397acd9d822]
2800
2801 * source/common/CMakeLists.txt, source/common/predict.cpp,
2802 source/common/predict.h, source/encoder/CMakeLists.txt,
2803 source/encoder/predict.cpp, source/encoder/predict.h:
2804 move predict.cpp and predict.h to common/
2805
2806 they don't need any encoder structures
2807 [49c3dd1cad1e]
2808
2809 * source/encoder/search.cpp, source/encoder/search.h:
2810 search: reorder arguments to xIntraCodingChromaBlk for clarity
2811 [4698e9d56cc4]
2812
2813 * source/encoder/search.cpp, source/encoder/search.h:
2814 search: pass mode to getBestIntraModeChroma
2815 [d178113b3111]
2816
2817 * source/encoder/search.cpp, source/encoder/search.h:
2818 search: do not pass fencYuv to residualTransformQuantIntra
2819 [6abf5ed381d7]
2820
2821 * source/encoder/search.cpp, source/encoder/search.h:
2822 search: do not pass fencYuv to xIntraCodingChromaBlk
2823 [dc3be2051459]
2824
2825 * source/encoder/search.cpp, source/encoder/search.h:
2826 search: do not pass fencYuv to xRecurIntraChromaCodingQT
2827 [2b49010309c5]
2828
2829 * source/encoder/search.cpp, source/encoder/search.h:
2830 search: do not pass fencYuv to xEstimateResidualQT()
2831 [2f0020df9464]
2832
2833 * source/Lib/TLibCommon/TComDataCU.h,
2834 source/Lib/TLibCommon/TComPattern.cpp,
2835 source/Lib/TLibCommon/TComPattern.h,
2836 source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt,
2837 source/encoder/analysis.cpp, source/encoder/predict.cpp,
2838 source/encoder/predict.h, source/encoder/search.cpp,
2839 source/encoder/search.h, source/test/intrapredharness.cpp:
2840 predict: merge intra prediction helper routines into Predict
2841 [7505862f3220]
2842
2843 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2844 source/encoder/search.h:
2845 search: do not pass fencYuv to xRecurIntraCodingQT()
2846 [031eeb5ab33f]
2847
2848 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2849 source/encoder/search.h:
2850 search: return distortion from main intra coding functions
2851
2852 This is much cleaner than magically incrementing the CU variables
2853 within these functions. Leave some comments for future work
2854 [2c9b47e8f5ba]
2855
2856 * source/Lib/TLibCommon/TComDataCU.h:
2857 cu: fix a comment
2858 [bbd23323e465]
2859
2860 * source/encoder/search.cpp:
2861 search: use absPartIndex for sub-CU indexing
2862 [c57651640ca8]
2863
2864 * source/encoder/analysis.cpp:
2865 analysis: nits
2866 [8419f83fe8e2]
2867
2868 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2869 source/encoder/search.h:
2870 search: merge sharedEstIntraPredQT with estIntraPredQT
2871 [e90faaac6e4a]
2872
2873 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2874 source/encoder/search.h:
2875 search: do not pass fencYuv to sharedEstIntraPredQT() and
2876 estIntraPredChromaQT()
2877 [d9e76daff312]
2878
2879 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2880 source/encoder/search.h:
2881 search: do not pass fencYuv to estIntraPredQT()
2882 [4adb8b6c440b]
2883
2884 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2885 source/encoder/search.h:
2886 search: do not pass fencYuv to encodeResAndCalcRdSkipCU()
2887 [7cc8d78543e2]
2888
2889 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2890 source/encoder/search.h:
2891 search: do not pass fencYuv to encodeResAndCalcRdInterCU()
2892 [615a8dc3d8db]
2893
2894 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2895 source/encoder/search.h:
2896 search: do not pass fencYuv to generateCoeffRecon()
2897 [875b4c959919]
2898
2899 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2900 source/encoder/search.h:
2901 search: do not pass fencYuv to residualTransformQuantInter
2902 [be855ecfb805]
2903
2904 * source/encoder/search.cpp, source/encoder/search.h:
2905 search: make fencYuv pointers const
2906
2907 in preparation of using mode.origYuv directly. this requires using
2908 const_cast when getting pixel pointers since our performance
2909 primitives do not have const declarations for pointers which are
2910 unharmed.
2911 [c7616e988752]
2912
2913 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2914 source/encoder/search.cpp, source/encoder/search.h:
2915 analysis: move temp residual buffer into Search structure
2916
2917 It is only used by Search methods; the analysis functions do not
2918 need to be aware of it
2919 [d0d3188303b8]
2920
2921 * source/encoder/analysis.cpp, source/encoder/search.h:
2922 analysis: give each Mode a const pointer to its origYuv
2923
2924 This is for convenience, and to save in function parameter overhead
2925 [d1b3de579557]
2926
2927 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2928 source/encoder/ratecontrol.cpp:
2929 Merge
2930 [7d67da2fc327]
2931
29322014-10-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
2933
2934 * source/encoder/analysis.cpp, source/encoder/entropy.cpp:
2935 analysis: remove Inter Part_NxN analysis and encode. This condition
2936 will never be hit.
2937
2938 Also remove check for intra slice in compressInterCUrd5_6
2939 [67aefaf69a6b]
2940
29412014-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
2942
2943 * source/encoder/ratecontrol.cpp:
2944 rc: vbv fix for scene changes
2945
2946 Also, some spacing nits
2947 [d3ee2f362116]
2948
29492014-10-09 Steve Borho <steve@borho.org>
2950
2951 * source/encoder/analysis.cpp:
2952 analysis: parentCTU is now always a reference to the output picSym
2953 CTU
2954 [9b66c54258c2]
2955
29562014-10-08 Steve Borho <steve@borho.org>
2957
2958 * source/Lib/TLibCommon/TComDataCU.cpp,
2959 source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp,
2960 source/common/quant.h, source/encoder/analysis.cpp,
2961 source/encoder/analysis.h, source/encoder/frameencoder.cpp,
2962 source/encoder/rdcost.h, source/encoder/search.cpp,
2963 source/encoder/search.h:
2964 analysis: pass parentCTU as const reference
2965 [a12edeca1cb8]
2966
29672014-10-07 Steve Borho <steve@borho.org>
2968
2969 * source/Lib/TLibCommon/TComDataCU.cpp,
2970 source/Lib/TLibCommon/TComPattern.cpp, source/common/deblock.cpp,
2971 source/common/frame.cpp, source/common/frame.h,
2972 source/common/piclist.cpp, source/common/slice.cpp,
2973 source/common/slice.h, source/encoder/analysis.cpp,
2974 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
2975 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
2976 source/encoder/framefilter.cpp, source/encoder/predict.cpp,
2977 source/encoder/ratecontrol.cpp, source/encoder/sao.cpp,
2978 source/encoder/search.cpp, source/encoder/slicetype.cpp,
2979 source/encoder/weightPrediction.cpp:
2980 frame: remove trivial access methods, major cleanups
2981 [aa90924a8619]
2982
2983 * source/Lib/TLibCommon/TComDataCU.cpp,
2984 source/Lib/TLibCommon/TComDataCU.h,
2985 source/Lib/TLibCommon/TComPattern.cpp,
2986 source/Lib/TLibCommon/TComPicSym.cpp,
2987 source/Lib/TLibCommon/TComPicSym.h,
2988 source/Lib/TLibCommon/TComPicYuv.cpp,
2989 source/Lib/TLibCommon/TComPicYuv.h,
2990 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
2991 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
2992 source/common/CMakeLists.txt, source/common/deblock.cpp,
2993 source/common/frame.cpp, source/common/frame.h,
2994 source/common/lowres.cpp, source/common/lowres.h,
2995 source/common/picyuv.cpp, source/common/picyuv.h,
2996 source/common/quant.cpp, source/common/shortyuv.cpp,
2997 source/common/shortyuv.h, source/common/yuv.cpp,
2998 source/common/yuv.h, source/encoder/analysis.cpp,
2999 source/encoder/analysis.h, source/encoder/encoder.cpp,
3000 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
3001 source/encoder/framefilter.cpp, source/encoder/predict.cpp,
3002 source/encoder/predict.h, source/encoder/ratecontrol.cpp,
3003 source/encoder/ratecontrol.h, source/encoder/reference.cpp,
3004 source/encoder/reference.h, source/encoder/sao.cpp,
3005 source/encoder/sao.h, source/encoder/search.cpp,
3006 source/encoder/search.h, source/encoder/slicetype.cpp,
3007 source/encoder/weightPrediction.cpp:
3008 yuv: bring Yuv, PicYuv classes into common/
3009
3010 Standardized variable naming scheme
3011
3012 pixel *foo Yuv *fooYuv PicYuv *fooPic Frame *fooFrame
3013 [89c388e280e4]
3014
3015 * source/Lib/TLibCommon/TComDataCU.cpp,
3016 source/Lib/TLibCommon/TComDataCU.h,
3017 source/Lib/TLibCommon/TComPattern.cpp,
3018 source/Lib/TLibCommon/TComPattern.h,
3019 source/Lib/TLibCommon/TComYuv.h, source/common/scalinglist.cpp,
3020 source/common/scalinglist.h, source/common/slice.cpp,
3021 source/common/slice.h, source/encoder/analysis.cpp,
3022 source/encoder/analysis.h, source/encoder/encoder.cpp,
3023 source/encoder/entropy.cpp, source/encoder/entropy.h,
3024 source/encoder/frameencoder.cpp, source/encoder/predict.cpp,
3025 source/encoder/predict.h, source/encoder/sao.cpp,
3026 source/encoder/search.cpp, source/encoder/search.h:
3027 encoder: pass cu and cudata by const reference when they are not
3028 modified
3029
3030 This is the beginning round of a sweeping refactor to enforce some
3031 const discipline. The goal is to always pass objects as const
3032 references when a NULL pointer is never allowed and when the object
3033 is unharmed. un-const refs should be used when NULL is not allowed
3034 but the object is modified by the function.
3035
3036 As we add more and more parallelism, we need to enlist the
3037 compiler's help in figuring out which functions are safe to call
3038 without side-effects
3039 [639abb765708]
3040
30412014-10-06 Steve Borho <steve@borho.org>
3042
3043 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3044 source/encoder/search.h:
3045 search: pass mode to more methods, write directly to mode.contexts
3046
3047 rename RDContexts.temp to rqtTemp; only used RQT analysis now
3048
3049 There were a number of cut-paste bugs fixed by removing this extra
3050 step after calling encodeResAndCalcRdInterCU. Nearly half of them
3051 were wrong.
3052 [fc22f7534def]
3053
30542014-10-08 Steve Borho <steve@borho.org>
3055
3056 * source/Lib/TLibCommon/TComDataCU.cpp:
3057 cu: use memset to initialize
3058 [82ee45403840]
3059
30602014-10-06 Steve Borho <steve@borho.org>
3061
3062 * source/Lib/TLibCommon/TComDataCU.cpp,
3063 source/Lib/TLibCommon/TComDataCU.h,
3064 source/Lib/TLibCommon/TComMotionInfo.cpp,
3065 source/Lib/TLibCommon/TComMotionInfo.h,
3066 source/Lib/TLibCommon/TComPicSym.cpp,
3067 source/Lib/TLibCommon/TComPicSym.h, source/encoder/analysis.cpp,
3068 source/encoder/analysis.h:
3069 cu: break pool objects out of TComDataCU
3070 [90c59faddf95]
3071
30722014-10-08 Steve Borho <steve@borho.org>
3073
3074 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3075 analysis: revisit the minDepth logic, outputs much closer to
3076 original now
3077
3078 Bitrates are actually a bit lower than the old version, with
3079 slightly lower SSIM
3080 [be17e2daf0aa]
3081
30822014-10-06 Steve Borho <steve@borho.org>
3083
3084 * source/Lib/TLibCommon/TComDataCU.cpp,
3085 source/Lib/TLibCommon/TComDataCU.h:
3086 cu: remove m_ prefix from tqBypassYuvMemBlock
3087 [36270e784afa]
3088
3089 * source/encoder/analysis.cpp:
3090 analysis: use md auto-var in parallelAnalysisJob()
3091 [561fd92417f0]
3092
30932014-10-08 Steve Borho <steve@borho.org>
3094
3095 * source/encoder/analysis.cpp:
3096 analysis: use correct 'nextContext' from split iterations for split
3097 prediction
3098 [affb40a174da]
3099
3100 * source/encoder/analysis.cpp:
3101 analysis: fixes for recursion from Min Chen
3102
3103 When a part is not present, we must call
3104 splitCU->copyPartFrom(splitCU, ... just to setup the appropriate
3105 depth fields in splitCU, which is horrid but it works for now. This
3106 hack fixes DQP behavior.
3107
3108 The rest of the changes ensure we always pass a valid CABAC context
3109 to the next coded CU (important in the presence of uncoded blocks on
3110 the edges)
3111
3112 With these fixes, I slices match the behavior of the previous
3113 design.
3114 [ce64a6330c5f]
3115
3116 * source/encoder/predict.cpp, source/encoder/predict.h:
3117 pred: rename Prediction::m_slice to Prediction::m_predSlice
3118
3119 to avoid conflict with Analysis::m_slice
3120 [b26d0774e682]
3121
3122 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3123 analysis: pass partUnitIdx to intra functions for initSubCU
3124 [4b888ab917a3]
3125
3126 * source/encoder/analysis.cpp, source/encoder/analysis.h,
3127 source/encoder/frameencoder.cpp:
3128 analysis: remove m_log member variable; an auto-var is sufficient
3129 [400fa7c74b6b]
3130
3131 * source/encoder/analysis.cpp:
3132 analysis: implement bidir MVP refine for --pme
3133
3134 This was the last deliberate difference in output between --pme and
3135 --no-pme
3136 [2876b18af448]
3137
3138 * source/encoder/analysis.cpp:
3139 analysis: handle situation in compressInterCU_rd0_4() where only
3140 split is tried
3141 [9b0eda20ac43]
3142
3143 * source/encoder/analysis.cpp:
3144 analysis: bring compressInterCU_rd5_6() up to date
3145 [5fffec35339e]
3146
3147 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3148 analysis: update split logic in compressInterCU_rd0_4(), simplify
3149 [c2d4a2a72ae1]
3150
31512014-10-07 Steve Borho <steve@borho.org>
3152
3153 * source/encoder/analysis.cpp:
3154 analysis: continue to optimize split logic
3155 [677cdc979e6d]
3156
3157 * source/Lib/TLibCommon/TComDataCU.cpp,
3158 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3159 source/encoder/analysis.h:
3160 analysis: pass depth via cuData, add support for split CU in
3161 checkDQP
3162 [7657c461a1b1]
3163
3164 * source/encoder/entropy.cpp:
3165 nit
3166 [cdab6a9393b1]
3167
31682014-10-06 Steve Borho <steve@borho.org>
3169
3170 * source/Lib/TLibCommon/TComDataCU.cpp,
3171 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
3172 cu: don't pass cuData to copyPartFrom(), it only needs numPartitions
3173
3174 This change came from Min
3175 [46c7f7f15226]
3176
3177 * source/Lib/TLibCommon/TComDataCU.cpp:
3178 cu: nits
3179 [7eb3ef2e19bc]
3180
3181 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3182 analysis: add obviously missing logic
3183 [790d3127dd85]
3184
3185 * source/encoder/analysis.cpp:
3186 analysis: remove best mode logic from checkMerge2Nx2N_rd0_4()
3187
3188 It is always done by the caller based on rd level
3189 [ef3e21a93f3b]
3190
31912014-10-06 gopi jayaraman <gopi@multicorewareinc.com>
3192
3193 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3194 source/encoder/search.h:
3195 search: bring mode structure from analysis for intra functions
3196 [47edb2892258]
3197
3198 * source/encoder/analysis.cpp, source/encoder/analysis.h,
3199 source/encoder/search.cpp, source/encoder/search.h:
3200 search: bring mode structure from analysis
3201 [96fcb12ba04f]
3202
32032014-10-04 Steve Borho <steve@borho.org>
3204
3205 * source/encoder/analysis.cpp, source/encoder/analysis.h,
3206 source/encoder/search.cpp, source/encoder/search.h:
3207 analysis: major refactor of analysis data structures; prep for
3208 --pmode --rd 5
3209 [2d0d40208a59]
3210
32112014-10-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3212
3213 * source/common/pixel.cpp, source/encoder/rdcost.h:
3214 pixel: resolve build errors at high bit depth
3215 [b7eeae24aae6]
3216
3217 * source/encoder/search.cpp, source/encoder/search.h:
3218 psy-rd: modify psy-rd cost decisions in search::xEstimateResidualQT
3219
3220 This function looks to minimizing rate/distortion in the "residual".
3221 Rate is bits taken to encode residual, and distortion is
3222 ssd(original residual, reconstructed residual). It is wrong to
3223 calculate psyCost with psy-energy = E(src, recon) here. psyCost is
3224 now modified as E(orig residual, recon residual).
3225 [d8f1f982eeb7]
3226
3227 * source/common/pixel.cpp, source/common/primitives.h,
3228 source/encoder/rdcost.h:
3229 primitives: add support for 16-bit psyCost calculations
3230 [20946a10c348]
3231
32322014-10-15 Steve Borho <steve@borho.org>
3233
3234 * source/encoder/encoder.cpp:
3235 encoder: ensure nr pointer is initialized
3236 [79702581ec82]
3237
3238 * source/encoder/analysis.h, source/encoder/encoder.cpp,
3239 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
3240 nr nits
3241 [7127239d9404]
3242
32432014-10-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3244
3245 * source/encoder/search.cpp, source/encoder/search.h:
3246 search: rename intra functions that generate recon
3247
3248 Remove wrong comments
3249 [56a04b7c1af0]
3250
32512014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3252
3253 * source/common/common.h, source/common/frame.cpp,
3254 source/common/frame.h, source/common/quant.cpp,
3255 source/encoder/analysis.cpp, source/encoder/analysis.h,
3256 source/encoder/encoder.cpp, source/encoder/encoder.h,
3257 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
3258 noiseReduction: make noiseReduction deterministic for a given number
3259 of frameEncoders.
3260 [f8e0aae88dc8]
3261
32622014-10-13 Murugan Vairavel <murugan@multicorewareinc.com>
3263
3264 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
3265 util.h, source/common/x86/pixel-util8.asm:
3266 asm: avx2 assembly code for 8bpp version of transpose(8, 16, 32 and
3267 64)
3268 [02ff8eaad632]
3269
32702014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3271
3272 * source/Lib/TLibCommon/TComRom.h, source/common/common.h,
3273 source/encoder/frameencoder.cpp:
3274 noiseReduction: replace magic values with readable names
3275 [38b5733cc629]
3276
32772014-10-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3278
3279 * source/Lib/TLibCommon/TComDataCU.cpp,
3280 source/Lib/TLibCommon/TComDataCU.h,
3281 source/Lib/TLibCommon/TComPicSym.cpp, source/encoder/analysis.cpp:
3282 TComDataCU: remove redundant arguments
3283 [f26e81eb555a]
3284
3285 * source/Lib/TLibCommon/TComDataCU.cpp,
3286 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3287 source/encoder/analysis.h, source/encoder/sao.cpp:
3288 cu-lossless: remove redundant lossless buffer
3289
3290 The pixel values in lossless mode can be obtained from the original
3291 yuv buffer itself.
3292 [e7682fc6e2aa]
3293
32942014-10-10 Satoshi Nakagawa <nakagawa424@oki.com>
3295
3296 * doc/reST/cli.rst, source/common/slice.h, source/encoder/entropy.cpp,
3297 source/encoder/level.cpp:
3298 ptl: RExt profiles
3299 [57a30b1c13ea]
3300
33012014-10-09 Satoshi Nakagawa <nakagawa424@oki.com>
3302
3303 * source/common/common.h, source/encoder/entropy.cpp,
3304 source/encoder/entropy.h, source/encoder/sao.cpp,
3305 source/encoder/sao.h:
3306 sao: refine, fix sao-non-deblock [CHANGES OUTPUT (RExt, sao-non-
3307 deblock)]
3308 [1e8ba81a5ee3]
3309
33102014-10-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3311
3312 * source/encoder/analysis.cpp:
3313 Backed out changeset: f231820645fe
3314 [4495af3b30bb]
3315
3316 * source/encoder/analysis.cpp, source/encoder/entropy.cpp:
3317 analysis: remove Inter Part_NxN analysis and encode. This condition
3318 will never be hit.
3319
3320 Also remove check for intra slice in compressInterCUrd5_6
3321 [c880eced4a30]
3322
33232014-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
3324
3325 * source/encoder/ratecontrol.cpp:
3326 rc: vbv fix for scene changes
3327
3328 Also, some spacing nits
3329 [96609efaa877]
3330
33312014-10-08 Steve Borho <steve@borho.org>
3332
3333 * doc/reST/cli.rst, doc/reST/threading.rst:
3334 docs: try to explain behavior of related thread pool options
3335 [4b6a71d53f83]
3336
33372014-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
3338
3339 * source/encoder/analysis.cpp:
3340 analysis: fix for csp:444 decoder crash - CABAC context state
3341 handling
3342 [f231820645fe]
3343
33442014-10-08 Steve Borho <steve@borho.org>
3345
3346 * source/common/param.cpp:
3347 param: combine CTU size and RQT depth log lines (just saves space)
3348 [0a18adcecd7d]
3349
3350 * source/common/param.cpp, source/common/threadpool.cpp,
3351 source/encoder/api.cpp, source/encoder/encoder.cpp:
3352 encoder: move thread pool initialization to create(), handle pool
3353 options better
3354
3355 Previously WPP essentially owned the thread pool and the two
3356 configurations were tied together (disabling WPP disabled the thread
3357 pool and vice-versa). Now we have three features which use the
3358 thread pool and they can be enabled or disabled independently of
3359 WPP.
3360
3361 After this commit, if all the pool features (WPP, PMODE, PME) are
3362 disabled then the thread pool is not created. If --threads 1 is
3363 specified, then no pool is created. When no pool is present, all
3364 pool options are disabled.
3365
3366 Reporting for all the pool options has been moved into the one log
3367 line: x265 [info]: WPP streams / frame threads / pool : 8 / 2 / 4 /
3368 pme / pmode
3369
3370 They didn't really belong on the 'tools' log line since they are not
3371 coding tools like SAO or AMP.
3372
3373 This commit also fixes CTU stats logging in the absence of WPP
3374 [0a0f686606c9]
3375
3376 * source/common/wavefront.cpp, source/encoder/frameencoder.cpp:
3377 frameencoder: fix handling of no thread pool being present
3378
3379 The encoder should run properly without a thread pool instance
3380 [35f422e7e1a1]
3381
33822014-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
3383
3384 * source/encoder/frameencoder.cpp:
3385 frameencoder: allocate memory for SEIPictureTiming when
3386 interlaceMode is enabled
3387 [52677ba0c694]
3388
33892014-10-06 Steve Borho <steve@borho.org>
3390
3391 * source/encoder/analysis.cpp, source/encoder/predict.cpp,
3392 source/encoder/predict.h, source/encoder/search.cpp,
3393 source/encoder/search.h:
3394 analysis: make CU object used in --pme a const object
3395 [46c4b98d92ec]
3396
33972014-10-07 Steve Borho <steve@borho.org>
3398
3399 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
3400 encoder: fix handling of --no-wpp and either --pmode or --pme
3401
3402 in --no-wpp mode, we need to allocate TLD for workers and frame
3403 encoders
3404 [f40aff61e42c]
3405
34062014-10-06 Steve Borho <steve@borho.org>
3407
3408 * doc/reST/cli.rst:
3409 doc: make it clear fast cbf only affects rdlevel 5 and 6
3410 [2c65d39c989e]
3411
34122014-10-05 Aarthi Thirumalai <Aarthi Thirumalai>
3413
3414 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
3415 rc: use a sliding window to calculate moving avg SatdCost for ABR
3416 Reset logic
3417
3418 contains improvements for detection of scene changes within Rate
3419 Control to stabilize qp and prevent extreme spikes in bitrate.
3420 Removes the blockiness or distortions in the frames that a streak of
3421 low-detailed frames and prevents vbv from overreacting at the points
3422 of scene cuts.
3423 [4b7c473c3ef4]
3424
34252014-10-05 Steve Borho <steve@borho.org>
3426
3427 * source/Lib/TLibCommon/TComDataCU.h:
3428 cu: nits
3429 [dad10cdb3573]
3430
3431 * source/Lib/TLibCommon/TComDataCU.cpp,
3432 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3433 source/encoder/search.cpp:
3434 cu: drop m_totalPsyCost, just use m_totalRDCost whether or not psy
3435 is enabled
3436 [d33bc21e3bae]
3437
3438 * source/encoder/analysis.cpp:
3439 analysis: fix CABAC context state handling after splits [CHANGES
3440 OUTPUTS]
3441
3442 In RDlevel<=4, if split is chosen then copy depth+1 next to depth
3443 next
3444
3445 This fixes a long standing bug in presets slow and above, and
3446 improves compression efficiency.
3447 [d07fbd3bdecc]
3448
3449 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
3450 source/encoder/entropy.h, source/encoder/search.cpp,
3451 source/encoder/search.h:
3452 entropy: add a mechanism to detect reads without writes in checked
3453 builds
3454 [ead3d26c7747]
3455
3456 * source/Lib/TLibCommon/TypeDef.h, source/encoder/analysis.cpp,
3457 source/encoder/analysis.h, source/encoder/frameencoder.cpp,
3458 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
3459 source/encoder/sao.cpp, source/encoder/sao.h,
3460 source/encoder/search.cpp, source/encoder/search.h:
3461 entropy: give each Search instance its own set of RD contexts
3462
3463 This gives each ThreadLocalData a complete set of working contexts
3464 so each thread can measure RD cost (for the same row) independent of
3465 one other. There were content problems with the 'temp' and 'rqtRoot'
3466 and 'rqtTest' contexts.
3467
3468 For this to work we have to sync the 'cur' context to the slave
3469 prior to it performing any RD measurements.
3470
3471 This commit finally removes the CI_IDX enums and uses a simple
3472 struct to hold the contexts per depth; and the member variables were
3473 renamed from "m_rdEntropyCoders" to "m_rdContexts" since these
3474 coders are only ever used to save and restore CABAC state (never to
3475 code with)
3476
3477 This change exposed a bug. The next patch adds some tools to catch
3478 this class of bug and the patch after that fixes it.
3479 [5420f2a29522]
3480
3481 * source/common/threadpool.cpp:
3482 threadpool: nit
3483 [ed5b9320afca]
3484
3485 * source/common/threading.cpp:
3486 threading: nits
3487 [1867fb89298c]
3488
3489 * source/CMakeLists.txt:
3490 cmake: nit
3491 [fc856c00d49b]
3492
3493 * source/encoder/entropy.cpp, source/encoder/entropy.h:
3494 entropy: make copy methods properly const
3495 [997b210ab94a]
3496
3497 * source/CMakeLists.txt:
3498 cmake: bump X265_BUILD for new parallelism params
3499 [3c0b9a637349]
3500
35012014-10-04 Steve Borho <steve@borho.org>
3502
3503 * source/encoder/encoder.cpp:
3504 encoder: prevent broken combinations of options
3505
3506 with --no-wpp; something in the slave state is not being initialized
3507 correctly causing crashes in motion estimation
3508 [f312deb51d55]
3509
3510 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3511 analysis: encodeIntraInInter() must write directly to given cabac
3512 context
3513
3514 writing to m_rdEntropyCoders[depth][CI_TEMP_BEST] was not thread
3515 save since the slave thread is using the same m_rdEntropyCoders
3516 objects as the master thread
3517 [45ef431c1490]
3518
35192014-10-03 Steve Borho <steve@borho.org>
3520
3521 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3522 analysis: use enums to enumerate prediction buffers
3523
3524 value 4 was never used, so this reduces the buffer count by one
3525 [c61dca79ea0f]
3526
3527 * source/encoder/analysis.cpp:
3528 analysis: add a hack to try and match --pmode with --no-pmode
3529 [39e5b26733b8]
3530
3531 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3532 analysis: cleanups
3533 [9872cc99362e]
3534
3535 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3536 analysis: measure best pmode intra RD cost in worker thread
3537
3538 it required adding storage for the best intra recon and entropy
3539 state includes prep work for supporting --pmode with --rdlevel > 4
3540 [51f689bede6a]
3541
3542 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3543 analysis: do not pass member vars to checkMerge2Nx2N_rd0_4 as
3544 pointer references
3545 [5e4aa3b6d136]
3546
3547 * source/common/param.cpp:
3548 param: show when pmode and pme are enabled
3549 [5849804cd0c3]
3550
3551 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3552 analysis: remove default argument for compressInterCU_rd5_6
3553 [2351a963a676]
3554
3555 * source/Lib/TLibCommon/TComDataCU.cpp,
3556 source/Lib/TLibCommon/TComDataCU.h,
3557 source/Lib/TLibCommon/TComPattern.cpp,
3558 source/Lib/TLibCommon/TComYuv.h, source/common/deblock.cpp,
3559 source/common/quant.cpp, source/common/quant.h,
3560 source/common/shortyuv.h, source/encoder/analysis.cpp,
3561 source/encoder/entropy.cpp, source/encoder/predict.cpp,
3562 source/encoder/sao.cpp, source/encoder/search.cpp:
3563 TComDataCU: make most get methods const, remove some trivial access
3564 methods
3565 [2e6163426c95]
3566
3567 * source/encoder/analysis.cpp:
3568 analysis: use slave instance for MVP eval for --pme
3569
3570 this avoids a race hazard with Predict::m_immedVals
3571 [15dff1469408]
3572
3573 * source/encoder/analysis.cpp:
3574 analysis: replace prepMotionCompensation() calls in
3575 parallelInterSearch()
3576 [71de0b881801]
3577
3578 * source/encoder/analysis.cpp:
3579 analysis: --pme workers do not need m_origYuv in slave instance
3580 [a6b9e8e235d7]
3581
3582 * source/encoder/analysis.cpp:
3583 analysis: cleanup variable names
3584 [ec0cb8779f84]
3585
35862014-10-02 Steve Borho <steve@borho.org>
3587
3588 * source/encoder/analysis.cpp:
3589 analysis: prevent race hazard in parallel ME state variables
3590
3591 the inserted comment should explain the risk, which manifested in a
3592 deadlock
3593 [70c5681f56b9]
3594
3595 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3596 analysis: parallel ME can get partsize and depth from ME CU
3597 [cf722336b836]
3598
3599 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3600 analysis: support --pme for all rd levels
3601 [dd2acbbd545c]
3602
3603 * source/common/param.cpp, source/encoder/analysis.cpp,
3604 source/x265.cpp, source/x265.h:
3605 api: add --pme to enable parallel motion estimation
3606 [bc99dfbed4b7]
3607
3608 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3609 analysis: further parallelME progress
3610 [4cdc0528e0aa]
3611
36122014-10-01 Steve Borho <steve@borho.org>
3613
3614 * source/common/param.cpp, source/encoder/analysis.cpp,
3615 source/x265.cpp, source/x265.h:
3616 api: add --pmode to enable parallel mode decision
3617 [57f93ba0df23]
3618
36192014-10-02 Steve Borho <steve@borho.org>
3620
3621 * source/encoder/encoder.cpp:
3622 encoder: correct logging of number of WPP streams
3623 [b6d49505b179]
3624
3625 * source/encoder/search.cpp:
3626 search: remove redundant calls to prepMotionCompensation()
3627 [50490cd35e57]
3628
3629 * source/encoder/search.cpp:
3630 search: use sad cost directly to pick MVP
3631
3632 there's no point in use SAD RD cost if all the candidates have the
3633 same estimated bit cost.
3634 [bd6e2cdd5938]
3635
3636 * source/encoder/rdcost.h, source/encoder/search.cpp,
3637 source/encoder/search.h:
3638 search: make some helper methods const
3639 [b17293bb0f19]
3640
36412014-10-01 Steve Borho <steve@borho.org>
3642
3643 * source/encoder/analysis.cpp:
3644 analysis: remove unused variables, fixes warnings
3645 [898a2546aff1]
3646
36472014-10-02 Aarthi Thirumalai <Aarthi Thirumalai>
3648
3649 * source/encoder/ratecontrol.cpp:
3650 rc: correct the threshold for resetABR function
3651 [0212e9832ce7]
3652
3653 * source/encoder/ratecontrol.cpp:
3654 rc : correct max AU size for first frame
3655 [4579fc590099]
3656
36572014-10-02 Satoshi Nakagawa <nakagawa424@oki.com>
3658
3659 * source/Lib/TLibCommon/TComDataCU.cpp,
3660 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3661 source/encoder/analysis.h, source/encoder/entropy.cpp,
3662 source/encoder/entropy.h:
3663 fix bug in 73c6c9086577 for rdLevel=0
3664 [b57c63127527]
3665
36662014-10-01 Steve Borho <steve@borho.org>
3667
3668 * source/encoder/analysis.cpp:
3669 analysis: further work on parallel ME
3670 [c0bbd8d01257]
3671
3672 * source/encoder/analysis.cpp:
3673 analysis: nit, remove obviously wrong comment
3674 [bd3046c4bb36]
3675
3676 * source/encoder/analysis.cpp:
3677 analysis: use source buffer for source stride
3678
3679 it was always a coincidence that the output stride matched
3680 [61e028b5a04e]
3681
3682 * source/encoder/analysis.cpp:
3683 analysis: initialize job counters
3684 [7daea9e6c5ae]
3685
3686 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3687 analysis: remove bMergeOnly argument to checkInter_rd0_4, always
3688 false
3689 [589d4d7e5a72]
3690
3691 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3692 analysis: remove PartSize argument to checkIntraInInter_rd0_4
3693 [0c6fe4a39a32]
3694
36952014-10-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3696
3697 * source/encoder/ratecontrol.cpp:
3698 ratecontrol: fix float absolute check
3699 [2a55baeb89cf]
3700
3701 * source/encoder/ratecontrol.cpp:
3702 ratecontrol: replace an imprecise comparison with a more precise
3703 check to ensure consistency.
3704 [f9922ce58a20]
3705
3706 * source/common/slice.h:
3707 slice: better structure packing
3708 [d0fa09e9cca5]
3709
37102014-09-30 Steve Borho <steve@borho.org>
3711
3712 * source/encoder/analysis.cpp:
3713 analysis: fixup
3714 [3bd852b225b5]
3715
3716 * source/encoder/analysis.cpp:
3717 analysis: move non-distributed path into else clause
3718
3719 this is done in a second patch since it touches a lot of code
3720 trivially so it
3721 [b17ddb5d71f4]
3722
37232014-09-27 Steve Borho <steve@borho.org>
3724
3725 * source/encoder/analysis.cpp, source/encoder/analysis.h,
3726 source/encoder/encoder.cpp, source/encoder/frameencoder.h:
3727 stub in framework for parallel mode analysis and parallel ME
3728 [5c1a4804c42d]
3729
37302014-09-30 Steve Borho <steve@borho.org>
3731
3732 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3733 analysis: remove default arguments to checkInter_rd5_6 and
3734 checkInter_rd0_4
3735 [4d9ff684c80f]
3736
3737 * source/x265.cpp:
3738 cli: display param->bSaoNonDeblocked as bool in CLI help
3739 [1af64c8c2d28]
3740
3741 * source/encoder/analysis.cpp:
3742 analysis: nit
3743 [a4859c266a59]
3744
3745 * source/Lib/TLibCommon/TComDataCU.cpp,
3746 source/Lib/TLibCommon/TComDataCU.h, source/common/deblock.cpp,
3747 source/common/loopfilter.cpp, source/common/primitives.h,
3748 source/encoder/analysis.h, source/encoder/sao.cpp:
3749 replace lcu with ctu in variable names
3750 [ab92196f8b7b]
3751
3752 * source/Lib/TLibCommon/TComDataCU.cpp,
3753 source/Lib/TLibCommon/TComRom.h, source/encoder/entropy.cpp,
3754 source/encoder/frameencoder.cpp, source/encoder/sao.h:
3755 replace LCU with CTU globally in comments
3756 [382384729d60]
3757
3758 * source/encoder/sao.h:
3759 sao: nits
3760 [8b89e74d848d]
3761
3762 * source/encoder/sao.cpp, source/encoder/sao.h:
3763 sao: rename resetLcuPart to resetCtuPart
3764 [f2b5e4d8da59]
3765
3766 * source/common/common.h, source/encoder/frameencoder.cpp,
3767 source/encoder/framefilter.cpp, source/encoder/sao.cpp:
3768 sao: rename saoLcuParam to ctuParam
3769 [ca1e3afddc4f]
3770
3771 * source/common/common.h, source/encoder/entropy.cpp,
3772 source/encoder/entropy.h, source/encoder/sao.cpp,
3773 source/encoder/sao.h:
3774 sao: rename SaoLcuParam to SaoCtuParam
3775 [7692ab2a28d3]
3776
3777 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/common.h,
3778 source/common/param.cpp, source/encoder/frameencoder.cpp,
3779 source/encoder/sao.cpp, source/x265.cpp, source/x265.h:
3780 api: rename --sao-lcu-bounds to --sao-non-deblock
3781
3782 The acronym LCU doesn't appear anywhere else in our param interface
3783 [5a06c0462363]
3784
3785 * source/encoder/search.cpp, source/encoder/search.h:
3786 search: make bidir temp YUVs Search members
3787
3788 I can't believe we've been allocing them every predInterSearch()
3789 call for the last 2 months.
3790 [2486149ff9de]
3791
3792 * source/Lib/TLibCommon/TComDataCU.cpp,
3793 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3794 source/encoder/entropy.cpp:
3795 datacu: coding style rename of m_DataCUMemPool and m_CULocalData
3796 [832ad99093a0]
3797
3798 * source/Lib/TLibCommon/TComMotionInfo.cpp,
3799 source/Lib/TLibCommon/TComMotionInfo.h:
3800 motioninfo: coding style rename of m_MVFieldMemPool
3801 [ec91821451f3]
3802
3803 * source/common/common.h:
3804 common: break into debugger when check fails in debug build
3805 [a5103ad3df8b]
3806
3807 * source/Lib/TLibCommon/TComDataCU.cpp:
3808 TComData: do not leave m_tqBypassOrigYuv uninitialized
3809 [a360de22f48b]
3810
38112014-09-30 Murugan Vairavel <murugan@multicorewareinc.com>
3812
3813 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
3814 source/common/x86/dct8.h:
3815 asm: avx2 assembly code for idct4x4
3816 [49aaafeb707a]
3817
38182014-09-30 Praveen Tiwari <Praveen Tiwari>
3819
3820 * source/common/x86/asm-primitives.cpp,
3821 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
3822 blockfill_s_32x32 avx2 asm code: performance improved from 1354.05
3823 cycles to 705.81 cycles, over sse version of asm code
3824 [154aa8bfe042]
3825
3826 * source/common/x86/asm-primitives.cpp,
3827 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
3828 blockfill_s_16x16 avx2 asm code: performance improved from 389.21
3829 cycles to 204.38 cycles, over sse version of asm code
3830 [8be59e140210]
3831
38322014-09-29 Aarthi Thirumalai <Aarthi Thirumalai>
3833
3834 * source/common/slice.h, source/encoder/level.cpp,
3835 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
3836 rc: apply maxAU size restrictions while encoding each frame
3837 [8740d938dbb7]
3838
38392014-09-30 Santhoshini Sekar <santhoshini@multicorewareinc.com>
3840
3841 * source/Lib/TLibCommon/TComDataCU.cpp,
3842 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
3843 source/encoder/search.cpp, source/encoder/search.h:
3844 TComDataCU: replace getTotalNumPart() with CU structure details
3845 [1706e30042ef]
3846
3847 * source/Lib/TLibCommon/TComDataCU.cpp,
3848 source/Lib/TLibCommon/TComDataCU.h,
3849 source/Lib/TLibCommon/TComPattern.cpp,
3850 source/Lib/TLibCommon/TComPattern.h, source/encoder/analysis.cpp,
3851 source/encoder/analysis.h, source/encoder/predict.cpp,
3852 source/encoder/predict.h, source/encoder/search.cpp,
3853 source/encoder/search.h:
3854 TComDataCU: replace getZorderIdxInCU() with encodeIdx of CU
3855 structure
3856 [73c6c9086577]
3857
38582014-09-30 Steve Borho <steve@borho.org>
3859
3860 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
3861 source/encoder/rdcost.h, source/encoder/search.cpp,
3862 source/encoder/search.h:
3863 rd: move lambda and analysis qp init to rdcost.h
3864
3865 This will make it possible for Search instances to copy QP data
3866 between each other
3867 [a40ff330a525]
3868
38692014-09-30 Satoshi Nakagawa <nakagawa424@oki.com>
3870
3871 * doc/reST/cli.rst, doc/reST/threading.rst, source/common/common.h,
3872 source/common/param.cpp, source/encoder/encoder.cpp,
3873 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
3874 source/encoder/sao.cpp, source/encoder/sao.h, source/x265.cpp,
3875 source/x265.h:
3876 sao: remove frame-based SAO
3877 [28db2410d5de]
3878
38792014-09-29 Steve Borho <steve@borho.org>
3880
3881 * source/Lib/TLibCommon/TComMotionInfo.h:
3882 TComMvField: class to struct, white-space cleanups
3883 [5a6845566d14]
3884
38852014-09-25 Steve Borho <steve@borho.org>
3886
3887 * source/encoder/search.cpp:
3888 search: reorder nits, no effect
3889
3890 do allocations after simple configurations
3891 [0c4e39a2965b]
3892
3893 * source/common/quant.cpp, source/common/quant.h,
3894 source/encoder/search.cpp:
3895 quant: pass entropy instance through init function
3896 [a8fca9f05102]
3897
3898 * source/encoder/search.cpp:
3899 search: white-space nits
3900 [991527f1a9c6]
3901
3902 * source/encoder/analysis.cpp, source/encoder/frameencoder.cpp,
3903 source/encoder/frameencoder.h, source/encoder/search.cpp,
3904 source/encoder/search.h:
3905 search: give each Search instance an Entropy encoder (no output
3906 changes)
3907
3908 This essentially relocates the "active" entropy coder used during
3909 all analysis from CTURow to ThreadLocalData. This actually reduces
3910 the number of Entropy instances in the encoder, and solves the
3911 problem of sharing the entropy coder between worker threads
3912 cooperating on the same CTU.
3913 [a4d27e19ed09]
3914
39152014-09-26 David T Yuen <dtyx265@gmail.com>
3916
3917 * source/Lib/TLibCommon/TComDataCU.cpp,
3918 source/Lib/TLibCommon/TComDataCU.h,
3919 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
3920 source/encoder/analysis.cpp, source/encoder/analysis.h,
3921 source/encoder/frameencoder.cpp:
3922 Changes for loadCTUData
3923
3924 Replaced getDepthScanIdx() with table g_depthScanIdx Moved
3925 Analysis::loadCTUData to TComDataCU::loadCTUData since it only works
3926 with TComDataCU fields Replaced CU.offsets[2] with local variables
3927 in loadCTUData since that is the only place it was set and used
3928 minor changes to reduce the number of local variables in loadCTUData
3929 [0d0558b82a9c]
3930
39312014-09-26 Steve Borho <steve@borho.org>
3932
3933 * source/encoder/analysis.cpp, source/encoder/encoder.cpp:
3934 nits
3935 [32f50df7fa76]
3936
39372014-09-26 Murugan Vairavel <murugan@multicorewareinc.com>
3938
3939 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
3940 source/common/x86/dct8.h:
3941 asm: avx2 assembly code for idct32x32
3942 [4b18a27b52ac]
3943
39442014-09-25 David T Yuen <dtyx265@gmail.com>
3945
3946 * source/encoder/frameencoder.cpp:
3947 Removed unnecessary call to loadCTUData
3948 [8119b3d8d260]
3949
39502014-09-25 Steve Borho <steve@borho.org>
3951
3952 * source/encoder/analysis.cpp:
3953 analysis: more style nits, code simplifications. no behavior change
3954 [bd0e23d7d394]
3955
3956 * source/encoder/analysis.cpp:
3957 analysis: remove #define conditionals for control flow
3958
3959 The non-default paths are not being tested (or even compiled) and
3960 are thus assumed broken. The defines simply make the code harder to
3961 read.
3962 [f5f7c23fedd6]
3963
3964 * source/encoder/analysis.cpp:
3965 analysis: coding style and comment nits
3966 [e6cc918fb18e]
3967
3968 * source/encoder/analysis.cpp:
3969 analysis: remove unused LAMBDA_PARTITION_SELECT
3970 [391282b02731]
3971
3972 * source/encoder/analysis.cpp:
3973 analysis: hoist local function into anonymous namespace (file local)
3974 [d26780e43a87]
3975
39762014-09-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
3977
3978 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
3979 source/common/x86/dct8.h:
3980 asm: avx2 assembly code for idct8x8
3981 [8492a3250fef]
3982
39832014-09-25 Santhoshini Sekar <santhoshini@multicorewareinc.com>
3984
3985 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/deblock.cpp,
3986 source/common/frame.h, source/common/slice.cpp,
3987 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
3988 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
3989 source/encoder/sao.cpp, source/encoder/search.cpp:
3990 remove getNumPartInCU() and replace it with macro
3991 [37f33ab176fa]
3992
39932014-09-26 Satoshi Nakagawa <nakagawa424@oki.com>
3994
3995 * source/Lib/TLibCommon/TComPicYuv.h,
3996 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
3997 source/common/deblock.cpp, source/common/deblock.h,
3998 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
3999 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
4000 refine deblocking filter
4001 [b47d794a0372]
4002
40032014-09-24 Steve Borho <steve@borho.org>
4004
4005 * source/common/slice.h, source/encoder/predict.cpp,
4006 source/encoder/predict.h:
4007 predict: split weighted prediction values from WeightParam
4008
4009 The arguments passed to addWeightBi() and addWeightUni() are just
4010 the "w, o, offset, shift, round" integers. They don't need the
4011 fields which were signaled in the slice header or vice-versa.
4012 [7dccbbed0349]
4013
4014 * source/encoder/predict.cpp, source/encoder/predict.h,
4015 source/encoder/search.cpp:
4016 predict: combine and check allocations and return failures
4017 [982040e91112]
4018
4019 * source/encoder/predict.cpp, source/encoder/predict.h,
4020 source/encoder/search.cpp:
4021 predict: remove check for reallocations, comment nits
4022
4023 we don't do this anywhere else; there would be huge leaks if the
4024 Search object were initialized multiple times. there's no reason to
4025 check here.
4026 [7c88fb6128cf]
4027
4028 * source/encoder/analysis.cpp, source/encoder/predict.cpp,
4029 source/encoder/predict.h, source/encoder/search.cpp:
4030 predict: inline predInterUni(), getWpScaling() and simplify
4031 motionCompensation()
4032
4033 After this refactor, motionCompensation no longer needs the cu
4034 parameter. It was only used to pass to another member function to
4035 gain access to cu->m_slice which is now a member variable.
4036
4037 This refactor removed a number of arguments to addWeightBi and
4038 addWeightUni which were always member variables.
4039 [a961728f906c]
4040
4041 * source/encoder/predict.cpp, source/encoder/predict.h:
4042 predict: inline single call of predInterBi()
4043 [b6c9a51d9201]
4044
4045 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
4046 source/encoder/frameencoder.h:
4047 encoder: rename cuCoder to analysis for better clarity
4048
4049 the data type of cuCoder changed from TEncCu to Analysis weeks ago
4050 [a3f952bcada5]
4051
40522014-09-25 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4053
4054 * source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
4055 source/common/deblock.h:
4056 Backed out changeset: 940cec3bf0b4
4057
4058 This commit causes hash mismatches in vc11 x86_64 Release mode
4059 consistently, when lft is enabled. Stack/heap corruption likely.
4060 [0d330611fa97]
4061
40622014-09-24 Steve Borho <steve@borho.org>
4063
4064 * source/common/vec/dct-sse3.cpp:
4065 Backed out changeset: eb011fa1d2d8
4066 [e47e127da779]
4067
40682014-09-24 David T Yuen <dtyx265@gmail.com>
4069
4070 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
4071 source/encoder/frameencoder.h:
4072 Changed FrameEncoder::m_tld to a pointer and set it to one of
4073 Encoder's ThreadLocalData instances.
4074
4075 This uses less memory since m_tld isn't used in --wpp and Encoder's
4076 ThreadLocalData instances are not used in --no-wpp Also there was a
4077 small performance increase on my system
4078 [3e1bfb2e4592]
4079
40802014-09-24 Steve Borho <steve@borho.org>
4081
4082 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-ssse3.cpp:
4083 vec: make a note for why we keep some of the remaining vector
4084 routines
4085 [f6a0b0a97a5b]
4086
4087 * source/common/vec/dct-sse3.cpp:
4088 vec: remove idct8, we have SSSE3 assembly for it
4089 [eb011fa1d2d8]
4090
4091 * source/common/CMakeLists.txt, source/common/vec/blockcopy-sse3.cpp,
4092 source/common/vec/vec-primitives.cpp:
4093 cmake: remove blockcopy-sse3.cpp
4094 [c79590d89389]
4095
4096 * source/common/pixel.cpp, source/common/primitives.h,
4097 source/test/pixelharness.cpp, source/test/pixelharness.h:
4098 primitives: remove unused block copy primitives
4099 [63b7cb39e9f1]
4100
41012014-09-24 Praveen Tiwari <Praveen Tiwari>
4102
4103 * source/common/x86/asm-primitives.cpp,
4104 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
4105 bloccopy_pp avx asm code: 32x32, 32x48, 32x64 improved by 803.69 ->
4106 514.90, 1126.36 -> 655.24, 1454.09 -> 835.76 cycles
4107 [3fe7e7975eae]
4108
4109 * source/common/x86/asm-primitives.cpp,
4110 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
4111 blockcopy_pp_32x24: avx asm code, improved 621.84 cycles -> 371.94
4112 [fe901487b7cc]
4113
4114 * source/common/x86/asm-primitives.cpp,
4115 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
4116 blockcopy_pp_32x16: avx asm code, improved 477.74 cycles -> 309.99
4117 [b51e34a4b828]
4118
4119 * source/common/x86/asm-primitives.cpp,
4120 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
4121 blockcopy_pp_32x8: avx asm code, improved 281.20 cycles -> 165.47
4122 [2d8adf9a4ab0]
4123
41242014-09-24 Satoshi Nakagawa <nakagawa424@oki.com>
4125
4126 * source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
4127 source/common/deblock.h:
4128 refine deblocking filter
4129 [940cec3bf0b4]
4130
41312014-09-20 Steve Borho <steve@borho.org>
4132
4133 * source/encoder/predict.cpp, source/encoder/predict.h:
4134 predict: remove checkIdenticalMotion()
4135
4136 We will not insert the same reference picture into L1 and L0 at the
4137 same time, so this check is utterly redundant.
4138 [532d0266e333]
4139
4140 * source/encoder/analysis.cpp, source/encoder/predict.cpp,
4141 source/encoder/predict.h, source/encoder/search.cpp:
4142 predict: remove list argument from motionCompensation(), always
4143 REF_PIC_LIST_X
4144 [cf90338bbc87]
4145
4146 * source/encoder/predict.cpp:
4147 predict: streamline getWpScaling()
4148 [e26ce61cd2e3]
4149
4150 * source/encoder/predict.cpp:
4151 predict: use faster unidir prediction for B frames when weighting
4152 not enabled
4153 [30dd73bb8a93]
4154
4155 * source/encoder/predict.cpp, source/encoder/predict.h:
4156 predict: combine redundant logic paths in predInterBi()
4157
4158 removes weightedPredictionBi(), which is no longer called
4159 [3f1681901fb4]
4160
41612014-09-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4162
4163 * source/test/testbench.cpp:
4164 Backed out changeset: fa2f1aa1456e
4165
4166 This commit allocated the harness instances on the heap, thus no
4167 longer respecting __declspec(align) directives for the member
4168 fields. We could probably circumvent this by overloading operator
4169 new with aligned_malloc, but I'm not sure this is good practice.
4170 [b2b7072ddbf7]
4171
41722014-09-23 Sagar Kotecha <Sagar Kotecha>
4173
4174 * source/common/x86/asm-primitives.cpp,
4175 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
4176 blockcopy_ss: 64x16, 64x32, 64x48, 64x64 AVX version of asm code,
4177 approx double speedup comapre to SSE
4178 [e2b577330c9b]
4179
41802014-09-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
4181
4182 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
4183 source/common/x86/dct8.h:
4184 asm: avx2 code for dct8x8
4185 [271e5eb1e396]
4186
41872014-09-23 Min Chen <chenm003@163.com>
4188
4189 * source/common/x86/dct8.asm:
4190 asm: replace mova by movu to avoid AVX2 testbench crash in dct16,
4191 dct32, denoise_dct, its same speed on Haswell
4192 [02253e0800ea]
4193
41942014-09-23 Sagar Kotecha <Sagar Kotecha>
4195
4196 * source/common/x86/asm-primitives.cpp,
4197 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
4198 add avx version for chroma_copy_ss 16x4, 16x8, 16x12, 16x16, 16x24,
4199 16x32, 16x64 based on csp, approx 1.5x-2x speedup over SSE
4200 [1f5ffdc453ee]
4201
42022014-09-22 Satoshi Nakagawa <nakagawa424@oki.com>
4203
4204 * source/Lib/TLibCommon/TComPattern.cpp,
4205 source/Lib/TLibCommon/TComPattern.h, source/encoder/predict.cpp:
4206 simplify intra filter (with fix for da61cf406f16)
4207 [ee76b64fd051]
4208
42092014-09-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4210
4211 * source/encoder/ratecontrol.cpp:
4212 Backed out changeset: 25dde1ffab66
4213
4214 This commit needs more investigation, with specific VBV use cases
4215 like 1-sec GOPs.
4216 [82bab5587bf1]
4217
4218 * source/Lib/TLibCommon/TComDataCU.cpp,
4219 source/Lib/TLibCommon/TComPicSym.cpp,
4220 source/Lib/TLibCommon/TComPicYuv.cpp,
4221 source/Lib/TLibCommon/TComPicYuv.h,
4222 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
4223 source/Lib/TLibCommon/TComRom.cpp, source/common/deblock.h,
4224 source/common/quant.cpp, source/encoder/api.cpp,
4225 source/encoder/entropy.cpp, source/encoder/sao.cpp,
4226 source/encoder/search.cpp:
4227 nits: use parantheses to improve readability in shifts
4228 [fd435504f15e]
4229
42302014-09-20 Steve Borho <steve@borho.org>
4231
4232 * source/encoder/predict.cpp:
4233 predict: don't bother keeping refidx as an array
4234
4235 it is always indexed explicitly
4236 [1c172c1822e4]
4237
4238 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
4239 source/Lib/TLibCommon/TComWeightPrediction.h,
4240 source/common/CMakeLists.txt, source/encoder/predict.cpp,
4241 source/encoder/predict.h:
4242 predict: merge TComWeightPrediction functions into Predict
4243
4244 * TComWeightPrediction had no member vars, the constructor was
4245 useless
4246 * half of the functions were not used, they were dropped
4247 * default arguments were removed, none were actually required
4248 * x prefixes removed from method names
4249 * comments were cleaned up
4250 [0be03e280b3d]
4251
4252 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
4253 TComWeightPrediction: combine duplicate inline functions (refs #80)
4254 [c7cc07fd21a7]
4255
4256 * source/encoder/encoder.cpp:
4257 encoder: use %u to sprintf unsigned ints (refs #80)
4258 [a58aea624122]
4259
4260 * source/encoder/entropy.cpp:
4261 entropy: fix SAO enable detection (refs #80)
4262
4263 Apparently our analysis never toggles luma separately from chroma
4264 because this bug has not resulted in any bad bitstreams, that I know
4265 of. This bug was found via static analysis
4266 [c39538f0c59b]
4267
4268 * source/common/bitstream.cpp:
4269 bitstream: add paren to avoid ambiguous precedence in X265_CHECK
4270 [2599fd87b72e]
4271
4272 * source/Lib/TLibCommon/TComPicSym.cpp, source/common/frame.cpp,
4273 source/encoder/api.cpp, source/encoder/encoder.cpp:
4274 nits: do not check for NULL from new operations
4275
4276 By the C++ spec, new is incapable of returning NULL. If an
4277 allocation failure actually occurs, an exception is issued (which we
4278 do not catch) Long term, all of these new operations need to be
4279 replaced by malloc and explicit initialization and destruction. In
4280 the short term, these return value checks are redundant.
4281 [6e450860475a]
4282
4283 * source/encoder/bitcost.h:
4284 bitcost: use enums for special constants rather than static const
4285 ints
4286
4287 enums require no storage
4288 [3fd2d7acb6bb]
4289
4290 * source/encoder/motion.cpp:
4291 motion: avoid extra iterations when no subpel motion found
4292
4293 subsequent iterations would have also returned zero, which would be
4294 pointless. this is an adaption of a patch by Sheva Xu.
4295 [2c1d4c7d85ba]
4296
42972014-09-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4298
4299 * source/encoder/search.cpp, source/encoder/search.h:
4300 search: clean xRecurIntraCodingQT
4301 [d1ffc125f0a3]
4302
4303 * source/encoder/analysis.cpp:
4304 analysis: nits
4305 [39d0ba6012d5]
4306
4307 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4308 source/encoder/search.h:
4309 psy-rd: fix bug in chroma psyEnergy for intra 4x4
4310
4311 Also add TODO, for all psyCost calculations
4312 [d1c2b82de4db]
4313
43142014-09-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4315
4316 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4317 analysis: remove CheckBestMode from CheckIntra
4318 [817abe294c8b]
4319
4320 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4321 analysis: remove redundant variables, cleanup variable names
4322 [6334cc645407]
4323
43242014-09-20 Steve Borho <steve@borho.org>
4325
4326 * source/common/param.cpp:
4327 param: do not allow VBV without WPP
4328
4329 VBV row restarts cannot function correctly without WPP (per-row
4330 CABAC starts)
4331 [c8f53398f8ce]
4332
43332014-09-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
4334
4335 * source/encoder/search.cpp:
4336 search: simplify and remove redundant variables in
4337 getBestIntraModeChroma
4338 [9b9986cc084b]
4339
4340 * source/encoder/search.cpp:
4341 search: remove redundant loacal variables in
4342 encodeResAndCalcRdSkipCU
4343 [5c067b643591]
4344
4345 * source/encoder/search.cpp:
4346 search: cleanup and remove redundant variable in checkintra
4347 [7c1e793722f9]
4348
43492014-09-19 Satoshi Nakagawa <nakagawa424@oki.com>
4350
4351 * source/Lib/TLibCommon/TComPattern.cpp,
4352 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
4353 source/common/intrapred.cpp, source/common/primitives.h,
4354 source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
4355 source/encoder/analysis.cpp, source/encoder/predict.cpp,
4356 source/encoder/search.cpp, source/encoder/slicetype.cpp,
4357 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
4358 primitives: intra_pred[4][35] => intra_pred[35][4] (avoid *35)
4359 [da61cf406f16]
4360
4361 * source/Lib/TLibCommon/TComDataCU.cpp,
4362 source/Lib/TLibCommon/TComDataCU.h,
4363 source/Lib/TLibCommon/TComPicYuv.cpp,
4364 source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
4365 source/common/frame.cpp, source/common/frame.h,
4366 source/encoder/analysis.cpp, source/encoder/analysis.h,
4367 source/encoder/encoder.cpp, source/encoder/encoder.h,
4368 source/encoder/entropy.cpp, source/encoder/entropy.h,
4369 source/encoder/motion.h, source/encoder/predict.cpp,
4370 source/encoder/predict.h, source/encoder/search.cpp:
4371 inline simple functions
4372 [c07038ca0e07]
4373
43742014-09-17 Steve Borho <steve@borho.org>
4375
4376 * source/test/testbench.cpp:
4377 testbench: allocate test harnesses on heap, for better valgrind
4378 coverage
4379 [fa2f1aa1456e]
4380
43812014-09-18 Praveen Tiwari <Praveen Tiwari>
4382
4383 * source/test/mbdstharness.cpp:
4384 denoiseDct: align performance data while reporting speedup
4385 [4680ab4f92b8]
4386
4387 * source/common/x86/asm-primitives.cpp,
4388 source/common/x86/blockcopy8.asm:
4389 copy_cnt_32: avx2 asm code, improved 1521.17 cycles -> 934.46 cycles
4390 [6908388bf26f]
4391
4392 * source/common/x86/asm-primitives.cpp,
4393 source/common/x86/blockcopy8.asm, source/common/x86/const-a.asm:
4394 copy_cnt_16: avx2 asm code, improved 514.32 cycles -> 313.66 cycles
4395 [9b672a7b3ea9]
4396
4397 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm:
4398 denoise_dct: avx2 asm code
4399 [e83cc4a15dc9]
4400
4401 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
4402 source/common/x86/dct8.h:
4403 denoise_dct asm code: SSE version
4404 [d6759701fdd7]
4405
44062014-09-18 Murugan Vairavel <murugan@multicorewareinc.com>
4407
4408 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
4409 source/common/x86/dct8.h:
4410 asm: avx2 assembly code for idct16x16
4411 [7e82d0abf6fb]
4412
44132014-09-18 Aarthi Thirumalai <Aarthi Thirumalai>
4414
4415 * source/encoder/ratecontrol.cpp:
4416 rc: improvements for cbr
4417 [25dde1ffab66]
4418
44192014-09-17 Praveen Tiwari <Praveen Tiwari>
4420
4421 * source/common/x86/dct8.h:
4422 denoiseDct: nit unused asm function declarations
4423 [54ad38a84a69]
4424
4425 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm:
4426 denoiseDct asm code: nit faulty code, need a new SSE version
4427 [55a50a362def]
4428
4429 * source/test/mbdstharness.cpp:
4430 denoiseDct unit test code: fixed bound value problem
4431 [b162185198fe]
4432
44332014-09-11 Praveen Tiwari <Praveen Tiwari>
4434
4435 * source/common/x86/asm-primitives.cpp,
4436 source/common/x86/blockcopy8.asm:
4437 copy_cnt_4 avx2 asm code: nit, same speedup by sse version
4438 [123db3a255a7]
4439
44402014-09-17 Aarthi Thirumalai <Aarthi Thirumalai>
4441
4442 * source/encoder/analysis.cpp:
4443 rc: fix bugs in using boundary condition for cu while encoding each
4444 frame.
4445
4446 fixes the binary mismatch in 2 pass completely.
4447 [4e17a5c3ed64]
4448
44492014-09-17 Steve Borho <steve@borho.org>
4450
4451 * source/encoder/frameencoder.cpp:
4452 frameencoder: fix VBV row resets when SAO is disabled
4453
4454 When SAO is disabled, the row bitstream is generated as CTU analysis
4455 progresses. We must reset the row bitstream after a restart to avoid
4456 coding errors. The CAABAC state is already reset correctly when CTU
4457 col 0 is re-coded.
4458 [86686bd153db]
4459
44602014-09-16 Sagar Kotecha <sagar@multicorewareinc.com>
4461
4462 * source/common/param.cpp, source/common/param.h, source/x265.cpp:
4463 add fanout validation module to check param compatibility
4464 [199e8f2e0d54]
4465
44662014-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
4467
4468 * source/encoder/api.cpp:
4469 api: do not reuse the analysisData buffer for more then one picture,
4470 set it NULL
4471 [d71d363c0dbb]
4472
44732014-09-16 Santhoshini Sekar <santhoshini@multicorewareinc.com>
4474
4475 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
4476 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
4477 analysis: add CU specific details to encodeCU()
4478 [06bac60ee4cf]
4479
44802014-09-16 Steve Borho <steve@borho.org>
4481
4482 * source/encoder/analysis.cpp:
4483 analysis: nits
4484 [b276d567d771]
4485
44862014-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
4487
4488 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
4489 source/encoder/analysis.cpp, source/encoder/analysis.h,
4490 source/encoder/search.cpp, source/encoder/search.h:
4491 analysis: intra picture estimation (mode and split
4492 decision)information sharing
4493
4494 when --analysis-mode=save - the encoder runs a full encode and dump
4495 the best split and mode decisions into x265_analysis.dat(default
4496 file name if file name is not provided) file when --analysis-
4497 mode=load - the encoder reads the best split and mode decisions from
4498 x265_analysis.dat and bypass the actual split and mode decisions,
4499 and therefore perform a much faster encode
4500 [7784ad03d6d4]
4501
45022014-09-16 Praveen Tiwari <Praveen Tiwari>
4503
4504 * source/test/mbdstharness.cpp, source/test/mbdstharness.h,
4505 source/test/testharness.h:
4506 denoiseDct: test bench code
4507 [63a78516630c]
4508
45092014-09-15 Steve Borho <steve@borho.org>
4510
4511 * source/encoder/search.cpp:
4512 search: save a few cycles
4513 [a1fc4e9bba51]
4514
45152014-09-15 Aarthi Thirumalai <Aarthi Thirumalai>
4516
4517 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
4518 rc: fixes for 2 pass + vbv to calculate frameSizePlanned accurately.
4519 [7c1aba99f40d]
4520
45212014-09-15 Steve Borho <steve@borho.org>
4522
4523 * doc/reST/presets.rst, source/common/param.cpp:
4524 param: preset tuning changes
4525
4526 1. disable SAO in superfast
4527
4528 Recent changes have made --no-sao substantially faster than SAO,
4529 which has made ultrafast preset much much faster than superfast. By
4530 disabling SAO in superfast, it is now roughly half-way between
4531 ultrafast and veryfast again.
4532
4533 2. Enable weighted prediction for B slices in slower, veryslow, and
4534 placebo
4535
4536 Weighted prediction for B can sometimes be beneficial, so turn it on
4537 for slower encodes.
4538 [1de67321275e]
4539
4540 * doc/reST/threading.rst:
4541 doc: describe performance impact of SAO
4542 [dff0cd55b520]
4543
4544 * doc/reST/threading.rst:
4545 doc: fix typo and nit in threading page
4546 [76240da72c38]
4547
45482014-09-12 Satoshi Nakagawa <nakagawa424@oki.com>
4549
4550 * source/common/common.h, source/common/x86/loopfilter.asm,
4551 source/encoder/entropy.cpp, source/encoder/sao.cpp,
4552 source/encoder/sao.h:
4553 sao: some cleanups
4554 [098a00de4a72]
4555
45562014-09-15 Steve Borho <steve@borho.org>
4557
4558 * source/Lib/TLibCommon/CommonDef.h, source/encoder/search.h:
4559 search: header cleanups, no functional change
4560 [db063839c8fe]
4561
45622014-09-10 Steve Borho <steve@borho.org>
4563
4564 * source/encoder/search.cpp, source/encoder/search.h:
4565 search: measure RDO of intra modes within 12% of least cost [CHANGES
4566 OUTPUTS]
4567
4568 This version adaps the number of RD measured modes by param.rdLevel
4569 (aka preset) and by depth. This gives a non-trivial speedup to the
4570 very fast presets which use frequent keyframes and helps improve
4571 compression in slower presets.
4572
4573 all presets use this function to encode I slices, so every encode is
4574 affected.
4575
4576 Previous behavior: RD measure top N least sa8d cost intra modes and
4577 all most probable modes where N was depth-based: intraModeNumFast[]
4578 = { 8, 8, 3, 3, 3 }; // 4x4, 8x8, etc
4579
4580 New behavior: RD measure up to N modes that are within 12% of best
4581 sa8d cost or are most probable. where N if a function of rd-level
4582 and depth
4583
4584 The new behavior may measure fewer modes than before may skip some
4585 most-probable modes if there are plenty of other modes which are
4586 near the best cost. Since mode signal cost is included already, this
4587 seems ok.
4588
4589 The general idea is that if 1-2 modes have much better sa8d cost
4590 than all the others, then we are likely wasting our time RD
4591 measuring 8-11 modes. We're betting that sa8d cost is a somewhat
4592 decent predictor of RD cost.
4593
4594 Note that I initially tried without a limit (measure all within 12%
4595 or MPM) but for some clips this was a horrible perf trade-off. In
4596 some situations all the intra modes might measure close together
4597 (flat source block) and we would end up measuring most or all of the
4598 intra modes for very little gain. So this version re-introduces a
4599 "top N candidate list" but does not bother trying to keep the list
4600 sorted since it is small
4601 [02353d20f051]
4602
46032014-09-15 Steve Borho <steve@borho.org>
4604
4605 * source/encoder/search.cpp:
4606 search: comment nits
4607 [017ceb9d2b06]
4608
4609 * source/encoder/ratecontrol.cpp:
4610 Merge with stable
4611 [70c836fef6d9]
4612
46132014-09-15 Aarthi Thirumalai <Aarthi Thirumalai>
4614
4615 * source/encoder/ratecontrol.cpp:
4616 rc: bug fix for 2 pass when bframes = 0. fixes Issue #77
4617 [e6a80fb007e8] <stable>
4618
4619 * source/encoder/ratecontrol.cpp:
4620 rc: check for changes in scenecut input between multiple passes.
4621
4622 wpp/no-wpp doesn't affect slice type decisions. they can differ
4623 between the passes in multipass encode.
4624 [67ee212bbf78]
4625
4626 * source/encoder/ratecontrol.cpp:
4627 rc: bug fix for 2 pass when bframes = 0. fixes Issue #77
4628 [9107dc4a2632]
4629
46302014-09-10 Ashok Kumar Mishra <ashok@multicorewareinc.com>
4631
4632 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4633 source/encoder/search.h:
4634 Search: remove redundant encode coefficients in intra for
4635 performance
4636 [8972169f252d]
4637
46382014-09-15 Murugan Vairavel <murugan@multicorewareinc.com>
4639
4640 * source/common/x86/dct8.asm:
4641 asm: fix mismatch due to dct32 avx2 assembly code
4642 [b5fb734517c0]
4643
46442014-09-12 Murugan Vairavel <murugan@multicorewareinc.com>
4645
4646 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
4647 source/common/x86/dct8.h:
4648 asm: avx2 assembly code for dct32x32
4649 [184e56afa951]
4650
46512014-09-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4652
4653 * source/x265.h:
4654 x265: add missing typedefs
4655 [2fb61cc75152]
4656
46572014-09-11 David T Yuen <dtyx265@gmail.com>
4658
4659 * source/x265.cpp:
4660 Resolved gcc compiler error of mismatched type
4661 [cd8fd0afd4e8]
4662
46632014-09-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4664
4665 * source/common/x86/asm-primitives.cpp:
4666 Merge with stable
4667 [fda32ff40246]
4668
4669 * source/common/x86/asm-primitives.cpp:
4670 asm: disable buggy denoise primitives until the bugs are fixed
4671 [d522e7662111] <stable>
4672
46732014-09-11 Sagar Kotecha <sagar@multicorewareinc.com>
4674
4675 * doc/reST/cli.rst, source/common/common.h, source/common/param.cpp,
4676 source/x265.cpp:
4677 cli: add cli options analysis-mode and analysis-file
4678
4679 analysis-mode: save|1 - Dump analysis buffers into file, load|2 -
4680 read analysis buffers from the file analysis-file: Specify file name
4681 used for either dumping or reading analysis data
4682 [7e29b10982d2]
4683
4684 * source/common/frame.cpp, source/common/frame.h,
4685 source/encoder/analysis.cpp, source/encoder/encoder.cpp:
4686 store analysis information in buffers
4687 [b0d006337801]
4688
4689 * doc/reST/api.rst, source/CMakeLists.txt, source/encoder/api.cpp,
4690 source/x265.def.in, source/x265.h:
4691 api: introduce methods to allocate and free analysis buffers
4692 [baf07b965909]
4693
4694 * source/x265.h:
4695 api: add analysis data structures and param options
4696 [e5a24e5ba46e]
4697
46982014-09-11 Steve Borho <steve@borho.org>
4699
4700 * source/encoder/analysis.cpp:
4701 analysis: minor comment and code cleanups, no behavior change
4702 [3d6cc40ebbf7]
4703
4704 * source/encoder/search.cpp, source/encoder/search.h:
4705 search: remove x prefixes from ME helper functions
4706 [e9e71ece1344]
4707
4708 * source/encoder/dpb.cpp:
4709 dpb: does not need to include frameencoder.h
4710 [6bb0d3a25b08]
4711
47122014-09-10 Steve Borho <steve@borho.org>
4713
4714 * source/encoder/analysis.h:
4715 analysis: nit
4716 [012f315d3eda]
4717
4718 * source/encoder/analysis.h, source/encoder/encoder.cpp,
4719 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
4720 source/encoder/frameencoder.h, source/encoder/search.cpp,
4721 source/encoder/search.h:
4722 search: don't pass top-level encoder to initSearch()
4723
4724 removes three Encoder members that were only used to communicate
4725 data to initSearch()
4726 [0bc83ba57dad]
4727
4728 * source/encoder/search.cpp:
4729 search: store rd costs in first pass through intra modes
4730
4731 no behavior change, this is prep work for further refactors
4732 [ff2fd6923f1a]
4733
4734 * source/encoder/dpb.cpp, source/encoder/dpb.h,
4735 source/encoder/framefilter.h:
4736 cleanup header dependencies; dpb should not need encoder.h
4737 [7eddb265f512]
4738
47392014-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4740
4741 * source/common/x86/asm-primitives.cpp:
4742 asm: enable copy_cnt8
4743 [a522a2549cac]
4744
47452014-09-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
4746
4747 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
4748 source/common/x86/dct8.h:
4749 asm: avx2 assembly code for dct16
4750 [18d0461eb4d0]
4751
47522014-09-10 Praveen Tiwari <Praveen Tiwari>
4753
4754 * source/common/x86/blockcopy8.asm:
4755 copy_cnt_8, AVX2 asm code as per new interface, performance improved
4756 from 5.13x to 7.59x on HASWELL-I5
4757 [0d27befcc874]
4758
47592014-09-10 Steve Borho <steve@borho.org>
4760
4761 * source/encoder/encoder.cpp:
4762 encoder: nits
4763 [81c9f704ae38]
4764
47652014-09-09 Steve Borho <steve@borho.org>
4766
4767 * source/encoder/search.cpp:
4768 search: re-enable chroma tskip
4769
4770 this passed regression testing
4771 [bdd477050097]
4772
47732014-09-09 Aarthi Thirumalai <Aarthi Thirumalai>
4774
4775 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
4776 rc: use m_frameDuration instead of rce->frameDuration to derive
4777 complexity for each frame in 2nd pass.
4778
4779 don't store and use frameDuration from stats file per frame - losing
4780 precision.
4781 [139b41632c64]
4782
47832014-09-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4784
4785 * source/common/param.cpp, source/x265.h:
4786 param: apply missing default values to param, mostly zero and
4787 reorder
4788 [3fc141aa74b5]
4789
47902014-09-09 Steve Borho <steve@borho.org>
4791
4792 * source/encoder/search.cpp, source/encoder/search.h:
4793 search: reverse meaning of bCheckFirst to bAllowRQTSplit
4794
4795 I find this much more readable
4796 [408e2e6f0f70]
4797
4798 * source/encoder/analysis.cpp, source/encoder/search.cpp:
4799 search: !a ? b : c; -> a ? c : b;
4800 [f45f3ed38951]
4801
4802 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4803 source/encoder/search.h:
4804 search: rename some helper functions without x prefixes
4805 [719284d910b6]
4806
4807 * source/common/x86/blockcopy8.asm:
4808 backout 0dc2cbc36ee5 to 331ef5121676
4809 [491e74c58e51]
4810
48112014-09-09 Ashok Kumar Mishra <ashok@multicorewareinc.com>
4812
4813 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4814 analysis: modified compressInterCU_rd0_4() with CU-specific
4815 information
4816 [2d9eb8cebb71]
4817
48182014-09-09 Steve Borho <steve@borho.org>
4819
4820 * source/encoder/search.cpp, source/encoder/search.h:
4821 search: fix camel case of residualQTIntraChroma
4822 [d85792b9f373]
4823
4824 * source/encoder/search.cpp:
4825 search: don't pass a zeroDistortion pointer if you don't want the
4826 answer
4827 [84b1d287333f]
4828
4829 * source/encoder/search.cpp, source/encoder/search.h:
4830 search: return distortion from xEstimateResidualQT
4831 [7d8e4935c1ca]
4832
4833 * source/encoder/search.cpp, source/encoder/search.h:
4834 search: pass depthRange uniformly as uint32_t depthRange[2]
4835
4836 effectively the same as uint32_t but compilers and debuggers can
4837 often do more with the length info. plus it just makes the code more
4838 readable
4839 [cead9fe7ff30]
4840
4841 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4842 source/encoder/search.h:
4843 search: return distortion from xRecurIntraCodingQT
4844 [68ac5ca5d676]
4845
4846 * source/encoder/search.cpp, source/encoder/search.h:
4847 search: return distortion from xIntraCodingChromaBlk, do not pass by
4848 ref
4849 [62f6924be843]
4850
4851 * source/encoder/search.cpp, source/encoder/search.h:
4852 search: return distortion from xRecurIntraChromaCodingQT, do not
4853 pass by ref
4854 [b0a018562d29]
4855
4856 * source/encoder/search.cpp, source/encoder/search.h:
4857 search: return distortion from xIntraCodingLumaBlk, do not pass by
4858 reference
4859 [a7f4f750e9d4]
4860
48612014-09-09 Praveen Tiwari <Praveen Tiwari>
4862
4863 * source/common/x86/blockcopy8.asm:
4864 copy_cnt_8 AVX2 asm code, as per new interface
4865 [331ef5121676]
4866
4867 * source/common/x86/blockcopy8.asm:
4868 copy_cnt_4: faster AVX2 code
4869 [f7f8206a70bd]
4870
4871 * source/common/x86/blockcopy8.asm:
4872 copy_cnt_4: combine mova and paddb to reduce code size, same speedup
4873 [5edcbcbb338f]
4874
4875 * source/common/x86/blockcopy8.asm:
4876 copy_cnt_4: enable fast non zero coefficient count path
4877 [0dc2cbc36ee5]
4878
48792014-09-09 Steve Borho <steve@borho.org>
4880
4881 * source/encoder/frameencoder.cpp:
4882 frameencoder: use simple shifts to scale 2-pass CU type counters
4883
4884 the cu type counters are summed at the end and turned into
4885 percentages, so it doesn't matter what base unit is used, only that
4886 each depth has 4x the value as depth+1
4887 [ebd5a0cac758]
4888
4889 * source/encoder/frameencoder.cpp:
4890 frameencoder: use x265_emms() prior to double QP clipping for VBV
4891 [a414ca1c9067]
4892
48932014-09-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4894
4895 * source/encoder/search.cpp:
4896 search: remove warning from MS compiler
4897 [44cb33846e0e]
4898
48992014-09-08 Min Chen <chenm003@163.com>
4900
4901 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp,
4902 source/common/x86/const-a.asm, source/common/x86/pixel-util.h,
4903 source/common/x86/pixel-util8.asm:
4904 asm: avx2 version of quant, improve 16.6k cycles -> 8.4k cycles
4905 [c4fb044c901b]
4906
4907 * source/common/x86/pixel-util8.asm:
4908 asm: improve quant by replace variant shift to fixed shift, 19k
4909 cycles -> 16.6k cycles
4910 [277c1e05c247]
4911
4912 * source/common/dct.cpp, source/test/mbdstharness.cpp:
4913 testbench(quant): the qBits value must be more than or equal to 8
4914 [5dbf9e8f4028]
4915
4916 * source/test/mbdstharness.cpp:
4917 testbench(quant): the Round value must be less than (2 ^ qbits)
4918 [53e0969c605f]
4919
49202014-09-08 Steve Borho <steve@borho.org>
4921
4922 * source/encoder/search.cpp:
4923 search: prune more unnecessary work from estIntraPredQT()
4924 [b5f81a839403]
4925
4926 * source/encoder/search.cpp:
4927 search: remove some redundant work from estIntraPredQT
4928 [033299d2bd00]
4929
4930 * source/encoder/search.cpp, source/encoder/search.h:
4931 search: remove m_qtTempTrIdx
4932 [00b86119f0ad]
4933
4934 * source/Lib/TLibEncoder/TEncSearch.cpp,
4935 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/CMakeLists.txt,
4936 source/encoder/analysis.h, source/encoder/search.cpp,
4937 source/encoder/search.h:
4938 pull search class into encoder/ (TLibEncoder is no more)
4939
4940 TEncSearch -> Search use consistent comment style and argument lists
4941 make destructor no longer virtual (no more vtable) moving
4942 StatisticLog into x265 namespace came for free
4943 [f2688d840261]
4944
4945 * source/encoder/api.cpp:
4946 api: remove include of frameencoder
4947 [796cc966e2fe]
4948
4949 * source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.h:
4950 nits
4951 [f2da9f3db824]
4952
49532014-09-08 Ashok Kumar Mishra <ashok@multicorewareinc.com>
4954
4955 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4956 analysis: modified compressInterCU_rd5_6() with CU-specific
4957 information
4958 [27581134f442]
4959
4960 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4961 Analysis: compressIntraCU clean up
4962 [5b377a411463]
4963
49642014-09-08 Steve Borho <steve@borho.org>
4965
4966 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
4967 source/encoder/sao.h:
4968 sao: move frame/slice initialization into SAO::startSlice
4969 [80b2e91156d3]
4970
4971 * source/encoder/sao.cpp:
4972 sao: minor cleanups, no behavior change
4973 [b9ed1dcacf9e]
4974
4975 * source/encoder/frameencoder.cpp:
4976 frameencoder: avoid another call to resetEntropy(), they are
4977 expensive
4978 [cfe197e3044d]
4979
4980 * source/encoder/frameencoder.cpp:
4981 frameencoder: combine some conditional expressions
4982 [cb67f6f65577]
4983
4984 * source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
4985 source/encoder/ratecontrol.h:
4986 rc: move FrameStats to ratecontrol.h
4987
4988 rate control shouldn't need to include frameencoder.h
4989 [89e682182a7a]
4990
4991 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
4992 source/encoder/ratecontrol.cpp:
4993 frameencoder: rename percent fields for clarity
4994 [9581a45d4344]
4995
4996 * source/encoder/frameencoder.cpp:
4997 frameencoder: do more CU stat math as integer
4998 [406d92c860d5]
4999
5000 * source/encoder/entropy.cpp, source/encoder/entropy.h,
5001 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
5002 frameencoder: merge more of encodeSlice() into processCU
5003
5004 this commit fixes no-WPP after the previous change. the per-row or
5005 per-frame (+- WPP) bistreams are flushed as they are finished (and
5006 cache hot) and the per CU stats are summed per row and then
5007 summarized all in one place.
5008 [60289c638600]
5009
50102014-09-05 Steve Borho <steve@borho.org>
5011
5012 * source/encoder/frameencoder.cpp:
5013 frameencoder: remove second encodeCU() pass over CTUs when SAO is
5014 disabled
5015
5016 This is a performance optimization, it allows the encoder to
5017 generate the final bitstream of each CTU as it is compressed and
5018 cache hot.
5019
5020 When SAO is enabled, SAO analysis must be performed and coded at the
5021 start of the CTU but SAO analysis currently requires surrounding
5022 CTUs to be encoded making the second pass unavoidable.
5023
5024 Note that this commit changes the way non-WPP encodes are performed,
5025 for the better. Now it always uses row 0's CI_CURR_BEST entropy
5026 coder instance to communicate entropy state between all CTUs and
5027 between rows. This better models how encodeSlice() works and makes
5028 RDO work better
5029 [a117564df3ef]
5030
50312014-09-08 Steve Borho <steve@borho.org>
5032
5033 * source/encoder/frameencoder.cpp:
5034 frameencoder: remove redundant clear of frame stats
5035
5036 they were being zero'd in the constructor, init(), and in
5037 compressCTURows. techincally only the last is truly necessary, but
5038 I'm leaving the memset in the contructor.
5039 [a7465d789c64]
5040
5041 * source/encoder/entropy.h, source/encoder/frameencoder.cpp:
5042 nits
5043 [a29aa966336e]
5044
5045 * source/common/x86/x86inc.asm:
5046 Merge with correct x86inc.asm patch
5047 [c55d69561948]
5048
50492014-09-05 Min Chen <chenm003@163.com>
5050
5051 * source/common/x86/x86inc.asm:
5052 x86inc.asm: fix vpbroadcastd bug on Mac platform
5053 [51930084e148]
5054
50552014-09-08 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5056
5057 * source/encoder/entropy.cpp, source/encoder/entropy.h,
5058 source/encoder/frameencoder.cpp:
5059 entropy: change top-level encode to encodeCTU
5060 [de5614144bce]
5061
50622014-09-07 Satoshi Nakagawa <nakagawa424@oki.com>
5063
5064 * source/encoder/sao.cpp:
5065 fix sao
5066 [8cbfec8d6b4d]
5067
5068 * source/common/dct.cpp, source/encoder/analysis.cpp:
5069 fix CHECKED_BUILD
5070 [845e82c5d607]
5071
50722014-09-05 Min Chen <chenm003@163.com>
5073
5074 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
5075 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm:
5076 asm: AVX2 version of dequant_normal, improve 9.3k Cycles -> 4.2k
5077 Cycles
5078 [ed4c9acafc11]
5079
5080 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
5081 asm: reduce number of movd in dequant_normal
5082 [bc9025648270]
5083
5084 * source/common/x86/x86inc.asm:
5085 x86inc.asm: fix vpbroadcastd bug on Mac platform
5086 [27364e9f97e4]
5087
50882014-09-05 Steve Borho <steve@borho.org>
5089
5090 * source/encoder/frameencoder.cpp:
5091 frameencoder: remove unnecessary call to resetBits(), improve
5092 comment
5093 [795878af3973]
5094
5095 * source/encoder/frameencoder.h:
5096 frameencoder: cleanup CTURow::init
5097
5098 According to my understanding, only rdEntropyCoders[0][CI_CURR_BEST}
5099 really needs to be initialized, but this changes outputs if I do
5100 this. It tells me there is likely a bug in the entropy state
5101 management
5102 [b05e3141c766]
5103
5104 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
5105 source/encoder/frameencoder.h:
5106 frameencoder: CTURow class -> struct, remove m_ prefixes
5107
5108 Still no output changes in this patch series
5109 [5d9433930735]
5110
5111 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
5112 source/encoder/framefilter.cpp:
5113 tld: remove m_ prefixes from struct members
5114 [85b93c9b6f0d]
5115
5116 * source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
5117 source/encoder/cturow.h, source/encoder/encoder.cpp,
5118 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
5119 cturow: merge CTURow and TLD objects into frameencoder.h
5120 [1b69af135b48]
5121
5122 * source/encoder/frameencoder.cpp:
5123 frameencoder: remove unused variable, nit
5124 [6d84a175723a]
5125
5126 * source/encoder/cturow.cpp, source/encoder/cturow.h,
5127 source/encoder/frameencoder.cpp:
5128 cturow: inline processCU()
5129
5130 The function is no longer complicated enough to justify having a
5131 separate function, given that the arguments mainly dealt with the
5132 wavefront cabac propogation. The CTU class is about to be further
5133 simplified.
5134 [0c97aad4038e]
5135
5136 * source/CMakeLists.txt:
5137 cmake: enable MACOSX_RPATH on Mac shared libraries
5138
5139 http://www.cmake.org/cmake/help/v3.0/prop_tgt/MACOSX_RPATH.html
5140
5141 Setting the policy CMP0042 to NEW makes MACOSX_RPATH=1 the default,
5142 but we go ahead and set it manually anyway so cmake versions older
5143 than 3.1 behave the same way
5144 [01ba626b850d]
5145
51462014-09-05 Praveen Tiwari <Praveen Tiwari>
5147
5148 * source/common/x86/blockcopy8.asm:
5149 copy_cnt 4x4 AVX2 asm code, as per new interface
5150 [f30c13d8143a]
5151
51522014-09-04 Min Chen <chenm003@163.com>
5153
5154 * source/common/x86/x86util.asm:
5155 asm: reenable IACA support, it remove by 'inappropriate
5156 instruction...' patch
5157 [d5034e68aa40]
5158
5159 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
5160 util.h, source/common/x86/pixel-util8.asm:
5161 asm: avx2 version of nquant(), improve 9.8k cycles -> 5.3k cycles
5162 [0f1f5f8a4981]
5163
5164 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
5165 asm: optimize nquant by PSIGND, improve 11k cycles -> 9.8k cycles
5166 [dd04a9ec73a8]
5167
51682014-09-05 Praveen Tiwari <Praveen Tiwari>
5169
5170 * source/common/x86/pixel-util8.asm:
5171 count_nonzero asm code, reduceded code size by combining mova and
5172 packsswb
5173 [fdfe5c83a2d7]
5174
5175 * source/common/x86/blockcopy8.asm:
5176 copy_cnt: nits
5177 [7bb07b6e1b0f]
5178
5179 * source/common/x86/blockcopy8.asm:
5180 copy_cnt 4x4, eliminated move instructions, +1x improvement
5181 [d5efb8daf975]
5182
51832014-09-05 Satoshi Nakagawa <nakagawa424@oki.com>
5184
5185 * source/Lib/TLibCommon/TComDataCU.cpp:
5186 fix getQuadtreeTULog2MinSizeInCU()
5187 [efd6178a07f5]
5188
51892014-09-04 Min Chen <chenm003@163.com>
5190
5191 * source/common/x86/asm-primitives.cpp:
5192 asm: enable SSE2 version of pixel_ssd_ss[]
5193 [fd1e285675eb]
5194
5195 * source/common/x86/ssd-a.asm:
5196 asm: fix output mistake in pixel_ssd_ss_4xN
5197 [7909696bf148]
5198
51992014-09-05 Satoshi Nakagawa <nakagawa424@oki.com>
5200
5201 * source/Lib/TLibCommon/ContextTables.h:
5202 fix cbf context
5203 [5cd9f797d6f4]
5204
52052014-09-04 Min Chen <chenm003@163.com>
5206
5207 * source/common/x86/ssd-a.asm:
5208 asm: replace ssse3 instruction in pixel_ssd_ss_*_sse2
5209 [93db2f53fe57]
5210
52112014-09-04 Steve Borho <steve@borho.org>
5212
5213 * source/common/x86/pixel-a.asm:
5214 asm: fix SSSE3 in SSE2 build warning in unused primitive
5215
5216 Bug fix back-ported from x264. The function was not connected to any
5217 primitive pointer in x264 or x265, so this is really just quieting
5218 the warning
5219 [1833be32ff21]
5220
5221 * source/common/quant.cpp:
5222 quant: fix check macro
5223 [1f07a2a99eef]
5224
5225 * source/common/quant.cpp:
5226 quant: nits
5227 [7ae1ffa141c1]
5228
52292014-09-02 Praveen Tiwari <Praveen Tiwari>
5230
5231 * source/common/common.h, source/common/dct.cpp,
5232 source/common/primitives.h, source/common/quant.cpp,
5233 source/common/quant.h, source/encoder/entropy.cpp:
5234 quant path cleanup
5235 [735ba376211e]
5236
5237 * source/common/dct.cpp, source/common/primitives.h,
5238 source/common/quant.cpp, source/common/x86/pixel-util.h,
5239 source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp:
5240 quant_c optimization, downscaling qCoef from int32_t* to int16_t*
5241 [43e127b048da]
5242
5243 * source/common/quant.cpp:
5244 optimize cvt32to16_shl by replacing copy_shl
5245 [7a5073a95658]
5246
5247 * source/common/pixel.cpp, source/common/primitives.h,
5248 source/common/x86/asm-primitives.cpp,
5249 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
5250 source/test/pixelharness.cpp, source/test/pixelharness.h:
5251 added copy_shl primitive
5252 [811d242433eb]
5253
5254 * source/common/pixel.cpp, source/common/primitives.h,
5255 source/common/x86/asm-primitives.cpp,
5256 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
5257 source/test/pixelharness.cpp, source/test/pixelharness.h:
5258 added copy_shr primitive
5259 [ec631987a40d]
5260
5261 * source/common/x86/asm-primitives.cpp:
5262 temporarily disable avx2 version of copy_cnt primitive, need to
5263 update as per new interface
5264 [6d2a546f52ce]
5265
5266 * source/common/dct.cpp, source/common/primitives.h,
5267 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
5268 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
5269 source/test/pixelharness.cpp, source/test/pixelharness.h:
5270 conv16to32_count renamed to copy_count as per new interface
5271 [75da68b8a8f1]
5272
5273 * source/common/dct.cpp, source/common/primitives.h,
5274 source/common/quant.cpp, source/common/x86/blockcopy8.h,
5275 source/test/pixelharness.cpp:
5276 conv16to32_count C interface modification, downscaling coeff from
5277 int32_t* to int16_t*
5278 [91e5a6476b1b]
5279
52802014-09-01 Praveen Tiwari <Praveen Tiwari>
5281
5282 * source/common/dct.cpp, source/common/x86/blockcopy8.asm,
5283 source/common/x86/const-a.asm, source/test/pixelharness.cpp:
5284 cvt16to32_cnt optimization
5285 [55039043fa39]
5286
52872014-08-25 Praveen Tiwari <Praveen Tiwari>
5288
5289 * source/common/quant.cpp, source/common/quant.h:
5290 signBitHidingHDQ optimization, downscaling coeff from int32_t* to
5291 int16_t*
5292 [aea5cf3ff1b2]
5293
5294 * source/common/quant.cpp, source/common/quant.h:
5295 rdoQuant optimization, downscaling dstCoeff fron int32_t* to
5296 int16_t*
5297 [dc9652f407f9]
5298
52992014-09-02 Praveen Tiwari <Praveen Tiwari>
5300
5301 * source/common/dct.cpp, source/common/primitives.h,
5302 source/common/quant.cpp, source/common/x86/pixel-util.h,
5303 source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp:
5304 nquant optimization, downscaling qCoef from int32_t* to int16_t*
5305 [422184fd72a7]
5306
53072014-08-25 Praveen Tiwari <Praveen Tiwari>
5308
5309 * source/common/quant.cpp:
5310 quant.cpp, cleaned redundant code
5311 [edc1675f4414]
5312
53132014-09-02 Praveen Tiwari <Praveen Tiwari>
5314
5315 * source/common/dct.cpp, source/common/primitives.h,
5316 source/common/quant.cpp, source/common/vec/dct-sse41.cpp,
5317 source/test/mbdstharness.cpp:
5318 dequant_scaling optimization, downscaling quantCoef from int32_t* to
5319 int16_t*
5320 [e85f4a9235e3]
5321
5322 * source/common/x86/pixel-util8.asm:
5323 dequant_normal asm code optimization as per new interface
5324 [ac73ca63b9f3]
5325
5326 * source/common/dct.cpp, source/common/primitives.h,
5327 source/common/quant.cpp, source/common/x86/pixel-util.h,
5328 source/test/mbdstharness.cpp:
5329 dequant_normal optimization, downscaling quantCoef from int32_t* to
5330 int16_t*
5331 [ebfd59fb6351]
5332
53332014-08-25 Praveen Tiwari <Praveen Tiwari>
5334
5335 * source/common/dct.cpp, source/common/primitives.h,
5336 source/common/quant.cpp, source/common/x86/pixel-util.h,
5337 source/common/x86/pixel-util8.asm, source/encoder/entropy.cpp,
5338 source/test/mbdstharness.cpp:
5339 count_nonzero primitive optimization, downscaling quantCoef from
5340 int32_t* to int16_t*
5341 [dc7c61a01000]
5342
53432014-09-04 Anton Mitrofanov <BugMaster@narod.ru>
5344
5345 * source/common/x86/x86inc.asm:
5346 x86asm: warn when inappropriate instruction used in function with
5347 specified cpuflags
5348 [cff4428396ac]
5349
53502014-09-02 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5351
5352 * source/Lib/TLibCommon/TComDataCU.cpp,
5353 source/Lib/TLibCommon/TComDataCU.h,
5354 source/Lib/TLibEncoder/TEncSearch.cpp,
5355 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
5356 source/encoder/entropy.cpp, source/encoder/entropy.h:
5357 TComDataCU: Reduced repeated function call to calculate depth range
5358 [73450cfe71bd]
5359
53602014-09-03 Satoshi Nakagawa <nakagawa424@oki.com>
5361
5362 * source/Lib/TLibCommon/TComPicYuv.cpp,
5363 source/Lib/TLibCommon/TComPicYuv.h:
5364 change index of m_buOffsetY[] from raster to zscan
5365 [95eaa1854b78]
5366
53672014-09-03 David T Yuen <dtyx265@gmail.com>
5368
5369 * source/Lib/TLibCommon/TComDataCU.cpp:
5370 Cleaned up TComDataCU::getQuadtreeTULog2MinSizeInCU for clarity and
5371 a bit of performance
5372 [e1c4b45b9749]
5373
53742014-09-01 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
5375
5376 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
5377 source/common/x86/dct8.h:
5378 asm: avx2 asm code for dct4
5379 [1e4dfa1b1a04]
5380
53812014-09-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5382
5383 * Merge
5384 [b686cb0abd71]
5385
5386 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
5387 source/encoder/entropy.h:
5388 entropy: cleanup codeQtRootCbf
5389 [7d81a06a1281]
5390
5391 * source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp:
5392 quant: use table for ctxCbf
5393 [99754bc87944]
5394
5395 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
5396 source/encoder/entropy.cpp, source/encoder/entropy.h:
5397 entropy: cleanup codePredMode
5398 [0c50af24fdeb]
5399
5400 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
5401 source/encoder/entropy.cpp, source/encoder/entropy.h:
5402 entropy: cleanup codeCUTransQuantBypassFlag
5403 [7b364065ee45]
5404
54052014-09-01 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5406
5407 * source/Lib/TLibCommon/ContextTables.h,
5408 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
5409 source/encoder/entropy.h:
5410 Entropy: Replaced getCtxQtCbf() with table
5411 [8e4a0aeed2ca]
5412
54132014-09-04 Steve Borho <steve@borho.org>
5414
5415 * Merge with stable
5416 [a184fed3e30c]
5417
5418 * source/common/version.cpp:
5419 version: detect OpenBSD for version string (closes #76)
5420
5421 Fix from Brad Smith
5422 [821c2eef4d52] <stable>
5423
5424 * source/CMakeLists.txt:
5425 cmake: fix BSD link, only link with librt if it exists (closes #75)
5426 [139d6b2a1b19] <stable>
5427
54282014-09-03 Murugan Vairavel <murugan@multicorewareinc.com>
5429
5430 * source/common/x86/asm-primitives.cpp:
5431 asm: enable 16bpp primitives of cvt32to16 and cvt16to32 for all
5432 block sizes
5433 [d122845b9cc8]
5434
54352014-09-03 Min Chen <chenm003@163.com>
5436
5437 * source/test/mbdstharness.cpp:
5438 testbench(nquant): the Round value must be less than (2 ^ qbits)
5439 [cf9245ee6a72]
5440
54412014-09-03 David T Yuen <dtyx265@gmail.com>
5442
5443 * source/common/common.h, source/encoder/analysis.cpp:
5444 Resolve gcc warnings
5445
5446 * more parenthesis for macro
5447 * changed signed to unsigned int
5448 [0b13c852f029]
5449
54502014-09-03 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5451
5452 * source/encoder/analysis.cpp:
5453 fix: hash/binary mismatch for new CU structure holds CU-specific
5454 info
5455 [00c381bf6158]
5456
54572014-08-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5458
5459 * source/Lib/TLibCommon/TComDataCU.h, source/common/common.h,
5460 source/encoder/analysis.cpp, source/encoder/analysis.h:
5461 analysis: CU structure now holds CU-specific information,
5462
5463 Member fields include location inside CTU, boundary flags, offsets
5464 from CTU origin. This will help replace the soon-to-be-gone initCU
5465 and initSubCU functions.
5466 [62c4779fb0bb]
5467
54682014-09-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5469
5470 * source/encoder/ratecontrol.cpp:
5471 Merge with stable
5472 [c5624effb73c]
5473
5474 * source/encoder/ratecontrol.cpp:
5475 Backed out changeset: 35b2d9e774c8
5476
5477 This patch disrupted CBR runs where we were unable to hit the target
5478 bitrate. It is logically correct, but likely incomplete.
5479 [dde992b96623] <stable>
5480
54812014-08-30 Steve Borho <steve@borho.org>
5482
5483 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/pixel-
5484 util8.asm, source/encoder/encoder.cpp:
5485 Merge with stable
5486 [44b95661db56]
5487
54882014-08-25 Steve Borho <steve@borho.org>
5489
5490 * source/encoder/encoder.cpp:
5491 encoder: re-enable --cu-lossless
5492 [269ba0a6ce8c] <stable>
5493
54942014-08-25 Min Chen <chenm003@163.com>
5495
5496 * source/Lib/TLibEncoder/TEncSearch.cpp:
5497 search: fix decoder intra crash with --cu-lossless
5498 [572988a922a1] <stable>
5499
55002014-08-26 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5501
5502 * source/Lib/TLibEncoder/TEncSearch.cpp:
5503 cu-lossless: fix inter hash mistake
5504
5505 The CU needs to be re-encoded if lossless is chosen as the best
5506 mode.
5507 [5a9e01a195a0] <stable>
5508
55092014-08-30 Satoshi Nakagawa <nakagawa424@oki.com>
5510
5511 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
5512 asm: fix dequant_normal
5513 [3c309e5d9c8f] <stable>
5514
55152014-08-29 Steve Borho <steve@borho.org>
5516
5517 * source/encoder/sao.cpp:
5518 sao: fix signed loop bounds bug
5519 [4e2d9ac6d489]
5520
55212014-08-25 Steve Borho <steve@borho.org>
5522
5523 * source/encoder/encoder.cpp:
5524 encoder: re-enable --cu-lossless
5525 [c21ddfe6a6d9]
5526
55272014-08-26 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5528
5529 * source/Lib/TLibEncoder/TEncSearch.cpp:
5530 cu-lossless: fix inter hash mistake
5531
5532 The CU needs to be re-encoded if lossless is chosen as the best
5533 mode.
5534 [07291dff4048]
5535
55362014-08-27 Steve Borho <steve@borho.org>
5537
5538 * source/test/mbdstharness.cpp:
5539 mbdst: cleanup dequant test
5540 [b18ae1fe86b8]
5541
5542 * source/test/mbdstharness.h:
5543 mbdst: make buffers nice even size
5544 [2c70fa36659e]
5545
5546 * source/test/ipfilterharness.cpp, source/test/testharness.h:
5547 test: fix MSVC warnings
5548 [dd540cb2c6b6]
5549
5550 * source/test/mbdstharness.h:
5551 mbdst: align buffers to 32byte boundary
5552 [6f620106312e]
5553
5554 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5555 mbdst: fix memset lengths, change MEM_CMP_SIZE to MAX_TU_SIZE
5556 [bebafa8cf718]
5557
5558 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5559 mbdst: reshuffle varnames
5560 [58323bef4ae1]
5561
5562 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5563 mbdst: remove redundant mintbuf buffers
5564 [1d3ba60370be]
5565
5566 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5567 mbdst: remove unused mbuf4, rename other short output buffers
5568 [e807dcd89eae]
5569
5570 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5571 mbdstharness: remove completely unused arrays
5572 [8a20115abc04]
5573
5574 * source/test/pixelharness.cpp, source/test/pixelharness.h:
5575 pixel: use fixed buffer allocations
5576 [cc0887e5a958]
5577
5578 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
5579 ipfilter: use fixed buffer allocations
5580 [d626070bc8c6]
5581
5582 * source/test/testbench.cpp:
5583 testbench: move test benches from stack allocations to global
5584 [8a247934f2d1]
5585
5586 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
5587 intra: use fixed buffer allocations
5588 [01f3a8e5fcc2]
5589
5590 * source/encoder/ratecontrol.cpp:
5591 Merge with stable
5592 [5426270aee62]
5593
5594 * doc/reST/cli.rst:
5595 docs: fix a typo
5596 [ce614aebb395] <stable>
5597
5598 * source/test/mbdstharness.cpp:
5599 mbdst: add missing test of dequant_scaling
5600 [d471b6de26c9]
5601
5602 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5603 mbdst: use fixed buffer allocations, cleanup some tests
5604 [b5642a14c51f]
5605
56062014-08-27 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5607
5608 * source/Lib/TLibEncoder/TEncSearch.cpp:
5609 TEncSearch: remove redundant function call
5610 [5d246ebff000]
5611
56122014-08-27 Aarthi Thirumalai <Aarthi Thirumalai>
5613
5614 * source/encoder/ratecontrol.cpp:
5615 rc: fix bug in predicting B frame bits in vbv
5616 [35b2d9e774c8] <stable>
5617
56182014-08-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5619
5620 * source/encoder/ratecontrol.cpp:
5621 Merge with stable
5622 [77fe0cc583e8]
5623
56242014-08-27 Aarthi Thirumalai <Aarthi Thirumalai>
5625
5626 * source/encoder/ratecontrol.cpp:
5627 rc: fix bitrate accuracy for vbv in fast presets.
5628 [a6c318bd69ce] <stable>
5629
5630 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
5631 rc: rename m_bframes to m_leadingBframes
5632 [c34b059dff1c] <stable>
5633
56342014-08-26 Steve Borho <steve@borho.org>
5635
5636 * source/Lib/TLibCommon/CommonDef.h,
5637 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
5638 source/common/common.h, source/common/deblock.cpp,
5639 source/common/param.cpp, source/encoder/frameencoder.cpp,
5640 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp:
5641 common: rename QP range macros to be consistent with x264
5642
5643 I find QP_MAX_SPEC to be a lot more self-explanatory than MAX_QP
5644 [32891b95f669]
5645
5646 * source/Lib/TLibCommon/TypeDef.h:
5647 types: remove generic TEXT_CHROMA enum, no longer used
5648 [14fae9208078]
5649
5650 * source/Lib/TLibCommon/TComPattern.cpp,
5651 source/Lib/TLibCommon/TComPattern.h:
5652 pattern: use isLuma instead of restricted TextType range
5653 [45359413afe6]
5654
56552014-08-25 Steve Borho <steve@borho.org>
5656
5657 * source/encoder/sao.cpp, source/encoder/sao.h:
5658 sao: don't pass member variables to functions
5659 [2d386372d543]
5660
56612014-08-26 Steve Borho <steve@borho.org>
5662
5663 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
5664 source/encoder/framefilter.h:
5665 framefilter: move SAO init logic into the frame filter
5666 [78804e5e360c]
5667
56682014-08-26 Min Chen <chenm003@163.com>
5669
5670 * source/common/x86/x86inc.asm:
5671 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
5672
5673 Ported from Henrik Gramner's recent commit to x264
5674 [090480360cb9]
5675
5676 * source/common/x86/pixel-util8.asm:
5677 asm: Minor pixel_ssim_end4 improvements
5678
5679 Reduce the number of vector registers used from 7 to 5. Eliminate
5680 some moves in the AVX implementation. Avoid bypass delays for
5681 transitioning between int and float domains.
5682
5683 Ported from Henrik Gramner's recent commit to x264
5684 [391e1fbb92cf]
5685
56862014-08-26 Satoshi Nakagawa <nakagawa424@oki.com>
5687
5688 * source/encoder/frameencoder.cpp:
5689 fix m_initSliceContext (uninitialised m_sliceQp)
5690 [863faab1a004]
5691
56922014-08-25 Min Chen <chenm003@163.com>
5693
5694 * source/Lib/TLibEncoder/TEncSearch.cpp:
5695 search: fix decoder intra crash with --cu-lossless
5696 [a0028e5b6177]
5697
56982014-08-25 Satoshi Nakagawa <nakagawa424@oki.com>
5699
5700 * source/Lib/TLibCommon/TComDataCU.cpp,
5701 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
5702 source/Lib/TLibCommon/TComYuv.h, source/common/deblock.cpp,
5703 source/common/param.cpp, source/common/shortyuv.h,
5704 source/common/slice.cpp, source/common/slice.h,
5705 source/encoder/analysis.cpp, source/encoder/encoder.cpp,
5706 source/encoder/entropy.cpp, source/encoder/sao.cpp:
5707 replace g_rasterToPelX[g_zscanToRaster[idx]] by g_zscanToPelX[idx]
5708 [5acfb12ec5d1]
5709
57102014-08-25 Steve Borho <steve@borho.org>
5711
5712 * source/common/quant.cpp:
5713 Merge with stable
5714 [44433a2d65dd]
5715
57162014-08-25 Aarthi Thirumalai <Aarthi Thirumalai>
5717
5718 * source/x265.cpp:
5719 rc: don't read slicetypes from qpfile in 2nd pass.
5720
5721 slicetype has to be taken from the stats file from prev pass.
5722 [5fe473327183] <stable>
5723
5724 * source/encoder/ratecontrol.cpp:
5725 rc: write I/i slice in stats file based on whether openGop is
5726 enabled or not.
5727 [f0de8275ed4d] <stable>
5728
57292014-08-23 Satoshi Nakagawa <nakagawa424@oki.com>
5730
5731 * source/common/quant.cpp:
5732 fix lossless
5733 [ad31cbb8c754] <stable>
5734
57352014-08-23 Steve Borho <steve@borho.org>
5736
5737 * source/encoder/sao.cpp:
5738 sao: nits
5739 [e1f1e836e833]
5740
57412014-08-22 Steve Borho <steve@borho.org>
5742
5743 * source/encoder/sao.h:
5744 sao: remove unused m_qp member
5745 [e95c628b90ab]
5746
5747 * source/encoder/sao.cpp:
5748 sao: nit
5749 [a683fffa5245]
5750
5751 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
5752 source/encoder/framefilter.cpp, source/encoder/framefilter.h,
5753 source/encoder/sao.cpp, source/encoder/sao.h:
5754 sao: simplify entropy coder initialization [CHANGES OUTPUTS]
5755
5756 Remove the hack from the HM that preserves fract_bits from the first
5757 row to all rows; it never made any sense and we don't pretend to be
5758 anywhere near close to bit accurate with the HM anymore.
5759
5760 This commit removes the Entrppy coder in FrameFilter since it was
5761 only used by SAO and moves it into the SAO class. The startSaoEnc()
5762 method is removed entirely and another call to resetEntropy() (an
5763 expensive method) is replaced with a load of the frame encoder's
5764 m_initSliceContext
5765 [f2fc8b1e1c3f]
5766
5767 * source/encoder/sao.cpp:
5768 sao: fix inf loop bounds
5769 [6e6756f94b27]
5770
5771 * source/encoder/framefilter.cpp, source/encoder/sao.cpp:
5772 sao: fix MSVC warnings
5773 [c9cf8ae5f7a0]
5774
57752014-08-21 Steve Borho <steve@borho.org>
5776
5777 * source/encoder/sao.cpp:
5778 sao: minor logic simplifications and cleanups
5779 [bad70432b1d3]
5780
5781 * source/encoder/sao.cpp, source/encoder/sao.h:
5782 sao: use typedefs to simplify multi-dimensional mallocs
5783 [3881d3af896f]
5784
5785 * source/encoder/sao.cpp:
5786 sao: sChroma should have been isChroma
5787 [ff799bffbaef]
5788
5789 * source/encoder/sao.cpp:
5790 sao: handle malloc failures more cleanly
5791 [e95ae26c6afa]
5792
5793 * source/encoder/sao.cpp, source/encoder/sao.h:
5794 sao: rename shared table to m_tableBo
5795 [e02ad51211b6]
5796
5797 * source/encoder/sao.cpp, source/encoder/sao.h:
5798 sao: share m_lumaTableBo with chroma
5799 [47ab66abd2f2]
5800
5801 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
5802 source/encoder/sao.h:
5803 sao: use checked mallocs, disable SAO if any mallocs fail
5804 [e93cf3c94bc4]
5805
5806 * source/common/common.h:
5807 common: define a CHECKED_MALLOC_ZERO method to auto-reset allocated
5808 memory
5809
5810 This is mostly useful when allocating buffers containing pointers,
5811 to ensure the pointers are safe to free regardless of later malloc
5812 failures
5813 [36079a3dce67]
5814
5815 * source/Lib/TLibCommon/TComPicYuv.h, source/encoder/sao.cpp,
5816 source/encoder/sao.h:
5817 sao: move getPicYuvAddr() to TComPicYuv and simplify
5818 [eaf5eb7ae2d6]
5819
5820 * source/encoder/sao.h:
5821 sao: remove unused m_tmpYuv and an obsolete comment
5822 [87c08d2aaf56]
5823
5824 * source/encoder/sao.cpp, source/encoder/sao.h:
5825 sao: luma and chroma can share a clip table
5826 [50542271caba]
5827
5828 * source/encoder/sao.cpp:
5829 sao: unify signOf
5830 [d70e2bac56b5]
5831
5832 * source/encoder/sao.cpp, source/encoder/sao.h:
5833 sao: use more compile-time values
5834 [7fc8855656e2]
5835
5836 * source/encoder/sao.cpp, source/encoder/sao.h:
5837 sao: we don't support different bit depths between luma and chroma
5838 [d36617a8512d]
5839
5840 * source/encoder/sao.cpp, source/encoder/sao.h:
5841 sao: remove vars which are dups of params
5842 [5d67f4e4a351]
5843
5844 * source/encoder/sao.cpp, source/encoder/sao.h:
5845 sao: fix warnings
5846 [02ec546246ad]
5847
5848 * source/encoder/encoder.cpp:
5849 Merge with stable
5850 [2e17cb106b17]
5851
5852 * source/Lib/TLibEncoder/TEncSearch.cpp:
5853 search: nit
5854 [282c2c6f5ed1]
5855
5856 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
5857 nits
5858 [9cb0dfeac129]
5859
5860 * source/encoder/sao.cpp, source/encoder/sao.h:
5861 sao: convertLevelRowCol2Idx did not need to be a member function
5862 [577e65afdb8d]
5863
5864 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
5865 source/encoder/sao.h:
5866 sao: merge create/destroy methods
5867 [ed9d78aa312a]
5868
5869 * source/encoder/framefilter.cpp, source/encoder/framefilter.h,
5870 source/encoder/sao.cpp, source/encoder/sao.h:
5871 sao: use m_param directly for user-configurables
5872 [11d427f9ef26]
5873
5874 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
5875 source/encoder/sao.cpp, source/encoder/sao.h:
5876 sao: cleanup member prefixes, remove createPicSaoInfo and endSaoEnc
5877 [a2e74591f674]
5878
5879 * source/Lib/TLibCommon/TComPicSym.cpp,
5880 source/Lib/TLibCommon/TComPicSym.h,
5881 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
5882 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
5883 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
5884 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
5885 source/common/CMakeLists.txt, source/common/common.h,
5886 source/encoder/CMakeLists.txt, source/encoder/dpb.cpp,
5887 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
5888 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
5889 source/encoder/framefilter.h, source/encoder/sao.cpp,
5890 source/encoder/sao.h:
5891 pull SAO code into encoder/ and begin cleanup
5892 [6a8df5dcb412]
5893
5894 * .hgtags:
5895 Added tag 1.3 for changeset c1e4fc0162c1
5896 [2e7d1569845e] <stable>
5897
5898 * source/encoder/encoder.cpp:
5899 encoder: disable --cu-lossless until coding errors can be fixed
5900 (refs #73)
5901 [c1e4fc0162c1] [1.3] <stable>
5902
59032014-08-21 Satoshi Nakagawa <nakagawa424@oki.com>
5904
5905 * source/Lib/TLibCommon/CommonDef.h,
5906 source/Lib/TLibCommon/TComDataCU.cpp,
5907 source/Lib/TLibCommon/TComDataCU.h,
5908 source/Lib/TLibCommon/TComMotionInfo.h,
5909 source/Lib/TLibEncoder/TEncSearch.cpp,
5910 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/bitcost.h:
5911 simplify AMVPInfo to MV[2]
5912 [97ea21754381]
5913
59142014-08-20 Steve Borho <steve@borho.org>
5915
5916 * source/encoder/encoder.cpp:
5917 encoder: nit, remove obsolete comment
5918 [9461fc801cd2]
5919
5920 * source/encoder/encoder.cpp:
5921 Merge with stable
5922 [2585ce839546]
5923
5924 * source/encoder/encoder.cpp:
5925 encoder: do not allow scaling lists to be used with 4:4:4 color
5926 space (refs #72)
5927
5928 It causes hash mistakes
5929 [3badda1ceda6] <stable>
5930
5931 * source/Lib/TLibEncoder/TEncSearch.cpp:
5932 search: nit
5933 [ed7509b29be2]
5934
5935 * source/Lib/TLibEncoder/TEncSearch.cpp:
5936 Merge with stable
5937 [b4f833d41667]
5938
5939 * source/Lib/TLibEncoder/TEncSearch.cpp:
5940 search: do not skip intra tu 32x32 unless TU intra depth is deep
5941 (refs #71)
5942
5943 This may not be the best workaround for the bug, and needs a proper
5944 long term fix.
5945 [203c87c55bb3] <stable>
5946
59472014-08-19 David T Yuen <dtyx265@gmail.com>
5948
5949 * source/Lib/TLibEncoder/TEncSearch.cpp:
5950 Removed code that will never be executed.
5951 [4f2556521155]
5952
59532014-08-19 Min Chen <chenm003@163.com>
5954
5955 * source/encoder/frameencoder.cpp:
5956 fix single thread encode issue
5957 [80129b1b6260]
5958
5959 * source/encoder/entropy.cpp:
5960 cleanup: remove reduce condition check
5961 [5a174ca360f3]
5962
59632014-08-19 Steve Borho <steve@borho.org>
5964
5965 * source/encoder/frameencoder.cpp:
5966 Merge with stable
5967 [63cd8539e7d4]
5968
5969 * source/encoder/frameencoder.cpp:
5970 frameencoder: do not allocate noise reduction struct unless NR is
5971 enabled
5972
5973 This fixes output mismatch between asm / no-asm for 4:4:4 encodes.
5974 Why? I am not entirely sure yet, but this is an obvious bug fix.
5975 [c97a9a62bce8] <stable>
5976
59772014-08-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5978
5979 * source/Lib/TLibEncoder/TEncSearch.cpp:
5980 search: nit
5981 [b137f5c97c46]
5982
5983 * source/Lib/TLibEncoder/TEncSearch.cpp:
5984 search: cleanup variable names and lossless comments
5985 [c2fc2a087d4a]
5986
5987 * source/encoder/encoder.cpp:
5988 Merge with stable
5989 [75d01da6df07]
5990
5991 * source/encoder/encoder.cpp:
5992 psy-rdoq: eliminate dependency between psy-rd, psy-rdoq and rdoq.
5993
5994 RDOQ is turned on by default in rdLevels 4 and above. Psy-rdoq can
5995 be turned on if rdoq is enabled at that preset. Psy-rd can be turned
5996 on with or without rdoq/ psy-rdoq.
5997 [549c61d0436f] <stable>
5998
59992014-08-18 Steve Borho <steve@borho.org>
6000
6001 * source/encoder/encoder.cpp:
6002 param: correctly detect adaptive quant usage when checking --psnr
6003 [dca792ce9786] <stable>
6004
6005 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
6006 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
6007 Merge with stable
6008 [d15367360097]
6009
60102014-08-18 Min Chen <chenm003@163.com>
6011
6012 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
6013 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
6014 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
6015 sao: move m_upBuff* to stack, fixes (#69)
6016 [c979b32c8b51] <stable>
6017
6018 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
6019 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
6020 cleanup: remove unused m_upBuff2
6021 [8320283a7fe0] <stable>
6022
60232014-08-18 Steve Borho <steve@borho.org>
6024
6025 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
6026 encoder: fix deadlocks/crashes when picture is a single CTU row
6027
6028 1. if only one row per frame, disable WPP it is pointless 2. if only
6029 one row per frame, frame parallelism is (mostly) impossible 3. clamp
6030 rateControlUpdateStats() to be within row count range
6031 [eb2b3e34ea0d] <stable>
6032
6033 * source/common/param.cpp:
6034 Merge with stable
6035 [529ccfbed281]
6036
6037 * source/common/param.cpp:
6038 param: typo
6039 [b8356365135e] <stable>
6040
60412014-08-17 Steve Borho <steve@borho.org>
6042
6043 * source/common/quant.cpp:
6044 quant: combine psy-rdoq scale and lambda into one variable
6045
6046 Reduces the number of 64bit multiplies required per psy-value
6047 evaluation
6048 [21506c40f704]
6049
6050 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
6051 source/encoder/entropy.h:
6052 entropy: pass bIsLuma to estBit() instead of limited TextType range
6053
6054 if the only options were TEXT_LUMA or TEXT_CHROMA, it is better to
6055 use a bool argument and avoid ambiguity about TEXT_CHROMA_U or
6056 TEXT_CHROMA_V
6057 [92d07932c93c]
6058
6059 * source/common/quant.cpp, source/encoder/entropy.cpp,
6060 source/encoder/entropy.h:
6061 entropy: simplify EstBitsSbac
6062
6063 There was no reason for significantBits to be a different type than
6064 all the other fix15 bit costs. And NUM_QT_ROOT_CBF_CTX is 1
6065 [b37e0a8471ca]
6066
60672014-08-18 Steve Borho <steve@borho.org>
6068
6069 * source/common/param.cpp:
6070 Merge with stable
6071 [13651e65b820]
6072
6073 * source/encoder/encoder.cpp, source/encoder/encoder.h:
6074 encoder: remove m_maxCuDQPDepth, simplify dqp logic
6075 [9f038f7a2eb6]
6076
60772014-08-18 Satoshi Nakagawa <nakagawa424@oki.com>
6078
6079 * source/Lib/TLibCommon/TComDataCU.cpp,
6080 source/Lib/TLibCommon/TComDataCU.h,
6081 source/Lib/TLibCommon/TComPattern.cpp,
6082 source/Lib/TLibCommon/TComPicSym.cpp,
6083 source/Lib/TLibCommon/TComPicSym.h,
6084 source/Lib/TLibCommon/TComPicYuv.cpp,
6085 source/Lib/TLibCommon/TComPicYuv.h,
6086 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
6087 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
6088 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/deblock.cpp,
6089 source/common/deblock.h, source/common/frame.cpp,
6090 source/common/frame.h, source/common/param.cpp,
6091 source/common/slice.h, source/encoder/analysis.cpp,
6092 source/encoder/analysis.h, source/encoder/cturow.cpp,
6093 source/encoder/cturow.h, source/encoder/encoder.cpp,
6094 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
6095 refine depth related.
6096
6097 maxCUDepth: CU depth maxFullDepth: CU+TU or CU+PU depth unitSize:
6098 always 4
6099 [0eab29da63d3]
6100
61012014-08-18 Steve Borho <steve@borho.org>
6102
6103 * source/x265.cpp:
6104 cli: fix help syntax
6105 [6a1b41049f71] <stable>
6106
6107 * source/common/param.cpp:
6108 param: add psy-rd and psy-rdoq to param2string (for info SEI and
6109 stats file)
6110 [0e4558e42ccc] <stable>
6111
6112 * source/x265.cpp:
6113 cli: update psy-rdoq rangw in CLI help
6114 [cda8e5c21a9b] <stable>
6115
61162014-08-16 Steve Borho <steve@borho.org>
6117
6118 * source/encoder/cturow.h, source/encoder/entropy.h,
6119 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
6120 ctu: optimize away per-row bitstream coders, no output changes
6121
6122 They were really only being used to hold the proper initial state
6123 for each row. This avoids an entropy load/save per CU in
6124 encodeSlice() and while I was in the area I removed another pile of
6125 resetEntropy() calls. The initial slice entropy state is calculated
6126 once and then kept in the frame encoder for all future uses.
6127 [dd594e7362e2]
6128
6129 * source/encoder/analysis.cpp, source/encoder/analysis.h,
6130 source/encoder/cturow.cpp, source/encoder/entropy.cpp,
6131 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
6132 analysis: move encodeCU() methods and friends to Entropy
6133
6134 This function only encodes a fully finished CTU; it is performing no
6135 analysis and it needs none of the features or members of the
6136 Analysis class. It is much more clear as a member of the Entropy
6137 class.
6138
6139 Note: the way bEncodeDQP is communicated is a huge mess and needs to
6140 be cleaned up soon. And finishCU() can also likely be hugely
6141 simplified
6142 [bb6ea1337d82]
6143
61442014-08-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6145
6146 * Merge with stable
6147 [2c68dc7e3827]
6148
6149 * source/encoder/analysis.cpp:
6150 analysis: missing braces caused a bug in CABAC context save for rd=2
6151 [5d5a4c09182d] <stable>
6152
61532014-08-18 Tom Vaughan <tom.vaughan@multicorewareinc.com>
6154
6155 * doc/reST/introduction.rst:
6156 introduction.rst edited online with Bitbucket
6157 [9a0d24274357]
6158
6159 * doc/reST/introduction.rst:
6160 introduction.rst edited online with Bitbucket - added link to MPEG-
6161 LA
6162 [bff42bfd0652]
6163
61642014-08-16 Steve Borho <steve@borho.org>
6165
6166 * doc/reST/cli.rst:
6167 rest: fix typo, document default psy-rdoq value
6168 [87400d5c90aa] <stable>
6169
6170 * build/regression/01build-and-smoke-test.bat,
6171 build/regression/02perftest.bat, build/regression/commandlines-
6172 example.txt, build/regression/config-example.txt, build/regression
6173 /email-csv.py, build/regression/run.bat,
6174 source/Lib/TLibCommon/TComLoopFilter.cpp,
6175 source/Lib/TLibCommon/TComLoopFilter.h,
6176 source/Lib/TLibCommon/TComPrediction.cpp,
6177 source/Lib/TLibCommon/TComPrediction.h,
6178 source/Lib/TLibCommon/TComSlice.cpp,
6179 source/Lib/TLibCommon/TComSlice.h,
6180 source/Lib/TLibCommon/TComTrQuant.cpp,
6181 source/Lib/TLibCommon/TComTrQuant.h,
6182 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
6183 source/Lib/TLibEncoder/SyntaxElementWriter.h,
6184 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
6185 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
6186 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
6187 source/Lib/TLibEncoder/TEncEntropy.cpp,
6188 source/Lib/TLibEncoder/TEncEntropy.h,
6189 source/Lib/TLibEncoder/TEncSbac.cpp,
6190 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/compress.cpp:
6191 merge with default, feature freeze for 1.3
6192 [24a79f4d6f72] <stable>
6193
6194 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp,
6195 source/x265.cpp:
6196 param: enable --fast-intra for all fast modes and turbo first-pass,
6197 document
6198 [866f21378d94]
6199
6200 * source/encoder/slicetype.cpp:
6201 slicetype: use fast intra scan unconditionally in lookahead
6202
6203 We don't want the lookahead output to be variable depending on
6204 --fast-intra since this would make two-pass turbo mode more
6205 difficult.
6206 [c01a334a1043]
6207
62082014-08-15 Steve Borho <steve@borho.org>
6209
6210 * doc/reST/cli.rst:
6211 rest: improve documentation for psycho-visual options
6212 [184748d40276]
6213
62142014-08-16 Steve Borho <steve@borho.org>
6215
6216 * source/encoder/analysis.cpp:
6217 analysis: nits
6218 [6b14a488d586]
6219
6220 * source/common/quant.cpp, source/common/quant.h,
6221 source/encoder/cturow.cpp, source/encoder/frameencoder.cpp:
6222 quant: set lambdas at the same time quant QP is configured
6223 [eb23702aacd8]
6224
62252014-08-15 Steve Borho <steve@borho.org>
6226
6227 * source/common/param.cpp:
6228 param: re-enable psy-rdoq range check for [0..10], print with two
6229 digits
6230 [1710b46949f2]
6231
6232 * source/encoder/rdcost.h:
6233 rdcost: add arbitray scale to make --psy-rd 0..2 range give
6234 acceptable quality
6235 [8d48e5e726cd]
6236
6237 * source/common/quant.cpp, source/common/quant.h,
6238 source/encoder/frameencoder.cpp:
6239 quant: scale psy-rdoq by lambda
6240
6241 Using L1 lambda in RDO is unorthodox, but we already do the same
6242 thing with psy-rd energy and it seems to work decently well here
6243 weighting the reconstructed DCT coeff against the RD cost in psy-
6244 rdoq.
6245
6246 The goal is for psy-rdoq 1 to be a safe and sane default
6247 [810151a75aed]
6248
62492014-08-14 Steve Borho <steve@borho.org>
6250
6251 * source/encoder/analysis.cpp:
6252 analysis: avoid MSVC uninitialized variable warning
6253 [4c09d2ef5f1b]
6254
6255 * source/common/quant.cpp:
6256 quant: use optimized primitive for transquant bypass in
6257 invTransformNxN
6258 [ef25a0e7de3b]
6259
6260 * doc/reST/cli.rst, source/common/param.cpp:
6261 param: don't allow turbo mode to increase rd-level, improve docs
6262 [c4f0bbad98cf]
6263
6264 * source/encoder/analysis.cpp:
6265 analysis: use macro and for-loop to simplify fast-intra
6266
6267 this changes behavior a bit; it's trying both +/-1 offsets instead
6268 of just one. and it has to do one extra check at the end since mode
6269 34 isn't reached by the other previous loops
6270 [07138e6ac952]
6271
62722014-08-14 David T Yuen <dtyx265@gmail.com>
6273
6274 * source/encoder/analysis.cpp:
6275 Added fast intra search option to Analysis::checkIntraInInter_rd0_4
6276 [213f17c1492c]
6277
62782014-08-14 Steve Borho <steve@borho.org>
6279
6280 * source/encoder/analysis.cpp:
6281 nit
6282 [08e9d25e2c72]
6283
6284 * source/common/x86/asm-primitives.cpp:
6285 asm: fix HIGH_BIT_DEPTH build again
6286 [7da2b731de30]
6287
6288 * source/encoder/analysis.cpp:
6289 analysis: white-space nits, possibly exposing a logic bug
6290 [e5083cf64df0]
6291
6292 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
6293 source/Lib/TLibCommon/TComYuv.cpp:
6294 remove predict.h includes from TLibCommon/
6295 [e66dbb50403b]
6296
6297 * source/common/quant.cpp:
6298 quant: + has higher precedence than ?; use parens to fix
6299 unquantShift logic
6300 [e62f74712a16]
6301
63022014-08-14 Satoshi Nakagawa <nakagawa424@oki.com>
6303
6304 * source/Lib/TLibCommon/TComPattern.cpp,
6305 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
6306 source/common/common.h, source/common/intrapred.cpp,
6307 source/common/x86/asm-primitives.cpp, source/encoder/predict.cpp:
6308 replace IntraFilterType[][] to IntraFilterFlags[] (aboid *35)
6309 [5ccdcc853810]
6310
63112014-08-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6312
6313 * source/encoder/slicetype.cpp:
6314 slicetype: initialise lowmode to 4.
6315 [6b741cce14ac]
6316
63172014-08-13 Steve Borho <steve@borho.org>
6318
6319 * source/common/common.h, source/common/x86/asm-primitives.cpp,
6320 source/common/x86/pixel-util.h, source/encoder/predict.h:
6321 fix HIGH_BIT_DEPTH compile on Windows
6322
6323 something included by predict.h breaks pixel-util.h for MSVC; so
6324 move the filter table to common.h. It wasn't quite proper for asm-
6325 primitives.cpp to include a header from encoder/ anyway.
6326 [3d3bc732b9e7]
6327
6328 * source/common/quant.cpp:
6329 quant: typo
6330 [889f69d56b7e]
6331
6332 * source/common/quant.cpp:
6333 quant: update comment for UNQUANT macro
6334 [7c7d35fe1a14]
6335
6336 * source/common/quant.cpp:
6337 quant: simplify UNQUANT() variables
6338 [9ad7668756f7]
6339
63402014-08-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6341
6342 * source/common/quant.cpp, source/common/scalinglist.cpp:
6343 quant: remove extra upshift by 4 in s_invQuantScales
6344
6345 Adding 4 to unQuantPer was a bug, since unQuantScale was already
6346 upshifted by 4.
6347 [1921583cf797]
6348
63492014-08-13 Min Chen <chenm003@163.com>
6350
6351 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/quant.cpp,
6352 source/common/quant.h, source/encoder/cturow.cpp,
6353 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
6354 move m_estBitsSbac from Quant to Entropy
6355 [d66e257ace32]
6356
6357 * source/common/common.h, source/common/dct.cpp,
6358 source/common/primitives.h, source/common/quant.cpp,
6359 source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
6360 source/common/x86/dct8.h, source/encoder/frameencoder.cpp,
6361 source/encoder/frameencoder.h:
6362 asm: integrate denoise_dct, malloc NoiseReduction for alignment
6363 [da6077b713c9]
6364
63652014-08-13 Steve Borho <steve@borho.org>
6366
6367 * source/common/scalinglist.cpp, source/common/scalinglist.h:
6368 scaling: remove array of rarely used trivially calculated values
6369 [ebf2d550938c]
6370
6371 * source/common/scalinglist.cpp, source/common/scalinglist.h,
6372 source/encoder/entropy.cpp:
6373 scaling: remove s_numListsAtSize[], it is 6 at every size
6374 [a2368a224ab3]
6375
6376 * source/encoder/predict.cpp, source/encoder/predict.h:
6377 predict: nits
6378 [0a9d6594872d]
6379
6380 * source/encoder/predict.cpp:
6381 predict: prevent MSVC warning about int to bool conversion
6382 [c87f14ecb186]
6383
63842014-08-13 Aarthi Thirumalai <Aarthi Thirumalai>
6385
6386 * source/Lib/TLibEncoder/TEncSearch.cpp,
6387 source/Lib/TLibEncoder/TEncSearch.h,
6388 source/encoder/frameencoder.cpp:
6389 refactor: cleanup setting up of lambda
6390
6391 move initialising qp and lambda manipulations in one place. remove
6392 TEncSearch::setQP - misleading function name.
6393 [0f9e8b2c0ece]
6394
6395 * doc/reST/cli.rst, source/x265.cpp:
6396 cli: nits. fix typo
6397 [740b794a19fe]
6398
6399 * source/encoder/frameencoder.cpp:
6400 rc: bug fix - m_avgQpAq can be from 0-69.
6401
6402 It is already set within RateControl
6403 [1dc741719013]
6404
64052014-08-13 Steve Borho <steve@borho.org>
6406
6407 * source/x265.cpp:
6408 cli: free param structures on early-outs
6409 [03ea314a6e9d]
6410
6411 * source/common/x86/asm-primitives.cpp:
6412 asm: fix HIGH_BIT_DEPTH link problems
6413 [4ac29f78756c]
6414
6415 * source/encoder/slicetype.cpp:
6416 slicetype: adjust variable scoping to avoid GCC warnings
6417 [12c265f0e413]
6418
6419 * source/encoder/slicetype.cpp:
6420 slicetype: nit
6421 [d43e9a6a7cce]
6422
6423 * source/CMakeLists.txt:
6424 cmake: bump build number
6425 [44b784c61455]
6426
64272014-08-12 David T Yuen <dtyx265@gmail.com>
6428
6429 * source/common/param.cpp, source/encoder/slicetype.cpp,
6430 source/encoder/slicetype.h, source/x265.cpp, source/x265.h:
6431 Added fast intra search option
6432
6433 This version calls intra_pred_allangs to create the predictions then
6434 the faster search with satd
6435 [d22dfb9df30f]
6436
6437 * source/Lib/TLibCommon/TComPattern.cpp, source/common/intrapred.cpp,
6438 source/encoder/predict.cpp, source/encoder/predict.h:
6439 Moved IntraFilterType from intrapred.cpp to predict.h to make it
6440 available
6441
6442 and replace Predict::filteringIntraReferenceSamples
6443 [f47c3e4be76c]
6444
64452014-08-12 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
6446
6447 * source/encoder/analysis.cpp:
6448 analysis: check for proper cost
6449
6450 Throws error when psyrd is enabled since cost is stored in
6451 m_totalPsyCost and m_totalRDCost has MAX_INT64
6452 [91ccff0ca74b]
6453
64542014-08-12 Steve Borho <steve@borho.org>
6455
6456 * source/common/quant.h:
6457 quant: initialize qp to impossible value so first set always works
6458
6459 A bug spotted by valgrind
6460 [8a7f4bb1d1be]
6461
64622014-08-12 Satoshi Nakagawa <nakagawa424@oki.com>
6463
6464 * source/Lib/TLibCommon/TComDataCU.cpp,
6465 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
6466 source/common/param.cpp, source/encoder/encoder.cpp:
6467 replace g_convertToBit[] to g_log2Size[] const table
6468 [945e071f491f]
6469
64702014-08-11 Min Chen <chenm003@163.com>
6471
6472 * source/common/x86/asm-primitives.cpp,
6473 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
6474 asm: AVX2 version cvt32to16_shl
6475 [23d58a1819c7]
6476
64772014-08-10 Satoshi Nakagawa <nakagawa424@oki.com>
6478
6479 * source/common/dct.cpp, source/common/primitives.h,
6480 source/common/quant.cpp, source/common/x86/pixel-util.h,
6481 source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp:
6482 quant: remove scaledCoeff from nquant()
6483 [2bdcfcc1bb33]
6484
64852014-08-10 Aarthi Thirumalai <Aarthi Thirumalai>
6486
6487 * source/encoder/ratecontrol.cpp:
6488 rc: nits; add LF in frame stats of 2 pass
6489 [94d9a0d50837]
6490
64912014-08-10 Steve Borho <steve@borho.org>
6492
6493 * source/encoder/level.cpp:
6494 level: signal profile/level NONE if non-compliant configuration is
6495 found
6496
6497 Once you get above a certain resolution, the CTU size must be at
6498 least 32. There is no level that supports a smaller CTU, so signal
6499 level NONE. It's my understanding that you cannot signal a profile
6500 if the level is NONE, so we reset profile to NONE as well.
6501
6502 The same is true if NumPocTotalCurr is greater than 8; there are no
6503 levels which support values that high. Instead of signaling the
6504 closest level, we should signal profile/level NONE
6505 [7965aacd35ae]
6506
65072014-08-09 Steve Borho <steve@borho.org>
6508
6509 * source/common/quant.cpp:
6510 quant: improve flow and comments for last non-zero refinement
6511 [6e4eb8542203]
6512
6513 * source/common/quant.cpp:
6514 quant: comment improvements
6515 [c9dd47a21b48]
6516
6517 * source/common/quant.cpp, source/common/quant.h:
6518 quant: remove floating point operations from RDOQ [CHANGES OUTPUTS]
6519
6520 The output changes are minor. On modern CPUs the performance benefit
6521 of this change is negligable since SSE double operations are similar
6522 in performance to int64 operations. As a future optimization, we
6523 need to figure out how to multiply lambda2 (FIX8 24bits) by signal
6524 cost (FIX15 24bits) using 32-bit integers since 32bit multiply is
6525 significantly cheaper than 64bit integer multiply.
6526
6527 Similarly, unquantAbsLevel can be larger than 16bits so multiplation
6528 is done with int64. Note that we use signed int64 because with psy-
6529 rdoq the costs could go negative.
6530 [4f1ce079b4a4]
6531
6532 * source/common/quant.cpp, source/common/quant.h:
6533 quant: cleanup chroma QP function
6534
6535 With a unique function name, protected access, and only called from
6536 one location, the ttype check could be removed.
6537 [5132c37cdb38]
6538
6539 * source/common/quant.h:
6540 quant: header cleanups, no functional change
6541 [33c6c661905c]
6542
6543 * source/common/quant.cpp:
6544 quant: use standard rd cost formula for sign-hiding [CHANGES
6545 OUTPUTS]
6546
6547 The previous RD formula was simply inexplicable, though it did work
6548 fairly well.
6549
6550 Old approach: deltaU[blkPos] = (scaledCoeff[blkPos] - ((int)level <<
6551 qbits)) >> (qbits - 8); int64_t invQuant =
6552 ScalingList::s_invQuantScales[rem] << per; int64_t rdFactor =
6553 (int64_t)((invQuant * invQuant) / (lambda2 * 16) + 0.5); costUp =
6554 rdFactor * (-deltaU[blkPos]) + rateIncUp[blkPos];
6555 - wat? -
6556
6557 New approach: int d = abs(signCoef) - UNQUANT(absLevel + 1); costUp
6558 = (((uint64_t)(d * d)) << scaleBits) + lambda2 * rateIncUp[blkPos];
6559
6560 Using this approach the results are nearly the same (they appear to
6561 be slightly better) but now we can probably add psycho-visual
6562 tunings to the sign hiding feature
6563 [e18b85eeb6c5]
6564
6565 * source/common/quant.cpp:
6566 quant: do not check CG bitmap for implied-present coeff groups
6567 [220e217152cf]
6568
6569 * source/common/quant.cpp:
6570 quant: reduce conditional expression depths (mostly for readability)
6571 [95b1d7535af8]
6572
65732014-08-08 Steve Borho <steve@borho.org>
6574
6575 * source/common/quant.cpp:
6576 quant: avoid an extra shift by adjusting the unquant coeff shift
6577 [4003cbf60782]
6578
6579 * source/common/quant.cpp:
6580 quant: improve variable names and comments (no behavior change)
6581 [d6723db1e8ec]
6582
6583 * source/encoder/entropy.cpp:
6584 entropy: simplify sign hide flag
6585 [84acc8eb8d9c]
6586
65872014-08-07 Min Chen <chenm003@163.com>
6588
6589 * source/common/pixel.cpp, source/common/primitives.h,
6590 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
6591 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6592 source/test/pixelharness.cpp, source/test/pixelharness.h:
6593 asm: cvt32to16_shl[*] for TSkip
6594 [091a63164c41]
6595
6596 * source/common/pixel.cpp, source/common/primitives.h,
6597 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
6598 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6599 source/test/pixelharness.cpp, source/test/pixelharness.h:
6600 asm: cvt16to32_shr[*] for TSkip
6601 [8cd2e8c9a3ba]
6602
66032014-08-08 Satoshi Nakagawa <nakagawa424@oki.com>
6604
6605 * source/common/quant.cpp:
6606 denoise: fix numCoeff (bug from 42b1d7c17510)
6607 [ef2602935c59]
6608
66092014-08-07 Steve Borho <steve@borho.org>
6610
6611 * source/common/x86/asm-primitives.cpp, source/test/testbench.cpp:
6612 main10: create a hybrid all-angs primitve for 16bpp compiles
6613
6614 The all-angs primitive is highly optimized assembly code that avoids
6615 a lot of redundant work. The all-angs C ref is horribly slow, doing
6616 redundant work to mimic the output of the all-angs assembly code.
6617 Since we have no high bit depth assembly for these functions, we'll
6618 use a shim C function that works very similar to the C ref but it at
6619 least uses optimized primitives.
6620
6621 intra_allangs4x4 3.64x 6619.54 24097.30 intra_allangs8x8 5.66x
6622 13722.49 77694.97 intra_allangs32x32 4.57x 246943.81 1129159.50
6623
6624 before: encoded 1253 frames in 104.37s (12.01 fps), 366.08 kb/s,
6625 SSIM Mean Y: 0.9889624 (19.571 dB)
6626
6627 after: encoded 1253 frames in 95.62s (13.10 fps), 366.08 kb/s, SSIM
6628 Mean Y: 0.9889624 (19.571 dB)
6629 [33702c567e50]
6630
6631 * source/encoder/entropy.cpp:
6632 entropy: remove implicit memset from constructor
6633
6634 Before we do further refactors, we want Entropy instances allocated
6635 on the stack to not perform any needless initialization work
6636 [49b593197330]
6637
6638 * source/encoder/entropy.cpp, source/encoder/entropy.h:
6639 entropy: pad size of context array to 32 * 5 bytes
6640 [f6e38749049c]
6641
6642 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp,
6643 source/encoder/entropy.h:
6644 entropy: remove ContextModel structure, use uint8_t directly
6645 [04567c40dae5]
6646
6647 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp:
6648 entropy: remove bBinsCoded from ContextModel (no more users)
6649 [4297617da24c]
6650
6651 * source/common/slice.h, source/encoder/encoder.cpp,
6652 source/encoder/entropy.cpp, source/encoder/entropy.h,
6653 source/encoder/frameencoder.cpp:
6654 entropy: disable signaling of CABAC init state
6655
6656 This flag, which was already disabled when frame parallelism is in
6657 use (which is nearly always) was of limited utility. It did not
6658 improve compression efficiency by any measurable amount, and it was
6659 expensive to compute. But the quality which made it expendable was
6660 that it was the only user of the bBinsCoded flag in the
6661 ContextModel; forcing us to copy twice as much data every time we
6662 copy a context.
6663
6664 With this feature removed, the context model can be reduced to a
6665 single uint8_t state variable.
6666 [3fdb78507aea]
6667
6668 * source/encoder/frameencoder.cpp:
6669 frameencoder: nit
6670 [b89417dfa782]
6671
6672 * source/encoder/frameencoder.cpp:
6673 frameencoder: avoid redundant calls to resetEntropy()
6674
6675 All of the entropy coders need to be reset to the same state at the
6676 start of the frame's analysis. There is no point in re-calculating
6677 this initial state repeatedly for each row
6678 [83880abea807]
6679
6680 * source/common/quant.cpp:
6681 quant: avoid runtime check of transform shift size
6682 [8e68a1db7c04]
6683
66842014-08-07 Ashok Kumar Mishra <ashok@multicorewareinc.com>
6685
6686 * source/encoder/analysis.cpp:
6687 analysis: cleanup
6688 [8e45fc7c5521]
6689
66902014-08-07 Aarthi Thirumalai <Aarthi Thirumalai>
6691
6692 * source/common/param.cpp:
6693 rc: set rdlevel to 2 in fast first pass for multipass encode.
6694
6695 increases speed of the first pass by over 70% in the slower presets
6696 with almost the same quality in the final pass.
6697 [5a0e2a7f9ad3]
6698
66992014-08-07 Satoshi Nakagawa <nakagawa424@oki.com>
6700
6701 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
6702 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
6703 source/common/primitives.cpp, source/common/primitives.h,
6704 source/common/shortyuv.cpp, source/common/x86/asm-primitives.cpp,
6705 source/common/x86/ipfilter16.asm, source/common/x86/pixel-util.h,
6706 source/common/x86/pixel-util8.asm, source/common/x86/pixeladd8.asm,
6707 source/common/x86/x86util.asm, source/encoder/analysis.cpp,
6708 source/test/pixelharness.cpp:
6709 asm: cleanup unused sub_ps and add_ps
6710
6711 sub_ps and add_ps are used by CU or TU level, not PU level.
6712 [c29e37317d46]
6713
67142014-08-07 Steve Borho <steve@borho.org>
6715
6716 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp:
6717 entropy: remove m_ prefix from ContextModel.state, other nits
6718 [029563495b6e]
6719
67202014-08-06 Steve Borho <steve@borho.org>
6721
6722 * source/common/param.cpp:
6723 param: log noise reduction use/strength
6724 [619633a933f6]
6725
6726 * source/Lib/TLibEncoder/TEncSearch.cpp,
6727 source/Lib/TLibEncoder/TEncSearch.h, source/common/slice.h,
6728 source/encoder/frameencoder.cpp:
6729 refactor: move motion reference pointers from TEncSearch to Slice
6730
6731 The actual storage for the MotionReference instances lives in the
6732 FrameEncoder, to save memory, but we don't want the analysis code to
6733 be aware of the FE so we give it a pointer to this array. Having
6734 that pointer live in TEncSearch forces us to update this pointer
6735 each time a worker thread starts a new job.
6736
6737 Having the pointer in Slice means we only have to set it once, when
6738 the slice first starts to be encoded. And having this pointer next
6739 to the RPS data in the slice header makes this more coherent.
6740 [03de9eef4244]
6741
6742 * source/common/common.h, source/common/quant.cpp,
6743 source/encoder/frameencoder.cpp:
6744 denoise: further cleanups
6745
6746 x264 used buffer pointers so that they could swap between normal
6747 denoise and "emergency denoise" when the QP became very high. We do
6748 not have an emergency denoise and thus we don't need these pointers
6749 at this time. This simplifies initialization and update logic.
6750 [94cefc095d2f]
6751
67522014-08-06 Praveen Tiwari <Praveen Tiwari>
6753
6754 * source/common/common.h, source/encoder/frameencoder.cpp:
6755 noise reduction, cleaned unused buffer space
6756 [ba6729e34f77]
6757
6758 * source/common/quant.cpp, source/encoder/frameencoder.cpp:
6759 noise reduction, use all eight categories of transform for inter
6760 blocks
6761 [e0d08da20e7f]
6762
67632014-08-06 Aarthi Thirumalai <Aarthi Thirumalai>
6764
6765 * source/encoder/ratecontrol.cpp:
6766 rc : nit
6767 [02d805ee3d38]
6768
67692014-08-05 Min Chen <chenm003@163.com>
6770
6771 * source/common/x86/asm-primitives.cpp,
6772 source/common/x86/blockcopy8.asm, source/common/x86/const-a.asm:
6773 asm: cvt16to32_cnt[32x32] for TSkip
6774 [ca70276334d2]
6775
67762014-08-05 Satoshi Nakagawa <nakagawa424@oki.com>
6777
6778 * source/common/pixel.cpp, source/common/primitives.h,
6779 source/common/x86/asm-primitives.cpp,
6780 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6781 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.asm,
6782 source/common/x86/ipfilter8.h, source/common/x86/mc-a.asm,
6783 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
6784 source/common/x86/pixel.h, source/common/x86/pixeladd8.asm,
6785 source/test/ipfilterharness.cpp, source/test/pixelharness.cpp,
6786 source/test/testbench.cpp, source/test/testharness.h:
6787 primitives for RExt
6788 [c473f49e2818]
6789
67902014-08-05 Santhoshini Sekar <santhoshini@multicorewareinc.com>
6791
6792 * source/Lib/TLibCommon/TComPattern.cpp,
6793 source/Lib/TLibCommon/TComPattern.h:
6794 TComPattern: remove redundant functions used for CIP
6795 [56eaac5d6410]
6796
67972014-08-05 Steve Borho <steve@borho.org>
6798
6799 * source/Lib/TLibEncoder/TEncSearch.cpp:
6800 me: clip motion search area to signaled motion vector length limits
6801 [0d4723a0080c]
6802
68032014-08-04 Steve Borho <steve@borho.org>
6804
6805 * source/common/cpu.cpp, source/common/x86/const-a.asm,
6806 source/common/x86/cpu-a.asm, source/common/x86/mc-a.asm,
6807 source/common/x86/mc-a2.asm, source/common/x86/pixel-a.asm,
6808 source/common/x86/pixel.h, source/common/x86/sad-a.asm,
6809 source/common/x86/ssd-a.asm, source/common/x86/x86inc.asm:
6810 asm: asm header updates
6811 [22b1b01b95aa]
6812
68132014-08-04 Min Chen <chenm003@163.com>
6814
6815 * source/common/x86/asm-primitives.cpp,
6816 source/common/x86/blockcopy8.asm, source/common/x86/const-a.asm:
6817 asm: cvt16to32_cnt[16x16] for TSkip
6818 [1760c267c1e9]
6819
68202014-08-04 Steve Borho <steve@borho.org>
6821
6822 * source/common/quant.cpp, source/common/scalinglist.cpp,
6823 source/common/scalinglist.h:
6824 quant: change how RDOQ measures distortion [CHANGES OUTPUTS]
6825
6826 RDOQ, as it was written in the HM, expects scaled level values to be
6827 output by quant; these are the output levels multiplied by the
6828 quantizing coeffificient but without the rounding factor and without
6829 the downshift. It would then measure distortion as the difference
6830 between this scaled level and level << qbits (a rough unquant). To
6831 make this math work, it was pre-calculating an error scale factor
6832 (per block position, since the quantization coefficients can vary)
6833 which divided the result by the squared scale factor and upshifting
6834 to simultaneously account for the FIX15 nature of the signaling
6835 costs and the uniform scaling of the forward transform. To roughly
6836 summarize:
6837
6838 errScale = (1 << (15 - 2 * transformShift)) / (quantCoeff[i] *
6839 quantCoeff[i]) levelScaled = level * quantCoeff[i] distortion =
6840 levelScaled - (level << qbits); cost = distortion * distortion *
6841 errScale + lambda2 * bitsFix15
6842
6843 It was forced to use floating point math for the errScale and
6844 distortion calculations, and thus did not bother with fixed point
6845 math for lambda2.
6846
6847 This commit changes the distortion measurement to be the difference
6848 between the original (pre-quantization) DCT coefficient and the
6849 unquantized level.
6850
6851 unquantAbsLevel = (level * quantCoeff[i] + pad) >> shift;
6852 distortion = unquantAbsLevel - abs(signCoef); distScale = 1 << (15 -
6853 2 * transformShift); cost = distortion * distortion << distScale +
6854 lambda2 * bitsFix15
6855
6856 Note that the same scale factor is still required to account for the
6857 FIX15 bit cost and the forward DCT scale but now it is a simple
6858 shift operation.
6859
6860 This commit does not change the data types; that will be a later
6861 commit once the dynamic ranges have been properly evaluated. And
6862 deltaU[], used by sign hiding, is left using the scaled level cost
6863 basis for now.
6864 [da57b1e8ac58]
6865
6866 * source/common/quant.cpp:
6867 psy-rdoq: fix unquant shift factors
6868
6869 dequant coefficients are made with s_invQuantScales[rem] << 4, so to
6870 perform an unquant we must remove those four bits from dequantCoeff
6871 [08304a298065]
6872
6873 * source/common/quant.cpp:
6874 quant: remove TODO comment
6875
6876 Yes, there is a reason to check maxAbsLevel < 3 here, diffLevel
6877 below can only be 0, 1, or 2.
6878 [ae7c5f4a842d]
6879
68802014-08-01 Aarthi Thirumalai <Aarthi Thirumalai>
6881
6882 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
6883 source/common/param.h, source/encoder/api.cpp, source/x265.cpp,
6884 source/x265.h:
6885 rc: add slow first pass as option. set turbo first pass as default
6886 in 2 pass
6887 [c5f2a20e6f4c]
6888
68892014-08-04 Santhoshini Sekar <santhoshini@multicorewareinc.com>
6890
6891 * source/encoder/encoder.cpp:
6892 bugfix: disable aq only when both aq-strength and cu-tree is off
6893
6894 AQ can be on when cutree is on even if aq-strength is 0.Do not force
6895 aq to be off whenever aq strength is 0.
6896 [44eb5e05423a]
6897
68982014-08-04 Steve Borho <steve@borho.org>
6899
6900 * source/common/quant.cpp:
6901 psy-rdoq: include psy-cost in uncoded coefficient distortion
6902
6903 Without this adjustment, uncoded coefficients were possibly being
6904 penalized over coded ones with less psy value.
6905 [8edb2a5f3379]
6906
69072014-08-03 Steve Borho <steve@borho.org>
6908
6909 * source/test/pixelharness.cpp:
6910 pixelharness: fix MSVC warning about intptr_t conversion to int
6911 [a2095baa3cbd]
6912
6913 * source/common/quant.cpp:
6914 quant: nit
6915 [774dc8b6a535]
6916
6917 * source/encoder/entropy.cpp:
6918 entropy: cleanup calcCost, add EMMS for float safety
6919 [b2ee9de29995]
6920
6921 * source/common/quant.cpp:
6922 quant: assign a signal cost of zero to zero coeff after lastNZ
6923
6924 This stack variable was uninitialized otherwised, and could have
6925 been used during the optimization of lastNZ
6926 [7f550011c40f]
6927
6928 * source/common/quant.cpp:
6929 quant: rdStats -> cgRdStats
6930 [4addf282bf76]
6931
6932 * source/common/quant.cpp:
6933 quant: cleanup coeff group zero-check code
6934 [545d1ae4375b]
6935
6936 * source/common/quant.cpp:
6937 quant: sign hide nits
6938 [59398cdff016]
6939
6940 * source/common/quant.cpp:
6941 quant: denoise nits
6942 [42b1d7c17510]
6943
6944 * source/common/quant.cpp, source/common/quant.h:
6945 quant: don't pass member variable to class method
6946 [7d727cd9bc63]
6947
6948 * source/common/quant.cpp, source/common/quant.h:
6949 quant: inline the quant method, only called from transformNxN
6950 [f55d750331aa]
6951
6952 * source/common/quant.cpp, source/common/quant.h:
6953 quant: disallow psy-rdoq if transformSkip was used
6954
6955 psy-rdoq is not possible without a transform. Or said another way,
6956 we would need a different psy-rdoq approach for transform skip
6957 [ede3a4679d98]
6958
6959 * source/common/quant.cpp:
6960 quant: comment nits
6961 [c97672cee4c3]
6962
6963 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/quant.cpp,
6964 source/common/quant.h:
6965 quant: remove curUseRDOQ argument from transformNxN, always true
6966 [c01f8fd0985f]
6967
6968 * source/Lib/TLibEncoder/TEncSearch.cpp,
6969 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
6970 search: remove curUseRDOQ arguments from two more methods
6971
6972 residualTransformQuantInter and xEstimateResidualQT were always
6973 called with curUseRDOQ = true, and the flag was never changed
6974 [02ac2e9324b5]
6975
6976 * source/Lib/TLibEncoder/TEncSearch.cpp:
6977 search: hard-code curUseRDOQ
6978 [2ea423991b4a]
6979
6980 * source/Lib/TLibEncoder/TEncSearch.cpp,
6981 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
6982 search: remove curUseRDOQ argument from encodeResAndCalcRdInterCU,
6983 always true
6984 [dcf8948beac2]
6985
6986 * source/common/quant.cpp, source/common/quant.h:
6987 quant: hoist IEP_RATE out of getICRateCost
6988 [01116c890510]
6989
69902014-08-01 Min Chen <chenm003@163.com>
6991
6992 * source/common/x86/asm-primitives.cpp,
6993 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
6994 source/common/x86/const-a.asm:
6995 asm: cvt16to32_cnt[8x8] for TSkip
6996 [49bab9bdf2a3]
6997
6998 * source/common/dct.cpp, source/common/primitives.h,
6999 source/common/quant.cpp, source/common/x86/asm-primitives.cpp,
7000 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
7001 source/test/pixelharness.cpp, source/test/pixelharness.h:
7002 asm: cvt16to32_cnt[4x4] for TSkip
7003 [6f502ab94357]
7004
7005 * source/common/x86/x86inc.asm:
7006 update header and support Intel IACA marker
7007 [e6184896aa7b]
7008
70092014-08-02 Steve Borho <steve@borho.org>
7010
7011 * source/common/quant.cpp:
7012 quant: change lastCG into a bool, use isOne flag to avoid abs()
7013 calls
7014 [69beab744475]
7015
7016 * source/common/quant.cpp:
7017 quant: consistent comment style, improve comments
7018 [b12ac8919761]
7019
7020 * source/common/quant.cpp:
7021 quant: levelDouble -> levelScaled
7022
7023 This always confused the heck out of me. The level was not doubled,
7024 it was not a double, and it wasn't squared. It was just the level
7025 scaled by the quant scale factor
7026 [28c35f8e4f43]
7027
7028 * source/common/quant.cpp:
7029 quant: rename sigCost to codedSigBits, comment nit
7030 [a28d5ae1b52a]
7031
7032 * source/common/quant.cpp:
7033 quant: RDO_CODED_LEVEL macro can now be inlined for easier debugging
7034 [9bb93a267300]
7035
7036 * source/common/quant.cpp:
7037 quant: re-order rdoq logic so only one RDO_CODED_LEVEL() call is
7038 required
7039 [30f1f1d739db]
7040
70412014-08-01 Steve Borho <steve@borho.org>
7042
7043 * source/common/quant.cpp:
7044 quant: more readability nits - no output changes
7045 [ed49f875ab20]
7046
7047 * source/common/quant.cpp:
7048 quant: improve comments for trailing zero coeff
7049 [f14d233107d4]
7050
7051 * source/common/quant.cpp:
7052 quant: remove redundant level intialization
7053 [d341acd13af2]
7054
7055 * source/common/quant.cpp:
7056 quant: blockUncodedCost -> totalUncodedCost, improve comments
7057 [3b8853b12d9c]
7058
7059 * source/common/quant.cpp:
7060 quant: correct rounding factor for unquant
7061 [253ad3eafaa2]
7062
7063 * source/common/quant.cpp:
7064 quant: clarify last-nz optimization loop
7065 [11a3a69d3e29]
7066
7067 * source/common/quant.cpp:
7068 quant: rename costCoeff0 to costUncoded, add docs
7069 [1c9a6a976e5d]
7070
7071 * source/common/quant.cpp:
7072 quant: support scaling lists in psy-rdoq
7073 [8767ddb686af]
7074
7075 * source/common/quant.h:
7076 quant: make IEP_RATE an anonymous enum, it doesn't need storage
7077 [be69e059808a]
7078
7079 * source/common/quant.cpp, source/common/quant.h:
7080 quant: m_lambda2 no longer needs to be a member variable
7081
7082 it is only used in rdoQuant() and can be declared on the stack
7083 [287d37822825]
7084
7085 * source/common/quant.cpp, source/common/quant.h:
7086 quant: convert getCodedLevel() into a macro, remove m_transformShift
7087 hack
7088 [ae8c153ee91d]
7089
7090 * source/common/quant.cpp:
7091 quant: simplify minAbsLevel
7092 [db62272d284c]
7093
7094 * source/common/quant.cpp:
7095 quant: hoist some calculations out of the loop
7096 [32b4aa0eb4fb]
7097
7098 * source/common/quant.cpp:
7099 quant: delay err3, err4 calculation until/if necessary
7100 [244ba5fa80d4]
7101
7102 * source/common/quant.cpp:
7103 quant: apply scale factor in just one place
7104 [2a7315a37d67]
7105
7106 * source/encoder/dpb.cpp:
7107 dpb: cleanup decodingRefreshMarking()
7108 [6b1753638790]
7109
7110 * source/common/slice.h, source/encoder/dpb.cpp:
7111 dpb: remove checks for slice types we do not emit
7112 [963b8e7b1dff]
7113
7114 * source/encoder/dpb.cpp:
7115 dpb: style nits
7116 [5d1bd6097113]
7117
7118 * source/encoder/dpb.cpp:
7119 dpb: getNalUnitType() cannot return NAL_UNIT_CODED_SLICE_IDR_N_LP
7120 [b911b02737c8]
7121
7122 * source/encoder/dpb.cpp:
7123 dpb: remove redundant call to getNalUnitType(), output will not
7124 change
7125 [fb24f965eade]
7126
71272014-08-01 Aarthi Thirumalai <Aarthi Thirumalai>
7128
7129 * source/encoder/ratecontrol.cpp:
7130 rc: enable abr reset in the first pass of two pass encode.
7131
7132 observe this improves second pass results in ultrafast presets for
7133 some videos.
7134 [a9a7f0933ecc]
7135
71362014-08-01 Santhoshini Sekar <santhoshini@multicorewareinc.com>
7137
7138 * source/Lib/TLibEncoder/TEncSearch.cpp,
7139 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/predict.cpp,
7140 source/encoder/predict.h:
7141 cleanup: move m_predYuv and m_predTempYuv from predict to TEncSearch
7142 [a74b24444ae8]
7143
71442014-08-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7145
7146 * source/encoder/predict.h:
7147 predict: whitespace nits
7148 [3db5fda6abf0]
7149
71502014-07-31 Santhoshini Sekar <santhoshini@multicorewareinc.com>
7151
7152 * source/common/lowres.cpp, source/common/lowres.h,
7153 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
7154 rc: update vbv for all b frames
7155
7156 HEVC is complex (and slow) enough that we can afford to update/plan
7157 the VBV buffer states for all frames, not just I and P. The leads to
7158 smoother rate control, particularly when there are large stretches
7159 of B frames, and less (over) compensation is necessary for P frames.
7160 [e85b0aaa64e4]
7161
71622014-07-31 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7163
7164 * source/encoder/predict.h:
7165 predict: nits, cleanup, add TODO comments
7166 [88a18a365d56]
7167
7168 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/predict.cpp,
7169 source/encoder/predict.h:
7170 predict: save clipped MVs
7171 [323e8e87f903]
7172
7173 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
7174 source/encoder/predict.cpp, source/encoder/predict.h:
7175 predict: prepare motionCompensation sets base class fields
7176 [8f30d3659f82]
7177
71782014-07-31 Steve Borho <steve@borho.org>
7179
7180 * source/encoder/dpb.cpp:
7181 dpb: fix picture re-use bug introduced in bc53f6dcda7f
7182 [29ca05751777]
7183
71842014-07-30 Steve Borho <steve@borho.org>
7185
7186 * source/encoder/entropy.cpp, source/encoder/entropy.h:
7187 entropy: remove unused flush function
7188 [674fb6e4d24c]
7189
7190 * source/encoder/entropy.cpp:
7191 entropy: remove redundant !isIntra() check
7192 [b21a9eeec1f8]
7193
7194 * source/common/quant.cpp:
7195 quant: use bisLuma
7196 [8587668cf279]
7197
7198 * source/common/quant.cpp, source/common/quant.h:
7199 quant: use x264 style lambda naming scheme
7200 [77655ea856fe]
7201
72022014-07-31 Steve Borho <steve@borho.org>
7203
7204 * source/encoder/dpb.cpp, source/encoder/dpb.h:
7205 dpb: cleanup prepareEncode()
7206 [565603cfe031]
7207
72082014-07-30 Steve Borho <steve@borho.org>
7209
7210 * source/encoder/rdcost.h:
7211 rdcost: settle on x264 style lambda naming scheme
7212 [639bef366e3e]
7213
7214 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
7215 rdcost: change input type of setC*DistortionWeight to uint16_t
7216
7217 the inputs were shorts, converted to doubles, passed to the
7218 function, then floor() and casted to uint64_t
7219 [5e7a5c1c3446]
7220
7221 * source/Lib/TLibEncoder/TEncSearch.cpp,
7222 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/rdcost.h:
7223 rdcost: move zeroPel buffer to TEncSearch, its only user
7224 [79d976fdc263]
7225
7226 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
7227 source/encoder/rdcost.h:
7228 rdcost: keep psy-rd scale factor as an int (0..512), remove
7229 psyRdEnabled()
7230 [fdb6bb3b2763]
7231
72322014-07-31 Steve Borho <steve@borho.org>
7233
7234 * source/common/common.h:
7235 common: remove unused SCALING_LIST_PARAMETER enum
7236 [5d6c2ddd5620]
7237
7238 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
7239 TComRom: nits
7240 [cbf7a9c4be88]
7241
72422014-07-30 Steve Borho <steve@borho.org>
7243
7244 * source/encoder/entropy.cpp:
7245 entropy: nits
7246 [667a38aaccff]
7247
7248 * source/encoder/entropy.cpp:
7249 entropy: use bIsLuma in codeCoeffNxN()
7250 [a800a5ca5db7]
7251
7252 * source/common/slice.h, source/encoder/entropy.cpp:
7253 slice: allow loop filter boundary flag to be analyzed
7254 [89316a3d04b6]
7255
7256 * source/common/quant.cpp, source/common/quant.h,
7257 source/encoder/entropy.cpp, source/encoder/entropy.h:
7258 quant: use bIsLuma args instead of using a subset of TextType
7259 [32bc57acf918]
7260
7261 * source/Lib/TLibCommon/TComDataCU.cpp,
7262 source/Lib/TLibCommon/TComDataCU.h,
7263 source/Lib/TLibCommon/TComTrQuant.cpp,
7264 source/Lib/TLibCommon/TComTrQuant.h,
7265 source/Lib/TLibEncoder/TEncSearch.cpp,
7266 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
7267 source/common/quant.cpp, source/common/quant.h,
7268 source/encoder/analysis.cpp, source/encoder/analysis.h,
7269 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
7270 source/encoder/predict.h:
7271 TComTrQuant to Quant
7272 [3c659845e4dc]
7273
7274 * source/common/scalinglist.h, source/encoder/entropy.cpp:
7275 scaling: use anonymous enums for class constants
7276
7277 these didn't need to be integers, they didn't need storage. They're
7278 only used to declare arrays and enforce loop bounds. This fixes a
7279 link error in debug compiles on Linux. While I was at it I improved
7280 the comments and moved one definition to entropy.cpp since that was
7281 the only place it was used.
7282 [0b0d398f35ca]
7283
72842014-07-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7285
7286 * source/Lib/TLibCommon/TComPattern.cpp,
7287 source/Lib/TLibCommon/TComPrediction.cpp,
7288 source/Lib/TLibCommon/TComPrediction.h,
7289 source/Lib/TLibCommon/TComWeightPrediction.cpp,
7290 source/Lib/TLibCommon/TComYuv.cpp,
7291 source/Lib/TLibEncoder/TEncSearch.cpp,
7292 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
7293 source/common/intrapred.cpp, source/encoder/CMakeLists.txt,
7294 source/encoder/analysis.h, source/encoder/predict.cpp,
7295 source/encoder/predict.h:
7296 predict: predict.cpp/.h defined, hungarian function names cleaned
7297 up, warnings removed
7298 [c32a86702b68]
7299
73002014-07-30 Steve Borho <steve@borho.org>
7301
7302 * source/common/param.cpp:
7303 param: disable range checks for psy-rdoq while we tune it
7304 [3d814fd1268b]
7305
7306 * source/Lib/TLibCommon/CommonDef.h,
7307 source/Lib/TLibCommon/TComTrQuant.cpp,
7308 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
7309 source/common/scalinglist.cpp:
7310 defs: remove DISTORTION_PRECISION_ADJUSTMENT, fix bug in
7311 2e22ea6ec4bc
7312
7313 FULL_NBIT was disabling this macro for even 16bpp builds, but I
7314 accidentally enabled it. Since it was previously disabled for every
7315 build, and is only even present in SAO and quant, it is best to just
7316 remove it completely.
7317 [38349967645f]
7318
73192014-07-25 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
7320
7321 * source/Lib/TLibCommon/TComTrQuant.cpp,
7322 source/Lib/TLibCommon/TComTrQuant.h,
7323 source/Lib/TLibEncoder/TEncSearch.cpp,
7324 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
7325 source/encoder/encoder.cpp:
7326 psy-rdoq: implementation of psy-rdoq (highly experimental)
7327
7328 This initial version is storing a temp variable in TComTrQuant to
7329 avoid adding even more parameters to getCodedLevel() and it is
7330 ignoring scaling lists in the unquant operation. Currently, you may
7331 need large psy-rdoq scale values to have any real effect. It needs
7332 lots of testing.
7333 [06dcd7c5df6e]
7334
73352014-07-30 Steve Borho <steve@borho.org>
7336
7337 * source/Lib/TLibCommon/TComTrQuant.cpp:
7338 quant: minor cleanups
7339 [df8314a1d3cb]
7340
7341 * source/Lib/TLibCommon/TComTrQuant.cpp:
7342 quant: rename absLevel to level, remove diffLevel
7343 [09ae268bb0ce]
7344
7345 * source/Lib/TLibCommon/TComTrQuant.cpp:
7346 quant: readability nit
7347 [ddef8e2d88fd]
7348
7349 * source/Lib/TLibCommon/TComTrQuant.cpp,
7350 source/Lib/TLibCommon/TComTrQuant.h:
7351 quant: pass curCostSig to getCodedLevel as an integer
7352 [4cb71a283ae3]
7353
7354 * source/Lib/TLibCommon/TComTrQuant.cpp,
7355 source/Lib/TLibCommon/TComTrQuant.h:
7356 quant: return signal cost from getRateLast(), do not include lambda
7357 [e0320502f9ea]
7358
7359 * source/Lib/TLibCommon/TComTrQuant.cpp:
7360 quant: don't bother with extra temp variables
7361 [5210fca67553]
7362
73632014-07-29 Min Chen <chenm003@163.com>
7364
7365 * source/Lib/TLibEncoder/TEncSearch.cpp:
7366 TEncSearch: fix output non-determination bug
7367
7368 When temporal candidates end up as MVP candidates, they can reach
7369 beyond the available region of valid pixels in the reference
7370 picture. In that case, we should not try to measure distortion
7371 there, it only introduces non-determinism. Just take the other MVP
7372 without contest. If both MVP were out of range, we default to mvpIdx
7373 = 0.
7374
7375 Note that there was never any risk of a decode error since when ME
7376 runs it clamps all motion vectors to the range of available pixels.
7377 The setting of this mvmin/mvmax range is assigned just after picking
7378 the best of the two MVP candidates.
7379 [05132ebe8413]
7380
73812014-07-29 Steve Borho <steve@borho.org>
7382
7383 * source/Lib/TLibCommon/TComTrQuant.cpp,
7384 source/Lib/TLibCommon/TComTrQuant.h:
7385 quant: getICRate() and getICRateCost() do not need to be class
7386 methods
7387 [bb9b2fcf75ef]
7388
7389 * source/Lib/TLibCommon/TComTrQuant.cpp,
7390 source/Lib/TLibCommon/TComTrQuant.h:
7391 quant: hoist lambda multiplication out of getICRateCost()
7392 [e9e5f177a698]
7393
7394 * source/Lib/TLibCommon/TComTrQuant.cpp,
7395 source/Lib/TLibCommon/TComTrQuant.h:
7396 quant: inline getRateSigCoef(), getRateSigCoeffGroup() and
7397 getICost()
7398 [f174808a7df4]
7399
7400 * source/Lib/TLibCommon/TComTrQuant.cpp,
7401 source/Lib/TLibCommon/TComTrQuant.h:
7402 quant: improve documentation and code clarity, no logic change
7403 [4012d5a6ff93]
7404
7405 * source/common/scalinglist.cpp:
7406 scaling: factor prec into scalingBits
7407
7408 This makes errScale clearly function to remove quantCoeff^2, and add
7409 this cost scale factor (which is just a bit shift). By factoring it
7410 this way, we can probably remove the need for doubles in the near
7411 future by not using the scaled coefficients in the stupid first
7412 place.
7413 [664eff34ef25]
7414
7415 * source/common/scalinglist.cpp:
7416 scaling: cleanup
7417 [71bce9ae1072]
7418
7419 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/TComRom.h:
7420 move quant defines from TComRom.h to CommonDef.h; they are not table
7421 sizes
7422 [eeeb96ecf0c7]
7423
7424 * source/Lib/TLibCommon/CommonDef.h,
7425 source/Lib/TLibCommon/TComDataCU.cpp,
7426 source/Lib/TLibCommon/TComPrediction.cpp,
7427 source/Lib/TLibCommon/TComTrQuant.cpp,
7428 source/Lib/TLibCommon/TypeDef.h,
7429 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/deblock.cpp,
7430 source/encoder/entropy.cpp:
7431 typedef: remove redundant ChromaFormat enums
7432 [57a8320024ed]
7433
7434 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/TypeDef.h,
7435 source/encoder/entropy.cpp:
7436 defs: cleanup CommonDef.h and TypeDef.h again
7437
7438 TypeDef.h only defines enums, CommonDef.h only defines constants
7439 (grouped together logically). Remove doxygenness
7440 [b5339cbf1764]
7441
7442 * source/common/scalinglist.cpp:
7443 scaling: further simplify scaling list calculation
7444
7445 It does more operations with ints, but mainly I just find this more
7446 readable
7447 [7c8fc08dfbd6]
7448
7449 * source/Lib/TLibCommon/CommonDef.h:
7450 defs: remove FULL_NBIT, no change to logic
7451 [2e22ea6ec4bc]
7452
7453 * source/common/scalinglist.cpp:
7454 scaling: replace pow(2.0, -2.0 * transformShift) with shift
7455 adjustment
7456
7457 Result is the same
7458 [e51017789090]
7459
7460 * source/Lib/TLibCommon/TComDataCU.cpp,
7461 source/Lib/TLibCommon/TComDataCU.h,
7462 source/Lib/TLibCommon/TComTrQuant.cpp,
7463 source/Lib/TLibCommon/TComTrQuant.h, source/encoder/entropy.cpp:
7464 quant: use ScanType enum as type for scanType, other cleanups
7465 [8d1b7dc5b832]
7466
7467 * source/Lib/TLibCommon/TComRom.h,
7468 source/Lib/TLibCommon/TComTrQuant.h,
7469 source/Lib/TLibCommon/TypeDef.h, source/encoder/entropy.cpp:
7470 quant: move enums for scan order to TComRom together with the tables
7471 [fecc01d4c27f]
7472
74732014-07-29 Aarthi Thirumalai <Aarthi Thirumalai>
7474
7475 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
7476 rc: fix crash in 2 pass for faster preset (ultrafast - faster)
7477 [a9678988dda2]
7478
74792014-07-29 Steve Borho <steve@borho.org>
7480
7481 * source/encoder/encoder.cpp, source/encoder/sei.h:
7482 hrd: add a comment about when an APS is required, update SEI
7483 [2263fe1c05f1]
7484
7485 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
7486 sei: fix byte alignment following HRD SEI
7487 [dbec825c30ad]
7488
7489 * source/Lib/TLibEncoder/TEncSearch.cpp,
7490 source/encoder/CMakeLists.txt, source/encoder/motion.cpp,
7491 source/encoder/motion.h:
7492 cmake: enable full warnings for remaining TLibEncoder files
7493 [3a1245fb52a4]
7494
74952014-07-28 Steve Borho <steve@borho.org>
7496
7497 * source/Lib/TLibCommon/TComTrQuant.cpp:
7498 quant: delay getTUEntropyCodingParameters() until known necessary
7499 [2834687bcb51]
7500
75012014-07-29 Albert Wang <Albert Wang>
7502
7503 * source/encoder/frameencoder.cpp:
7504 frameencoder: fix for crash in frameencoder when AccessUnitDelimiter
7505 is on
7506
7507 The m_entropyCoder need to set the bitstream first before calling
7508 codeAUD, otherwise a crash will happen.
7509 [47e6a51b943f]
7510
75112014-07-29 Steve Borho <steve@borho.org>
7512
7513 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
7514 source/Lib/TLibEncoder/TEncSearch.cpp,
7515 source/encoder/CMakeLists.txt:
7516 remove sign compare warnings from TLibEncoder, cleanup SAO
7517 [a021b541a2ef]
7518
7519 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
7520 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
7521 rc,weight: nits
7522 [0308c9e187be]
7523
75242014-07-28 Steve Borho <steve@borho.org>
7525
7526 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
7527 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
7528 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
7529 rc: call getEstimatedPictureCost() from API thread, prevent race
7530 hazards
7531 [2bc34d32e6cc]
7532
7533 * source/encoder/dpb.cpp:
7534 dpb: cleanup
7535 [bc53f6dcda7f]
7536
7537 * source/Lib/TLibCommon/TComPicSym.h, source/common/slice.h,
7538 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
7539 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
7540 source/encoder/ratecontrol.cpp:
7541 slice: move m_bReferenced to picsym and rename for clarity
7542
7543 This flag was being used for two purposes and introducing race
7544 hazards:
7545
7546 1. determining if a picture in the DPB must be signaled in an RPS 2.
7547 determining if the slice type is referenced (non-b)
7548
7549 The m_bHasReferences variable on the picsym is used for the first
7550 purpose. The macro IS_REFERENCED(slice) is used for the second
7551 purpose.
7552
7553 The m_isReferenced member variable on the frame encoder was removed
7554 and it just checks the slice type directly.
7555 [3c50a7e516ed]
7556
7557 * source/encoder/frameencoder.cpp:
7558 frameencoder: nits
7559 [e84b28132be1]
7560
7561 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
7562 source/encoder/ratecontrol.h:
7563 frameencoder: re-order compressFrame() to avoid dependency problem
7564 with HRD
7565
7566 1. if --hrd is enabled, the buffer period SEI needs data set by
7567 rateControlStart 2. rateControlStart may block, so get compute heavy
7568 tasks done first, like weighted prediction analysis 3. hoist
7569 rateControlStart and QP setup back out of compressCTURows() and move
7570 other code into it that belonged there in the first place 4. move
7571 framefilter setup logic together 5. don't measure rateControlEnd()
7572 in frame wall time
7573 [71c023799f3d]
7574
75752014-07-28 Satoshi Nakagawa <nakagawa424@oki.com>
7576
7577 * source/Lib/TLibEncoder/TEncSearch.cpp,
7578 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
7579 search: separate bSkipRes == true path
7580 [7eab256b60f0]
7581
75822014-07-28 Aarthi Thirumalai <Aarthi Thirumalai>
7583
7584 * source/encoder/slicetype.cpp:
7585 slicetype: compute frame satd cost for zero latency
7586 [eba786bbe4b5]
7587
75882014-07-28 Steve Borho <steve@borho.org>
7589
7590 * source/common/scalinglist.cpp, source/common/scalinglist.h,
7591 source/encoder/entropy.cpp:
7592 scaling: remove m_refMatrixId; it was only used to return an int
7593
7594 Only one value of the matrix was ever used at a time, so we can
7595 return thtat index directly from checkPredMode
7596 [236df356402d]
7597
7598 * source/common/scalinglist.cpp, source/common/scalinglist.h,
7599 source/encoder/entropy.cpp:
7600 scaling: use simple ints for small counters and int32_t for scales
7601 and coeffs
7602
7603 This fixes a gcc warning and mostly makes the code more readable and
7604 avoids some (int) casts
7605 [d66a3bd865e3]
7606
7607 * source/common/CMakeLists.txt:
7608 cmake: ignore msvc warnings about forcing value to bool 'true' or
7609 'false'
7610 [8bab5275baed]
7611
76122014-07-27 Steve Borho <steve@borho.org>
7613
7614 * source/Lib/TLibCommon/TComTrQuant.cpp:
7615 quant: fix for tskip
7616 [6b286f66cfab]
7617
7618 * source/Lib/TLibCommon/TComTrQuant.cpp:
7619 quant: nits
7620 [ea63a67164e5]
7621
7622 * source/Lib/TLibCommon/TComTrQuant.cpp,
7623 source/Lib/TLibCommon/TComTrQuant.h:
7624 quant: inline transformSkip
7625 [67e62a4d520f]
7626
7627 * source/Lib/TLibCommon/TComTrQuant.cpp,
7628 source/Lib/TLibCommon/TComTrQuant.h:
7629 quant: inline invTransformSkip
7630 [ec8f8d6e59d9]
7631
7632 * source/Lib/TLibCommon/TComTrQuant.cpp:
7633 quant: simplify dequant, remove redundant invQuantScales array
7634 [28c7868814de]
7635
7636 * source/encoder/level.cpp:
7637 level: signal level None if lossless coding - we have no bitrate
7638 control
7639 [74a5481eceb5]
7640
7641 * source/common/scalinglist.cpp, source/common/scalinglist.h,
7642 source/encoder/entropy.cpp:
7643 scaling: remove duplicate square-block size enums
7644 [0d2eb9d6d7e0]
7645
7646 * source/Lib/TLibCommon/TComTrQuant.cpp,
7647 source/common/scalinglist.cpp, source/common/scalinglist.h,
7648 source/encoder/entropy.cpp:
7649 scaling: move global arrays into class statics, rename
7650 [9ad7abfab9d1]
7651
7652 * source/Lib/TLibCommon/TComTrQuant.cpp,
7653 source/Lib/TLibCommon/TComTrQuant.h,
7654 source/Lib/TLibEncoder/TEncSearch.cpp,
7655 source/common/scalinglist.cpp, source/common/scalinglist.h,
7656 source/encoder/encoder.cpp:
7657 quant: move quant/dequant/errScale buffer maintenance to scaling
7658 list class
7659
7660 This was a wasteful duplication of compute and memory. It was always
7661 strange that TComTrQuant had so many internal references to the
7662 ScalingList class, just to build these arrays itself.
7663
7664 As part of this refactor, ScalingList now has checked mallocs.
7665 [57b57ec43838]
7666
7667 * source/Lib/TLibCommon/TComTrQuant.cpp,
7668 source/Lib/TLibCommon/TComTrQuant.h:
7669 quant: remove x prefixes from remaining methods; no logic change
7670 [82bd32283dd1]
7671
7672 * source/Lib/TLibCommon/TComTrQuant.cpp,
7673 source/Lib/TLibCommon/TComTrQuant.h:
7674 quant: replace xGetIEPRate() with a constant
7675 [96925cfd342d]
7676
7677 * source/Lib/TLibCommon/TComTrQuant.cpp,
7678 source/Lib/TLibCommon/TComTrQuant.h:
7679 quant: remove x prefixes from scaling list methods
7680 [991d931d9db4]
7681
7682 * source/Lib/TLibCommon/TComTrQuant.cpp,
7683 source/Lib/TLibCommon/TComTrQuant.h:
7684 quant: use rem consistently for variables holding qp % 6
7685 [1b39a252efac]
7686
7687 * source/Lib/TLibCommon/TComTrQuant.h,
7688 source/Lib/TLibEncoder/TEncSearch.cpp:
7689 quant: remove default curUseRDOQ argument value
7690 [250deb63f2ea]
7691
7692 * source/Lib/TLibCommon/TComTrQuant.h:
7693 quant: remove default useTransformSkip argument value
7694 [2f52f5c4a913]
7695
7696 * source/Lib/TLibCommon/TComTrQuant.cpp:
7697 quant: more coding style cleanup, update argument list in
7698 xGetCodedLevel comment
7699 [262af2694656]
7700
7701 * source/Lib/TLibCommon/TComTrQuant.cpp,
7702 source/Lib/TLibCommon/TComTrQuant.h:
7703 quant: QpParam class to struct
7704 [e4008f081c33]
7705
7706 * source/Lib/TLibCommon/TComTrQuant.h:
7707 quant: re-order header and improve comments
7708 [5758998128e1]
7709
7710 * source/Lib/TLibCommon/TComTrQuant.cpp,
7711 source/Lib/TLibCommon/TComTrQuant.h,
7712 source/Lib/TLibEncoder/TEncSearch.cpp:
7713 quant: remove get/set methods for scaling list enable flag
7714 [7435c0f166f6]
7715
7716 * source/Lib/TLibCommon/TComTrQuant.cpp,
7717 source/Lib/TLibCommon/TComTrQuant.h:
7718 quant: remove access methods for the class's own members
7719 [0625f303cd49]
7720
7721 * doc/reST/cli.rst, source/CMakeLists.txt,
7722 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
7723 source/common/param.cpp, source/common/scalinglist.cpp,
7724 source/common/scalinglist.h, source/encoder/encoder.cpp,
7725 source/x265.cpp, source/x265.h:
7726 api: expose scaling lists and psy-rdoq as a CLI/API options
7727
7728 psy-rdoq is not yet functional - option is ignored move scaling list
7729 related globals to scalinglist.cpp from TComRom
7730 [93a434014f5a]
7731
77322014-07-26 Steve Borho <steve@borho.org>
7733
7734 * source/Lib/TLibCommon/TComTrQuant.cpp,
7735 source/Lib/TLibCommon/TComTrQuant.h:
7736 quant: don't pass m_resiDctCoeff to member methods
7737 [00c127bd42e7]
7738
77392014-07-25 Steve Borho <steve@borho.org>
7740
7741 * source/common/param.cpp, source/encoder/encoder.cpp:
7742 param: move all consistency param tweaks into Encoder::configure()
7743
7744 x265_check_params() shouldn't be modifying the param structure; it's
7745 role is to spot invalid configurations and prevent crashes in
7746 encoder creation.
7747 [a86d9aaaa7d7]
7748
77492014-07-26 Steve Borho <steve@borho.org>
7750
7751 * source/Lib/TLibCommon/TComTrQuant.cpp,
7752 source/Lib/TLibCommon/TComTrQuant.h,
7753 source/Lib/TLibEncoder/TEncSearch.cpp:
7754 quant: cleanup initialization; catch malloc failures. rename
7755 m_tmpCoeff
7756 [db5642f2e4b7]
7757
7758 * source/Lib/TLibCommon/TComTrQuant.cpp,
7759 source/Lib/TLibCommon/TComTrQuant.h:
7760 quant: nits
7761 [a28a01820e30]
7762
77632014-07-25 Steve Borho <steve@borho.org>
7764
7765 * source/Lib/TLibCommon/TComTrQuant.cpp,
7766 source/Lib/TLibCommon/TComTrQuant.h:
7767 quant: cleanups
7768 [b60d35a06d3a]
7769
7770 * source/Lib/TLibCommon/TComTrQuant.cpp:
7771 quant: cleanup signBitHidingHDQ()
7772 [50db97f20e61]
7773
7774 * source/Lib/TLibCommon/TComTrQuant.cpp,
7775 source/Lib/TLibCommon/TComTrQuant.h:
7776 quant: simplify setQPforQuant
7777 [3f205a75877b]
7778
7779 * source/Lib/TLibCommon/TComTrQuant.cpp:
7780 quant: remove dead comment
7781 [08de42d0b4a0]
7782
7783 * source/Lib/TLibCommon/TComTrQuant.cpp,
7784 source/Lib/TLibCommon/TComTrQuant.h, source/encoder/entropy.cpp,
7785 source/encoder/entropy.h:
7786 quant: do not malloc the EstBitsSbac structure, pass by reference
7787 [82279c006a70]
7788
7789 * source/Lib/TLibEncoder/TEncSearch.h,
7790 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
7791 white-space and brace nits
7792 [fef8314f730b]
7793
7794 * source/Lib/TLibEncoder/TEncSearch.cpp:
7795 search: simplify verbage, fix white-space, no logic change
7796 [7a8e7a87c9a2]
7797
7798 * source/Lib/TLibEncoder/TEncSearch.cpp,
7799 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
7800 source/encoder/analysis.h, source/encoder/cturow.cpp:
7801 search: move all init code into TEncSearch::initSearch()
7802
7803 TEncSearch owns all the objects being initialized
7804 [915397565c05]
7805
7806 * source/encoder/framefilter.cpp:
7807 framefilter: initialize saoRowDelay just once
7808 [6ca9f09455ca]
7809
7810 * source/Lib/TLibCommon/TComPicSym.cpp, source/encoder/encoder.cpp,
7811 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
7812 source/encoder/framefilter.cpp:
7813 frameencoder: remove getSAO() access method; delay allocation of
7814 SAOParam
7815 [606b6ebed3b8]
7816
7817 * source/encoder/dpb.cpp, source/encoder/encoder.cpp,
7818 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
7819 move slice setup together into one function, reorder functions for
7820 clarity
7821 [509fe705ed8d]
7822
7823 * source/common/slice.h, source/encoder/frameencoder.cpp:
7824 slice: remove redundant initSlice(), m_numRefIdx[] is set by DPB
7825 unconditionally
7826 [b573c299fb31]
7827
7828 * source/common/slice.h, source/encoder/dpb.cpp:
7829 slice: move coloc/tmvp flag setting all to one place
7830 [d65c665f15f8]
7831
7832 * source/x265.h:
7833 api: improve documentation of x265_encoder_encode
7834 [f73c0902079f]
7835
78362014-07-26 Steve Borho <steve@borho.org>
7837
7838 * source/encoder/analysis.cpp:
7839 analysis: cleanup early-skip
7840 [dc595d2bfa36]
7841
7842 * source/Lib/TLibCommon/TComDataCU.cpp:
7843 cudata: nits
7844 [50e015720392]
7845
7846 * source/encoder/entropy.cpp:
7847 entropy: nit
7848 [a581b22e70e4]
7849
7850 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
7851 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
7852 source/encoder/encoder.cpp, source/encoder/encoder.h,
7853 source/encoder/framefilter.cpp:
7854 encoder: remove unused m_maxRefPicNum and m_maxNumOffsetsPerPic
7855 [e6ff719bd703]
7856
78572014-07-25 Steve Borho <steve@borho.org>
7858
7859 * doc/reST/cli.rst:
7860 rest: better document configuration options of --vbv-init
7861 [66ed81577483]
7862
78632014-07-25 Aarthi Thirumalai <Aarthi Thirumalai>
7864
7865 * source/encoder/ratecontrol.cpp:
7866 rc: fix crashes in vbv with 2 pass
7867 [d3e2e487a488]
7868
78692014-07-25 Steve Borho <steve@borho.org>
7870
7871 * source/Lib/TLibCommon/TComPicYuv.cpp,
7872 source/Lib/TLibCommon/TComPicYuv.h, source/encoder/encoder.cpp,
7873 source/encoder/encoder.h, source/encoder/framefilter.cpp:
7874 encoder: remove redundant m_pad array
7875 [8aa4132d3097]
7876
7877 * source/encoder/encoder.cpp, source/encoder/encoder.h:
7878 encoder: fix uninitialized variable use reported by valgrind
7879
7880 m_conformanceWindow was not initialized at all; and this was causing
7881 uninitialized values to be written to the SPS if padding was
7882 necessary.
7883
7884 Remove unnecessary m_defaultDisplayWindow in the process
7885 [c5aa92fff04a]
7886
7887 * source/encoder/encoder.cpp, source/encoder/entropy.cpp:
7888 nits
7889 [d8a2892b8044]
7890
7891 * source/common/param.cpp, source/common/slice.h,
7892 source/encoder/encoder.cpp, source/encoder/level.cpp:
7893 level: move all profile set/determine logic into one file, fixes for
7894 MSP
7895 [239cb2ba252e]
7896
78972014-07-24 Steve Borho <steve@borho.org>
7898
7899 * source/x265.cpp:
7900 cli: call x265_param_apply_profile() after applying file-reader
7901 params
7902
7903 the Y4M headers could change param->internalCsp, so applying the
7904 profile before the reader makes changes allows bugs. The CLI was
7905 allowing an encode of:
7906
7907 x265 foo_422.y4m o.bin --profile main
7908
7909 Even though --profile main was trying to enforce 4:2:0; the color
7910 space change happened afterward the profile was enforced and thus
7911 invalidated the specified profile. After this fix the encode
7912 properly fails with:
7913
7914 x265 [error]: Unsupported color space (2) on input aborted at input
7915 frame 1, output frame 0
7916 [cb6f58ca056e]
7917
7918 * source/x265.cpp:
7919 cli: nit
7920 [88afb4a4bcee]
7921
79222014-07-24 Satoshi Nakagawa <nakagawa424@oki.com>
7923
7924 * source/Lib/TLibEncoder/TEncSearch.cpp,
7925 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
7926 qtLayer in reverse order
7927 [11f8f6e4be20]
7928
79292014-07-22 Satoshi Nakagawa <nakagawa424@oki.com>
7930
7931 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
7932 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
7933 source/common/primitives.cpp, source/common/primitives.h,
7934 source/common/shortyuv.cpp, source/common/shortyuv.h,
7935 source/encoder/analysis.cpp, source/test/testbench.cpp:
7936 refine partition size related
7937
7938 - reorder LumaPartitions to simplify partitionFromLog2Size()
7939 - remove unused
7940 [64a3b661b79a]
7941
79422014-07-24 Steve Borho <steve@borho.org>
7943
7944 * source/common/param.cpp:
7945 param: log multi-pass state
7946 [670e330e4120]
7947
7948 * source/encoder/ratecontrol.cpp:
7949 rc: nits
7950 [f54d5368590a]
7951
7952 * source/encoder/ratecontrol.cpp:
7953 rc: instrument all error conditions in initPass2()
7954
7955 it's not helpful to abort the encode with no hint as to why
7956 [650c2d3c5194]
7957
7958 * source/encoder/bitcost.cpp:
7959 bitcost: nits
7960 [74630a9af6c9]
7961
7962 * doc/reST/cli.rst:
7963 rest: better document that -I N -i N does not disable scenecut
7964 detection
7965 [63a4b5c790ca]
7966
7967 * Merge with stable
7968 [8b59410a70be]
7969
7970 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
7971 bitcost: increase size of cost arrays, for pessimal situations
7972
7973 MVD is MV minus MVP. MV could be BC_MAX_MV and MVP could be
7974 -BC_MAX_MV
7975 [a12920e08700] <stable>
7976
7977 * source/encoder/bitcost.h:
7978 bitcost: fix bitcost() function, broken 13 months ago by
7979 07015bbe306b
7980
7981 when bitcost() was first introduced, we had two competing table
7982 formats for the s_bitsizes[] array. Eventually the x264 style array
7983 won out, but this function was not updated.
7984
7985 This bug was almost harmless, bitcost() could still evaluate
7986 differences in bit costs correctly, but the upshift caused read
7987 bound exceptions when the motion vectors became close to the HEVC
7988 max of 4k.
7989 [49ea5391828c] <stable>
7990
7991 * source/x265.cpp:
7992 cli: reorder argument help for clarity, add more sections
7993 [b78d4dc01e2c]
7994
79952014-07-24 Aarthi Thirumalai <Aarthi Thirumalai>
7996
7997 * source/common/param.cpp, source/x265.cpp:
7998 rc: add cli options for multi-pass rate control
7999 [5955c949ef8c]
8000
80012014-07-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
8002
8003 * source/Lib/TLibCommon/TComLoopFilter.cpp,
8004 source/Lib/TLibCommon/TComLoopFilter.h,
8005 source/common/CMakeLists.txt, source/common/deblock.cpp,
8006 source/common/deblock.h, source/common/loopfilter.cpp,
8007 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
8008 port TComLoopFilter Functions into /common/deblock
8009
8010 1. Rename TComLoopFilter to Deblock 2. Remove hungarian notation
8011 function names and variables 3. Remove unused or empty functions
8012 [6c7a31f1b029]
8013
80142014-07-23 Steve Borho <steve@borho.org>
8015
8016 * source/encoder/entropy.cpp:
8017 entropy: reorder methods in general encode order for clarity, no
8018 logic change
8019 [47407360120a]
8020
8021 * source/common/slice.h, source/encoder/encoder.cpp,
8022 source/encoder/entropy.cpp:
8023 entropy: remove ambiguity about timing info signaling
8024 [5b22512f13d1]
8025
8026 * source/encoder/entropy.cpp:
8027 entropy: nits
8028 [2debe3d86181]
8029
8030 * source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8031 source/encoder/entropy.h:
8032 entropy: do not code a scaling list in PPS
8033
8034 The scaling list in PPS is only necessary to override the scaling
8035 list in the SPS. We will only ever have at most one scaling list (at
8036 this time)
8037 [ab0c9b6cc30f]
8038
80392014-07-24 Aarthi Thirumalai <Aarthi Thirumalai>
8040
8041 * source/Lib/TLibEncoder/TEncSearch.cpp:
8042 rc: calculate mvBits, coefBits per Cu for 2 pass in skip mode as
8043 well
8044 [6c0929567805]
8045
8046 * source/encoder/ratecontrol.cpp:
8047 rc: compute average of qpaRc, qpAq per frame even in 2 pass
8048 [7dd13d919265]
8049
80502014-07-23 Steve Borho <steve@borho.org>
8051
8052 * source/Lib/TLibCommon/TComPrediction.h, source/encoder/analysis.cpp:
8053 pred: remove default motionCompensation argument values
8054
8055 bugs waiting to happen; they've bit us multiple times in the past
8056 [342d72f0b613]
8057
8058 * source/encoder/analysis.cpp:
8059 analysis: eoln fixup
8060 [4f9ff4eeb7e3]
8061
80622014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8063
8064 * source/encoder/analysis.cpp:
8065 TComPrediction: fix MC error caused by previous patch
8066 [db6b7046d4f0]
8067
8068 * source/Lib/TLibCommon/TComPrediction.cpp,
8069 source/Lib/TLibCommon/TComPrediction.h,
8070 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp:
8071 TComPrediction: remove unused parameter warning
8072 [6919c9f2432a]
8073
8074 * source/encoder/analysis.cpp:
8075 analysis: whitespace nit
8076 [379c44100fff]
8077
80782014-07-23 Steve Borho <steve@borho.org>
8079
8080 * doc/reST/cli.rst:
8081 rest: tpyo
8082 [9a1c64cc7f28]
8083
8084 * doc/reST/cli.rst:
8085 rest: move profile, level, and tier into their own section
8086
8087 They really didn't belong combined with the slice-decision options
8088 [8a8495c750ad]
8089
80902014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8091
8092 * source/encoder/analysis.cpp:
8093 analysis: add in extra X265_CHECK
8094 [2ee1444e8a00]
8095
80962014-07-23 Gopu Govindaswamy <gopu@multicorewareinc.com>
8097
8098 * source/encoder/analysis.cpp:
8099 analysis: setQPforQuant in checkIntraInter to fix the hash mismatch
8100 at rd=5&6
8101 [c1823bb20eed]
8102
81032014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8104
8105 * source/Lib/TLibCommon/TComPrediction.cpp,
8106 source/Lib/TLibCommon/TComPrediction.h:
8107 TComPrediction: white space nits, remove isPSlice (next series)
8108 [5fdc394bc5e0]
8109
81102014-07-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8111
8112 * source/Lib/TLibCommon/TComPrediction.cpp,
8113 source/Lib/TLibCommon/TComPrediction.h,
8114 source/Lib/TLibEncoder/TEncSearch.cpp:
8115 TComPrediction: remove redundant colorspace information
8116
8117 m_csp is sufficient inside the TEncSearch, TComPrediction structures
8118 [30f41c3ef7d3]
8119
8120 * source/Lib/TLibCommon/TComPrediction.cpp,
8121 source/Lib/TLibCommon/TComPrediction.h,
8122 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp:
8123 TComPrediction: save CU data (partAddr, width, height) as member
8124 fields
8125
8126 Before motion compensation, save CU related data inside the
8127 TComPrediction structure
8128 [a5422a41c85a]
8129
81302014-07-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8131
8132 * source/Lib/TLibCommon/TComPrediction.cpp,
8133 source/Lib/TLibCommon/TComPrediction.h,
8134 source/Lib/TLibEncoder/TEncSearch.cpp:
8135 TComPrediction: remove TComDataCU as pointer to private functions
8136 [d8d26a695cf6]
8137
81382014-07-22 Steve Borho <steve@borho.org>
8139
8140 * source/common/param.cpp:
8141 param: re-order code to avoid unreachable code warnings in 10bit
8142 builds
8143 [e3ad03b7c485]
8144
8145 * build/regression/01build-and-smoke-test.bat,
8146 build/regression/02perftest.bat, build/regression/commandlines-
8147 example.txt, build/regression/config-example.txt, build/regression
8148 /email-csv.py, build/regression/run.bat:
8149 remove very obsolete regression batch files
8150 [fe3f3ec46306]
8151
8152 * source/encoder/level.cpp:
8153 level: fix GCC signed/unsigned comparison
8154 [345bc6231fa3]
8155
81562014-07-21 Steve Borho <steve@borho.org>
8157
8158 * doc/reST/cli.rst:
8159 rest: update --profile, --level, --high-tier docs
8160 [08da00a7e719]
8161
8162 * source/CMakeLists.txt, source/common/param.cpp,
8163 source/encoder/api.cpp, source/encoder/level.cpp,
8164 source/encoder/level.h, source/x265.cpp, source/x265.h:
8165 level: add --high-tier and auto-configure VBV if --crf N --level M
8166 (refs #61)
8167
8168 This patch is a major overhaul of the level enforcement logic. The
8169 first obvious difference is that the user may specify the tier. The
8170 second difference is that x265 will no longer run any configuration
8171 that might generate non-compliant bitstreams.
8172
8173 Any of these conditions will cause the encode to abort if a minimum
8174 decoder level was specified:
8175
8176 * picture size is too large
8177 * frame rate is too high
8178 * constant QP rate control is configured
8179 * the specified level does not exist
8180
8181 Further, if CRF was specified, we now configure VBV using the
8182 maximum CPB size and bitrate for their level/tier (and issue a
8183 warning that the output may now be non-deterministic).
8184
8185 Note that the encoder will still encode the minimum decoder level
8186 which covers the encode parameters. So even if you specify --level
8187 5.1, we may signal the stream as level 4.0-High if the stream should
8188 be decodable at that level.
8189
8190 This further fixes the CLI to allow --level-idc or the shortened
8191 --level, just as it now also supports --high-tier or the shortened
8192 --high.
8193 [5510d559c2bd]
8194
81952014-07-22 Aarthi Thirumalai <Aarthi Thirumalai>
8196
8197 * source/encoder/ratecontrol.cpp:
8198 rc: bug fixes in 2 pass ABR
8199
8200 ratecontrol - fix duplication of bits in calculating m_totalBits
8201 frameencoder - don't amortize totalBits in 2 pass ABR
8202 [b85dbec30cc5]
8203
82042014-07-21 Steve Borho <steve@borho.org>
8205
8206 * source/encoder/ratecontrol.cpp:
8207 rc: prevent gcc shadow warning about int terminate and terminate()
8208 [d303b4d860e9]
8209
8210 * source/encoder/analysis.cpp:
8211 analysis: don't initialize members of base class in constructor
8212 [eeea411e197a]
8213
8214 * source/common/param.cpp:
8215 param: fix profile warnings in x265_param_apply_profile()
8216
8217 This function was likely never used since it was not supported by
8218 the CLI till now. When the user specifies --profile Main10, they
8219 intend that the output stream is decodable by a Main10 decoder. This
8220 is true of any Main encode.
8221
8222 The reverse is not true for --profile Main and a Main10 encode. We
8223 must return an error and abort the encode if --profile Main is
8224 specified and the encoder was compiled for Main10 (HIGH_BIT_DEPTH).
8225 [5835fa3a8281]
8226
8227 * source/x265.cpp:
8228 cli: expose x265_param_apply_profile() via --profile
8229
8230 This is repairing an egregious oversight
8231 [56e9d8a66527]
8232
8233 * source/encoder/level.cpp:
8234 level: nit
8235 [a2506d62d4af]
8236
8237 * source/encoder/api.cpp, source/encoder/encoder.cpp,
8238 source/encoder/level.cpp, source/encoder/level.h:
8239 level: move m_vps.maxDecPicBuffering logic into one function
8240
8241 This prevents duplicate logic from existing in two separate files
8242 [72641fecf86a]
8243
8244 * source/Lib/TLibCommon/TypeDef.h, source/common/slice.h:
8245 ptl: move enums from TypeDef.h to slice.h
8246 [5f64abf3a20a]
8247
8248 * source/common/slice.h, source/encoder/api.cpp,
8249 source/encoder/encoder.cpp, source/encoder/encoder.h,
8250 source/encoder/entropy.cpp, source/encoder/entropy.h,
8251 source/encoder/level.cpp, source/encoder/level.h:
8252 slice: add ProfileTierLevel instance to VPS
8253
8254 The PTL data is coded in the VPS (first) and thus belongs with that
8255 data structure, as it allows us to simplify arguments to the level
8256 set and determination functions.
8257 [7621ec03e9c6]
8258
8259 * source/encoder/level.cpp:
8260 level: fix typo
8261 [eed3099a90ea]
8262
82632014-07-17 Steve Borho <steve@borho.org>
8264
8265 * source/encoder/level.cpp:
8266 fix for GCC warning about loop bounds
8267 [bf78ebd06ed0]
8268
82692014-07-21 Steve Borho <steve@borho.org>
8270
8271 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
8272 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
8273 source/Lib/TLibEncoder/TEncSearch.cpp,
8274 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp,
8275 source/encoder/analysis.h, source/encoder/api.cpp,
8276 source/encoder/cturow.cpp, source/encoder/cturow.h,
8277 source/encoder/encoder.cpp, source/encoder/encoder.h,
8278 source/encoder/entropy.cpp, source/encoder/entropy.h,
8279 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
8280 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
8281 entropy: settle on Entropy class name and member names
8282
8283 Through all these various refactors the SBAC/CABAC/entropy classes
8284 have all merged together and the member variables were a scattered
8285 mix
8286 [ca02fa285ac0]
8287
8288 * source/CMakeLists.txt:
8289 cmake: tabs to spaces
8290 [26458b8dcba4]
8291
8292 * source/CMakeLists.txt:
8293 cmake: only create SONAME shared lib on POSIX systems (closes #62)
8294 [80c1d35e5517]
8295
8296 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
8297 source/encoder/ratecontrol.h:
8298 rc: prevent deadlock on encoder flush or close
8299
8300 1. add a terminate() function to unblock any blocked rate control
8301 methods 2. never block if the order ordinal is already above the
8302 required ordinal 3. simulate start events when encoder is flushing
8303
8304 Without these changes, closing the encoder without flushing (CTRL+C
8305 in the CLI) or encoding fewer frames than frame encoders (-F8 -f4)
8306 could cause deadlocks
8307 [a2fd8a71de61]
8308
83092014-07-21 Aarthi Thirumalai <Aarthi Thirumalai>
8310
8311 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
8312 rc: fix warnings in ratecontrol
8313 [3801142d080d]
8314
83152014-07-18 Aarthi Thirumalai <Aarthi Thirumalai>
8316
8317 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
8318 source/encoder/ratecontrol.h:
8319 rc: generate cutree offsets for 2nd pass from stats
8320 [2f87f3c24b4a]
8321
8322 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
8323 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
8324 source/encoder/slicetype.h:
8325 rc: fix sliceType of 2nd pass from prev pass stats
8326
8327 avoid doing sliceAnalyse in lookahead for 2nd pass
8328 [1b2fbf3208ca]
8329
8330 * source/encoder/encoder.cpp, source/encoder/encoder.h,
8331 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
8332 rc: add 2 pass logic in rateEstimateQscale
8333 [0461e091a7b5]
8334
83352014-07-21 Satoshi Nakagawa <nakagawa424@oki.com>
8336
8337 * source/Lib/TLibCommon/TComLoopFilter.cpp,
8338 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
8339 source/Lib/TLibCommon/TComTrQuant.cpp,
8340 source/Lib/TLibCommon/TComTrQuant.h,
8341 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp:
8342 trquant: store QpParam for each component
8343 [4d2c3d09e836]
8344
83452014-07-19 Satoshi Nakagawa <nakagawa424@oki.com>
8346
8347 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
8348 source/Lib/TLibCommon/TComTrQuant.h,
8349 source/Lib/TLibCommon/TypeDef.h, source/encoder/entropy.cpp:
8350 scan order tables
8351 [88310701f857]
8352
83532014-07-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8354
8355 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
8356 TComWeightPrediction: initialising pointers to NULL
8357
8358 getWPScaling will assign appropriate weight pred tables to these.
8359 [aa651ea5673c]
8360
8361 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
8362 TComWeightPrediction: add braces to prevent errors for an optional
8363 else statement
8364 [a30e3bd53959]
8365
83662014-07-17 Michel Zou <xantares09@hotmail.com>
8367
8368 * source/CMakeLists.txt:
8369 cmake: fix dll installation directory on Windows
8370
8371 On Windows the shared library (.dll) is considered RUNTIME and the
8372 import library (.dll.a on MinGW or .lib on MSVC) as LIBRARY.
8373 [eb983d29c11a]
8374
83752014-07-17 Min Chen <chenm003@163.com>
8376
8377 * source/common/x86/ssd-a.asm:
8378 use macro HADDD to improve AMD performance
8379 [7e9de0923541]
8380
83812014-07-18 Ashok Kumar Mishra <ashok@multicorewareinc.com>
8382
8383 * source/Lib/TLibCommon/TComDataCU.cpp,
8384 source/Lib/TLibCommon/TComDataCU.h:
8385 TComDataCU: replaced functions with tables
8386 [477a0a6bf89b]
8387
8388 * source/Lib/TLibCommon/TComDataCU.cpp,
8389 source/Lib/TLibCommon/TComDataCU.h:
8390 TComDataCU: remove redundant functions
8391 [6df47cdd3f47]
8392
83932014-07-18 Santhoshini Sekar <santhoshini@multicorewareinc.com>
8394
8395 * source/encoder/analysis.cpp, source/encoder/encoder.cpp,
8396 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
8397 source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
8398 source/encoder/ratecontrol.h:
8399 rc: update ratecontrol stats in every frame, avoid frame parallelism
8400 lag in abr
8401
8402 RateControl statistics are updated for every frame when refLagRows
8403 number of rows are completed in processRowEncoder. With this updated
8404 data rateControl predicts more accurate QP
8405
8406 This removes the previous hack which disabled frame parallelism for
8407 the first half-second of video and replaces it with a more fine-
8408 grained rate control call timing to achieve a similar ABR
8409 improvement with less effect to frame parallelism.
8410 [0a8ecd8a6cf9]
8411
84122014-07-18 Steve Borho <steve@borho.org>
8413
8414 * source/Lib/TLibCommon/TComTrQuant.h, source/common/CMakeLists.txt,
8415 source/common/scalinglist.cpp, source/common/scalinglist.h,
8416 source/common/slice.cpp, source/common/slice.h,
8417 source/encoder/encoder.h, source/encoder/entropy.cpp,
8418 source/encoder/entropy.h:
8419 split ScalingList class into its own header and source file
8420
8421 The PPS and SPS headers no longer have scaling list pointers, so
8422 there is no need for it to be declared in the same header
8423 [eef6867b9c53]
8424
8425 * source/encoder/dpb.cpp, source/encoder/ratecontrol.cpp:
8426 a copy of POC is cached in the Frame struct
8427 [e4199c04d78d]
8428
8429 * source/Lib/TLibCommon/TComDataCU.cpp,
8430 source/Lib/TLibCommon/TComDataCU.h,
8431 source/Lib/TLibCommon/TComLoopFilter.cpp,
8432 source/Lib/TLibCommon/TComPattern.cpp,
8433 source/Lib/TLibCommon/TComPrediction.cpp,
8434 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8435 source/Lib/TLibCommon/TComTrQuant.cpp,
8436 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8437 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
8438 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/frame.h,
8439 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
8440 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8441 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
8442 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
8443 frame,cu: remove getSlice()
8444 [ea61fd838115]
8445
8446 * source/Lib/TLibCommon/TComPicSym.h, source/common/frame.h,
8447 source/encoder/dpb.cpp:
8448 picsym: remove getSlice()
8449 [821c875b2d39]
8450
8451 * source/Lib/TLibCommon/TComDataCU.h,
8452 source/Lib/TLibCommon/TComLoopFilter.cpp,
8453 source/Lib/TLibCommon/TComPattern.cpp,
8454 source/Lib/TLibCommon/TComPicSym.cpp,
8455 source/Lib/TLibCommon/TComPicSym.h,
8456 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
8457 source/Lib/TLibCommon/TComSlice.cpp,
8458 source/Lib/TLibCommon/TComSlice.h,
8459 source/Lib/TLibCommon/TComTrQuant.cpp,
8460 source/Lib/TLibCommon/TComTrQuant.h,
8461 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8462 source/common/CMakeLists.txt, source/common/common.cpp,
8463 source/common/frame.h, source/common/param.cpp,
8464 source/common/slice.cpp, source/common/slice.h,
8465 source/encoder/analysis.cpp, source/encoder/cturow.h,
8466 source/encoder/dpb.cpp, source/encoder/dpb.h,
8467 source/encoder/encoder.cpp, source/encoder/encoder.h,
8468 source/encoder/entropy.cpp, source/encoder/entropy.h,
8469 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
8470 source/encoder/ratecontrol.h, source/encoder/reference.cpp,
8471 source/encoder/sei.cpp, source/encoder/sei.h,
8472 source/encoder/weightPrediction.cpp:
8473 move PPS, SPS, Slice and ScalingList to common/
8474 [f04c98f33ca5]
8475
84762014-07-17 Steve Borho <steve@borho.org>
8477
8478 * source/Lib/TLibCommon/TComSlice.cpp,
8479 source/Lib/TLibCommon/TComSlice.h:
8480 slice: remove unused initWpScaling()
8481 [9cbd9fc1710a]
8482
8483 * source/Lib/TLibCommon/TComSlice.cpp,
8484 source/Lib/TLibCommon/TComSlice.h,
8485 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8486 source/encoder/entropy.cpp:
8487 slice: remove getWpScaling()
8488 [601e61fb185f]
8489
8490 * source/Lib/TLibCommon/TComSlice.cpp,
8491 source/Lib/TLibCommon/TComSlice.h, source/common/piclist.cpp,
8492 source/common/piclist.h:
8493 slice: make xGetRefPic a PicList method
8494 [b4643bc7ac7d]
8495
8496 * source/Lib/TLibCommon/TComSlice.h:
8497 slice: do not initialize fields that are always written
8498 unconditionally
8499 [eb6178f8449e]
8500
8501 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8502 source/encoder/frameencoder.cpp:
8503 encoder: do some slice initializations only once
8504 [37ea4eb500cf]
8505
8506 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8507 entropy: slice->m_colFromL0Flag is a bool
8508 [1bf5e0390f7d]
8509
8510 * source/encoder/dpb.cpp:
8511 dpb: simplify check for m_bCheckLDC; make note for future
8512 optimization
8513 [f7624977ec9a]
8514
8515 * source/encoder/dpb.cpp:
8516 dpb: remove check for B frame without L1
8517
8518 our lookahead won't emit B frames without a leading P frame
8519 [fb9681ba75ac]
8520
8521 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8522 source/encoder/entropy.cpp:
8523 slice: remove m_bLMvdL1Zero
8524
8525 This feature, which signals L1 MVD is zero for an entire slice, was
8526 never enabled because we never use the same frame list in L0 and L1.
8527 [82c1fec5da66]
8528
8529 * source/encoder/entropy.cpp:
8530 entropy: fix warning reported by llvm
8531
8532 /Users/steve/repos/x265/source/encoder/entropy.cpp:321:44: warning:
8533 equality comparison with extraneous parentheses[-Wparentheses-
8534 equality] if ((cu->getSlice()->m_numRefIdx[list] == 1))
8535 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
8536 [8eed1fac9ccb]
8537
8538 * source/encoder/entropy.cpp, source/encoder/entropy.h,
8539 source/encoder/frameencoder.cpp, source/encoder/nal.cpp,
8540 source/encoder/nal.h:
8541 wpp: generate stream size array as coded (in bytes) and pre-
8542 calculate max offset
8543
8544 removes another per-frame alloc/free and redundant work
8545 [93ab6ed75b01]
8546
8547 * source/Lib/TLibCommon/TComSlice.cpp,
8548 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
8549 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
8550 source/encoder/frameencoder.h:
8551 slice: remove substream array, move to frame encoder
8552
8553 \0/ the slice structure no longer allocates memory
8554 [5cbdfc4532d9]
8555
8556 * source/Lib/TLibCommon/TComPrediction.cpp:
8557 nit
8558 [57f8e7264e9e]
8559
8560 * source/Lib/TLibCommon/TComDataCU.cpp,
8561 source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/dpb.cpp:
8562 replace slice->m_refPicList[][]->getPOC() with
8563 slice->m_refPOCList[][]
8564 [4c14b90fad83]
8565
8566 * source/Lib/TLibCommon/TComSlice.cpp,
8567 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
8568 slice: merge setRefPOCList() into setRefPicList()
8569
8570 Now both lists are always aligned so it is always safe to use the
8571 POC table
8572 [51caccd3b359]
8573
8574 * source/Lib/TLibCommon/TComDataCU.cpp,
8575 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8576 source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
8577 slice: remove getRefPOC
8578 [eb2278d72afa]
8579
8580 * source/encoder/dpb.cpp:
8581 dpb: perform setRefPOCList() directly after setRefPicList()
8582
8583 A precursor to combining the two functions
8584 [c1acfb981082]
8585
8586 * source/Lib/TLibCommon/TComDataCU.cpp,
8587 source/Lib/TLibCommon/TComLoopFilter.cpp,
8588 source/Lib/TLibCommon/TComPrediction.cpp,
8589 source/Lib/TLibCommon/TComSlice.h,
8590 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8591 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
8592 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
8593 source/encoder/weightPrediction.cpp:
8594 slice: remove getRefPic(l,r)
8595 [e2f90ba1de4a]
8596
8597 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8598 source/encoder/entropy.cpp:
8599 slice: remove setNumRefIdx
8600 [ce65e2bd2f12]
8601
8602 * source/Lib/TLibCommon/TComDataCU.cpp,
8603 source/Lib/TLibCommon/TComSlice.h, source/encoder/analysis.cpp,
8604 source/encoder/dpb.cpp, source/encoder/entropy.cpp,
8605 source/encoder/frameencoder.cpp:
8606 slice: remove set/get for m_colRefIdx and m_sliceCurEndCUAddr
8607 [4701e921b33d]
8608
8609 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8610 source/encoder/entropy.cpp:
8611 slice: remove getMvdL1ZeroFlag/setMvdL1ZeroFlag
8612 [b2ac589c522e]
8613
8614 * source/Lib/TLibCommon/TComDataCU.cpp,
8615 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8616 source/encoder/entropy.cpp:
8617 slice: remove getColFromL0Flag()
8618 [1268011090f0]
8619
8620 * source/Lib/TLibCommon/TComDataCU.cpp,
8621 source/Lib/TLibCommon/TComPrediction.cpp,
8622 source/Lib/TLibCommon/TComSlice.cpp,
8623 source/Lib/TLibCommon/TComSlice.h,
8624 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8625 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
8626 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
8627 source/encoder/weightPrediction.cpp:
8628 slice: remove getNumRefIdx() access method
8629 [785217b5ed5c]
8630
8631 * source/Lib/TLibCommon/TComSlice.h:
8632 slice: removed unused setRefPic() and setRefPOC() methods
8633 [c7846351fc9f]
8634
8635 * source/Lib/TLibCommon/TComSlice.cpp,
8636 source/Lib/TLibCommon/TComSlice.h:
8637 slice: remove unused getNumRpsCurrTempList() method
8638 [0f5cfda6a764]
8639
8640 * source/Lib/TLibCommon/TComDataCU.cpp,
8641 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8642 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8643 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
8644 slice: remove get/set methods for slice QP and lastIDR
8645 [3f024a5a40f0]
8646
8647 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8648 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
8649 source/encoder/ratecontrol.cpp:
8650 slice: remove get/set methods for m_bReferenced
8651 [aa785acc0d5f]
8652
8653 * source/Lib/TLibCommon/TComDataCU.cpp,
8654 source/Lib/TLibCommon/TComSlice.h,
8655 source/Lib/TLibCommon/TComTrQuant.cpp,
8656 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8657 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
8658 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
8659 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
8660 slice: remove get/set methods for m_sliceType
8661 [880285f10294]
8662
8663 * source/Lib/TLibCommon/TComSlice.h:
8664 nit
8665 [95a35fd1c0b7]
8666
8667 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8668 slice: remove m_cabacInitFlag, it was write-only
8669 [39f9cb10090a]
8670
8671 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8672 slice: remove m_numEntryPointOffsets, it was write-only
8673 [3a6a0307f6c6]
8674
8675 * source/Lib/TLibCommon/TComSlice.h, source/encoder/analysis.cpp,
8676 source/encoder/cturow.cpp, source/encoder/frameencoder.cpp:
8677 slice: remove slice bit counter
8678 [79c839303e2a]
8679
8680 * source/Lib/TLibCommon/TComDataCU.cpp,
8681 source/Lib/TLibCommon/TComSlice.cpp,
8682 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8683 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8684 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
8685 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
8686 slice: remove get/set methods for m_poc
8687 [98b7f7a776b1]
8688
8689 * source/Lib/TLibCommon/TComSlice.h:
8690 nits
8691 [67c9a0c5ec56]
8692
8693 * source/Lib/TLibCommon/TComDataCU.cpp,
8694 source/Lib/TLibCommon/TComSlice.h, source/encoder/analysis.cpp,
8695 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
8696 slice: remove m_sliceSegmentBits and get/set methods for max-merge
8697 [bf060c902d24]
8698
8699 * source/Lib/TLibCommon/TComSlice.cpp,
8700 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
8701 source/encoder/frameencoder.cpp:
8702 slice: remove m_saoEnabledFlag, m_saoEnabledFlagChroma - use
8703 saoParams
8704
8705 SBac::encodeSliceHeader() was already using saoParams for chroma but
8706 not for luma (inexplicably)
8707 [fd4297676f76]
8708
8709 * source/encoder/frameencoder.cpp:
8710 sao: combine if(){} expressions
8711 [a5d5d329daf1]
8712
8713 * source/encoder/frameencoder.cpp:
8714 sao: (bool == 1? ? true : false -> wat?
8715 [0233b8965906]
8716
8717 * source/encoder/ratecontrol.cpp:
8718 rc: fix vbvBufferSize calculation
8719 [930003de2009]
8720
8721 * source/Lib/TLibCommon/TComSlice.h:
8722 slice: nits
8723 [901252fe8a16]
8724
8725 * source/Lib/TLibCommon/TComSlice.cpp,
8726 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8727 source/encoder/frameencoder.cpp:
8728 slice: cleanup m_nalUnitType and helper methods
8729 [4c49302d8b19]
8730
8731 * source/Lib/TLibCommon/TComDataCU.cpp,
8732 source/Lib/TLibCommon/TComDataCU.h,
8733 source/Lib/TLibCommon/TComLoopFilter.cpp,
8734 source/Lib/TLibCommon/TComLoopFilter.h,
8735 source/Lib/TLibCommon/TComPattern.cpp,
8736 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8737 source/Lib/TLibCommon/TComSlice.h,
8738 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8739 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
8740 source/encoder/weightPrediction.cpp:
8741 slice: remove get/set methods for m_pic
8742
8743 This cleaned up TComDataCU::getPic() as a side-effect.
8744 [72e3bd69cb70]
8745
8746 * source/Lib/TLibCommon/TComDataCU.cpp,
8747 source/Lib/TLibCommon/TComSlice.cpp,
8748 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8749 source/encoder/entropy.cpp:
8750 slice: temporal MVP was never disabled
8751 [6e45eff6d2b3]
8752
8753 * source/encoder/encoder.cpp:
8754 rc: HRD must be initialized prior to calling init()
8755 [c06b0b9d3501]
8756
8757 * source/Lib/TLibCommon/TComLoopFilter.cpp,
8758 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8759 slice: remove unused deblock data, directly use status/offsets from
8760 PPS
8761
8762 nits: reorder TComSlice for better clarity and remove initializer
8763 list from constructor
8764 [ba028e8d4115]
8765
8766 * source/Lib/TLibCommon/TComSlice.cpp,
8767 source/Lib/TLibCommon/TComSlice.h,
8768 source/Lib/TLibEncoder/TEncSearch.cpp,
8769 source/encoder/frameencoder.cpp:
8770 slice: remove unused slice QP deltas
8771 [b5abd96ccc90]
8772
8773 * source/encoder/dpb.cpp, source/encoder/entropy.cpp:
8774 nits
8775 [134406df4863]
8776
8777 * source/Lib/TLibCommon/TComSlice.cpp,
8778 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8779 source/encoder/entropy.cpp:
8780 slice: we only use a slice-local RPS (none signaled in SPS)
8781 [f5352780ad35]
8782
8783 * source/Lib/TLibCommon/TComSlice.cpp,
8784 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8785 source/encoder/dpb.h, source/encoder/entropy.cpp,
8786 source/encoder/entropy.h:
8787 slice: TComReferencePictureSet -> RPS
8788 [e6a8280a3c1a]
8789
8790 * source/Lib/TLibCommon/TComSlice.cpp,
8791 source/Lib/TLibCommon/TComSlice.h:
8792 slice: hoist constructor to header (it will be removed in later
8793 commits)
8794 [08232a102124]
8795
8796 * source/Lib/TLibCommon/TComDataCU.cpp,
8797 source/Lib/TLibCommon/TComLoopFilter.cpp,
8798 source/Lib/TLibCommon/TComPattern.cpp,
8799 source/Lib/TLibCommon/TComPrediction.cpp,
8800 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8801 source/Lib/TLibCommon/TComSlice.h,
8802 source/Lib/TLibCommon/TComTrQuant.cpp,
8803 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8804 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8805 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
8806 source/encoder/entropy.cpp, source/encoder/entropy.h,
8807 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
8808 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
8809 source/encoder/sei.cpp, source/encoder/sei.h:
8810 slice: remove get/set methods for SPS and PPS, make pointers const
8811
8812 Nearly everywhere, SPS and PPS are used read-only, so making the
8813 pointers const enforces this at compile time and allows the compiler
8814 to make some optimizations. The few places that initialize or change
8815 the headers are passed the original objects belonging to the top-
8816 level encoder.
8817 [419d1a1b0d39]
8818
8819 * source/encoder/frameencoder.cpp:
8820 nit
8821 [675a22d901af]
8822
8823 * source/Lib/TLibCommon/TComSlice.cpp,
8824 source/Lib/TLibCommon/TComSlice.h,
8825 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8826 source/Lib/TLibCommon/TComWeightPrediction.h,
8827 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
8828 source/encoder/reference.cpp, source/encoder/reference.h,
8829 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
8830 source/encoder/weightPrediction.cpp:
8831 slice: rename wpScalingParam -> WeightParam
8832 [575d4a0d849b]
8833
8834 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8835 source/encoder/encoder.h, source/encoder/entropy.cpp,
8836 source/encoder/frameencoder.cpp:
8837 pps: simplify deblocking signaling, disable slice override
8838
8839 Disable slice override of deblock-enable state and offsets - we do
8840 no such thing and attempts at using these in the past have not been
8841 effective.
8842 [3e4616cffc90]
8843
8844 * source/encoder/encoder.h:
8845 nits
8846 [6d0c8efbe3ed]
8847
8848 * source/encoder/api.cpp, source/encoder/encoder.cpp,
8849 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
8850 source/encoder/frameencoder.h:
8851 encoder: make SPS and PPS top-level encoder singletons
8852
8853 This fixes a subtle bug. If level requirements forced the max
8854 references to be lowered, VPS and SPS maxDecPicBuffering was never
8855 adjusted. Now, they are not configured until after level enforcement
8856 has set them to final values.
8857 [f0d157944c55]
8858
88592014-07-16 Steve Borho <steve@borho.org>
8860
8861 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8862 source/encoder/entropy.cpp:
8863 pps: we never very chroma QP per picture, so remove
8864 bSliceChromaQpFlag
8865 [b59d09ca6c1b]
8866
8867 * source/encoder/encoder.cpp, source/encoder/entropy.cpp:
8868 pps: move deblocking logic together, fix a couple signaling bugs
8869 [bb5e9a11868c]
8870
8871 * source/Lib/TLibCommon/TComDataCU.cpp,
8872 source/Lib/TLibCommon/TComLoopFilter.cpp,
8873 source/Lib/TLibCommon/TComPattern.cpp,
8874 source/Lib/TLibCommon/TComPrediction.cpp,
8875 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8876 source/Lib/TLibCommon/TComSlice.h,
8877 source/Lib/TLibCommon/TComTrQuant.cpp,
8878 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8879 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8880 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8881 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
8882 pps: class to struct, remove m_ prefix, unify naming scheme
8883 [677547b73129]
8884
8885 * source/Lib/TLibCommon/TComDataCU.cpp,
8886 source/Lib/TLibCommon/TComLoopFilter.cpp,
8887 source/Lib/TLibCommon/TComPattern.cpp,
8888 source/Lib/TLibCommon/TComPrediction.cpp,
8889 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8890 source/Lib/TLibCommon/TComSlice.cpp,
8891 source/Lib/TLibCommon/TComSlice.h,
8892 source/Lib/TLibCommon/TComTrQuant.cpp,
8893 source/Lib/TLibCommon/TComWeightPrediction.cpp,
8894 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8895 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8896 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
8897 pps: remove set/get methods and hard-coded members
8898 [31d11036bf9c]
8899
8900 * source/Lib/TLibCommon/TComSlice.h:
8901 slice: white-space nits
8902 [febec529cc80]
8903
8904 * source/Lib/TLibCommon/TComSlice.h:
8905 vps: remove constructor, those values are always initialized
8906 [c64bca550377]
8907
8908 * source/Lib/TLibCommon/TComTrQuant.cpp:
8909 sps: fix check statement
8910 [8193ac4172fe]
8911
8912 * source/Lib/TLibCommon/TComDataCU.cpp,
8913 source/Lib/TLibCommon/TComLoopFilter.cpp,
8914 source/Lib/TLibCommon/TComPattern.cpp,
8915 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8916 source/Lib/TLibCommon/TComSlice.h,
8917 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8918 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
8919 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
8920 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
8921 source/encoder/sei.h:
8922 sps: class to struct, remove m_ prefixes
8923 [59782b2bc59c]
8924
8925 * source/Lib/TLibCommon/TComDataCU.cpp,
8926 source/Lib/TLibCommon/TComLoopFilter.cpp,
8927 source/Lib/TLibCommon/TComPattern.cpp,
8928 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
8929 source/Lib/TLibCommon/TComSlice.cpp,
8930 source/Lib/TLibCommon/TComSlice.h,
8931 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
8932 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
8933 source/encoder/analysis.cpp, source/encoder/dpb.cpp,
8934 source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8935 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
8936 source/encoder/sei.h:
8937 sps: remove set/get methods, remove members with hard-coded values
8938
8939 Note all the SPS members that could be replaced by direct access to
8940 param. Removes m_vps pointer from slice, it was never set or
8941 referenced
8942 [e288df705bf3]
8943
8944 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8945 source/encoder/entropy.cpp:
8946 vps: class to struct and other nits
8947 [9f906f877ba8]
8948
8949 * source/Lib/TLibCommon/TComDataCU.cpp,
8950 source/Lib/TLibCommon/TComSlice.h,
8951 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
8952 source/encoder/encoder.cpp, source/encoder/encoder.h,
8953 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
8954 pps: remove hard-coded getLog2ParallelMergeLevelMinus2(0)
8955
8956 and snuck in some other nits
8957 [b9bb54fd5478]
8958
8959 * source/Lib/TLibCommon/TComSlice.cpp,
8960 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8961 remove hard-coded pps->getSliceHeaderExtensionPresentFlag()
8962 [ba3146812b42]
8963
8964 * source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
8965 nits
8966 [92f32f4492f0]
8967
8968 * source/Lib/TLibCommon/TComSlice.cpp,
8969 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8970 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
8971 slice: remove redundant/unused scaling lists from SPS, PPS, and
8972 Slice
8973
8974 The SPS and PPS were allocating their own scaling list instances and
8975 never using them; with the recent refactors only their status flags
8976 were coded. TComSlice had a pointer to the top-level scaling list,
8977 but never used it.
8978
8979 "There can be only one!"
8980 [8969598e1d91]
8981
8982 * source/Lib/TLibCommon/TComSlice.cpp:
8983 slice: nits
8984 [891f975f1ba5]
8985
8986 * source/Lib/TLibCommon/TComSlice.cpp,
8987 source/Lib/TLibCommon/TComSlice.h,
8988 source/Lib/TLibCommon/TComTrQuant.cpp, source/common/common.h,
8989 source/encoder/encoder.cpp, source/encoder/encoder.h,
8990 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
8991 slice: remove trivial set/get methods, move all relavent functions
8992 to the class
8993 [164b43bfdf7a]
8994
8995 * source/Lib/TLibCommon/TComSlice.cpp,
8996 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
8997 slice: remove unsignaled m_temporalLayerNonReferenceFlag
8998 [b3db2d76500b]
8999
9000 * doc/reST/cli.rst:
9001 rest: fix crf min/max option names
9002 [9213f5dea023]
9003
9004 * source/Lib/TLibCommon/TComSlice.h:
9005 slice: start to clean up scaling list struct
9006 [04601befb930]
9007
9008 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9009 source/encoder/entropy.cpp:
9010 slice: convert Window to struct, simplify names
9011 [26f94fc58d5a]
9012
9013 * doc/reST/cli.rst:
9014 rest: fix documented default AQ mode
9015
9016 As noted by Alex Ramsey
9017 [c45eda4d780f]
9018
9019 * source/Lib/TLibCommon/TComSlice.h, source/common/bitstream.h,
9020 source/encoder/entropy.cpp, source/encoder/sei.h:
9021 bitstream: change writeFlag() to take a bool to avoid int
9022 conversions
9023 [2737d0b05b72]
9024
9025 * source/Lib/TLibCommon/TComSlice.cpp,
9026 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9027 source/encoder/encoder.h, source/encoder/entropy.cpp,
9028 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
9029 source/encoder/sei.h:
9030 vui: prune set/get methods and unsignaled fields
9031 [cb5f30c19ccc]
9032
9033 * source/Lib/TLibCommon/TComSlice.cpp,
9034 source/Lib/TLibCommon/TComSlice.h:
9035 slice: finish cleanup of TComReferencePictureSet
9036 [ab3e3c2b806f]
9037
9038 * source/Lib/TLibCommon/TComSlice.cpp,
9039 source/Lib/TLibCommon/TComSlice.h:
9040 slice: remove unused PPS ID
9041 [06ceed0047c1]
9042
9043 * source/Lib/TLibCommon/TComDataCU.cpp,
9044 source/Lib/TLibCommon/TComSlice.cpp, source/encoder/dpb.cpp:
9045 brace nits
9046 [f28129d63336]
9047
9048 * source/Lib/TLibCommon/TComDataCU.cpp,
9049 source/Lib/TLibCommon/TComSlice.cpp,
9050 source/Lib/TLibCommon/TComSlice.h, source/common/frame.cpp,
9051 source/common/frame.h, source/encoder/dpb.cpp, source/encoder/dpb.h,
9052 source/encoder/entropy.cpp, source/encoder/entropy.h,
9053 source/encoder/frameencoder.cpp:
9054 slice: Cleanup TComReferencePictureSet, prune the notion of long-
9055 term-pictures
9056 [afcfff7f654c]
9057
90582014-07-15 Steve Borho <steve@borho.org>
9059
9060 * source/encoder/entropy.cpp:
9061 entropy: nits
9062 [d850cbf81e0f]
9063
90642014-07-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9065
9066 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9067 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/CMakeLists.txt,
9068 source/encoder/analysis.cpp, source/encoder/analysis.h,
9069 source/encoder/compress.cpp, source/encoder/cturow.h,
9070 source/encoder/frameencoder.h:
9071 port TEncCU functions into analysis structure
9072
9073 1. Rename TEncCU to Analysis 2. Remove warnings (/wd4244 /wd4389
9074 /wd4018) from TEncCU 3. Roll over compress.cpp into analysis.cpp 4.
9075 Rename TEncCU to Analysis 5. Remove hungarian notation function
9076 names
9077 [76eb82b31c37]
9078
90792014-07-15 Steve Borho <steve@borho.org>
9080
9081 * source/Lib/TLibEncoder/TEncSearch.cpp:
9082 search: assert to X265_CHECK
9083 [6cf3a2414461]
9084
90852014-07-15 Min Chen <chenm003@163.com>
9086
9087 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
9088 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
9089 source/common/x86/pixel.h, source/common/x86/ssd-a.asm,
9090 source/test/pixelharness.cpp, source/test/pixelharness.h:
9091 replace sse_sp(residual, ZERO) by ssd_s(residual)
9092 [7e6ac3a85073]
9093
90942014-07-15 Santhoshini Sekar <santhoshini@multicorewareinc.com>
9095
9096 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
9097 rc: define function for updating rate control statistics in
9098 processRowEncoder
9099
9100 Rate control updates its statistics like bits in RateControlEnd.
9101 With frame parallelsim enabled and N parallel frames running, the
9102 feedback given to rate control is delayed until rateControlStart of
9103 N frames are called. To avoid this delay, update rate control
9104 statistics for every frame after encode of few frames are done in
9105 processRowEncoder. By updating statistics for every frame we make
9106 ABR to function more accurately (predicts more accurate QP) making
9107 use of latest data rather than stale values.
9108
9109 Frame parallelism lag (the wait for reconstructed pixels) already
9110 forces this delay between frames, this change will simply take
9111 advantage of the progress made by referenced frames before each
9112 frame is allowed to begin coding by having more accurate rate
9113 control data.
9114 [27a27d733e1e]
9115
91162014-07-15 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
9117
9118 * source/Lib/TLibCommon/TComSlice.cpp,
9119 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9120 source/encoder/encoder.h:
9121 fix for crash when scalingList feature is enabled
9122 [919fd9de54dc]
9123
91242014-07-15 Steve Borho <steve@borho.org>
9125
9126 * source/encoder/entropy.cpp:
9127 entropy: remove obsolete check macro
9128 [3499aa4fa20c]
9129
9130 * source/Lib/TLibCommon/TComSlice.h:
9131 slice: fix warning
9132 [32aeb47c2d36]
9133
9134 * source/Lib/TLibCommon/TComSlice.h:
9135 slice: remove unused m_useDF
9136 [6e0def026364]
9137
9138 * source/Lib/TLibCommon/TComSlice.cpp,
9139 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9140 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp:
9141 slice: remove more hard-coded fields
9142 [3b0e141c3a2f]
9143
9144 * source/Lib/TLibCommon/CommonDef.h,
9145 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/encoder.cpp:
9146 defs: remove more dead definitions
9147 [105778f37879]
9148
9149 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9150 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
9151 source/encoder/sei.h:
9152 hrd: remove *Minus1 from member names and semantics, remove m_
9153 prefixes
9154
9155 Note that hrd->cpbSizeValue stored a "minus 1" value but was not
9156 named as such
9157
9158 This commit also fixed a math bug (late up-conversion) in cpbSize
9159 calculation in ratecontrol.cpp
9160 [3bc86d0fbdc7]
9161
9162 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9163 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
9164 source/encoder/sei.h:
9165 hrd: remove set/get methods of TComHRD, remove unused members
9166 [d9921a247139]
9167
9168 * source/Lib/TLibCommon/TComSlice.h:
9169 hrd: remove four unused fields
9170 [e2003ed17684]
9171
9172 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9173 source/encoder/ratecontrol.cpp, source/encoder/sei.h:
9174 hrd: CPB count is always 1
9175 [00b91817e3e4]
9176
9177 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9178 source/encoder/ratecontrol.cpp:
9179 hrd: inline HrdLayerInfo, remove second array dimension (was for
9180 nal/vcl)
9181 [b9c3a067f89e]
9182
9183 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9184 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
9185 source/encoder/ratecontrol.cpp, source/encoder/sei.h:
9186 hrd: we always signal NAL HRD but not VCL and not sub-pic
9187
9188 Remove redundant fields and methods
9189 [27c28450e098]
9190
9191 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9192 source/encoder/encoder.h, source/encoder/entropy.cpp,
9193 source/encoder/ratecontrol.cpp:
9194 slice: simplify TimingInfo to a struct
9195 [9b807ca6313a]
9196
9197 * source/Lib/TLibCommon/TComSlice.h:
9198 slice: nits
9199 [b0bc72c359d1]
9200
9201 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9202 source/encoder/entropy.cpp:
9203 change ProfileTierLevel to a struct, no m_ prefixes
9204 [758cb5de97b6]
9205
9206 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
9207 ptl: remove hard-coded m_profileSpace
9208 [bc9bbe6bfdb1]
9209
9210 * source/encoder/entropy.cpp:
9211 entropy: de-hungarian codePredWeightTable(), fix comments (remove
9212 redundants)
9213 [84478006fe0f]
9214
9215 * source/encoder/entropy.cpp:
9216 entropy: nits
9217 [dfd2bd5c7cfa]
9218
9219 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
9220 vps: remove m_maxLatencyIncrease, it was always 0
9221 [969a6a5de916]
9222
9223 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9224 source/encoder/entropy.cpp:
9225 vps: remove remaining set/get methods
9226 [d7b673cdbc78]
9227
9228 * source/Lib/TLibCommon/TComSlice.h:
9229 vps: remove now unused m_layerIdIncludedFlag
9230 [bf28c2e0a8ce]
9231
9232 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
9233 vps: remove unused m_maxNuhReservedZeroLayerId, m_numOpSets
9234
9235 The values were all hard-coded
9236 [00fafd0b078c]
9237
9238 * source/Lib/TLibCommon/TComSlice.cpp,
9239 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9240 source/encoder/frameencoder.cpp:
9241 sps: hard-code an SPS ID of 0, we only ever use one SPS
9242 [fe9aee4225a1]
9243
9244 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9245 source/encoder/frameencoder.cpp:
9246 vps: remove m_VPSId, signal hard-coded 0
9247 [f7c168558bf0]
9248
9249 * source/encoder/entropy.cpp:
9250 entropy: remove broken X265_CHECK
9251 [1dd0b14a8e9c]
9252
9253 * source/encoder/frameencoder.cpp:
9254 frameencoder: nits
9255 [e68eedbd6795]
9256
9257 * source/Lib/TLibCommon/CommonDef.h,
9258 source/Lib/TLibCommon/TComSlice.cpp,
9259 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9260 source/encoder/entropy.h:
9261 remove unused multiple HRD parameter sets from VPS class
9262 [27307f7547c0]
9263
9264 * source/Lib/TLibCommon/CommonDef.h:
9265 defs: remove some dead definitions, cleanup a comment
9266 [ddb6dc16a64a]
9267
9268 * source/Lib/TLibCommon/TComSlice.cpp,
9269 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
9270 slice: remove unused m_interRPSPrediction from
9271 TComReferencePictureSet
9272 [6ac88ce5d670]
9273
9274 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp:
9275 slice: simplify max AMP level determination
9276 [20ca3447ed96]
9277
9278 * source/encoder/encoder.cpp, source/encoder/encoder.h:
9279 encoder: remove redundant member variables
9280 [12de88f4e110]
9281
9282 * source/Lib/TLibCommon/CommonDef.h,
9283 source/Lib/TLibCommon/TComSlice.cpp,
9284 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
9285 source/encoder/encoder.cpp, source/encoder/encoder.h,
9286 source/encoder/entropy.cpp, source/encoder/entropy.h,
9287 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
9288 source/encoder/sei.h:
9289 Remove MAX_TLAYER and stop pretending we can code multiple temporal
9290 layers
9291
9292 This simplifies a great many things; enabling further simplications
9293 to come. This commit leaves a sprinkling of TODOs for further
9294 cleanups
9295 [e07686925819]
9296
9297 * source/encoder/entropy.cpp:
9298 entropy: nits
9299 [7fac1eb8252f]
9300
93012014-07-14 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
9302
9303 * source/encoder/compress.cpp:
9304 compress: fix for sa8dcost storage in rdlevel 1, 0
9305 [c923f4a94946]
9306
93072014-07-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9308
9309 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
9310 TEncCU: remove useless field
9311
9312 There's a global variable for this.
9313 [863d969e3ab9]
9314
93152014-07-15 Steve Borho <steve@borho.org>
9316
9317 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9318 source/encoder/entropy.h:
9319 entropy: hoist a couple of trivial functions, brace nits
9320 [5c5183eeacb5]
9321
9322 * source/Lib/TLibCommon/TComSlice.cpp,
9323 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9324 source/encoder/encoder.h, source/encoder/entropy.cpp,
9325 source/encoder/entropy.h, source/encoder/frameencoder.cpp:
9326 encoder: keep ProfileTierLevel singleton in the top-level encoder
9327
9328 Remove the copies in the SPS and VPS and remove the TComPTL object
9329 entirely, there is only one level.
9330 [83b498cd9aef]
9331
9332 * source/encoder/entropy.cpp, source/encoder/entropy.h:
9333 entropy: simplify PTL coding, there is only one layer
9334 [8542b057d33e]
9335
9336 * source/encoder/entropy.cpp, source/encoder/entropy.h:
9337 entropy: remove profilePresentFlag argument from codePTL, always 1
9338 [5995d7bbfa1a]
9339
9340 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9341 source/encoder/entropy.cpp:
9342 slice: Remove get/set methods from TComPTL
9343 [c52a6321b845]
9344
9345 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9346 source/encoder/encoder.h, source/encoder/entropy.cpp:
9347 slice: remove set/get methods from ProfileTierLevel, and dead
9348 encoder vars
9349 [fa4fc98233e0]
9350
9351 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
9352 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
9353 api: add an option to disable the informational SEI message
9354
9355 For regression testing, or comparing outputs between compilers or
9356 platforms, this header is quite unhelpful, so make it optional.
9357 [6f51bf4ba665]
9358
9359 * source/Lib/TLibCommon/TComSlice.cpp,
9360 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9361 source/encoder/entropy.h:
9362 slice: remove RPS list class and relevant SPS encoding logic
9363
9364 x265 only codes a reference picture set in the slice header, none in
9365 the SPS and never an "inter-RPS"
9366 [59855812b4ef]
9367
9368 * source/common/param.cpp:
9369 param: fix cut-paste bug
9370 [836c08981029]
9371
93722014-07-14 Steve Borho <steve@borho.org>
9373
9374 * source/Lib/TLibCommon/TComSlice.h, source/common/param.cpp,
9375 source/encoder/entropy.cpp:
9376 slice: white-space cleanups, remove dead funcdefs and forward defs
9377 [2454ef2a083e]
9378
9379 * source/Lib/TLibCommon/TComSlice.h:
9380 slice: remove virtual destructors for slice classes
9381
9382 we do not want or need vtables for any of these classes
9383 [e3efe14f4e6a]
9384
9385 * source/common/param.cpp, source/x265.cpp:
9386 param: move --input-res parsing to x265_param_parse (closes #63)
9387 [67c7bfda7c28]
9388
9389 * source/CMakeLists.txt:
9390 cmake: set SONAME even if no revision number or tag is found (closes
9391 #58)
9392 [51b3ff5e88e2]
9393
9394 * source/Lib/TLibCommon/TComPicSym.cpp:
9395 picsym: check m_cuData before trying to destroy array instances
9396 [539e94e7aa34]
9397
93982014-07-14 Satoshi Nakagawa <nakagawa424@oki.com>
9399
9400 * source/Lib/TLibCommon/TComDataCU.cpp,
9401 source/Lib/TLibCommon/TComDataCU.h,
9402 source/Lib/TLibCommon/TComLoopFilter.cpp,
9403 source/Lib/TLibCommon/TComPattern.cpp,
9404 source/Lib/TLibCommon/TComPattern.h,
9405 source/Lib/TLibCommon/TComPicSym.cpp,
9406 source/Lib/TLibCommon/TComPrediction.cpp,
9407 source/Lib/TLibCommon/TComPrediction.h,
9408 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
9409 source/Lib/TLibCommon/TComSlice.h,
9410 source/Lib/TLibCommon/TComTrQuant.cpp,
9411 source/Lib/TLibEncoder/TEncCu.cpp,
9412 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/frame.cpp,
9413 source/common/intrapred.cpp, source/common/param.cpp,
9414 source/common/primitives.h, source/common/shortyuv.cpp,
9415 source/common/shortyuv.h, source/encoder/compress.cpp,
9416 source/encoder/cturow.h, source/encoder/encoder.cpp,
9417 source/encoder/entropy.cpp, source/encoder/entropy.h,
9418 source/encoder/slicetype.cpp:
9419 refine block size related, use more log2 domain.
9420 [0af3c5a1782d]
9421
94222014-07-14 Praveen Tiwari <Praveen Tiwari>
9423
9424 * source/encoder/encoder.cpp:
9425 encoder.cpp, clean-up
9426 [f2195700e1e4]
9427
94282014-07-14 Steve Borho <steve@borho.org>
9429
9430 * source/Lib/TLibEncoder/TEncCu.cpp:
9431 cu: white-space cleanups
9432 [e7037f5914bc]
9433
9434 * doc/reST/cli.rst:
9435 rest: fix lossless white-space, improve --sign-hide
9436 [baa6b00f7491]
9437
94382014-07-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9439
9440 * source/encoder/compress.cpp:
9441 compress: fix sa8dCost comparisons.
9442
9443 After this patch, all sa8d costs are stored in m_sa8dCost, and RD
9444 costs in m_totalRDCost
9445 [6fdae4c60b1f]
9446
9447 * source/encoder/encoder.cpp:
9448 encoder: insert missing comma
9449 [7a41bc257044]
9450
94512014-07-13 Steve Borho <steve@borho.org>
9452
9453 * doc/reST/cli.rst, doc/reST/index.rst, doc/reST/lossless.rst,
9454 doc/reST/presets.rst:
9455 rest: document lossless coding theory and behavior
9456 [d9e1f9c77ceb]
9457
94582014-07-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9459
9460 * source/encoder/compress.cpp:
9461 compress: save intra costs in rd <= 2 also in m_sa8dCost.
9462
9463 Basically, all sa8d costs are always saved in m_sa8dCost.
9464 [6601a3d01974]
9465
9466 * source/encoder/compress.cpp:
9467 compress: save inter sa8d costs also in m_sa8dCost
9468 [5bb9ccedb0de]
9469
9470 * source/encoder/compress.cpp:
9471 compress: Fixes fudging in merge costs, stores sa8d costs for
9472 bestMergeCU in m_sa8dCost
9473 [5051f1566664]
9474
94752014-07-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9476
9477 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
9478 source/Lib/TLibEncoder/SyntaxElementWriter.h,
9479 source/Lib/TLibEncoder/TEncCu.h,
9480 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
9481 source/encoder/cturow.h, source/encoder/entropy.cpp,
9482 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
9483 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
9484 source/encoder/framefilter.h:
9485 Merge, discard accidental push
9486 [6055baa75085]
9487
9488 * source/Lib/TLibEncoder/TEncCu.h,
9489 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9490 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
9491 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
9492 source/encoder/cturow.h, source/encoder/entropy.cpp,
9493 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
9494 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
9495 source/encoder/framefilter.h:
9496 Backed out changeset: cff4f6482385
9497
9498 This head was accidentally created.
9499 [406879d25112]
9500
95012014-07-13 Steve Borho <steve@borho.org>
9502
9503 * source/encoder/frameencoder.cpp:
9504 frameencoder: explicit size conversion to avoid MSVC warning
9505 [454a2fc37fee]
9506
95072014-07-10 Steve Borho <steve@borho.org>
9508
9509 * source/Lib/TLibEncoder/TEncCu.h,
9510 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9511 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
9512 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
9513 source/encoder/cturow.h, source/encoder/entropy.cpp,
9514 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
9515 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
9516 source/encoder/framefilter.h:
9517 entropy: rename combined CABAC/SBac class to Entropy
9518 [cff4f6482385]
9519
95202014-07-12 Steve Borho <steve@borho.org>
9521
9522 * source/encoder/encoder.cpp:
9523 encoder: nits
9524 [9d3683ab096b]
9525
9526 * source/encoder/encoder.h:
9527 encoder: remove unused variables
9528 [7a9933d5df9e]
9529
95302014-07-11 Steve Borho <steve@borho.org>
9531
9532 * source/encoder/frameencoder.cpp, source/encoder/sei.cpp,
9533 source/encoder/sei.h:
9534 sei: emit SEI describing the encoder and encode options
9535
9536 example: % x265 ../sintel_trailer_2k_480p24.y4m o.bin % strings
9537 o.bin | head x265 (build 26) - 1.2+74-a5024bfc0b50:[Mac OS X][clang
9538 5.1.0][64 bit] 8bpp - H.265/HEVC codec - Copyright 2013-2014 (c)
9539 Multicoreware Inc - http://x265.org
9540 - options: 856x480 fps=24/1 bitdepth=8 wpp ctu=64 tu-intra-depth=1 tu-
9541 inter-depth=1 me=1 subme=2 merange=57 no-rect no-amp max-merge=2 no-
9542 early-skip no-fast-cbf rdpenalty=0 no-tskip no-tskip-fast strong-
9543 intra-smoothing no-lossless no-cu-lossless no-constrained-intra
9544 open-gop interlace=0 keyint=250 min-keyint=24 scenecut=40 rc-
9545 lookahead=20 bframes=4 bframe-bias=0 b-adapt=2 ref=3 weightp no-
9546 weightb aq-mode=2 aq-strength=1.00 cbqpoffs=0 crqpoffs=0 rd=3
9547 signhide lft sao sao-lcu-bounds=0 sao-lcu-opt=1 b-pyramid cutree
9548 rc=crf crf=28.0 qcomp=0.60 qpmin=0 qpmax=51 qpstep=4 ipratio=1.40
9549 pbratio=1.30
9550 [6af56f7c8703]
9551
9552 * source/encoder/frameencoder.cpp:
9553 frameencoder: nit
9554 [7e3c96e01ca9]
9555
9556 * source/common/param.cpp:
9557 param: fix typo in d1d5b377294e
9558 [6e116afd68e7]
9559
9560 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
9561 rc: nits
9562 [fd87a7e5b1e3]
9563
9564 * source/CMakeLists.txt:
9565 cmake: nit - about target arch strings
9566 [a5024bfc0b50]
9567
95682014-07-11 Santhoshini Sekar <santhoshini@multicorewareinc.com>
9569
9570 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9571 frameencoder: store reflagrows as a member variable
9572 [a1c553d36746]
9573
95742014-07-11 Aarthi Thirumalai <Aarthi Thirumalai>
9575
9576 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
9577 source/encoder/ratecontrol.h:
9578 rc: init RC data for second pass in a multi pass encode
9579 [03164c7ddcbb]
9580
9581 * source/CMakeLists.txt, source/x265.cpp, source/x265.h:
9582 param: keep the total frame count of the input video in param.
9583
9584 to be used in 2 pass. In case this is not available, the value can
9585 remain as 0.
9586 [aed58d050ff9]
9587
9588 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9589 rc: store final cu counts in frameStats as a percentage of total #
9590 cus
9591
9592 there exists a mismatch in the total no. of 16x16 blocks calculated
9593 between encoder and RC. rate control counts no. of 16x16 blocks
9594 without considering the border extension of source pic. keeping cu
9595 stats as percentage avoid this problem when used later in RC's 2nd
9596 pass.
9597 [07654693159b]
9598
95992014-07-11 Steve Borho <steve@borho.org>
9600
9601 * source/common/param.cpp:
9602 param: use dashes consistently in param2string
9603 [d1d5b377294e]
9604
96052014-07-11 Aarthi Thirumalai <Aarthi Thirumalai>
9606
9607 * source/common/param.cpp:
9608 param: add more param options to print as string
9609 [f3223737009e]
9610
9611 * source/common/common.cpp, source/common/common.h:
9612 common: introduce x265_slurp_file, reads data from file to string
9613 buffer.
9614 [b4ee6251307e]
9615
96162014-07-11 Steve Borho <steve@borho.org>
9617
9618 * source/encoder/level.cpp:
9619 level: in CRF/CQP encodes, allow user specifed level to increase
9620 stream level
9621
9622 See the comment
9623 [474c45db6a2c]
9624
96252014-07-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9626
9627 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
9628 cu: fixing int-to-bool compile warnings
9629 [29ae3f84c3ea]
9630
96312014-07-11 Steve Borho <steve@borho.org>
9632
9633 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9634 source/encoder/compress.cpp, source/encoder/encoder.cpp,
9635 source/encoder/encoder.h:
9636 cu: directly use param fields for lossless coding options
9637
9638 Remove m_CUTransquantBypass, m_TransquantBypassEnableFlag
9639 [e171ad8bc8a3]
9640
9641 * source/Lib/TLibEncoder/TEncCu.cpp,
9642 source/Lib/TLibEncoder/TEncSearch.cpp:
9643 cu: nits
9644 [2d0fd0241025]
9645
9646 * source/x265.cpp:
9647 cli: retrieve params from the encoder, in case logging flags have
9648 changed
9649
9650 For instance, if the user asked for --lossless --ssim, the encoder
9651 will disable SSIM for lossless encodes and we don't want the CLI to
9652 report SSIM stats that were never measured.
9653 [c9a7be09cdc0]
9654
96552014-07-11 Satoshi Nakagawa <nakagawa424@oki.com>
9656
9657 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
9658 zero stride for zeroPel[]
9659 [a96d3ed11aaf]
9660
96612014-07-10 Steve Borho <steve@borho.org>
9662
9663 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9664 source/Lib/TLibEncoder/TEncSearch.cpp,
9665 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.h,
9666 source/encoder/compress.cpp, source/encoder/cturow.cpp,
9667 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
9668 source/encoder/frameencoder.h:
9669 search: make RDCost and TComTrQuant member instances of TEncSearch
9670
9671 Both of these structs are required by TEncSearch, it cannot operate
9672 without them There is always a 1::1 correlation with each. There is
9673 no reason at all to allocated them separately in TLD and then link
9674 them all together. Much simpler for them to be members of the
9675 TEncSearch class.
9676 [77aeba71695e]
9677
9678 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9679 source/Lib/TLibEncoder/TEncSearch.cpp,
9680 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
9681 source/encoder/cturow.cpp, source/encoder/cturow.h,
9682 source/encoder/frameencoder.cpp:
9683 derive TEncCu from TEncSearch
9684
9685 TEncSearch methods are only callable from TEncCu methods. and there
9686 is much duplication in their data members. This removes a lot of
9687 redundancy and removes a lot of pointer dereferences
9688 [25e9c85aea1f]
9689
96902014-07-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9691
9692 * source/encoder/compress.cpp:
9693 compress: save CABAC context for rd = 2 after inter/intra encodes
9694 [1c8573c886b1]
9695
9696 * source/encoder/compress.cpp:
9697 compress: save CABAC context after intra decision.
9698
9699 Since CABAC encode happens only for rd > 2
9700 [65d4f5b4fd3a]
9701
9702 * source/encoder/compress.cpp:
9703 compress: save CABAC context after inter/merge decision
9704 [b728ca41433f]
9705
9706 * source/encoder/compress.cpp:
9707 compress: save CABAC context in merge modes for lower RD levels.
9708 [52cda492abf5]
9709
97102014-07-10 Steve Borho <steve@borho.org>
9711
9712 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9713 source/encoder/cturow.cpp, source/encoder/cturow.h,
9714 source/encoder/entropy.cpp, source/encoder/entropy.h,
9715 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
9716 source/encoder/framefilter.h:
9717 entropy: clarify the SBac's bit counting mode
9718
9719 The SBac class has always had the ability to be a bit counter
9720 without any other external data structures. With this change, the
9721 SBac defaults to being a bit counting SBac until it is given a
9722 Bitstream object to write into. The class no longer accepts a
9723 BitCounter object, since it would only add more overhead to the bit
9724 counting.
9725
9726 TEncCu no longer needs o be told whether it is writing into a bit
9727 counting SBac or not, it can ask the SBac to find out.
9728
9729 The BitCounting class is only used for SEI writing, and may
9730 disappear in order to remove the vtable from the critical path of
9731 entropy coding.
9732 [e3e077965c39]
9733
9734 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
9735 framefilter: rename row0 coder
9736 [e658be3fe5a3]
9737
9738 * source/encoder/cturow.cpp, source/encoder/cturow.h,
9739 source/encoder/frameencoder.cpp:
9740 cturow: rename m_rdGoOnSbacCoder to m_sbacCoder; there is only one
9741 [9e50b8b7503b]
9742
9743 * source/encoder/frameencoder.h:
9744 frameencoder: remove unnecessary include of TEncSearch.h
9745 [7649ffe940e1]
9746
9747 * source/Lib/TLibEncoder/TEncCu.cpp,
9748 source/Lib/TLibEncoder/TEncSearch.cpp, source/PPA/ppaCPUEvents.h,
9749 source/output/y4m.cpp, source/output/yuv.cpp:
9750 ppa: cleanup event names and remove uninteresting events
9751 [0a0fe4d52711]
9752
9753 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9754 source/Lib/TLibEncoder/TEncSearch.cpp,
9755 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
9756 source/encoder/cturow.cpp:
9757 cu, search: remove redundant m_rdGoOnSbacCoder pointer
9758
9759 m_rdGoOnSbacCoder was always either pointing to the same SBac as
9760 m_sbacCoder (for calls to compressCU()) or it was supposed to be
9761 unused (for calls to encodeCU)
9762 [d6c423c66e4d]
9763
9764 * source/common/bitstream.cpp, source/common/bitstream.h:
9765 bitstream: hoist trivial methods to the header so they may be easier
9766 inlined
9767 [57a4c1c2274e]
9768
9769 * source/common/bitstream.h:
9770 bitstream: convert macros into inline members for better compile-
9771 time checking
9772 [b96714bdda85]
9773
9774 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
9775 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
9776 source/Lib/TLibEncoder/SyntaxElementWriter.h,
9777 source/common/bitstream.cpp, source/common/bitstream.h,
9778 source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
9779 source/encoder/entropy.cpp, source/encoder/frameencoder.cpp,
9780 source/encoder/sei.cpp, source/encoder/sei.h:
9781 bring SyntaxElementWriter into common/, remove trace file macros
9782
9783 File tracing has been essentially broken since frame parallelism was
9784 introduced (not to mention multiple encoder instances in a process)
9785 and is going to be soon even more impossible when the second
9786 encodeCU() pass is removed. It's best to remove this old HM feature
9787 so people don't get stuck trying to use it.
9788
9789 Stream analyzers like Parabola and Elecard are now mature enough
9790 that these trace files are not very helpful. If you *really* want
9791 the old style trace file, enable tracing in the HM decoder and
9792 decode your bitstream with it.
9793
9794 I left the strings in the WRITE_* macros in place because they make
9795 those calls reasonably self-documenting. The compiler will throw
9796 them away harmlessly.
9797 [64dc40d52519]
9798
9799 * source/encoder/entropy.cpp:
9800 entropy: nits
9801 [cbfe2ac89d41]
9802
9803 * source/encoder/entropy.h:
9804 entropy: re-order methods again for better clarity, make many
9805 private
9806 [dd179bdba7fd]
9807
9808 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
9809 source/encoder/entropy.h:
9810 entropy: remove include of TComSampleAdaptiveOffset.h
9811 [6c95abc53d26]
9812
9813 * source/Lib/TLibCommon/TComTrQuant.cpp,
9814 source/Lib/TLibCommon/TComTrQuant.h, source/encoder/entropy.cpp,
9815 source/encoder/entropy.h:
9816 TComTrQuant: rename estBitsSbacStruct to EstBitsSbac
9817 [4fcd24d23994]
9818
9819 * source/encoder/entropy.cpp:
9820 entropy: nits
9821 [8084d123f14d]
9822
9823 * source/encoder/entropy.cpp, source/encoder/entropy.h:
9824 entropy: hoist trivial functions for later optimizations
9825 [898fc94ae9e9]
9826
9827 * source/encoder/cturow.h, source/encoder/entropy.cpp,
9828 source/encoder/entropy.h, source/encoder/framefilter.cpp:
9829 merge CABAC into SBac class
9830 [ef1b1da7264c]
9831
9832 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
9833 source/encoder/entropy.h:
9834 entropy: convert initSection into a constructor, since it was used
9835 as such
9836 [ac568c7796b8]
9837
9838 * source/Lib/TLibEncoder/TEncSearch.cpp:
9839 TEncSearch: nits
9840 [9914e8d8e2e4]
9841
9842 * source/Lib/TLibEncoder/TEncSearch.cpp,
9843 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/entropy.cpp,
9844 source/encoder/entropy.h:
9845 entropy: replace SBac and TEncSearch methods with TURecurse methods
9846
9847 Both classes had nearly the exact same methods for managing this
9848 external structure. how wierd?
9849 [657bfd3423a5]
9850
98512014-07-09 Steve Borho <steve@borho.org>
9852
9853 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
9854 source/encoder/entropy.h:
9855 entropy: remove m_ prefix from struct TURecurse members
9856 [e776ead24445]
9857
98582014-07-09 Satoshi Nakagawa <nakagawa424@oki.com>
9859
9860 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
9861 source/Lib/TLibEncoder/TEncCu.cpp,
9862 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9863 source/encoder/compress.cpp, source/encoder/framefilter.cpp:
9864 use std::swap() for readability
9865 [194432db28b9]
9866
98672014-07-09 Steve Borho <steve@borho.org>
9868
9869 * source/Lib/TLibEncoder/TEncSearch.cpp:
9870 search: remove braces around single line expressions, improve code
9871 flow
9872 [30e20a7b6fdd]
9873
9874 * Merge with stable
9875 [56c4719ae735]
9876
9877 * .hgtags:
9878 Added tag 1.2 for changeset d6257335c537
9879 [7ea0ba364367] <stable>
9880
98812014-07-03 Steve Borho <steve@borho.org>
9882
9883 * source/encoder/encoder.cpp, source/encoder/encoder.h:
9884 csv: add slice-type stats to encode summary, avoid dup copies of
9885 summary string
9886 [5c7da1e88682]
9887
98882014-07-09 Steve Borho <steve@borho.org>
9889
9890 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.h:
9891 entropy: remove temporary helper function
9892 [b7934e58ea40]
9893
9894 * source/encoder/entropy.cpp:
9895 entropy: nits
9896 [a86cd034e254]
9897
9898 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9899 source/encoder/compress.cpp:
9900 cu: remove get/set methods for its own member variable
9901 [b1d077221c25]
9902
9903 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/cturow.cpp:
9904 cu: remove more set methods
9905 [cd93637ce951]
9906
9907 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/cturow.cpp:
9908 cu: nit
9909 [c78b7cca188a]
9910
9911 * source/Lib/TLibEncoder/TEncCu.h,
9912 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp:
9913 cu: assign m_rdGoOnSbacCoder without helper methods
9914 [a44b2c12fe04]
9915
9916 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9917 source/encoder/cturow.cpp, source/encoder/frameencoder.cpp:
9918 cu: pass bit counting flag as argument to encodeCU
9919 [4c98884a7729]
9920
9921 * source/encoder/cturow.cpp, source/encoder/cturow.h,
9922 source/encoder/frameencoder.cpp:
9923 ctu: inline setThreadLocalData() for better clarity
9924 [6c3a4a5498f1]
9925
9926 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9927 frameencoder: remove rarely used getRowCoder() and getBufferSBac()
9928 [22ac140e0da8]
9929
9930 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9931 frameencoder: remove barely use helper function getRDGoOnSbacCoder
9932 [ddf49ea5073c]
9933
9934 * source/encoder/cturow.h, source/encoder/frameencoder.cpp,
9935 source/encoder/frameencoder.h:
9936 ctu: rename m_sbacCoder to m_rowEntropyCoder
9937 [6a1370596ede]
9938
9939 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9940 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9941 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
9942 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
9943 source/encoder/cturow.cpp, source/encoder/cturow.h,
9944 source/encoder/entropy.cpp, source/encoder/entropy.h,
9945 source/encoder/frameencoder.cpp:
9946 entropy: allocate RDO coders as dual-dimensioned array
9947
9948 In order to make this change even less intrusive as it was going to
9949 be, I simultaneously changed the load/store functions to take
9950 references instead of pointers (since NULL pointers are not
9951 supported).
9952
9953 This further simplified setup/tear-down code and should improve data
9954 locality
9955 [c49b61c5e6bb]
9956
9957 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
9958 framefilter: rename m_rdGoOnSbacCoder to m_sbacCoder - there is only
9959 one
9960 [878e6f228fe6]
9961
9962 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
9963 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
9964 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
9965 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
9966 source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
9967 source/encoder/cturow.h, source/encoder/entropy.cpp,
9968 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
9969 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
9970 source/encoder/framefilter.h:
9971 entropy: make m_cabac member of SBac class a non-pointer instance
9972
9973 This forces a 1::1 correspondence between SBac and CABAC instances,
9974 which cleans up a mess of confusing allocations and assignments.
9975
9976 This moves the CABAC class into entropy.h and it is no longer
9977 referenced outside of this header and entropy.cpp, allowing us to
9978 further combine them.
9979 [f60a2f9a88ad]
9980
9981 * source/encoder/entropy.h:
9982 entropy: remove now unused Entropy class
9983 [461e3e940b0c]
9984
9985 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
9986 source/Lib/TLibEncoder/TEncSearch.cpp,
9987 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
9988 source/encoder/cturow.cpp, source/encoder/cturow.h,
9989 source/encoder/frameencoder.cpp:
9990 remove Entropy from TEncCu, TEncSearch, and CTURow
9991
9992 Instead, give each an SBac pointer that they are supposed to use to
9993 code the bitstream.
9994 [ff987b44de91]
9995
9996 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9997 frameencoder: remove most traces of the Encoder class
9998 [02f8c0af20f2]
9999
10000 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10001 frameencoder: do not pass member variable to its own function
10002
10003 We were still passing an array of Bitstream objects to encodeSlice()
10004 even though the array was made a member of the class so it was
10005 available via m_outStreams. Within the function is was using both
10006 pointers, unhelfpully.
10007 [6589396373de]
10008
10009 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10010 source/encoder/cturow.cpp, source/encoder/cturow.h,
10011 source/encoder/entropy.cpp, source/encoder/entropy.h,
10012 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
10013 entropy: remove m_slice member from SBac class
10014
10015 The slice object was only needed in resetEntropy() and
10016 determineCabacInitIdx() and could be passed to those two methods
10017 easily.
10018
10019 It was also being used in two functions to gain access to the
10020 scaling list, but this was actually a problem for us because headers
10021 can be queuried before any slice objects are initialized so it was
10022 better to pass in the scaling lists directly from the top Encoder.
10023 Note this fixes a bug in scaling list support - we were previously
10024 incapable of signaling them properly in our stream headers.
10025
10026 Removing this member variable lets us clean up a lot of redundant
10027 setSlice() calls and other cruft
10028 [576bb702f286]
10029
10030 * source/encoder/frameencoder.cpp:
10031 frameencoder: do not use Entropy object to code stream headers
10032 [919c77a86b29]
10033
10034 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
10035 sao: remove redundant braces and other nits
10036 [1429920a7420]
10037
10038 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10039 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
10040 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
10041 remove m_entropyCoder from FrameFilter and SAO code
10042
10043 Lo and Behold! the SAO code suddenly makes a tad more sense when
10044 this useless redirection is removed
10045 [767a10ce1a64]
10046
10047 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10048 entropy: remove unnecessary API differences between Entropy and SBac
10049
10050 These would only trip us up as we try to remove Entropy entirely
10051 [ca2b4259c44f]
10052
100532014-07-08 Steve Borho <steve@borho.org>
10054
10055 * source/encoder/entropy.h:
10056 entropy: reorder SBac methods for more clarity
10057 [01e20a16e890]
10058
10059 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.h:
10060 entropy: remove default argument to encodeIntraDirModeLuma()
10061 [436bd8207469]
10062
10063 * source/encoder/entropy.cpp:
10064 entropy: fix msvc warnings about signed/unsigned operations
10065 [a25a3782e51c]
10066
10067 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10068 entropy: hoist all non-trivial Entropy methods into SBac
10069
10070 Now Entropy only exists in entropy.h, making further cleanups
10071 possible
10072 [e4a21cfa8206]
10073
10074 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10075 entropy: remove all data members except m_entropyCoder
10076
10077 The three variables were only used to maintain state through
10078 recursive calls to encodeTransform() and could be just as easily
10079 kept on the stack.
10080
10081 The class is now a pure reflector to the SBac class and can be merge
10082 into it piece-wise.
10083 [5321d02d9703]
10084
10085 * source/Lib/TLibCommon/ContextTables.h,
10086 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCu.h,
10087 source/Lib/TLibEncoder/TEncEntropy.cpp,
10088 source/Lib/TLibEncoder/TEncEntropy.h,
10089 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10090 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
10091 source/Lib/TLibEncoder/TEncSbac.cpp,
10092 source/Lib/TLibEncoder/TEncSbac.h,
10093 source/Lib/TLibEncoder/TEncSearch.cpp,
10094 source/Lib/TLibEncoder/TEncSearch.h, source/common/primitives.cpp,
10095 source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
10096 source/encoder/cturow.h, source/encoder/entropy.cpp,
10097 source/encoder/entropy.h, source/encoder/frameencoder.cpp,
10098 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
10099 source/encoder/framefilter.h:
10100 port TEncEntropy and TEncSbac into internal Entropy and SBac classes
10101
10102 The Entropy class will be short-lived
10103 [53fcddea0959]
10104
101052014-07-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10106
10107 * Merge with stable
10108 [644773b85329]
10109
10110 * source/Lib/TLibEncoder/TEncCu.cpp:
10111 TEncCU: bug fix introduced in commit 8a5b02464813
10112
10113 Remove the xCheckBestMode call, add in a ccontext save.
10114 [d6257335c537] [1.2] <stable>
10115
10116 * source/Lib/TLibEncoder/TEncSearch.cpp:
10117 Merge with stable
10118 [a1e46d813642]
10119
101202014-07-09 Min Chen <chenm003@163.com>
10121
10122 * source/Lib/TLibEncoder/TEncCu.cpp,
10123 source/Lib/TLibEncoder/TEncSearch.cpp:
10124 TEncCU: save CABAC context missing after merge
10125
10126 Also removed an extra context save
10127 [8a5b02464813] <stable>
10128
10129 * source/Lib/TLibEncoder/TEncCu.cpp,
10130 source/Lib/TLibEncoder/TEncSearch.cpp:
10131 TEncCU: save CABAC context missing after merge
10132
10133 Also removed an extra context save
10134 [c269f73b94c9]
10135
101362014-07-07 Satoshi Nakagawa <nakagawa424@oki.com>
10137
10138 * source/Lib/TLibCommon/CommonDef.h,
10139 source/Lib/TLibCommon/TComSlice.cpp,
10140 source/Lib/TLibCommon/TComSlice.h,
10141 source/Lib/TLibCommon/TComTrQuant.cpp,
10142 source/Lib/TLibCommon/TComTrQuant.h,
10143 source/Lib/TLibEncoder/TEncSbac.cpp,
10144 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
10145 source/common/primitives.h, source/common/x86/pixel-util.h,
10146 source/common/x86/pixel-util8.asm, source/encoder/encoder.cpp,
10147 source/test/mbdstharness.cpp:
10148 quant: returns numSig instead of absSum and lastPos
10149 [65ac66dc89b6]
10150
101512014-07-07 Steve Borho <steve@borho.org>
10152
10153 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
10154 source/Lib/TLibCommon/TComBitCounter.h,
10155 source/Lib/TLibCommon/TComBitStream.cpp,
10156 source/Lib/TLibCommon/TComBitStream.h,
10157 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
10158 source/Lib/TLibEncoder/NALwrite.cpp,
10159 source/Lib/TLibEncoder/NALwrite.h,
10160 source/Lib/TLibEncoder/SEIwrite.cpp,
10161 source/Lib/TLibEncoder/SEIwrite.h:
10162 Merge with default (prepare for 1.2)
10163 [6623f1195baa] <stable>
10164
10165 * source/encoder/frameencoder.cpp:
10166 frameencoder: nits
10167 [6325261d393d]
10168
10169 * source/Lib/TLibCommon/TComDataCU.cpp:
10170 cu: do not copy a QP buffer into itself - prevents valgrind warning
10171 [6aa084ad45a0]
10172
10173 * source/Lib/TLibCommon/TComDataCU.cpp:
10174 cu: cleanup and simplify initCU
10175 [c60560dcae1c]
10176
10177 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10178 source/encoder/ratecontrol.h, source/encoder/sei.h:
10179 rc: allocate HRD SEI structures on demand, fix RCE vtable/memset bug
10180 [82963e72231b]
10181
101822014-07-03 Min Chen <chenm003@163.com>
10183
10184 * source/encoder/frameencoder.cpp:
10185 avoid VS2008 and MinGW ambiguous pow() build warning
10186 [11c808e562b8]
10187
101882014-07-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10189
10190 * source/encoder/frameencoder.cpp:
10191 frameencoder: remove warning about ambiguous pow function
10192 [e3f9acd4ff88]
10193
10194 * source/common/param.cpp:
10195 lambda-file: file close before return
10196 [8620deb17a19]
10197
101982014-07-03 Steve Borho <steve@borho.org>
10199
10200 * source/input/y4m.cpp:
10201 y4m: avoid implicit size_t to int conversion, avoid more MSVC
10202 warnings
10203 [1dc27824bde1]
10204
10205 * source/encoder/encoder.h, source/encoder/frameencoder.cpp:
10206 encoder: avoid int64_t to int conversions, avoid more MSVC warnings
10207 [50291ad2cfe8]
10208
10209 * source/common/param.cpp:
10210 param: avoid spurious MSVC warning about buf being possibly
10211 uninitialized
10212 [e8ebfa3cf395]
10213
10214 * source/encoder/ratecontrol.cpp:
10215 ratecontrol: fix cast of cutree offset, avoids MSVC warning
10216 [85dce645d0fc]
10217
10218 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10219 frameencoder: match up integer argument types to avoid MSVC warning
10220
10221 The prototype in the WaveFront base class was: virtual void
10222 processRow(int row, int threadId) = 0;
10223
10224 Some versions of MSVC flag this as a warning
10225 [c41c7a78e46a]
10226
10227 * source/common/param.cpp:
10228 param: avoid spurious gcc warning about toksave possibly being
10229 uninitialized
10230 [eaee58b6515b]
10231
102322014-07-02 Steve Borho <steve@borho.org>
10233
10234 * source/common/param.cpp, source/common/param.h,
10235 source/encoder/encoder.cpp:
10236 lamba-file: make improper number of constants a fatal error
10237
10238 Having an invalid set of lambdas is likelty to be completely useless
10239 [1e94a2b12d15]
10240
10241 * source/common/param.cpp:
10242 lambda-file: detect and report if lamda file containts too many
10243 values
10244
10245 It seems likely that this is an unintended error the user would want
10246 to be made aware of.
10247 [0013dbcac349]
10248
102492014-07-02 Min Chen <chenm003@163.com>
10250
10251 * source/Lib/TLibEncoder/TEncCu.cpp:
10252 simplify: getLumaIntraDir()[x] -> getLumaIntraDir(x)
10253 [959ff37cdd31]
10254
102552014-07-02 Steve Borho <steve@borho.org>
10256
10257 * doc/reST/cli.rst, source/CMakeLists.txt,
10258 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
10259 source/common/param.cpp, source/common/param.h,
10260 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
10261 api: allow lambda tables to be user-specified via a text file
10262
10263 This change allows easy experimentation with the lambda tables. One
10264 can cut-paste the existing tables from TComRom.cpp into a text file
10265 and hash(#) comment the C constructs (variable names and braces) and
10266 arrive at a functional lambda file, then edit to taste.
10267 [44dc246b7835]
10268
10269 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10270 source/encoder/ratecontrol.h:
10271 rc: fix gcc warnings
10272 [b90fdc3ffb96]
10273
102742014-06-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10275
10276 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
10277 source/encoder/ratecontrol.h:
10278 rc: write frame stats and cu stats to file in first pass
10279 [887081b5f694]
10280
102812014-06-26 Aarthi Thirumalai <Aarthi Thirumalai>
10282
10283 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
10284 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
10285 source/encoder/frameencoder.h:
10286 rc: compute inter, intra and skip cus per frame for the first pass
10287 [5bee122bc183]
10288
102892014-07-01 Aarthi Thirumalai <Aarthi Thirumalai>
10290
10291 * source/common/frame.cpp, source/common/frame.h,
10292 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10293 rc: move structure FrameStats to FrameEncoder class
10294
10295 Stats are not needed post encode, moving it to FrameEncoder.
10296 [8f76f88c7dbf]
10297
102982014-07-02 Satoshi Nakagawa <nakagawa424@oki.com>
10299
10300 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
10301 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
10302 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
10303 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
10304 add primitives.nquant for RDOQ
10305 [5bfd621a58b9]
10306
103072014-07-02 Kavitha Sampath <kavitha@multicorewareinc.com>
10308
10309 * source/common/frame.cpp:
10310 frame: initialize recon to avoid SAO read of uninitialized pixels
10311 beyond picture end
10312 [cbe0999934b7]
10313
103142014-07-02 Steve Borho <steve@borho.org>
10315
10316 * source/encoder/encoder.cpp, source/encoder/encoder.h,
10317 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
10318 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
10319 encoder: fix --no-wpp behavior, keep TLD selection logic in one
10320 place
10321
10322 do not use static m_threadLocalData, this would break if multiple
10323 encoders were allocated in a single process
10324
10325 pass the selected TLD to row processes, so they do not need to be
10326 aware of the WPP/NO-WPP details.
10327
10328 Cleanup frameencoder.h, move non-trivial processRow() to the cpp
10329 file
10330 [0743791a8245]
10331
103322014-07-01 Steve Borho <steve@borho.org>
10333
10334 * source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
10335 source/input/yuv.h:
10336 input: streamline control logic of threaded file readers
10337
10338 These files were written before ThreadSafeInteger and this caused
10339 the control logic to be over-complicated. Now they can be greatly
10340 simplified and their control flows can be re-unified to be more like
10341 each other.
10342
10343 Also, drop PPA events. File reading is pretty uninteresting when
10344 profiling.
10345 [99b8e4d69e0f]
10346
103472014-07-02 Steve Borho <steve@borho.org>
10348
10349 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10350 source/Lib/TLibEncoder/TEncEntropy.h:
10351 TEncEntropy: inline the only one caller of encodeInterDirPU
10352 [f483344d276f]
10353
10354 * source/Lib/TLibEncoder/TEncCu.cpp,
10355 source/Lib/TLibEncoder/TEncEntropy.cpp,
10356 source/Lib/TLibEncoder/TEncEntropy.h,
10357 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
10358 TEncEntropy: hoist encodePredMode() after moving I-slice check to
10359 callers
10360 [ca17915c0176]
10361
10362 * source/Lib/TLibEncoder/TEncEntropy.h:
10363 TEncEntropy: reorder nit
10364 [a4cf2c474fb8]
10365
10366 * source/Lib/TLibEncoder/TEncCu.cpp,
10367 source/Lib/TLibEncoder/TEncEntropy.cpp,
10368 source/Lib/TLibEncoder/TEncEntropy.h,
10369 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
10370 TEncEntropy: hoist encodeSkipFlag() after moving I-slice check to
10371 callers
10372 [8208c49e9aa4]
10373
103742014-07-01 Steve Borho <steve@borho.org>
10375
10376 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10377 source/Lib/TLibEncoder/TEncEntropy.h,
10378 source/encoder/frameencoder.cpp:
10379 TEncEntropy: hoist encodeSliceHeader() to header after simplifying
10380 [719ec54347ab]
10381
10382 * source/Lib/TLibEncoder/TEncEntropy.cpp:
10383 TEncEntropy: nit
10384 [166b7ddace37]
10385
10386 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10387 source/Lib/TLibEncoder/TEncEntropy.h:
10388 TEncEntropy: hoist trivial functions to header for possible inlining
10389
10390 And remove useless comments
10391 [a15e58e38501]
10392
10393 * source/Lib/TLibEncoder/TEncSearch.cpp:
10394 TEncSearch: nit
10395 [a18972fd05b1]
10396
10397 * source/Lib/TLibCommon/TComDataCU.cpp:
10398 TComDataCU: remove redundant refIdx check from fillMvpCand
10399
10400 fillMvpCand is only called from one place and the refIdx will always
10401 be positive
10402 [7006c14a6149]
10403
10404 * source/Lib/TLibEncoder/TEncSearch.cpp:
10405 Merge with stable
10406 [976dc15ea5ea]
10407
10408 * source/Lib/TLibEncoder/TEncSearch.cpp:
10409 TEncSearch: limit AMVP loop bounds in xCheckBestMVP
10410
10411 entries in the table beyond m_num were not initialized
10412 [4f7be97ebb9d] <stable>
10413
104142014-07-01 Ashok Kumar Mishra <ashok@multicorewareinc.com>
10415
10416 * source/Lib/TLibCommon/TComDataCU.cpp,
10417 source/Lib/TLibCommon/TComDataCU.h,
10418 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
10419 remove redundant memset
10420 [28a17ce0bf5c]
10421
104222014-07-01 Satoshi Nakagawa <nakagawa424@oki.com>
10423
10424 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10425 source/Lib/TLibEncoder/TEncEntropy.h,
10426 source/Lib/TLibEncoder/TEncSbac.cpp,
10427 source/Lib/TLibEncoder/TEncSbac.h,
10428 source/Lib/TLibEncoder/TEncSearch.cpp,
10429 source/Lib/TLibEncoder/TEncSearch.h:
10430 split rate calculation functions to luma and chroma to simplify luma
10431 path
10432 [fb54c0d470ed]
10433
104342014-06-27 Satoshi Nakagawa <nakagawa424@oki.com>
10435
10436 * source/Lib/TLibCommon/TComTrQuant.cpp,
10437 source/Lib/TLibEncoder/TEncSearch.cpp:
10438 fix emms: move selectLambda() into xRateDistOptQuant() and issue
10439 emms before it
10440 [b3ff3f436bc9]
10441
104422014-06-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10443
10444 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
10445 rc: rename texBits to coeffBits in RateControlEntry structure to
10446 maintain uniformity.
10447 [f18febf8cd3a]
10448
104492014-06-30 Steve Borho <steve@borho.org>
10450
10451 * source/encoder/encoder.cpp:
10452 encoder: RDOQ is only applicable at rd levels 4, 5, and 6
10453 [38da32f28481]
10454
104552014-06-27 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10456
10457 * source/Lib/TLibEncoder/TEncCu.cpp,
10458 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
10459 source/encoder/frameencoder.cpp:
10460 rc: accumulate mv bits, coeff bits per frame
10461 [3d4b66c1bc88]
10462
104632014-06-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10464
10465 * source/Lib/TLibCommon/TComDataCU.cpp:
10466 TComDataCU: remove warnings for shadowed declaration
10467 [5a37c8198035]
10468
104692014-06-30 Albert Wang <Albert Wang>
10470
10471 * source/encoder/frameencoder.cpp:
10472 frameencoder: fix for error in VPS when AccessUnitDelimeter is
10473 turned on
10474
10475 The bitstream needs to be reset before start encode VPS, since if
10476 AU_Delimeter is turned on, there is one byte of data left in the
10477 bitstream that will be written wrongly into the VPS.
10478 [8eb8200a3449]
10479
104802014-06-30 Steve Borho <steve@borho.org>
10481
10482 * doc/reST/cli.rst:
10483 rest: document ipratio and pbratio parameters
10484 [4e565eb62d0a]
10485
104862014-06-25 Satoshi Nakagawa <nakagawa424@oki.com>
10487
10488 * source/common/param.cpp, source/x265.cpp:
10489 cli: add --ipratio and --pbratio
10490 [c80f9f3fba25]
10491
104922014-06-21 Steve Borho <steve@borho.org>
10493
10494 * source/x265.cpp:
10495 cli: use consistent bool naming convention
10496 [8b6b3e05946f]
10497
10498 * source/Lib/TLibEncoder/TEncEntropy.cpp:
10499 entropy: nit
10500 [3a71cbcaee1f]
10501
105022014-06-21 Satoshi Nakagawa <nakagawa424@oki.com>
10503
10504 * source/input/y4m.cpp, source/input/yuv.cpp:
10505 input: fix race condition
10506 [8253fe375772]
10507
105082014-06-26 Min Chen <chenm003@163.com>
10509
10510 * source/Lib/TLibEncoder/TEncSbac.cpp:
10511 reduce condition jmp in codeCoeffNxN
10512 [32aa6cc3cf4d]
10513
10514 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
10515 util.h, source/common/x86/pixel-util8.asm:
10516 improve count_nonzero by SSSE3
10517 [e5d8a2fa6bca]
10518
105192014-06-27 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10520
10521 * source/Lib/TLibEncoder/TEncSearch.cpp:
10522 psyrd: fix for inconsistent output
10523
10524 maximum buffer size for zeropel is MAX_CU_SIZExMAX_CU_SIZE. since
10525 stride was wrong, it was accessing out of boundary memory which was
10526 different for each run, so inconsistent output
10527 [a765a34425f0]
10528
105292014-06-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10530
10531 * source/encoder/framefilter.cpp:
10532 framefilter: disable warning
10533 [98a2bfed9ed4]
10534
105352014-06-23 Min Chen <chenm003@163.com>
10536
10537 * source/encoder/cturow.h, source/encoder/encoder.cpp,
10538 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
10539 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
10540 source/encoder/framefilter.h:
10541 pass TLD into class FrameFilter
10542 [66c701cb5500]
10543
105442014-06-24 Satoshi Nakagawa <nakagawa424@oki.com>
10545
10546 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
10547 source/Lib/TLibEncoder/TEncSearch.cpp,
10548 source/Lib/TLibEncoder/TEncSearch.h, source/common/shortyuv.cpp,
10549 source/common/shortyuv.h:
10550 refine intra tskip related.
10551 [b9bc64443ee4]
10552
105532014-06-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10554
10555 * source/Lib/TLibCommon/TComDataCU.cpp,
10556 source/Lib/TLibCommon/TComDataCU.h, source/common/frame.cpp,
10557 source/common/frame.h:
10558 rc: initalize states to hold frame statistics used in two pass
10559
10560 frame stats includes mv bits,DC coeff bits and number of Intra,
10561 Inter and Skip Cus per frame.
10562 [1b669c33ff3a]
10563
105642014-06-25 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10565
10566 * source/encoder/compress.cpp, source/encoder/encoder.cpp:
10567 psy-rd: implement psy-rd in rdlevel=4,3 and 2
10568 [e2ed009d296a]
10569
105702014-06-25 Ashok Kumar Mishra <ashok@multicorewareinc.com>
10571
10572 * source/Lib/TLibCommon/TComDataCU.cpp,
10573 source/Lib/TLibCommon/TComDataCU.h,
10574 source/Lib/TLibCommon/TComLoopFilter.cpp,
10575 source/Lib/TLibCommon/TComPicSym.cpp,
10576 source/Lib/TLibCommon/TComPicSym.h,
10577 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10578 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
10579 source/Lib/TLibCommon/TComSlice.cpp,
10580 source/Lib/TLibCommon/TComSlice.h,
10581 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
10582 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
10583 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
10584 source/Lib/TLibEncoder/TEncEntropy.cpp,
10585 source/Lib/TLibEncoder/TEncEntropy.h,
10586 source/Lib/TLibEncoder/TEncSbac.cpp,
10587 source/Lib/TLibEncoder/TEncSbac.h,
10588 source/Lib/TLibEncoder/TEncSearch.cpp,
10589 source/Lib/TLibEncoder/TEncSearch.h, source/common/frame.cpp,
10590 source/encoder/compress.cpp, source/encoder/encoder.cpp,
10591 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
10592 source/encoder/framefilter.cpp:
10593 remove PCM mode support
10594 [5797d6a8197c]
10595
105962014-06-24 Satoshi Nakagawa <nakagawa424@oki.com>
10597
10598 * source/Lib/TLibEncoder/TEncSbac.cpp,
10599 source/Lib/TLibEncoder/TEncSearch.cpp:
10600 fix xGetIntraBitsQTChroma() for 4:2:2 [CHANGES OUTPUT 4:2:2 with
10601 tskip]
10602 [09450ac6dc7d]
10603
106042014-06-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10605
10606 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
10607 psy-rd chroma: Adjust chroma lambda based on QP offsets.
10608
10609 This hurts PSNR but improves visual quality
10610 [613bfe5cd169]
10611
10612 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
10613 source/common/common.h:
10614 psy-rd chroma: add chroma offset tables for lambda calculations
10615 [20611feb4a45]
10616
10617 * source/encoder/encoder.cpp:
10618 Chroma QP Offset: increase chroma QP when psy-rd is enabled.
10619 [812dc9f61549]
10620
106212014-06-23 Min Chen <chenm003@163.com>
10622
10623 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10624 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
10625 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
10626 move calcSaoStatsRowCus_BeforeDblk into encode loop
10627 [18f936182df5]
10628
106292014-06-23 Ashok Kumar Mishra <ashok@multicorewareinc.com>
10630
10631 * source/Lib/TLibCommon/TComDataCU.cpp,
10632 source/Lib/TLibCommon/TComDataCU.h,
10633 source/Lib/TLibCommon/TComMotionInfo.cpp,
10634 source/Lib/TLibCommon/TComMotionInfo.h,
10635 source/Lib/TLibCommon/TComPicSym.cpp,
10636 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
10637 TEncCU:fix for memory leak
10638 [25a1b89a8efb]
10639
106402014-06-20 Praveen Tiwari <Praveen Tiwari>
10641
10642 * source/encoder/compress.cpp:
10643 TEncCu: [CHANGES OUTPUT] xComputeCostIntraInInter, fix bug
10644 [b5fbe9e2a10a]
10645
106462014-06-21 Ashok Kumar Mishra <ashok@multicorewareinc.com>
10647
10648 * source/Lib/TLibCommon/TComDataCU.cpp,
10649 source/Lib/TLibCommon/TComMotionInfo.cpp,
10650 source/Lib/TLibCommon/TComMotionInfo.h,
10651 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
10652 TEncCU:fix for large memory consumption
10653 [da4aa721bf2f]
10654
106552014-06-20 Min Chen <chenm003@163.com>
10656
10657 * source/Lib/TLibCommon/TComPicSym.cpp,
10658 source/Lib/TLibCommon/TComPicSym.h:
10659 alloc concatenation memory for m_cuData
10660 [fe370292c232]
10661
106622014-06-20 Steve Borho <steve@borho.org>
10663
10664 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10665 source/Lib/TLibEncoder/TEncEntropy.h,
10666 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10667 source/Lib/TLibEncoder/TEncSbac.cpp,
10668 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/frameencoder.cpp,
10669 source/encoder/framefilter.cpp:
10670 entropy: remove TEncEntropyIf abstract class
10671
10672 Only one class implemented the interface, so it served no purpose
10673 (except adding a vtable where we didn't need one). Renamed some
10674 member variables to make it all more explicit: m_entropyCoderIf ->
10675 m_entropyCoder, m_binIf -> m_cabac
10676 [960ea9018a7b]
10677
10678 * source/Lib/TLibEncoder/TEncEntropy.cpp:
10679 TEncEntropy: nit
10680 [bf4fd0756cbb]
10681
10682 * source/encoder/frameencoder.cpp:
10683 frameencoder: remove more redundant checks
10684
10685 slice->getSaoEnabledFlag() is the same as saoParam->bSaoFlag[0]
10686 slice->getSaoEnabledFlagChroma() is the same as
10687 saoParam->bSaoFlag[1]
10688 [6111f474ef99]
10689
10690 * source/encoder/frameencoder.cpp:
10691 frameencoder: simplify cabac context save
10692 [d0b71172d7da]
10693
10694 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
10695 source/encoder/frameencoder.cpp:
10696 frameencoder: simplify SAO reset when not enabled on slice
10697 [06b03c4647d6]
10698
10699 * source/encoder/frameencoder.cpp:
10700 frameencoder: further simplify SAO coding
10701 [8e37416993db]
10702
10703 * source/encoder/frameencoder.cpp:
10704 frameencoder: simplify SAO coding logic
10705 [f24ac9e50e4d]
10706
10707 * source/encoder/frameencoder.cpp:
10708 frameencoder: simplify loop bounds
10709 [ce47fb939f69]
10710
10711 * source/encoder/frameencoder.cpp:
10712 frameencoder: further simplify the logic which sync's CABAC with
10713 upper-right LCU
10714 [613f9a60a5d3]
10715
10716 * source/encoder/frameencoder.cpp:
10717 frameencoder: remove redundant widthInCU variable
10718 [4857a503d709]
10719
10720 * source/encoder/frameencoder.cpp:
10721 frameencoder: simplify logic slightly, numSubstreams can be > 1 only
10722 with WPP
10723 [0e6200c402cf]
10724
10725 * source/encoder/frameencoder.cpp:
10726 frameencoder: nits
10727 [4455746792b0]
10728
10729 * source/encoder/frameencoder.cpp:
10730 frameencoder: move trace code for clarity, remove dead
10731 bWaveFrontsynchro
10732 [bb6c9f097ba2]
10733
10734 * source/encoder/frameencoder.cpp:
10735 frameencoder: use m_param->bEnableWavefront directly
10736 [8911196c3bf1]
10737
10738 * source/encoder/frameencoder.cpp:
10739 frameencoder: simplify setup for encodeSlice()
10740 [847cb38b409e]
10741
10742 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10743 frameencoder: rename m_pic to m_frame
10744 [0aab15ebff0d]
10745
10746 * source/encoder/frameencoder.cpp:
10747 frameencoder: remove unread bitsOriginallyInSubstreams
10748 [5fde40742246]
10749
107502014-06-20 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10751
10752 * doc/reST/cli.rst, source/CMakeLists.txt,
10753 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
10754 source/common/param.cpp, source/encoder/encoder.cpp,
10755 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
10756 make cu level stats logging run time configurable
10757
10758 two-pass encodes will need these statistics, so they need to always
10759 be compiled into libx265.
10760 [c9f36b715b3f]
10761
107622014-06-20 Steve Borho <steve@borho.org>
10763
10764 * source/x265.h:
10765 api: comment nits
10766 [868e35687ac7]
10767
10768 * source/Lib/TLibCommon/TComDataCU.cpp,
10769 source/Lib/TLibCommon/TComDataCU.h,
10770 source/Lib/TLibCommon/TComLoopFilter.cpp,
10771 source/Lib/TLibCommon/TComLoopFilter.h,
10772 source/Lib/TLibCommon/TComPattern.cpp,
10773 source/Lib/TLibCommon/TComPattern.h,
10774 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
10775 source/Lib/TLibCommon/TComPrediction.h,
10776 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
10777 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
10778 source/Lib/TLibCommon/TComSlice.cpp,
10779 source/Lib/TLibCommon/TComSlice.h,
10780 source/Lib/TLibCommon/TComTrQuant.cpp,
10781 source/Lib/TLibCommon/TComWeightPrediction.h,
10782 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
10783 source/Lib/TLibEncoder/TEncEntropy.h,
10784 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
10785 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
10786 source/common/CMakeLists.txt, source/common/frame.cpp,
10787 source/common/frame.h, source/common/lowres.cpp,
10788 source/common/param.cpp, source/common/piclist.cpp,
10789 source/common/piclist.h, source/encoder/compress.cpp,
10790 source/encoder/cturow.h, source/encoder/dpb.cpp,
10791 source/encoder/dpb.h, source/encoder/encoder.cpp,
10792 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
10793 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
10794 source/encoder/framefilter.h, source/encoder/ratecontrol.cpp,
10795 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
10796 source/encoder/slicetype.h, source/encoder/weightPrediction.cpp:
10797 replace TComPic with Frame class in common/frame.h
10798
10799 The new class name clashes with old variables like pic or m_pic, but
10800 I would like to pull in TComPicYuv in the future as a Picture class,
10801 and TComYUV as Yuv class.
10802 [6a11b4e683e1]
10803
10804 * source/encoder/frameencoder.cpp:
10805 frameencoder: fix --no-wpp, broken since 854f5e3072a0
10806 [2317cb9af53e]
10807
108082014-06-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10809
10810 * source/common/param.cpp, source/encoder/encoder.cpp:
10811 encoder: move psy-rd logic together
10812 [c2ebebb66bf4]
10813
108142014-06-20 Steve Borho <steve@borho.org>
10815
10816 * source/encoder/encoder.cpp:
10817 encoder: use free() to release strdup'd string
10818 [36f6a06df2d5]
10819
108202014-06-19 Steve Borho <steve@borho.org>
10821
10822 * source/Lib/TLibEncoder/TEncSearch.cpp,
10823 source/Lib/TLibEncoder/TEncSearch.h,
10824 source/encoder/frameencoder.cpp:
10825 TEncSearch: change pointer type of m_mref, to avoid repeated pointer
10826 setup
10827 [e89fb21a4e06]
10828
10829 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
10830 source/encoder/cturow.h, source/encoder/encoder.cpp,
10831 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
10832 source/encoder/frameencoder.h:
10833 cturow: use thread local storage for TEncCU and TEncSearch
10834
10835 This saves about 10% of memory by reducing redundancy, and lays the
10836 ground work for more fine grained work distribution.
10837 [854f5e3072a0]
10838
10839 * source/Lib/TLibCommon/TComDataCU.cpp,
10840 source/Lib/TLibCommon/TComDataCU.h,
10841 source/Lib/TLibCommon/TComLoopFilter.cpp,
10842 source/Lib/TLibCommon/TComLoopFilter.h,
10843 source/Lib/TLibCommon/TComSlice.cpp,
10844 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
10845 source/encoder/encoder.h, source/encoder/framefilter.cpp:
10846 cu: remove m_loopFilterAcrossTilesEnabledFlag and getPU* default
10847 arguements
10848 [f3ad033af809]
10849
108502014-06-20 Steve Borho <steve@borho.org>
10851
10852 * source/encoder/frameencoder.cpp:
10853 frameencoder: comment nits
10854 [d68c638e1469]
10855
108562014-06-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10857
10858 * source/encoder/encoder.cpp:
10859 encoder:[CHANGES OUTPUT] disable rdoq when psyrd is enabled
10860 [3780de35ba2a]
10861
108622014-06-20 Steve Borho <steve@borho.org>
10863
10864 * source/encoder/nal.cpp:
10865 nal: include the start code bytes in the bounds check
10866 [cc0beb898def]
10867
10868 * source/encoder/nal.cpp:
10869 nal: nits
10870 [57f26a8b7ecb]
10871
10872 * source/encoder/frameencoder.cpp, source/encoder/nal.cpp,
10873 source/encoder/nal.h:
10874 nal: allow the concatenated substream buffer to be re-used from
10875 frame-to-frame
10876
10877 this removes another malloc/free from the processing of every frame.
10878 This commit also moves the NALList constructor to nal.cpp since it
10879 is no longer quite so trivial. Lastly, it adds a check to prevent
10880 crashes in case one or more of the WPP substreams had a malloc
10881 failure.
10882 [51dd3c429cdb]
10883
10884 * source/encoder/nal.cpp:
10885 fix checked build warning
10886 [91fef2cf2e08]
10887
10888 * source/common/bitstream.cpp, source/encoder/cturow.cpp:
10889 fix msvc build warnings
10890 [73ece35100df]
10891
108922014-06-19 Steve Borho <steve@borho.org>
10893
10894 * source/Lib/TLibCommon/TComBitStream.cpp,
10895 source/Lib/TLibCommon/TComBitStream.h,
10896 source/Lib/TLibEncoder/SyntaxElementWriter.h,
10897 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
10898 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
10899 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
10900 source/Lib/TLibEncoder/TEncEntropy.h,
10901 source/Lib/TLibEncoder/TEncSbac.cpp,
10902 source/Lib/TLibEncoder/TEncSbac.h, source/common/CMakeLists.txt,
10903 source/common/bitstream.cpp, source/common/bitstream.h,
10904 source/encoder/cturow.cpp, source/encoder/cturow.h,
10905 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
10906 source/encoder/frameencoder.h, source/encoder/framefilter.h,
10907 source/encoder/nal.cpp, source/encoder/nal.h,
10908 source/encoder/sei.cpp, source/encoder/sei.h:
10909 move bitstream implementations into common
10910 [5091ffc86a42]
10911
10912 * source/Lib/TLibCommon/TComBitStream.cpp,
10913 source/Lib/TLibCommon/TComBitStream.h,
10914 source/encoder/frameencoder.cpp:
10915 bitstream: unify resetBits() and clear() methods
10916
10917 There's no point in having a virtual resetBits() method in the
10918 abstract class and then not implemeent in the derived class but make
10919 a second method with identical semantics. What the heck?
10920 [0d77026a11ac]
10921
10922 * source/encoder/api.cpp, source/encoder/encoder.cpp,
10923 source/encoder/encoder.h:
10924 encoder: remove redundant flush argument
10925 [0b4a50730f21]
10926
10927 * source/encoder/encoder.cpp, source/encoder/encoder.h:
10928 encoder: cleanup obsolete NAL data fields
10929 [aecb3b2a98c1]
10930
109312014-06-20 Satoshi Nakagawa <nakagawa424@oki.com>
10932
10933 * source/encoder/api.cpp, source/encoder/encoder.cpp,
10934 source/encoder/encoder.h, source/encoder/slicetype.cpp:
10935 x265_encoder_encode: don't return 0 while flushing.
10936 [ced3a726d515]
10937
109382014-06-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10939
10940 * source/Lib/TLibEncoder/TEncSearch.cpp,
10941 source/Lib/TLibEncoder/TEncSearch.h,
10942 source/encoder/frameencoder.cpp:
10943 lambda: [CHANGES OUTPUT] Change the distortion weights applied to
10944 chroma.
10945
10946 Inside R-D, a single lambda is applied for both luma and chroma. To
10947 account for the different QPs, (as defined by the standard) the
10948 chroma distortion was weighted by a factor proportional to the
10949 difference in QPs. This patch eliminates the extra weighting given
10950 to the chroma distortion (since it is visually less perceptible).
10951 [25d2c596dd28]
10952
109532014-06-19 Steve Borho <steve@borho.org>
10954
10955 * source/encoder/ratecontrol.cpp:
10956 rc: disable MSVC warnings about using POSIX function names like
10957 unlink()
10958 [dfaf67c21c32]
10959
109602014-06-16 Ashok Kumar Mishra <ashok@multicorewareinc.com>
10961
10962 * source/Lib/TLibCommon/TComDataCU.cpp,
10963 source/Lib/TLibCommon/TComDataCU.h,
10964 source/Lib/TLibCommon/TComMotionInfo.cpp,
10965 source/Lib/TLibCommon/TComMotionInfo.h,
10966 source/Lib/TLibCommon/TComPicSym.cpp,
10967 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
10968 TComDataCU: refactor structure for better data locality
10969 [62d1d9dd760c]
10970
109712014-06-19 Steve Borho <steve@borho.org>
10972
10973 * source/Lib/TLibCommon/TComDataCU.h:
10974 cu: nits
10975 [c72093672ad1]
10976
109772014-06-19 Min Chen <chenm003@163.com>
10978
10979 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10980 source/Lib/TLibCommon/TComLoopFilter.h,
10981 source/encoder/framefilter.cpp:
10982 move m_blockingStrength to local
10983 [8c875d7341b7]
10984
10985 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10986 source/Lib/TLibCommon/TComLoopFilter.h:
10987 static m_bLFCrossTileBoundary since all of LCU use same value
10988 [565818adf640]
10989
10990 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10991 source/Lib/TLibCommon/TComLoopFilter.h:
10992 remove reduce code since trHeight always equal to trWidth
10993 [c91e624c4502]
10994
109952014-06-17 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10996
10997 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
10998 source/encoder/ratecontrol.h:
10999 rc: initialize the 2 pass states in rc
11000 [60178ece9879]
11001
11002 * source/common/param.cpp:
11003 param: log rc states of m_param in x265_param2string
11004 [ff6e2349cff3]
11005
11006 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
11007 rc: add 2 pass states in RateControl
11008 [ed85651a2840]
11009
11010 * source/common/param.cpp, source/encoder/slicetype.cpp:
11011 rc: define default setting and validations for 2 pass states
11012 [c50f3d2aeb4d]
11013
11014 * source/CMakeLists.txt, source/x265.h:
11015 api: introduce param variables for two-pass encodes
11016 [5063065d7037]
11017
110182014-06-19 Steve Borho <steve@borho.org>
11019
11020 * source/encoder/encoder.h:
11021 encoder: remove useless comment
11022 [82ca012854ea]
11023
11024 * source/common/common.h, source/encoder/api.cpp,
11025 source/encoder/encoder.cpp, source/encoder/encoder.h,
11026 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
11027 source/encoder/nal.cpp, source/encoder/nal.h:
11028 nal: refactor nal code, marshall packets directly into output buffer
11029
11030 This removes two malloc/free for every NAL unit and removes yet
11031 another set of memcopies at the end of the each frame encode. We're
11032 now writing the escaped NAL packets directly into the buffer handed
11033 back to the user.
11034
11035 We preserve the max size of this output buffer to prevent having to
11036 do any reallocations once the encoder is running.
11037 [ba9c58a4bee0]
11038
110392014-06-19 Satoshi Nakagawa <nakagawa424@oki.com>
11040
11041 * source/encoder/encoder.cpp, source/encoder/encoder.h:
11042 keep TComPic until next call if recpic is exported as pic_out
11043
11044 We must prevent the recon YUV from being recycled until the next
11045 picture is encoded.
11046 [ecccd5401d27]
11047
110482014-06-19 Gopu Govindaswamy <Gopu Govindaswamy>
11049
11050 * source/encoder/encoder.h:
11051 encoder: remove m_freeList from encoder class, the m_freeList moved
11052 into dpb
11053 [d2a13e8541f4]
11054
11055 * source/encoder/dpb.cpp:
11056 dpb: destroy and delete m_reconPicYuv from picSymFreeList
11057 [d86fea3cea9c]
11058
110592014-06-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11060
11061 * source/Lib/TLibCommon/TComTrQuant.cpp:
11062 quant: correct QP range clipping for 10-bit input depths.
11063
11064 Fixes a bad hash error and artifacts introduced by commit
11065 c8973aec5e70
11066 [59a6891dff51]
11067
110682014-06-18 Steve Borho <steve@borho.org>
11069
11070 * source/common/pixel.cpp:
11071 pixel: fixup zeroBug stride for satd_4x4 in psyCost (spotted by
11072 MinGW)
11073
11074 This fixes a bug introduced in f3fb2d2b0ba6
11075 [f5be40ace2cc]
11076
11077 * source/Lib/TLibCommon/TComPic.cpp:
11078 pic: reorder initializations after moving m_reconPicYuv in
11079 e3418f7497e9
11080
11081 Fixes a gcc warning
11082 [5db614f31b85]
11083
11084 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11085 source/Lib/TLibCommon/TComPicSym.h, source/encoder/dpb.cpp,
11086 source/encoder/encoder.cpp:
11087 pic: keep the recon TComPicYuv in the pool with the TComPicSym -
11088 another 10%
11089 [e3418f7497e9]
11090
11091 * source/encoder/encoder.cpp, source/encoder/frameencoder.h,
11092 source/encoder/framefilter.cpp:
11093 frameencoder: make m_ssimCnt an unsigned int
11094 [cd63ddf0e935]
11095
11096 * source/encoder/encoder.h:
11097 encoder: move EncStats into x265 namespace
11098 [a43a223a1294]
11099
111002014-06-17 Steve Borho <steve@borho.org>
11101
11102 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11103 source/Lib/TLibCommon/TComPicSym.cpp,
11104 source/Lib/TLibCommon/TComPicSym.h, source/encoder/dpb.cpp,
11105 source/encoder/dpb.h, source/encoder/encoder.cpp,
11106 source/encoder/encoder.h, source/encoder/slicetype.cpp:
11107 pic: keep a pool of TComPicSym, allocate only for encode process
11108
11109 This commit moves the picture freelist to the DPB, it seemed to
11110 belong there. This change reduced memory in a medium encode by more
11111 than 40%.
11112 [cbed0913df50]
11113
11114 * source/Lib/TLibCommon/TComPic.h:
11115 pic: nit
11116 [da81f3741282]
11117
11118 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11119 source/encoder/encoder.cpp:
11120 pic: split picsym allocation from main create function, rename
11121 reinit()
11122 [526d79dabf1a]
11123
11124 * source/Lib/TLibCommon/TComPic.h:
11125 pic: destroy() no longer needs to be virtual, compress white-space
11126 [0e9a74223938]
11127
11128 * source/Lib/TLibCommon/TComPic.h:
11129 pic: improve comments
11130 [7a5bec950123]
11131
11132 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11133 source/Lib/TLibCommon/TComSlice.cpp:
11134 pic: remove unread m_bCheckLTMSB
11135 [8fb41a7f4301]
11136
11137 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11138 source/encoder/dpb.cpp:
11139 pic: remove unread m_bUsedByCurr
11140 [3a458e3f674e]
11141
11142 * source/Lib/TLibEncoder/TEncCu.cpp,
11143 source/Lib/TLibEncoder/TEncSearch.cpp,
11144 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
11145 TEncSearch: keep param pointer instead of top encoder pointer
11146
11147 This required cacheing some top encoder fields in TEncSearch
11148 [5a0f8d5377da]
11149
11150 * source/Lib/TLibEncoder/TEncSearch.h:
11151 TEncSearch: nits
11152 [9a0dde9e5fa6]
11153
11154 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
11155 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
11156 framefilter: replace top pointer with param pointer
11157 [7259c8a2d1b1]
11158
11159 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11160 frameencoder: replace m_cfg with m_param pointer, use m_top for
11161 leftovers
11162 [c53f4e4669c2]
11163
11164 * source/encoder/frameencoder.h:
11165 frameencoder: remove unused bitcounter
11166 [785e2b88c134]
11167
11168 * source/Lib/TLibCommon/TComDataCU.cpp,
11169 source/Lib/TLibEncoder/TEncCu.cpp:
11170 TComDataCU: remove hungarian prefixes from CU vars
11171 [ca032ae0fd67]
11172
11173 * source/Lib/TLibCommon/TComPicSym.h:
11174 sym: do not return pointer reference from getCU()
11175 [bf0aa61ceaab]
11176
11177 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11178 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
11179 source/encoder/frameencoder.h:
11180 pic: move m_elapsedCompressTime and m_frameTime to frame encoder
11181
11182 This data only needs to exist when the picture is being encoded
11183 [f73c1d866741]
11184
11185 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11186 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
11187 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
11188 source/encoder/framefilter.h:
11189 pic: move SSIM, PSNR and hash to frame encoder
11190
11191 This data only needs to exist when the picture is being encoded.
11192 This changes the SSIM scores slightly, even though the bitstream and
11193 recon does not change, because it is resetting the SSIM sum and
11194 counter each frame. When these fields were on the TComPic, they were
11195 never cleared.
11196 [bf112abf087c]
11197
11198 * source/Lib/TLibCommon/TComPic.h, source/encoder/frameencoder.cpp,
11199 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
11200 pic: move timing structures to RateControlEntry
11201
11202 This saves a bit of memory, since this data only needs to exist when
11203 the picture is being encoded.
11204 [cb4d408c048e]
11205
11206 * source/encoder/sei.h:
11207 sei: remove unused RESERVED hash method, avoid compiler warnings
11208 [51aa9d1542ef]
11209
11210 * source/Lib/TLibCommon/TComPic.h, source/encoder/frameencoder.cpp,
11211 source/encoder/ratecontrol.cpp:
11212 pic: better name for picture timing SEI member
11213 [d3ac1cbdc9c3]
11214
11215 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
11216 source/Lib/TLibEncoder/SyntaxElementWriter.h:
11217 writer: xConvertToUInt did not need to be a class member
11218 [a2d63126b37c]
11219
11220 * source/encoder/sei.h:
11221 sei: allow SEI classes to implement write() directly to avoid two-
11222 pass encode
11223 [778385cde253]
11224
11225 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
11226 source/encoder/sei.h:
11227 sei: add m_ prefix to members of SEIDecodedPictureHash for
11228 consistency
11229 [bb872c51a453]
11230
11231 * source/encoder/frameencoder.cpp:
11232 sei: repair decoded picture hash SEI
11233 [2be51b34e033]
11234
11235 * source/common/pixel.cpp:
11236 psyrd: use zero stride in psyCost C reference, minor optimization
11237 [f3fb2d2b0ba6]
11238
11239 * source/Lib/TLibEncoder/TEncSearch.cpp:
11240 TEncSearch: simplify square block dim logic
11241
11242 this works around a bizarre MSVC warning on those lines. '<<' :
11243 result of 32-bit shift implicitly converted to 64 bits (was 64-bit
11244 shift intended?)
11245
11246 I have no idea why it was implicitly making the result 64bits.
11247 [0c3d33212ebd]
11248
112492014-06-16 Satoshi Nakagawa <nakagawa424@oki.com>
11250
11251 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
11252 fix: TOPSKIP refers outside of picture [OUTPUT CHANGE]
11253 [7c6654c332c5]
11254
112552014-06-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11256
11257 * source/Lib/TLibCommon/TComTrQuant.cpp:
11258 quant: Enforce QP range after adding bit-depth offsets
11259 [c8973aec5e70]
11260
112612014-06-17 Kavitha Sampath <kavitha@multicorewareinc.com>
11262
11263 * source/encoder/ratecontrol.cpp:
11264 sei: disable HRD with warning when vbv is off
11265 [b6f8e0ce8c81]
11266
112672014-06-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
11268
11269 * source/Lib/TLibEncoder/TEncSearch.cpp,
11270 source/Lib/TLibEncoder/TEncSearch.h:
11271 psyrd: use psyrdcost for PU/TU decision for inter and intra
11272 [2b514f3f6e1f]
11273
112742014-06-17 Steve Borho <steve@borho.org>
11275
11276 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComPic.cpp,
11277 source/Lib/TLibCommon/TComPic.h,
11278 source/Lib/TLibEncoder/SEIwrite.cpp,
11279 source/Lib/TLibEncoder/SEIwrite.h, source/common/CMakeLists.txt,
11280 source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
11281 source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
11282 source/encoder/sei.cpp, source/encoder/sei.h:
11283 sei: first step towards simplifying SEI writing
11284 [9d43b41eb529]
11285
11286 * source/Lib/TLibCommon/TComBitStream.h:
11287 bitstream: give bit counter a useful constructor
11288 [f9fef6da4da6]
11289
112902014-06-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11291
11292 * source/encoder/ratecontrol.cpp:
11293 ratecontrol: [CHANGES OUTPUT for 10-bit CRF] Remove QP_BD_OFFSET
11294 from Ratecontrol
11295
11296 This offset is added inside Quant (setQPforQuant)
11297 [3a19a9fdb103]
11298
11299 * source/common/param.cpp, source/encoder/ratecontrol.cpp:
11300 ratecontrol: move validate of CRF params to x265_check_param
11301 [53fab23c6e5b]
11302
113032014-06-17 Steve Borho <steve@borho.org>
11304
11305 * source/Lib/TLibEncoder/SyntaxElementWriter.h:
11306 writer: nits
11307 [ab8124028030]
11308
113092014-06-17 Min Chen <chenm003@163.com>
11310
11311 * source/Lib/TLibCommon/TComLoopFilter.cpp,
11312 source/Lib/TLibCommon/TComLoopFilter.h:
11313 cleanup unused TComLoopFilter::loopFilterPic
11314 [55ba291c2c5b]
11315
11316 * source/Lib/TLibCommon/TComLoopFilter.cpp,
11317 source/Lib/TLibCommon/TComLoopFilter.h,
11318 source/encoder/framefilter.cpp:
11319 move m_bEdgeFilter to local
11320 [a99fb0ffe53a]
11321
11322 * source/Lib/TLibCommon/TComLoopFilter.cpp,
11323 source/Lib/TLibCommon/TComLoopFilter.h:
11324 move lfcuParam to local
11325 [4c204b14ad0e]
11326
113272014-06-16 Steve Borho <steve@borho.org>
11328
11329 * source/Lib/TLibCommon/TComBitStream.cpp,
11330 source/Lib/TLibCommon/TComBitStream.h,
11331 source/encoder/frameencoder.cpp, source/encoder/nal.cpp,
11332 source/encoder/nal.h:
11333 nal: concatenate and escape row data while building row-start array
11334 for header
11335
11336 This way we only need to do a single pass over each slice NAL
11337 looking for start code emulations; and there is one less memcopy.
11338 countStartCodeEmulations() and appendSubstream() methods could be
11339 removed.
11340 [9198ff2e0125]
11341
11342 * source/common/pixel.cpp:
11343 pixel: prevent msvc warning
11344 [f25ed8618509]
11345
113462014-06-15 Satoshi Nakagawa <nakagawa424@oki.com>
11347
11348 * source/Lib/TLibEncoder/TEncEntropy.cpp,
11349 source/Lib/TLibEncoder/TEncSearch.cpp,
11350 source/Lib/TLibEncoder/TEncSearch.h:
11351 refine tskip related
11352 [6d8d8c18ba28]
11353
113542014-06-14 Satoshi Nakagawa <nakagawa424@oki.com>
11355
11356 * source/Lib/TLibCommon/TComTrQuant.cpp,
11357 source/Lib/TLibCommon/TComTrQuant.h,
11358 source/Lib/TLibEncoder/TEncSearch.cpp,
11359 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
11360 source/encoder/frameencoder.cpp:
11361 TComTrQuant: lambda for each Cb and Cr
11362 [0957164296c1]
11363
113642014-06-16 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
11365
11366 * source/common/pixel.cpp, source/common/primitives.cpp,
11367 source/common/primitives.h, source/encoder/rdcost.h:
11368 psyRd: Change psy-rd energy measurement
11369
11370 psy-rd energy is measured by summing up the absolute differences of
11371 the AC energy in each 8x8 block in series
11372 [cf8b4506e94e]
11373
113742014-06-12 Steve Borho <steve@borho.org>
11375
11376 * source/Lib/TLibCommon/TComBitStream.cpp:
11377 bitstream: simplify appendSubstream
11378
11379 This function is only called from one place, and we can clearly see
11380 that both the source and dest bitstreams are byte-aligned.
11381 [e69a427e461f]
11382
11383 * source/Lib/TLibEncoder/TEncSbac.cpp:
11384 sbac: simplify codeSliceHeader, x265 never codes dependent slices
11385 [a15044282290]
11386
11387 * source/Lib/TLibCommon/TComSlice.cpp,
11388 source/Lib/TLibCommon/TComSlice.h,
11389 source/Lib/TLibEncoder/TEncSbac.cpp,
11390 source/encoder/frameencoder.cpp:
11391 slice: remove unused m_nextSlice and m_dependentSliceSegmentFlag
11392 [b3070d28b792]
11393
11394 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11395 frameencoder: inline resetEntropy(), which was only called once
11396 [54d6bb746c04]
11397
11398 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
11399 source/encoder/framefilter.h:
11400 framefilter: remove empty end method
11401 [e254c0d81b5d]
11402
11403 * source/encoder/frameencoder.cpp:
11404 frameencoder: use numSubstreams directly
11405 [2fdc26545855]
11406
11407 * source/encoder/frameencoder.cpp:
11408 frameencoder: remove useless setBitstream call
11409 [33853b3f694d]
11410
11411 * source/encoder/frameencoder.cpp:
11412 frameencoder: remove redundant function calls and obsolete comments
11413 [5b42f824f19c]
11414
11415 * source/encoder/frameencoder.cpp:
11416 frameencoder: explain why SAO is being called after compression
11417 [35bfd27a3c82]
11418
11419 * source/Lib/TLibCommon/TComSlice.cpp,
11420 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
11421 slice: remove unused m_tileOffstForMultES
11422 [df0ee2403067]
11423
11424 * source/encoder/frameencoder.cpp:
11425 frameencoder: remove need for intermediate bitstreamRedirect
11426 [602b2c2506a9]
11427
11428 * source/encoder/frameencoder.cpp:
11429 frameencoder: remove sliceSegment, it was always false
11430 [067b68fd94cc]
11431
11432 * source/encoder/frameencoder.cpp:
11433 frameencoder: remove unnecessary set of nextSlice()
11434
11435 This flag is only read in one place, when encoding the slice header.
11436 We do not support multiple slices, so there's no point in setting
11437 this multiple times.
11438 [51618487cb7d]
11439
11440 * source/encoder/encoder.cpp, source/encoder/encoder.h:
11441 encoder: remove unused m_bPCMInputBitDepthFlag
11442 [635f159b4d0f]
11443
11444 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
11445 source/Lib/TLibEncoder/SEIwrite.h, source/encoder/encoder.cpp,
11446 source/encoder/encoder.h, source/encoder/frameencoder.cpp:
11447 remove unused display orientation SEI
11448 [4f87da44e4db]
11449
11450 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11451 frameencoder: make per-row output streams member variables
11452
11453 Avoid repeated malloc/free and subsequent reallocs and frees each
11454 frame
11455 [97be21ff81bb]
11456
11457 * source/encoder/frameencoder.cpp:
11458 frameencoder: nit, unify comment style in this function
11459 [8644321a206e]
11460
11461 * source/encoder/frameencoder.cpp:
11462 frameencoder: remove redundant sets of SAO lambdas, reorder for
11463 clarity
11464 [8e51b0bfdd30]
11465
11466 * source/encoder/frameencoder.cpp:
11467 frameencoder: nit
11468 [edbb60c0ac0c]
11469
11470 * source/encoder/frameencoder.cpp:
11471 frameencoder: move QP/lambda initialization together
11472 [9afd674721a8]
11473
11474 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11475 frameencoder: inline slice bounds determination, do not perform
11476 twice
11477 [4ac8602fb0af]
11478
11479 * source/Lib/TLibCommon/TComSlice.cpp,
11480 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
11481 slice: remove unused finalized flag
11482 [e8aee2613bf6]
11483
11484 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
11485 sao: remove unnecessary shim function
11486 [957a5e3d0d7b]
11487
11488 * source/encoder/frameencoder.cpp:
11489 frameencoder: remove obsolete comment
11490 [d55abb8e9106]
11491
11492 * source/encoder/dpb.cpp:
11493 dpb: no need to reset next slice in init function
11494 [1c2ee741e5b1]
11495
11496 * source/encoder/frameencoder.cpp:
11497 frameencoder: declare bitstreamRedirect on stack, do not malloc.
11498 cleanups
11499 [2b866266f884]
11500
11501 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
11502 source/Lib/TLibEncoder/SEIwrite.h, source/encoder/encoder.cpp,
11503 source/encoder/encoder.h, source/encoder/frameencoder.cpp:
11504 remove unused gradual decoding refresh info SEI
11505 [9283279c721c]
11506
11507 * source/encoder/frameencoder.cpp:
11508 frameencoder: move prefix SEI generation all together, before
11509 compressCTURows
11510 [ff47e8fd3751]
11511
11512 * source/encoder/frameencoder.h:
11513 frameencoder: fix header case
11514
11515 Reported by Elyonta
11516 [01a0982d2e4b]
11517
115182014-06-12 Aarthi Thirumalai <Aarthi Thirumalai>
11519
11520 * source/encoder/ratecontrol.cpp:
11521 rc: set isCbr flag to true only in vbv mode and maxrate equals
11522 bitrate
11523 [a302daa9abd0]
11524
115252014-06-12 Steve Borho <steve@borho.org>
11526
11527 * source/encoder/compress.cpp:
11528 compress: add EMMS at return of xCompressInterCu
11529
11530 Removed the EMMS from xComputeCostMerge2Nx2N since it is only called
11531 from the CU compress function and it is not using floats
11532 [5b975609dc0a]
11533
115342014-06-05 Steve Borho <steve@borho.org>
11535
11536 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11537 frameencoder: re-use a single bitstream object for all NAL and SEI
11538
11539 This saves on malloc/free/realloc/memcpy calls.
11540 [c5015669b6dc]
11541
115422014-06-11 Steve Borho <steve@borho.org>
11543
11544 * source/encoder/compress.cpp:
11545 compress: nit comment spacing
11546 [e8df9b57eb09]
11547
11548 * source/encoder/weightPrediction.cpp:
11549 weight: ensure weight table is initialized on failure, simplify
11550 weightAnalyse()
11551 [10a4c2d42d3f]
11552
11553 * source/encoder/compress.cpp:
11554 compress: remove floating point math to avoid needing to use EMMS
11555 [8da75c4dbbc0]
11556
11557 * source/Lib/TLibCommon/TComDataCU.h:
11558 TComDataCU: nits
11559 [ebe26cc5fdd8]
11560
11561 * source/encoder/frameencoder.cpp:
11562 frameencoder: remove obsolete check
11563 [ea6f7da090ef]
11564
11565 * source/encoder/nal.cpp:
11566 nal: msvc and its integer conversion warnings
11567 [b76c4e415cdd]
11568
11569 * source/encoder/nal.cpp:
11570 nal: greatly simplify NAL header generation, do not use
11571 TComOutputBitstream
11572
11573 This saves a malloc/free and a great deal of needless overhead
11574 [7868d22e535d]
11575
115762014-06-10 Steve Borho <steve@borho.org>
11577
11578 * source/encoder/encoder.cpp:
11579 encoder: set m_totalFrameThreads at the same time as
11580 param->frameNumThreads
11581 [20d74192e097]
11582
11583 * doc/reST/cli.rst, source/common/param.cpp,
11584 source/encoder/encoder.cpp:
11585 param: clip bframe bias range as x264 does
11586 [d0bacf50eb95]
11587
115882014-06-10 Kavitha Sampath <kavitha@multicorewareinc.com>
11589
11590 * source/Lib/TLibCommon/TComRom.cpp:
11591 TComRom: fix fraction part variation in x265_lambda2_tab for higher
11592 QPs
11593 [a89e0703e724]
11594
115952014-06-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11596
11597 * source/common/param.cpp:
11598 preset: improve the speed settings for fast preset.
11599 [0cbc7320c9f2]
11600
116012014-06-05 Steve Borho <steve@borho.org>
11602
11603 * source/encoder/ratecontrol.cpp:
11604 Merge with stable
11605 [e5656f1e1904]
11606
11607 * source/encoder/ratecontrol.cpp:
11608 rc: fix potential build warning
11609 [7a3214c9622f] <stable>
11610
11611 * source/common/common.h:
11612 common: include cctype for isdigit
11613 [25b8aa22e4c8]
11614
11615 * source/Lib/TLibCommon/TComBitStream.cpp:
11616 bitstream: fast-path for appending bitstreams
11617 [47fdb8041e9d]
11618
11619 * source/encoder/nal.cpp:
11620 nal: add back comments now that member variables are gone
11621 [420122606888]
11622
11623 * source/Lib/TLibCommon/TComBitStream.cpp,
11624 source/Lib/TLibCommon/TComBitStream.h, source/common/common.h,
11625 source/encoder/frameencoder.cpp, source/encoder/nal.cpp:
11626 bitstream: simplify TComBitStream interface and code
11627 [467d0e89a52f]
11628
11629 * source/Lib/TLibCommon/TComSlice.cpp:
11630 TComSlice: remove layer violation include
11631
11632 files in common/ shouldn't include encoder/ headers
11633 [9f6dca97e01f]
11634
11635 * source/Lib/TLibCommon/CommonDef.h,
11636 source/Lib/TLibCommon/TComBitStream.h,
11637 source/Lib/TLibCommon/TComDataCU.h,
11638 source/Lib/TLibCommon/TComLoopFilter.h,
11639 source/Lib/TLibCommon/TComMotionInfo.h,
11640 source/Lib/TLibCommon/TComPattern.h,
11641 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
11642 source/Lib/TLibCommon/TComPicYuv.h,
11643 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
11644 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
11645 source/Lib/TLibCommon/TComSlice.cpp,
11646 source/Lib/TLibCommon/TComSlice.h,
11647 source/Lib/TLibCommon/TComTrQuant.h,
11648 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
11649 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
11650 source/Lib/TLibEncoder/SyntaxElementWriter.h,
11651 source/Lib/TLibEncoder/TEncCu.h, source/common/common.cpp,
11652 source/common/common.h, source/encoder/level.cpp,
11653 source/encoder/level.h, source/test/testharness.h:
11654 always include CommonDef.h via common.h, avoid include loops
11655
11656 Remove some spurious stdlib includes not in common.h
11657 [0cdfd02d6b1a]
11658
11659 * source/Lib/TLibCommon/TComBitCounter.h,
11660 source/Lib/TLibCommon/TComBitStream.h,
11661 source/Lib/TLibEncoder/SEIwrite.cpp,
11662 source/Lib/TLibEncoder/TEncCu.h,
11663 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
11664 source/common/CMakeLists.txt, source/encoder/cturow.h,
11665 source/encoder/frameencoder.h:
11666 merge TComBitCounter into TComBitStream.h
11667 [ac044bf2f850]
11668
11669 * source/encoder/nal.cpp:
11670 nal: add more padding for corner cases
11671 [ecbe8796febc]
11672
116732014-06-05 Kavitha Sampath <kavitha@multicorewareinc.com>
11674
11675 * source/encoder/frameencoder.cpp:
11676 weightb: reinitialize weight table when weightb is off
11677 [9dddc48aecc7]
11678
116792014-06-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11680
11681 * source/encoder/ratecontrol.h:
11682 ratecontrol: change type of m_bframeBits to int64_t
11683 [495874699b0d]
11684
116852014-06-04 Steve Borho <steve@borho.org>
11686
11687 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
11688 Merge with stable
11689 [c11920cb6f04]
11690
116912014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
11692
11693 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
11694 rc: fixes to improve quality in vbv
11695 [93921c0afac5] <stable>
11696
116972014-06-05 Aarthi Thirumalai <Aarthi Thirumalai>
11698
11699 * source/encoder/ratecontrol.cpp:
11700 rc: use actual bits to update vbv buffer
11701 [4df4e48d24a0] <stable>
11702
117032014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
11704
11705 * source/encoder/ratecontrol.cpp:
11706 rc: set pbFactor to default with cutree
11707 [a076f4fc8d36] <stable>
11708
117092014-06-04 Steve Borho <steve@borho.org>
11710
11711 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
11712 source/Lib/TLibEncoder/NALwrite.h, source/common/CMakeLists.txt,
11713 source/encoder/CMakeLists.txt, source/encoder/api.cpp,
11714 source/encoder/encoder.cpp, source/encoder/encoder.h,
11715 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
11716 source/encoder/nal.cpp, source/encoder/nal.h:
11717 combine NAL output semantics into one clean(er) interface
11718 [4a146c01fcab]
11719
11720 * source/Lib/TLibEncoder/NALwrite.cpp:
11721 nal: fix checked build
11722 [7186f76fe62c]
11723
11724 * source/encoder/encoder.cpp:
11725 encoder: no longer needs NALwrite.h
11726 [e4b3061770b9]
11727
11728 * source/Lib/TLibCommon/TComBitStream.h:
11729 TComBitstream: nits
11730 [d94a29bb9ce7]
11731
11732 * source/Lib/TLibCommon/TComTrQuant.cpp,
11733 source/Lib/TLibCommon/TComTrQuant.h,
11734 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/cturow.cpp,
11735 source/encoder/encoder.cpp, source/encoder/encoder.h:
11736 remove Encoder::bEnableRDOQTS, we did not allow separate config for
11737 it
11738
11739 Either RDOQ and RDOQTS were enabled at once, or both were disabled,
11740 or TSKIP was disabled and it didn't matter how RDOQTS was set.
11741
11742 Removed RDOQ_CHROMA as well, which allowed the removal of a warning
11743 disable
11744 [eca52aac2ec5]
11745
11746 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/cturow.cpp,
11747 source/encoder/encoder.cpp, source/encoder/encoder.h:
11748 encoder: bEnableRDOQ->m_bEnableRDOQ for consistency
11749 [2a228a28395c]
11750
11751 * source/Lib/TLibCommon/TComPic.cpp,
11752 source/Lib/TLibEncoder/TEncCu.cpp,
11753 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/api.cpp,
11754 source/encoder/cturow.cpp, source/encoder/dpb.h,
11755 source/encoder/encoder.cpp, source/encoder/encoder.h,
11756 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
11757 source/encoder/slicetype.cpp:
11758 encoder: param->m_param for consistency
11759 [c02dacf1a13b]
11760
11761 * source/encoder/encoder.h:
11762 encoder: remove m_useLossless
11763 [65b385fa9989]
11764
11765 * source/encoder/encoder.cpp, source/encoder/encoder.h,
11766 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
11767 source/encoder/slicetype.h:
11768 slicetype: convert lookahead "structs with methods" to classes
11769 [72a00c40366a]
11770
11771 * source/encoder/ratecontrol.cpp:
11772 rc: nit
11773 [969811ce69da]
11774
11775 * source/encoder/encoder.cpp, source/encoder/encoder.h,
11776 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
11777 source/encoder/ratecontrol.h:
11778 rc: convert RateControl to a class
11779
11780 The "struct with methods" metaphore was too stretched here. The
11781 methods are too complicated to keep track of which variables were
11782 members; variable shadowing was very common.
11783 [d3b1d2d3f104]
11784
11785 * source/Lib/TLibEncoder/NALwrite.cpp:
11786 nal: check padded buffer size
11787 [522e419ed55d]
11788
11789 * source/encoder/api.cpp:
11790 api: must match X265_ALLOC with X265_FREE for m_nalUnitData
11791
11792 This was only an issue on Windows
11793 [e3a5aa8afeae]
11794
11795 * source/encoder/ratecontrol.cpp:
11796 rc: fix type of actualBits
11797 [30e6d62afa3d]
11798
11799 * source/Lib/TLibEncoder/NALwrite.cpp:
11800 nalwrite: simplify write method; single allocation with no reallocs
11801 [c3a4e0ab37c2]
11802
11803 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
11804 source/encoder/ratecontrol.h:
11805 rc: only pass param to rc constructor
11806 [5c9a0aa10472]
11807
11808 * source/encoder/ratecontrol.cpp:
11809 rc: further improvements to code clarity
11810 [794b1c67c829]
11811
11812 * source/encoder/ratecontrol.cpp:
11813 rc: nit
11814 [9f44990be4d4]
11815
11816 * source/encoder/ratecontrol.cpp:
11817 rc: use member isCbr rather than making a shadow variable
11818 [cca69754c32e]
11819
11820 * source/encoder/ratecontrol.cpp:
11821 rc: move isCbr initialization to constructor, to avoid init() race
11822 [4cdc53eb185b]
11823
11824 * source/encoder/encoder.cpp:
11825 Merge with stable
11826 [8d9ea2d89fbf]
11827
118282014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
11829
11830 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
11831 rc: fixes to improve quality in vbv
11832 [cb025d96fac3]
11833
11834 * source/encoder/ratecontrol.cpp:
11835 rc: use actual bits to update vbv buffer
11836 [5eca4ea111f7]
11837
11838 * source/encoder/ratecontrol.cpp:
11839 rc: set pbFactor to default with cutree
11840 [0f68adb0e190]
11841
118422014-06-04 Kavitha Sampath <kavitha@multicorewareinc.com>
11843
11844 * source/Lib/TLibCommon/TComSlice.cpp, source/encoder/encoder.cpp,
11845 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
11846 source/encoder/ratecontrol.cpp:
11847 SEI: fix bus error, cleanup m_decodingUnitInfoSEIEnabled
11848
11849 Remove setHrdPaarameters function as all the necessary HRD
11850 parameters are already computed and set in the initHrd function.
11851 [fe25d256f0e1]
11852
118532014-06-04 Steve Borho <steve@borho.org>
11854
11855 * source/Lib/TLibCommon/SEI.h:
11856 sei: white-space nits
11857 [00f286a1f5e3]
11858
11859 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
11860 source/encoder/frameencoder.cpp:
11861 sei: remove SEIPictureTiming fields we do not signal, cleanup
11862
11863 Completely remove constructor and destructor
11864 [1b93336d68d4]
11865
118662014-06-04 Satoshi Nakagawa <nakagawa424@oki.com>
11867
11868 * source/Lib/TLibEncoder/NALwrite.cpp, source/encoder/encoder.cpp:
11869 fix: uninitialized read m_totalFrameThreads
11870 [63ac1a0aa81d] <stable>
11871
118722014-06-04 Steve Borho <steve@borho.org>
11873
11874 * doc/reST/cli.rst:
11875 rest: reorganize analysis options into their own section
11876 [d40f60dae2ce]
11877
118782014-06-04 Kavitha Sampath <kavitha@multicorewareinc.com>
11879
11880 * source/encoder/ratecontrol.cpp:
11881 fix crash in hrd when init function is called with null pointer
11882 [61a02a9c78eb]
11883
118842014-06-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11885
11886 * Merge with stable
11887 [9b81591718d5]
11888
11889 * source/Lib/TLibEncoder/TEncCu.cpp:
11890 TEncCU: fix bug in no-intra, intra-analysis should still happen for
11891 P-frames
11892 [5cc4502256a7] <stable>
11893
11894 * source/common/param.cpp:
11895 Merge with stable
11896 [1fe42453d2e3]
11897
11898 * source/common/param.cpp:
11899 preset: correct ultrafast settings (in line with doc) by disabling
11900 loop-filter.
11901 [9f59dad6eea6] <stable>
11902
119032014-06-03 Steve Borho <steve@borho.org>
11904
11905 * doc/reST/cli.rst, source/Lib/TLibCommon/TComSlice.h,
11906 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
11907 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
11908 source/x265.cpp:
11909 Merge with stable
11910 [f2479eb454b0]
11911
11912 * .hgtags:
11913 Added tag 1.1 for changeset ae9609aeebdc
11914 [2650fdd1a7f6] <stable>
11915
11916 * source/common/param.cpp:
11917 param: only log psy-rd if it is enabled
11918 [ae9609aeebdc] [1.1] <stable>
11919
11920 * source/encoder/ratecontrol.cpp:
11921 lossless: do not allow CQP to adjust QP for I/B when encoding
11922 lossless
11923 [07e7a54ae1cb] <stable>
11924
11925 * source/encoder/encoder.cpp:
11926 lossless: report compression ratio, disable distortion metrics
11927 [d9facf9895f7] <stable>
11928
11929 * doc/reST/cli.rst, source/encoder/encoder.cpp:
11930 lossless: disable rate control, force QP=4
11931
11932 strangely enough, using QP=4 gives better lambda for lossless ME and
11933 RD decisions
11934 [12d35ab8148d] <stable>
11935
119362014-06-03 Praveen Tiwari <Praveen Tiwari>
11937
11938 * source/x265.h:
11939 x265.h, data declaration alignment
11940 [6f3149d95bd9]
11941
11942 * source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.h:
11943 whitespace clean-up
11944 [8c66560a3e23]
11945
119462014-06-03 Steve Borho <steve@borho.org>
11947
11948 * source/Lib/TLibCommon/TComSlice.h:
11949 TComSlice: nit - use bools to initialize bools
11950 [8b5dadb1454e]
11951
11952 * source/encoder/frameencoder.cpp:
11953 SEI: only setup SEIPictureTiming fields which will be coded
11954 [3356ce23cad2]
11955
119562014-06-03 Kavitha Sampath <kavitha@multicorewareinc.com>
11957
11958 * doc/reST/cli.rst, source/CMakeLists.txt,
11959 source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComPic.h,
11960 source/Lib/TLibCommon/TComSlice.h, source/common/param.cpp,
11961 source/encoder/encoder.cpp, source/encoder/encoder.h,
11962 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
11963 source/encoder/ratecontrol.h, source/x265.cpp, source/x265.h:
11964 SEI: Insert buffering period and picture timing SEI messages
11965
11966 The buffering period SEI message is inserted for every key frame and
11967 the picture timing SEI is inserted for every frame. The commit also
11968 computes the HRD parameters as well as HRD Timing parameters that
11969 are calculated using the delay components(cpb removal delay and dpb
11970 output delay) carried in these SEI messages. HRD parameters can be
11971 signalled by enabling --hrd.
11972 [f9f553c8bd6a]
11973
119742014-06-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11975
11976 * source/Lib/TLibCommon/TComSlice.cpp,
11977 source/Lib/TLibCommon/TComSlice.h,
11978 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/encoder.cpp:
11979 qp: remove Encoder::m_useLossless.
11980
11981 This patch removes confusion between Encoder::m_useLossless and
11982 x265_param::bUseLossless. m_useLossless was set whenever qp = 0, and
11983 used in TComSPS. qp = 0 is still a valid encoder option.
11984 [b4e87638e5cc] <stable>
11985
119862014-06-03 Steve Borho <steve@borho.org>
11987
11988 * source/common/winxp.cpp:
11989 xp: avoid compiler warning from GCC-MinGW
11990
11991 MSVC gives a warning at link time if this file is empty, so I added
11992 a useless variable to the file. GCC-MinGW issues a compile time
11993 warning about this unused variable.
11994 [d315d1430f5c] <stable>
11995
11996 * source/x265.cpp:
11997 cli: seperate new lossless options, make --lossless description more
11998 concise
11999
12000 try to avoid having the --lossless line wrap
12001 [cfab9513e27c] <stable>
12002
120032014-06-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12004
12005 * Merge with stable
12006 [d78f38b707ba]
12007
12008 * doc/reST/presets.rst, source/x265.h:
12009 rest: correct documentation on AQ
12010 [f66ad1400874] <stable>
12011
12012 * Merge with stable
12013 [d3f55d391314]
12014
12015 * source/common/param.cpp:
12016 param: initialise lossless/cu-lossless fields to zero
12017 [7153905d56e6] <stable>
12018
120192014-06-02 Steve Borho <steve@borho.org>
12020
12021 * source/Lib/TLibEncoder/TEncSearch.cpp:
12022 TEncSearch: rename variable to avoid shadowing an earlier 'part'
12023 [92ef2e02f653]
12024
12025 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
12026 primitives: move more aliasing to Setup_Alias_Primitives
12027 [31f93f0d024f]
12028
120292014-06-02 Satoshi Nakagawa <nakagawa424@oki.com>
12030
12031 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12032 source/Lib/TLibEncoder/TEncEntropy.h,
12033 source/Lib/TLibEncoder/TEncSbac.cpp,
12034 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.cpp,
12035 source/common/primitives.h, source/common/x86/asm-primitives.cpp:
12036 refine cbf==0 path: remove clearing coeff and resi
12037 [b46dd1095ed8]
12038
120392014-06-02 Steve Borho <steve@borho.org>
12040
12041 * source/Lib/TLibEncoder/TEncSearch.cpp:
12042 TEncSearch: remove unnecessary pragma
12043 [bc38a1637220]
12044
12045 * source/Lib/TLibCommon/TComRdCost.h:
12046 Merge with default (prepare for 1.1)
12047 [108996798e78] <stable>
12048
12049 * source/encoder/rdcost.h:
12050 psy: use m_lambdaSAD multiplier for psy cost, m_lambdaSSE for bits
12051
12052 in x264, m_lambdaSSE = lambda2, m_lambdaSAD = lambda
12053 [5b6c9cda191b]
12054
12055 * COPYING, source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h,
12056 source/common/bitstream.h, source/common/common.cpp,
12057 source/common/common.h, source/common/cpu.cpp, source/common/cpu.h,
12058 source/common/dct.cpp, source/common/intrapred.cpp,
12059 source/common/ipfilter.cpp, source/common/loopfilter.cpp,
12060 source/common/lowres.cpp, source/common/lowres.h,
12061 source/common/mv.h, source/common/param.cpp, source/common/param.h,
12062 source/common/piclist.cpp, source/common/piclist.h,
12063 source/common/pixel.cpp, source/common/primitives.cpp,
12064 source/common/primitives.h, source/common/shortyuv.cpp,
12065 source/common/shortyuv.h, source/common/threading.cpp,
12066 source/common/threading.h, source/common/threadpool.cpp,
12067 source/common/threadpool.h, source/common/vec/blockcopy-sse3.cpp,
12068 source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp,
12069 source/common/vec/dct-ssse3.cpp, source/common/vec/vec-
12070 primitives.cpp, source/common/version.cpp,
12071 source/common/wavefront.cpp, source/common/wavefront.h,
12072 source/common/winxp.cpp, source/common/winxp.h, source/common/x86
12073 /asm-primitives.cpp, source/common/x86/blockcopy8.asm,
12074 source/common/x86/blockcopy8.h, source/common/x86/const-a.asm,
12075 source/common/x86/cpu-a.asm, source/common/x86/dct8.asm,
12076 source/common/x86/dct8.h, source/common/x86/intrapred.h,
12077 source/common/x86/intrapred16.asm, source/common/x86/intrapred8.asm,
12078 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.asm,
12079 source/common/x86/ipfilter8.h, source/common/x86/loopfilter.asm,
12080 source/common/x86/loopfilter.h, source/common/x86/mc-a.asm,
12081 source/common/x86/mc-a2.asm, source/common/x86/mc.h,
12082 source/common/x86/pixel-32.asm, source/common/x86/pixel-a.asm,
12083 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
12084 source/common/x86/pixel.h, source/common/x86/pixeladd8.asm,
12085 source/common/x86/sad-a.asm, source/common/x86/sad16-a.asm,
12086 source/common/x86/ssd-a.asm, source/common/x86/x86util.asm,
12087 source/encoder/api.cpp, source/encoder/bitcost.cpp,
12088 source/encoder/bitcost.h, source/encoder/compress.cpp,
12089 source/encoder/cturow.cpp, source/encoder/cturow.h,
12090 source/encoder/dpb.cpp, source/encoder/dpb.h,
12091 source/encoder/encoder.cpp, source/encoder/encoder.h,
12092 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
12093 source/encoder/framefilter.cpp, source/encoder/framefilter.h,
12094 source/encoder/level.cpp, source/encoder/level.h,
12095 source/encoder/motion.cpp, source/encoder/motion.h,
12096 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
12097 source/encoder/rdcost.h, source/encoder/reference.cpp,
12098 source/encoder/reference.h, source/encoder/slicetype.cpp,
12099 source/encoder/slicetype.h, source/encoder/weightPrediction.cpp,
12100 source/filters/filters.cpp, source/filters/filters.h,
12101 source/input/input.cpp, source/input/input.h, source/input/y4m.cpp,
12102 source/input/y4m.h, source/input/yuv.cpp, source/input/yuv.h,
12103 source/output/output.cpp, source/output/output.h,
12104 source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
12105 source/output/yuv.h, source/test/checkasm-a.asm,
12106 source/test/intrapredharness.cpp, source/test/intrapredharness.h,
12107 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h,
12108 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
12109 source/test/pixelharness.cpp, source/test/pixelharness.h,
12110 source/test/testbench.cpp, source/test/testharness.h,
12111 source/test/testpool.cpp, source/x265.cpp, source/x265.h,
12112 source/x265_config.h.in:
12113 change license email globally
12114 [9c21227bb5bf]
12115
121162014-05-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12117
12118 * doc/reST/cli.rst, source/CMakeLists.txt,
12119 source/Lib/TLibEncoder/TEncCu.cpp,
12120 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
12121 source/encoder/compress.cpp, source/encoder/encoder.cpp,
12122 source/x265.cpp, source/x265.h:
12123 add support for lossless encode
12124
12125 --lossless forces full lossless coding of every frame and every CU.
12126
12127 --cu-lossless forces the encoder to perform RD cost analysis between
12128 lossy and lossless modes and choose the least cost mode for each CU.
12129 [bebc88f64d99]
12130
121312014-06-02 Steve Borho <steve@borho.org>
12132
12133 * source/Lib/TLibEncoder/TEncCu.cpp:
12134 TEncCu: nits
12135 [ac763df220b6]
12136
121372014-05-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12138
12139 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
12140 source/Lib/TLibEncoder/TEncCu.cpp:
12141 fix to support multiple color space format in
12142 TComSampleAdaptiveOffset and TEncCu structure
12143 [dbd7cabc5ee6]
12144
121452014-06-02 Aarthi Thirumalai <Aarthi Thirumalai>
12146
12147 * source/encoder/ratecontrol.cpp:
12148 rc: improve visual quality in high bit depth encodes.
12149 [1c65cf8f068e]
12150
121512014-06-02 Steve Borho <steve@borho.org>
12152
12153 * source/encoder/CMakeLists.txt:
12154 cmake: nit
12155 [39ddc8c12309]
12156
12157 * source/encoder/CMakeLists.txt:
12158 cmake: encoder.cpp no longer needs -Wno-unused-parameter
12159 [d3a89fd010dd]
12160
12161 * source/CMakeLists.txt, source/common/CMakeLists.txt:
12162 cmake: move all "GCC-like" logic together, use consistent var names
12163 [734956446ac1]
12164
121652014-05-30 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
12166
12167 * source/CMakeLists.txt:
12168 Disable exceptions for all compilers which support fno-exceptions
12169 [f21ce9406d4d]
12170
121712014-05-30 Aarthi Thirumalai <Aarthi Thirumalai>
12172
12173 * source/Lib/TLibEncoder/TEncCu.cpp,
12174 source/Lib/TLibEncoder/TEncSearch.cpp,
12175 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
12176 source/encoder/encoder.cpp, source/encoder/encoder.h:
12177 TEncSearch: use actual frame thread count to decide motion search
12178 limits
12179 [223a9bbf52f4]
12180
121812014-06-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12182
12183 * doc/reST/presets.rst, source/common/param.cpp:
12184 preset: set superfast, veryfast, faster and fast presets to rd 2.
12185 [a5998df9b12e]
12186
12187 * doc/reST/presets.rst, source/common/param.cpp:
12188 preset: For ultrafast preset, turn off lft, change rdLevel from 3 to
12189 2.
12190
12191 This adds about 20-25% more performance for ultrafast presets at
12192 little efficiency cost.
12193 [d957ff8312d3]
12194
121952014-05-29 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
12196
12197 * source/CMakeLists.txt:
12198 Disable exceptions. Fixes Clang linker errors.
12199 [592ef184549e]
12200
122012014-05-29 Steve Borho <steve@borho.org>
12202
12203 * source/encoder/ratecontrol.cpp:
12204 rc: cleanups for clarity
12205 [58420e834424]
12206
122072014-05-29 Aarthi Thirumalai <Aarthi Thirumalai>
12208
12209 * source/encoder/encoder.cpp, source/encoder/encoder.h,
12210 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
12211 ratecontrol: improve visual quality and bitrate savings in ABR.
12212
12213 Try to prevent ABR over-compensation after I frames by amortizing
12214 the cost over the next few frames;
12215
12216 Improve ABR quality with frame parallelism - enable frame
12217 parallelism only after first few P frames to prevent excessive qp
12218 fluctuations.
12219
12220 Fix initial I frame qp. when cu tree is enabled, the qp decided
12221 arbitrarily is too low. This causes a huge qp spike in immediate P
12222 frames.Tuned cplxrSum for intial I frame so that a more appropriate
12223 qp is chosen.
12224 [7cbe7e7a75c4]
12225
122262014-05-29 Steve Borho <steve@borho.org>
12227
12228 * source/cmake/CMakeASM_YASMInformation.cmake:
12229 cmake: 32-bit macho compiles need _ prefixes on exported functions
12230 [d4932f6e964b]
12231
122322014-05-28 Steve Borho <steve@borho.org>
12233
12234 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp:
12235 preset: disable rectangular and AMP partitions at medium preset
12236
12237 This gives a considerable speed-up (50-70%) at the default preset
12238 for not much loss in compression efficiency (2-3%). AMP is rarely
12239 useful, at non-RDO presets we were only considering AMP merge
12240 anyway, and rect can be approximated by a split and two merges.
12241 [b42827682323]
12242
122432014-05-28 Satoshi Nakagawa <nakagawa424@oki.com>
12244
12245 * source/Lib/TLibCommon/TComDataCU.cpp,
12246 source/Lib/TLibCommon/TComDataCU.h,
12247 source/Lib/TLibCommon/TComPattern.cpp,
12248 source/Lib/TLibCommon/TComPattern.h,
12249 source/Lib/TLibCommon/TComPicYuv.cpp,
12250 source/Lib/TLibCommon/TComPicYuv.h,
12251 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
12252 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
12253 source/Lib/TLibEncoder/TEncEntropy.cpp,
12254 source/Lib/TLibEncoder/TEncSearch.cpp,
12255 source/Lib/TLibEncoder/TEncSearch.h, source/common/shortyuv.cpp,
12256 source/common/shortyuv.h, source/encoder/reference.cpp:
12257 refine YUV and coeff buffer
12258 [260752f39b27]
12259
122602014-05-28 Steve Borho <steve@borho.org>
12261
12262 * source/Lib/TLibEncoder/TEncSearch.cpp:
12263 nits
12264 [e9776dfd1471]
12265
12266 * source/Lib/TLibEncoder/TEncSearch.cpp,
12267 source/encoder/frameencoder.cpp:
12268 nits
12269 [eb236aec3757]
12270
12271 * source/common/threadpool.cpp, source/common/threadpool.h,
12272 source/common/wavefront.cpp, source/common/wavefront.h,
12273 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
12274 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
12275 source/test/testpool.cpp:
12276 pool: allow thread private data structures
12277
12278 Pass worker's threadId to JobProvider::findJob() and allow job
12279 providers to use this ID as they see fit to keep thread local data.
12280 No behavior changes, this is just laying the plumbing for future
12281 optimizations.
12282 [77f788046989]
12283
12284 * doc/reST/cli.rst:
12285 rest: add missing --no-repeat-headers option
12286 [6df1a5bb11fc]
12287
12288 * source/Lib/TLibEncoder/TEncCu.cpp:
12289 TEncCu: nit
12290 [e6ba953dcb1a]
12291
122922014-05-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12293
12294 * source/Lib/TLibEncoder/TEncCu.cpp:
12295 psy-rd: bug fix in merge mode, use psyCosts for all decisions
12296 whenever psy-rd is enabled
12297 [306d3e6b5185]
12298
12299 * source/Lib/TLibEncoder/TEncCu.cpp:
12300 TEncCU: inserting runtime checking for m_totalPsyCost
12301 [503a359e874c]
12302
123032014-05-27 Kavitha Sampath <kavitha@multicorewareinc.com>
12304
12305 * source/encoder/frameencoder.cpp:
12306 SEI: fix bug in picture timing SEI when interlace encoding is
12307 enabled
12308
12309 When the interlace mode is 1(top field first), the picstruct is
12310 2(bottom field) for all frames. But the picStruct for frames in
12311 display order should be 1(top field), 2(bottom field), 1, 2,..etc
12312 [807ee7f1597b]
12313
123142014-05-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12315
12316 * source/Lib/TLibEncoder/TEncCu.cpp,
12317 source/Lib/TLibEncoder/TEncSearch.cpp:
12318 psyRD: psyRD costs are saved into m_totalPsyCost.
12319 [acd166cf9836]
12320
12321 * source/Lib/TLibCommon/TComDataCU.cpp,
12322 source/Lib/TLibCommon/TComDataCU.h,
12323 source/Lib/TLibEncoder/TEncCu.cpp,
12324 source/Lib/TLibEncoder/TEncSearch.cpp:
12325 TComDataCU: introduce new variable m_psyEnergy
12326 [1bd3da64eab9]
12327
12328 * source/Lib/TLibCommon/TComDataCU.cpp,
12329 source/Lib/TLibCommon/TComDataCU.h:
12330 TComDataCU: introduce new variable m_totalPsyCost
12331 [d84f5d1fbb10]
12332
12333 * source/Lib/TLibCommon/TComDataCU.cpp:
12334 TComDataCU: whitespace nits
12335 [08766d706869]
12336
12337 * source/Lib/TLibCommon/TComDataCU.cpp,
12338 source/Lib/TLibCommon/TComDataCU.h,
12339 source/Lib/TLibEncoder/TEncCu.cpp,
12340 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
12341 TComDataCU: renaming m_totalCost to m_totalRDCost
12342 [812615048da0]
12343
123442014-05-25 Satoshi Nakagawa <nakagawa424@oki.com>
12345
12346 * source/CMakeLists.txt:
12347 add -D__STDC_LIMIT_MACROS=1
12348 [af78d190e57b]
12349
123502014-05-25 Steve Borho <steve@borho.org>
12351
12352 * source/Lib/TLibCommon/TComPrediction.cpp,
12353 source/Lib/TLibEncoder/TEncSearch.cpp:
12354 nits
12355 [80e6a349a9fb]
12356
123572014-05-23 Steve Borho <steve@borho.org>
12358
12359 * source/common/shortyuv.cpp:
12360 assert to optional runtime check
12361 [5e8cce428457]
12362
123632014-05-23 Satoshi Nakagawa <nakagawa424@oki.com>
12364
12365 * source/Lib/TLibCommon/TComBitStream.cpp,
12366 source/Lib/TLibCommon/TComDataCU.cpp,
12367 source/Lib/TLibCommon/TComPrediction.cpp,
12368 source/Lib/TLibCommon/TComSlice.h,
12369 source/Lib/TLibCommon/TComYuv.cpp,
12370 source/Lib/TLibEncoder/TEncCu.cpp,
12371 source/Lib/TLibEncoder/TEncEntropy.cpp,
12372 source/Lib/TLibEncoder/TEncSbac.cpp,
12373 source/Lib/TLibEncoder/TEncSearch.cpp,
12374 source/Lib/TLibEncoder/TEncSearch.h, source/common/pixel.cpp,
12375 source/common/primitives.cpp, source/common/primitives.h,
12376 source/common/shortyuv.cpp, source/common/vec/blockcopy-sse3.cpp,
12377 source/encoder/compress.cpp, source/encoder/slicetype.cpp:
12378 refine block size related
12379 [74f8aa42020f]
12380
123812014-05-24 Satoshi Nakagawa <nakagawa424@oki.com>
12382
12383 * source/encoder/rdcost.h:
12384 rdcost: overflow check by integer
12385 [91330e7dddd7]
12386
123872014-05-23 Steve Borho <steve@borho.org>
12388
12389 * source/compat/msvc/stdint.h:
12390 vc9: define UINT64_MAX in our hacked stdint.h
12391 [a3f5a7b9f0fb]
12392
12393 * source/common/CMakeLists.txt:
12394 cmake: re-split TLibCommon headers to fix VC9 builds
12395 [ade75817d892]
12396
123972014-05-22 Steve Borho <steve@borho.org>
12398
12399 * source/encoder/rdcost.h:
12400 rdcost: fix energy cost check, dc is already subtracted from the
12401 energy
12402 [5134e76aa729]
12403
12404 * source/encoder/rdcost.h:
12405 rdcost: use floating point math to calculate psy rd cost
12406 [0c05e3b298a5]
12407
12408 * source/encoder/rdcost.h:
12409 rdcost: fix dc portion of psy energy calculation
12410
12411 now flat blocks have energy of 0, as expected
12412 [8a8b04982694]
12413
124142014-05-15 Steve Borho <steve@borho.org>
12415
12416 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
12417 source/encoder/api.cpp, source/encoder/level.cpp,
12418 source/encoder/level.h, source/x265.cpp, source/x265.h:
12419 api: allow minimum decoder level to be specified
12420 [29cc8b928868]
12421
124222014-05-22 Steve Borho <steve@borho.org>
12423
12424 * doc/reST/presets.rst, source/common/param.cpp:
12425 param: introduce warnings about measurements with psy-opts enabled
12426
12427 Disable psy-rd when tuning for psnr or ssim, and validate various
12428 combinations
12429 [d66773c5f275]
12430
12431 * source/Lib/TLibEncoder/TEncSearch.cpp:
12432 TEncSearch: readability nits
12433 [73e8188a48ca]
12434
124352014-05-19 Satoshi Nakagawa <nakagawa424@oki.com>
12436
12437 * source/Lib/TLibCommon/TComRom.h,
12438 source/Lib/TLibEncoder/TEncSearch.cpp,
12439 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
12440 cleanup bReusePred, unify absTUPartIdx to absPartIdx
12441 [b7e6b21a5906]
12442
124432014-05-22 Steve Borho <steve@borho.org>
12444
12445 * source/encoder/encoder.cpp:
12446 rc: simplify updateVbvPlan()
12447 [34187fb932d3]
12448
124492014-05-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12450
12451 * doc/reST/cli.rst:
12452 rest: refine rdLevels description.
12453 [5548d3e6915d]
12454
12455 * doc/reST/cli.rst, source/encoder/cturow.cpp:
12456 psyrd: is enabled only at rdLevels 5 and 6.
12457
12458 Only rdLevels 5 and 6 use full-RDO based decisions. These are used
12459 in presets slower, veryslow and placebo.
12460 [ceb4ff55f0e8]
12461
124622014-05-22 Santhoshini Sekar <santhoshini@multicorewareinc.com>
12463
12464 * source/encoder/encoder.cpp:
12465 rc: always use frameSizeEstimted for bits in updateVbvPlan
12466 [9cf0134982f8]
12467
12468 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
12469 rc: rename variable vbvMinRate to isCbr
12470 [8f097477d74c]
12471
124722014-05-22 Satoshi Nakagawa <nakagawa424@oki.com>
12473
12474 * source/encoder/slicetype.cpp:
12475 fix: segmentation fault --tune zerolatency
12476 [6a3a53543a89]
12477
124782014-05-21 Steve Borho <steve@borho.org>
12479
12480 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
12481 source/Lib/TLibEncoder/TEncSearch.cpp,
12482 source/encoder/CMakeLists.txt:
12483 cmake: re-enable wd4800 for TLibEncoder
12484 [dadb646a7266]
12485
12486 * source/common/CMakeLists.txt:
12487 cmake: further cleanups
12488 [bc26992efaff]
12489
12490 * source/common/CMakeLists.txt:
12491 cmake: re-enable wd4244 and wd4127 in common/vec
12492 [8a26aa7f81e3]
12493
12494 * source/Lib/TLibCommon/TComSlice.cpp,
12495 source/Lib/TLibCommon/TComSlice.h,
12496 source/Lib/TLibCommon/TComTrQuant.cpp,
12497 source/Lib/TLibCommon/TComTrQuant.h, source/common/CMakeLists.txt,
12498 source/encoder/cturow.cpp, source/encoder/encoder.h:
12499 cmake: re-enable wd4800 for TLibCommon, fix remaining warnings
12500 [5bfeba9f7ae2]
12501
12502 * source/encoder/frameencoder.cpp:
12503 frameencoder: fixup comment following variable rename
12504 [2ed0de7f2ea7]
12505
12506 * source/common/lowres.cpp, source/common/lowres.h,
12507 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
12508 source/encoder/slicetype.cpp:
12509 lowres: use a better name for cuTree offset buffer
12510 [7e92e9718b37]
12511
12512 * source/common/CMakeLists.txt:
12513 cmake: merge TLibCommon source groups
12514 [163ea3a0388b]
12515
12516 * source/Lib/TLibCommon/TComDataCU.h,
12517 source/Lib/TLibCommon/TComRdCost.h,
12518 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
12519 source/Lib/TLibEncoder/TEncSearch.cpp,
12520 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
12521 source/encoder/CMakeLists.txt, source/encoder/compress.cpp,
12522 source/encoder/cturow.h, source/encoder/rdcost.h:
12523 move TComRdCost.h to encoder/rdcost.h, cleanup refactor
12524
12525 The RDCost class has no resemblance to the original TComRdCost
12526 class.
12527 [0c9e5ebbb636]
12528
125292014-05-21 Praveen Tiwari <Praveen Tiwari>
12530
12531 * source/Lib/TLibCommon/TComRom.h:
12532 TComRom.h, removed unused tables
12533 [5d0658f9c539]
12534
12535 * doc/reST/cli.rst, doc/reST/threading.rst, source/CMakeLists.txt,
12536 source/Lib/TLibCommon/TComRom.h,
12537 source/Lib/TLibCommon/TComTrQuant.cpp,
12538 source/Lib/TLibCommon/TComTrQuant.h, source/common/common.h,
12539 source/common/param.cpp, source/encoder/frameencoder.cpp,
12540 source/encoder/frameencoder.h, source/x265.cpp, source/x265.h:
12541 noise reduction ported from x264
12542 [9ba6575aaac1]
12543
125442014-05-21 Steve Borho <steve@borho.org>
12545
12546 * source/Lib/TLibCommon/TComTrQuant.h:
12547 TComTrQuant: nits
12548 [479e34a05002]
12549
125502014-05-21 Santhoshini Sekar <santhoshini@multicorewareinc.com>
12551
12552 * source/encoder/ratecontrol.cpp:
12553 aq: fine tune aq logic to distribute bits even better
12554 [9812db027903]
12555
125562014-05-21 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
12557
12558 * source/cmake/version.cmake:
12559 cmake: detect mercurial source installs on Windows, fixes #56
12560 [a1c87ac44989]
12561
125622014-05-20 Steve Borho <steve@borho.org>
12563
12564 * doc/reST/cli.rst, source/x265.cpp:
12565 psy: mention the fact that psy-rd requires rdo
12566 [f39484bb3eec]
12567
12568 * source/Lib/TLibCommon/TComTrQuant.cpp:
12569 TComTrQuant: nits
12570 [a13534aa7c6b]
12571
12572 * source/common/param.cpp:
12573 param: fix check of minimum picture dimensions
12574 [66bb56dac4f7]
12575
12576 * source/common/winxp.cpp:
12577 xp: hack to avoid linker warnings
12578 [a4ddd39763f2]
12579
12580 * doc/reST/presets.rst:
12581 rest: update fastdecode to mention no intra in B
12582 [10d5af0889aa]
12583
125842014-05-20 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
12585
12586 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
12587 asm: fix bug for invalid read in sa8d
12588
12589 fix invalid read when different stride value given for two input
12590 buffer and enabled 16x16 and 8x8 sa8d primitives.
12591 [0d2ec86fa28b]
12592
125932014-05-20 Steve Borho <steve@borho.org>
12594
12595 * source/common/param.cpp:
12596 param: tabs to spaces
12597 [a815df2b313f]
12598
125992014-05-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12600
12601 * source/common/param.cpp, source/x265.cpp:
12602 param: initialise crf-max and crf-min values in the param structure.
12603 [279f72586069]
12604
12605 * source/x265.cpp:
12606 help: removing the default QP value in the help message
12607
12608 Since CQP is not the default rate control mode, a default QP
12609 confuses readers.
12610 [2c722169215c]
12611
126122014-05-19 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12613
12614 * source/Lib/TLibEncoder/TEncSearch.cpp:
12615 fix : square chroma transform expected error message
12616 [d050fe5f8f28]
12617
126182014-05-18 Satoshi Nakagawa <nakagawa424@oki.com>
12619
12620 * source/Lib/TLibCommon/TComDataCU.cpp,
12621 source/Lib/TLibCommon/TComDataCU.h,
12622 source/Lib/TLibCommon/TComSlice.h,
12623 source/Lib/TLibEncoder/TEncCu.cpp,
12624 source/Lib/TLibEncoder/TEncSbac.cpp,
12625 source/Lib/TLibEncoder/TEncSearch.cpp,
12626 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
12627 refine merge related
12628 [b35a5d8f012b]
12629
126302014-05-16 Satoshi Nakagawa <nakagawa424@oki.com>
12631
12632 * source/Lib/TLibEncoder/TEncEntropy.cpp,
12633 source/Lib/TLibEncoder/TEncEntropy.h,
12634 source/Lib/TLibEncoder/TEncSbac.cpp,
12635 source/Lib/TLibEncoder/TEncSbac.h,
12636 source/Lib/TLibEncoder/TEncSearch.cpp:
12637 encodeCoeffNxN(): call only if non-zero coeff exists
12638 [ba2a9f61ea06]
12639
12640 * source/Lib/TLibCommon/TComDataCU.cpp,
12641 source/Lib/TLibCommon/TComDataCU.h,
12642 source/Lib/TLibEncoder/TEncCu.cpp,
12643 source/Lib/TLibEncoder/TEncEntropy.cpp,
12644 source/Lib/TLibEncoder/TEncEntropy.h,
12645 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
12646 cleanup unused arg
12647 [f9f132b3e36e]
12648
126492014-05-19 Steve Borho <steve@borho.org>
12650
12651 * source/Lib/TLibCommon/TComRdCost.h:
12652 psyrd: use EMMS before checking calcPsyRdCost
12653 [c78bed701db4]
12654
126552014-05-16 Steve Borho <steve@borho.org>
12656
12657 * source/Lib/TLibEncoder/TEncCu.cpp:
12658 psyrd: use actual recon pixels for intra predictions (bug spotted by
12659 valgrind)
12660 [f3f3eecd28f1]
12661
12662 * doc/reST/cli.rst:
12663 rest: improve --rd docs
12664 [4739c02a62c0]
12665
12666 * source/encoder/ratecontrol.cpp:
12667 ratecontrol: initialize singleFrameVbv (bug spotted by valgrind)
12668 [2d5dc4e63fb9]
12669
12670 * source/encoder/slicetype.cpp:
12671 slicetype: initialize bReady (bug spotted by valgrind)
12672 [8b6c5d7ff4c0]
12673
126742014-05-16 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12675
12676 * doc/reST/cli.rst, source/Lib/TLibEncoder/TEncCu.cpp,
12677 source/common/param.cpp, source/x265.cpp, source/x265.h:
12678 cli: introduce --[no]-b-intra which enables/disables intra modes in
12679 B frames
12680 [7d11f60c5dba]
12681
126822014-05-16 Steve Borho <steve@borho.org>
12683
12684 * source/Lib/TLibEncoder/TEncCu.cpp,
12685 source/Lib/TLibEncoder/TEncSearch.cpp:
12686 nits
12687 [0bd90aaaa3a7]
12688
12689 * source/CMakeLists.txt, source/Lib/TLibCommon/TComRdCost.h,
12690 source/common/common.h, source/encoder/CMakeLists.txt,
12691 source/encoder/encoder.cpp:
12692 common: make a global X265_LL macro for printing uint64_t
12693 [5167067ed452]
12694
12695 * source/Lib/TLibCommon/TComRdCost.h, source/common/primitives.h,
12696 source/common/x86/asm-primitives.cpp:
12697 psy-rd: add sad_square primitive array to optimize psy-rd
12698
12699 This fixes the DC component calculation at the same time making the
12700 calculation more efficient.
12701 [48af10fff12b]
12702
12703 * source/encoder/slicetype.cpp:
12704 slicetype: fix unintended assignment
12705 [7533425d5060]
12706
127072014-05-08 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
12708
12709 * doc/reST/cli.rst, source/CMakeLists.txt,
12710 source/Lib/TLibCommon/TComRdCost.h,
12711 source/Lib/TLibEncoder/TEncCu.cpp,
12712 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
12713 source/encoder/cturow.cpp, source/x265.cpp, source/x265.h:
12714 adapt psy-rd from x264
12715
12716 In this initial implementation, we only use sa8d to estimate the
12717 energy of the source and reconstructed blocks. psy-rd is disabled by
12718 default, to evaluate use
12719 --preset veryslow --psy-rd 1.0
12720 [d95ad61c8abc]
12721
127222014-05-15 Gopu Govindaswamy <Gopu Govindaswamy>
12723
12724 * source/encoder/slicetype.cpp:
12725 cutree: removed logLevel check from if loop
12726 [63f4a60cb268]
12727
12728 * source/encoder/slicetype.cpp:
12729 cutree: adjust the rowSatd with qpoffset only for reference frames
12730 [3212839ec987]
12731
127322014-05-15 Steve Borho <steve@borho.org>
12733
12734 * doc/reST/api.rst, source/encoder/api.cpp,
12735 source/encoder/encoder.cpp, source/x265.def.in, source/x265.h:
12736 api: introduce x265_encoder_parameters(), copy param earlier to
12737 avoid mods
12738
12739 in x265_encoder_open(), make a copy of the provided param structure
12740 much earlier to avoid making any changes to the param strucutre
12741 provided by the user, in case they want to use that same param again
12742 to allocate another encoder.
12743 [4da6be0eca52]
12744
12745 * source/common/param.cpp, source/x265.cpp:
12746 cli: remove default strings for preset and tune, modify default AQ
12747 mode to match
12748
12749 The cli has used --tune ssim as the default since we've had an ssim
12750 tune, but API users were getting the default aq-mode of 1 instead.
12751 This commit removes the default tune (and preset) strings and fixes
12752 the default param structure to match the previous CLI default
12753 behavior (aq-mode 2)
12754 [b03ef02dc2a2]
12755
12756 * source/common/common.h:
12757 checked: enable check macros in debug builds
12758 [a9c403e19928]
12759
12760 * source/common/common.h:
12761 check: disable MSVC warnings about constant conditionals with
12762 checked builds
12763 [bbc026370c52]
12764
12765 * source/Lib/TLibCommon/TComRdCost.h:
12766 check: fix MSVC warnings and check behavior
12767 [4fe655fb3f24]
12768
127692014-05-14 Steve Borho <steve@borho.org>
12770
12771 * source/Lib/TLibCommon/TComBitStream.cpp,
12772 source/Lib/TLibCommon/TComBitStream.h,
12773 source/Lib/TLibCommon/TComDataCU.cpp,
12774 source/Lib/TLibCommon/TComLoopFilter.cpp,
12775 source/Lib/TLibCommon/TComMotionInfo.cpp,
12776 source/Lib/TLibCommon/TComPrediction.cpp,
12777 source/Lib/TLibCommon/TComSlice.cpp,
12778 source/Lib/TLibCommon/TComSlice.h,
12779 source/Lib/TLibCommon/TComTrQuant.cpp,
12780 source/Lib/TLibCommon/TComTrQuant.h,
12781 source/Lib/TLibCommon/TComWeightPrediction.cpp,
12782 source/Lib/TLibCommon/TComYuv.cpp,
12783 source/Lib/TLibEncoder/SEIwrite.cpp,
12784 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
12785 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
12786 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
12787 source/Lib/TLibEncoder/TEncCu.cpp,
12788 source/Lib/TLibEncoder/TEncEntropy.cpp,
12789 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
12790 source/Lib/TLibEncoder/TEncSbac.cpp:
12791 check: another pile of assert->X265_CHECK conversions
12792 [d5b42a9fe43b]
12793
127942014-05-14 Satoshi Nakagawa <nakagawa424@oki.com>
12795
12796 * source/Lib/TLibEncoder/TEncCu.cpp,
12797 source/Lib/TLibEncoder/TEncSearch.cpp:
12798 cleanup clear()
12799 [890b34705c95]
12800
128012014-05-14 Steve Borho <steve@borho.org>
12802
12803 * source/Lib/TLibEncoder/TEncSearch.cpp:
12804 TEncSearch: remove unused (and shadowed) variable
12805 [8ae4d97f3913]
12806
12807 * source/Lib/TLibEncoder/TEncSbac.cpp,
12808 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/cpu.cpp,
12809 source/common/dct.cpp, source/common/piclist.cpp,
12810 source/common/pixel.cpp, source/common/primitives.h,
12811 source/common/threadpool.cpp, source/common/vec/dct-sse41.cpp,
12812 source/common/wavefront.cpp, source/encoder/compress.cpp,
12813 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
12814 source/encoder/framefilter.cpp, source/encoder/motion.cpp,
12815 source/output/y4m.cpp, source/output/yuv.cpp:
12816 checked: convert a pile of asserts() into optional runtime checks
12817 [190a21bd77a3]
12818
128192014-05-11 Satoshi Nakagawa <nakagawa424@oki.com>
12820
12821 * source/Lib/TLibEncoder/TEncSearch.cpp:
12822 fix 4:2:2 coeff rate calc
12823 [a4d0d5679c28]
12824
128252014-05-10 Satoshi Nakagawa <nakagawa424@oki.com>
12826
12827 * source/Lib/TLibCommon/CommonDef.h,
12828 source/Lib/TLibCommon/TComPattern.cpp,
12829 source/Lib/TLibCommon/TComPattern.h,
12830 source/Lib/TLibCommon/TComPrediction.cpp,
12831 source/Lib/TLibCommon/TComPrediction.h,
12832 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
12833 refine intra reference samples
12834 [e0a3b7e79d4d]
12835
128362014-05-12 Steve Borho <steve@borho.org>
12837
12838 * source/encoder/ratecontrol.cpp:
12839 ratecontrol: do not low-clip first I frame with ABR
12840 [4fe2705adb5b]
12841
128422014-05-09 Satoshi Nakagawa <nakagawa424@oki.com>
12843
12844 * source/Lib/TLibCommon/TComDataCU.cpp,
12845 source/Lib/TLibCommon/TComDataCU.h,
12846 source/Lib/TLibEncoder/TEncSbac.cpp,
12847 source/Lib/TLibEncoder/TEncSearch.cpp,
12848 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
12849 reduce xModeBitsIntra() call
12850 [dd1635326993]
12851
128522014-05-12 Steve Borho <steve@borho.org>
12853
12854 * doc/reST/api.rst:
12855 rest: fix typo
12856 [8b75aa2cc06d]
12857
128582014-05-11 Steve Borho <steve@borho.org>
12859
12860 * doc/reST/api.rst, doc/reST/cli.rst, doc/reST/index.rst,
12861 doc/reST/presets.rst:
12862 rest: add API docs with links to appropriate sections
12863 [e7f11c87d7db]
12864
128652014-05-10 Steve Borho <steve@borho.org>
12866
12867 * doc/reST/presets.rst:
12868 rest: add a note to the tune documentation about using --tune
12869 ssim/psnr
12870 [7985392f3e55]
12871
12872 * source/x265.h:
12873 api: even moar
12874 [deb01d38340c]
12875
12876 * source/x265.h:
12877 api: moar tpyo
12878 [bac6ad6472b6]
12879
12880 * source/x265.h:
12881 api: tpyo
12882 [c52aa51c82c7]
12883
12884 * source/x265.h:
12885 api: remove mention of x265_encoder_reconfig(), which doesn't yet
12886 exist
12887 [32e587a601db]
12888
12889 * source/x265.h:
12890 api: remove _t suffix from x265_param in comments
12891 [d70f0afba883]
12892
128932014-05-08 Satoshi Nakagawa <nakagawa424@oki.com>
12894
12895 * source/Lib/TLibCommon/TComDataCU.cpp,
12896 source/Lib/TLibEncoder/TEncSearch.cpp:
12897 reduce malloc call to avoid fragment and overhead
12898 [d0acf82a77f9]
12899
129002014-05-08 Steve Borho <steve@borho.org>
12901
12902 * source/Lib/TLibCommon/TComRdCost.h:
12903 rdcost: fix comments for lambda fix8 variables, refs b77ca886ef3b
12904 [129bfec3144f]
12905
129062014-05-09 Min Chen <chenm003@163.com>
12907
12908 * source/common/x86/intrapred8.asm:
12909 reduce code size on intra_pred_ang8_*
12910 [f7827ea458e9]
12911
129122014-05-08 Steve Borho <steve@borho.org>
12913
12914 * source/Lib/TLibCommon/TComPic.h:
12915 TComPic: nits
12916 [c665b4904e1f]
12917
12918 * doc/reST/cli.rst:
12919 rest: fix indent of min-crf
12920 [4a36a281e77c]
12921
12922 * doc/reST/cli.rst, source/x265.cpp:
12923 cli: expose param.bRepeatHeaders to the CLI, reorder help for more
12924 clarity
12925 [e50bd438514f]
12926
12927 * source/encoder/slicetype.cpp:
12928 slicetype: avoid implicit integer conversions, fix MSVC warning
12929
12930 intraCost is an int array, so there was no purpose to downcasting to
12931 uint16_t
12932 [c8ffacb54563]
12933
129342014-05-08 Aarthi Thirumalai <Aarthi Thirumalai>
12935
12936 * source/encoder/ratecontrol.cpp:
12937 rc: add minor changes in flow when singleFrameVbv, rateFactorMax
12938 values are set.
12939 [87524d63e543]
12940
12941 * source/encoder/ratecontrol.cpp:
12942 rc: update logic in clipQScale for vbv, when vbv lookahead is done,
12943 [96290a38459f]
12944
12945 * source/encoder/ratecontrol.cpp:
12946 rc: clamp qp for first I frame only in rateEstimateQscale (changes
12947 output)
12948 [5546cc82e1ce]
12949
129502014-05-08 Gopu Govindaswamy <Gopu Govindaswamy>
12951
12952 * source/encoder/ratecontrol.cpp:
12953 rc: qpvbv is between qpMin and prevRowQp when specifies the
12954 rfConstantMin
12955 [0a53062845be]
12956
129572014-05-08 Aarthi Thirumalai <Aarthi Thirumalai>
12958
12959 * source/encoder/slicetype.cpp:
12960 slicetype: update the lowresCosts and intraCosts when aq/cutree is
12961 enabled
12962 [59a43a5cc704]
12963
129642014-05-08 Kavitha Sampath <kavitha@multicorewareinc.com>
12965
12966 * source/encoder/encoder.cpp, source/encoder/encoder.h,
12967 source/encoder/frameencoder.cpp:
12968 SEI: enable generation of recovery point SEI message for keyframes
12969
12970 SEI recovery points are inserted for every keyframe which tells the
12971 decoder an identifier of the recovery point from which perfectly
12972 valid pictures can be displayed no matter what the starting point of
12973 decoding is. The SEI specifies recovery_poc_cnt that counts the
12974 number of frames after which perfect video can be displayed to the
12975 user. Pictures encoded after the CRA but precede it in display
12976 order(leading) are ignored by the decoder and pictures following CRA
12977 in POC order(trailing) do not reference pictures prior to the recent
12978 CRA and are guaranteed to be displayable. Hence recovery_poc_cnt is
12979 zero.
12980 [8e64aa56d635]
12981
129822014-05-08 Steve Borho <steve@borho.org>
12983
12984 * source/CMakeLists.txt:
12985 cmake: bump X265_BUILD for qpfile and crf-min
12986 [fdce542171cb]
12987
129882014-05-08 Gopu Govindaswamy <Gopu Govindaswamy>
12989
12990 * doc/reST/cli.rst, source/common/param.cpp,
12991 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
12992 source/encoder/ratecontrol.h, source/x265.cpp, source/x265.h:
12993 x265: implemented crf-min that specifies a minimum rate factor value
12994 for encode
12995 [6871636e99cb]
12996
129972014-05-07 Steve Borho <steve@borho.org>
12998
12999 * doc/reST/cli.rst:
13000 rest: document --qpfile
13001 [6494bb2e6425]
13002
130032014-05-07 Gopu Govindaswamy <Gopu Govindaswamy>
13004
13005 * source/Lib/TLibCommon/TComPic.h, source/encoder/api.cpp,
13006 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
13007 source/x265.cpp, source/x265.h:
13008 cli: added qpfile feature to force frame qp and slicetype using file
13009 [7773ee321539]
13010
130112014-05-06 Steve Borho <steve@borho.org>
13012
13013 * Merge with stable
13014 [8963bc3aa2e1]
13015
130162014-05-07 Tom Vaughan <tom.vaughan@multicorewareinc.com>
13017
13018 * doc/reST/presets.rst:
13019 presets.rst edited online with Bitbucket - Correct spelling
13020 [607384b3312e] <stable>
13021
130222014-05-05 Satoshi Nakagawa <nakagawa424@oki.com>
13023
13024 * source/Lib/TLibEncoder/TEncEntropy.cpp,
13025 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
13026 fix: residualQTIntrachroma() for 4:2:2
13027 [0e22bd1dfe6c]
13028
130292014-05-03 Satoshi Nakagawa <nakagawa424@oki.com>
13030
13031 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
13032 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
13033 source/encoder/compress.cpp:
13034 refine picture boundary check
13035
13036 - cleanup slice end check
13037 - fix split bits for TOPSKIP
13038 [8c07f39ef5c5]
13039
130402014-05-06 Steve Borho <steve@borho.org>
13041
13042 * source/common/param.cpp:
13043 log: remove hyphen from signhide, so it matches param name
13044
13045 This is just to avoid confusion
13046 [608267a4f634]
13047
13048 * Merge with stable
13049 [ec4917459326]
13050
13051 * doc/reST/index.rst, doc/reST/presets.rst:
13052 rest: add a page describing presets
13053 [110993a5ef10] <stable>
13054
130552014-05-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13056
13057 * source/encoder/ratecontrol.cpp:
13058 ratecontrol: remove repeat initialisations.
13059 [3974eafe528d]
13060
13061 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
13062 ratecontrol: remove RateControl->qpNoVbv.
13063
13064 Less confusion, and we have whatever info we need in rce->qpNoVbv
13065 anyway
13066 [5d9220ec8c81]
13067
13068 * source/encoder/ratecontrol.cpp:
13069 ratecontrol: avoid clipping QP multiple times when VBV is not
13070 enabled.
13071 [7d557d8819e9]
13072
130732014-05-06 Aarthi Thirumalai <Aarthi Thirumalai>
13074
13075 * source/encoder/slicetype.cpp:
13076 slicetype: avoid redundant call. intraSatd costs are updated in
13077 frameEncoder already
13078 [532c961b16f1]
13079
130802014-05-06 Gopu Govindaswamy <Gopu Govindaswamy>
13081
13082 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
13083 source/encoder/ratecontrol.cpp:
13084 log: add the RateFactor for each frame to the csv file when using
13085 --crf mode
13086 [94803b73ba8a]
13087
130882014-05-06 Steve Borho <steve@borho.org>
13089
13090 * source/Lib/TLibCommon/TComRdCost.h:
13091 check: add checks for integer overflow in rdcost functions
13092 [2577eb2cbd20]
13093
130942014-05-05 Steve Borho <steve@borho.org>
13095
13096 * source/CMakeLists.txt, source/common/common.h,
13097 source/common/version.cpp:
13098 cmake: add CHECKED_BUILD option so we can add optional runtime
13099 checking
13100 [5c590a31734b]
13101
13102 * .hgignore:
13103 ignore .DS_Store files (Mac pocket lint)
13104 [075705aa41a9]
13105
13106 * source/input/y4m.cpp, source/input/y4m.h:
13107 y4m: support variable bit depth via CXXXpDD Y4MPEG header; ie:
13108 C420p10
13109
13110 ffmpeg's support for this is non-standard, so you must use -strict
13111 -1, aka:
13112
13113 ffmpeg -i vid.avi -pix_fmt yuv420p10le -strict -1 -f yuv4mpegpipe -
13114 | ./x265 - --y4m o.hevc
13115
13116 closes issue #53
13117 [c4adcaef8d1d]
13118
131192014-05-04 Steve Borho <steve@borho.org>
13120
13121 * source/x265.cpp:
13122 cli: report input bit depth
13123 [5ca8717a3ec2]
13124
131252014-05-05 Steve Borho <steve@borho.org>
13126
13127 * doc/reST/introduction.rst:
13128 rest: update introduction page, add more detail about software
13129 patents
13130 [d0b17e3ef9db]
13131
131322014-05-03 Steve Borho <steve@borho.org>
13133
13134 * Merge with stable
13135 [dcf74ea39e31]
13136
13137 * source/Lib/TLibCommon/TComRdCost.h:
13138 rdcost: explicit cast of return value, to prevent MSVC warnings
13139 [04e91f38854f] <stable>
13140
131412014-05-01 Steve Borho <steve@borho.org>
13142
13143 * source/CMakeLists.txt, source/cmake/clean-generated.cmake:
13144 cmake: add a clean-generated Makefile rule
13145
13146 'make clean-generated' will remove all the machine generated files
13147 in the build folder so that they will be re-generated with more up-
13148 to-date version info the next time you run 'make'
13149
13150 The "easy" workaround for this problem is to just nuke the build
13151 folder and start a new one.
13152 [d72770a77ff8]
13153
13154 * source/input/y4m.cpp, source/input/yuv.cpp:
13155 use fseekg() to skip frames for 64bit builds
13156
13157 This is orders of magnitude faster, at least on Windows, than
13158 repeated calls to ignore(framesize)
13159 [61ad93af167c]
13160
131612014-05-02 Steve Borho <steve@borho.org>
13162
13163 * Merge with stable
13164 [81aad858a830]
13165
13166 * .hgtags:
13167 Added tag 1.0 for changeset cea97c4d7945
13168 [d3d47e3ef9c2] <stable>
13169
131702014-05-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13171
13172 * source/encoder/frameencoder.cpp:
13173 interlace: set sourceScanType to 0 to indicate interlaced video
13174 [cea97c4d7945] [1.0] <stable>
13175
131762014-05-02 Aarthi Thirumalai <Aarthi Thirumalai>
13177
13178 * source/Lib/TLibCommon/TComRom.cpp:
13179 fix g_chromaScale for 420 videos accordingly to the HEVC spec.
13180 [9b66012c93bb] <stable>
13181
131822014-05-02 Steve Borho <steve@borho.org>
13183
13184 * source/Lib/TLibCommon/TComRdCost.h:
13185 rdcost: use less fractional bits for lambda scale, and larger ints
13186 for chroma
13187
13188 This fixes really bad mode decisions made with some Main10 encodes
13189 that were apparently caused by integer overflow
13190 [b77ca886ef3b] <stable>
13191
131922014-05-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13193
13194 * source/encoder/frameencoder.cpp:
13195 interlace: set sourceScanType to 0 to indicate interlaced video
13196 [f3585fd81c3b]
13197
131982014-05-01 Steve Borho <steve@borho.org>
13199
13200 * Merge with stable
13201 [22eda589d8ca]
13202
13203 * source/encoder/slicetype.cpp:
13204 slicetype: pre-calculate cost estimates for B slices, simplify
13205 callback
13206
13207 rate control was always calling back for B slice estimates but since
13208 we were only pre-calculating them if VBV was enabled we were forced
13209 to make the estimates at that time (withing the context of the API
13210 thread).
13211
13212 With this patch, we estimate B costs unless CQP is in use, and this
13213 allows us to simplify getEstimatedPictureCost()
13214 [1ed0bd2dbfd1]
13215
132162014-04-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13217
13218 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
13219 source/Lib/TLibCommon/TComYuv.h, source/common/shortyuv.h,
13220 source/encoder/encoder.cpp:
13221 fix WP issue for 422 and 444 format
13222 [20551ab7ff00] <stable>
13223
132242014-04-29 Steve Borho <steve@borho.org>
13225
13226 * doc/reST/cli.rst, doc/reST/index.rst, doc/reST/threading.rst:
13227 rest: initial documentation for threading details and considerations
13228 [6d83eaf6cf24] <stable>
13229
13230 * source/encoder/encoder.cpp:
13231 csv: always write summary info if file handle is open
13232
13233 fixes behavior of --csv FILE --log full
13234 [148c3b9c11fd] <stable>
13235
13236 * Merge with default (code freeze for 1.0)
13237 [c6ca14a4f2fa] <stable>
13238
13239 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/TComDataCU.cpp,
13240 source/Lib/TLibCommon/TComDataCU.h,
13241 source/Lib/TLibCommon/TComLoopFilter.cpp,
13242 source/Lib/TLibCommon/TComMotionInfo.h,
13243 source/Lib/TLibCommon/TComPattern.cpp,
13244 source/Lib/TLibCommon/TComPic.cpp,
13245 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
13246 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
13247 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
13248 source/Lib/TLibCommon/TComTrQuant.cpp,
13249 source/Lib/TLibCommon/TComTrQuant.h,
13250 source/Lib/TLibCommon/TComWeightPrediction.cpp,
13251 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
13252 source/Lib/TLibEncoder/TEncCu.cpp,
13253 source/Lib/TLibEncoder/TEncEntropy.h,
13254 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
13255 source/Lib/TLibEncoder/TEncSbac.cpp,
13256 source/Lib/TLibEncoder/TEncSbac.h,
13257 source/Lib/TLibEncoder/TEncSearch.cpp,
13258 source/Lib/TLibEncoder/TEncSearch.h, source/common/bitstream.h,
13259 source/common/common.cpp, source/common/common.h,
13260 source/common/loopfilter.cpp, source/common/param.cpp,
13261 source/common/param.h, source/common/pixel.cpp,
13262 source/common/primitives.h, source/common/shortyuv.cpp,
13263 source/common/shortyuv.h, source/common/threading.h,
13264 source/common/wavefront.cpp, source/common/winxp.cpp,
13265 source/common/winxp.h, source/common/x86/asm-primitives.cpp,
13266 source/common/x86/blockcopy8.h, source/common/x86/ipfilter8.h,
13267 source/encoder/compress.cpp, source/encoder/cturow.cpp,
13268 source/encoder/encoder.cpp, source/encoder/encoder.h,
13269 source/encoder/frameencoder.cpp, source/encoder/level.cpp,
13270 source/encoder/level.h, source/encoder/ratecontrol.cpp,
13271 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
13272 source/encoder/weightPrediction.cpp, source/filters/filters.cpp,
13273 source/input/y4m.cpp, source/input/yuv.cpp,
13274 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
13275 source/test/pixelharness.cpp, source/test/pixelharness.h,
13276 source/test/testharness.h, source/x265.cpp, source/x265.h:
13277 uncrustify - enforce coding style mechanically
13278 [a25fb61a7326]
13279
13280 * source/encoder/slicetype.cpp:
13281 slicetype: nit
13282 [e6ba3c2320e8]
13283
132842014-04-28 Steve Borho <steve@borho.org>
13285
13286 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
13287 TComRom: hard-code the lambda tables
13288 [4f7658b3c78a]
13289
132902014-04-28 Aarthi Thirumalai <Aarthi Thirumalai>
13291
13292 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp,
13293 source/encoder/slicetype.h:
13294 remove list data from lowres costs prior to use
13295 [84d31cb2aeab]
13296
13297 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
13298 fix g_chromaScale to be full length
13299 [6e233b6777c0]
13300
133012014-04-25 Satoshi Nakagawa <nakagawa424@oki.com>
13302
13303 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
13304 fix: 4:2:2 rdLevel <= 1
13305 [f799f8079b87]
13306
133072014-04-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13308
13309 * source/Lib/TLibCommon/TComLoopFilter.cpp:
13310 fix hash mismatch for 422 format with HM 14.0_RExt decoder
13311 [56b1d4a44798]
13312
133132014-04-27 Steve Borho <steve@borho.org>
13314
13315 * source/encoder/slicetype.cpp:
13316 slicetype: remove unused auto var
13317 [36e53135da57]
13318
13319 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
13320 slicetype: rename rowsCompleted to bFrameCompleted
13321
13322 one would expect rowsCompleted to be a counter, when in fact it is a
13323 bool value signaling completion of the whole frame.
13324 [563273f5772f]
13325
133262014-04-27 Aarthi Thirumalai <Aarthi Thirumalai>
13327
13328 * source/encoder/slicetype.cpp:
13329 slicetype: fix incorrect initialization of fenc->rowSatds when wpp
13330 is enabled.
13331 [c8bff937eee0]
13332
133332014-04-27 Steve Borho <steve@borho.org>
13334
13335 * source/common/x86/mc-a.asm, source/encoder/slicetype.cpp,
13336 source/test/checkasm-a.asm, source/test/testharness.h:
13337 asm: adjust x264_ prefixes
13338 [e519b32b70d0]
13339
133402014-04-25 Min Chen <chenm003@163.com>
13341
13342 * source/test/checkasm-a.asm, source/test/pixelharness.cpp,
13343 source/test/testharness.h:
13344 testbench: support float ret value
13345 [7baf8b8ecfdc]
13346
13347 * source/common/x86/intrapred8.asm:
13348 correct register num in intrapred8.asm
13349 [52d812d0fc48]
13350
13351 * source/common/x86/pixel-util8.asm:
13352 fix pixel_ssim_end4, the 3rd is dword
13353 [2900e858e30a]
13354
133552014-04-24 Steve Borho <steve@borho.org>
13356
13357 * source/test/pixelharness.cpp:
13358 pixelharness: stack-check ssim_end4_t, this seems to expose an
13359 argument read bug
13360 [c630b0b393ee]
13361
13362 * source/common/x86/ipfilter8.asm:
13363 ipfilter: fix register stack allocation in luma horizontal filter
13364 [4a91c42d2a72]
13365
13366 * source/test/mbdstharness.cpp:
13367 dct: fix MSVC warnings
13368 [10de7b0a228c]
13369
13370 * source/common/intrapred.cpp, source/common/primitives.h,
13371 source/common/x86/intrapred.h:
13372 primitives: pass bool value as int to assembly
13373
13374 bool type is too ambiguous
13375 [cdbcd835b849]
13376
13377 * doc/reST/cli.rst:
13378 rest: move quality metrics section up higher
13379 [fcad3bb9943d]
13380
13381 * doc/reST/cli.rst:
13382 rest: move --repeat-headers to bitstream options section
13383 [afec492ea679]
13384
13385 * doc/reST/cli.rst:
13386 rest: loop filters, plural
13387 [6f259296bfe1]
13388
13389 * doc/reST/cli.rst:
13390 rest: move --hash into bitream options section, document error-
13391 recovery aspects
13392 [1662240073e2]
13393
13394 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
13395 dct: stack-check asm transform/quant primitives
13396 [06be236c9ece]
13397
13398 * source/test/ipfilterharness.cpp:
13399 ipfilter: remove utterly useless comments
13400 [17dd496b46ee]
13401
13402 * source/test/ipfilterharness.cpp:
13403 ipfilter: stack-check asm filter primitives
13404 [a61ceb6f80c2]
13405
13406 * source/test/intrapredharness.cpp:
13407 intrapred: stack-check asm intra primitives
13408
13409 prune some extra memsets that were used during development
13410 [a332c6667dc9]
13411
134122014-04-24 Min Chen <chenm003@163.com>
13413
13414 * source/common/x86/pixel-a.asm:
13415 correct register number in pixel-a.asm
13416 [791790391fb6]
13417
134182014-04-24 Steve Borho <steve@borho.org>
13419
13420 * source/Lib/TLibCommon/TComMotionInfo.h:
13421 TComMotionInfo: nit
13422 [e9f64036fbee]
13423
13424 * source/test/CMakeLists.txt, source/test/pixelharness.cpp:
13425 fixups for testbench build on Windows
13426 [904b96e1c436]
13427
134282014-04-17 Steve Borho <steve@borho.org>
13429
13430 * source/cmake/CMakeASM_YASMInformation.cmake, source/common/common.h,
13431 source/common/threading.cpp:
13432 align the stack for GCC x86_32 builds
13433
13434 For all threads x265 creates, align the stack immediately in the
13435 call to threadMain().
13436
13437 The API calls do not appear to require an aligned stack; all
13438 primitives that require stack aligned buffers are called from frame
13439 encoder or worker pool threads
13440 [4c341edb4cf8]
13441
134422014-04-24 Steve Borho <steve@borho.org>
13443
13444 * source/common/CMakeLists.txt, source/common/x86/checkasm-a.asm,
13445 source/test/CMakeLists.txt, source/test/checkasm-a.asm:
13446 move checkasm-a.asm to the test/ folder (fixes linux link)
13447 [6dca7a1de7f7]
13448
134492014-04-23 Steve Borho <steve@borho.org>
13450
13451 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake,
13452 source/common/CMakeLists.txt:
13453 cmake: export YASM_FLAGS from CMakeASM_YASMInformation.cmake
13454
13455 This avoids duplicate logic in other cmake scripts
13456 [c24c7b2d0eff]
13457
134582014-04-23 Min Chen <chenm003@163.com>
13459
13460 * source/common/x86/blockcopy8.asm:
13461 improve by LEA to ADD in cvt32to16_shr
13462 [f8b68aa1877d]
13463
134642014-04-23 Steve Borho <steve@borho.org>
13465
13466 * source/common/primitives.h:
13467 primitives: nit
13468 [1c9b3a48ea13]
13469
134702014-04-23 Min Chen <chenm003@163.com>
13471
13472 * source/common/x86/x86inc.asm:
13473 update x86inc.asm
13474 [cdd79be8cff9]
13475
13476 * source/test/pixelharness.cpp:
13477 pixelharness: stack-check all asm pixel primitives
13478 [56a1c114d3be]
13479
13480 * source/common/CMakeLists.txt, source/common/x86/checkasm-a.asm,
13481 source/test/testharness.h:
13482 testbench: port x264 stack & register check code
13483 [91685d4e6c1a]
13484
134852014-04-23 Steve Borho <steve@borho.org>
13486
13487 * source/common/threadpool.cpp:
13488 threadpool: increase reference count if pool was allocated while
13489 blocked
13490 [ea597d46f30e]
13491
134922014-04-23 Min Chen <chenm003@163.com>
13493
13494 * source/common/x86/asm-primitives.cpp,
13495 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.h:
13496 fix wrong cpu type on interp_4tap_vert_x_4x2
13497 [aa8442a28aa4]
13498
134992014-04-22 Steve Borho <steve@borho.org>
13500
13501 * source/common/x86/x86inc.asm:
13502 Backed out changeset: ce11d3617899
13503 [53712f218a1a]
13504
13505 * source/CMakeLists.txt:
13506 cmake: do not prefix absolute library paths with -l in pc file
13507
13508 fixes static linking on Mac OS X in particular
13509 [d11c90310c8a]
13510
135112014-04-22 Gopu Govindaswamy <Gopu Govindaswamy>
13512
13513 * source/common/pixel.cpp, source/common/primitives.h,
13514 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
13515 pixel: Added C Primitives for estimateCUPropagateCost and removed
13516 from lookahead
13517 [4ed2953f358e]
13518
135192014-04-22 Murugan Vairavel <murugan@multicorewareinc.com>
13520
13521 * source/test/pixelharness.cpp:
13522 testbench: ensure randomly generated width and height are >= 16
13523
13524 Fixes a crash in testbench caused by upshift and downshift when
13525 height equal to 1
13526 [d916025046f7]
13527
135282014-04-22 Min Chen <chenm003@163.com>
13529
13530 * source/common/x86/x86inc.asm:
13531 update x86inc.asm
13532 [ce11d3617899]
13533
135342014-04-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13535
13536 * source/Lib/TLibEncoder/TEncSearch.cpp:
13537 me: backout previous patch; add 1 to account for temporal MV
13538 candidate
13539 [7ff92e09900e]
13540
13541 * source/Lib/TLibEncoder/TEncSearch.cpp:
13542 me: stack allocated pointer moved to heap
13543 [54e73d05a5b1]
13544
135452014-04-21 Steve Borho <steve@borho.org>
13546
13547 * source/encoder/slicetype.h:
13548 slicetype: rowsCompleted variable should be volatile
13549
13550 Don't allow a compiler to optimize out the reads, it would cause a
13551 deadlock
13552 [84315557c97f]
13553
13554 * source/common/param.cpp:
13555 log: do not report weightb twice
13556 [5f49217b2489]
13557
135582014-04-22 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
13559
13560 * source/x265.cpp:
13561 cli: fix bitrate output when encoding
13562 [3acc99098339]
13563
135642014-04-21 Steve Borho <steve@borho.org>
13565
13566 * doc/reST/cli.rst:
13567 rest: improve VUI docs
13568 [8c1e721209f4]
13569
13570 * doc/reST/cli.rst:
13571 rest: remove redundant `in`
13572 [f625e0cba6d6]
13573
13574 * doc/reST/cli.rst:
13575 rest: improve description of constrained intra
13576 [c1b4a55fbb10]
13577
13578 * doc/reST/cli.rst:
13579 rest: update --qp docs to mention behavior of --qp 0
13580 [cbdce05c6959]
13581
135822014-04-21 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13583
13584 * source/Lib/TLibCommon/TComYuv.cpp,
13585 source/Lib/TLibEncoder/TEncSearch.cpp:
13586 fix preset placebo option crash for 444 color format
13587 [a30c81796c22]
13588
135892014-04-12 Steve Borho <steve@borho.org>
13590
13591 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
13592 source/encoder/slicetype.h:
13593 slicetype: use a worker thread for slicetypeDecide when it may help
13594 (closes #17)
13595
13596 If slicetype/scenecut analysis is enabled and the user has a thread
13597 pool of at least 4 threads, use a worker thread to run
13598 slicetypeDecide.
13599
13600 Improves performance in presets that were bottlenecked by b-adapt 2
13601 style lookahead complexity.
13602 [c7f3b7487f60]
13603
136042014-03-27 Steve Borho <steve@borho.org>
13605
13606 * source/Lib/TLibCommon/TComRdCost.h,
13607 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
13608 source/Lib/TLibEncoder/TEncSearch.cpp,
13609 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/bitcost.cpp,
13610 source/encoder/frameencoder.cpp, source/encoder/slicetype.h,
13611 source/encoder/weightPrediction.cpp:
13612 adapt x264 style lambda tables [CHANGES OUTPUTS]
13613
13614 initLambda() in TComRom.cpp is passed the scale factor that is used
13615 to adjust lambda2 values. It uses 0.85 right now, which is similar
13616 to x264's value (0.9), and seems to be optimal for HEVC based on our
13617 tests.
13618
13619 These lambda tables seem to help most at low QPs, allowing the
13620 encoder to get nearly lossless quality at high bitrates.
13621 [a4ae35d04777]
13622
136232014-04-17 Steve Borho <steve@borho.org>
13624
13625 * source/Lib/TLibCommon/TComDataCU.cpp:
13626 TComDataCU: nits, assume sizeof(char) == sizeof(uint8_t)
13627
13628 cleanup white-space and hungarian prefixes
13629 [e45e5ca4608e]
13630
13631 * source/Lib/TLibCommon/TComDataCU.cpp,
13632 source/Lib/TLibCommon/TComDataCU.h,
13633 source/Lib/TLibEncoder/TEncSearch.cpp:
13634 me: build a larger list of motion candidates for ME (closes #14)
13635 [fdccd5524ff7]
13636
136372014-04-21 Min Chen <chenm003@163.com>
13638
13639 * source/common/x86/blockcopy8.asm:
13640 fix asm cvt32to16_s wrong XMM register number
13641 [ccfd0819b5c3]
13642
136432014-04-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13644
13645 * source/Lib/TLibCommon/TComDataCU.cpp:
13646 TComDataCU: initCU was missing this initialisation, possible causing
13647 errors in row restarts.
13648 [e6e78f2fb192]
13649
136502014-04-17 Steve Borho <steve@borho.org>
13651
13652 * source/encoder/ratecontrol.h:
13653 rc: remove unused keyFrameInterval
13654 [78c1f43f12f5]
13655
13656 * source/encoder/ratecontrol.cpp:
13657 rc: if --qp 0 is specified, use zero quant for all slice types
13658
13659 This is not the same as lossless. For true lossless we must enable
13660 transform skip in the PPS and force all blocks to be coded with
13661 transform skip enabled.
13662 [07156a0e74e5]
13663
136642014-04-16 Steve Borho <steve@borho.org>
13665
13666 * source/common/threadpool.cpp:
13667 threadpool: use a mutex to protect pool allocation
13668
13669 We only want to allow one thread to create the singleton thread
13670 pool. Rename the static instance variable to s_instance as per our
13671 coding style
13672 [85c95672ccf0]
13673
13674 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
13675 Merge with stable
13676 [2fc309678785]
13677
136782014-04-03 Gopu Govindaswamy <Gopu Govindaswamy>
13679
13680 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
13681 source/encoder/frameencoder.h:
13682 frameencoder: store the reference state of the picture in
13683 FrameEncoder
13684
13685 We find that reference state of the reference frame changed during
13686 the encode when we use frame-thread > 1 this cause the CU level QP
13687 for the frame is non-deterministic, this is leading the non-
13688 deterministic encoded output for the frame, to avoid this store the
13689 reference state of the frame to FrameEncoder->m_isReferenced and
13690 when the QP is calculate for CU, refer the reference state of the
13691 frame from FrameEncoder->m_isReferenced this stat will never change
13692 during the encode
13693
13694 Moved slice reference state initialization from dpb to FrameEncoder
13695 initSlice()
13696 [aacd6919d173] <stable>
13697
136982014-04-16 Min Chen <chenm003@163.com>
13699
13700 * source/common/x86/dct8.asm:
13701 align DCT8's stack to 64-bytes to avoid crash and improve cache
13702 performance
13703 [024ca523052f]
13704
137052014-04-16 Steve Borho <steve@borho.org>
13706
13707 * source/Lib/TLibCommon/TComSlice.cpp:
13708 TComSlice: initialize m_vps pointer
13709 [818a591c3a6e]
13710
13711 * source/encoder/frameencoder.cpp:
13712 encoder: singleton m_vps nits
13713 [7fd1df6f4db8]
13714
13715 * source/cmake/CMakeASM_YASMInformation.cmake:
13716 cmake: nit
13717 [41ef5053e04c]
13718
13719 * source/encoder/frameencoder.cpp:
13720 Merge with stable
13721 [436c63dd2d24]
13722
137232014-04-03 Steve Borho <steve@borho.org>
13724
13725 * source/encoder/frameencoder.cpp:
13726 frameencoder: use m_isReferenced when configuring SAO in
13727 compressFrame()
13728
13729 In some pessimal situations, the slice's reference state could even
13730 be changed by the time compressFrame() starts. This prevents any
13731 race hazard.
13732 [5746582ff4a6] <stable>
13733
137342014-04-15 Aarthi Thirumalai <Aarthi Thirumalai>
13735
13736 * source/encoder/frameencoder.cpp:
13737 vbv: clear row diagonal and cu SATD costs after vbv row reset was
13738 triggered
13739
13740 refs #45
13741 [03525a77d640] <stable>
13742
137432014-04-16 Steve Borho <steve@borho.org>
13744
13745 * source/cmake/CMakeASM_YASMInformation.cmake:
13746 cmake: use HAVE_ALIGNED_STACK=0 for x86_32 builds, even for GCC
13747
13748 In order to enable HAVE_ALIGNED_STACK for 32bit builds, we would
13749 need to align our stack internally at all thread entry points and
13750 all API entry points that might use primitives. 32bit performance is
13751 not a high priority for us at the moment.
13752
13753 This fixes a number of reported crashes on 32bit builds
13754 [cfb1bb58d4fe] <stable>
13755
13756 * source/encoder/motion.cpp:
13757 motion: always include the mvcost returned by motionEstimate
13758 [CHANGES OUTPUTS]
13759
13760 This was a rather subtle bug that has been in the code base for some
13761 time. The caller of motionEstimate() will often want to remove the
13762 mvcost from the returned cost value, and in this circumstance it
13763 would go negative, and since the returned value is unsigned it
13764 became very large, causing the encoder to actually discard a zero-
13765 residual match.
13766
13767 If the stars were perfectly aligned and all of the reference ME
13768 costs became exactly -1, *all* possible ME candidates were discarded
13769 which could lead to crashes.
13770 [bf40ab3af59a] <stable>
13771
137722014-04-16 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13773
13774 * source/Lib/TLibCommon/TComYuv.cpp, source/common/ipfilter.cpp,
13775 source/common/pixel.cpp, source/common/primitives.h,
13776 source/common/shortyuv.cpp:
13777 fix compile warning in pixel.cpp for 422 primitive setup
13778 [24e8bac645a3]
13779
137802014-04-15 Steve Borho <steve@borho.org>
13781
13782 * source/x265.cpp:
13783 cli: help nits (closes #47)
13784 [0b696c7f46f2]
13785
137862014-04-15 Aarthi Thirumalai <Aarthi Thirumalai>
13787
13788 * source/encoder/frameencoder.cpp:
13789 vbv: clear row diagonal and cu SATD costs after vbv row reset was
13790 triggered
13791
13792 refs #45
13793 [166e4d6e819e]
13794
137952014-04-15 Satoshi Nakagawa <nakagawa424@oki.com>
13796
13797 * source/Lib/TLibEncoder/TEncSearch.cpp:
13798 fix: rdLevel <= 1
13799 [9735b037b461]
13800
138012014-04-14 Steve Borho <steve@borho.org>
13802
13803 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
13804 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
13805 vui: emit VUI w/ timing info unconditionally, remove timing info
13806 from VPS
13807
13808 Since many tools seem to only look in the VUI for timing info, it
13809 seems to be best to output that info there, and remove it from the
13810 VPS (to avoid sending redundant data in our headers)
13811 [8ebadea05bfe]
13812
138132014-04-15 Satoshi Nakagawa <nakagawa424@oki.com>
13814
13815 * source/Lib/TLibCommon/TComPattern.cpp:
13816 fix: constrained intra
13817 [0a95a6bb0f8e]
13818
138192014-04-14 Steve Borho <steve@borho.org>
13820
13821 * source/encoder/ratecontrol.cpp:
13822 ratecontrol: fix indentations
13823 [1cf67a7b362d]
13824
13825 * source/common/pixel.cpp:
13826 pixel: remove out-of-range chroma copy function assignments
13827 [08d64a70594e]
13828
13829 * source/Lib/TLibCommon/TComDataCU.cpp:
13830 TComDataCU: white-space nits
13831 [488b81a7f1c6]
13832
13833 * source/common/param.cpp:
13834 param: reintroduce range checks of internalCsp
13835 [e62e96cf506d]
13836
13837 * doc/reST/cli.rst:
13838 rest: update colorspace docs
13839 [b89d85f10bc4]
13840
138412014-04-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13842
13843 * source/encoder/encoder.cpp:
13844 encoder: nits
13845 [9f0f011294bd]
13846
13847 * source/encoder/encoder.cpp:
13848 encoder: weightP not supported yet for 444 and 422.
13849 [6d4f0673c386]
13850
13851 * source/x265.cpp:
13852 x265: adding support for i422 in the help command
13853 [ae8f99512774]
13854
138552014-04-12 ashok <ashok@multicorewareinc.com>
13856
13857 * source/Lib/TLibCommon/TComDataCU.cpp,
13858 source/Lib/TLibCommon/TComDataCU.h, source/common/ipfilter.cpp,
13859 source/common/param.cpp, source/common/pixel.cpp,
13860 source/encoder/ratecontrol.cpp, source/x265.cpp:
13861 Modify TComDataCU structure to support 422 color space format
13862 [3a9c1fc2b742]
13863
13864 * source/Lib/TLibCommon/TComLoopFilter.cpp,
13865 source/Lib/TLibCommon/TComPattern.h:
13866 Modify TComLoopFilter structure to support 422 color space format
13867 [74ab24517d0e]
13868
13869 * source/Lib/TLibCommon/TComPattern.cpp,
13870 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
13871 Modify TComRom and TComPattern structure to support 422 color space
13872 format
13873 [abf05dab1844]
13874
13875 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
13876 source/Lib/TLibCommon/TypeDef.h, source/common/shortyuv.cpp,
13877 source/common/shortyuv.h:
13878 Modify TComYuv and TShortYuv structure to support 422 color space
13879 format
13880 [ff3892c00318]
13881
13882 * source/Lib/TLibEncoder/TEncEntropy.cpp,
13883 source/Lib/TLibEncoder/TEncEntropy.h,
13884 source/Lib/TLibEncoder/TEncSbac.cpp:
13885 Modify TEncSbac and TEncEntropy structure to support 422 color space
13886 format
13887 [aa0c458ede27]
13888
13889 * source/Lib/TLibEncoder/TEncSbac.h,
13890 source/Lib/TLibEncoder/TEncSearch.cpp,
13891 source/Lib/TLibEncoder/TEncSearch.h:
13892 Modify TEncSearch structure to support 422 color space format
13893 [0454675dbaf7]
13894
138952014-04-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13896
13897 * source/encoder/ratecontrol.cpp:
13898 ratecontrol: Fix initial I-slice QP for 10-bit CRF mode.
13899 [a622c4bfc688]
13900
139012014-04-11 Steve Borho <steve@borho.org>
13902
13903 * source/common/winxp.cpp, source/common/winxp.h:
13904 xp: fix build with XP headers
13905 [483e5077a6b7]
13906
13907 * source/CMakeLists.txt:
13908 cmake: allow icpc to use vectorization if it likes
13909 [850ebca2f7c8]
13910
139112014-04-09 Satoshi Nakagawa <nakagawa424@oki.com>
13912
13913 * source/Lib/TLibCommon/TComDataCU.cpp,
13914 source/Lib/TLibCommon/TComPattern.cpp,
13915 source/Lib/TLibCommon/TComPattern.h:
13916 cip: add is*AvailableCIP()
13917
13918 simplify no CIP case.
13919 [13fa6d4d4fe4]
13920
139212014-04-11 Steve Borho <steve@borho.org>
13922
13923 * source/Lib/TLibCommon/TComTrQuant.cpp:
13924 TComTrQuant: nits
13925 [a5aa9e730323]
13926
13927 * source/Lib/TLibCommon/TComTrQuant.cpp:
13928 TComTrQuant: comparing >=0 of unsigned variable is always true
13929 [85f977830d9d]
13930
139312014-04-10 Murugan Vairavel <murugan@multicorewareinc.com>
13932
13933 * source/common/x86/asm-primitives.cpp:
13934 asm-primitives: Enable missing XOP primitives in HIGH_BIT_DEPTH
13935 [bd5e59fc917d]
13936
13937 * source/common/x86/x86util.asm:
13938 asm: HADDD optimization for XOP
13939 [78ab76f203a9]
13940
139412014-04-08 Aarthi Thirumalai <Aarthi Thirumalai>
13942
13943 * source/encoder/ratecontrol.cpp:
13944 vbv: log frame-average QPs for VBV; even when AQ is disabled.
13945 [55981f89b398]
13946
139472014-04-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13948
13949 * source/encoder/ratecontrol.cpp:
13950 ratecontrol: prevent one layer of non-zero I-slice qp clipping
13951 [CHANGES OUTPUT].
13952
13953 This seems to have been an error importing RC code from x264. It
13954 could be responsible for error reports on I-slices (after POC 0)
13955 having much higher QP/low visual quality. Needs review.
13956 [1c0f1a4ce209]
13957
13958 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
13959 ratecontrol: rename reInit to init. This method is called in the
13960 constructor and when ABR history is reset.
13961 [83ccf2f1453f]
13962
139632014-04-09 Steve Borho <steve@borho.org>
13964
13965 * source/encoder/level.cpp:
13966 level: fix MinGW warning
13967 [51c627e235bc]
13968
139692014-04-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13970
13971 * source/Lib/TLibCommon/CommonDef.h, source/encoder/ratecontrol.cpp,
13972 source/encoder/ratecontrol.h:
13973 ratecontrol: cleanup, replace (unnecessary) constant arrays with
13974 constants.
13975 [db15b6bee7f4]
13976
139772014-04-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13978
13979 * source/encoder/ratecontrol.cpp:
13980 ratecontrol: more dead code removed
13981 [e2df2309e6f1]
13982
139832014-04-09 Steve Borho <steve@borho.org>
13984
13985 * source/encoder/level.cpp:
13986 level: fix MSVC compile error, give sqrt() argument unambiguous data
13987 type
13988 [bd987db26d5d]
13989
139902014-04-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13991
13992 * source/encoder/ratecontrol.cpp:
13993 ratecontrol: partial backout of 6284b30a0fdd, get rid of debugging
13994 notes.
13995 [bdca492dc1d7]
13996
13997 * source/encoder/level.cpp:
13998 level: remove conditional expression warning
13999 [7f62dfabe319]
14000
14001 * source/encoder/ratecontrol.cpp:
14002 ratecontrol: remove dead code
14003
14004 Imported from x264; likely a part of 2-pass. In any case, not
14005 relevant here.
14006 [6284b30a0fdd]
14007
140082014-04-07 Steve Borho <steve@borho.org>
14009
14010 * source/x265.rc.in:
14011 rc: update the default build output filename for our DLL
14012 [15471ecb08d8]
14013
14014 * source/common/common.cpp, source/common/common.h,
14015 source/encoder/CMakeLists.txt, source/encoder/api.cpp,
14016 source/encoder/encoder.cpp, source/encoder/encoder.h,
14017 source/encoder/level.cpp, source/encoder/level.h:
14018 level: move decoder level logic to level.cpp, make table based
14019
14020 the new function enforces more limits defined in Annex A - widths
14021 and heights are capped to avoid extreme rectangular dimensions DPB
14022 size is limited based on resolution at higher resolutions, the min
14023 CTU size is 32
14024
14025 this commit also lays the groundwork for adding --level 5.1 --tier
14026 HIGH params
14027 [23b509a26449]
14028
140292014-04-08 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14030
14031 * source/Lib/TLibCommon/TComPic.cpp:
14032 TComPic: change pointer initial values to NULL (instead of 0).
14033 [b5caca9954f3]
14034
140352014-04-07 Satoshi Nakagawa <nakagawa424@oki.com>
14036
14037 * source/Lib/TLibEncoder/TEncCu.cpp,
14038 source/Lib/TLibEncoder/TEncEntropy.cpp,
14039 source/Lib/TLibEncoder/TEncEntropy.h,
14040 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
14041 TEncEntropy: cleanup bRD arg, fix 4:4:4 intra chroma rate [OUTPUT
14042 CHANGE 4:4:4]
14043 [aec57ffb18de]
14044
140452014-04-06 Rafaël Carré <Rafaël Carré>
14046
14047 * source/common/CMakeLists.txt, source/common/param.cpp:
14048 strtok_r: fix detection on Windows
14049
14050 * Make sure HAVE_STRTOK_R is always defined, to 0 if absent
14051 * Fix typo in #if
14052 * mingw-w64's pthread.h #defines strtok_r, make sure to undef it
14053 before we use our own definition.
14054 [a4cb624267f3]
14055
140562014-04-05 Steve Borho <steve@borho.org>
14057
14058 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
14059 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
14060 api: drop param.vui.bEnableVuiParametersPresentFlag and
14061 bEnableAspectRatioIdc
14062
14063 These two params can be implied from other parameters, and having
14064 them present only makes the VUI configuration more complicated than
14065 it needs to be.
14066
14067 This commit also drops the debugging --vui CLI option
14068 [c1300ae4e7ba]
14069
140702014-04-04 Steve Borho <steve@borho.org>
14071
14072 * doc/reST/cli.rst:
14073 rest: we don't abbreviate integer anywhere else
14074 [ac1bcf04c144]
14075
14076 * doc/reST/cli.rst:
14077 rest: fix the straw-man
14078
14079 The two-argument command line doesn't work for YUV since you need to
14080 provide the resolution and frame rate
14081 [aa1a86a1bd35]
14082
14083 * source/common/param.cpp:
14084 param: force bRepeatHeaders for the still picture profile
14085 [4bb0073e3d15]
14086
14087 * source/encoder/api.cpp, source/x265.cpp:
14088 log: move logging of version and build info into libx265
14089
14090 Now this data will be reported in the logs even when x265 is used as
14091 a shared or static library
14092 [9f77f0228735]
14093
140942014-04-03 Steve Borho <steve@borho.org>
14095
14096 * source/test/pixelharness.cpp:
14097 testbench: prevent 0 height in plane copy tests
14098
14099 The ASM functions handle the last row specially and cannot handle
14100 height of 0, it causes testbench crashes when rand() rolls the wrong
14101 dice.
14102 [ac9e57296fa8]
14103
14104 * doc/reST/cli.rst, source/CMakeLists.txt,
14105 source/Lib/TLibEncoder/TEncEntropy.cpp,
14106 source/Lib/TLibEncoder/TEncEntropy.h,
14107 source/Lib/TLibEncoder/TEncSbac.cpp,
14108 source/Lib/TLibEncoder/TEncSbac.h, source/common/param.cpp,
14109 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
14110 api: add support for access unit delimiters (--aud)
14111 [6327400944ee]
14112
14113 * source/x265.cpp:
14114 cli: add missing --no-dither option to getopt list
14115 [8273932bc5b7]
14116
14117 * source/Lib/TLibEncoder/TEncEntropy.h:
14118 TEncEntropy: nit
14119 [1d2ab46f13d2]
14120
14121 * doc/reST/cli.rst:
14122 rest: nit
14123 [d73898ae3e47]
14124
14125 * source/common/param.cpp:
14126 param: nit reorder of RC mode checks to avoid uncrustify problems
14127
14128 uncrustify was seeing FOO(bar < x || bar > y) and assuming this was
14129 a template instantiation and changing it to FOO(bar<x || bar> y).
14130 Reordering the two comparisons avoids this problem
14131 [2e376af3a467]
14132
14133 * source/common/param.cpp:
14134 param: enforce a minimum picture size
14135
14136 Do not allow the user to configure a picture smaller than at least
14137 one CTU
14138 [343414c96b01]
14139
14140 * source/encoder/frameencoder.cpp:
14141 frameencoder: use m_isReferenced when configuring SAO in
14142 compressFrame()
14143
14144 In some pessimal situations, the slice's reference state could even
14145 be changed by the time compressFrame() starts. This prevents any
14146 race hazard.
14147 [8c946aca5824]
14148
14149 * source/encoder/frameencoder.cpp:
14150 frameencoder: comment nit
14151 [9c1cc2aa053a]
14152
14153 * Merge with stable
14154 [eef9a0050728]
14155
141562014-04-03 Gopu Govindaswamy <Gopu Govindaswamy>
14157
14158 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
14159 source/encoder/frameencoder.h:
14160 frameencoder: store the reference state of the picture in
14161 FrameEncoder
14162
14163 We find that reference state of the reference frame changed during
14164 the encode when we use frame-thread > 1 this cause the CU level QP
14165 for the frame is non-deterministic, this is leading the non-
14166 deterministic encoded output for the frame, to avoid this store the
14167 reference state of the frame to FrameEncoder->m_isReferenced and
14168 when the QP is calculate for CU, refer the reference state of the
14169 frame from FrameEncoder->m_isReferenced this stat will never change
14170 during the encode
14171
14172 Moved slice reference state initialization from dpb to FrameEncoder
14173 initSlice()
14174 [36a66ea7a27e]
14175
141762014-04-03 Steve Borho <steve@borho.org>
14177
14178 * .hgtags:
14179 Added tag 0.9 for changeset 82bbd2bf3b49
14180 [640f9177eeb0] <stable>
14181
141822014-04-03 Murugan Vairavel <murugan@multicorewareinc.com>
14183
14184 * source/common/x86/pixel-a.asm:
14185 asm: fix invalid read in upShift routine
14186 [82bbd2bf3b49] [0.9] <stable>
14187
141882014-04-02 Steve Borho <steve@borho.org>
14189
14190 * Merge with stable
14191 [c0362b478e23]
14192
141932014-04-02 Gopu Govindaswamy <Gopu Govindaswamy>
14194
14195 * source/encoder/dpb.h:
14196 dpb: Allow two L1 refs when b-pyramid is enabled [CHANGES OUTPUTS]
14197
14198 Consider this common case: if we have 5 consecutive (display order
14199 frames) that are determined to be P1-B1-B2-B3-P2 by the lookahead.
14200 When b-pyramid is enabled, the middle B will be encoded first and
14201 used as a reference by the two following B frames (in encode order);
14202 P1-P2-B2ref-B1-B3
14203
14204 frame L0 L1 P1 P2 P1 B2ref P1 P2 B1 P1 P2 B2ref B3 B2ref P1 P2
14205
14206 When B1 is encoded, both B2ref and P2 should be available as L1
14207 references, this will improve the encode compression efficiency when
14208 b-pyramid is enabled (closes #12)
14209 [d815c4a8fa74]
14210
142112014-04-02 Min Chen <chenm003@163.com>
14212
14213 * source/test/pixelharness.cpp:
14214 testbench: use different stride on calcrecon
14215 [89af57686794]
14216
14217 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
14218 source/common/primitives.h, source/common/x86/pixel-util.h,
14219 source/common/x86/pixel-util8.asm, source/test/pixelharness.cpp:
14220 remove unused parameter *recon from assembly code
14221 [fdfad9734231]
14222
142232014-04-02 Satoshi Nakagawa <nakagawa424@oki.com>
14224
14225 * source/Lib/TLibCommon/TComDataCU.cpp,
14226 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
14227 cleanup m_cuColocated[]
14228 [ccb2b7c26bb6]
14229
142302014-04-02 Steve Borho <steve@borho.org>
14231
14232 * source/encoder/weightPrediction.cpp:
14233 weight: properly reset weights when no-residual early-out is taken
14234
14235 This fixes a hash mismatch seen with a Main10 encode of sintel-480p
14236 [e03388e98ecc] <stable>
14237
14238 * source/encoder/frameencoder.cpp:
14239 frameencoder: fix white-space nit, add comment
14240 [67c0aa70a125]
14241
142422014-04-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14243
14244 * source/encoder/encoder.cpp:
14245 param: fix typo in if-check.
14246 [261b3c2e788e]
14247
142482014-04-02 Aarthi Thirumalai <Aarthi Thirumalai>
14249
14250 * source/encoder/encoder.cpp:
14251 param: set aq strength to 0 in CQP
14252 [dc887415f6df]
14253
142542014-04-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14255
14256 * source/encoder/frameencoder.cpp:
14257 Merge from stable
14258 [3f27daf35506]
14259
14260 * source/encoder/frameencoder.cpp:
14261 frameencoder: removing assign qp inconsistencies which were
14262 triggered for unreferenced P frames
14263 [606da0b6bc58] <stable>
14264
14265 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
14266 source/common/primitives.h, source/common/x86/pixel-util.h,
14267 source/common/x86/pixel-util8.asm, source/test/pixelharness.cpp:
14268 Backed out changeset: a6930bfbd908
14269
14270 This changeset causes crashes. Needs to be re-examined.
14271 [d0b5ea32525b]
14272
14273 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
14274 calcQpForCU: remove m_pic input parameter.
14275 [03bad90e94ad]
14276
142772014-04-01 Min Chen <chenm003@163.com>
14278
14279 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
14280 source/common/primitives.h, source/common/x86/pixel-util.h,
14281 source/common/x86/pixel-util8.asm, source/test/pixelharness.cpp:
14282 remove unused recon[] from assembly code
14283 [a6930bfbd908]
14284
142852014-04-01 Steve Borho <steve@borho.org>
14286
14287 * source/Lib/TLibEncoder/TEncCfg.h, source/common/TShortYUV.cpp,
14288 source/common/TShortYUV.h, source/dllmain.cpp:
14289 Merge with default (feature freeze for 0.9)
14290 [1fc0fda2b08b] <stable>
14291
142922014-04-01 Kavitha Sampath <kavitha@multicorewareinc.com>
14293
14294 * doc/reST/cli.rst, source/Lib/TLibCommon/TComSlice.h,
14295 source/Lib/TLibCommon/TComWeightPrediction.cpp,
14296 source/common/param.cpp, source/encoder/encoder.cpp,
14297 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
14298 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
14299 source/encoder/weightPrediction.cpp, source/x265.cpp, source/x265.h:
14300 weightb: add CLI options for explicit weightb [CHANGES OUTPUTS]
14301
14302 weightB will be disabled by default for this release. This patch
14303 fixes the hash mistakes and other fetaure bugs (the reasons it had
14304 been disabled)
14305
14306 HEVC only signals a single denom for all references so the L1
14307 reference must use the same denom as the L0 reference or no weight
14308 at all. A more exhaustive search might be added later for slower
14309 presets. Also, the lookahead will need to be modified to model
14310 weightB behavior so it can be more effective.
14311
14312 This patch changes how the unweighted references are coded, so even
14313 weightP outputs change slightly.
14314 [0206822d9fea]
14315
143162014-04-01 Steve Borho <steve@borho.org>
14317
14318 * source/encoder/frameencoder.cpp:
14319 frameencoder: lower log level of restart indicators
14320 [f8aa296d60c3]
14321
143222014-03-31 Steve Borho <steve@borho.org>
14323
14324 * source/encoder/slicetype.cpp:
14325 slicetype: nits
14326 [6edc3ed24643]
14327
143282014-04-01 Nabajit Deka <Nabajit Deka>
14329
14330 * source/common/x86/pixel-a.asm:
14331 asm: fix build error caused by usage of 64-bit dependent register in
14332 Win32 versions
14333 [dd189fd26f47]
14334
143352014-03-31 Steve Borho <steve@borho.org>
14336
14337 * source/encoder/slicetype.cpp:
14338 slicetype: do not assume frames[] array has been initialized
14339
14340 slicetypeAnalyse() may not have been called, so use picture list[]
14341 instead
14342 [7ce180ca05b3]
14343
143442014-03-31 Min Chen <chenm003@163.com>
14345
14346 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
14347 source/common/primitives.h, source/common/x86/pixel-util8.asm,
14348 source/test/pixelharness.cpp:
14349 remove macro NEW_CALCRECON
14350 [5d607fd4531f]
14351
143522014-03-31 Murugan Vairavel <murugan@multicorewareinc.com>
14353
14354 * source/test/pixelharness.cpp, source/test/pixelharness.h:
14355 testbench: code for testing input pixel upShift/downShift primitives
14356 [dc9a6a87db56]
14357
14358 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
14359 source/common/x86/pixel.h:
14360 asm: code for input pixel upShift/downShift
14361 [c4ea6cffe2b3]
14362
14363 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/pixel.cpp,
14364 source/common/primitives.h:
14365 primitives: added C primitives for upShift/downShift of input pixels
14366 [a30786caa6c3]
14367
143682014-03-31 Selvakumar Nithiyaruban <selvakumar@multicorewareinc.com>
14369
14370 * doc/reST/cli.rst, source/x265.cpp:
14371 cli: add cli option for dither
14372 [b521f535442a]
14373
14374 * source/CMakeLists.txt, source/common/common.cpp,
14375 source/common/common.h, source/filters/filters.cpp,
14376 source/filters/filters.h:
14377 dither: port dither related functions from x264
14378 [106fc00d4eab]
14379
143802014-03-31 Steve Borho <steve@borho.org>
14381
14382 * source/common/winxp.cpp, source/common/winxp.h:
14383 xp: fix header guards for XP support, fixes MinGW build
14384
14385 If no _WIN32_WINNT version is specified, MinGW defaults to XP SP3.
14386 Our include guards were checking for <= XP instead of checking for
14387 any version before Vista which was the version that introduced
14388 native CONDITION_VARIABLE support
14389 [ae07405973b7]
14390
14391 * source/encoder/frameencoder.cpp:
14392 frameencoder: prevent deadlock in non-wpp mode
14393 [f3c97e82ab04]
14394
14395 * source/CMakeLists.txt:
14396 cmake: pick the old policy for MACOSX_RPATH (only applicable for
14397 cmake 3.0)
14398 [4564298c30f6]
14399
144002014-03-29 Steve Borho <steve@borho.org>
14401
14402 * source/CMakeLists.txt:
14403 cmake: allow MinGW to target XP by default
14404
14405 This makes MinGW to use our workaround CONDITION_VARIABLE
14406 implementation but it seems to be on average better than asking
14407 MinGW to compile for Vista.
14408 [6f7b323061dc]
14409
144102014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
14411
14412 * source/common/wavefront.cpp, source/common/wavefront.h,
14413 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
14414 source/encoder/frameencoder.h:
14415 vbv: enable row restarts when mid-frame qp adjustemets are
14416 inadequate
14417 [1410caf09a39]
14418
144192014-03-29 Steve Borho <steve@borho.org>
14420
14421 * source/CMakeLists.txt, source/common/CMakeLists.txt,
14422 source/common/threading.h, source/common/winxp.cpp,
14423 source/common/winxp.h:
14424 restore WINXP_SUPPORT build option, workaround for
14425 CONDITION_VARIABLE on XP
14426
14427 This adapts x264's code for an XP-safe pthread_cond_t to make an XP-
14428 safe CONDITION_VARIABLE (which was introduced in Windows Vista)
14429
14430 x265 will use native CONDITION_VARIABLE unless the WINXP_SUPPORT
14431 cmake option is enabled. It forces _WIN32_WINNT=_WIN32_WINNT_VISTA
14432 for MinGW for this purpose.
14433 [3f78e639d9ce]
14434
144352014-03-27 Satoshi Nakagawa <nakagawa424@oki.com>
14436
14437 * source/Lib/TLibCommon/TComDataCU.cpp,
14438 source/Lib/TLibCommon/TComDataCU.h,
14439 source/Lib/TLibCommon/TComLoopFilter.cpp,
14440 source/Lib/TLibCommon/TComLoopFilter.h,
14441 source/Lib/TLibCommon/TComPattern.cpp,
14442 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
14443 source/Lib/TLibCommon/TComPicSym.cpp,
14444 source/Lib/TLibCommon/TComPicSym.h,
14445 source/Lib/TLibCommon/TComPicYuv.cpp,
14446 source/Lib/TLibCommon/TComPicYuv.h,
14447 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
14448 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
14449 source/Lib/TLibEncoder/TEncCu.cpp,
14450 source/Lib/TLibEncoder/TEncEntropy.cpp,
14451 source/Lib/TLibEncoder/TEncSbac.cpp,
14452 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp:
14453 refine CUSize related
14454
14455 rename to clarify. division to shift.
14456 [5fb4400d76c2]
14457
14458 * source/Lib/TLibCommon/TComTrQuant.cpp:
14459 sbh: early continue for all zero coeff group
14460 [0705bb47bfcc]
14461
144622014-03-27 Min Chen <chenm003@163.com>
14463
14464 * source/Lib/TLibEncoder/TEncSearch.cpp:
14465 move buffer outside parenthesis
14466 [9b378e860ddb]
14467
144682014-03-28 Steve Borho <steve@borho.org>
14469
14470 * source/Lib/TLibCommon/TComLoopFilter.cpp,
14471 source/Lib/TLibCommon/TComWeightPrediction.cpp,
14472 source/Lib/TLibCommon/TComYuv.cpp, source/common/common.h,
14473 source/common/pixel.cpp:
14474 common: combine duplicate ClipY and ClipC templates, return pixel
14475 type
14476
14477 and fix some hungarian prefixes I encountered
14478 [b9a62f4491a7]
14479
144802014-03-27 Steve Borho <steve@borho.org>
14481
14482 * source/Lib/TLibCommon/TComRom.h, source/common/common.h:
14483 common: move clip templates to common.h
14484 [c2fdc391d226]
14485
14486 * doc/reST/cli.rst:
14487 rest: fix tpyo
14488 [5ec673a3e635]
14489
14490 * source/x265.cpp:
14491 cli: add link to documentation to end of `x265 --help` output
14492 [e3b1fb25c1d5]
14493
14494 * doc/reST/cli.rst:
14495 rest: consistent capitalization of page name
14496 [49528dce611c]
14497
14498 * doc/reST/cli.rst:
14499 rest: improve --ssim, --psnr, recon, and VUI descriptions
14500 [ec97d22b021c]
14501
14502 * source/Lib/TLibCommon/TComTrQuant.h:
14503 TComTrQuant: fix compiler warning in debug builds
14504 [0692d586def7]
14505
14506 * doc/reST/cli.rst:
14507 rest: improve rate control documentation
14508 [6a139bbaddb8]
14509
14510 * doc/reST/cli.rst:
14511 rest: cleanup --input description
14512 [3c366c8973e0]
14513
145142014-03-26 Steve Borho <steve@borho.org>
14515
14516 * source/CMakeLists.txt, source/encoder/api.cpp,
14517 source/encoder/encoder.cpp, source/encoder/encoder.h,
14518 source/x265.cpp, source/x265.h:
14519 api: change x265_encoder_headers() to return byte count on success
14520 [8ce32bd20ec7]
14521
145222014-03-27 Steve Borho <steve@borho.org>
14523
14524 * doc/reST/cli.rst:
14525 rest: improve docs for --me and --early-skip
14526 [6e25dfa0cc9e]
14527
145282014-03-26 Steve Borho <steve@borho.org>
14529
14530 * source/Lib/TLibCommon/TComTrQuant.cpp,
14531 source/Lib/TLibEncoder/TEncSearch.cpp:
14532 nits
14533 [8e0c2d24fc45]
14534
14535 * source/Lib/TLibCommon/TComDataCU.cpp,
14536 source/Lib/TLibCommon/TComDataCU.h,
14537 source/Lib/TLibCommon/TComTrQuant.cpp,
14538 source/Lib/TLibCommon/TComTrQuant.h,
14539 source/Lib/TLibEncoder/TEncEntropy.cpp,
14540 source/Lib/TLibEncoder/TEncEntropy.h,
14541 source/Lib/TLibEncoder/TEncSbac.cpp,
14542 source/Lib/TLibEncoder/TEncSbac.h,
14543 source/Lib/TLibEncoder/TEncSearch.cpp,
14544 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.h,
14545 source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
14546 replace TCoeff with coeff_t
14547 [ca35d9b58b55]
14548
14549 * source/Lib/TLibCommon/TypeDef.h, source/common/common.h:
14550 common: move X265_DEPTH definition to common.h
14551 [9fd80b32a24e]
14552
14553 * source/Lib/TLibCommon/TComDataCU.cpp,
14554 source/Lib/TLibCommon/TComDataCU.h,
14555 source/Lib/TLibCommon/TComLoopFilter.cpp,
14556 source/Lib/TLibCommon/TComLoopFilter.h,
14557 source/Lib/TLibCommon/TComPicYuv.h,
14558 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
14559 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
14560 source/Lib/TLibCommon/TComWeightPrediction.cpp,
14561 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
14562 source/Lib/TLibEncoder/TEncSearch.cpp,
14563 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
14564 replace Pel with pixel
14565 [9c0419c1781b]
14566
14567 * source/Lib/TLibCommon/SEI.h,
14568 source/Lib/TLibCommon/TComBitStream.cpp,
14569 source/Lib/TLibCommon/TComBitStream.h,
14570 source/Lib/TLibCommon/TComDataCU.cpp,
14571 source/Lib/TLibCommon/TComDataCU.h,
14572 source/Lib/TLibCommon/TComLoopFilter.cpp,
14573 source/Lib/TLibCommon/TComLoopFilter.h,
14574 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
14575 source/Lib/TLibCommon/TComPicYuv.h,
14576 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
14577 source/Lib/TLibCommon/TComPrediction.cpp,
14578 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
14579 source/Lib/TLibEncoder/TEncCu.h,
14580 source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/compress.cpp,
14581 source/encoder/cturow.cpp:
14582 replace UChar with uint8_t
14583 [bf2075b6e879]
14584
145852014-03-24 Steve Borho <steve@borho.org>
14586
14587 * source/CMakeLists.txt:
14588 cmake: move assembly source into ASM source group in VS
14589 [29efd2537b56]
14590
145912014-03-26 Steve Borho <steve@borho.org>
14592
14593 * doc/reST/cli.rst:
14594 rest: this sentence was perhaps redundant
14595 [7d37c06c80f4]
14596
14597 * doc/reST/introduction.rst:
14598 rest: make life slightly more difficult for spambots
14599 [2d41a9d48e3b]
14600
146012014-03-24 Satoshi Nakagawa <nakagawa424@oki.com>
14602
14603 * source/encoder/frameencoder.cpp:
14604 fix chroma lambda weighting
14605 [d38335a9375a]
14606
146072014-03-26 Steve Borho <steve@borho.org>
14608
14609 * doc/reST/cli.rst:
14610 rest: nits
14611 [e6862130b35b]
14612
146132014-03-25 Steve Borho <steve@borho.org>
14614
14615 * source/common/param.cpp:
14616 param: ignore leading double-slash in names passed to
14617 x265_param_parse
14618
14619 It might be ambiguous to API users whether these are required,
14620 looking at our documentation, so ignore them if they do.
14621 [2cda667fd786]
14622
14623 * doc/reST/cli.rst:
14624 rest: improve --output, add documentation for --repeat-headers
14625 [c82b0f98e3fb]
14626
14627 * doc/reST/cli.rst:
14628 rest: improve --tu-*-depth, --ref, and --tskip descriptions
14629 [2404a23fb957]
14630
14631 * doc/reST/cli.rst:
14632 rest: improve the description of --rect --amp
14633 [0de64941eec8]
14634
14635 * doc/reST/cli.rst:
14636 rest: document the behavior of --subme
14637 [939de245ea5f]
14638
14639 * doc/reST/introduction.rst:
14640 rest: update licene email address
14641 [82e2254874b1]
14642
14643 * source/x265.cpp:
14644 cli: remove dead options from getopt long-options list
14645 [9f5870075f72]
14646
14647 * source/x265.h:
14648 api: fix documented defaults for cuTree and AQ
14649 [f482d57a6ab5]
14650
14651 * doc/reST/cli.rst:
14652 rest: CRF options are doubles
14653 [455e4c8a5b3d]
14654
14655 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
14656 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
14657 api: drop VUI options which are not fully implemented
14658
14659 It is better to not have to document that these are unfinished
14660 [8f770a36875d]
14661
14662 * doc/reST/cli.rst:
14663 rest: add a couple of missing options, improve descriptions of
14664 others
14665 [02a2a5bd4330]
14666
14667 * doc/reST/cli.rst:
14668 rest: improve CLI docs, fix some wrong descriptions, moar better
14669
14670 I've moved --weightp and --refs to the ME section since they have no
14671 bearing on slice decision and lots of impact on motion search. Some
14672 new options are still missing, will add those in a later commit
14673 [11d301883894]
14674
14675 * doc/reST/cli.rst:
14676 rest: large cleanup of CLI opt docs
14677 [8181f224ec27]
14678
14679 * doc/reST/cli.rst:
14680 rest: fix csv logging descripion, move debug options to the end
14681 [6ece6e038ca8]
14682
14683 * doc/reST/cli.rst:
14684 rest: use comma to separate short and long options
14685
14686 This looks better, and fixes cross referencing
14687 [9ee05bffbc68]
14688
14689 * doc/reST/Makefile, doc/reST/conf.py, doc/reST/index.rst:
14690 rest: add Makefile for generating HTML from reST, cleanup some nits
14691 [c52c2f8c3e32]
14692
14693 * Merge with stable
14694 [fd5e313eca45]
14695
146962014-03-25 Sagar Kotecha <sagar@multicorewareinc.com>
14697
14698 * doc/reST/cli.rst, doc/reST/conf.py, doc/reST/index.rst,
14699 doc/reST/introduction.rst:
14700 Add reST script to generate x265 user manual
14701 [a1d9b54e57d2] <stable>
14702
147032014-03-25 Steve Borho <steve@borho.org>
14704
14705 * source/CMakeLists.txt, source/common/common.h,
14706 source/common/param.cpp, source/encoder/api.cpp,
14707 source/encoder/frameencoder.cpp, source/x265.cpp, source/x265.h:
14708 api: add param.bRepeatHeaders - insert stream headers in each
14709 keyframe NAL
14710
14711 This is apparently useful for raw stream formats
14712 [e739e579609a]
14713
147142014-03-24 Min Chen <chenm003@163.com>
14715
14716 * source/Lib/TLibCommon/TComTrQuant.cpp,
14717 source/Lib/TLibCommon/TComTrQuant.h,
14718 source/Lib/TLibCommon/TypeDef.h,
14719 source/Lib/TLibEncoder/TEncSbac.cpp:
14720 cleanup on TComTrQuant::getTUEntropyCodingParameters
14721 [4318d47d9348]
14722
14723 * source/Lib/TLibCommon/TComTrQuant.cpp:
14724 faster sign(X) and N^2 on TComTrQuant::xRateDistOptQuant
14725 [10e614dca6d4]
14726
14727 * source/Lib/TLibEncoder/TEncSbac.cpp:
14728 improvement by replace SHIFT to MASK_AND
14729 [33617683915d]
14730
14731 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
14732 source/Lib/TLibCommon/TComTrQuant.cpp,
14733 source/Lib/TLibEncoder/TEncSbac.cpp:
14734 optimize: replace g_groupIdx[] by getGroupIdx()
14735 [b39d26118f09]
14736
14737 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
14738 reduce g_minInGroup from uint32_t to uint8_t
14739 [f09130afa3dd]
14740
14741 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
14742 improvement TEncBinCABAC::writeOut by mask operator and local
14743 variant
14744 [88c66aece128]
14745
14746 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
14747 improvement TEncBinCABAC::encodeBin by temporary variant and reduce
14748 AND operator
14749 [5c5cb411263e]
14750
147512014-03-24 Steve Borho <steve@borho.org>
14752
14753 * source/x265.cpp:
14754 cli: fix missing reference to superfast preset
14755 [aa08b7f2d420]
14756
147572014-03-21 Steve Borho <steve@borho.org>
14758
14759 * source/Lib/TLibCommon/TComTrQuant.cpp:
14760 TComTrQuant: nits (no change)
14761 [fdd7c6168cf4]
14762
14763 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
14764 Merge with stable
14765 [07670cfdc215]
14766
147672014-03-21 Aarthi Thirumalai <Aarthi Thirumalai>
14768
14769 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
14770 vbv: fix race condition in processRowEncoder, store row qp directly
14771 in m_pic->m_rowDiagQp.
14772 [21eb4a43e02f] <stable>
14773
147742014-03-18 Min Chen <chenm003@163.com>
14775
14776 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
14777 source/Lib/TLibCommon/TComTrQuant.cpp:
14778 use mask operator to avoid branch
14779 [79b76dcaacd8]
14780
14781 * source/Lib/TLibCommon/TComTrQuant.cpp,
14782 source/Lib/TLibCommon/TComTrQuant.h:
14783 replace parameters (oneCtx, absCtx) by pointer m_estBitsSbac->..
14784 [da5f379974c0]
14785
14786 * source/Lib/TLibCommon/TComTrQuant.cpp,
14787 source/Lib/TLibCommon/TComTrQuant.h:
14788 optimize: rewrite TComTrQuant::xGetCodedLevel
14789 [190f1b500219]
14790
147912014-03-20 Steve Borho <steve@borho.org>
14792
14793 * source/encoder/encoder.cpp:
14794 encoder: auto-disable weightp with 4:4:4 inputs, until it is fixed
14795 [fe3fcd9838c0]
14796
14797 * source/Lib/TLibEncoder/TEncSearch.cpp:
14798 TEncSearch: validate unidirectional MVPs prior to trying MV0 bidir
14799 (closes #34)
14800
14801 This should fix some rare non-determinism as well as prevent the
14802 crash seen in issue #34. [CHANGES OUTPUTS]
14803 [e06f2a068622]
14804
14805 * source/x265.pc.in:
14806 pkgconfig: allow user-supplied lib folder (closes #40)
14807 [8830c8bf15cb]
14808
148092014-03-19 Steve Borho <steve@borho.org>
14810
14811 * source/CMakeLists.txt, source/common/common.h,
14812 source/common/param.cpp, source/encoder/encoder.cpp,
14813 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
14814 source/x265.cpp, source/x265.h:
14815 add experimental support for interlaced content (field encoding)
14816 (refs #15)
14817
14818 * adds param.interlaceMode
14819 * removes VUI params that are now handled automatically
14820 * adds --no-interlace --interlace=tff|bff|prog|false CLI options
14821 * signals interlace source flag, clears progressive source flag
14822
14823 This initial implementation requires the user to provide fields
14824 (half-height) in the correct temporal order; so not very useful for
14825 exisitng Y4M or YUV interlaced input files.
14826
14827 When interlacing is enabled, the encoder emits PictureTiming SEI
14828 messages that indicate top or bottom field for the decoder.
14829 [e35c8c03ee9f]
14830
148312014-03-20 Aarthi Thirumalai <Aarthi Thirumalai>
14832
14833 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
14834 vbv: fix race condition in processRowEncoder, store row qp directly
14835 in m_pic->m_rowDiagQp.
14836 [5638c2311653]
14837
148382014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14839
14840 * source/Lib/TLibEncoder/TEncCu.cpp:
14841 TEncCU: more QP cleanup for subCUs, inter modes.
14842 [27e0620327e5]
14843
148442014-03-19 Steve Borho <steve@borho.org>
14845
14846 * source/encoder/motion.cpp:
14847 motion: add missing parens in COST_MV() macro (fixes #41)
14848 [221d8aee9aa1]
14849
14850 * source/encoder/motion.cpp:
14851 motion: UMH fix to match x264 behavior
14852 [fcb916ec982f]
14853
14854 * source/input/yuv.cpp, source/input/yuv.h:
14855 yuv: use ThreadSafeInteger to manage ring buffer
14856 [96d1d690d2ab]
14857
14858 * source/encoder/api.cpp, source/encoder/encoder.cpp:
14859 encoder: keep copy of input parameters (refs #43)
14860
14861 We do not want to allow the user to change the param used by the
14862 encoder during the encode, nor do we want to suffer from cleanup
14863 ordering issues. We can't crash if the user released the param
14864 struct they allocated prior to closing the encoder
14865 [56a382eb1b72]
14866
14867 * source/input/y4m.cpp, source/input/y4m.h:
14868 y4m: use ThreadSafeInteger to manage ring buffer
14869 [bbf6010764be]
14870
148712014-03-19 Gopu Govindaswamy <Gopu Govindaswamy>
14872
14873 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
14874 TEncBinCoderCABAC: fix MingGW build "declaration of 'byte' shadows a
14875 global declaration"
14876 [7bb421429129]
14877
148782014-03-19 Steve Borho <steve@borho.org>
14879
14880 * source/CMakeLists.txt:
14881 cmake: tabs to spaces
14882 [459c96998a62]
14883
14884 * source/CMakeLists.txt:
14885 cmake: pkgconfig file must be installed in user-specified lib folder
14886 (refs #40)
14887 [ab9c23ebb527]
14888
14889 * source/common/threading.h, source/encoder/framefilter.cpp:
14890 thread: add an incr() method to ThreadSafeInteger to avoid redundant
14891 locks
14892 [1b57d57ff2d9]
14893
148942014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14895
14896 * source/Lib/TLibCommon/TComDataCU.cpp:
14897 TEncCU: further refine qp offsets
14898 [148553629f2a]
14899
14900 * source/Lib/TLibEncoder/TEncCu.cpp:
14901 TEncCU: all SUbCUs will now copy QP array directly from parent CU,
14902 instead of resetting to qp(0).
14903 [648db5e86622]
14904
14905 * source/Lib/TLibCommon/TComDataCU.cpp,
14906 source/Lib/TLibCommon/TComDataCU.h:
14907 TComDataCU: add QP-independent initSubCU
14908 [de4eb4d4bd01]
14909
14910 * source/Lib/TLibCommon/TComDataCU.cpp,
14911 source/Lib/TLibCommon/TComDataCU.h:
14912 TComDataCU: add QP-independent initEstData
14913 [d566947b5493]
14914
149152014-03-18 Steve Borho <steve@borho.org>
14916
14917 * source/CMakeLists.txt:
14918 cmake: icpc is unable to link cli to shared lib
14919 [f58d9c3840a3]
14920
14921 * source/CMakeLists.txt:
14922 cmake: fix MinGW build by forcing Vista as minimum target O/S (fixes
14923 #44)
14924
14925 This removes the WINXP_SUPPORT option; XP cannot be supported until
14926 someone contributes a version of ThreadSafeInteger that is
14927 functional on XP
14928 [45af76338c8e]
14929
149302014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14931
14932 * source/Lib/TLibCommon/TComDataCU.cpp,
14933 source/encoder/frameencoder.cpp:
14934 TComDataCU: QP for a CU always stored in TComDataCU::m_qp.
14935 [591bceb1b87a]
14936
149372014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14938
14939 * source/Lib/TLibEncoder/TEncSearch.cpp:
14940 intraPred: remove qp resets
14941 [d8d41f4cf354]
14942
14943 * source/encoder/frameencoder.cpp:
14944 frameencoder: clean up slice qp clipping
14945 [9167d2441670]
14946
149472014-03-18 Steve Borho <steve@borho.org>
14948
14949 * source/CMakeLists.txt:
14950 cmake: remove /Oi build flag for Visual C++ builds
14951
14952 This flag was actually never necessary for use of SIMD intrinsics,
14953 but it was forcing VC to use intrinsic versions of math functions,
14954 and for some versions of VC this caused odd stack corruption in
14955 Win32 debug builds.
14956
14957 https://connect.microsoft.com/VisualStudio/feedback/details/776885
14958 /possible-bug-in-visual-studio-2012-c-compiler-related-to-intrinsic-
14959 math-functions
14960 [2a63de6cbb11]
14961
14962 * source/CMakeLists.txt:
14963 cmake: make lib and bin install folders user configurable (closes
14964 #40)
14965 [a02a4ba9629e]
14966
14967 * source/cmake/cmake_uninstall.cmake.in:
14968 cmake: fix uninstall target warnings from shell quote escaping
14969 issues
14970 [6a77b52eddcb]
14971
14972 * source/CMakeLists.txt:
14973 cmake: link cli app to shared library on POSIX systems (closes #37)
14974
14975 If you want the CLI to link against the static library on POSIX,
14976 just disable the generation of the shared library.
14977 [f91b930aea7e]
14978
14979 * source/x265.h:
14980 api: declare x265_cli_csps as static const (closes #39)
14981
14982 Fixes link errors when x265.h is included by multiple C files.
14983 [dc700298419d]
14984
149852014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14986
14987 * source/Lib/TLibEncoder/TEncSbac.cpp,
14988 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/encoder.cpp:
14989 encoder, sbac, quant: use only macro QP_BD_OFFSET, remove
14990 unnecessary get methods
14991 [4c8ea265d55e]
14992
14993 * source/encoder/encoder.cpp:
14994 sps: reuse encoder macro QP_BD_OFFSET
14995 [551956198184]
14996
14997 * source/Lib/TLibEncoder/TEncSearch.cpp,
14998 source/encoder/frameencoder.cpp:
14999 frameencoder: clean up qp clipping
15000 [2952312a52e5]
15001
150022014-03-18 Steve Borho <steve@borho.org>
15003
15004 * source/encoder/encoder.cpp:
15005 encoder: fix for VERBOSE_RATE (leftover HM feature) (closes #42)
15006 [0ac7e8729d90]
15007
150082014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15009
15010 * source/Lib/TLibEncoder/TEncSearch.cpp:
15011 encodeResandCalcInterCU: cleanup, no logic change
15012 [32c9e30aee7a]
15013
150142014-03-16 Satoshi Nakagawa <nakagawa424@oki.com>
15015
15016 * source/Lib/TLibCommon/TComTrQuant.cpp:
15017 DC only for HIGH_BIT_DEPTH
15018 [7b86d42683be]
15019
150202014-03-17 Min Chen <chenm003@163.com>
15021
15022 * source/Lib/TLibCommon/ContextTables.h,
15023 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
15024 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
15025 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
15026 source/Lib/TLibEncoder/TEncSbac.cpp,
15027 source/Lib/TLibEncoder/TEncSbac.h:
15028 optimize: rewrite TEncBinCABAC::encodeBin
15029 [3bbcf9f8a701]
15030
150312014-03-17 Satoshi Nakagawa <nakagawa424@oki.com>
15032
15033 * source/Lib/TLibCommon/TComDataCU.cpp,
15034 source/Lib/TLibCommon/TComDataCU.h,
15035 source/Lib/TLibCommon/TComPattern.h,
15036 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
15037 cleanup m_pattern
15038 [d600c8f8f036]
15039
150402014-03-16 Satoshi Nakagawa <nakagawa424@oki.com>
15041
15042 * source/Lib/TLibCommon/TComDataCU.h:
15043 cleanup unused m_mvField{A,B,C}
15044 [7dbae9022757]
15045
150462014-03-17 Steve Borho <steve@borho.org>
15047
15048 * source/encoder/encoder.h:
15049 encoder: cleanup nits
15050 [6627c821ca1f]
15051
15052 * source/input/y4m.cpp:
15053 y4m: fix copy-paste bug in range checks
15054 [c688c11a0f12]
15055
15056 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
15057 source/common/threading.h, source/encoder/dpb.cpp,
15058 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
15059 source/encoder/frameencoder.h, source/encoder/framefilter.cpp:
15060 threading: introduce ThreadSafeInteger class
15061
15062 This class uses a condition variable to implement a
15063 producer/consumer access protocol with a single writer and multiple
15064 readers for safe multi-core synchronization
15065 [c0155c7bb6ca]
15066
150672014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15068
15069 * source/Lib/TLibEncoder/TEncCu.cpp:
15070 TEncCU: fix previous bad patch import
15071 [8dbcfae4dffc]
15072
150732014-03-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15074
15075 * source/Lib/TLibEncoder/TEncCu.h:
15076 TEncCU: cleanup
15077 [cf92f28e5f93]
15078
150792014-03-17 Steve Borho <steve@borho.org>
15080
15081 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
15082 source/encoder/framefilter.cpp:
15083 Merge with stable
15084 [8d5deb7cafd8]
15085
150862014-03-16 Steve Borho <steve@borho.org>
15087
15088 * source/Lib/TLibCommon/TComSlice.h:
15089 TComSlice: nits
15090 [e7e150e4166d]
15091
150922014-03-14 Min Chen <chenm003@163.com>
15093
15094 * source/Lib/TLibEncoder/TEncSbac.cpp,
15095 source/Lib/TLibEncoder/TEncSbac.h:
15096 optimize: rewrite TEncSbac::xWriteCoefRemainExGolomb
15097 [b2617cb09a1a]
15098
15099 * source/Lib/TLibCommon/TComTrQuant.cpp,
15100 source/Lib/TLibCommon/TComTrQuant.h,
15101 source/Lib/TLibEncoder/TEncSbac.cpp:
15102 optimize: improvement TComTrQuant::getSigCtxInc, avoid shift by mask
15103 [9e9bdc0dd2c5]
15104
15105 * source/Lib/TLibCommon/TComTrQuant.cpp,
15106 source/Lib/TLibCommon/TComTrQuant.h:
15107 optimize: rewrite TComTrQuant::xGetICRateCost
15108 [b8460fba2783]
15109
15110 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
15111 source/Lib/TLibCommon/TComTrQuant.cpp,
15112 source/Lib/TLibCommon/TComTrQuant.h, source/common/threading.h:
15113 optimize: rewrite TComTrQuant::xGetICRate
15114 [b6954c4f480f]
15115
151162014-03-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15117
15118 * source/Lib/TLibEncoder/TEncCu.cpp:
15119 encode: avoid repetitive statements; no logic change
15120 [c1ecc3eb288d]
15121
15122 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
15123 compress/TEncCU: no reason why mode decision should reset the dqp
15124 flags.
15125 [6c64fbd96968]
15126
15127 * source/encoder/encoder.cpp:
15128 encoder: Adding a TODO comment on the final goal.
15129 [b7e392e2b720]
15130
15131 * source/encoder/encoder.cpp:
15132 vbv: set DQP as true if VBV is enabled (and AQ disabled).
15133
15134 Unless this is set, the different QP's for each CU wont be encoded.
15135 This worked thankfully until now, since VBV was always used at high
15136 quality (AQ on) settings.
15137 [b82c87d0a896]
15138
15139 * source/Lib/TLibEncoder/TEncCu.cpp:
15140 TEncCU: set dqpflag as true in the CU encoder if aqmode enabled
15141 [d72b7a5c8176]
15142
151432014-03-17 Steve Borho <steve@borho.org>
15144
15145 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
15146 source/encoder/framefilter.cpp:
15147 prevent deadlocks from frame dependencies on Linux
15148 [eba8844609f2] <stable>
15149
151502014-03-14 Steve Borho <steve@borho.org>
15151
15152 * source/Lib/TLibEncoder/TEncSearch.cpp:
15153 TEncSearch: mvpIdx shares storage with mergeIdx, do not set for
15154 merge CUs
15155 [ba3ddc1848ff]
15156
151572014-03-14 Wenju He <wenju@multicorewareinc.com>
15158
15159 * source/Lib/TLibEncoder/TEncCu.cpp:
15160 TEncCu: initialize variables, handle malloc failures more cleanly
15161 [93ea767e7df0]
15162
151632014-03-14 Murugan Vairavel <murugan@multicorewareinc.com>
15164
15165 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
15166 source/common/x86/dct8.h, source/test/mbdstharness.cpp:
15167 asm: 8bpp and 10bpp code for idct8x8 module
15168 [a4cb4fbff864]
15169
151702014-03-14 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
15171
15172 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
15173 added asm primitives for 10bpp sad functions
15174 [f36c9130de66]
15175
151762014-03-14 Steve Borho <steve@borho.org>
15177
15178 * source/encoder/frameencoder.cpp:
15179 Merge with stable
15180 [d5a4296dbfe7]
15181
151822014-03-14 Santhoshini Sekar <santhoshini@multicorewareinc.com>
15183
15184 * source/encoder/frameencoder.cpp:
15185 vbv: bugfix-calculate intraCuCostPerRow for vbv
15186 [394481c40cf9] <stable>
15187
151882014-03-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15189
15190 * source/Lib/TLibEncoder/TEncSearch.cpp:
15191 TEncSearch: init best AMVP candidate to zero.
15192 [ed48f84e541b]
15193
151942014-03-13 Steve Borho <steve@borho.org>
15195
15196 * source/encoder/motion.cpp:
15197 motion: remove unused file static array
15198 [7b5699e6bb75]
15199
15200 * source/Lib/TLibCommon/TComPrediction.h,
15201 source/Lib/TLibEncoder/TEncSearch.cpp,
15202 source/Lib/TLibEncoder/TEncSearch.h:
15203 TEncSearch: remove redundant temp buffer
15204
15205 TComPrediction (which TEncSearch derives from) already has
15206 m_predTempYuv
15207 [bb1ecd4f154d]
15208
15209 * source/Lib/TLibEncoder/TEncSearch.cpp,
15210 source/Lib/TLibEncoder/TEncSearch.h:
15211 TEncSearch: keep merge data together in a struct
15212
15213 This is for clarity, convenience, and to avoid some redundant work
15214 [ebf86c054d05]
15215
15216 * source/Lib/TLibEncoder/TEncSearch.cpp:
15217 TEncSearch: combine motion candidate search into AMVP search loop
15218 [32eaed85f7c0]
15219
15220 * source/Lib/TLibEncoder/TEncSearch.cpp,
15221 source/Lib/TLibEncoder/TEncSearch.h:
15222 TEncSearch: inline MVP selection from AMVP candidates
15223 [81911e5df59c]
15224
15225 * source/Lib/TLibEncoder/TEncSearch.cpp:
15226 TEncSearch: cleanup xGetBlkBits
15227 [dc4af8a48dc8]
15228
15229 * source/Lib/TLibEncoder/TEncSearch.cpp,
15230 source/Lib/TLibEncoder/TEncSearch.h:
15231 TEncSearch: inline xRestrictBipredMergeCand
15232 [80952375aff1]
15233
15234 * source/Lib/TLibEncoder/TEncSearch.cpp,
15235 source/Lib/TLibEncoder/TEncSearch.h:
15236 TEncSearch: inline xGetTemplateCost()
15237 [387471b8ec63]
15238
15239 * source/Lib/TLibEncoder/TEncSearch.cpp:
15240 TEncSearch: be pedantic about setting cu fields [CHANGES OUTPUTS]
15241
15242 It is somewhat unfortunate that this changes outputs, it means I had
15243 introduced a bug in an earlier commit
15244 [ebb3a25a7ad8]
15245
15246 * source/Lib/TLibEncoder/TEncSearch.cpp:
15247 TEncSearch: recombine merge-only path, now it can be accomplished
15248 with continue
15249 [879151f65962]
15250
15251 * source/Lib/TLibEncoder/TEncSearch.cpp:
15252 TEncSearch: remove redundant EMMS instrutions
15253
15254 predInterSearch uses no float operations, so a single EMMS at the
15255 end is sufficient
15256 [675837ac633f]
15257
15258 * source/Lib/TLibEncoder/TEncSearch.cpp,
15259 source/Lib/TLibEncoder/TEncSearch.h:
15260 TEncSearch: merge xGetInterPredictionError into xMergeEstimation
15261 [3a2f801dd535]
15262
15263 * source/Lib/TLibEncoder/TEncSearch.cpp:
15264 TEncSearch: refactor predInterSearch to avoid redundant work
15265 [a166b8d0a43e]
15266
15267 * source/Lib/TLibEncoder/TEncSearch.cpp:
15268 TEncSearch: switch xGetInterPredictionError() to use SATD [CHANGES
15269 OUTPUTS]
15270
15271 predInterSearch() was having to remeasure the unidir/bidir
15272 prediction just because it wanted to measure merge with sa8d. By
15273 switching to satd, a number of further simplifications can be made.
15274 [ea5f4ab96610]
15275
15276 * source/Lib/TLibEncoder/TEncSearch.cpp:
15277 Backed out changeset: 524fdbaed8d0
15278
15279 bits0 and bits1 include list[N].bits and thus they did include the
15280 list selection bit costs.
15281 [716dc1c8391a]
15282
152832014-03-13 Satoshi Nakagawa <nakagawa424@oki.com>
15284
15285 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
15286 source/Lib/TLibEncoder/TEncCu.cpp,
15287 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/shortyuv.cpp,
15288 source/common/shortyuv.h, source/encoder/compress.cpp:
15289 remove unused trUnitIdx from subtract() and addClip()
15290 [deb3d531790f]
15291
152922014-03-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15293
15294 * source/encoder/frameencoder.cpp:
15295 frameencoder: set QP to all parts of CU. No logic change.
15296 [665355c7e4d9]
15297
152982014-03-12 Min Chen <chenm003@163.com>
15299
15300 * source/Lib/TLibEncoder/TEncSbac.cpp,
15301 source/Lib/TLibEncoder/TEncSbac.h:
15302 cleanup: remove c++ ref parameter on xWriteCoefRemainExGolomb
15303 [47edf909f518]
15304
153052014-03-12 Steve Borho <steve@borho.org>
15306
15307 * source/Lib/TLibCommon/TComPicYuv.cpp:
15308 TComPicYuv: disambiguate variable names
15309
15310 Now with 75% less insanity!
15311 [5328eec59554]
15312
153132014-03-12 Min Chen <chenm003@163.com>
15314
15315 * source/Lib/TLibCommon/TComTrQuant.cpp,
15316 source/Lib/TLibCommon/TComTrQuant.h,
15317 source/Lib/TLibEncoder/TEncSbac.cpp:
15318 optimize: reduce memory and improvement performance by replace
15319 sigCoeffGroupFlag[] to sigCoeffGroupFlag64
15320 [68601cdea577]
15321
15322 * source/Lib/TLibEncoder/TEncSbac.cpp:
15323 optimize: simplify operators on loop sigCoeffGroupFlag
15324 [d3e218ecc33f]
15325
153262014-03-12 Steve Borho <steve@borho.org>
15327
15328 * source/Lib/TLibCommon/TypeDef.h:
15329 TypeDef: explicit 32bit type for TCoeff
15330 [892b8325ed6c]
15331
15332 * source/Lib/TLibCommon/TypeDef.h:
15333 TypeDef: UChar to uint8_t
15334 [661f6a49b956]
15335
15336 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
15337 TComRom: UChar to uint8_t
15338 [f88f6543ca26]
15339
153402014-03-12 Min Chen <chenm003@163.com>
15341
15342 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
15343 optimize: use UChar on g_convertToBit to avoid signed extend
15344 [41ea3d34f224]
15345
15346 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
15347 source/Lib/TLibCommon/TypeDef.h,
15348 source/Lib/TLibEncoder/TEncSbac.cpp:
15349 optimize: reduce scan table size by uint32_t -> uint16_t
15350 [aedad0264282]
15351
153522014-03-12 Steve Borho <steve@borho.org>
15353
15354 * source/Lib/TLibEncoder/TEncSearch.cpp,
15355 source/Lib/TLibEncoder/TEncSearch.h:
15356 TEncSearch: replace UChar with uint8_t
15357 [999e3120deda]
15358
15359 * source/Lib/TLibEncoder/TEncSearch.h:
15360 TEncSearch: nit
15361 [9e554cec74ab]
15362
15363 * source/Lib/TLibEncoder/TEncSearch.cpp,
15364 source/Lib/TLibEncoder/TEncSearch.h:
15365 TEncSearch: use HEVC MVP candidates as motion candidates [CHANGES
15366 OUTPUTS]
15367 [99441b4af293]
15368
15369 * source/Lib/TLibEncoder/TEncSearch.cpp,
15370 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/encoder.cpp,
15371 source/encoder/encoder.h, source/encoder/frameencoder.cpp:
15372 TEncSearch: remove unused adaptive search range array
15373 [87ad1232188f]
15374
15375 * source/Lib/TLibEncoder/TEncSearch.cpp:
15376 TEncSearch: MV0 bidir bitcost not based on list costs, so no need to
15377 remove them
15378 [524fdbaed8d0]
15379
15380 * source/Lib/TLibEncoder/TEncSearch.cpp:
15381 TEncSearch: refactor predInterSearch to use simple structure
15382
15383 This removes the need for keep every possible MVP and MVP idx
15384 around, and it hopefully makes the code a lot more readable.
15385 [7c8b9445bec6]
15386
153872014-03-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15388
15389 * Merge
15390 [4fdcea7426f1]
15391
15392 * source/Lib/TLibCommon/TComDataCU.cpp,
15393 source/Lib/TLibCommon/TComDataCU.h,
15394 source/Lib/TLibEncoder/TEncCu.cpp:
15395 TComDataCU: cleanup
15396 [cc3d77015d1e]
15397
15398 * source/Lib/TLibEncoder/TEncEntropy.cpp,
15399 source/Lib/TLibEncoder/TEncEntropy.h:
15400 encodeQP: cleanup
15401 [94d3dfe14558]
15402
154032014-03-12 Steve Borho <steve@borho.org>
15404
15405 * source/Lib/TLibEncoder/TEncSearch.cpp:
15406 TEncSearch: initialize MotionEstimate function pointers before merge
15407 estimation
15408 [8a69cfea0304]
15409
154102014-03-11 Steve Borho <steve@borho.org>
15411
15412 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
15413 source/encoder/api.cpp:
15414 common: remove mostly unused cycle count macros
15415 [e4cf59adfb84]
15416
15417 * source/Lib/TLibEncoder/TEncSearch.cpp:
15418 TEncSearch: break ties in favor of uni-directional MC [CHANGES
15419 OUTPUTS]
15420
15421 If bidir has the same cost as unidir, pick the unidir prediction.
15422 Bidir will average the two directional prediction and thus tends to
15423 generate blurred predictions. Uni-directional prediction is better
15424 when costs are the equal.
15425 [c24eda418b5c]
15426
15427 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
15428 source/common/common.cpp, source/common/common.h,
15429 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
15430 source/encoder/ratecontrol.h:
15431 Merge with stable
15432 [bbd35c26c4e4]
15433
15434 * source/Lib/TLibEncoder/TEncSearch.cpp:
15435 TEncSearch: dehungarians and other nits
15436 [83d649aaf7ce]
15437
154382014-03-10 Satoshi Nakagawa <nakagawa424@oki.com>
15439
15440 * source/Lib/TLibCommon/TComTrQuant.cpp,
15441 source/Lib/TLibCommon/TComTrQuant.h,
15442 source/Lib/TLibCommon/TypeDef.h,
15443 source/Lib/TLibEncoder/TEncSbac.cpp:
15444 revert getSigCtxInc() to 0.7, this version was faster
15445 [87638be9bc6b]
15446
154472014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
15448
15449 * source/encoder/ratecontrol.cpp:
15450 vbv: bug fix - down shifting of satdcost for 10 bit depth.
15451 [c06ee069df5e] <stable>
15452
15453 * source/common/common.cpp, source/common/common.h:
15454 rc: move qp2qscale and qscale2qp function to common
15455 [561adb9b21f6] <stable>
15456
15457 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
15458 source/encoder/ratecontrol.h:
15459 vbv: bug fixes - move row Predictors, frameSizeEstimated to Frame
15460 Encoder scope.
15461
15462 Improves quality and controls buffer underflow when Frame
15463 parallelism is enabled.
15464 [1b84d0748a08] <stable>
15465
15466 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
15467 source/encoder/ratecontrol.cpp:
15468 vbv: use row wise IntraSatdCost to predict vbv intra frame bits.
15469
15470 If P/B slice is predominatly intra coded, use intra SatdCost to
15471 predict the row bits in vbv.
15472 [380c4bf5ff75] <stable>
15473
15474 * source/encoder/ratecontrol.cpp:
15475 vbv: bug fix - down shifting of satdcost for 10 bit depth.
15476 [7832cb8323dd]
15477
154782014-03-10 Steve Borho <steve@borho.org>
15479
15480 * source/Lib/TLibEncoder/TEncSearch.cpp:
15481 TEncSearch: fix some comments
15482 [e40524d079b4]
15483
15484 * source/Lib/TLibEncoder/TEncSearch.cpp:
15485 TEncSearch: reorder code for more clarity
15486 [504c81462e30]
15487
15488 * source/Lib/TLibEncoder/TEncSearch.cpp:
15489 TEncSearch: host bMergeOnly logic to the top of predInterSearch
15490
15491 This makes merge-only easier to follow and more efficient, and makes
15492 the full search code easier to read and easier to maintain. This
15493 should have no change in outputs
15494 [c3156f2b7c97]
15495
15496 * source/Lib/TLibEncoder/TEncSearch.cpp:
15497 TEncSearch: localize scope of bidir MV and ref idx arrays
15498 [1f1aa83d20ed]
15499
15500 * source/Lib/TLibEncoder/TEncSearch.cpp:
15501 TEncSearch: hoist bMergeOnly check to only be performed once
15502 [0574550353e6]
15503
15504 * source/Lib/TLibEncoder/TEncSearch.cpp:
15505 TEncSearch: remove list1 hacks
15506 [0d4182301313]
15507
15508 * source/Lib/TLibEncoder/TEncSearch.cpp:
15509 TEncSearch: localize scope, rename, and remove defaults for
15510 listSelBits array
15511 [85e8a21a261b]
15512
15513 * source/Lib/TLibEncoder/TEncSearch.cpp:
15514 TEncSearch: remove mvTemp[][] array, just use outmv stack var
15515 [d546b400d156]
15516
15517 * source/Lib/TLibEncoder/TEncSearch.cpp:
15518 TEncSearch: localize scope and rename listMv
15519 [f91dc85070fe]
15520
15521 * source/Lib/TLibEncoder/TEncSearch.cpp:
15522 TEncSearch: localize scope of mvzero
15523 [de73109c06d5]
15524
15525 * source/Lib/TLibEncoder/TEncSearch.cpp:
15526 TEncSearch: localize scope and rename listRefIdx
15527 [dc977fbf3ed1]
15528
15529 * source/Lib/TLibEncoder/TEncSearch.cpp:
15530 TEncSearch: localize scope of costTemp
15531 [132393836a2e]
15532
15533 * source/Lib/TLibEncoder/TEncSearch.cpp:
15534 TEncSearch: simplify and localize scope of bitstemp
15535 [c095646a2ef0]
15536
15537 * source/Lib/TLibEncoder/TEncSearch.cpp:
15538 TEncSearch: rename bits to listbits[] for clarity
15539 [7495c029daf6]
15540
15541 * source/Lib/TLibEncoder/TEncSearch.cpp:
15542 TEncSearch: replace costbi with listCost[2]
15543 [12841ab3ce3f]
15544
15545 * source/Lib/TLibEncoder/TEncSearch.cpp,
15546 source/Lib/TLibEncoder/TEncSearch.h:
15547 TEncSearch: remove useless distBiP argument from xEstimateMvPredAMVP
15548 [621f9c82eb14]
15549
15550 * source/Lib/TLibEncoder/TEncSearch.cpp:
15551 TEncSearch: cleanups in predInterSearch(), no logic change
15552 [275edc95de11]
15553
15554 * source/Lib/TLibCommon/TComSlice.cpp,
15555 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
15556 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
15557 source/encoder/weightPrediction.cpp:
15558 weight: match x264 weight analysis and logging [OUTPUT CHANGE]
15559
15560 This only weights the first reference, and will only weight chroma
15561 if luma was weighted. Further work remains, we must add an
15562 unweighted dup of the weighted reference into the P slice's L0
15563 reference list.
15564 [f3988b70f4aa]
15565
155662014-03-10 Murugan Vairavel <murugan@multicorewareinc.com>
15567
15568 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/shortyuv.cpp,
15569 source/common/shortyuv.h:
15570 shortyuv: integrated asm primitives for blockcopy
15571 [1417ba917211]
15572
155732014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
15574
15575 * source/common/common.cpp, source/common/common.h,
15576 source/encoder/ratecontrol.cpp:
15577 rc: move qp2qscale and qscale2qp function to common
15578 [5fb584576fc9]
15579
15580 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
15581 source/encoder/ratecontrol.h:
15582 vbv: bug fixes - move row Predictors, frameSizeEstimated to Frame
15583 Encoder scope.
15584
15585 Improves quality and controls buffer underflow when Frame
15586 parallelism is enabled.
15587 [925b4b3a01c0]
15588
15589 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
15590 source/encoder/ratecontrol.cpp:
15591 vbv: use row wise IntraSatdCost to predict vbv intra frame bits.
15592
15593 If P/B slice is predominatly intra coded, use intra SatdCost to
15594 predict the row bits in vbv.
15595 [092bc3753097]
15596
155972014-03-10 Gopu Govindaswamy <Gopu Govindaswamy>
15598
15599 * source/Lib/TLibCommon/TComMotionInfo.h:
15600 tcommotion: cleanup removed unused methods
15601 [37a33cbf5b57]
15602
15603 * source/Lib/TLibCommon/TComDataCU.cpp,
15604 source/Lib/TLibCommon/TComMotionInfo.cpp,
15605 source/Lib/TLibCommon/TComMotionInfo.h:
15606 tcommotion: use Checked malloc to allocate memory
15607 [728df17d1e5f]
15608
15609 * source/Lib/TLibEncoder/TEncSbac.cpp:
15610 tencsbac: remove unused SCALING_LIST_OUTPUT_RESULT macro
15611 [9c57962437b6]
15612
15613 * source/Lib/TLibEncoder/TEncSbac.cpp:
15614 tencsbac: subLayerOrderingInfoPresentFlag always true, the if() loop
15615 will never executed
15616
15617 vps_sub_layer_ordering_info_present_flag is always set to true, not
15618 required to have extra storage for this, removed
15619 subLayerOrderingInfoPresentFlag
15620 [752bdc470b06]
15621
156222014-03-10 Satoshi Nakagawa <nakagawa424@oki.com>
15623
15624 * source/Lib/TLibCommon/TComDataCU.cpp,
15625 source/Lib/TLibCommon/TComDataCU.h,
15626 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
15627 source/Lib/TLibEncoder/TEncCu.cpp,
15628 source/Lib/TLibEncoder/TEncSearch.cpp,
15629 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
15630 cleanup unused intra !bLumaOnly path
15631 [ee6e6fd867eb]
15632
156332014-03-10 Steve Borho <steve@borho.org>
15634
15635 * source/Lib/TLibEncoder/TEncSearch.cpp:
15636 TEncSearch: fix bMergeOnly override check, did not intend to change
15637 behavior
15638 [505d4a83704a]
15639
15640 * source/Lib/TLibEncoder/TEncSearch.cpp:
15641 TEncSearch: fix gcc warning, remove redundant assignemnt
15642 [f76a92a2b00b]
15643
156442014-03-09 Steve Borho <steve@borho.org>
15645
15646 * source/Lib/TLibEncoder/TEncSearch.cpp,
15647 source/Lib/TLibEncoder/TEncSearch.h:
15648 TEncSearch: rename bUseMRG to bMergeOnly for clarity
15649 [50d7910ddd61]
15650
15651 * source/Lib/TLibEncoder/TEncCu.cpp:
15652 TEncCu: disable TMVP range check if frame threading disabled, code
15653 style nits
15654 [82a66870fc8b]
15655
15656 * source/Lib/TLibEncoder/TEncCu.cpp,
15657 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
15658 TEncSearch: remove default argument from encodeResAndCalcRdInterCU()
15659 [74d4709422f6]
15660
15661 * source/Lib/TLibEncoder/TEncCu.cpp,
15662 source/Lib/TLibEncoder/TEncSearch.cpp,
15663 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
15664 TEncSearch: remove confusing default arguments from
15665 predInterSearch()
15666
15667 And completely remove bLuma which was always true
15668 [f8926fb14c42]
15669
156702014-03-08 Steve Borho <steve@borho.org>
15671
15672 * source/Lib/TLibEncoder/TEncCu.cpp,
15673 source/Lib/TLibEncoder/TEncSearch.cpp,
15674 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
15675 me: skip TMVP merge candidates that are beyond vertical search range
15676
15677 Because of frame parallelism, pixels more than search range below
15678 coincident may not be available in references. Sometimes these merge
15679 candidates happened to be the best cost, resulting in hash
15680 mismatches.
15681
15682 Because xMergeEstimation() can now return with no valid merge modes,
15683 the caller must deal with the potential of no merge mode.
15684 predInterSearch() is sometimes called to only measure merge modes
15685 (skipping ME for AMP partitions for some presets), so now
15686 predInterSearch() can also possibly exit without generating a valid
15687 prediction.
15688 [f29f0ba91dfa]
15689
156902014-03-09 Steve Borho <steve@borho.org>
15691
15692 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
15693 TEncCu: nits, no logic change
15694 [1ff43004128f]
15695
156962014-03-07 David T Yuen <dtyx265@gmail.com>
15697
15698 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
15699 source/encoder/compress.cpp, source/encoder/frameencoder.cpp,
15700 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
15701 source/encoder/framefilter.h, source/encoder/ratecontrol.cpp,
15702 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
15703 source/encoder/slicetype.h:
15704 Replaced Encoder* with x265_param* as member of several classes
15705
15706 Replaced Encoder* with x265_param* as member of TEncCu, framefilter,
15707 ratecontrol, CostEstimate and Lookahead Added
15708 m_CUTransquantBypassFlagValue to TEncCu since it's part of Encoder
15709 and not x265_param framefilter's processRow and processRowPost
15710 needed Encoder* to run Encoder::signalReconRowCompleted
15711 [0bd2465e3d4a]
15712
15713 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
15714 source/common/lowres.cpp, source/common/lowres.h,
15715 source/encoder/dpb.cpp, source/encoder/dpb.h,
15716 source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
15717 Removed Encoder* as member of DPB and replaced it with field
15718 m_bOpenGOP
15719
15720 Also added int bframes to Lowres since only param->bframes is passed
15721 to its methods thus eliminating one of DPB's uses of Encoder*
15722 [13e2c2fe091d]
15723
157242014-03-08 Satoshi Nakagawa <nakagawa424@oki.com>
15725
15726 * source/Lib/TLibEncoder/TEncSearch.cpp,
15727 source/Lib/TLibEncoder/TEncSearch.h, source/common/pixel.cpp,
15728 source/common/primitives.h, source/common/x86/pixel-util8.asm,
15729 source/test/pixelharness.cpp:
15730 cleanup m_sharedPredTransformSkip[]
15731
15732 NEW_CALCRECON macro is TODO mark for asm experts, to optimize
15733 register assignment.
15734 [d3bfe4152e67]
15735
157362014-03-07 Steve Borho <steve@borho.org>
15737
15738 * source/encoder/encoder.cpp:
15739 Merge with stable
15740 [93861c42b879]
15741
15742 * source/encoder/encoder.cpp:
15743 encoder: back-port VUI content fixes from default branch
15744
15745 Take values from param structure, which is where these fields are
15746 actually configured.
15747 [b7e2854cf1c4] <stable>
15748
157492014-03-07 Murugan Vairavel <murugan@multicorewareinc.com>
15750
15751 * source/common/x86/asm-primitives.cpp,
15752 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
15753 asm: added code for blockcopy_ss and cleaned up asm primitives of
15754 blockcopy
15755 [2bf727dca27d]
15756
157572014-03-06 Steve Borho <steve@borho.org>
15758
15759 * source/Lib/TLibEncoder/TEncSbac.cpp:
15760 TEncSBac: remove unused define
15761 [33b67a53b6de]
15762
15763 * source/Lib/TLibCommon/TComSlice.h:
15764 TComSlice: nits
15765 [d049b579ff18]
15766
157672014-03-06 Satoshi Nakagawa <nakagawa424@oki.com>
15768
15769 * source/Lib/TLibCommon/TComDataCU.cpp,
15770 source/Lib/TLibCommon/TComDataCU.h:
15771 share m_mvpIdx[0] as m_mergeIdx
15772 [51f8673f8b35]
15773
15774 * source/Lib/TLibCommon/TComDataCU.cpp,
15775 source/Lib/TLibCommon/TComDataCU.h,
15776 source/Lib/TLibCommon/TComLoopFilter.cpp,
15777 source/Lib/TLibCommon/TComPattern.cpp,
15778 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
15779 source/Lib/TLibCommon/TComPicSym.cpp,
15780 source/Lib/TLibCommon/TComPicSym.h,
15781 source/Lib/TLibCommon/TComPicYuv.cpp,
15782 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
15783 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
15784 source/Lib/TLibCommon/TComSlice.cpp,
15785 source/Lib/TLibCommon/TComSlice.h,
15786 source/Lib/TLibEncoder/TEncCu.cpp,
15787 source/Lib/TLibEncoder/TEncEntropy.cpp,
15788 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
15789 source/Lib/TLibEncoder/TEncSbac.cpp,
15790 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/param.cpp,
15791 source/encoder/compress.cpp, source/encoder/cturow.cpp,
15792 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
15793 source/encoder/framefilter.cpp, source/encoder/reference.cpp:
15794 CU is square
15795
15796 unify TComDataCU::m_width and m_height to m_cuSize
15797 [5c502cce2a1f]
15798
157992014-03-06 Steve Borho <steve@borho.org>
15800
15801 * source/common/param.cpp:
15802 param: print vbv-init as a float
15803 [7209562f4cc8]
15804
158052014-03-06 Murugan Vairavel <murugan@multicorewareinc.com>
15806
15807 * source/test/pixelharness.cpp, source/test/pixelharness.h:
15808 Testbench code for blockcopy_ss
15809 [d46917d3ac2d]
15810
15811 * source/common/pixel.cpp, source/common/primitives.h:
15812 C primitive for blockcopy_ss
15813 [c078ccf260b2]
15814
158152014-03-06 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
15816
15817 * source/common/x86/intrapred16.asm, source/common/x86/intrapred8.asm,
15818 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.asm,
15819 source/common/x86/mc-a.asm, source/common/x86/pixel-util8.asm,
15820 source/common/x86/pixeladd8.asm, source/common/x86/sad-a.asm,
15821 source/common/x86/ssd-a.asm:
15822 cleanup the labels in assembly code with trailing colon
15823 [c97fc1244d0b]
15824
158252014-03-06 Steve Borho <steve@borho.org>
15826
15827 * source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/SEI.h,
15828 source/Lib/TLibCommon/TComBitStream.cpp,
15829 source/Lib/TLibCommon/TComBitStream.h,
15830 source/Lib/TLibCommon/TComMotionInfo.cpp,
15831 source/Lib/TLibCommon/TComMotionInfo.h,
15832 source/Lib/TLibCommon/TComPattern.h,
15833 source/Lib/TLibCommon/TComPicYuv.cpp,
15834 source/Lib/TLibCommon/TComPrediction.cpp,
15835 source/Lib/TLibCommon/TComRdCost.h,
15836 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
15837 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
15838 source/Lib/TLibCommon/TComSlice.h,
15839 source/Lib/TLibCommon/TComTrQuant.cpp,
15840 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
15841 source/Lib/TLibEncoder/NALwrite.cpp,
15842 source/Lib/TLibEncoder/TEncCu.cpp,
15843 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
15844 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
15845 source/common/common.h, source/common/cpu.cpp, source/common/cpu.h,
15846 source/common/dct.cpp, source/common/intrapred.cpp,
15847 source/common/ipfilter.cpp, source/common/md5.cpp,
15848 source/common/md5.h, source/common/mv.h, source/common/param.cpp,
15849 source/common/primitives.cpp, source/common/primitives.h,
15850 source/common/shortyuv.cpp, source/common/threading.h,
15851 source/common/threadpool.cpp, source/common/threadpool.h,
15852 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
15853 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/dct-
15854 ssse3.cpp, source/common/wavefront.cpp, source/common/wavefront.h,
15855 source/encoder/bitcost.cpp, source/encoder/bitcost.h,
15856 source/encoder/compress.cpp, source/encoder/encoder.cpp,
15857 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
15858 source/encoder/ratecontrol.cpp, source/input/input.cpp,
15859 source/input/y4m.cpp, source/input/yuv.cpp,
15860 source/output/output.cpp, source/output/y4m.cpp,
15861 source/output/yuv.cpp, source/output/yuv.h,
15862 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
15863 source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
15864 source/test/testbench.cpp, source/test/testharness.h,
15865 source/test/testpool.cpp, source/x265.cpp:
15866 common: consolidate system header includes into common.h
15867
15868 Hopefully this will prevent random compile failures in the future
15869 from missed cmath, climits, or memory.h includes.
15870 [ef83ccb3d34d]
15871
15872 * source/common/param.cpp:
15873 param: spelling nit
15874 [102ad4518b1c]
15875
15876 * source/common/param.cpp, source/x265.cpp:
15877 clarify valid values for --vbv-init
15878 [889edfd2c4c3]
15879
158802014-03-05 Steve Borho <steve@borho.org>
15881
15882 * source/Lib/TLibCommon/TComSlice.cpp:
15883 TComSlice: replace magic numbers with appropriate macro
15884 [a1d82df4d45e]
15885
15886 * source/Lib/TLibCommon/TComSlice.cpp,
15887 source/Lib/TLibCommon/TComSlice.h:
15888 TComSlice: remove unused checkNumPocTotalCurr argument to
15889 setRefPicList()
15890 [a35934b41412]
15891
15892 * source/Lib/TLibCommon/TComSlice.cpp,
15893 source/Lib/TLibCommon/TComSlice.h:
15894 TComSlice: remove unused checkCRA function
15895 [f1f5303613fc]
15896
15897 * source/encoder/dpb.cpp:
15898 dpb: remove commented code
15899 [1b8ebfd190a4]
15900
15901 * source/common/param.cpp, source/x265.cpp, source/x265.h:
15902 cli: add --crf-max option for param.rc.rfConstantMax
15903 [ba92d0695116]
15904
15905 * source/x265.cpp:
15906 cli: show compiled assembly status and detected SIMD arches on x265
15907 --version
15908 [37309f09aaa1]
15909
15910 * source/x265.cpp:
15911 cli: invalid preset or tune is a non-recoverabe error
15912 [228c0004d401]
15913
15914 * source/x265.cpp:
15915 cli: show condensed error message if no arguments are given
15916 [105fe9b2d189]
15917
15918 * source/x265.cpp:
15919 cli: reorder help for better clarity
15920 [64e76dcaf172]
15921
15922 * source/x265.cpp:
15923 cli: add --no- options to some VUI fields
15924
15925 This is a little pedantic since they default to false and likely
15926 won't change at any time.
15927 [3ffbee76c1f2]
15928
15929 * source/x265.cpp:
15930 cli: fix AQ CLI help. 0, 1, and 2 are valid options
15931 [bbaab3feef92]
15932
15933 * source/x265.cpp:
15934 cli: improve help text by describing command argument data types
15935 [f1dd1c83f3c6]
15936
15937 * source/x265.cpp:
15938 cli: improve CLI help for --overscan
15939 [f38f72976bcd]
15940
15941 * source/common/param.cpp, source/common/param.h, source/x265.cpp:
15942 cli: change --log option to --log-level, allow strings or ints
15943
15944 getopt allows partial matches, so --log N will still work like it
15945 always has. x265_parse_param() will accept "log" or "log-level"
15946
15947 Since the first entry in the name list corresponds to -1, the string
15948 list is not placed in x265.h, where all indices are 0 based.
15949 [50a04c4cf0ff]
15950
15951 * source/x265.cpp:
15952 cli: move "fps" between resolution and frame rate, same as input
15953 file line
15954 [01547efd182d]
15955
15956 * source/common/param.cpp:
15957 param: add VBV info to log data
15958 [081efde65d54]
15959
15960 * source/CMakeLists.txt:
15961 cmake: use x86 alias list rather than repeated string compares (nit)
15962 [e7d3835fe752]
15963
159642014-03-05 Murugan Vairavel <murugan@multicorewareinc.com>
15965
15966 * source/common/x86/asm-primitives.cpp:
15967 primitives: cleaned up asm_primitives of intra_pred_ang
15968 [3272416ac9b0]
15969
159702014-03-05 Steve Borho <steve@borho.org>
15971
15972 * source/encoder/encoder.cpp, source/output/y4m.cpp,
15973 source/output/yuv.cpp:
15974 encoder: assign internal colorspce to output pic.colorSpace
15975 [992b1b9e5cff]
15976
15977 * source/CMakeLists.txt, source/Lib/TLibCommon/TComPicYuv.cpp,
15978 source/encoder/encoder.cpp, source/input/y4m.cpp,
15979 source/input/yuv.cpp, source/output/y4m.cpp, source/output/yuv.cpp,
15980 source/x265.h:
15981 api: change meaning of pic.stride to be in bytes rather than pixels
15982 (fixes #35)
15983
15984 x264's pic.plane pointer is a uint8_t* so their input strides are
15985 byte based, ffmpeg is currently assuming our input strides are byte
15986 based. This commit will make that assumption correct.
15987
15988 This fixes non-4:2:0 YUV file read at the same time, and bumps
15989 X265_BUIDLD
15990 [eadec14402d6]
15991
15992 * source/CMakeLists.txt:
15993 cmake: add i686 to x86 alias list (closes #33)
15994 [6d55869ed5e2]
15995
159962014-03-05 Murugan Vairavel <murugan@multicorewareinc.com>
15997
15998 * source/common/x86/asm-primitives.cpp:
15999 asm: enable 10bit chroma_vpp and chroma_vps interpolation filters
16000 [c40c379f283c]
16001
160022014-03-04 David T Yuen <dtyx265@gmail.com>
16003
16004 * source/encoder/encoder.cpp, source/encoder/encoder.h,
16005 source/encoder/framefilter.cpp:
16006 Removed Encoder::m_csp and replaced it with x265_param::internalCsp
16007 [91936aab5ae9]
16008
160092014-03-04 Steve Borho <steve@borho.org>
16010
16011 * source/encoder/weightPrediction.cpp:
16012 weight: ensure chroma weights are initialized when skipped
16013 [5cad3652bee8]
16014
16015 * source/common/primitives.cpp:
16016 primitives: prevent multiple setup calls from reiniting primitive
16017 table
16018
16019 We don't want the function table to change in the middle of an
16020 encode. Improve logging so that --asm <SMALLINT> which does not
16021 result in any bitmap matches still reports "none!"
16022 [1a3d37f0a072]
16023
16024 * source/encoder/weightPrediction.cpp:
16025 weight: simplify and remove redundant logic
16026 [92c2f95b230b]
16027
16028 * source/encoder/weightPrediction.cpp:
16029 weight: do not attempt chroma weights if luma was not weighted
16030 [CHANGES OUTPUT]
16031
16032 This heuristic seems to improve a number of clips, particularly when
16033 chroma distortion is not considered in mode decision. This could
16034 cause some odd colors to be encoded, particularly noticable with
16035 large blocks.
16036 [864ed3e0d82e]
16037
16038 * source/encoder/reference.cpp, source/encoder/slicetype.cpp,
16039 source/encoder/weightPrediction.cpp:
16040 weight: use correct round value for denom 0 [CHANGES OUTPUT]
16041
16042 The denom -without the intermediate bit-depth factor applied- must
16043 be compared with zero, else the output of weight_pp will not match
16044 the real output of pixel weighting. This was done wrong in two
16045 different ways in three different places
16046 [cc64612d8e5e]
16047
16048 * source/CMakeLists.txt:
16049 cmake: bump X265_BUILD to 8, many API changes
16050
16051 These changes should be mostly harmless, I don't expect many API
16052 users have used the VUI fields yet, so a recompile against the new
16053 x265.h should be sufficient.
16054 [1bd1e6dbce28]
16055
16056 * source/CMakeLists.txt, source/dllmain.cpp:
16057 cmake: dllmain is no longer necessary since use of object libraries
16058 [6a6bf84ad146]
16059
16060 * source/x265.cpp:
16061 cli: do not call x265_setup_primitives() from printVersion()
16062
16063 It now leads to redundant console output and it was interfering with
16064 --asm command line arguent functionality
16065 [5fd56621f2fe]
16066
16067 * source/common/param.cpp, source/encoder/api.cpp, source/x265.cpp,
16068 source/x265.h:
16069 api: move cpuid to x265_param, same as x264
16070 [e0bdcfc9e20b]
16071
16072 * source/common/common.cpp, source/common/common.h,
16073 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
16074 api: move x265_ssim() to be an internal function, give a more
16075 descriptive name
16076
16077 This function really shouldn't have been a public function, and it
16078 was never added to the exports list.
16079 [8e1c69c0d4f1]
16080
16081 * source/common/param.cpp, source/encoder/encoder.cpp,
16082 source/x265.cpp, source/x265.h:
16083 api: move VUI settings into vui sub-struct of x265_param
16084 [3825b0059d6c]
16085
16086 * source/encoder/CMakeLists.txt:
16087 cmake: TEncCfg.h is caput
16088 [58bbbdd0a699]
16089
160902014-03-03 David T Yuen <dtyx265@gmail.com>
16091
16092 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
16093 source/Lib/TLibCommon/TComSlice.cpp,
16094 source/Lib/TLibCommon/TComSlice.h,
16095 source/Lib/TLibEncoder/SEIwrite.cpp,
16096 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
16097 source/Lib/TLibEncoder/TEncCu.h,
16098 source/Lib/TLibEncoder/TEncSbac.cpp,
16099 source/Lib/TLibEncoder/TEncSearch.cpp,
16100 source/Lib/TLibEncoder/TEncSearch.h, source/common/param.cpp,
16101 source/encoder/api.cpp, source/encoder/compress.cpp,
16102 source/encoder/cturow.cpp, source/encoder/dpb.cpp,
16103 source/encoder/dpb.h, source/encoder/encoder.cpp,
16104 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
16105 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
16106 source/encoder/framefilter.h, source/encoder/ratecontrol.cpp,
16107 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
16108 source/encoder/slicetype.h, source/x265.cpp, source/x265.h:
16109 Merged TEncCfg into Encoder. A few VUI tweaks and fixes.
16110 [1020e2ac9890]
16111
161122014-03-04 Steve Borho <steve@borho.org>
16113
16114 * Merge with stable
16115 [31731a78d994]
16116
16117 * .hgtags:
16118 Added tag 0.8 for changeset 527d03c56d68
16119 [91ada5e78ee1] <stable>
16120
161212014-03-03 Steve Borho <steve@borho.org>
16122
16123 * source/CMakeLists.txt, source/common/CMakeLists.txt,
16124 source/common/param.cpp:
16125 cmake: detect strtok_r, use workaround when not present
16126 [3cbde0b893e3]
16127
16128 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
16129 Merge with stable
16130 [7fbecd22a0cd]
16131
161322014-03-03 Gopu Govindaswamy <Gopu Govindaswamy>
16133
16134 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
16135 source/encoder/framefilter.cpp:
16136 tcomsao: only get method is unused, set lcuboundary is required
16137
16138 references 742641e0f796
16139 [62fe3f905981]
16140
16141 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16142 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
16143 tcomsao: replaced All Pel type into pixel type
16144 [f3125b431ee5]
16145
16146 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16147 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
16148 tcomsao: use X265_MALLOC and X265_FREE in create() and Pel replaced
16149 with pixel
16150 [459b108299e0]
16151
16152 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16153 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
16154 source/encoder/framefilter.cpp:
16155 tcomsaq: remove unused get and set saolcuboundary methods
16156 [776983eda6ba]
16157
16158 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
16159 tencsao: Pel replaced with pixel type
16160 [0a2fcf8690b8]
16161
16162 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
16163 tencsao: new and delete replaced with X265_MALLOC and X265_FREE
16164 [02f953896795]
16165
16166 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
16167 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
16168 tencsao: remove unused calcSaoStatsBlock
16169 [2de527d2826d]
16170
161712014-03-03 Steve Borho <steve@borho.org>
16172
16173 * source/Lib/TLibEncoder/TEncEntropy.cpp:
16174 TEncEntropy: fix gcc warnings
16175 [e34503ff6627]
16176
161772014-03-03 Satoshi Nakagawa <nakagawa424@oki.com>
16178
16179 * source/Lib/TLibCommon/CommonDef.h,
16180 source/Lib/TLibCommon/TComDataCU.cpp,
16181 source/Lib/TLibCommon/TComDataCU.h,
16182 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16183 source/Lib/TLibCommon/TComTrQuant.cpp,
16184 source/Lib/TLibCommon/TComTrQuant.h,
16185 source/Lib/TLibCommon/TypeDef.h,
16186 source/Lib/TLibEncoder/TEncEntropy.cpp,
16187 source/Lib/TLibEncoder/TEncEntropy.h,
16188 source/Lib/TLibEncoder/TEncSbac.cpp,
16189 source/Lib/TLibEncoder/TEncSbac.h,
16190 source/Lib/TLibEncoder/TEncSearch.cpp:
16191 residual coding unit is always square
16192 [684781cad358]
16193
161942014-03-03 Nabajit Deka <Nabajit Deka>
16195
16196 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
16197 test bench : Modify chroma_p2s test function to handle csp.
16198 [eb7eb10568fb]
16199
16200 * source/common/x86/asm-primitives.cpp,
16201 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
16202 asm : remove chroma_p2s_i444, can be replaced by luma_p2s
16203 [e686e589f3ca]
16204
162052014-03-04 Aarthi Thirumalai <Aarthi Thirumalai>
16206
16207 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
16208 vbv: bug fixes in --no-cutree flow. Ignore intracosts in calculating
16209 satdcost per cu.
16210 [527d03c56d68] [0.8] <stable>
16211
162122014-03-03 Nabajit Deka <Nabajit Deka>
16213
16214 * source/test/mbdstharness.cpp:
16215 test bench : fix for test bench failure, caused by redundant malloc.
16216 [6662df480e39]
16217
162182014-03-02 Steve Borho <steve@borho.org>
16219
16220 * source/common/shortyuv.cpp:
16221 shortyuv: use optimized primitives where available
16222 [288a83d7e289]
16223
16224 * source/common/shortyuv.cpp, source/common/shortyuv.h:
16225 shortyuv: combine add/subtract methods together
16226 [ab05e3d951e1]
16227
16228 * source/Lib/TLibCommon/TComPicYuv.h,
16229 source/Lib/TLibCommon/TComPrediction.cpp,
16230 source/Lib/TLibCommon/TComPrediction.h,
16231 source/Lib/TLibCommon/TComWeightPrediction.cpp,
16232 source/Lib/TLibCommon/TComWeightPrediction.h,
16233 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
16234 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
16235 source/Lib/TLibEncoder/TEncSearch.cpp,
16236 source/Lib/TLibEncoder/TEncSearch.h, source/common/shortyuv.cpp,
16237 source/common/shortyuv.h, source/encoder/compress.cpp:
16238 rename TShortYuv to ShortYuv
16239 [0352ee7f3c5a]
16240
16241 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
16242 source/common/shortyuv.cpp, source/common/shortyuv.h,
16243 source/encoder/cturow.cpp:
16244 use checked malloc in TShortYuv::create and TEncCu::create
16245
16246 And replace unsigned int with uint32_t in TShortYuv.cpp
16247 [a9bbdfaf2a59]
16248
16249 * source/Lib/TLibCommon/TComPrediction.h,
16250 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibEncoder/TEncCu.h,
16251 source/common/CMakeLists.txt, source/common/TShortYUV.cpp,
16252 source/common/TShortYUV.h, source/common/shortyuv.cpp,
16253 source/common/shortyuv.h:
16254 rename TShortYUV.* to shortyuv.*
16255 [5f2d25407800]
16256
16257 * source/common/param.cpp:
16258 param: ignore assignments within conditionals in param.cpp
16259 [54e2dcf770c4]
16260
16261 * source/Lib/TLibCommon/TComPattern.cpp,
16262 source/Lib/TLibCommon/TComPattern.h:
16263 TComPattern: remove hungarian prefixes
16264 [5a7c6e8536ac]
16265
16266 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
16267 TComYuv: switch from Pel to pixel type
16268 [47a0575aad04]
16269
16270 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
16271 source/Lib/TLibEncoder/TEncSearch.cpp,
16272 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp,
16273 source/encoder/cturow.h, source/encoder/encoder.cpp,
16274 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
16275 used checked malloc in TComYuv and TEncSearch, cleanly catch malloc
16276 failure
16277 [f6ae34250453]
16278
16279 * source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
16280 source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
16281 testbench: use CHECKED_MALLOC to cleanup init functions
16282 [d5269597c860]
16283
16284 * source/common/param.cpp:
16285 param: MSVC build fixes
16286 [fad6fba7cf2c]
16287
162882014-03-01 Steve Borho <steve@borho.org>
16289
16290 * source/common/param.cpp, source/x265.cpp, source/x265.h:
16291 api: add a fastdecode tune option, improve tune and preset CLI help
16292
16293 To match x264's tune names, removed "-" from zerolatency in x265.h
16294 but allowed either string to match internally. Same with fast-
16295 decode.
16296 [dc82d1805136]
16297
16298 * source/test/testbench.cpp:
16299 testbench: improve CLI help and error handling, use parseCpuName
16300 [46a799d747ae]
16301
16302 * source/common/primitives.cpp:
16303 primitves: update CPU name print logic from x264
16304 [93ba16e4f140]
16305
16306 * source/common/param.cpp, source/x265.cpp:
16307 param: fix handling of --no-scenecut within x265_param_parse(), add
16308 --no-b-adapt
16309 [fcbe9a361b5a]
16310
16311 * source/common/common.h, source/common/param.cpp,
16312 source/common/param.h, source/common/primitives.cpp,
16313 source/x265.cpp:
16314 cli: replace --cpuid with --[no-]asm arguments
16315
16316 The vector class library is long gone, so it is past-due to adopt
16317 x264's logic for specifying CPU architectures, or disabling ASM
16318 altogether.
16319 [26bd96a193d4]
16320
163212014-02-28 Satoshi Nakagawa <nakagawa424@oki.com>
16322
16323 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
16324 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
16325 copy m_origYuv[depth] from m_origYuv[0]
16326 [ac6edd2ffb65]
16327
163282014-03-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16329
16330 * source/encoder/weightPrediction.cpp:
16331 weightp: implicit cast warning on vc10-x86.
16332
16333 Is lambda intended to be int?
16334 [4f2cbc5a981a]
16335
163362014-02-28 Praveen Tiwari <Praveen Tiwari>
16337
16338 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16339 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
16340 source/common/CMakeLists.txt, source/common/loopfilter.cpp,
16341 source/common/primitives.cpp, source/common/primitives.h,
16342 source/common/x86/asm-primitives.cpp,
16343 source/common/x86/loopfilter.asm, source/common/x86/loopfilter.h,
16344 source/test/pixelharness.cpp, source/test/pixelharness.h:
16345 asm: split SAO_EO_0 into separate primitive func
16346
16347 added assembly code and testbench support added loopfilter.cpp,
16348 loopfilter.h, loopfilter.asm files
16349 [000f86d72337]
16350
163512014-02-28 Kavitha Sampath <kavitha@multicorewareinc.com>
16352
16353 * source/common/CMakeLists.txt, source/common/bitstream.h,
16354 source/encoder/weightPrediction.cpp:
16355 weightp: use struct to cache data for reuse, refactor MC of
16356 reference planes
16357
16358 * do not consider intra/mv cost during MC phase
16359 * unconditionally motion-compensate luma and chroma blocks
16360 * include slice header cost estimate in weight analysis
16361 * weightCost() needed different paths for luma, chroma, and chroma444
16362 * pass a single stride to weightCost()
16363 [518313140b03]
16364
163652014-02-28 Steve Borho <steve@borho.org>
16366
16367 * source/common/param.cpp, source/encoder/encoder.cpp, source/x265.h:
16368 Merge with stable
16369 [5e9559d366b3]
16370
163712014-02-28 Gopu Govindaswamy <Gopu Govindaswamy>
16372
16373 * source/Lib/TLibCommon/TComPicYuv.cpp:
16374 tcompicyuv: initialize NULL to cu and bu offset buffers.
16375 [f6d079ad85bc] <stable>
16376
163772014-02-27 Steve Borho <steve@borho.org>
16378
16379 * source/common/common.cpp, source/common/param.cpp,
16380 source/encoder/encoder.cpp, source/encoder/weightPrediction.cpp,
16381 source/x265.h:
16382 api: make log-level 4 semi-official and expose in public API
16383 [994f046a8111] <stable>
16384
163852014-02-28 Satoshi Nakagawa <nakagawa424@oki.com>
16386
16387 * source/Lib/TLibCommon/TComTrQuant.cpp,
16388 source/Lib/TLibCommon/TComTrQuant.h,
16389 source/Lib/TLibEncoder/TEncSearch.cpp:
16390 square transform only
16391 [9b43c262124e]
16392
16393 * source/common/x86/asm-primitives.cpp:
16394 asm: enable count_nonzero for HIGH_BIT_DEPTH
16395 [df831b319c08]
16396
163972014-02-27 Steve Borho <steve@borho.org>
16398
16399 * source/common/param.cpp:
16400 tune: ensure lookahead is disabled for zero-latency
16401 [61c752e11424]
16402
16403 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
16404 asm: cleanup 444 chroma primitive setup, and other primitve reuse
16405 [8189f9e9a39f]
16406
16407 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
16408 source/encoder/slicetype.h:
16409 log: report consecutive B-frame histogram, as x264 does
16410 [b70a88e210f1]
16411
16412 * source/common/common.h, source/x265.h:
16413 api: expose X265_BFRAME_MAX to the user
16414 [83859780b174]
16415
16416 * Merge with stable
16417 [a892e66d5738]
16418
164192014-02-27 Sagar Kotecha <sagar@multicorewareinc.com>
16420
16421 * source/common/common.h, source/common/param.cpp, source/x265.cpp:
16422 param: add more validation checks to prevent encoder crashes
16423 [013589124615] <stable>
16424
164252014-02-27 Nabajit Deka <Nabajit Deka>
16426
16427 * source/common/x86/asm-primitives.cpp,
16428 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.h:
16429 asm: 10bpp code for vertical luma interpolation filters.
16430 [89a2d8780835]
16431
164322014-02-27 Aarthi Thirumalai <Aarthi Thirumalai>
16433
16434 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
16435 vbv: bug fixes to stop mid frame qp adjustments to increase
16436 erratically.
16437
16438 maintain bufferFill for each FrameEncoder context and use that in
16439 rowWise qp adjustments for vbv. also fixes bugs in predicting row
16440 wise bits from satd costs.
16441 [875566aed8b1] <stable>
16442
164432014-02-27 Steve Borho <steve@borho.org>
16444
16445 * Merge with stable
16446 [8a84c10e5116]
16447
16448 * source/common/threading.h:
16449 threading: on linux gettimeofday() requires <sys/time.h>, UINT32_MAX
16450 is C only
16451 [bbe3f479c41f] <stable>
16452
164532014-02-27 Min Chen <chenm003@163.com>
16454
16455 * source/CMakeLists.txt:
16456 fix Issue #30, disable stack execute on gcc
16457 [8e8328cad1be] <stable>
16458
16459 * source/common/x86/ipfilter16.asm:
16460 fix typo problem on HIGH_BIT_DEPTH with non-PIC mode
16461 [52a47362c5c3] <stable>
16462
164632014-02-27 Praveen Tiwari <Praveen Tiwari>
16464
16465 * source/common/x86/intrapred8.asm:
16466 all_angs_pred_32x32, asm code improvement
16467 [63aadc802f18]
16468
164692014-02-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16470
16471 * Merge from stable
16472 [b92f341688c4]
16473
16474 * source/encoder/ratecontrol.cpp:
16475 ratecontrol: fix bitrate issue in 10-bit CRF mode
16476 [2fb85daef8af] <stable>
16477
164782014-02-27 Steve Borho <steve@borho.org>
16479
16480 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
16481 source/Lib/TLibEncoder/WeightPredAnalysis.h, source/common/vec
16482 /intra-sse41.cpp, source/common/vec/intra-ssse3.cpp,
16483 source/common/vec/ipfilter-sse41.cpp,
16484 source/encoder/weightPrediction.h:
16485 Merge with default (prep for 0.8)
16486 [0a6dd816d2e2] <stable>
16487
164882014-02-26 Steve Borho <steve@borho.org>
16489
16490 * source/common/threading.h:
16491 threading: add a timedWait() method to Event class
16492 [c9a0802b64ac]
16493
16494 * source/common/threading.cpp, source/common/threading.h:
16495 threading: use a pthread conditional variable instead of semaphore
16496
16497 This allows more control over the exact behavior, removes the global
16498 nature of the semaphore on some systems, and will allow the addition
16499 of a timed wait to the Event class. It appears to resolve the
16500 deadlocks reproduced in the pool test on Mac OS X; hopefully on
16501 Linux as well.
16502 [8ac1e112f3ea]
16503
165042014-02-26 Murugan Vairavel <murugan@multicorewareinc.com>
16505
16506 * source/common/x86/asm-primitives.cpp,
16507 source/common/x86/ipfilter16.asm, source/common/x86/ipfilter8.h,
16508 source/test/ipfilterharness.cpp:
16509 asm: 10bpp code for chroma interpolation filters
16510 [d317026aa0ad]
16511
165122014-02-26 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
16513
16514 * source/common/x86/asm-primitives.cpp,
16515 source/common/x86/intrapred16.asm:
16516 asm: 16bpp assembly code for intra_pred_ang16 - all modes
16517 [41bc98a92b49]
16518
165192014-02-07 Steve Borho <steve@borho.org>
16520
16521 * source/test/CMakeLists.txt, source/test/testpool.cpp:
16522 reintroduce thread pool unit test
16523
16524 It is reproducing a deadlock on POSIX roughly once per 1M runs
16525 [d36764800215]
16526
165272014-02-26 Sagar Kotecha <sagar@multicorewareinc.com>
16528
16529 * source/common/param.cpp:
16530 param: add some more validation checks
16531 [fa23612e2850]
16532
165332014-02-26 Santhoshini Sekar <santhoshini@multicorewareinc.com>
16534
16535 * source/encoder/frameencoder.cpp:
16536 rc:bug fix-store average Qp as decided by AQ only if aq is enabled
16537 [9b0c9b76d902]
16538
165392014-02-26 Praveen Tiwari <Praveen Tiwari>
16540
16541 * source/common/x86/intrapred8.asm:
16542 all_angs_pred_32x32, asm code improvement
16543 [0b9c77b41599]
16544
165452014-02-26 Satoshi Nakagawa <nakagawa424@oki.com>
16546
16547 * source/encoder/slicetype.cpp:
16548 fix: uninitialized variable
16549 [483e699a9527]
16550
165512014-02-26 Steve Borho <steve@borho.org>
16552
16553 * source/encoder/encoder.cpp:
16554 encoder: tweak slice stats to more closely match x264 outputs
16555 [46207f6f5c8c]
16556
165572014-02-25 Steve Borho <steve@borho.org>
16558
16559 * source/common/threading.cpp, source/common/threading.h:
16560 threading: use atomic increment when building semaphore object
16561
16562 Required moving atomic defines to the top of threading.h, removing
16563 the need for potentially redundant includes of unistd.h
16564 [948626475a46]
16565
165662014-02-26 Aarthi Thirumalai <Aarthi Thirumalai>
16567
16568 * source/encoder/encoder.cpp:
16569 encoder: log avg Qp decided by AQ for each slice type
16570 [b47fc23c75df]
16571
16572 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
16573 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
16574 TComPic: store average Qp (as decided by AQ) used per frame.
16575 [298133a7bd53]
16576
16577 * source/Lib/TLibCommon/TComSlice.cpp,
16578 source/Lib/TLibCommon/TComSlice.h, source/encoder/ratecontrol.cpp:
16579 remove redundant state m_avgQpRc from TComSlice.
16580
16581 This has been moved to TComPic already.
16582 [3bfd7b2a54ed]
16583
16584 * source/encoder/slicetype.cpp:
16585 lookahead: bug fix for b-adapt 0 cost estimates (closes #26)
16586
16587 don't overwrite lastNonB reference with current frame, 'lastNonB'
16588 state was already replaced with current frame's lowres at this
16589 point.
16590
16591 it mostly affected b-adapt=0 but could have affected any of the
16592 modes if they had not already estimated this particular P frame cost
16593 before this point.
16594 [9eea995a2347]
16595
165962014-02-23 Satoshi Nakagawa <nakagawa424@oki.com>
16597
16598 * source/Lib/TLibCommon/TComDataCU.cpp,
16599 source/Lib/TLibCommon/TComDataCU.h,
16600 source/Lib/TLibCommon/TComMotionInfo.cpp,
16601 source/Lib/TLibCommon/TComMotionInfo.h,
16602 source/Lib/TLibEncoder/TEncCu.cpp,
16603 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
16604 reduce unnecessary CU data set/clear (no neighbor access)
16605
16606 mvd, mvpIdx, mergeIndex
16607 [f37c84ffe293]
16608
166092014-02-24 Satoshi Nakagawa <nakagawa424@oki.com>
16610
16611 * source/Lib/TLibCommon/TComPrediction.cpp,
16612 source/Lib/TLibCommon/TComPrediction.h,
16613 source/Lib/TLibEncoder/TEncCu.cpp,
16614 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
16615 refine MC - cleanup unnecessary code paths, reduce copies for non-WP
16616 uni-pred
16617 [5241a8efb684]
16618
166192014-02-25 Nabajit Deka <Nabajit Deka>
16620
16621 * source/common/x86/asm-primitives.cpp,
16622 source/test/ipfilterharness.cpp:
16623 asm: enable 10bit asm filter functions, fix test harness
16624 [0b63fa220e19]
16625
16626 * source/common/CMakeLists.txt, source/common/x86/const-a.asm,
16627 source/common/x86/ipfilter16.asm:
16628 asm: add new file for 10bpp asm filter functions
16629 [a8e822a95fad]
16630
166312014-02-25 Steve Borho <steve@borho.org>
16632
16633 * source/encoder/api.cpp:
16634 api: check for NULL param pointer in x265_encoder_open
16635 [b7a1a636b77b]
16636
166372014-02-25 Sagar Kotecha <sagar@multicorewareinc.com>
16638
16639 * source/common/common.cpp, source/encoder/CMakeLists.txt,
16640 source/encoder/api.cpp, source/encoder/encoder.cpp:
16641 move public encoder and picture functions to api.cpp
16642 [5fde224bab34]
16643
166442014-02-25 Steve Borho <steve@borho.org>
16645
16646 * source/common/CMakeLists.txt, source/common/vec/intra-sse41.cpp,
16647 source/common/vec/vec-primitives.cpp:
16648 vec: remove intra-sse41.cpp, full asm coverage for intra prediction
16649 [b456566376ad]
16650
166512014-02-25 Praveen Tiwari <Praveen Tiwari>
16652
16653 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
16654 source/common/x86/intrapred8.asm:
16655 all_angs_pred_32x32, asm code
16656 [ea1c03303b16]
16657
166582014-02-25 Steve Borho <steve@borho.org>
16659
16660 * source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
16661 source/x265.cpp:
16662 input: workaround MSVC runtime bugs in older compilers (fixes #27)
16663
16664 Prior to VC11, ifstream::pos_type could not handle 64bit sizes
16665 correctly
16666 [a4c676d671d6]
16667
16668 * source/encoder/weightPrediction.cpp:
16669 weight: bump weight analysis logging to --log 4, reduce spew
16670 [1c467346ece8]
16671
16672 * source/encoder/encoder.cpp, source/encoder/encoder.h:
16673 encoder: log the average QP used per frame, per I slices, P, and B
16674 slices
16675 [a41b6a5491ed]
16676
16677 * source/encoder/encoder.cpp:
16678 encoder: rename _param parameter to p for readability
16679 [cfc5647635e0]
16680
16681 * source/test/mbdstharness.cpp:
16682 mbdstharness: nits
16683 [9b48a2847d97]
16684
16685 * source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
16686 testbench: remove redundant casts of X265_MALLOC() output
16687 [62da491b8b22]
16688
166892014-02-25 Aarthi Thirumalai <Aarthi Thirumalai>
16690
16691 * source/encoder/ratecontrol.cpp:
16692 rc: store qp in TComPic::avgQpRc in CQP.
16693 [b86a5ccd3474]
16694
166952014-02-24 Steve Borho <steve@borho.org>
16696
16697 * source/common/param.cpp, source/common/param.h,
16698 source/input/input.cpp, source/input/input.h, source/input/y4m.cpp,
16699 source/input/y4m.h, source/input/yuv.cpp, source/input/yuv.h,
16700 source/x265.cpp:
16701 cli: refactor handling of input file parameters
16702
16703 * allow y4m header to provide aspect ratio
16704 * allow user to override Y4M aspect ratio or frame rate
16705 * allow user to provide data possibly missing from Y4M header
16706 * do not clamp framesToBeEncoded to predicted file size (stop at EOF)
16707 [651c0bc9e280]
16708
16709 * source/encoder/encoder.cpp:
16710 encoder: enable timing info in VPS
16711 [5e375c097de4]
16712
167132014-02-25 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
16714
16715 * source/common/x86/const-a.asm, source/common/x86/mc-a.asm,
16716 source/test/pixelharness.cpp, source/test/pixelharness.h:
16717 asm: fixed invalid testbench input for addAvg primitive, fixed
16718 addition overflow for some block sizes.
16719 [7d009bc2953b]
16720
167212014-02-24 David T Yuen <dtyx265@gmail.com>
16722
16723 * source/common/param.cpp, source/x265.cpp, source/x265.h:
16724 Updated x265_param_parse to use parseName & a few nit fixes
16725 [1f6311b0b2a7]
16726
167272014-02-25 Steve Borho <steve@borho.org>
16728
16729 * source/common/threading.h:
16730 threading: recover include of unistd.h within #if __GNUC__ section
16731
16732 Fixes MinGW build
16733 [a36a669d09e8]
16734
167352014-02-24 Steve Borho <steve@borho.org>
16736
16737 * source/Lib/TLibCommon/TComSlice.h:
16738 TComSlice: nits
16739 [6214d2609ea8]
16740
16741 * source/common/param.cpp:
16742 param: simplify checks of max ctu size, improve abort message
16743 [b8dab8ef744c]
16744
16745 * source/common/threading.h:
16746 threading: include process id in name passed to sem_open() and
16747 sem_unlink()
16748
16749 This should prevent race conditions between x265 processes spinning
16750 up on the same CPUs, and generally make name conflicts very rare.
16751 [1a93191f0c23]
16752
16753 * source/x265.cpp:
16754 cli: remove undocumented and unimplemented --depth CLI option
16755 [18894c99e1a7]
16756
16757 * source/Lib/TLibCommon/TComPicYuv.cpp,
16758 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
16759 source/Lib/TLibCommon/TypeDef.h, source/common/param.cpp,
16760 source/test/intrapredharness.cpp, source/test/mbdstharness.cpp,
16761 source/test/pixelharness.cpp, source/test/testbench.cpp:
16762 Remove g_bitDepth; internal bit depth is always known at compile
16763 time
16764
16765 Simplify param->internalBitDepth checks, remove test bench hacks
16766 [e0af601defb0]
16767
167682014-02-24 Sagar Kotecha <sagar@multicorewareinc.com>
16769
16770 * source/common/CMakeLists.txt, source/common/common.cpp,
16771 source/common/common.h, source/common/param.cpp,
16772 source/common/param.h, source/encoder/encoder.cpp, source/x265.cpp:
16773 consolidate param functionality into param.cpp
16774 [6d584320108c]
16775
167762014-02-24 Aarthi Thirumalai <Aarthi Thirumalai>
16777
16778 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
16779 rc: implement abr reset for single pass ABR + VBV
16780 [ebaa34c8f651]
16781
16782 * source/encoder/frameencoder.cpp:
16783 vbv: refactor, implement row wise qp updates only if vbv is enabled.
16784 [d0aea0cfd263]
16785
16786 * source/encoder/ratecontrol.cpp:
16787 rc: bug fix - clip qp before setting into TComPic:m_avgQpRc.
16788
16789 This fix resolves Encoder crash caused due to invalid qp being used
16790 in each CU.
16791 [acaed9dbaae2]
16792
167932014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
16794
16795 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
16796 tcomrom: remove unused g_sigLastScan8x8 and g_sigLastScanCG32x32
16797 variables
16798 [57ce7f0f4f4c]
16799
168002014-02-23 Aarthi Thirumalai <Aarthi Thirumalai>
16801
16802 * source/encoder/ratecontrol.cpp:
16803 vbv: bug fix in clipQScale
16804 [80caa9f00d7c]
16805
168062014-02-22 Steve Borho <steve@borho.org>
16807
16808 * source/encoder/encoder.cpp:
16809 encoder: use more frame threads when WPP is disabled
16810
16811 Use up to one frame thread per CPU, but cap the frame threads at
16812 half the number of CTU rows. Any more frame threads than that is
16813 generally counter- productive.
16814 [d1cd52bb3461]
16815
168162014-02-23 Steve Borho <steve@borho.org>
16817
16818 * source/common/common.cpp:
16819 common: c is a char pointer
16820 [07537439599b]
16821
168222014-02-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16823
16824 * source/Lib/TLibCommon/NAL.h:
16825 NAL: Define a default constructor for base class to prevent warning
16826 [6e7c2f5b7b22]
16827
16828 * source/common/common.cpp:
16829 common: assignment inside conditional expression
16830 [39e2c8bda975]
16831
168322014-02-22 Steve Borho <steve@borho.org>
16833
16834 * source/common/threadpool.cpp, source/common/threadpool.h,
16835 source/encoder/encoder.cpp:
16836 encoder: use cpu count, rather than pool size, to auto-detect frame
16837 threads
16838
16839 Normally the pool size is the same as the detected cpu count, but
16840 when WPP is disabled, the thread count is 1, and this was breaking
16841 auto-detection of frame threads. Now it will properly use -F4 on
16842 desktops when WPP is disabled.
16843 [734f106295df]
16844
16845 * source/output/output.h, source/output/y4m.h, source/output/yuv.h,
16846 source/x265.cpp:
16847 cli: add a line of logging describing reconstructed image file
16848 [8ec8aba042cc]
16849
16850 * source/Lib/TLibEncoder/TEncSbac.cpp:
16851 TEncSbac: nits
16852 [a640cde93d87]
16853
16854 * source/Lib/TLibEncoder/TEncSbac.cpp,
16855 source/Lib/TLibEncoder/TEncSbac.h:
16856 TEncSbac: cleanup header
16857 [c61a1bf68c57]
16858
16859 * source/Lib/TLibCommon/TComBitStream.cpp:
16860 TComBitstream: nits
16861 [7fb5a8e1465a]
16862
16863 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.h:
16864 NAL: further simplifications
16865 [d8d61736f2fc]
16866
16867 * source/Lib/TLibCommon/NAL.h,
16868 source/Lib/TLibCommon/TComBitStream.cpp,
16869 source/Lib/TLibCommon/TComBitStream.h,
16870 source/Lib/TLibEncoder/NALwrite.cpp,
16871 source/Lib/TLibEncoder/NALwrite.h:
16872 NAL: cleanup write method
16873
16874 This whole class hierarchy is way over-engineered
16875 [44a42cd7f186]
16876
16877 * source/Lib/TLibEncoder/NALwrite.h, source/encoder/frameencoder.cpp:
16878 NAL: use explicit reset method instead of copy constructor
16879 [155fdcd113fb]
16880
16881 * source/common/common.cpp:
16882 common: avoid calling atobool() on non-boolean strings
16883 [f641d88f95dd]
16884
16885 * source/CMakeLists.txt:
16886 cmake: make /WX optional for MSVC
16887 [050273a10519]
16888
16889 * source/common/common.cpp:
16890 common: refactor logic to avoid compiler warnings
16891 [a6cf678f7981]
16892
168932014-02-21 Steve Borho <steve@borho.org>
16894
16895 * source/encoder/encoder.cpp:
16896 encoder: warn about the incomplete nature of the range extensions
16897 [82b05314cc4c]
16898
16899 * source/common/common.cpp, source/x265.h:
16900 api: add an enum for extended SAR
16901 [9d550a10215b]
16902
16903 * source/common/common.cpp:
16904 common: only validate sarWidth and sarHeight when aspectRatioIdx ==
16905 255
16906 [06d3b23ef3b6]
16907
16908 * source/common/common.cpp:
16909 common: fix --extended-sar CLI option atobool() was setting
16910 bError=true
16911 [58ba28e0c9a5]
16912
16913 * source/common/common.cpp:
16914 common: disallow SAR numerator or denominator of 0
16915 [f4bbbae743de]
16916
16917 * source/common/common.cpp:
16918 common: improve error detection and handling in x265_param_parse
16919
16920 * check return code of sscanf
16921 * check int parameters are ints, bools are bools, etc
16922
16923 API users (not using the CLI and getopt)
16924 * allow no-foo and nofoo
16925 * allow foo-bar or foo_bar
16926 * no-wpp=1 works as expected
16927 [0c3cb8fadb6f]
16928
16929 * source/Lib/TLibCommon/TComPic.cpp, source/common/lowres.cpp,
16930 source/common/lowres.h:
16931 lowres: no need to disable AQ on malloc failure, encoder will abort
16932
16933 And thus there's no need to pass aqMode as an int pointer
16934 [ff3306fae207]
16935
16936 * source/Lib/TLibCommon/ContextTables.h,
16937 source/Lib/TLibCommon/TComDataCU.cpp,
16938 source/Lib/TLibCommon/TComPicYuv.cpp, source/common/common.cpp,
16939 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
16940 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
16941 source/test/pixelharness.cpp, source/x265.cpp:
16942 coding style - hand cleanup sections better than uncrustify wanted
16943 to
16944 [66c56fc5dfb9]
16945
16946 * source/Lib/TLibCommon/TComDataCU.cpp,
16947 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
16948 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibEncoder/TEncCfg.h,
16949 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
16950 source/common/primitives.cpp, source/common/x86/asm-primitives.cpp,
16951 source/common/x86/ipfilter8.h, source/encoder/compress.cpp,
16952 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
16953 source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
16954 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
16955 source/encoder/weightPrediction.cpp, source/test/mbdstharness.h,
16956 source/test/pixelharness.cpp, source/x265.cpp, source/x265.h:
16957 mechanically enforce coding style (uncrustify)
16958 [e118b38a5ef8]
16959
16960 * source/common/common.cpp:
16961 common: g_convertToBit cannot be indexed with UINT_MAX either
16962 [047cdb785e84]
16963
169642014-02-21 Sumalatha Polureddy <Sumalatha Polureddy>
16965
16966 * source/common/common.cpp:
16967 common: validate maximum ctusize
16968 [ee58b2bb6f3c]
16969
16970 * source/common/common.cpp:
16971 common: validate "bframe" and "maxCUSize" for positive values
16972 [b8346a9f7020]
16973
169742014-02-21 Satoshi Nakagawa <nakagawa424@oki.com>
16975
16976 * source/Lib/TLibEncoder/TEncSearch.cpp,
16977 source/Lib/TLibEncoder/TEncSearch.h:
16978 m_tempPel as static const
16979 [b4d6162139f5]
16980
169812014-02-20 Aarthi Thirumalai <Aarthi Thirumalai>
16982
16983 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
16984 vbv: integrate row level vbv ratecontrol at each major row diagonal.
16985 [2115a7771ce1]
16986
169872014-02-21 Aarthi Thirumalai <Aarthi Thirumalai>
16988
16989 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
16990 vbv: implement row wise vbvRateControl at each row diagonal
16991 [fea3b6fa376b]
16992
169932014-02-20 Aarthi Thirumalai <Aarthi Thirumalai>
16994
16995 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
16996 source/encoder/ratecontrol.h:
16997 vbv: fix bugs in vbv flow with single pass ABR
16998 [dd1bca7091d5]
16999
17000 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
17001 source/encoder/ratecontrol.h:
17002 vbv: Add row predictors, rc states for vbv.
17003 [b89687d958f8]
17004
17005 * source/encoder/slicetype.cpp:
17006 vbv: enable vbvLookahead for Keyframes; accumulate frame rowSatds
17007 from lowres rowSatds.
17008 [34774abb8677]
17009
170102014-02-21 Aarthi Thirumalai <Aarthi Thirumalai>
17011
17012 * source/Lib/TLibCommon/TComDataCU.cpp,
17013 source/Lib/TLibCommon/TComDataCU.h,
17014 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
17015 source/common/lowres.h, source/encoder/encoder.cpp,
17016 source/encoder/encoder.h, source/x265.h:
17017 vbv: Introduce states to hold row data for row level VBV
17018 ratecontrol.
17019 [00de531690c9]
17020
170212014-02-21 Steve Borho <steve@borho.org>
17022
17023 * source/Lib/TLibCommon/TComDataCU.h,
17024 source/Lib/TLibEncoder/TEncSearch.cpp:
17025 Backed out changeset: cb3a2795a60e
17026
17027 This was found to change output bitstreams, so the vectors must not
17028 have beeen always zero
17029 [5e2043f89aa1]
17030
17031 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17032 source/Lib/TLibEncoder/TEncSearch.cpp:
17033 TComYuv: combine copyPartToPartLuma and copyPartToPartChroma
17034
17035 The new function tries to ensure the proper chroma block is copied,
17036 when necessary.
17037 [13f73b241382]
17038
170392014-02-20 Steve Borho <steve@borho.org>
17040
17041 * source/Lib/TLibEncoder/TEncSearch.cpp,
17042 source/Lib/TLibEncoder/TEncSearch.h:
17043 TEncSearch: remove redundant m_hChromaShift, m_vChromaShift
17044
17045 TComPrediction has these members, and TEncSearch derives from
17046 TComPrediction
17047 [406abea93732]
17048
17049 * source/Lib/TLibEncoder/TEncSearch.cpp,
17050 source/Lib/TLibEncoder/TEncSearch.h:
17051 TEncSearch: use X265_MALLOC for UChar buffers, and uint8_t type
17052 [6b476469c212]
17053
17054 * source/Lib/TLibEncoder/TEncSearch.cpp,
17055 source/Lib/TLibEncoder/TEncSearch.h:
17056 TEncSearch: use X265_MALLOC to allocate pixel buffers, and pixel
17057 type
17058 [fc3db1cfef2a]
17059
170602014-02-21 Satoshi Nakagawa <nakagawa424@oki.com>
17061
17062 * source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp,
17063 source/test/mbdstharness.h:
17064 asm: update count_nonzero, add testbench
17065 [0c19c44af2d3]
17066
170672014-02-20 David T Yuen <dtyx265@gmail.com>
17068
17069 * source/common/common.cpp:
17070 Added vui parameter checking
17071 [6ade3939ef2d]
17072
170732014-02-20 Min Chen <chenm003@163.com>
17074
17075 * source/Lib/TLibEncoder/TEncCu.cpp:
17076 temp fix for out-of-range tmvp (prevents hash mismatch with slower
17077 presets)
17078
17079 we're not sure why this is necessary, so it must be investigated
17080 further.
17081 [a78935e92bf9]
17082
170832014-02-20 Steve Borho <steve@borho.org>
17084
17085 * source/Lib/TLibEncoder/TEncSearch.cpp,
17086 source/Lib/TLibEncoder/TEncSearch.h:
17087 TEncSearch: rename m_qtTempTransformSkipTComYuv to
17088 m_qtTempTransformSkipYuv
17089 [894bde574bc1]
17090
17091 * source/Lib/TLibEncoder/TEncSearch.cpp:
17092 TEncSearch: nits
17093 [f32bbe3ab4f8]
17094
17095 * source/Lib/TLibEncoder/TEncSearch.cpp,
17096 source/Lib/TLibEncoder/TEncSearch.h:
17097 TEncSearch: rename m_qtTempTComYuv to m_qtTempShortYuv
17098
17099 It was always stupid to have the member variable include the full
17100 type name, and it has been the wrong type name for more than 10
17101 months.
17102 [6107faa8f8a6]
17103
17104 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17105 TComYuv: merge copyPartToPartLuma
17106 [5b08cf274fd7]
17107
17108 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17109 TComYuv: merge copyPartToPartChroma() with copyPartToPartYuv
17110 [1ed4cd65af19]
17111
17112 * source/Lib/TLibCommon/TComPrediction.cpp,
17113 source/Lib/TLibCommon/TComPrediction.h:
17114 TComPrediction: remove unused m_predAllAngsBuf, properly init
17115 pointers
17116 [125459e883c3]
17117
17118 * source/Lib/TLibCommon/TComPrediction.cpp,
17119 source/Lib/TLibCommon/TComPrediction.h, source/encoder/compress.cpp:
17120 TComPrediction: remove trivial access methods, use pixel types
17121 [3bb5337cc665]
17122
17123 * source/Lib/TLibCommon/TComPrediction.h:
17124 TComPrediction: remove default argument values for internal
17125 functions
17126 [744553cfdaca]
17127
17128 * source/Lib/TLibCommon/TComPrediction.cpp,
17129 source/Lib/TLibCommon/TComPrediction.h:
17130 TComPrediction: do not pass output pointer as deference
17131
17132 The function cannot change the pointer
17133 [a090acec64cd]
17134
17135 * source/Lib/TLibCommon/TComPrediction.cpp,
17136 source/Lib/TLibCommon/TComPrediction.h,
17137 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
17138 TComPrediction: add missing m_ prefixes to member variables
17139 [8a79a2a0433c]
17140
17141 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17142 TComYuv: remove unnecessary dup pointer checks
17143 [034b21f14834]
17144
17145 * source/Lib/TLibCommon/TComYuv.h:
17146 TComYuv: remove more default argument values
17147 [01dfbf18f791]
17148
17149 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17150 TComYuv: merge methods together for clarity
17151 [873a5a72d85e]
17152
17153 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17154 source/encoder/compress.cpp:
17155 TComYuv: remove default argument values
17156 [9c79a713e9af]
17157
17158 * source/Lib/TLibCommon/TComYuv.h:
17159 TComYuv: make some methods private, for future optimizations
17160 [7afb7b6815c0]
17161
17162 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17163 TComYuv: remove hungarian prefixes
17164 [3d89b437f7f7]
17165
17166 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17167 TComYuv: remove unused copyPartToPartChroma() method
17168 [549f5bf10211]
17169
17170 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17171 source/Lib/TLibEncoder/TEncSearch.cpp:
17172 TComYuv: fix size of chroma partition copy (resolves placebo heap
17173 corruption)
17174 [a6eee111fd6f]
17175
171762014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
17177
17178 * source/Lib/TLibCommon/TComRom.cpp,
17179 source/Lib/TLibEncoder/TEncSearch.cpp:
17180 tcomrom: move ADI intraModeNumFast table to estIntraPredQT(), no
17181 need for global variable
17182 [3993d404361b]
17183
171842014-02-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17185
17186 * source/encoder/ratecontrol.cpp:
17187 ratecontrol: fix bug in acEnergyVar with multiple color spaces
17188 [fec3cab87043]
17189
171902014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
17191
17192 * source/Lib/TLibCommon/CommonDef.h,
17193 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
17194 tcomrom: scaning order table g_sigLastScan replaced with g_scanOrder
17195
17196 Scaning order table initialization moved into initRom() and same
17197 scaning order table can be used for both 444 and 420
17198 [d4669065e692]
17199
172002014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
17201
17202 * source/Lib/TLibCommon/TComDataCU.h,
17203 source/Lib/TLibEncoder/TEncSearch.cpp:
17204 cleanup useless getMvPred*(): always zero mv
17205 [cb3a2795a60e]
17206
172072014-02-20 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
17208
17209 * source/common/x86/dct8.asm:
17210 asm: correct improper macro
17211 [ce20bff2027e]
17212
172132014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
17214
17215 * source/Lib/TLibEncoder/TEncSearch.cpp,
17216 source/Lib/TLibEncoder/TEncSearch.h:
17217 remove unused code
17218 [2cede5a7c1bf]
17219
172202014-02-20 Murugan Vairavel <murugan@multicorewareinc.com>
17221
17222 * source/common/x86/pixel-util8.asm:
17223 asm: modified the range of scale value in dequant
17224 [613fbb0687c9]
17225
172262014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
17227
17228 * source/Lib/TLibCommon/TComDataCU.h,
17229 source/Lib/TLibEncoder/TEncSearch.cpp:
17230 reduce addClip
17231 [fe90b71dc775]
17232
172332014-02-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17234
17235 * source/CMakeLists.txt:
17236 api: bump up X265_BUILD to 7 (refer previous commit)
17237 [6cb88b30deef]
17238
172392014-02-19 David T Yuen <dtyx265@gmail.com>
17240
17241 * source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
17242 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/common.cpp,
17243 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
17244 Added command line options to generate a VUI and add it to the coded
17245 bitstream
17246 [04a72988d48f]
17247
172482014-02-19 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
17249
17250 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
17251 source/common/x86/intrapred16.asm, source/common/x86/mc-a.asm,
17252 source/test/pixelharness.cpp:
17253 asm-16bpp: code for addAvg luma and chroma all sizes
17254 [4670fed41ec7]
17255
172562014-02-19 Steve Borho <steve@borho.org>
17257
17258 * source/encoder/ratecontrol.cpp:
17259 ratecontrol: recover CRF behavior following fps changeset
17260 a6c9a476b205
17261 [3389061b75a4]
17262
17263 * source/encoder/weightPrediction.cpp:
17264 weightp: do not log weights if none are enabled
17265 [d2ebbbbdbe75]
17266
17267 * source/encoder/frameencoder.cpp,
17268 source/encoder/weightPrediction.cpp:
17269 weightp: don't allow the PPS weightp flag to be changed by weight
17270 analysis
17271 [16602968225f]
17272
17273 * source/Lib/TLibEncoder/TEncSearch.cpp:
17274 TEncSearch: white-space nits
17275 [e465b8c259f7]
17276
17277 * source/Lib/TLibEncoder/TEncSbac.cpp:
17278 TEncSbac: white-space nits
17279 [f60c76257811]
17280
172812014-02-19 David T Yuen <dtyx265@gmail.com>
17282
17283 * source/Lib/TLibCommon/TComRom.h,
17284 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
17285 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
17286 Fixed ENC_DEC_TRACE warnings and errors
17287 [1c78bd13a14f]
17288
172892014-02-19 ashok <ashok@multicorewareinc.com>
17290
17291 * source/Lib/TLibCommon/TComDataCU.cpp,
17292 source/Lib/TLibCommon/TComDataCU.h,
17293 source/Lib/TLibCommon/TComTrQuant.cpp,
17294 source/Lib/TLibEncoder/TEncSbac.cpp:
17295 fix for 420 binary mismatch for --preset=slower option
17296 [591ca91f0501]
17297
172982014-02-19 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
17299
17300 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
17301 source/common/x86/dct8.asm, source/test/mbdstharness.cpp:
17302 asm: added 16bpp support for dct[4x4, 8x8], idct4x4, dst4x4 and
17303 idst4x4 primitives
17304 [96e94ea91f58]
17305
173062014-02-19 Steve Borho <steve@borho.org>
17307
17308 * source/common/common.cpp, source/encoder/encoder.cpp:
17309 prevent implicit type conversion warnings from MSVC
17310 [9ddc919f678a]
17311
173122014-02-18 Steve Borho <steve@borho.org>
17313
17314 * source/CMakeLists.txt, source/Lib/TLibCommon/TComSlice.cpp,
17315 source/Lib/TLibCommon/TComSlice.h, source/common/common.cpp,
17316 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
17317 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
17318 source/encoder/slicetype.cpp, source/input/input.h,
17319 source/input/y4m.h, source/input/yuv.h, source/output/output.cpp,
17320 source/output/output.h, source/output/y4m.cpp, source/output/y4m.h,
17321 source/x265.cpp, source/x265.h:
17322 api: add support for float or rational FPS [API CHANGE]
17323
17324 Since x265_param was changing anyway, I went ahead and changed
17325 inputBitDepth to internalBitDepth, which has always been its real
17326 function.
17327
17328 X265_BUILD is bumped to 6
17329 [a6c9a476b205]
17330
17331 * source/x265.cpp:
17332 cli: add x264's 'seek', leave HM's 'frame-skip' as undocumented
17333 alias
17334
17335 We want to support x264's CLI options as much as possible, but don't
17336 want to break any existing scripts
17337 [1a0d5b456b19]
17338
173392014-02-17 Sumalatha Polureddy <Sumalatha Polureddy>
17340
17341 * source/encoder/compress.cpp:
17342 compress: improve rd 1 performance
17343
17344 a. Always allow intra mode for mode decision b. increase more skips
17345 at each depth(do encode of best merge candidates initially and if
17346 the merge is skipped, dont do inter modes)
17347 [9f4d3ef34e5a]
17348
173492014-02-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17350
17351 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
17352 ratecontrol: change RateControl::lastSatd to currentSatd, add
17353 comments
17354 [757d3e3db046]
17355
173562014-02-18 Satoshi Nakagawa <nakagawa424@oki.com>
17357
17358 * source/Lib/TLibCommon/ContextTables.h,
17359 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.cpp:
17360 nextState table
17361 [f1951bb4c2ae]
17362
173632014-02-18 Steve Borho <steve@borho.org>
17364
17365 * source/Lib/TLibCommon/TComPrediction.cpp,
17366 source/Lib/TLibCommon/TComPrediction.h:
17367 TComPrediction: remove unused alloc and stride
17368 [8571d160aedb]
17369
17370 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
17371 backout unintended commit
17372 [1be6b8c8b9ed]
17373
17374 * source/encoder/encoder.cpp:
17375 encoder: show per-slice type SSIM as dB
17376 [720768692efe]
17377
173782014-02-17 Steve Borho <steve@borho.org>
17379
17380 * source/Lib/TLibCommon/TComRom.cpp:
17381 TComRom: use x265_malloc/free for globals
17382 [7b5b3a5475a7]
17383
17384 * source/Lib/TLibCommon/TComRom.cpp,
17385 source/Lib/TLibCommon/TComWeightPrediction.cpp:
17386 TComRom: prevent multiple allocations or frees of globals
17387 [d2a61d579c30]
17388
173892014-02-17 Nabajit Deka <Nabajit Deka>
17390
17391 * source/test/ipfilterharness.cpp:
17392 testbench : test bench correction for chroma_p2s
17393 [3505b249397d]
17394
17395 * source/common/x86/asm-primitives.cpp,
17396 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
17397 asm : asm routine for chroma_p2s for 4:4:4 color space format
17398 [df79cdee5d46]
17399
174002014-02-17 Murugan Vairavel <murugan@multicorewareinc.com>
17401
17402 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
17403 util8.asm:
17404 asm: 16bpp code for quant and dequant_normal
17405 [765d6225b252]
17406
17407 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
17408 testbench: adding seperate input buffer for idct and updated qp
17409 value for quant
17410 [797e8bb43887]
17411
17412 * source/common/x86/asm-primitives.cpp,
17413 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
17414 asm: fix for illegal instruction usage in ipfilter
17415 [46a9e97caaba]
17416
174172014-02-17 Satoshi Nakagawa <nakagawa424@oki.com>
17418
17419 * source/Lib/TLibCommon/TComDataCU.cpp,
17420 source/Lib/TLibCommon/TComDataCU.h,
17421 source/Lib/TLibEncoder/TEncCu.cpp,
17422 source/Lib/TLibEncoder/TEncSearch.cpp,
17423 source/Lib/TLibEncoder/TEncSearch.h:
17424 cleanup unused variables
17425 [a3dc5ba8cc95]
17426
17427 * source/Lib/TLibEncoder/TEncEntropy.cpp,
17428 source/Lib/TLibEncoder/TEncEntropy.h,
17429 source/Lib/TLibEncoder/TEncSbac.cpp,
17430 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
17431 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
17432 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm:
17433 primitives: add count_nonzero
17434 [12d752ac7c4f]
17435
174362014-02-17 Steve Borho <steve@borho.org>
17437
17438 * source/encoder/weightPrediction.cpp:
17439 weightp: fix V plane debug output
17440 [5bf042e30d30]
17441
17442 * source/Lib/TLibCommon/TComSlice.cpp:
17443 TComSlice: nit
17444 [4a06d2485b45]
17445
17446 * source/Lib/TLibCommon/TComSlice.cpp:
17447 TComSlice: remove dup line
17448 [4ba139f9df57]
17449
17450 * source/Lib/TLibCommon/TComSlice.h, source/common/lowres.h,
17451 source/encoder/reference.h:
17452 weight: remove odd struct renaming, remove unused wpACDCParam
17453 [30edc6f7475e]
17454
17455 * source/Lib/TLibCommon/TComSlice.cpp,
17456 source/Lib/TLibCommon/TComSlice.h:
17457 TComSlice: remove unused m_weightACDCParam and methods
17458 [d2312e05014a]
17459
17460 * source/encoder/weightPrediction.cpp:
17461 weightp: add debug logging for weight analysis
17462 [a1047dfeebb6]
17463
17464 * source/encoder/encoder.cpp:
17465 encoder: include the hash output into the debug output string
17466 [393f6ef8b7bd]
17467
174682014-02-16 Steve Borho <steve@borho.org>
17469
17470 * source/common/common.cpp, source/encoder/encoder.cpp,
17471 source/x265.cpp, source/x265.h:
17472 api: change name back to inputBitDepth, to avoid breaking ffmpeg
17473 [ce96cdb390fe]
17474
174752014-02-15 Steve Borho <steve@borho.org>
17476
17477 * source/CMakeLists.txt, source/common/cpu.cpp,
17478 source/common/primitives.cpp:
17479 non-x86 build fixes
17480 [291b3a358a22]
17481
174822014-02-14 Steve Borho <steve@borho.org>
17483
17484 * source/Lib/TLibCommon/TComDataCU.cpp,
17485 source/Lib/TLibCommon/TComDataCU.h,
17486 source/Lib/TLibCommon/TComPattern.h,
17487 source/Lib/TLibCommon/TComPicSym.cpp,
17488 source/Lib/TLibCommon/TComPicYuv.cpp,
17489 source/Lib/TLibCommon/TComPrediction.cpp,
17490 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17491 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17492 source/Lib/TLibCommon/TComSlice.h,
17493 source/Lib/TLibCommon/TComTrQuant.cpp,
17494 source/Lib/TLibCommon/TComTrQuant.h,
17495 source/Lib/TLibCommon/TComYuv.h, source/Lib/TLibCommon/TypeDef.h,
17496 source/Lib/TLibEncoder/TEncCfg.h,
17497 source/Lib/TLibEncoder/TEncEntropy.cpp,
17498 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
17499 source/Lib/TLibEncoder/TEncSbac.cpp,
17500 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
17501 source/common/cpu.cpp, source/common/lowres.cpp,
17502 source/common/lowres.h, source/common/pixel.cpp,
17503 source/common/primitives.cpp, source/common/threading.h,
17504 source/common/threadpool.cpp, source/common/x86/asm-primitives.cpp,
17505 source/common/x86/pixel.h, source/encoder/compress.cpp,
17506 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
17507 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp,
17508 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
17509 source/test/pixelharness.cpp, source/x265.h:
17510 uncrustify all source - mechanically apply coding style
17511 [39ecb3aa82ee]
17512
17513 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/common.cpp,
17514 source/x265.cpp, source/x265.h:
17515 enforce new color space requirements, improve help
17516 [76f13355e520]
17517
17518 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/common.cpp,
17519 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
17520 decouple input depth from internal depth; allow input depth !=
17521 internal depth
17522
17523 Shift and mask input samples as necessary to reach internal depth.
17524 The input depth is no longer in x265_param, where it never really
17525 belonged since pic.bitDepth was the only number that mattered.
17526
17527 Add validations for input color space and bit depths. No CLI option
17528 was added for internal bit depth since it is not currently runtime
17529 configurable.
17530 [b1f5fd61883a]
17531
17532 * build/msys/make-x86_64-w64-mingw32-Makefiles.sh, build/msys
17533 /toolchain-x86_64-w64-mingw32.cmake:
17534 build: add example cross-compile script for Win64 on MinGW32
17535 [0911885e0f28]
17536
175372014-02-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17538
17539 * source/test/ipfilterharness.cpp:
17540 testbench: disable chroma_p2s.
17541 [289b4ef4ecee]
17542
17543 * source/test/ipfilterharness.cpp:
17544 ipfilterharness: resolve compile errors with CSP
17545 [482aa2e636f9]
17546
17547 * source/Lib/TLibCommon/TComSlice.cpp,
17548 source/Lib/TLibCommon/TComSlice.h,
17549 source/Lib/TLibCommon/TComTrQuant.cpp,
17550 source/Lib/TLibCommon/TComTrQuant.h,
17551 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/encoder.cpp,
17552 source/encoder/frameencoder.cpp:
17553 Merge with 444 changes.
17554 [8662459da60b]
17555
17556 * source/Lib/TLibCommon/TComTrQuant.cpp,
17557 source/Lib/TLibCommon/TComTrQuant.h,
17558 source/Lib/TLibEncoder/TEncSearch.cpp:
17559 Backed out changeset: a3a9e0fb1a87
17560
17561 Conflicts with the 444 patches. Will resolve merge and import it in
17562 a seperate patch.
17563 [98f5088cff19]
17564
175652014-02-14 ashok <ashok@multicorewareinc.com>
17566
17567 * source/Lib/TLibCommon/TComLoopFilter.cpp:
17568 Modify TComLoopFilter structure to support multiple color space
17569 formats
17570 [c731d494e9ca]
17571
17572 * source/Lib/TLibCommon/TComPrediction.cpp,
17573 source/Lib/TLibCommon/TComSlice.cpp,
17574 source/Lib/TLibCommon/TComYuv.h,
17575 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/TShortYUV.h,
17576 source/common/common.cpp, source/common/ipfilter.cpp,
17577 source/common/pixel.cpp, source/common/primitives.h,
17578 source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp:
17579 Modify asm primitives functions to support multiple color space
17580 formats
17581 [deb0cffa87fa]
17582
17583 * source/Lib/TLibEncoder/TEncEntropy.cpp:
17584 Modify TEncEntropy structure to support multiple color space formats
17585 [a65cb22fcf10]
17586
17587 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
17588 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
17589 source/Lib/TLibEncoder/TEncCfg.h,
17590 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
17591 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
17592 Modify FrameFilter structure to support multiple color space formats
17593 [6abd54cbff84]
17594
17595 * source/Lib/TLibCommon/TComDataCU.cpp:
17596 Modify TComDataCU structure to support multiple color space formats
17597 [1e8fbc073d4b]
17598
17599 * source/Lib/TLibCommon/TComSlice.h,
17600 source/Lib/TLibCommon/TComTrQuant.cpp,
17601 source/Lib/TLibCommon/TComTrQuant.h,
17602 source/Lib/TLibEncoder/TEncSbac.cpp:
17603 Modify TEncSbac structure to support multiple color space formats
17604 [19532171622a]
17605
17606 * source/Lib/TLibCommon/TComPrediction.cpp,
17607 source/Lib/TLibCommon/TComPrediction.h:
17608 Modify TComPrediction structure to support multiple color space
17609 formats
17610 [ad8a991d626e]
17611
17612 * source/Lib/TLibCommon/TComPattern.cpp,
17613 source/Lib/TLibCommon/TComPattern.h,
17614 source/Lib/TLibCommon/TComPrediction.cpp,
17615 source/Lib/TLibCommon/TComPrediction.h,
17616 source/Lib/TLibEncoder/TEncSearch.cpp:
17617 Modify TComPattern structure to support multiple color space formats
17618 [503e3794098a]
17619
17620 * source/Lib/TLibEncoder/TEncSearch.cpp,
17621 source/Lib/TLibEncoder/TEncSearch.h:
17622 Modify TEncSearch structure to support multiple color space formats
17623 [fb14a98a97e4]
17624
17625 * source/Lib/TLibCommon/TComDataCU.h,
17626 source/Lib/TLibCommon/TComLoopFilter.cpp,
17627 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17628 source/Lib/TLibCommon/TComTrQuant.cpp,
17629 source/Lib/TLibCommon/TComTrQuant.h,
17630 source/Lib/TLibEncoder/TEncSearch.cpp,
17631 source/encoder/frameencoder.cpp:
17632 Modify ChromaScale table to support multiple color space formats
17633 [57156005d32f]
17634
17635 * source/Lib/TLibCommon/CommonDef.h,
17636 source/Lib/TLibCommon/ContextTables.h,
17637 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17638 source/Lib/TLibCommon/TypeDef.h:
17639 Modify TComRom structure to support multiple color space formats
17640 [3572d9d04ff7]
17641
176422014-02-14 Steve Borho <steve@borho.org>
17643
17644 * source/Lib/TLibCommon/TComPicYuv.cpp:
17645 TComPicYuv: use pixel type instead of Pel type
17646 [d77a549b8061]
17647
17648 * source/common/version.cpp:
17649 version: today, our max supported input bit depth is 10
17650 [6b197e8561ec]
17651
17652 * source/input/y4m.cpp, source/input/yuv.cpp:
17653 input: always set depth and colorspace fields
17654 [d329e698d420]
17655
17656 * source/encoder/encoder.cpp:
17657 encoder: use x265_log for per-frame debug log, use dB for SSIM
17658 [da7f6bebdd30]
17659
17660 * source/encoder/encoder.cpp:
17661 encoder: now only one QP per row in CSV output
17662 [a661d9eef931]
17663
176642014-02-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17665
17666 * source/encoder/ratecontrol.cpp:
17667 ratecontrol: cleanup, repetitive code
17668 [5d76e8a19fed]
17669
17670 * source/Lib/TLibCommon/TComSlice.cpp,
17671 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
17672 source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
17673 ratecontrol: cleanup, remove sliceQPBase.
17674
17675 Always a duplicate of sliceQp.
17676 [303634977dc4]
17677
17678 * source/encoder/ratecontrol.cpp:
17679 ratecontrol: cleanup
17680 [4906f1fe7d06]
17681
17682 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
17683 ratecontrol: clean up struct; remove baseQp
17684 [8d4fd1d98337]
17685
176862014-02-14 Steve Borho <steve@borho.org>
17687
17688 * build/msys/make-Makefiles.sh:
17689 build: change eoln of msys bash script to unix
17690 [ad21da9b607c]
17691
176922014-02-14 Satoshi Nakagawa <nakagawa424@oki.com>
17693
17694 * source/Lib/TLibCommon/TComTrQuant.cpp,
17695 source/Lib/TLibCommon/TComTrQuant.h,
17696 source/Lib/TLibEncoder/TEncSearch.cpp:
17697 square transform only
17698 [a3a9e0fb1a87]
17699
177002014-02-14 Nabajit Deka <Nabajit Deka>
17701
17702 * source/common/x86/pixeladd8.asm:
17703 asm: Clean up and minor modifications in pixel_add_ps 16bpp asm
17704 functions(4xN)
17705 [248b665970e8]
17706
177072014-02-14 Steve Borho <steve@borho.org>
17708
17709 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
17710 source/Lib/TLibEncoder/WeightPredAnalysis.h,
17711 source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
17712 source/encoder/frameencoder.h:
17713 remove unused HM WeightPredAnalysis files
17714 [ed310b17ff66]
17715
17716 * source/encoder/encoder.cpp:
17717 encoder: do not generate digest string if we are not going to print
17718 it
17719 [d43e8e0c950d]
17720
17721 * source/encoder/encoder.cpp, source/encoder/encoder.h:
17722 encoder: report the hash digest from the correct frame encoder
17723 [d6559298428a]
17724
177252014-02-14 Sumalatha Polureddy <Sumalatha Polureddy>
17726
17727 * source/encoder/compress.cpp:
17728 compress: Bug fix in rd2
17729
17730 the sa8d cost in rd2 for inter and intra are different for inter,
17731 totalbits = 0, for intra, totalbits = cabac bits for now, making the
17732 totalbits = 0 for both inter and intra
17733 [d90a4adcb492]
17734
17735 * source/encoder/compress.cpp:
17736 compress: missed few lines of code while applying previous patch
17737
17738 1. Increase the eraly skips in rd2 2. Sa8d cost is not calculated,
17739 but used in the code
17740 [11ffc3cfe0d8]
17741
177422014-02-14 Steve Borho <steve@borho.org>
17743
17744 * source/encoder/reference.cpp:
17745 reference: remove unnecessary duplicate variable
17746 [0d033b5677da]
17747
17748 * source/CMakeLists.txt:
17749 cmake: on MSVC, CMAKE_CXX_IMPLICIT_LINK_LIBRARIES and PLATFORM_LIBS
17750 may be empty
17751 [f46c3f816fe7]
17752
177532014-02-13 Steve Borho <steve@borho.org>
17754
17755 * source/CMakeLists.txt:
17756 cmake: add a blacklist of libs to keep from x265.pc Libs.private
17757 [757b127f8ede]
17758
177592014-02-13 Tom Vaughan (tom vaughan <Tom Vaughan (tom.vaughan@multicorewareinc.com)>
17760
17761 * source/common/common.cpp:
17762 Remove redundant settings from performance presets
17763 [0265344d0727]
17764
177652014-02-13 Satoshi Nakagawa <nakagawa424@oki.com>
17766
17767 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17768 source/Lib/TLibCommon/TComTrQuant.cpp,
17769 source/Lib/TLibEncoder/TEncSbac.cpp,
17770 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
17771 source/encoder/compress.cpp:
17772 const tables
17773 [2ce38565571e]
17774
177752014-02-13 Murugan Vairavel <murugan@multicorewareinc.com>
17776
17777 * source/common/x86/ipfilter8.asm:
17778 asm: cleanups for ipfilter functions to reduce register counts
17779 [fcfe87ee36b7]
17780
177812014-02-13 Tom Vaughan (tom vaughan <Tom Vaughan (tom.vaughan@multicorewareinc.com)>
17782
17783 * source/common/common.cpp:
17784 Remove redundant settings from performance presets
17785 [8093e808bfee]
17786
177872014-02-13 Satoshi Nakagawa <nakagawa424@oki.com>
17788
17789 * source/Lib/TLibCommon/TComDataCU.cpp,
17790 source/Lib/TLibCommon/TComDataCU.h,
17791 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17792 source/Lib/TLibCommon/TComTrQuant.cpp,
17793 source/Lib/TLibCommon/TypeDef.h,
17794 source/Lib/TLibEncoder/TEncSearch.cpp:
17795 fix bug on TSKIP
17796 [402b11d9df80]
17797
177982014-02-13 Steve Borho <steve@borho.org>
17799
17800 * source/encoder/compress.cpp:
17801 compress: fix gcc warning, make array const
17802
17803 c:/mcw/x265/source/encoder/compress.cpp:414:22: warning: variable
17804 'bestMergePred' set but not used [-Wunused-but-set-variable]
17805 TComYuv* bestMergePred;
17806 [d9e6f16baa29]
17807
17808 * source/CMakeLists.txt:
17809 cmake: more general fix for CFLAGS breaking resource compiles
17810
17811 There are some versions of rc.exe that also balk at being given
17812 cl.exe flags
17813 [8fdcf1ba38f3]
17814
17815 * source/common/common.cpp, source/x265.h:
17816 api: improve documentation of x265_picture, properly initialize
17817 pic.colorSpace
17818 [1420cb397447]
17819
178202014-02-13 Murugan Vairavel <murugan@multicorewareinc.com>
17821
17822 * source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
17823 source/test/mbdstharness.h:
17824 testbench: added stress test cases for all functions in
17825 mbdstharness.cpp
17826 [5e4e4bda0e7e]
17827
178282014-02-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17829
17830 * Merge
17831 [5e104ed219c3]
17832
17833 * source/Lib/TLibCommon/TComDataCU.cpp,
17834 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
17835 compress: improve rd 2 performance (Patch from Sumalatha)
17836
17837 a. Always allow intra mode for mode decision b. increase more skips
17838 at each depth(do encode of best merge candidates initially and if
17839 the merge is skipped, dont do inter modes)
17840
17841 Bitrate increase compared to rd 3 (4-6%) on most HD clips, quality
17842 maintained. Performance impact to be measured in regression tests.
17843
17844 Sintel 720p clip needs to be investigated further. Poor show here.
17845 [313e42bdd4ea]
17846
178472014-02-13 Steve Borho <steve@borho.org>
17848
17849 * source/common/pixel.cpp:
17850 weightp: add assert to protect assembly limitiation
17851 [df4531a24c4d]
17852
17853 * source/encoder/weightPrediction.cpp:
17854 weightp: pad width passed to weight_pp(), it requires 16byte
17855 alignment
17856 [9dffa4473096]
17857
17858 * source/common/threading.h:
17859 threading: fix compile when XP support is enabled
17860 [7c24e5a920b2]
17861
17862 * source/CMakeLists.txt, source/cmake/version.cmake:
17863 cmake: be quiet about missing optional packages
17864 [f0d82bf20584]
17865
17866 * source/CMakeLists.txt, source/cmake/version.cmake:
17867 cmake: simplify version detection, use single set of variables
17868 [e1088cae157c]
17869
17870 * source/cmake/version.cmake:
17871 cmake: use findGit.cmake, which was available in cmake 2.8.8, our
17872 min version
17873 [726323914cd2]
17874
17875 * source/CMakeLists.txt:
17876 cmake: workaround for MinGW windres
17877 [0fcc87d05d10]
17878
178792014-02-12 Steve Borho <steve@borho.org>
17880
17881 * source/CMakeLists.txt:
17882 cmake: change name of MSVC built shared library to avoid filename
17883 conflicts
17884
17885 the shared library and CLI exe were both trying to write x265.pdb
17886 and x265.ilk with unhelpful results.
17887 [21832083908f]
17888
17889 * source/CMakeLists.txt, source/x265.rc.in:
17890 cmake: add resource file for Windows version info on DLL and EXE
17891
17892 This sadly doesn't work when compiling under MinGW; cmake has an
17893 unresolved bug that passes all CFLAGS to windres, which pukes on
17894 them.
17895 [54189fefdc51]
17896
17897 * source/x265.cpp:
17898 cli: use real log commands
17899 [218f8304978e]
17900
179012014-02-12 Min Chen <chenm003@163.com>
17902
17903 * source/Lib/TLibCommon/TComDataCU.cpp,
17904 source/Lib/TLibCommon/TComDataCU.h,
17905 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
17906 source/Lib/TLibCommon/TComTrQuant.cpp,
17907 source/Lib/TLibCommon/TypeDef.h,
17908 source/Lib/TLibEncoder/TEncSearch.cpp:
17909 fix bug on TSKIP
17910 [d6774d83f39c]
17911
179122014-02-12 Satoshi Nakagawa <nakagawa424@oki.com>
17913
17914 * source/Lib/TLibCommon/TComTrQuant.cpp,
17915 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
17916 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
17917 source/Lib/TLibEncoder/TEncEntropy.cpp,
17918 source/Lib/TLibEncoder/TEncEntropy.h,
17919 source/Lib/TLibEncoder/TEncSbac.cpp,
17920 source/Lib/TLibEncoder/TEncSbac.h:
17921 cleanup TEncSbac
17922 [d22564466556]
17923
179242014-02-12 Steve Borho <steve@borho.org>
17925
17926 * source/encoder/encoder.cpp:
17927 encoder: remove two completed TODOs
17928 [21c2724dfcd1]
17929
17930 * source/encoder/encoder.cpp, source/encoder/encoder.h:
17931 encoder: remember abort condition and stop accepting input frames
17932 [f894b457aca8]
17933
179342014-02-12 Santhoshini Sekar <santhoshini@multicorewareinc.com>
17935
17936 * source/common/lowres.h, source/encoder/ratecontrol.cpp,
17937 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
17938 source/encoder/slicetype.h:
17939 vbv: lookahead
17940 [adee518df8ab]
17941
179422014-02-12 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
17943
17944 * source/common/x86/asm-primitives.cpp,
17945 source/common/x86/intrapred16.asm:
17946 asm-16bpp: assembly code for IntraAng32x32 all modes
17947 [cca149489a6f]
17948
179492014-02-12 Nabajit Deka <Nabajit Deka>
17950
17951 * source/common/x86/pixel-util8.asm:
17952 asm : Clean up and minor modifications in pixel_sub_ps asm
17953 functions(2x4, 2x8, 6x8)
17954 [d83f25c4ae1d]
17955
17956 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
17957 Test bench : Stress test cases for remaining filter functions.
17958 [3eb456f69e34]
17959
179602014-02-12 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
17961
17962 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
17963 source/common/x86/intrapred16.asm:
17964 asm: 16bpp asm code for intra_pred_ang8 - all modes
17965 [5457f23edb5d]
17966
179672014-02-13 Gopu Govindaswamy <Gopu Govindaswamy>
17968
17969 * source/encoder/ratecontrol.cpp:
17970 ratecontrol: to set B-ref frame QP as Lower then B-Frame QP for RC
17971 with CQP mode
17972 [1894c1c35bac]
17973
179742014-02-12 Kavitha Sampath <kavitha@multicorewareinc.com>
17975
17976 * source/encoder/weightPrediction.cpp:
17977 weightp: fix hash mismatch
17978
17979 all references should have same luma and chroma denominator
17980 [51c86499d3bd]
17981
179822014-02-12 Steve Borho <steve@borho.org>
17983
17984 * source/x265.h:
17985 api: we don't need stuttering header guards
17986 [817f5bf391d2]
17987
17988 * source/x265.h:
17989 api: mark externed variables for import from Windows shared library
17990 [c9fc8dab7b9a]
17991
17992 * source/CMakeLists.txt, source/common/cpu.cpp:
17993 cmake: a few fixes for building on ARM (Rapsbery Pi in particular)
17994
17995 Next step will be bringing over ARM cpu detect assembly functions:
17996 x265_cpu_neon_test() x265_cpu_fast_neon_mrc_test()
17997 [5ddbdaefb783]
17998
17999 * source/encoder/weightPrediction.cpp:
18000 weightp: clip lowres MV before using for motion compensation
18001
18002 Even the lowres MVs with very restricted merange can go beyond the
18003 available pixels. This was causing memory access exceptions on some
18004 clips.
18005 [19d7752a4f9c]
18006
18007 * source/encoder/slicetype.cpp:
18008 slicetype: cast mvmin/mvmax indices to signed 16bit values
18009 [a3df372438a4]
18010
180112014-02-12 Min Chen <chenm003@163.com>
18012
18013 * source/common/x86/blockcopy8.asm:
18014 asm: fix bug in cvt16to32_shl
18015 [eedfa574e07e]
18016
180172014-02-11 Santhoshini Sekar <santhoshini@multicorewareinc.com>
18018
18019 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18020 vbv: set vbvminrate
18021 [a8b2456aabef]
18022
18023 * source/encoder/ratecontrol.cpp:
18024 rc: Don't do resetABR in CRF.
18025 [c11f0459464c]
18026
180272014-02-11 Nabajit Deka <Nabajit Deka>
18028
18029 * source/common/x86/blockcopy8.asm:
18030 asm : Optimisations in blockcopy_sp asm routines(2x4, 2x8, 6x8)
18031 [bf2f60a2d425]
18032
180332014-02-03 Nabajit Deka <Nabajit Deka>
18034
18035 * source/test/ipfilterharness.cpp:
18036 testbench: Added stress test cases for
18037 check_IPFilterLuma_ps_primitive, check_IPFilterLuma_hps_primitive
18038 and check_IPFilterLumaHV_primitive filter functions
18039 [eb19b59558c0]
18040
180412014-02-11 Murugan Vairavel <murugan@multicorewareinc.com>
18042
18043 * source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
18044 asm: Optimizations and cleaups on ipfilter functions
18045 [4e5ab7003f23]
18046
180472014-02-03 Nabajit Deka <Nabajit Deka>
18048
18049 * source/test/ipfilterharness.cpp:
18050 testbench: Added stress test cases for chroma_pp, chroma_ps and
18051 chroma_hps filter functions
18052 [43d6027b977b]
18053
180542014-02-11 Steve Borho <steve@borho.org>
18055
18056 * source/encoder/encoder.cpp:
18057 encoder: protect public APIs against NULL pointer arguments
18058 [3dd1f72225e6]
18059
18060 * source/cmake/version.cmake:
18061 cmake: set X265_LATEST_TAG from latesttag: line of .hg_archival.txt
18062
18063 The net effect of this is that non-tagged release bundles will be
18064 capable of installing shared libraries with effective sonames.
18065 [d6fdfa9f4938]
18066
18067 * source/x265.h:
18068 api: improve documentation of x265_picture dts, pts
18069 [973ad4575a27]
18070
180712014-02-10 Steve Borho <steve@borho.org>
18072
18073 * source/encoder/slicetype.cpp:
18074 slicetype: pass bools as bool literals
18075 [07b5d6b82f5f]
18076
180772014-02-11 Satoshi Nakagawa <nakagawa424@oki.com>
18078
18079 * source/Lib/TLibCommon/TComDataCU.cpp,
18080 source/Lib/TLibEncoder/TEncSearch.cpp,
18081 source/Lib/TLibEncoder/TEncSearch.h:
18082 cleanup AMVP related
18083 [2316e8e33512]
18084
180852014-02-10 Satoshi Nakagawa <nakagawa424@oki.com>
18086
18087 * source/Lib/TLibCommon/TComPattern.cpp,
18088 source/Lib/TLibCommon/TComPattern.h,
18089 source/Lib/TLibEncoder/TEncCu.cpp,
18090 source/Lib/TLibEncoder/TEncSearch.cpp:
18091 cleanup unused
18092 [b449d4d4f02d]
18093
180942014-02-10 Steve Borho <steve@borho.org>
18095
18096 * source/Lib/TLibCommon/TComPicYuv.cpp:
18097 pic: use C style comments
18098 [01d0f7758171]
18099
18100 * source/Lib/TLibCommon/TComPicYuv.cpp:
18101 pic: mask impossible input bits
18102 [8538c3383ade]
18103
18104 * source/common/lowres.cpp:
18105 lowres: nits
18106 [96d16486e317]
18107
18108 * source/Lib/TLibCommon/TComPicYuv.cpp,
18109 source/Lib/TLibCommon/TComPicYuv.h, source/common/lowres.cpp,
18110 source/common/pixel.cpp, source/common/primitives.h,
18111 source/encoder/weightPrediction.cpp:
18112 TComPicYuv: replace xExtendPicCompBorder with an optimized function
18113
18114 We've had a primitive for the side borders for some time, it just
18115 wasn't hooked up. This function never should have been a method of
18116 that class.
18117 [47592ed6aa2c]
18118
18119 * source/x265.cpp:
18120 help: --cutree is a boolean flag
18121 [d002f45eee16]
18122
18123 * source/x265.cpp:
18124 help: move --cutree just after aq options
18125 [75f724dd6d4c]
18126
18127 * source/CMakeLists.txt:
18128 cmake: prevent extra errors when system has no C++ compiler
18129 [6b3defda16c1]
18130
18131 * source/encoder/weightPrediction.cpp:
18132 weightp: avoid redundant chroma extensions
18133 [ce7191f49948]
18134
18135 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
18136 source/encoder/dpb.cpp:
18137 TComPic: add m_chromaPlanesExtended member var
18138 [8d98425e0a0a]
18139
181402014-02-10 Kavitha Sampath <kavitha@multicorewareinc.com>
18141
18142 * source/encoder/weightPrediction.cpp:
18143 weightp: extend chroma borders before mcChroma, remove redundant
18144 checks
18145 [62c760413522]
18146
181472014-02-07 Steve Borho <steve@borho.org>
18148
18149 * source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
18150 source/encoder/frameencoder.h, source/encoder/weightPrediction.cpp,
18151 source/encoder/weightPrediction.h:
18152 weightp rewrite without a class
18153
18154 weightp analysis for the main encoder is performed with motion
18155 compensation (using lowres motion vectors from lookahead) when
18156 available. The lowres luma plane is used for luma analysis and the
18157 chroma planes are analysed as-is.
18158 [4ec4065fc392]
18159
181602014-02-10 Steve Borho <steve@borho.org>
18161
18162 * source/Lib/TLibCommon/TComPic.h:
18163 TComPic: clean up data member ordering, add comments
18164 [17847935873a]
18165
181662014-02-08 Satoshi Nakagawa <nakagawa424@oki.com>
18167
18168 * source/Lib/TLibCommon/TComDataCU.cpp,
18169 source/Lib/TLibCommon/TComDataCU.h:
18170 improve getInterMergeCandidates()
18171 [2fc9c0a08534]
18172
181732014-02-09 Satoshi Nakagawa <nakagawa424@oki.com>
18174
18175 * source/Lib/TLibCommon/TComDataCU.cpp,
18176 source/Lib/TLibCommon/TComDataCU.h,
18177 source/Lib/TLibEncoder/TEncSbac.cpp,
18178 source/Lib/TLibEncoder/TEncSearch.cpp:
18179 cleanup MPM related
18180 [0b44c6c07582]
18181
181822014-02-09 Steve Borho <steve@borho.org>
18183
18184 * source/common/common.cpp, source/encoder/encoder.cpp,
18185 source/x265.cpp, source/x265.h:
18186 api: repair `--keyint -1` behavior; single keyframe at beginning of
18187 stream
18188
18189 Also, disable scene cut detection to save a few cycles in lookahead.
18190 Fix and/or improve documentation for the keyint parameters
18191 [60e6a7339027]
18192
181932014-02-07 Murugan Vairavel <murugan@multicorewareinc.com>
18194
18195 * source/common/x86/ipfilter8.asm:
18196 asm: cleanup unused registers interp_4tap_horiz_pp_2xN and 4xN
18197 [fa9f7b56d4d8]
18198
181992014-02-07 Steve Borho <steve@borho.org>
18200
18201 * source/common/CMakeLists.txt, source/common/vec/intra-ssse3.cpp,
18202 source/common/vec/vec-primitives.cpp:
18203 vec: remove intra-ssse3.cpp, full assembly coverage
18204 [7da1a8d3bbbe]
18205
182062014-02-07 Murugan Vairavel <murugan@multicorewareinc.com>
18207
18208 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
18209 source/common/x86/intrapred8.asm:
18210 asm: intra_pred_ang16 code for all remaing modes
18211 [990dbb374285]
18212
182132014-02-07 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18214
18215 * source/common/x86/asm-primitives.cpp,
18216 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h,
18217 source/common/x86/mc-a.asm, source/common/x86/pixel.h:
18218 asm: correction of function declaration to sse4
18219 [95fc15598e3e]
18220
182212014-02-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18222
18223 * source/common/x86/sad-a.asm:
18224 asm: fix sad_x4 stress case failure on AVX2
18225 [cfbe679e73dc]
18226
182272014-02-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18228
18229 * source/encoder/slicetype.cpp, source/x265.h:
18230 x265: remove X265_TYPE_KEYFRAME.
18231
18232 Not used, and not required. IDR/I-slice can be chosen at the outset
18233 based on openGOP.
18234 [c1cea0534e6b]
18235
182362014-02-07 Steve Borho <steve@borho.org>
18237
18238 * source/common/dct.cpp:
18239 dct: disable assertion for 10bit builds
18240
18241 The assertion is there to protect 8bpp assembly
18242 [d2d181f1881a]
18243
18244 * source/encoder/weightPrediction.cpp:
18245 weightp: avoid MSVC warnings about implicit bool to int casts
18246 [da1dda5e762a]
18247
182482014-02-06 Steve Borho <steve@borho.org>
18249
18250 * source/common/vec/intra-ssse3.cpp:
18251 Backed out changeset: 5634d0322161
18252 [53c6acae9b0a]
18253
18254 * source/common/vec/intra-ssse3.cpp:
18255 vec: remove unused angAP array
18256 [5634d0322161]
18257
18258 * source/Lib/TLibCommon/TComBitStream.cpp,
18259 source/Lib/TLibCommon/TComBitStream.h:
18260 TComBitstream: simplify push_back(), fix clear(), give buffsize an
18261 'm_' prefix
18262
18263 The size of the allocated buffer is not reset on clear. Issue an
18264 error message if any mallocs fail, to at least indicate an encoder
18265 in serious trouble.
18266 [f0e14af85843]
18267
18268 * source/Lib/TLibCommon/TComBitStream.cpp:
18269 TComBitstream: fix check for NULL m_fifo member
18270
18271 There was no point in checking for NULL in the if() expression
18272 because m_fifo was used in the else. (identified by clang)
18273 [436cf988b016]
18274
18275 * source/Lib/TLibCommon/TComBitStream.cpp:
18276 TComBitstream: remove hungarianness from parameters and auto-vars
18277 [ddbbb1f92ce3]
18278
18279 * source/Lib/TLibCommon/TComDataCU.cpp,
18280 source/Lib/TLibCommon/TComLoopFilter.cpp,
18281 source/Lib/TLibCommon/TComPrediction.cpp,
18282 source/Lib/TLibCommon/TComTrQuant.cpp,
18283 source/Lib/TLibEncoder/TEncCu.cpp,
18284 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
18285 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.cpp,
18286 source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
18287 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp,
18288 source/x265.cpp:
18289 Fix problems found by clang static analyzser in Xcode
18290
18291 These were mainly stores that were never read
18292 [1a68f0dd9acb]
18293
18294 * source/encoder/weightPrediction.cpp,
18295 source/encoder/weightPrediction.h:
18296 weightp: remove useless m_dstStride variable
18297 [c54271b906da]
18298
18299 * Merge
18300 [21d808d834c4]
18301
18302 * source/Lib/TLibCommon/TComPicYuv.h:
18303 nit
18304 [1776b9a58585]
18305
18306 * source/encoder/weightPrediction.cpp:
18307 weightp: don't use m_ prefix for non member variable
18308 [8f025ee0a506]
18309
18310 * source/encoder/weightPrediction.cpp:
18311 weightp: do not blindly assume 4:2:0 chroma dimensions
18312 [9bc4b7b1454e]
18313
18314 * source/encoder/weightPrediction.cpp,
18315 source/encoder/weightPrediction.h:
18316 weightp: non-trivial constructors and destructors should not be in
18317 headers
18318 [d87b6e92c996]
18319
18320 * source/common/vec/intra-ssse3.cpp:
18321 vec: remove intraPredAng32x32, full asm coverage
18322 [40bec5582eca]
18323
183242014-02-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18325
18326 * source/common/x86/intrapred8.asm:
18327 asm: fix Intrapred_ang[32x32] mode 10 and 26 failure on Mac
18328 [a079afc4e6c7]
18329
183302014-02-06 Gopu Govindaswamy <Gopu Govindaswamy>
18331
18332 * source/encoder/slicetype.cpp:
18333 slicetype: bug fix for cuTree, use int32_t for listamount and
18334 propagate_amount to calculate valid propagate_cost
18335 [6d5207b8b2ef]
18336
183372014-02-06 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18338
18339 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
18340 source/common/x86/sad16-a.asm:
18341 asm: modified satd and sad asm functions in 16bpp to avoid overflow
18342 [ffe13a5eccb9]
18343
183442014-02-06 Murugan Vairavel <murugan@multicorewareinc.com>
18345
18346 * source/test/pixelharness.cpp, source/test/pixelharness.h:
18347 testbench: stress test support for all pixelharness functions
18348 [b86a25eb7968]
18349
183502014-02-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18351
18352 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
18353 source/common/x86/intrapred8.asm:
18354 asm: assembly code for IntraAng32x32 all modes
18355 [76fa0811c4e7]
18356
183572014-02-06 Satoshi Nakagawa <nakagawa424@oki.com>
18358
18359 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
18360 remove unnecessary copyToPicLuma() call
18361 [db0c1dfc3a11]
18362
183632014-02-05 Steve Borho <steve@borho.org>
18364
18365 * source/common/common.cpp:
18366 common: use ATOMIC_CAS32 to update an int
18367 [634bc0b1c246]
18368
18369 * source/common/threadpool.cpp:
18370 threadpool: use aligned malloc to allocate sleep bitmap
18371
18372 This kills three birds with one stone - it removes a source of
18373 possible un- alignment, it removes the restriction of max 64
18374 threads, and it further simplifies pool start and stop
18375 [53b8daed7df5]
18376
18377 * source/encoder/slicetype.cpp:
18378 slicetype: fix 10bpp intra pixel preparations - found by valgrind
18379 [fc90c9b265fd]
18380
18381 * source/common/vec/intra-ssse3.cpp:
18382 vec: remove 4x4 and 8x8 intra mode prediction functions, asm
18383 coverage
18384 [8c9e1b3564e8]
18385
18386 * source/common/vec/intra-sse41.cpp:
18387 vec: remove 4x4, 8x8, and 16x16 allangs functions; covered by
18388 assembly
18389 [bf4dbea1e4f5]
18390
18391 * source/common/x86/asm-primitives.cpp:
18392 asm: remove redundant macro definition
18393 [ea99e4d138cd]
18394
183952014-02-05 Praveen Tiwari <Praveen Tiwari>
18396
18397 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
18398 source/common/x86/intrapred8.asm:
18399 all_angs_pred_16x16, asm code
18400 [906d972bb4b7]
18401
184022014-02-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18403
18404 * source/common/x86/asm-primitives.cpp,
18405 source/common/x86/intrapred8.asm:
18406 asm: intra_pred_ang8 asm code for all modes
18407 [669000ad4a0d]
18408
184092014-02-04 Murugan Vairavel <murugan@multicorewareinc.com>
18410
18411 * source/common/x86/intrapred8.asm:
18412 asm: Modifications to intrapred16 modes 3, 4, 32 and 33 such that it
18413 uses TRANSPOSE_STORE macro of intrapred32
18414 [cd73618857c5]
18415
184162014-02-05 Steve Borho <steve@borho.org>
18417
18418 * source/CMakeLists.txt:
18419 cmake: only officially support 16bpp builds on x64 architectures
18420 [2f54c7616ef8]
18421
184222014-02-05 Aarthi Thirumalai <Aarthi Thirumalai>
18423
18424 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18425 abr: reset ABR to prevent high bitrate peaks in single pass ABR
18426
18427 Long series of blank frames in video followed by detailed content
18428 causes heavy ABR underflow and overall bitrates surges high for a
18429 long while. This patch detects this condition in Single pass ABR
18430 mode and resets ABR - to not consider history from blank frames and
18431 continue from following scene-cut.
18432 [fc86625df0d9]
18433
184342014-02-05 Gopu Govindaswamy <Gopu Govindaswamy>
18435
18436 * source/common/lowres.cpp:
18437 lowres: initialize weightedCostDelta to avoid Valgrind reporting
18438 uninitialized memory
18439 [8d9abc152370]
18440
18441 * source/encoder/slicetype.cpp:
18442 cuTree: bug fix for frameCostRecalculate
18443 [0776a6722375]
18444
184452014-02-05 Steve Borho <steve@borho.org>
18446
18447 * source/encoder/encoder.cpp:
18448 encoder: try not to leak memory after malloc failures
18449 [def14c0234f5]
18450
18451 * source/common/lowres.cpp:
18452 lowres: fix gcc/clang compile errors
18453
18454 gcc doesn't like to jump to labels that bypass variable
18455 initializations, even if they are not used passed the jump
18456 [e05898ee63c0]
18457
184582014-02-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18459
18460 * source/common/x86/asm-primitives.cpp:
18461 Backed out changeset: a88c7bbfba61
18462
18463 The addAvg x86 versions have now been fixed
18464 [1374f1168c5c]
18465
184662014-02-05 Satoshi Nakagawa <nakagawa424@oki.com>
18467
18468 * source/common/x86/mc-a.asm:
18469 fix addAvg
18470 [d20c11f2775f]
18471
184722014-02-04 Steve Borho <steve@borho.org>
18473
18474 * source/common/lowres.cpp, source/common/lowres.h:
18475 lowres: there was no need to pass an int* as an int32_t*
18476 [76be476dfed5]
18477
18478 * source/Lib/TLibCommon/TComDataCU.cpp,
18479 source/Lib/TLibCommon/TComDataCU.h,
18480 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
18481 source/Lib/TLibCommon/TComPicSym.cpp,
18482 source/Lib/TLibCommon/TComPicSym.h,
18483 source/Lib/TLibCommon/TComPicYuv.cpp,
18484 source/Lib/TLibCommon/TComPicYuv.h, source/common/lowres.cpp,
18485 source/common/lowres.h, source/encoder/encoder.cpp, source/x265.cpp:
18486 use checked mallocs in TComPic::create() and in functions it calls
18487
18488 This is the most obvious place memory allocation failures will
18489 occur, at encoder startup. So it is best to catch them cleanly.
18490 [6d0b6602e730]
18491
18492 * source/test/pixelharness.cpp:
18493 pixelharness: actually report chroma addAvg as addAvg, not add_ps
18494 [bed6e485d6c1]
18495
18496 * source/test/pixelharness.cpp:
18497 pixelharness: fix luma_addAvg tests
18498 [43966a9a13ba]
18499
18500 * source/common/x86/asm-primitives.cpp:
18501 asm: disable x86 versions of addAvg - they are broken
18502 [a88c7bbfba61]
18503
18504 * source/common/common.cpp:
18505 log: move lookahead options all together, rate-control at the end
18506 (nit)
18507 [51011b224a7c]
18508
18509 * source/common/lowres.cpp:
18510 lowres: initialize downscale planes immediately after alloc
18511
18512 Valgrind was reporting potential uninitialized memory being used by
18513 the lowres weightp cost estimate function. It is weighting the
18514 entire padded luma plane instead of weighting just the real pixels
18515 and then extending them. The problem is that the buffer stride is
18516 wider than (width + padw*2). We round up the stride to the nearest
18517 multiple of 32 so the row starts are well aligned, and those pixels
18518 at the very right edge of the buffer were never written to. They
18519 should never be used by the encoder, but the weight_pp primitive
18520 does try to weight them; and the last step of the weight function is
18521 a clip, and that conditional move is what triggered the valgrind
18522 warning.
18523 [8d2b20447b8a]
18524
18525 * source/test/ipfilterharness.cpp:
18526 ipfilterharness: fix loop bounds, caused crashes in 16bpp
18527 [c16c7b8416ee]
18528
18529 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18530 slicetype: weight the extended lowres frame prior to MC cost
18531 estimate
18532
18533 valgrind spotted this problem where the top and bottom padded areas
18534 of the lowres reference frame were not weighted into the weightedRef
18535 buffer, so any lowres MVs used for MC that referenced past the top
18536 or bottom picture boundary would access uninitialized pixels.
18537 [592675e50c29]
18538
18539 * source/common/wavefront.cpp, source/common/wavefront.h:
18540 wavefront: rename bitmaps for clarity, add more comments
18541 [23d30a6d4db1]
18542
18543 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h:
18544 common: move malloc/free macros to our header
18545 [0bd4e7603ea1]
18546
18547 * source/common/common.cpp, source/x265.cpp:
18548 cli: change --keyint short option to capital I, add min-keyint,
18549 [no-]shortcut
18550
18551 All these options now match x264's command line features
18552 [2beb0bfb9503]
18553
18554 * source/Lib/TLibCommon/TComTrQuant.cpp:
18555 TComTrQuant: avoid bogus warning from VC9/VC10
18556 [4be0ca7b4448]
18557
185582014-02-04 Satoshi Nakagawa <nakagawa424@oki.com>
18559
18560 * source/Lib/TLibCommon/TComDataCU.h,
18561 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
18562 source/encoder/compress.cpp:
18563 cleanup unused variables
18564 [b54aa2713111]
18565
185662014-02-03 Steve Borho <steve@borho.org>
18567
18568 * source/Lib/TLibEncoder/NALwrite.cpp:
18569 NALWrite: simplify emulation detection
18570 [ff430d39d428]
18571
18572 * source/input/y4m.cpp:
18573 Merge with stable
18574 [f121e16811be]
18575
18576 * source/input/y4m.cpp:
18577 y4m: better handling of eof during frame header reads
18578
18579 It wasn't checking the stream state properly (a bug introduced when
18580 ifs was made into a pointer for stdin) and doing a memcmp against
18581 possibly uninitialized stack memory, which just happened to usually
18582 have a proper frame header in it since the reader thread stack use
18583 is very predictable.
18584
18585 This was the last warning reported by valgrind on the stable branch
18586 [4b8901ae94ec] <stable>
18587
18588 * source/encoder/slicetype.cpp:
18589 slicetype: use x265 naming scheme for auto vars and parameters
18590 [930b251ac6b7]
18591
18592 * source/input/y4m.cpp:
18593 y4m: reorder functions for clarity
18594 [8de9b432ba15]
18595
18596 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18597 slicetype: replace ints and long ints with bools where appropriate
18598 [b0a594fe1867]
18599
18600 * source/input/y4m.cpp:
18601 y4m: simplify guessFrameCount
18602 [c111f1efc9c2]
18603
186042014-02-03 Satoshi Nakagawa <nakagawa424@oki.com>
18605
18606 * source/Lib/TLibCommon/ContextTables.h,
18607 source/Lib/TLibCommon/TComTrQuant.h,
18608 source/Lib/TLibEncoder/TEncSbac.cpp,
18609 source/Lib/TLibEncoder/TEncSbac.h:
18610 reduce context
18611 [d5326d9bf1b2]
18612
186132014-02-03 Steve Borho <steve@borho.org>
18614
18615 * source/encoder/ratecontrol.cpp:
18616 ratecontrol: backout c4e99fde0b and fix indentation
18617 [6aa952372175]
18618
186192014-01-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18620
18621 * source/common/x86/asm-primitives.cpp,
18622 source/common/x86/intrapred8.asm:
18623 assembly code for intra_pred_ang8_5
18624 [2297a3777658]
18625
186262014-02-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18627
18628 * Merge
18629 [169a7d7c51ef]
18630
186312014-01-20 Murugan Vairavel <murugan@multicorewareinc.com>
18632
18633 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
18634 source/common/x86/intrapred8.asm:
18635 asm: code for intra_Pred_Ang16x16 mode 32
18636 [3131a2ac8ec6]
18637
186382014-01-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18639
18640 * source/common/x86/asm-primitives.cpp,
18641 source/common/x86/intrapred8.asm:
18642 assembly code for intra_pred_ang8_4.
18643 [dc2de7c4f6c1]
18644
186452014-01-20 Murugan Vairavel <murugan@multicorewareinc.com>
18646
18647 * source/common/x86/asm-primitives.cpp,
18648 source/common/x86/intrapred8.asm:
18649 asm: code for intra_Pred_Ang16x16 mode 4
18650 [c50f78691043]
18651
18652 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
18653 source/common/x86/intrapred8.asm:
18654 asm: code for Intra_pred_Ang16x16 mode 3 and 33
18655 [e9867f0a16a2]
18656
186572014-02-03 Steve Borho <steve@borho.org>
18658
18659 * source/Lib/TLibCommon/CommonDef.h,
18660 source/Lib/TLibCommon/TComBitStream.cpp,
18661 source/Lib/TLibCommon/TComDataCU.cpp,
18662 source/Lib/TLibCommon/TComPicYuv.cpp,
18663 source/Lib/TLibCommon/TComPrediction.cpp,
18664 source/Lib/TLibCommon/TComTrQuant.cpp,
18665 source/Lib/TLibCommon/TComYuv.cpp,
18666 source/Lib/TLibEncoder/NALwrite.cpp, source/common/TShortYUV.cpp,
18667 source/common/common.cpp, source/common/lowres.cpp,
18668 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
18669 source/encoder/reference.cpp, source/encoder/slicetype.h,
18670 source/encoder/weightPrediction.cpp,
18671 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
18672 source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
18673 common: change X265_MALLOC macro to return typed pointer
18674
18675 One less opportunity for a stupid mistake
18676 [a260f55429e3]
18677
18678 * source/CMakeLists.txt:
18679 cmake: treat empty CMAKE_SYSTEM_PROCESSOR as x86 (fixes #25)
18680 [900a13b0b50a]
18681
18682 * source/encoder/encoder.cpp:
18683 follow x264's keyframe-min logic [CHANGES OUTPUTS] (closes #24)
18684
18685 If no --keyint-min is specified, default to max/10, and clamp the
18686 value to between [1, max / 2 + 1]. This allows x265 to insert I
18687 frames when scene cuts are detected between keyframe-min and
18688 keyframe-max
18689 [898ccce491e9]
18690
186912014-02-03 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18692
18693 * source/Lib/TLibCommon/TComYuv.cpp, source/common/pixel.cpp,
18694 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
18695 source/common/x86/const-a.asm, source/common/x86/mc-a.asm,
18696 source/common/x86/pixel.h, source/test/pixelharness.cpp:
18697 asm: code for addAvg luma and chroma all sizes
18698 [71841b07b8ee]
18699
187002014-02-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18701
18702 * source/encoder/frameencoder.cpp:
18703 frameencoder: use macro MAX_MAX_QP
18704 [55b4d5135e06]
18705
187062014-02-03 Satoshi Nakagawa <nakagawa424@oki.com>
18707
18708 * source/encoder/frameencoder.cpp:
18709 fix
18710 [c89f04114391]
18711
187122014-02-02 Steve Borho <steve@borho.org>
18713
18714 * source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/CMakeLists.txt:
18715 cmake: remove two MSVC warnings overrides, HM code has been somewhat
18716 sanitized
18717 [aab88ed13364]
18718
18719 * source/Lib/TLibCommon/TComPicYuvMD5.cpp,
18720 source/common/CMakeLists.txt:
18721 cmake: remove two MSVC warnings overrides, HM code has been somewhat
18722 sanitized
18723 [8150374cb0d2]
18724
18725 * source/CMakeLists.txt, source/common/CMakeLists.txt,
18726 source/encoder/CMakeLists.txt:
18727 cmake: when x86 arch is detected, set gcc -march=i686 globally
18728
18729 This enables a number of cleanups in the internal cmake scripts
18730 [eff52bc89e94]
18731
187322014-02-01 Steve Borho <steve@borho.org>
18733
18734 * source/CMakeLists.txt:
18735 cmake: prevent warnings from recent builds of cmake
18736
18737 cmake really should ignore cmake_policy(SET foo) if foo is not yet
18738 supported, so every cmake user doesn't have to check the exact
18739 version which introduced that backward compatibility option.. but...
18740 [bb33ab0f4ef9]
18741
18742 * source/common/x86/x86inc.asm:
18743 x86inc: Make ym# behave the same way as xm#
18744
18745 x264 commit 0997c288be10
18746 [81f2c587a0a7]
18747
18748 * source/common/x86/x86inc.asm:
18749 x86inc.asm: allow x64 output format
18750
18751 x264 commit 3361d59a0a83d
18752 [683361fd76c2]
18753
18754 * source/common/x86/x86inc.asm:
18755 asm: pull in pengvado's header patch to speed up yasm compiles
18756 [15f1f927bcfe]
18757
187582014-01-29 Satoshi Nakagawa <nakagawa424@oki.com>
18759
18760 * source/Lib/TLibCommon/ContextTables.h,
18761 source/Lib/TLibCommon/TComDataCU.cpp,
18762 source/Lib/TLibCommon/TComDataCU.h,
18763 source/Lib/TLibCommon/TComTrQuant.cpp,
18764 source/Lib/TLibCommon/TComTrQuant.h,
18765 source/Lib/TLibEncoder/TEncSbac.cpp:
18766 reduce unused context models
18767 [33929c36a646]
18768
187692014-02-01 Steve Borho <steve@borho.org>
18770
18771 * source/CMakeLists.txt:
18772 cmake: fix warning
18773 [737ceb148a27]
18774
18775 * source/CMakeLists.txt:
18776 cmake: use strlower on CMAKE_SYSTEM_PROCESSOR
18777 [9e2b076968e1]
18778
18779 * source/CMakeLists.txt:
18780 cmake: only allow assembly to be enabled for X86, our only asm
18781 platform
18782 [2a7ff626383d]
18783
18784 * source/CMakeLists.txt:
18785 cmake: reorg main file for readability, no behavior changes
18786 [2812a45ace5c]
18787
18788 * source/CMakeLists.txt, source/common/cpu.cpp, source/x265.h:
18789 cpu: port ARM cpu detection code from x264
18790 [0e734b111b1e]
18791
18792 * source/CMakeLists.txt:
18793 cmake: add two more system processor names that are synonyms of x86
18794 [68f2d08654b9]
18795
18796 * source/CMakeLists.txt, source/common/cpu.cpp,
18797 source/common/primitives.cpp:
18798 cmake: improve handling of unknown system processor
18799 [7f1d29a897c1]
18800
18801 * source/encoder/weightPrediction.cpp:
18802 weightp: add math include for POSIX systems
18803 [389328343ccd]
18804
188052014-01-31 Steve Borho <steve@borho.org>
18806
18807 * source/encoder/ratecontrol.cpp:
18808 ratecontrol: use X265_DEPTH instead of g_bitDepth
18809
18810 On 8 bit builds, bit depth is known at compile time, allowing the
18811 compiler to optimize away a few of these operations.
18812 [413ad959a5c6]
18813
18814 * source/Lib/TLibCommon/ContextTables.h,
18815 source/Lib/TLibCommon/TComDataCU.cpp,
18816 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComRom.cpp,
18817 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
18818 source/Lib/TLibEncoder/TEncSbac.cpp,
18819 source/Lib/TLibEncoder/TEncSearch.cpp,
18820 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
18821 source/common/TShortYUV.h, source/common/common.cpp,
18822 source/common/cpu.cpp, source/common/intrapred.cpp,
18823 source/common/ipfilter.cpp, source/common/lowres.h,
18824 source/common/pixel.cpp, source/common/primitives.cpp,
18825 source/common/primitives.h, source/common/threadpool.cpp,
18826 source/common/vec/intra-sse41.cpp, source/common/vec/intra-
18827 ssse3.cpp, source/common/vec/vec-primitives.cpp, source/common/x86
18828 /asm-primitives.cpp, source/encoder/compress.cpp,
18829 source/encoder/cturow.h, source/encoder/encoder.cpp,
18830 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
18831 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
18832 source/encoder/slicetype.h, source/encoder/weightPrediction.cpp,
18833 source/input/y4m.cpp, source/input/yuv.cpp,
18834 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
18835 source/test/pixelharness.cpp, source/x265.h:
18836 uncrustify source (mechanical coding style enforcement)
18837
18838 A few changes that uncrustify wanted to make have been left out of
18839 the commit for style reasons.
18840 [9d0abf80eeb1]
18841
18842 * source/encoder/weightPrediction.cpp:
18843 weightp: cleanups
18844 [fb048ad78e78]
18845
18846 * source/encoder/weightPrediction.cpp:
18847 weightp: vc11-win32-debug workarounds
18848 [461316bc1dd5]
18849
18850 * source/encoder/ratecontrol.cpp:
18851 ratecontrol: add missing braces
18852 [c4e99fde0b0b]
18853
18854 * source/encoder/ratecontrol.cpp:
18855 ratecontrol: white-space nits
18856 [4aed055bd1ed]
18857
18858 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18859 Merge with stable
18860 [65003e385629]
18861
188622014-01-30 Steve Borho <steve@borho.org>
18863
18864 * source/CMakeLists.txt, source/common/CMakeLists.txt,
18865 source/common/cpu.cpp, source/common/primitives.cpp,
18866 source/common/vec/vec-primitives.cpp, source/encoder/CMakeLists.txt:
18867 cmake: attempt to support non-x86 compile targets
18868 [8769cd7b97ac]
18869
188702014-01-31 Steve Borho <steve@borho.org>
18871
18872 * source/CMakeLists.txt, source/common/CMakeLists.txt:
18873 cmake: white-space nits
18874 [58cff481d6ed]
18875
18876 * source/test/ipfilterharness.cpp:
18877 testbench: fix signed/unsigned comparison warning
18878 [24e448ed4341]
18879
188802014-01-30 Nabajit Deka <Nabajit Deka>
18881
18882 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h,
18883 source/test/testharness.h:
18884 testbench: add stress test case for luma_pp filter function
18885 [897067ac23ac]
18886
18887 * source/test/pixelharness.cpp:
18888 testbench: fix for random test bench failure caused by pixeladd_ss
18889 [8f066e4e48e9]
18890
188912014-01-31 Steve Borho <steve@borho.org>
18892
18893 * .hgtags:
18894 Added tag 0.7 for changeset d24e2a8c4326
18895 [edf64ac976ea] <stable>
18896
18897 * source/encoder/slicetype.cpp:
18898 slicetype: comment nits
18899
18900 Remove a comment copied from x264 that has no bearing in x265, and
18901 fix the alignment of another comment.
18902 [d24e2a8c4326] [0.7] <stable>
18903
18904 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18905 slicetype: alloc wpScalingParam instance as a struct member
18906
18907 This is a workaround for VC11. When x265 was compiled for debug
18908 targeting Win32 the stack was being reported as corrupted by
18909 weightCostLuma(). No other compiler or build option would report any
18910 problems (not even valgrind). In the VisualStudio debugger the stack
18911 would be obviously garbaged once the function was entered. Moving
18912 `w` off of the stack makes the VC11 debugger happy again.
18913 [86081bfcacf9] <stable>
18914
18915 * source/encoder/slicetype.cpp:
18916 slicetype: use explicit float type constant
18917 [e04f2b3dea39] <stable>
18918
18919 * source/encoder/slicetype.cpp:
18920 slicetype: prevent divide-by-zero and sqrtf(0)
18921 [3bc0651c0f40] <stable>
18922
189232014-01-31 Praveen Tiwari <Praveen Tiwari>
18924
18925 * source/common/x86/pixel-a.asm:
18926 asm: fix for potential mismach between ASM and no-ASM outputs
18927 [539d1b0561b1] <stable>
18928
189292014-01-30 Steve Borho <steve@borho.org>
18930
18931 * source/Lib/TLibCommon/TComPic.h, source/common/common.h,
18932 source/encoder/encoder.cpp, source/encoder/encoder.h,
18933 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
18934 Merge with stable
18935 [eb3713ab0641]
18936
189372014-01-28 Steve Borho <steve@borho.org>
18938
18939 * source/common/threadpool.cpp:
18940 threadpool: use a wait event per worker thread
18941
18942 For simplicity, this patch caps the number of worker threads to 64.
18943 The bitmap could be trivially extended if necessary.
18944
18945 This removes the common wake event, which complicated startup and
18946 shutdown and flush events.
18947 [6fe8d1d519f7]
18948
189492014-01-30 Steve Borho <steve@borho.org>
18950
18951 * source/encoder/cturow.h, source/encoder/frameencoder.cpp:
18952 cturow: detect and prevent simultaneous row access
18953
18954 Temporary workaround until we are certain the findJob() race hazards
18955 are indeed resolved completely.
18956 [564eefbb3812] <stable>
18957
189582014-01-28 Steve Borho <steve@borho.org>
18959
18960 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
18961 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
18962 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
18963 source/encoder/framefilter.h:
18964 encoder: refactor frame encoder recon row synchronization
18965
18966 The previous approach depended on a common event (owned by TComPic)
18967 being triggered multiple times for each row, one trigger per
18968 referencing frame, but I believe this was fragile as one frame
18969 encoder could steal notifications from another.
18970
18971 In the new scheme, each frame encoder waits on its own sync event
18972 when it blocks for recon pixels. When a frame encoder finishes
18973 reconstructing a CU row, it calls a top-level encoder function which
18974 determines if any frame encoders are blocked on that POC and wakes
18975 them up.
18976
18977 This should prevent deadlocks from frame encoder synchronization
18978 [4a4c4cbe9c67] <stable>
18979
189802014-01-30 Steve Borho <steve@borho.org>
18981
18982 * source/common/wavefront.cpp:
18983 wavefront: eliminate redundant reads of m_queuedBitmap
18984 [6d5f2f61341a] <stable>
18985
18986 * source/common/wavefront.cpp:
18987 wavefront: use x265_malloc for bitmaps, to ensure alignment
18988 [adf571b1bb94] <stable>
18989
18990 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h:
18991 common: consolodate malloc/free funcdefs to common.h
18992 [71f6479dc354] <stable>
18993
189942014-01-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18995
18996 * source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp:
18997 Merge bug fixes from stable.
18998 [fffdf3dce410]
18999
190002014-01-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19001
19002 * source/common/x86/sad-a.asm:
19003 asm: modified pixel_sad asm function to avoid overflow
19004 [b852f74bdd8c] <stable>
19005
19006 * source/common/x86/intrapred16.asm, source/test/intrapredharness.cpp:
19007 asm: fixed hash mismatch on 16bpp due to intra_pred_ang
19008 [c0ec570c0105] <stable>
19009
190102014-01-29 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19011
19012 * source/common/x86/pixel-a.asm:
19013 asm: fix for 32-bit build satd overflow issue.
19014 [86743912a5b0] <stable>
19015
190162014-01-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19017
19018 * source/encoder/encoder.cpp:
19019 log: print Summary for per-frame logging
19020 [e879873ce926]
19021
19022 * source/encoder/encoder.cpp:
19023 log: print ssim(dB) in per-frame csv logging
19024 [46aa0de4a8da]
19025
190262014-01-29 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19027
19028 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
19029 asm: fix overflow due to pixel_satd asm function for 64-bit build
19030 [d6091cb46ae1] <stable>
19031
190322014-01-28 Steve Borho <steve@borho.org>
19033
19034 * source/encoder/encoder.cpp:
19035 nit: line up WPP log info with other config items
19036 [4ec459e04f9e] <stable>
19037
19038 * source/encoder/weightPrediction.cpp:
19039 weightp: fix lowresMvCosts[] indexing, add comment for future work
19040 [8552e8cc1a3c]
19041
19042 * source/encoder/compress.cpp:
19043 Merge with stable
19044 [923edbb08a59]
19045
190462014-01-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19047
19048 * source/encoder/compress.cpp:
19049 compress: insert check for merge MV candidates.
19050 [7f4537c4db7a] <stable>
19051
190522014-01-28 Aarthi Thirumalai (aarthi <Aarthi Thirumalai (aarthi@multicorewareinc.com)>
19053
19054 * source/encoder/ratecontrol.cpp:
19055 rc: bug fix in crf mode ;correct qscale set for all the frames.
19056 [854ff1616d38] <stable>
19057
190582014-01-28 Kavitha Sampath <kavitha@multicorewareinc.com>
19059
19060 * source/encoder/weightPrediction.cpp,
19061 source/encoder/weightPrediction.h:
19062 weightP: fix crash due to access of lowres array
19063
19064 fix crash due to access of lowres array of references with invalid
19065 mvs in weightCost
19066 [728f31cc6eee]
19067
190682014-01-28 Steve Borho <steve@borho.org>
19069
19070 * source/common/common.cpp, source/encoder/slicetype.cpp,
19071 source/x265.cpp:
19072 Merge with stable
19073 [3568c1b19947]
19074
19075 * source/encoder/slicetype.cpp:
19076 slicetype: fix initial threshold passed to slicetypePathCost
19077 [ddd4e4e328d2] <stable>
19078
190792014-01-27 Satoshi Nakagawa <nakagawa424@oki.com>
19080
19081 * source/Lib/TLibCommon/TComDataCU.cpp,
19082 source/Lib/TLibCommon/TComDataCU.h,
19083 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
19084 source/Lib/TLibCommon/TComTrQuant.cpp,
19085 source/Lib/TLibCommon/TypeDef.h,
19086 source/Lib/TLibEncoder/TEncSbac.cpp,
19087 source/Lib/TLibEncoder/TEncSearch.cpp:
19088 cleanup g_convertTxtTypeToIdx[]
19089 [633421b8faf6]
19090
190912014-01-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19092
19093 * source/encoder/weightPrediction.cpp:
19094 weightP: when difPoc is large, prepare to avoid MC - part 2. Patch
19095 from Kavitha
19096 [cb4b0033c7fc]
19097
19098 * source/encoder/weightPrediction.cpp:
19099 weightP: when difPoc is large, prepare to avoid MC. Patch from
19100 Kavitha broken up.
19101 [3be5ca58d9d2]
19102
19103 * source/encoder/frameencoder.cpp:
19104 weightP: build error fix
19105
19106 Inconsistency due to import from stable branch
19107 [4ead340677bf]
19108
19109 * source/x265.cpp:
19110 x265: allow only 10-bit input depths in HIGH_BIT_DEPTh builds
19111 [dd0ef09680fe] <stable>
19112
191132014-01-27 Steve Borho <steve@borho.org>
19114
19115 * source/common/common.cpp:
19116 common: prevent 8bit encodes with HIGH_BIT_DEPTH builds
19117
19118 Some of the interpolation 16bpp assembly routines make assumptions
19119 that the encode depth is 10bits, so HIGH_BIT_DEPTH builds will
19120 generally cause decoder hash mismatches if they encode 8bpp streams.
19121 Prevent this until we have a proper long term solution.
19122 [773b87c2855c] <stable>
19123
19124 * source/common/common.cpp, source/encoder/frameencoder.cpp,
19125 source/encoder/weightPrediction.cpp:
19126 Merge with stable
19127 [3c2441447f2a]
19128
19129 * source/encoder/frameencoder.cpp:
19130 frameencoder: remove commented function which no longer exists
19131
19132 compressMotion() was removed 4 months ago
19133 [26a5e720f290] <stable>
19134
19135 * source/common/common.cpp, source/encoder/frameencoder.cpp:
19136 me: add one more pixel lag for DIA search's relaxed search bounds
19137 [dc4e57833aae] <stable>
19138
19139 * source/common/common.cpp:
19140 common: do not allow encodes other than 4:2:0 to start
19141 [10fc60881bbf] <stable>
19142
191432014-01-24 Kavitha Sampath <kavitha at multicorewareinc.com> <kavitha at multicorewareinc.com>
19144
19145 * source/encoder/weightPrediction.cpp,
19146 source/encoder/weightPrediction.h:
19147 WeightPrediction: check difPoc <= bframes+1 to allow weight analysis
19148 for valid references
19149 [a02a028afea9] <stable>
19150
191512014-01-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19152
19153 * source/common/wavefront.h:
19154 wavefront: add missing initializer
19155 [4fcfa56420fb] <stable>
19156
191572014-01-24 Min Chen <chenm003@163.com>
19158
19159 * source/common/x86/pixel-a.asm:
19160 fix SATD32x32 16bits cumulate sum overflow (x86 version only)
19161 [83767892376d] <stable>
19162
191632014-01-27 Steve Borho <steve@borho.org>
19164
19165 * source/common/common.cpp, source/encoder/frameencoder.cpp:
19166 Merge with stable
19167 [b59b1e579f78]
19168
191692014-01-25 Satoshi Nakagawa <nakagawa424@oki.com>
19170
19171 * source/Lib/TLibCommon/ContextTables.h,
19172 source/Lib/TLibEncoder/TEncSbac.cpp:
19173 HM: context table
19174 [1ea8a52b4f54]
19175
19176 * source/Lib/TLibCommon/TComMotionInfo.h,
19177 source/Lib/TLibCommon/TComPrediction.cpp,
19178 source/Lib/TLibCommon/TComPrediction.h,
19179 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
19180 source/Lib/TLibEncoder/TEncSearch.cpp,
19181 source/Lib/TLibEncoder/TEncSearch.h:
19182 cleanup TComCUMvField::m_cAMVPInfo
19183 [2fc36d0fd1b2]
19184
191852014-01-27 Satoshi Nakagawa <nakagawa424@oki.com>
19186
19187 * source/Lib/TLibEncoder/TEncSearch.cpp,
19188 source/Lib/TLibEncoder/TEncSearch.h:
19189 magic number
19190 [ed2e9fe1a732]
19191
191922014-01-26 Satoshi Nakagawa <nakagawa424@oki.com>
19193
19194 * source/Lib/TLibCommon/ContextTables.h,
19195 source/Lib/TLibEncoder/TEncSbac.cpp:
19196 reduce unused context models
19197 [e0c81b78e529]
19198
191992014-01-27 Steve Borho <steve@borho.org>
19200
19201 * source/common/common.cpp, source/encoder/frameencoder.cpp:
19202 me: add a two pixel pad to the max ME range when calculating
19203 reference lag
19204
19205 We must account for subpel refine search range when calculating how
19206 many rows of reference frames must be encoded ahead of the current
19207 frame. Without this we saw non-deterministic decoder hash mismatches
19208 with some videos.
19209 [b173809575c6] <stable>
19210
192112014-01-24 Steve Borho <steve@borho.org>
19212
19213 * source/input/y4m.cpp, source/input/yuv.cpp:
19214 input: add build flag to disable read thread for debug purposes
19215 [1ac9148a3661] <stable>
19216
19217 * Merge with stable
19218 [237bf6667405]
19219
19220 * source/input/yuv.cpp, source/input/yuv.h:
19221 yuv: support colorspaces in YUV input files (closes #13)
19222 [13dac38f54ac] <stable>
19223
19224 * source/input/y4m.cpp, source/input/yuv.cpp:
19225 input: use ifstream::good() instead of !ifstream::fail()
19226
19227 good() implies bad, fail, and eof flags are all false. The fail()
19228 flag does not include eof status or the bad bit for I/O errors.
19229 [dba087c3613b] <stable>
19230
19231 * source/input/y4m.cpp:
19232 y4m: prevent infinite loop on malformed y4m frame headers
19233 [9867ebc4b164] <stable>
19234
192352014-01-24 Nabajit Deka <Nabajit Deka>
19236
19237 * source/test/ipfilterharness.cpp:
19238 asm : Fix for luma_vss test bench failure
19239 [7f09cfcf176c]
19240
192412014-01-24 Steve Borho <steve@borho.org>
19242
19243 * source/encoder/slicetype.cpp:
19244 Merge with stable
19245 [7cd3a3195598]
19246
19247 * source/encoder/slicetype.cpp:
19248 slicetype: prevent compiler warnings about uninitialized variables
19249 [2a2e5711f63b] <stable>
19250
19251 * source/common/lowres.cpp, source/encoder/slicetype.cpp,
19252 source/encoder/slicetype.h:
19253 Merge with stable
19254 [047fd4670cbe]
19255
192562014-01-24 Satoshi Nakagawa <nakagawa424@oki.com>
19257
19258 * source/encoder/slicetype.cpp:
19259 fix b-pyramid for fixed GOP
19260 [ffee1032eaed] <stable>
19261
192622014-01-24 Steve Borho <steve@borho.org>
19263
19264 * source/encoder/reference.cpp:
19265 reference: pad width of weighted region to multiple of 16
19266 [2ab2bb459d1a] <stable>
19267
19268 * source/common/lowres.h, source/encoder/slicetype.cpp,
19269 source/encoder/slicetype.h:
19270 nits
19271 [c02e59ab4ee9] <stable>
19272
19273 * source/encoder/slicetype.cpp:
19274 slicetype: fix bcost behavior with signed ints
19275 [0431eb3404e7] <stable>
19276
192772014-01-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19278
19279 * source/common/lowres.cpp, source/common/lowres.h,
19280 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
19281 source/encoder/slicetype.h:
19282 slicetype: change all costs to int64_t
19283 [8dd9b7ac5b61] <stable>
19284
19285 * source/common/common.h:
19286 Merge with stable
19287 [807495b7a9fc]
19288
19289 * source/common/common.h:
19290 lowres: fix msys compile error
19291 [f45d9772cc40] <stable>
19292
192932014-01-23 Steve Borho <steve@borho.org>
19294
19295 * source/encoder/slicetype.cpp:
19296 nit
19297 [23c65133c555]
19298
19299 * source/common/lowres.cpp, source/encoder/slicetype.cpp:
19300 white-space and other nits
19301 [438a2258504d]
19302
19303 * source/encoder/slicetype.cpp:
19304 slicetype: repair I frame placement with lookahead disabled
19305
19306 if ((true || foo) && bar) properly degrades to if (bar)
19307 [f0ae3d8d2b03]
19308
19309 * source/common/common.cpp:
19310 preset: re-disable lookahead at ultrafast preset
19311 [c2af7808ef8d]
19312
19313 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19314 Merge with stable
19315 [099a71435329]
19316
19317 * source/common/lowres.cpp, source/common/lowres.h,
19318 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
19319 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19320 slicetype: upgrade frame cost variables to uint64_t
19321 [629d0a685dcb] <stable>
19322
193232014-01-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19324
19325 * source/test/pixelharness.cpp:
19326 testbench: added the chroma_addAvg primitives.
19327 [5460e85ae178]
19328
193292014-01-23 Steve Borho <steve@borho.org>
19330
19331 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19332 slicetype: remove unused numDecided member variable
19333 [f2766083c252]
19334
19335 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19336 Merge with stable
19337 [416713ab5821]
19338
193392014-01-21 Steve Borho <steve@borho.org>
19340
19341 * source/common/lowres.h, source/encoder/reference.cpp,
19342 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19343 slicetype: reorg to make frame cost estimates re-entrant (for RC and
19344 WP)
19345
19346 * moves frame cost calculations into a separate class deriving from
19347 WaveFront
19348 * frames[] array now always declared on stack for better re-entrant
19349 behavior
19350 * re-orders functions in slicetype.cpp for clarity
19351 * internal methods were made protected, for documentation purposes
19352 only
19353 * fixes a few minor problems discovered during the reorg
19354 * removes deprecated ReferencePlanes.unweightedFPelPlane
19355 [e9ec7787cf5e] <stable>
19356
193572014-01-22 Satoshi Nakagawa <nakagawa424@oki.com>
19358
19359 * source/Lib/TLibCommon/TComPattern.cpp,
19360 source/Lib/TLibCommon/TComPattern.h,
19361 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
19362 cleanup initPattern()
19363 [8732434ea913]
19364
193652014-01-20 Satoshi Nakagawa <nakagawa424@oki.com>
19366
19367 * source/Lib/TLibCommon/TypeDef.h,
19368 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
19369 reduce CI_NUM
19370 [6a12fc6e6fdc]
19371
193722014-01-23 Steve Borho <steve@borho.org>
19373
19374 * source/encoder/slicetype.cpp:
19375 Merge with stable
19376 [cbd2ea65f87d]
19377
19378 * source/encoder/slicetype.cpp:
19379 slicetype: issue EMMS before returning a thread to the work pool
19380 [a42dd0dfe90d] <stable>
19381
19382 * source/common/primitives.h:
19383 primitives: move luma_addAvg close to other weight/avg functions
19384 [7aa3ea411568]
19385
19386 * source/common/primitives.h:
19387 primitves: fix a comment
19388 [5bf76ded5209]
19389
19390 * source/common/primitives.h:
19391 primitive: remove two dead funcdefs
19392 [a4c0b6e35dd1]
19393
19394 * source/common/ipfilter.cpp, source/common/primitives.h,
19395 source/common/x86/asm-primitives.cpp,
19396 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
19397 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
19398 primitive: remove dead ipfilter_sp and ipfilter_ss
19399 [ee36ffef7648]
19400
19401 * source/common/ipfilter.cpp, source/common/primitives.h,
19402 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
19403 primitive: remove dead ipfilter_ps
19404 [688f3951c90c]
19405
19406 * source/test/pixelharness.cpp:
19407 pixelharness: remove dead primitive test
19408 [177421068f53]
19409
194102014-01-23 Nabajit Deka <Nabajit Deka>
19411
19412 * source/Lib/TLibCommon/TComPrediction.cpp:
19413 asm : Hook up chroma_vps and chroma_vss with the encoder.
19414 [356ec7ff8a68]
19415
19416 * source/Lib/TLibCommon/TComPrediction.cpp:
19417 asm : Hook up luma_vps and luma_vss with the encoder.
19418 [f5ab67ba11b7]
19419
194202014-01-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19421
19422 * source/Lib/TLibCommon/TComYuv.cpp, source/common/pixel.cpp,
19423 source/common/primitives.h:
19424 asm-primitives: addAvg, fix bug pointed out by Ashok.
19425 [f1bd676fd90f]
19426
194272014-01-22 Steve Borho <steve@borho.org>
19428
19429 * source/common/CMakeLists.txt, source/common/ipfilter.cpp,
19430 source/common/primitives.h, source/common/vec/ipfilter-sse41.cpp,
19431 source/common/vec/vec-primitives.cpp,
19432 source/test/ipfilterharness.cpp:
19433 vec: drop unused vectorized chroma_vsp primitive, ipfilter-sse41.cpp
19434 [29c1940c8acb]
19435
194362014-01-22 Nabajit Deka <Nabajit Deka>
19437
19438 * source/Lib/TLibCommon/TComPrediction.cpp,
19439 source/encoder/weightPrediction.cpp:
19440 asm : Hook up chroma_vsp with the encoder.
19441 [d2bfe01c0f29]
19442
194432014-01-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19444
19445 * Merge from stable
19446 [d8a1e3bebdf8]
19447
194482014-01-22 Kavitha Sampath <kavitha@multicorewareinc.com>
19449
19450 * source/encoder/weightPrediction.cpp:
19451 WeightPrediction: Do not use lowres MV/MVcost for invalid
19452 MVs/MVcosts
19453 [9497c55d7be2] <stable>
19454
19455 * source/encoder/weightPrediction.cpp:
19456 weightp: fix hash mismatch when --ref > 3
19457 [d56dd4d8e08b] <stable>
19458
194592014-01-21 Steve Borho <steve@borho.org>
19460
19461 * source/encoder/slicetype.cpp:
19462 Merge with stable
19463 [0f0ad4c094bd]
19464
19465 * source/encoder/slicetype.cpp:
19466 slicetype: fix cuTree mv indexing (bug found by herman.chen@rock-
19467 chips.com)
19468
19469 This drops the bitrate almost 20% and the SSIM from 0.4-0.9 dB. I
19470 believe this needs rebalancing.
19471 [3cf5a75a8002] <stable>
19472
19473 * source/input/yuv.cpp:
19474 yuv: skip frames one at a time to prevent offset overflow
19475 [e12bb1346bef] <stable>
19476
194772014-01-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19478
19479 * Merge
19480 [ce41ee0f5c8c]
19481
194822014-01-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19483
19484 * source/common/x86/asm-primitives.cpp,
19485 source/common/x86/intrapred8.asm:
19486 assembly code for intra_pred_ang8_3
19487 [b51c1866363d]
19488
194892014-01-20 Steve Borho <steve@borho.org>
19490
19491 * source/x265.cpp:
19492 cli: tweak aq-strength CLI help
19493 [950c9a864cb6]
19494
19495 * source/encoder/slicetype.cpp:
19496 slicetype: white-space fixes
19497 [925e612b0591]
19498
19499 * source/encoder/encoder.cpp:
19500 encoder: fix the slicetype char table
19501 [7bfd1b01953c]
19502
19503 * Merge with stable
19504 [b5b7d8e64024]
19505
195062014-01-20 Gopu Govindaswamy <Gopu Govindaswamy>
19507
19508 * source/Lib/TLibEncoder/NALwrite.cpp:
19509 Nalwrite: removed EMULATION_SIZE macro and calculate the
19510 emulationSize from Encoded bitstream size
19511 [21a5fb7ab965] <stable>
19512
195132014-01-17 Aarthi Thirumalai <Aarthi Thirumalai>
19514
19515 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19516 rc: avoid issues from zero-residual lookahead blocks, introduce a
19517 small bias
19518 [ffb53cd1f953]
19519
19520 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
19521 lookahead: call sliceTypeAnalyse when necessary
19522
19523 call sliceTypeAnalyse even when cutree is on or lookaheadDepth or
19524 scenecutThreashold > 0
19525
19526 performs lookahead when lookaheadDepth > 0, activates lookahead for
19527 cutree when b-adapt/bframes =0 and cutree is set , also enables
19528 scenecut for bframes = 0 cases. improves psnr/ssim by .5 dB.
19529 [bca352c8689e]
19530
195312014-01-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19532
19533 * source/common/common.h:
19534 NALwrite: remove unused macro
19535 [cf79f89c783c]
19536
195372014-01-20 Gopu Govindaswamy <Gopu Govindaswamy>
19538
19539 * source/Lib/TLibEncoder/NALwrite.cpp:
19540 Nalwrite: removed EMULATION_SIZE macro and calculate the
19541 emulationSize from Encoded bitstream size
19542 [356d91e22b25]
19543
195442014-01-17 Min Chen <chenm003@163.com>
19545
19546 * source/common/x86/asm-primitives.cpp,
19547 source/common/x86/intrapred8.asm:
19548 asm: IntraAng32x32 Mode[17]
19549 [9f7fca027b41]
19550
195512014-01-18 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19552
19553 * source/test/pixelharness.cpp, source/test/pixelharness.h:
19554 testbench support for addAvg primitive
19555 [56ce4f7669c6]
19556
195572014-01-17 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19558
19559 * source/Lib/TLibCommon/TComYuv.cpp, source/common/pixel.cpp,
19560 source/common/primitives.h:
19561 primitive function for luma and chroma for loops in addAvg().
19562 [c88314c4a1a1]
19563
195642014-01-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
19565
19566 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
19567 Re-enabling new weightp
19568 [e90e39c3a035]
19569
195702014-01-17 Steve Borho <steve@borho.org>
19571
19572 * source/common/common.cpp:
19573 common: do not report ssim costs by default
19574
19575 It costs CPU cycles to measure SSIM, do not do this unless the user
19576 asks for them with --ssim
19577 [385560ac328d]
19578
19579 * source/common/common.cpp:
19580 common: remove trailing white-space
19581 [299bbf5f06c2]
19582
19583 * source/encoder/encoder.cpp:
19584 white-space fixes, reorder for clarity
19585 [838e485c6365]
19586
19587 * source/encoder/encoder.cpp:
19588 update/fix comments
19589 [c8c8a0273eff]
19590
19591 * source/common/common.cpp, source/encoder/encoder.cpp:
19592 move param fixups to Encoder::configure()
19593 [7855cee45b8c]
19594
195952014-01-15 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19596
19597 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
19598 source/common/x86/intrapred8.asm:
19599 asm: code for intra_pred[BLOCK_32x32] mode 2 and 34
19600 [1d7ea03e1a38]
19601
196022014-01-16 Steve Borho <steve@borho.org>
19603
19604 * source/encoder/encoder.cpp:
19605 stats: simplify slice type lookup
19606 [3d747041271f]
19607
196082014-01-16 Xun Xu, PPLive Corporation <xunxu@pptv.com>
19609
19610 * source/CMakeLists.txt, source/Lib/TLibCommon/TComPic.h,
19611 source/encoder/encoder.cpp, source/encoder/encoder.h,
19612 source/encoder/slicetype.cpp, source/x265.h:
19613 add dts to x265_picture, handle same as x264
19614 [57b3238680c5]
19615
196162014-01-16 Steve Borho <steve@borho.org>
19617
19618 * source/Lib/TLibEncoder/TEncSbac.cpp:
19619 TEncSbac: remove hungarian prefixes from loop vars
19620 [243b01e81109]
19621
196222014-01-12 Satoshi Nakagawa <nakagawa424@oki.com>
19623
19624 * source/encoder/compress.cpp:
19625 remove duplicate code
19626 [188617e76d60]
19627
196282014-01-15 Satoshi Nakagawa <nakagawa424@oki.com>
19629
19630 * source/Lib/TLibCommon/TComTrQuant.h,
19631 source/Lib/TLibEncoder/TEncSbac.cpp:
19632 fix blockCbpBits[]
19633 [04aae8fd88a0]
19634
196352014-01-15 Min Chen <chenm003@163.com>
19636
19637 * source/Lib/TLibCommon/TComDataCU.cpp:
19638 cleanup initCU()
19639 [37b4ca796088]
19640
196412014-01-15 Steve Borho <steve@borho.org>
19642
19643 * source/x265.cpp:
19644 x265: help nit
19645 [e5d28e2c5a82]
19646
196472013-12-17 Kavitha Sampath <kavitha@multicorewareinc.com>
19648
19649 * source/common/common.cpp, source/encoder/dpb.cpp,
19650 source/encoder/slicetype.cpp, source/x265.cpp, source/x265.h:
19651 slicetype: remove --refresh and use --open-gop(default: enable)
19652 [27c2dac98a3c]
19653
196542014-01-14 Steve Borho <steve@borho.org>
19655
19656 * Merge with stable
19657 [7af141be0e7a]
19658
196592014-01-09 Satoshi Nakagawa <nakagawa424@oki.com>
19660
19661 * source/Lib/TLibCommon/TComDataCU.cpp,
19662 source/Lib/TLibCommon/TComDataCU.h,
19663 source/Lib/TLibCommon/TComPrediction.cpp,
19664 source/Lib/TLibEncoder/TEncSearch.cpp:
19665 cleanup MVPNum
19666 [e7624ab39cff]
19667
196682014-01-14 Steve Borho <steve@borho.org>
19669
19670 * source/common/wavefront.cpp:
19671 wavefront: bug fix
19672 [9e923f539d89] <stable>
19673
196742014-01-13 Steve Borho <steve@borho.org>
19675
19676 * source/common/wavefront.cpp:
19677 wavefront: consider enabled bitmap status in
19678 checkHigherPriorityRow()
19679 [8e0fa5fcbf15] <stable>
19680
19681 * source/Lib/TLibCommon/TComYuv.cpp:
19682 TComYuv: pad chroma allocations, fix valgrind warnings
19683 [aae31685d8c7] <stable>
19684
19685 * source/Lib/TLibCommon/TComPicYuv.cpp:
19686 TComPicYuv: add a row and col of padding for lowres interpolation
19687 [8d3cdf1a846e] <stable>
19688
19689 * source/CMakeLists.txt, source/common/CMakeLists.txt:
19690 cmake: tweak order of compiles to improve parallel build times
19691
19692 Move assembly and intrinsic files to front of the build
19693 [3bc604fdd380]
19694
19695 * Merge with stable
19696 [5a607dd446ea]
19697
196982014-01-13 Min Chen <chenm003@163.com>
19699
19700 * source/Lib/TLibCommon/ContextTables.h:
19701 HM: Fix for #576: Context table for CBF
19702 [c9cefa67691c] <stable>
19703
19704 * source/Lib/TLibCommon/ContextTables.h:
19705 HM: Fix for #501: Decoding part_mode with inter_4x4 can use CNU
19706 context
19707 [de98453fa608] <stable>
19708
197092014-01-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
19710
19711 * source/Lib/TLibCommon/TComSlice.h,
19712 source/encoder/weightPrediction.cpp,
19713 source/encoder/weightPrediction.h:
19714 fix for hash mismatch in new weightp
19715 [cd6c34bb4172] <stable>
19716
197172014-01-10 Steve Borho <steve@borho.org>
19718
19719 * Merge with stable
19720 [b2e7d8da2838]
19721
197222014-01-09 Murugan Vairavel <murugan@multicorewareinc.com>
19723
19724 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
19725 source/common/x86/intrapred8.asm:
19726 asm: code for intra_pred[BLOCK_16x16] mode 2 and 34
19727 [c5aa7ae59fc7]
19728
197292014-01-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19730
19731 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
19732 source/common/x86/intrapred8.asm:
19733 asm: intra_pred_ang8_2 asm code
19734 [acbe568e7366]
19735
197362014-01-07 Min Chen <chenm003@163.com>
19737
19738 * source/common/x86/ipfilter8.asm:
19739 improvement interpolate_H_pp
19740 [b2a0cfe4837b]
19741
197422013-12-28 Min Chen <chenm003@163.com>
19743
19744 * source/Lib/TLibEncoder/TEncEntropy.cpp:
19745 cleanup reduce condition check for getUseDQP()
19746 [a03cc8c4d739] <stable>
19747
197482014-01-08 Steve Borho <steve@borho.org>
19749
19750 * source/VectorClass/README.txt, source/VectorClass/instrset.h,
19751 source/VectorClass/vectorclass.h, source/VectorClass/vectori128.h,
19752 source/VectorClass/vectori256.h, source/VectorClass/vectori256e.h,
19753 source/common/vec/ipfilter-ssse3.cpp, source/common/vec/pixel-
19754 sse41.cpp, source/common/vec/pixel-ssse3.cpp,
19755 source/common/vec/pixel16-sse41.cpp,
19756 source/common/x86/intrapred.asm, source/common/x86/pixel-util.asm,
19757 source/test/testpool.cpp:
19758 Merge with default, prepare for 0.7 tag
19759 [0d70188e80bc] <stable>
19760
197612014-01-07 Murugan Vairavel <murugan@multicorewareinc.com>
19762
19763 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
19764 util8.asm:
19765 asm: fix memory access violation due to scale2D_64to32
19766 [c4edab8dab65]
19767
197682014-01-07 Min Chen <chenm003@163.com>
19769
19770 * source/common/x86/ipfilter8.asm:
19771 correct number of xmm register on interp_8tap_horiz*
19772 [ca7bde495318]
19773
197742014-01-06 Steve Borho <steve@borho.org>
19775
19776 * source/Lib/TLibCommon/TComPrediction.cpp:
19777 TComPrediction: simplify luma intra prediction function
19778 [4811da38078c]
19779
19780 * source/Lib/TLibCommon/TComPrediction.cpp:
19781 wtf? a useless comment and if()/else() with two identical
19782 statements?
19783 [c1cf926c20e0]
19784
19785 * source/Lib/TLibCommon/TComBitStream.cpp:
19786 TComBitStream: fix loop bounds so we do not check past end of buffer
19787 [bd9b395c80c7]
19788
19789 * .hgignore:
19790 ignore vim swap files
19791 [6d40ab7be379]
19792
19793 * source/Lib/TLibCommon/TComBitStream.cpp:
19794 TComBitstream: simplify and streamline start code checks
19795 [e1ee0fc31e79]
19796
19797 * source/Lib/TLibCommon/TComBitStream.cpp:
19798 TComBitStream: rename variables for clarity
19799
19800 There was no point making cnt an unsigned variable when the return
19801 value is signed, this just adds more compiler warnings
19802 [324d99e3d6ac]
19803
19804 * source/encoder/motion.cpp:
19805 motion: add early out for subpel refine if bcost is already zero
19806 [63d6b04fe201]
19807
19808 * source/encoder/slicetype.cpp:
19809 slicetype: better prevention for compiler warnings and misbehaviors
19810 [54835bf61c11]
19811
19812 * source/common/x86/asm-primitives.cpp:
19813 asm: disable x265_scale2D_64to32_ssse3, DUMA finds access violations
19814
19815 I tried simple buffer padding workarounds, adding 16 bytes at the
19816 start and end of bufScale, but it was still causing the access
19817 violation.
19818 [d4bef967ae10]
19819
198202014-01-01 Steve Borho <steve@borho.org>
19821
19822 * source/Lib/TLibCommon/TComSlice.h:
19823 slice: nits
19824 [abd4da45823c]
19825
19826 * source/encoder/weightPrediction.cpp:
19827 weight: clarify max denom adjustments
19828 [75f7a9434289]
19829
19830 * source/encoder/weightPrediction.cpp:
19831 weight: nits
19832 [89e57c446a81]
19833
19834 * source/encoder/weightPrediction.cpp:
19835 weight: alloc intermediate weight buffer once per plane
19836 [c35d653ab515]
19837
19838 * source/encoder/weightPrediction.cpp,
19839 source/encoder/weightPrediction.h:
19840 weight: use m_ prefix consistently for all member variables
19841 [d809090f70ad]
19842
19843 * source/encoder/weightPrediction.h:
19844 weightPrediction: remove unused member variables, fix shadow warning
19845 [0715d03808f3]
19846
198472014-01-06 Min Chen <chenm003@163.com>
19848
19849 * source/encoder/frameencoder.cpp:
19850 fix every execute output different bitstream when SAO enabled
19851 [99f28c405b5c]
19852
198532014-01-03 Steve Borho <steve@borho.org>
19854
19855 * source/input/y4m.cpp:
19856 y4m: use loop to skip frames, avoid 32bit size wrap problems
19857 [f96c85f03b77]
19858
198592014-01-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19860
19861 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
19862 Backed out changeset: revert to HM-based weightP
19863 [8137881d4cad]
19864
198652013-12-30 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
19866
19867 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
19868 Integrating new weight analysis in encoder
19869 [dcae0b69d9b3]
19870
19871 * source/encoder/CMakeLists.txt, source/encoder/weightPrediction.cpp,
19872 source/encoder/weightPrediction.h:
19873 Importing x264 weight analysis to encoder
19874 [affdfa4b5537]
19875
19876 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19877 Moving macro to header
19878 [f5427379b40d]
19879
198802013-12-30 Aarthi Thirumalai <Aarthi Thirumalai>
19881
19882 * source/encoder/ratecontrol.cpp:
19883 rc: bug fix to improve quality for the first I frame.
19884 [c86f18d7eb2a]
19885
198862013-12-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19887
19888 * source/common/common.cpp:
19889 common: tune-ssim sets aqmode as AUTO_VARIANCE (2). Gives higher
19890 ssim.
19891 [c561cd778ef5]
19892
198932013-12-27 Aarthi Thirumalai <Aarthi Thirumalai>
19894
19895 * source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
19896 cutree: bug fixes. correct the timescale used in getQScale()
19897 [964e5bc90ad2]
19898
198992013-12-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19900
19901 * source/common/common.cpp:
19902 aq, cutree: completely turn of AQ, at fastest presets
19903
19904 Prevent AQ from running unnecessarily with strength 0.
19905 [8b5c5fe7fbc9]
19906
19907 * source/common/common.cpp:
19908 aq, cutree: preset changes
19909
19910 1. Disable AQ at ultrafast/superfast presets 2. Disable CUTree at
19911 ultrafast/superfast/veryfast/faster presets (requires b-adapt to be
19912 non-zero). 3. tune-psnr disables only AQ, CUtree stays enabled (at
19913 appropriate presets).
19914 [cb2a18cc1d14]
19915
199162013-12-26 Murugan Vairavel <murugan@multicorewareinc.com>
19917
19918 * source/common/x86/blockcopy8.asm:
19919 asm: fix for mismatch in 10bpp block copy
19920 [0210e9c4a6f9]
19921
199222013-12-24 Aarthi Thirumalai <Aarthi Thirumalai>
19923
19924 * source/common/common.cpp, source/encoder/ratecontrol.cpp,
19925 source/encoder/ratecontrol.h, source/x265.h:
19926 aq: Add AQ_AUTO_VARIANCE feature for performing adaptive
19927 quantization.
19928 [2f83ed50ed9a]
19929
199302013-12-25 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19931
19932 * source/encoder/encoder.cpp, source/x265.cpp:
19933 encoder: nits
19934 [08bad990fd66]
19935
199362013-12-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19937
19938 * source/encoder/encoder.cpp:
19939 csv: formatting ssim output
19940 [d74f2e0856b4]
19941
19942 * source/common/common.cpp, source/x265.cpp:
19943 common: change tune-ssim to default. When tune-psnr is enabled, AQ
19944 and CUTree are turned off.
19945 [cb48e00e1fd8]
19946
199472013-12-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19948
19949 * source/encoder/encoder.cpp:
19950 encoder: increase precision, add ssim db info to csv output.
19951 [bb7057e7ed6d]
19952
19953 * source/common/common.cpp:
19954 common: [OUTPUT CHANGES]: change default ratecontrol mode to CRF-28.
19955 AQ on (strength 1.0), CUTree ON. SSIM reporting On, PSNR off.
19956 [aa2856a374a1]
19957
199582013-12-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
19959
19960 * source/encoder/compress.cpp:
19961 rd: optimize rd 0
19962 [3e98f0e66e0b]
19963
19964 * source/encoder/compress.cpp:
19965 rd: fix incorrect check for rdlevel
19966
19967 Merge-skip check should be only for rdlevel 2
19968 [c69ef62da2b6]
19969
19970 * source/encoder/compress.cpp:
19971 rd: modify recon generation in rd 0 to have lesser mem copies
19972 [edeccf4c6cdd]
19973
19974 * source/Lib/TLibCommon/TComDataCU.cpp:
19975 rd: remove unnecessary mem copies
19976 [f766e7c3b165]
19977
199782013-12-17 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
19979
19980 * source/encoder/compress.cpp:
19981 compress: clean up
19982 [c1802fef73b4]
19983
19984 * source/encoder/compress.cpp:
19985 rd: move merge-skip check before other modes are checked
19986
19987 in rd 1,0 merge-skip is chosen only based on sa8d threshols.
19988 Checking other Inter/inter modes is unnecessary overhead.
19989 [06ea3901bf35]
19990
19991 * source/encoder/compress.cpp:
19992 rd: fix error in merge-skip identfication in rd 1,0
19993
19994 Cost was not calculated if the best mode is merge-skip in rd 1,0
19995 [526c10b6a808]
19996
19997 * source/encoder/compress.cpp:
19998 compress: remove unused sbaccoder load
19999 [ee272784fa6e]
20000
20001 * source/encoder/compress.cpp:
20002 compress: remove redundant initializations
20003
20004 depth is already initialized in initsubcu
20005 [3aa3ed0fefe8]
20006
20007 * source/encoder/compress.cpp:
20008 compress: remove unnecessary code
20009
20010 reco and resi buffers is not used in this function
20011 [8c90ad61a306]
20012
20013 * source/encoder/compress.cpp:
20014 compress: remove redundant initializations
20015
20016 skipFlags are set to false during initialization.
20017 [e476d497f3cd]
20018
20019 * source/encoder/compress.cpp:
20020 rd: check DQP before best cu is copied to the pic in rd 0
20021 [f9c427b44459]
20022
20023 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/compress.cpp:
20024 rd: remove redundant checkDQP and add checkDQP for rd 0
20025
20026 checkDQP is called on bestCU, so no need to call it after each
20027 encode. For rd0, call checkDQP after residual encode at depth 0.
20028 [5828f199d745]
20029
200302013-12-19 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
20031
20032 * source/encoder/ratecontrol.cpp:
20033 Consider rounded width, height for ssd calculation
20034 [8133378e2250]
20035
20036 * source/Lib/TLibCommon/TComPicYuv.cpp:
20037 Fix typo in extending height to round to multiple of 16
20038 [146051557e0d]
20039
200402013-12-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
20041
20042 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
20043 encoder: print global ssim in db
20044 [60c2a49909f2]
20045
200462013-12-18 Rafaël Carré <funman@videolan.org>
20047
20048 * source/CMakeLists.txt:
20049 cmake: .pc file is useful as well when using static libs
20050 [1c37c4401ea4]
20051
20052 * source/cmake/version.cmake:
20053 cmake: take revision from git if within a git repo
20054 [54445c440ea0]
20055
20056 * source/cmake/version.cmake:
20057 cmake: verify existance of hg repo
20058 [387cd1635278]
20059
200602013-12-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20061
20062 * source/common/common.cpp:
20063 common: tune-ssim turns on aq strength
20064 [09d93b8d5994]
20065
20066 * source/common/common.cpp:
20067 common: adjust tabs
20068 [7f1da6982201]
20069
20070 * source/common/common.cpp:
20071 common: update print params and defaults.
20072
20073 By default, tune-psnr is turned on, which means CUTree is enabled
20074 but AQ strength is zero.
20075 [3055eacc88ae]
20076
20077 * source/common/common.cpp:
20078 common: this check taken care of in encoder::configure()
20079 [7db25026df8e]
20080
20081 * source/common/common.cpp:
20082 common: enable CUtree by default. tune=psnr is the default setting
20083 [06052d963404]
20084
20085 * source/common/common.cpp:
20086 common: remove meaningless warning
20087
20088 aq=1 is required for cutree. Therefore, aq=1, aqstrength=0 is a
20089 valid case for all configs that want cutree but do not want aq (eg,
20090 tune-psnr).
20091 [b9b1533b52d5]
20092
20093 * source/encoder/encoder.cpp:
20094 encoder: increase precision for SSIM printf
20095 [381ff6bcade6]
20096
200972013-12-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
20098
20099 * source/common/common.cpp, source/encoder/ratecontrol.cpp,
20100 source/encoder/slicetype.cpp, source/x265.cpp:
20101 cutree: Enable CUTree for ratecontrol when tune=ssim and bug fix for
20102 cutree
20103
20104 1. added cutree into cli option, default cutree is disabled 2.
20105 --tune=ssim then aq and cutree is enabled 3. Fixed bug in slicetype-
20106 frameCostRecalculate() the qp offset for B and B-REF from lowres
20107 qpAqOffset, for non-B from lowres qpoffset 4. Fixed bug in
20108 Ratecontrol-getQScale - the clip duration should (frameduration *
20109 timescale) when cutree is enabled
20110 [6edecf959a30]
20111
201122013-12-17 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20113
20114 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
20115 rd: remove unnecessary sbaccoder loads
20116 [37e0b00adeec]
20117
20118 * source/Lib/TLibEncoder/TEncSearch.cpp:
20119 rd: fix wrong chroma mode used for mode decision
20120 [119d09b54b95]
20121
201222013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20123
20124 * source/Lib/TLibEncoder/TEncSearch.cpp:
20125 rd level: use cu coeff array while computing Intra coefficients
20126 instead of temp buffer
20127 [37c57d47a9d4]
20128
201292013-12-17 Min Chen <chenm003@163.com>
20130
20131 * source/common/x86/intrapred8.asm:
20132 fix yasm warning 'trailing garbage after expression'
20133 [e1465ef2659c]
20134
20135 * source/common/x86/pixel-util8.asm:
20136 fix crash in pixel_var_16x16_internal, because
20137 RateControl::acEnergyCu() call it with unalignment pointer
20138 [c944aa8fbf2f]
20139
201402013-12-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
20141
20142 * source/encoder/ratecontrol.cpp:
20143 rc: bug fix for variance data calculation for weighted prediction
20144 when aq-mode is disable
20145 [517eadc29cf6]
20146
201472013-12-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20148
20149 * source/common/vec/vec-primitives.cpp:
20150 vec-primitives: avoid warnings
20151 [9ffeea38b119]
20152
20153 * source/Lib/TLibCommon/TComSlice.cpp:
20154 TComSlice: correct initialization list order (warnings on non-VS
20155 compilers).
20156 [7474532db9ec]
20157
201582013-12-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
20159
20160 * source/encoder/ratecontrol.cpp:
20161 rc: Calculate the variance data for weighted prediction if aq-mode
20162 is disable
20163 [baf811614a7a]
20164
201652013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
20166
20167 * source/encoder/compress.cpp:
20168 compress: remove unused variables
20169 [91b9cd801cbb]
20170
201712013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20172
20173 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
20174 rd level: use cu coeff array while computing coefficients instead of
20175 temp buffer
20176 [34137673f778]
20177
201782013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
20179
20180 * source/encoder/compress.cpp:
20181 rd level: fix for output mismatch
20182
20183 For boundary conditions, cost calculation was wrong.
20184 [3dae450a06a4]
20185
201862013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20187
20188 * source/Lib/TLibEncoder/TEncSearch.cpp:
20189 rd level: remove unnecessary calculations in intra residual encoding
20190
20191 calcrecon calculates recon,reconQT and reconIpred which is
20192 redundant. Use add and block copy instead of calcrecon.
20193 [9bb16a023918]
20194
201952013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
20196
20197 * source/Lib/TLibCommon/TComDataCU.cpp:
20198 TComDataCU: fix gcc warning
20199 [57efb99765cc]
20200
20201 * source/Lib/TLibEncoder/TEncCu.h:
20202 TEncCu: reintroduce a macro which was removed while merging
20203 [9171e78ee412]
20204
202052013-12-11 Praveen Tiwari <Praveen Tiwari>
20206
20207 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
20208 source/common/x86/intrapred8.asm:
20209 all_angs_pred_8x8, asm code
20210 [43656ecbe66b]
20211
202122013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20213
20214 * source/Lib/TLibEncoder/TEncSearch.cpp:
20215 TEncSearch: fix gcc warning
20216
20217 remove unused variables and shadowed declarations
20218 [238d7f272d1e]
20219
202202013-12-13 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20221
20222 * source/encoder/compress.cpp:
20223 white space nits
20224 [f157836c3713]
20225
20226 * source/encoder/compress.cpp:
20227 rd level: modify mode-decision logic for rd level 0
20228
20229 In rd level 0, sa8d cost used for mode decision across depths.
20230 dct,quant is not done during mode-decision and no recon is
20231 generated. Hence Intra has to use original pixels as reference.
20232 Residual encoding is done at depth 0 and Intra prediction for the
20233 best mode will be done again with recon as reference.
20234 [d2a1b3409656]
20235
20236 * source/Lib/TLibCommon/TComDataCU.cpp,
20237 source/Lib/TLibCommon/TComDataCU.h, source/Lib/TLibEncoder/TEncCu.h,
20238 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
20239 rd level: add functions to do residual encoding at depth 0 for best
20240 modes.
20241
20242 This function will be used for rd level 0.
20243 [e05b990cfb93]
20244
202452013-12-13 Gopu Govindaswamy <gopu@multicorewareinc.com>
20246
20247 * source/common/common.cpp, source/common/lowres.cpp,
20248 source/encoder/ratecontrol.cpp:
20249 rc: Initialized qp and aq offsets and QscaleFactor if aqmode is
20250 disabled these variables need for cutree analyse
20251 [c6ff3ede1f29]
20252
20253 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20254 Slicetype: recalculate the frame cost without re-running lookahead
20255 for cutree
20256 [582e96661432]
20257
202582013-12-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20259
20260 * source/output/yuv.cpp:
20261 Merge with stable
20262 [4b0163d06ba1]
20263
20264 * source/output/yuv.cpp:
20265 yuv: fix more 32-bit compile warnings
20266 [bca251133e70] <stable>
20267
202682013-12-13 Steve Borho <steve@borho.org>
20269
20270 * source/output/yuv.cpp:
20271 Merge with stable
20272 [5cbea1cd3d3a]
20273
20274 * source/output/yuv.cpp:
20275 yuv: prevent 32bit compiler warnings
20276 [14e9dbedab9d] <stable>
20277
202782013-12-12 Steve Borho <steve@borho.org>
20279
20280 * source/output/y4m.cpp:
20281 y4m: perform file offset math in uint64_t
20282 [292a91f3427e]
20283
202842013-12-13 Aarthi Thirumalai <Aarthi Thirumalai>
20285
20286 * source/Lib/TLibCommon/TComSlice.cpp,
20287 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp,
20288 source/encoder/ratecontrol.cpp:
20289 rc: implement ratecontrol upto MAX_MAX_QP.
20290
20291 For RateControl .virtual qps are used from 0 till 69. Howevr,Before
20292 encoding the frame, the qps are clipped back to 51
20293 [926f7034b2f0]
20294
20295 * source/Lib/TLibCommon/CommonDef.h,
20296 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
20297 rc: Initialize virtual qps till 69
20298 [07d83bc1cfad]
20299
203002013-12-12 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
20301
20302 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
20303 Fix for deltaWeight assert failure in Decoder
20304 [ba2f8f5d3b07]
20305
203062013-12-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20307
20308 * source/encoder/compress.cpp:
20309 Merge: changes outputs
20310 [d0cf79d76057]
20311
203122013-12-12 Sumalatha Polureddy <Sumalatha Polureddy>
20313
20314 * source/encoder/compress.cpp:
20315 rd level: fix the incorrect cost calculation for sa8d
20316
20317 In rd level 1, the distortion is sa8d, so cost calculation should be
20318 calrdsadcost() instead of calcrdcost()
20319 [ba3cc2f01138]
20320
20321 * source/encoder/compress.cpp:
20322 rd level: remove the redundant splitflag bit calculation with EARLY
20323 EXIT ON
20324 [fdfecd9f4c9e]
20325
20326 * source/encoder/compress.cpp:
20327 rd level: change the indexing for sa8d threshold array
20328
20329 The index in threshold array won't be same as depth when the max cu
20330 size is less than 64.
20331 [bf541ca76b3a]
20332
203332013-12-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20334
20335 * source/encoder/compress.cpp:
20336 compress: review/clean up top_skip
20337 [20f9187af731]
20338
20339 * source/encoder/compress.cpp:
20340 compress: review/clean up merge
20341 [1012911d1895]
20342
203432013-12-12 Steve Borho <steve@borho.org>
20344
20345 * source/output/yuv.cpp:
20346 Merge with stable
20347 [033a65692b6a]
20348
203492013-12-12 David Bachelart <david.bachelart@bbright.com>
20350
20351 * source/output/yuv.cpp:
20352 yuv: Support 4GB+ YUV files for output
20353 [06e88ad6d922] <stable>
20354
203552013-12-11 Steve Borho <steve@borho.org>
20356
20357 * source/common/CMakeLists.txt, source/common/ipfilter.cpp,
20358 source/common/primitives.h, source/common/vec/ipfilter-ssse3.cpp,
20359 source/common/vec/vec-primitives.cpp:
20360 primitives: drop ipfilter[FILTER_H_P_S_[4|8], including ipfilter-
20361 ssse3.cpp
20362 [a87f12ebb55b]
20363
20364 * source/common/x86/pixel-a.asm:
20365 merge with stable
20366 [25f412ecaba2]
20367
20368 * source/common/x86/pixel-a.asm:
20369 ssd: backport EMMS fix for SSD_4xN
20370 [d2385a789c8a] <stable>
20371
203722013-12-11 Nabajit Deka <nabajit@multicorewareinc.com>
20373
20374 * source/Lib/TLibCommon/TComPrediction.cpp:
20375 asm : Hook up chroma_hps with encoder.
20376 [93a92dafb667]
20377
203782013-12-11 Murugan Vairavel <murugan@multicorewareinc.com>
20379
20380 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20381 util.h, source/common/x86/pixel-util8.asm:
20382 asm: 10bpp code for calcrecon_16x16 and 32x32
20383 [350b0757d1a0]
20384
20385 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20386 util8.asm:
20387 asm: 10bpp code for calcrecon_4x4 and 8x8
20388 [59c09449211d]
20389
203902013-12-11 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20391
20392 * source/test/intrapredharness.cpp:
20393 testbench: fix invalid memory compare for 16bpp primitives
20394 [da972cf802fb]
20395
203962013-12-11 Murugan Vairavel <murugan@multicorewareinc.com>
20397
20398 * source/test/pixelharness.cpp:
20399 asm: 10bpp test bench code for calcrecon
20400 [99f3527f9b7b]
20401
204022013-12-11 Min Chen <chenm003@163.com>
20403
20404 * source/common/x86/intrapred16.asm:
20405 asm: remove reduce operators in intra_pred_planar32
20406 [5d21f5c91495]
20407
204082013-12-11 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20409
20410 * source/common/x86/intrapred16.asm:
20411 asm: fix hash mismatch in intra_pred_planar_32x32 16bpp
20412 [0d2771085aec]
20413
204142013-12-11 Min Chen <chenm003@163.com>
20415
20416 * source/common/x86/ssd-a.asm:
20417 asm: fix miss EMMS in pixel_ssd_ss_4xN
20418 [3e6b5f65f47c]
20419
204202013-12-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20421
20422 * source/common/x86/intrapred16.asm:
20423 asm: fix hash miss match due to intra_pred_ang4_17
20424 [8f634eac2ca0]
20425
204262013-12-10 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20427
20428 * source/common/x86/asm-primitives.cpp,
20429 source/common/x86/intrapred16.asm:
20430 16bpp: assembly code for intra_pred_planar_32x32
20431 [771e657a11fa]
20432
20433 * source/common/x86/intrapred16.asm:
20434 assembly code for intra_pred_planar_16x16 for 10 and 12-bit
20435 [2b618395a586]
20436
204372013-12-11 Gopu Govindaswamy <gopu@multicorewareinc.com>
20438
20439 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/lowres.cpp:
20440 tcomtrquant: when useRDOQ is disabled, it recomputes qpScaled, the
20441 qpScaled for trQuant is already set
20442 [c5f84164ef36]
20443
204442013-12-10 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20445
20446 * source/Lib/TLibEncoder/TEncSearch.cpp,
20447 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
20448 rdlevel: implement rdlevel 1
20449
20450 At each depth, dct, quant, iquant, idct is done on best mode. No RD
20451 done during TU selection. Recon is generated for intra prediction in
20452 neighbouring quadtree is not broken
20453 [298470fa2d19]
20454
20455 * source/Lib/TLibEncoder/TEncSearch.cpp,
20456 source/Lib/TLibEncoder/TEncSearch.h:
20457 add functions for Intra residual transform and quantization without
20458 rd
20459 [14ddc3ed548a]
20460
20461 * source/Lib/TLibEncoder/TEncSearch.cpp,
20462 source/Lib/TLibEncoder/TEncSearch.h:
20463 add function for Inter residual tranform and quantization without RD
20464 [9b7f7303cdb9]
20465
20466 * source/Lib/TLibEncoder/TEncSearch.cpp,
20467 source/Lib/TLibEncoder/TEncSearch.h:
20468 TEncSearch: remove unused functions
20469 [b938ac5cef81]
20470
204712013-12-11 Kavitha Sampath <kavitha@multicorewareinc.com>
20472
20473 * source/Lib/TLibEncoder/TEncCu.cpp:
20474 log: fix memory overread issue
20475 [40895c94da21]
20476
204772013-12-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20478
20479 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp,
20480 source/Lib/TLibEncoder/TEncCu.h, source/encoder/encoder.cpp,
20481 source/encoder/frameencoder.cpp:
20482 cmake: Add LOG_CU_STATISTICS macro to enable/disable CU mode
20483 decision statistics.
20484 [a1e7aac486a7]
20485
204862013-12-10 Steve Borho <steve@borho.org>
20487
20488 * source/encoder/motion.cpp:
20489 motion: nit
20490 [3bf6be9d766b]
20491
20492 * source/common/x86/intrapred16.asm:
20493 intra: fix 64bit build of intrapred16.asm - Min please review
20494 [dcef9f3bca1e]
20495
204962013-12-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20497
20498 * Merge
20499 [c4fdea3fd659]
20500
205012013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20502
20503 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20504 util.h, source/common/x86/pixel-util8.asm:
20505 asm: 10bpp code for calcresidual_16x16 and 32x32
20506 [1169201b50c4]
20507
205082013-12-10 Nabajit Deka <nabajit@multicorewareinc.com>
20509
20510 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
20511 asm : Hook up luma_hps with the encoder.
20512 [af1f46818bed]
20513
20514 * source/test/ipfilterharness.cpp:
20515 Add comment for luma_hps and chroma_hps test bench code.
20516 [1cc5b2d87d8b]
20517
205182013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20519
20520 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
20521 source/common/x86/intrapred16.asm:
20522 asm: 16bpp asm code for intra_pred_ang4 - mode 17,18
20523 [384d99887688]
20524
205252013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20526
20527 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20528 util8.asm:
20529 asm: 10bpp code for calcresidual_4x4 and 8x8
20530 [e4c13676c4b5]
20531
205322013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20533
20534 * source/common/x86/asm-primitives.cpp,
20535 source/common/x86/intrapred16.asm:
20536 asm: 16bpp asm code for intra_pred_ang4 - mode 14,15,16
20537 [573a8cfac514]
20538
205392013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20540
20541 * source/common/x86/asm-primitives.cpp:
20542 asm: 10bpp support for blockcopy_ps and blockcopy_sp
20543 [8f8d4811352a]
20544
205452013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20546
20547 * source/common/x86/asm-primitives.cpp,
20548 source/common/x86/intrapred16.asm:
20549 asm: 16bpp asm code for intra_pred_ang4 - mode 11,12,13
20550 [b29166445321]
20551
205522013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20553
20554 * source/common/x86/asm-primitives.cpp:
20555 asm: 10bpp blockcopy_ps integration for Luma and chroma partitions
20556 [887206700a13]
20557
205582013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20559
20560 * source/common/x86/asm-primitives.cpp,
20561 source/common/x86/intrapred16.asm:
20562 asm: 16bpp code for intra_pred_ang4_26
20563 [1eb855251cc5]
20564
205652013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20566
20567 * source/common/x86/asm-primitives.cpp,
20568 source/common/x86/blockcopy8.asm:
20569 asm: 10bpp code for blockcopy_ps_64xN
20570 [72e7899bef55]
20571
20572 * source/common/x86/blockcopy8.asm:
20573 asm: 10bpp blockcopy_ps bug fix
20574 [8e34f135fd9e]
20575
205762013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20577
20578 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
20579 source/common/x86/intrapred16.asm:
20580 asm: 16bpp asm code for intra_pred_ang4_10
20581 [d604f25e6eab]
20582
205832013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20584
20585 * source/common/x86/asm-primitives.cpp,
20586 source/common/x86/blockcopy8.asm:
20587 asm: 10bpp code for blockcopy_ps_48x64
20588 [1679ad2da2a1]
20589
20590 * source/common/x86/asm-primitives.cpp,
20591 source/common/x86/blockcopy8.asm:
20592 asm: 10bpp code for blockcopy_ps_32xN
20593 [64c8f43aa7ce]
20594
20595 * source/common/x86/asm-primitives.cpp,
20596 source/common/x86/blockcopy8.asm:
20597 asm: 10bpp code for blockcopy_ps_24x32
20598 [e7fff01a464b]
20599
206002013-12-10 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20601
20602 * source/common/x86/asm-primitives.cpp:
20603 16bpp: enabled blockfill_s primitive
20604 [2cf9944afa92]
20605
206062013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20607
20608 * source/common/x86/asm-primitives.cpp,
20609 source/common/x86/blockcopy8.asm:
20610 asm: 10bpp code for blockcopy_ps_16xN
20611 [2e56e8e76f72]
20612
206132013-12-10 Nabajit Deka <nabajit@multicorewareinc.com>
20614
20615 * source/common/ipfilter.cpp:
20616 Bug fix in luma_hps C primitive.
20617 [1863cdede774]
20618
206192013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20620
20621 * source/common/x86/blockcopy8.asm:
20622 asm: 10bpp code for bolckcopy_ps_12x16
20623 [54e8c012597c]
20624
20625 * source/common/x86/asm-primitives.cpp:
20626 asm: pixel_add_ps integration code for Luma and chroma partitions
20627 [0c46964557c8]
20628
206292013-12-10 Min Chen <chenm003@163.com>
20630
20631 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
20632 testbench: fix wrong width parameter in check_planar_primitive()
20633 [5a7f116e3aae]
20634
20635 * source/common/x86/asm-primitives.cpp,
20636 source/common/x86/intrapred16.asm:
20637 asm: Intra Planar 16x16
20638 [5604254f779e]
20639
20640 * rename IntraPred.cpp to intrapred.cpp to avoid name conflict
20641 [7810ce2bdb53]
20642
20643 * source/common/x86/intrapred16.asm:
20644 asm: improvement IntraPredDC_32x32 by replace macro extend by loop
20645 [9a8b0e81330f]
20646
206472013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
20648
20649 * source/common/x86/asm-primitives.cpp,
20650 source/common/x86/blockcopy8.asm:
20651 asm: 10bpp code of blockcopy_pp for 2xN, 4xN, 6x8 and 8xN blocks
20652 [285a4d8c42a0]
20653
206542013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20655
20656 * source/common/x86/asm-primitives.cpp,
20657 source/common/x86/intrapred16.asm:
20658 asm: 16bpp asm code for intra_pred_ang4_8 and intra_pred_ang4_9
20659 [66d8405320d2]
20660
20661 * source/common/x86/asm-primitives.cpp,
20662 source/common/x86/intrapred16.asm:
20663 asm: 16bpp asm code for intra_pred_ang4_7
20664 [f33ca21fe0c2]
20665
206662013-12-10 Min Chen <chenm003@163.com>
20667
20668 * source/common/x86/intrapred16.asm:
20669 asm: alignment branch to 16 bytes
20670 [89fea75bbc1b]
20671
206722013-12-10 Kavitha Sampath <kavitha@multicorewareinc.com>
20673
20674 * source/Lib/TLibEncoder/TEncCu.cpp:
20675 log: fix crash caused by logging after CU analysis
20676 [ef26367cd10c]
20677
206782013-12-09 Steve Borho <steve@borho.org>
20679
20680 * Merge with stable
20681 [a88c5723d266]
20682
206832013-12-03 Steve Borho <steve@borho.org>
20684
20685 * source/Lib/TLibCommon/ContextTables.h,
20686 source/Lib/TLibEncoder/TEncSbac.cpp:
20687 sbac: move global tables into x265 namespace
20688 [7d4f5cbc68e7] <stable>
20689
206902013-12-09 Steve Borho <steve@borho.org>
20691
20692 * source/encoder/ratecontrol.cpp:
20693 Merge with stable
20694 [c6c73ef24c97]
20695
20696 * source/encoder/ratecontrol.cpp:
20697 ratecontrol: avoid reads past the end of chroma buffers
20698 [67e711fde921] <stable>
20699
20700 * source/common/vec/dct-ssse3.cpp:
20701 dct: drop intrinsic DCT 8x8 primitive, we have asm coverage
20702 [eacdbae47e47]
20703
20704 * source/encoder/ratecontrol.cpp:
20705 ratecontrol: make weightp analysis aware of colorspaces
20706 [f25e60a2b62c]
20707
20708 * source/Lib/TLibEncoder/TEncSearch.cpp:
20709 TEncSearch: nit
20710 [644d27bb26e9]
20711
207122013-12-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
20713
20714 * source/encoder/ratecontrol.cpp:
20715 Use correct width/height for chroma in ssd calculation
20716 [7bd7937e762b]
20717
207182013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20719
20720 * source/common/x86/asm-primitives.cpp,
20721 source/common/x86/intrapred16.asm:
20722 asm: 16bpp asm code for intra_pred_ang4_6
20723 [40e204fcf5d4]
20724
20725 * source/common/x86/asm-primitives.cpp,
20726 source/common/x86/intrapred16.asm:
20727 asm: 16bpp asm code for intra_pred_ang4_5
20728 [0587de3aeb9b]
20729
207302013-12-09 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20731
20732 * source/common/x86/asm-primitives.cpp,
20733 source/common/x86/intrapred16.asm:
20734 16bpp: assembly code for intra_planar8
20735 [4c5a86ff2c99]
20736
20737 * source/common/x86/asm-primitives.cpp,
20738 source/common/x86/intrapred16.asm:
20739 16bpp: assembly code for intra_planar4
20740 [39b7cf1f3a89]
20741
207422013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20743
20744 * source/common/x86/asm-primitives.cpp,
20745 source/common/x86/intrapred16.asm:
20746 asm: 16bpp asm code for intra_pred_ang4_4
20747 [6f2660e5a857]
20748
20749 * source/common/x86/asm-primitives.cpp,
20750 source/common/x86/intrapred16.asm:
20751 asm: 16bpp support for intra_pred_ang4_3
20752 [9116410f11b4]
20753
207542013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
20755
20756 * source/common/x86/pixeladd8.asm:
20757 asm: 10bpp code for pixel_add_ps_6x8
20758 [cbd96bfe5732]
20759
20760 * source/common/x86/asm-primitives.cpp,
20761 source/common/x86/pixeladd8.asm:
20762 asm: 10bpp code for pixel_add_ps_64xN
20763 [6385549fefa3]
20764
207652013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20766
20767 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
20768 source/common/x86/intrapred16.asm:
20769 asm: 16bpp asm code for intra_pred_ang4_2
20770 [36ffa3ba6039]
20771
207722013-12-09 Min Chen <chenm003@163.com>
20773
20774 * source/common/x86/intrapred8.asm:
20775 asm: little improvement(pextrd -> movd, jmp to alignlemt address)
20776 [e16a67613973]
20777
207782013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
20779
20780 * source/common/x86/asm-primitives.cpp,
20781 source/common/x86/pixeladd8.asm:
20782 asm: 10bpp code for pixel_add_ps_48x64
20783 [69766745fb6d]
20784
20785 * source/common/x86/asm-primitives.cpp,
20786 source/common/x86/pixeladd8.asm:
20787 asm: 10bpp code for pixel_add_ps_32xN
20788 [ef3bfef112c1]
20789
20790 * source/common/x86/asm-primitives.cpp,
20791 source/common/x86/pixeladd8.asm:
20792 asm: 10bpp code for pixel_add_ps_24x32
20793 [46a23a64eb1e]
20794
20795 * source/common/x86/asm-primitives.cpp,
20796 source/common/x86/pixeladd8.asm:
20797 asm: 10bpp code for pixel_add_ps_16xN
20798 [fdb1ed6efd5b]
20799
20800 * source/common/x86/asm-primitives.cpp,
20801 source/common/x86/pixeladd8.asm:
20802 asm: 10bpp code for pixel_add_ps_12x16
20803 [ced72100d067]
20804
20805 * source/common/x86/asm-primitives.cpp,
20806 source/common/x86/pixeladd8.asm:
20807 asm: 10bpp code for pixel_add_ps_8xN
20808 [1c4d5a2538d5]
20809
208102013-12-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20811
20812 * source/x265.h:
20813 x265: fix bad merge
20814 [55d99b6651f2]
20815
20816 * source/x265.h:
20817 Merge
20818 [c7e7003df711]
20819
208202013-12-09 Min Chen <chenm003@163.com>
20821
20822 * source/test/pixelharness.cpp:
20823 fix bug: avg_pp use weight 32
20824 [5bb46ef28bc5]
20825
20826 * source/common/x86/asm-primitives.cpp, source/common/x86/const-a.asm,
20827 source/common/x86/dct8.asm, source/common/x86/dct8.h:
20828 asm: assembly code for DCT8x8
20829 [8ffd72844276]
20830
208312013-12-07 Murugan Vairavel <murugan@multicorewareinc.com>
20832
20833 * source/common/x86/asm-primitives.cpp,
20834 source/common/x86/pixeladd8.asm:
20835 asm: 10bpp code for pixel_add_ps_4xN
20836 [4f9dc5dc44e0]
20837
208382013-12-07 Min Chen <chenm003@163.com>
20839
20840 * source/test/testpool.cpp:
20841 Merge branch 'X'
20842 [2353322df540]
20843
208442013-12-06 Steve Borho <steve@borho.org>
20845
20846 * Merge
20847 [f655add8bcc2]
20848
208492013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20850
20851 * source/Lib/TLibCommon/TComPrediction.cpp,
20852 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
20853 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
20854 source/common/x86/intrapred.h, source/common/x86/intrapred8.asm,
20855 source/encoder/compress.cpp, source/encoder/slicetype.cpp,
20856 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
20857 cleanup: merge Intra Pred PLANAR mode into intra_pred[]
20858 [8773f7f028c2]
20859
208602013-12-06 Min Chen <chenm003@163.com>
20861
20862 * rename IntraPred.cpp to intrapred.cpp
20863 [a5984c686c55]
20864
208652013-12-06 Murugan Vairavel <murugan@multicorewareinc.com>
20866
20867 * source/common/x86/asm-primitives.cpp,
20868 source/common/x86/pixeladd8.asm:
20869 asm: 10bpp code for pixel_add_ps_2xN
20870 [8eba4667a5e3]
20871
20872 * source/test/pixelharness.cpp:
20873 10bpp: testbench code for pixel_add_ps
20874 [41bfe2b249f8]
20875
20876 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20877 util.h, source/common/x86/pixel-util8.asm:
20878 asm: 10bpp code of pixel_sub for 16xN, 24x32, 32xN,48x64 and 64xN
20879 [4bb40809a372]
20880
208812013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20882
20883 * source/common/x86/asm-primitives.cpp,
20884 source/common/x86/intrapred16.asm:
20885 16bpp: assembly code for intra_pred_dc32
20886 [3933b4a1380d]
20887
20888 * source/common/x86/asm-primitives.cpp,
20889 source/common/x86/intrapred16.asm:
20890 16bpp: assembly code for intra_pred_dc16
20891 [056a712852c9]
20892
20893 * source/common/x86/asm-primitives.cpp,
20894 source/common/x86/intrapred16.asm:
20895 16bpp: assembly code for intra_pred_dc8
20896 [ef6f2bdbaf7d]
20897
20898 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
20899 source/common/x86/const-a.asm, source/common/x86/intrapred16.asm:
20900 16bpp: assembly code for intra_pred_dc4
20901 [059af4b49f8e]
20902
209032013-12-06 Min Chen <chenm003@163.com>
20904
20905 * source/common/x86/intrapred8.asm:
20906 asm: cleanup garbage after fucntion declare
20907 [fef16dcf106f]
20908
209092013-12-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20910
20911 * source/x265.h:
20912 x265: remove obsolete R-D enums
20913 [dadb3ae865cb]
20914
20915 * source/x265.h:
20916 rc params: documentation on i/p/bfactor, qpstep, crf
20917 [3c0a1652611e]
20918
20919 * source/x265.h:
20920 ratecontrol params: documentation for rateTolerance
20921 [08cf1b4ba081]
20922
20923 * source/x265.h:
20924 ratecontrol parameters: add documentation for qcomp
20925 [c889005baa5f]
20926
209272013-12-05 Steve Borho <steve@borho.org>
20928
20929 * source/test/CMakeLists.txt, source/test/testpool.cpp:
20930 cmake: drop pool test; not seriously used since May
20931 [ebd32ea1f84e]
20932
20933 * source/CMakeLists.txt:
20934 cmake: add ENABLE_SHARED cmake option, default to ON
20935
20936 Allow MSVC users to opt-out; to roughly halve the compile time.
20937 Clean up a few nits in the process.
20938 [707901470d11]
20939
20940 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
20941 source/encoder/encoder.cpp:
20942 TEncCu: coding style, lower case initial letter for totalCu
20943 [458173c60685]
20944
20945 * source/CMakeLists.txt:
20946 cmake: bump X265_BUILD post 0.6, since x265_param has changed
20947 [9442edac08b7]
20948
20949 * source/CMakeLists.txt, source/common/CMakeLists.txt,
20950 source/common/cpu.cpp, source/common/primitives.cpp,
20951 source/common/primitives.h, source/common/vec/vec-primitives.cpp,
20952 source/test/TestBench.cpp:
20953 cmake: rename ENABLE_PRIMITIVES_ASM to ENABLE_ASSEMBLY
20954
20955 And use the same name for the build define. Also, rename
20956 Setup_Vector_Primitives() to Setup_Instrinsic_Primitives()
20957 [a3a4689496e8]
20958
20959 * source/CMakeLists.txt, source/common/CMakeLists.txt,
20960 source/common/primitives.cpp, source/test/TestBench.cpp:
20961 cmake: remove ENABLE_PRIMITIVES_VEC build option
20962
20963 The use of the few remaining compiler intrinsic functions is now
20964 unconditional. Compiler detection will remove them cleanly in case
20965 they cannot be compiled, so there is no reason to make them a top
20966 level build option
20967 [46cbb9f96850]
20968
20969 * source/Lib/TLibCommon/CommonDef.h, source/common/IntraPred.cpp,
20970 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
20971 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
20972 primitives: cleanup intra prediction table dimensions
20973 [435c68acd2a1]
20974
20975 * source/common/CMakeLists.txt:
20976 cmake: move asm-primitives.cpp and asm headers into VS source group
20977
20978 A cosmetic change only
20979 [89b4d233b57f]
20980
20981 * source/encoder/compress.cpp:
20982 Merge
20983 [6fd83a8d944c]
20984
209852013-12-05 Praveen Tiwari <praveen@multicorewareinc.com>
20986
20987 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
20988 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
20989 all_angs_pred_4x4, asm code for all modes
20990 [be8b52e8f903]
20991
209922013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
20993
20994 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20995 util8.asm:
20996 asm: 10bpp code for pixel_sub_12x16
20997 [f2ce16c8d65a]
20998
20999 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21000 util8.asm:
21001 asm: 10bpp code for pixel_sub_8xN
21002 [a30515de4c2d]
21003
210042013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21005
21006 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21007 asm: 16bpp support for sad_x4 - all block sizes
21008 [ca7d0e04c324]
21009
210102013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21011
21012 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21013 util8.asm:
21014 asm: 10bpp code for pixel_sub_6x8
21015 [9e0b2aa531a9]
21016
21017 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21018 util8.asm:
21019 asm: 10bpp code for pixel_sub_4xN
21020 [952d606c08ed]
21021
21022 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21023 util.h, source/common/x86/pixel-util8.asm:
21024 asm: 10bpp code for pixel_sub_2xN
21025 [376c68701fb7]
21026
210272013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21028
21029 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21030 asm: 16bpp support for sad_x3 - all block sizes
21031 [057581245e2f]
21032
210332013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21034
21035 * source/common/x86/asm-primitives.cpp:
21036 asm: primitives of sse_ss for 12x16, 24x32, 48x64 and 64xN blocks
21037 [6570bef3bc2b]
21038
210392013-12-05 Min Chen <chenm003@163.com>
21040
21041 * source/common/x86/intrapred8.asm:
21042 improvement by remove reduce ADD instruction in intra_pred_dc16
21043 [229ec0d4164f]
21044
21045 * source/Lib/TLibCommon/TComPrediction.cpp,
21046 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
21047 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
21048 source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21049 source/common/x86/intrapred8.asm, source/encoder/compress.cpp,
21050 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
21051 source/test/intrapredharness.h:
21052 cleanup:merge Intra Pred DC mode into intra_pred[]
21053 [e1cf58c22166]
21054
21055 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21056 source/common/x86/intrapred8.asm:
21057 asm: assembly code for IntraPredAng4x4 Mode 18
21058 [f4b8486659ad]
21059
21060 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21061 source/common/x86/intrapred8.asm:
21062 asm: assembly code for IntraPredAng4x4 Mode 17 & 19
21063 [06cb5289dfcf]
21064
21065 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21066 source/common/x86/intrapred8.asm:
21067 asm: assembly code for IntraPredAng4x4 Mode 16 & 20
21068 [56506c2913d8]
21069
21070 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21071 source/common/x86/intrapred8.asm:
21072 asm: assembly code for IntraPredAng4x4 Mode 15 & 21
21073 [112dabd56faf]
21074
21075 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21076 source/common/x86/intrapred8.asm:
21077 asm: assembly code for IntraPredAng4x4 Mode 14 & 22
21078 [2c2f9294e033]
21079
21080 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21081 source/common/x86/intrapred8.asm:
21082 asm: assembly code for IntraPredAng4x4 Mode 13 & 23
21083 [d77cf817b11e]
21084
21085 * source/test/intrapredharness.cpp:
21086 testbench: swap order to call asm code
21087
21088 Our old intra_pred_ang algorithm will fill buffer before input pLeft
21089 and pabove, in this time, the offset [-1] pixel equal to [4], it
21090 affect detect asm code error, so I swap the order
21091 [3aa3d68f1552]
21092
21093 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21094 source/common/x86/intrapred8.asm:
21095 asm: assembly code for IntraPredAng4x4 Mode 12 & 24
21096 [666ad0f9f68e]
21097
21098 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21099 source/common/x86/intrapred8.asm:
21100 asm: assembly code for IntraPredAng4x4 Mode 11 & 25
21101 [36da30382f5f]
21102
21103 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21104 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
21105 asm: improvement intra_pred_ang by SSE4(pextrd,pextrb)
21106 [ca7d44856001]
21107
211082013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21109
21110 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21111 util8.asm:
21112 asm: 10bpp code for scale2D_64to32 routine
21113 [4d6b8c30f15e]
21114
211152013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21116
21117 * source/common/primitives.cpp:
21118 integrating asm code for sa8d in primitives.cpp
21119
21120 there was no separate functions for sa8d in assembly, we are just
21121 re-using sa8d_inter functions for sa8d.
21122 [1f96b2234977]
21123
211242013-12-05 Min Chen <chenm003@163.com>
21125
21126 * source/common/vec/intra-ssse3.cpp:
21127 cleanup unused array intra_ang4[]
21128 [f16f9f0ea93c]
21129
21130 * Merge branch 'X'
21131 [d11dbd953d6d]
21132
211332013-12-04 Nabajit Deka <nabajit@multicorewareinc.com>
21134
21135 * source/common/x86/ipfilter8.h:
21136 Function declarations for modified luma_hps and chroma_hps
21137 functions.
21138 [fc7883c471e4]
21139
21140 * source/common/primitives.h, source/test/ipfilterharness.cpp,
21141 source/test/ipfilterharness.h:
21142 Test bench code for luma_hps and chroma_hps
21143 [f29d063bf40d]
21144
21145 * source/common/ipfilter.cpp:
21146 C primitive changes for luma_hps and chroma_hps.
21147 [d19d6ac4bc4b]
21148
21149 * source/common/x86/ipfilter8.asm:
21150 asm : Modifications for luma_hps and chroma_hps(extra rows)
21151 [3e8632ea6c95]
21152
211532013-12-05 Min Chen <chenm003@163.com>
21154
21155 * source/Lib/TLibCommon/TComPrediction.cpp,
21156 source/common/IntraPred.cpp, source/common/primitives.h,
21157 source/common/vec/intra-ssse3.cpp, source/common/x86/asm-
21158 primitives.cpp, source/common/x86/intrapred.h,
21159 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
21160 asm: simplify code by use intra_pred_ang[][], and avoid build error
21161 when disable yasm
21162 [660a23104096]
21163
21164 * rename IntraPred.cpp to intrapred.cpp to avoid team's hg merge
21165 conflict
21166 [d7bdf9a5b2c6]
21167
211682013-12-07 Steve Borho <steve@borho.org>
21169
21170 * source/test/testbench.cpp:
21171 testbench: remove long-since idiotic comment
21172 [b29f2f31ec46]
21173
21174 * source/CMakeLists.txt, source/common/CMakeLists.txt,
21175 source/common/cpu.cpp, source/common/primitives.cpp,
21176 source/test/testbench.cpp:
21177 cmake: simplify use of ENABLE_ASSEMBLY build define
21178
21179 The define is only needed in primitives.cpp. Move all of the CPU
21180 detect fallback code together in primitives.cpp making cpu.cpp more
21181 standalone. Make the testbench only build if the assembly code is
21182 enabled.
21183 [e1fbbf947b60]
21184
211852013-12-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21186
21187 * source/x265.h:
21188 rc params: complete documentation for rc params in x265.h
21189 [d8d844b36c6c]
21190
211912013-12-06 Steve Borho <steve@borho.org>
21192
21193 * Merge
21194 [a482cf5de173]
21195
211962013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21197
21198 * source/Lib/TLibCommon/TComPrediction.cpp,
21199 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
21200 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
21201 source/common/x86/intrapred.h, source/common/x86/intrapred8.asm,
21202 source/encoder/compress.cpp, source/encoder/slicetype.cpp,
21203 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
21204 cleanup: merge Intra Pred PLANAR mode into intra_pred[]
21205 [c093e7847025]
21206
212072013-12-06 Min Chen <chenm003@163.com>
21208
21209 * rename IntraPred.cpp to intrapred.cpp
21210 [f4166f824c2b]
21211
212122013-12-06 Murugan Vairavel <murugan@multicorewareinc.com>
21213
21214 * source/common/x86/asm-primitives.cpp,
21215 source/common/x86/pixeladd8.asm:
21216 asm: 10bpp code for pixel_add_ps_2xN
21217 [967297338b27]
21218
21219 * source/test/pixelharness.cpp:
21220 10bpp: testbench code for pixel_add_ps
21221 [13314db77cf8]
21222
21223 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21224 util.h, source/common/x86/pixel-util8.asm:
21225 asm: 10bpp code of pixel_sub for 16xN, 24x32, 32xN,48x64 and 64xN
21226 [f27fb7c2676a]
21227
212282013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21229
21230 * source/common/x86/asm-primitives.cpp,
21231 source/common/x86/intrapred16.asm:
21232 16bpp: assembly code for intra_pred_dc32
21233 [d36fb6852698]
21234
21235 * source/common/x86/asm-primitives.cpp,
21236 source/common/x86/intrapred16.asm:
21237 16bpp: assembly code for intra_pred_dc16
21238 [6d2d7c2a5d79]
21239
21240 * source/common/x86/asm-primitives.cpp,
21241 source/common/x86/intrapred16.asm:
21242 16bpp: assembly code for intra_pred_dc8
21243 [110d716e67a7]
21244
21245 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
21246 source/common/x86/const-a.asm, source/common/x86/intrapred16.asm:
21247 16bpp: assembly code for intra_pred_dc4
21248 [9e24dcae2ebf]
21249
212502013-12-06 Min Chen <chenm003@163.com>
21251
21252 * source/common/x86/intrapred8.asm:
21253 asm: cleanup garbage after fucntion declare
21254 [ad08db06a7c6]
21255
212562013-12-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21257
21258 * source/x265.h:
21259 x265: remove obsolete R-D enums
21260 [56a17500909e]
21261
21262 * source/x265.h:
21263 rc params: documentation on i/p/bfactor, qpstep, crf
21264 [c5e91abfeb05]
21265
21266 * source/x265.h:
21267 ratecontrol params: documentation for rateTolerance
21268 [49288da0ee3e]
21269
21270 * source/x265.h:
21271 ratecontrol parameters: add documentation for qcomp
21272 [608874dc84ab]
21273
212742013-12-05 Steve Borho <steve@borho.org>
21275
21276 * source/test/CMakeLists.txt, source/test/testpool.cpp:
21277 cmake: drop pool test; not seriously used since May
21278 [d5dc48e6cd16]
21279
21280 * source/CMakeLists.txt:
21281 cmake: add ENABLE_SHARED cmake option, default to ON
21282
21283 Allow MSVC users to opt-out; to roughly halve the compile time.
21284 Clean up a few nits in the process.
21285 [3e6be1e11720]
21286
21287 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
21288 source/encoder/encoder.cpp:
21289 TEncCu: coding style, lower case initial letter for totalCu
21290 [97e917c4a923]
21291
21292 * source/CMakeLists.txt:
21293 cmake: bump X265_BUILD post 0.6, since x265_param has changed
21294 [6ed44381cb6c]
21295
21296 * source/CMakeLists.txt, source/common/CMakeLists.txt,
21297 source/common/cpu.cpp, source/common/primitives.cpp,
21298 source/common/primitives.h, source/common/vec/vec-primitives.cpp,
21299 source/test/testbench.cpp:
21300 cmake: rename ENABLE_PRIMITIVES_ASM to ENABLE_ASSEMBLY
21301
21302 And use the same name for the build define. Also, rename
21303 Setup_Vector_Primitives() to Setup_Instrinsic_Primitives()
21304 [f321d4a467fb]
21305
21306 * source/CMakeLists.txt, source/common/CMakeLists.txt,
21307 source/common/primitives.cpp, source/test/testbench.cpp:
21308 cmake: remove ENABLE_PRIMITIVES_VEC build option
21309
21310 The use of the few remaining compiler intrinsic functions is now
21311 unconditional. Compiler detection will remove them cleanly in case
21312 they cannot be compiled, so there is no reason to make them a top
21313 level build option
21314 [a458b8d6b476]
21315
21316 * source/Lib/TLibCommon/CommonDef.h, source/common/intrapred.cpp,
21317 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
21318 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
21319 primitives: cleanup intra prediction table dimensions
21320 [49c0408febfd]
21321
21322 * source/common/CMakeLists.txt:
21323 cmake: move asm-primitives.cpp and asm headers into VS source group
21324
21325 A cosmetic change only
21326 [41e80c591116]
21327
21328 * source/encoder/compress.cpp:
21329 Merge
21330 [67d755e2a30c]
21331
213322013-12-05 Praveen Tiwari <praveen@multicorewareinc.com>
21333
21334 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21335 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
21336 all_angs_pred_4x4, asm code for all modes
21337 [6d1b07d41cdd]
21338
213392013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21340
21341 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21342 util8.asm:
21343 asm: 10bpp code for pixel_sub_12x16
21344 [9d974915023f]
21345
21346 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21347 util8.asm:
21348 asm: 10bpp code for pixel_sub_8xN
21349 [832d1d134449]
21350
213512013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21352
21353 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21354 asm: 16bpp support for sad_x4 - all block sizes
21355 [f864064737bc]
21356
213572013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21358
21359 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21360 util8.asm:
21361 asm: 10bpp code for pixel_sub_6x8
21362 [c83d6906f665]
21363
21364 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21365 util8.asm:
21366 asm: 10bpp code for pixel_sub_4xN
21367 [31b3bf1246c7]
21368
21369 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21370 util.h, source/common/x86/pixel-util8.asm:
21371 asm: 10bpp code for pixel_sub_2xN
21372 [c36134873a8d]
21373
213742013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21375
21376 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21377 asm: 16bpp support for sad_x3 - all block sizes
21378 [8f3af42f7f44]
21379
213802013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21381
21382 * source/common/x86/asm-primitives.cpp:
21383 asm: primitives of sse_ss for 12x16, 24x32, 48x64 and 64xN blocks
21384 [4c9b7eb235a9]
21385
213862013-12-05 Min Chen <chenm003@163.com>
21387
21388 * source/common/x86/intrapred8.asm:
21389 improvement by remove reduce ADD instruction in intra_pred_dc16
21390 [c9a67d02ad1c]
21391
21392 * source/Lib/TLibCommon/TComPrediction.cpp,
21393 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
21394 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
21395 source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21396 source/common/x86/intrapred8.asm, source/encoder/compress.cpp,
21397 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
21398 source/test/intrapredharness.h:
21399 cleanup:merge Intra Pred DC mode into intra_pred[]
21400 [7febdbc37965]
21401
21402 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21403 source/common/x86/intrapred8.asm:
21404 asm: assembly code for IntraPredAng4x4 Mode 18
21405 [91fe66f971d2]
21406
21407 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21408 source/common/x86/intrapred8.asm:
21409 asm: assembly code for IntraPredAng4x4 Mode 17 & 19
21410 [59f0433ffca0]
21411
21412 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21413 source/common/x86/intrapred8.asm:
21414 asm: assembly code for IntraPredAng4x4 Mode 16 & 20
21415 [d551487023ba]
21416
21417 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21418 source/common/x86/intrapred8.asm:
21419 asm: assembly code for IntraPredAng4x4 Mode 15 & 21
21420 [2ae36352e08c]
21421
21422 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21423 source/common/x86/intrapred8.asm:
21424 asm: assembly code for IntraPredAng4x4 Mode 14 & 22
21425 [88e38d7f926b]
21426
21427 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21428 source/common/x86/intrapred8.asm:
21429 asm: assembly code for IntraPredAng4x4 Mode 13 & 23
21430 [7995a50e0fc2]
21431
21432 * source/test/intrapredharness.cpp:
21433 testbench: swap order to call asm code
21434
21435 Our old intra_pred_ang algorithm will fill buffer before input pLeft
21436 and pabove, in this time, the offset [-1] pixel equal to [4], it
21437 affect detect asm code error, so I swap the order
21438 [b9e0bfacfb8e]
21439
21440 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21441 source/common/x86/intrapred8.asm:
21442 asm: assembly code for IntraPredAng4x4 Mode 12 & 24
21443 [e39c11970ca0]
21444
21445 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21446 source/common/x86/intrapred8.asm:
21447 asm: assembly code for IntraPredAng4x4 Mode 11 & 25
21448 [c8641f015e5b]
21449
21450 * source/common/x86/asm-primitives.cpp, source/common/x86/intrapred.h,
21451 source/common/x86/intrapred8.asm, source/test/intrapredharness.cpp:
21452 asm: improvement intra_pred_ang by SSE4(pextrd,pextrb)
21453 [c3d07f251bd8]
21454
214552013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21456
21457 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21458 util8.asm:
21459 asm: 10bpp code for scale2D_64to32 routine
21460 [1845917cb66d]
21461
214622013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21463
21464 * source/common/primitives.cpp:
21465 integrating asm code for sa8d in primitives.cpp
21466
21467 there was no separate functions for sa8d in assembly, we are just
21468 re-using sa8d_inter functions for sa8d.
21469 [b7656aa5f346]
21470
214712013-12-05 Min Chen <chenm003@163.com>
21472
21473 * source/common/vec/intra-ssse3.cpp:
21474 cleanup unused array intra_ang4[]
21475 [70a042f36c2c]
21476
21477 * Merge branch 'X'
21478 [78165334eed6]
21479
214802013-12-04 Nabajit Deka <nabajit@multicorewareinc.com>
21481
21482 * source/common/x86/ipfilter8.h:
21483 Function declarations for modified luma_hps and chroma_hps
21484 functions.
21485 [79d649d551f0]
21486
21487 * source/common/primitives.h, source/test/ipfilterharness.cpp,
21488 source/test/ipfilterharness.h:
21489 Test bench code for luma_hps and chroma_hps
21490 [06f89ffdba43]
21491
21492 * source/common/ipfilter.cpp:
21493 C primitive changes for luma_hps and chroma_hps.
21494 [835ee97789af]
21495
21496 * source/common/x86/ipfilter8.asm:
21497 asm : Modifications for luma_hps and chroma_hps(extra rows)
21498 [6a0f7924321e]
21499
215002013-12-05 Min Chen <chenm003@163.com>
21501
21502 * source/Lib/TLibCommon/TComPrediction.cpp,
21503 source/common/intrapred.cpp, source/common/primitives.h,
21504 source/common/vec/intra-ssse3.cpp, source/common/x86/asm-
21505 primitives.cpp, source/common/x86/intrapred.h,
21506 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
21507 asm: simplify code by use intra_pred_ang[][], and avoid build error
21508 when disable yasm
21509 [dcc2e11e5643]
21510
21511 * rename IntraPred.cpp to intrapred.cpp to avoid team's hg merge
21512 conflict
21513 [b04134971883]
21514
215152013-12-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21516
21517 * source/encoder/compress.cpp:
21518 rdlevel: skip Intra if inter/merge sa8d less than a threshold
21519
21520 In higher rdlevels Intra is skipped if inter/merge cu cbf is 0. A
21521 threshold of sa8d expects that cu cbf will be 0. Thresholds have to
21522 be refined further.
21523 [e7424e0cb60f]
21524
21525 * source/encoder/compress.cpp:
21526 rdlevel: compare Merge-skip(merge2Nx2N with no residue) to best
21527 among inter/intra/merge in rdlevel 2
21528 [4668ede3a332]
21529
21530 * source/encoder/compress.cpp:
21531 rdlevel: Add code for rdlevel 2
21532
21533 Use signalling bits + sa8d cost to choose best among
21534 inter/merge/intra. Encode only best mode at each depth.
21535 [6694ef611b41]
21536
21537 * source/encoder/compress.cpp:
21538 Enable topskip and earlyexit for all rd levels <= 4 (output changes
21539 for presets faster than "slow")
21540
21541 Also use the encodeResandCalcRDInter instead of the refactored
21542 estimate function.
21543 [e44315ab36b9]
21544
215452013-12-05 Steve Borho <steve@borho.org>
21546
21547 * source/encoder/encoder.cpp:
21548 encoder: fix warning of potentially unused locals
21549 [c8ca8c93083b]
21550
21551 * source/x265.cpp:
21552 cli: fix final stat line handling of optional PSNR and SSIM stats
21553 [ee8f2fa7d82a]
21554
215552013-12-05 Kavitha Sampath <kavitha@multicorewareinc.com>
21556
21557 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
21558 source/encoder/compress.cpp, source/encoder/encoder.cpp:
21559 log: collect statistics after CU analysis
21560
21561 Report percentage of CU blocks encoded at each depth of P/B slice as
21562 EncCU
21563 [ed7c32d83490]
21564
215652013-12-05 Steve Borho <steve@borho.org>
21566
21567 * source/common/x86/pixel-a.asm:
21568 pixel-a: fix x64 calling convention for several HEVC satd functions
21569
21570 Bug fix from Min Chen
21571 [64096a4dcdc1]
21572
215732013-12-04 Steve Borho <steve@borho.org>
21574
21575 * source/CMakeLists.txt:
21576 cmake: use -DHAVE_ALIGNED_STACK=1 when building asm for Xcode
21577
21578 This matches the command line we use in the Makefile, and prevents
21579 stack corruption when debugging within Xcode
21580 [f9d3154732d9]
21581
21582 * source/CMakeLists.txt:
21583 cmake: workaround to allow Xcode 5 to link x265 CLI app
21584 [d35b42382331]
21585
21586 * source/encoder/encoder.cpp:
21587 encoder: remove trailing white-space
21588 [e4a7885f377e]
21589
21590 * source/test/ipfilterharness.cpp:
21591 oops
21592 [834d6f7608c1]
21593
21594 * source/test/ipfilterharness.cpp:
21595 ipfilterharness: do not test chroma for i400 color space
21596
21597 Because, umh, it doesn't have any chroma channels
21598 [716ec3505f43]
21599
21600 * source/CMakeLists.txt, source/VectorClass/README.txt,
21601 source/VectorClass/instrset.h, source/VectorClass/vectorclass.h,
21602 source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
21603 source/VectorClass/vectori256e.h, source/common/CMakeLists.txt,
21604 source/common/vec/intra-ssse3.cpp, source/common/vec/ipfilter-
21605 sse41.cpp, source/common/vec/pixel16-sse41.cpp, source/common/vec
21606 /vec-primitives.cpp:
21607 remove Agner Fog's vector classes and their last few users
21608
21609 We'll take a step back for HIGH_BIT_DEPTH perf for a few days, but
21610 these functions are all expected to have assembly coverage soon.
21611 This allows us to remove a few hacks from our cmake scripts as well.
21612 [421a37d0924d]
21613
21614 * source/common/vec/pixel16-sse41.cpp:
21615 vec: drop 16bpp sad vector intrinsics, we have ASM coverage
21616 [304354e736dc]
21617
21618 * Merge
21619 [2f41fae4a776]
21620
216212013-12-04 Min Chen <chenm003@163.com>
21622
21623 * source/test/pixelharness.cpp:
21624 fix crash in ssim_end testbench, the x264 support 10bpp only, but
21625 testbench use 12bpp
21626 [0716a8ca46b4]
21627
216282013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21629
21630 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21631 util8.asm:
21632 asm: 10bpp code for scale1D_128to64 module
21633 [58674cdab926]
21634
216352013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21636
21637 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21638 asm: 16bpp support for sa8d_64xN
21639 [6aaea628af95]
21640
21641 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21642 asm: 16bpp support for sa8d_32xN
21643 [2b6d31ae96e1]
21644
216452013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21646
21647 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp:
21648 asm: 10bpp code for enabling ssim_end_4
21649 [d73d32097efc]
21650
216512013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21652
21653 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21654 asm: 16bpp support for sa8d - 24x32 and 48x64
21655 [61c46e787877]
21656
216572013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21658
21659 * source/common/x86/const-a.asm, source/common/x86/intrapred8.asm:
21660 asm: move constant to const-a.asm
21661 [9b062eb8124e]
21662
216632013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21664
21665 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21666 util8.asm:
21667 asm: 10bpp code for transpose 64x64
21668 [f697c98cb63f]
21669
216702013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21671
21672 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21673 asm: 16bpp asm code for pixel_sa8d_16xN
21674 [4547d3d03d1e]
21675
216762013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21677
21678 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21679 util8.asm:
21680 asm: 10bpp code for transpose 32x32
21681 [146aae425df2]
21682
216832013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21684
21685 * source/common/x86/asm-primitives.cpp:
21686 16bpp: enabled avt32to16_shr and cvt16to32_shl assembly code
21687 [c38d2f74432f]
21688
216892013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21690
21691 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21692 util8.asm:
21693 asm: 10bpp code for transpose 16x16
21694 [32bac98d3605]
21695
216962013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21697
21698 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
21699 source/common/x86/sad16-a.asm:
21700 16bpp: assembly code for sad_NxN functions
21701 [3602d193676d]
21702
217032013-12-04 Min Chen <chenm003@163.com>
21704
21705 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21706 source/common/x86/intrapred8.asm:
21707 asm: assembly code for IntraPredAng4x4 Mode 26
21708 [346830caf664]
21709
21710 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21711 source/common/x86/intrapred8.asm:
21712 asm: assembly code for IntraPredAng4x4 Mode 10
21713 [d142d2ba7168]
21714
21715 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21716 source/common/x86/intrapred8.asm:
21717 asm: assembly code for IntraPredAng4x4 Mode 9 & 27
21718 [f8d0c7b5b502]
21719
21720 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21721 source/common/x86/intrapred8.asm:
21722 asm: assembly code for IntraPredAng4x4 Mode 8 & 28
21723 [e37b4badaaa4]
21724
21725 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21726 source/common/x86/intrapred8.asm:
21727 asm: assembly code for IntraPredAng4x4 Mode 7 & 29
21728 [2f49dab61e52]
21729
21730 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21731 source/common/x86/intrapred8.asm:
21732 asm: assembly code for IntraPredAng4x4 Mode 6 & 30
21733 [2275a3803a80]
21734
21735 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21736 source/common/x86/intrapred8.asm:
21737 asm: assembly code for IntraPredAng4x4 Mode 5 & 31
21738 [f6dbd8dcec6c]
21739
21740 * source/common/x86/intrapred8.asm:
21741 asm: ALIGN branch target to improvement performance
21742 [f35737d6abfe]
21743
21744 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21745 source/common/x86/intrapred8.asm:
21746 asm: assembly code for IntraPredAng4x4 Mode 4 & 32
21747 [d4fe3e90aebf]
21748
217492013-12-03 Steve Borho <steve@borho.org>
21750
21751 * source/Lib/TLibCommon/ContextTables.h,
21752 source/Lib/TLibEncoder/TEncSbac.cpp:
21753 sbac: move global tables into x265 namespace
21754 [1d2d60f4eb81]
21755
21756 * source/Lib/TLibCommon/TComPrediction.cpp:
21757 TComPrediction: remove obsolete argument comment
21758 [55c0bf9d9966]
21759
21760 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/asm-
21761 primitives.cpp, source/encoder/compress.cpp:
21762 Merge with stable
21763 [4b455bb3caf6]
21764
21765 * .hgtags:
21766 Added tag 0.6 for changeset b970ffbdd696
21767 [6b7550eed359] <stable>
21768
21769 * source/common/x86/asm-primitives.cpp:
21770 asm: fix for icpc build
21771 [b970ffbdd696] [0.6] <stable>
21772
21773 * source/common/vec/intra-sse41.cpp, source/common/vec/intra-
21774 ssse3.cpp:
21775 vec: use square block size enums
21776 [70dba94f6012]
21777
21778 * source/common/CMakeLists.txt, source/common/vec/pixel-sse41.cpp,
21779 source/common/vec/vec-primitives.cpp:
21780 vec: remove pixel-sse41.cpp, we have full 8bpp pixelcmp coverage in
21781 asm
21782 [8c32edd92522]
21783
21784 * source/Lib/TLibEncoder/TEncSearch.cpp:
21785 tskip: temporary workaround for heap corruption
21786
21787 When tskip is enabled and tu-intra-depth is > 1 and --ctu is 64, we
21788 often see heap corruption when the encoder is destroyed. Disabling
21789 transform-skip on chroma seems to be an effective workaround until
21790 we can find a proper fix.
21791 [8e107ce14b43] <stable>
21792
217932013-12-03 Aarthi Thirumalai <Aarthi Thirumalai>
21794
21795 * source/encoder/compress.cpp:
21796 aq: bug fix for hash mismatch between recon with decoded output
21797 [c541804106c7] <stable>
21798
217992013-12-03 Steve Borho <steve@borho.org>
21800
21801 * source/encoder/ratecontrol.cpp:
21802 partial backout of 9cfe20b782da
21803
21804 Aarthi was correct, getSliceType() returns an HM SliceType enum.
21805 Five lines above this it was testing whether getSliceType() ==
21806 I_SLICE.
21807
21808 It is far less than optimal that we have two sets of slice type
21809 definitions, but we have to be careful not to mix them up.
21810 [432a87f546cd]
21811
218122013-12-03 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21813
21814 * source/common/vec/intra-sse41.cpp:
21815 fix 16bpp build fail due to intra-sse41.cpp
21816 [6cc25bb700fc]
21817
218182013-12-03 Steve Borho <steve@borho.org>
21819
21820 * source/common/vec/intra-sse41.cpp:
21821 Backed out changeset: 8a3bb3ecf8f6
21822 [552d46bc20a9]
21823
21824 * Merge
21825 [80938e33bb04]
21826
218272013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
21828
21829 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21830 util8.asm:
21831 asm: 10bpp code for transpose 4x4 and 8x8
21832 [c9fe21f4676e]
21833
218342013-12-03 Min Chen <chenm003@163.com>
21835
21836 * Merge branch 'X'
21837 [04350bfb3147]
21838
218392013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
21840
21841 * source/common/x86/ssd-a.asm:
21842 asm: 10bpp code for pixel_sse_pp for 12x16, 24x32 and 64xN
21843 [78aa21f66013]
21844
218452013-12-03 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21846
21847 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21848 asm: pixel_satd_32xN for 16bpp
21849 [f8b0946edc8f]
21850
21851 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21852 asm: pixel_satd_64xN for 16bpp
21853 [b4740dcd1621]
21854
21855 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21856 asm: pixel_satd - 12x16, 24x32, 48x64 for 16bpp
21857 [69c110c3751b]
21858
218592013-12-03 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21860
21861 * source/common/x86/sad-a.asm:
21862 asm: pixel_sad_64xN reduce large code size
21863 [ca60c165ba4b]
21864
218652013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
21866
21867 * source/common/x86/ssd-a.asm:
21868 asm: 10bpp fix for alignment in sse_ss routine
21869 [cd018d294e96]
21870
218712013-12-03 Min Chen <chenm003@163.com>
21872
21873 * source/common/vec/intra-ssse3.cpp, source/common/x86/const-a.asm,
21874 source/common/x86/intrapred.h, source/common/x86/intrapred8.asm,
21875 source/test/intrapredharness.cpp:
21876 asm: assembly code for IntraPredAng4x4 Mode 3 & 33
21877 [9f7dad70e6a9]
21878
21879 * source/common/x86/const-a.asm, source/common/x86/dct8.asm:
21880 asm: support IDCT4-10bpp
21881 [6f284a447088]
21882
21883 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred8.asm,
21884 source/test/intrapredharness.cpp:
21885 asm: intra_pred_ang Mode 34
21886 [21adddaee460]
21887
21888 * source/common/x86/blockcopy8.asm:
21889 asm: fix xmm register error in cvt16to32_shl
21890 [7fa921f5845d]
21891
218922013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
21893
21894 * source/common/x86/asm-primitives.cpp:
21895 asm: 10bpp support to sse_ss for 8xN, 16xN and 32xN blocks
21896 [102b5042e596]
21897
218982013-12-02 Min Chen <chenm003@163.com>
21899
21900 * source/common/x86/mc-a.asm, source/common/x86/mc.h:
21901 asm: fix miss avg_64x32
21902 [b2c7a7310e9f]
21903
219042013-12-02 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21905
21906 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm:
21907 16bpp: assembly code for pixelavg_pp
21908 [3fea1dd70211]
21909
219102013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
21911
21912 * source/common/vec/intra-sse41.cpp:
21913 fix: bug in inra-sse41.cpp
21914 [8a3bb3ecf8f6]
21915
219162013-12-02 Min Chen <chenm003@163.com>
21917
21918 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred.h,
21919 source/common/x86/intrapred8.asm:
21920 asm: assembly code for IntraPredAng4x4 Mode 2
21921 [f1ccd8eab389]
21922
21923 * source/common/primitives.h:
21924 fixup proto of intra_pred_ang_t
21925 [5457fd3a26a7]
21926
219272013-12-03 Min Chen <chenm003@163.com>
21928
21929 * source/test/pixelharness.cpp:
21930 testbench: increment buffer size to avoid crash in check_pixeladd_ss
21931 [21fe86adaa9a]
21932
219332013-12-03 Aarthi Thirumalai <Aarthi Thirumalai>
21934
21935 * source/encoder/compress.cpp:
21936 aq: bug fix for hash mismatch between recon with decoded output
21937 [660ec2c02798]
21938
219392013-12-03 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21940
21941 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
21942 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
21943 source/encoder/cturow.cpp, source/encoder/encoder.cpp,
21944 source/x265.cpp, source/x265.h:
21945 define new rdlevels, default presets changed accordingly.
21946
21947 levels 6,5 equivalent to current rd 2, 4 equivalent to current rd 1,
21948 and rest equivalent to rd 0. More parameters will be added to
21949 distinguish each levels.
21950 [86d23688b017]
21951
21952 * source/encoder/encoder.cpp:
21953 Move rdoQTS initialization after rdoQ is set.
21954 [9f96817c8894]
21955
219562013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
21957
21958 * source/common/common.cpp, source/encoder/ratecontrol.cpp,
21959 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp:
21960 cuTree: integrated CuTree into RateControl and Added b-references
21961 into RC
21962 [9cfe20b782da]
21963
219642013-12-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21965
21966 * source/Lib/TLibEncoder/TEncSearch.cpp:
21967 heap corruption: temporarily disable tskip in chroma.
21968
21969 Temporary fix for the crash caused by enabling tskip in chroma.
21970 [f539fa01f20c]
21971
219722013-12-02 Steve Borho <steve@borho.org>
21973
21974 * source/common/TShortYUV.cpp, source/common/TShortYUV.h,
21975 source/common/vec/intra-sse41.cpp, source/input/y4m.cpp:
21976 Merge with stable
21977 [ca7bd538e052]
21978
21979 * source/input/y4m.cpp:
21980 y4m: initialize colorSpace to avoid crashes after failing to parse
21981 y4m header
21982 [40f9842972da] <stable>
21983
21984 * source/common/vec/intra-sse41.cpp:
21985 vec: disable allangs 32x32 intrinsic primitive for clang
21986
21987 clang seems to compile it ok, and the testbench passes, but it
21988 causes runtime exceptions when used within the encoder.
21989 [353a34a5d35f] <stable>
21990
21991 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
21992 Backed out changeset: 5df643257054
21993
21994 This was causing memory corruption when --tskip and --rd=2 were used
21995 together. It needs to be further investigated and fixed on the
21996 default branch.
21997 [c2911115b79a] <stable>
21998
21999 * source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
22000 asm: make it more clear that pixel-a.asm has only satd and sa8d now
22001 [70e127d735a5]
22002
22003 * source/common/CMakeLists.txt, source/common/x86/pixel-a.asm,
22004 source/common/x86/ssd-a.asm:
22005 asm: move ssd functions into their own ssd-a.asm file, similar to
22006 sad-a.asm
22007 [a9f629fac91e]
22008
22009 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.h,
22010 source/common/x86/pixel-util8.asm, source/common/x86/pixel.h:
22011 asm: move variance functions to pixel-util8.asm
22012 [eea094a84b9c]
22013
22014 * source/common/x86/mc.h, source/common/x86/pixel-a.asm,
22015 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
22016 source/common/x86/pixel.h:
22017 asm: move pixel_sub to pixel-util8.asm, move pixel_avg funcdef to
22018 mc.h
22019 [2de04bb5da1d]
22020
22021 * source/common/x86/pixel-a.asm:
22022 pixel: remove an unused macro
22023 [2ed3b664c370]
22024
22025 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.h,
22026 source/common/x86/pixel-util8.asm, source/common/x86/pixel.h:
22027 asm: move scale functions to pixel-util
22028 [a439c19ee304]
22029
22030 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.h,
22031 source/common/x86/pixel-util8.asm, source/common/x86/pixel.h:
22032 asm: move SSIM functions to pixel-util
22033 [b091438d1446]
22034
22035 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22036 source/common/x86/pixel-util.h, source/common/x86/pixel-util8.asm,
22037 source/common/x86/pixel.h:
22038 asm: move transpose from pixel-a.asm to pixel-util8.asm, add pixel-
22039 util.h
22040 [a182faf23ead]
22041
22042 * source/common/x86/pixel.h:
22043 asm: remove more unused funcdefs from pixel.h
22044 [41c6dc5b35e8]
22045
22046 * source/common/x86/blockcopy8.asm, source/common/x86/pixel-util8.asm:
22047 asm: move cvt* functions to blockcopy8.asm
22048 [b6766dc86e2a]
22049
22050 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
22051 rc: fixups for cutree changes
22052 [dab34fa63c0c]
22053
220542013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
22055
22056 * source/common/x86/pixel.h:
22057 asm: removed unused function defnitions from pixel.h
22058 [47ddbf9b5866]
22059
220602013-12-02 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22061
22062 * source/common/x86/pixel.h, source/common/x86/sad-a.asm:
22063 cleanup: removed unused code from sad-a.asm
22064 [a615a46d4631]
22065
220662013-12-02 Steve Borho <steve@borho.org>
22067
22068 * source/common/pixel.cpp:
22069 picel: fix compile error from older gcc
22070 [4508b8c923e6]
22071
22072 * source/common/CMakeLists.txt:
22073 cmake: fix Win64 vector primitive compile flags
22074 [ccf65888fc2c]
22075
22076 * Merge with stable
22077 [d8d716eb11b8]
22078
220792013-12-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
22080
22081 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
22082 fix for the number of weighted references exceeding 8 in HM weight
22083 analysis
22084 [bf778de26451] <stable>
22085
220862013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
22087
22088 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
22089 slicetype: fix for gcc warnings
22090 [0a8023666206]
22091
220922013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
22093
22094 * source/common/x86/pixel-a.asm:
22095 asm: removed unused code from pixel-a.asm
22096 [df0b4f81609e]
22097
220982013-12-02 Steve Borho <steve@borho.org>
22099
22100 * source/common/pixel.cpp:
22101 pixel: fix 16bpp warnings that were previously hidden by cmake rules
22102 [0a85121531fc]
22103
221042013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
22105
22106 * source/common/common.cpp, source/common/lowres.cpp,
22107 source/common/lowres.h, source/encoder/frameencoder.cpp,
22108 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
22109 source/encoder/slicetype.h, source/x265.h:
22110 slicetype: CuTree Implementation for AQ RateControl
22111
22112 Added Following methods into slicetype for CuTree Implementation
22113 1.cuTree - Entry Point for CuTree 2.estimateCUPropagate and
22114 estimateCUPropagateCost - Calculate the CU Propagate cost for CU's
22115 3.cuTreeFinish - update the qpOffset using Precomputed
22116 PropagateCost, weightedCostDelta and lookahead costs
22117
22118 Added cuTree option into param->rc and make it as a Disable, still
22119 the cuTree is an Under Construction
22120 [c75c3431b108]
22121
221222013-12-02 Steve Borho <steve@borho.org>
22123
22124 * source/common/CMakeLists.txt:
22125 cmake: nits
22126 [189ac76266a9]
22127
22128 * source/common/CMakeLists.txt:
22129 cmake: ignore gcc warnings in vector intrinsic files
22130 [bb65f4686d68]
22131
221322013-12-01 Steve Borho <steve@borho.org>
22133
22134 * source/common/CMakeLists.txt, source/common/vec/pixel-ssse3.cpp,
22135 source/common/vec/vec-primitives.cpp:
22136 vec: remove pixel-ssse3.cpp, its last function has asm coverage
22137 [bd3fad7cffec]
22138
22139 * source/common/CMakeLists.txt, source/common/vec/dct-sse3.cpp,
22140 source/common/vec/dct-ssse3.cpp, source/common/vec/intra-sse41.cpp,
22141 source/common/vec/ipfilter-ssse3.cpp, source/common/vec/pixel-
22142 sse41.cpp, source/common/vec/pixel16-sse41.cpp:
22143 cmake: ignore unreferenced formal paramter warnings in common/vec
22144
22145 And remove all the hacks that were in place to avoid those warnings
22146 [b4eef7d41af1]
22147
22148 * source/common/x86/asm-primitives.cpp:
22149 asm: nits
22150 [e83550d5f10d]
22151
22152 * source/common/x86/asm-primitives.cpp:
22153 asm: 16bpp fixup
22154 [5db9eba4b2df]
22155
22156 * source/Lib/TLibCommon/TComPicYuv.cpp,
22157 source/Lib/TLibCommon/TComPrediction.cpp,
22158 source/Lib/TLibCommon/TComSlice.h,
22159 source/Lib/TLibCommon/TComYuv.cpp,
22160 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
22161 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
22162 source/common/TShortYUV.h, source/common/common.cpp,
22163 source/common/cpu.cpp, source/common/ipfilter.cpp,
22164 source/common/pixel.cpp, source/common/primitives.h,
22165 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
22166 sse3.cpp, source/common/vec/dct-ssse3.cpp, source/common/vec/intra-
22167 sse41.cpp, source/common/vec/intra-ssse3.cpp, source/common/x86/asm-
22168 primitives.cpp, source/common/x86/blockcopy8.h,
22169 source/common/x86/ipfilter8.h, source/common/x86/pixel.h,
22170 source/encoder/compress.cpp, source/encoder/encoder.cpp,
22171 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
22172 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
22173 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
22174 source/input/y4m.cpp, source/input/yuv.cpp, source/output/y4m.cpp,
22175 source/output/yuv.cpp, source/test/intrapredharness.cpp,
22176 source/test/ipfilterharness.cpp, source/test/pixelharness.cpp,
22177 source/test/testbench.cpp, source/x265.h:
22178 uncrustify all source
22179 [5bf05c39e566]
22180
22181 * source/common/common.cpp, source/encoder/encoder.cpp,
22182 source/x265.cpp, source/x265.h:
22183 Merge with stable
22184 [7f2bc20e9ff1]
22185
22186 * source/encoder/encoder.cpp, source/x265.def.in, source/x265.h:
22187 api: add alloc/free methods for x265_picture for future safety
22188 [32942ebd5793] <stable>
22189
22190 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.def.in,
22191 source/x265.h:
22192 api: add alloc/free methods for x265_param
22193
22194 This allows apps to use x265_param as pure abstract structures, just
22195 like x265_encoder, in order to make their app future-safe against
22196 changes to x265_param (without requiring recompiles or code
22197 changes).
22198 [aabaf5382ac5] <stable>
22199
22200 * source/common/common.cpp, source/encoder/encoder.cpp,
22201 source/encoder/slicetype.cpp, source/x265.cpp, source/x265.h:
22202 api: change x265_param.bpyramid to bBPyramid (bool)
22203
22204 x264's strict bpyramid mode seems to be H.264/blue-ray specific and
22205 thus we are left with only on or off.
22206 [53b1eeb6333b] <stable>
22207
22208 * source/encoder/encoder.cpp:
22209 csv: improve CSV headers to use title caps
22210 [418e55eefbb8] <stable>
22211
22212 * source/test/intrapredharness.cpp:
22213 test: intrapred harness fixup
22214 [0547f1672f13]
22215
22216 * source/encoder/encoder.cpp:
22217 encoder: nits
22218 [d17843e942b5]
22219
222202013-11-08 Xun Xu, PPLive Corporation <xunxu@pptv.com>
22221
22222 * source/common/common.cpp, source/encoder/encoder.cpp,
22223 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
22224 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
22225 source/x265.cpp, source/x265.h:
22226 rc: initial work towards VBV rate control
22227
22228 1. add parameter "vbv-maxrate" "vbv-bufsize" "vbv-init" into cmd
22229 line 2. implement vbv methods, this patch doesn't use lookahead data
22230
22231 future work, 1. vbv-lookahead 2. CU level ratecontrol
22232 [8a90153de720]
22233
222342013-12-01 Steve Borho <steve@borho.org>
22235
22236 * source/common/vec/intra-sse41.cpp:
22237 vec: drop intra planar intrinsic primitives, we have asm coverage
22238 [343d9ba487b2]
22239
22240 * source/test/intrapredharness.cpp:
22241 intra: testbench fixups after dropping 64x64 C refs
22242 [81c09b55acf1]
22243
22244 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-ssse3.cpp:
22245 vec: remove two DCT intrinsic primitives with asm coverage
22246 [9facac4f81f7]
22247
22248 * source/common/intrapred.cpp:
22249 intrapred: fix func decl of intra-ang C ref
22250 [50261fa292ad]
22251
22252 * source/common/intrapred.cpp:
22253 intrapred: use square block defines, do not instantiate intra 64x64
22254 [3409078021ac]
22255
22256 * source/common/x86/asm-primitives.cpp:
22257 asm: plumb out more 16bpp asm setup infrastructure
22258 [776fc3575e2d]
22259
222602013-11-29 Murugan Vairavel <murugan@multicorewareinc.com>
22261
22262 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22263 10bpp: asm code for pixel_var_32x32 and 64x64
22264 [803048f62317]
22265
222662013-11-29 Nabajit Deka <nabajit@multicorewareinc.com>
22267
22268 * source/common/vec/dct-sse41.cpp, source/common/x86/asm-
22269 primitives.cpp:
22270 Enable idst4 asm
22271 [d8c523bd9f90]
22272
22273 * source/common/x86/dct8.asm, source/common/x86/dct8.h:
22274 asm : Adding asm routine for idst4
22275 [3e8c280b16a6]
22276
222772013-11-29 Min Chen <chenm003@163.com>
22278
22279 * source/Lib/TLibCommon/CommonDef.h,
22280 source/Lib/TLibCommon/TComPrediction.cpp,
22281 source/Lib/TLibCommon/TComPrediction.h, source/common/intrapred.cpp,
22282 source/common/primitives.h, source/common/vec/intra-ssse3.cpp,
22283 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
22284 size based array for intra_pred_ang[]
22285 [cc7bb2f18d01]
22286
222872013-11-28 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22288
22289 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22290 asm: enabled asm routines for HIGH_BIT_DEPTH, which has the support
22291 for 16bpp
22292 [bb776ea49cba]
22293
222942013-11-28 Nabajit Deka <nabajit@multicorewareinc.com>
22295
22296 * source/common/vec/dct-ssse3.cpp, source/common/x86/asm-
22297 primitives.cpp, source/common/x86/dct8.asm,
22298 source/common/x86/dct8.h:
22299 asm : Adding asm routine for dst4.
22300 [2ab09fab2826]
22301
223022013-11-28 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
22303
22304 * source/common/x86/asm-primitives.cpp,
22305 source/common/x86/blockcopy8.h, source/common/x86/pixel-util8.asm:
22306 asm: assembly code for cvt16to32_shl
22307 [9bda4cecf6c0]
22308
223092013-11-28 Min Chen <chenm003@163.com>
22310
22311 * source/common/primitives.h:
22312 cleanup: remove unused cvt16to16_shl_t
22313 [8f1a72797abb]
22314
223152013-11-28 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
22316
22317 * source/test/pixelharness.cpp, source/test/pixelharness.h:
22318 testbench: added cvt16to32_shl primitive function
22319 [f9935384fa2a]
22320
223212013-12-01 Steve Borho <steve@borho.org>
22322
22323 * source/common/vec/pixel-sse41.cpp:
22324 pixel: remove sse_sp intrinsic primitives, we have asm coverage
22325 [5857fdc3c3ff]
22326
223272013-11-28 Murugan Vairavel <murugan@multicorewareinc.com>
22328
22329 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
22330 asm: cleanups for pixel_sse_sp
22331 [8a9a0ef760e8]
22332
22333 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22334 source/common/x86/pixel.h:
22335 asm: code for pixel_sse_sp_4xN
22336 [052a1b094def]
22337
22338 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22339 source/common/x86/pixel.h:
22340 asm: code for pixel_sse_sp_12x16
22341 [8683adc61bec]
22342
223432013-11-28 Min Chen <chenm003@163.com>
22344
22345 * source/common/CMakeLists.txt, source/common/x86/intrapred.asm,
22346 source/common/x86/intrapred8.asm, source/common/x86/pixel-util.asm,
22347 source/common/x86/pixel-util8.asm:
22348 rename to avoid 10bpp conflict
22349 [016709ae6264]
22350
223512013-11-28 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22352
22353 * source/common/x86/asm-primitives.cpp,
22354 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
22355 asm: assembly code for intra_pred_planar[32x32]
22356 [e6a32d404e18]
22357
223582013-11-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22359
22360 * Merge from stable
22361 [2786f9e92560]
22362
22363 * source/common/common.cpp:
22364 presets: bpyramid default value reset to 1
22365
22366 No support for strict b-pyramid yet.
22367 [87dc694fc016] <stable>
22368
22369 * source/encoder/encoder.cpp:
22370 ssim: increase precision in ssim reporting
22371 [b08f3853adb9] <stable>
22372
223732013-11-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22374
22375 * Merge from stable
22376 [833d78aaf71e]
22377
22378 * source/common/common.cpp:
22379 presets: correct bframes in "slow" to 4
22380 [fb93582b5f3f] <stable>
22381
22382 * source/encoder/compress.cpp:
22383 compress: cleanup
22384 [ac01f12310ed]
22385
22386 * source/encoder/compress.cpp:
22387 compress: save distortion info in xComputeCostInter.
22388 [2559b4c52148]
22389
22390 * source/encoder/compress.cpp:
22391 compress: save best bits, sad in xcomputeCostIntrainInter
22392 [a7d2fb189311]
22393
22394 * source/encoder/compress.cpp:
22395 compress: disable EARLY_EXIT and TOP_SKIP (temporarily)
22396 [e0036ec4a61b]
22397
223982013-11-28 Steve Borho <steve@borho.org>
22399
22400 * Merge with stable
22401 [e7a5780843de]
22402
22403 * source/common/vec/vec-primitives.cpp:
22404 vec: tab to spaces
22405 [2456d360a4ce] <stable>
22406
224072013-11-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22408
22409 * source/common/common.cpp:
22410 presets: modifications to smoothen the performance-efficiency plot.
22411 [bcc0941f67b3] <stable>
22412
224132013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22414
22415 * source/encoder/compress.cpp:
22416 RD merge: refine merge costs with estimated merge mode bits.
22417 [42892f4f4cc2]
22418
224192013-11-28 Steve Borho <steve@borho.org>
22420
22421 * source/CMakeLists.txt, source/common/CMakeLists.txt,
22422 source/common/vec/vec-primitives.cpp:
22423 cmake: gcc flag introspection to fix Mac OS X 10.6 build
22424 [38719294293f] <stable>
22425
224262013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22427
22428 * source/encoder/compress.cpp:
22429 RD merge: add in early-skip param.
22430 [2ba6c26c9feb]
22431
22432 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
22433 RD merge: remove earlyDetectionSkip, output is unchanged.
22434 [ca8c57f0c532]
22435
22436 * source/encoder/compress.cpp:
22437 RD merge: remove more redundant set-fields
22438 [54379de63b85]
22439
224402013-11-27 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
22441
22442 * source/encoder/compress.cpp:
22443 merge2nx2n: move initializations out of the loop
22444
22445 Only mergeIndex and MVs will be changed in each loop.
22446 [f516ff5d6af3]
22447
224482013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22449
22450 * source/encoder/compress.cpp:
22451 RD: use sa8d in inter/merge cost measurements instead of satd
22452 [0c2a9f913c0b]
22453
22454 * source/encoder/compress.cpp:
22455 RD: change cost measurements for inter
22456
22457 The cost calculation for inter modes now use cost = satd(orig, pred)
22458 + lambda*mebits. This is an estimation to the actual RD-cost.
22459 [0ab1c01bf952]
22460
224612013-11-27 Steve Borho <steve@borho.org>
22462
22463 * source/encoder/encoder.cpp:
22464 encoder: change default frameNumThreads for 4-core HT CPUs to 3
22465 [f92e0c49a9f0] <stable>
22466
224672013-11-27 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
22468
22469 * source/encoder/frameencoder.cpp:
22470 Fix to eliminate unwanted application of weight in some (ref, enc)
22471 pairs
22472 [bfd5204ef226] <stable>
22473
224742013-11-27 Aarthi Thirumalai <Aarthi Thirumalai>
22475
22476 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
22477 aq: Bug Fixes in aq , ssim when ctu size is not set as 64.
22478
22479 1.Calculate qp offset for CU based maxCuSize set in
22480 FrameEncoder::calcQpForCu 2.Fix height for ssim computation based on
22481 maxCuHeight in FrameFilter::processRowPost
22482 [6eb45b5bf181] <stable>
22483
224842013-11-27 Steve Borho <steve@borho.org>
22485
22486 * source/encoder/encoder.cpp:
22487 encoder: use more portable %PRIu64, define __STDC_FORMAT_MACROS
22488
22489 Older GCC versions and clang require __STDC_FORMAT_MACROS to be
22490 defined prior to including stdint.h when compiling for C++, in order
22491 for PRIu64 and friends to be defined
22492 [13f60881bf01] <stable>
22493
22494 * Merge with stable
22495 [949f85337789]
22496
22497 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp:
22498 cmake: detect inttypes.h and use for uint64_t printfs
22499 [e4baf53cefe8] <stable>
22500
22501 * source/common/vec/intra-sse41.cpp:
22502 vec: remove intra_pred_planar16_sse4, we have asm coverage
22503 [892addcb1c94]
22504
22505 * source/common/vec/pixel-ssse3.cpp:
22506 vec: remove scale2D_64to32, we have asm coverage
22507 [c5efe0603b61]
22508
22509 * source/common/x86/intrapred.asm:
22510 intra: fix yasm warning about redefined macro
22511 [04811b42aa6b]
22512
22513 * Merge
22514 [ec904fab863a]
22515
225162013-11-27 Murugan Vairavel <murugan@multicorewareinc.com>
22517
22518 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22519 source/common/x86/pixel.h:
22520 asm: code for pixel_sse_sp_24x32
22521 [cf5c2f982353]
22522
22523 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22524 source/common/x86/pixel.h:
22525 asm: code for pixel_sse_sp_8xN
22526 [54ba57708276]
22527
225282013-11-27 Nabajit Deka <nabajit@multicorewareinc.com>
22529
22530 * source/common/vec/dct-sse3.cpp, source/common/x86/asm-
22531 primitives.cpp, source/common/x86/dct8.h:
22532 Enable the idct4 asm routine.
22533 [7dbe6495ebb8]
22534
22535 * source/common/x86/dct8.asm:
22536 asm: Adding asm routine for idct4
22537 [e463501f8a20]
22538
22539 * source/common/x86/const-a.asm:
22540 Adding constant tables used for idct4 asm routine
22541 [a49c0228e06e]
22542
225432013-11-27 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22544
22545 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22546 asm: pixel_sse_ss_64xN assembly routine
22547 [bf7cf2555571]
22548
22549 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22550 asm: pixel_sse_ss_48x64 assembly routine
22551 [45ce09834506]
22552
22553 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22554 asm: pixel_sse_ss_24x32 assembly routine
22555 [8edf6fa32a74]
22556
225572013-11-27 Murugan Vairavel <murugan@multicorewareinc.com>
22558
22559 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22560 source/common/x86/pixel.h:
22561 asm: code for pixel_sse_sp_64xN
22562 [248a56faff0a]
22563
22564 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22565 source/common/x86/pixel.h:
22566 asm: code for pixel_sse_sp_48x64
22567 [6051967b60cd]
22568
22569 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22570 source/common/x86/pixel.h:
22571 asm: code for pixel_sse_sp_32xN
22572 [aeb1c93c69d2]
22573
22574 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
22575 source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
22576 asm: code for pixel_var_32x32 and 64x64 blocks
22577 [8846d37b3d9c]
22578
225792013-11-27 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
22580
22581 * source/common/x86/asm-primitives.cpp,
22582 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
22583 asm : assembly code for intra_pred_planar[16x16]
22584 [09b5e8f592ac]
22585
225862013-11-27 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22587
22588 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22589 asm: fix the alignment issues occured in sse_ss
22590 [9c60abb71cf6]
22591
225922013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
22593
22594 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22595 source/common/x86/pixel.h:
22596 asm: code for scale2D_64to32 routine
22597 [78c171e33865]
22598
225992013-11-27 Steve Borho <steve@borho.org>
22600
22601 * source/Lib/TLibCommon/ContextModel.cpp,
22602 source/Lib/TLibCommon/ContextModel.h,
22603 source/Lib/TLibEncoder/TEncAnalyze.h, source/common/reference.cpp,
22604 source/common/reference.h, source/common/vec/blockcopy-avx2.cpp,
22605 source/common/vec/intra-sse3.cpp, source/common/vec/pixel-avx2.cpp,
22606 source/common/vec/pixel-sse3.cpp, source/compat/msvc/LGPL.txt,
22607 source/compat/msvc/getopt.c, source/compat/msvc/getopt.h:
22608 Merge with default (feature freeze for 0.6)
22609
22610 Bug fixes and tunings only on the stable branch, until the next tag
22611 is issued.
22612 [417f794274e5] <stable>
22613
22614 * source/encoder/encoder.cpp:
22615 encoder: do not print weightp stats if no P frames were generated
22616
22617 (prevents NAN or worse errors)
22618 [ece323e1b603]
22619
22620 * source/encoder/encoder.cpp:
22621 log: replace "Skip" with more accurate "Merge"
22622 [eadcdeb661bc]
22623
226242013-11-26 Steve Borho <steve@borho.org>
22625
22626 * source/common/vec/intra-sse41.cpp:
22627 vec: drop intra_pred_planar 4x4 and 8x8 intrinsic primitives, we
22628 have asm
22629 [b09b6fa7e89a]
22630
22631 * source/encoder/encoder.cpp:
22632 encoder: return pic.sliceType = X265_TYPE_IDR if keyframe
22633 [39286dff86ea]
22634
22635 * source/common/vec/dct-sse41.cpp:
22636 vec: drop dequant_normal intrinsic primitive, we have asm
22637 [5b5d37ef369a]
22638
22639 * source/common/vec/dct-sse3.cpp:
22640 vec: remove dct4 intrinsic primitive
22641 [543390a8644c]
22642
22643 * Merge
22644 [ba8e95798860]
22645
226462013-11-26 Nabajit Deka <nabajit@multicorewareinc.com>
22647
22648 * source/common/vec/dct-sse3.cpp, source/common/x86/asm-
22649 primitives.cpp:
22650 Enable the new dct4 asm routine.
22651 [5e3b1d59d8dd]
22652
22653 * source/common/CMakeLists.txt:
22654 Adding dct8.asm and dct8.h to CMakeLists
22655 [51b6d0c6ecf5]
22656
22657 * source/common/x86/const-a.asm:
22658 Adding constant table used for dct4
22659 [78431cd16bb5]
22660
22661 * source/common/x86/dct8.asm, source/common/x86/dct8.h:
22662 asm: assembly code for dct4x4
22663 [e9ac715f16cf]
22664
22665 * source/common/x86/pixel-util.asm:
22666 asm: Correct number of xmm registers for weight_sp routine.
22667 [8bc370263676]
22668
226692013-11-26 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
22670
22671 * source/common/x86/asm-primitives.cpp,
22672 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
22673 asm: assembly code for intra_pred_planar[8x8]
22674 [13fe158374e7]
22675
226762013-11-26 Murugan Vairavel <murugan@multicorewareinc.com>
22677
22678 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22679 source/common/x86/pixel.h:
22680 asm: code for pixel_sse_sp_16xN
22681 [3791482e68f5]
22682
22683 * source/common/pixel.cpp, source/common/primitives.h,
22684 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22685 source/common/x86/pixel.h, source/encoder/ratecontrol.cpp,
22686 source/test/pixelharness.cpp:
22687 asm: removed unused code in pixel_var module
22688 [a903be46b40d]
22689
226902013-11-26 Min Chen <chenm003@163.com>
22691
22692 * source/common/dct.cpp:
22693 fix: in 14bpp mode, maximum shift is 10
22694 [7b48cda38797]
22695
22696 * source/common/pixel.cpp, source/common/primitives.h,
22697 source/common/x86/asm-primitives.cpp,
22698 source/encoder/framefilter.cpp, source/test/pixelharness.cpp,
22699 source/test/pixelharness.h:
22700 asm: active x264 ssim code
22701
22702 Side effect: Remove ssim_t to avoid conflict with x264 asm code we
22703 use int64_t when HIGH_BIT_DEPTH enable, but x264 always 'int'
22704 [63a87d839bed]
22705
227062013-11-25 Steve Borho <steve@borho.org>
22707
22708 * source/common/vec/pixel-sse41.cpp:
22709 pixel: remove intrinsic pixel weight functions, we have asm coverage
22710 [491fd3ee6fd1]
22711
227122013-11-26 Steve Borho <steve@borho.org>
22713
22714 * source/x265.h:
22715 api: document a few rate control settings
22716 [5accd2ae5ceb]
22717
227182013-11-26 Min Chen <chenm003@163.com>
22719
22720 * source/common/x86/pixel-a.asm, source/common/x86/pixel-util.asm,
22721 source/common/x86/pixel.h:
22722 asm: fix build error on x64
22723 [116d91f08fcb]
22724
227252013-11-26 chenm003 <chenm003@163.com>
22726
22727 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp:
22728 合并 multicoreware/x265 到 default
22729 [06d509e2e687]
22730
227312013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
22732
22733 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
22734 source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
22735 asm: code for pixel_var_16xN
22736 [672ae35d4e5f]
22737
227382013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22739
22740 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22741 asm: assembly code for pixel_sse_ss_32xN
22742 [8075b13cee00]
22743
227442013-11-25 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
22745
22746 * source/common/x86/asm-primitives.cpp,
22747 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
22748 asm: assembly code for intra_pred_planar[4x4]
22749 [6a8fbb091722]
22750
227512013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
22752
22753 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp,
22754 source/common/x86/pixel-a.asm, source/common/x86/pixel.h:
22755 asm: code for pixel_var_8xN
22756 [da18434af735]
22757
227582013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22759
22760 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22761 asm: assembly code for pixel_sse_ss_12x16
22762 [71262c718dfa]
22763
227642013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
22765
22766 * source/test/pixelharness.cpp, source/test/pixelharness.h:
22767 Test bench: code for pixel_var
22768 [529bd0084265]
22769
227702013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22771
22772 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
22773 source/common/x86/pixel.h:
22774 asm: assembly code for sse_ss - 4xN, 8xN, 16xN
22775 [7cab79758dd7]
22776
227772013-11-25 Nabajit Deka <nabajit@multicorewareinc.com>
22778
22779 * source/test/pixelharness.cpp:
22780 Test bench modifications for weight_sp() asm routine
22781 [3e688d424f05]
22782
22783 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
22784 primitives.cpp, source/common/x86/pixel.h:
22785 Adding asm function declaration and initialization for weight_sp asm
22786 routine
22787 [47ef19a1734c]
22788
22789 * source/common/x86/pixel-util.asm:
22790 asm : routine for weight_sp().
22791 [d9d6b8b4e4f1]
22792
227932013-11-25 Min Chen <chenm003@163.com>
22794
22795 * source/common/x86/const-a.asm, source/common/x86/ipfilter8.asm:
22796 asm: move constant 8192 to const-a.asm for share
22797 [a5c7cd496583]
22798
227992013-11-25 Nabajit Deka <nabajit@multicorewareinc.com>
22800
22801 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
22802 primitives.cpp, source/common/x86/pixel.h:
22803 Adding asm function declaration and initialization for weight_pp asm
22804 routine.
22805 [be74f1731279]
22806
22807 * source/test/pixelharness.cpp:
22808 Test bench modifications for weight_pp() asm routine.
22809 [13126513fe61]
22810
22811 * source/common/x86/pixel-util.asm:
22812 asm : routine for weight_pp(), for input width in multiples of 16
22813 [3e4c257d88ab]
22814
228152013-11-25 Praveen Tiwari <praveen@multicorewareinc.com>
22816
22817 * source/common/x86/asm-primitives.cpp:
22818 cleanup the temporary function pointer initialization
22819 [b54870f0cdd3]
22820
228212013-11-25 Min Chen <chenm003@163.com>
22822
22823 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp,
22824 source/common/x86/pixel-util.asm, source/common/x86/pixel.h:
22825 asm: assembly code for dequant_normal
22826 [67e8ecb2b0e5]
22827
22828 * source/common/x86/mc-a.asm:
22829 cleanup: remove unused code in mc-a.asm
22830 [9c7142ced7c4]
22831
228322013-11-24 Min Chen <chenm003@163.com>
22833
22834 * source/common/x86/pixel-a.asm:
22835 cleanup: remove unused constant in pixel-a.asm
22836 [c0c862dc71fb]
22837
22838 * source/common/x86/pixel-a.asm:
22839 cleanup: remove unused code in pixel-a.asm
22840 [513f564ba360]
22841
22842 * source/common/x86/mc-a2.asm:
22843 cleanup: remove unused code in mc-a2.asm
22844 [464af047f7b1]
22845
228462013-11-25 Steve Borho <steve@borho.org>
22847
22848 * source/encoder/encoder.cpp:
22849 encoder: do not warn of b-pyramid and small bframe value
22850
22851 Many default presets can do this, it is harmless
22852 [fdaa754dfbd4]
22853
22854 * source/encoder/encoder.cpp:
22855 log: shorten Planar to P
22856 [e607520863c0]
22857
22858 * source/encoder/encoder.cpp:
22859 log: do not output statistics for disabled features
22860 [484ac0c345a2]
22861
22862 * source/common/dct.cpp:
22863 dct: remove unused static array
22864 [81f4e226c5a3]
22865
22866 * source/encoder/encoder.cpp:
22867 encoder: compilers can't agree on how to print long longs
22868 [319881b4ebf3]
22869
228702013-11-25 Kavitha Sampath <kavitha@multicorewareinc.com>
22871
22872 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp,
22873 source/encoder/encoder.cpp:
22874 log: improve statistics display
22875
22876 represent 4x4 statistics for I frame, combine I frame log in single
22877 line, preserve space in log
22878 [c7b97ebc1c9b]
22879
228802013-11-24 Steve Borho <steve@borho.org>
22881
22882 * source/common/x86/asm-primitives.cpp:
22883 asm: repair ICL compile on Windows
22884 [864f4664c775]
22885
228862013-11-22 Steve Borho <steve@borho.org>
22887
22888 * source/common/vec/vec-primitives.cpp:
22889 clang: remove compilation guards around
22890 Setup_Vec_IPredPrimitives_sse41()
22891
22892 Now that a number of primitives have been replace by assembly, the
22893 functions are safe.
22894 [10f605bd0530]
22895
22896 * source/common/CMakeLists.txt, source/common/vec/pixel-sse3.cpp,
22897 source/common/vec/pixel-ssse3.cpp, source/common/vec/vec-
22898 primitives.cpp:
22899 cmake: merge pixel-sse3.cpp into pixel-ssse3.cpp
22900
22901 Both files only had one primitive each, and they will both probably
22902 be replaced soon
22903 [e5db4a4859ee]
22904
22905 * source/common/vec/pixel-ssse3.cpp:
22906 pixel-ssse3: remove scale1D_128to64, we have ASM
22907 [7e2694f9a226]
22908
22909 * source/common/vec/pixel-sse41.cpp:
22910 pixel-sse41: cleanup intrinsic weight function names
22911 [a6da40d0584f]
22912
22913 * source/common/vec/intra-sse41.cpp:
22914 vec: remove intrinsic predDCFiltering() and intra_pred_dc(), we have
22915 ASM
22916 [285fe7a59cf5]
22917
22918 * source/common/x86/asm-primitives.cpp:
22919 asm: remove assignements to square block sa8d[] methods
22920
22921 These are handled specially in x265_setup_primitives()
22922 [e28d9b6b5d65]
22923
229242013-11-22 Aarthi Thirumalai <Aarthi Thirumalai>
22925
22926 * source/encoder/ratecontrol.cpp:
22927 crf: bug fix. regulate qp of first frame based on ABR_INIT_QP.
22928 [e6ec06cf5d3d]
22929
229302013-11-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22931
22932 * Merge
22933 [cc075ae1098f]
22934
229352013-11-20 Sumalatha Polureddy <Sumalatha Polureddy>
22936
22937 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
22938 source/encoder/compress.cpp:
22939 no-rdo: implemented topskip algorithm
22940
22941 It is basically setting the starting depth from which the
22942 partitioning should happen for particular CU. The starting depth for
22943 particular CU in present frame is selected form the previous frame's
22944 colocated CU minimum depth.
22945
22946 the performance, bitrate increase and psnr comparison are given
22947 below CLI: x265.exe input.y4m -o abc.hevc -r recon.y4m --rd 1 --ref
22948 1 a. Early exit OFF and Top Skip OFF b. Early exit OFF and Top Skip
22949 ON
22950
22951 BasketballDrive_1920x1080_50 Timetaken to encode: 681/639s bitrate:
22952 3650/3657 kb/s PSNR: 36.7/36.703 perf improvement: 6.16% (compared
22953 to TopSkip OFF and ON) Bitrate increase: 0.19% (compared to TopSkip
22954 OFF and ON)
22955
22956 Cactus_1920x1080_50 Timetaken to encode: 530/492s bitrate: 2787/2795
22957 kb/s PSNR: 35.527/35.529 perf improvement: 7.16% (compared to
22958 TopSkip OFF and ON) Bitrate increase: 0.28% (compared to TopSkip OFF
22959 and ON)
22960
22961 Kimono1_1920x1080_24 Timetaken to encode: 278/264s bitrate:
22962 1243/1246 kb/s PSNR: 38.16/38.16 perf improvement: 5.03% (compared
22963 to TopSkip OFF and ON) Bitrate increase: 0.24% (compared to TopSkip
22964 OFF and ON)
22965
22966 FourPeople_1280x720_60 Timetaken to encode: 173/163s bitrate:
22967 486/492 kb/s PSNR: 39.097/39.094 perf improvement: 5.78% (compared
22968 to TopSkip OFF and ON) Bitrate increase: 1.2% (compared to TopSkip
22969 OFF and ON)
22970
22971 PartyScene_832x480_50 Timetaken to encode: 134/119s bitrate:
22972 1652/1661 kb/s PSNR: 31.374/31.377 perf improvement: 11.16%
22973 (compared to TopSkip OFF and ON) Bitrate increase: 0.544% (compared
22974 to TopSkip OFF and ON)
22975
22976 big_buck_bunny_360p24 Timetaken to encode: 1772/1477s bitrate:
22977 174/175 kb/s PSNR: 37.798/37.797 perf improvement: 16.6% (compared
22978 to TopSkip OFF and ON) Bitrate increase: 0.5% (compared to TopSkip
22979 OFF and ON)
22980 [b6323f2be057]
22981
229822013-11-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22983
22984 * source/encoder/slicetype.cpp:
22985 lookahead primitives: fix bug that caused wrong cost estimates in
22986 ducks_take_off.
22987 [28f42f1be951]
22988
229892013-11-22 Steve Borho <steve@borho.org>
22990
22991 * source/common/vec/pixel-sse41.cpp:
22992 pixel: drop intrinsic sse_pp functions, we have ASM coverage
22993 [1c74d7bfd007]
22994
22995 * source/test/pixelharness.cpp:
22996 pixelharness: fix the other header buffer
22997 [3c827bba6cd6]
22998
229992013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
23000
23001 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23002 TComYuv::addClipChroma, integrated pixel_add_ps function
23003 [cc123a1ec253]
23004
230052013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
23006
23007 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23008 source/common/x86/pixel.h:
23009 asm: code of sse_pp routine for 64x32, 64x48 and 64x64 blocks
23010 [f082c556f337]
23011
230122013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
23013
23014 * source/common/x86/asm-primitives.cpp:
23015 added blockcopy_sp function pointers
23016 [4b437f76280d]
23017
23018 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23019 TComYuv::addClip, integrated luma_add_ps
23020 [fd90bd911169]
23021
230222013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
23023
23024 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23025 source/common/x86/pixel.h:
23026 asm: code of sse_pp routine for 48x64 and 64x16 blocks
23027 [2e0a0a5eb0c7]
23028
23029 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23030 source/common/x86/pixel.h:
23031 asm: code for sse_pp_24x32 routine
23032 [0b9bccb2ef7f]
23033
230342013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
23035
23036 * source/common/x86/asm-primitives.cpp:
23037 asm-primitives.cpp, removed temporary function pointer
23038 initialization, generated through macro calls
23039 [76e2c787aadb]
23040
23041 * source/common/x86/asm-primitives.cpp,
23042 source/common/x86/pixeladd8.asm:
23043 pixel_add_ps_64xN, asm code
23044 [e7eeb6443303]
23045
23046 * source/common/x86/asm-primitives.cpp,
23047 source/common/x86/pixeladd8.asm:
23048 pixel_add_ps_48x64, asm code
23049 [3847098e9553]
23050
23051 * source/common/x86/asm-primitives.cpp,
23052 source/common/x86/pixeladd8.asm:
23053 pixel_add_ps_12x16, asm code
23054 [9f34d1d82296]
23055
230562013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
23057
23058 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23059 source/common/x86/pixel.h:
23060 asm: code for sse_pp_12x16 routine
23061 [f09ca4290a55]
23062
230632013-11-22 Min Chen <chenm003@163.com>
23064
23065 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
23066 source/common/primitives.h, source/common/vec/dct-sse41.cpp,
23067 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
23068 split dequant to normal and scaling path
23069 [4ec80bd40603]
23070
23071 * source/test/pixelharness.cpp:
23072 fix bug for testbench string buffer overflow
23073 [ab94f6effb71]
23074
230752013-11-22 Steve Borho <steve@borho.org>
23076
23077 * source/common/cpu.cpp:
23078 cpu: fix non-Windows build with ASM disabled
23079 [5009254d3d3a]
23080
23081 * source/CMakeLists.txt:
23082 cmake: backout cmake_policy(); cmake is idiotic
23083
23084 Why would you issue an error if your version of cmake doesn't know
23085 about the given policy? Especially if the selected policy is OLD?
23086 Hello??
23087 [830deb5fb3d3]
23088
230892013-11-21 Steve Borho <steve@borho.org>
23090
23091 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncSearch.cpp,
23092 source/common/CMakeLists.txt:
23093 cmake: almost revive Xcode support
23094
23095 # macbrew based instructions brew install cmake --HEAD cmake -G
23096 Xcode ../source open x265.xcodeproj
23097
23098 > cmake --version cmake version 2.8.12.20131121
23099
23100 The static library is still not linking properly, so the cli does
23101 not link as well; but it does build the shared library
23102 [f4e10e4d3f0d]
23103
23104 * source/encoder/motion.cpp, source/encoder/motion.h:
23105 motion: use fast weighted subpel refine
23106
23107 Don't do the full-blown weighted motion compensation for ME. Just
23108 interpolate the weighted full pel pixels. It is not 100% accurate to
23109 the pixels that will be used to encode the final prediction; but
23110 close enough for ME.
23111
23112 Testing with sintel_trailer_2k_720p24.y4m at medium preset and all
23113 defaults x265 [info]: 651 of 1124 (57.92%) P frames weighted
23114
23115 before: 1253 frames in 512.74s (2.44 fps), 223.51 kb/s, Global PSNR:
23116 50.552 after: 1253 frames in 410.25s (3.05 fps), 223.59 kb/s, Global
23117 PSNR: 50.589
23118 [8f156b97360b]
23119
23120 * source/common/vec/intra-sse41.cpp:
23121 intra: fix 16bpp builds
23122 [b172259c07f1]
23123
231242013-11-21 Praveen Tiwari <Praveen Tiwari>
23125
23126 * source/common/x86/pixeladd8.asm:
23127 pixel_add_ps, 32xN corrected xmm register count
23128 [76b0d2a278fb]
23129
231302013-11-21 Steve Borho <steve@borho.org>
23131
23132 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23133 pixelharness: cleanup check function names
23134 [8dfe7282ce81]
23135
23136 * source/test/intrapredharness.cpp, source/test/pixelharness.cpp,
23137 source/test/testharness.h:
23138 testbench: re-line up test results to improve readability
23139 [1643c78be418]
23140
23141 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
23142 source/common/pixel.cpp, source/common/primitives.h,
23143 source/common/vec/pixel-sse41.cpp, source/encoder/motion.cpp,
23144 source/encoder/reference.cpp, source/encoder/slicetype.cpp,
23145 source/test/pixelharness.cpp, source/test/pixelharness.h:
23146 primitive: rename weight primitives to match our naming convention
23147
23148 weight_pp -> weight pixels to pixels weight_sp -> weight shorts to
23149 pixels
23150 [49f8b71ae89b]
23151
23152 * source/encoder/slicetype.cpp:
23153 slicetype: prevent gcc 4.8.1 compiler error
23154 [8dc9e5e4a0e6]
23155
23156 * source/Lib/TLibCommon/TComPrediction.cpp:
23157 TComPrediction: fixup planar size index
23158 [e733415996a1]
23159
23160 * source/encoder/slicetype.cpp:
23161 slicetype: remove hungarian pointer prefixes and unnecessary pixel
23162 casts
23163 [d7cf0dd2133e]
23164
23165 * source/common/intrapred.cpp:
23166 intrapred: cleanup intra C references
23167 [bcef0e896234]
23168
23169 * source/common/x86/asm-primitives.cpp:
23170 asm: remove cmp templated wrapper function
23171 [46e4175eeb88]
23172
23173 * source/Lib/TLibCommon/TComPrediction.cpp:
23174 TComPrediction: nits
23175 [562eea581dcf]
23176
231772013-11-21 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23178
23179 * source/Lib/TLibCommon/TComPrediction.cpp,
23180 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
23181 source/common/primitives.h, source/common/vec/intra-sse41.cpp,
23182 source/encoder/compress.cpp, source/encoder/slicetype.cpp,
23183 source/test/intrapredharness.cpp:
23184 remove width arg from intra_pred_planar
23185 [bdff2c785860]
23186
231872013-11-21 Santhoshini Sekar <santhoshini@multicorewareinc.com>
23188
23189 * source/encoder/encoder.cpp:
23190 bug fix: print Mean psnr Y,U,V properly
23191 [012b3d1da19b]
23192
231932013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23194
23195 * source/common/x86/asm-primitives.cpp:
23196 asm: added sa8d-4x4,4x8,8x4,4x16,16x4,12x16,16x12 to asm-
23197 primitives.cpp
23198 [fbb0dab55009]
23199
232002013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
23201
23202 * source/common/x86/asm-primitives.cpp,
23203 source/common/x86/pixeladd8.asm:
23204 pixel_add_ps_32x64, asm code
23205 [3b27df9d0a54]
23206
23207 * source/common/x86/asm-primitives.cpp,
23208 source/common/x86/pixeladd8.asm:
23209 pixel_add_ps_16x64, asm code
23210 [4f53bb000c70]
23211
23212 * source/common/x86/asm-primitives.cpp,
23213 source/common/x86/pixeladd8.asm:
23214 pixel_add_ps, asm code
23215 [2683153044c8]
23216
23217 * source/common/x86/asm-primitives.cpp,
23218 source/common/x86/pixeladd8.asm:
23219 asm: pixel_add_ps,32xN
23220 [23626c3cac6b]
23221
23222 * source/common/x86/asm-primitives.cpp,
23223 source/common/x86/pixeladd8.asm:
23224 pixel_add_ps, 16x8, 16x12, 16x16, 16x32 asm code
23225 [583152af6f66]
23226
232272013-11-21 Murugan Vairavel <murugan@multicorewareinc.com>
23228
23229 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23230 source/common/x86/pixel.h:
23231 asm: code for transpose_64x64 routine
23232 [b305aa607e0b]
23233
23234 * source/common/x86/pixel-a.asm:
23235 asm: Improvement by replace macro extend by function call
23236 [0caa6518420e]
23237
232382013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
23239
23240 * source/common/x86/asm-primitives.cpp,
23241 source/common/x86/pixeladd8.asm:
23242 pixel_add_ps_2x8 asm code
23243 [98fac41f309c]
23244
232452013-11-21 Min Chen <chenm003@163.com>
23246
23247 * source/common/x86/asm-primitives.cpp,
23248 source/common/x86/pixeladd8.asm:
23249 [asm]: pixel_add_ps_2x4
23250 [f290ec5a0532]
23251
232522013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
23253
23254 * source/common/x86/asm-primitives.cpp,
23255 source/common/x86/pixeladd8.asm:
23256 pixel_add_ps_6x8, asm code
23257 [3f227acdb082]
23258
23259 * source/common/x86/pixeladd8.asm:
23260 pixeladd8.asm, removed unsed header 'x86util.asm'
23261 [0e9ae87861ba]
23262
23263 * source/common/x86/asm-primitives.cpp,
23264 source/common/x86/pixeladd8.asm:
23265 pixel_add_ps_16x4, asm code
23266 [5077332c5bcc]
23267
232682013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23269
23270 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23271 asm: assembly code for pixel_sa8d_8x32
23272 [16b15235cd76]
23273
23274 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23275 asm: assembly code for pixel_sa8d_32x8
23276 [0b4b4143ceea]
23277
23278 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23279 asm: assembly code for pixel_sa8d_24x32
23280 [a71839b646b9]
23281
23282 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23283 asm: assembly code for pixel_sa8d_32x24
23284 [47c04fd98b80]
23285
23286 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23287 asm: assembly code for pixel_sa8d_8x16 and pixel_sa8d_16x8
23288 [977220137f22]
23289
23290 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23291 asm: assembly code for pixel_sa8d_16x64
23292 [2b8e89b5b836]
23293
23294 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23295 asm: assembly code for pixel_sa8d_64x16
23296 [d43255da9bd6]
23297
23298 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23299 asm: assembly code for pixel_sa8d_48x64
23300 [2d6721016c9a]
23301
233022013-11-21 Min Chen <chenm003@163.com>
23303
23304 * source/test/ipfilterharness.cpp:
23305 testbench: initialize output buffer to solve lumz_sp[] mistake
23306 problem
23307 [7e4656d4fd33]
23308
233092013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23310
23311 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23312 asm: assembly code for pixel_sa8d_64x48
23313 [6a82e5177eb3]
23314
233152013-11-21 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
23316
23317 * source/common/x86/asm-primitives.cpp,
23318 source/common/x86/intrapred.asm, source/common/x86/intrapred.h,
23319 source/test/intrapredharness.cpp:
23320 asm: assembly code for IntraPred_DC[32x32]
23321 [286984ebb6c7]
23322
23323 * source/common/x86/asm-primitives.cpp,
23324 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
23325 asm: assembly code for IntraPred_DC[16x16]
23326 [4eb59e47be20]
23327
23328 * source/common/x86/asm-primitives.cpp,
23329 source/common/x86/intrapred.asm, source/common/x86/intrapred.h:
23330 asm: assembly code for IntraPred_DC[8x8]
23331 [40a060130b62]
23332
233332013-11-20 Steve Borho <steve@borho.org>
23334
23335 * source/common/primitives.h:
23336 primitive: nits
23337 [db1151bb4974]
23338
23339 * source/common/pixel.cpp, source/common/primitives.h,
23340 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
23341 source/test/pixelharness.h:
23342 primitive: remove dead blockcpy_sp
23343 [b3749e1d64c0]
23344
23345 * source/common/pixel.cpp, source/common/primitives.h,
23346 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
23347 source/test/pixelharness.h:
23348 primitive: remove dead pixelsub_ps
23349 [0d54ec898e79]
23350
23351 * source/common/ipfilter.cpp, source/common/primitives.h,
23352 source/common/vec/ipfilter-sse41.cpp, source/common/vec/ipfilter-
23353 ssse3.cpp, source/test/ipfilterharness.cpp,
23354 source/test/ipfilterharness.h:
23355 primitive: remove dead ipfilter_s2p
23356 [f3962b7a971c]
23357
23358 * source/common/ipfilter.cpp, source/common/primitives.h,
23359 source/common/vec/ipfilter-sse41.cpp, source/common/vec/ipfilter-
23360 ssse3.cpp, source/test/ipfilterharness.cpp,
23361 source/test/ipfilterharness.h:
23362 primitive: remove dead ipfilter_p2s
23363 [f3d4f3ac215e]
23364
23365 * source/Lib/TLibCommon/TComSlice.h:
23366 TComSlice: nits
23367 [4b53b32ea6d8]
23368
23369 * source/Lib/TLibCommon/TComPic.cpp,
23370 source/Lib/TLibCommon/TComPrediction.cpp,
23371 source/Lib/TLibCommon/TComSlice.cpp,
23372 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
23373 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
23374 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
23375 source/common/common.cpp, source/common/ipfilter.cpp,
23376 source/common/pixel.cpp, source/common/primitives.cpp,
23377 source/common/primitives.h, source/common/vec/ipfilter-sse41.cpp,
23378 source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp,
23379 source/input/y4m.cpp, source/test/ipfilterharness.cpp,
23380 source/test/pixelharness.cpp, source/x265.cpp, source/x265.h:
23381 TComSlice: nits
23382 [cdfb587319f8]
23383
23384 * source/cmake/CMakeASM_YASMInformation.cmake:
23385 cmake: fix cygwin builds - yasm must output windows object files
23386 [871f3367fd45]
23387
23388 * source/test/testbench.cpp:
23389 test: bump pixel depth to 12 for HIGH_BIT_DEPTH builds
23390 [1561d1f1d1da]
23391
23392 * source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
23393 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/dct-
23394 ssse3.cpp, source/common/vec/intra-sse41.cpp, source/common/vec
23395 /intra-ssse3.cpp:
23396 vec: fix compile warnings with clang at 16bpp - remove dead
23397 functions
23398 [f7590776c5b2]
23399
234002013-11-20 Praveen Tiwari <Praveen Tiwari>
23401
23402 * source/common/x86/asm-primitives.cpp,
23403 source/common/x86/pixeladd8.asm:
23404 pixel_add_ps, 8x8, 8x16, 8x32 asm code
23405 [c75b72fcd284]
23406
23407 * source/common/x86/asm-primitives.cpp,
23408 source/common/x86/pixeladd8.asm:
23409 pixel_add_ps_8x6, asm code
23410 [e2f8b18cd253]
23411
23412 * source/common/x86/asm-primitives.cpp,
23413 source/common/x86/pixeladd8.asm:
23414 pixel_add_ps_8x4, asm code
23415 [079864d97afc]
23416
23417 * source/common/x86/asm-primitives.cpp,
23418 source/common/x86/pixeladd8.asm:
23419 pixel_add_ps_8x2, asm code
23420 [f65fbb5d2d44]
23421
23422 * source/common/primitives.h, source/common/x86/pixel.h:
23423 pixel.h and primitives.h, int replaced with intptr_t
23424 [f07d8d18212b]
23425
23426 * source/common/x86/asm-primitives.cpp,
23427 source/common/x86/pixeladd8.asm:
23428 asm code for pixel_add_ps_4x2
23429 [28e57d696b36]
23430
23431 * source/common/x86/pixeladd8.asm:
23432 pixel_add_pp_4x4, merged movd and pmovzxbw
23433 [bee92606b540]
23434
23435 * source/common/x86/pixeladd8.asm:
23436 pixel_add_pp: 4x8, 4x16, merged movd and pmovzxbw instructions
23437 [5fb3eae8a29d]
23438
23439 * source/common/x86/pixel.h:
23440 added pixel_add_ps chroma function definitions
23441 [406c500c0b0d]
23442
23443 * source/common/x86/pixeladd8.asm:
23444 pixeladd8.asm, int replaced with intptr_t for strides data type
23445 [0532a37e6a7e]
23446
23447 * source/common/x86/asm-primitives.cpp,
23448 source/common/x86/pixeladd8.asm:
23449 asm code for pixel_add_ps, 4x8 and 4x16
23450 [2fe88d075204]
23451
23452 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
23453 source/common/x86/pixel.h, source/common/x86/pixeladd8.asm:
23454 asm code for pixeladd_ps_4x4 and testbench integration
23455 [a3e4cbbc63e1]
23456
23457 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23458 unit test code for pixel_add_ps
23459 [59964c99aa17]
23460
23461 * source/common/pixel.cpp, source/common/primitives.h:
23462 added pixel_add_ps_c as a primitve
23463 [ec0758b3ecfa]
23464
234652013-11-20 Steve Borho <steve@borho.org>
23466
23467 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
23468 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
23469 TEncBinCABAC: fix naming prefix convention of bIsCounter
23470 [0607aef383b7]
23471
23472 * source/Lib/TLibCommon/TComDataCU.h, source/Lib/TLibCommon/TComPic.h,
23473 source/Lib/TLibCommon/TComRdCost.h,
23474 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
23475 source/Lib/TLibCommon/TypeDef.h,
23476 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
23477 source/Lib/TLibEncoder/TEncSearch.cpp,
23478 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp,
23479 source/encoder/encoder.cpp, source/encoder/framefilter.cpp,
23480 source/encoder/ratecontrol.cpp:
23481 TypeDef: replace UInt64 with uint64_t
23482 [58dfac0ab062]
23483
23484 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
23485 source/Lib/TLibCommon/TComSlice.h,
23486 source/Lib/TLibCommon/TComTrQuant.cpp,
23487 source/Lib/TLibCommon/TypeDef.h,
23488 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
23489 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
23490 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
23491 source/Lib/TLibEncoder/WeightPredAnalysis.h:
23492 TypeDef: replace Int64 with int64_t
23493 [93f03580b998]
23494
23495 * source/common/x86/asm-primitives.cpp:
23496 asm: white-space nits
23497 [e3f82c9daafb]
23498
234992013-11-20 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23500
23501 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23502 asm: assembly code for pixel_sa8d_32x64
23503 [915bb51b6489]
23504
23505 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23506 asm: assembly code for pixel_sa8d_64x32
23507 [aa44b552bdd4]
23508
23509 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23510 asm: assembly code for pixel_sa8d_16x32
23511 [cbf8720197fb]
23512
23513 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23514 asm: assembly code for pixel_sa8d_32x16
23515 [bd44cdfcbba8]
23516
23517 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23518 asm: assembly code for pixel_sa8d_64x64
23519 [ef1a9a583c4a]
23520
23521 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23522 asm: assembly code for pixel_sa8d_32x32
23523 [357c693f8888]
23524
235252013-11-20 Min Chen <chenm003@163.com>
23526
23527 * source/Lib/TLibCommon/TComPrediction.cpp,
23528 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/CMakeLists.txt,
23529 source/common/intrapred.cpp, source/common/primitives.h,
23530 source/common/vec/intra-sse41.cpp, source/common/x86/asm-
23531 primitives.cpp, source/common/x86/intrapred.asm,
23532 source/common/x86/intrapred.h, source/encoder/compress.cpp,
23533 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
23534 source/test/intrapredharness.h:
23535 asm: assembly code for IntraPred_DC[4x4]
23536 [172b66a79401]
23537
235382013-11-20 Steve Borho <steve@borho.org>
23539
23540 * source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
23541 primitive: remove unused cvt16to16_shl
23542 [174bd2b5e652]
23543
23544 * source/common/vec/dct-sse41.cpp:
23545 vec: drop intrinsic quant primitive, we have assembly code
23546 [5e18a1158c5f]
23547
23548 * source/common/vec/pixel-sse3.cpp:
23549 vec: drop intrinsic transpose primitives, we have assembly code
23550 [7a154e9fccbd]
23551
235522013-11-20 Min Chen <chenm003@163.com>
23553
23554 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23555 util.asm, source/common/x86/pixel.h, source/test/mbdstharness.cpp:
23556 asm: assembly code for quant
23557 [63b9ba51bac0]
23558
235592013-11-20 Murugan Vairavel <murugan@multicorewareinc.com>
23560
23561 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23562 source/common/x86/pixel.h:
23563 asm: code for transpose_32x32 routine
23564 [6c9d7641bdca]
23565
23566 * source/common/x86/pixel-a.asm:
23567 asm: cleanup routines of transpose module for 4x4, 8x8 and 16x16
23568 [fe81ba733564]
23569
235702013-11-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
23571
23572 * source/encoder/slicetype.cpp:
23573 bpyramid: Support for b-pyramid with b-adapt 0
23574
23575 Test results for reference when enable and disable the b-pyramid
23576 with b-adapt=0
23577
23578 Cli option : --bframes=10 --b-adapt=0 --b-pyramid=1 -f 100 Enable
23579 B-references : --b-pyramid=1 Disable B-references : --b-pyramid=0
23580
23581 Results: Enable / Disable
23582
23583 clip - BasketballDrive_1920x1080_50 Total time taken - 57.84s (1.73
23584 fps) / 51.74s (1.93 fps) Bitrates - 4725.37 / 5660.68 PSNR - 37.178
23585 / 37.178
23586
23587 Clip - Cactus_1920x1080_50 Total time taken - 41.90s (2.39 fps) /
23588 47.08s (2.12 fps) Bitrates - 3800.62 / 4838.73 PSNR - 35.640 /
23589 35.615
23590
23591 Clip - Johnny_1280x720_60 Total time taken - 10.41s (9.61 fps) /
23592 10.34s (9.67 fps) Bitrates - 327.21 / 383.25 PSNR - 40.674 / 40.631
23593
23594 Clip - FourPeople_1280x720_60 Total time taken - 10.72s (9.33 fps) /
23595 10.18s (9.82 fps) Bitrates - 547.18 / 640.88 PSNR - 39.808 / 39.789
23596 [8e9c965648f6]
23597
235982013-11-19 Steve Borho <steve@borho.org>
23599
23600 * source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp:
23601 clang: fix build warnings
23602 [108ddc9e5c6b]
23603
236042013-11-19 Praveen Tiwari <Praveen Tiwari>
23605
23606 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
23607 blockcpy_sp asm integration
23608 [5df643257054]
23609
23610 * source/common/pixel.cpp, source/common/primitives.h,
23611 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
23612 csp support for blockcopy_sp
23613 [fd382d7bfeea]
23614
23615 * source/Lib/TLibCommon/TComYuv.cpp:
23616 blockcopy_ps, asm integration
23617 [cc88ae755af4]
23618
23619 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
23620 source/Lib/TLibEncoder/TEncSearch.cpp:
23621 TComYuv::copyPartToPartChroma, blockcopy_ps asm integration
23622 [036a65157263]
23623
23624 * source/common/pixel.cpp, source/common/primitives.h,
23625 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
23626 csp support for blockcopy_ps
23627 [32bd40623496]
23628
23629 * source/Lib/TLibCommon/TComYuv.cpp:
23630 TComYuv::copyPartToPartChroma, blockcopy_pp asm integration
23631 [10617a4ef7a5]
23632
23633 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23634 TComYuv::copyToPicLuma, blockcopy_pp asm integration
23635 [e77e7c4465f1]
23636
236372013-11-19 Murugan Vairavel <murugan@multicorewareinc.com>
23638
23639 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23640 source/common/x86/pixel.h:
23641 asm: code for transpose_16x16 routine
23642 [d8d9f36d0a44]
23643
23644 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23645 source/common/x86/pixel.h:
23646 asm: code for transpose_8x8 routine
23647 [1e1ecddee271]
23648
236492013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
23650
23651 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
23652 source/common/x86/pixel.h:
23653 asm: code for transpose4x4 routine
23654 [d484c28c63f5]
23655
236562013-11-19 Steve Borho <steve@borho.org>
23657
23658 * source/common/common.cpp, source/x265.h:
23659 api: enable weightp by default, disable for ultrafast
23660 [f68e0b9cae2e]
23661
23662 * source/x265.h:
23663 api: fix typos and improve chroma qp offset descriptions
23664 [59dcbb0be7ca]
23665
23666 * source/common/common.cpp, source/x265.h:
23667 api: enable b-pyramid by default
23668
23669 The only reason for it to be disabled is if the decoder/use case
23670 prevented it
23671 [de92149b3c9b]
23672
23673 * source/x265.cpp:
23674 cli: fix warning in CLI help
23675 [e63916b50ac1]
23676
23677 * source/common/common.cpp:
23678 common: nit
23679 [a901089e8218]
23680
23681 * source/common/common.cpp:
23682 common: validate --subme value
23683 [371f83f5c9cd]
23684
23685 * source/x265.h:
23686 api: cleanup x265_param orderings, add full comments
23687 [7dea1450b7fa]
23688
236892013-11-18 Steve Borho <steve@borho.org>
23690
23691 * source/encoder/encoder.cpp:
23692 encoder: simplify size variables
23693 [8abf4200186a]
23694
23695 * source/x265.h:
23696 api: nit
23697 [ca30b6c351c2]
23698
23699 * source/encoder/encoder.cpp, source/encoder/encoder.h,
23700 source/x265.cpp, source/x265.h:
23701 api: make x265_encoder_get_stats() somewhat future proof
23702
23703 By passing in the size of x265_stats as the user application knows
23704 about the encoder can know not to try to set new fields that were
23705 added to the end of x265_stats. This requires some discipline on our
23706 part to only append to the structure and to always check the size
23707 for any new fields we might add.
23708 [5ae9bb8daaec]
23709
23710 * source/x265.h:
23711 api: remove old suffix and prefix from C symbols in comment, reflow
23712 [afde9f11046a]
23713
23714 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
23715 api: remove hungarian prefixes from x265_nal members
23716
23717 These particular prefixes came from x264 originally
23718 [75328ddf6ef1]
23719
23720 * source/x265.h:
23721 api: remove reserved NAL enums and C++ style comments from public
23722 header
23723 [6bf2bdc1dd1c]
23724
237252013-11-19 Steve Borho <steve@borho.org>
23726
23727 * source/x265.cpp, source/x265.h:
23728 api: cleanup bpyramid
23729 [f38139868da6]
23730
237312013-11-19 Gopu Govindaswamy <gopu@multicorewareinc.com>
23732
23733 * source/common/common.cpp, source/encoder/dpb.cpp,
23734 source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
23735 source/x265.cpp, source/x265.h:
23736 b-pyramid implementation: Allow the use of B-frames as references
23737 for non B and B frames
23738
23739 when we enable the b-pyramid the bitrates efficienctly reduced and
23740 there is not much diff in the performance and the PSNR 00. increased
23741 some of the clips and decreased some of clips
23742
23743 Test results for reference when enable and disable the b-pyramid:
23744 cli option : -b 10 --hash=1 -f 100 --b-pyramid=1 --b-adapt=2 Enable
23745 B-reference : --b-pyramid=1 Disable B-reference : --b-pyramid=0
23746
23747 Results: Enable / Disable
23748
23749 Clips - Johnny_1280x720_60.y4m Total time taken - 11.19s (8.94 fps)
23750 / 13.44s (7.44 fps) Bitrates - 303.52 kb/s / 326.79 kb/s PSNR -
23751 40.679 / 40.612
23752
23753 Clips - Cactus_1920x1080_50.y4m Total Time taken - 44.61s (2.24 fps)
23754 / 48.23s (2.07 fps) Bitrates - 3420.80 kb/s / 3575.20 kb/s PSNR -
23755 35.709 / 35.726
23756
23757 Clips - BasketballDrive_1920x1080_50.y4m Total time taken - 54.15s
23758 (1.85 fps) / 53.72s (1.86 fps) Bitrates - 4114.07 kb/s / 4310.45
23759 kb/s PSNR - 37.283 / 37.290
23760
23761 Clips - FourPeople_1280x720_60 Total time taken - 11.79s (8.48 fps)
23762 / 12.16s (8.23 fps) Bitrates - 514.90 kb/s / 539.08 kb/s PSNR -
23763 39.782 / 39.757
23764 [1449a1a2041f]
23765
237662013-11-18 Steve Borho <steve@borho.org>
23767
23768 * source/common/common.cpp:
23769 log: do not show aq-strength if AQ is disabled
23770 [2f5f538d2cbc]
23771
23772 * source/common/common.cpp:
23773 preset: return superfast/ultrafast lookahead depths to 10
23774 [628be479be44]
23775
237762013-11-18 Aarthi Thirumalai <aarthi@multicorewareinc.com>
23777
23778 * source/common/common.cpp, source/x265.cpp:
23779 cli: add aq-strength to cli input options, add validations for aq
23780 mode
23781 [6a068b264c84]
23782
237832013-11-18 Steve Borho <steve@borho.org>
23784
23785 * source/encoder/frameencoder.cpp:
23786 frameencoder: fix initialization order to prevent warnings
23787 [cfd834ba8e4f]
23788
237892013-11-18 Praveen Tiwari <Praveen Tiwari>
23790
23791 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23792 TComYuv::copyPartToPartYuv, blockcopy_pp asm integration
23793 [ad5dff9a2374]
23794
237952013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
23796
23797 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23798 Test bench code for transpose routine
23799 [301f9f86ae23]
23800
23801 * source/common/TShortYUV.cpp, source/common/TShortYUV.h,
23802 source/common/pixel.cpp, source/common/primitives.h,
23803 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
23804 TShortYUV: asm code integration for pixelsub_ps
23805 [58646537ce29]
23806
238072013-11-18 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23808
23809 * source/common/x86/pixel-a.asm:
23810 asm: fix the bug caused on 32-bit linux due to satd routines.
23811 [690f6534d310]
23812
238132013-11-18 Kavitha Sampath <kavitha@multicorewareinc.com>
23814
23815 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
23816 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
23817 source/encoder/compress.cpp, source/encoder/encoder.cpp,
23818 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
23819 source/x265.cpp:
23820 Encoder statistics: Inter[% (2Nx2N %2NxN %Nx2N %AMP)] Intra[% (%DC
23821 %PLANAR %ANG)] Split[%] Skip[%]
23822 [2321ebe0bf64]
23823
238242013-11-18 Nabajit Deka <Nabajit Deka>
23825
23826 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
23827 Adding asm function declarations and initializations for chroma hps
23828 filter functions.
23829 [ac9e64d8a80b]
23830
238312013-11-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
23832
23833 * source/Lib/TLibCommon/TComPrediction.cpp,
23834 source/Lib/TLibCommon/TComPrediction.h:
23835 TComPrediction: cleanup, remove unused buffers
23836 [58f4e30dbe8f]
23837
238382013-11-17 Steve Borho <steve@borho.org>
23839
23840 * source/test/ipfilterharness.cpp:
23841 testbench: quit zeroing buffers before every test
23842 [e2895ce7bbeb]
23843
23844 * source/common/vec/ipfilter-sse41.cpp:
23845 vec: disable 16bpp ipfilter_ps[] functions, not 10bit pixel safe
23846 [b32dc442ca83]
23847
23848 * source/common/vec/intra-ssse3.cpp:
23849 clang: fix ambiguous * operator in intra-ssse3.cpp
23850 [7cae5e2e17ed]
23851
238522013-11-16 Steve Borho <steve@borho.org>
23853
23854 * source/common/common.cpp:
23855 common: remove thread counts from param2string
23856 [e276322c6288]
23857
23858 * source/common/common.cpp, source/common/common.h, source/x265.cpp,
23859 source/x265.h:
23860 cli: allow string argument names for --me, generalize
23861 [14cd6a901cc4]
23862
23863 * source/common/vec/pixel-sse3.cpp:
23864 vec: drop blockfill intrinsic primitives, we have ASM
23865 [1544cf94837d]
23866
23867 * source/common/pixel.cpp, source/common/vec/pixel-sse3.cpp:
23868 vec: drop residual and recon intrinsic primitives, we have ASM
23869 [3052fca7e7d1]
23870
23871 * source/common/x86/pixel-util.asm:
23872 fix eoln of pixel-util.asm
23873 [119c01293aa5]
23874
238752013-11-16 Min Chen <chenm003@163.com>
23876
23877 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h,
23878 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23879 util.asm, source/common/x86/pixel.h:
23880 asm: assembly code for calcresidual[]
23881 [24bcae464492]
23882
23883 * source/common/pixel.cpp, source/common/vec/pixel-sse3.cpp,
23884 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
23885 util.asm, source/common/x86/pixel.h:
23886 cleanup: remove unused 64x64 functions
23887 [64ece76a2152]
23888
23889 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/pixel-
23890 util.asm:
23891 asm: residual buffer is alignment to size, so we can use alignment
23892 load instruction
23893 [e43b1e005ffa]
23894
238952013-11-16 Steve Borho <steve@borho.org>
23896
23897 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
23898 repair -i0 behavior
23899 [2552369e3537]
23900
23901 * source/encoder/slicetype.cpp:
23902 slicetype: hoist intra cost estimate out of weightsAnalyze
23903 [da5b10cf5ee5]
23904
239052013-11-15 Praveen Tiwari <Praveen Tiwari>
23906
23907 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23908 TComYuv::copyPartToYuv, asm code integration for blockcopy_pp
23909 [7e7397e823c9]
23910
23911 * source/Lib/TLibCommon/TComYuv.cpp:
23912 TComYuv::copyToPartYuv, asm integration for blockcopy_pp
23913 [08cb5a0bff32]
23914
23915 * source/common/primitives.cpp, source/common/primitives.h,
23916 source/test/pixelharness.cpp:
23917 checking for all supported csp values
23918 [a4b880b9114d]
23919
23920 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
23921 source/common/pixel.cpp, source/common/primitives.h,
23922 source/common/x86/asm-primitives.cpp, source/test/pixelharness.cpp:
23923 TComYuv::copyFromPicLuma, asm integration for chroma blockcopy_pp
23924 [0aa7be2c038a]
23925
239262013-11-15 Nabajit Deka <Nabajit Deka>
23927
23928 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
23929 Adding asm function declarations and initializations for luma vss
23930 filter functions.
23931 [ec9295e39fe6]
23932
23933 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
23934 Adding asm function declarations and initializations for chroma vss
23935 filter functions
23936 [726f302ca952]
23937
23938 * source/common/x86/ipfilter8.asm:
23939 asm: routines for luma vss filter functions for all block sizes.
23940 [4ee15557ea11]
23941
23942 * source/common/x86/ipfilter8.asm:
23943 asm: routines for chroma vss filter functions for all block sizes
23944 [83c9a7a473c4]
23945
23946 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
23947 Adding test bench code for luma vss filter functions.
23948 [7fd467ca4f3e]
23949
23950 * source/common/ipfilter.cpp, source/common/primitives.h:
23951 Adding function pointer array and C primitive initializations for
23952 luma vss filter functions
23953 [544c4712cd45]
23954
23955 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
23956 Adding test bench code for chroma vss filter functions
23957 [47de8ca8952c]
23958
23959 * source/common/ipfilter.cpp:
23960 Adding C primitive for chroma vss filter functions
23961 [fdaef69fbf19]
23962
23963 * source/common/primitives.h:
23964 Adding function pointer type & array declaration for chroma vss
23965 filter functions
23966 [f6efa96cfbd4]
23967
239682013-11-16 Steve Borho <steve@borho.org>
23969
23970 * source/CMakeLists.txt, source/common/CMakeLists.txt:
23971 cmake: disable some flags for clang, old versions balk at them
23972 [60a66cbd8b47]
23973
239742013-11-15 Praveen Tiwari <Praveen Tiwari>
23975
23976 * source/Lib/TLibCommon/TComPrediction.cpp:
23977 reverted chroma_copy_pp asm integration to avoid csp break
23978 [2cb5461ccd45]
23979
239802013-11-15 Steve Borho <steve@borho.org>
23981
23982 * source/Lib/TLibCommon/TComPic.cpp, source/common/lowres.cpp,
23983 source/common/lowres.h, source/encoder/slicetype.cpp,
23984 source/encoder/slicetype.h:
23985 slicetype: hoist weightp analysis above dosearch checks
23986 [3e9bb2ca458b]
23987
23988 * source/Lib/TLibCommon/TComPrediction.cpp:
23989 TComPrediction: cleanup hugarian notations and redundant vars
23990 [959cabcc9ece]
23991
23992 * source/Lib/TLibCommon/TComSlice.h:
23993 fix variable shadow warning
23994 [95f292369c06]
23995
239962013-11-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
23997
23998 * Merge
23999 [c45770e5a2ae]
24000
24001 * source/common/common.cpp:
24002 presets: fix bugs, better spread out the efficiency/speed data
24003 points.
24004 [a85c5f418794]
24005
24006 * source/x265.h:
24007 x265: whitespace nit
24008 [a5689bb5808e]
24009
240102013-11-14 Steve Borho <steve@borho.org>
24011
24012 * source/encoder/slicetype.cpp:
24013 slicetype: correct non-denom round, improve some comments
24014 [ee42f57411ae]
24015
24016 * source/encoder/slicetype.cpp:
24017 slicetype: remove unnecessary lines, simplify a few things
24018 [31bbe5e1142e]
24019
24020 * source/encoder/slicetype.cpp:
24021 slicetype: use x265 style camelCase auto vars
24022 [82b9f30398ae]
24023
24024 * source/encoder/slicetype.cpp:
24025 slicetype: since w is an auto-var there is no need to zero at early-
24026 outs
24027 [02fd5b099fa3]
24028
24029 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
24030 slicetype: optimize away mcWeight helper function
24031 [ba00da135945]
24032
240332013-11-14 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
24034
24035 * source/common/lowres.cpp, source/common/lowres.h,
24036 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
24037 Using weighted lowres ref frames in cost estimation in lookahead
24038 [899731955c6d]
24039
24040 * source/Lib/TLibCommon/TComSlice.h, source/encoder/slicetype.cpp,
24041 source/encoder/slicetype.h:
24042 Pulling x264 weight decision into x265 lookahead
24043 [61f9fc2e91d2]
24044
240452013-11-14 Min Chen <chenm003@163.com>
24046
24047 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
24048 util.asm, source/common/x86/pixel.h, source/test/pixelharness.cpp:
24049 asm: assembly code for calcrecon[]
24050 [1b9545e23e36]
24051
240522013-11-14 Sumalatha Polureddy <Sumalatha Polureddy>
24053
24054 * source/encoder/compress.cpp:
24055 no-rdo early exit: giving weightage to the cost of that CU and
24056 neighbour CU's for early exit
24057
24058 Early exit is done when CU cost at depth "n" is lessthan sum of 60%
24059 of avgcost of that CU at same depth and 40% of avgcost of neighbour
24060 CU's at same depth.
24061
24062 the performance, bitrate increase and psnr comparison are given
24063 below CLI: x265.exe input.y4m -o abc.hevc -r recon.y4m --rd 1 --ref
24064 1
24065
24066 BasketballDrive_1920x1080_50 Timetaken to encode: 704/585/564s
24067 bitrate: 3650/3696/3696 PSNR: 36.7/36.67/36.67 perf improvement:
24068 16.9% (compared to early exit OFF and already existing early exit)
24069 perf improvement: 19.8% (compared to early exit OFF and new early
24070 exit)
24071
24072 Cactus_1920x1080_50 Timetaken to encode: 526/443/436s bitrate:
24073 2787/2831/2833 PSNR: 35.527/35.48/35.48 perf improvement: 15.7%
24074 (compared to early exit OFF and already existing early exit) perf
24075 improvement: 17.1% (compared to early exit OFF and new early exit)
24076
24077 Kimono1_1920x1080_24 Timetaken to encode: 279/235/238s bitrate:
24078 1243/1252/1252 PSNR: 38.16/38.158/38.159 perf improvement: 15.7%
24079 (compared to early exit OFF and already existing early exit) perf
24080 improvement: 14.6% (compared to early exit OFF and new early exit)
24081
24082 FourPeople_1280x720_60 Timetaken to encode: 169/157/157s 16.9%/19.8%
24083 bitrate: 486/489/489 PSNR: 39.09/39.052/39.042 perf improvement:
24084 7.1% (compared to early exit OFF and already existing early exit)
24085 perf improvement: 7.1% (compared to early exit OFF and new early
24086 exit)
24087
24088 big_buck_bunny_360p24 Timetaken to encode: 1739/1511/1505s
24089 16.9%/19.8% bitrate: 174.9/175.38/175.5 PSNR: 37.798/37.746/37.752
24090 perf improvement: 13.1% (compared to early exit OFF and already
24091 existing early exit) perf improvement: 13.4% (compared to early exit
24092 OFF and new early exit)
24093
24094 PartyScene_832x480_50 Timetaken to encode: 123/120/120s 16.9%/19.8%
24095 bitrate: 208/208/208 PSNR: 40.344/40.33/40.332 perf improvement:
24096 2.4% (compared to early exit OFF and already existing early exit)
24097 perf improvement: 2.4% (compared to early exit OFF and new early
24098 exit)
24099 [1a033fe23a3e]
24100
241012013-11-14 Praveen Tiwari <Praveen Tiwari>
24102
24103 * source/Lib/TLibEncoder/TEncSearch.cpp:
24104 reverted chroma_copy_pp asm integration code, avoiding csp break
24105 [b0ce6bd99b15]
24106
241072013-11-14 Murugan Vairavel <murugan@multicorewareinc.com>
24108
24109 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
24110 source/common/x86/pixel.h:
24111 asm: code for scale1D_128to64 routine
24112 [05484f075744]
24113
24114 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24115 Unit test code for Pixel scaling
24116 [38e124ec202c]
24117
241182013-11-14 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24119
24120 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24121 asm: assembly code for pixel_satd_32x64 and pixel_satd_48x64
24122 [84f9ced21747]
24123
24124 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24125 asm: assembly code for pixel_satd_64x64
24126 [99b64d267788]
24127
24128 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24129 asm: assembly code for pixel_satd_64x32 and pixel_satd_64x48
24130 [ed1dab579cb1]
24131
241322013-11-13 Steve Borho <steve@borho.org>
24133
24134 * source/Lib/TLibEncoder/TEncSearch.cpp:
24135 TEncSearch: nit
24136 [e871fe75d5ab]
24137
241382013-11-13 Nabajit Deka <Nabajit Deka>
24139
24140 * source/common/x86/ipfilter8.asm:
24141 asm: routines for chroma vps filter functions for 2x4 and 2x8 block
24142 sizes.
24143 [c828dd4d9eae]
24144
241452013-11-13 Derek Buitenhuis <derek.buitenhuis@gmail.com>
24146
24147 * source/Lib/TLibEncoder/TEncSearch.cpp:
24148 Reindent after last commit
24149 [5683ee5b793c]
24150
24151 * source/Lib/TLibEncoder/TEncSearch.cpp,
24152 source/Lib/TLibEncoder/TEncSearch.h:
24153 TEncSearch: Fix parameter type of xEstimateResidualQT
24154
24155 Fixes compilation with g++.
24156 [c89e22d26bcd]
24157
241582013-11-13 Nabajit Deka <Nabajit Deka>
24159
24160 * source/common/x86/asm-primitives.cpp,
24161 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h:
24162 Change minimum architecture to sse4 as chroma vsp functions for
24163 block sizes(2x4,2x8 and 6x8) need faster SSE4 instructions.
24164 [a04ca925ad3f]
24165
24166 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
24167 Adding asm function declarations and initializations for chroma vps
24168 filter functions.
24169 [5fc6ca938864]
24170
24171 * source/common/x86/ipfilter8.asm:
24172 asm: routines for chroma vps filter functions for 32xN block sizes.
24173 [701b696d0670]
24174
24175 * source/common/x86/ipfilter8.asm:
24176 asm: routines for chroma vps filter function for 24x32 block size.
24177 [21d27b188e71]
24178
24179 * source/common/x86/ipfilter8.asm:
24180 asm: routines for chroma vps filter functions for 16xN block sizes.
24181 [52d18d911356]
24182
24183 * source/common/x86/ipfilter8.asm:
24184 asm: routines for chroma vps filter functions for 6x8 and 12x16
24185 block sizes.
24186 [8e6dcabdccd5]
24187
24188 * source/common/x86/ipfilter8.asm:
24189 asm: routines for chroma vps filter functions for 8xN block sizes
24190 [91cfcd159ff3]
24191
24192 * source/common/x86/ipfilter8.asm:
24193 asm: routines for chroma vps filter functions for 4xN block sizes.
24194 [23aecd3f9180]
24195
24196 * source/common/x86/ipfilter8.asm:
24197 asm: routines for chroma hps filter functions for 16xN, 24xN and
24198 32xN
24199 [d80ab2913b31]
24200
24201 * source/common/x86/ipfilter8.asm:
24202 asm: routines for chroma hps filter functions for 8xN block sizes.
24203 [3448252924ad]
24204
24205 * source/common/x86/ipfilter8.asm:
24206 asm: Proper indentation and function prototype updation for chroma
24207 hps filter functions for 2xN, 4xN, 6x8 and 12x16 block sizes.
24208 [51d3c0782e46]
24209
242102013-11-13 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24211
24212 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24213 asm: assembly code for pixel_satd_64x16
24214 [32e01ab333a6]
24215
24216 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24217 asm: assembly code for pixel_satd_32x32
24218 [4ee655b93b03]
24219
24220 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24221 asm: assembly code for pixel_satd_24x32
24222 [2ffe634ebd71]
24223
242242013-11-12 Murugan Vairavel <murugan@multicorewareinc.com>
24225
24226 * source/common/pixel.cpp, source/common/primitives.h,
24227 source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
24228 source/test/pixelharness.cpp, source/test/pixelharness.h:
24229 asm: Unit test code for pixelsub_ps function
24230 [c4ca80d19105]
24231
242322013-11-13 Murugan Vairavel <murugan@multicorewareinc.com>
24233
24234 * source/common/x86/pixel-a.asm:
24235 asm: pixelsub_ps routine for all block sizes
24236 [2d6dd46dc286]
24237
242382013-11-12 sagarkotecha <sagarkotecha>
24239
24240 * source/common/ipfilter.cpp:
24241 Bug fix : In ipfilter for 10 bit yuv support
24242 [90c2763ee027]
24243
242442013-11-12 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
24245
24246 * source/encoder/ratecontrol.cpp:
24247 Adding initialisation for ssd/sum values for lowress frame
24248 [a19ba09c1fd7]
24249
242502013-11-12 Nabajit Deka <Nabajit Deka>
24251
24252 * source/test/ipfilterharness.cpp:
24253 Adding test bench code for chroma vps filter functions.
24254 [2185b81ae35b]
24255
24256 * source/common/ipfilter.cpp, source/common/primitives.h:
24257 Adding function pointer array and C primitive initializations for
24258 chroma vps filter functions.
24259 [1ddacfd89112]
24260
24261 * source/common/x86/ipfilter8.asm:
24262 asm: routines for chroma hps filter functions for 2xN, 4xN, 6x8 and
24263 12x16 block sizes.
24264 [533bca3ec7e9]
24265
24266 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24267 Adding test bench code for chroma hps filter functions.
24268 [e6d26209c45f]
24269
24270 * source/common/ipfilter.cpp, source/common/primitives.h:
24271 Adding function pointer array and initializations for chroma hps
24272 filter functions.
24273 [8a8b967500e5]
24274
24275 * source/common/x86/asm-primitives.cpp:
24276 Adding function pointer initializations for asm chroma vsp
24277 functions.
24278 [028b911ae623]
24279
24280 * source/common/x86/ipfilter8.h:
24281 Adding asm function declarations for chroma vsp filter functions.
24282 [8fe8d8f9f7cb]
24283
24284 * source/common/x86/ipfilter8.asm:
24285 asm: routines for chroma vsp filter functions for all block sizes.
24286 [4844849073b7]
24287
24288 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24289 Adding test bench code for chroma vsp filter functions.
24290 [ed8a6cd4d8ec]
24291
24292 * source/common/ipfilter.cpp, source/common/primitives.h:
24293 Adding function pointer array and initializations for chroma vsp
24294 filter functions.
24295 [e676cbd86238]
24296
242972013-11-12 Min Chen <chenm003@163.com>
24298
24299 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24300 source/common/x86/pixel.h:
24301 asm: assembly code for x265_pixel_avg_12x16
24302 [d0f80f375c3b]
24303
243042013-11-12 Praveen Tiwari <Praveen Tiwari>
24305
24306 * source/Lib/TLibCommon/TComYuv.cpp:
24307 TComYuv.cpp, use new luma_copy_ps asm primitives where feasible
24308 [31528c277c64]
24309
24310 * source/Lib/TLibCommon/TComYuv.cpp:
24311 TComYuv.cpp, use new blockcopy_pp luma primitives where feasible
24312 [8708689dcca2]
24313
24314 * source/Lib/TLibCommon/TComYuv.cpp:
24315 TComYuv::copyFromPicLuma, blockcopy_pp luma asm code integration
24316 [c56ea57ce3ab]
24317
24318 * source/Lib/TLibCommon/TComYuv.cpp:
24319 TComYuv::copyToPicLuma, blockcopy_pp asm code integration
24320 [04c28af13c4d]
24321
243222013-11-12 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24323
24324 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24325 asm: assembly code for pixel_satd_12x16
24326 [c56ce77dc081]
24327
24328 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24329 asm: assembly code for satd_16x32, satd_16x64, satd_8x32
24330 [d636952ed093]
24331
24332 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24333 asm: assembly code for pixel_satd_16x4
24334 [7818f5b7cc25]
24335
24336 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24337 asm: assembly code for pixel_satd_16x12
24338 [2baf62a8e47d]
24339
24340 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24341 asm: assembly code for pixel_satd_32x24 and rearranged the functions
24342 [085d5c625c53]
24343
243442013-11-11 Steve Borho <steve@borho.org>
24345
24346 * source/encoder/compress.cpp:
24347 compress: fix shadow warning from GCC
24348 [58bdb05da194]
24349
24350 * source/Lib/TLibEncoder/TEncSearch.cpp:
24351 TEncSearch: use luma block copy (luma part size) if bChromaSame
24352 [ea4f939478ed]
24353
243542013-11-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24355
24356 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
24357 source/encoder/compress.cpp:
24358 Backout: Causing non-determinism in rd 0 and 1. Needs to be further
24359 investigated.
24360 [ab0968b4b65d]
24361
243622013-11-12 Min Chen <chenm003@163.com>
24363
24364 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp:
24365 cleanup: hardcoded m_qtTempTComYuv[qtLayer].m_width to MAX_CU_SIZE
24366 [12053d6bf759]
24367
243682013-11-12 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
24369
24370 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24371 source/common/x86/pixel.h:
24372 asm: pixel_avg_48x64, pixel_avg_8x32
24373 [4a4fd61e98e6]
24374
24375 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24376 source/common/x86/pixel.h:
24377 asm: asm: pixel_avg_24x32
24378 [56642525d09e]
24379
24380 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24381 source/common/x86/pixel.h:
24382 asm: pixel_avg_64x(64,48,16)
24383 [9c92947860e0]
24384
24385 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24386 source/common/x86/pixel.h:
24387 asm: pixel_avg_32x(64,32,24,8)
24388 [5b0e1731f776]
24389
243902013-11-12 Sumalatha Polureddy <Sumalatha Polureddy>
24391
24392 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
24393 source/encoder/compress.cpp:
24394 no-rdo early exit: giving weightage to the cost of all CU's and
24395 neighbour CU's for early exit
24396
24397 Early exit is done when CU cost at depth "n" is lessthan sum of 60%
24398 of avgcost of all CU's and 40% of avgcost of neighbour CU's at same
24399 depth.
24400 [dc5c51ff542f]
24401
244022013-11-11 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
24403
24404 * source/Lib/TLibEncoder/TEncSearch.cpp:
24405 no-rdo: cleanups. Remove unnecessary memsets, rearrange
24406 computations.
24407 [1ca01c82609f]
24408
244092013-11-11 Steve Borho <steve@borho.org>
24410
24411 * source/Lib/TLibCommon/TComYuv.h:
24412 TComYuv: de-hungarian nits
24413 [d1d716083aa7]
24414
24415 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
24416 source/encoder/ratecontrol.cpp:
24417 asm: use new block copy primitives where feasible
24418 [1c95568c7143]
24419
24420 * source/Lib/TLibCommon/TComPrediction.cpp,
24421 source/common/ipfilter.cpp, source/common/primitives.h,
24422 source/common/vec/ipfilter-sse41.cpp, source/common/x86/asm-
24423 primitives.cpp, source/common/x86/ipfilter8.asm,
24424 source/common/x86/ipfilter8.h, source/encoder/motion.cpp:
24425 asm: hookup luma_vsp primitive, drop asm and intrinsic non-block
24426 versions
24427 [904b788b09e2]
24428
244292013-11-11 Nabajit Deka <Nabajit Deka>
24430
24431 * source/common/x86/asm-primitives.cpp:
24432 Adding function pointer initializations for luma vsp functions.
24433 [d11de5be8e25]
24434
24435 * source/common/x86/ipfilter8.h:
24436 Adding asm function declarations for luma vsp filter functions.
24437 [937ac0c1bac4]
24438
24439 * source/common/x86/ipfilter8.asm:
24440 asm: routines for luma vsp filter functions for all block sizes.
24441 [1eae34eb5995]
24442
244432013-11-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24444
24445 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24446 asm: assembly code for x265_pixel_satd_32x16
24447 [27b97bc50331]
24448
24449 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24450 asm: assembly code for x265_pixel_satd_32x8
24451 [da13148e7c6e]
24452
244532013-11-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
24454
24455 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24456 source/common/x86/pixel.h:
24457 asm: enabled pixel_avg_16x(64,32,12,4) assembly functions
24458 [1990e66030d1]
24459
244602013-11-11 Min Chen <chenm003@163.com>
24461
24462 * source/Lib/TLibEncoder/TEncSearch.cpp:
24463 use fixed stride/size on m_qtTempTComYuv, to reduce number of
24464 calcRecon() parameters
24465 [0f9c6391fa19]
24466
24467 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24468 source/common/x86/pixel.h:
24469 asm: pixel_avg[32x16]
24470 [79a452bec247]
24471
244722013-11-11 Praveen Tiwari <Praveen Tiwari>
24473
24474 * source/common/x86/asm-primitives.cpp:
24475 added macro call for luma partition blockcopy_ps function
24476 [18dd57c38254]
24477
24478 * source/common/x86/asm-primitives.cpp,
24479 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24480 asm code for blockcopy_ps_64xN
24481 [ed32ed5a0785]
24482
24483 * source/common/x86/asm-primitives.cpp,
24484 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24485 asm code for luma blockcopy_ps_48x64
24486 [c19168acd391]
24487
24488 * source/common/x86/asm-primitives.cpp,
24489 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24490 asm code for luma blockcopy_ps_32x64
24491 [15b705145e15]
24492
24493 * source/common/x86/asm-primitives.cpp,
24494 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24495 added asm function for luma blockcopy_ps_16x64
24496 [8e20f3c1dbb4]
24497
24498 * source/common/x86/asm-primitives.cpp,
24499 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24500 added asm code blockcopy_ps_4x16 and invoked function pointer
24501 initialization with macro
24502 [67fb80ee548a]
24503
24504 * source/common/x86/asm-primitives.cpp,
24505 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24506 asm code for blockcopy_ps_6x8
24507 [b208adfaaba6]
24508
24509 * source/common/x86/asm-primitives.cpp,
24510 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24511 asm code for blockcopy_ps_2x8
24512 [c047d5898b59]
24513
24514 * source/common/x86/asm-primitives.cpp,
24515 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24516 asm code for blockcopy_ps_2x4
24517 [cf089f73913d]
24518
24519 * source/common/x86/asm-primitives.cpp,
24520 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24521 asm code for blockcopy_ps_24x32
24522 [c8e0d150b111]
24523
24524 * source/common/x86/asm-primitives.cpp,
24525 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24526 asm code for blockcopy_ps_4x8
24527 [332793211a8d]
24528
24529 * source/common/x86/asm-primitives.cpp,
24530 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24531 asm code for blockcopy_ps_4x4
24532 [953fe27840b6]
24533
24534 * source/common/x86/asm-primitives.cpp,
24535 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24536 asm code for blockcopy_ps_4x2
24537 [4c45ee313c3c]
24538
24539 * source/common/x86/asm-primitives.cpp,
24540 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24541 asm code for blockcopy_ps_12x16
24542 [c09ba17002c0]
24543
24544 * source/common/x86/asm-primitives.cpp,
24545 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24546 asm code for blockcopy_ps_32xN
24547 [badcc7920c91]
24548
24549 * source/common/x86/asm-primitives.cpp,
24550 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24551 blockcopy_ps_16x4, asm code is now sse4
24552 [1365b796a75e]
24553
24554 * source/common/x86/blockcopy8.asm:
24555 eliminated register copy from BLOCKCOPY_PS_W16_H4 macro
24556 [7a0afcd7c4c9]
24557
24558 * source/common/x86/asm-primitives.cpp,
24559 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24560 asm code for asm code for blockcopy_ps,16x8, 16x12, 16x16, 16x32
24561 [e5567a4eeec5]
24562
24563 * source/common/x86/asm-primitives.cpp,
24564 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24565 asm code for blockcopy_ps_16x4
24566 [cb378330b31b]
24567
24568 * source/common/x86/asm-primitives.cpp,
24569 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24570 asm code for blockcopy_ps, 8x6, 8x16 and 8x32
24571 [7d74ee88f3fe]
24572
24573 * source/common/x86/asm-primitives.cpp,
24574 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24575 asm code for blockcopy_ps_8x6
24576 [1fbaef13feb7]
24577
245782013-11-11 Steve Borho <steve@borho.org>
24579
24580 * source/encoder/compress.cpp:
24581 compress: white-space nits
24582 [c94d51359a5f]
24583
245842013-11-11 Mahesh Doijade <maheshdoijade@multicorewareinc.com>
24585
24586 * source/encoder/compress.cpp:
24587 TEncCu: cleanup xComputeCostIntraInInter to use 32x32 logic for
24588 64x64
24589 [2e90d81098af]
24590
245912013-11-11 Min Chen <chenm003@163.com>
24592
24593 * source/test/pixelharness.cpp:
24594 bugfix: PixelHarness::check_pixelavg_pp() output buffer did not
24595 initialize
24596 [9642b5b6500b]
24597
24598 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm:
24599 re-enable asm code for pixel_avg, the problem is miss EMMS
24600 [a1577003ee96]
24601
246022013-11-11 Praveen Tiwari <Praveen Tiwari>
24603
24604 * source/common/x86/asm-primitives.cpp,
24605 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24606 asm code for blockcopy_ps_8x4
24607 [25300bdf7bbe]
24608
24609 * source/common/x86/asm-primitives.cpp,
24610 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24611 asm code for blockcopy_ps_8x2
24612 [11b09a9fa32f]
24613
24614 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24615 unit test code for block_copy_ps function
24616 [eab2cd89e813]
24617
24618 * source/common/pixel.cpp, source/common/primitives.h:
24619 added blockcopy_ps c primitive and function pointes
24620 [7f3164f16551]
24621
246222013-11-11 Nabajit Deka <Nabajit Deka>
24623
24624 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24625 Adding test bench code for luma vsp filter functions.
24626 [51358e3422b7]
24627
24628 * source/common/ipfilter.cpp:
24629 Adding C primitive for luma vsp filter functions.
24630 [d2b3aefb522e]
24631
24632 * source/common/primitives.h:
24633 Adding function pointer type & array definition for luma vsp filter
24634 functions.
24635 [8d496292dd1d]
24636
246372013-11-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24638
24639 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
24640 16bpp primitives: disabling dct/idct/dst/idst primitives
24641 [8ca334701a92]
24642
246432013-11-09 Steve Borho <steve@borho.org>
24644
24645 * source/test/testbench.cpp:
24646 testbench: set g_bitDepth to 10 for HIGH_BIT_DEPTH builds
24647
24648 This more accurately tests our optimized primitives vs the C ref,
24649 and several of them now fail validation. The intrinsic primitives
24650 need to be updated to the changes made in commit b24d05dd4990 and/or
24651 disabled for 16bpp.
24652 [9d74638c3640]
24653
24654 * source/common/vec/dct-sse3.cpp:
24655 dct: white-space cleanup
24656 [975d0089a37d]
24657
24658 * source/output/y4m.cpp:
24659 y4m: fix 8bpp build
24660 [efb26544f8aa]
24661
24662 * source/Lib/TLibCommon/TComPicYuv.cpp:
24663 TComPicYuv: add a comment for future optimizations
24664 [2be9bd65f418]
24665
24666 * source/input/yuv.cpp:
24667 yuv: pic.stride should be in units of pixels, not bytes
24668 [b2b455afd60e]
24669
24670 * source/Lib/TLibCommon/TComPicYuv.cpp:
24671 csp: fix allocation size calculation of chroma planes
24672 [99d934beca75]
24673
24674 * source/Lib/TLibCommon/TComPicYuv.cpp,
24675 source/Lib/TLibCommon/TComPicYuv.h:
24676 TComPicYuv: remove unused luma-oriented functions, cleanup destroy
24677 method
24678 [9dece99f7faa]
24679
24680 * source/Lib/TLibCommon/TComPicYuv.cpp,
24681 source/Lib/TLibCommon/TComPicYuv.h:
24682 TComPicYuv: remove unused copy methods
24683 [ad8b9d120f8c]
24684
24685 * source/Lib/TLibCommon/TComPicYuv.cpp:
24686 TComPicYuv: cleanup prefixes
24687 [c05952a71525]
24688
24689 * source/Lib/TLibCommon/TComPicYuv.cpp,
24690 source/Lib/TLibCommon/TComPicYuv.h:
24691 TComPicYuv: remove unused dump function
24692 [8774e07b9d8a]
24693
24694 * source/output/output.cpp, source/output/y4m.cpp,
24695 source/output/y4m.h, source/output/yuv.cpp, source/x265.cpp:
24696 cli: file writers should validate output bitdepth, if any is
24697 specified
24698 [5c3ecc48bf3b]
24699
24700 * source/common/CMakeLists.txt, source/common/vec/pixel-avx2.cpp,
24701 source/common/vec/vec-primitives.cpp:
24702 pixel: remove AVX2 vector class SAD primitives
24703
24704 These are superceded by assembly - the ASM doesn't use AVX2 yet but
24705 it's already faster
24706 [af9ec83d864a]
24707
24708 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
24709 TComYuv: remove unused removeHighFreq()
24710 [cd9b013529ad]
24711
24712 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
24713 source/common/pixel.cpp, source/common/primitives.h,
24714 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
24715 source/test/pixelharness.h:
24716 primitive: remove pixeladd_pp and TComYuv::addClip()
24717
24718 These were used by the old HM bidir search
24719 [57caf112acf9]
24720
247212013-11-08 Steve Borho <steve@borho.org>
24722
24723 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
24724 source/input/yuv.cpp, source/input/yuv.h:
24725 input: drop unthreaded reader paths for simplicity
24726 [29ad451b3026]
24727
24728 * source/input/yuv.cpp:
24729 yuv: simplify framesize usage
24730 [27486e340eac]
24731
24732 * source/input/yuv.cpp:
24733 yuv: initialize pixelbytes as early as possible
24734 [45c5ba1dc340]
24735
24736 * source/input/y4m.cpp, source/input/yuv.cpp:
24737 input: include nits
24738 [620c2a377cf6]
24739
24740 * source/x265.cpp:
24741 cli: do not check recon bit depth if no recon file is requested
24742
24743 For now, just enforce our current requirement that the output
24744 bitdepth must match the input bit depth. If the recon file writers
24745 ever support depth conversions, these checks can be revisited
24746 [4a824497b3f4]
24747
24748 * source/common/common.cpp:
24749 common: set default params to match medium preset, keep star search
24750 for medium
24751 [5b688170c506]
24752
247532013-11-06 Steve Borho <steve@borho.org>
24754
24755 * source/common/common.cpp:
24756 presets: adjust presets to increase spread and align closer with
24757 x264 presets
24758 [8487f675effa]
24759
247602013-11-08 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
24761
24762 * source/Lib/TLibEncoder/TEncSearch.cpp,
24763 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
24764 no-rdo: refactor enodeResandCalcRDInterCU function
24765
24766 Divide estimateBits and modeDecision inside the function.
24767 EstimateBits uses a pseudo encode. Bitstream changes with this patch
24768 for --rd 1.
24769 [66659d4a7b31]
24770
247712013-11-08 Steve Borho <steve@borho.org>
24772
24773 * source/Lib/TLibCommon/TComPicYuv.cpp:
24774 TComPicYuv: fixup 16x16 picture padding by using unpadded width as
24775 pad base
24776 [74bed0a288f5]
24777
247782013-11-08 Mahesh Doijade <Mahesh Doijade>
24779
24780 * source/Lib/TLibEncoder/TEncSearch.cpp:
24781 TEncSearch: cleanup estIntraPredQT to use 32x32 logic for 64x64
24782 blocks
24783 [abb7c130ca2f]
24784
247852013-11-08 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24786
24787 * source/common/x86/sad-a.asm:
24788 asm: optimised pixel_sad_xN_24x32 assembly code
24789 [cd16d2ed3128]
24790
247912013-11-08 Praveen Tiwari <Praveen Tiwari>
24792
24793 * source/common/x86/blockcopy8.asm:
24794 blockcopy_sp_2x8, optimized asm code
24795 [1e7c99e5b511]
24796
24797 * source/common/x86/blockcopy8.asm:
24798 blockcopy_sp_2x4, optimized asm code
24799 [7bd27dfad3bf]
24800
24801 * source/common/x86/blockcopy8.asm:
24802 blockcopy_sp_6x8, optimized asm code
24803 [073ca727d5de]
24804
24805 * source/common/x86/blockcopy8.asm:
24806 blockcopy_sp_32xN, optimized asm code
24807 [b95f9e753039]
24808
24809 * source/common/x86/blockcopy8.asm:
24810 blockcopy_sp_48x64, optimized asm code
24811 [fa5544054a1d]
24812
24813 * source/common/x86/blockcopy8.asm:
24814 blockcopy_sp_64xN, optimized asm code
24815 [a1c0eb5f5d84]
24816
24817 * source/common/x86/blockcopy8.asm:
24818 blockcopy_sp_24x32, optimized asm code
24819 [3cf4edc66844]
24820
24821 * source/common/x86/blockcopy8.asm:
24822 blockcopy_sp_16xN, optimized asm code
24823 [a1a9b29cccf9]
24824
24825 * source/common/x86/blockcopy8.asm:
24826 blockcopy_sp_12x16, optimized asm code
24827 [970517e2eb4c]
24828
24829 * source/common/x86/blockcopy8.asm:
24830 blockcopy_sp_8x16, optimized asm code
24831 [a0b003aac23e]
24832
24833 * source/common/x86/blockcopy8.asm:
24834 blockcopy_sp_8x8, optimized asm code
24835 [8cfa90a574f8]
24836
24837 * source/common/x86/blockcopy8.asm:
24838 blockcopy_sp_8x2, optimized asm code
24839 [c8d25ce3b965]
24840
24841 * source/common/x86/blockcopy8.asm:
24842 blockcopy_sp_8x6, optimized asm code
24843 [2fd3cf3b5edb]
24844
24845 * source/common/x86/blockcopy8.asm:
24846 blockcopy_sp_8x4, optimized asm code
24847 [27c70b409c1b]
24848
24849 * source/common/x86/blockcopy8.asm:
24850 blockcopy_sp_4x8, optimized asm code
24851 [ceed26f375d5]
24852
24853 * source/common/x86/blockcopy8.asm:
24854 blockcopy_sp_4x16, optimized asm code
24855 [b20b89bf5348]
24856
24857 * source/common/x86/blockcopy8.asm:
24858 blockcopy_sp_4x4, optimized asm code according to modified C
24859 primitive
24860 [d5f67f9cba2c]
24861
24862 * source/common/x86/blockcopy8.asm:
24863 blockcopy_sp_4x2, optimized asm code according to modified C
24864 primitive
24865 [85dddb9aa165]
24866
248672013-11-08 Steve Borho <steve@borho.org>
24868
24869 * source/common/ipfilter.cpp, source/common/primitives.h,
24870 source/common/vec/ipfilter-sse41.cpp,
24871 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24872 primitives: remove unused ipfilter_pp_t funcdef and C and intrinsic
24873 primitives
24874
24875 These are now completely replaced by block based assembly code
24876 [fef74c2e329d]
24877
24878 * source/common/vec/pixel-sse41.cpp:
24879 linux: re-enable sse_12x16 for clang and gcc
24880 [94cba84de8dd]
24881
248822013-11-08 Min Chen <chenm003@163.com>
24883
24884 * source/common/vec/pixel-sse41.cpp:
24885 fix bug in sse_sp12
24886 [f76b591b7aef]
24887
24888 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24889 testbench: update for blockcopy, these function use dynamic range
24890 [0,255]
24891 [c5e633516217]
24892
248932013-11-07 Steve Borho <steve@borho.org>
24894
24895 * source/x265.cpp:
24896 cli: add missing --version long option for -V, and -? short option
24897 for --help
24898 [fd721a5ba063]
24899
24900 * source/x265.cpp:
24901 cli: report a warning on preset or tune string mismatches
24902 [08872c3c4735]
24903
24904 * source/common/vec/pixel-sse41.cpp:
24905 linux: disable sse_12x16 for GCC and clang
24906 [fd0ebb4b4709]
24907
24908 * source/test/pixelharness.cpp:
24909 linux: fix pixelharness on linux which has full-range rand()
24910 [1ea82d16d334]
24911
24912 * source/common/vec/blockcopy-sse3.cpp:
24913 vec: remove use of deleted primitive for 16bpp
24914 [014e3303ad3d]
24915
24916 * source/common/lowres.h:
24917 lowres: reorder members of Lowres struct for clarity
24918 [5563bd58c1e3]
24919
24920 * source/common/lowres.h, source/common/mv.h,
24921 source/encoder/motion.cpp, source/encoder/reference.h:
24922 lowres: move ReferencePlanes from mv.h to lowres.h
24923 [dac2888cbf4c]
24924
24925 * source/common/mv.h, source/encoder/motion.cpp,
24926 source/encoder/slicetype.cpp:
24927 lowres: pull lowres motion compensation and residual costs into
24928 lowres struct
24929 [9668c5b6373a]
24930
249312013-11-07 Min Chen <chenm003@163.com>
24932
24933 * source/common/TShortYUV.cpp, source/common/pixel.cpp,
24934 source/common/primitives.h, source/common/vec/blockcopy-sse3.cpp,
24935 source/test/pixelharness.cpp, source/test/pixelharness.h:
24936 rename: pixelsub_sp to pixelsub_ps, because it sub two Pixel and
24937 result is Short
24938 [cb24ed71905d]
24939
249402013-11-07 Praveen Tiwari <Praveen Tiwari>
24941
24942 * source/common/x86/asm-primitives.cpp,
24943 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24944 asm code for blockfil_s, 32x32
24945 [b4993b1fef7c]
24946
24947 * source/common/x86/asm-primitives.cpp,
24948 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24949 asm code for blockfill_s, 16x16
24950 [a8df8123e9ab]
24951
24952 * source/common/x86/asm-primitives.cpp,
24953 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24954 asm code for blockfill_s, 8x8
24955 [7d3e461312a5]
24956
24957 * source/common/x86/asm-primitives.cpp,
24958 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
24959 asm code for blockfill_s, 4x4
24960 [29d208555299]
24961
24962 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24963 unit test code for blockfill_s_c function
24964 [12ec248f7390]
24965
249662013-11-07 Steve Borho <steve@borho.org>
24967
24968 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
24969 asm: enable luma_vpp block MC functions
24970 [4d9aac4f0985]
24971
249722013-11-07 Nabajit Deka <Nabajit Deka>
24973
24974 * source/common/x86/ipfilter8.asm:
24975 Bug fix for luma vpp asm routines.Also incorporated review comment
24976 changes.
24977 [9ba49b482a1e]
24978
249792013-11-07 Min Chen <chenm003@163.com>
24980
24981 * source/common/pixel.cpp, source/common/primitives.h,
24982 source/common/vec/blockcopy-sse3.cpp, source/test/pixelharness.cpp,
24983 source/test/pixelharness.h:
24984 cleanup: remove unused blockcpy_sc
24985 [db7752a46693]
24986
24987 * source/common/pixel.cpp:
24988 asm: the pixel value in blockcopy_ps is saturation by calcRecon, so
24989 asm can use packuswb
24990 [b572831429ec]
24991
249922013-11-07 Aarthi Thirumalai <Aarthi Thirumalai>
24993
24994 * source/Lib/TLibCommon/TComPicYuv.cpp:
24995 tcompicyuv: add right boundary padding while applying bottom row
24996 padding.
24997 [397a201b0ea3]
24998
24999 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/lowres.cpp,
25000 source/encoder/frameencoder.cpp:
25001 aq: bug fix, extend right and bot of TComPic::m_origPicYuv to a
25002 multiple of 16
25003 [93a4f88844f1]
25004
250052013-11-07 Steve Borho <steve@borho.org>
25006
25007 * source/common/vec/pixel-sse41.cpp:
25008 pixel: remove last remaining intrinsic SAD primitives
25009 [536db32fc253]
25010
250112013-11-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25012
25013 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25014 asm: assembly code for pixel_sad_x4_64xN
25015 [dc31fc1daf42]
25016
25017 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25018 asm: assembly code for pixel_sad_x3_64xN
25019 [d6644a32e6bc]
25020
25021 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25022 asm: assembly code for pixel_sad_x4_48x64
25023 [96f1bb63b747]
25024
25025 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25026 asm: assembly code for pixel_sad_x3_48x64
25027 [74682dfe5342]
25028
250292013-11-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
25030
25031 * source/Lib/TLibCommon/TComPicYuv.cpp:
25032 tcompicyuv: improvement for Extend the right if width is not
25033 multiple of min CU size
25034 [85002898f5b4]
25035
250362013-11-07 Min Chen <chenm003@163.com>
25037
25038 * source/common/pixel.cpp:
25039 asm: the pixel value in blockcopy_ps is saturation by calcRecon, so
25040 asm can use packuswb
25041 [0a1b379be359]
25042
250432013-11-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
25044
25045 * source/Lib/TLibCommon/TComPicYuv.cpp:
25046 tcompicyuv: fix for copyFromPicture() when HIGH_BIT_DEPTH enable,
25047 sizeof(Pel)=2 and pic.bitDepth=8
25048 [ed1b1a7b0b38]
25049
250502013-11-07 Steve Borho <steve@borho.org>
25051
25052 * source/encoder/encoder.cpp:
25053 api: output x265_picture.bitDepth should reflect actual internal
25054 bitdepth
25055
25056 And not sizeof(pixel) * 8.
25057 [0ab509a661c7]
25058
250592013-11-06 Steve Borho <steve@borho.org>
25060
25061 * source/common/common.cpp, source/encoder/encoder.cpp,
25062 source/x265.cpp, source/x265.h:
25063 api: simplistic auto-determination of frame thread count
25064 [90d9c1067f50]
25065
25066 * source/encoder/motion.cpp:
25067 motion: fixup weightp - use unweighted reference pixels as
25068 interpolation source
25069 [93cccbe49a93]
25070
25071 * source/x265.cpp:
25072 cli: do not lookup a colorspace name if not supplied
25073 [60f78cbfacc8]
25074
25075 * source/common/common.cpp:
25076 common: set a default color space of I420
25077 [d9ea97e248bc]
25078
25079 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
25080 asm: use new block based single-pass H-filter motion compensation
25081 primitives
25082 [dbb86150c919]
25083
25084 * source/Lib/TLibCommon/TComPrediction.cpp:
25085 asm: use new block based chroma single-pass MC primitives
25086 [8d1bd79d3618]
25087
25088 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
25089 source/common/x86/blockcopy8.h, source/common/x86/pixel.h:
25090 asm: move block copy funcdefs into blockcopy8.h
25091 [edf77f60b55c]
25092
25093 * source/common/x86/asm-primitives.cpp:
25094 asm: move _sse4 block copy function pointer assignments into SSE4
25095 section
25096 [34d494a8051f]
25097
250982013-11-06 Praveen Tiwari <Praveen Tiwari>
25099
25100 * source/common/x86/blockcopy8.asm:
25101 blockcopy_sp, corrected number of xmm registers
25102 [0c359d82ebc1]
25103
25104 * source/common/x86/asm-primitives.cpp,
25105 source/common/x86/blockcopy8.asm:
25106 asm code for blockcopy_sp, 64xN
25107 [f0214135645a]
25108
25109 * source/common/x86/blockcopy8.asm:
25110 blockcopy_sp, 48x64 changed the macro name according to width
25111 [d87d627b2161]
25112
25113 * source/common/x86/asm-primitives.cpp,
25114 source/common/x86/blockcopy8.asm:
25115 asm code for blockcopy_sp, 48x64
25116 [cde21084ca9d]
25117
25118 * source/common/x86/asm-primitives.cpp,
25119 source/common/x86/blockcopy8.asm:
25120 blockcopy_sp, added 16x64 block size
25121 [598a03afc62f]
25122
25123 * source/common/x86/asm-primitives.cpp,
25124 source/common/x86/blockcopy8.asm:
25125 asm code for blockcopy_sp, 32x64
25126 [1a46771b9f87]
25127
25128 * source/common/x86/asm-primitives.cpp,
25129 source/common/x86/blockcopy8.asm, source/common/x86/pixel.h:
25130 used sse4 for 2x4, 2x8 and 6x8
25131 [ddaa80b9b959]
25132
25133 * source/common/x86/asm-primitives.cpp,
25134 source/common/x86/blockcopy8.asm:
25135 asm code for blockcopy_sp, 6x8
25136 [2ae2eb6c8e51]
25137
25138 * source/common/x86/asm-primitives.cpp,
25139 source/common/x86/blockcopy8.asm:
25140 asm code for blockcopy_sp, 2x8
25141 [529bf6093782]
25142
25143 * source/common/x86/asm-primitives.cpp,
25144 source/common/x86/blockcopy8.asm:
25145 asm code for blockcopy_sp, 2x4
25146 [ea33d0f85b8e]
25147
25148 * source/common/x86/asm-primitives.cpp,
25149 source/common/x86/blockcopy8.asm:
25150 asm code for blockcopy_sp, 12x16 block
25151 [99c3b2e4f1cc]
25152
25153 * source/common/x86/asm-primitives.cpp,
25154 source/common/x86/blockcopy8.asm:
25155 asm code for blockcopy_sp, 32xN
25156 [6b6d54cc234e]
25157
251582013-11-06 Gopu Govindaswamy <gopu@multicorewareinc.com>
25159
25160 * source/Lib/TLibCommon/TComDataCU.cpp:
25161 tcomdatacu: partStartIdx is always negative, no need to have else
25162 block in InitCU()
25163 [11a4c5a15d79]
25164
25165 * source/Lib/TLibCommon/TComDataCU.cpp:
25166 tcomdatacu: remove the for loop in InitCU(), which will never
25167 execute
25168
25169 partStartIdx is always zero or negative, and the numElements is also
25170 always zero or negative the for will never executed if numElements
25171 is zero or negative, removed the for loop block in initCU()
25172 [8bdb65fef0f0]
25173
251742013-11-06 Steve Borho <steve@borho.org>
25175
25176 * source/Lib/TLibCommon/TComSlice.cpp,
25177 source/Lib/TLibCommon/TComSlice.h:
25178 TComSlice: nits
25179 [eab2d925a0e0]
25180
25181 * source/common/x86/pixel.h:
25182 pixel.h: nit
25183 [267b3da1a734]
25184
251852013-11-06 Min Chen <chenm003@163.com>
25186
25187 * source/Lib/TLibCommon/TComPrediction.cpp,
25188 source/common/ipfilter.cpp, source/common/primitives.h,
25189 source/common/x86/asm-primitives.cpp,
25190 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
25191 source/encoder/motion.cpp, source/test/ipfilterharness.cpp,
25192 source/test/ipfilterharness.h:
25193 asm: ipfilter_ss[FILTER_V_S_S_8]
25194 [de7a50155cba]
25195
251962013-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25197
25198 * source/output/y4m.cpp, source/output/yuv.cpp:
25199 YUV, Y4M Output: bitdepth confusion resolved
25200 [846e2c0d8478]
25201
252022013-11-06 Praveen Tiwari <Praveen Tiwari>
25203
25204 * source/common/x86/asm-primitives.cpp,
25205 source/common/x86/blockcopy8.asm:
25206 asm code for blockcopy_sp, 24x32 block
25207 [8f71fba52d55]
25208
25209 * source/common/x86/asm-primitives.cpp,
25210 source/common/x86/blockcopy8.asm:
25211 asm code for blockcopy_sp, 16xN blocks
25212 [264b1458963a]
25213
252142013-11-06 Nabajit Deka <Nabajit Deka>
25215
25216 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
25217 Adding asm function declaration and function pointer initializations
25218 for luma hps functions.
25219 [450947d76251]
25220
25221 * source/common/x86/ipfilter8.asm:
25222 asm: routines for luma hps filter functions for all block sizes.
25223 [01d97a51d37d]
25224
252252013-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25226
25227 * Merge
25228 [21e08cf159c5]
25229
25230 * source/output/yuv.cpp:
25231 YUV Output: more rext merge bugs
25232 [b2068453b55b]
25233
25234 * source/output/yuv.cpp:
25235 YUV output: correct a rext merge issue
25236 [dd8510d84b5a]
25237
252382013-11-06 Praveen Tiwari <Praveen Tiwari>
25239
25240 * source/common/x86/asm-primitives.cpp,
25241 source/common/x86/blockcopy8.asm:
25242 asm code for blockcopy_sp, 4xN blocks
25243 [bab35592e71c]
25244
25245 * source/common/x86/asm-primitives.cpp,
25246 source/common/x86/blockcopy8.asm:
25247 asm code for blockcopy_sp, 8xN blocks
25248 [73b4015984fd]
25249
252502013-11-06 Nabajit Deka <Nabajit Deka>
25251
25252 * source/test/ipfilterharness.cpp:
25253 Adding test bench code for luma hps filter functions.
25254 [cb323bec7d06]
25255
25256 * source/common/ipfilter.cpp, source/common/primitives.h:
25257 Adding function pointer array and C primitive for luma hps filter
25258 functions.
25259 [e31319dfb866]
25260
252612013-11-06 Gopu Govindaswamy <gopu@multicorewareinc.com>
25262
25263 * source/Lib/TLibCommon/TComDataCU.cpp:
25264 tcomdatacu: remove memset in initSubCU()
25265
25266 m_trCoeffY, m_trCoeffCb, m_trCoeffCr, m_iPCMSampleY, m_iPCMSampleCb
25267 and m_iPCMSampleCr buffers are getting initialized in initCU(), and
25268 its not required to set 0 in initSubCU()
25269 [1b913b8f7f19]
25270
25271 * source/Lib/TLibCommon/TComDataCU.cpp:
25272 tcomdatacu: remove memset in initEstData()
25273
25274 m_trCoeffY, m_trCoeffCb, m_trCoeffCr, m_iPCMSampleY, m_iPCMSampleCb
25275 and m_iPCMSampleCr buffers are getting initialized in initCU(), and
25276 its not required to set 0 in initEstData()
25277 [d044314537ad]
25278
25279 * source/Lib/TLibCommon/TComDataCU.cpp,
25280 source/Lib/TLibCommon/TComDataCU.h:
25281 tcomdatacu: remove unused set functions
25282 [9368bfd107b8]
25283
252842013-11-06 Steve Borho <steve@borho.org>
25285
25286 * source/encoder/motion.cpp, source/encoder/motion.h:
25287 motion: simplify subpel refine, drop height+1 interpolation
25288
25289 This is in preparation of enabling assembly versions of
25290 interpolation functions
25291 [a1d576fbd0b0]
25292
252932013-11-05 Steve Borho <steve@borho.org>
25294
25295 * source/encoder/motion.cpp:
25296 motion: simplify lowres subpel refine
25297 [72520485725e]
25298
252992013-11-06 Steve Borho <steve@borho.org>
25300
25301 * source/encoder/slicetype.cpp:
25302 slicetype: move lastNonB set outside if expression for both I and P
25303 clauses
25304 [412d2f3a2bd2]
25305
253062013-11-05 Steve Borho <steve@borho.org>
25307
25308 * source/encoder/motion.cpp:
25309 motion: move StarPatternSearch higher in the file, no behavior
25310 change
25311 [bc99537483f1]
25312
253132013-11-06 Steve Borho <steve@borho.org>
25314
25315 * source/CMakeLists.txt:
25316 cmake: link platform libraries into the shared library (fixes PPA
25317 builds)
25318 [0234bd136cb9]
25319
253202013-11-05 Steve Borho <steve@borho.org>
25321
25322 * source/cmake/CMakeDetermineASM_YASMCompiler.cmake:
25323 cmake: use detected yasm executable for CMAKE_ASM_YASM_COMPILER
25324 variable
25325 [ae906d212c5e]
25326
25327 * source/Lib/TLibCommon/TComDataCU.cpp,
25328 source/Lib/TLibCommon/TComDataCU.h,
25329 source/Lib/TLibCommon/TComPattern.cpp,
25330 source/Lib/TLibCommon/TComPic.cpp,
25331 source/Lib/TLibCommon/TComPicSym.cpp,
25332 source/Lib/TLibCommon/TComPicSym.h,
25333 source/Lib/TLibCommon/TComPicYuv.cpp,
25334 source/Lib/TLibCommon/TComPicYuv.h,
25335 source/Lib/TLibCommon/TComPrediction.cpp,
25336 source/Lib/TLibCommon/TComPrediction.h,
25337 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
25338 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
25339 source/Lib/TLibEncoder/TEncCu.cpp,
25340 source/Lib/TLibEncoder/TEncSearch.cpp,
25341 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
25342 source/common/TShortYUV.h, source/common/common.cpp,
25343 source/common/common.h, source/encoder/cturow.cpp,
25344 source/encoder/encoder.cpp, source/input/input.h,
25345 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
25346 source/input/yuv.h, source/output/output.cpp,
25347 source/output/output.h, source/output/y4m.cpp, source/output/y4m.h,
25348 source/output/yuv.cpp, source/output/yuv.h, source/x265.cpp,
25349 source/x265.h:
25350 rext: partial support for 4:2:2 and 4:4:4 color spaces
25351
25352 reconFileBitDepth did not need to be a member of x265_param, and the
25353 comment for inputBitDepth needed to mention that it also determined
25354 the internal bit depth of the encoder.
25355 [7cdcf1a03d93]
25356
25357 * source/common/common.cpp, source/common/version.cpp,
25358 source/encoder/encoder.cpp, source/input/input.cpp,
25359 source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
25360 source/input/yuv.cpp, source/input/yuv.h, source/output/y4m.cpp,
25361 source/x265.cpp, source/x265.h:
25362 main10: allow pixel sizes of 10 and 12 for HIGH_BIT_DEPTH builds
25363
25364 Removes param.internalBitDepth and uses inputBitDepth to mean both
25365 the size of input pixels and internal pixels (x265 will do no color
25366 space conversions)
25367 [6a94dca867c8]
25368
25369 * source/common/dct.cpp, source/common/ipfilter.cpp:
25370 main10: fix dct and MC primitives to correctly respect larger pixel
25371 sizes
25372 [b24d05dd4990]
25373
25374 * source/Lib/TLibCommon/ContextTables.h,
25375 source/Lib/TLibCommon/TComDataCU.h,
25376 source/Lib/TLibCommon/TComPicYuv.cpp,
25377 source/Lib/TLibCommon/TComPicYuv.h,
25378 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
25379 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
25380 source/Lib/TLibCommon/TComTrQuant.cpp,
25381 source/Lib/TLibCommon/TComTrQuant.h,
25382 source/Lib/TLibEncoder/NALwrite.h,
25383 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
25384 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
25385 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
25386 source/Lib/TLibEncoder/TEncSearch.cpp,
25387 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.cpp,
25388 source/common/cpu.cpp, source/common/dct.cpp,
25389 source/common/ipfilter.cpp, source/common/lowres.cpp,
25390 source/common/lowres.h, source/common/pixel.cpp, source/common/vec
25391 /dct-sse41.cpp, source/common/vec/intra-sse41.cpp, source/common/vec
25392 /intra-ssse3.cpp, source/common/vec/ipfilter-sse41.cpp,
25393 source/common/vec/ipfilter-ssse3.cpp, source/common/vec/pixel-
25394 avx2.cpp, source/common/vec/pixel16-sse41.cpp, source/common/x86
25395 /asm-primitives.cpp, source/common/x86/ipfilter8.h,
25396 source/common/x86/mc.h, source/common/x86/pixel.h,
25397 source/encoder/bitcost.cpp, source/encoder/compress.cpp,
25398 source/encoder/cturow.cpp, source/encoder/encoder.cpp,
25399 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
25400 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
25401 source/encoder/ratecontrol.cpp, source/input/y4m.cpp,
25402 source/input/y4m.h, source/input/yuv.cpp, source/input/yuv.h,
25403 source/output/y4m.cpp, source/output/yuv.cpp,
25404 source/test/ipfilterharness.cpp, source/test/pixelharness.h,
25405 source/test/testbench.cpp, source/x265.cpp:
25406 uncrustify source tree
25407 [0c9d8360e1b0]
25408
25409 * source/encoder/slicetype.cpp:
25410 slicetype: better fix for --b-adapt 0
25411
25412 Don't allow an IDR to be re-ordered
25413 [f56a9fc5e999]
25414
25415 * source/x265.cpp:
25416 cli: re-introduce x265_setup_primitives() call prior to
25417 printVersion()
25418
25419 This way --cpuid N is properly respected. This orders the output of
25420 the log messages, but the total number is the same.
25421 [76d1d1aa3700]
25422
25423 * source/encoder/encoder.cpp:
25424 encoder: nits
25425 [9b7ca5a14605]
25426
25427 * source/encoder/encoder.cpp:
25428 log: cleanup Encoder::printSummary()
25429 [d8513c114f42]
25430
25431 * source/encoder/slicetype.cpp:
25432 slicetype: do not force P before I with --b-adapt 0
25433
25434 I don't remember what bug this was covering up, but it's no longer
25435 necessary and it was breaking the later code which expected a single
25436 non-B per mini-GOP
25437 [f7e55b468373]
25438
25439 * source/common/primitives.cpp:
25440 log: only log primitve status if some primitives are missing
25441
25442 Don't waste a line of log output to report everything is normal
25443 [e566ef4d3e95]
25444
254452013-11-05 Aarthi Thirumalai <aarthi@multicorewareinc.com>
25446
25447 * source/common/common.cpp, source/x265.cpp, source/x265.h:
25448 cli: add option to turn on AQ
25449 [ddf4d33e8c15]
25450
254512013-11-05 Steve Borho <steve@borho.org>
25452
25453 * source/encoder/encoder.cpp:
25454 log: white-space nit
25455 [f6cb006b3628]
25456
254572013-10-30 Kurtnoise <kurtnoise@free.fr>
25458
25459 * source/x265.cpp:
25460 Display also version info during encoding instead of primitives
25461 setup.
25462 [5895ca0d36be]
25463
254642013-11-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
25465
25466 * source/Lib/TLibEncoder/TEncCu.cpp:
25467 tenccu: remove calling outTempCU->initEstData() multiple time
25468 without modifying outTempCU
25469 [486f2cff2c3e]
25470
25471 * source/Lib/TLibCommon/TComDataCU.cpp:
25472 tcomdatacu: Remove memset from create(), these variables are
25473 initialized in initCU()
25474 [67ec1b965461]
25475
25476 * source/Lib/TLibCommon/TComDataCU.cpp,
25477 source/Lib/TLibCommon/TComDataCU.h:
25478 tcomdatacu: remove unused copySubCU() function
25479 [1028756870f7]
25480
25481 * source/Lib/TLibCommon/TComDataCU.cpp,
25482 source/Lib/TLibCommon/TComDataCU.h:
25483 tcomdatacu: remove unused copyInterPredInfoFrom() function
25484 [f3f510808287]
25485
25486 * source/Lib/TLibCommon/TComDataCU.cpp,
25487 source/Lib/TLibCommon/TComDataCU.h:
25488 tcomdatacu: remove unused setOutsideCUPart() function
25489 [a38c5f57cf7e]
25490
254912013-11-05 Praveen Tiwari <Praveen Tiwari>
25492
25493 * source/common/x86/pixel.h:
25494 changed the naming convention for blockcopy_sp
25495 [e3853b2cbaa8]
25496
25497 * source/common/pixel.cpp, source/common/primitives.h,
25498 source/test/pixelharness.cpp, source/test/pixelharness.h:
25499 changed naming convention and added unit test code for blockcopy_sp
25500 function
25501 [9deec9d96ed4]
25502
255032013-11-02 Neil Piken <neilpiken@gmail.com>
25504
25505 * build/README.txt:
25506 cmake: document minimum cmake required version for VC12
25507 [be7af3216ebd]
25508
255092013-11-05 Steve Borho <steve@borho.org>
25510
25511 * source/x265.cpp:
25512 Merge with stable
25513 [ba8c09070e54]
25514
25515 * source/x265.cpp:
25516 cli: use 64bit byte counter (closes #1)
25517 [3c15a9f74091] <stable>
25518
255192013-11-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
25520
25521 * source/input/y4m.cpp, source/input/yuv.cpp:
25522 input:reset the file pointer before return in guessFrameCount()
25523 [ece7af249573]
25524
25525 * source/Lib/TLibEncoder/TEncCu.cpp:
25526 tenccu:remove calling outTempCU->initEstData() multiple time without
25527 changing outTempCU from xCompressIntraCU
25528 [925ed6f7ed34]
25529
255302013-11-05 Nabajit Deka <Nabajit Deka>
25531
25532 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
25533 Adding asm function declaration and function pointer initializations
25534 for luma vps functions.
25535 [df9d7d85a146]
25536
25537 * source/common/x86/ipfilter8.asm:
25538 asm: routines for luma vps filter functions for all block sizes.
25539 [29d3861c5370]
25540
25541 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25542 Adding test bench code for luma vps filter functions.
25543 [f8053c69b732]
25544
25545 * source/common/ipfilter.cpp:
25546 Adding C primitive for luma vps filter functions.
25547 [9d29fff93f3a]
25548
25549 * source/common/primitives.h:
25550 Adding function pointer type & array definition for luma vps filter
25551 functions.
25552 [ed0dd83bb7ca]
25553
255542013-11-05 Steve Borho <steve@borho.org>
25555
25556 * source/encoder/encoder.cpp, source/encoder/encoder.h, source/x265.h:
25557 api: use uint64_t to accumulate bits
25558 [c57ed1fd7bd5]
25559
255602013-11-05 Santhoshini Sekar <santhoshini@multicorewareinc.com>
25561
25562 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
25563 source/Lib/TLibCommon/TComSlice.cpp,
25564 source/Lib/TLibCommon/TComSlice.h,
25565 source/Lib/TLibEncoder/TEncAnalyze.h, source/encoder/CMakeLists.txt,
25566 source/encoder/encoder.cpp, source/encoder/encoder.h,
25567 source/encoder/framefilter.cpp:
25568 collect global stats of psnr and ssim
25569 [6f19e6ef9ab5]
25570
255712013-11-04 Steve Borho <steve@borho.org>
25572
25573 * source/encoder/slicetype.cpp:
25574 slicetype: make b-adapt 0 set lastNonB, leadingBframes, and
25575 bLastMiniGopBFrame
25576 [7aa33c9734f5]
25577
25578 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
25579 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
25580 source/Lib/TLibEncoder/TEncSearch.cpp:
25581 white-space fixes following UInt->uint32_t search and replace
25582 [686b5b502797]
25583
25584 * source/input/y4m.cpp:
25585 y4m: fix two more while loops
25586 [22d51335d4ec]
25587
25588 * source/input/y4m.cpp:
25589 y4m: fix eof detection during header parsing
25590
25591 Evaluating an istream as a bool returns the file status. When ifs
25592 was converted to a stream pointer, these while loops needed to be
25593 changed because a bool evaluation of a pointer is always true if the
25594 pointer is not NULL
25595 [9732c845db44]
25596
25597 * source/test/pixelharness.cpp:
25598 pixelharness: shorten copy primitive names for consistency
25599 [f3106abb88b2]
25600
256012013-11-04 Praveen Tiwari <Praveen Tiwari>
25602
25603 * source/test/pixelharness.cpp:
25604 corrected buffer name for chroma_copy_pp
25605 [35989e4e0b46]
25606
25607 * source/common/x86/pixel.h:
25608 pixel.h, added asm function decleration for blockcopy_ps_c
25609 [4cd16b86488c]
25610
25611 * source/common/pixel.cpp:
25612 pixel.cpp, initialization of function pointer table for
25613 blockcopy_ps_c partitions
25614 [64f25611bcb2]
25615
25616 * source/common/pixel.cpp, source/common/primitives.h:
25617 added C primitive for blockcopy_p_s and function pointer creation
25618 for new type
25619 [e61a0b1c035b]
25620
25621 * source/common/CMakeLists.txt, source/common/x86/asm-primitives.cpp,
25622 source/common/x86/blockcopy8.asm, source/common/x86/pixel.h,
25623 source/test/pixelharness.cpp:
25624 asm code and test bench integration code for blockcopy_pp_c
25625 partitions
25626 [7898c58d9cbc]
25627
256282013-11-04 Min Chen <chenm003@163.com>
25629
25630 * source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
25631 fix bug in chroma_p2s and testbench
25632 [c83157a8b616]
25633
25634 * source/test/ipfilterharness.cpp:
25635 update authors header
25636 [6e211f980d98]
25637
256382013-11-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
25639
25640 * source/Lib/TLibCommon/TComTrQuant.cpp,
25641 source/Lib/TLibCommon/TComTrQuant.h,
25642 source/Lib/TLibEncoder/TEncSearch.cpp,
25643 source/Lib/TLibEncoder/TEncSearch.h:
25644 RDOQ : pass a parameter to temporarily disable RDOQ.
25645
25646 default value of parameter is true, that means RDOQ is not disabled.
25647 Outputs mustnot change in any rd levels.
25648 [91d96a6038e2]
25649
256502013-11-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
25651
25652 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/lowres.cpp,
25653 source/common/lowres.h, source/encoder/frameencoder.cpp,
25654 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
25655 Dropping the 'm_' prefix from names used for members of struct type
25656 Lowres
25657 [37903c6fd1f9]
25658
256592013-11-04 Steve Borho <steve@borho.org>
25660
25661 * source/common/x86/asm-primitives.cpp:
25662 asm: re-enable sad_x3 following alignment workaround
25663 [814b4639d6a6]
25664
256652013-11-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
25666
25667 * source/common/lowres.h, source/encoder/encoder.cpp,
25668 source/encoder/ratecontrol.cpp:
25669 Generating sum & ssd values for weightp decision in lookahead
25670 [2ab39c2dd50f]
25671
256722013-11-02 Wenju He <wenju@multicorewareinc.com>
25673
25674 * source/encoder/motion.cpp:
25675 fix vec/asm crash in COST_MV_X3_DIR: costs+3 is not aligned
25676 [8621008756ba]
25677
256782013-10-30 idxa <idxa@sina.com>
25679
25680 * source/common/common.cpp, source/encoder/encoder.cpp,
25681 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
25682 source/x265.cpp, source/x265.h:
25683 rc: add CRF ratecontrol
25684
25685 1. add a parameter of "--crf" to the command line
25686
25687 2. modify the running branches of rateControlStart, using
25688 "if(isAbr)" instead of "switch (cfg->param.rc.rateControlMode)", for
25689 the logic of classifying the combination of multiple ratecontrol
25690 methods is very complex, it is not only based on rateControlMode, so
25691 porting x264's way looks feasible.
25692
25693 3. add crf method into x265
25694 [c51c35880df5]
25695
256962013-11-01 Steve Borho <steve@borho.org>
25697
25698 * source/common/CMakeLists.txt:
25699 cmake: cleanup intrinc primitives
25700 [f81af999ef6c]
25701
25702 * source/common/CMakeLists.txt:
25703 cmake: more asm simplifications
25704 [ad8222ed1360]
25705
25706 * source/encoder/ratecontrol.cpp:
25707 rc: replace tabs with spaces
25708 [0d79e31728a4]
25709
25710 * source/CMakeLists.txt:
25711 cmake: drop STLport support, it is no longer necessary
25712 [a3d07bee1316]
25713
257142013-10-27 Neil Piken <neilpiken@gmail.com>
25715
25716 * build/vc12-x86/build-all.bat, build/vc12-x86/make-solutions.bat,
25717 build/vc12-x86_64/build-all.bat, build/vc12-x86_64/make-
25718 solutions.bat:
25719 cmake: add Visual Studio 2013 build folder
25720 [d7986ac66bc1]
25721
257222013-11-01 Steve Borho <steve@borho.org>
25723
25724 * source/common/CMakeLists.txt:
25725 cmake: remove obsolete build flags
25726 [a1502a1f1fa2]
25727
257282013-10-31 Steve Borho <steve@borho.org>
25729
25730 * source/CMakeLists.txt, source/common/CMakeLists.txt:
25731 cmake: remove assembly library to fix MSVC static lib
25732
25733 This fixes the static library built by VisualStudio to include the
25734 assembly objects. It has the side effect of causing the assembly
25735 objects to be built once for the static lib and once for the shared
25736 lib, which can be avoided by unloading the shared lib project while
25737 you are working on assembly within VisualStudio
25738 [3716c9f588df]
25739
25740 * source/cmake/CMakeDetermineASM_YASMCompiler.cmake:
25741 cmake: fix warning about ASM_YASM compiler being unknown
25742 [1c5122851247]
25743
25744 * source/x265.cpp:
25745 cli: tweaks for command line help
25746 [bd53cb226710]
25747
25748 * source/common/common.cpp:
25749 common: fix int typecast to operate on results of float expression
25750 [ae576a38ca5b]
25751
25752 * source/common/common.cpp, source/common/primitives.cpp,
25753 source/common/vec/vec-primitives.cpp, source/x265.h:
25754 Merge with stable
25755 [a4e9f242fdf3]
25756
25757 * source/x265.h:
25758 api: give structs the same name as their typedef
25759
25760 This allows them to be forward-decl'd.
25761 [30a0c2c5fcbd] <stable>
25762
25763 * source/common/cpu.cpp, source/common/vec/vec-primitives.cpp:
25764 cpu: move ASM fallback functions out of vec-primitives.cpp
25765
25766 This fixes link errors when ASM and vector primitives are both
25767 disabled
25768 [e1dde58cf6e1] <stable>
25769
25770 * source/common/common.cpp:
25771 common: disable MSVC warning that is exposed when compiling without
25772 primitives
25773 [01e77fde7194] <stable>
25774
25775 * source/common/primitives.cpp:
25776 primitives: fix compile warning exposed when ASM and instrincs are
25777 both disabled
25778 [ad6d6ddd7037] <stable>
25779
25780 * source/common/common.cpp, source/x265.h:
25781 api: add zero-latency tune target
25782
25783 This just disables lookahead and B frames at the moment.
25784 [8afb161419df]
25785
25786 * source/common/x86/asm-primitives.cpp:
25787 asm: disable more sad_x3 functions which cause crashes on Haswell
25788 [885e41fac726]
25789
25790 * source/common/x86/asm-primitives.cpp:
25791 asm: disable sad_x3[LUMA_32xN], they cause crashes on Haswell
25792
25793 Seen crashes on Windows, Mac, and Linux. The only constant is
25794 Haswell.
25795 [51660f092aa4]
25796
25797 * source/common/common.cpp:
25798 common: lower search range for higher presets with max CTU size 32
25799 [21da3bba6e70]
25800
258012013-10-30 Steve Borho <steve@borho.org>
25802
25803 * source/CMakeLists.txt, source/common/common.cpp, source/x265.cpp,
25804 source/x265.def.in, source/x265.h:
25805 api: introduce performance presets
25806 [0607132e6b11]
25807
258082013-10-31 Steve Borho <steve@borho.org>
25809
25810 * source/common/x86/asm-primitives.cpp:
25811 disable two avx2 routines which fail unit tests
25812 [2621639c96b5]
25813
25814 * source/common/vec/pixel-sse41.cpp:
25815 clang: re-disable 12x16, sse_pp_12x16 testbench fails
25816 [8f4744bdf6fc]
25817
258182013-10-31 Min Chen <chenm003@163.com>
25819
25820 * source/common/x86/ipfilter8.asm:
25821 asm: fix typo bug in chroma_p2s
25822 [e842b2a4aeeb]
25823
258242013-10-31 Nabajit Deka <Nabajit Deka>
25825
25826 * source/common/x86/asm-primitives.cpp,
25827 source/common/x86/ipfilter8.asm:
25828 asm: routines for vertical luma filter for all block sizes
25829 [faf29e19669f]
25830
25831 * source/test/ipfilterharness.cpp:
25832 Ensure that the destination buffer is not overwritten. 64 is added
25833 as it is the maximum width supported for luma filter.
25834 [935d96d93b70]
25835
258362013-10-31 Steve Borho <steve@borho.org>
25837
25838 * source/common/vec/pixel-sse41.cpp:
25839 remove clang prevention for 12x16 pixel primitives
25840 [30c655ec95f7]
25841
25842 * source/common/vec/pixel-sse41.cpp:
25843 pixel: remove sad_x3_12 and sad_x4_16 intrinsic functions
25844 [2d08d77871b0]
25845
25846 * source/encoder/ratecontrol.cpp:
25847 aq: remove unnecessary double->float->double conversions
25848 [abedbfdb1e12]
25849
25850 * source/encoder/ratecontrol.cpp:
25851 aq: fixes for loop over 16x16 blocks
25852
25853 This loop was busted when maxCUSize was not 64. It still has a
25854 problem with pictures that are not even multiples of 16. The
25855 lookahead will extend out the frame during lowres init to an even
25856 multiple of 16 pixels, so it's lowres CU width will be wider than
25857 the AQ code will use, so the block_xy offsets will be wrong for
25858 lookahead analysis.
25859
25860 The pixel extension needs to be moved earlier so AQ and the
25861 lookahead have a consistent 16x16 CU width
25862 [974a6afaddca]
25863
25864 * source/encoder/ratecontrol.cpp:
25865 aq: simplify acEnergyCu
25866
25867 EMMS was in the wrong place, there were a few white-space issues.
25868 [180d95f09057]
25869
25870 * source/encoder/ratecontrol.cpp:
25871 aq: use more explicit chroma variance stride
25872 [3e2d69028a3b]
25873
25874 * source/encoder/slicetype.cpp:
25875 aq: fix NULL pointer check
25876 [9acea4fbacef]
25877
258782013-10-31 Aarthi Thirumalai <Aarthi Thirumalai>
25879
25880 * source/Lib/TLibCommon/TComDataCU.cpp,
25881 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/encoder.cpp,
25882 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
25883 aq: set qp, lambda for every CU in the row before processing the CU
25884
25885 enabled bUseDQP flag when AQ is mode is ON.
25886 [650e40a62322]
25887
258882013-10-31 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25889
25890 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
25891 source/encoder/compress.cpp:
25892 compress: cleanup, remove unused data structs
25893 [eed2b51675cf]
25894
258952013-10-31 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
25896
25897 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
25898 no-rdo: Use entropy encoder for bit estimation.
25899
25900 Instead of me-bit estimation, use entropy encoder.
25901 [775519fb9ba1]
25902
259032013-10-31 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25904
25905 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25906 assembly code for pixel_sad_x4_12x16
25907 [ed884e91d5d5]
25908
25909 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25910 assembly code for pixel_sad_x3_12x16
25911 [7ccdf622d081]
25912
259132013-10-31 Min Chen <chenm003@163.com>
25914
25915 * source/Lib/TLibCommon/TComPrediction.cpp,
25916 source/common/ipfilter.cpp, source/common/primitives.h,
25917 source/common/x86/asm-primitives.cpp,
25918 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
25919 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25920 asm: chroma_p2s to replace ipfilter_p2s
25921 [4a40c4069ad1]
25922
25923 * source/Lib/TLibCommon/TComPrediction.cpp,
25924 source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
25925 asm: fix bug in luma_p2s and active it in encoder
25926 [21dbf988079b]
25927
25928 * source/common/x86/ipfilter8.asm:
25929 asm: less code size by reduce constant offset
25930 [a64e813de628]
25931
25932 * source/common/x86/sad-a.asm:
25933 asm: fix stack broken bug
25934 [08bc7ccc8aad]
25935
259362013-10-31 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
25937
25938 * source/common/x86/sad-a.asm:
25939 asm: reduce large code size in sad_16xN, sad_32xN for better cache
25940 performance
25941 [9a0da4e6d9e3]
25942
25943 * source/common/x86/sad-a.asm:
25944 asm: reduce large code size in pixel_sad_8x32 for better cache
25945 performance
25946 [e4a75488c147]
25947
259482013-10-31 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25949
25950 * source/common/x86/sad-a.asm:
25951 asm: fix the bug which occured at win32 compile
25952 [4a886c170a51]
25953
259542013-10-31 Steve Borho <steve@borho.org>
25955
25956 * source/test/testpool.cpp:
25957 testpool: add missing stdio.h for printf
25958 [ec6b4d35f110]
25959
259602013-10-30 Steve Borho <steve@borho.org>
25961
25962 * source/common/vec/ipfilter-sse41.cpp:
25963 ipfilter: fix 16bpp build following f0eea23735a6
25964 [f06e4a24b388]
25965
25966 * source/encoder/framefilter.cpp:
25967 fix shadowed variable warning
25968 [a406f7c1dd3b]
25969
259702013-10-30 Praveen Tiwari <Praveen Tiwari>
25971
25972 * source/common/pixel.cpp:
25973 added blockcopy_pp_c primitive according to modified argument list
25974 [7f68debc632b]
25975
25976 * source/common/primitives.h, source/test/pixelharness.cpp,
25977 source/test/pixelharness.h:
25978 added test code for blockcopy_pp function
25979 [e8e84b67cf8f]
25980
259812013-10-30 Steve Borho <steve@borho.org>
25982
25983 * source/common/vec/pixel-sse41.cpp:
25984 pixel: remove sad_12, sad_48, and sad_64
25985
25986 All single sads have asm coverage
25987 [645899ddda59]
25988
25989 * source/common/vec/pixel-sse41.cpp:
25990 pixel: remove 24 and 32 width sad intrinsic functions
25991
25992 These are now covered by assembly. Only 12, 48, and 64 remain
25993 because they still lack x3 and x4 versions.
25994 [eccfe236169b]
25995
259962013-10-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25997
25998 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25999 assembly code for pixel_sad_x4_32xN
26000 [c3cf2c42e854]
26001
26002 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26003 assembly code for pixel_sad_x3_32xN
26004 [e371719c4c47]
26005
26006 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26007 assembly code for pixel_sad_x4_24x32
26008 [f021f06f3b80]
26009
26010 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
26011 source/common/x86/sad-a.asm:
26012 assembly code for pixel_sad_x3_24x32
26013 [de91fbc95b4a]
26014
260152013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26016
26017 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
26018 source/common/x86/sad-a.asm:
26019 asm: assembly code for pixel_sad_12x16
26020 [8ee637b11d17]
26021
26022 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
26023 source/common/x86/sad-a.asm:
26024 asm: assembly code for pixel_sad_24x32
26025 [ed5d877b8452]
26026
26027 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
26028 source/common/x86/sad-a.asm:
26029 asm: assembly code for pixel_sad_48x64
26030 [78db76b7abec]
26031
260322013-10-30 Min Chen <chenm003@163.com>
26033
26034 * source/Lib/TLibCommon/TComPrediction.cpp,
26035 source/common/ipfilter.cpp, source/common/primitives.h,
26036 source/common/x86/asm-primitives.cpp,
26037 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
26038 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
26039 asm: filterConvertPelToShort
26040 [1a51e6cb0e0c]
26041
260422013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26043
26044 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26045 asm: assembly code for pixel_sad_64x48 and pixel_sad_64x64
26046 [700b46a1a0cf]
26047
26048 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26049 asm: assembly code for pixel_sad_64x32
26050 [42ad273b1d4f]
26051
26052 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26053 asm: assembly code for pixel_sad_64x16
26054 [4414f3394a61]
26055
26056 * source/common/x86/sad-a.asm:
26057 asm: modified common macro for pixel_sad_64xN
26058 [e9340727231d]
26059
260602013-10-30 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26061
26062 * source/Lib/TLibEncoder/TEncSearch.cpp,
26063 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
26064 no-rdo: use bit estimates from ME to calculate RDcost.
26065
26066 bits estimated in ME stored in CU and used for calculating rdcost
26067 along with distortion. This results in better bitrate with no-rdo,
26068 with small drop in PSNR.
26069 [77db80a67f4e]
26070
260712013-10-30 Praveen Tiwari <Praveen Tiwari>
26072
26073 * source/common/x86/asm-primitives.cpp,
26074 source/common/x86/ipfilter8.asm:
26075 chroma interp_4tap_vert_pp all blocks asm code
26076 [74bf8634037c]
26077
260782013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26079
26080 * source/common/x86/pixel.h:
26081 asm: declare asm function pointers for sad_64xN partitions
26082 [9f9b2f8d293a]
26083
260842013-10-30 Steve Borho <steve@borho.org>
26085
26086 * source/common/vec/pixel-sse41.cpp:
26087 pixel: remove sad_x3_4x16 and sad_x4_4x16, no longer HAVE_MMX
26088 [65462024832b]
26089
260902013-10-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26091
26092 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26093 assembly code for pixel_sad_x3_4x16 and pixel_sad_x4_4x16
26094 [50c2c41ac0ea]
26095
260962013-10-30 Santhoshini Sekar <santhoshini@multicorewareinc.com>
26097
26098 * source/Lib/TLibEncoder/NALwrite.cpp,
26099 source/Lib/TLibEncoder/NALwrite.h, source/encoder/frameencoder.cpp:
26100 rename variable name m_Bitstream to m_bitstream
26101 [e2a1dcca4518]
26102
26103 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
26104 source/encoder/frameencoder.h:
26105 writing hash SEI messages in frameencoder
26106 [4c047e5ff69b]
26107
261082013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26109
26110 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26111 asm: assembly code for pixel_sad_16x12
26112 [40e38dfa5cdd]
26113
261142013-10-30 Steve Borho <steve@borho.org>
26115
26116 * source/common/vec/pixel-sse41.cpp:
26117 pixel: remove sad_8, sad_x3_8, sad_x4_8 intrinsic functions
26118 [abf8286f3fa9]
26119
261202013-10-30 Min Chen <chenm003@163.com>
26121
26122 * source/test/ipfilterharness.cpp:
26123 testbench: upgrade for check_IPFilter_primitive, don't pass wrong
26124 (width, height, stride) to asm
26125 [20aa88626c52]
26126
261272013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26128
26129 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26130 asm: assembly code for pixel_sad_8x32
26131 [c048ef93ea55]
26132
26133 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26134 asm: assembly code for pixel_sad_32x64
26135 [d3e510bb67cf]
26136
26137 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26138 asm: assembly code for pixel_sad_32x16
26139 [def3d61bc4b0]
26140
26141 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26142 asm: assembly code for pixel_sad_32x32
26143 [77aa24f08e76]
26144
26145 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26146 asm: assembly code for pixel_sad_32x24
26147 [840a638609b0]
26148
26149 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26150 asm: assembly code for pixel_sad_32x8
26151 [1aec8ddad7a3]
26152
26153 * source/common/x86/sad-a.asm:
26154 asm: created comman asm macro for pixel_sad_32xN functions
26155 [f69c0f13c7b0]
26156
261572013-10-29 Steve Borho <steve@borho.org>
26158
26159 * source/common/vec/pixel-sse41.cpp:
26160 pixel: remove sad_16, sad_x3_16 and sad_x4_16
26161
26162 We have assembly coverage for everything but sad_16x12; which I've
26163 put on the top of our TODO list.
26164 [42ae4dc90005]
26165
261662013-10-29 Murugan Vairavel <murugan@multicorewareinc.com>
26167
26168 * source/common/ipfilter.cpp, source/encoder/motion.cpp,
26169 source/test/intrapredharness.cpp:
26170 refactor: Check need for signed/unsigned int16_t
26171 [c946d617fd9f]
26172
261732013-10-29 Steve Borho <steve@borho.org>
26174
26175 * Merge
26176 [b02df3ebdf39]
26177
261782013-10-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
26179
26180 * source/Lib/TLibCommon/TComDataCU.cpp:
26181 TComDataCU: Remove initializations in initCU() already initialized
26182 in create()
26183
26184 currently m_partSizes, m_mvpIdx[0] and m_mvpIdx[1] all three
26185 variables initialized using memset in TComDataCU::create() and same
26186 initialization in done in TComDataCU::initCU(), removed the memset
26187 in initCU() to avoid the duplicate initilization
26188 [deac0d819c43]
26189
261902013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26191
26192 * source/Lib/TLibCommon/TComMotionInfo.cpp:
26193 cleanups: Remove unnecessary reset.
26194
26195 If refIdx is set to NOT_VALID, mv will not be used. Hence resetting
26196 MVs to 0 can be safely removed.
26197 [50cd62d85ead]
26198
26199 * source/Lib/TLibEncoder/TEncSearch.cpp:
26200 Cleanups: Remove call to setALLMVField, and set only required
26201 members.
26202 [6552629b45c5]
26203
26204 * source/Lib/TLibCommon/TComMotionInfo.h:
26205 Cleanups: MVField - make members public.
26206
26207 set and clear methods take many cycles, where most of the time only
26208 one index need to be set. By giving public access, caller can set
26209 required indexes.
26210 [f1a1d4f19db4]
26211
262122013-10-29 Sumalatha Polureddy <Sumalatha Polureddy>
26213
26214 * source/Lib/TLibCommon/TComDataCU.cpp,
26215 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
26216 no_rdo: implementation of new early exit
26217
26218 early exit is done when the RD cost of best mode at depth "n" is
26219 less than the average of RD cost of the CU's at depth "n" of
26220 previosuly coded CU's(CUAbove, CUAboveRight, CUAoveLeft, CULeft,
26221 CUColocated). For HD videos performance improvement of 20 to 27%
26222 bitrate increases by 0.75 to 0.02%
26223 [0e0d0d2e1d2b]
26224
262252013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26226
26227 * source/common/x86/pixel.h:
26228 asm: declare asm function pointers for sad_32xN partitions
26229 [b3208fa4294b]
26230
262312013-10-29 Min Chen <chenm003@163.com>
26232
26233 * source/common/x86/ipfilter8.asm:
26234 asm: improvement on chroma_hpp{2,4} by reduce memory operator
26235 [48b75fc2e614]
26236
262372013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26238
26239 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26240 asm: assembly code for pixel_sad_16x4
26241 [fb7b95d11c77]
26242
262432013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26244
26245 * source/encoder/compress.cpp:
26246 no-rdo: add no-residue candidate in merge2Nx2N
26247 [064f309d4862]
26248
262492013-10-29 Steve Borho <steve@borho.org>
26250
26251 * source/common/common.cpp, source/common/primitives.h,
26252 source/encoder/ratecontrol.cpp:
26253 Merge with stable
26254 [8b909d315964]
26255
26256 * .hgtags:
26257 Added tag 0.5 for changeset 69acb3cb777f
26258 [9eef2952ea16] <stable>
26259
262602013-10-28 idxa <idxa>
26261
26262 * source/common/common.cpp, source/encoder/ratecontrol.cpp:
26263 rc: improvements for ABR
26264
26265 1. modify rateTolerance from 0.1 to 1.0, in order to allow the final
26266 bitrate to fluctuate more(CBR to ABR)
26267
26268 2. ncu in initialization of ratecontrol is set according to 16x16
26269 block size which is same to x264, for the empirical formula in x264
26270 is for 16x16 size.
26271
26272 3. do more modification to make ratecontrol algorithm of x265 more
26273 similar to x264 for x264 has been developed for about 10 years and
26274 is very mature , it is reasonale to take its method firstly.
26275 [69acb3cb777f] [0.5] <stable>
26276
262772013-10-25 Steve Borho <steve@borho.org>
26278
26279 * source/encoder/encoder.cpp:
26280 encoder: prevent divide by zero in elapsedVideoTime calculation
26281 [6528ab023062] <stable>
26282
262832013-10-29 Steve Borho <steve@borho.org>
26284
26285 * source/common/primitives.h:
26286 primitives: fix ordering of LUMA_4x16 LUMA_16x4 to match other AMP
26287 partitions
26288
26289 This also fixes the testbench to properly represent 16x4 and 4x16
26290 partition primitives
26291 [9713ec98fa8a] <stable>
26292
262932013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26294
26295 * source/encoder/compress.cpp:
26296 no-rdo: add no-residue candidate in merge2Nx2N
26297 [358400cb0c67]
26298
262992013-10-29 Murugan Vairavel <murugan@multicorewareinc.com>
26300
26301 * source/Lib/TLibCommon/TComTrQuant.cpp,
26302 source/Lib/TLibCommon/TComTrQuant.h,
26303 source/Lib/TLibCommon/TypeDef.h:
26304 Cleanups: Replacing Ushort with uint16_t
26305 [4c618e33c25f]
26306
263072013-10-29 Steve Borho <steve@borho.org>
26308
26309 * source/common/primitives.h:
26310 primitives: fix ordering of LUMA_4x16 LUMA_16x4 to match other AMP
26311 partitions
26312
26313 This also fixes the testbench to properly represent 16x4 and 4x16
26314 partition primitives
26315 [4db0aec57138]
26316
263172013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26318
26319 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26320 asm: assembly code for pixel_sad_16x64
26321 [3c0b386fe799]
26322
26323 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26324 asm: assembly code for pixel_sad_16x32
26325 [f44cc9f976cc]
26326
263272013-10-29 Steve Borho <steve@borho.org>
26328
26329 * source/common/vec/vec-primitives.cpp:
26330 vec: fix VC9 build with ASM disabled but intrinsics enabled
26331 [8846f5cf6d8d]
26332
26333 * source/common/threadpool.cpp, source/input/y4m.cpp,
26334 source/input/yuv.cpp:
26335 use correct _WIN32 build guard
26336 [560bd09eb4bb]
26337
263382013-10-29 Min Chen <chenm003@163.com>
26339
26340 * source/common/x86/asm-primitives.cpp,
26341 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
26342 source/test/ipfilterharness.cpp:
26343 asm: interp_8tap_v_sp for ipfilter_sp[FILTER_V_S_P_8]
26344 [44c38df44532]
26345
263462013-10-28 Min Chen <chenm003@163.com>
26347
26348 * source/Lib/TLibCommon/TComPrediction.cpp,
26349 source/common/ipfilter.cpp, source/common/primitives.h,
26350 source/common/vec/ipfilter-sse41.cpp, source/encoder/motion.cpp,
26351 source/test/ipfilterharness.cpp:
26352 replace pointer to coeff by coeffIdx in ipfilter_sp
26353 [f0eea23735a6]
26354
26355 * source/encoder/motion.cpp:
26356 disable interpolate horizontal merge
26357
26358 we need width is multiple of 4 in asm code, the maskmovq is very
26359 expensive
26360 [a36a2e39f983]
26361
26362 * source/common/ipfilter.cpp, source/common/primitives.h,
26363 source/common/x86/asm-primitives.cpp,
26364 source/common/x86/ipfilter8.asm, source/common/x86/ipfilter8.h,
26365 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
26366 asm: interp_8tap_hv_pp_8x8() for Interpolate_HV_8x8
26367 [31dfc1580bf2]
26368
263692013-10-28 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26370
26371 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26372 asm code for pixel_sad_x3_16x64 and pixel_sad_x4_16x64
26373 [0666d56aaa42]
26374
263752013-10-28 Aarthi Thirumalai <Aarthi Thirumalai>
26376
26377 * source/common/lowres.cpp, source/common/lowres.h,
26378 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
26379 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
26380 source/encoder/slicetype.cpp:
26381 rc: implement qp with Aq for each Cu before encoding them.
26382 [c3a28172894a]
26383
263842013-10-28 Kavitha Sampath <kavitha@multicorewareinc.com>
26385
26386 * source/encoder/encoder.cpp, source/input/input.h,
26387 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
26388 source/input/yuv.h, source/output/output.cpp,
26389 source/output/output.h, source/output/yuv.cpp, source/output/yuv.h,
26390 source/x265.cpp, source/x265.h:
26391 refactor: (Input/Output files) - Check need of signed/unsigned int
26392 [5e1fb266b39f]
26393
263942013-10-28 murugan <murugan@multicorewareinc.com Murugan Vairavel>
26395
26396 * source/output/y4m.cpp, source/output/yuv.cpp:
26397 refactor: use unsigned int16 types where applicable
26398 [4de8551f1f52]
26399
264002013-10-28 Kavitha Sampath <kavitha@multicorewareinc.com>
26401
26402 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
26403 source/Lib/TLibCommon/TComBitCounter.h,
26404 source/Lib/TLibCommon/TComBitStream.cpp,
26405 source/Lib/TLibCommon/TComBitStream.h,
26406 source/Lib/TLibCommon/TComDataCU.cpp,
26407 source/Lib/TLibCommon/TComDataCU.h,
26408 source/Lib/TLibCommon/TComLoopFilter.cpp,
26409 source/Lib/TLibCommon/TComLoopFilter.h,
26410 source/Lib/TLibCommon/TComMotionInfo.cpp,
26411 source/Lib/TLibCommon/TComMotionInfo.h,
26412 source/Lib/TLibCommon/TComPattern.cpp,
26413 source/Lib/TLibCommon/TComPattern.h,
26414 source/Lib/TLibCommon/TComPic.h,
26415 source/Lib/TLibCommon/TComPicSym.cpp,
26416 source/Lib/TLibCommon/TComPicSym.h,
26417 source/Lib/TLibCommon/TComPicYuv.cpp,
26418 source/Lib/TLibCommon/TComPicYuv.h,
26419 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
26420 source/Lib/TLibCommon/TComPrediction.cpp,
26421 source/Lib/TLibCommon/TComPrediction.h,
26422 source/Lib/TLibCommon/TComRdCost.h,
26423 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
26424 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
26425 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
26426 source/Lib/TLibCommon/TComSlice.cpp,
26427 source/Lib/TLibCommon/TComSlice.h,
26428 source/Lib/TLibCommon/TComTrQuant.cpp,
26429 source/Lib/TLibCommon/TComTrQuant.h,
26430 source/Lib/TLibCommon/TComWeightPrediction.cpp,
26431 source/Lib/TLibCommon/TComWeightPrediction.h,
26432 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
26433 source/Lib/TLibCommon/TypeDef.h,
26434 source/Lib/TLibEncoder/NALwrite.cpp,
26435 source/Lib/TLibEncoder/NALwrite.h,
26436 source/Lib/TLibEncoder/SEIwrite.cpp,
26437 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
26438 source/Lib/TLibEncoder/SyntaxElementWriter.h,
26439 source/Lib/TLibEncoder/TEncAnalyze.h,
26440 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
26441 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
26442 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
26443 source/Lib/TLibEncoder/TEncCu.h,
26444 source/Lib/TLibEncoder/TEncEntropy.cpp,
26445 source/Lib/TLibEncoder/TEncEntropy.h,
26446 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
26447 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
26448 source/Lib/TLibEncoder/TEncSbac.cpp,
26449 source/Lib/TLibEncoder/TEncSbac.h,
26450 source/Lib/TLibEncoder/TEncSearch.cpp,
26451 source/Lib/TLibEncoder/TEncSearch.h,
26452 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
26453 source/Lib/TLibEncoder/WeightPredAnalysis.h,
26454 source/common/common.cpp, source/common/dct.cpp,
26455 source/common/lowres.cpp, source/common/lowres.h,
26456 source/common/pixel.cpp, source/common/primitives.h,
26457 source/common/threading.h, source/common/vec/dct-sse3.cpp,
26458 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
26459 source/common/vec/intra-sse41.cpp, source/common/vec/pixel-avx2.cpp,
26460 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
26461 source/common/vec/pixel16-sse41.cpp, source/compat/getopt/getopt.c,
26462 source/compat/getopt/getopt.h, source/encoder/compress.cpp,
26463 source/encoder/cturow.cpp, source/encoder/cturow.h,
26464 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
26465 source/encoder/framefilter.cpp, source/encoder/ratecontrol.cpp,
26466 source/encoder/slicetype.cpp:
26467 refactor: replace int pointers with int32_t and UInt with uint32_t
26468 [a96b8f225c4a]
26469
26470 * source/Lib/TLibCommon/TComDataCU.cpp,
26471 source/Lib/TLibCommon/TComDataCU.h,
26472 source/Lib/TLibCommon/TComPrediction.cpp,
26473 source/Lib/TLibCommon/TComPrediction.h,
26474 source/Lib/TLibCommon/TComSlice.cpp,
26475 source/Lib/TLibCommon/TComSlice.h,
26476 source/Lib/TLibCommon/TComWeightPrediction.cpp,
26477 source/Lib/TLibCommon/TComWeightPrediction.h,
26478 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
26479 source/Lib/TLibEncoder/TEncEntropy.cpp,
26480 source/Lib/TLibEncoder/TEncEntropy.h,
26481 source/Lib/TLibEncoder/TEncSbac.cpp,
26482 source/Lib/TLibEncoder/TEncSbac.h,
26483 source/Lib/TLibEncoder/TEncSearch.cpp,
26484 source/Lib/TLibEncoder/TEncSearch.h,
26485 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
26486 source/encoder/compress.cpp, source/encoder/dpb.cpp,
26487 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
26488 refactor: replace ternary operator with loop variable and enum with
26489 #define
26490 [4176ba91f62d]
26491
264922013-10-28 Santhoshini Sekar <santhoshini@multicorewareinc.com>
26493
26494 * source/Lib/TLibCommon/TComPic.h,
26495 source/Lib/TLibCommon/TComPicYuv.cpp,
26496 source/Lib/TLibCommon/TComPicYuv.h,
26497 source/Lib/TLibCommon/TComPicYuvMD5.cpp, source/encoder/encoder.cpp,
26498 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
26499 row wise generation of hash in framefilter
26500 [edd33e942d7b]
26501
265022013-10-28 Steve Borho <steve@borho.org>
26503
26504 * source/input/input.cpp, source/input/input.h, source/x265.cpp:
26505 cli: add --y4m option to force Y4M stream parser
26506 [fa30212a64f8]
26507
265082013-10-28 Gopu Govindaswamy <gopu@multicorewareinc.com>
26509
26510 * source/input/y4m.cpp, source/input/y4m.h:
26511 input: read y4m input from stdin if filename is passed as "-"
26512 [f59393a695ee]
26513
26514 * source/input/y4m.cpp:
26515 y4m : bug fix for calculating framesize in skipFrames()
26516 [7916afc6c9c4]
26517
265182013-10-28 Steve Borho <steve@borho.org>
26519
26520 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h,
26521 source/encoder/compress.cpp, source/encoder/motion.cpp,
26522 source/encoder/slicetype.cpp, source/test/pixelharness.cpp:
26523 primitives: lower case partitionFromSizes() function to follow
26524 coding style
26525 [ef2428fd32fe]
26526
265272013-10-27 Steve Borho <steve@borho.org>
26528
26529 * source/common/primitives.cpp, source/common/primitives.h:
26530 primitives: micro optimizations of PartitionFromSizes()
26531
26532 * use int for w, h
26533 * change lookup table to uint8_t
26534 * make function inlined
26535 [1a65c6df7e70]
26536
265372013-10-27 Wenju He <wenju@multicorewareinc.com>
26538
26539 * source/Lib/TLibEncoder/TEncSearch.cpp:
26540 need not compute chroma in xGetInterPredictionError
26541 [7c2ce4d33f62]
26542
26543 * source/Lib/TLibEncoder/TEncSearch.cpp:
26544 fix variable name, msg to mrg
26545 [e1453bc3ae1e]
26546
265472013-10-25 Steve Borho <steve@borho.org>
26548
26549 * source/input/y4m.cpp, source/input/yuv.cpp:
26550 input: do not check for inactive read thread until read queue is
26551 empty
26552 [ccac3a7d3622]
26553
26554 * source/input/yuv.cpp:
26555 yuv: set binary mode on stdin on Windows
26556 [34573a44f81d]
26557
26558 * source/input/y4m.cpp, source/input/yuv.cpp:
26559 input: do not use ifstream.good(), use ifstream.ignore() for
26560 skipFrames
26561 [bc044398a2c1]
26562
26563 * source/x265.cpp:
26564 cli: improve handling of encoder start failures; no pictures encoded
26565 [8606211480ea]
26566
26567 * source/encoder/encoder.cpp:
26568 encoder: prevent divide by zero in elapsedVideoTime calculation
26569 [824ede6074a6]
26570
26571 * source/input/y4m.cpp, source/input/yuv.cpp:
26572 input: prevent more deadlocks on file read errors
26573 [12d6ba61b235]
26574
26575 * source/input/yuv.cpp:
26576 yuv: fix --skip behavior for stdin
26577 [565abe18280a]
26578
26579 * source/cmake/version.cmake:
26580 cmake: improve .hg_archive parsing
26581
26582 Patch submitted by HaaeeD via pull request
26583 [7dff7b61898c]
26584
26585 * Merge
26586 [4d024982658d]
26587
26588 * Merge with stable
26589 [4cdd80a730ab]
26590
26591 * source/x265.cpp:
26592 cli: improve handling of unknown input frame count
26593 [0c8e2580b410] <stable>
26594
26595 * source/encoder/encoder.cpp:
26596 encoder: calculate encoded video time in floating point
26597 [9c26397ec80c] <stable>
26598
26599 * source/common/ipfilter.cpp:
26600 Merged in mcwmurugan/x265 (pull request #5)
26601
26602 CleanUps: Replacing Short with int16_t
26603 [4ced02a9a5b2]
26604
266052013-10-25 Murugan <murugan@multicorewareinc.com>
26606
26607 * source/Lib/TLibCommon/TComLoopFilter.cpp,
26608 source/Lib/TLibCommon/TComPrediction.cpp,
26609 source/Lib/TLibCommon/TComPrediction.h,
26610 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
26611 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
26612 source/Lib/TLibCommon/TComTrQuant.cpp,
26613 source/Lib/TLibCommon/TComTrQuant.h,
26614 source/Lib/TLibCommon/TComWeightPrediction.cpp,
26615 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
26616 source/Lib/TLibEncoder/TEncSearch.cpp,
26617 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
26618 source/common/TShortYUV.h, source/common/dct.cpp,
26619 source/common/intrapred.cpp, source/common/ipfilter.cpp,
26620 source/common/pixel.cpp, source/common/primitives.h,
26621 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
26622 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/dct-
26623 ssse3.cpp, source/common/vec/intra-ssse3.cpp, source/common/vec
26624 /ipfilter-sse41.cpp, source/common/vec/ipfilter-ssse3.cpp,
26625 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
26626 source/common/x86/pixel.h, source/encoder/motion.cpp,
26627 source/encoder/motion.h, source/output/y4m.cpp,
26628 source/output/yuv.cpp, source/test/intrapredharness.cpp,
26629 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h,
26630 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
26631 source/test/pixelharness.cpp, source/test/pixelharness.h:
26632 CleanUps: Replacing Short with int16_t
26633 [2126b735949e]
26634
266352013-10-25 Steve Borho <steve@borho.org>
26636
26637 * source/Lib/TLibCommon/TComPicYuv.cpp,
26638 source/encoder/ratecontrol.cpp:
26639 Merge with stable
26640 [f645df2eb5bd]
26641
26642 * source/input/yuv.cpp:
26643 yuv: do not attempt to measure size of stdin
26644 [88e0d2dbb8fe]
26645
26646 * source/Lib/TLibCommon/TComPicYuv.cpp:
26647 TComPicYuv: increase vertical padding to account for
26648 TComDataCU::clipMv() logic
26649
26650 mvmin is clamped to -(g_maxCUHeight + offset + m_cuPelY) where
26651 offset is 8
26652 [9a7c5831ebf8] <stable>
26653
266542013-10-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
26655
26656 * source/encoder/ratecontrol.cpp:
26657 rc: Bug fix. use the slice type from the right context in
26658 rateControlEnd.
26659 [782e2d041d3f] <stable>
26660
266612013-10-25 Steve Borho <steve@borho.org>
26662
26663 * source/input/yuv.cpp:
26664 Merge with stable
26665 [333c7a8d1f49]
26666
26667 * source/input/yuv.cpp:
26668 yuv: zero ifs pointer if deleted
26669 [3d733e4c52c7]
26670
266712013-10-25 Nabajit Deka <Nabajit Deka>
26672
26673 * source/common/ipfilter.cpp, source/common/x86/ipfilter8.h:
26674 Function declarations and function pointers set up for the vertical
26675 luma filter functions.
26676 [2adbf0c4c4c0]
26677
266782013-10-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
26679
26680 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
26681 tenccu : remove unused functions
26682 [74f7e6d96d2d]
26683
26684 * source/Lib/TLibCommon/NAL.h:
26685 nal: remove unused helper functions
26686 [85c064318253]
26687
26688 * source/input/y4m.cpp, source/input/yuv.cpp:
26689 input: initialize the input buffer (buf) pointer
26690 [ba7d3d79c5a3] <stable>
26691
26692 * source/input/yuv.cpp, source/input/yuv.h:
26693 input: read yuv input from stdin if filename is passed as "-"
26694 [9223c4aff1e0]
26695
266962013-10-25 Nabajit Deka <Nabajit Deka>
26697
26698 * source/common/primitives.h, source/test/ipfilterharness.cpp:
26699 Test bench code for vertical luma filter.
26700 [4ca4da7bdd36]
26701
267022013-10-25 Steve Borho <steve@borho.org>
26703
26704 * source/test/pixelharness.cpp:
26705 testbench: differentiate the two weight functions
26706 [159876e25c7a]
26707
267082013-10-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26709
26710 * source/common/vec/pixel-sse41.cpp:
26711 pixel: modified weightUnidirPixel to match the changes done in c
26712 code
26713 [298b17e548d4]
26714
267152013-10-25 Steve Borho <steve@borho.org>
26716
26717 * source/encoder/reference.cpp:
26718 reference: initialize weight buffer pointer
26719 [4125c74ff21d]
26720
267212013-10-25 Min Chen <chenm003@163.com>
26722
26723 * source/common/x86/ipfilter8.asm:
26724 more general on ipfilter macro FILTER_H8_W8
26725 [6d6fe9d208d1]
26726
267272013-10-25 Steve Borho <steve@borho.org>
26728
26729 * source/CMakeLists.txt, source/compat/getopt/LGPL.txt,
26730 source/compat/getopt/getopt.c, source/compat/getopt/getopt.h,
26731 source/compat/msvc/LGPL.txt, source/compat/msvc/getopt.c,
26732 source/compat/msvc/getopt.h:
26733 cmake: segregate the getopt files into their own compat/ folder
26734 [84aea900ea0d]
26735
26736 * Merge with stable
26737 [7145f423fd03]
26738
26739 * source/CMakeLists.txt:
26740 cmake: add compat/msvc to include path if using our getopt.h
26741 [7cc9e1566162] <stable>
26742
26743 * source/input/y4m.cpp, source/input/yuv.cpp, source/x265.cpp:
26744 input: improve handling of frame count estimation failures
26745 [88f69939bc17] <stable>
26746
267472013-10-24 Steve Borho <steve@borho.org>
26748
26749 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
26750 source/input/yuv.cpp, source/input/yuv.h, source/x265.cpp:
26751 input: add explicit startReader() method to prevent file handle use
26752 collisions
26753 [6e4ef45441b7] <stable>
26754
26755 * source/encoder/encoder.cpp:
26756 encoder: fix per-frame logging without CSV file
26757 [260bff6100f2] <stable>
26758
26759 * source/input/y4m.cpp:
26760 y4m: directly use member variables while parsing header
26761 [0174ac7bc2b1] <stable>
26762
26763 * source/output/yuv.cpp:
26764 yuv: fix VC9 compile warning - possible loss of precision
26765 [34c9951b15fa] <stable>
26766
26767 * source/common/common.cpp:
26768 Merge with stable
26769 [f886f2ed1fcd]
26770
26771 * source/CMakeLists.txt:
26772 cmake: use system native stdint.h and getopt if they are found
26773 [1ab80557656a] <stable>
26774
26775 * source/common/vec/pixel-sse41.cpp:
26776 pixel: sse_sp[LUMA_12x16] fails tests on clang, disable it
26777 [17195e65e91b] <stable>
26778
26779 * source/input/y4m.cpp, source/input/yuv.cpp:
26780 input: add missing carriage returns from error log messages
26781 [63ca0173f8cb] <stable>
26782
26783 * source/input/y4m.cpp:
26784 y4m: disable file reader thread on frame header errors
26785
26786 Prevents deadlocks from malformed Y4M files
26787 [776c2ec26a5f] <stable>
26788
26789 * source/common/common.cpp:
26790 common: hoist x265_mdate above using namespace x265
26791
26792 I do not understand why, but this fixes cli linkage on Mac
26793 [4ac43db2d640] <stable>
26794
26795 * source/encoder/reference.cpp, source/encoder/reference.h:
26796 reference: more robust initialization, remove m_startPad member
26797 variable
26798
26799 m_startPad was only used in the init() function so it could be an
26800 auto-var
26801 [015839081c84]
26802
26803 * source/Lib/TLibCommon/TComPicYuv.cpp, source/encoder/reference.cpp:
26804 Merge with stable
26805 [201468d75f33]
26806
26807 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
26808 weightp: use source reference frames for weight analysis
26809
26810 This fixes weightp when used in combination with frame parallelism,
26811 where the reference's reconstructed picture is most likely not yet
26812 avaialable.
26813
26814 Some measurements using the sintel 480p clip no-weightp -F1: 408.47s
26815 (3.07 fps), 144.63 kb/s, Global PSNR: 48.956 no-weightp -F3: 361.14s
26816 (3.47 fps), 144.01 kb/s, Global PSNR: 48.746
26817
26818 Prior to this change (recon refs used for weightp analysis): weightp
26819 -F1: 402.84s (3.11 fps), 131.09 kb/s, Global PSNR: 49.908 x265
26820 [info]: 278 of 687 (40.47%) P frames weighted weightp -F3: 355.88s
26821 (3.52 fps), 132.09 kb/s, Global PSNR: 49.768 x265 [info]: 242 of 687
26822 (35.23%) P frames weighted
26823
26824 After this change (source refs used for weightp analysis): weightp
26825 -F1: 404.83s (3.10 fps), 131.82 kb/s, Global PSNR: 49.414 x265
26826 [info]: 325 of 687 (47.31%) P frames weighted weightp -F3: 348.32s
26827 (3.60 fps), 131.01 kb/s, Global PSNR: 49.957 x265 [info]: 325 of 687
26828 (47.31%) P frames weighted
26829
26830 Because of the lower bitrate, enabling weightp actually makes this
26831 clip encode faster. No idea why -F1 has so much less PSNR than -F3;
26832 needs investigation.
26833 [a44b48b74d6f] <stable>
26834
26835 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp:
26836 TComPicYuv: fix padding of picture buffers
26837
26838 Ensure row starts are at a multiple of 32, this causes strides to be
26839 multiple of 64. Before this patch, strides we capable of being
26840 multiples of 8, causing alignment exceptions for some videos.
26841 [0315cf14deda] <stable>
26842
26843 * source/Lib/TLibCommon/TComPicYuv.cpp:
26844 TComPicYuv: remove unused include
26845 [a54a9fa53063] <stable>
26846
26847 * source/Lib/TLibCommon/TComSlice.cpp,
26848 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp,
26849 source/encoder/slicetype.cpp:
26850 Merge with stable
26851 [a349dec61168]
26852
268532013-10-24 Min Chen <chenm003@163.com>
26854
26855 * source/Lib/TLibCommon/TComTrQuant.cpp,
26856 source/Lib/TLibCommon/TComTrQuant.h:
26857 improvement xGetRateLast by remove reduce double operator
26858 [4bb4dbe427ec]
26859
26860 * source/Lib/TLibCommon/TComTrQuant.cpp,
26861 source/Lib/TLibCommon/TComTrQuant.h,
26862 source/Lib/TLibEncoder/TEncSbac.cpp:
26863 improvement getSigCoeffGroupCtxInc by merge pointer calculate
26864 [c986a9fc7f8f]
26865
26866 * source/Lib/TLibCommon/TComTrQuant.cpp,
26867 source/Lib/TLibCommon/TComTrQuant.h,
26868 source/Lib/TLibEncoder/TEncSbac.cpp:
26869 improvement TComTrQuant::calcPatternSigCtx
26870
26871 1. replace width/height by size, since there are only NxN 2. use
26872 mask operatior to avoid condition and branch
26873 [84bf706ace32]
26874
26875 * source/Lib/TLibCommon/TComTrQuant.cpp:
26876 improvement TComTrQuant::getSigCtxInc by lookup table for 'cnt'
26877 [25d372f13fb6]
26878
268792013-10-24 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26880
26881 * source/encoder/slicetype.cpp:
26882 lookahead: fix reference initialization for intra prediction
26883
26884 buffer size of pAbove/pLeft is height+1+width = 2*cusize+1
26885 [1aaa596bb20b] <stable>
26886
268872013-10-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
26888
26889 * source/input/y4m.cpp:
26890 input: If Any error in reading frame from file, deactivate the
26891 thread and exit encoder gracefully
26892 [b69e4433cc97] <stable>
26893
26894 * source/output/y4m.cpp, source/output/yuv.cpp:
26895 output: use 64bit file offsets to prevent overflow with 4k video
26896 [f94f18950283] <stable>
26897
268982013-10-24 Steve Borho <steve@borho.org>
26899
26900 * source/encoder/encoder.cpp:
26901 encoder: fix bitrate statistic (accBits is a bit count, not byte
26902 count)
26903 [98bf7e4154f5] <stable>
26904
269052013-10-24 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
26906
26907 * source/Lib/TLibCommon/TComSlice.cpp,
26908 source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
26909 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
26910 source/x265.h:
26911 Displaying the number of weighted P frames used in console log
26912 [e8992549a970] <stable>
26913
269142013-10-24 Min Chen <chenm003@163.com>
26915
26916 * source/Lib/TLibEncoder/TEncSbac.h:
26917 fix commit typo
26918 [eb694f6150b1]
26919
269202013-10-24 Steve Borho <steve@borho.org>
26921
26922 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h,
26923 source/common/x86/sad-a.asm:
26924 asm: instantiate some sad_x3 and sad_x4 functions for HEVC
26925 partitions
26926 [3b8fa23f68ec]
26927
269282013-10-23 Steve Borho <steve@borho.org>
26929
26930 * source/Lib/TLibCommon/TComSlice.cpp,
26931 source/Lib/TLibCommon/TComSlice.h:
26932 TComSlice: remove unused copySliceInfo
26933 [e8f05b1c543a]
26934
26935 * source/Lib/TLibCommon/TComSlice.cpp,
26936 source/Lib/TLibCommon/TComSlice.h:
26937 TComSlice: remove unused m_bEqualRef and helper functions
26938 [d31740e6905d]
26939
26940 * source/Lib/TLibCommon/TComSlice.cpp,
26941 source/Lib/TLibCommon/TComSlice.h,
26942 source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/dpb.cpp:
26943 TComSlice: remove unused TComRefPicListModification
26944 [855151a30078]
26945
26946 * source/Lib/TLibCommon/TComPicYuv.cpp,
26947 source/Lib/TLibCommon/TComPicYuv.h,
26948 source/Lib/TLibCommon/TComPrediction.cpp,
26949 source/Lib/TLibCommon/TComPrediction.h,
26950 source/Lib/TLibCommon/TComSlice.h,
26951 source/Lib/TLibEncoder/TEncSearch.cpp,
26952 source/Lib/TLibEncoder/TEncSearch.h, source/common/CMakeLists.txt,
26953 source/common/lowres.h, source/common/mv.h,
26954 source/common/reference.cpp, source/common/reference.h,
26955 source/encoder/CMakeLists.txt, source/encoder/dpb.cpp,
26956 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
26957 source/encoder/reference.cpp, source/encoder/reference.h:
26958 reference: cache MotionReference instances in each FrameEncoder
26959
26960 This prevents these structures from being allocated over and over
26961 for each frame The source files were moved into the encoder folder
26962 where they've belonged but couldn't live in the past because
26963 TComPicYuv needed to know their contents.
26964 [95384f8f7c22]
26965
269662013-10-24 Steve Borho <steve@borho.org>
26967
26968 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
26969 source/common/common.cpp, source/common/common.h,
26970 source/common/primitives.cpp:
26971 Merge with stable
26972 [6ea79d6f7e17]
26973
269742013-10-23 Steve Borho <steve@borho.org>
26975
26976 * source/Lib/TLibCommon/TComPicYuv.cpp,
26977 source/Lib/TLibCommon/TComPicYuv.h,
26978 source/Lib/TLibEncoder/TEncCfg.h, source/common/common.cpp,
26979 source/common/common.h, source/common/primitives.cpp,
26980 source/dllmain.cpp, source/encoder/encoder.cpp,
26981 source/encoder/encoder.h, source/input/input.h,
26982 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
26983 source/input/yuv.h, source/output/output.h, source/output/y4m.cpp,
26984 source/output/y4m.h, source/output/yuv.cpp, source/output/yuv.h,
26985 source/x265.cpp, source/x265.h:
26986 api: drop _t suffix from public data types, for POSIX compatibility
26987
26988 x265_t was changed to x265_encoder, since x265 is too short and
26989 would collide with our namespace.
26990 [b07c29e930fe] <stable>
26991
26992 * source/x265.h:
26993 api: white-space cleanups in x265.h
26994 [7beeab25a8fb] <stable>
26995
26996 * source/CMakeLists.txt, source/Lib/TLibCommon/CommonDef.h,
26997 source/common/common.cpp, source/dllmain.cpp,
26998 source/encoder/encoder.cpp, source/encoder/encoder.h,
26999 source/x265.cpp, source/x265.def.in, source/x265.h:
27000 api: large reorg of logging and statistics
27001
27002 * move all CSV logging into the encoder so API users can take
27003 advantage of it
27004 * remove hacky global PSNR return value from x265_encoder_close
27005 * add time and bitrate values to x265_stats_t
27006 * remove some dead HM code
27007 * use x265_log in the CLI
27008 [3e53b004a8f8] <stable>
27009
270102013-10-23 Kavitha Sampath <kavitha@multicorewareinc.com>
27011
27012 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
27013 source/common/common.cpp, source/common/common.h,
27014 source/encoder/encoder.cpp, source/encoder/encoder.h,
27015 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
27016 source/x265.cpp, source/x265.h:
27017 CSV log: Enable frame-by-frame CSV logging
27018 [0c8dbda94696] <stable>
27019
270202013-10-22 Steve Borho <steve@borho.org>
27021
27022 * source/CMakeLists.txt, source/x265.pc.in:
27023 cmake: generate and install pkgconfig file
27024
27025 This installs the x265.pc into /usr/local/lib/pkgconfig/ with these
27026 contents:
27027
27028 prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib
27029 includedir=${prefix}/include
27030
27031 Name: x265 Description: H.265/HEVC video encoder Version: 0.4.1
27032 Libs: -L${libdir} -lx265 Libs.private: -lstdc++ -lm -lc -lpthread
27033 -lrt Cflags: -I${includedir}
27034
27035 The pkg-config file is only generated and installed if CMake finds
27036 pkg-config
27037
27038 Q1: it seems unwise to hard-code "/lib" in a few places, what if
27039 lib64 is used or something else? Q2: Should x265.pc have a version
27040 number like x265-0.4.1.pc?
27041 [b2fcb1bf7b75] <stable>
27042
270432013-10-23 Min Chen <chenm003@163.com>
27044
27045 * source/Lib/TLibCommon/ContextModel.cpp,
27046 source/Lib/TLibCommon/ContextModel.h,
27047 source/Lib/TLibCommon/ContextTables.h,
27048 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
27049 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
27050 source/Lib/TLibEncoder/TEncEntropy.h,
27051 source/Lib/TLibEncoder/TEncSbac.cpp,
27052 source/Lib/TLibEncoder/TEncSbac.h, source/common/CMakeLists.txt,
27053 source/common/primitives.cpp:
27054 cabac: cleanup and convert class ContextModel to struct
27055 [0cb0692d6c69]
27056
27057 * source/Lib/TLibCommon/ContextModel.cpp,
27058 source/Lib/TLibCommon/ContextModel.h:
27059 cabac: move static table to global space
27060 [11a4ca818c57]
27061
27062 * source/Lib/TLibCommon/ContextModel.h,
27063 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
27064 cabac: imprvement by merge context status update path
27065 [b53d40e1c7cf]
27066
270672013-10-23 Steve Borho <steve@borho.org>
27068
27069 * source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt,
27070 source/encoder/slicetype.cpp:
27071 Merge with stable
27072 [8ebddbb7acd3]
27073
27074 * source/common/CMakeLists.txt, source/common/vec/blockcopy-avx2.cpp,
27075 source/common/vec/vec-primitives.cpp:
27076 remove blockcopy-avx2.cpp - not worth the trouble to convert and
27077 maintain
27078 [020eb714b9cc]
27079
270802013-10-23 Aarthi Thirumalai <Aarthi Thirumalai>
27081
27082 * source/encoder/slicetype.cpp:
27083 slicetype: bug fix for estimated frame costs
27084
27085 By the time rate control queries the estimated frame cost, lastNonB
27086 might have moved. Use the slice's actual L0 reference.
27087 [6a7383b8cbf0] <stable>
27088
270892013-10-23 Steve Borho <steve@borho.org>
27090
27091 * source/common/vec/intra-ssse3.cpp:
27092 intra: move 8x8 and 16x16 into their final order
27093
27094 None of the 8bpp intra primitives use vector clases any more.
27095 blockcopy-avx2 is the last 8bpp vector primitive.
27096 [465e48ca0d15]
27097
27098 * source/common/vec/intra-ssse3.cpp:
27099 intra: remove unused macros
27100 [d167d149b59e]
27101
271022013-10-23 Min Chen <chenm003@163.com>
27103
27104 * source/common/vec/intra-ssse3.cpp:
27105 Fix memory write beyond bound bug in intraPredAng8x8()
27106 [30be14fa79d6]
27107
271082013-10-23 Jan Ekström <jeebjp@gmail.com>
27109
27110 * source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt:
27111 Fix compilation with Visual Studio 2013
27112
27113 The <algorithm> header is needed for std::min and friends, and the
27114 CMakeLists.txt modification makes the version check match what is
27115 used in the source code.
27116
27117 Unfortunately cmake does not seem to contain a GREATER_OR_EQUAL
27118 macro, so NOT(LESS) has to be used.
27119 [4922bf148182] <stable>
27120
271212013-10-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27122
27123 * source/common/vec/intra-ssse3.cpp:
27124 intra: converted intraPredAng16x16 vector class functin to intrinsic
27125 [521ecea592fa]
27126
271272013-10-23 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27128
27129 * source/common/vec/intra-ssse3.cpp:
27130 intra-ssse3: intra angular 8x8 vector to intrinsic
27131 [aaee6da4f02c]
27132
271332013-10-23 Steve Borho <steve@borho.org>
27134
27135 * source/common/vec/pixel-avx2.cpp:
27136 pixel: remove vector class include from pixel-avx2.cpp
27137 [51a48f878f39]
27138
271392013-10-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27140
27141 * source/common/vec/pixel-avx2.cpp:
27142 pixel: converted sad_avx2_x4_64 vector class to intrinsic
27143 [435665d9233e]
27144
27145 * source/common/vec/pixel-avx2.cpp:
27146 pixel: converted sad_avx2_x4_32 vector class to intrinsic
27147 [2d4ee19a40b4]
27148
271492013-10-22 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27150
27151 * source/encoder/slicetype.cpp:
27152 slicetype: calculate weighted frame costs for Aq
27153 [6d96d64c4e9a]
27154
271552013-10-22 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27156
27157 * source/common/vec/pixel-avx2.cpp:
27158 pixel: converted some sad_avx2 vector class functions to intrinsic
27159 [0bb1d7221938]
27160
271612013-10-22 Steve Borho <steve@borho.org>
27162
27163 * source/common/CMakeLists.txt, source/common/vec/intra-sse3.cpp,
27164 source/common/vec/intra-ssse3.cpp, source/common/vec/vec-
27165 primitives.cpp:
27166 intra: rename intra-sse3.cpp to intra-ssse3.cpp
27167 [20bf892451db]
27168
27169 * source/common/vec/intra-sse3.cpp:
27170 intra: move 32x32 angular prediction function into non-vector
27171 portion
27172 [41aa6dd645ed]
27173
271742013-10-22 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27175
27176 * source/common/vec/intra-sse3.cpp:
27177 intra-sse3.cpp: replace intraPredAng32x32 vector class function with
27178 intrinsic
27179 [9827c0129014]
27180
27181 * source/common/vec/intra-sse3.cpp:
27182 intra-sse3.cpp: replace intraPredAng8x8 vector class function with
27183 intrinsic
27184 [de32b76c391d]
27185
271862013-10-22 Steve Borho <steve@borho.org>
27187
27188 * source/Lib/TLibEncoder/TEncBinCoder.h,
27189 source/Lib/TLibEncoder/TEncCavlc.cpp,
27190 source/Lib/TLibEncoder/TEncCavlc.h, source/common/common.cpp,
27191 source/encoder/ratecontrol.cpp:
27192 Merge with stable
27193 [88de242f7530]
27194
271952013-10-22 Min Chen <chenm003@163.com>
27196
27197 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
27198 cabac: improvement performance by use negative cabac counter
27199 [88b3831ab799] <stable>
27200
27201 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
27202 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
27203 source/Lib/TLibEncoder/TEncCavlc.cpp,
27204 source/Lib/TLibEncoder/TEncCavlc.h,
27205 source/Lib/TLibEncoder/TEncSbac.cpp,
27206 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/CMakeLists.txt,
27207 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
27208 cleanup: merge header operator from TEncCavlc into class TEncSbac
27209 [4ec21109440b] <stable>
27210
27211 * source/Lib/TLibEncoder/TEncBinCoder.h,
27212 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
27213 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
27214 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/CMakeLists.txt,
27215 source/encoder/frameencoder.cpp:
27216 cleanup:remove unused base class TEncBinIf
27217 [b6427fa01195] <stable>
27218
27219 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
27220 cleanup: remove unused getNumberOfWrittenBits() from
27221 TEncBinCABAC::getNumWrittenBits()
27222 [af1695e1808c] <stable>
27223
27224 * source/common/x86/ipfilter8.asm:
27225 remove reduce register copy in FILTER_H4_w2_2 and FILTER_H4_w4_2
27226 (update for linux build error)
27227 [f1045bead3b5] <stable>
27228
272292013-10-22 Steve Borho <steve@borho.org>
27230
27231 * source/encoder/ratecontrol.cpp:
27232 ratecontrol: consistent comment style
27233 [27265ca6dd90] <stable>
27234
272352013-10-22 Gopu Govindaswamy <gopu@multicorewareinc.com>
27236
27237 * source/Lib/TLibCommon/TComPicYuv.cpp,
27238 source/Lib/TLibCommon/TComPicYuv.h, source/common/common.cpp,
27239 source/encoder/encoder.cpp:
27240 encoder: auto-padding to min CU size and set conformance window
27241 [27a149b2062c] <stable>
27242
272432013-10-22 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
27244
27245 * source/common/pixel.cpp:
27246 Eliminating decreament in pointer index in weightp primitives
27247
27248 could have been a source of possible crash
27249 [49849de33234] <stable>
27250
272512013-10-22 Steve Borho <steve@borho.org>
27252
27253 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
27254 ratecontrol: use cfg->param.frameNumThreads directly; nit cleanups
27255 [cd65a3311df5] <stable>
27256
272572013-10-22 Aarthi Thirumalai <Aarthi Thirumalai>
27258
27259 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
27260 rc: Bug fixes for ABR.
27261
27262 remove uninitialized local variables and use values from
27263 cfg.param.rc as required.
27264 [e2dc3ec294a8] <stable>
27265
272662013-10-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27267
27268 * source/Lib/TLibEncoder/TEncCu.cpp:
27269 TEncCu: nits
27270 [f1bdacac6497]
27271
272722013-10-22 Aarthi Thirumalai <Aarthi Thirumalai>
27273
27274 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
27275 rc: Bug fixes for ABR.
27276
27277 remove uninitialized local variables and use values from
27278 cfg.param.rc as required.
27279 [f8ab02273bdb]
27280
272812013-10-21 Steve Borho <steve@borho.org>
27282
27283 * source/common/common.cpp:
27284 Merge with stable
27285 [9245a882ccee]
27286
27287 * source/common/common.cpp:
27288 common: add --ref to the tool list so it is visible in the log
27289 [40eb6be35caa] <stable>
27290
27291 * source/common/lowres.cpp:
27292 lowres: initialize satdCost to -1
27293 [606cdb8d05ef]
27294
272952013-10-21 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27296
27297 * source/common/lowres.cpp, source/common/lowres.h,
27298 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
27299 lowres: Add states to store weighted Aq costs per frame.
27300 [ee5e9caa0ff9]
27301
27302 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
27303 source/common/common.cpp, source/common/common.h:
27304 add methods to convert qpAqoffsets to qscale
27305 [afa3a6660764]
27306
27307 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
27308 source/common/lowres.cpp, source/common/lowres.h,
27309 source/encoder/ratecontrol.cpp:
27310 lowres: move m_qpAqOffset from TComPic to Lowres
27311 [588c8fcc1df6]
27312
273132013-10-21 Steve Borho <steve@borho.org>
27314
27315 * doc/README_data-structure.ppt, doc/astyle/AStyle.exe, doc/astyle
27316 /apply-to-all-source.py, doc/astyle/astyle-config.txt, doc/astyle
27317 /drag-astyle.bat, doc/intra/T16.TXT, doc/intra/T32.TXT,
27318 doc/intra/T4.TXT, doc/intra/T8.TXT, doc/software-manual.pdf,
27319 doc/uncrustify/uncrustify.bat, doc/uncrustify/uncrustify.exe,
27320 source/Lib/TLibCommon/AccessUnit.h,
27321 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
27322 source/Lib/TLibCommon/ContextModel3DBuffer.h,
27323 source/Lib/TLibCommon/TComList.h,
27324 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
27325 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
27326 source/Lib/TLibEncoder/TEncTop.cpp,
27327 source/Lib/TLibEncoder/TEncTop.h,
27328 source/VectorClass/instrset_detect.cpp,
27329 source/cmake/mergestaticlibs.cmake,
27330 source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
27331 source/common/vec/avx2.cpp, source/common/vec/blockcopy-avx.cpp,
27332 source/common/vec/blockcopy-sse41.cpp, source/common/vec/blockcopy-
27333 ssse3.cpp, source/common/vec/blockcopy-xop.cpp,
27334 source/common/vec/blockcopy.inc, source/common/vec/dct-avx.cpp,
27335 source/common/vec/dct-avx2.cpp, source/common/vec/dct-xop.cpp,
27336 source/common/vec/dct.inc, source/common/vec/intra-avx.cpp,
27337 source/common/vec/intra-avx2.cpp, source/common/vec/intra-ssse3.cpp,
27338 source/common/vec/intra-xop.cpp, source/common/vec/intrapred.inc,
27339 source/common/vec/ipfilter-avx.cpp, source/common/vec/ipfilter-
27340 avx2.cpp, source/common/vec/ipfilter-sse3.cpp, source/common/vec
27341 /ipfilter-xop.cpp, source/common/vec/ipfilter.inc,
27342 source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
27343 source/common/vec/pixel-avx.cpp, source/common/vec/pixel-ssse3.cpp,
27344 source/common/vec/pixel-xop.cpp, source/common/vec/pixel.inc,
27345 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
27346 source/common/vec/sse.inc, source/common/vec/sse3.cpp,
27347 source/common/vec/sse41.cpp, source/common/vec/ssse3.cpp,
27348 source/common/vec/utils.h, source/common/vec/vecprimitives.inc,
27349 source/common/vec/xop.cpp, source/common/x86/CMakeLists.txt,
27350 source/test/unittest.cpp, source/test/unittest.h, source/x265opts.h:
27351 Merge with default (feature freeze for 0.5)
27352 [f2fcda06d76a] <stable>
27353
273542013-10-21 Min Chen <chenm003@163.com>
27355
27356 * source/Lib/TLibCommon/TComDataCU.cpp,
27357 source/Lib/TLibCommon/TComDataCU.h,
27358 source/Lib/TLibEncoder/TEncSbac.cpp,
27359 source/Lib/TLibEncoder/TEncSbac.h,
27360 source/Lib/TLibEncoder/TEncSearch.cpp:
27361 merge multiple encodeBinEP to encodeBinsEP
27362 [6817f34b0572]
27363
273642013-10-21 Steve Borho <steve@borho.org>
27365
27366 * source/encoder/compress.cpp:
27367 compress: remove a pile of unnecessary intra estimation code
27368 [dd26e0a9c3df]
27369
27370 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
27371 compress: remove pointer reference from xComputeCostIntraInInter and
27372 simplify
27373 [c1ee22ece6f5]
27374
27375 * source/encoder/compress.cpp:
27376 compress: replace magic numbers with proper enums
27377 [505b1c488b39]
27378
273792013-10-21 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27380
27381 * source/common/vec/intra-sse3.cpp:
27382 intra-sse3.cpp: replace predIntraAng8_32 vector class function with
27383 intrinsic
27384 [e24a4bb6de84]
27385
273862013-10-21 Sumalatha Polureddy <Sumalatha Polureddy>
27387
27388 * source/encoder/compress.cpp:
27389 no-rdo: compute Luma only in MC for cost estimation for mode
27390 decision
27391
27392 luma alone is computed in MC since luma cost alone is used for mode
27393 decision. After best mode is selected, before encoding, chroma MC is
27394 done
27395 [16a5fc504005]
27396
273972013-10-21 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
27398
27399 * source/common/pixel.cpp, source/common/vec/pixel-sse41.cpp:
27400 Adapting weightp primitive for pixel input
27401
27402 By simulating shift & round as in convertPixelToShort primitive. The
27403 SSE4.1 intrinsic primitives are disabled because they no longer
27404 match
27405 [e719f0de8d9c]
27406
274072013-10-21 Steve Borho <steve@borho.org>
27408
27409 * source/common/ipfilter.cpp, source/common/vec/ipfilter-sse41.cpp,
27410 source/common/vec/ipfilter-ssse3.cpp:
27411 ipfilter: cleanup C and intrinsic functions
27412 [90dde3b44ada]
27413
274142013-10-21 Praveen Tiwari <Praveen Tiwari>
27415
27416 * source/common/ipfilter.cpp:
27417 added C code for chroma filter_vpp function
27418 [2e0076f3f694]
27419
27420 * source/common/x86/ipfilter8.h:
27421 created function declerations for chroma_vpp
27422 [9477665dd935]
27423
27424 * source/test/ipfilterharness.cpp:
27425 ipfilterharness.cpp, modified chroma filter_hpp unit test code to
27426 support filter_vpp
27427 [60ade24dbf9b]
27428
27429 * source/test/ipfilterharness.cpp:
27430 ipfilterharness.cpp, added measure speed code for ipfilter_vpp
27431 function
27432 [091fb24735da]
27433
27434 * source/test/ipfilterharness.cpp:
27435 ipfilterharness.cpp, added test correctness code for ipfilter_vpp
27436 function
27437 [e42826e06e06]
27438
27439 * source/common/primitives.h:
27440 added array of function pointers for chroma ipfilter_vpp function
27441 [e3b4b6b778a5]
27442
274432013-10-21 Gopu Govindaswamy <gopu@multicorewareinc.com>
27444
27445 * source/Lib/TLibCommon/TComPic.cpp,
27446 source/Lib/TLibCommon/TComSlice.h,
27447 source/Lib/TLibEncoder/TEncCavlc.cpp,
27448 source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
27449 tcomslice : removed set and get window*offset() methods
27450 [ee5ef0f3fd3d]
27451
27452 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp,
27453 source/encoder/framefilter.cpp:
27454 tenccfg : removed unused setpad() and getpad() methods
27455 [caa8db6b7986]
27456
274572013-10-21 Steve Borho <steve@borho.org>
27458
27459 * source/x265.cpp:
27460 cli: reintroduce -w short option for weightp
27461 [c4cc469e5286]
27462
274632013-10-21 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27464
27465 * source/encoder/slicetype.cpp:
27466 Lookahead: wavefront bugfix.
27467
27468 conditionally assign estimated cost to avoid overwriting intra cost.
27469 [92d13feba8fe]
27470
274712013-10-21 =?utf-8?b?UmFmYcOrbCBDYXJyw6kgPGZ1bm1hbkB2aWRlb2xhbi5vcmc+?= <=?utf-8?b?UmFmYcOrbCBDYXJyw6kgPGZ1bm1hbkB2aWRlb2xhbi5vcmc+?=>
27472
27473 * source/encoder/ratecontrol.cpp:
27474 [x265] ratecontrol: initialize frameThreads Fix a floating point
27475 exceptio
27476
27477 --- source/encoder/ratecontrol.cpp | 1 + 1 file changed, 1
27478 insertion(+)
27479 [3fe9a9d0a0b6]
27480
274812013-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27482
27483 * source/common/lowres.cpp:
27484 lowres: right and bottom margins are being extended twice?
27485 [f987c24c7bf2]
27486
274872013-10-21 Sumalatha Polureddy <Sumalatha Polureddy>
27488
27489 * source/Lib/TLibCommon/TComPrediction.cpp,
27490 source/Lib/TLibCommon/TComWeightPrediction.cpp:
27491 bug fix for passing bLuma and bChroma as separate arguments
27492
27493 if there are default arguments other than bLuma and bChroma, those
27494 default values (bRound, refIdx) are not passed during the function
27495 call(addWeightBi(), xWeightedPredictionUni())
27496 [b2aa2aad2c66]
27497
274982013-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27499
27500 * source/common/vec/intra-sse3.cpp:
27501 intra-sse: Fix for HIGH_BIT_DEPTH build error
27502 [8fc308449916]
27503
275042013-10-21 Min Chen <chenm003@163.com>
27505
27506 * source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
27507 source/Lib/TLibCommon/ContextModel3DBuffer.h,
27508 source/Lib/TLibCommon/ContextTables.h,
27509 source/Lib/TLibEncoder/TEncSbac.cpp,
27510 source/Lib/TLibEncoder/TEncSbac.h, source/common/CMakeLists.txt:
27511 cabac: cleanup array of cabac context
27512 [15588437fc24]
27513
275142013-10-19 Min Chen <chenm003@163.com>
27515
27516 * source/common/x86/ipfilter8.asm:
27517 remove reduce register copy in FILTER_H4_w2_2 and FILTER_H4_w4_2
27518 [fabb25ae4db4]
27519
275202013-10-20 Steve Borho <steve@borho.org>
27521
27522 * source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp:
27523 intra: move intra_pred_dc to intra-sse41.cpp; it uses SSSE3
27524 instructions
27525
27526 We don't have an intra-ssse3.cpp and it seems a waste to create one
27527 just for this one function.
27528 [7ec69cb067fd]
27529
275302013-10-18 Steve Borho <steve@borho.org>
27531
27532 * source/common/wavefront.h, source/encoder/encoder.cpp,
27533 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
27534 Lookahead: implement wavefront parallel processing
27535 [c96f97cf3914]
27536
275372013-10-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27538
27539 * source/common/wavefront.cpp, source/common/wavefront.h:
27540 WaveFront: add new function to enable all rows
27541 [dd45e55248c8]
27542
275432013-10-18 Steve Borho <steve@borho.org>
27544
27545 * source/test/ipfilterharness.cpp:
27546 ipfilterharness: simplify filter names
27547 [4066e6e725ee]
27548
27549 * source/Lib/TLibEncoder/TEncSearch.cpp:
27550 TEncSearch: add x265_emms() after use of pixelavg_pp and satd
27551 primitives
27552 [1fa93e1f4caa]
27553
275542013-10-18 Praveen Tiwari <Praveen Tiwari>
27555
27556 * source/common/x86/asm-primitives.cpp,
27557 source/common/x86/ipfilter8.asm:
27558 asm code for luma filter functions
27559 [0d146f05d561]
27560
27561 * source/common/x86/asm-primitives.cpp,
27562 source/common/x86/ipfilter8.asm:
27563 added 24x32 partion size asm code to chroma function
27564 [a301f749b0bc]
27565
27566 * source/common/x86/asm-primitives.cpp,
27567 source/test/ipfilterharness.cpp:
27568 asm: corrected luma enum variable, testbench fix
27569 [8b507771e6b0]
27570
27571 * source/common/ipfilter.cpp:
27572 ipfilter.cpp, added code to support luma coefficients too
27573 [4bcfc0e23935]
27574
275752013-10-18 Steve Borho <steve@borho.org>
27576
27577 * source/common/vec/intra-sse3.cpp:
27578 intra: isolate last remaining vector class functions (angular intra
27579 8, 16, 32)
27580 [8de380c7bd41]
27581
27582 * source/common/vec/intra-sse3.cpp:
27583 intra: sane function names and typedefs
27584 [1959dbe1b643]
27585
27586 * source/common/vec/intra-sse3.cpp:
27587 intra: nits
27588 [6a453beeea88]
27589
27590 * source/common/vec/intra-sse3.cpp:
27591 intra: remove SSE3 planar intrinsic functions; they are redundant
27592 [edf6eb8da4ca]
27593
275942013-10-18 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27595
27596 * source/common/vec/intra-sse3.cpp:
27597 intra: replace predDCFiltering vector class function with intrinsic
27598 [140f90417702]
27599
27600 * source/common/vec/intra-sse3.cpp:
27601 intra: replace intra_pred_dc vector class function with intrinsic
27602 [d24283fe5e31]
27603
276042013-10-18 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27605
27606 * source/encoder/ratecontrol.cpp:
27607 rc : removed warning , moved strength to acEnergyCu
27608 [089b29b4da2a]
27609
276102013-10-18 Steve Borho <steve@borho.org>
27611
27612 * source/common/x86/asm-primitives.cpp:
27613 asm: disable remaining pixelavg primitives, they fail against our C
27614 ref
27615 [904ff6d6e5d9]
27616
27617 * source/test/pixelharness.cpp:
27618 pixelharness: fix iteration through partition enums
27619 [7e95be5f70bc]
27620
276212013-10-18 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27622
27623 * source/test/pixelharness.cpp, source/test/pixelharness.h:
27624 added pixelavg_pp function to testbench
27625 [fdd1262059ad]
27626
27627 * source/common/vec/blockcopy-sse3.cpp:
27628 blockcopy-sse3.cpp: removed unnecessary variable.
27629 [9ff06eb3bc4d]
27630
276312013-10-18 Steve Borho <steve@borho.org>
27632
27633 * source/common/CMakeLists.txt:
27634 cmake: msvc yasm dependency fix
27635 [357a6d0c305d]
27636
276372013-10-18 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27638
27639 * source/test/pixelharness.cpp, source/test/pixelharness.h:
27640 added cvt32to16_shr_sse2 function to testbench.
27641
27642 Speed up measured is almost 14x.
27643 [f3523973eafb]
27644
27645 * source/common/vec/blockcopy-sse3.cpp:
27646 blockcopy-sse3.cpp: removed warning: overflow in implicit constant
27647 conversion.
27648 [48afd41e0753]
27649
27650 * source/common/vec/intra-sse3.cpp:
27651 intra-sse3.cpp: replace xPredIntraAng4x4 vector class function with
27652 intrinsic.
27653 [c1e53b796ef4]
27654
276552013-10-18 Steve Borho <steve@borho.org>
27656
27657 * source/common/vec/intra-sse3.cpp:
27658 intra: remove unused variable
27659 [d6d7187c5f4e]
27660
27661 * source/common/x86/asm-primitives.cpp:
27662 asm: fix 32bit build following partition enum carnage
27663 [27dfc522397e]
27664
276652013-10-17 Min Chen <chenm003@163.com>
27666
27667 * source/common/CMakeLists.txt, source/common/vec/pixel-sse3.cpp,
27668 source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
27669 util.asm, source/common/x86/pixel.h:
27670 asm: add cvt32to16_shr_sse2, remove intrinsic primitive
27671 [84857e7ba3e1]
27672
276732013-10-17 Steve Borho <steve@borho.org>
27674
27675 * source/common/common.h:
27676 common: force float and double arguments to logf() and log(),
27677 respectively
27678
27679 Fixes warnings on some MSVC versions
27680 [d61e2ff59c29]
27681
27682 * source/common/vec/intra-sse3.cpp:
27683 intra: fix GCC warning about potentially uninitialized sum variable
27684 [61abe115acfc]
27685
27686 * source/common/vec/intra-sse3.cpp, source/test/intrapredharness.cpp:
27687 intra: segregate 8bpp from 16bpp functions, drop 16bpp angular, drop
27688 64x64
27689
27690 The HIGH_BIT_DEPTH angular function was just a copy of the C
27691 reference, we do not need 64x64 blocks any more
27692 [5ab2da8320f5]
27693
27694 * source/common/vec/intra-sse3.cpp:
27695 intra: remove unused argument to predDCFiltering(), remove static
27696
27697 There's no need to declare the function static, it is within an
27698 anonymous namespace
27699 [d05cf1a4d3a5]
27700
27701 * source/common/vec/pixel-avx2.cpp,
27702 source/common/vec/pixel16-sse41.cpp, source/test/testbench.cpp,
27703 source/test/testharness.h:
27704 pixel: fix avx2, 16bpp, and testbench following luma enum reorg
27705 [39ceb9570c5d]
27706
277072013-10-17 Praveen Tiwari <Praveen Tiwari>
27708
27709 * source/test/ipfilterharness.cpp:
27710 removed unnecessary calculation from chroma REPORT_SPEEDUP function
27711 [b42f1963229b]
27712
27713 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
27714 asm: fundef creation and function pointer table setup for luma asm
27715 primitives
27716 [165d27a37689]
27717
27718 * source/common/ipfilter.cpp:
27719 ipfilter: setup luma function pointers
27720 [2ecc6883d465]
27721
27722 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
27723 unit test code for luma filter
27724 [2b312edc7d7d]
27725
277262013-10-17 Steve Borho <steve@borho.org>
27727
27728 * source/common/primitives.h:
27729 primitives: define luma_hpp block interpolation function pointers
27730 [8f0f4bb9825e]
27731
27732 * source/common/CMakeLists.txt, source/common/ipfilter.cpp,
27733 source/common/pixel.cpp, source/common/primitives.cpp,
27734 source/common/primitives.h, source/common/vec/pixel-sse41.cpp,
27735 source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h,
27736 source/common/x86/mc.h, source/common/x86/pixel-a.asm,
27737 source/common/x86/pixel.h, source/encoder/framefilter.cpp,
27738 source/encoder/motion.cpp, source/encoder/ratecontrol.cpp,
27739 source/encoder/slicetype.cpp, source/test/ipfilterharness.cpp,
27740 source/test/pixelharness.cpp, source/test/testharness.h:
27741 primitives: cleanup luma partition enums and primitive
27742 initialization
27743
27744 Don't define any enums for partitions which are not used by HEVC.
27745 Line up chroma enums to match luma enums. Stop instantiating C
27746 primitives that are never used. Shorten up the partition enum names.
27747 Prune unused SSD assembly routines, move ASM funcdefs into headers
27748 [2eb3f19bb34a]
27749
277502013-10-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27751
27752 * source/common/vec/pixel16-sse41.cpp:
27753 pixel16: converted sad_4 from vector class to intrinsic
27754 [f5cdcb7cdaca]
27755
277562013-10-17 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27757
27758 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
27759 source/encoder/ratecontrol.h:
27760 rc: implement Adaptive Quantization.
27761
27762 added functions to compute AC Energy per CU for all planes,
27763 calculate qpAqOffset for each CU
27764 [c49db12611a2]
27765
27766 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
27767 source/encoder/encoder.cpp:
27768 TComPic: add m_qpAqOffset to store qp offsets per CU when Aq is
27769 enabled
27770 [e2333fe80c56]
27771
277722013-10-17 Steve Borho <steve@borho.org>
27773
27774 * source/common/CMakeLists.txt:
27775 cmake: fix assembly dependency path
27776 [a09583956501]
27777
277782013-10-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
27779
27780 * source/common/common.cpp, source/encoder/encoder.cpp,
27781 source/x265.cpp, source/x265.h:
27782 cli: rename bRDLevel to rdLevel
27783 [ffb8df2f3778]
27784
27785 * source/common/common.cpp, source/common/common.h:
27786 common : Added new function x265_param2string
27787 [09bb631e4253]
27788
277892013-10-17 Min Chen <chenm003@163.com>
27790
27791 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/pixel.cpp,
27792 source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
27793 improvement cvt32to16_shr by merge width and height loop
27794 [f6226cef13f1]
27795
277962013-10-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27797
27798 * source/common/vec/pixel-sse3.cpp:
27799 pixel: fix the hash mismatch due to convert32to16_shr
27800 [a31b03ff2cff]
27801
278022013-10-17 Min Chen <chenm003@163.com>
27803
27804 * source/common/x86/pixel-a.asm:
27805 x265_pixel_ssd_4x4_ssse3 miss EMMS
27806 [2a3af4fe8e5c]
27807
278082013-10-17 Praveen Tiwari <Praveen Tiwari>
27809
27810 * source/test/ipfilterharness.cpp:
27811 removed unnecessary calculation form rand_srcStride
27812 [dfae391107c3]
27813
27814 * source/test/ipfilterharness.cpp:
27815 added genration of random stride in chroma unit test code
27816 [fc9dbd798ac3]
27817
27818 * source/common/x86/ipfilter8.asm:
27819 fixed output mismatch problem with chroma 2xN block
27820 [b3852d6908a5]
27821
278222013-10-17 Steve Borho <steve@borho.org>
27823
27824 * source/common/vec/intra-sse3.cpp:
27825 intra: remove dead tables, fix comment typos, and other white-space
27826 issues
27827 [2fbeab18f182]
27828
27829 * source/encoder/slicetype.cpp:
27830 slicetype: fix pre-calculation of slice cost for ABR
27831 [ce1116e9def7]
27832
27833 * source/common/vec/intra-sse3.cpp:
27834 intra: add parens to macros to fix auto-alignment
27835 [d05787e07b21]
27836
278372013-10-16 Steve Borho <steve@borho.org>
27838
27839 * doc/uncrustify/codingstyle.cfg,
27840 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
27841 source/Lib/TLibCommon/TComTrQuant.cpp:
27842 uncrustify: another brace-style tweak
27843 [ebec58e22380]
27844
27845 * source/Lib/TLibCommon/ContextModel.h,
27846 source/Lib/TLibCommon/ContextModel3DBuffer.h,
27847 source/Lib/TLibCommon/ContextTables.h,
27848 source/Lib/TLibCommon/TComBitCounter.h,
27849 source/Lib/TLibCommon/TComBitStream.cpp,
27850 source/Lib/TLibCommon/TComDataCU.cpp,
27851 source/Lib/TLibCommon/TComDataCU.h,
27852 source/Lib/TLibCommon/TComLoopFilter.cpp,
27853 source/Lib/TLibCommon/TComPattern.cpp,
27854 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
27855 source/Lib/TLibCommon/TComPicYuv.cpp,
27856 source/Lib/TLibCommon/TComPicYuv.h,
27857 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
27858 source/Lib/TLibCommon/TComPrediction.cpp,
27859 source/Lib/TLibCommon/TComPrediction.h,
27860 source/Lib/TLibCommon/TComRom.cpp,
27861 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
27862 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
27863 source/Lib/TLibCommon/TComSlice.cpp,
27864 source/Lib/TLibCommon/TComSlice.h,
27865 source/Lib/TLibCommon/TComTrQuant.cpp,
27866 source/Lib/TLibCommon/TComTrQuant.h,
27867 source/Lib/TLibCommon/TComWeightPrediction.cpp,
27868 source/Lib/TLibCommon/TComYuv.cpp,
27869 source/Lib/TLibEncoder/NALwrite.cpp,
27870 source/Lib/TLibEncoder/NALwrite.h,
27871 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
27872 source/Lib/TLibEncoder/TEncAnalyze.h,
27873 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
27874 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
27875 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
27876 source/Lib/TLibEncoder/TEncSbac.cpp,
27877 source/Lib/TLibEncoder/TEncSbac.h,
27878 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
27879 source/common/common.cpp, source/common/common.h,
27880 source/common/cpu.h, source/common/ipfilter.cpp,
27881 source/common/lowres.cpp, source/common/lowres.h,
27882 source/common/piclist.cpp, source/common/piclist.h,
27883 source/common/pixel.cpp, source/common/primitives.cpp,
27884 source/common/reference.cpp, source/common/threading.cpp,
27885 source/common/threading.h, source/common/vec/blockcopy-avx2.cpp,
27886 source/common/vec/blockcopy-sse3.cpp, source/common/vec/dct-
27887 sse3.cpp, source/common/vec/dct-sse41.cpp, source/common/vec/intra-
27888 sse3.cpp, source/common/vec/intra-sse41.cpp, source/common/vec
27889 /ipfilter-sse41.cpp, source/common/vec/ipfilter-ssse3.cpp,
27890 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
27891 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel-
27892 ssse3.cpp, source/common/vec/pixel16-sse41.cpp, source/common/vec
27893 /vec-primitives.cpp, source/common/x86/asm-primitives.cpp,
27894 source/common/x86/pixel.h, source/dllmain.cpp,
27895 source/encoder/compress.cpp, source/encoder/cturow.h,
27896 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
27897 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
27898 source/encoder/motion.cpp, source/encoder/motion.h,
27899 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp,
27900 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
27901 source/input/yuv.h, source/test/intrapredharness.cpp,
27902 source/test/ipfilterharness.cpp, source/test/pixelharness.cpp,
27903 source/test/pixelharness.h, source/test/testbench.cpp,
27904 source/test/testharness.h, source/x265.cpp, source/x265.h:
27905 uncrustify entire source tree
27906 [1d6b3626f1b3]
27907
27908 * doc/uncrustify/apply-to-all-source.py:
27909 uncrustify: allow uncrustify to process .cpp and .h in common/x86
27910 [03be69eab3db]
27911
27912 * doc/uncrustify/codingstyle.cfg:
27913 uncrustify: do not remove whitespace in an empty brace section {}
27914
27915 (just ignore it)
27916 [6405dca03059]
27917
279182013-10-14 Steve Borho <steve@borho.org>
27919
27920 * source/CMakeLists.txt, source/compat/msvc/LGPL.txt,
27921 source/compat/msvc/getopt.c, source/compat/msvc/getopt.h:
27922 getopt: grab an unambiguously LGPL version of getopt
27923
27924 Found at: https://github.com/Tietew/mediawiki-
27925 xml2sql/tree/master/getopt
27926
27927 The only change made was to move getopt_long() into getopt.c from
27928 getopt1.c
27929
27930 # HG changeset patch # User Steve Borho <steve@borho.org> # Date
27931 1381776922 18000 # Mon Oct 14 13:55:22 2013 -0500 # Node ID
27932 b6cca1b1a9b700a8ffc316f3186dbf10bc1149cc # Parent
27933 abae6903e0af0d9940bb734ba34dff6928d72e61 getopt: grab an
27934 unambiguously LGPL version of getopt
27935
27936 Found at: https://github.com/Tietew/mediawiki-
27937 xml2sql/tree/master/getopt
27938
27939 The only change made was to move getopt_long() into getopt.c from
27940 getopt1.c
27941 [60a105fed8c8]
27942
279432013-10-16 Steve Borho <steve@borho.org>
27944
27945 * source/common/vec/pixel-sse3.cpp:
27946 pixel: disable intrinsic cvt32to16_shr; it is causing hash
27947 mismatches
27948 [258394d8ab91]
27949
27950 * source/common/ipfilter.cpp:
27951 ipfilter: gcc preprocessor does not allow ## use for non-symbols
27952
27953 The ## in this case was totally unnecessary
27954 [63a63e668fb7]
27955
27956 * source/x265.cpp:
27957 cli: add missing --cpuid handler
27958 [af92ca11aa13]
27959
27960 * source/test/ipfilterharness.cpp:
27961 test: revert accidental change to 64 dims so testbench passes
27962 [16ae0ba47935]
27963
27964 * source/common/vec/dct-sse41.cpp:
27965 dct: remove SSE41 dct 8x8, 16x16 and 32x32 intrinsic primitives
27966
27967 These were adapted from vector class functions but were much slower
27968 than the hand-tuned dct SSSE3 functions written by Min.
27969 [6c3aa856dc65]
27970
27971 * source/common/primitives.h, source/common/vec/vec-primitives.cpp,
27972 source/common/x86/asm-primitives.cpp:
27973 primitives: do not include the public API header in primitives.h
27974
27975 This was necessary in the past for the CPU level enums but those are
27976 now gone. Only vec-primitives.cpp and asm-primitives.cpp need the
27977 CPU capability defines and they can include x265.h themselves.
27978 [5e269e353bc6]
27979
279802013-10-16 Praveen Tiwari <Praveen Tiwari>
27981
27982 * source/test/ipfilterharness.cpp:
27983 check_IPFilterChroma_primitive, stride made equal to min width 2
27984
27985 short-term workaround for 2XN blocks
27986 [89a299c198d0]
27987
279882013-10-16 Steve Borho <steve@borho.org>
27989
27990 * source/x265.cpp:
27991 cli: tighten up command line help, remove redundancies and save
27992 whitespace
27993 [f7d1914d1f61]
27994
27995 * source/x265.cpp:
27996 cli: pull CLIOptions methods out of struct definition (cleanup)
27997
27998 Remove i_ hungarian notation from variables
27999 [5c258896b571]
28000
28001 * build/vc10-x86/make-solutions.bat, build/vc10-x86_64/make-
28002 solutions.bat, build/vc11-x86/make-solutions.bat, build/vc11-x86_64
28003 /make-solutions.bat, build/vc9-x86/make-solutions.bat,
28004 build/vc9-x86_64/make-solutions.bat:
28005 build: wtf is a Visual Studion?
28006 [798f12a3ca4c]
28007
280082013-10-16 Sumalatha Polureddy <Sumalatha Polureddy>
28009
28010 * source/Lib/TLibCommon/TComPrediction.cpp,
28011 source/Lib/TLibCommon/TComPrediction.h,
28012 source/Lib/TLibCommon/TComWeightPrediction.cpp,
28013 source/Lib/TLibCommon/TComWeightPrediction.h,
28014 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
28015 source/Lib/TLibEncoder/TEncSearch.cpp,
28016 source/Lib/TLibEncoder/TEncSearch.h:
28017 pass bLuma and bChroma parameters for functions
28018
28019 Based on the values of two parameters, luma and chroma operations
28020 are done. Default value for both is set as true todo both operations
28021 [872e98c8bc7b]
28022
280232013-10-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
28024
28025 * source/CMakeLists.txt, source/x265opts.h:
28026 cli: remove unused x265opts.h
28027 [9317198e26e2]
28028
28029 * source/x265.cpp:
28030 cli: long_options structure initialization without using x265opts.h
28031 [1cf1fe777d14]
28032
28033 * source/x265.cpp:
28034 cli: implemented do_help() without using x265opts.h
28035 [9347808f2f9b]
28036
28037 * source/common/common.cpp, source/x265.cpp, source/x265.def.in,
28038 source/x265.h:
28039 api: add x265_param_parse() function based on x264_param_parse()
28040 [69d8796e57e4]
28041
280422013-10-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
28043
28044 * source/Lib/TLibEncoder/TEncSearch.cpp:
28045 bidir: fix for hash mismatch with B-frames
28046
28047 Use seperate variables for mvp and mvpidx used for zero mv
28048 candidates. Also copy the corresponding AMVPinfo for each
28049 reflist/refIdx.
28050 [c415f32219fe]
28051
280522013-10-16 Praveen Tiwari <Praveen Tiwari>
28053
28054 * source/common/x86/asm-primitives.cpp,
28055 source/common/x86/ipfilter8.asm:
28056 asm: update chroma interpolation primitives
28057 [bc1399dbc2ed]
28058
28059 * source/common/ipfilter.cpp, source/test/ipfilterharness.cpp,
28060 source/test/ipfilterharness.h:
28061 primitive: added C primitive and unit test code for one chroma
28062 filter
28063 [762ca3c4b6f2]
28064
28065 * source/common/primitives.h:
28066 primitive: chroma partition enums by full dimension and function
28067 pointers
28068 [08ecee513efc]
28069
280702013-10-16 Sumalatha Polureddy <Sumalatha Polureddy>
28071
28072 * source/Lib/TLibEncoder/TEncCu.cpp,
28073 source/Lib/TLibEncoder/TEncSearch.cpp:
28074 no-rdo: remove unused checks
28075 [d45ce25752cf]
28076
280772013-10-16 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28078
28079 * source/common/vec/intra-sse3.cpp:
28080 intra-sse3.cpp: Remove unused vector class macros
28081 [ec5a816c4ef3]
28082
280832013-10-16 Min Chen <chenm003@163.com>
28084
28085 * source/Lib/TLibEncoder/TEncCavlc.h,
28086 source/Lib/TLibEncoder/TEncEntropy.h,
28087 source/Lib/TLibEncoder/TEncSbac.cpp,
28088 source/Lib/TLibEncoder/TEncSbac.h:
28089 cleanup: remove unused updateContextTables()
28090 [ad081b5f340f]
28091
280922013-10-16 Kavitha Sampath <kavitha@multicorewareinc.com>
28093
28094 * source/input/yuv.cpp, source/input/yuv.h:
28095 yuv: make file reading threaded
28096 [18c935330e9e]
28097
280982013-10-16 Steve Borho <steve@borho.org>
28099
28100 * source/common/x86/asm-primitives.cpp:
28101 asm: disable the use of x264 pixel weighting functions
28102
28103 These are breaking lowres qpel generation
28104 [4b1716b232e5]
28105
281062013-10-16 Aarthi Thirumalai <aarthi@multicorewareinc.com>
28107
28108 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
28109 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
28110 move ssim calculation to frameFilters
28111 [09c0e0209d84]
28112
281132013-10-15 Steve Borho <steve@borho.org>
28114
28115 * source/Lib/TLibEncoder/TEncSearch.cpp:
28116 TEncSearch: remove unused static MV arrays
28117 [a998daed8459]
28118
28119 * source/Lib/TLibEncoder/TEncSearch.cpp:
28120 TEncSearch: nits
28121 [9bff70c75d32]
28122
28123 * source/Lib/TLibCommon/TComSlice.cpp,
28124 source/Lib/TLibCommon/TComSlice.h,
28125 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/dpb.cpp:
28126 TComSlice: remove unused m_list1IdxToList0Idx and methods
28127 [676788df0ab2]
28128
28129 * source/Lib/TLibEncoder/TEncSearch.cpp:
28130 TEncSearch: remove unused variables
28131 [397589048016]
28132
28133 * source/Lib/TLibEncoder/TEncSearch.cpp:
28134 TEncSearch: rename refList -> list, refIdxTmp -> idx (more readable)
28135 [53323636b8d3]
28136
28137 * source/Lib/TLibEncoder/TEncSearch.cpp:
28138 TEncSearch: simplify unidirectional search logic
28139
28140 There was a lot of extra code to check if an L0 pic was in the L1
28141 list and was already searched. We do not copy our L0 pics into the
28142 L1 list so this isn't an issue.
28143 [d8665f64a662]
28144
28145 * source/Lib/TLibEncoder/TEncSearch.cpp:
28146 TEncSearch: remove unnecessary memsets
28147 [f2f61a2626ef]
28148
28149 * source/Lib/TLibEncoder/TEncSearch.cpp,
28150 source/encoder/frameencoder.cpp:
28151 TEncSearch: hoist setSourcePlane() to be called just once per frame
28152 [1fda6e4da927]
28153
28154 * source/Lib/TLibEncoder/TEncSearch.cpp:
28155 TEncSearch: move variables closer to their use
28156 [b6db83cab831]
28157
28158 * source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
28159 source/Lib/TLibCommon/ContextModel3DBuffer.h,
28160 source/Lib/TLibCommon/TComDataCU.h,
28161 source/Lib/TLibCommon/TComTrQuant.cpp,
28162 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28163 source/Lib/TLibEncoder/TEncCavlc.cpp,
28164 source/Lib/TLibEncoder/TEncEntropy.cpp,
28165 source/Lib/TLibEncoder/TEncEntropy.h,
28166 source/Lib/TLibEncoder/TEncSbac.cpp,
28167 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/framefilter.cpp:
28168 global search and replace for common hungarian prefixed variables
28169 [5ada776190c0]
28170
28171 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
28172 source/Lib/TLibEncoder/WeightPredAnalysis.h:
28173 WeightPredAnalysis: remove hungarian prefixes
28174 [e0893637f5ac]
28175
28176 * source/Lib/TLibEncoder/TEncCavlc.cpp,
28177 source/Lib/TLibEncoder/TEncCavlc.h:
28178 TEncCavlc: remove hungarian prefixes
28179 [c5ac154bfb4d]
28180
28181 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28182 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
28183 TEncBinCABAC: remove hungarian prefixes
28184 [b7d09f879c51]
28185
28186 * source/common/CMakeLists.txt:
28187 cmake: fix gcc 16bpp build
28188 [b04d75ceb182]
28189
28190 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
28191 source/x265.h:
28192 api: pass presentation timestamp through the encoder
28193 [7c8c591908ac]
28194
281952013-10-15 Min Chen <chenm003@163.com>
28196
28197 * source/Lib/TLibCommon/TComBitStream.cpp:
28198 faster grow buffer size to reduce number of memcpy
28199 [f66122e4565e]
28200
28201 * source/Lib/TLibCommon/TComBitCounter.h,
28202 source/Lib/TLibCommon/TComBitStream.cpp,
28203 source/Lib/TLibCommon/TComBitStream.h,
28204 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
28205 cabac: writeByte() for faster CABAC output
28206 [7bd38dc97fa1]
28207
28208 * source/Lib/TLibCommon/ContextModel.h,
28209 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
28210 source/Lib/TLibCommon/ContextModel3DBuffer.h,
28211 source/Lib/TLibCommon/ContextTables.h,
28212 source/Lib/TLibCommon/TypeDef.h,
28213 source/Lib/TLibEncoder/TEncSbac.cpp:
28214 cleanup:reduce ContextModel3DBuffer to 1D
28215 [e4f130853d90]
28216
282172013-10-15 Praveen Tiwari <Praveen Tiwari>
28218
28219 * source/common/primitives.h:
28220 primitives: add chroma partition widths and interpolation function
28221 def
28222 [d011ba82c852]
28223
282242013-10-15 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28225
28226 * source/common/vec/pixel-sse41.cpp:
28227 pixel-sse41.cpp: Modified PROCESS_SSE_SS4x1 macro with faster
28228 intrinsics
28229 [352781943ca8]
28230
282312013-10-15 Kavitha Sampath <kavitha@multicorewareinc.com>
28232
28233 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h:
28234 y4m: make file reading threaded
28235 [dd78cc895f2d]
28236
282372013-10-15 Santhoshini Sekar <santhoshini@multicorewareinc.com>
28238
28239 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
28240 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
28241 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
28242 PSNR: row-by-row PSNR measurement with SSD accumulators in TComPic
28243 [404528f1ed26]
28244
282452013-10-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
28246
28247 * source/common/vec/ipfilter-sse41.cpp:
28248 ipfilter: Fix for 16bpp build
28249 [1a85d8814346]
28250
282512013-10-15 Steve Borho <steve@borho.org>
28252
28253 * source/common/vec/pixel-sse41.cpp:
28254 pixel: fix 16bpp build
28255 [bbe95ece093f]
28256
282572013-10-15 sairam <sairam@multicorewareinc.com>
28258
28259 * source/encoder/motion.cpp:
28260 Fixed the --me 4 cli option error
28261 [cb83e2f93592]
28262
282632013-10-15 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28264
28265 * source/common/vec/pixel-sse41.cpp:
28266 pixel: cleared the bug in sse_sp8, through sse_sp64
28267 [8c8d5700d22b]
28268
28269 * source/common/vec/pixel-sse41.cpp:
28270 pixel: modified weightUnidir to clear the bug.
28271 [07f03a3fa2b8]
28272
28273 * source/common/vec/pixel-sse41.cpp:
28274 pixel: cleared the bug in sse_sp4.
28275 [cc35cb2f55e8]
28276
282772013-10-15 Steve Borho <steve@borho.org>
28278
28279 * source/common/CMakeLists.txt, source/common/vec/pixel-sse41.cpp,
28280 source/common/vec/pixel16-sse41.cpp, source/common/vec/pixel16.inc:
28281 cmake: give 16bpp vector sad primitives their own C++ file
28282 [764c0e9984f0]
28283
28284 * source/CMakeLists.txt:
28285 cmake: do not query clang version, it is not used
28286 [fa90c915a323]
28287
282882013-10-14 Steve Borho <steve@borho.org>
28289
28290 * source/Lib/TLibEncoder/TEncSearch.cpp:
28291 TEncSearch: fix comment for TEncSearch::predInterSearch
28292 [062c51758069]
28293
28294 * source/CMakeLists.txt:
28295 cmake: move X265_BUILD definition to near top of main CMakeLists.txt
28296
28297 This is just to make it easier to find
28298 [abae6903e0af]
28299
28300 * source/common/CMakeLists.txt, source/common/common.cpp,
28301 source/common/version.cpp:
28302 version: move export variables into version.cpp
28303 [eeffa630e770]
28304
28305 * source/CMakeLists.txt:
28306 cmake: allow MinGW to rename x265-static to x265
28307
28308 MinGW uses libx265.dll.a for the shim loader library, which does not
28309 collide with libx265.a, so it is ok. Only MSVC wants to use x265.lib
28310 for both
28311 [28e2a3926c95]
28312
28313 * source/common/CMakeLists.txt:
28314 cmake: fix 32bit GCC compile
28315 [b2c148b71db8]
28316
28317 * source/CMakeLists.txt:
28318 cmake: drop x265 folder suffix to archive install path
28319 [5af31960c41d]
28320
283212013-10-13 Steve Borho <steve@borho.org>
28322
28323 * source/common/common.cpp, source/common/common.h,
28324 source/common/lowres.h, source/encoder/slicetype.h:
28325 common: sanity check some lookahead settings
28326 [eb0aa9c42bba]
28327
283282013-09-10 Steve Borho <steve@borho.org>
28329
28330 * source/common/lowres.cpp, source/common/lowres.h,
28331 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
28332 slicetype: fill in missing detail from slicetypeDecide()
28333
28334 This moves slicetypeDecide() to make the file more readable. It also
28335 adds stubs for features that we do not support yet including
28336 weightp, B-pyramid, intra refresh, user-supplied slice types, etc
28337 [9bdff3310321]
28338
283392013-10-13 Steve Borho <steve@borho.org>
28340
28341 * source/common/CMakeLists.txt:
28342 cpu: disable -Wnarrowing for cpu.cpp
28343
28344 This C99 code from x264 causes warnings when compiled for C++
28345 [8011064113f7]
28346
283472013-10-13 Min Chen <chenm003@163.com>
28348
28349 * source/Lib/TLibCommon/TComDataCU.cpp,
28350 source/Lib/TLibCommon/TComDataCU.h,
28351 source/Lib/TLibEncoder/TEncBinCoder.h,
28352 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28353 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
28354 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp,
28355 source/encoder/cturow.cpp:
28356 cabac: cleanup unused code
28357 [1eeac78dbddb]
28358
28359 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28360 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
28361 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
28362 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
28363 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
28364 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
28365 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/CMakeLists.txt,
28366 source/encoder/cturow.cpp, source/encoder/cturow.h,
28367 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
28368 cabac: cleanup TEncBinCoderCABACCounter to reduce C++ feature
28369 [6d351ec699e5]
28370
283712013-10-12 Steve Borho <steve@borho.org>
28372
28373 * source/common/vec/vec-primitives.cpp:
28374 vec: it seems clang has its own set of intrinsic generation bugs
28375
28376 If clang is allowed to run the instrinsic functions it builds in
28377 these two files it causes SEGVs
28378 [db12b4bf3ffd]
28379
28380 * source/common/primitives.cpp:
28381 primitives: show capabilities used even when cpuid is specified
28382 [4423fc3fcd08]
28383
28384 * source/test/testbench.cpp:
28385 testbench: repair --cpuid command line argument
28386 [c1acbd493213]
28387
28388 * source/common/vec/ipfilter-sse41.cpp:
28389 ipfilter: move 16bpp primitives into a separate area of the file
28390
28391 This isolates the remaining vector primitives from the intrinsic
28392 primitives
28393 [7196914eff8f]
28394
283952013-10-10 Steve Borho <steve@borho.org>
28396
28397 * source/VectorClass/instrset.h,
28398 source/VectorClass/instrset_detect.cpp,
28399 source/common/CMakeLists.txt, source/common/cpu.cpp,
28400 source/common/cpu.h, source/common/primitives.cpp,
28401 source/common/primitives.h, source/common/vec/vec-primitives.cpp,
28402 source/common/x86/asm-primitives.cpp, source/test/testbench.cpp,
28403 source/x265.h:
28404 asm: adopt x264 CPU detection and flags
28405 [76260e1b472d]
28406
284072013-10-12 Steve Borho <steve@borho.org>
28408
28409 * source/CMakeLists.txt, source/common/CMakeLists.txt,
28410 source/common/common.cpp, source/common/common.h, source/x265.cpp,
28411 source/x265.def.in, source/x265.h:
28412 api: add exported strings which describe version and build info
28413
28414 It seemed more useful for this data to be in the x265 library rather
28415 than the CLI app
28416 [6d5df4858df6]
28417
28418 * source/CMakeLists.txt, source/cmake/cmake_uninstall.cmake.in:
28419 cmake: add uninstall rule for non-Windows platforms
28420
28421 CMake on Windows doesn't appear to generate an install manifest file
28422 [c18a09b9d2d3]
28423
28424 * source/CMakeLists.txt, source/common/CMakeLists.txt,
28425 source/encoder/CMakeLists.txt:
28426 cmake: enable vim syntax hightlighting
28427 [ec98f30c5185]
28428
28429 * source/cmake/version.cmake:
28430 cmake: nit cleanups in version.cmake
28431 [c032a0fbc863]
28432
28433 * source/CMakeLists.txt, source/cmake/version.cmake, source/x265.def,
28434 source/x265.def.in, source/x265.h, source/x265_config.h.in:
28435 cmake: add install targets, machine generate x265.def and
28436 x265_config.h
28437
28438 Now X265_BUILD is maintained in just a single place,
28439 souce/CMakeLists.txt.
28440
28441 The shared library is only installed if a valid tag is found;
28442 meaning the user must be building a Mercurial clone or a release
28443 tarball with .hg_archive.txt file in it (otherwise they must install
28444 the shared library themselves)
28445 [1097e547c441]
28446
28447 * source/common/common.h:
28448 common: properly report clang compiled by version
28449 [28690748ab1d]
28450
284512013-10-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
28452
28453 * source/test/pixelharness.cpp, source/test/testharness.h:
28454 testbench fix: short buffers now have short values
28455 [aef52403ed5a]
28456
284572013-10-11 Steve Borho <steve@borho.org>
28458
28459 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
28460 ratecontrol: use param.rc.rateControlMode, from duplicate RC var
28461 [9a02765f182e]
28462
28463 * source/common/vec/intra-sse41.cpp:
28464 intra: remove vector class header include from intra-sse41.cpp
28465
28466 intra-sse3.cpp is the last file with 8bpp (non-AVX2) vector class
28467 primitives
28468 [f77efd501767]
28469
28470 * source/common/vec/blockcopy-sse3.cpp:
28471 blockcopy-sse3: consistent naming convention
28472 [8518e39a2b74]
28473
28474 * source/common/vec/blockcopy-sse3.cpp:
28475 blockcopy-sse3: remove vector class use from last 16bpp intrinsic
28476
28477 blockcopy files are now vector class clean
28478 [41b7ceea1e32]
28479
28480 * source/common/vec/blockcopy-sse3.cpp:
28481 blockcopy-sse3: consistent naming convention
28482 [0be273b5f082]
28483
28484 * source/common/vec/intra-sse3.cpp:
28485 intra: prevent variable shadow warnings from GCC
28486 [d97cf152f620]
28487
284882013-10-11 Aarthi Thirumalai <Aarthi Thirumalai>
28489
28490 * source/common/pixel.cpp, source/common/primitives.h:
28491 primitves: add c primitives for the following :
28492
28493 compute AC energy for each block copy pixels of chroma plane
28494 [725ac176cd13]
28495
28496 * source/common/common.cpp, source/x265.h:
28497 param: added rc states for setting Aq mode and Aq strength
28498 [73d085da8533]
28499
28500 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
28501 source/encoder/ratecontrol.h:
28502 rc: added TEncCfg instance to RateControl to reuse all the rc params
28503 directly.
28504 [ce889cef37be]
28505
285062013-10-11 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
28507
28508 * source/common/reference.cpp, source/encoder/motion.cpp:
28509 Some fixes in applyWeight() function
28510
28511 These wont fix the PSNR drop but are necessary
28512 [b70432f7b275]
28513
285142013-10-11 Steve Borho <steve@borho.org>
28515
28516 * source/common/vec/dct-ssse3.cpp:
28517 dct-ssse3: remove vector class includes; dct files are now clean
28518 [1cd3bc5e6881]
28519
28520 * source/common/vec/dct-sse3.cpp:
28521 dct-sse3: don't compile dct4 for 16bpp builds when it is not used
28522 [2267068cc7e1]
28523
28524 * source/common/vec/dct-sse41.cpp:
28525 dct-sse41: reorder functions for clarity - no code change
28526 [d6dc4ebb5cbe]
28527
28528 * source/common/vec/dct-sse3.cpp:
28529 dct-sse3: remove idst4; it uses SSE4.1 but dct-sse41.cpp already has
28530 idst4
28531 [839a9ba551e4]
28532
285332013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28534
28535 * source/common/vec/dct-sse3.cpp:
28536 dct: Replaced inversedst vector class function to intrinsic
28537 [df024b91ffd6]
28538
285392013-10-11 Steve Borho <steve@borho.org>
28540
28541 * source/common/vec/pixel-sse3.cpp:
28542 pixel-sse3: move convert32to16_shr to top of file, remove vector
28543 class includes
28544 [9f37e3d7818c]
28545
285462013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28547
28548 * source/common/vec/pixel-sse3.cpp:
28549 pixel-sse3.cpp: Replace convert32to16_shr vector class function with
28550 intrinsic.
28551 [efb230642757]
28552
285532013-10-11 Steve Borho <steve@borho.org>
28554
28555 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28556 dct: move dct32 to dct-sse41.cpp, inline convert16to32
28557 [def1551c14f0]
28558
285592013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28560
28561 * source/common/vec/dct-sse3.cpp:
28562 dct: Replaced partialButterfly32 vector class function to intrinsic
28563 [ca00db64f5bb]
28564
285652013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28566
28567 * source/common/vec/intra-sse3.cpp:
28568 intra-sse3.cpp: Replace PredIntraAng4_m_32 vector class function
28569 with intrinsic.
28570 [4824f15116e6]
28571
28572 * source/common/vec/intra-sse3.cpp:
28573 intra-sse3.cpp: Replace PredIntraAng4_m_26 vector class function
28574 with intrinsic.
28575 [267fa83cd7b9]
28576
28577 * source/common/vec/intra-sse3.cpp:
28578 intra-sse3.cpp: Replace PredIntraAng4_m_21 vector class function
28579 with intrinsic.
28580 [90b34ae5e8de]
28581
28582 * source/common/vec/intra-sse3.cpp:
28583 intra-sse3.cpp: Replace PredIntraAng4_m_17 vector class function
28584 with intrinsic.
28585 [263acbde8ec1]
28586
28587 * source/common/vec/intra-sse3.cpp:
28588 intra-sse3.cpp: Replace PredIntraAng4_m_13 vector class function
28589 with intrinsic.
28590 [f1013117efab]
28591
28592 * source/common/vec/intra-sse3.cpp:
28593 intra-sse3.cpp: Replace PredIntraAng4_m_9 vector class function with
28594 intrinsic.
28595 [5c6f7106c918]
28596
28597 * source/common/vec/intra-sse3.cpp:
28598 intra-sse3.cpp: Replace PredIntraAng4_m_5 vector class function with
28599 intrinsic.
28600 [87a56e0ff6a9]
28601
28602 * source/common/vec/intra-sse3.cpp:
28603 intra-sse3.cpp: Replace PredIntraAng4_m_2 vector class function with
28604 intrinsic.
28605 [e4efd408f394]
28606
28607 * source/common/vec/intra-sse3.cpp:
28608 intra-sse3.cpp: Replace PredIntraAng4_2 vector class function with
28609 intrinsic.
28610 [bd335e21744d]
28611
28612 * source/common/vec/intra-sse3.cpp:
28613 intra-sse3.cpp: Replace PredIntraAng4_5 vector class function with
28614 intrinsic.
28615 [2b9f94e11cc5]
28616
28617 * source/common/vec/intra-sse3.cpp:
28618 intra-sse3.cpp: Replace PredIntraAng4_9 vector class function with
28619 intrinsic.
28620 [e65e3714bbb9]
28621
28622 * source/common/vec/intra-sse3.cpp:
28623 intra-sse3.cpp: Replace PredIntraAng4_13 vector class function with
28624 intrinsic.
28625 [f3d0ced4a4f1]
28626
28627 * source/common/vec/intra-sse3.cpp:
28628 intra-sse3.cpp: Replace PredIntraAng4_17 vector class function with
28629 intrinsic.
28630 [17c772394df3]
28631
286322013-10-11 Steve Borho <steve@borho.org>
28633
28634 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28635 dct: move dct8 to dct-sse41.cpp, inline convert16to32
28636 [f0eebdf90a58]
28637
286382013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28639
28640 * source/common/vec/dct-sse3.cpp:
28641 dct: Replaced partialButterfly16 vector class function to intrinsic
28642 [f760de7f5596]
28643
286442013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28645
28646 * source/common/vec/intra-sse3.cpp:
28647 intra-sse3.cpp: Replace PredIntraAng4_21 vector class function with
28648 intrinsic.
28649 [e9b401f5c655]
28650
286512013-10-11 Min Chen <chenm003@163.com>
28652
28653 * source/common/x86/ipfilter8.asm:
28654 asm: improvement filterHorizontal_p_p_4 by reorder intermedia data
28655
28656 1. repleace phaddw to paddw 2. use extra load operator to split data
28657 dependency and reduce table size
28658 [080a9fdada2c]
28659
28660 * source/common/x86/ipfilter8.asm:
28661 asm: fix bug in filterHorizontal_p_p_4 with width less than 8 (seed
28662 0x52578C72)
28663 [953a4e9f3d57]
28664
286652013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28666
28667 * source/common/vec/intra-sse3.cpp:
28668 intra-sse3.cpp: Replace PredIntraAng4_26 vector class function with
28669 intrinsic using intrinsic macros PRED_INTRA_ANGLE_4_START and
28670 PRED_INTRA_ANGLE_4_END.
28671 [295973cbc020]
28672
28673 * source/common/vec/intra-sse3.cpp:
28674 intra-sse3.cpp: Created common macros PRED_INTRA_ANGLE_4_START,
28675 PRED_INTRA_ANGLE_4_END for PredIntraAng4_[ANGLE] function.
28676 [ee4f9ae07523]
28677
286782013-10-11 Steve Borho <steve@borho.org>
28679
28680 * source/common/vec/dct-sse41.cpp:
28681 dct: manually inline convert16to32, for 10% improvement
28682 [ab9f6ad97d30]
28683
286842013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28685
28686 * source/common/vec/dct-sse41.cpp:
28687 dct: modified block copy used in dct8 with convert16to32 inline
28688 function
28689 [855757691efc]
28690
286912013-10-11 Steve Borho <steve@borho.org>
28692
28693 * source/common/vec/dct-sse3.cpp:
28694 dct: fix 16bpp, dct primitives are not 16bpp safe
28695 [c6d89dc62e19]
28696
286972013-10-10 Steve Borho <steve@borho.org>
28698
28699 * source/common/piclist.cpp:
28700 piclist: ensure a TComPic is not enqueued in two lists at once
28701 [7134a091a71d]
28702
287032013-10-11 Steve Borho <steve@borho.org>
28704
28705 * source/common/pixel.cpp, source/common/primitives.h,
28706 source/common/vec/pixel-sse3.cpp:
28707 pixel: remove unreferenced cvt16to32_t and cvt32to16_t primitives
28708 [9bbaa60db38b]
28709
28710 * source/common/vec/pixel-sse41.cpp:
28711 pixel: remove unreferenced sse_pp4 function
28712 [fa480d5c2166]
28713
287142013-10-10 Steve Borho <steve@borho.org>
28715
28716 * source/common/vec/pixel-avx2.cpp:
28717 pixel: allow clang to build AVX2 pixel primitives functions
28718 [0fabe33e0448]
28719
287202013-10-11 Min Chen <chenm003@163.com>
28721
28722 * source/cmake/version.cmake:
28723 cmake: default value for X265_VERSION
28724 [b6756c2e6386]
28725
287262013-10-10 Steve Borho <steve@borho.org>
28727
28728 * source/CMakeLists.txt, source/common/CMakeLists.txt:
28729 cmake: repair ICL nmake builds - do not use yasm custom rule with
28730 nmake
28731 [57e6b2cf633d]
28732
287332013-10-11 Steve Borho <steve@borho.org>
28734
28735 * source/CMakeLists.txt, source/common/CMakeLists.txt:
28736 cmake: make intel C++ compiler detection independent of env vars
28737 [e282601b92d6]
28738
287392013-10-10 Steve Borho <steve@borho.org>
28740
28741 * source/CMakeLists.txt, source/common/CMakeLists.txt:
28742 cmake: cleanup compiler determination
28743 [95f8e0c146b8]
28744
28745 * source/common/CMakeLists.txt:
28746 cmake: add parens to fix icpc builds of intrinsic primitives
28747 [7320ecd0901c]
28748
28749 * source/Lib/TLibCommon/TComSlice.h:
28750 TComSlice: add missing cstring include for memcpy
28751 [71fca64942a6]
28752
28753 * source/Lib/TLibCommon/TComSlice.h:
28754 TComSlice: remove unreferenced member variable
28755 [614a68ab4703]
28756
28757 * source/Lib/TLibEncoder/NALwrite.cpp:
28758 NALwrite: reintroduce include of cstring, required for memcpy on
28759 Linux
28760 [d6b9cc9c402f]
28761
28762 * source/encoder/CMakeLists.txt:
28763 cmake: merge TLibEncoderH source group into TLibEncoder
28764
28765 They are both small enough now that they are manageable as a single
28766 unit
28767 [bfdfeb2fd817]
28768
28769 * source/CMakeLists.txt:
28770 cmake: link PPA and other libs into x265-shared and x265-static
28771 [499ef0e4e254]
28772
28773 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28774 dct: add comments for future opts/code reuse
28775 [7b4a6a5f8efc]
28776
28777 * source/common/vec/dct-sse41.cpp:
28778 dct: remove vector class includes from dct-sse41.cpp, it is clean
28779 [3be4451ea3aa]
28780
28781 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28782 dct: move functions which require SSE4.1 from dct-sse3.cpp to dct-
28783 sse41.cpp
28784 [be7c6c42566a]
28785
28786 * source/common/vec/dct-sse3.cpp:
28787 dct: move last vector dct function into its own section
28788 [b0b5c22f5a34]
28789
287902013-10-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28791
28792 * source/common/vec/dct-sse3.cpp:
28793 dct: replaced partialButterfly8 vector class function with intrinsic
28794 [6fa763ba9da8]
28795
28796 * source/common/vec/dct-sse3.cpp:
28797 dct: replace dequant vector class function with intrinsic
28798 [b77a66b6b93d]
28799
288002013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28801
28802 * source/common/vec/intra-sse3.cpp:
28803 intra-sse3.cpp: Replace PredIntraAng4_32 vector class function with
28804 intrinsic.
28805 [8b49d3995f0c]
28806
288072013-10-10 Steve Borho <steve@borho.org>
28808
28809 * source/common/vec/blockcopy-sse3.cpp:
28810 blockcopy: move intrinsic function out of vector-class section
28811 [7dbbbb2a42bc]
28812
288132013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28814
28815 * source/common/vec/blockcopy-sse3.cpp:
28816 blockcopy-sse3.cpp: Replace pixeladd_pp vector class function with
28817 intrinsic.
28818 [12d098e5d907]
28819
288202013-10-10 Gopu Govindaswamy <gopu@multicorewareinc.com>
28821
28822 * source/Lib/TLibCommon/TComTrQuant.cpp,
28823 source/Lib/TLibCommon/TComTrQuant.h:
28824 tcomtrquant:remove unused methods
28825 [a79ecf3a7875]
28826
28827 * source/Lib/TLibCommon/CommonDef.h,
28828 source/Lib/TLibCommon/TComDataCU.h,
28829 source/Lib/TLibEncoder/NALwrite.cpp,
28830 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/dct.cpp,
28831 source/common/pixel.cpp, source/common/vec/dct-sse3.cpp,
28832 source/common/vec/dct-sse41.cpp, source/x265.cpp:
28833 remove unused <algorithm> includes
28834 [dce6ced4b4a3]
28835
28836 * source/Lib/TLibCommon/TComSlice.cpp,
28837 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
28838 tcomslice:remove unused set methods
28839 [c2fb3d12c812]
28840
28841 * source/Lib/TLibCommon/TComSlice.cpp,
28842 source/Lib/TLibCommon/TComSlice.h:
28843 tcomslice: removed unused set methods in TComReferencePictureSet
28844 class
28845 [bb43823efa92]
28846
288472013-10-10 Steve Borho <steve@borho.org>
28848
28849 * source/common/vec/pixel-sse41.cpp, source/common/vec/sse.inc:
28850 sse: move last SSE function into vector-class section of pixel-
28851 sse41.cpp
28852 [7b4685130793]
28853
28854 * source/common/vec/ipfilter-ssse3.cpp:
28855 ipfilter: remove vector class headers from ipfilter-ssse3.cpp
28856 [29844e1eb697]
28857
288582013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28859
28860 * source/common/vec/ipfilter-ssse3.cpp:
28861 ipfilter-ssse3.cpp: Replace filterConvertPelToShort vector class
28862 function with intrinsic.
28863 [b7b00d3533b1]
28864
28865 * source/common/vec/ipfilter-ssse3.cpp:
28866 ipfilter-ssse3.cpp: Replace filterConvertShortToPel vector class
28867 function with intrinsic.
28868 [fc4bc74c095a]
28869
288702013-10-10 Steve Borho <steve@borho.org>
28871
28872 * source/common/vec/pixel-sse41.cpp, source/common/vec/sse.inc:
28873 sse: move intrinsic functions to pixel-sse41.cpp
28874 [02fd071a875b]
28875
288762013-10-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28877
28878 * source/common/vec/sse.inc:
28879 pixel: replace sse_sp64 vector class with intrinsic
28880 [250b1b037e94]
28881
28882 * source/common/vec/sse.inc:
28883 pixel: replace sse_sp48 vector class with intrinsic
28884 [1d872b8c6480]
28885
28886 * source/common/vec/sse.inc:
28887 pixel: replace sse_sp32 vector class with intrinsic
28888 [92b11584470c]
28889
28890 * source/common/vec/sse.inc:
28891 pixel: replace sse_sp24 vector class with intrinsic
28892 [cae449cb7965]
28893
28894 * source/common/vec/sse.inc:
28895 pixel: replace sse_sp16 vector class with intrinsic
28896 [087267802b1c]
28897
28898 * source/common/vec/sse.inc:
28899 pixel: modified sse_sp8 with a comman macro SSE_SP8x1
28900 [fb043c201cce]
28901
289022013-10-10 Min Chen <chenm003@163.com>
28903
28904 * source/Lib/TLibEncoder/TEncSearch.cpp:
28905 TEncSeach: add alignment to bidir output buffer
28906
28907 fixes crash in x265_pixel_avg_w16_sse2 from aligned writes to the
28908 output buffer
28909 [6a6f72ea32a3]
28910
289112013-10-10 Steve Borho <steve@borho.org>
28912
28913 * source/x265.def, source/x265.h:
28914 api: make notice of how the build number now must be echoed in
28915 x265.def
28916 [8ae52f2b159c]
28917
28918 * source/encoder/encoder.cpp:
28919 encoder: silence idiotic compiler warning from VC10
28920 [4b84c969a079]
28921
289222013-10-09 Steve Borho <steve@borho.org>
28923
28924 * source/x265.h:
28925 api: add API version to x265_encoder_open to prevent dynamic library
28926 link skew
28927
28928 Gratefully borrowed from x264
28929 [52284d8d4dc1]
28930
28931 * source/common/CMakeLists.txt, source/common/vec/vec-primitives.cpp:
28932 cmake: enable clang to compile intrinsic primitives without version
28933 checks
28934 [edcc92f2b2ab]
28935
28936 * source/common/vec/blockcopy-sse3.cpp:
28937 blockcopy: isolate vector class routines together (firing squad)
28938 [82f20a7cb593]
28939
28940 * source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
28941 source/VectorClass/vectori256e.h:
28942 vector: bypass a number of functions we do not use when compiled by
28943 clang
28944
28945 The sooner these classes go away the better
28946 [5cc9abe88e62]
28947
28948 * source/common/vec/pixel-ssse3.cpp:
28949 pixel: remove vector class headers from pixel-ssse3.cpp
28950 [a574f4347855]
28951
28952 * source/common/vec/intra-sse3.cpp:
28953 intra: remove an unreferenced function
28954 [27a3de7a742c]
28955
28956 * source/common/vec/ipfilter-sse41.cpp:
28957 ipfilter: remove two unreferenced functions
28958 [9518070da726]
28959
28960 * source/common/ipfilter.cpp:
28961 ipfilter: remove two unused functions
28962 [6a08d0e9178c]
28963
28964 * source/CMakeLists.txt:
28965 cmake: detect clang compiler anf fix some link issues
28966 [d7922b02ef3c]
28967
28968 * source/CMakeLists.txt:
28969 cmake: bump minimum required version to 2.8.8
28970 [5dceef85c58c]
28971
28972 * source/CMakeLists.txt:
28973 cmake: add -ffast-math to GCC compile flags
28974 [4710e2b5e134]
28975
28976 * source/Lib/TLibCommon/TComSlice.h:
28977 TComSlice: linux build fix, include <cstring> for memcpy
28978 [80af6aaa16e2]
28979
289802013-10-09 Sumalatha Polureddy <Sumalatha Polureddy>
28981
28982 * source/encoder/compress.cpp:
28983 no-rdo(early exit): update the memory with info from m_interCU_NxN
28984
28985 The encoding and prediction details which are updated in the
28986 m_interCU_NxN in NxN calculation are updated in the m_tempCU
28987 [bd3f43f06dd4]
28988
289892013-10-09 Steve Borho <steve@borho.org>
28990
28991 * source/common/vec/dct-ssse3.cpp, source/encoder/bitcost.cpp:
28992 remove more <algorithm> includes
28993 [e4369bb24ad7]
28994
28995 * source/Lib/TLibEncoder/TEncCu.cpp:
28996 TEncCu: replace <algorithm> with X265_MIN, X265_MAX
28997 [50d55737f6b0]
28998
28999 * source/Lib/TLibCommon/ContextModel.cpp:
29000 ContextModel: replace <algorithm> with X265_MIN, X265_MAX
29001 [8cd4c7e800ed]
29002
29003 * source/Lib/TLibEncoder/NALwrite.cpp:
29004 NALwrite: remove "using namespace std"
29005 [05b6f86ebda6]
29006
29007 * source/test/unittest.cpp, source/test/unittest.h:
29008 remove unused unittest class (is not even compiled today)
29009 [882d6a2b329e]
29010
29011 * source/x265.cpp:
29012 cli: remove "using namespace std"
29013 [ddb9d884df8d]
29014
29015 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
29016 source/Lib/TLibCommon/TComBitStream.cpp,
29017 source/Lib/TLibCommon/TComBitStream.h,
29018 source/Lib/TLibCommon/TComDataCU.h,
29019 source/Lib/TLibEncoder/NALwrite.cpp:
29020 remove a pile of unused STL includes, reorder includes for clarity
29021 [7c15a193cef9]
29022
29023 * source/Lib/TLibEncoder/TEncSbac.cpp:
29024 TEncSBac: remove unused #include <map>
29025 [64b58c78dd68]
29026
29027 * source/Lib/TLibCommon/TComSlice.cpp,
29028 source/Lib/TLibCommon/TComSlice.h:
29029 TComSlice: remove unused ParameterSetMap and #include<map>
29030 [5a50663968f5]
29031
290322013-10-09 Gopu Govindaswamy <gopu@multicorewareinc.com>
29033
29034 * source/Lib/TLibCommon/TComList.h, source/Lib/TLibCommon/TComSlice.h,
29035 source/common/CMakeLists.txt, source/encoder/encoder.cpp:
29036 TLibCommon: Removed unused TComList
29037 [fd1d967972d0]
29038
29039 * source/Lib/TLibCommon/TComSlice.cpp,
29040 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
29041 source/encoder/dpb.h, source/encoder/encoder.h:
29042 dpb and TComSlice: replaced TComList with PicList
29043 [85c733f8a057]
29044
290452013-10-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29046
29047 * source/common/reference.cpp, source/common/reference.h,
29048 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
29049 source/encoder/motion.h:
29050 Enabling weight prediction for half and full pel
29051 [b44fccc8e6ea]
29052
290532013-10-09 Steve Borho <steve@borho.org>
29054
29055 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
29056 source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
29057 pixel: fixup GCC builds, remove pixel8.inc and pixel.inc
29058 [271b02645979]
29059
290602013-10-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29061
29062 * source/common/vec/pixel8.inc:
29063 pixel: Replace weightUnidir vector class function with intrinsic.
29064 [408ca7050bc7]
29065
29066 * source/common/vec/sse.inc:
29067 pixel: replace sse_sp12 vector class with intrinsic
29068 [e828f98d388a]
29069
29070 * source/common/vec/sse.inc:
29071 pixel: replace sse_sp8 vector class with intrinsic
29072 [d9665d0ad277]
29073
29074 * source/common/vec/sse.inc:
29075 pixel: replace sse_sp4 vector class with intrinsic
29076 [dc0bd9d959db]
29077
290782013-10-09 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29079
29080 * source/common/vec/sse.inc:
29081 sse.inc: Modified sse_ss64 intrinsic function. Removed redundancy
29082 using comman macro PROCESS_SSE_SS4x1.
29083 [756de900bae5]
29084
29085 * source/common/vec/sse.inc:
29086 sse.inc: Modified sse_ss48 intrinsic function. Removed redundancy
29087 using comman macro PROCESS_SSE_SS4x1.
29088 [50a2725a989d]
29089
29090 * source/common/vec/sse.inc:
29091 sse.inc: Modified sse_ss32 intrinsic function. Removed redundancy
29092 using comman macro PROCESS_SSE_SS4x1.
29093 [363ff9b66afa]
29094
29095 * source/common/vec/sse.inc:
29096 sse.inc: Modified sse_ss24 intrinsic function. Removed redundancy
29097 using comman macro PROCESS_SSE_SS4x1.
29098 [9f1ec1c9cdb6]
29099
29100 * source/common/vec/sse.inc:
29101 sse.inc: Modified sse_ss16 intrinsic function. Removed redundancy
29102 using comman macro PROCESS_SSE_SS4x1.
29103 [aca490fa02d7]
29104
29105 * source/common/vec/sse.inc:
29106 sse.inc: Modified sse_ss12 intrinsic function. Removed redundancy
29107 using comman macro PROCESS_SSE_SS4x1.
29108 [3f5fe6d9a81d]
29109
29110 * source/common/vec/sse.inc:
29111 sse.inc: Modified sse_ss8 intrinsic function. Removed redundancy
29112 using comman macro PROCESS_SSE_SS4x1.
29113 [1428dcddfa4d]
29114
29115 * source/common/vec/sse.inc:
29116 pixel.inc: Modified sse_ss4 intrinsic function. Removed redundancy
29117 using comman macro PROCESS_SSE_SS4x1.
29118 [d1ca36034d9f]
29119
29120 * source/common/vec/sse.inc:
29121 sse.inc: Created comman macro PROCESS_SSE_SS4x1 for functions
29122 sse_ss4, sse_ss8, sse_ss16, sse_ss24, sse_ss32, sse_ss48, sse_ss64.
29123 [95da8fa18a2e]
29124
29125 * source/common/vec/pixel8.inc:
29126 pixel8.inc: Replace weightUnidirPixel vector class function with
29127 intrinsic.
29128 [9a20693c6ff2]
29129
29130 * source/common/vec/pixel-sse3.cpp:
29131 pixel-sse3.cpp: Modified calcRecons function argument names. Removed
29132 hungarian prefixes.
29133 [9d534f295529]
29134
29135 * source/common/vec/pixel-sse3.cpp:
29136 pixel-sse3.cpp: Modified calcRecons8 function argument names.
29137 Removed hungarian prefixes.
29138 [a1a2233536d5]
29139
29140 * source/common/vec/pixel-sse3.cpp:
29141 pixel-sse3.cpp: Modified calcRecons4 function argument names.
29142 Removed hungarian prefixes.
29143 [87084e0f93f4]
29144
291452013-10-09 Steve Borho <steve@borho.org>
29146
29147 * source/Lib/TLibEncoder/TEncCavlc.h,
29148 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
29149 source/Lib/TLibEncoder/TEncSbac.cpp,
29150 source/Lib/TLibEncoder/TEncSbac.h,
29151 source/Lib/TLibEncoder/TEncTop.cpp,
29152 source/Lib/TLibEncoder/TEncTop.h, source/encoder/CMakeLists.txt,
29153 source/encoder/cturow.cpp, source/encoder/cturow.h,
29154 source/encoder/encoder.cpp, source/encoder/encoder.h,
29155 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
29156 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
29157 pull TEncTop code into Encoder class in encoder.cpp, encoder.h
29158
29159 The TEncTop in our repo bears little resemblance to the original HM
29160 class, so I think it is applicable to move this code into one of our
29161 files where it makes the most sense. Some methods were renamed to
29162 our naming style in the process.
29163 [47d92e8a8a41]
29164
291652013-10-09 Gopu Govindaswamy <gopu@multicorewareinc.com>
29166
29167 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
29168 slicetype: removed TComList(std::list) and used PicList to store the
29169 TComPics
29170 [497ef3556b12]
29171
291722013-10-09 Steve Borho <steve@borho.org>
29173
29174 * source/CMakeLists.txt:
29175 cmake: this time for reals
29176 [fc7fbdd18bc0]
29177
291782013-10-08 Steve Borho <steve@borho.org>
29179
29180 * source/CMakeLists.txt:
29181 cmake: fixes for non-assembly builds and windows builds
29182 [4737b5423ea4]
29183
29184 * source/CMakeLists.txt:
29185 cmake: tweak static library names to avoid conflict
29186
29187 MSVC was trying to write both the static library and the DLL shim
29188 loader to x265.lib. After this change, the static library is now
29189 x265-static.lib and the shim loader is x265.lib (corresponding with
29190 x265.dll)
29191 [4b354b902b50]
29192
291932013-10-07 Steve Borho <steve@borho.org>
29194
29195 * source/CMakeLists.txt, source/cmake/mergestaticlibs.cmake,
29196 source/common/CMakeLists.txt, source/common/common.cpp,
29197 source/common/common.h, source/common/primitives.cpp,
29198 source/common/vec/CMakeLists.txt, source/common/x86/CMakeLists.txt,
29199 source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
29200 source/test/CMakeLists.txt, source/x265.cpp, source/x265.def,
29201 source/x265.h:
29202 cmake: use cmake 2.8 OBJECT target type to manage static and share
29203 libs
29204
29205 With the OBJECT target type, the common and encoder folders are
29206 compiled to object files but not linked until main static or shared
29207 library is built. This removes the need for mergestatic.cmake and
29208 cleans up a lot of messy problems - at the cost of requiring a
29209 somewhat recent cmake.
29210
29211 For MSVC (and presumably Xcode) we must keep the assembly as a
29212 static lib since it uses custom build commands which do not work
29213 with OBJECT target types. This static lib is then linked with the
29214 main x265.lib or x265.dll
29215
29216 The X265_EXPORT macro is no longer necessary since we are generating
29217 both the static library and shared library from one compile we are
29218 forced to use an x265.def file to define DLL exports. x265.exe must
29219 link with the static library because on Windows the static lib will
29220 be empty if no EXE links with it.
29221
29222 x265_mdate() was moved into the CLI x265.cpp so the CLI could link
29223 with the shared library if necessary (x265_mdate is not exported)
29224 [713c2133c77c]
29225
292262013-10-08 Steve Borho <steve@borho.org>
29227
29228 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
29229 source/common/vec/pixel8.inc:
29230 pixel: move intrinsic residual and recon functions to pixel-sse3.cpp
29231 [3202ca7a44bb]
29232
292332013-10-08 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29234
29235 * source/common/reference.cpp:
29236 Check against numRows in applyweight
29237
29238 applyWeight() processes rows a 'refLag' number of rows in advance as
29239 compared to the current iteration in compressCTURows()
29240 [7831bda44186]
29241
29242 * source/common/reference.cpp:
29243 Fix for possible memory access violation in applyWeight()
29244 [85cc6aaac7ec]
29245
29246 * source/Lib/TLibCommon/TComPrediction.cpp:
29247 Use unweighted pixels before interpolation for Luma in Motion
29248 Compensation
29249 [65f56d5e2ee7]
29250
292512013-10-08 Steve Borho <steve@borho.org>
29252
29253 * source/common/piclist.cpp, source/common/piclist.h:
29254 piclist: pass non-optional pictures by reference to avoid NULL
29255 checks
29256 [71afca6c173b]
29257
292582013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
29259
29260 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
29261 source/common/CMakeLists.txt, source/common/piclist.cpp,
29262 source/common/piclist.h:
29263 piclist: add class PicList for picture list manipulations
29264
29265 Created new file piclist.cpp and piclist.h for linked list
29266 manipulation, there will be no intermediate storage in piclist,
29267 PicList just links TComPic objects together.
29268
29269 PicList will be used to replace TComList<TComPic> and this will
29270 remove std::list dependency in x265
29271 [df812d396499]
29272
292732013-10-08 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29274
29275 * source/common/vec/pixel8.inc:
29276 pixel: replace getResidual64 from vector class to intrinsic
29277 [bb27ac985cb9]
29278
29279 * source/common/vec/pixel8.inc:
29280 pixel: replace getResidual32 from vector class to intrinsic
29281 [1e53142731ab]
29282
29283 * source/common/vec/pixel8.inc:
29284 pixel: replace getResidual16 from vector class to intrinsic
29285 [c27e9b8951d0]
29286
292872013-10-08 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29288
29289 * source/common/vec/pixel8.inc:
29290 pixel8.inc: replace calcRecons vector class function with intrinsic.
29291 [add71d9845a7]
29292
29293 * source/common/vec/pixel8.inc:
29294 pixel8.inc: replace calcRecons8 vector class function with
29295 intrinsic.
29296 [1d2e192467a8]
29297
29298 * source/common/vec/pixel8.inc:
29299 pixel8.inc: replace calcRecons4 vector class function with
29300 intrinsic.
29301 [d2c8e7248f4a]
29302
293032013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
29304
29305 * source/Lib/TLibCommon/TComSlice.cpp,
29306 source/Lib/TLibCommon/TComSlice.h:
29307 tcomslice: removed un-used sortPicList() function
29308 [91aea72a1de9]
29309
29310 * source/Lib/TLibCommon/TComSlice.cpp,
29311 source/Lib/TLibCommon/TComSlice.h:
29312 tcomslice: removed un-used checkThatAllRefPicsAreAvailable()
29313 function
29314 [ed0d3fd544e6]
29315
29316 * source/Lib/TLibCommon/TComSlice.cpp,
29317 source/Lib/TLibCommon/TComSlice.h:
29318 TComSlice: Removed un-used
29319 createExplicitReferencePictureSetFromReference() Method
29320 [268a34d4389f]
29321
293222013-10-08 Min Chen <chenm003@163.com>
29323
29324 * source/test/testpool.cpp:
29325 Update testbench for threadpool
29326 [57c15726158a]
29327
293282013-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
29329
29330 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
29331 source/encoder/frameencoder.h:
29332 calculate SSIM for each Row after deblock, sao
29333 [349206daad1d]
29334
29335 * source/common/pixel.cpp, source/common/primitives.h:
29336 primitives: added C primitives to compute SSIM
29337 [279e050947cf]
29338
293392013-10-08 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29340
29341 * source/encoder/slicetype.cpp:
29342 slicetype: Bidir cost estimation added to lookahead
29343 [0204da76bdb6]
29344
293452013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
29346
29347 * source/Lib/TLibCommon/TComBitStream.cpp:
29348 tcombitstream: bug fix for count StartCodeEmulations to calculate
29349 the substream size
29350 [9b3a427a1009]
29351
293522013-10-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
29353
29354 * source/Lib/TLibCommon/TComDataCU.cpp,
29355 source/Lib/TLibCommon/TComDataCU.h,
29356 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
29357 source/encoder/frameencoder.cpp:
29358 tcomdatacu: Removed Un-used NDBFBlockInfo - Non-deblocking filter
29359 processing block information
29360
29361 1.setNDBFilterBlockBorderAvailability() 2.createNonDBFilterInfo()
29362 3.createNonDBFilterInfoLCU() 4.destroyNonDBFilterInfo()
29363
29364 All the above methods are used to set and destroy the
29365 NDBFBlockInformation, but NDBFBlockInfo m_vNDFBlock is not getting
29366 used encoding process
29367 [d71078917df0]
29368
293692013-10-07 Steve Borho <steve@borho.org>
29370
29371 * source/common/common.cpp:
29372 common: rename AILIGNBYTES to avoid conflict with apple i386/param.h
29373 [41e5e72e2a46]
29374
29375 * source/CMakeLists.txt:
29376 cmake: white-space nit
29377 [5ff1a56ba33b]
29378
29379 * source/CMakeLists.txt, source/test/CMakeLists.txt:
29380 cmake: simplify test build structure
29381 [d79cbcdcb538]
29382
29383 * source/common/vec/pixel-sse3.cpp:
29384 pixel: wrap primitives in anononymous namespace (file static)
29385 [e1be6debf9a7]
29386
29387 * source/common/vec/pixel-sse3.cpp:
29388 pixel: fix spelling of blockfill functions, add calcresidual
29389 functions
29390 [c8b2682f8ee3]
29391
29392 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
29393 source/common/vec/pixel8.inc:
29394 pixel: move intrinsic getResidual4 and getResidual8 to pixel-
29395 sse3.cpp
29396 [baf9d1d30a9c]
29397
293982013-10-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29399
29400 * source/common/vec/pixel8.inc:
29401 pixel: replace getResidual8 vector class with intrinsic
29402 [5be3fea0721a]
29403
29404 * source/common/vec/pixel8.inc:
29405 pixel: replace Residual4 vector class with intrinsic
29406 [5a0c772fd165]
29407
294082013-10-07 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29409
29410 * source/common/vec/pixel-sse41.cpp:
29411 pixel: simplify sad_x4_32 to make it easier to maintain
29412 [b6f29369879c]
29413
29414 * source/common/vec/pixel-sse41.cpp:
29415 pixel: simplify sad_x4_24 to make it easier to maintain
29416 [9facd6b0a9f8]
29417
29418 * source/common/vec/pixel-sse41.cpp:
29419 pixel: simplify sad_x4_12 to make it easier to maintain
29420 [d6dc18f9cead]
29421
29422 * source/common/vec/pixel-sse41.cpp:
29423 pixel: simplify sad_x3_32 to make it easier to maintain
29424 [91df941f46bc]
29425
29426 * source/common/vec/pixel-sse41.cpp:
29427 pixel: simplify sad_x3_24 to make it easier to maintain
29428 [908f617c8847]
29429
29430 * source/common/vec/pixel-sse41.cpp:
29431 pixel: simplify sad_12 to make easier to maintain
29432 [b8756aa16d1a]
29433
29434 * source/common/vec/pixel-sse41.cpp:
29435 pixel: simplify sad_x3_12 to make it easier to maintain
29436 [afcfd17e395f]
29437
29438 * source/common/vec/pixel-sse41.cpp:
29439 pixel: simplify sad_32 to make it easier to maintain
29440 [b52b52cd0f77]
29441
29442 * source/common/vec/pixel-sse41.cpp:
29443 pixel: simplify sad_24 to make easier to maintain
29444 [2556af7a5c0d]
29445
294462013-10-06 Steve Borho <steve@borho.org>
29447
29448 * source/Lib/TLibCommon/TComTrQuant.cpp,
29449 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
29450 source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
29451 primitives: rename blockfil_s to blockfill_s_c
29452 [bed5c2765dc8]
29453
29454 * source/common/primitives.h:
29455 primitives: remove unused function decl
29456 [c433691041a2]
29457
29458 * source/common/primitives.h:
29459 primitives: remove obsolete FilterConf enum
29460 [69d2774132c4]
29461
29462 * source/common/ipfilter.cpp, source/common/primitives.h:
29463 ipfilter: remove unused filterRow primitives
29464 [808210e75c21]
29465
294662013-10-07 Steve Borho <steve@borho.org>
29467
29468 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
29469 ipfilterharness: remove test harnesses for removed primitives
29470 [6fdea23da2b9]
29471
294722013-10-06 Steve Borho <steve@borho.org>
29473
29474 * source/common/ipfilter.cpp, source/common/primitives.h,
29475 source/common/vec/ipfilter-sse41.cpp:
29476 ipfilter: remove unused weighted interpolation primitives
29477 [15c6e2451b34]
29478
29479 * source/CMakeLists.txt:
29480 cmake: use add_definitions() instead of modifying CMAKE_CXX_FLAGS
29481 manually
29482 [c010342f7605]
29483
294842013-10-02 Steve Borho <steve@borho.org>
29485
29486 * source/CMakeLists.txt, source/common/common.cpp,
29487 source/common/primitives.cpp, source/dllmain.cpp,
29488 source/encoder/encoder.cpp, source/x265.h:
29489 cmake: add ENABLE_SHARED build option for creating a shared library
29490 (dll/so)
29491 [33ea0f317564]
29492
294932013-10-06 Steve Borho <steve@borho.org>
29494
29495 * source/common/vec/pixel-avx2.cpp:
29496 pixel: fix eoln damage to pixel-avx2.cpp
29497 [2190f2f036a1]
29498
29499 * source/common/x86/asm-primitives.cpp:
29500 asm: simplify setup of HEVC partitions for SATD primitives
29501 [484d1d98710b]
29502
29503 * source/common/vec/pixel-sse41.cpp:
29504 pixel: simplify sad_x3_16 and sad_x4_16 to make them easier to
29505 maintain
29506 [d27d01ffa4f0]
29507
295082013-10-05 Steve Borho <steve@borho.org>
29509
29510 * source/common/vec/pixel-sse41.cpp:
29511 pixel: simplify sad_16 to make it easier to maintain
29512 [bf5852bbf75f]
29513
29514 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
29515 primitives.cpp:
29516 pixel: fix HIGH_BIT_DEPTH builds
29517 [bc3d1a8ebc89]
29518
29519 * source/common/vec/pixel-sse41.cpp:
29520 pixel: add missing sse_pp_12x16, untemplatize others
29521 [017aab1983dd]
29522
29523 * source/common/x86/asm-primitives.cpp:
29524 asm: don't build wrappers for functions with intrinsic
29525 implementations
29526 [da37cd44a77c]
29527
29528 * source/common/vec/pixel-sse41.cpp:
29529 pixel: drop SSE primitives that have assembly
29530 [08b4bb1e5dbe]
29531
29532 * source/common/x86/asm-primitives.cpp:
29533 asm: cleanup the assignment of SSD primitives
29534 [dc74d9932a3f]
29535
29536 * source/common/x86/asm-primitives.cpp:
29537 asm: simplify generation of sa8d_inter functions from 8x8 and 16x16
29538 blocks
29539 [276f98fe1c59]
29540
29541 * source/test/testbench.cpp:
29542 testbench: fix off-by one initialization of primitives
29543 [e352d1f1a7c6]
29544
29545 * source/common/vec/pixel-sse41.cpp:
29546 pixel: add back intrinsics for sad_x3_4x16 and sad_x4_4x16
29547
29548 These routines do not yet have assembly code
29549 [2e8d7b261880]
29550
29551 * source/common/primitives.cpp:
29552 primitives: fix off-by one initialization of primitives
29553 [6e46fabdef40]
29554
29555 * source/common/primitives.cpp:
29556 primitives: fixup 12x16 and 16x2 sa8d_inter pointers
29557
29558 32x12 isn't used but 12x16 and 16x12 are (for AMP)
29559 [884016c98502]
29560
29561 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
29562 primitives: setup square sa8d_inter function pointers from sa8d
29563 block pointers
29564 [58bacc9ae3d1]
29565
29566 * source/common/x86/asm-primitives.cpp:
29567 asm: use x265_pixel_satd_8x4_xop for p.satd[PARTITION_16x4] for 32
29568 bit builds
29569
29570 On 64bit builds, we have native sse2 functions
29571 [4f837e3ebd26]
29572
29573 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
29574 primitives: move small block sa8d_inter setup to primitives.cpp
29575
29576 This hack didn't belong in the assembly setup function
29577 [83ae910874e3]
29578
29579 * source/test/pixelharness.cpp:
29580 pixelharness: report sad, sad_x3, and sad_x4 scores together
29581 [4089b17f33ed]
29582
29583 * source/common/x86/asm-primitives.cpp:
29584 asm: quit instantiating functions which are not necessary
29585
29586 Re-order functions for more clarity
29587 [5c27d330da43]
29588
29589 * source/common/vec/pixel-sse41.cpp:
29590 pixel: stop building 16x16, 16x8, and 8x16 intrinsic primitives
29591 [73f14d5ca8a9]
29592
29593 * source/common/vec/pixel-sse41.cpp:
29594 pixel: limit sad_8 routines to just height 32
29595
29596 8x4, 8x8, and 8x16 are handled by x264 assembly, only 8x32 remains
29597 for the intrinsic function to cover
29598 [19b319c9a6aa]
29599
29600 * source/common/vec/pixel-sse41.cpp:
29601 pixel: eliminate width 48 SAD code for height != 64
29602 [8f7091d09c11]
29603
29604 * source/common/vec/pixel-sse41.cpp:
29605 pixel: simplify sad_32 primitives to a single loop
29606
29607 32 width blocks will only be height 8, 16, 24, or 32. Having an
29608 8-row loop is just fine
29609 [affee51d4f86]
29610
29611 * source/common/vec/pixel-sse41.cpp:
29612 pixel: simplify sad_64 primitives to a single loop
29613
29614 64 width blocks will only be height 16, 32, 48, or 64. Having an
29615 8-row loop is just fine
29616 [87b5a379a1d8]
29617
29618 * source/common/vec/pixel-sse41.cpp:
29619 pixel: remove sad_*_4<> intrinsic functions, they are covered by
29620 assembly
29621
29622 x264 assembly code covers 4x4, 4x8, and 4x16 and those are the only
29623 4-width partitions used by x265.
29624 [1ae7953bceb4]
29625
29626 * source/common/vec/pixel-sse41.cpp:
29627 pixel: eliminate width 24 SAD code for height != 32
29628 [fb475b36852c]
29629
29630 * source/common/vec/pixel-sse41.cpp:
29631 pixel: eliminate width 12 SAD code for height != 16
29632 [bbc040a8109c]
29633
29634 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
29635 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel.inc:
29636 pixel: only compile partition sizes that are used by the encoder
29637 [e5369adbccba]
29638
29639 * source/test/pixelharness.cpp, source/test/pixelharness.h:
29640 pixelharness: only test partition sizes plausibly used by the
29641 encoder
29642 [699b843073de]
29643
29644 * source/common/vec/pixel-sse41.cpp:
29645 pixel: use unaligned loads for reference pixels in sad_12
29646 [49231db18e60]
29647
29648 * source/common/vec/pixel-sse41.cpp:
29649 pixel: fix typo which was copied and pasted 36 times
29650 [fbfa3a5c5ae8]
29651
29652 * source/common/vec/pixel-sse41.cpp:
29653 pixel: use unaligned loads for reference pixels in sad_24
29654 [bee7275174f1]
29655
296562013-10-05 Min Chen <chenm003@163.com>
29657
29658 * source/encoder/framefilter.cpp:
29659 fix bug on SAO initialize
29660 [46a901ac1aff]
29661
296622013-10-04 Steve Borho <steve@borho.org>
29663
29664 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
29665 source/common/primitives.h, source/common/x86/CMakeLists.txt,
29666 source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
29667 source/encoder/motion.cpp:
29668 use x264 pixel average assembly routines for bidir and lowres QPEL
29669
29670 This required adding a weight parameter and re-ordering arguments.
29671 Bidir might eventually use the weighting feature so this didn't seem
29672 like a bad trade-off.
29673
29674 This commit naively pulls in all of mc-a.asm from x264 for just this
29675 one set of assembly functions.
29676 [84d0f4f907f7]
29677
29678 * source/encoder/motion.cpp:
29679 motion: use new pixelavg_pp primitive for lowres QPEL pixel
29680 generation
29681 [7976c35f5b76]
29682
29683 * source/encoder/motion.cpp:
29684 motion: remove NULL checks prior to X265_FREE calls
29685 [cb6b3038a1e6]
29686
29687 * source/common/x86/CMakeLists.txt:
29688 cmake: add ASM files to MSVC solution so they are easily edited
29689
29690 this has no effect on the build
29691 [4ee217cd64cc]
29692
296932013-10-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29694
29695 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
29696 source/test/pixelharness.cpp:
29697 Fix for Testbench fail in weightpUni for Pixel input
29698 [e1404a7a05b0]
29699
29700 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
29701 source/common/pixel.cpp, source/common/primitives.h,
29702 source/common/vec/pixel.inc, source/test/pixelharness.cpp:
29703 Using int16_t rather than uint16_t in weightpUni primitive; inputs
29704 can be signed
29705 [491996e415b0]
29706
297072013-10-04 Aarthi Thirumalai <Aarthi Thirumalai>
29708
29709 * source/encoder/ratecontrol.cpp:
29710 rc : bug fix for quality drop with larger number of frame threads.
29711 [b960d808d0be]
29712
297132013-10-04 Dnyaneshwar <Dnyaneshwar>
29714
29715 * source/common/vec/blockcopy-sse3.cpp:
29716 Replace "pixeladd_ss" vector class function with intrinsic.
29717 Performance measured is same as that of vector function.
29718 [cfc69c57d335]
29719
29720 * source/common/vec/blockcopy-sse3.cpp:
29721 replace "pixelsub_sp" vector class function with intrinsic.
29722 Performance is same as that of vector function.
29723 [1a884afb63bb]
29724
29725 * source/common/vec/blockcopy-sse3.cpp:
29726 replace blockcopy_s_p (pixel to short) vector class function with
29727 intrinsic. Performance is same as that of vector class function.
29728 [5b7226f332be]
29729
29730 * source/common/vec/blockcopy-sse3.cpp:
29731 replace block_copy_p_s (short to pixel) vector class function with
29732 intrinsic. Performance measured is same as that of vector function.
29733 [64325084bd3b]
29734
29735 * source/common/vec/blockcopy-sse3.cpp:
29736 replace block_copy_p_p vector class function with intrinsic code.
29737 Performance is almost same as that of vector function.
29738 [7b93c1cae0c4]
29739
297402013-10-04 Steve Borho <steve@borho.org>
29741
29742 * source/common/vec/pixel-sse41.cpp, source/common/vec/pixel8.inc:
29743 pixel: move SSE4.1 functions from pixel8.inc to pixel-sse41.cpp
29744 [8829b508822b]
29745
297462013-10-04 yuvaraj <yuvaraj>
29747
29748 * source/common/vec/pixel8.inc:
29749 Replace sad_x4_64 vector class function with intrinsic.
29750 [d59dcf48b9de]
29751
29752 * source/common/vec/pixel8.inc:
29753 Replace sad_x4_48 vector class function with intrinsic.
29754 [d370697071ed]
29755
29756 * source/common/vec/pixel8.inc:
29757 Replace sad_x3_64 vector class function with intrinsic.
29758 [6dcae4946fe3]
29759
29760 * source/common/vec/pixel8.inc:
29761 Replace sad_x3_48 vector class function with intrinsic.
29762 [c29821f80cd3]
29763
29764 * source/common/vec/pixel8.inc:
29765 Replace sad_64 vector class function with intrinsic.
29766 [4f990ec05dc5]
29767
29768 * source/common/vec/pixel8.inc:
29769 Replace sad_48 vector class function with intrinsic.
29770 [88378feb4794]
29771
297722013-10-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29773
29774 * source/Lib/TLibEncoder/TEncSearch.cpp:
29775 TEncSearch: remove unused code
29776 [a201bc951e10]
29777
29778 * source/Lib/TLibEncoder/TEncSearch.cpp:
29779 Bidir ME: store bits required for bidir which will be used for merge
29780 estimation
29781 [5b987ed0a557]
29782
29783 * source/Lib/TLibEncoder/TEncSearch.cpp:
29784 TEncSearch: fix for gcc warning
29785 [ae9c68edd6b2]
29786
297872013-10-04 Steve Borho <steve@borho.org>
29788
29789 * source/common/vec/pixel.inc, source/common/vec/pixel16.inc:
29790 pixel: remove 16bpp vector class satd functions
29791
29792 They were not competitive with assembly and were unlikely to be
29793 competitive as intrinsics
29794 [bf14f75b8cf9]
29795
29796 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
29797 source/common/vec/pixel-sse41.cpp:
29798 pixel: comment nits
29799 [1dd953bba5ed]
29800
29801 * source/common/vec/pixel-sse3.cpp:
29802 pixel: move vector class include to bottom of the file
29803
29804 the clearly segregates vector class primitives from intrinsic
29805 primitives
29806 [cfe01e12b04f]
29807
29808 * source/common/vec/pixel-sse41.cpp, source/common/vec/pixel8.inc,
29809 source/common/vec/sse.inc:
29810 pixel: move SSE4.1 intrinsic primitives into pixel-sse41.cpp
29811 [9794528eef7b]
29812
29813 * source/common/vec/pixel-sse3.cpp, source/common/vec/pixel.inc,
29814 source/common/vec/pixel8.inc:
29815 pixel: move SSE3 intrinsic primitives into pixel-sse3.cpp
29816
29817 This improves compile time slightly
29818 [4d00380f0da0]
29819
29820 * source/common/vec/CMakeLists.txt, source/common/vec/pixel-ssse3.cpp,
29821 source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
29822 source/common/vec/vec-primitives.cpp:
29823 cmake: move SSSE3 routines into pixel-ssse3.cpp
29824 [4018a2281c9c]
29825
298262013-10-03 Steve Borho <steve@borho.org>
29827
29828 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
29829 pixel: cleanup pixel.inc
29830
29831 Remove copy of C primitive transpose Move 8bpp-only functions to
29832 pixel8.inc cleanup setup function
29833 [64886382abe2]
29834
29835 * source/common/vec/CMakeLists.txt, source/common/vec/pixel-xop.cpp,
29836 source/common/vec/vec-primitives.cpp:
29837 cmake: drop pixel-xop.cpp
29838
29839 Now that there are very few vector class intrinsics left, there is
29840 almost no point to compiling pixel.inc with the XOP flag enabled.
29841 This saves compile time. It's setup function wasn't even being
29842 called.
29843 [9091bdd024b1]
29844
29845 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel8.inc:
29846 pixel: move avx2 functions into pixel-avx2.cpp
29847 [b08fb0b5de8a]
29848
298492013-10-03 Dnyaneshwar <Dnyaneshwar>
29850
29851 * source/common/vec/pixel8.inc:
29852 replace sad_x4_32 vector class function with intrinsic.
29853 [93c4e5d784d7]
29854
29855 * source/common/vec/pixel8.inc:
29856 replace sad_x4_24 vector class function with intrinsic.
29857 [d92ccc92698e]
29858
29859 * source/common/vec/pixel8.inc:
29860 replace sad_x4_12 vector class function with intrinsic.
29861 [86e702079865]
29862
29863 * source/common/vec/pixel8.inc:
29864 replace sad_x3_32 vector class function with intrinsic.
29865 [489fac4bebfe]
29866
29867 * source/common/vec/pixel8.inc:
29868 replace sad_x3_24 vector class function with intrinsic.
29869 [ea4f5cb0799f]
29870
29871 * source/common/vec/pixel8.inc:
29872 replace sad_x3_12 vector class function with intrinsic.
29873 [7b8c822b884e]
29874
29875 * source/common/vec/pixel8.inc:
29876 replace sad_32 vector class function with intrinsic.
29877 [fbc82a9e97e7]
29878
29879 * source/common/vec/pixel8.inc:
29880 replace sad_24 vector class function with intrinsic.
29881 [0b19614fe2bf]
29882
29883 * source/common/vec/pixel8.inc:
29884 replace sad_12 vector class function with intrinsic.
29885 [c96520dc9795]
29886
298872013-10-03 Steve Borho <steve@borho.org>
29888
29889 * source/Lib/TLibEncoder/TEncSearch.cpp,
29890 source/Lib/TLibEncoder/TEncSearch.h:
29891 TEncSearch: remove methods unreachable after bidir replacement
29892 [86469b2bc1bd]
29893
29894 * source/Lib/TLibEncoder/TEncSearch.cpp,
29895 source/Lib/TLibEncoder/TEncSearch.h, source/common/common.cpp,
29896 source/x265.h, source/x265opts.h:
29897 api: remove dead bipredSearchRange parameter and CLI option
29898 [97444bf3e5bd]
29899
299002013-10-03 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29901
29902 * source/Lib/TLibEncoder/TEncSearch.cpp:
29903 Bidir ME: add (0,0) candidate
29904 [99812ad37453]
29905
29906 * source/Lib/TLibEncoder/TEncCu.cpp,
29907 source/Lib/TLibEncoder/TEncSearch.cpp,
29908 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
29909 Bidir ME: new logic adapted from x264
29910
29911 L0 and L1 MVs from unidir ME used for bidir MV. bidir cost is
29912 calculated from the average of references.
29913 [a6a0e6e90536]
29914
29915 * source/common/pixel.cpp, source/common/primitives.h:
29916 primitives: add pixelavg primitive
29917 [3a2297992a24]
29918
299192013-10-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
29920
29921 * source/Lib/TLibCommon/TComBitStream.cpp,
29922 source/Lib/TLibCommon/TComBitStream.h,
29923 source/Lib/TLibEncoder/NALwrite.cpp, source/common/common.h:
29924 Tcombitstream: Encoded Bit stream storage (fifo) moved from
29925 std::vector to Non STL Class
29926
29927 1.Removed std::vector Class from Tcombitstream 2.Removed
29928 std::search_n algorithm from Tcombitstream 3.Implemented fifo using
29929 Pointers to an array - Encoded Bit stream storage
29930 [2d04a0bb09c3]
29931
299322013-10-03 Sumalatha Polureddy <Sumalatha Polureddy>
29933
29934 * source/encoder/compress.cpp:
29935 no rdo: Turn OFF the early exit code
29936
29937 Turning off the early exit code since it increases the bitrate by 2%
29938 This will be enabled when the hash mismatch issue is solved for the
29939 reuse of NxN calculataion in early exit code
29940 [3e24e1081c16]
29941
299422013-10-01 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29943
29944 * source/common/reference.cpp, source/common/reference.h:
29945 reference: add applyWeight method to MotionReference
29946
29947 to generate weighted full pel pixels for one or more CTU rows
29948 [4f68ed1126b6]
29949
299502013-10-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29951
29952 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
29953 source/common/pixel.cpp, source/common/primitives.h,
29954 source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
29955 source/test/pixelharness.cpp, source/test/pixelharness.h:
29956 primitives: weightUnidir primitive to support pixel or uint16 inputs
29957 [2c73823af522]
29958
299592013-10-01 Steve Borho <steve@borho.org>
29960
29961 * source/common/primitives.cpp:
29962 primitives: shorten log message to prevent 80char terminal wrap
29963 [0be80d41c551]
29964
29965 * source/common/common.cpp:
29966 common: tighten up tool descriptions; save horizontal space
29967 [41aa8e024102]
29968
299692013-10-01 Aarthi Thirumalai <Aarthi Thirumalai>
29970
29971 * source/Lib/TLibEncoder/TEncTop.cpp,
29972 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
29973 source/x265.cpp, source/x265.h:
29974 api: added x265_stats_t structure and x265_encoder_stats() function
29975 [c5dc3e37d767]
29976
29977 * source/Lib/TLibCommon/TComSlice.cpp,
29978 source/Lib/TLibCommon/TComSlice.h,
29979 source/Lib/TLibEncoder/TEncTop.cpp,
29980 source/Lib/TLibEncoder/TEncTop.h:
29981 added states for storing ssim values per frame and globally at
29982 encoder level
29983 [572ddbf8428e]
29984
299852013-10-01 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29986
29987 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp,
29988 source/common/reference.h:
29989 Adding few checks and an init() function in MotionRefrence class
29990
29991 to properly signal malloc failure for 'fpelPlane'; handling to be
29992 added later
29993 [b1900856741c]
29994
29995 * source/x265opts.h:
29996 Enable cli parameters for unidirectional weighted prediction
29997
29998 As part of re-enabling unidirectional weighted prediction after
29999 introduction of frame parallelism
30000 [c94c053eda36]
30001
300022013-09-30 Min Chen <chenm003@163.com>
30003
30004 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/cturow.h,
30005 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
30006 get deterministic output when frame threading is enabled (for all
30007 -Fn, n > 1)
30008
30009 Output mistake reasons:
30010
30011 1. CABAC Table Initialize The HM have decide best table for CABAC,
30012 but in frame parallelism, we can't get this information before
30013 thread start, we have to disable it now. Side effect: maybe lost
30014 some compress performance
30015
30016 2. SAO Global Disable The HM decide SAO global disable flag depend
30017 previous same type of slice. but here, we can get right statistics
30018 informat before start, so we have to disable it. Side effect: more
30019 computer cost since we always try SAO on every LCU
30020
30021 3. CABAC status m_frac not reset. This HM bug still alive, we found
30022 more here.
30023 [af559fe3e565]
30024
300252013-09-30 Steve Borho <steve@borho.org>
30026
30027 * source/test/pixelharness.cpp:
30028 pixelharness: always use STRIDE for source buffers
30029
30030 Because they are allocated based on that dimension and the max
30031 iterations
30032 [a03659cfa957]
30033
30034 * source/common/vec/blockcopy-sse3.cpp:
30035 blockcopy: fix missing stride checks
30036 [25f8402ad767]
30037
30038 * source/common/x86/asm-primitives.cpp:
30039 asm: use named defines rather than hard-coded values
30040 [1206434af474]
30041
300422013-09-27 Steve Borho <steve@borho.org>
30043
30044 * source/common/x86/ipfilter8.asm:
30045 ipfilter: remove needless width==0 check
30046 [3dae8ff2902a]
30047
300482013-09-27 praveen Tiwari <praveen Tiwari>
30049
30050 * source/common/x86/CMakeLists.txt, source/common/x86/asm-
30051 primitives.cpp, source/common/x86/ipfilter8.asm:
30052 asm code for ipfilterH_pp, 4 tap filter
30053 [d65224005524]
30054
300552013-09-28 Aarthi Thirumalai <Aarthi Thirumalai>
30056
30057 * source/common/common.cpp, source/x265.h, source/x265opts.h:
30058 cli: add options for toggling PSNR and SSIM metrics (currently
30059 inactive)
30060
30061 By default (for now) PSNR is turned on, SSIM is off.
30062 [21307df78bdb]
30063
300642013-09-28 Steve Borho <steve@borho.org>
30065
30066 * source/common/common.h:
30067 common: white-space nit
30068 [55edc34e253c]
30069
30070 * source/common/common.h:
30071 common: directly call x265_malloc from CHECKED_MALLOC, fix malloc
30072 size problem
30073 [1ce1e18ee05c]
30074
300752013-09-27 Steve Borho <steve@borho.org>
30076
30077 * source/common/vec/intra-sse3.cpp:
30078 intra: fix eoln damage
30079 [4014edcf2157]
30080
300812013-09-26 Steve Borho <steve@borho.org>
30082
30083 * source/common/primitives.cpp, source/test/testbench.cpp:
30084 primitives: build primitive list iteratively
30085
30086 Rather than collect all intrinsic primitives and then collect all
30087 assembly primitives, do the process iteratively for each CPU
30088 capability. This plausibly allows an SSE41 intrinsic primitive to
30089 have higher priority than an SSE assembly primitive.
30090 [93319ce8bb92]
30091
30092 * source/common/primitives.cpp, source/common/primitives.h,
30093 source/common/x86/asm-primitives.cpp, source/test/testbench.cpp:
30094 primitives: convert Setup_Assembly_Primitives to a CPU mask instead
30095 of ID
30096
30097 This allows the testbench to isolate the functions added for a given
30098 arch
30099 [9cdf05d40249]
30100
30101 * source/common/primitives.cpp, source/common/primitives.h,
30102 source/common/vec/vec-primitives.cpp, source/test/testbench.cpp:
30103 primitives: convert Setup_Vector_Primitives to a CPU mask instead of
30104 ID
30105
30106 This allows the testbench to isolate the functions added for a given
30107 arch
30108 [19e1d1c80268]
30109
301102013-09-27 Steve Borho <steve@borho.org>
30111
30112 * source/common/vec/intra-sse3.cpp:
30113 intra: re-enable __forceinline for MSVC to recover perf of angular
30114 predictions
30115 [6f85cb3f7813]
30116
30117 * source/common/vec/intra-sse41.cpp:
30118 intra: remove redundant intra angular prediction functions
30119 [cdda742b1e83]
30120
30121 * source/common/vec/intra-sse41.cpp:
30122 intra: remove redundant 16bpp angular prediction code
30123 [f8106e88f5e3]
30124
30125 * source/common/vec/vec-primitives.cpp:
30126 vec: prevent link errors on older compilers, do not try to call
30127 missing funcs
30128 [28febb6e52f0]
30129
30130 * source/common/vec/intra-sse41.cpp:
30131 intra: merge consecutive 8bpp regions and remove dead code
30132 [e9fcfa1df742]
30133
30134 * source/common/vec/intra-sse41.cpp:
30135 intra: remove redundant planar primitives
30136 [b8fa74815587]
30137
301382013-09-26 Steve Borho <steve@borho.org>
30139
30140 * source/common/vec/intra-sse41.cpp:
30141 intra: remove redundant copy of intra_pred_dc
30142 [dfac2c1c4c64]
30143
30144 * source/common/vec/vec-primitives.cpp:
30145 vec: add missing call to Setup_Vec_IPredPrimitives_sse3()
30146 [94c1079648a8]
30147
30148 * source/common/vec/ipfilter-ssse3.cpp:
30149 ipfilter: don't use 8bpp primitives for 16bpp builds
30150 [99be942b3855]
30151
30152 * source/common/vec/blockcopy-avx2.cpp, source/common/vec/dct-
30153 ssse3.cpp:
30154 vec: prevent unreferenced parameter warnings for 16bpp builds
30155 [7f168ba0e444]
30156
30157 * source/common/vec/intra-sse41.cpp:
30158 intra: remove unused extern
30159 [0607ecb8adef]
30160
30161 * source/encoder/motion.cpp:
30162 motion: fix shadow warnings
30163 [008903846fb1]
30164
301652013-09-25 Steve Borho <steve@borho.org>
30166
30167 * source/common/vec/CMakeLists.txt, source/common/vec/avx2.cpp,
30168 source/common/vec/sse3.cpp, source/common/vec/sse41.cpp,
30169 source/common/vec/ssse3.cpp, source/common/vec/vec-primitives.cpp,
30170 source/common/vec/xop.cpp:
30171 combine per-architecture files into vec-primitives.cpp
30172 [1058aa043e5e]
30173
30174 * source/common/vec/CMakeLists.txt, source/common/vec/pixel.inc,
30175 source/common/vec/utils.h:
30176 inline utils.h into the last place it is included
30177 [2e2f773dff36]
30178
30179 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
30180 source/common/vec/pixel-avx.cpp, source/common/vec/pixel-ssse3.cpp,
30181 source/common/vec/ssse3.cpp, source/common/vec/vec-primitives.cpp:
30182 remove ssse3 and avx pixel files, which makes avx.cpp redundant
30183 [74efcc344e32]
30184
30185 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
30186 source/common/vec/avx2.cpp, source/common/vec/ipfilter-avx.cpp,
30187 source/common/vec/ipfilter-avx2.cpp, source/common/vec/ipfilter-
30188 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
30189 /ipfilter-ssse3.cpp, source/common/vec/ipfilter-xop.cpp,
30190 source/common/vec/ipfilter.inc, source/common/vec/ipfilter16.inc,
30191 source/common/vec/ipfilter8.inc, source/common/vec/sse3.cpp,
30192 source/common/vec/xop.cpp:
30193 split ipfilter.inc into ssse3 and sse41 CPP files
30194 [953172b04f19]
30195
30196 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
30197 source/common/vec/avx2.cpp, source/common/vec/intra-avx.cpp,
30198 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse3.cpp,
30199 source/common/vec/intra-sse41.cpp, source/common/vec/intra-
30200 ssse3.cpp, source/common/vec/intra-xop.cpp,
30201 source/common/vec/intrapred.inc, source/common/vec/ssse3.cpp,
30202 source/common/vec/xop.cpp:
30203 split intrapred.inc into sse3 and sse41 CPP files
30204 [cad4970ef197]
30205
30206 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
30207 source/common/vec/avx2.cpp, source/common/vec/dct-avx.cpp,
30208 source/common/vec/dct-avx2.cpp, source/common/vec/dct-sse3.cpp,
30209 source/common/vec/dct-sse41.cpp, source/common/vec/dct-ssse3.cpp,
30210 source/common/vec/dct-xop.cpp, source/common/vec/dct.inc,
30211 source/common/vec/xop.cpp:
30212 split dct.inc into sse3, sse41, ssse3 CPP files
30213 [6b0a78ffaaa9]
30214
302152013-09-26 Steve Borho <steve@borho.org>
30216
30217 * source/common/vec/blockcopy-sse3.cpp:
30218 blockcopy: fix INSTRSET define for SSE3
30219 [c47e5c9d89f4]
30220
302212013-09-25 Steve Borho <steve@borho.org>
30222
30223 * source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
30224 source/common/vec/avx2.cpp, source/common/vec/blockcopy-avx.cpp,
30225 source/common/vec/blockcopy-avx2.cpp, source/common/vec/blockcopy-
30226 sse3.cpp, source/common/vec/blockcopy-sse41.cpp, source/common/vec
30227 /blockcopy-ssse3.cpp, source/common/vec/blockcopy-xop.cpp,
30228 source/common/vec/blockcopy.inc, source/common/vec/sse3.cpp,
30229 source/common/vec/sse41.cpp, source/common/vec/ssse3.cpp,
30230 source/common/vec/vecprimitives.inc, source/common/vec/xop.cpp:
30231 merge blockcopy.inc into blockcopy-sse3.cpp and -avx2.cpp
30232
30233 This is the first step towards four goals:
30234
30235 1 - reduce compile time, no more redundant primitive compiles 2 -
30236 reduce redirections / templating of intrinsic primitives 3 - move
30237 away from vector class library's INSTRSET CPU level define 4 - make
30238 the test bench faster, only validate each primitive once
30239 [baaefda928fa]
30240
302412013-09-26 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30242
30243 * source/encoder/dpb.cpp:
30244 Force numPics in RPS <= maxDecPicBuffering - 1
30245
30246 because maxDecPicBuffering is now set to numReferences+1
30247 [7bbdd9cb086f]
30248
302492013-09-25 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30250
30251 * source/common/common.cpp, source/encoder/dpb.h,
30252 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
30253 Added support for multiple references
30254
30255 Added a commandline parameter '--ref <max number of references>'.
30256 DPB size adjusted to use number of references.
30257 [0dbfb0bbca1a]
30258
302592013-09-25 Steve Borho <steve@borho.org>
30260
30261 * source/common/common.cpp, source/encoder/encoder.cpp,
30262 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
30263 Merge with stable
30264 [a66a677b65b4]
30265
302662013-09-25 Min Chen <chenm003@163.com>
30267
30268 * source/common/vec/ipfilter8.inc:
30269 Avoid VS2008 X64 compiler bug
30270 [fb4e4dfdb841]
30271
30272 * source/common/vec/ipfilter8.inc, source/encoder/motion.cpp,
30273 source/encoder/motion.h:
30274 Merge HPEL interpolations with the same HPEL offsets
30275
30276 In the square1[9], the candidate HPEL offsets are:
30277
30278 5 1 7 3 x 4 6 2 8
30279
30280 The main idea is two HPEL distances makes one FPEL so we can merge
30281 1-2, 3-4, 5-6, and 7-8 into one interpolation each by adding 1 extra
30282 row/col to the interpolation
30283 [5768db8ac355]
30284
302852013-09-25 Steve Borho <steve@borho.org>
30286
30287 * source/encoder/encoder.cpp:
30288 encoder: range check number of NAL units
30289 [d514d8685797]
30290
302912013-09-25 Min Chen <chenm003@163.com>
30292
30293 * source/common/common.cpp, source/encoder/encoder.cpp,
30294 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
30295 fix hash mistake from --sao-lcu-opt=0 --frame-threads 2
30296
30297 Delay all deblock and SAO until the entire frame is available. Frame
30298 SAO and frame parallelism will now generate correct results, but it
30299 will have very poor performance, so the hard check is relaxed to a
30300 warning.
30301 [2d77d4a2c31b] <stable>
30302
303032013-09-25 Steve Borho <steve@borho.org>
30304
30305 * source/encoder/encoder.cpp:
30306 encoder: disable lookahead for all-intra encodes
30307
30308 This works around a bug in the current Lookahead::slicetypeDecide().
30309 I have a patch in the works which fixes this properly, but I think
30310 this is a reasonable workaround. Tested with ABR and it works ok.
30311 [b8658deb4a77] <stable>
30312
303132013-09-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
30314
30315 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
30316 source/Lib/TLibEncoder/NALwrite.h:
30317 NAL: Remove unused NALUnitEBSP functions
30318
30319 Removed the unused NALUnitEBSP(OutputNALUnit& nalu) and
30320 copyNaluData() methods from NAL
30321 [4d0ced5c64fe]
30322
30323 * source/Lib/TLibCommon/AccessUnit.h,
30324 source/Lib/TLibEncoder/TEncTop.h, source/common/CMakeLists.txt,
30325 source/encoder/frameencoder.h:
30326 Accessunit: Remove unused accessUnit class
30327
30328 AccessUnit class derived from std template list, Accessunit class
30329 replaced with pointers to an array
30330 [bb88bbe34c95]
30331
303322013-09-24 Steve Borho <steve@borho.org>
30333
30334 * source/encoder/encoder.cpp:
30335 encoder: ensure returned NAL count matches output array size
30336
30337 On CHECKED_MALLOC failure, m_packetData and/or m_nals will be NULL
30338 and thus the returned count must be 0. Also, do not free the packet
30339 data from within this utility function. It is cleaner to release
30340 that memory in the function which declared the pointers on the
30341 stack.
30342 [bdd26fd0325a]
30343
30344 * source/encoder/frameencoder.cpp:
30345 frameencoder: do not cause deadlock on malloc fail
30346 [bb5d3e9aadc3]
30347
30348 * source/Lib/TLibEncoder/TEncTop.cpp:
30349 TEncTop: prevent divide by zero if no frames were output by stream
30350 [ae6d6584b193]
30351
303522013-09-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
30353
30354 * source/Lib/TLibEncoder/TEncTop.cpp,
30355 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
30356 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
30357 encoder: do not use std::list for the class AccessUnit
30358 [d62d31ea1520]
30359
30360 * source/Lib/TLibCommon/TComBitStream.cpp,
30361 source/Lib/TLibCommon/TComBitStream.h:
30362 bitstream: remove unused std::vector class code
30363 [235726d72281]
30364
303652013-09-24 Steve Borho <steve@borho.org>
30366
30367 * source/encoder/slicetype.cpp:
30368 Merge with stable
30369 [dec0309ec94c]
30370
30371 * .hgtags:
30372 Added tag 0.4.1 for changeset 93707bc4fccd
30373 [ddb7abf83f98] <stable>
30374
30375 * source/common/vec/CMakeLists.txt:
30376 cmake: ignore icpc warnings about EMMS from pixelcmp primitives
30377 [93707bc4fccd] [0.4.1] <stable>
30378
30379 * source/encoder/slicetype.cpp:
30380 slicetype: fix variable shadow warning
30381 [3a77059e1ebf] <stable>
30382
303832013-09-24 Min Chen <chenm003@163.com>
30384
30385 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
30386 Reset CABAC status to get same output between single and multi
30387 threading
30388 [fe00fb449af4]
30389
303902013-09-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30391
30392 * source/common/CMakeLists.txt:
30393 Merge with stable
30394 [a8f6f62217d5]
30395
30396 * source/common/CMakeLists.txt:
30397 MinGW: build fix for common.cpp
30398 [f56cd5c652ef] <stable>
30399
304002013-09-24 Steve Borho <steve@borho.org>
30401
30402 * source/encoder/slicetype.cpp:
30403 Merge with stable
30404 [c56e392b2c68]
30405
304062013-09-24 sumalatha polureddy <sumalatha polureddy>
30407
30408 * source/encoder/ratecontrol.cpp:
30409 RateControl : Bug fix when previous estimated frame cost is zero
30410 [2824b8e732e9] <stable>
30411
304122013-09-23 Steve Borho <steve@borho.org>
30413
30414 * source/common/common.cpp:
30415 common: prevent an API race hazard
30416
30417 The public API should be thread-safe for a given encoder or param
30418 object (they are distinct data structures). However x265 has a small
30419 number of global vars that are configured on first use and must be
30420 the same for all encoders in the same process (max CTU size and
30421 pixel bit-depth). Using an atomic compare-and- swap here prevents
30422 simultaneous encoder creations from violating those rules.
30423 [3ee2a8a2d852]
30424
30425 * source/common/common.cpp:
30426 common: rename CONFIRM macro to CHECK
30427
30428 The logic of the macro is: if (expr) fail So CONFIRM is highly
30429 misleading
30430 [15ab448f1607]
30431
304322013-09-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
30433
30434 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.h,
30435 source/common/common.h, source/encoder/encoder.cpp,
30436 source/encoder/frameencoder.cpp:
30437 frameencoder: use CHECKED_MALLOC in getStreamHeaders()
30438 [886a765eb760]
30439
304402013-09-24 Steve Borho <steve@borho.org>
30441
30442 * source/encoder/slicetype.cpp:
30443 lowres intra fixes
30444 [46cc93c497c5] <stable>
30445
304462013-09-23 Steve Borho <steve@borho.org>
30447
30448 * doc/intra/T16.TXT, doc/intra/T32.TXT, doc/intra/T4.TXT,
30449 doc/intra/T8.TXT, doc/intra/intra-16x16.txt, doc/intra/intra-
30450 32x32.txt, doc/intra/intra-4x4.txt, doc/intra/intra-8x8.txt:
30451 rename intra docs, switch to unix eoln
30452 [ad7866811610]
30453
30454 * build/README.txt, build/regression/commandlines-example.txt,
30455 build/regression/config-example.txt, build/regression/email-csv.py,
30456 doc/uncrustify/apply-to-all-source.py,
30457 doc/uncrustify/codingstyle.cfg, source/Lib/README.txt,
30458 source/VectorClass/README.txt, source/VectorClass/vectorclass.h,
30459 source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
30460 source/VectorClass/vectori256e.h:
30461 use unix EOLN for all non-bat files
30462 [a194cf5486e7]
30463
30464 * .hgignore, doc/uncrustify/drag-uncrustify.bat,
30465 doc/uncrustify/uncrustify.bat, doc/uncrustify/uncrustify.exe:
30466 prune uncrustify.exe; ignore any executable copied into that folder
30467
30468 uncrustify.bat was unused, so it was also removed
30469 [0600e707b254]
30470
30471 * doc/README_data-structure.ppt, doc/software-manual.pdf:
30472 remove binary documentation files leftover from HM source tree
30473 [46f25d98c8b2]
30474
30475 * doc/astyle/AStyle.exe, doc/astyle/apply-to-all-source.py, doc/astyle
30476 /astyle-config.txt, doc/astyle/drag-astyle.bat:
30477 remove obsolete astyle scripts and tools
30478 [fa07f9e00dcb]
30479
30480 * source/common/lowres.cpp:
30481 lowres: fixup bad merge/patch re-import
30482 [a2d7412377dd]
30483
30484 * source/encoder/encoder.cpp:
30485 encoder: explicitly disable AMP if rectangular modes are disabled
30486
30487 In the mode decision logic, asymmetrical motion prediction is
30488 implicitly disabled when rectangular modes are disabled. This makes
30489 the disabling more explicit, AMP will not appear as enabled in the
30490 "encoding tools" log line.
30491 [0656b16f0c4a]
30492
304932013-09-23 Min Chen <chenm003@163.com>
30494
30495 * source/common/vec/ipfilter8.inc:
30496 Replace (maskmovq) by (blendvb + movq)
30497 [98903821e0dc]
30498
30499 * source/common/vec/ipfilter8.inc:
30500 Replace combo padd(32)+psra(6) by pmulhrsw
30501 [017743def32e]
30502
305032013-09-23 Steve Borho <steve@borho.org>
30504
30505 * source/common/lowres.cpp:
30506 lowres: remove NULL pointer checks, x265_free does this internally
30507 [d6082fcfc3dd]
30508
30509 * source/common/lowres.cpp:
30510 lowres: white-space nits and minor cleanup
30511 [b877bb01f231]
30512
30513 * source/common/lowres.cpp:
30514 Merge with stable
30515 [500686c60c97]
30516
305172013-09-23 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30518
30519 * source/common/lowres.cpp:
30520 Adapting lowress frame dimensions to multiples of lowress CU size.
30521
30522 The full res frame is required to be extended accordingly to achieve
30523 a lowres frame with dimensions in multiples of lowres CU size.
30524 [90be63021e7d] <stable>
30525
305262013-09-23 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30527
30528 * source/common/lowres.cpp:
30529 lowres: bug fix - move initialization from create() to init()
30530
30531 lowres objects are reused, hence they should be re-initialized.
30532 [bba314600ed0] <stable>
30533
305342013-09-23 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30535
30536 * source/common/lowres.cpp:
30537 Adapting lowress frame dimensions to multiples of lowress CU size.
30538
30539 The full res frame is required to be extended accordingly to achieve
30540 a lowres frame with dimensions in multiples of lowres CU size.
30541 [4b794e2ffcb4]
30542
305432013-09-20 Steve Borho <steve@borho.org>
30544
30545 * source/encoder/encoder.cpp:
30546 encoder: hoist declaration of offset var to fix GCC goto warnings,
30547 avoid casts
30548 [ff797c5087ae]
30549
30550 * source/encoder/encoder.cpp:
30551 encoder: white-space fixes
30552 [7291eaa504d2]
30553
30554 * source/encoder/encoder.cpp:
30555 encoder: remove NULL checks prior to X265_FREE, which does its own
30556 [9dce39147a94]
30557
30558 * source/encoder/encoder.cpp:
30559 encoder: fix indentation of extract_naldata
30560 [1a1752129829]
30561
30562 * source/CMakeLists.txt:
30563 cmake: force creation of ENABLE_PRIMITIVES_ASM option for all yasm
30564 versions
30565 [2a00fe5b8a1c]
30566
30567 * Merge with stable
30568 [d6494dd903f6]
30569
305702013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
30571
30572 * source/encoder/ratecontrol.cpp:
30573 Bug Fix - copy last Recq value to thread local rce object
30574
30575 Missed this out in previous patch.
30576 [1311936ef9cf] <stable>
30577
305782013-09-19 Steve Borho <steve@borho.org>
30579
30580 * source/CMakeLists.txt:
30581 cmake: fix auto-link issues with MSVC
30582
30583 If you tell MSVC to link with the static lib, the dependencies
30584 somehow fail and x265.exe is not re-linked properly when the static
30585 lib is changed.
30586 [d47ef13cb735] <stable>
30587
305882013-09-20 Steve Borho <steve@borho.org>
30589
30590 * source/encoder/encoder.cpp:
30591 encoder: style nits, no logic change
30592 [e672b5f15e9c]
30593
305942013-09-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
30595
30596 * source/encoder/encoder.cpp:
30597 encoder: Do not use X265_MALLOC use CHECKED_MALLOC
30598
30599 Currently X265_MALLOC did't validate the returned pointer,
30600 CHECKED_MALLOC Always validate the returned pointer and print the
30601 Log message and jumps to fail lable if returned pointer is not
30602 valid,
30603 [af8daa6c720b]
30604
30605 * source/common/common.cpp, source/common/common.h:
30606 common: add CHECKED_MALLOC macro that logs malloc failures and jumps
30607 to fail label
30608 [678ae6e4f3fd]
30609
306102013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
30611
30612 * source/encoder/ratecontrol.cpp:
30613 Bug Fix - copy last Recq value to thread local rce object
30614
30615 Missed this out in previous patch.
30616 [de084699ba00]
30617
306182013-09-19 Steve Borho <steve@borho.org>
30619
30620 * source/encoder/slicetype.cpp:
30621 slicetype: fix shadow warning reported by GCC
30622 [20d8fa0541d8]
30623
30624 * source/CMakeLists.txt:
30625 cmake: fix auto-link issues with MSVC
30626
30627 If you tell MSVC to link with the static lib, the dependencies
30628 somehow fail and x265.exe is not re-linked properly when the static
30629 lib is changed.
30630 [73a710b6d1c1]
30631
30632 * source/common/CMakeLists.txt:
30633 cmake: use explicit file list for HM TLibCommon files
30634 [6aea8272dcd8]
30635
30636 * source/encoder/CMakeLists.txt:
30637 cmake: use explicit file list for HM TLibEncoder files
30638
30639 This prevents issues when HM files are deleted; we simply remove
30640 them from this list and then CMake automatically regenerates
30641 projects or Makefiles. With globs, you have to know to poke CMake to
30642 regenerate the files, but most do not know this.
30643 [bd1d4bdc996e]
30644
30645 * source/common/common.cpp:
30646 common: white-space logging nit
30647 [00429bb81ef7]
30648
30649 * source/common/common.cpp:
30650 common: improve logging string for lookahead configuration - conveys
30651 more info
30652 [233046035a5f]
30653
30654 * Merge with stable
30655 [5c6c9c095cb8]
30656
30657 * .hgtags:
30658 Added tag 0.4 for changeset 2ba6ec553f21
30659 [85219cda3127] <stable>
30660
30661 * source/encoder/slicetype.cpp:
30662 slicetype: respect --bframes count when --b-adapt is 0
30663
30664 --b-adapt 0 --bframes 3 => IPBBBPBBBPBBB
30665 --b-adapt 0 --bframes 4 => IPBBBBPBBBBPBBBB
30666
30667 This is a stop-gap feature until --b-adapt 1 and 2 are fully
30668 functional
30669 [2ba6ec553f21] [0.4] <stable>
30670
30671 * source/encoder/slicetype.cpp:
30672 slicetype: remove x265_ prefix from internal functions
30673
30674 These were adapted from x264 functions, and the prefix was
30675 incorrectly preserved
30676 [4c97a2025103] <stable>
30677
30678 * build/linux/batch.py, source/Lib/TLibCommon/SEI.cpp:
30679 Merge with default
30680 [9d97cddc0fac] <stable>
30681
306822013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
30683
30684 * source/encoder/ratecontrol.cpp:
30685 tuned up ABR logic to better adapt for frame parallelism
30686
30687 Rate control needs to be more aggressive based on actual ecoded
30688 bits cost rather than estimated costs from concurrent threads .Tuned
30689 up some parameters to effect this idea.
30690 [395bf0a490c2]
30691
306922013-09-19 Aarthi Thirumalai <Aarthi Thirumalai>
30693
30694 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
30695 RateControl bug fixes for frame parallelism
30696
30697 1. Added lastRceq in ratecotrol structure and copied the value into
30698 thread local rate control entry obj so that Bframes can get latest
30699 lastRceq value.
30700
30701 2. Added framesDone state - to maintain a serial order of frames in
30702 RateCotrol to get a correct estimate of wantedBits.
30703 [d62c413b3c06]
30704
307052013-09-19 Steve Borho <steve@borho.org>
30706
30707 * source/x265.cpp:
30708 cli: use strerror to report signal error
30709 [82aceba785f0]
30710
30711 * source/Lib/TLibEncoder/TEncTop.cpp:
30712 top: fix leak of output NALs on CTRL+C aborts
30713 [e50237973977]
30714
307152013-09-18 Steve Borho <steve@borho.org>
30716
30717 * source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h:
30718 sei: remove unused SEIMessages type define
30719
30720 After this, and after AccessUnit is replaced with a simple pointer
30721 array, TComList is the only type derived from std::list, so we would
30722 no longer need a templated list class. TComList could be replaced
30723 with a simple list class that suits our exact needs.
30724
30725 This also removes another HM file
30726 [53c551867006]
30727
30728 * source/common/common.cpp, source/x265.cpp, source/x265.h:
30729 api: introduce an x265_picture_init() function
30730 [7f069c6e6b89]
30731
30732 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lowres.cpp,
30733 source/common/lowres.h, source/encoder/slicetype.cpp,
30734 source/encoder/slicetype.h:
30735 lowres: pass poc and user slice type to lowres::init()
30736 [14af4e13ab66]
30737
30738 * source/common/lowres.h:
30739 lowres: group fields by type, remove trailing white-space
30740 [f646ebe0b520]
30741
30742 * source/common/lowres.cpp, source/common/lowres.h,
30743 source/encoder/dpb.cpp, source/encoder/slicetype.cpp:
30744 lowres: change int keyframe to bool bKeyframe
30745 [f5a6b908037c]
30746
30747 * source/common/lowres.cpp, source/common/lowres.h,
30748 source/encoder/slicetype.cpp:
30749 lowres: change int scenecut to bool bScenecut
30750 [8df58890ff0b]
30751
307522013-09-19 Min Chen <chenm003@163.com>
30753
30754 * source/encoder/framefilter.cpp, source/encoder/framefilter.h,
30755 source/x265.cpp:
30756 framefilter: allow SAO to be disabled independently of deblock
30757 filter
30758 [7b26e7c0bf88]
30759
307602013-09-19 Steve Borho <steve@borho.org>
30761
30762 * source/x265.cpp:
30763 cli: fix memory leaks on early exits
30764 [bc1a28d6f187]
30765
30766 * source/common/common.cpp:
30767 sao: prevent picture based SAO to be used in combination with frame
30768 threading
30769 [12db8e96402b]
30770
307712013-09-19 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30772
30773 * source/encoder/slicetype.cpp:
30774 lookahead: fix crash for I frame cost estimation
30775 [e51ecfcabcaa]
30776
307772013-09-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30778
30779 * source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
30780 source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
30781 source/test/testbench.cpp, source/test/testharness.h:
30782 testharness cleanup: Testharness uses the same malloc/free wrapper
30783 as the rest of the encoder.
30784
30785 Aligned mallocs in testharness use the wrapper (X265_MALLOC/FREE)
30786 defined in CommonDef.h. Remove alignedMalloc/Free definitions in the
30787 test class.
30788 [eea9154229a0]
30789
307902013-09-18 Steve Borho <steve@borho.org>
30791
30792 * source/encoder/slicetype.cpp:
30793 slicetype: fix bug in intra estimation in
30794 Lookahead::estimateCUCost()
30795
30796 # HG changeset patch # User Steve Borho <steve@borho.org> # Date
30797 1379538813 18000 # Wed Sep 18 16:13:33 2013 -0500 # Node ID
30798 5bab261d0dd7ac68c4af3837853d48d56017d4d6 # Parent
30799 197dd6d2f54d7193d7dcf28d03a0b3dccb353fad slicetype: fix bug in intra
30800 estimation in Lookahead::estimateCUCost()
30801 [26d6f155f8df]
30802
30803 * source/common/common.cpp, source/x265.h:
30804 white-space and comment nits
30805 [2531c630739e]
30806
30807 * source/x265.cpp:
30808 cli: report errors from registering signal handler
30809 [197dd6d2f54d]
30810
30811 * source/Lib/TLibEncoder/TEncSbac.h:
30812 TEncSbac: remove exit() calls from unsupported functions
30813 [ded83381f219]
30814
30815 * source/Lib/TLibEncoder/TEncTop.cpp:
30816 TEncTop: replace debugging exit() call with abort(), use x265_log
30817 [4b3ff29d661d]
30818
30819 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComDataCU.cpp,
30820 source/Lib/TLibCommon/TComLoopFilter.cpp,
30821 source/Lib/TLibCommon/TComPicSym.cpp,
30822 source/Lib/TLibCommon/TComPrediction.cpp,
30823 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
30824 source/Lib/TLibCommon/TComSlice.cpp,
30825 source/Lib/TLibCommon/TComTrQuant.cpp,
30826 source/Lib/TLibEncoder/TEncCu.cpp,
30827 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
30828 source/Lib/TLibEncoder/TEncSearch.cpp,
30829 source/Lib/TLibEncoder/TEncTop.cpp, source/common/wavefront.cpp,
30830 source/encoder/bitcost.cpp, source/input/y4m.cpp,
30831 source/input/yuv.cpp, source/output/y4m.cpp, source/output/yuv.cpp,
30832 source/test/testpool.cpp:
30833 do not check for NULL prior to delete, do not reset pointers in
30834 destructors
30835
30836 A lot of our classes have destroy() methods. In those we try to zero
30837 deleted pointers since there is a chance for multiple destroy()
30838 calls. But in destructors the pointer storage itself will be
30839 released when the function exits
30840 [d8d209de87c2]
30841
30842 * source/x265.cpp:
30843 cli: use sig_atomic_t type for variable modified by SIGINT handler
30844
30845 Other nits:
30846 * removed unused b_exit_on_ctrl_c
30847 * removed unnecessary static initializer
30848 [6b1982cfc05d]
30849
308502013-09-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30851
30852 * source/encoder/slicetype.cpp:
30853 lookahead: fix cost estimation, use previous result when calculation
30854 is skipped
30855 [f467c4792a28]
30856
308572013-09-17 Aarthi Thirumalai <Aarthi Thirumalai>
30858
30859 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
30860 ABR - Removed unused states, cleaned up the comments.
30861
30862 Removed states that are not used in ABR or CQP rate contnrol modes.
30863 [d05f4310a976]
30864
308652013-09-18 Min Chen <chenm003@163.com>
30866
30867 * source/encoder/frameencoder.cpp:
30868 frameencoder: disable filter/extend lag when SAO and deblocking are
30869 off
30870
30871 This improves frame parallelism when all loop filtering is disabled
30872 (aka: benchmark mode)
30873 [d694a96b181c]
30874
308752013-09-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30876
30877 * source/encoder/slicetype.cpp:
30878 lookahead: change const bool to const int, so as to use it safely as
30879 a loop counter.
30880 [9d5d4e4e6d6c]
30881
308822013-09-17 Wenju He <wenju@multicorewareinc.com>
30883
30884 * source/input/y4m.cpp:
30885 fix allocation crash if input y4m file is not found
30886 [1dc07ca4c4ce]
30887
308882013-09-17 Min Chen <chenm003@163.com>
30889
30890 * source/common/wavefront.cpp, source/encoder/frameencoder.cpp,
30891 source/encoder/frameencoder.h:
30892 Resolve some patching issues for previous patch (deadlock).
30893 [13531b8f19cc]
30894
308952013-09-17 funman <funman@videolan.org Rafaël Carré>
30896
30897 * source/x265.h:
30898 [x265] [PATCH] library header: use #ifdef __cplusplus Remove a
30899 warning when using from C
30900 [1c66f40da3e9]
30901
309022013-09-16 Min Chen <chenm003@163.com>
30903
30904 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
30905 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
30906 Use mixed bitmap between FrameEncoder and FrameFilter to Fix crash
30907 and hash mistake in WPP mode
30908
30909 I change task schedult bitmap to mixed FrameEncoder and FrameFilter
30910 because there catch two bugs, and I want to reduce latency of Frame
30911 Parallelism. The new bitmap mapping 2N+0 to FrameEncoder and 2N+1 to
30912 FrameFilter.
30913
30914 Side effect: 1. We can remove the lock from FrameFilter. 2. Mixed
30915 bitmap let us do Filter early, so reduce latency of Frame
30916 Parallelism
30917
30918 Solved bugs: 1. CRASH: the reason is sometime two of threads finish
30919 in same time, so they will enter Filter in wrong order and sent
30920 Finished Event early. when main thread dequeue JobProvider and
30921 execute FrameFilter, we will catch a crash!
30922
30923 2. HASH MISTAKE: the reason is same as below, but last row is right
30924 order, we will got worng reconst image.
30925 [0d33ff236f68]
30926
309272013-09-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30928
30929 * source/common/common.cpp:
30930 CLI Options: reset x265_param_default to extern "C"
30931 [9a727efab9fa]
30932
30933 * Merge
30934 [960dbe714209]
30935
30936 * source/common/common.cpp, source/encoder/encoder.cpp,
30937 source/x265opts.h:
30938 CLI options: Eliminate rdoqts option; cleanup
30939
30940 1. Eliminate rdoqts CLI option: enabled when rdoq and ts are both
30941 enabled. 2. Rearrange default initialisations in x265_param_ t
30942 structure
30943 [46b065f7d676]
30944
30945 * source/encoder/framefilter.cpp:
30946 framefilter: Fix memcpy for pel-pixel datatype change
30947 [881444f5910b]
30948
30949 * source/encoder/framefilter.cpp:
30950 framefilter: Fix memcpy for pel-pixel datatype change
30951 [810ceb9d2b7c]
30952
309532013-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
30954
30955 * source/Lib/TLibCommon/AccessUnit.h,
30956 source/Lib/TLibCommon/CommonDef.h,
30957 source/Lib/TLibCommon/ContextModel.h,
30958 source/Lib/TLibCommon/ContextModel3DBuffer.h,
30959 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
30960 source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComBitCounter.h,
30961 source/Lib/TLibCommon/TComBitStream.h,
30962 source/Lib/TLibCommon/TComDataCU.h,
30963 source/Lib/TLibCommon/TComList.h,
30964 source/Lib/TLibCommon/TComLoopFilter.h,
30965 source/Lib/TLibCommon/TComMotionInfo.h,
30966 source/Lib/TLibCommon/TComPattern.h,
30967 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
30968 source/Lib/TLibCommon/TComPicYuv.h,
30969 source/Lib/TLibCommon/TComPrediction.h,
30970 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TComRom.h,
30971 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
30972 source/Lib/TLibCommon/TComSlice.h,
30973 source/Lib/TLibCommon/TComTrQuant.h,
30974 source/Lib/TLibCommon/TComWeightPrediction.h,
30975 source/Lib/TLibCommon/TComYuv.h, source/Lib/TLibCommon/TypeDef.h,
30976 source/Lib/TLibEncoder/NALwrite.h,
30977 source/Lib/TLibEncoder/SEIwrite.h,
30978 source/Lib/TLibEncoder/SyntaxElementWriter.h,
30979 source/Lib/TLibEncoder/TEncAnalyze.h,
30980 source/Lib/TLibEncoder/TEncBinCoder.h,
30981 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
30982 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
30983 source/Lib/TLibEncoder/TEncCavlc.h,
30984 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
30985 source/Lib/TLibEncoder/TEncEntropy.h,
30986 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
30987 source/Lib/TLibEncoder/TEncSbac.h,
30988 source/Lib/TLibEncoder/TEncSearch.h,
30989 source/Lib/TLibEncoder/TEncTop.h,
30990 source/Lib/TLibEncoder/WeightPredAnalysis.h,
30991 source/common/TShortYUV.h, source/common/common.h,
30992 source/common/lowres.h, source/common/md5.h, source/common/mv.h,
30993 source/common/reference.h, source/common/threading.h,
30994 source/common/threadpool.h, source/common/wavefront.h,
30995 source/compat/msvc/getopt.h, source/encoder/bitcost.h,
30996 source/encoder/cturow.h, source/encoder/dpb.h,
30997 source/encoder/frameencoder.h, source/encoder/framefilter.h,
30998 source/encoder/motion.h, source/encoder/ratecontrol.h,
30999 source/encoder/slicetype.h, source/input/input.h,
31000 source/input/y4m.h, source/input/yuv.h, source/output/output.h,
31001 source/output/y4m.h, source/output/yuv.h, source/x265.h:
31002 X265: header guards format Changed to X265_<FILENAME>_H
31003
31004 Globally all the x265 header files header guards format changed into
31005 X265_<FILENAME>_H
31006 [d09f36e4dc8b]
31007
310082013-09-13 sumalatha polureddy <sumalatha polureddy>
31009
31010 * source/encoder/ratecontrol.cpp:
31011 ratecontrol: Tweak to better handle short term compensation
31012
31013 Increase the coefficient cplxrSum is adjusted by so that short term
31014 compensation does not suffer as much.
31015
31016 Also, clip the QP for the first frame.
31017
31018 Overall improvement is about 5%.
31019 [6bab41a554b3]
31020
310212013-09-13 Steve Borho <steve@borho.org>
31022
31023 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31024 frameencoder: move threadMain() into cpp file
31025 [d0883c21fc7f]
31026
31027 * source/encoder/slicetype.cpp:
31028 slicetype: increase baseline bframe bias by 10%
31029
31030 Our estimateFrameCost() function is not yet checking bidir
31031 candidates (because bidir search in the main encoder needs to be
31032 replaced first) and since B frame estimates cannot use intra modes
31033 either this tends to make B frame scores relatively higher than what
31034 x264 finds. So our default bias needs to be a bit higher in order
31035 for the lookahead to select B paths.
31036 [2555acbc9736]
31037
31038 * source/cmake/mergestaticlibs.cmake:
31039 cmake: whitespace cleanups in mergestaticlibs.cmake (should not
31040 change behavior)
31041
31042 this file was borrowed from another project, and wasn't scrubbed for
31043 our cmake script style (no tabs, 4 spaces, unix eoln, lower case cmd
31044 names)
31045 [9c5a74cfacca]
31046
310472013-09-13 Derek Buitenhuis <derek.buitenhuis@gmail.com>
31048
31049 * source/cmake/mergestaticlibs.cmake:
31050 cmake: Don't rely on non-POSIX ar functionality
31051
31052 Fixes build on stricter systems like FreeBSD.
31053 [8e7d559df1ac]
31054
31055 * source/Lib/TLibEncoder/NALwrite.cpp:
31056 NALwrite: Include forgotten header
31057
31058 Fixes build on Linux, where memcpy is not global.
31059 [32922922a332]
31060
310612013-09-13 Steve Borho <steve@borho.org>
31062
31063 * source/encoder/framefilter.cpp:
31064 ppa: remove redundant PPA event
31065
31066 The PPAScopeEvent macro causes a bar to appear in our profiler with
31067 the given name, associated with the CPU core and start/stop time.
31068 The problem with this particular instance is that the function was
31069 copy-pasted from another in this file and this profile scope came
31070 along for the ride and since they both have the same name and one
31071 calls the other it is essentially a NOP
31072 [f98bfe09f806]
31073
31074 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31075 framefilter: comment cleanups, use pixel data type
31076 [a1e34874f642]
31077
31078 * source/test/CMakeLists.txt:
31079 cmake: fix test bench builds following static lib reorg
31080 [4206091a6278]
31081
310822013-09-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31083
31084 * source/encoder/encoder.cpp:
31085 Encoder: Remove x265_ prefix from NAL data extract functions.
31086 [45786d093571]
31087
31088 * source/encoder/encoder.cpp:
31089 Encoder: Factor out duplicated code in NAL data extraction [Gopu]
31090 [fc32e3804b8b]
31091
310922013-09-12 Gopu Govindaswamy <gopu@multicorewareinc.com>
31093
31094 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
31095 source/Lib/TLibEncoder/NALwrite.h,
31096 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
31097 NAL : std::ostringstream replaced
31098 [92b1820c3e42]
31099
311002013-09-12 Derek Buitenhuis <derek.buitenhuis@gmail.com>
31101
31102 * source/common/threading.h:
31103 threading: Include fcntl.h on POSIX systems
31104
31105 This is where O_CREAT and O_EXCL are defined.
31106 [17d41a7563aa]
31107
311082013-09-11 Steve Borho <steve@borho.org>
31109
31110 * source/CMakeLists.txt:
31111 cmake: set MACOS build flag on mac builds (fixes CPU count
31112 detection)
31113 [8fdafe573ef7]
31114
31115 * source/common/threading.cpp, source/common/threading.h:
31116 threading: use named semaphores for POSIX events
31117
31118 Mac OS X does not support unnamed semaphores. It's not clear what
31119 the performance implications of this are on Linux (or Mac). Also,
31120 this method is not very robust. If x265 crashes, it leaves named
31121 semaphores in the system until the kernel is restarted.
31122 [d95d94ee0e1d]
31123
31124 * build/linux/batch.py:
31125 build: remove obsolete test script
31126 [7a3699202860]
31127
31128 * source/common/ipfilter.cpp:
31129 ipfilter: remove two unused file-static functions
31130
31131 Xcode reported these as warnings; Xcode build is now 100% clean
31132 [2d59beb5c0f4]
31133
31134 * source/common/x86/CMakeLists.txt:
31135 cmake: add Xcode hacks for YASM integration (is there a better way?)
31136 [dfda8ed7bbf4]
31137
31138 * source/CMakeLists.txt:
31139 cmake: detect Xcode generator, avoid static lib failure
31140 [74d7078f9afe]
31141
31142 * build/xcode/make-project.sh:
31143 cmake: add xcode build folder
31144 [881263c02cc2]
31145
311462013-09-12 Steve Borho <steve@borho.org>
31147
31148 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
31149 framefilter: prevent row filter overlap race hazards
31150 [463fc13419b9]
31151
311522013-09-11 Wenju He <Wenju He>
31153
31154 * source/Lib/TLibEncoder/TEncCu.cpp:
31155 check before delete
31156 [80c133ffdbef]
31157
311582013-09-12 Steve Borho <steve@borho.org>
31159
31160 * source/common/CMakeLists.txt, source/common/vec/CMakeLists.txt,
31161 source/common/x86/CMakeLists.txt, source/encoder/CMakeLists.txt:
31162 cmake: mark project libs as static
31163 [d4a8f6b92eb2]
31164
311652013-09-11 Steve Borho <steve@borho.org>
31166
31167 * source/CMakeLists.txt, source/common/CMakeLists.txt,
31168 source/encoder/CMakeLists.txt:
31169 cmake: link primitive projects into libx264 directly, not through
31170 common
31171 [d5ffa406e4fb]
31172
31173 * build/icl32/build-all.bat, build/icl32/make-makefile.bat,
31174 build/icl64/build-all.bat, build/icl64/make-makefile.bat:
31175 cmake: detect and use ICL version 14
31176 [11785c1be804]
31177
311782013-09-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31179
31180 * Merge
31181 [a9ad48de415e]
31182
31183 * source/x265opts.h:
31184 cli: moving rd option description to rate distortion section.
31185 [25291305a3b9]
31186
31187 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
31188 source/x265opts.h:
31189 cli: replacing no-rdo and no-rdoq options with rd: 0 means
31190 nordo,nordoq. 1 means nordo,rdoq and 2 means rdo, rdoq.
31191 [52630a3de867]
31192
311932013-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31194
31195 * source/x265.h:
31196 cli: clarifying enum comment in No-RDO.
31197 [989980166bed]
31198
311992013-09-11 Steve Borho <steve@borho.org>
31200
31201 * source/CMakeLists.txt:
31202 cmake: quiet ICL warnings from STLport's use of pragmas
31203 [ea0aa1f8abda]
31204
312052013-09-11 Min Chen <chenm003@163.com>
31206
31207 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31208 framefilter: Make code clearer
31209
31210 We do not need the row delay when the loopfilter is disabled.
31211 [ffbe50c2f743]
31212
312132013-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31214
31215 * source/encoder/compress.cpp:
31216 compress: fast-no-rdo is stable enough to be a part of regular no-
31217 rdo
31218 [a6bf1f10e820]
31219
31220 * source/x265.h:
31221 cli: Add enum RDOLevel to list of rate distortion modes.
31222 [babfab4f36a8]
31223
312242013-09-11 Steve Borho <steve@borho.org>
31225
31226 * source/encoder/slicetype.cpp:
31227 slicetype: remove extra parens (Mac GCC reports this as a warning)
31228 [af8cddab103e]
31229
312302013-09-09 Steve Borho <steve@borho.org>
31231
31232 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
31233 source/encoder/framefilter.h:
31234 framefilter: run filters synchronously at end of each row
31235 [4ec9253cc3c1]
31236
312372013-09-10 Steve Borho <steve@borho.org>
31238
31239 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
31240 source/Lib/TLibEncoder/TEncTop.cpp, source/common/lowres.cpp,
31241 source/common/lowres.h, source/encoder/dpb.cpp,
31242 source/encoder/slicetype.cpp:
31243 lowres: don't use bframes member var to store allocation count
31244
31245 x264 used a bframes variable here to hold the number of leading B
31246 frames encoded before an I or a P (I assume for rate control use)
31247 [6ca33594fbf3]
31248
31249 * source/Lib/TLibEncoder/TEncSearch.cpp:
31250 TEncSearch: clamp mvmin.y to reflag distance as well
31251 [e5b5277956a8]
31252
31253 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
31254 ratecontrol: remove unused bframes (this was probably not the
31255 bframes you need)
31256 [90a4d668f833]
31257
31258 * source/x265opts.h:
31259 cli: move fast-no-rdo next to the other rdo options
31260 [f241eedf1ae1]
31261
31262 * source/CMakeLists.txt:
31263 cmake: generate libx265 unconditionally
31264 [21d8b3a825ad]
31265
31266 * source/CMakeLists.txt:
31267 cmake: merge fixup
31268 [e27907038796]
31269
31270 * source/encoder/compress.cpp:
31271 compress: remove unnecessary line (GCC warning)
31272 [e2123d174c7c]
31273
31274 * source/CMakeLists.txt, source/input/CMakeLists.txt,
31275 source/output/CMakeLists.txt:
31276 Merge with stable
31277 [b7646217f425]
31278
31279 * source/CMakeLists.txt:
31280 cmake: rename x265 project to cli, force output name to x265. use
31281 libx265.a
31282 [841aaa5fa2ec]
31283
31284 * source/encoder/encoder.cpp:
31285 encoder: replace long with UInt
31286 [616f585fa646]
31287
312882013-09-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31289
31290 * source/encoder/compress.cpp:
31291 compress: different lambdas for P and B slices, no efficiency drop.
31292 [4cd9216dd366]
31293
31294 * source/encoder/compress.cpp:
31295 compress: replace early exit macro with fast-no-rdo option
31296 [5c8ce4a2e9fc]
31297
31298 * source/common/common.cpp, source/x265.h, source/x265opts.h:
31299 compress: Introducing option fast no-rdo, only when no-rdo mode is
31300 enabled.
31301 [cda8c3d1f83c]
31302
31303 * source/encoder/compress.cpp:
31304 compress: Intra mode checked only in P frames
31305 [1c72e3fbd641]
31306
31307 * source/encoder/compress.cpp:
31308 compress: Enabling early exit macro.
31309 [ab77d80491d8]
31310
313112013-09-09 Steve Borho <steve@borho.org>
31312
31313 * source/common/vec/ipfilter8.inc:
31314 ipfilter: remove unused maxVal variable
31315 [98f0f7dde384] <stable>
31316
31317 * source/Lib/TLibCommon/CommonDef.h,
31318 source/Lib/TLibCommon/TComMotionInfo.cpp,
31319 source/Lib/TLibCommon/TComRom.cpp,
31320 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
31321 source/Lib/TLibCommon/TComTrQuant.cpp,
31322 source/Lib/TLibCommon/TComYuv.cpp,
31323 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
31324 source/VectorClass/instrset.h, source/common/TShortYUV.cpp,
31325 source/common/common.h, source/common/pixel.cpp,
31326 source/common/threading.h:
31327 convert stdlib.h includes to <cstdlib> to avoid namespace conflicts
31328 [cfd76423dbf4] <stable>
31329
31330 * source/CMakeLists.txt, source/input/CMakeLists.txt,
31331 source/output/CMakeLists.txt:
31332 cmake: merge InputFiles and OutputFiles projects into cli project
31333 (simplicity)
31334 [60dec1deb894] <stable>
31335
31336 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt,
31337 source/Lib/TLibCommon/TComCABACTables.cpp,
31338 source/Lib/TLibCommon/TComCABACTables.h,
31339 source/Lib/TLibCommon/TComRdCost.cpp,
31340 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
31341 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
31342 source/Lib/TLibEncoder/AnnexBwrite.h,
31343 source/Lib/TLibEncoder/TEncGOP.cpp,
31344 source/Lib/TLibEncoder/TEncGOP.h,
31345 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
31346 source/Lib/TLibEncoder/TEncRateCtrl.h,
31347 source/Lib/TLibEncoder/TEncSlice.cpp,
31348 source/Lib/TLibEncoder/TEncSlice.h, source/common/vec/blockcopy-
31349 sse42.cpp, source/common/vec/dct-sse42.cpp, source/common/vec/intra-
31350 sse42.cpp, source/common/vec/ipfilter-sse42.cpp, source/common/vec
31351 /pixel-sse42.cpp, source/common/vec/sse42.cpp,
31352 source/encoder/encoder.h:
31353 merge default into stable; feature freeze
31354 [1efd146deeeb] <stable>
31355
31356 * source/x265.cpp:
31357 cli: add version id into CSV output
31358 [d11de33521cf]
31359
31360 * source/x265.cpp:
31361 cli: report global PSNR on summary line
31362 [0811d6c95e44]
31363
31364 * source/common/common.cpp:
31365 common: fix lookahead check
31366 [48ab740e5c7f]
31367
31368 * source/CMakeLists.txt:
31369 cmake: do not use -fPIC on MinGW64
31370 [84e49ab6fef1]
31371
31372 * source/CMakeLists.txt:
31373 cmake: fix eoln damage
31374 [a24a04441e5e]
31375
31376 * source/CMakeLists.txt:
31377 cmake: add STLport build option
31378 [943ffb8b220c]
31379
31380 * source/input/input.h, source/input/y4m.h, source/input/yuv.h,
31381 source/x265.cpp:
31382 stl: fix warnings/errors reported by STLport headers
31383 [96f8d46f9e13]
31384
31385 * source/common/common.cpp:
31386 common: fix lookahead depth dependency
31387 [d8511336efdb]
31388
31389 * source/encoder/slicetype.cpp:
31390 slicetype: disable lookahead for all-P frame runs
31391 [8859d7da393c]
31392
31393 * source/common/common.cpp:
31394 common: enable -b3 by default to match x264
31395
31396 Use -b0 to get the previous all-P frame default behavior
31397 [7717f84c5cfa]
31398
31399 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
31400 ratecontrol: remove rce member variable pointer
31401
31402 Pass RateControlEntry to functions that need it. It was pretty
31403 misleading to pass in an argument named m_rce.
31404 [42c2c838d492]
31405
314062013-09-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31407
31408 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
31409 source/encoder/ratecontrol.h:
31410 ratecontrol: move lastRceq and qpaRc to RateControlEntry().
31411 [22ac6e8ca357]
31412
31413 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt:
31414 Merge
31415 [76f1e04c897e]
31416
31417 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.h,
31418 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
31419 ratecontrol: rateControlEntry is now a member of FrameEncoder.
31420 [a5087ca01ab8]
31421
314222013-09-09 Steve Borho <steve@borho.org>
31423
31424 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt:
31425 doc: remove obsolete planning docs
31426 [bc4a13c9017c]
31427
31428 * source/encoder/slicetype.cpp:
31429 slicetype: enable lookahead by default. --b-adapt 0 or --rc-
31430 lookahead 0 disables
31431 [d3c9a535c21d]
31432
31433 * source/x265opts.h:
31434 cli: add --b-adapt CLI option
31435 [176055b7fadd]
31436
314372013-09-08 Min Chen <chenm003@163.com>
31438
31439 * source/encoder/framefilter.cpp:
31440 support diable both thread and lft/sao
31441 [f9150ab39bf9]
31442
31443 * source/encoder/frameencoder.cpp:
31444 support both diable thread and lft/sao
31445 [4ace08e490a0]
31446
31447 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
31448 simplify by processRowPost()
31449 [6882f7eb6c31]
31450
314512013-09-07 Steve Borho <steve@borho.org>
31452
31453 * source/encoder/motion.cpp:
31454 motion: subpel offsets table needs a 'no-motion' entry
31455 [1f8760fdc2d8]
31456
31457 * source/Lib/TLibEncoder/TEncSearch.cpp,
31458 source/Lib/TLibEncoder/TEncSearch.h:
31459 TEncSearch: remove unused m_searchRange
31460 [08ed93aebcdc]
31461
31462 * source/Lib/TLibEncoder/TEncSearch.cpp,
31463 source/Lib/TLibEncoder/TEncSearch.h:
31464 TEncSearch: remove unused m_searchMethod
31465 [72f6cfac517d]
31466
31467 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
31468 source/encoder/motion.cpp, source/encoder/motion.h,
31469 source/encoder/slicetype.cpp, source/x265.cpp, source/x265.h,
31470 source/x265opts.h:
31471 api: add -m/--subme to adjust level of subpel refine
31472
31473 This is very similar to x264, but ours has no effect on RD analysis,
31474 it only affects the amount of HPEL and QPEL refinement for motion
31475 estimation.
31476 [0f8c8a921d1b]
31477
31478 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibEncoder/TEncTop.cpp,
31479 source/x265.cpp, source/x265.h:
31480 api: pass through a void* user data pointer through the encoder
31481 [dcc5e822fb05]
31482
31483 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
31484 source/encoder/cturow.h, source/encoder/frameencoder.cpp:
31485 cturow: move completed column counter back into CTURow class (from
31486 TComPic)
31487 [8e945ca22fd5]
31488
31489 * source/x265.cpp:
31490 cli: initialize input picture slice type
31491 [507ad2b9aa37]
31492
31493 * source/Lib/TLibEncoder/TEncTop.h:
31494 TEncTop: remove dead meathod declaration
31495 [836a1b2beb3f]
31496
31497 * source/Lib/TLibEncoder/TEncTop.cpp:
31498 TEncTop: prevent deadlocks on CTRL+C aborts
31499 [e46a1ae90f30]
31500
31501 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/slicetype.cpp,
31502 source/encoder/slicetype.h:
31503 lookahead: do not leak pictures left in lookahead queues on abort
31504 [1fd36612d2a9]
31505
31506 * source/Lib/TLibCommon/TComSlice.cpp,
31507 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
31508 TComSlice: remove unused lambda variables
31509 [090e76ad93c9]
31510
31511 * source/encoder/frameencoder.cpp:
31512 frameencoder: use a more refined depth for SAO
31513 [065ada6a83f7]
31514
31515 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
31516 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
31517 source/encoder/frameencoder.cpp:
31518 sao: fix a typo
31519 [b7afed5ff5c4]
31520
31521 * source/Lib/TLibCommon/TComSlice.cpp,
31522 source/Lib/TLibCommon/TComSlice.h,
31523 source/Lib/TLibEncoder/TEncSearch.cpp,
31524 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
31525 slice: finally remove slice 'depth' parameter, use slice type to
31526 approximate
31527
31528 Instead of relying on a fixed depth cadence, apply all the high-
31529 depth hacks to only B slices.
31530 [ea196d10f05e]
31531
31532 * source/encoder/encoder.cpp:
31533 log: concise is almost always better
31534 [d337394a2f86]
31535
31536 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
31537 TEncSampleAdaptiveOffset: remove hungarian prefixes
31538 [bc6e986c96cc]
31539
31540 * source/encoder/frameencoder.cpp:
31541 frameencoder: update a TODO comment
31542 [aa958a34d2f5]
31543
31544 * source/encoder/compress.cpp:
31545 compress: enable SSD based merge decisions for --no-rdo path
31546 [302f9fd4fb0c]
31547
31548 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
31549 compress: cleanups
31550 [791da0534bb7]
31551
315522013-09-07 Aarthi Thirumalai <aarthi@multicorewareinc.com>
31553
31554 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
31555 source/encoder/compress.cpp:
31556 TEncCu: optimized merge routine xcomputeCostmerge2x2N
31557 [3198b82d6709]
31558
315592013-09-07 Steve Borho <steve@borho.org>
31560
31561 * source/common/common.cpp, source/encoder/encoder.cpp:
31562 log: combine all threading info into one log line
31563 [fd0c4026514b]
31564
315652013-09-07 Min Chen <chenm003@163.com>
31566
31567 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
31568 source/encoder/framefilter.cpp:
31569 framepp: Support NO-WPP + FrameParallelism Mode
31570 [a376aeeb9638]
31571
31572 * source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
31573 source/Lib/TLibEncoder/TEncSbac.h, source/encoder/frameencoder.cpp,
31574 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
31575 framepp: let sao use own context
31576 [c9fd5009e72a]
31577
315782013-09-07 Steve Borho <steve@borho.org>
31579
31580 * source/Lib/TLibEncoder/TEncSearch.cpp,
31581 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31582 frameencoder: remove broadcast methods, inline row initializations
31583 [57959ef033e4]
31584
31585 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31586 frameencoder: remove unused accessor methods, inline scaling list
31587 sets
31588 [19571e08f69e]
31589
31590 * source/encoder/frameencoder.h:
31591 frameencoder: remove unused accessor methods
31592 [a7b6d9b86b4a]
31593
31594 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31595 frameencoder: inline resetEncoder
31596 [470884b53ec3]
31597
31598 * source/encoder/frameencoder.h:
31599 frameencoder: improve comments
31600 [392e8ebaba0b]
31601
31602 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31603 frameencoder: nits
31604 [859f9b557938]
31605
31606 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
31607 source/encoder/frameencoder.h:
31608 frameencoder: move lambda initialization into the frame worker
31609 thread
31610 [831882d2f600]
31611
31612 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
31613 source/encoder/dpb.h:
31614 dpb: we don't need to pass the FrameEncoder to DPB::prepareEncode()
31615 [5e00016ee73b]
31616
31617 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
31618 source/encoder/ratecontrol.h:
31619 ratecontrol: avoid lookahead overhead for CQP
31620 [a027cdf5a6e6]
31621
31622 * source/encoder/ratecontrol.cpp:
31623 ratecontrol: avoid some operations in CQP mode
31624 [282d9b666254]
31625
31626 * source/encoder/ratecontrol.cpp:
31627 ratecontrol: remove redundant clip and double conversions
31628 [61f44f7895c7]
31629
316302013-09-07 Aarthi Thirumalai <aarthi@multicorewareinc.com>
31631
31632 * source/encoder/ratecontrol.cpp:
31633 ratecontrol: bug fix - qp for ABR cant exceed MAX_QP = 51
31634 [fb9aa649c13e]
31635
316362013-09-06 Steve Borho <steve@borho.org>
31637
31638 * source/Lib/TLibEncoder/TEncTop.cpp:
31639 TEncTop: lookAheadCost is a somewhat confusing variable name
31640 [385c0b29be4f]
31641
31642 * source/x265.cpp:
31643 cli: assign poc on input pictures (ignored by encoder, but good
31644 example)
31645 [ef0c1d6fbd26]
31646
31647 * source/common/vec/vec-primitives.cpp:
31648 vec: simplify externs, fix MSVC compiler version dependencies
31649 [090407717725]
31650
31651 * source/Lib/TLibEncoder/TEncCfg.h,
31652 source/Lib/TLibEncoder/TEncTop.cpp:
31653 TEncCfg: use param.decodedPictureHashSEI directly without accessor
31654 [84f9983a5de7]
31655
31656 * source/Lib/TLibEncoder/TEncCfg.h, source/x265.h, source/x265opts.h:
31657 api: rename bEnableDecodedPictureHashSEI (not a bool)
31658 [381e8ea239cb]
31659
31660 * source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h:
31661 api: add sliceType to output pictures
31662 [79ade4825d33]
31663
31664 * source/common/lowres.h, source/x265.h:
31665 api: move slice type macros to public API
31666 [1256b9f2678e]
31667
31668 * source/x265.cpp:
31669 x265: nits
31670 [850a0ddfb3ae]
31671
31672 * source/x265.cpp:
31673 x265: print unrecognized short options as char instead of hex
31674 [883098a93d61]
31675
31676 * source/x265.cpp:
31677 x265: emit a warning message if a short option is invalid
31678 [5a14cf8e8a3b]
31679
31680 * source/x265.cpp:
31681 x265: remove -w short option for disabled weightp command
31682 [e41fd1a98838]
31683
316842013-09-06 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31685
31686 * source/encoder/slicetype.cpp:
31687 slicetype: Handle Bframes immediately preceding an IDR correctly.
31688 [aaeeb869133d]
31689
31690 * source/common/lowres.cpp, source/common/lowres.h,
31691 source/encoder/dpb.cpp, source/encoder/dpb.h,
31692 source/encoder/slicetype.cpp:
31693 Set all I frames as keyframes, change nalunittype decision
31694 accordingly.
31695 [d934cc573e08]
31696
31697 * source/encoder/slicetype.cpp:
31698 slicetype: uncrustified
31699 [66b3f3b38e84]
31700
31701 * source/encoder/slicetype.cpp:
31702 slicetype: B-frames analysis integrated
31703 [86603fe88df5]
31704
31705 * source/encoder/slicetype.cpp:
31706 slicetype: Remove unnecessary initialization
31707 [9c4c2b1c7fe0]
31708
317092013-09-06 Min Chen <chenm003@163.com>
31710
31711 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
31712 review: improvement filterVertical_p_p and filterHorizontal_p_p
31713 [0f79f2f96170]
31714
317152013-09-06 Steve Borho <steve@borho.org>
31716
31717 * source/CMakeLists.txt:
31718 cmake: MSVC does not understand -fPIC
31719 [11e0362a9835]
31720
317212013-09-06 Rafaël Carré <funman@videolan.org>
31722
31723 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake:
31724 Always use -DPIC/-fPIC when targetting x64
31725
31726 Fix link failure when making a shared object on Linux
31727 [ae8499191c12]
31728
317292013-09-06 Steve Borho <steve@borho.org>
31730
31731 * source/encoder/slicetype.cpp:
31732 slicetype: nits
31733 [63364b91b72a]
31734
317352013-09-06 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31736
31737 * source/common/lowres.cpp, source/encoder/slicetype.cpp:
31738 Scenecut detection functional with no bframes
31739 [6b4a050476d1]
31740
317412013-09-05 Steve Borho <steve@borho.org>
31742
31743 * source/Lib/TLibCommon/TComDataCU.cpp,
31744 source/Lib/TLibCommon/TComDataCU.h,
31745 source/Lib/TLibEncoder/TEncSearch.cpp,
31746 source/Lib/TLibEncoder/TEncSearch.h,
31747 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31748 TEncSearch: clip mvmax by a fixed ammount for frame parallelism
31749
31750 When frame parallelism is enabled, we enforce at least merange +
31751 interpolation half-length of reconstructed reference pixels to be
31752 available in all reference frames before allowing the encoder to
31753 begin compressing a given row. So we cannot allow the motion search
31754 to extend beyond merange past the colocated ref block (regardless of
31755 the MVP search starting location).
31756
31757 We can't use the actual number of rows available because this
31758 results in non- determinism.
31759 [f3a583f4d0b1]
31760
31761 * source/x265.cpp:
31762 ppa: use scoped PPA event for writeNALs
31763 [1b49fdef200e]
31764
31765 * source/x265.cpp:
31766 x265: remove redundant help output line
31767 [8baa04aa131e]
31768
31769 * source/encoder/frameencoder.cpp:
31770 frameencoder: poke idle thread after enabling a row
31771
31772 This ensures at least one worker thread sees the state transition
31773 [69c280c82c83]
31774
31775 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
31776 source/encoder/bitcost.h, source/encoder/slicetype.cpp:
31777 bitcost: always use non-I lambda table to seed bitcost table
31778 [2c525d4b2010]
31779
31780 * source/encoder/frameencoder.cpp:
31781 nit
31782 [0a24b5f9c372]
31783
317842013-09-03 Steve Borho <steve@borho.org>
31785
31786 * source/encoder/frameencoder.cpp:
31787 frameencoder: start encoding CU rows once minimum reference row lag
31788 is met
31789 [9c5b11c33960]
31790
317912013-09-05 Steve Borho <steve@borho.org>
31792
31793 * source/encoder/encoder.cpp:
31794 encoder: declare destructor virtual
31795 [54612105847b]
31796
31797 * source/Lib/TLibEncoder/TEncTop.h:
31798 TEncTop: nits
31799 [25bc610d324e]
31800
31801 * source/Lib/TLibEncoder/TEncTop.cpp,
31802 source/Lib/TLibEncoder/TEncTop.h:
31803 TEncTop: statistics lock was no longer necessary, always runs in API
31804 thread ctx
31805 [5e42cbe10f98]
31806
31807 * source/Lib/TLibEncoder/TEncTop.h:
31808 TEncTop: cleanup
31809 [b0ac25bf249a]
31810
318112013-09-06 Aarthi Thirumalai <aarthi@multicorewareinc.com>
31812
31813 * source/encoder/ratecontrol.cpp:
31814 tighten rate control logic for ABR
31815 [9266f876f316]
31816
318172013-09-05 Min Chen <chenm003@163.com>
31818
31819 * source/Lib/TLibCommon/TComDataCU.cpp,
31820 source/Lib/TLibCommon/TComDataCU.h,
31821 source/Lib/TLibCommon/TComMotionInfo.cpp,
31822 source/Lib/TLibCommon/TComMotionInfo.h,
31823 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
31824 source/encoder/framefilter.cpp:
31825 improvement: replace compressMV by index mapping
31826 [d6df26c90ee5]
31827
31828 * source/Lib/TLibCommon/TComDataCU.cpp,
31829 source/Lib/TLibCommon/TComDataCU.h,
31830 source/Lib/TLibCommon/TComMotionInfo.cpp,
31831 source/Lib/TLibCommon/TComMotionInfo.h,
31832 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31833 framepp: move compressMV into loop
31834 [b121e96290e2]
31835
318362013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
31837
31838 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
31839 source/encoder/frameencoder.cpp:
31840 SEI: Replaced STL Classes
31841 [bce4dbc57e09]
31842
31843 * source/encoder/encoder.cpp:
31844 encoder: Added pad size in Malloc
31845 [842e8155f9dc]
31846
318472013-09-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31848
31849 * source/common/common.cpp:
31850 common: keyframeMax should always be >=0
31851 [c30558100e0d]
31852
31853 * source/x265opts.h:
31854 bOpenGOP: remove option openGOP, we only support closed GOP now;
31855 clarify comment
31856 [b3fe7c74c8ca]
31857
31858 * source/encoder/encoder.cpp:
31859 bOpenGOP: Open GOP has nothing to do with keyframe interval
31860 [0a5662f7e27f]
31861
31862 * source/x265.h:
31863 bOpenGOP: clarify in comment
31864 [550ae0ed71a2]
31865
318662013-09-05 Steve Borho <steve@borho.org>
31867
31868 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
31869 TEncTop: hoist compressFrame trigger back into encode() function
31870 [3d5c461db4a7]
31871
31872 * source/Lib/TLibEncoder/TEncTop.cpp,
31873 source/Lib/TLibEncoder/TEncTop.h, source/encoder/frameencoder.cpp,
31874 source/encoder/frameencoder.h:
31875 frameencoder: set QP and lambda on the correct FrameEncoder
31876 [84539616c439]
31877
31878 * source/Lib/TLibEncoder/TEncTop.cpp:
31879 TEncTop: hold a reference for frames connected to FrameEncoders
31880 [3221580e71d6]
31881
31882 * source/encoder/encoder.cpp:
31883 encoder: uncrustify
31884 [135b917429ac]
31885
318862013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
31887
31888 * source/encoder/encoder.cpp:
31889 Encoder: removed STL Container classes
31890 [b1e048696138]
31891
318922013-09-05 Min Chen <chenm003@163.com>
31893
31894 * doc/intra/T16.TXT, doc/intra/T32.TXT, doc/intra/T4.TXT,
31895 doc/intra/T8.TXT, source/common/vec/intrapred.inc:
31896 doc: intra all angles algorithm
31897 [c05c9410a379]
31898
318992013-09-05 Steve Borho <steve@borho.org>
31900
31901 * source/encoder/slicetype.cpp:
31902 slicetype: handle odd keyframe intervals better
31903 [8d73d4ffd725]
31904
319052013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
31906
31907 * source/x265.cpp:
31908 x265Cli: Removed std::string in log
31909 [ce7faa93a060]
31910
319112013-09-05 Steve Borho <steve@borho.org>
31912
31913 * source/PPA/ppaCPUEvents.h, source/encoder/frameencoder.cpp:
31914 ppa: measure a different FrameEncoder method
31915 [9b9c4b842d10]
31916
319172013-09-04 Steve Borho <steve@borho.org>
31918
31919 * source/common/common.cpp, source/encoder/encoder.cpp,
31920 source/x265opts.h:
31921 encoder: make rate control mode implicit from other configs
31922 [6fb582a6d95e]
31923
31924 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/dpb.cpp,
31925 source/encoder/encoder.cpp:
31926 TEncCfg: remove fixed GOP structures
31927 [8b79137bdd37]
31928
31929 * source/Lib/TLibEncoder/TEncTop.cpp:
31930 TEncTop: require --log 4 to dump hash strings
31931
31932 I don't see them being useful for display except for regression
31933 scripts
31934 [a871b170dd2d]
31935
31936 * source/encoder/dpb.cpp:
31937 dpb: do not use fixed GOP cadence to select colocated direction
31938 [80ba827e2150]
31939
31940 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
31941 TEncCfg: remove unused dQP table
31942 [a8a002ebcde2]
31943
31944 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
31945 TEncCfg: remove obsolete configurables
31946 [60c1adcbc34a]
31947
31948 * source/encoder/dpb.cpp:
31949 dpb: nits
31950 [0a211206d496]
31951
31952 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
31953 source/encoder/ratecontrol.cpp:
31954 do not configure QP and lambda twice
31955 [77881138aa1d]
31956
31957 * source/encoder/ratecontrol.cpp:
31958 ratecontrol: assign qp correctly
31959 [ce4c14ba9b85]
31960
31961 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
31962 source/encoder/ratecontrol.h:
31963 ratecontrol: move CQP support into our code
31964 [7bcd5530d55a]
31965
31966 * source/encoder/frameencoder.cpp:
31967 FrameEncoder: remove min gop size from depth calculation
31968 [9ba4683de281]
31969
31970 * source/Lib/TLibEncoder/TEncTop.cpp:
31971 TEncTop: hard code setNumRefIdxL0DefaultActive() and L1 default
31972
31973 This was failing in debug with -i1
31974 [6a47835b91e1]
31975
31976 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lowres.h,
31977 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
31978 source/encoder/frameencoder.h, source/encoder/slicetype.cpp:
31979 slicetype: remove gopIdx from lookahead output, simplify fake
31980 lookahead
31981
31982 CQP uses a simple offset for non-I slices (temporary hack)
31983 [23911d66a504]
31984
31985 * source/Lib/TLibEncoder/TEncCu.cpp,
31986 source/Lib/TLibEncoder/TEncEntropy.cpp,
31987 source/Lib/TLibEncoder/TEncEntropy.h,
31988 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
31989 source/encoder/compress.cpp, source/encoder/frameencoder.cpp:
31990 TEncEntropy: remove hungarian prefixes
31991 [b48bafd35b68]
31992
31993 * source/Lib/TLibEncoder/TEncTop.cpp:
31994 TEncTop: remove hungarian prefixes from function arguments
31995 [99a1fb3c4730]
31996
31997 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31998 FrameEncoder: stop passing pic pointer to methods, use m_pic
31999 [ead51e579c13]
32000
32001 * source/encoder/frameencoder.cpp:
32002 FrameEncoder: remove extra white-space
32003 [493d0dfc608a]
32004
32005 * source/Lib/TLibEncoder/TEncTop.cpp:
32006 TEncTop: remove trailing white-space
32007 [ce33f819359b]
32008
32009 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp:
32010 SEI: remove hungarian prefixes
32011 [a2c84fdf74d7]
32012
32013 * source/Lib/TLibCommon/TComSlice.cpp:
32014 TComSlice: missed deletion
32015 [43a27c6d551d]
32016
320172013-09-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32018
32019 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
32020 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
32021 source/encoder/slicetype.cpp:
32022 using slicetypes from lookahead
32023 [7df7dab02f10]
32024
320252013-09-04 Min Chen <chenm003@163.com>
32026
32027 * source/encoder/framefilter.cpp:
32028 Fix bug in PCM mode
32029 [6b2797b588c7]
32030
320312013-09-04 Gopu Govindaswamy <gopu@multicorewareinc.com>
32032
32033 * source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
32034 TComSlice : Removed Unused std::vector Variable
32035 [6ef1bd02dd48]
32036
320372013-09-04 Steve Borho <steve@borho.org>
32038
32039 * source/common/common.cpp:
32040 common: replace std::string with const char *
32041 [70966790b40e]
32042
32043 * source/CMakeLists.txt:
32044 cmake: make -Werror on GCC a build option defaulting to off
32045
32046 It can be enabled on build-bots, etc, but not block typical
32047 development
32048 [e694a5fbf527]
32049
32050 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
32051 coding style
32052 [209566e9acc5]
32053
320542013-09-04 sumalatha <sumalatha>
32055
32056 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32057 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
32058 QP- Lambda table -x265_lambda2_tab_I , x265_lambda2_tab_non_ I : for
32059 inter and intra blocks
32060 [5f0f2466345f]
32061
320622013-09-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32063
32064 * source/encoder/dpb.cpp:
32065 dpb: encode structure limitations
32066
32067 Min GOP size for IP config is 4, for B frames it is 8. Keyframe
32068 interval should be a multiple of min GOP size.
32069 [a4cec6558ccc]
32070
32071 * source/Lib/TLibEncoder/TEncCfg.h,
32072 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
32073 source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
32074 TEncCfg: rename getGopSize to getGopSizeMin()
32075 [375d9f3157c1]
32076
32077 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/dpb.cpp,
32078 source/encoder/encoder.cpp:
32079 dpb: rename m_gopsize in TEncCfg.h to gopsizeMin
32080 [9c558cf50fde]
32081
32082 * source/common/common.cpp:
32083 framepp: number of frame threads always less than lookahead depth
32084 [06862133aecc]
32085
320862013-09-04 Steve Borho <steve@borho.org>
32087
32088 * source/Lib/TLibCommon/TypeDef.h:
32089 TypeDef: give explicit namespace to X265_DEPTH for 16bpp builds
32090 [e7cfb49dc587]
32091
320922013-09-03 Steve Borho <steve@borho.org>
32093
32094 * source/common/common.cpp:
32095 common: prune default search length to 60, for optimal frame
32096 parallelism
32097 [3ca96381d4f0]
32098
32099 * source/encoder/frameencoder.cpp:
32100 frameencoder: clear enabled row bitmask at the start of each frame
32101 [1e8a103ef4d5]
32102
32103 * source/common/wavefront.cpp, source/common/wavefront.h:
32104 wavefront: add a method to clear the enabled bitmask
32105 [3fd72a7b33b8]
32106
32107 * source/encoder/frameencoder.cpp:
32108 frameencoder: remove TODO comment, it was already done
32109 [e976fe0b62bd]
32110
32111 * source/Lib/TLibCommon/TComPrediction.cpp:
32112 TComPrediction: use pre-allocated temp buffer for weighted and
32113 chroma MC
32114 [6dde4a22e763]
32115
32116 * source/Lib/TLibCommon/TComDataCU.h,
32117 source/Lib/TLibCommon/TComMotionInfo.h,
32118 source/Lib/TLibCommon/TComPic.h,
32119 source/Lib/TLibCommon/TComPicYuv.cpp,
32120 source/Lib/TLibCommon/TComPicYuv.h,
32121 source/Lib/TLibCommon/TComPrediction.cpp,
32122 source/Lib/TLibCommon/TComPrediction.h,
32123 source/Lib/TLibCommon/TComSlice.h,
32124 source/Lib/TLibCommon/TComTrQuant.cpp,
32125 source/Lib/TLibCommon/TComWeightPrediction.cpp,
32126 source/Lib/TLibCommon/TComYuv.cpp,
32127 source/Lib/TLibEncoder/TEncSearch.cpp,
32128 source/Lib/TLibEncoder/TEncSearch.h,
32129 source/Lib/TLibEncoder/TEncTop.cpp,
32130 source/Lib/TLibEncoder/TEncTop.h, source/common/lowres.cpp,
32131 source/common/primitives.cpp, source/common/vec/blockcopy.inc,
32132 source/common/x86/asm-primitives.cpp, source/encoder/compress.cpp,
32133 source/encoder/dpb.cpp, source/encoder/dpb.h,
32134 source/encoder/encoder.cpp, source/encoder/frameencoder.h,
32135 source/encoder/slicetype.cpp, source/test/intrapredharness.cpp,
32136 source/test/intrapredharness.h, source/test/ipfilterharness.cpp,
32137 source/test/ipfilterharness.h, source/test/mbdstharness.h,
32138 source/test/pixelharness.cpp, source/test/pixelharness.h,
32139 source/test/testharness.h, source/x265.cpp:
32140 remove redundant x265 namespace qualifiers
32141 [7f8b72995aee]
32142
32143 * source/Lib/TLibCommon/TComDataCU.cpp:
32144 tpyo
32145 [ade4ff7e2cb8]
32146
32147 * source/Lib/TLibCommon/TComDataCU.cpp,
32148 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32149 source/Lib/TLibCommon/TComSlice.cpp,
32150 source/Lib/TLibCommon/TComTrQuant.cpp,
32151 source/Lib/TLibEncoder/TEncCavlc.cpp,
32152 source/Lib/TLibEncoder/TEncEntropy.cpp,
32153 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32154 source/Lib/TLibEncoder/TEncSbac.cpp,
32155 source/Lib/TLibEncoder/TEncSearch.cpp,
32156 source/encoder/frameencoder.cpp:
32157 use X265_MIN/X265_MAX to avoid GCC warnings
32158 [a68aded38e69]
32159
32160 * source/Lib/TLibEncoder/TEncAnalyze.h,
32161 source/Lib/TLibEncoder/TEncCu.cpp,
32162 source/Lib/TLibEncoder/TEncTop.cpp:
32163 TEncAnalyze: cleanup hungarian notation and other issues
32164 [6044f5d13785]
32165
32166 * COPYING:
32167 COPYING: add a mention to our available commercial license
32168 [2fa5d1060ded]
32169
32170 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
32171 source/Lib/TLibCommon/TComDataCU.cpp,
32172 source/Lib/TLibCommon/TComDataCU.h,
32173 source/Lib/TLibCommon/TComLoopFilter.cpp,
32174 source/Lib/TLibCommon/TComLoopFilter.h,
32175 source/Lib/TLibCommon/TComPattern.cpp,
32176 source/Lib/TLibCommon/TComPattern.h,
32177 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
32178 source/Lib/TLibCommon/TComPicYuv.cpp,
32179 source/Lib/TLibCommon/TComPicYuv.h,
32180 source/Lib/TLibCommon/TComPrediction.cpp,
32181 source/Lib/TLibCommon/TComPrediction.h,
32182 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32183 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32184 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
32185 source/Lib/TLibCommon/TComSlice.cpp,
32186 source/Lib/TLibCommon/TComSlice.h,
32187 source/Lib/TLibCommon/TComTrQuant.cpp,
32188 source/Lib/TLibCommon/TComTrQuant.h,
32189 source/Lib/TLibCommon/TComWeightPrediction.cpp,
32190 source/Lib/TLibCommon/TComWeightPrediction.h,
32191 source/Lib/TLibCommon/TypeDef.h,
32192 source/Lib/TLibEncoder/SEIwrite.cpp,
32193 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
32194 source/Lib/TLibEncoder/TEncCavlc.cpp,
32195 source/Lib/TLibEncoder/TEncCavlc.h,
32196 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
32197 source/Lib/TLibEncoder/TEncCu.h,
32198 source/Lib/TLibEncoder/TEncEntropy.cpp,
32199 source/Lib/TLibEncoder/TEncEntropy.h,
32200 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32201 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
32202 source/Lib/TLibEncoder/TEncSbac.cpp,
32203 source/Lib/TLibEncoder/TEncSbac.h,
32204 source/Lib/TLibEncoder/TEncSearch.cpp,
32205 source/Lib/TLibEncoder/TEncSearch.h,
32206 source/Lib/TLibEncoder/TEncTop.cpp,
32207 source/Lib/TLibEncoder/TEncTop.h,
32208 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
32209 source/Lib/TLibEncoder/WeightPredAnalysis.h,
32210 source/encoder/compress.cpp, source/encoder/dpb.cpp,
32211 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
32212 source/encoder/framefilter.cpp, source/test/intrapredharness.cpp:
32213 reorg: replace HM's Bool typedef globally with C++ bool
32214 [4cbd0c51baa9]
32215
32216 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32217 source/Lib/TLibCommon/TypeDef.h:
32218 reorg: replace HM's Float typedef globally with C float
32219 [2feaea24b9ff]
32220
32221 * source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
32222 source/Lib/TLibCommon/TComRdCost.h,
32223 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
32224 source/Lib/TLibCommon/TComSlice.h,
32225 source/Lib/TLibCommon/TComTrQuant.cpp,
32226 source/Lib/TLibCommon/TComTrQuant.h,
32227 source/Lib/TLibCommon/TypeDef.h,
32228 source/Lib/TLibEncoder/TEncAnalyze.h,
32229 source/Lib/TLibEncoder/TEncCfg.h,
32230 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32231 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
32232 source/Lib/TLibEncoder/TEncSearch.cpp,
32233 source/Lib/TLibEncoder/TEncSearch.h,
32234 source/Lib/TLibEncoder/TEncTop.cpp,
32235 source/Lib/TLibEncoder/TEncTop.h,
32236 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
32237 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
32238 reorg: replace HM's Double typedef globally with C double
32239 [84e4e7bd4ba8]
32240
32241 * source/Lib/TLibCommon/ContextModel.cpp,
32242 source/Lib/TLibCommon/ContextModel.h,
32243 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
32244 source/Lib/TLibCommon/ContextModel3DBuffer.h,
32245 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
32246 source/Lib/TLibCommon/TComBitStream.cpp,
32247 source/Lib/TLibCommon/TComBitStream.h,
32248 source/Lib/TLibCommon/TComDataCU.cpp,
32249 source/Lib/TLibCommon/TComDataCU.h,
32250 source/Lib/TLibCommon/TComLoopFilter.cpp,
32251 source/Lib/TLibCommon/TComLoopFilter.h,
32252 source/Lib/TLibCommon/TComMotionInfo.cpp,
32253 source/Lib/TLibCommon/TComMotionInfo.h,
32254 source/Lib/TLibCommon/TComPattern.cpp,
32255 source/Lib/TLibCommon/TComPattern.h,
32256 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
32257 source/Lib/TLibCommon/TComPicSym.cpp,
32258 source/Lib/TLibCommon/TComPicSym.h,
32259 source/Lib/TLibCommon/TComPicYuv.cpp,
32260 source/Lib/TLibCommon/TComPicYuv.h,
32261 source/Lib/TLibCommon/TComPrediction.cpp,
32262 source/Lib/TLibCommon/TComPrediction.h,
32263 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32264 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32265 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
32266 source/Lib/TLibCommon/TComSlice.cpp,
32267 source/Lib/TLibCommon/TComSlice.h,
32268 source/Lib/TLibCommon/TComTrQuant.cpp,
32269 source/Lib/TLibCommon/TComTrQuant.h,
32270 source/Lib/TLibCommon/TComWeightPrediction.cpp,
32271 source/Lib/TLibCommon/TComWeightPrediction.h,
32272 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
32273 source/Lib/TLibCommon/TypeDef.h,
32274 source/Lib/TLibEncoder/SEIwrite.cpp,
32275 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
32276 source/Lib/TLibEncoder/SyntaxElementWriter.h,
32277 source/Lib/TLibEncoder/TEncBinCoder.h,
32278 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
32279 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
32280 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
32281 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
32282 source/Lib/TLibEncoder/TEncCavlc.cpp,
32283 source/Lib/TLibEncoder/TEncCavlc.h,
32284 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
32285 source/Lib/TLibEncoder/TEncCu.h,
32286 source/Lib/TLibEncoder/TEncEntropy.cpp,
32287 source/Lib/TLibEncoder/TEncEntropy.h,
32288 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32289 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
32290 source/Lib/TLibEncoder/TEncSbac.cpp,
32291 source/Lib/TLibEncoder/TEncSbac.h,
32292 source/Lib/TLibEncoder/TEncSearch.cpp,
32293 source/Lib/TLibEncoder/TEncSearch.h,
32294 source/Lib/TLibEncoder/TEncTop.cpp,
32295 source/Lib/TLibEncoder/TEncTop.h,
32296 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
32297 source/Lib/TLibEncoder/WeightPredAnalysis.h,
32298 source/common/TShortYUV.h, source/common/dct.cpp,
32299 source/common/ipfilter.cpp, source/common/lowres.cpp,
32300 source/common/vec/dct.inc, source/encoder/compress.cpp,
32301 source/encoder/cturow.cpp, source/encoder/dpb.cpp,
32302 source/encoder/dpb.h, source/encoder/encoder.cpp,
32303 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
32304 source/encoder/slicetype.cpp:
32305 reorg: replace HM's Int typedef globally with C int
32306 [236d8e715ef2]
32307
32308 * source/Lib/TLibCommon/ContextModel.h,
32309 source/Lib/TLibCommon/TComLoopFilter.cpp,
32310 source/Lib/TLibCommon/TComPrediction.cpp,
32311 source/Lib/TLibCommon/TComPrediction.h,
32312 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32313 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32314 source/Lib/TLibCommon/TComTrQuant.cpp,
32315 source/Lib/TLibCommon/TComTrQuant.h,
32316 source/Lib/TLibCommon/TComWeightPrediction.cpp,
32317 source/Lib/TLibCommon/TComYuv.cpp,
32318 source/Lib/TLibEncoder/TEncSearch.cpp,
32319 source/Lib/TLibEncoder/TEncSearch.h, source/common/TShortYUV.cpp,
32320 source/common/dct.cpp, source/common/vec/dct.inc,
32321 source/encoder/slicetype.cpp:
32322 reorg: replace HM's Short typedef globally with C short
32323 [e44a6950d22a]
32324
32325 * source/Lib/TLibCommon/TComBitStream.cpp,
32326 source/Lib/TLibCommon/TComBitStream.h,
32327 source/Lib/TLibCommon/TComDataCU.cpp,
32328 source/Lib/TLibCommon/TComDataCU.h,
32329 source/Lib/TLibCommon/TComMotionInfo.cpp,
32330 source/Lib/TLibCommon/TComMotionInfo.h,
32331 source/Lib/TLibCommon/TComPicYuv.cpp,
32332 source/Lib/TLibCommon/TComPicYuv.h,
32333 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32334 source/Lib/TLibCommon/TComSlice.cpp,
32335 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
32336 source/Lib/TLibEncoder/NALwrite.cpp,
32337 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
32338 source/Lib/TLibEncoder/SyntaxElementWriter.h,
32339 source/Lib/TLibEncoder/TEncAnalyze.h,
32340 source/Lib/TLibEncoder/TEncCavlc.cpp,
32341 source/Lib/TLibEncoder/TEncCavlc.h,
32342 source/Lib/TLibEncoder/TEncCfg.h,
32343 source/Lib/TLibEncoder/TEncEntropy.h,
32344 source/Lib/TLibEncoder/TEncSbac.h,
32345 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
32346 reorg: replace HM's Char typedef globally with C char
32347 [37b99feefbfd]
32348
32349 * source/Lib/TLibCommon/ContextModel.cpp,
32350 source/Lib/TLibCommon/ContextModel.h,
32351 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
32352 source/Lib/TLibCommon/ContextModel3DBuffer.h,
32353 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
32354 source/Lib/TLibCommon/TComBitCounter.h,
32355 source/Lib/TLibCommon/TComBitStream.cpp,
32356 source/Lib/TLibCommon/TComBitStream.h,
32357 source/Lib/TLibCommon/TComDataCU.cpp,
32358 source/Lib/TLibCommon/TComDataCU.h,
32359 source/Lib/TLibCommon/TComList.h,
32360 source/Lib/TLibCommon/TComLoopFilter.cpp,
32361 source/Lib/TLibCommon/TComLoopFilter.h,
32362 source/Lib/TLibCommon/TComMotionInfo.cpp,
32363 source/Lib/TLibCommon/TComMotionInfo.h,
32364 source/Lib/TLibCommon/TComPattern.cpp,
32365 source/Lib/TLibCommon/TComPattern.h,
32366 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
32367 source/Lib/TLibCommon/TComPicSym.cpp,
32368 source/Lib/TLibCommon/TComPicSym.h,
32369 source/Lib/TLibCommon/TComPicYuv.cpp,
32370 source/Lib/TLibCommon/TComPicYuv.h,
32371 source/Lib/TLibCommon/TComPrediction.cpp,
32372 source/Lib/TLibCommon/TComPrediction.h,
32373 source/Lib/TLibCommon/TComRdCost.h,
32374 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32375 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32376 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
32377 source/Lib/TLibCommon/TComSlice.cpp,
32378 source/Lib/TLibCommon/TComSlice.h,
32379 source/Lib/TLibCommon/TComTrQuant.cpp,
32380 source/Lib/TLibCommon/TComTrQuant.h,
32381 source/Lib/TLibCommon/TComWeightPrediction.cpp,
32382 source/Lib/TLibCommon/TComWeightPrediction.h,
32383 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
32384 source/Lib/TLibCommon/TypeDef.h,
32385 source/Lib/TLibEncoder/NALwrite.cpp,
32386 source/Lib/TLibEncoder/SEIwrite.cpp,
32387 source/Lib/TLibEncoder/SEIwrite.h,
32388 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
32389 source/Lib/TLibEncoder/SyntaxElementWriter.h,
32390 source/Lib/TLibEncoder/TEncAnalyze.h,
32391 source/Lib/TLibEncoder/TEncBinCoder.h,
32392 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
32393 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
32394 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
32395 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
32396 source/Lib/TLibEncoder/TEncCavlc.cpp,
32397 source/Lib/TLibEncoder/TEncCavlc.h,
32398 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
32399 source/Lib/TLibEncoder/TEncCu.h,
32400 source/Lib/TLibEncoder/TEncEntropy.cpp,
32401 source/Lib/TLibEncoder/TEncEntropy.h,
32402 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32403 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
32404 source/Lib/TLibEncoder/TEncSbac.cpp,
32405 source/Lib/TLibEncoder/TEncSbac.h,
32406 source/Lib/TLibEncoder/TEncSearch.cpp,
32407 source/Lib/TLibEncoder/TEncSearch.h,
32408 source/Lib/TLibEncoder/TEncTop.cpp,
32409 source/Lib/TLibEncoder/TEncTop.h,
32410 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
32411 source/Lib/TLibEncoder/WeightPredAnalysis.h,
32412 source/common/TShortYUV.cpp, source/encoder/compress.cpp,
32413 source/encoder/dpb.cpp, source/encoder/dpb.h,
32414 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
32415 reorg: replace HM's Void typedef globally with C void
32416 [1a9780eb8bea]
32417
32418 * source/Lib/TLibCommon/TComCABACTables.cpp,
32419 source/Lib/TLibCommon/TComCABACTables.h,
32420 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32421 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
32422 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
32423 merge statically defined CABAC constant tables into TComRom
32424 [25c5139fe205]
32425
32426 * source/Lib/TLibEncoder/AnnexBwrite.h:
32427 remove unused AnnexBwrite.h
32428 [a867152e7071]
32429
32430 * source/Lib/TLibCommon/AccessUnit.h,
32431 source/Lib/TLibCommon/ContextModel.cpp,
32432 source/Lib/TLibCommon/ContextModel.h,
32433 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
32434 source/Lib/TLibCommon/ContextModel3DBuffer.h,
32435 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
32436 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
32437 source/Lib/TLibCommon/TComBitCounter.h,
32438 source/Lib/TLibCommon/TComBitStream.cpp,
32439 source/Lib/TLibCommon/TComBitStream.h,
32440 source/Lib/TLibCommon/TComCABACTables.cpp,
32441 source/Lib/TLibCommon/TComCABACTables.h,
32442 source/Lib/TLibCommon/TComDataCU.cpp,
32443 source/Lib/TLibCommon/TComDataCU.h,
32444 source/Lib/TLibCommon/TComList.h,
32445 source/Lib/TLibCommon/TComLoopFilter.h,
32446 source/Lib/TLibCommon/TComMotionInfo.h,
32447 source/Lib/TLibCommon/TComPattern.cpp,
32448 source/Lib/TLibCommon/TComPattern.h,
32449 source/Lib/TLibCommon/TComPic.h,
32450 source/Lib/TLibCommon/TComPicSym.cpp,
32451 source/Lib/TLibCommon/TComPicSym.h,
32452 source/Lib/TLibCommon/TComPicYuv.h,
32453 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
32454 source/Lib/TLibCommon/TComPrediction.cpp,
32455 source/Lib/TLibCommon/TComPrediction.h,
32456 source/Lib/TLibCommon/TComRdCost.h,
32457 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32458 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32459 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
32460 source/Lib/TLibCommon/TComSlice.cpp,
32461 source/Lib/TLibCommon/TComSlice.h,
32462 source/Lib/TLibCommon/TComTrQuant.cpp,
32463 source/Lib/TLibCommon/TComTrQuant.h,
32464 source/Lib/TLibCommon/TComWeightPrediction.cpp,
32465 source/Lib/TLibCommon/TComWeightPrediction.h,
32466 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
32467 source/Lib/TLibCommon/TypeDef.h,
32468 source/Lib/TLibEncoder/NALwrite.cpp,
32469 source/Lib/TLibEncoder/NALwrite.h,
32470 source/Lib/TLibEncoder/SEIwrite.cpp,
32471 source/Lib/TLibEncoder/SEIwrite.h,
32472 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
32473 source/Lib/TLibEncoder/SyntaxElementWriter.h,
32474 source/Lib/TLibEncoder/TEncAnalyze.h,
32475 source/Lib/TLibEncoder/TEncBinCoder.h,
32476 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
32477 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
32478 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
32479 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
32480 source/Lib/TLibEncoder/TEncCavlc.cpp,
32481 source/Lib/TLibEncoder/TEncCavlc.h,
32482 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
32483 source/Lib/TLibEncoder/TEncEntropy.cpp,
32484 source/Lib/TLibEncoder/TEncEntropy.h,
32485 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
32486 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
32487 source/Lib/TLibEncoder/TEncSbac.cpp,
32488 source/Lib/TLibEncoder/TEncSbac.h,
32489 source/Lib/TLibEncoder/TEncSearch.h,
32490 source/Lib/TLibEncoder/TEncTop.h,
32491 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
32492 source/Lib/TLibEncoder/WeightPredAnalysis.h,
32493 source/common/TShortYUV.cpp, source/common/TShortYUV.h,
32494 source/common/common.cpp, source/common/dct.cpp,
32495 source/common/intrapred.cpp, source/common/ipfilter.cpp,
32496 source/common/lowres.h, source/common/pixel.cpp,
32497 source/common/primitives.cpp, source/common/reference.h,
32498 source/common/vec/dct.inc, source/common/vec/intrapred.inc,
32499 source/common/vec/ipfilter8.inc, source/encoder/cturow.h,
32500 source/encoder/dpb.h, source/encoder/frameencoder.h,
32501 source/encoder/framefilter.h, source/encoder/ratecontrol.h,
32502 source/encoder/slicetype.h:
32503 reorg: move HM classes and functions under x265 namespace
32504
32505 This makes it possible to link x265 and HM into a single application
32506 [aa94afeb8368]
32507
325082013-09-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
32509
32510 * source/common/ipfilter.cpp:
32511 ipfilter : extendCURowColBorder() performance tuning
32512 [30daf6927e11]
32513
325142013-09-03 praveen Tiwari <praveen Tiwari>
32515
32516 * source/common/vec/pixel8.inc:
32517 pixel8.inc: VC9 fix for SAD_4, 'pextrd' replaced with 'movd'
32518 [15c21c4da368]
32519
325202013-09-03 Steve Borho <steve@borho.org>
32521
32522 * source/common/common.cpp:
32523 common: log nit
32524 [b27576343f8c]
32525
32526 * source/common/common.cpp, source/common/wavefront.cpp,
32527 source/encoder/dpb.h, source/encoder/frameencoder.cpp,
32528 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
32529 source/encoder/framefilter.h, source/encoder/slicetype.h:
32530 uncrustify
32531 [71ee73499db4]
32532
32533 * source/common/vec/pixel8.inc:
32534 pixel8: sad_x4_16 improvements
32535 [2a2c74c9eb02]
32536
32537 * source/common/vec/pixel8.inc:
32538 pixel8: sad_x4_4 improvements
32539 [7caa93beb17f]
32540
32541 * source/common/vec/pixel8.inc:
32542 pixel8: sad_x3_16 improvements
32543 [9e5372fe1f6c]
32544
32545 * source/common/vec/pixel8.inc:
32546 pixel8: sad_x3_8 improvements
32547 [92256af4cf8b]
32548
32549 * source/common/vec/pixel8.inc:
32550 pixel8: sad_x3_4 improvements
32551 [ae93ad833228]
32552
32553 * source/encoder/frameencoder.cpp:
32554 frameencoder: fix initialization order
32555 [d62d57018d3d]
32556
32557 * source/encoder/slicetype.cpp:
32558 slicetype: fix unsigned/signed comparison
32559 [8e4e2f0c10a9]
32560
32561 * source/common/lowres.h, source/encoder/slicetype.h:
32562 lowres: move slice type defines into common/
32563
32564 headers in common/ should not include encoder/ headers
32565 [07599fd4a497]
32566
325672013-09-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32568
32569 * source/common/common.cpp:
32570 framepp: Changing output message
32571 [9a2eaa27b174]
32572
325732013-09-03 Min Chen <chenm003@163.com>
32574
32575 * source/Lib/TLibCommon/TComDataCU.cpp,
32576 source/Lib/TLibCommon/TComDataCU.h,
32577 source/Lib/TLibCommon/TComPicYuv.cpp,
32578 source/Lib/TLibCommon/TComPicYuv.h,
32579 source/Lib/TLibEncoder/TEncCu.cpp,
32580 source/Lib/TLibEncoder/TEncSearch.cpp,
32581 source/Lib/TLibEncoder/TEncSearch.h,
32582 source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
32583 source/common/ipfilter.cpp, source/common/primitives.h,
32584 source/common/wavefront.cpp, source/common/wavefront.h,
32585 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
32586 source/encoder/frameencoder.h, source/encoder/framefilter.cpp:
32587 framepp: Active frame parallelism
32588 [bc1887f2bbc4]
32589
325902013-09-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
32591
32592 * source/encoder/slicetype.cpp:
32593 Used slicetypeAnalyse() in slicetypeDecide()
32594
32595 # HG changeset patch # User Shazeb Nawaz Khan
32596 <shazeb@multicorewareinc.com> # Date 1378118764 -19800 # Mon Sep 02
32597 16:16:04 2013 +0530 # Node ID
32598 e4a57ae74dd96ceb31815a44098b81872e494fff # Parent
32599 e2d93166e034040d61c897264e1dfe7aeeb3d661 Used slicetypeAnalyse() in
32600 slicetypeDecide()
32601 [2f9fcf768918]
32602
32603 * source/encoder/slicetype.cpp:
32604 Fixed slicetypeAnalyse() for no-B config
32605
32606 # HG changeset patch # User Shazeb Nawaz Khan
32607 <shazeb@multicorewareinc.com> # Date 1378118617 -19800 # Mon Sep 02
32608 16:13:37 2013 +0530 # Node ID
32609 e2d93166e034040d61c897264e1dfe7aeeb3d661 # Parent
32610 3ea029900ab3ee58ed6b16c5c5a0a89975ba8c03 Fixed slicetypeAnalyse()
32611 for no-B config
32612 [e4142126e8ac]
32613
326142013-09-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
32615
32616 * source/common/ipfilter.cpp, source/common/primitives.h,
32617 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
32618 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
32619 ipfilter : Removed unused filterHorizontalExtendCol from testbench
32620 and primitive
32621 [e3e4e2c33331]
32622
326232013-09-02 praveen Tiwari <praveen Tiwari>
32624
32625 * source/common/vec/pixel8.inc:
32626 pixel8.inc: Optimization with sad_x4 4xn
32627 [3ea029900ab3]
32628
326292013-09-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32630
32631 * source/common/common.cpp:
32632 slicetype: keyframe min and max values inported from x264
32633 [10ec000a0902]
32634
32635 * source/common/common.cpp:
32636 slicetype: default value for scenecutThreshold pulled in from x264
32637 [e347a519e060]
32638
32639 * source/common/lowres.cpp, source/common/lowres.h,
32640 source/encoder/slicetype.cpp:
32641 slicetype: Double defined macros replaced.
32642
32643 Todo: investigate whether its safe to replace the table with just I,
32644 P, B (2,1,0) according to Table 7-7
32645 [d3a13581ef98]
32646
326472013-09-01 Steve Borho <steve@borho.org>
32648
32649 * source/Lib/TLibCommon/TComPrediction.cpp,
32650 source/Lib/TLibCommon/TComPrediction.h:
32651 TComPrediction: pre-allocate intermediates temp buffer
32652 [5c27dd5f8542]
32653
32654 * source/Lib/TLibCommon/TComPrediction.cpp:
32655 TComPrediction: simplify xPredInterLumaBlk
32656 [98ea1b8fcfea]
32657
32658 * source/encoder/motion.cpp:
32659 motion: split mvcost from subpelCompare
32660 [6948b2b8d1fd]
32661
32662 * source/encoder/motion.cpp:
32663 replace 64s with MAX_CU_SIZE
32664 [7ce07886514a]
32665
32666 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake,
32667 source/common/vec/CMakeLists.txt, source/common/vec/vec-
32668 primitives.cpp:
32669 cmake: detect and handle Mac OS X 10.8 default compiler
32670
32671 It can't build any of the vector primitives, but at least now it
32672 generates a working x265 exectuable
32673 [6410d56ae417]
32674
326752013-07-25 Vittorio Giovara <vittorio.giovara@gmail.com>
32676
32677 * source/x265.cpp, source/x265opts.h:
32678 replace --width and --height with --input-res
32679 [d41fadfab6de]
32680
32681 * source/x265opts.h:
32682 change 'rate' option to 'fps'
32683 [20a4642c6f5b]
32684
326852013-09-01 Steve Borho <steve@borho.org>
32686
32687 * source/encoder/motion.cpp:
32688 motion: lowres qpel
32689 [61b2b54bf21b]
32690
32691 * source/encoder/motion.cpp:
32692 motion: simplify subpel logic
32693 [dab5d5e5e69c]
32694
32695 * source/encoder/motion.cpp, source/encoder/motion.h:
32696 motion: use lowresPlane for lowres subpel, make pixelcmp_t an
32697 argument
32698 [33900a0ca821]
32699
32700 * source/Lib/TLibCommon/TComPicYuv.cpp,
32701 source/Lib/TLibCommon/TComPicYuv.h, source/common/lowres.cpp,
32702 source/common/reference.cpp, source/common/reference.h,
32703 source/encoder/frameencoder.cpp, source/encoder/motion.cpp,
32704 source/encoder/slicetype.cpp:
32705 reference: remove lumaPlane[][] and prior calculation
32706 [90af58daa658]
32707
32708 * source/common/reference.cpp, source/common/reference.h,
32709 source/encoder/motion.cpp, source/encoder/motion.h:
32710 motion: cleanup subpel on-demand generation
32711 [546d00cfe1fd]
32712
32713 * source/encoder/motion.cpp:
32714 motion: fix include slash
32715 [c937dc7f6d8e]
32716
32717 * source/common/ipfilter.cpp, source/common/pixel.cpp,
32718 source/common/primitives.h, source/common/vec/ipfilter16.inc,
32719 source/common/vec/ipfilter8.inc, source/common/vec/pixel8.inc:
32720 primitives: use intptr_t for stride arguments
32721 [a2ff0d818bdf]
32722
327232013-09-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32724
32725 * source/Lib/TLibCommon/TComRdCost.cpp,
32726 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
32727 source/Lib/TLibCommon/TComRdCostWeightPrediction.h:
32728 Merge
32729 [c31b254a4bfc]
32730
32731 * source/Lib/TLibCommon/TComPicYuv.cpp:
32732 reference: no pre-generating reference planes
32733 [35a513f3263b]
32734
32735 * source/encoder/motion.cpp:
32736 motion: replace intermediate values with a tmp buffer.
32737 [0106d1f8d2a2]
32738
32739 * source/encoder/motion.cpp:
32740 motion: COST_QMV redefined
32741 [95d92294576d]
32742
32743 * source/common/reference.cpp, source/common/reference.h,
32744 source/encoder/motion.cpp:
32745 motion: correct strides in subpel buffer and intermediate values
32746 buffer
32747 [2cc40cfee287]
32748
327492013-08-31 Gopu Govindaswamy <gopu@multicorewareinc.com>
32750
32751 * source/common/reference.cpp, source/common/reference.h,
32752 source/encoder/motion.cpp, source/encoder/motion.h:
32753 Motion :subpel Generation
32754 [1032a9893607]
32755
327562013-08-31 Steve Borho <steve@borho.org>
32757
32758 * source/Lib/TLibCommon/TComSlice.cpp:
32759 TComSlice: fix init order for GCC
32760 [0e0a822fd344]
32761
32762 * source/Lib/TLibCommon/TComRdCost.h:
32763 TComRdCost: add missing include of math.h (sqrt)
32764 [86e371cdb75e]
32765
32766 * source/CMakeLists.txt, source/cmake/mergestaticlibs.cmake,
32767 source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
32768 cmake: add ENABLE_STATICLIB build option (requires some black magic)
32769 [02846fb1a082]
32770
32771 * source/Lib/TLibCommon/TComRdCost.h:
32772 TComRdCost: remove unused includes
32773 [33efbdbb527c]
32774
32775 * source/Lib/TLibEncoder/TEncSearch.cpp:
32776 TEncSearch: remove buffer copy for full-pel SATD measurement
32777 [043b414d4317]
32778
32779 * source/Lib/TLibCommon/TComRdCost.cpp,
32780 source/Lib/TLibCommon/TComRdCost.h,
32781 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
32782 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
32783 source/Lib/TLibEncoder/TEncSearch.cpp,
32784 source/Lib/TLibEncoder/TEncSearch.h:
32785 TComRdCost: remove distortion functions and
32786 TComRdCostWeightPrediction
32787
32788 TComRdCost is now just a pure-inline class with no CPP
32789 [48e8b5c0fd9b]
32790
327912013-08-30 Steve Borho <steve@borho.org>
32792
32793 * source/x265opts.h:
32794 x265: disable weighted unipred CLI option
32795
32796 The recent changes to TComPrediction::xPredInterLumaBlk() to
32797 generate subpel on demand almost certainly busted weighted
32798 prediction.
32799 [326e3757c130]
32800
32801 * source/x265opts.h:
32802 x265: disable weighted bipred CLI option
32803 [dd2e8492b873]
32804
32805 * source/Lib/TLibEncoder/TEncSearch.cpp:
32806 TEncSearch: simplify refPic initialization
32807 [9d8b579bf811]
32808
32809 * source/Lib/TLibEncoder/TEncSearch.cpp,
32810 source/Lib/TLibEncoder/TEncSearch.h:
32811 TEncSearch: use optimized satd primitives for bidir fractional
32812 search
32813 [aa7343de0a87]
32814
32815 * source/Lib/TLibEncoder/TEncSearch.cpp:
32816 TEncSearch: fix a typo
32817 [7866a8b3d925]
32818
32819 * source/Lib/TLibEncoder/TEncSearch.cpp,
32820 source/Lib/TLibEncoder/TEncSearch.h:
32821 TEncSearch: remove m_bc and inline xPatternSearchFracDIF
32822 [5444249106a9]
32823
32824 * source/Lib/TLibCommon/TComRdCost.cpp,
32825 source/Lib/TLibCommon/TComRdCost.h,
32826 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
32827 source/Lib/TLibEncoder/TEncSearch.cpp:
32828 TComRdCost: remove step parameter, always 1, merge setDistParam
32829 methods
32830 [814c5a4538cf]
32831
32832 * source/Lib/TLibCommon/TComPicYuv.h,
32833 source/Lib/TLibEncoder/TEncSearch.cpp,
32834 source/Lib/TLibEncoder/TEncSearch.h:
32835 TComPicYuv: remove getLumaFilterBlock() methods, generate on demand
32836 in subpel
32837
32838 TEncSearch::xPatternRefinement() is only used for bidir refinement,
32839 and is on the short-list to be removed once bidir is optimized.
32840 [29d2a7ce4c68]
32841
32842 * source/Lib/TLibEncoder/TEncSearch.cpp:
32843 TEncSearch: replace getLumaFilterBlock() use with fpel getLumaAddr()
32844
32845 This returned address is stored in m_distParam but it never actually
32846 used. The fref is overwritten before any calls to SATD
32847 [f36e35862749]
32848
32849 * source/encoder/slicetype.cpp:
32850 slicetype: hard-code 8x8 CU size for intra predictions output buffer
32851 [94d8f58137bc]
32852
328532013-08-30 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32854
32855 * source/Lib/TLibCommon/TComSlice.cpp:
32856 Fix decoder crash, Initialize m_numberOfReferencePictureSets to 0
32857 [6798c3d229ac]
32858
328592013-08-30 Steve Borho <steve@borho.org>
32860
32861 * source/Lib/TLibCommon/TComRom.cpp:
32862 TComRom: tabs to spaces
32863 [242c4c511c4f]
32864
328652013-08-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32866
32867 * source/encoder/ratecontrol.cpp:
32868 ratecontrol: Slightly lower I frame qp to prevent quality drop.
32869 [090de727cc5b]
32870
32871 * source/Lib/TLibEncoder/TEncTop.cpp:
32872 ratecontrol: minor edits
32873 [ac1f425f844f]
32874
32875 * source/Lib/TLibEncoder/TEncTop.cpp:
32876 ratecontrol: fix compile error.
32877 [06c30405d308]
32878
328792013-08-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
32880
32881 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
32882 source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
32883 source/encoder/ratecontrol.cpp:
32884 modified x265_lambda2_tab[] , adjusted some rc factors, modifed
32885 chroma weight for chromaLambda
32886 [fbf6fedd9818]
32887
328882013-08-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32889
32890 * source/Lib/TLibCommon/TComPrediction.cpp:
32891 interpolate: fix hash error bug introduced by block-ip filter.
32892 [87bb45fa2ff3]
32893
328942013-08-30 Min Chen <chenm003@163.com>
32895
32896 * source/common/ipfilter.cpp, source/common/reference.cpp:
32897 interpolate: fix bug that generate error interpolate pixel in border
32898 area
32899 [291cbb41ab47]
32900
329012013-08-29 Steve Borho <steve@borho.org>
32902
32903 * source/Lib/TLibCommon/TComPrediction.cpp:
32904 TComPrediction: cleanup xPredInterLumaBlk
32905 [8b78d8cff9d8]
32906
32907 * source/Lib/TLibCommon/TComPrediction.cpp:
32908 TComPrediction: rename file static variable
32909 [cbf84884c34a]
32910
329112013-08-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
32912
32913 * source/Lib/TLibCommon/TComPrediction.cpp, source/common/reference.h:
32914 TcomPridiction : IP calculation for a Block and modified the src
32915 buffer
32916 [341049cdcc5c]
32917
329182013-08-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32919
32920 * source/common/lowres.cpp:
32921 lookahead: Initialise I frame MBs to zero. This parameter gets
32922 incremented in CUcost.
32923 [4a5fd8756d8c]
32924
329252013-08-29 Steve Borho <steve@borho.org>
32926
32927 * source/encoder/slicetype.cpp:
32928 slicetype: fix eoln
32929 [77d92ca1d183]
32930
32931 * source/encoder/slicetype.cpp:
32932 slicetype: do not allow edge CUs to contribute to frame cost totals
32933
32934 (x264 does this, it seems to result in better cost estimates
32935 overall)
32936 [0632a39dd630]
32937
32938 * source/encoder/slicetype.cpp:
32939 slicetype: use satd for lowres intra estimate
32940 [700603cdeb55]
32941
329422013-08-28 Steve Borho <steve@borho.org>
32943
32944 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
32945 source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
32946 source/encoder/frameencoder.h, source/encoder/framefilter.cpp:
32947 add partial framework for frame parallelism
32948 [1ce2c5c87b19]
32949
32950 * source/Lib/TLibEncoder/TEncSearch.cpp:
32951 TEncSearch: use optimized sad_x4 for bidir full search
32952 [b7c3aa334fda]
32953
32954 * source/encoder/motion.cpp:
32955 motion: fix a typo in full-search
32956 [12addd543c0c]
32957
32958 * source/Lib/TLibEncoder/TEncSearch.cpp:
32959 TEncSearch: use optimized sad for bidir full search
32960 [e06f1b5c456d]
32961
32962 * source/common/CMakeLists.txt:
32963 cmake: disable signed/unsigned comparisons from Intel C++ in common/
32964 [a60d5991e6aa]
32965
32966 * source/common/vec/CMakeLists.txt:
32967 cmake: disable some Intel warnings and errors we know are safe
32968 [0a88b5cee672]
32969
32970 * source/common/threadpool.cpp:
32971 threadpool: fix a warning from InteL C++ compiler
32972 [eba7f716c515]
32973
32974 * build/icl/build-all.bat, build/icl/make-makefile.bat, build/icl32
32975 /build-all.bat, build/icl32/make-makefile.bat, build/icl64/build-
32976 all.bat, build/icl64/make-makefile.bat:
32977 cmake: split out 32bit and 64bit ICL nmake configurations
32978 [5fded61de5e8]
32979
329802013-08-28 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32981
32982 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
32983 source/encoder/dpb.h:
32984 Remove unused code related to dpb and rps
32985 [cb3521c28879]
32986
32987 * source/encoder/dpb.cpp:
32988 dbp.cpp: white-space nits
32989 [eab25d12ece9]
32990
32991 * source/Lib/TLibCommon/TComSlice.cpp,
32992 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
32993 source/encoder/dpb.h:
32994 Move dpb related functions from TComSlice to DPB
32995 [762bf799dca2]
32996
329972013-08-28 Steve Borho <steve@borho.org>
32998
32999 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33000 ratecontrol: we have the param for frame parallelism
33001 [476f363c87f9]
33002
33003 * source/encoder/framefilter.cpp:
33004 framefilter: use explicit 0 and 1 in lieu of Windows only FALSE and
33005 TRUE
33006 [7de6d0cde087]
33007
330082013-08-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33009
33010 * source/encoder/framefilter.cpp:
33011 Backout: breaks VC build
33012 [bdb54195f558]
33013
330142013-08-28 Rafaël Carré <funman@videolan.org>
33015
33016 * source/encoder/framefilter.cpp:
33017 Use C++ true/false rather than Windows TRUE/FALSE
33018
33019 Fix build on Linux
33020 [707c41aa5a63]
33021
330222013-08-27 Shazeb Nawaz Khan <Shazeb Nawaz Khan>
33023
33024 * source/encoder/dpb.cpp:
33025 A minor fix to computeRPS integration
33026
33027 # HG changeset patch # User Shazeb Nawaz Khan # Date 1377595358
33028 -19800 # Tue Aug 27 14:52:38 2013 +0530 # Node ID
33029 8d26028f32cc9a2e5f09882368370689e1f317a0 # Parent
33030 bf72e539f3d8e25ff7fe1bc176ea1516c60a73d3 A minor fix to computeRPS
33031 integration
33032 [0de7523f43fc]
33033
33034 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp:
33035 Integrating computeRPS to encoder
33036
33037 # HG changeset patch # User Shazeb Nawaz Khan # Date 1377594214
33038 -19800 # Tue Aug 27 14:33:34 2013 +0530 # Node ID
33039 bf72e539f3d8e25ff7fe1bc176ea1516c60a73d3 # Parent
33040 5245113fa0d66de8933b18ca03fffde4f3fbdef0 Integrating computeRPS to
33041 encoder
33042 [527e8a0a0f9e]
33043
330442013-08-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33045
33046 * source/x265opts.h:
33047 ratecontrol: adding bitrate to CLI options
33048 [6ec33774f06a]
33049
33050 * source/encoder/ratecontrol.cpp:
33051 ratecontrol: adding inits
33052 [62ce96dd8080]
33053
33054 * source/encoder/ratecontrol.cpp:
33055 ratecontrol: minor edits
33056 [5c042746f711]
33057
33058 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33059 ratecontrol: fps member var renamed as framerate
33060 [159d27a7c7d3]
33061
330622013-08-27 Steve Borho <steve@borho.org>
33063
33064 * source/Lib/TLibEncoder/TEncTop.cpp:
33065 TEncTop: white-space nits
33066 [ea85b67907ca]
33067
33068 * source/encoder/dpb.cpp:
33069 dpb: fix "statement has no effect" warning
33070 [2cf36835f6e1]
33071
33072 * source/Lib/TLibCommon/TComSlice.cpp:
33073 TComSlice: fix initialization order
33074 [27d87f071a92]
33075
330762013-08-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33077
33078 * source/Lib/TLibEncoder/TEncTop.cpp:
33079 ratecontrol: Merge
33080 [d006294891d0]
33081
33082 * source/Lib/TLibEncoder/TEncTop.cpp:
33083 ratecontrol: RateControl methods only when ABR is enabled.
33084 [a165b52487ca]
33085
330862013-08-27 Steve Borho <steve@borho.org>
33087
33088 * source/Lib/TLibEncoder/TEncTop.cpp,
33089 source/Lib/TLibEncoder/TEncTop.h, source/encoder/ratecontrol.cpp:
33090 ratecontrol: fix header warning, replace tabs with spaces,
33091 uncrustify
33092 [f2041d164c74]
33093
330942013-08-27 Deepthi <Deepthi>
33095
33096 * source/x265opts.h:
33097 ratecontrol: correcting help message, Abr=0 and constQp=1
33098 [20c6a69a2fe1]
33099
33100 * source/encoder/ratecontrol.cpp, source/x265.h, source/x265opts.h:
33101 Adding rc-mode to CLI option list
33102 [80baf6900512]
33103
331042013-08-27 sumalatha <sumalatha>
33105
33106 * source/Lib/TLibEncoder/TEncTop.cpp:
33107 computeLambdaForQP - using the formulae of HM directly to get the
33108 lambda values
33109 [ff4044130a96]
33110
331112013-08-27 Shazeb Nawaz Khan <Shazeb Nawaz Khan>
33112
33113 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
33114 source/encoder/dpb.h:
33115 Adding support for RPS generation (not integrated yet)
33116
33117 # HG changeset patch # User Shazeb Nawaz Khan # Date 1377594122
33118 -19800 # Tue Aug 27 14:32:02 2013 +0530 # Node ID
33119 5245113fa0d66de8933b18ca03fffde4f3fbdef0 # Parent
33120 273b1face64ce9e0c391713165776c773ec54774 Adding support for RPS
33121 generation (not integrated yet)
33122 [71dedcc6922b]
33123
331242013-08-27 sumalatha <sumalatha>
33125
33126 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
33127 source/Lib/TLibEncoder/TEncTop.cpp,
33128 source/Lib/TLibEncoder/TEncTop.h, source/encoder/ratecontrol.cpp,
33129 source/encoder/ratecontrol.h:
33130 Included the computeLambdaqp()-- reset the lambda based on new QP
33131 [abd8a7189096]
33132
331332013-08-27 Deepthi <Deepthi>
33134
33135 * source/encoder/frameencoder.cpp:
33136 ratecontrol: Remove dqp, not relevant until AQ is implemented. Even
33137 then, dqp is an LCU parameter.
33138 [76ee630587a9]
33139
331402013-08-26 Steve Borho <steve@borho.org>
33141
33142 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33143 slicetype: rename member vars for clarity
33144 [273b1face64c]
33145
33146 * source/common/reference.cpp:
33147 reference: correctly handle frames not an even multiple of max CTU
33148 height
33149 [ee3ddeb3414d]
33150
33151 * source/common/lowres.cpp, source/common/lowres.h,
33152 source/encoder/slicetype.cpp:
33153 lowres: use 8x8 blocks for lookahead analysis
33154 [56110b3e965d]
33155
33156 * source/encoder/dpb.cpp:
33157 dpb: add default case for switch, remove trailing white-space
33158 [407d8c61698d]
33159
33160 * source/common/reference.cpp:
33161 reference: fix member variable shadowing reported by GCC
33162 [5cff93d45be5]
33163
33164 * source/common/vec/pixel8.inc:
33165 pixel: more explicit HAVE_MMX logic, fixes link errors with VC11 x64
33166 [8a6859929055]
33167
331682013-08-26 praveentiwari <praveentiwari>
33169
33170 * source/common/vec/pixel8.inc:
33171 pixel8.inc: Avoiding overlap of _MSC_VER macro
33172 [00873cc0099b]
33173
33174 * source/common/vec/pixel8.inc:
33175 pixel8.inc: sad_x3_4 further optimization
33176 [015f93435ac3]
33177
33178 * source/common/vec/pixel8.inc:
33179 pixel8.inc: sad_x4_8 further optimization
33180 [ff2a7b2dbfbf]
33181
33182 * source/common/vec/pixel8.inc:
33183 pixel8.inc: Further optimization
33184 [22ccca70061e]
33185
33186 * source/common/vec/pixel8.inc:
33187 pixel8.inc: sad_x3_8 further optimization
33188 [64d346fc559e]
33189
33190 * source/common/vec/pixel8.inc:
33191 pixel8.inc: sad_x3_4 further optimization
33192 [faeb85aedd4a]
33193
33194 * source/common/vec/pixel8.inc:
33195 pixel8.inc: sad_x4_16, vector replaced with intrinsic
33196 [af46df46431c]
33197
33198 * source/common/vec/pixel8.inc:
33199 pixel8.inc: sad_x4_8, vector replaced with intrinsic
33200 [1736618230bc]
33201
33202 * source/common/vec/pixel8.inc:
33203 pixel8.inc: sad_x4_4, enabled sad_x4_4 code for 32-build except VC
33204 [80577235dba0]
33205
33206 * source/common/vec/pixel8.inc:
33207 pixel8.inc: sad_x3_8 enabled MMX code for 32-bit build except vc
33208 [47cf292c6619]
33209
33210 * source/common/vec/pixel8.inc:
33211 pixel8.inc:sad_x3_4 enabled MMX code for 32-build except VC
33212 [63af120cd6cc]
33213
33214 * source/common/vec/pixel8.inc:
33215 pixel8.inc: sad_8 enabled MMX code for 32-build except VC
33216 [5c38e12afe9a]
33217
33218 * source/common/vec/pixel8.inc:
33219 pixel8.inc: sad_4 cleanup with macro
33220 [52e0b9869886]
33221
33222 * source/common/vec/pixel8.inc:
33223 pixel8.inc: Enabled MMX code for 32-bit build except VC [added macro
33224 and swap postions of sse and MMX funtions]
33225 [6b7000546c20]
33226
332272013-08-26 Steve Borho <steve@borho.org>
33228
33229 * source/encoder/dpb.cpp, source/encoder/dpb.h:
33230 dpb: pass free list by reference (fixes memory leaks)
33231
33232 Passing by copy was resulting in TEncTop::m_freeList never being
33233 used. recycleUnreferenced() was adding the free pictures to a list
33234 that was destroyed as soon as the function returned.
33235 [da8281ec88ac]
33236
332372013-08-26 Deepthi <Deepthi>
33238
33239 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
33240 Testharness: Removing filterV/HMultiplane from test harness.
33241 [a37e03a3f0b6]
33242
332432013-08-26 Min Chen <chenm003@163.com>
33244
33245 * source/Lib/TLibCommon/TComPicYuv.cpp,
33246 source/Lib/TLibCommon/TComPicYuv.h, source/common/ipfilter.cpp,
33247 source/common/primitives.h, source/common/reference.cpp,
33248 source/common/reference.h, source/common/vec/ipfilter.inc:
33249 framepp: row based interpolate
33250 [63e0736c1f87]
33251
332522013-08-26 Deepthi <Deepthi>
33253
33254 * source/encoder/dpb.cpp:
33255 DPB::prepareEncode - replace code snippet with switch case
33256 [055c97bd9b7d]
33257
33258 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp:
33259 TEncTop: Move FrameEncoder->initSlice() to TEncTop::encode
33260 [3dd7b6da60bb]
33261
33262 * source/Lib/TLibEncoder/TEncTop.cpp:
33263 TEncTop: (Redundant) setPOC to max value
33264 [2f2acd2fc7ad]
33265
332662013-08-25 Steve Borho <steve@borho.org>
33267
33268 * source/Lib/TLibEncoder/TEncSearch.cpp:
33269 TEncSearch: refIdx typo corrected
33270 [797c13ec5d2a]
33271
33272 * source/Lib/TLibEncoder/TEncSearch.cpp:
33273 TEncSearch: remove redundant bestIdx initialization
33274 [1f532e886a49]
33275
33276 * source/Lib/TLibEncoder/TEncSearch.cpp,
33277 source/Lib/TLibEncoder/TEncSearch.h:
33278 TEncSearch: remove bFilled argument from xEstimateMvPredAMVP (always
33279 false)
33280 [a8b4963087b5]
33281
33282 * source/Lib/TLibEncoder/TEncSearch.cpp:
33283 TEncSearch: nit
33284 [9e020c0883c6]
33285
33286 * source/common/vec/pixel8.inc:
33287 pixel: use unaligned loads for fref pixels
33288 [f05a6d740ede]
33289
332902013-08-25 Min Chen <chenm003@163.com>
33291
33292 * source/common/vec/ipfilter8.inc:
33293 Improvement filterHorizontalMultiplaneExtend
33294 [1ea25137e5cc]
33295
332962013-08-25 praveentiwari <praveentiwari>
33297
33298 * source/common/vec/pixel8.inc:
33299 pixel8.inc: Uncrustified
33300 [5d0c9e08265e]
33301
33302 * source/common/vec/pixel8.inc:
33303 pixel8.inc: sad_x4_4 optimized assingment operators
33304 [8af27ce24619]
33305
33306 * source/common/vec/pixel8.inc:
33307 pixel8.inc: sad_x3 64-bit build fail fixed
33308 [21981597572b]
33309
33310 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
33311 pixel8.inc: sad_x4_4 vector replaced with intrinsic
33312 [827cfb10feba]
33313
33314 * source/common/vec/pixel.inc:
33315 uncrustified pixel.inc
33316 [1306bdb29227]
33317
33318 * source/common/vec/pixel8.inc:
33319 pixel8.inc: new line cleanup
33320 [34db6fb0cfbc]
33321
33322 * source/common/vec/pixel8.inc:
33323 pixel8.inc: sad_x3_8 avoiding extra condition check
33324 [86a5d7ceae78]
33325
33326 * source/common/vec/pixel8.inc:
33327 pixel8.inc: sad_x3_16 cleanu some newlines
33328 [83af948acce4]
33329
33330 * source/common/vec/pixel8.inc:
33331 pixel8.inc: sad_x3_4 more optimization
33332 [43d8ec7a9193]
33333
33334 * source/common/vec/pixel8.inc:
33335 pixel8.cpp: sad_x3_16 vector replaced with intrinsic
33336 [aade693715b3]
33337
33338 * source/common/vec/pixel8.inc:
33339 pixel8.inc: sad_x3_8 integrated fast MMX 32-bit build code
33340 [22b6b2ad15c1]
33341
33342 * source/common/vec/pixel8.inc:
33343 pixel8.inc: sad_x3_4 integrated faster MMX code for 32-bit build
33344 [828ec0701097]
33345
33346 * source/common/vec/pixel8.inc:
33347 pixel8.inc: Uncrustified
33348 [8f4e4d104dc0]
33349
333502013-08-25 Steve Borho <steve@borho.org>
33351
33352 * source/encoder/CMakeLists.txt:
33353 cmake: force -march=i686 for framefilter.cpp
33354 [5281d5789986]
33355
33356 * source/encoder/ratecontrol.cpp:
33357 ratecontol: fix case sensitive includes
33358 [55d7edaa3e8e]
33359
333602013-08-23 Steve Borho <steve@borho.org>
33361
33362 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
33363 pixel: new 16xN and x3 intrinsic primitives require SSE4.1
33364 [c881d82f9d85]
33365
333662013-08-23 praveentiwari <praveentiwari>
33367
33368 * source/common/vec/pixel8.inc:
33369 sad[16xN]:Intrinsic
33370 [97d0506cb0db]
33371
33372 * source/common/vec/pixel8.inc:
33373 pixel8inc: sad_x3 8xN, replace vector with intrinsic
33374 [9e7e1c772ec3]
33375
33376 * source/common/vec/pixel8.inc:
33377 sad_x3_4[4Xn]:Intrinsic
33378 [5805f5a34497]
33379
333802013-08-23 Steve Borho <steve@borho.org>
33381
33382 * source/common/threading.h, source/common/wavefront.cpp:
33383 threading: rename CLZ64 to CTZ64 and reverse bit search for GCC
33384
33385 __builtin_ctzll(x) - Returns the number of trailing 0-bits in x,
33386 starting at the least significant bit position. If x is 0, the
33387 result is undefined
33388 [8cbc34f927b6]
33389
33390 * source/common/common.h, source/encoder/ratecontrol.cpp:
33391 common: make log2 functions safe for GCC, use multiply instead of
33392 divide
33393 [9da03fb899de]
33394
33395 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
33396 pixel: sad primitives now require SSE4.1, properly wrap #pragma
33397 [58dcf14afa79]
33398
333992013-08-23 Deepthi <Deepthi>
33400
33401 * source/common/vec/pixel8.inc:
33402 pixel8inc: sad 4xN, replace vector with intrinsic [Praveen]
33403 [b489dfb2e90a]
33404
33405 * source/common/vec/pixel8.inc:
33406 pixel8inc: sad 8xN, replace vector with intrinsic [Praveen]
33407 [eaf94c74774f]
33408
33409 * source/common/vec/pixel8.inc:
33410 pixel8inc: Uncrustify [Praveen]
33411 [20bbd0ad6c1b]
33412
33413 * source/common/ipfilter.cpp, source/common/primitives.h,
33414 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
33415 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
33416 FilterExtendCURow: add primitives for horizontal filtering of each
33417 row: Gopu
33418 [77b53186d568]
33419
33420 * source/encoder/ratecontrol.cpp:
33421 ratecontrol: replacing more log2 calculations with macro
33422 [c99cc112fd71]
33423
33424 * source/Lib/TLibEncoder/TEncTop.cpp,
33425 source/Lib/TLibEncoder/TEncTop.h:
33426 ratecontrol: move RCEnd back to TEncTop::encode
33427 [e187433abd5e]
33428
33429 * source/encoder/ratecontrol.cpp:
33430 Avoid conversion to float
33431 [a7fad933a6c3]
33432
33433 * source/common/common.h, source/encoder/ratecontrol.cpp:
33434 log2 define from x264
33435 [e306203049cf]
33436
334372013-08-23 Aarthi <aarthi@multicorewareinc.com>
33438
33439 * source/encoder/ratecontrol.cpp:
33440 fixed bugs in ABR mode - implemeted log2() instead of log() as
33441 required.
33442 [41f20253a3b8]
33443
334442013-08-22 Steve Borho <steve@borho.org>
33445
33446 * source/encoder/ratecontrol.cpp:
33447 ratecontrol: include all enums in switch statement, avoid GCC
33448 warning
33449 [77418bf4a67b]
33450
33451 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33452 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
33453 sao: remove dead rdoSaoUnitAll function
33454 [763165c09029]
33455
33456 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33457 ratecontrol: stub in partial code for CQP
33458 [4fd6bd86ff92]
33459
33460 * source/encoder/ratecontrol.cpp:
33461 ratecontrol: initialize rce to NULL, prevent invalid free
33462 [12199cf44193]
33463
33464 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
33465 sao: fix GCC warnings about autos shadowing member variables
33466 [633718701cc9]
33467
334682013-08-21 sumalatha <sumalatha>
33469
33470 * source/encoder/ratecontrol.cpp:
33471 ratecontrol: added comments, corrected some errors in code
33472 [1d890ba79f64]
33473
33474 * source/Lib/TLibEncoder/TEncTop.cpp:
33475 made changes to function call - rateControlEnd
33476 [1498b673e95a]
33477
334782013-08-22 Min Chen <chenm003 at 163.com> <chenm003 at 163.com>
33479
33480 * source/CMakeLists.txt:
33481 fix bug in WinXP mode
33482 [9f38435eee26]
33483
33484 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33485 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
33486 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33487 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33488 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
33489 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
33490 framepp: Parallelism of SAO (saoLcuBasedOptimization mode only)
33491 [2b321cbfb953]
33492
33493 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33494 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
33495 framepp: replace static class array countPreDblk and
33496 offsetOrgPreDblk
33497 [d11de19b9d26]
33498
33499 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
33500 improvement by replace lock to atom operator
33501 [0e2c2ab41bd9]
33502
335032013-08-20 Steve Borho <steve@borho.org>
33504
33505 * source/encoder/slicetype.cpp:
33506 slicetype: do not use backwards L1 for slicetype estimates
33507
33508 The lookahead engine can't really handle it.
33509 [6fe2b6e1fd6f]
33510
33511 * source/encoder/dpb.cpp:
33512 dpb: ensure bframe count same as m_gopSize when fixed GOP is in use
33513 [4bc719a5e735]
33514
33515 * source/encoder/slicetype.cpp:
33516 slicetype: remove redundant break statements
33517 [5b67acbe7871]
33518
33519 * source/encoder/slicetype.h:
33520 slicetype: re-order member variables by size
33521 [9994e722c6bc]
33522
33523 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
33524 source/encoder/frameencoder.cpp, source/x265.h, source/x265opts.h:
33525 x265: move qp parameter within rc struct, use QP logging line for
33526 rate control
33527 [779ac0d75231]
33528
33529 * source/common/common.cpp, source/encoder/encoder.cpp:
33530 common: combine WPP logging lines
33531 [3bc38a85503a]
33532
33533 * source/common/common.cpp:
33534 common: add a summary log line for lookahead configuration
33535 [566f30410df1]
33536
33537 * source/common/common.cpp:
33538 common: shorten "enabled coding tools" to "tools"
33539 [8cb425d6dbc4]
33540
335412013-08-20 Min Chen <chenm003@163.com>
33542
33543 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33544 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33545 source/encoder/framefilter.cpp:
33546 cleanup: remove unused function and process row once
33547 [af98ad50dd96]
33548
33549 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33550 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
33551 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
33552 cleanup: move temporary pointer from class
33553 [b26267a38367]
33554
33555 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33556 fix bug correct row delay with '--sao-lcu-bounds 1'
33557 [52ba7c428cef]
33558
33559 * source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
33560 source/encoder/framefilter.h:
33561 cleanup: remove reduce m_sad since we are single thread now
33562 [9ba42b518d6b]
33563
33564 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
33565 source/encoder/framefilter.h:
33566 framepp: simplify FrameFilter control logic
33567 [d3d6119d5662]
33568
33569 * source/common/threading.h, source/common/threadpool.cpp,
33570 source/common/wavefront.cpp:
33571 move ATOM operators to threading.h
33572 [b016dce3b990]
33573
335742013-08-20 Steve Borho <steve@borho.org>
33575
33576 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/slicetype.cpp,
33577 source/encoder/slicetype.h:
33578 slicetype: add a method to get estimated frame cost (calculated if
33579 not cached)
33580 [2a1e1e3fcba2]
33581
33582 * source/encoder/dpb.cpp:
33583 dpb: remove obsolete TODO
33584 [24fc61094b55]
33585
33586 * source/encoder/dpb.cpp:
33587 dpb: remove redundant calls to setNumRefIdx()
33588 [16f5434cf8e4]
33589
33590 * source/encoder/ratecontrol.cpp:
33591 ratecontrol: nit
33592 [c177b592a915]
33593
33594 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp:
33595 dpb: move setNumRefIdx from frameEncoder to DPB for clarity
33596 [6e45cb567792]
33597
335982013-08-19 Steve Borho <steve@borho.org>
33599
33600 * source/encoder/slicetype.cpp:
33601 slicetype: move special case logic for POC zero out of "fake"
33602 category
33603 [f5834b464a7c]
33604
33605 * source/encoder/slicetype.cpp:
33606 slicetype: initialize row satd sums at each row, delay
33607 bIntraCalculated set
33608 [fb9f092e8291]
33609
33610 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33611 slicetype: malloc prediction buffer to avoid stack size issues
33612 [c4cd8d9d6c8c]
33613
33614 * source/encoder/slicetype.cpp:
33615 slicetype: x and y loops were reversed
33616 [8157dcac7865]
33617
33618 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33619 slicetype: auto-variable cleanup
33620 [da6f7e555f0d]
33621
33622 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33623 slicetype: do_search is a bool as well
33624 [43f633c7b553]
33625
33626 * source/common/lowres.cpp, source/common/lowres.h,
33627 source/encoder/slicetype.cpp:
33628 lowres: remove redundant stride variable, use
33629 ReferencePlanes::lumaStride
33630 [e5eeb053c459]
33631
33632 * source/encoder/slicetype.cpp:
33633 slicetype: remove redundant assignment
33634 [e3fe0e2caa77]
33635
33636 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33637 slicetype: rename last_keyframe to lastKeyframe
33638 [d06cdce272ee]
33639
33640 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33641 slicetype: use cfg->param structure directly, do not copy data items
33642 [d568082adb02]
33643
33644 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33645 slicetype: copy bFrameBias from param structure
33646 [c6a47d383128]
33647
33648 * source/encoder/slicetype.cpp:
33649 slicetype: fixup bIntraPenalty type
33650 [75833aca1872]
33651
33652 * source/encoder/slicetype.h:
33653 slicetype: remove unused analyze_keyframe variable
33654 [84fa8299c4e2]
33655
33656 * source/encoder/slicetype.cpp:
33657 slicetype: estimate SATD cost of first I frame
33658 [60fbdb64ed0c]
33659
33660 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33661 slicetype: realScenecut is a bool
33662 [2cc3f1686119]
33663
33664 * source/encoder/slicetype.cpp:
33665 slicetype: add disabled "real path"
33666 [b250cbbd95ed]
33667
33668 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33669 slicetype: change slicetypeAnalyze argument type to bool, fix
33670 cuCount
33671 [7703d11126e8]
33672
33673 * source/encoder/slicetype.cpp:
33674 slicetype: set lowres.frameNum in addPicture()
33675 [5d5247ccf3fb]
33676
33677 * source/encoder/slicetype.cpp:
33678 slicetype: fix order of operations, remove obsolete comment
33679 [bafc37c130d7]
33680
33681 * source/encoder/slicetype.cpp:
33682 slicetype: improve history comment
33683 [92e84207edc0]
33684
336852013-08-19 Min Chen <chenm003@163.com>
33686
33687 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
33688 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
33689 source/encoder/framefilter.h:
33690 framepp: Refactor loopfilter thread
33691 [800465af4795]
33692
336932013-08-19 Steve Borho <steve@borho.org>
33694
33695 * source/common/wavefront.cpp:
33696 wavefront: use _BitScanForward64 on Windows to get proper bit
33697 priority order
33698
33699 Spotted and fixed by Min Chen
33700 [fc12faa1672e]
33701
33702 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp:
33703 dpb: move the pushBack of the frame into DPB::prepareEncode()
33704 [6bd04d658885]
33705
33706 * source/Lib/TLibEncoder/TEncAnalyze.h,
33707 source/Lib/TLibEncoder/TEncTop.cpp:
33708 TEncAnalyze: rename setFrmRate to setFrameRate
33709 [ab8e517b3f5c]
33710
33711 * source/Lib/TLibEncoder/TEncTop.cpp,
33712 source/Lib/TLibEncoder/TEncTop.h, source/encoder/frameencoder.cpp,
33713 source/encoder/frameencoder.h:
33714 TEncTop: use multiple frame encoders (they do not overlap in
33715 execution time)
33716 [cf68474b7fd4]
33717
33718 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
33719 source/common/threadpool.h, source/encoder/frameencoder.cpp,
33720 source/encoder/frameencoder.h, source/x265.cpp, source/x265.h,
33721 source/x265opts.h:
33722 x265: add -F/--frame-threads CLI option, param->frameNumThreads
33723
33724 This required allocating an array of FrameEncoder instances, which
33725 required adding a method for initializing the thread pool after
33726 construction.
33727 [84c939999179]
33728
33729 * source/Lib/TLibCommon/TComPic.h, source/common/CMakeLists.txt,
33730 source/common/lookahead.cpp, source/common/lookahead.h,
33731 source/common/lowres.cpp, source/common/lowres.h,
33732 source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
33733 rename lookahead.cpp to lowres.cpp (and also header)
33734 [9a5d62cf19f1]
33735
33736 * source/Lib/TLibCommon/TComPic.h, source/common/lookahead.cpp,
33737 source/common/lookahead.h, source/encoder/ratecontrol.cpp,
33738 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
33739 source/encoder/slicetype.h:
33740 lookahead: rename LookaheadFrame struct to Lowres, statically
33741 allocate frames[]
33742 [f242ef373949]
33743
33744 * source/common/CMakeLists.txt:
33745 cmake: add COPYING to common project to remove any ambiguity
33746 [c4963929c680]
33747
33748 * source/Lib/TLibCommon/TComSlice.cpp:
33749 TComSlice: nit
33750 [c6ffd3ab9493]
33751
33752 * source/PPA/ppaCPUEvents.h, source/encoder/dpb.cpp,
33753 source/encoder/frameencoder.cpp:
33754 ppa: resolve event names which conflict with method names, add
33755 DPB_encodeSlice
33756 [1adb33d3536a]
33757
337582013-08-18 Steve Borho <steve@borho.org>
33759
33760 * source/common/lookahead.cpp:
33761 lookahead: re-initialize lowresMvs by dereferencing first MV (nit)
33762 [5b97ea55042f]
33763
33764 * source/encoder/cturow.cpp:
33765 cturow: remove prefixes from loop autos
33766 [e0b4698761fd]
33767
33768 * source/encoder/cturow.cpp:
33769 cturow: remove pc prefix from rdSbacCoder
33770 [aaf4327d1be3]
33771
33772 * source/common/lookahead.cpp:
33773 lookahead: fix intraCost data type for malloc
33774 [662d24a28312]
33775
33776 * source/common/lookahead.cpp:
33777 lookahead: re-enable downscale, ensure lowres stride is multiple of
33778 32
33779 [d907e9a55ad1]
33780
33781 * source/encoder/slicetype.cpp:
33782 slicetype: simplify intra processing
33783 [6badaa4d5e5f]
33784
33785 * source/encoder/slicetype.cpp:
33786 slicetype: improve comments
33787 [7146682f5133]
33788
33789 * source/encoder/slicetype.cpp:
33790 slicetype: remove warning disables now that functionality is all
33791 present
33792 [2048f9324890]
33793
33794 * source/encoder/slicetype.cpp:
33795 slicetype: update authors now that x264 routines are removed
33796 [a1c1cbd257ff]
33797
33798 * source/encoder/motion.cpp:
33799 motion: remove hungarian prefixes from temp vars
33800 [51d8d4962ab9]
33801
33802 * source/common/mv.h:
33803 mv: switch from class to struct since member vars do not have m_
33804 prefix
33805 [5b7014113b29]
33806
33807 * source/Lib/TLibCommon/TComPicYuv.cpp,
33808 source/Lib/TLibCommon/TComPicYuv.h,
33809 source/Lib/TLibCommon/TComPrediction.cpp,
33810 source/common/lookahead.cpp, source/common/reference.cpp,
33811 source/common/reference.h, source/encoder/motion.cpp,
33812 source/encoder/slicetype.cpp:
33813 reference: remove m_ prefix from member variables
33814 [2a2569c73bdb]
33815
33816 * source/common/reference.h:
33817 reference: convert ReferencePlanes from class to struct
33818
33819 I want to remove m_ prefix, and a policy of m_ for class but not for
33820 struct seems reasonable
33821 [bf0b1cb360f9]
33822
33823 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/primitives.cpp:
33824 ContextModel: move static initialization out of TEncTop constructor
33825 [e0e620037485]
33826
33827 * source/Lib/TLibCommon/ContextModel.cpp,
33828 source/Lib/TLibCommon/ContextModel.h:
33829 ContextModel: variable name cleanup
33830 [86fbb4094143]
33831
33832 * source/common/lookahead.h, source/encoder/slicetype.cpp,
33833 source/encoder/slicetype.h:
33834 slicetype: move cuWidth and cuHeight from LookaheadFrame to
33835 Lookahead
33836 [e3b40ff627b7]
33837
33838 * source/encoder/slicetype.cpp:
33839 slicetype: simplify intra cost check
33840 [e1fe931856ad]
33841
33842 * source/encoder/motion.cpp:
33843 motion: avoid QPEL refinement during lookahead
33844
33845 Our QPEL plane pointers simply reference the nearest HPEL plane so
33846 doing any QPEL refine would be a waste of time, and add rnadom bits.
33847 We should add an H.264 (A+B+1)>>1 primitive and then use this to
33848 create fake QPEL blocks for refinment during lookahead.
33849 [c1e1e8e43299]
33850
33851 * source/common/lookahead.cpp, source/common/reference.h:
33852 reference: add lowres flag
33853 [6702102c2691]
33854
33855 * source/encoder/slicetype.cpp:
33856 slicetype: establish lowres search bounds
33857 [db1d199e9f8e]
33858
338592013-08-16 Min Chen <chenm003@163.com>
33860
33861 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
33862 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
33863 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33864 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
33865 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
33866 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
33867 source/encoder/framefilter.h:
33868 framepp: fix bug with '--sao-lcu-bounds 1' and move part of sao into
33869 compress loop
33870 [9cecd693489c]
33871
338722013-08-16 praveentiwari <praveentiwari>
33873
33874 * source/common/vec/sse.inc:
33875 sse_pp8: Eliminated shift
33876 [87f93fe917f6]
33877
338782013-08-16 Steve Borho <steve@borho.org>
33879
33880 * source/encoder/slicetype.cpp:
33881 slicetype: more varname cleanups
33882 [a5a265b57844]
33883
33884 * source/encoder/slicetype.cpp:
33885 slicetype: fix GCC nits
33886 [442dd01cacb1]
33887
33888 * source/encoder/slicetype.cpp:
33889 slicetype: nits
33890 [41b35c287a2f]
33891
33892 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33893 slicetype: fill missing detail, use x265 varname style, remove old
33894 functions
33895 [815a3cce3969]
33896
33897 * source/encoder/slicetype.cpp:
33898 slicetype: fix another cu_size
33899 [4c4e30671ad7]
33900
33901 * source/encoder/slicetype.cpp:
33902 clicetype: uncrustify
33903 [0a5a90a0899e]
33904
339052013-08-16 ggopu <ggopu>
33906
33907 * source/common/lookahead.h, source/encoder/slicetype.cpp,
33908 source/encoder/slicetype.h, source/x265.h:
33909 slicetype: Added slicetypeAnalyse
33910 [6551f04e7eed]
33911
339122013-08-16 Steve Borho <steve@borho.org>
33913
33914 * source/Lib/TLibCommon/TComTrQuant.cpp:
33915 TrComQuant: fix 8bpp build
33916 [c2f5275ecb49]
33917
33918 * source/Lib/TLibCommon/TComTrQuant.cpp:
33919 TrComQuant: lastpos formal parameter unreferenced
33920 [16feaf4ec711]
33921
33922 * source/common/vec/dct.inc:
33923 dct: prevent compilation of quant for < SSE4.1 (fixes GCC build)
33924 [8a0228a12a84]
33925
339262013-08-16 Min Chen <chenm003@163.com>
33927
33928 * source/Lib/TLibEncoder/TEncSearch.cpp:
33929 idct: more dc mode detect code
33930 [76ca2eae8f0b]
33931
33932 * source/Lib/TLibCommon/TComTrQuant.cpp,
33933 source/Lib/TLibCommon/TComTrQuant.h:
33934 cleanup: remove unused code invRecurTransformNxN
33935 [983cc77e8526]
33936
33937 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/pixel.cpp,
33938 source/common/primitives.h, source/common/vec/pixel.inc:
33939 idct: primitive blockfil_s for dc fill
33940 [23b8aafb1fde]
33941
33942 * source/Lib/TLibCommon/TComTrQuant.cpp,
33943 source/Lib/TLibCommon/TComTrQuant.h,
33944 source/Lib/TLibEncoder/TEncSearch.cpp:
33945 idct: Improved performance by DC only block detect
33946 [0b225ee24b5d]
33947
33948 * source/Lib/TLibCommon/TComTrQuant.cpp,
33949 source/Lib/TLibCommon/TComTrQuant.h,
33950 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
33951 source/common/primitives.h, source/common/vec/dct.inc,
33952 source/test/mbdstharness.cpp:
33953 generate lastPos in quant
33954 [4be95d676094]
33955
33956 * source/common/vec/dct.inc, source/test/mbdstharness.cpp:
33957 quant: Improved performance by SSE4
33958 [681ab201ea0c]
33959
33960 * source/encoder/slicetype.cpp:
33961 temp for Intra Buffer generate
33962 [ec4a9d8a39b1]
33963
339642013-08-16 Steve Borho <steve@borho.org>
33965
33966 * source/encoder/ratecontrol.cpp:
33967 tpyo
33968 [1cf5ed68ab58]
33969
33970 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33971 ratecontrol: move defines within CPP file
33972 [4a39b2fa427d]
33973
33974 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33975 ratecontrol: move math methods to CPP file as file statics
33976 [1f2577034e53]
33977
339782013-08-16 sumalatha <sumalatha>
33979
33980 * source/Lib/TLibEncoder/TEncTop.cpp,
33981 source/Lib/TLibEncoder/TEncTop.h, source/encoder/ratecontrol.cpp,
33982 source/encoder/ratecontrol.h:
33983 integrate ratecontrol methods and changed some APIs
33984 [fe0adfe9d10d]
33985
339862013-08-16 Steve Borho <steve@borho.org>
33987
33988 * source/Lib/TLibEncoder/TEncTop.cpp:
33989 TEncTop: GCC needs math.h for log10()
33990 [a1a2eceec263]
33991
33992 * source/encoder/encoder.cpp:
33993 encoder: add a comment explaining the odd nature of encoder.cpp
33994 [e8d616dbbd16]
33995
33996 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/CMakeLists.txt,
33997 source/encoder/dpb.cpp, source/encoder/encoder.cpp,
33998 source/encoder/encoder.h:
33999 dpb: move fixed GOP initialization function into dpb, drop encoder.h
34000 [b77b7dc21de9]
34001
34002 * source/Lib/TLibEncoder/TEncTop.cpp,
34003 source/Lib/TLibEncoder/TEncTop.h, source/encoder/CMakeLists.txt,
34004 source/encoder/dpb.cpp, source/encoder/dpb.h,
34005 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34006 dpb: split DPB logic and data from TEncTop into a separate class
34007
34008 The DPB class is still using the HM's fixed GOP mess, but at least
34009 this is all mostly localized in one place so it can be cleaned up
34010 together and has a clean interface.
34011 [6d14b538caa6]
34012
34013 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34014 frame: inline wait_lft and re-order code for more clarity
34015 [8f25a0cde46f]
34016
34017 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34018 frame: simplify determineSliceBounds
34019 [96d870433517]
34020
340212013-08-15 Steve Borho <steve@borho.org>
34022
34023 * source/encoder/frameencoder.cpp:
34024 frame: nit
34025 [7efbd7bb9606]
34026
34027 * source/encoder/frameencoder.cpp:
34028 frame: remove unused oneBitstreamPerSliceLength
34029 [646346ad4fe1]
34030
34031 * source/encoder/frameencoder.cpp:
34032 frame: replace access method calls with direct variable accesses
34033 [59d41d6da41c]
34034
34035 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34036 frame: rename compressSlice to compressCTURows()
34037 [8a322b6c90ec]
34038
34039 * source/encoder/frameencoder.cpp:
34040 frame: hoist stat file logging into compressFrame()
34041 [175ae0c43c10]
34042
34043 * source/encoder/frameencoder.cpp:
34044 frame: isolate CU processing functionality into compressSlice()
34045
34046 Other unrelated functionality pulled up into compressFrame()
34047 [8137fa713b09]
34048
34049 * source/encoder/frameencoder.cpp:
34050 frame: move xStoreWPparam() together with rest of weightp analysis
34051 [4262ef8c2495]
34052
34053 * source/Lib/TLibEncoder/TEncGOP.cpp,
34054 source/Lib/TLibEncoder/TEncGOP.h,
34055 source/Lib/TLibEncoder/TEncTop.cpp,
34056 source/Lib/TLibEncoder/TEncTop.h, source/encoder/cturow.cpp,
34057 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
34058 source/encoder/frameencoder.h, source/encoder/ratecontrol.h:
34059 remove TEncGOP, merge remaining pieces into FrameEncoder
34060 [f2bdd05b440d]
34061
34062 * source/Lib/TLibEncoder/SEIwrite.cpp,
34063 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
34064 source/Lib/TLibEncoder/SyntaxElementWriter.h,
34065 source/Lib/TLibEncoder/TEncCavlc.cpp,
34066 source/Lib/TLibEncoder/TEncCavlc.h:
34067 SEIWrite: varname cleanups
34068 [268b3e920752]
34069
34070 * source/Lib/TLibEncoder/SEIwrite.h:
34071 SEIWrite: remove only unused data member
34072 [4de5d74111ee]
34073
34074 * source/Lib/TLibEncoder/TEncGOP.cpp,
34075 source/Lib/TLibEncoder/TEncGOP.h,
34076 source/Lib/TLibEncoder/TEncTop.cpp,
34077 source/Lib/TLibEncoder/TEncTop.h:
34078 TEncGOP: move hash and PSNR calculations to TEncTop
34079
34080 Much of the function needs to use singleton data elements in TEncTop
34081 anyway, and very little of it needs the frame encoder.
34082 [c98c3ad68604]
34083
34084 * source/Lib/TLibEncoder/TEncGOP.cpp:
34085 TEncGOP: move digestToString so it doesn't need forward decl
34086 [bbcc53d4c501]
34087
34088 * source/Lib/TLibEncoder/TEncGOP.cpp,
34089 source/Lib/TLibEncoder/TEncGOP.h:
34090 TEncGOP: remove unused xGetFirstSeiLocation
34091 [885718e12a06]
34092
34093 * source/Lib/TLibEncoder/TEncGOP.cpp,
34094 source/Lib/TLibEncoder/TEncGOP.h:
34095 TEncGOP: inline xAttachSliceDataToNalUnit, only used once
34096 [b5027d04ff40]
34097
34098 * source/Lib/TLibEncoder/TEncGOP.cpp,
34099 source/Lib/TLibEncoder/TEncGOP.h:
34100 TEncGOP: inline SEI creation functions
34101
34102 I see no need to alloc/free them
34103 [ea53a8153f61]
34104
34105 * source/Lib/TLibEncoder/TEncGOP.cpp,
34106 source/Lib/TLibEncoder/TEncGOP.h:
34107 TEncGOP: drop HRD/DU logic and SEI message generation
34108
34109 This HRD logic is going to be broken badly by frame parallelism, and
34110 we do not allow it to be enabled, in any case, so I'm removing this
34111 code before it can be broken.
34112 [029ba5a2f11e]
34113
34114 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
34115 TEncTop: move ASR initialization to compressSlice()
34116 [12bf524e02d3]
34117
341182013-08-16 Min Chen <chenm003@163.com>
34119
34120 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
34121 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
34122 source/Lib/TLibEncoder/TEncGOP.cpp:
34123 framepp: move xPCMRestoration* outside from TComSampleAdaptiveOffset
34124 [84c4b829261b]
34125
34126 * source/x265.cpp:
34127 framepp: loopfilter and sao need same control value
34128 [15e1795cbc78]
34129
34130 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
34131 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
34132 cleanup: remove unused code TComSampleAdaptiveOffset::processSaoCu
34133 [3a0630fff639]
34134
34135 * source/Lib/TLibEncoder/TEncGOP.cpp:
34136 cleanup: remove unused code
34137 [b1cb3809070d]
34138
34139 * source/Lib/TLibEncoder/TEncGOP.cpp:
34140 cleanup: remove unused code
34141 [ddc1969b819a]
34142
34143 * source/encoder/frameencoder.cpp:
34144 fix VC9 compile error
34145 [b079ba16208f]
34146
341472013-08-15 Steve Borho <steve@borho.org>
34148
34149 * source/Lib/TLibEncoder/TEncGOP.cpp,
34150 source/Lib/TLibEncoder/TEncGOP.h:
34151 TEncGOP: unify hash and PSNR reporting into one routine
34152 [23d8d29c5242]
34153
34154 * source/Lib/TLibEncoder/TEncGOP.cpp,
34155 source/Lib/TLibEncoder/TEncGOP.h:
34156 TEncGOP: remove redundant argument to xCreateSEIActiveParameterSets
34157 [d51950a93f5d]
34158
34159 * source/Lib/TLibEncoder/TEncGOP.cpp,
34160 source/Lib/TLibEncoder/TEncGOP.h,
34161 source/Lib/TLibEncoder/TEncTop.cpp,
34162 source/Lib/TLibEncoder/TEncTop.h:
34163 TEncTop: move prepareEncode and all RPS/DPB logic out of TEncGOP
34164 [6dc06a8b5ebc]
34165
34166 * source/Lib/TLibEncoder/TEncGOP.cpp:
34167 TEncGOP: reorder some code for more clarity
34168 [bc8d3239f833]
34169
34170 * source/Lib/TLibEncoder/TEncGOP.cpp,
34171 source/Lib/TLibEncoder/TEncGOP.h,
34172 source/Lib/TLibEncoder/TEncTop.cpp:
34173 TEncGOP: prune unused cruft
34174 [1b745ef91669]
34175
34176 * source/Lib/TLibEncoder/TEncGOP.cpp:
34177 TEncGOP: remove access var only used twice
34178 [225ba0172ae5]
34179
34180 * source/Lib/TLibEncoder/TEncGOP.cpp:
34181 TEncGOP: use m_cfg in lieu of m_top where applicable
34182 [76b2e8aa1c18]
34183
34184 * source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.h,
34185 source/Lib/TLibEncoder/TEncSearch.cpp,
34186 source/Lib/TLibEncoder/TEncSlice.cpp,
34187 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/encoder.cpp,
34188 source/encoder/frameencoder.h:
34189 Remove unused TEncSlice
34190 [95afc59fb926]
34191
34192 * source/Lib/TLibEncoder/TEncGOP.cpp,
34193 source/Lib/TLibEncoder/TEncSlice.cpp,
34194 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
34195 source/encoder/frameencoder.h:
34196 TEncSlice: move xDetermineStartAndBoundingCUAddr to FrameEncoder
34197
34198 And give a less idiotic name
34199 [7aa3ea09223d]
34200
34201 * source/encoder/frameencoder.cpp:
34202 frameencoder: include math.h for GCC
34203 [ca1a412ecaad]
34204
34205 * source/Lib/TLibEncoder/TEncGOP.cpp,
34206 source/Lib/TLibEncoder/TEncSlice.cpp,
34207 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
34208 source/encoder/frameencoder.h:
34209 TEncSlice: move encodeSlice into FrameEncoder
34210 [31676f5d2e19]
34211
34212 * source/encoder/frameencoder.cpp:
34213 frameencoder: enqueue framefilter after frameencoder
34214
34215 This gives higher priority to compressCU jobs over deblocking jobs
34216 [9d68f6d61ecf]
34217
34218 * source/encoder/frameencoder.cpp:
34219 frameencoder: simplify motion reference generation
34220 [d1e0f1613380]
34221
34222 * source/encoder/frameencoder.cpp:
34223 frameencoder: nits
34224 [e03a200c073c]
34225
34226 * source/encoder/CMakeLists.txt, source/encoder/cturow.cpp,
34227 source/encoder/cturow.h, source/encoder/frameencoder.cpp,
34228 source/encoder/frameencoder.h:
34229 cturow: split CTURow class into its own cpp and h
34230 [93a8be5a9247]
34231
34232 * source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
34233 source/encoder/frameencoder.h, source/encoder/framefilter.cpp,
34234 source/encoder/framefilter.h:
34235 framefilter: split FrameFilter class into its own cpp and h
34236
34237 frameencoder is getting crowded with TEncSlice methods being
34238 integrated, and it is only going to grow as TEncGOP is broken up.
34239 [f4bbb38f427d]
34240
34241 * source/Lib/TLibEncoder/TEncGOP.cpp,
34242 source/Lib/TLibEncoder/TEncSlice.cpp,
34243 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
34244 source/encoder/frameencoder.h:
34245 TEncSlice: move compressSlice logic into FrameEncoder
34246 [b057e7325398]
34247
34248 * source/Lib/TLibEncoder/TEncSlice.cpp,
34249 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp:
34250 TEncSlice: prune unnecessary cruft
34251 [e160aef8a3a1]
34252
34253 * source/Lib/TLibEncoder/TEncGOP.cpp,
34254 source/Lib/TLibEncoder/TEncSlice.cpp,
34255 source/Lib/TLibEncoder/TEncSlice.h:
34256 TEncSlice: inline SAR configuration into prepareEncode()
34257 [76636a121054]
34258
34259 * source/Lib/TLibEncoder/TEncSlice.cpp,
34260 source/Lib/TLibEncoder/TEncSlice.h:
34261 TEncSlice: remove unused resetQP method
34262 [19e8c9de3746]
34263
34264 * source/Lib/TLibEncoder/TEncGOP.cpp,
34265 source/Lib/TLibEncoder/TEncSlice.cpp,
34266 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp,
34267 source/encoder/frameencoder.h:
34268 move TEncSlice::initEncSlice to FrameEncoder::initSlice
34269 [ec371fd8c2a9]
34270
34271 * source/Lib/TLibEncoder/TEncSlice.cpp,
34272 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34273 frameencoder: retrieve slice from pic
34274 [2f2413f173f1]
34275
34276 * source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.h:
34277 more include cleanups
34278 [26c84a647f51]
34279
34280 * source/Lib/TLibEncoder/WeightPredAnalysis.h:
34281 WeightPredAnalysis: simplify includes
34282 [d0332c1c4efa]
34283
34284 * source/Lib/TLibEncoder/TEncSlice.cpp,
34285 source/Lib/TLibEncoder/TEncSlice.h:
34286 TEncSlice: remove unused xGetQPValueAccordingToLambda
34287 [88762f5981b5]
34288
34289 * source/Lib/TLibEncoder/TEncGOP.cpp:
34290 TEncGOP: report slice depth in verbose logging
34291 [e184ead1cb2e]
34292
34293 * source/Lib/TLibEncoder/TEncCfg.h,
34294 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
34295 encoder: remove unexposed m_recalculateQPAccordingToLambda
34296 [32b7db776b91]
34297
34298 * source/Lib/TLibCommon/CommonDef.h,
34299 source/Lib/TLibEncoder/TEncSlice.cpp:
34300 CommonDef: remove unnecessary HB_LAMBDA_FOR_LDC
34301 [61fe1722b31d]
34302
34303 * source/Lib/TLibEncoder/TEncSlice.cpp:
34304 TEncSlice: re-order logic for more clarity
34305 [4b57d673354b]
34306
34307 * source/Lib/TLibEncoder/TEncSlice.cpp:
34308 TEncSlice: remove obsolete comments for initEncSlice()
34309 [6a1ed114c77a]
34310
34311 * source/Lib/TLibEncoder/TEncGOP.cpp:
34312 TEncGOP: re-order some functions by use
34313 [08245cb48490]
34314
34315 * source/Lib/TLibEncoder/TEncGOP.cpp,
34316 source/Lib/TLibEncoder/TEncSlice.cpp,
34317 source/Lib/TLibEncoder/TEncSlice.h:
34318 TEncSlice: do not pass pocCurr to initEncSlice
34319 [8cc6ca8a86df]
34320
34321 * source/Lib/TLibEncoder/TEncGOP.cpp,
34322 source/Lib/TLibEncoder/TEncGOP.h,
34323 source/Lib/TLibEncoder/TEncTop.cpp, source/PPA/ppaCPUEvents.h:
34324 TEncGOP: split DPB/RPS management into prepareEncode() function
34325 [449a3b84fb3e]
34326
34327 * source/Lib/TLibEncoder/TEncGOP.cpp,
34328 source/Lib/TLibEncoder/TEncGOP.h:
34329 TEncGOP: remove unnecessary pointer argument reference
34330 [1f8f44007b88]
34331
34332 * source/encoder/encoder.cpp:
34333 encoder: use true/false to assign bool values
34334 [312b7e281b1a]
34335
34336 * source/Lib/TLibEncoder/TEncGOP.cpp,
34337 source/Lib/TLibEncoder/TEncGOP.h,
34338 source/Lib/TLibEncoder/TEncTop.cpp,
34339 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp:
34340 TEncTop: getStreamHeaders always returns one access unit
34341 [5c22574b8dd9]
34342
343432013-08-14 Steve Borho <steve@borho.org>
34344
34345 * source/Lib/TLibEncoder/TEncGOP.cpp,
34346 source/Lib/TLibEncoder/TEncGOP.h,
34347 source/Lib/TLibEncoder/TEncTop.cpp:
34348 TEncGOP: rename m_frameEncoders to singular
34349 [735d3ee0ef97]
34350
34351 * source/Lib/TLibEncoder/TEncTop.cpp,
34352 source/Lib/TLibEncoder/TEncTop.h:
34353 TEncTop: remove m_picsEncoded
34354 [90fe33838e63]
34355
34356 * source/Lib/TLibEncoder/TEncGOP.cpp,
34357 source/Lib/TLibEncoder/TEncGOP.h:
34358 TEncGOP: move utility functions to the end of the file, cleanups
34359 [b34a889f4388]
34360
34361 * source/Lib/TLibEncoder/TEncGOP.cpp:
34362 TEncGOP: increment m_totalCoded appropriately, improve comments
34363 [80f6de28afb2]
34364
34365 * source/Lib/TLibEncoder/TEncGOP.cpp,
34366 source/Lib/TLibEncoder/TEncGOP.h:
34367 TEncGOP: remove unused ref pic fields
34368 [823a9a1ae579]
34369
34370 * source/Lib/TLibEncoder/TEncGOP.cpp:
34371 TEncGOP: use configured bitrate instead of hard-coded value
34372 [7b435f8feaad]
34373
34374 * source/Lib/TLibEncoder/TEncGOP.h:
34375 TEncGOP: prepare to bifurcate TEncGOP
34376 [d7ecc2be68b7]
34377
34378 * source/Lib/TLibEncoder/TEncCfg.h:
34379 TEncCfg: drop unused m_framesToBeEncoded
34380 [b6debda1b70d]
34381
34382 * source/Lib/TLibEncoder/TEncTop.cpp:
34383 TEncTop: fix recon file write with 16bpp builds
34384 [ba0badc108ed]
34385
34386 * source/encoder/ratecontrol.cpp:
34387 ratecontrol: fix vc10 release build
34388 [a506ed0b9704]
34389
34390 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34391 ratecontrol: clean compile for GCC - not sure all these changes are
34392 correct
34393 [e8a95b63af2b]
34394
34395 * source/encoder/slicetype.cpp:
34396 slicetype: more fixes
34397 [c0f68e202961]
34398
34399 * source/encoder/slicetype.cpp:
34400 slicetype: include list used in lowresCosts
34401
34402 0 - intra 1 - inter L0 2 - inter L1 3 - bidir (future)
34403 [0182e9c3abe4]
34404
34405 * source/encoder/slicetype.cpp:
34406 slicetype: fix I frame cost accumulation, use min to clamp
34407 lowresCosts
34408 [c744de283468]
34409
34410 * source/common/lookahead.cpp, source/common/lookahead.h:
34411 lookahead: add intraCost array
34412 [c2a650e052a6]
34413
34414 * source/encoder/slicetype.cpp:
34415 slicetype: fixup intra cost and combinations
34416 [ab0751792c3c]
34417
344182013-08-14 ggopu <ggopu>
34419
34420 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
34421 slicetype : estimateCUCost enhancement for selecting best cost
34422 [29acacb4afe8]
34423
344242013-08-14 Steve Borho <steve@borho.org>
34425
34426 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
34427 source/x265.h:
34428 ratecontrol: use doubles, fix warnings
34429 [74b11e67f664]
34430
34431 * source/Lib/TLibEncoder/TEncGOP.cpp:
34432 TEncGOP: re-order some code for clarity
34433 [29635c591048]
34434
34435 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34436 ratecontrol: uncrustify
34437 [52a709ce88a8]
34438
34439 * source/common/common.cpp:
34440 common: prevent warnings about double-to-float conversions
34441 [f3ec4ebd72c9]
34442
34443 * source/encoder/CMakeLists.txt:
34444 cmake: add ratecontrol to the build
34445 [5c7f8a82e267]
34446
34447 * source/Lib/TLibEncoder/TEncGOP.cpp, source/common/common.cpp,
34448 source/encoder/encoder.cpp, source/encoder/ratecontrol.h,
34449 source/x265.h:
34450 ratecontrol: nits
34451 [4dfc091ce662]
34452
344532013-08-14 sumalatha <sumalatha>
34454
34455 * source/common/common.cpp, source/common/common.h,
34456 source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
34457 source/encoder/slicetype.h, source/x265.h:
34458 add rate control parameters to x265_param_t make corresponding
34459 changes to ratecontrol.cpp and .h moved the macro definition of
34460 QP_BD_OFFSET from slicetype.cpp to common.h
34461 [d1d0d90ec2f1]
34462
344632013-08-14 Steve Borho <steve@borho.org>
34464
34465 * source/Lib/TLibEncoder/TEncTop.cpp:
34466 TEncTop: fix some obsolete comments
34467 [2c89a497dc5b]
34468
34469 * source/Lib/TLibEncoder/TEncGOP.cpp,
34470 source/Lib/TLibEncoder/TEncGOP.h,
34471 source/Lib/TLibEncoder/TEncSlice.cpp,
34472 source/Lib/TLibEncoder/TEncSlice.h,
34473 source/Lib/TLibEncoder/TEncTop.cpp,
34474 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
34475 source/encoder/slicetype.cpp, source/encoder/slicetype.h,
34476 source/x265.cpp, source/x265.h:
34477 x265: remove GOP compress cadence, encode frames one at a time
34478
34479 it is still using the HM's fixed GOP schedule, but the encoder only
34480 encodes one frame per encode call, and returns at most one encoded
34481 frame.
34482 [11cce4de927a]
34483
344842013-08-13 Steve Borho <steve@borho.org>
34485
34486 * source/Lib/TLibCommon/TComSlice.cpp,
34487 source/Lib/TLibCommon/TComSlice.h,
34488 source/Lib/TLibEncoder/TEncTop.cpp:
34489 TComSlice: delay clearing of motion references until TComPic is
34490 recycled
34491 [a2026f0e1556]
34492
34493 * source/Lib/TLibEncoder/TEncTop.cpp,
34494 source/Lib/TLibEncoder/TEncTop.h:
34495 TEncTop: allocate frames as needed, recycle unreferenced frames from
34496 pic list
34497 [965dbb6e0880]
34498
34499 * source/Lib/TLibCommon/TComPic.h, source/common/lookahead.cpp,
34500 source/common/lookahead.h:
34501 lookahead: add slicetype decision outputs
34502 [45743a306237]
34503
34504 * source/common/lookahead.cpp:
34505 lookahead: hide unused formal parameter, prevent compiler warning
34506 [b4ff6dca63fa]
34507
34508 * source/common/lookahead.cpp, source/common/lookahead.h:
34509 lookahead: fix EOLN, move methods to CPP file, disable downscale
34510 again for now
34511 [b8ad0352ce45]
34512
34513 * source/Lib/TLibEncoder/TEncGOP.cpp:
34514 TEncGOP: don't pretend the gop encoder has multiple frame encoders
34515 [c34463e78f61]
34516
34517 * source/Lib/TLibEncoder/TEncTop.cpp, source/output/y4m.cpp,
34518 source/output/y4m.h, source/output/yuv.cpp, source/x265.h:
34519 recon: allow reconstructed images to be output in non-display order
34520
34521 By returning the POC of the recon image, the output file writers can
34522 seek to the appropriate location in the output file before writing
34523 the frame data
34524 [1d710404b8bb]
34525
34526 * source/Lib/TLibCommon/TComPic.cpp, source/common/lookahead.cpp,
34527 source/common/lookahead.h:
34528 lookahead: move remaining create logic into create method
34529 [90c11204554b]
34530
34531 * source/common/lookahead.cpp:
34532 lookahead: simplify create() method slightly
34533 [506ee1b3ad69]
34534
34535 * source/Lib/TLibCommon/TComPic.cpp:
34536 TComPic: add missing call to lowres.create()
34537 [8c468308ab8d]
34538
34539 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lookahead.h:
34540 lookahead: move downscale and extend logic into lowres.init()
34541 [e3bd326a9f6f]
34542
34543 * source/Lib/TLibCommon/TComPic.h:
34544 TComPic: add sliceType member variable for lookahead output
34545 indication
34546
34547 The TComPic doesn't have a TEncSlice associated with it until encode
34548 time
34549 [74cc4a1bfd2c]
34550
34551 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
34552 source/Lib/TLibEncoder/TEncTop.cpp, source/common/CMakeLists.txt,
34553 source/common/lookahead.cpp, source/common/lookahead.h:
34554 lookahead: isolate buffer allocation and release logic into
34555 LookaheadFrame class
34556 [79c8806844e7]
34557
34558 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
34559 slicetype: remove incorrect comments
34560 [aea1b324270c]
34561
34562 * source/Lib/TLibEncoder/TEncTop.cpp,
34563 source/Lib/TLibEncoder/TEncTop.h, source/encoder/CMakeLists.txt,
34564 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
34565 TEncTop: allocate a singleton lookahead instance
34566 [9a5b30cb1224]
34567
34568 * source/x265opts.h:
34569 x265: no camelcase CLI options
34570 [e866ff4da277]
34571
34572 * source/x265opts.h:
34573 x265: fix help for bFrameBias
34574 [2f1c5bb1d471]
34575
34576 * source/x265.cpp:
34577 x265: show boolean flag defaults even if they have a short-option
34578 [f94fa416ac32]
34579
34580 * source/x265opts.h:
34581 x265: re-order boolean flags for more logical groupings
34582 [c7cfe440ace3]
34583
34584 * source/x265opts.h:
34585 x265: remove obsolete default documentation
34586 [76775075d70d]
34587
345882013-08-13 ggopu <ggopu>
34589
34590 * source/x265.cpp:
34591 x265 cli: Added default values to the CLI help text
34592 [d374ab339bb1]
34593
345942013-08-13 Steve Borho <steve@borho.org>
34595
34596 * source/Lib/TLibEncoder/TEncGOP.cpp,
34597 source/Lib/TLibEncoder/TEncTop.cpp,
34598 source/Lib/TLibEncoder/TEncTop.h:
34599 TEncTop: remove hungarian gc prefix from frame statistics members
34600 [7caea03eee1a]
34601
34602 * source/Lib/TLibEncoder/TEncGOP.cpp:
34603 TEncGOP: remove unnecessary scope level
34604 [03782d7def51]
34605
34606 * source/Lib/TLibEncoder/TEncTop.h:
34607 TEncTOP: forward decl Lookahead and ThreadPool
34608 [d65cc8602bec]
34609
34610 * source/encoder/encoder.cpp:
34611 encoder: prevent warnings for open-gop config
34612 [f3e7ad1ce870]
34613
34614 * source/encoder/slicetype.cpp:
34615 slicetype: only calculate lowres intra costs once per input picture
34616 [9eb065201f31]
34617
34618 * source/encoder/slicetype.cpp:
34619 slicetype: rename tmp to predictions
34620 [c9b3cd336732]
34621
34622 * source/Lib/TLibCommon/TComPic.cpp,
34623 source/Lib/TLibEncoder/TEncTop.cpp, source/common/lookahead.h:
34624 lookahead: re-initialize lowres state for each new picture
34625 [2751158af327]
34626
34627 * source/encoder/slicetype.cpp:
34628 slicetype: fix prediction and sa8d arguments
34629 [78096e525541]
34630
34631 * source/encoder/motion.h:
34632 motion: expose COST_MAX
34633 [cce777ac5df4]
34634
346352013-08-13 ggopu <ggopu>
34636
34637 * source/encoder/motion.h, source/encoder/slicetype.cpp:
34638 slicetype: satd cost analysis bug fixed
34639 [682a9fba1363]
34640
346412013-08-13 Steve Borho <steve@borho.org>
34642
34643 * source/common/common.cpp, source/encoder/encoder.cpp:
34644 encoder: repair open-gop behavior
34645
34646 it was broken when we replaced uint getKeyframeInterval() with
34647 signed int param.keyframeInterval
34648 [560f4c14f09a]
34649
34650 * source/encoder/slicetype.cpp:
34651 slicetype: add comment to make uncrustify happy
34652 [69cd47d7f82d]
34653
34654 * source/common/lookahead.h:
34655 lookahead: remove unused macro
34656 [b87942b6386e]
34657
34658 * source/Lib/TLibEncoder/TEncGOP.cpp,
34659 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.cpp,
34660 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
34661 x265: add lookahead parameters to x265_param_t
34662 [30c4a908cf65]
34663
346642013-08-12 Steve Borho <steve@borho.org>
34665
34666 * source/common/lookahead.h:
34667 lookahead: reorder and document LookaheadFrame
34668 [b9c7aa48d921]
34669
34670 * source/encoder/slicetype.cpp:
34671 slicetype: rename X264_LOOKAHEAD_QP
34672 [c8fff4b1bec8]
34673
34674 * source/encoder/slicetype.cpp:
34675 slicetype: use hex search in lookahead
34676 [8d7ffa0d7433]
34677
346782013-08-12 ggopu <ggopu>
34679
34680 * source/encoder/slicetype.cpp:
34681 slicetype : Uncrustify
34682 [9f604820f7ef]
34683
346842013-08-12 Steve Borho <steve@borho.org>
34685
34686 * source/Lib/TLibEncoder/TEncGOP.cpp:
34687 TEncGOP: cleanup
34688 [415f3a0ae098]
34689
34690 * source/Lib/TLibEncoder/TEncGOP.cpp:
34691 TEncGOP: move adaptive search range determination a bit later
34692 [2ac81e7d676c]
34693
34694 * source/Lib/TLibEncoder/TEncGOP.cpp:
34695 TEncGOP: use REF_PIC_LIST enums directly
34696 [58b2989ec91e]
34697
34698 * source/Lib/TLibEncoder/TEncGOP.cpp:
34699 TEncGOP: move access unit allocation closer to bitstream generation
34700
34701 This further isolates the slice initialization code
34702 [7057a8e3603d]
34703
34704 * source/Lib/TLibEncoder/TEncGOP.cpp:
34705 TEncGOP: wrap long line
34706 [4294560b0494]
34707
34708 * source/Lib/TLibEncoder/TEncGOP.cpp:
34709 TEncGOP: use m_cfg to reference scaling list type
34710 [4d5f7e8888c1]
34711
34712 * source/Lib/TLibEncoder/TEncGOP.cpp:
34713 TEncGOP: rename iRef to ref
34714 [14f9aa8dbe2e]
34715
34716 * source/Lib/TLibEncoder/TEncCfg.h,
34717 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
34718 TEncGOP: TMVP has been hard-coded enabled for some time
34719 [2181954a2d68]
34720
34721 * source/Lib/TLibEncoder/TEncCfg.h,
34722 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
34723 TEncGOP: drop file parsing of scaling lists, simplify slice
34724 initialization
34725 [7afeef6f2a9a]
34726
347272013-08-11 ggopu <ggopu>
34728
34729 * source/encoder/slicetype.cpp:
34730 slicetype: added x265_median_mv
34731 [8438cad92049]
34732
347332013-08-12 Steve Borho <steve@borho.org>
34734
34735 * source/CMakeLists.txt:
34736 cmake: add Windows-only option to make binary compatible with
34737 Windows XP
34738 [e6ad89277005]
34739
347402013-08-11 Steve Borho <steve@borho.org>
34741
34742 * source/input/yuv.cpp:
34743 yuv: delay signed int cast until after division by picture size
34744
34745 This should fix reported negative frame count problems
34746 [368c080859bd]
34747
34748 * source/Lib/TLibEncoder/TEncTop.cpp:
34749 TEncTop: GOP encoders are no longer allocated as an array
34750
34751 As reported by JMK
34752 [14a47a6c1ec1]
34753
347542013-08-11 Aarthi <aarthi@multicorewareinc.com>
34755
34756 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34757 uncrustify, code cleanup , continue porting x264 rate control to
34758 x265.
34759 [4085c992877a]
34760
347612013-08-11 Steve Borho <steve@borho.org>
34762
34763 * source/Lib/TLibEncoder/TEncGOP.cpp,
34764 source/Lib/TLibEncoder/TEncSlice.cpp:
34765 TEncGOP: move slice reference flag from TEncSlice to TEncGOP
34766
34767 Move it together with the rest of the code that determines slice and
34768 NAL type
34769 [7b25809b3fe4]
34770
34771 * source/test/pixelharness.cpp:
34772 pixelharness: revert memcmp counts to full block size
34773
34774 I had changed a number of these to only compare the actual block
34775 size processed by the primitive, but this was wrongly checking the
34776 first n x m pixels instead of the n x m pixels in the upper left
34777 corner of the output buffer (the stride of the buffers was always
34778 64). So it was comparing some of the wrong pixels, and not all of
34779 the proper ones. Comparing all 64x64 pixels is harmless, and
34780 actually verifies the primitive isn't writing beyond the correct
34781 outputs.
34782 [607eedcf3212]
34783
347842013-08-09 Steve Borho <steve@borho.org>
34785
34786 * source/encoder/encoder.cpp:
34787 encoder: nit
34788 [88e0c10bf47b]
34789
34790 * source/Lib/TLibEncoder/TEncCfg.h,
34791 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
34792 encoder: drop unused loop filter offsets from fixed GOP struct
34793 [b496ddb751ac]
34794
34795 * source/encoder/frameencoder.cpp:
34796 frameencoder: fix member initialization order for GCC
34797 [83def5041252]
34798
34799 * source/encoder/slicetype.cpp:
34800 slicetype: fix GCC warnings and EOLN damage and one bug
34801 [69d4bdb68535]
34802
348032013-08-09 sumalatha <sumalatha>
34804
34805 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34806 Uncrustify ratecontrol.cpp and ratecontrol.h
34807 [5f10bcb999ce]
34808
348092013-08-09 praveentiwari <praveentiwari>
34810
34811 * source/common/dct.cpp, source/common/vec/ipfilter8.inc,
34812 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
34813 Added name to worked files
34814 [8a7256f288de]
34815
34816 * source/common/vec/sse.inc:
34817 sse.inc: Added name to contributed file
34818 [93520e0c6df3]
34819
34820 * source/common/vec/dct.inc:
34821 dct.inc: Added name to contributed file
34822 [d8777ff60029]
34823
348242013-08-09 Steve Borho <steve@borho.org>
34825
34826 * source/common/lookahead.h, source/encoder/slicetype.cpp:
34827 slicetype: fill in more lookahead detail
34828 [63e629a504d1]
34829
348302013-08-08 Steve Borho <steve@borho.org>
34831
34832 * source/Lib/TLibEncoder/TEncGOP.cpp,
34833 source/Lib/TLibEncoder/TEncSlice.cpp,
34834 source/Lib/TLibEncoder/TEncTop.cpp:
34835 mark places where m_gopList is used
34836
34837 aka, mark where the demolition charges are set
34838 [14e5d42ea283]
34839
348402013-08-08 Min Chen <chenm003@163.com>
34841
34842 * source/Lib/TLibCommon/TComLoopFilter.cpp,
34843 source/Lib/TLibCommon/TComLoopFilter.h,
34844 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
34845 source/Lib/TLibEncoder/TEncGOP.cpp, source/PPA/ppaCPUEvents.h,
34846 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34847 framepp: thread of loopfilter
34848 [facd861224d6]
34849
348502013-08-08 Steve Borho <steve@borho.org>
34851
34852 * source/common/vec/pixel.inc:
34853 pixel: allow intel compiler to generate AVX2 intrinsics
34854 [95e6b13e7122]
34855
34856 * source/common/vec/pixel.inc:
34857 pixel: disable AVX2 instrinsic SAD primitives for VC11
34858
34859 They are failing unit tests, and causing odd encoder crashes that
34860 appear to be related to aligned loads. We need ASM versions of these
34861 functions.
34862 [235519423524]
34863
34864 * source/test/ipfilterharness.cpp:
34865 ipfilter: and some more tabs
34866 [ee7f9c2593fd]
34867
34868 * source/test/ipfilterharness.cpp:
34869 ipfilter: nuke some tabs
34870 [d2f925d4fdb3]
34871
34872 * source/Lib/TLibCommon/TComCABACTables.h:
34873 TComCABACTables: fix ICL warning about order of variable modifiers
34874 [820b7497f118]
34875
34876 * source/test/ipfilterharness.cpp:
34877 ipfilter: malloc output buffers for testbench - prevents ICL stack
34878 overflow
34879 [9130a070955e]
34880
34881 * source/common/vec/sse.inc:
34882 sse: variable renames to match pixelcmp style
34883 [eb4da8a89357]
34884
348852013-08-08 praveentiwari <praveentiwari>
34886
34887 * source/common/vec/sse.inc:
34888 sse_pp64: +1x over last commit
34889 [e272439497e7]
34890
34891 * source/common/vec/sse.inc:
34892 sse_pp48: +1x over last commit
34893 [5c0700683875]
34894
34895 * source/common/vec/sse.inc:
34896 sse_pp32: Better performance result
34897 [14c2bcce6de1]
34898
34899 * source/common/vec/sse.inc:
34900 sse_pp24: Better performance result
34901 [f03aca71c486]
34902
34903 * source/common/vec/sse.inc:
34904 sse_pp16: Better performance result
34905 [e91911135862]
34906
34907 * source/common/vec/sse.inc:
34908 sse_pp12: Replced costly psrli + pmovzx and psrli + add
34909 [307ade9f9aab]
34910
34911 * source/common/vec/sse.inc:
34912 sse_pp8: Replaced 'vpbroadcastd' with cheaper 'pxor' instruction
34913 [11aed2197707]
34914
349152013-08-08 sumalatha <sumalatha>
34916
34917 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34918 add (incomplete) ratecontrol.cpp and ratecontrol.h
34919 [9974f57f56a1]
34920
349212013-08-08 praveentiwari <praveentiwari>
34922
34923 * source/common/vec/ipfilter8.inc:
34924 filterVertical_s_p: VC9 fix
34925 [5881b6f1e81a]
34926
349272013-08-08 Steve Borho <steve@borho.org>
34928
34929 * source/encoder/CMakeLists.txt:
34930 cmake: add slicetype.cpp to the encoder build
34931 [b4fcf168c5d0]
34932
34933 * source/Lib/TLibCommon/TComPic.h:
34934 TComPic: nit
34935 [dce4535983f4]
34936
349372013-08-08 ggopu <ggopu>
34938
34939 * source/common/lookahead.h, source/encoder/slicetype.cpp:
34940 slicetype: modified lookahead structure and added
34941 slicetype_cu_cost()
34942 [1d6f838b4f64]
34943
34944 * source/encoder/slicetype.cpp:
34945 Uncrustify slicetype.cpp
34946 [2bfbb7608340]
34947
349482013-08-08 Steve Borho <steve@borho.org>
34949
34950 * build/icl/build-all.bat, build/icl/make-makefile.bat,
34951 source/common/vec/CMakeLists.txt:
34952 cmake: add batch files for Intel C++ 2013 on Windows
34953 [57cef8258abe]
34954
34955 * source/CMakeLists.txt:
34956 cmake: Intel's ICL mimics MSVC compiler commandline, treat as equiv
34957 [d4a7ea88c34d]
34958
349592013-08-07 Min Chen <chenm003@163.com>
34960
34961 * source/Lib/TLibEncoder/TEncCavlc.cpp,
34962 source/Lib/TLibEncoder/TEncTop.cpp:
34963 fix bug when '--no-wpp --no-lft'
34964 [33aa6210de6d]
34965
34966 * source/common/common.cpp, source/x265opts.h:
34967 rename option from 'lpf' to 'lft'
34968 [084497e2ef56]
34969
349702013-08-07 praveentiwari <praveentiwari>
34971
34972 * source/common/vec/sse.inc:
34973 sse_pp64: +1.5x for all versions
34974 [710007b7f4ba]
34975
34976 * source/common/vec/sse.inc:
34977 sse_pp48: Improved performance result for all versions
34978 [797416b5b84b]
34979
34980 * source/common/vec/sse.inc:
34981 sse_pp24: Improved performance result for all the versions
34982 [d6403549def5]
34983
34984 * source/common/vec/sse.inc:
34985 sse_pp32: Improved performance for all versions above 1x
34986 [480322faaa72]
34987
34988 * source/common/vec/sse.inc:
34989 sse.inc: Uncrustified
34990 [4cd7311e31b5]
34991
349922013-08-07 Steve Borho <steve@borho.org>
34993
34994 * source/Lib/TLibEncoder/TEncGOP.cpp:
34995 TEncGop: simplify call of setMvdL1ZeroFlag()
34996 [e6d0a359648c]
34997
34998 * source/common/pixel.cpp:
34999 pixel: white-space cleanups in frame_init_lowres_core
35000 [38f11ae10731]
35001
35002 * source/test/pixelharness.cpp:
35003 pixelharness: fix more test dimensions
35004 [80fde3dd585d]
35005
350062013-08-06 Steve Borho <steve@borho.org>
35007
35008 * source/Lib/TLibEncoder/TEncTop.cpp:
35009 TEncTop: simplify pic list destruction
35010 [e8fed4725b02]
35011
35012 * source/Lib/TLibEncoder/TEncTop.cpp:
35013 TEncTop: correct an old comment
35014 [3afa31de4310]
35015
350162013-08-06 Deepthi Devaki <Deepthi Devaki>
35017
35018 * source/common/vec/ipfilter8.inc:
35019 ipfilter8.inc: Uncrustified
35020 [3f879cd9e058]
35021
35022 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35023 ipfilter8.inc: vectorized vertical weighted filter
35024 [56d7ae74bd6e]
35025
35026 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
35027 ipfilterharness: unit test for vertical weighted filter
35028 [053083121fe0]
35029
350302013-08-06 Steve Borho <steve@borho.org>
35031
35032 * source/common/vec/pixel.inc, source/common/vec/sse.inc:
35033 sse: sse_pp requires SSE4.1
35034 [9418d73daa48]
35035
35036 * source/Lib/TLibCommon/TComPic.cpp:
35037 TComPic: fix the malloc logic
35038 [cd89e891c3b9]
35039
35040 * source/Lib/TLibCommon/TComPic.cpp:
35041 TComPic: fix white-space style
35042 [80f154c0305f]
35043
350442013-08-06 praveentiwari <praveentiwari>
35045
35046 * source/common/vec/sse.inc:
35047 sse_pp16: more than +1x performance improvement for all versions.
35048 [c90132bb66fb]
35049
35050 * source/common/vec/sse.inc:
35051 sse_pp12 all versions, improved performance with intrinsic code
35052 [d0a378326291]
35053
35054 * source/common/vec/sse.inc:
35055 +1x for all versions of sse_pp8
35056 [8854c6df7d10]
35057
350582013-08-06 Min Chen <chenm003@163.com>
35059
35060 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
35061 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35062 framepp: move frame col flag to Pic
35063 [2d032b79a988]
35064
350652013-08-06 Steve Borho <steve@borho.org>
35066
35067 * source/Lib/TLibCommon/TComPic.cpp:
35068 TComPic: initialize m_bframes and lowres struct to all zeros
35069 [f48617fc87d3]
35070
35071 * source/test/pixelharness.cpp:
35072 pixelharness: futher magic value cleanups, use STRIDE as appropriate
35073 [c9149cee2317]
35074
35075 * source/Lib/TLibCommon/TComLoopFilter.cpp:
35076 TComLoopFilter: fix variable shadowing
35077
35078 The HM was using Edge as a parameter and iEdge as a loop variable
35079 [977bb357f2a0]
35080
35081 * source/Lib/TLibEncoder/TEncSbac.cpp,
35082 source/Lib/TLibEncoder/TEncSbac.h:
35083 TEncSBac: iOffset -> offset
35084 [91743e8e2ecc]
35085
35086 * source/Lib/TLibCommon/TComPattern.cpp:
35087 TComPattern: piSrc -> sec
35088 [0d5ec9084022]
35089
35090 * source/Lib/TLibCommon/TComLoopFilter.cpp,
35091 source/Lib/TLibCommon/TComLoopFilter.h:
35092 TComLoopFilter: strip hungarian prefixes from members and autos
35093 [d42fdd481a32]
35094
350952013-08-06 Min Chen <chenm003@163.com>
35096
35097 * source/Lib/TLibCommon/TComLoopFilter.cpp:
35098 framepp: merge V/H filter into one loop
35099 [4c49a45a5ce9]
35100
35101 * source/Lib/TLibCommon/TComLoopFilter.cpp:
35102 framepp: loopfilter simplify and remove redundant
35103 getDeblockingFilterDisable()
35104 [aaf5ba14d7d4]
35105
351062013-08-05 Steve Borho <steve@borho.org>
35107
35108 * source/test/pixelharness.cpp:
35109 pixelharness: stride of 64, incr of 32, remove magical values
35110
35111 This should fix AVX2 test failures and make the code more
35112 maintainable
35113 [922ef1b99c9a]
35114
35115 * source/test/pixelharness.cpp:
35116 pixelharness: remove redundant defines
35117 [9c2792126e9d]
35118
35119 * source/Lib/TLibEncoder/TEncCfg.h:
35120 white-space cleanups in TEncCfg.h
35121 [03880135c31b]
35122
35123 * source/encoder/motion.cpp, source/encoder/motion.h:
35124 motion: remove dead subsample member
35125 [18eefbb58790]
35126
35127 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
35128 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
35129 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
35130 TEncGOP: remove SOPDescriptionSEI, the HM's implementation required
35131 fixed GOP
35132 [697ed158f1e2]
35133
35134 * source/Lib/TLibEncoder/TEncGOP.cpp:
35135 TEncGOP: remove unused multi-slice logic
35136 [4b91d6759a09]
35137
35138 * source/Lib/TLibEncoder/TEncGOP.cpp:
35139 TEncGOP: isolate colDir logic within B-frame expression
35140 [43b753eef43d]
35141
351422013-08-05 ggopu <ggopu>
35143
35144 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
35145 source/Lib/TLibEncoder/TEncTop.cpp:
35146 lookahead: lookahead output cost allocations and initialization
35147 [81c3ad052397]
35148
351492013-08-05 Steve Borho <steve@borho.org>
35150
35151 * source/Lib/TLibEncoder/TEncCfg.h,
35152 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
35153 remove redundant m_deblockingFilterControlPresent
35154 [ee84b4b64587]
35155
35156 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
35157 remove redundant m_bLoopFilterDisable
35158 [8db8e2fe6ba3]
35159
351602013-08-05 Min Chen <chenm003@163.com>
35161
35162 * source/Lib/TLibCommon/TComLoopFilter.cpp,
35163 source/Lib/TLibCommon/TComLoopFilter.h,
35164 source/Lib/TLibEncoder/TEncGOP.cpp,
35165 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.cpp,
35166 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
35167 source/x265.h, source/x265opts.h:
35168 framepp: Loopfilter cleanup and control by --lpf
35169 [d1f2b9cad11d]
35170
351712013-08-05 Deepthi Devaki <Deepthi Devaki>
35172
35173 * source/common/vec/ipfilter8.inc:
35174 Optimizations to horizontal weighted filter
35175 [bdea613d4402]
35176
35177 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35178 vectorized horizontal weighted filter
35179 [894e47d258a7]
35180
35181 * source/test/ipfilterharness.cpp:
35182 ipfilterharness: modifications to weighted filter testbench
35183 [87dbfdda0769]
35184
351852013-08-05 praveentiwari <praveentiwari>
35186
35187 * source/common/vec/ipfilter8.inc:
35188 filterHorizontal_p_s: saving instructions with control execution
35189 [48c6641e19de]
35190
35191 * source/common/vec/ipfilter8.inc:
35192 filterHorizontal_p_p: sum decleared as local register
35193 [77ee29b50554]
35194
35195 * source/common/vec/ipfilter8.inc:
35196 filterHorizontal_p_p: saving instruction with control execution
35197 [0c2a6a18293e]
35198
351992013-08-05 Steve Borho <steve@borho.org>
35200
35201 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35202 ipfilter: ipfilter_pp uses SSE4.1 instructions
35203 [a1133f538222]
35204
352052013-08-04 Aarthi <aarthi@multicorewareinc.com>
35206
35207 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
35208 source/Lib/TLibCommon/TComTrQuant.cpp,
35209 source/Lib/TLibCommon/TComTrQuant.h,
35210 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
35211 source/Lib/TLibEncoder/TEncGOP.cpp,
35212 source/Lib/TLibEncoder/TEncSearch.cpp,
35213 source/Lib/TLibEncoder/TEncSlice.cpp,
35214 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
35215 source/encoder/frameencoder.cpp:
35216 remove duplicate vars, get() methods
35217 [37cbf6432e63]
35218
352192013-08-02 Steve Borho <steve@borho.org>
35220
35221 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35222 ipfilter: remove vector versions of more optimized functions
35223 [074c05f87c53]
35224
35225 * source/common/vec/CMakeLists.txt, source/common/vec/blockcopy-
35226 sse42.cpp, source/common/vec/dct-sse42.cpp, source/common/vec/intra-
35227 sse42.cpp, source/common/vec/ipfilter-sse42.cpp, source/common/vec
35228 /pixel-sse42.cpp, source/common/vec/sse42.cpp, source/common/vec
35229 /vec-primitives.cpp:
35230 remove SSE42 vector primitive files - they were nearly the same as
35231 SSE41
35232
35233 There wasn't enough differentiation (only abs() changed with SSE42)
35234 to warrant all the extra build time.
35235 [b391765c9c96]
35236
35237 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
35238 source/x265.h:
35239 x265: switch cpu levels from enum to defines
35240 [3db96ea97abb]
35241
35242 * source/common/vec/pixel.inc:
35243 pixel: move sse.inc include closer to other primitive includes
35244 [8afe0e089317]
35245
35246 * source/common/primitives.h, source/common/vec/blockcopy.inc,
35247 source/common/vec/dct.inc, source/common/vec/intrapred.inc,
35248 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35249 vec: use enums instead of magical integer values for SIMD build
35250 macros
35251 [6764c2750c35]
35252
35253 * source/common/primitives.h:
35254 primitives: white-space fix
35255 [190063ccc281]
35256
35257 * source/x265.h:
35258 x265: add enums for CPU SIMD architecture levels
35259 [adad7346e6f7]
35260
35261 * source/x265.h:
35262 x265: fix C++ism in public header and some white-space issues
35263 [37e2c97d2478]
35264
35265 * source/encoder/frameencoder.cpp:
35266 frameencoder: do not check row priority if WPP is disabled
35267 [d0b3ab46f903]
35268
35269 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
35270 source/encoder/compress.cpp:
35271 TEncCfg: nuke most set*() methods
35272 [1b9935ff8dcf]
35273
352742013-08-02 praveentiwari <praveentiwari>
35275
35276 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35277 filterVertical_p_p: intrinsic for vector replacement
35278 [0a9afd5eed38]
35279
35280 * source/common/vec/ipfilter8.inc:
35281 filterVertical_s_p: constrution replaced with shuffle
35282 [d2cbfda470bb]
35283
35284 * source/common/vec/ipfilter8.inc:
35285 filterVertical_s_p: fix for VC9 test bench fail
35286 [62696c47e875]
35287
352882013-08-02 Steve Borho <steve@borho.org>
35289
35290 * source/encoder/encoder.cpp:
35291 encoder: fix member variable shadowing
35292 [2416019326d9]
35293
352942013-08-02 ggopu <ggopu>
35295
35296 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
35297 source/Lib/TLibCommon/TComPicYuv.h,
35298 source/Lib/TLibEncoder/TEncTop.cpp, source/common/CMakeLists.txt,
35299 source/common/lookahead.h:
35300 Lookahead data structures introduced
35301 [de3e6c30815c]
35302
353032013-08-02 aarthi <aarthi>
35304
35305 * source/encoder/encoder.cpp:
35306 replaced all the set*() methods with the member variables in
35307 encoder.cpp
35308 [83865be72a9d]
35309
353102013-08-02 Shazeb N Khan <Shazeb N Khan>
35311
35312 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
35313 TestBench for filter-Weighted
35314 [30c7ae31afd5]
35315
353162013-08-01 Steve Borho <steve@borho.org>
35317
35318 * source/common/wavefront.cpp, source/common/wavefront.h,
35319 source/encoder/frameencoder.cpp:
35320 wavefront: add a check for higher priority rows ready to be
35321 processed
35322 [322bea3559e7]
35323
35324 * source/Lib/TLibEncoder/TEncCfg.h,
35325 source/Lib/TLibEncoder/TEncGOP.cpp,
35326 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
35327 replace TEncCfg.getIntraPeriod with param.keyframeInterval
35328 [86cc97cbcb3e]
35329
35330 * source/Lib/TLibEncoder/TEncCfg.h,
35331 source/Lib/TLibEncoder/TEncGOP.cpp,
35332 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
35333 source/encoder/frameencoder.cpp:
35334 replace TEncCfg.getSourceHeight with param.sourceHeight
35335 [67cc495aaa55]
35336
35337 * source/Lib/TLibEncoder/TEncCfg.h,
35338 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
35339 source/encoder/frameencoder.cpp:
35340 replace TEncCfg.getSourceWidth with param.sourceWidth
35341 [3f971cea03e8]
35342
35343 * source/Lib/TLibEncoder/TEncCfg.h,
35344 source/Lib/TLibEncoder/TEncGOP.cpp,
35345 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
35346 replace TEncCfg.getFrameRate with param.frameRate
35347 [9e872c494da3]
35348
35349 * source/Lib/TLibEncoder/TEncCfg.h,
35350 source/Lib/TLibEncoder/TEncGOP.cpp,
35351 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
35352 replace TEncCfg.getLogLevel with param.logLevel
35353 [1f83472c5312]
35354
35355 * source/Lib/TLibEncoder/TEncGOP.cpp,
35356 source/Lib/TLibEncoder/TEncSlice.cpp,
35357 source/Lib/TLibEncoder/TEncTop.cpp,
35358 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
35359 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
35360 replace TEncCfg.getEnableWaveFront() with param.bEnableWavefront
35361 [584dac26a4f2]
35362
35363 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncTop.h,
35364 source/encoder/encoder.cpp:
35365 give TEncCfg a copy of the input params
35366 [184702b704a5]
35367
35368 * source/encoder/encoder.cpp:
35369 encoder: note some missing logic in level enforcement
35370 [0e6828678464]
35371
35372 * source/common/common.cpp:
35373 common: update warning message about searchMethod values
35374 [29e00b2bff05]
35375
35376 * source/Lib/TLibEncoder/TEncSearch.cpp,
35377 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.cpp:
35378 add full search to optimized ME, always use our function for uni-
35379 search
35380 [187647eff86d]
35381
35382 * source/Lib/TLibEncoder/TEncSearch.cpp,
35383 source/Lib/TLibEncoder/TEncSearch.h, source/x265.h,
35384 source/x265opts.h:
35385 remove HM's unidirectional motion search except full search
35386 [712d50ffcfe4]
35387
35388 * source/encoder/encoder.cpp:
35389 biprediction uses HM's full search routine unconditionally
35390
35391 The search method for uni-directional search does not depend on
35392 bipred search configuration.
35393 [bdef1663b85a]
35394
353952013-08-01 Shazeb N Khan <Shazeb N Khan>
35396
35397 * source/Lib/TLibCommon/TComPrediction.cpp,
35398 source/Lib/TLibEncoder/TEncSearch.cpp,
35399 source/Lib/TLibEncoder/TEncSlice.cpp:
35400 TEncSearch, TEncSlice, TComPrediction: Uncrustified
35401 [59d9b3f08727]
35402
354032013-08-01 Steve Borho <steve@borho.org>
35404
35405 * source/Lib/TLibCommon/TComPrediction.cpp,
35406 source/Lib/TLibCommon/TComWeightPrediction.cpp,
35407 source/Lib/TLibCommon/TComWeightPrediction.h,
35408 source/Lib/TLibEncoder/TEncSearch.cpp:
35409 Using the weighted frames in prediction
35410 [c77176c0a699]
35411
354122013-08-01 Shazeb N Khan <Shazeb N Khan>
35413
35414 * source/Lib/TLibCommon/TComSlice.h,
35415 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
35416 Integration of weighted frames in the encoder
35417 [2113842f58ea]
35418
35419 * source/Lib/TLibCommon/TComPrediction.cpp,
35420 source/Lib/TLibCommon/TComPrediction.h,
35421 source/Lib/TLibEncoder/TEncSearch.cpp:
35422 Used cached MotionReference pointers in Prediction
35423 [62150133b753]
35424
354252013-08-01 Steve Borho <steve@borho.org>
35426
35427 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp,
35428 source/common/reference.h:
35429 reference: add methods for setting and comparing weights
35430 [dba06d54c67e]
35431
35432 * source/common/reference.h, source/encoder/motion.cpp,
35433 source/encoder/motion.h:
35434 reference: split reference plane data from interpolation logic
35435
35436 The motion search code only needs the ReferencePlanes data. Now that
35437 it is separated, lookahead can use the reference plane structure
35438 without all the MotionReference overhead.
35439 [7b3fa7f5cfa5]
35440
35441 * source/Lib/TLibCommon/CommonDef.h, source/encoder/compress.cpp:
35442 Move LAMBDA_PARTITION_SELECT defnition from CommonDef to
35443 compress.cpp
35444 [f39175ab6093]
35445
35446 * source/common/vec/ipfilter8.inc:
35447 ipfilter: remove unused maxVal variable (for 8bpp it is unnecessary)
35448 [689de127f659]
35449
35450 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35451 ipfilter_sp uses SSE4 instructions
35452 [1ee78b4c3ba0]
35453
35454 * source/common/common.cpp:
35455 common: enable WPP by default, disable by --no-wpp or --threads 1
35456 [b1b84e8b7b70]
35457
354582013-08-01 praveentiwari <praveentiwari>
35459
35460 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35461 Close to +2x performance improvement for filterVertical_s_p
35462 [6a66dfc449bc]
35463
354642013-08-01 sumalatha <sumalatha>
35465
35466 * source/Lib/TLibCommon/CommonDef.h:
35467 adjusted LAMBDA_PARTITION_SELECT value to 0.9 - optimal for using in
35468 Early-Exit NO-RDO
35469 [053abe99ac91]
35470
35471 * source/encoder/compress.cpp:
35472 made logic changes to EARLY_EXIT_NO_RDO mode - optimized for perf
35473 Gain
35474 [f03c950448c0]
35475
35476 * source/encoder/compress.cpp:
35477 uncrustify : compress.cpp
35478 [e108bfd4d6f5]
35479
354802013-07-31 Steve Borho <steve@borho.org>
35481
35482 * source/Lib/TLibEncoder/TEncGOP.cpp:
35483 TEncGOP: remove unused variable
35484 [8eebc88f86e0]
35485
35486 * source/Lib/TLibCommon/TComPicYuv.cpp:
35487 TComPicYuv: release m_refList as a singly linked list
35488 [b59563cc34bb]
35489
35490 * source/Lib/TLibCommon/TComPicYuv.h,
35491 source/Lib/TLibEncoder/TEncTop.cpp:
35492 TComPicYuv: rename setBorderExtension() to clearExtendedFlag()
35493 [0be525cd8583]
35494
35495 * source/Lib/TLibCommon/TComPicYuv.cpp,
35496 source/Lib/TLibCommon/TComPicYuv.h,
35497 source/Lib/TLibEncoder/TEncSlice.cpp:
35498 TComPicYuv: rename extendPicBorder to generateMotionReference()
35499
35500 The function now can be said to generate a motion reference for a
35501 reconstructed frame
35502 [0d8544362337]
35503
35504 * source/Lib/TLibCommon/TComPicYuv.cpp,
35505 source/Lib/TLibCommon/TComPicYuv.h:
35506 TComPicYuv: inline the motion reference search
35507 [f1d4fe6c85fa]
35508
35509 * source/Lib/TLibEncoder/TEncSearch.cpp:
35510 TEncSearch: use cached motion references from slice header
35511 [7a80be8edcfa]
35512
355132013-07-31 Shazeb N Khan <Shazeb N Khan>
35514
35515 * source/Lib/TLibCommon/TComPicYuv.cpp,
35516 source/Lib/TLibCommon/TComPicYuv.h,
35517 source/Lib/TLibCommon/TComSlice.h,
35518 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/reference.cpp,
35519 source/common/reference.h:
35520 Cached the motion reference list in the Slice
35521 [cd150fe1d042]
35522
355232013-07-31 Steve Borho <steve@borho.org>
35524
35525 * source/Lib/TLibCommon/TComPicYuv.cpp,
35526 source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.h:
35527 MotionReference objects with distinct weights handled as linked list
35528 [575c8ba71475]
35529
35530 * source/Lib/TLibEncoder/TEncGOP.cpp:
35531 TEncGOP: further simplifications
35532 [66eab44e4c56]
35533
35534 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
35535 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
35536 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
35537 remove unreachable TemporalLevel0Index SEI message
35538 [5843dfb610e4]
35539
35540 * source/Lib/TLibEncoder/TEncGOP.cpp:
35541 TEncGOP: further simplifications and cleanups
35542 [a20d80859567]
35543
35544 * source/Lib/TLibEncoder/TEncGOP.cpp:
35545 TEncGOP: remove redundant slice->setNextSlice() (very next line
35546 reverses it)
35547 [faf8586102b5]
35548
35549 * source/Lib/TLibEncoder/TEncGOP.cpp:
35550 TEncGOP: remove redundant if() checks and pointer dereferences
35551 [0602b9fb4f62]
35552
35553 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
35554 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
35555 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
35556 remove unreachable scalable nesting SEI message
35557 [84e6d71e70e1]
35558
355592013-07-30 Steve Borho <steve@borho.org>
35560
35561 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
35562 source/Lib/TLibCommon/TComSlice.cpp,
35563 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
35564 source/Lib/TLibEncoder/TEncGOP.cpp,
35565 source/Lib/TLibEncoder/TEncSlice.cpp,
35566 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
35567 remove unused temporal layer logic
35568 [74060e8f4860]
35569
35570 * source/Lib/TLibEncoder/TEncGOP.cpp:
35571 TEncGOP: reorder some logic for more clarity
35572 [17a48c3c393a]
35573
35574 * source/Lib/TLibEncoder/TEncGOP.cpp,
35575 source/Lib/TLibEncoder/TEncGOP.h:
35576 TEncGOP: remove unused m_batchSize, m_startPOC
35577
35578 Remnants of GOP parallelism
35579 [1396e8d60605]
35580
35581 * source/Lib/TLibEncoder/TEncGOP.cpp:
35582 TEncGOP: move init-type code into init() function
35583 [1610291e59a0]
35584
35585 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
35586 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
35587 source/Lib/TLibEncoder/TEncGOP.h,
35588 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
35589 source/Lib/TLibEncoder/TEncRateCtrl.h,
35590 source/Lib/TLibEncoder/TEncSlice.h,
35591 source/Lib/TLibEncoder/TEncTop.cpp,
35592 source/Lib/TLibEncoder/TEncTop.h, source/encoder/compress.cpp,
35593 source/encoder/encoder.cpp:
35594 remove HM rate control code that has been long broken by WPP
35595 [deb6891ead01]
35596
35597 * source/CMakeLists.txt, source/common/vec/CMakeLists.txt:
35598 cmake: cleanup tabs
35599 [058ee5276203]
35600
35601 * source/CMakeLists.txt, source/common/vec/CMakeLists.txt:
35602 cmake: gcc 4.7 support for avx2 vector headers is a little touchy
35603 [7d0616453134]
35604
35605 * source/common/reference.cpp, source/common/reference.h:
35606 MotionReference class with weighted frames
35607 [0b55e4728a3d]
35608
356092013-07-30 Deepthi Devaki <Deepthi Devaki>
35610
35611 * source/common/ipfilter.cpp, source/common/primitives.h:
35612 Modified weighted IP Filter primitive to include Full Pel
35613 [575b46e6d413]
35614
356152013-07-29 Steve Borho <steve@borho.org>
35616
35617 * source/Lib/TLibEncoder/TEncTop.cpp:
35618 TEncTop: re-order destruction so thread pool outlives job providers
35619 [057b9a97c920]
35620
35621 * source/Lib/TLibEncoder/TEncGOP.cpp,
35622 source/Lib/TLibEncoder/TEncGOP.h,
35623 source/Lib/TLibEncoder/TEncTop.cpp,
35624 source/Lib/TLibEncoder/TEncTop.h:
35625 TEncTop: move frame list, recon list, and access units out of
35626 TEncGOP
35627
35628 This is in preparation for making a new slicetype / lookahead
35629 structure and breaking TEncGOP into a half dozen pieces.
35630 [ec1852ccacee]
35631
35632 * source/common/common.cpp:
35633 common: enable AMP by default
35634 [2f3df1553a49]
35635
35636 * source/common/common.cpp:
35637 common: enable SAO by default
35638 [9fd468696d9a]
35639
35640 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
35641 source/x265opts.h:
35642 make decoder refresh type a configurable param [CHANGES OUTPUTS]
35643
35644 Now that internal GOP parallelism is gone, we can allow the
35645 different modes to be selected at runtime.
35646 [4d923d9b501a]
35647
35648 * source/Lib/TLibEncoder/TEncSlice.cpp:
35649 TEncSlice: recover HM's original lambda calculations [CHANGES
35650 OUTPUTS (back)]
35651
35652 Now that internal GOP parallelism is no longer supported, this logic
35653 is no longer a determinism bug waiting to happen. But we still want
35654 to replace all this "magical math" with simple QP->lambda tables, in
35655 the long term.
35656 [4992e5165984]
35657
35658 * source/Lib/TLibEncoder/TEncGOP.cpp:
35659 TEncGOP: nit
35660 [62db6594a54e]
35661
35662 * source/Lib/TLibEncoder/TEncCfg.h,
35663 source/Lib/TLibEncoder/TEncGOP.cpp,
35664 source/Lib/TLibEncoder/TEncGOP.h,
35665 source/Lib/TLibEncoder/TEncTop.cpp,
35666 source/Lib/TLibEncoder/TEncTop.h, source/common/common.cpp,
35667 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
35668 remove GOP parallelism, simplify TEncTop and TEncGOP
35669 [fabc0722f393]
35670
35671 * source/CMakeLists.txt:
35672 cmake: add x265.h to CLI visual studio project for convenience
35673
35674 most people will open the x265 project looking for x265.h
35675 [3cadbb2d0150]
35676
356772013-07-27 Steve Borho <steve@borho.org>
35678
35679 * source/Lib/TLibEncoder/TEncGOP.cpp,
35680 source/Lib/TLibEncoder/TEncGOP.h,
35681 source/Lib/TLibEncoder/TEncTop.cpp,
35682 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
35683 source/x265.cpp, source/x265.h:
35684 x265: add x265_encoder_headers() public API
35685
35686 This brings us more in sync with x264, and makes GOP parallelism
35687 almost trivial to implement above the level of the encoder (so we
35688 can remove the internal one)
35689 [2bda33439bf9]
35690
356912013-07-29 Steve Borho <steve@borho.org>
35692
35693 * source/Lib/TLibEncoder/TEncGOP.cpp:
35694 TEncGOP: remove unused variable
35695 [3e055671010e]
35696
356972013-07-29 praveentiwari <praveentiwari>
35698
35699 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35700 ipfilter: +3x for filterHorizontal_p_s functions
35701
35702 ipfilter_ps now requires at least SSSE3
35703 [5feb9f813a64]
35704
35705 * source/common/vec/ipfilter8.inc:
35706 filterHorizontal_p_p vector portion replaced with intrinsic code
35707 [74d8c41266d5]
35708
35709 * source/common/vec/ipfilter8.inc:
35710 Uncrustified ipfilter8.inc file
35711 [9fb0dd3a7460]
35712
357132013-07-29 Steve Borho <steve@borho.org>
35714
35715 * source/common/x86/asm-primitives.cpp:
35716 asm: fix 16bpp test bench
35717 [364f48a1e183]
35718
35719 * source/Lib/TLibEncoder/TEncGOP.cpp:
35720 TEncGOP: cleanups
35721 [8f7dc5f4a05c]
35722
357232013-07-27 Steve Borho <steve@borho.org>
35724
35725 * source/encoder/compress.cpp:
35726 compress: inter2Nx2NCost was set but not used in default builds
35727 [08061e08d3bb]
35728
35729 * source/Lib/TLibEncoder/TEncCavlc.cpp,
35730 source/Lib/TLibEncoder/TEncSbac.cpp:
35731 fix compile with ENC_DEC_TRACE enabled in TComRom.h
35732 [5ad0b644d15f]
35733
35734 * source/common/vec/ipfilter8.inc:
35735 ipfilter: fix variable shadowing reported by GCC
35736 [2d13884687e8]
35737
357382013-07-26 Steve Borho <steve@borho.org>
35739
35740 * Merge with stable
35741 [30c257a1fa77]
35742
35743 * build/regression/email-csv.py:
35744 regression: improve email-csv.py
35745 [36c6c198f885] <stable>
35746
35747 * source/encoder/compress.cpp:
35748 compress: code cleanups, no functional changes
35749 [ca9d2057a56c]
35750
357512013-07-26 Aarthi <aarthi@multicorewareinc.com>
35752
35753 * source/encoder/compress.cpp:
35754 changes to early Exit No RDO - roughly +14% with EARLY_EXIT_NO_RDO=1
35755 [5ef875c10c88]
35756
357572013-07-26 Steve Borho <steve@borho.org>
35758
35759 * source/CMakeLists.txt:
35760 cmake: remove unused NO_RDO_EARLY_EXIT build option
35761 [2b4f9d12f141]
35762
35763 * source/encoder/compress.cpp:
35764 move EARLY_EXIT_NO_RDO to top of compress.cpp
35765 [6e4a1748e98a]
35766
35767 * source/common/vec/ipfilter8.inc:
35768 ipfilter: use unaligned load for coefficients
35769
35770 The chroma coeff table can't be loaded on 16byte alignment
35771 [73d93cdcf978]
35772
35773 * source/common/vec/ipfilter8.inc:
35774 ipfilter: fix eoln damage from cut-paste
35775 [70ff5b57e0e2]
35776
35777 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35778 ipfilter now requires at least SSSE3
35779 [06e9fb6913aa]
35780
357812013-07-26 praveentiwari <praveentiwari>
35782
35783 * source/common/vec/ipfilter8.inc:
35784 Approx +5x for ipfilterH_pp<8> and ipfilterH_pp<4>
35785 [dee0115561d9]
35786
357872013-07-26 Steve Borho <steve@borho.org>
35788
35789 * source/common/x86/pixel.h:
35790 asm: white-space nits
35791 [76931d20b082]
35792
35793 * Merge with stable
35794 [e23b5e5f7347]
35795
35796 * source/common/x86/README.txt, source/common/x86/const-a.asm,
35797 source/common/x86/cpu-a.asm, source/common/x86/mc-a2.asm,
35798 source/common/x86/pixel-a.asm, source/common/x86/sad-a.asm,
35799 source/common/x86/x86inc.asm, source/common/x86/x86util.asm:
35800 asm: refresh all asm to a recent x264 revision
35801 [d0542565dc1d]
35802
35803 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
35804 asm: use macro decl of downscale prims
35805 [fc069ab1ecd6]
35806
35807 * source/common/x86/asm-primitives.cpp:
35808 asm: remove pragma warning disable, connect some 16bpp routines
35809 [b1bbb760f007]
35810
35811 * source/test/pixelharness.cpp:
35812 pixelharness: fix alignment of downscale input arguments
35813 [4117d2f613ac]
35814
358152013-07-26 ggopu <ggopu@bitbucket.org>
35816
35817 * source/common/pixel.cpp, source/common/primitives.h,
35818 source/common/x86/CMakeLists.txt, source/common/x86/asm-
35819 primitives.cpp, source/common/x86/mc-a2.asm,
35820 source/common/x86/pixel.h, source/test/pixelharness.cpp,
35821 source/test/pixelharness.h:
35822 Lookahead: asm primitve for downscale
35823 [71234ae45d95]
35824
358252013-07-26 Steve Borho <steve@borho.org>
35826
35827 * source/common/common.cpp, source/x265.h:
35828 api: rename x265_bit_depth to x265_max_bit_depth for clarity
35829
35830 For 16bpp builds, we will eventually want to allow 12bit pixels, but
35831 it should also be capable of encoding 10 and 8 bit streams as well.
35832 Use 8 even for 16bpp builds for now, since we know higher bit depths
35833 are broken.
35834 [d44588a406ce] <stable>
35835
35836 * source/PPA/ppa.cpp, source/common/threading.h:
35837 use lower case <windows.h> consistently - fixes cross-compiles
35838 [aa392516ae56] <stable>
35839
35840 * source/test/testbench.cpp:
35841 testbench: use x265_malloc / x265_free to avoid duplicate logic
35842 [6b18efa79241] <stable>
35843
35844 * source/common/common.cpp:
35845 common: fix mingw64 malloc
35846 [29fd8ece16d7] <stable>
35847
35848 * open a permanent named branch "stable"
35849
35850 The stable branch is for bug-fixes and documentation improvements
35851 The default branch is where all new development takes place
35852
35853 Each time bugs are fixed on stable, the stable branch is merged into
35854 default. Default is only merged back into stable just prior to a new
35855 release tag.
35856 [1fd88edc7b11] <stable>
35857
35858 * source/Lib/TLibEncoder/TEncSearch.cpp:
35859 intra: re-enable 64x64 downscale path
35860 [f2f70fa9b4f3]
35861
35862 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
35863 intrapred: fix bug on --cpuid less than 4
35864 [bd8ef1eb5a6c]
35865
35866 * source/encoder/encoder.cpp:
35867 encoder: ensure the setLFCrossTileBoundaryFlag() method is called
35868 once
35869
35870 Even though we do not use tiles, this could have affected the logic.
35871 For basic encodes, we are now valgrind clean.
35872 [904c5cac454d]
35873
35874 * source/encoder/encoder.cpp:
35875 encoder: fix bug reported by valgrind; config vars referenced before
35876 assignment
35877 [13729094ca7e]
35878
35879 * source/Lib/TLibEncoder/TEncGOP.cpp:
35880 TEncGOP: fix crash in computeSSD when frame stride is not aligned
35881 enough
35882 [e53c6f48ba9f]
35883
35884 * source/test/pixelharness.cpp:
35885 testbench: fix leak in pixelharness
35886 [4968a6bfd760]
35887
358882013-07-25 Steve Borho <steve@borho.org>
35889
35890 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
35891 primitives.cpp:
35892 cmake: clarify GCC versions which supported AVX, XOP, and AVX2
35893 intrinsics
35894 [1dfbbb7d2476]
35895
35896 * source/common/vec/pixel8.inc:
35897 pixel: remove unused formal parameter names
35898 [ddaaf7b2bd70]
35899
35900 * source/VectorClass/vectori256.h:
35901 vector: fix variable shadow warnings reported by GCC 4.8.1
35902
35903 The second shadow was almost certainly a bug
35904 [d6da69ef1e14]
35905
35906 * source/CMakeLists.txt:
35907 cmake: on Mac OS X, it is not necessary to link with rt
35908 [2f5480619e98]
35909
35910 * source/Lib/TLibCommon/CommonDef.h,
35911 source/Lib/TLibCommon/TComDataCU.cpp,
35912 source/Lib/TLibCommon/TComPicYuv.cpp,
35913 source/Lib/TLibCommon/TComPrediction.cpp,
35914 source/Lib/TLibCommon/TComTrQuant.cpp,
35915 source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp,
35916 source/common/common.cpp, source/common/ipfilter.cpp,
35917 source/common/reference.cpp, source/test/mbdstharness.cpp,
35918 source/test/pixelharness.cpp, source/test/testbench.cpp:
35919 common: introduce X265_MALLOC/X265_FREE to replace xMalloc/xFree
35920
35921 Uses _aligned_malloc() on Windows and posix_memalign() on everything
35922 else. Old MingGW32 requires a name mapping hack
35923 [0e9399d65002]
35924
35925 * source/common/x86/asm-primitives.cpp:
35926 asm: more white-space nits
35927 [a32a25e928e6]
35928
35929 * source/common/x86/asm-primitives.cpp:
35930 asm: white-space only
35931 [5f20aa2d81bf]
35932
35933 * source/common/x86/asm-primitives.cpp:
35934 asm: CPUID 3 is SSSE3, 4 is SSE4. CPUID 1 == C only
35935 [5c2f9bb8f965]
35936
35937 * source/Lib/COPYING.HM:
35938 license: add a copy of HM's license to source/Lib
35939 [6f06736eb325]
35940
35941 * source/x265.cpp:
35942 x265: exit cleanly when missing input YUV parameters
35943 [1fd3c11d5219]
35944
35945 * source/x265.cpp:
35946 vld: report leaks to file as well, useful for regression suite
35947 [d0153575b4b4]
35948
35949 * source/x265.cpp:
35950 x265: clear progress report line at exit only if progress enabled
35951 [fc9a6776f9d0]
35952
35953 * build/regression/01build-and-smoke-test.bat:
35954 regression: leave build remnants in place, delete cmake cache
35955 between runs
35956 [44c880a8932b]
35957
35958 * build/regression/01build-and-smoke-test.bat,
35959 build/regression/02perftest.bat:
35960 regression: use --no-progress when running encoder, to clean up logs
35961 [b8b9ff6596ee]
35962
35963 * build/regression/01build-and-smoke-test.bat:
35964 regression: use single-threaded msys make to avoid console color
35965 issues
35966 [62e3828fe4d9]
35967
35968 * doc/LookaheadPlan.txt:
35969 doc: publish a plan for porting x264 slice decision and adding frame
35970 parallelism
35971 [67d705db7085]
35972
359732013-07-25 Min Chen <chenm003@163.com>
35974
35975 * source/encoder/compress.cpp:
35976 intrapred: sync buffer overflow patch to mode --no-rdo
35977 [67da2187eb8b]
35978
359792013-07-24 Steve Borho <steve@borho.org>
35980
35981 * source/common/vec/dct.inc, source/common/vec/intrapred.inc:
35982 dct,intra: protect include of smmintrin.h from SIMD arch < SSE4.1
35983 [25b5e4a4cc1e]
35984
35985 * source/common/vec/CMakeLists.txt:
35986 cmake: use appropriate -mARCH for each intrinsic file set for GCC
35987 [8f746d62e6e1]
35988
35989 * source/x265.cpp:
35990 x265: check YUV parameters before trying to open YUV file
35991 [580ded735dc2]
35992
35993 * source/Lib/TLibCommon/TComPicYuv.cpp,
35994 source/Lib/TLibCommon/TComPicYuv.h:
35995 TComPicYuv: cache strides in a member variable
35996 [d3ae586fca87]
35997
35998 * source/Lib/TLibCommon/TComPicYuv.cpp:
35999 TComPicYuv: remove obsolete malloc includes
36000 [6da8f47eb6e1]
36001
36002 * source/Lib/TLibCommon/TComPicYuv.cpp:
36003 TComPicYuv: varname cleanup
36004 [cffe02b2feda]
36005
36006 * source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp:
36007 TComYuv: variable name cleanups
36008 [5487a1e80f4e]
36009
360102013-07-24 Deepthi <Deepthi>
36011
36012 * source/Lib/TLibCommon/TComYuv.cpp:
36013 Unreferenced variable removed.
36014 [fd4954d7c2ac]
36015
360162013-07-24 ggopu <ggopu>
36017
36018 * source/Lib/TLibCommon/TComYuv.cpp:
36019 TComYuv: Added primitive functions for Addclip Luma and chroma
36020 [47edc0c679e0]
36021
36022 * source/common/TShortYUV.cpp:
36023 TshortYUV: Added Primitive Functions for BlockCopy and AddClip for
36024 both luma and chroma
36025 [113fcd8b89a6]
36026
360272013-07-24 Deepthi <Deepthi>
36028
36029 * source/encoder/compress.cpp:
36030 Wrapping up early exit code development in a macro.
36031 [ad24a3cc9e6d]
36032
36033 * Merge
36034 [fa3b07fcf212]
36035
36036 * source/encoder/compress.cpp:
36037 Variable renaming in no-rdo mode: removing ambiguities
36038 [e61e07e405f1]
36039
360402013-07-24 Steve Borho <steve@borho.org>
36041
36042 * source/PPA/ppa.h:
36043 ppa: fix "potential uninitialized variable" warning from GCC
36044
36045 gcc is being somewhat obtuse here, but I'll humor it
36046 [138898b6c3e8]
36047
36048 * build/regression/02perftest.bat:
36049 regression: improve log message in perftest
36050 [a210f3b7704c]
36051
36052 * build/regression/01build-and-smoke-test.bat, build/regression
36053 /config-example.txt, build/regression/run.bat:
36054 regression: add MSYS builds to regression suite
36055 [9c25b085049c]
36056
360572013-07-23 Steve Borho <steve@borho.org>
36058
36059 * build/regression/02perftest.bat:
36060 regression: properly use configured perfframes for performance tests
36061 [a0e145b76ee5]
36062
360632013-07-23 maheshpittala <maheshpittala>
36064
36065 * build/regression/01build-and-smoke-test.bat,
36066 build/regression/02perftest.bat, build/regression/commandlines-
36067 example.txt, build/regression/config-example.txt, build/regression
36068 /email-csv.py, build/regression/run.bat, source/test/testbench.cpp:
36069 Add regression scripts
36070 [db664de68d3a]
36071
360722013-07-23 Steve Borho <steve@borho.org>
36073
36074 * source/Lib/TLibEncoder/TEncSearch.cpp:
36075 TEncSearch: temporarily disable 64x64 intra fast path
36076
36077 Running in debug it is reporting stack corruption around the above[]
36078 array
36079 [dabc5df15515]
36080
360812013-07-23 Deepthi <Deepthi>
36082
36083 * Merge
36084 [9f5a5ad402b6]
36085
36086 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
36087 Function signature of xcomputeCostInter changed
36088 [00115ae64f1a]
36089
36090 * source/encoder/compress.cpp:
36091 Computing NxN satd costs for the previous depth
36092 [a952c558dfec]
36093
36094 * source/encoder/compress.cpp:
36095 Rearranging code
36096 [68303445d7f6]
36097
36098 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36099 Renaming Recon to Pred: we'll be saving satd costs and predicted
36100 frames for NxN vs 2nx2n decision
36101 [28198b1f7e8b]
36102
361032013-07-22 Min Chen <chenm003@163.com>
36104
36105 * source/common/pixel.cpp:
36106 intrapred: fix mistake between C and Instrinsic
36107 [a5dd4011b8bb]
36108
36109 * source/Lib/TLibEncoder/TEncSearch.cpp:
36110 intrapred: fix bug in HIGH_BIT_DEPTH=1
36111 [460189b98f61]
36112
361132013-07-23 Deepthi <Deepthi>
36114
36115 * source/Lib/TLibEncoder/TEncCu.cpp:
36116 Adding a missing memory initialisation
36117 [e6622364d73d]
36118
36119 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36120 Adding new recon structures in no-rdo mode - interNxN
36121 [643c56139902]
36122
36123 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36124 Adding new structures in no-rdo mode - interNxN
36125 [386daa4ac9a9]
36126
361272013-07-22 Steve Borho <steve@borho.org>
36128
36129 * doc/UnitTestUsage.txt:
36130 remove obsolete unit test doc
36131 [2bbe9227d44c]
36132
361332013-07-22 Deepthi <Deepthi>
36134
36135 * doc/Doxyfile, doc/mainpage.h:
36136 Removing Doxygen related documentation from the repo
36137 [0c4eebd03a00]
36138
36139 * doc/gop-structure-example.pdf:
36140 Removing GOP structure example - the POC/decode order is a familiar
36141 concept carried over from H.264
36142 [6d0c465b4ba8]
36143
361442013-07-21 Min Chen <chenm003@163.com>
36145
36146 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
36147 source/common/primitives.h, source/common/vec/pixel.inc,
36148 source/common/vec/pixel8.inc, source/encoder/compress.cpp:
36149 intrapred: Improvement Inra 64x64 [CHANGES OUTPUTS]
36150 [18447bd07244]
36151
361522013-07-19 Steve Borho <steve@borho.org>
36153
36154 * .hgtags:
36155 Added tag 0.3 for changeset 3767fbfa970f
36156 [158239bec6c1]
36157
361582013-07-19 ggopu <ggopu>
36159
36160 * source/common/pixel.cpp, source/common/primitives.h,
36161 source/common/vec/blockcopy.inc, source/test/pixelharness.cpp,
36162 source/test/pixelharness.h:
36163 Primitive: Performance Primitives for Pixel add Clip - TcomYuv and
36164 TshortYuv
36165
36166 # HG changeset patch # User ggopu # Date 1374210970 -19800 # Node
36167 ID 6a864fc57a58e6988969faf3b5b919dd3defa0c1 # Parent
36168 a4c00c3f1897d9af8239bacf5f56621297e9785b Primitive: Performance
36169 Primitives for Pixel add Clip - TcomYuv and TshortYuv
36170 [3767fbfa970f] [0.3]
36171
361722013-07-18 Steve Borho <steve@borho.org>
36173
36174 * source/common/threadpool.cpp:
36175 gcc: fix threadpool warnings
36176 [db7ed939be08]
36177
361782013-07-19 Deepthi <Deepthi>
36179
36180 * source/Lib/TLibCommon/TComDataCU.h:
36181 Cleanup: Removing codedQp member variable.
36182 [bcc2539665c8]
36183
36184 * source/Lib/TLibCommon/TComDataCU.cpp,
36185 source/Lib/TLibCommon/TComDataCU.h,
36186 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
36187 Cleanup: Removing TotalBins access methods
36188 [b56d92419898]
36189
36190 * source/Lib/TLibCommon/TComDataCU.cpp,
36191 source/Lib/TLibCommon/TComDataCU.h,
36192 source/Lib/TLibEncoder/TEncCu.cpp,
36193 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
36194 source/encoder/frameencoder.cpp:
36195 Cleanup: Removing TotalBits access methods
36196 [374594f69e59]
36197
36198 * source/Lib/TLibCommon/TComDataCU.cpp,
36199 source/Lib/TLibCommon/TComDataCU.h,
36200 source/Lib/TLibEncoder/TEncCu.cpp,
36201 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
36202 source/encoder/frameencoder.cpp:
36203 Cleanup: Removing Distortion access methods.
36204 [f60f409fe25f]
36205
36206 * source/Lib/TLibCommon/TComDataCU.h:
36207 Removed getTotalCost() method
36208 [1c772b90b6ca]
36209
36210 * source/Lib/TLibCommon/TComDataCU.cpp,
36211 source/Lib/TLibEncoder/TEncCu.cpp,
36212 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp,
36213 source/encoder/frameencoder.cpp:
36214 Cleanup: Replace getTotalCost() with member access
36215 [93164613a8dc]
36216
36217 * source/Lib/TLibCommon/TComDataCU.h:
36218 Making CU cost and misc variables public
36219 [b476367a146d]
36220
362212013-07-19 sumalatha <sumalatha>
36222
36223 * source/encoder/compress.cpp:
36224 Changed the LOG, the pred mode was selected wrongly in few cases.
36225 Fixed
36226 [0c3e3a46fb7e]
36227
362282013-07-18 Steve Borho <steve@borho.org>
36229
36230 * source/common/threadpool.cpp:
36231 threadpool: repair EOLN
36232 [a4c00c3f1897]
36233
36234 * source/common/threadpool.cpp:
36235 threadpool: nit
36236 [7565dd4c7d54]
36237
36238 * source/common/threadpool.cpp:
36239 threadpool: reduce priority of worker threads slightly
36240
36241 This gives higher priority to GOP (and later frame) threads which,
36242 if they are not blocked should be given CPU cores over worker
36243 threads.
36244 [9ac15ef1fa44]
36245
36246 * source/common/threadpool.cpp:
36247 threadpool: cleanup
36248 [1af121504330]
36249
36250 * source/common/vec/CMakeLists.txt:
36251 cmake: fix icpc AVX2 builds
36252 [1ba93da79ac4]
36253
36254 * source/common/vec/pixel8.inc:
36255 pixel: remove the names of unreferenced parameters (GCC now
36256 complains of these)
36257 [a1810069717f]
36258
36259 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
36260 primitives.cpp:
36261 vec: GCC and icpc both have issues with XOP intrinsics
36262
36263 Probably because both rely on GCC headers
36264 [6e10601c8f2a]
36265
36266 * source/common/primitives.cpp:
36267 primitives: only print XOP FMA3 FMA4 if CPU level is at least AVX
36268
36269 If the user asked for --cpuid 6, they should not see XOP, FMA3, or
36270 FMA4 because those will not be used.
36271 [ca27274a19ab]
36272
36273 * source/encoder/motion.cpp, source/encoder/motion.h:
36274 motion: increase alignement of fenc buffer to 32bytes for AVX2
36275 [d371aff1b1fc]
36276
36277 * source/common/vec/vec-primitives.cpp:
36278 vec: only use XOP primitives when AVX CPU level is requested
36279 [064808dc2286]
36280
36281 * source/common/vec/CMakeLists.txt, source/common/vec/blockcopy-
36282 xop.cpp, source/common/vec/dct-xop.cpp, source/common/vec/intra-
36283 xop.cpp, source/common/vec/ipfilter-xop.cpp, source/common/vec
36284 /pixel-xop.cpp, source/common/vec/vec-primitives.cpp,
36285 source/common/vec/xop.cpp:
36286 vec: add XOP build files, for late AMD CPUs
36287 [8808d7d79279]
36288
36289 * source/common/vec/CMakeLists.txt, source/common/vec/blockcopy-
36290 avx.cpp, source/common/vec/blockcopy-avx2.cpp, source/common/vec
36291 /blockcopy-sse3.cpp, source/common/vec/blockcopy-sse41.cpp,
36292 source/common/vec/blockcopy-sse42.cpp, source/common/vec/blockcopy-
36293 ssse3.cpp, source/common/vec/blockcopy.inc,
36294 source/common/vec/vecprimitives.inc:
36295 vec: break blockcopy intrinsics into their own files
36296 [c27fbf50e931]
36297
36298 * source/common/vec/CMakeLists.txt, source/common/vec/dct-sse2.cpp,
36299 source/common/vec/intra-sse2.cpp, source/common/vec/ipfilter-
36300 sse2.cpp, source/common/vec/pixel-sse2.cpp,
36301 source/common/vec/sse2.cpp, source/common/vec/vec-primitives.cpp:
36302 vec: drop SSE2 files, we don't care that much about CPUs that old
36303
36304 This is mainly for improving compile times, since I will add XOP
36305 files shortly
36306 [be0fc8418935]
36307
36308 * x265: fix EOLN damage
36309 [e4b9418724ba]
36310
36311 * source/x265.cpp:
36312 x265: use puts for writing CLI args (makes GCC happy)
36313 [ab4cb9c33e6f]
36314
36315 * source/Lib/TLibEncoder/TEncSlice.cpp:
36316 TEncSlice: cleanups
36317 [2fd9dc2844af]
36318
36319 * source/Lib/TLibEncoder/TEncSlice.cpp:
36320 TEncSlice: tweak lambda magic value [CHANGES OUTPUTS]
36321
36322 This recovers BasketBallDrive encode PSNR/Bitrate/FPS back to close
36323 what it was when the encoder used the non-deterministic lambda
36324 function
36325 [4e1a8cf10b3b]
36326
36327 * source/Lib/TLibCommon/TComRdCost.h,
36328 source/Lib/TLibEncoder/TEncSearch.cpp:
36329 TEncSearch: pass the correct lamda to bitcost calculator [CHANGES
36330 OUTPUTS]
36331
36332 This fixes a bug introduced in 15f993eceb4b, right after 0.1. The
36333 different naming conventions had tripped me up.
36334 [6847162fbcb1]
36335
363362013-07-18 sumalatha <sumalatha>
36337
36338 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
36339 modifications to log file(LOG_CU_COST) to print the best mode, cost
36340 chosen at each level.
36341 [6849a1f910d0]
36342
363432013-07-18 Steve Borho <steve@borho.org>
36344
36345 * source/Lib/TLibEncoder/TEncSearch.cpp:
36346 TEncSearch: remove unused variable
36347 [8878236b696d]
36348
363492013-07-18 Min Chen <chenm003@163.com>
36350
36351 * source/Lib/TLibCommon/TComPrediction.cpp,
36352 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
36353 source/common/primitives.h, source/common/vec/intrapred.inc,
36354 source/encoder/compress.cpp, source/test/intrapredharness.cpp:
36355 intrapred: improvement intra_pred_planar
36356 [c65a482b2879]
36357
363582013-07-18 Deepthi <Deepthi>
36359
36360 * Merge
36361 [dacf6c061e81]
36362
36363 * source/CMakeLists.txt:
36364 NO_RDO_EARLY_EXIT: experimental macro to play with early exit of
36365 analysis
36366 [3eca40de1a35]
36367
363682013-07-18 Steve Borho <steve@borho.org>
36369
36370 * source/Lib/TLibCommon/TypeDef.h:
36371 TypeDef: declare g_bitDepth extern if used for X265_DEPTH
36372 [f813f110d69a]
36373
363742013-07-18 Deepthi <Deepthi>
36375
36376 * source/encoder/compress.cpp:
36377 Merge
36378 [fa872fec6372]
36379
36380 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
36381 Backout changeset: c45fe1b2bd90
36382
36383 Reasons discussed. Performance improvement at the expense of
36384 quality/bitrate by avoiding the non-zero residual mode.
36385 [7f52bb181cf8]
36386
363872013-07-18 Steve Borho <steve@borho.org>
36388
36389 * source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h:
36390 csv: fix global PSNR calculation
36391 [031c4c889edc]
36392
36393 * source/x265.cpp:
36394 csv: add missing fps and line feed
36395 [de92dfd387a2]
36396
36397 * source/encoder/compress.cpp:
36398 compress: fix debug build
36399 [ed69790ac6d4]
36400
36401 * source/Lib/TLibEncoder/TEncTop.cpp,
36402 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
36403 source/x265.cpp, source/x265.h, source/x265opts.h:
36404 x265: add --csv logfile command line
36405 [5bb6d0e451c2]
36406
36407 * source/encoder/encoder.cpp, source/encoder/encoder.h:
36408 encoder: nit
36409 [47f97d1adb8a]
36410
364112013-07-17 Steve Borho <steve@borho.org>
36412
36413 * source/common/common.cpp, source/common/common.h,
36414 source/encoder/encoder.cpp:
36415 common: enforce global variables not changing within a single
36416 process
36417 [1d77c9eab71f]
36418
36419 * source/Lib/TLibCommon/TComPrediction.cpp,
36420 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36421 source/Lib/TLibCommon/TComYuv.cpp,
36422 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
36423 source/common/TShortYUV.h:
36424 TShortYuv: cleanup
36425 [b806d6e8f299]
36426
36427 * source/Lib/TLibCommon/TComPicYuv.cpp,
36428 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
36429 source/common/TShortYUV.cpp, source/common/TShortYUV.h:
36430 TComYuv: cleanup
36431 [34bbe4ec628f]
36432
36433 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
36434 source/Lib/TLibEncoder/TEncEntropy.cpp,
36435 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
36436 source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
36437 remove other various internal users of bitdepth variables
36438 [69b55b6be18c]
36439
36440 * source/Lib/TLibCommon/TComRdCost.cpp,
36441 source/Lib/TLibCommon/TComRdCost.h,
36442 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
36443 source/Lib/TLibEncoder/TEncSearch.cpp:
36444 TComRdCost: remove bitdepth from distParam
36445 [f313ce8116b8]
36446
36447 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
36448 TComPicYuv: remove bitdepth arguments
36449 [474327bdbefc]
36450
36451 * source/Lib/TLibCommon/TComPattern.cpp,
36452 source/Lib/TLibCommon/TComPattern.h:
36453 TComPattern: remove bitdepth argument from fillReferenceSamples
36454 [2848c686e55f]
36455
36456 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
36457 source/Lib/TLibEncoder/TEncEntropy.cpp:
36458 TComRom: remove hungarian prefix, fix comment typo
36459 [c227aa627d52]
36460
36461 * source/Lib/TLibCommon/TComPrediction.cpp,
36462 source/Lib/TLibCommon/TComTrQuant.cpp,
36463 source/Lib/TLibCommon/TComTrQuant.h,
36464 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36465 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
36466 source/common/intrapred.cpp, source/common/ipfilter.cpp,
36467 source/common/pixel.cpp, source/common/primitives.h,
36468 source/common/reference.cpp, source/common/vec/dct.inc,
36469 source/common/vec/intrapred.inc, source/common/vec/ipfilter16.inc,
36470 source/common/vec/ipfilter8.inc, source/common/vec/pixel8.inc,
36471 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
36472 source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
36473 primitives: remove bitdepth arguments from all primitives and other
36474 functions
36475 [0f5a9a141244]
36476
36477 * source/common/primitives.h:
36478 primitives: enable EMMS for random compilers, remove unused define
36479 [1a0fbfe3066d]
36480
36481 * source/Lib/TLibCommon/TComLoopFilter.cpp,
36482 source/Lib/TLibCommon/TComPattern.cpp,
36483 source/Lib/TLibCommon/TComPicYuv.cpp,
36484 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
36485 source/Lib/TLibCommon/TComPrediction.cpp,
36486 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
36487 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
36488 source/Lib/TLibCommon/TComSlice.cpp,
36489 source/Lib/TLibCommon/TComTrQuant.cpp,
36490 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36491 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
36492 source/Lib/TLibEncoder/TEncCu.cpp,
36493 source/Lib/TLibEncoder/TEncEntropy.cpp,
36494 source/Lib/TLibEncoder/TEncGOP.cpp,
36495 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
36496 source/Lib/TLibEncoder/TEncSearch.cpp,
36497 source/Lib/TLibEncoder/TEncTop.cpp,
36498 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
36499 source/common/common.cpp, source/common/reference.cpp:
36500 Make 8bpp bit depth a compile define (X265_DEPTH=8), g_bitDepthY ->
36501 g_bitDepth
36502 [648cf3243a4d]
36503
36504 * source/Lib/TLibCommon/TypeDef.h:
36505 TypeDef: white-space nits
36506 [e5bd6f54af40]
36507
36508 * source/Lib/TLibCommon/TypeDef.h:
36509 Remove hacks for VC6, we support nothing before VC9
36510 [1c3713fe241e]
36511
36512 * source/Lib/TLibCommon/TComTrQuant.cpp,
36513 source/Lib/TLibCommon/TComTrQuant.h,
36514 source/Lib/TLibEncoder/TEncSearch.cpp:
36515 TComTrQuant: eText argument is no longer needed for
36516 invRecurTransformNxN
36517 [ceec75c37e20]
36518
36519 * source/Lib/TLibCommon/TComLoopFilter.cpp,
36520 source/Lib/TLibCommon/TComPattern.cpp,
36521 source/Lib/TLibCommon/TComPicYuv.cpp,
36522 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
36523 source/Lib/TLibCommon/TComPrediction.cpp,
36524 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
36525 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
36526 source/Lib/TLibCommon/TComSlice.cpp,
36527 source/Lib/TLibCommon/TComTrQuant.cpp,
36528 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36529 source/Lib/TLibCommon/TComYuv.cpp,
36530 source/Lib/TLibEncoder/TEncCu.cpp,
36531 source/Lib/TLibEncoder/TEncEntropy.cpp,
36532 source/Lib/TLibEncoder/TEncGOP.cpp,
36533 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
36534 source/Lib/TLibEncoder/TEncSearch.cpp,
36535 source/Lib/TLibEncoder/TEncTop.cpp,
36536 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
36537 source/common/common.cpp, source/test/mbdstharness.cpp:
36538 Remove separate bitdepth configurable for chroma
36539
36540 Our x265_param_t has never allowed chroma depth to be different from
36541 luma depth, so this is just a simplification of the code. This will
36542 allow further optimizations to shortly follow.
36543 [0a3d2667aab8]
36544
36545 * source/Lib/TLibCommon/TComPrediction.cpp,
36546 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36547 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h,
36548 source/Lib/TLibEncoder/TEncCu.cpp,
36549 source/Lib/TLibEncoder/TEncGOP.cpp,
36550 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
36551 source/common/reference.cpp, source/encoder/compress.cpp:
36552 change 16bpp Pel to UShort, equivalent to x264's uint16_t
36553
36554 This removes a metric ton of ugly casts and makes the code a lot
36555 more readable, and it should keep the 16bpp build from being
36556 accidentally broken when Pels are passed to functions as pixels.
36557 [57404da2493d]
36558
36559 * source/common/TShortYUV.cpp:
36560 blockcopy: further 16bpp fixes
36561 [7fb13585cfa3]
36562
36563 * source/test/pixelharness.cpp:
36564 pixelharness: one change was missed from last commit
36565 [d3594896e12e]
36566
36567 * source/common/TShortYUV.cpp, source/common/pixel.cpp,
36568 source/common/primitives.h, source/common/vec/blockcopy.inc,
36569 source/test/pixelharness.cpp:
36570 blockcopy: fix 16bpp build, pixelsubsp -> pixelsub_sp
36571 [dd8d73aeb1de]
36572
36573 * source/encoder/compress.cpp:
36574 compress: uncrustify
36575 [f10a163531a4]
36576
365772013-07-15 sumalatha <sumalatha>
36578
36579 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
36580 Changes in merge mode in no-rdo path for better psnr improvement and
36581 time performance
36582 [c45fe1b2bd90]
36583
365842013-07-17 Steve Borho <steve@borho.org>
36585
36586 * source/Lib/TLibCommon/TComPrediction.cpp,
36587 source/common/intrapred.cpp, source/common/primitives.h,
36588 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
36589 Backed out changeset: aee4a23a8f01 (does not compile)
36590 [4ffaf245b427]
36591
365922013-07-17 Min Chen <chenm003@163.com>
36593
36594 * source/Lib/TLibCommon/TComPrediction.cpp,
36595 source/common/intrapred.cpp, source/common/primitives.h,
36596 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
36597 intrapred: improvement intra_pred_planar
36598 [aee4a23a8f01]
36599
36600 * source/test/intrapredharness.cpp:
36601 cleanup: remove unused debug code
36602 [dd6ca15e90ac]
36603
366042013-07-17 Deepthi Devaki <Deepthi Devaki>
36605
36606 * source/common/ipfilter.cpp, source/common/primitives.h:
36607 C primitive for weighted ipfilter
36608 [2e067e3443c8]
36609
366102013-07-17 Deepthi <Deepthi>
36611
36612 * Merge
36613 [0cb8c7c9c7b2]
36614
36615 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
36616 HIGH_BIT_ENABLE build error fixed.
36617
36618 Any better idea to get rid of the c4333 warnings welcome.
36619 [800ea1ebadef]
36620
366212013-07-17 ggopu <ggopu>
36622
36623 * source/common/TShortYUV.cpp, source/common/pixel.cpp,
36624 source/common/primitives.h, source/common/vec/blockcopy.inc,
36625 source/test/pixelharness.cpp, source/test/pixelharness.h:
36626 TShortYUV : Implemented perfomance Primitives pixelsub_sp
36627 [054d8c409569]
36628
366292013-07-17 Steve Borho <steve@borho.org>
36630
36631 * source/Lib/TLibCommon/TComSlice.cpp,
36632 source/Lib/TLibEncoder/TEncSlice.cpp:
36633 TComSlice: relocate subpel generation to after weightp determination
36634 [0becdecde6ee]
36635
366362013-07-16 Steve Borho <steve@borho.org>
36637
36638 * source/Lib/TLibCommon/TComSlice.cpp:
36639 TComSlice: fix variable shadowing problem that was causing B frame
36640 bugs
36641
36642 This HM routine was using refRPC and pcRefRPC in the same function
36643 with entirely different meanings, and it bit me hard when I
36644 refactored this function with search+replace.
36645 [a3ca6eceb27a]
36646
36647 * source/Lib/TLibEncoder/TEncCfg.h,
36648 source/Lib/TLibEncoder/TEncGOP.cpp,
36649 source/Lib/TLibEncoder/TEncGOP.h,
36650 source/Lib/TLibEncoder/TEncSlice.cpp,
36651 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
36652 source/encoder/frameencoder.cpp:
36653 TEncGOP: cleanup, make TEncCfg WPP var a Bool
36654 [28ce2df5cb4d]
36655
36656 * source/Lib/TLibEncoder/TEncGOP.cpp,
36657 source/Lib/TLibEncoder/TEncGOP.h:
36658 TEncGOP: header cleanup
36659 [50b6e306dcbe]
36660
36661 * source/Lib/TLibCommon/TComPicYuv.cpp,
36662 source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.cpp:
36663 TComPicYuv: cleanup
36664 [c3fa187d5460]
36665
36666 * source/Lib/TLibCommon/TComPicYuv.h,
36667 source/Lib/TLibCommon/TComWeightPrediction.h:
36668 Replace includes with class forward decls
36669 [6ebabe789fc7]
36670
36671 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
36672 TComPic: cleanup
36673 [84c275972fee]
36674
36675 * source/Lib/TLibCommon/TComPicSym.cpp,
36676 source/Lib/TLibCommon/TComPicSym.h:
36677 TComPicSym: cleanup
36678 [6afb8bad8568]
36679
36680 * source/Lib/TLibCommon/TComSlice.cpp:
36681 TComSlice:: fix end-of-list handling in xGetRefPic
36682 [4a72479a9bc6]
36683
36684 * source/Lib/TLibEncoder/TEncSearch.cpp:
36685 TEncSearch: fix full search regression
36686 [07b381e97f7d]
36687
36688 * source/Lib/TLibCommon/TComSlice.cpp,
36689 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36690 source/Lib/TLibEncoder/TEncSearch.cpp:
36691 repair debug build after removing formal arugments by removing
36692 asserts
36693 [49adf99e9138]
36694
36695 * source/Lib/TLibEncoder/TEncCu.cpp:
36696 TEncCu: fixup after refactoring
36697
36698 I deleted the 0 argument instead of the NULL argument. MSVC didn't
36699 care but GCC flagged this as a warning. NULL can't be passed as an
36700 integer argument.
36701 [10abee4a15c5]
36702
36703 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36704 TEncCu: remove unused xTuCollectARLStats
36705 [67c339ec83dd]
36706
36707 * source/Lib/TLibCommon/TComDataCU.cpp,
36708 source/Lib/TLibCommon/TComDataCU.h,
36709 source/Lib/TLibCommon/TComTrQuant.cpp,
36710 source/Lib/TLibCommon/TComTrQuant.h,
36711 source/Lib/TLibEncoder/TEncSearch.cpp,
36712 source/Lib/TLibEncoder/TEncSearch.h:
36713 remove buffers no longer used after removing AQ
36714 [0fbbde73203f]
36715
36716 * source/common/dct.cpp, source/common/primitives.h,
36717 source/common/vec/dct.inc, source/test/mbdstharness.cpp,
36718 source/test/mbdstharness.h:
36719 remove unreachable quantaq primitive
36720 [5b61ed2e33e4]
36721
36722 * source/Lib/TLibCommon/TComTrQuant.cpp,
36723 source/Lib/TLibCommon/TComTrQuant.h,
36724 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
36725 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
36726 source/Lib/TLibEncoder/TEncPic.cpp,
36727 source/Lib/TLibEncoder/TEncPic.h,
36728 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
36729 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
36730 source/Lib/TLibEncoder/TEncSearch.cpp,
36731 source/Lib/TLibEncoder/TEncSlice.cpp,
36732 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
36733 source/encoder/frameencoder.cpp:
36734 Remove broken adaptive QP, fix unused parameter and variable
36735 warnings
36736
36737 All of TEncPic now goes away
36738 [979b9953d696]
36739
36740 * source/Lib/TLibEncoder/TEncCfg.h,
36741 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
36742 TEncCfg: hungarian cleanup
36743 [fc4718bd4565]
36744
36745 * source/Lib/TLibEncoder/TEncCfg.h:
36746 TEncCfg: remove unused istringstream operator
36747 [ae96f205c7b6]
36748
36749 * source/Lib/TLibEncoder/TEncSearch.cpp,
36750 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
36751 TEncSearch: remove unused formal parameters (quite a bit of
36752 unwinding here)
36753 [2389117c0085]
36754
36755 * source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
36756 source/Lib/TLibEncoder/TEncCavlc.cpp,
36757 source/Lib/TLibEncoder/TEncCavlc.h,
36758 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
36759 source/Lib/TLibEncoder/TEncGOP.cpp,
36760 source/Lib/TLibEncoder/TEncGOP.h,
36761 source/Lib/TLibEncoder/TEncSbac.cpp,
36762 source/Lib/TLibEncoder/TEncSlice.cpp,
36763 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
36764 source/Lib/TLibEncoder/WeightPredAnalysis.h,
36765 source/encoder/CMakeLists.txt:
36766 Stop ignoring many compiler warnings in TLibEncoder
36767
36768 Enable warnings about unused parameters, clean up the warnings
36769 reported. In a few cases I removed parameters that were obviously
36770 obsolete.
36771
36772 Enable warnings about unused variables, clean up the warnings.
36773 [c65db4ee3972]
36774
36775 * source/Lib/TLibCommon/TComPrediction.cpp,
36776 source/Lib/TLibCommon/TComPrediction.h,
36777 source/Lib/TLibEncoder/TEncSearch.cpp:
36778 TComPrediction: remove unused "bi" parameters to prediction
36779 functions
36780 [e047cdd02421]
36781
36782 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
36783 TComWeightPrediction: fix bug found by enabling warnings
36784 [cf568953fbe7]
36785
36786 * source/Lib/TLibCommon/TComBitStream.cpp,
36787 source/Lib/TLibCommon/TComDataCU.cpp,
36788 source/Lib/TLibCommon/TComPattern.cpp,
36789 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
36790 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
36791 source/Lib/TLibCommon/TComPrediction.cpp,
36792 source/Lib/TLibCommon/TComPrediction.h,
36793 source/Lib/TLibCommon/TComRdCost.cpp,
36794 source/Lib/TLibCommon/TComSlice.cpp,
36795 source/Lib/TLibCommon/TComSlice.h,
36796 source/Lib/TLibCommon/TComTrQuant.cpp,
36797 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36798 source/Lib/TLibEncoder/TEncGOP.cpp,
36799 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/CMakeLists.txt,
36800 source/encoder/compress.cpp:
36801 Stop ignoring many compiler warnings in TLibCommon
36802
36803 Enable warnings about unused parameters, clean up the warnings
36804 reported. In a few cases I removed parameters that were obviously
36805 obsolete.
36806
36807 Enable warnings about unused variables, clean up the warnings. This
36808 actually found a recently introduced bug.
36809 [4a86baaac709]
36810
368112013-07-16 Min Chen <chenm003@163.com>
36812
36813 * source/Lib/TLibCommon/TComPrediction.cpp,
36814 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
36815 source/common/primitives.h, source/common/vec/intrapred.inc,
36816 source/encoder/compress.cpp, source/test/intrapredharness.cpp:
36817 intrapred: improvement intra_pred_dc
36818 [cf614acd8099]
36819
368202013-07-16 Deepthi <Deepthi>
36821
36822 * Merge
36823 [8f632c25d1ee]
36824
36825 * source/encoder/compress.cpp:
36826 Merge
36827 [0eb8a3db4b3f]
36828
36829 * source/encoder/compress.cpp:
36830 SSE cost calculation in inter-no-rdo. Raises quality and lowers
36831 bitrate (slightly). Will be changed into a CLI configurable if perf
36832 effect is significant.
36833 [29c1f5b64795]
36834
368352013-07-16 Steve Borho <steve@borho.org>
36836
36837 * source/Lib/TLibCommon/CommonDef.h,
36838 source/Lib/TLibCommon/ContextModel.cpp,
36839 source/Lib/TLibCommon/TComRom.h:
36840 more cleanups for CommonDef.h
36841
36842 * remove circular defininition of g_bitDepthY and g_bitDepthC
36843 * move Clip templates to TComRom.h
36844 * remove some dead defines
36845 [6ee321714568]
36846
36847 * source/Lib/TLibCommon/CommonDef.h,
36848 source/Lib/TLibCommon/TComCABACTables.h,
36849 source/Lib/TLibCommon/TComLoopFilter.h,
36850 source/Lib/TLibCommon/TComPicSym.h,
36851 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
36852 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
36853 source/Lib/TLibCommon/TypeDef.h,
36854 source/Lib/TLibEncoder/TEncCavlc.cpp,
36855 source/Lib/TLibEncoder/TEncCfg.h,
36856 source/Lib/TLibEncoder/TEncGOP.cpp,
36857 source/Lib/TLibEncoder/TEncGOP.h,
36858 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
36859 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
36860 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/TShortYUV.cpp,
36861 source/common/TShortYUV.h, source/common/dct.cpp,
36862 source/common/pixel.cpp, source/common/reference.cpp:
36863 TComSampleAdaptiveOffset: cleanup and global SR, major header
36864 cleanups
36865
36866 move all #defines from TypeDef.h to CommonDef.h and move all
36867 feature-specific structs from TypeDef.h to their more specific
36868 header
36869
36870 TypeDef.h should just define types (duh!) and CommonDef.h should
36871 just have defines.
36872 [778f0786eff8]
36873
36874 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
36875 TComWeightPrediction: hungarian cleanup
36876 [60812792ee78]
36877
36878 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
36879 source/Lib/TLibCommon/TComWeightPrediction.h,
36880 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
36881 source/common/TShortYUV.h:
36882 TComWeightPrediction: cleanup and global SR iPartUnitIdx ->
36883 partUnitIdx
36884 [0ad503ad1110]
36885
368862013-07-16 Deepthi Devaki <Deepthi Devaki>
36887
36888 * source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
36889 pixel8.inc, pixelharness : Uncrustified.
36890 [4774cbad2bfb]
36891
36892 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
36893 source/test/pixelharness.cpp:
36894 Vectorized WeightUni
36895 [f7d8f489f694]
36896
368972013-07-16 Steve Borho <steve@borho.org>
36898
36899 * source/common/vec/pixel-avx.cpp, source/common/vec/pixel-avx2.cpp,
36900 source/common/vec/pixel-sse2.cpp, source/common/vec/pixel-sse3.cpp,
36901 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel-
36902 sse42.cpp, source/common/vec/pixel-ssse3.cpp,
36903 source/common/vec/pixel.inc:
36904 pixel: move includes of pixel8.inc or pixel16.inc inside pixel.inc
36905
36906 This makes the pixel-ARCH.cpp files much simpler, and makes it
36907 easier to add headers for the pixel functions.
36908 [44b4fb45e005]
36909
369102013-07-15 Steve Borho <steve@borho.org>
36911
36912 * source/x265opts.h:
36913 x265: document --cpuid 1 behavior
36914 [c9bb72e8cb8e]
36915
36916 * source/Lib/TLibCommon/TComDataCU.cpp,
36917 source/Lib/TLibCommon/TComDataCU.h:
36918 TComDataCU: cleanup classmethods
36919 [48fb229ef210]
36920
36921 * source/Lib/TLibCommon/TComDataCU.cpp,
36922 source/Lib/TLibCommon/TComDataCU.h,
36923 source/Lib/TLibCommon/TComPicSym.cpp,
36924 source/Lib/TLibEncoder/TEncCu.cpp:
36925 TComDataCU: remove static ARL buffers, these were not thread safe
36926
36927 This is further proof that the ARL buffers are essentially unused
36928 the way we are using the encoder (with AQ disabled). It is very
36929 tempting to remove them globally.
36930 [a75833091e14]
36931
36932 * source/Lib/TLibCommon/TComDataCU.cpp,
36933 source/Lib/TLibCommon/TComDataCU.h,
36934 source/Lib/TLibCommon/TComPattern.cpp,
36935 source/Lib/TLibCommon/TComPicSym.cpp:
36936 TComDataCU: cleanup, remove "is a decoder" variable
36937 [75e5f85ae8e1]
36938
36939 * source/Lib/TLibCommon/TComDataCU.cpp,
36940 source/Lib/TLibCommon/TComDataCU.h,
36941 source/Lib/TLibCommon/TComLoopFilter.cpp,
36942 source/Lib/TLibCommon/TComLoopFilter.h,
36943 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
36944 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
36945 source/Lib/TLibEncoder/TEncCu.cpp,
36946 source/Lib/TLibEncoder/TEncGOP.cpp,
36947 source/Lib/TLibEncoder/TEncGOP.h,
36948 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
36949 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
36950 source/Lib/TLibEncoder/TEncSlice.cpp,
36951 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/compress.cpp:
36952 TEncSlice: less eye-bleed, more global SR
36953 [846887941425]
36954
36955 * source/Lib/TLibCommon/TComSlice.cpp,
36956 source/Lib/TLibCommon/TComSlice.h:
36957 TComSlice: cpp cleanup, remove unreferenced class static
36958 [cd5750e16bd7]
36959
36960 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
36961 source/Lib/TLibCommon/TComSlice.cpp,
36962 source/Lib/TLibCommon/TComSlice.h,
36963 source/Lib/TLibCommon/TComWeightPrediction.cpp,
36964 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
36965 source/Lib/TLibEncoder/TEncCavlc.cpp,
36966 source/Lib/TLibEncoder/TEncSlice.cpp,
36967 source/Lib/TLibEncoder/TEncSlice.h,
36968 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
36969 source/Lib/TLibEncoder/WeightPredAnalysis.h:
36970 TComSlice: cleanup + global SR
36971 [26f767779d57]
36972
369732013-07-15 ggopu <ggopu>
36974
36975 * source/Lib/TLibEncoder/TEncGOP.cpp,
36976 source/Lib/TLibEncoder/TEncSlice.cpp,
36977 source/Lib/TLibEncoder/TEncSlice.h:
36978 TEncSlice: CleanUp and Removd Hungarian Notation
36979 [ae234c4c22e1]
36980
369812013-07-15 praveentiwari <praveentiwari>
36982
36983 * source/Lib/TLibCommon/TComRdCost.cpp:
36984 Cleaup the remaing functions in TComRdCost.cpp file
36985 [b47059899650]
36986
369872013-07-15 ggopu <ggopu>
36988
36989 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
36990 source/Lib/TLibEncoder/TEncEntropy.cpp,
36991 source/encoder/frameencoder.cpp:
36992 TEncCU and TEncEntrophy: Clean Up
36993 [cfb5b30ddadb]
36994
36995 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
36996 source/Lib/TLibCommon/TComSlice.cpp,
36997 source/Lib/TLibEncoder/TEncCavlc.cpp:
36998 Cleanup and removed Hungarian notation
36999 [add9f7dc8c83]
37000
370012013-07-12 Steve Borho <steve@borho.org>
37002
37003 * source/x265.cpp, source/x265opts.h:
37004 x265: add --no-progress CLI option to disable reports when capturing
37005 output
37006 [9e689682ffb1]
37007
37008 * source/common/vec/blockcopy.inc:
37009 blockcopy: AVX2 compress and extend ended up being a perf loss
37010 [9afb0e925451]
37011
37012 * source/common/vec/blockcopy.inc:
37013 blockcopy: add AVX2 fast paths
37014 [17a78803a971]
37015
37016 * source/common/vec/blockcopy.inc:
37017 blockcopy: ensure strides obey alignment requirements
37018
37019 This should fix crashes reported by Shanthan and Brian from
37020 Telestream
37021 [64e98159b25e]
37022
37023 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
37024 pixel: add AVX2 sad_x4 for 32 and 64 wide blocks
37025 [c51d6f92205e]
37026
37027 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
37028 pixel: add AVX2 sad_x3 for 32 and 64 wide blocks
37029 [037d8072cf60]
37030
37031 * source/common/vec/pixel8.inc:
37032 pixel8: CurN -> frefN
37033 [17bec876e8ed]
37034
37035 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
37036 primitives.cpp:
37037 cmake: allow icpc to build AVX2 intrinsics
37038 [bee415cae643]
37039
37040 * source/VectorClass/vectori256.h, source/common/vec/pixel.inc,
37041 source/common/vec/pixel8.inc:
37042 pixel: add AVX2 sad primitives for 32 and 64 wide blocks
37043 [87eadb9849bc]
37044
37045 * .hgtags:
37046 Added tag 0.2 for changeset b3471d9009f5
37047 [391d4aeb3acc]
37048
37049 * source/cmake/version.cmake:
37050 cmake: properly handle tagged release archives
37051 [b3471d9009f5] [0.2]
37052
37053 * source/common/mv.h:
37054 mv: remove unused toFPel() method
37055 [cabc9474ccfc]
37056
37057 * source/common/wavefront.cpp, source/common/wavefront.h,
37058 source/encoder/frameencoder.cpp, source/test/testpool.cpp:
37059 wavefront: coding-style fixes, improve comments
37060 [09cc9680e85d]
37061
37062 * source/common/wavefront.h:
37063 wavefront: cleanup method comments
37064 [1a2e10dbb8a3]
37065
37066 * build/README.txt, source/cmake/version.cmake:
37067 cmake: do not cache x265 version from ENV var, update status message
37068 [60d1a6e70946]
37069
37070 * source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h:
37071 ppa: change license to x265 GPL+commercial license
37072 [b99630f44717]
37073
37074 * source/CMakeLists.txt:
37075 cmake: add a cmake option to statically link CRT on Windows release
37076 builds
37077 [c9625ddb711d]
37078
37079 * source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
37080 source/VectorClass/vectorf256.h, source/VectorClass/vectorf256e.h:
37081 remove vector class floating point, simplify includes
37082 [4f9a3bda6185]
37083
37084 * source/VectorClass/special/complexvec.h,
37085 source/VectorClass/special/decimal.h,
37086 source/VectorClass/special/quaternion.h,
37087 source/VectorClass/special/vector3d.h,
37088 source/VectorClass/special/vectormath.h:
37089 remove vector class special floating point headers
37090 [91271bbcda30]
37091
37092 * source/CMakeLists.txt, source/tools/CMakeLists.txt,
37093 source/tools/dr_psnr/CMakeLists.txt,
37094 source/tools/dr_psnr/PsnrCalculator.cpp,
37095 source/tools/dr_psnr/PsnrCalculator.h,
37096 source/tools/dr_psnr/SSIMCalculator.cpp,
37097 source/tools/dr_psnr/SSIMCalculator.h,
37098 source/tools/dr_psnr/dr_psnr.cpp:
37099 remove dr_psnr, it's a mess and no-one is working on it
37100 [0839ec783eaf]
37101
37102 * source/tools/TestForChecking_BadCommit.bat,
37103 source/tools/performanceProfiler/Profiler.bat,
37104 source/tools/performanceProfiler/Readme.txt,
37105 source/tools/performanceProfiler/config.txt,
37106 source/tools/performanceProfiler/performanceProfiler.bat:
37107 remove obsolete perf batch files
37108 [41ec50a27f4f]
37109
37110 * build/README.txt:
37111 build: update README.txt
37112 [00400cf33211]
37113
37114 * build/BuildEncoderApplications.bat, build/ConfigureBuild.bash,
37115 build/ConfigureBuild.bat, build/CreateRegressionPackage.bat,
37116 build/CreateRegressionPackage.sh, build/RunEncoderApplications.bat,
37117 build/config.txt:
37118 remove obsolete regression tests and batch build scripts
37119 [4207769d7bd6]
37120
371212013-07-12 Min Chen <chenm003@163.com>
37122
37123 * source/common/vec/intrapred.inc:
37124 intrapred: cleanup pDst
37125 [18f282e09b36]
37126
371272013-07-12 praveentiwari <praveentiwari>
37128
37129 * source/Lib/TLibCommon/TComRdCost.cpp:
37130 TComRdCost::xGetSSE32 cleanup
37131 [dd2dfd0e1acf]
37132
37133 * source/Lib/TLibCommon/TComRdCost.cpp:
37134 xGetSSE32Help cleanup
37135 [08a9378c2d71]
37136
37137 * source/Lib/TLibCommon/TComRdCost.cpp:
37138 TComRdCost::xGetSSE16N cleanup
37139 [99196b0684e6]
37140
37141 * source/Lib/TLibCommon/TComRdCost.cpp:
37142 xGetSSE16NHelp cleanup
37143 [dfc5c4114f63]
37144
37145 * source/Lib/TLibCommon/TComRdCost.cpp:
37146 TComRdCost::xGetSSE16 cleanup
37147 [11d28b173c04]
37148
37149 * source/Lib/TLibCommon/TComRdCost.cpp:
37150 xGetSSE16Help cleanup
37151 [75305fa33a5f]
37152
37153 * source/Lib/TLibCommon/TComRdCost.cpp:
37154 TComRdCost::xGetSSE8 cleanup
37155 [03bbb4c9ae99]
37156
37157 * source/Lib/TLibCommon/TComRdCost.cpp:
37158 xGetSSE8Help cleanup
37159 [f0038e6006e1]
37160
37161 * source/Lib/TLibCommon/TComRdCost.cpp:
37162 TComRdCost::xGetSSE4 cleanup
37163 [3f8bffc3f0ba]
37164
37165 * source/Lib/TLibCommon/TComRdCost.cpp:
37166 xGetSSE4Help cleanup
37167 [fd8c0d5c4983]
37168
37169 * source/Lib/TLibCommon/TComRdCost.cpp:
37170 TComRdCost::xGetSSE cleanup
37171 [18f845fde53f]
37172
37173 * source/Lib/TLibCommon/TComRdCost.cpp:
37174 xGetSSEHelp cleanup
37175 [ea7669697410]
37176
37177 * source/Lib/TLibCommon/TComRdCost.cpp:
37178 TComRdCost::xGetSAD48 cleanup
37179 [169e5b28f63f]
37180
37181 * source/Lib/TLibCommon/TComRdCost.cpp:
37182 TComRdCost::xGetSAD64 cleanup
37183 [5ed30c9ea3c5]
37184
37185 * source/Lib/TLibCommon/TComRdCost.cpp:
37186 TComRdCost::xGetSAD24 cleanup
37187 [1dc0453c1670]
37188
37189 * source/Lib/TLibCommon/TComRdCost.cpp:
37190 TComRdCost::xGetSAD32 cleanup
37191 [0bfaaf368618]
37192
37193 * source/Lib/TLibCommon/TComRdCost.cpp:
37194 TComRdCost::xGetSAD16N cleanup
37195 [904837a3a1de]
37196
37197 * source/Lib/TLibCommon/TComRdCost.cpp:
37198 TComRdCost::xGetSAD12 cleanup
37199 [f8933cd25eca]
37200
37201 * source/Lib/TLibCommon/TComRdCost.cpp:
37202 Clean up the white-space by lining up
37203 [eb92dec76124]
37204
37205 * source/Lib/TLibCommon/TComRdCost.cpp:
37206 TComRdCost::xGetSAD16 cleanup
37207 [ae6d26dee61f]
37208
37209 * source/Lib/TLibCommon/TComRdCost.cpp:
37210 TComRdCost::xGetSAD8 cleanup
37211 [d9e9186e2e6f]
37212
37213 * source/Lib/TLibCommon/TComRdCost.cpp:
37214 TComRdCost::xGetSAD4 cleanup
37215 [151ff0670a0a]
37216
372172013-07-12 Steve Borho <steve@borho.org>
37218
37219 * source/common/x86/asm-primitives.cpp:
37220 asm: disable sad_x3 for AVX2, does not pass tests
37221 [077dc358e9fa]
37222
372232013-07-12 praveentiwari <praveentiwari>
37224
37225 * source/Lib/TLibCommon/TComRdCost.cpp:
37226 TComRdCost::xGetSAD cleanup
37227 [f3b49b4bc244]
37228
37229 * source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
37230 Fix for Debug version build
37231 [6fc940f59c01]
37232
37233 * source/Lib/TLibCommon/TComRdCost.cpp:
37234 TComRdCost::setDistParam overloaded version clenup
37235 [7a1c0fc82cb0]
37236
37237 * source/Lib/TLibCommon/TComRdCost.cpp:
37238 TComRdCost::setLambda cleanup
37239 [6c97e265b662]
37240
37241 * source/Lib/TLibCommon/TComRdCost.cpp:
37242 TComRdCost::setDistParam cleanup
37243 [191eca565ac9]
37244
37245 * source/Lib/TLibCommon/TComRdCost.cpp,
37246 source/Lib/TLibCommon/TComRdCost.h,
37247 source/Lib/TLibEncoder/TEncSearch.cpp:
37248 bApplyWeight member variable replaced with applyWeight
37249 [22a03cf91021]
37250
372512013-07-12 Steve Borho <steve@borho.org>
37252
37253 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
37254 source/Lib/TLibEncoder/TEncSearch.cpp:
37255 Fix Build Errors for HIGH_BIT_DEPTH enable
37256 [8758e968520c]
37257
372582013-07-12 praveentiwari <praveentiwari>
37259
37260 * source/Lib/TLibCommon/TComRdCost.cpp,
37261 source/Lib/TLibCommon/TComRdCost.h,
37262 source/Lib/TLibEncoder/TEncSearch.cpp:
37263 iSubShift member variable replaced with subShift for all referances
37264 [deffbdd77bb4]
37265
37266 * source/Lib/TLibEncoder/TEncSearch.cpp:
37267 Uncrustified TEncSearch.cpp file
37268 [8847796da616]
37269
372702013-07-11 Steve Borho <steve@borho.org>
37271
37272 * source/x265.cpp:
37273 x265: prune dead short_options and fix no-arg flags
37274 [1858833d3ef1]
37275
37276 * source/Lib/TLibEncoder/TEncSearch.cpp,
37277 source/Lib/TLibEncoder/TEncSearch.h:
37278 TEncSearch: remove unnecessary pointer argument refs
37279 [a1b29fa01efb]
37280
37281 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
37282 compress: hungarian cleanups, white-space fixes
37283 [b15db4f286f6]
37284
37285 * source/common/common.h:
37286 common: fixup commit for previous (msvc didn't write the file)
37287 [d36cc90f9848]
37288
37289 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
37290 source/Lib/TLibEncoder/TEncTop.cpp, source/common/common.cpp,
37291 source/encoder/encoder.cpp, source/x265.cpp:
37292 x265: call x265_set_globals() when the encoder is created
37293 [3d61f1b09eb6]
37294
37295 * source/Lib/TLibCommon/TComDataCU.cpp,
37296 source/Lib/TLibCommon/TComLoopFilter.cpp,
37297 source/Lib/TLibCommon/TComMotionInfo.h,
37298 source/Lib/TLibCommon/TComPrediction.cpp,
37299 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
37300 source/Lib/TLibCommon/TComTrQuant.h,
37301 source/Lib/TLibCommon/TComWeightPrediction.cpp,
37302 source/Lib/TLibEncoder/TEncCavlc.cpp,
37303 source/Lib/TLibEncoder/TEncCavlc.h,
37304 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37305 source/Lib/TLibEncoder/TEncEntropy.cpp,
37306 source/Lib/TLibEncoder/TEncEntropy.h,
37307 source/Lib/TLibEncoder/TEncGOP.cpp,
37308 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
37309 source/Lib/TLibEncoder/TEncSbac.cpp,
37310 source/Lib/TLibEncoder/TEncSbac.h,
37311 source/Lib/TLibEncoder/TEncSearch.cpp,
37312 source/Lib/TLibEncoder/TEncSlice.cpp,
37313 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/compress.cpp,
37314 source/encoder/frameencoder.h:
37315 TEncCu: more de-hungarian, global SR, and AMVPInfo cleanups
37316 [d75d51592719]
37317
37318 * source/Lib/TLibCommon/TComDataCU.cpp,
37319 source/Lib/TLibCommon/TComDataCU.h,
37320 source/Lib/TLibCommon/TComLoopFilter.cpp,
37321 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
37322 source/Lib/TLibCommon/TComPicSym.h,
37323 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
37324 source/Lib/TLibCommon/TComSlice.cpp,
37325 source/Lib/TLibCommon/TComYuv.h, source/Lib/TLibEncoder/TEncCu.cpp,
37326 source/Lib/TLibEncoder/TEncCu.h,
37327 source/Lib/TLibEncoder/TEncEntropy.cpp,
37328 source/Lib/TLibEncoder/TEncSbac.cpp,
37329 source/Lib/TLibEncoder/TEncSlice.cpp,
37330 source/Lib/TLibEncoder/TEncSlice.h, source/common/TShortYUV.h,
37331 source/encoder/compress.cpp, source/encoder/frameencoder.cpp:
37332 TEncCu: more de-hungarian and global SR and more cleanups
37333 [d5ab0435a15b]
37334
37335 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37336 source/encoder/compress.cpp:
37337 TEncCu: de-hungarian buffer member variables
37338 [870fe66f4533]
37339
37340 * source/Lib/TLibEncoder/TEncCu.h:
37341 TEncCu: white-space and comment cleanups
37342 [0a126dd487b2]
37343
37344 * source/Lib/TLibCommon/TComPattern.cpp:
37345 TComPattern: finishing touches
37346 [f2ff5cb195fc]
37347
37348 * source/Lib/TLibCommon/TComPattern.h:
37349 TComPattern: white-space cleanup of header
37350 [98e1d31e7029]
37351
37352 * source/Lib/TLibCommon/TComDataCU.cpp,
37353 source/Lib/TLibCommon/TComPattern.cpp,
37354 source/Lib/TLibCommon/TComPattern.h:
37355 TComPattern: de-hungarian, and global SR
37356 [c75bdba9683f]
37357
37358 * source/Lib/TLibCommon/TComDataCU.cpp,
37359 source/Lib/TLibCommon/TComDataCU.h,
37360 source/Lib/TLibCommon/TComLoopFilter.cpp,
37361 source/Lib/TLibCommon/TComLoopFilter.h,
37362 source/Lib/TLibCommon/TComPattern.cpp,
37363 source/Lib/TLibCommon/TComPattern.h,
37364 source/Lib/TLibCommon/TComPicYuv.cpp,
37365 source/Lib/TLibCommon/TComPicYuv.h,
37366 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
37367 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
37368 source/Lib/TLibCommon/TComSlice.cpp,
37369 source/Lib/TLibCommon/TComTrQuant.cpp,
37370 source/Lib/TLibCommon/TComTrQuant.h,
37371 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
37372 source/Lib/TLibEncoder/TEncGOP.cpp,
37373 source/Lib/TLibEncoder/TEncPic.cpp,
37374 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
37375 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
37376 source/Lib/TLibEncoder/WeightPredAnalysis.h,
37377 source/common/pixel.cpp:
37378 TComPattern: cleanup + global SR
37379
37380 neighbouring => neighboring, iStride -> stride, iComp -> comp
37381 [5d5c89968b66]
37382
37383 * source/common/common.cpp:
37384 Backed out changeset: 064e6bfa93f0 (too much PSNR loss to be
37385 default)
37386 [61d15d0b453d]
37387
37388 * source/Lib/TLibCommon/TComDataCU.cpp,
37389 source/Lib/TLibCommon/TComDataCU.h,
37390 source/Lib/TLibCommon/TComLoopFilter.cpp,
37391 source/Lib/TLibCommon/TComMotionInfo.cpp,
37392 source/Lib/TLibCommon/TComMotionInfo.h,
37393 source/Lib/TLibCommon/TComPattern.cpp,
37394 source/Lib/TLibCommon/TComSlice.h:
37395 TComMotionInfo: simplify TComCUMvField
37396 [24d0170026dc]
37397
37398 * source/Lib/TLibCommon/TComDataCU.cpp,
37399 source/Lib/TLibCommon/TComDataCU.h,
37400 source/Lib/TLibCommon/TComMotionInfo.cpp,
37401 source/Lib/TLibCommon/TComMotionInfo.h:
37402 TComMotionInfo: simplify TComMvField
37403 [73fec016b9b9]
37404
37405 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37406 source/x265opts.h:
37407 x265: hide busted adaptive QP functionality
37408
37409 This might get ripped out entirely, will wait until after the GPL
37410 release
37411 [be8598d81e19]
37412
37413 * source/common/common.cpp:
37414 x265: roughly alphabetize tool option reporting
37415 [771d4d232d7e]
37416
37417 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37418 source/x265opts.h:
37419 x265: hide --sao-max-offsets argument
37420 [93d5e906c6ef]
37421
37422 * source/common/common.cpp:
37423 x265: enable --fast-cbf by default [CHANGES OUTPUTS]
37424
37425 This appears to be a really good trade-off when RDO is enabled
37426 [064e6bfa93f0]
37427
37428 * source/common/common.cpp:
37429 x265: tweak option logging
37430 [41d1a452c033]
37431
37432 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37433 source/x265opts.h:
37434 x265: hide --tmvp parameter, it does not appear useful
37435
37436 --tmvp 0 and 2 appear to both be worse than the default In the
37437 interest of simplifying our API for the near-term, I'm removing the
37438 param
37439 [98fb5cbf6f57]
37440
37441 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37442 source/x265opts.h:
37443 x265: hide --merge-level parameter, it does not appear useful
37444
37445 --merge-level 3 decreases bitrate very slightly
37446 --merge-level 4 increases bitrate
37447
37448 In the interest of simplifying our API for the near-term, I'm
37449 removing the param
37450 [c1fd77c0a995]
37451
37452 * source/Lib/TLibCommon/TComTrQuant.cpp,
37453 source/Lib/TLibCommon/TComTrQuant.h,
37454 source/Lib/TLibEncoder/TEncCu.cpp,
37455 source/Lib/TLibEncoder/TEncGOP.cpp,
37456 source/Lib/TLibEncoder/TEncSbac.cpp,
37457 source/Lib/TLibEncoder/TEncSbac.h:
37458 TComTrQuant: nits and global SR
37459 [3cfa626d1ec4]
37460
37461 * source/Lib/TLibCommon/TComTrQuant.cpp,
37462 source/Lib/TLibCommon/TComTrQuant.h:
37463 TComTrQuant: remove hungarian from QpParam
37464 [959bd4f14b23]
37465
37466 * source/Lib/TLibCommon/TComPrediction.cpp,
37467 source/Lib/TLibCommon/TComPrediction.h:
37468 TComPrediction: remove a couple more invalid pointer refs, fix a
37469 comment
37470 [a930ca2615c1]
37471
37472 * source/Lib/TLibEncoder/TEncSearch.cpp:
37473 fix variable shadow warnings reported by GCC
37474 [2f36960fb069]
37475
37476 * source/Lib/TLibCommon/TComLoopFilter.cpp,
37477 source/Lib/TLibCommon/TComLoopFilter.h,
37478 source/Lib/TLibCommon/TComSlice.cpp,
37479 source/Lib/TLibEncoder/TEncSlice.cpp,
37480 source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
37481 refactor: iDir->dir, iList->list
37482 [17f0a360918f]
37483
37484 * source/Lib/TLibCommon/TComDataCU.cpp,
37485 source/Lib/TLibCommon/TComDataCU.h,
37486 source/Lib/TLibCommon/TComLoopFilter.cpp,
37487 source/Lib/TLibCommon/TComMotionInfo.cpp,
37488 source/Lib/TLibCommon/TComMotionInfo.h,
37489 source/Lib/TLibCommon/TComPrediction.cpp,
37490 source/Lib/TLibCommon/TComPrediction.h,
37491 source/Lib/TLibCommon/TComSlice.cpp,
37492 source/Lib/TLibCommon/TComSlice.h,
37493 source/Lib/TLibCommon/TComTrQuant.cpp,
37494 source/Lib/TLibCommon/TComWeightPrediction.cpp,
37495 source/Lib/TLibCommon/TComWeightPrediction.h,
37496 source/Lib/TLibEncoder/TEncCavlc.cpp,
37497 source/Lib/TLibEncoder/TEncGOP.cpp,
37498 source/Lib/TLibEncoder/TEncSearch.cpp,
37499 source/Lib/TLibEncoder/TEncSlice.cpp,
37500 source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
37501 TComPrediction: remove ptr arg references, plus some global
37502 search/replace
37503 [b14b992b3f0c]
37504
37505 * source/Lib/TLibCommon/TComDataCU.cpp,
37506 source/Lib/TLibCommon/TComPattern.cpp,
37507 source/Lib/TLibCommon/TComPattern.h,
37508 source/Lib/TLibCommon/TComPrediction.cpp,
37509 source/Lib/TLibCommon/TComPrediction.h,
37510 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
37511 source/Lib/TLibCommon/TComSlice.cpp,
37512 source/Lib/TLibCommon/TComSlice.h,
37513 source/Lib/TLibCommon/TComTrQuant.cpp,
37514 source/Lib/TLibCommon/TComTrQuant.h,
37515 source/Lib/TLibCommon/TComWeightPrediction.cpp,
37516 source/Lib/TLibCommon/TComWeightPrediction.h,
37517 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
37518 TComPrediction: cleanup hungarian, plus some global search/replace
37519 [37d226b549d7]
37520
37521 * source/Lib/TLibCommon/TComPrediction.cpp,
37522 source/Lib/TLibCommon/TComPrediction.h,
37523 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
37524 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/dct.cpp,
37525 source/common/intrapred.cpp, source/common/ipfilter.cpp,
37526 source/common/vec/dct.inc, source/common/vec/ipfilter.inc,
37527 source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
37528 source/test/ipfilterharness.cpp:
37529 refactor: move subpel interpolation filters to TComRom, remove dups
37530 [8b7079adef37]
37531
37532 * source/Lib/TLibCommon/TComRdCost.cpp,
37533 source/Lib/TLibCommon/TComRdCost.h,
37534 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
37535 source/Lib/TLibEncoder/TEncSearch.cpp,
37536 source/Lib/TLibEncoder/TEncSearch.h:
37537 TComRdCost: adopt x264 style names, move last mv cost remnant to
37538 TEncSearch
37539 [9ffb3769afdb]
37540
37541 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37542 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
37543 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
37544 source/encoder/compress.cpp:
37545 TEncCU, TEncSAO: global search/replace for common hungarian names
37546 [3edafbb958a7]
37547
37548 * source/Lib/TLibEncoder/TEncCu.cpp,
37549 source/Lib/TLibEncoder/TEncSearch.h:
37550 TEncSearch: cleanup set method names
37551 [251a3fb404f0]
37552
37553 * source/Lib/TLibEncoder/TEncSearch.cpp,
37554 source/Lib/TLibEncoder/TEncSearch.h:
37555 TEncSearch: further cleanups
37556 [0fe565be0395]
37557
37558 * source/Lib/TLibEncoder/TEncSearch.cpp,
37559 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
37560 TEncSearch: remove more hungarian from member vars, other cleanups
37561 [1992995f62f3]
37562
37563 * source/Lib/TLibEncoder/TEncSearch.cpp,
37564 source/Lib/TLibEncoder/TEncSearch.h:
37565 TEncSearch: cleanup init, remove unused s_dFilter, m_puiDFilter
37566 [1aa4e291c6dc]
37567
37568 * source/Lib/TLibEncoder/TEncSearch.cpp,
37569 source/Lib/TLibEncoder/TEncSearch.h:
37570 TEncSearch: remove hunariang prefixes from member vars, remove
37571 unused min/max
37572 [42754524511a]
37573
37574 * source/Lib/TLibEncoder/TEncSearch.cpp,
37575 source/Lib/TLibEncoder/TEncSearch.h:
37576 TEncSearch: remove hungarian prefixes from temp buffers
37577 [5098bd2dfa09]
37578
37579 * source/Lib/TLibEncoder/TEncSearch.cpp,
37580 source/Lib/TLibEncoder/TEncSearch.h:
37581 TEncSearch: remove unused singleton temp buffers
37582 [879890f4aa94]
37583
37584 * source/Lib/TLibEncoder/TEncSearch.cpp:
37585 TEncSearch: qtTempAccessLayer -> qtlayer
37586 [ab54c5d80683]
37587
37588 * source/Lib/TLibEncoder/TEncSearch.h:
37589 TEncSearch: remove redundant white-space
37590 [bb1b55c79d3d]
37591
375922013-07-11 Deepthi Devaki <Deepthi Devaki>
37593
37594 * source/common/pixel.cpp, source/common/primitives.h:
37595 WeightedPredicton: Code cleanup, variable renaming - no logic
37596 change.
37597 [b09304da8423]
37598
37599 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
37600 Weighted prediction primitives integrated to encoder.
37601 [a9cf11753b9d]
37602
37603 * source/common/pixel.cpp, source/common/primitives.h,
37604 source/test/pixelharness.cpp, source/test/pixelharness.h:
37605 C primitives and testbench support for weighted prediction
37606 unidirectional.
37607 [a8fba5231ff3]
37608
376092013-07-11 praveentiwari <praveentiwari>
37610
37611 * source/Lib/TLibCommon/TComRdCost.cpp,
37612 source/Lib/TLibCommon/TComRdCost.h,
37613 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
37614 iStrideCur member variable replaced with strideCur for all
37615 referances
37616 [cdc2757a09f0]
37617
37618 * source/Lib/TLibCommon/TComRdCost.cpp,
37619 source/Lib/TLibCommon/TComRdCost.h,
37620 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
37621 iStrideOrg member variable renamed to strideOrg for all referances
37622 [24670d4aea5e]
37623
376242013-07-11 Steve Borho <steve@borho.org>
37625
37626 * source/Lib/TLibEncoder/TEncSearch.cpp:
37627 TEncSearch: cleanup xEncodeResidualQT
37628 [c1e2e7ee80f8]
37629
37630 * source/Lib/TLibEncoder/TEncSearch.cpp:
37631 TEncSearch: further cleanup of xEstimateResidualQT
37632 [e8c50a292890]
37633
37634 * source/Lib/TLibEncoder/TEncSearch.cpp:
37635 TEncSearch: further cleanup of xEstimateResidualQT
37636 [dfdd07b57714]
37637
37638 * source/Lib/TLibEncoder/TEncSearch.cpp:
37639 TEncSearch: more cleanups
37640 [2d6cbbfeae8b]
37641
37642 * source/Lib/TLibEncoder/TEncSearch.cpp:
37643 TEncSearch: partial cleanup of xEstimateResidualQT
37644 [54b7e44a945f]
37645
37646 * source/Lib/TLibEncoder/TEncSearch.cpp:
37647 TEncSearch: cleanup encodeResAndCalcRdInterCU
37648 [740e4002bc8a]
37649
37650 * source/Lib/TLibEncoder/TEncSearch.cpp:
37651 TEncSearch: cleanup xPatternSearchFracDIF
37652 [5cfdcda40cd9]
37653
37654 * source/Lib/TLibEncoder/TEncSearch.cpp:
37655 TEncSearch: cleanup xPatternSearchFast
37656 [5170b6383156]
37657
37658 * source/Lib/TLibEncoder/TEncSearch.cpp:
37659 TEncSearch: cleanup xPatternSearch
37660 [ad8f26c19b65]
37661
37662 * source/Lib/TLibEncoder/TEncSearch.cpp:
37663 TEncSearch: cleanup xMotionEstimation
37664 [2158663a6e10]
37665
37666 * source/Lib/TLibEncoder/TEncSearch.cpp:
37667 TEncSearch: cleanup xGetTemplateCost and xEstimateMvPredAMVP
37668 [17699ac30ca9]
37669
37670 * source/Lib/TLibEncoder/TEncSearch.cpp:
37671 TEncSearch: cleanup predInterSearch
37672 [75d4bc043fa1]
37673
37674 * source/Lib/TLibEncoder/TEncSearch.cpp:
37675 TEncSearch: cleanup xMergeEstimation
37676 [322076f45e2a]
37677
37678 * source/Lib/TLibEncoder/TEncSearch.cpp:
37679 TEncSearch: cleanup IPCMSearch
37680 [a566e9fdb97a]
37681
37682 * source/Lib/TLibEncoder/TEncSearch.cpp:
37683 TEncSearch: cleanup xEncPCM
37684 [1a15e5414b07]
37685
37686 * source/Lib/TLibEncoder/TEncSearch.cpp:
37687 TEncSearch: cleanup estIntraPredChromaQT
37688 [6e8092345092]
37689
37690 * source/Lib/TLibEncoder/TEncSearch.cpp:
37691 TEncSearch: cleanup estIntraPredQT
37692 [725885f26120]
37693
37694 * source/Lib/TLibEncoder/TEncSearch.cpp:
37695 TEncSearch: cleanup preestChromaPredMode
37696 [a81b1600a1ae]
37697
37698 * source/Lib/TLibEncoder/TEncSearch.cpp:
37699 TEncSearch: cleanup xSetIntraResultChromaQT
37700 [a3bf887469c8]
37701
37702 * source/Lib/TLibEncoder/TEncSearch.cpp:
37703 TEncSearch: cleanup xRecurIntraChromaCodingQT
37704 [d8c562aab747]
37705
37706 * source/Lib/TLibEncoder/TEncSearch.cpp:
37707 TEncSearch: cleanup xLoadIntraResultChromaQT, use block copy
37708 primitives
37709 [87516ea1b92e]
37710
37711 * source/Lib/TLibEncoder/TEncSearch.cpp:
37712 TEncSearch: cleanup xStoreIntraResultChromaQT
37713 [204d2839f830]
37714
37715 * source/Lib/TLibEncoder/TEncSearch.cpp:
37716 TEncSearch: cleanup xLoadIntraResultQT, correct stride and size for
37717 chroma
37718 [7367545ec76a]
37719
37720 * source/Lib/TLibEncoder/TEncSearch.cpp:
37721 TEncSearch: cleanup xStoreIntraResultQT
37722 [65409511940b]
37723
377242013-07-10 Steve Borho <steve@borho.org>
37725
37726 * source/Lib/TLibEncoder/TEncSearch.cpp:
37727 TEncSearch: cleanup xSetIntraResultQT
37728 [b549964b4636]
37729
37730 * source/Lib/TLibEncoder/TEncSearch.cpp:
37731 TEncSearch: cleanup xRecurIntraCodingQT, use block copy primitives
37732 [5542e517b305]
37733
37734 * source/Lib/TLibEncoder/TEncSearch.cpp:
37735 TEncSearch: cleanup xIntraCodingChromaBlk
37736 [e383fa1d83b7]
37737
37738 * source/Lib/TLibEncoder/TEncSearch.cpp:
37739 TEncSearch: cleanup xIntraCodingLumaBlk
37740 [155ee7e2e1a8]
37741
37742 * source/Lib/TLibEncoder/TEncSearch.cpp,
37743 source/Lib/TLibEncoder/TEncSearch.h:
37744 TEncSearch: cleanup xEncCoeffQT, remove unused bRealCoeff
37745 [f5e166b6a6f2]
37746
37747 * source/Lib/TLibEncoder/TEncSearch.cpp:
37748 TEncSearch: cleanup xGetIntraBitsQT
37749 [c21dd51ed3ca]
37750
37751 * source/Lib/TLibEncoder/TEncSearch.cpp:
37752 TEncSearch: cleanup xEncIntraHeader
37753 [3031fd60571a]
37754
37755 * source/Lib/TLibEncoder/TEncSearch.cpp:
37756 TEncSearch: cleanup xEncCoeffQT
37757 [ff557176bba7]
37758
37759 * source/Lib/TLibEncoder/TEncSearch.cpp:
37760 TEncSearch: cleanup xEncSubdivCbfQT
37761 [d4433b481d08]
37762
37763 * source/Lib/TLibEncoder/TEncSearch.h:
37764 TEncSearch: remove meaningless consts and comments
37765 [2245a4a8b34d]
37766
37767 * source/Lib/TLibEncoder/TEncSearch.h:
37768 TEncSearch: followup renames
37769 [c1a9e7bb9749]
37770
37771 * source/Lib/TLibEncoder/TEncSearch.h:
37772 TEncSearch: cleanup the header
37773 [d09e321b4d06]
37774
37775 * source/common/primitives.h, source/common/vec/ipfilter16.inc,
37776 source/common/vec/ipfilter8.inc:
37777 primitives: cleanup funcdefs
37778 [d6ad445e4eeb]
37779
37780 * source/encoder/compress.cpp:
37781 compress: remove trailing white-space
37782 [cd6cdea03bbe]
37783
37784 * source/Lib/TLibCommon/TComDataCU.cpp,
37785 source/Lib/TLibCommon/TComDataCU.h,
37786 source/Lib/TLibCommon/TComLoopFilter.cpp,
37787 source/Lib/TLibCommon/TComLoopFilter.h,
37788 source/Lib/TLibCommon/TComMotionInfo.cpp,
37789 source/Lib/TLibCommon/TComMotionInfo.h,
37790 source/Lib/TLibCommon/TComPattern.cpp,
37791 source/Lib/TLibCommon/TComPattern.h,
37792 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
37793 source/Lib/TLibCommon/TComPicYuv.cpp,
37794 source/Lib/TLibCommon/TComPicYuv.h,
37795 source/Lib/TLibCommon/TComPrediction.cpp,
37796 source/Lib/TLibCommon/TComPrediction.h,
37797 source/Lib/TLibCommon/TComRdCost.cpp,
37798 source/Lib/TLibCommon/TComRdCost.h,
37799 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
37800 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
37801 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
37802 source/Lib/TLibCommon/TComSlice.cpp,
37803 source/Lib/TLibCommon/TComSlice.h,
37804 source/Lib/TLibCommon/TComTrQuant.cpp,
37805 source/Lib/TLibCommon/TComWeightPrediction.cpp,
37806 source/Lib/TLibCommon/TComWeightPrediction.h,
37807 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
37808 source/Lib/TLibEncoder/TEncCavlc.cpp,
37809 source/Lib/TLibEncoder/TEncCavlc.h,
37810 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37811 source/Lib/TLibEncoder/TEncEntropy.cpp,
37812 source/Lib/TLibEncoder/TEncEntropy.h,
37813 source/Lib/TLibEncoder/TEncGOP.cpp,
37814 source/Lib/TLibEncoder/TEncPic.cpp,
37815 source/Lib/TLibEncoder/TEncPic.h,
37816 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
37817 source/Lib/TLibEncoder/TEncSbac.cpp,
37818 source/Lib/TLibEncoder/TEncSbac.h,
37819 source/Lib/TLibEncoder/TEncSlice.cpp,
37820 source/Lib/TLibEncoder/TEncSlice.h,
37821 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
37822 source/Lib/TLibEncoder/WeightPredAnalysis.h,
37823 source/encoder/compress.cpp:
37824 more mass search-replaces and various other cleanups
37825 [f04c1ab7b493]
37826
37827 * source/Lib/TLibCommon/TComDataCU.cpp,
37828 source/Lib/TLibCommon/TComDataCU.h,
37829 source/Lib/TLibCommon/TComLoopFilter.cpp,
37830 source/Lib/TLibCommon/TComLoopFilter.h,
37831 source/Lib/TLibCommon/TComMotionInfo.cpp,
37832 source/Lib/TLibCommon/TComMotionInfo.h,
37833 source/Lib/TLibCommon/TComPattern.cpp,
37834 source/Lib/TLibCommon/TComPattern.h,
37835 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
37836 source/Lib/TLibCommon/TComPrediction.cpp,
37837 source/Lib/TLibCommon/TComPrediction.h,
37838 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
37839 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
37840 source/Lib/TLibCommon/TComTrQuant.cpp,
37841 source/Lib/TLibCommon/TComWeightPrediction.cpp,
37842 source/Lib/TLibCommon/TComWeightPrediction.h,
37843 source/Lib/TLibEncoder/TEncCavlc.cpp,
37844 source/Lib/TLibEncoder/TEncCavlc.h,
37845 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37846 source/Lib/TLibEncoder/TEncEntropy.cpp,
37847 source/Lib/TLibEncoder/TEncEntropy.h,
37848 source/Lib/TLibEncoder/TEncGOP.cpp,
37849 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
37850 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
37851 source/Lib/TLibEncoder/TEncSbac.cpp,
37852 source/Lib/TLibEncoder/TEncSbac.h,
37853 source/Lib/TLibEncoder/TEncSearch.cpp,
37854 source/Lib/TLibEncoder/TEncSearch.h,
37855 source/Lib/TLibEncoder/TEncSlice.cpp,
37856 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
37857 source/encoder/compress.cpp, source/encoder/frameencoder.cpp:
37858 global search-replaces for common variables, remove prefixes
37859
37860 pcCu -> cu, uiTrMode -> trMode, pcYuvPred -> predYuv, eRefPicList ->
37861 picList, iRefList -> refList, iRefIdxTemp -> refIdxTmp
37862 [4349ad516f23]
37863
37864 * source/Lib/TLibEncoder/TEncCu.cpp:
37865 TEncCu: fix memory leak
37866 [48e99b31ca1e]
37867
378682013-07-10 praveentiwari <praveentiwari>
37869
37870 * source/Lib/TLibCommon/TComTrQuant.cpp:
37871 Cleanup xGetCodedLevel function
37872 [ccb2f92de6a4]
37873
37874 * source/Lib/TLibCommon/TComTrQuant.cpp:
37875 Clenup xGetICRateCost function
37876 [6239f27298a1]
37877
37878 * source/Lib/TLibCommon/TComTrQuant.cpp:
37879 Cleanup xGetICRate function
37880 [26e5e760a27a]
37881
37882 * source/Lib/TLibCommon/TComTrQuant.cpp:
37883 Cleanup setErrScaleCoeff function
37884 [3b98d991c3e2]
37885
378862013-07-10 Steve Borho <steve@borho.org>
37887
37888 * source/Lib/TLibEncoder/TEncCfg.h,
37889 source/Lib/TLibEncoder/TEncSearch.cpp,
37890 source/Lib/TLibEncoder/TEncSearch.h,
37891 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
37892 TEncSearch: remove m_bUseHADME, clean more hungarian
37893 [7cffa89fad19]
37894
378952013-07-10 ggopu <ggopu>
37896
37897 * source/Lib/TLibEncoder/TEncSearch.cpp:
37898 TEncodeSearch : Cleanup Removed un used codes, white space and
37899 Removed Hungarian Notation
37900 [435170a8901e]
37901
379022013-07-10 Deepthi <Deepthi>
37903
37904 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
37905 Removed duplicate copy of Merge RD cost estimation.
37906 [422cbbbb1493]
37907
37908 * source/encoder/compress.cpp:
37909 Code reuse of Merge: part 2
37910 [6c320ed872a4]
37911
37912 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37913 Code reuse of Merge cost estimation for rdo/no-rdo: part 1
37914 [e2ded94ab75d]
37915
37916 * source/Lib/TLibEncoder/TEncCfg.h:
37917 Removing fdm from TEncCfg
37918 [d291ed7c19b5]
37919
37920 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37921 source/x265opts.h:
37922 Removing bEnableFastMergeDecision from CLI Options.
37923 [2b4e59ecd75b]
37924
37925 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
37926 Fast Decision for Merge always set - this CLI option does not give
37927 any higher efficiency.
37928 [8aff90a1c454]
37929
37930 * source/encoder/compress.cpp:
37931 Enabling merge modes with non-zero residual in no-rdo mode.
37932 [ff2b06916f87]
37933
37934 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37935 Recon for merge modes - store in TEnCU structure
37936 [6c654e521fa4]
37937
379382013-07-10 Steve Borho <steve@borho.org>
37939
37940 * source/Lib/TLibCommon/TComBitStream.cpp,
37941 source/Lib/TLibCommon/TComDataCU.cpp,
37942 source/Lib/TLibCommon/TComDataCU.h,
37943 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
37944 source/Lib/TLibCommon/TComPicYuv.h,
37945 source/Lib/TLibCommon/TComPrediction.cpp,
37946 source/Lib/TLibCommon/TComPrediction.h,
37947 source/Lib/TLibCommon/TComRom.cpp,
37948 source/Lib/TLibCommon/TComSlice.cpp,
37949 source/Lib/TLibCommon/TComSlice.h,
37950 source/Lib/TLibCommon/TComTrQuant.cpp,
37951 source/Lib/TLibCommon/TComTrQuant.h,
37952 source/Lib/TLibEncoder/TEncAnalyze.h,
37953 source/Lib/TLibEncoder/TEncCavlc.cpp,
37954 source/Lib/TLibEncoder/TEncCavlc.h,
37955 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
37956 source/Lib/TLibEncoder/TEncGOP.cpp,
37957 source/Lib/TLibEncoder/TEncSbac.cpp,
37958 source/Lib/TLibEncoder/TEncSearch.cpp,
37959 source/Lib/TLibEncoder/TEncTop.cpp,
37960 source/Lib/TLibEncoder/TEncTop.h, source/common/ipfilter.cpp,
37961 source/common/pixel.cpp, source/common/reference.cpp,
37962 source/common/threadpool.cpp, source/common/vec/dct.inc,
37963 source/common/vec/intrapred.inc, source/common/vec/ipfilter16.inc,
37964 source/common/vec/ipfilter8.inc, source/common/vec/pixel.inc,
37965 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
37966 source/common/wavefront.cpp, source/common/wavefront.h,
37967 source/encoder/compress.cpp, source/encoder/encoder.cpp,
37968 source/encoder/encoder.h, source/encoder/frameencoder.cpp,
37969 source/encoder/frameencoder.h, source/encoder/motion.cpp,
37970 source/encoder/motion.h, source/test/intrapredharness.cpp,
37971 source/test/ipfilterharness.cpp, source/test/pixelharness.h,
37972 source/test/testbench.cpp, source/x265.cpp, source/x265.h:
37973 uncrustify
37974 [ae3cf6062c1a]
37975
379762013-07-09 Steve Borho <steve@borho.org>
37977
37978 * source/test/mbdstharness.cpp:
37979 mbdstharness: workaround for linux test failures
37980 [2bad78a65d37]
37981
37982 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37983 source/encoder/compress.cpp:
37984 TEncCU: use loops to create/destroy objects, rename m_IntraInInterCU
37985 [e126e6386acc]
37986
37987 * source/Lib/TLibCommon/TComTrQuant.cpp:
37988 TComTrQuant: fix shadowed variables for GCC
37989 [df76c016468d]
37990
37991 * source/common/common.cpp:
37992 common: fix a potential 8bpp usage bug
37993 [f6552d7189dd]
37994
37995 * source/Lib/TLibEncoder/TEncCu.cpp, source/common/common.cpp:
37996 TComRom: only allow zscan tables to be initialized once
37997 [917b56038be3]
37998
37999 * source/Lib/TLibCommon/TComDataCU.cpp,
38000 source/Lib/TLibCommon/TComDataCU.h,
38001 source/Lib/TLibCommon/TComLoopFilter.cpp,
38002 source/Lib/TLibCommon/TComLoopFilter.h,
38003 source/Lib/TLibCommon/TComPattern.cpp,
38004 source/Lib/TLibCommon/TComPic.cpp,
38005 source/Lib/TLibCommon/TComPicYuv.cpp,
38006 source/Lib/TLibCommon/TComPicYuv.h,
38007 source/Lib/TLibCommon/TComPrediction.cpp,
38008 source/Lib/TLibCommon/TComRdCost.cpp,
38009 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
38010 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
38011 source/Lib/TLibCommon/TComSlice.h,
38012 source/Lib/TLibCommon/TComTrQuant.cpp,
38013 source/Lib/TLibCommon/TComYuv.h,
38014 source/Lib/TLibEncoder/TEncCavlc.cpp,
38015 source/Lib/TLibEncoder/TEncCu.cpp,
38016 source/Lib/TLibEncoder/TEncEntropy.cpp,
38017 source/Lib/TLibEncoder/TEncGOP.cpp,
38018 source/Lib/TLibEncoder/TEncSbac.cpp,
38019 source/Lib/TLibEncoder/TEncSearch.cpp,
38020 source/Lib/TLibEncoder/TEncSlice.cpp,
38021 source/Lib/TLibEncoder/TEncTop.cpp, source/common/TShortYUV.h,
38022 source/common/butterfly.h, source/common/common.cpp,
38023 source/common/dct.cpp, source/common/intrapred.cpp,
38024 source/common/vec/intrapred.inc, source/encoder/compress.cpp,
38025 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
38026 TComRom: remove hungarian notation, remove unused butterfly.h
38027 [2f68b284ba53]
38028
38029 * source/Lib/TLibCommon/TComRom.h:
38030 TComRom: simplify white-space
38031 [daa1bf21a3ce]
38032
38033 * source/Lib/TLibEncoder/TEncGOP.cpp,
38034 source/Lib/TLibEncoder/TEncSlice.cpp,
38035 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
38036 frameencoder: de-hungarian the member vars and auto-vars
38037 [95ae28081f11]
38038
38039 * source/Lib/TLibCommon/TComTrQuant.cpp,
38040 source/Lib/TLibCommon/TComTrQuant.h,
38041 source/Lib/TLibEncoder/TEncSearch.cpp:
38042 TComTrQuant: remove hungarian notations from member variables
38043 [6af026c91d32]
38044
38045 * source/Lib/TLibCommon/TComTrQuant.cpp,
38046 source/Lib/TLibCommon/TComTrQuant.h,
38047 source/encoder/frameencoder.cpp:
38048 TComTrQuant: remove m_bEnc member variable
38049 [a9e3cf2ee919]
38050
38051 * source/Lib/TLibCommon/TComTrQuant.cpp:
38052 TComTrQuant: CU -> cu
38053 [079bbdf4d687]
38054
38055 * source/Lib/TLibEncoder/TEncGOP.cpp:
38056 TEncGOP: remove hungarian prefixes from auto-vars
38057 [d366eeefac0f]
38058
38059 * source/Lib/TLibCommon/TComTrQuant.cpp,
38060 source/Lib/TLibCommon/TComTrQuant.h,
38061 source/Lib/TLibEncoder/TEncSbac.cpp:
38062 TComTrQuant: hungarian removal, white-space cleanup, remove useless
38063 comments
38064 [a096d4fdefe5]
38065
38066 * source/Lib/TLibCommon/TComTrQuant.cpp,
38067 source/Lib/TLibCommon/TComTrQuant.h,
38068 source/Lib/TLibEncoder/TEncSearch.cpp:
38069 TComTrQuant: simplify function arguments
38070
38071 * do not pass arlCCoef as a pointer reference
38072 * return acSum rather than pass as integer reference
38073 [d6c1bf1a4801]
38074
38075 * source/Lib/TLibCommon/TComTrQuant.cpp,
38076 source/Lib/TLibCommon/TComTrQuant.h, source/common/dct.cpp,
38077 source/common/vec/dct.inc:
38078 TComTrQuant: remove deprecated DCT functions
38079 [733534550553]
38080
38081 * source/Lib/TLibCommon/TComTrQuant.cpp:
38082 TComTrQuant: lowercase cu, other cleanups
38083 [10a797823849]
38084
380852013-07-09 praveentiwari <praveentiwari>
38086
38087 * source/Lib/TLibCommon/TComTrQuant.cpp:
38088 Cleanup xRateDistOptQuant function
38089 [6cef4fc5a850]
38090
38091 * source/Lib/TLibCommon/TComTrQuant.cpp:
38092 Cleanup xITransformSkip function
38093 [0124ebb836bb]
38094
38095 * source/Lib/TLibCommon/TComTrQuant.cpp:
38096 Cleanup xTransformSkip function
38097 [593ccf9b637b]
38098
38099 * source/Lib/TLibCommon/TComTrQuant.cpp:
38100 Cleanup xIT function
38101 [23b7b876ad58]
38102
38103 * source/Lib/TLibCommon/TComTrQuant.cpp:
38104 Cleanup invRecurTransformNxN function
38105 [3e2ea30421a1]
38106
38107 * source/Lib/TLibCommon/TComTrQuant.cpp:
38108 Cleanup invtransformNxN function
38109 [ce4c31d4fcad]
38110
38111 * source/Lib/TLibCommon/TComTrQuant.cpp:
38112 More cleanup with transformNxN
38113 [6151c3d14f14]
38114
38115 * source/Lib/TLibCommon/TComTrQuant.cpp:
38116 cleanup transformNxN function
38117 [dc146c2b451a]
38118
38119 * source/Lib/TLibCommon/TComTrQuant.cpp:
38120 cleanup init function
38121 [741604b8a4b5]
38122
38123 * source/Lib/TLibCommon/TComTrQuant.cpp:
38124 cleanup xDeQuant function
38125 [0847be750c4e]
38126
381272013-07-09 Steve Borho <steve@borho.org>
38128
38129 * source/Lib/TLibCommon/TComTrQuant.cpp:
38130 TComTrQuant: lowercase cu
38131 [bd0ece7e95a1]
38132
381332013-07-09 praveentiwari <praveentiwari>
38134
38135 * source/Lib/TLibCommon/TComTrQuant.cpp:
38136 cleanup xQuant function
38137 [c1bdb5c6f841]
38138
381392013-07-10 Deepthi <Deepthi>
38140
38141 * Merge
38142 [707b458d0e5e]
38143
381442013-07-09 Deepthi <Deepthi>
38145
38146 * source/encoder/compress.cpp:
38147 Exit early if merge modes detected
38148 [df22ad807c9f]
38149
38150 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
38151 Updating merge cost calculation to enable early skips.
38152 [0cd3c9c94bb0]
38153
381542013-07-09 Steve Borho <steve@borho.org>
38155
38156 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
38157 source/test/testbench.cpp:
38158 misc fixes
38159 [aa8ddcc78c4a]
38160
38161 * source/common/vec/intrapred.inc:
38162 intrapred: further cleanups
38163
38164 * rename methods to match primitive funcdef
38165 * remove unoptimized all-angs methods, use C ref
38166 [5a81d522e9e3]
38167
38168 * source/common/vec/ipfilter8.inc:
38169 ipfilter: white-space fixup
38170 [2e6f01521c90]
38171
38172 * source/common/vec/ipfilter8.inc:
38173 ipfilter: remove buggy SSE2 version of
38174 filterHorizontalMultiplaneExtend
38175 [c1df7dba97be]
38176
38177 * source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
38178 source/test/ipfilterharness.cpp:
38179 ipfilter: follow up cleaning, one 16bpp compile fix
38180 [0602a41d8ced]
38181
381822013-07-09 ggopu <ggopu>
38183
38184 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter16.inc,
38185 source/common/vec/ipfilter8.inc:
38186 ipfilter*.inc : Cleanup function names and variables
38187 [1d24abd75465]
38188
38189 * source/common/common.cpp, source/common/ipfilter.cpp:
38190 ipfilter: Cleanups function names and Variables
38191 [05b43fadedd8]
38192
381932013-07-09 praveentiwari <praveentiwari>
38194
38195 * source/Lib/TLibCommon/TComTrQuant.cpp:
38196 cleanup signBitHidingHDQ function
38197 [ea86a1524985]
38198
38199 * source/Lib/TLibCommon/TComTrQuant.cpp:
38200 Cleanup storeSliceQpNext function
38201 [7b33153ce08c]
38202
382032013-07-09 Deepthi <Deepthi>
38204
38205 * source/encoder/compress.cpp:
38206 Cleanup: remove commented code
38207 [fe3a1d78f9d9]
38208
38209 * source/encoder/compress.cpp:
38210 Merge modes now use RDO cost to compare against inter/intra. Quality
38211 up, bitrate down.
38212 [4efd9d9d4b60]
38213
38214 * source/encoder/compress.cpp:
38215 Remove unused if-checks
38216 [9605252d9dd8]
38217
382182013-07-09 Steve Borho <steve@borho.org>
38219
38220 * source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp:
38221 testbench: more test result format tweaking
38222 [a5c300785b8f]
38223
382242013-07-08 Steve Borho <steve@borho.org>
38225
38226 * source/test/intrapredharness.cpp:
38227 intrapred: tweak test result reporting
38228 [a103a8a37fb8]
38229
38230 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
38231 source/Lib/TLibCommon/TComInterpolationFilter.h,
38232 source/Lib/TLibCommon/TComPrediction.cpp,
38233 source/Lib/TLibCommon/TComPrediction.h,
38234 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38235 source/Lib/TLibCommon/TComWeightPrediction.h,
38236 source/Lib/TLibCommon/TComYuv.cpp,
38237 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/ipfilter.cpp,
38238 source/common/primitives.h:
38239 TComInterpolationFilter: remove dead code and dead primitive
38240 [eee0360420e2]
38241
38242 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
38243 source/Lib/TLibCommon/TComPrediction.cpp,
38244 source/Lib/TLibCommon/TComYuv.cpp,
38245 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/ipfilter.cpp,
38246 source/common/pixel.cpp, source/common/primitives.h,
38247 source/common/vec/blockcopy.inc, source/common/vec/ipfilter.inc,
38248 source/encoder/motion.cpp, source/test/ipfilterharness.cpp,
38249 source/test/pixelharness.cpp:
38250 primitives: normalize primitive function names
38251 [3f91e1121a00]
38252
38253 * source/common/primitives.h:
38254 primitives: white-space alignment for primitive structure, re-order
38255 for clarity
38256 [6d15ceb19861]
38257
38258 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
38259 source/common/primitives.h, source/common/vec/pixel.inc,
38260 source/common/x86/asm-primitives.cpp, source/encoder/compress.cpp,
38261 source/encoder/motion.h, source/test/ipfilterharness.cpp,
38262 source/test/ipfilterharness.h, source/test/pixelharness.cpp,
38263 source/test/pixelharness.h:
38264 primitives: unify primitive funcdef type names
38265 [ed9b76835696]
38266
38267 * source/x265.cpp:
38268 x265: cleanups
38269 [420bb0f5b279]
38270
38271 * source/test/pixelharness.cpp, source/test/pixelharness.h:
38272 pixel: cleanup test harness methods
38273 [992721365f6f]
38274
38275 * source/input/input.cpp, source/input/input.h,
38276 source/output/output.cpp, source/output/output.h, source/x265.cpp:
38277 i/o: lower case open methods
38278 [b6d72f3e0096]
38279
38280 * source/common/reference.cpp:
38281 reference: add a comment
38282 [b36838e5b7cf]
38283
38284 * source/CMakeLists.txt:
38285 cmake: move version.cmake include to just before the CLI link
38286
38287 this should avoid rebuilds in cmake generated Makefiles when the
38288 version number changes (which happens at every commit)
38289 [87d2b6578384]
38290
38291 * source/common/common.cpp, source/common/common.h:
38292 common: cleanups, remove unused dumpBuffer routine
38293 [11194a1a5917]
38294
38295 * source/common/CMakeLists.txt:
38296 cmake: force i686 arch for wavefront.cpp for GCC (to generate
38297 intrinsics)
38298 [c3b5d95f11c3]
38299
38300 * source/Lib/TLibEncoder/TEncGOP.cpp,
38301 source/Lib/TLibEncoder/TEncGOP.h, source/common/reference.cpp,
38302 source/common/threading.cpp, source/common/threading.h,
38303 source/common/threadpool.cpp, source/encoder/frameencoder.cpp,
38304 source/test/testpool.cpp:
38305 threading: lower case method names
38306 [7bdf867f5565]
38307
38308 * source/Lib/TLibCommon/TComSlice.cpp,
38309 source/Lib/TLibEncoder/TEncTop.cpp, source/common/reference.cpp,
38310 source/common/threadpool.cpp, source/common/threadpool.h,
38311 source/common/wavefront.cpp, source/encoder/encoder.cpp,
38312 source/encoder/frameencoder.cpp, source/test/testpool.cpp:
38313 threadpool: lower case method names
38314 [2724414e4c97]
38315
38316 * source/test/testpool.cpp:
38317 testpool: update to new interfaces
38318 [1e0de23fd8cf]
38319
38320 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
38321 frameencoder: rename irow to row
38322 [ca4ef78851dc]
38323
38324 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
38325 frameencoder: rename m_nrows to m_numRows
38326 [0cd64834fc44]
38327
38328 * source/Lib/TLibEncoder/TEncSlice.cpp, source/common/reference.cpp,
38329 source/common/reference.h, source/common/threadpool.cpp,
38330 source/common/threadpool.h, source/common/wavefront.cpp,
38331 source/common/wavefront.h, source/encoder/frameencoder.cpp,
38332 source/encoder/frameencoder.h:
38333 wavefront: lower case some method names
38334 [460e36b39510]
38335
38336 * source/Lib/TLibEncoder/TEncGOP.h,
38337 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/CMakeLists.txt,
38338 source/common/threadpool.cpp, source/common/threadpool.h,
38339 source/common/wavefront.cpp, source/common/wavefront.h,
38340 source/encoder/CMakeLists.txt, source/encoder/frameencoder.cpp,
38341 source/encoder/frameencoder.h, source/encoder/wavefront.cpp,
38342 source/encoder/wavefront.h:
38343 threadpool: split QueueFrame into own files, rename wavefront to
38344 frameencoder
38345
38346 This commit also removes the un-exposed x265_init_threading()
38347 function which would have leaked the thread pool if anyone had used
38348 it.
38349 [ef1a5aeed45c]
38350
38351 * source/common/reference.cpp, source/common/threadpool.cpp,
38352 source/common/threadpool.h:
38353 threadpool: cleanup
38354 [1f126e6d3188]
38355
38356 * source/common/reference.cpp:
38357 reference: general cleanup
38358 [8e9e65404251]
38359
38360 * source/common/primitives.cpp:
38361 primitives: general cleanup
38362 [25dd71fec257]
38363
38364 * source/common/primitives.h:
38365 primitives: more argument cleanups
38366 [ac679985a223]
38367
38368 * source/Lib/TLibCommon/TComPrediction.cpp,
38369 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/intrapred.cpp,
38370 source/common/primitives.h, source/common/vec/intrapred.inc,
38371 source/encoder/compress.cpp, source/test/intrapredharness.cpp,
38372 source/test/intrapredharness.h:
38373 primitives: rename intra primitive function pointers
38374 [f0ed0e012c69]
38375
38376 * source/common/primitives.h, source/test/intrapredharness.cpp,
38377 source/test/intrapredharness.h:
38378 primitives: rename intra funcdefs, cleanup hungarian from
38379 primitives.h
38380 [676b0ce0b073]
38381
38382 * source/common/primitives.h:
38383 primitives: update comment for PartitionFromSizes
38384 [45237ca3f80e]
38385
38386 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
38387 cleanup dct testbench names
38388 [c9bf846287de]
38389
38390 * source/test/mbdstharness.cpp:
38391 one more fixup
38392 [e05d5cb444ed]
38393
38394 * source/test/mbdstharness.cpp:
38395 testbench fixup
38396 [7ff03b771df4]
38397
38398 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
38399 source/common/primitives.h, source/common/vec/dct.inc,
38400 source/test/mbdstharness.cpp:
38401 primitives: rename deQuant to dequant
38402 [7f9581358d71]
38403
38404 * source/common/dct.cpp:
38405 dct: tweak C reference function names
38406 [64a60d981754]
38407
384082013-07-08 praveentiwari <praveentiwari>
38409
38410 * source/common/vec/dct.inc:
38411 xIDCT32 renamed
38412 [c6c2f393542b]
38413
38414 * source/common/vec/dct.inc:
38415 xIDCT16 renamed
38416 [6f3e60bfc015]
38417
38418 * source/common/vec/dct.inc:
38419 xIDCT8 renamed
38420 [41b0fd84e529]
38421
38422 * source/common/vec/dct.inc:
38423 xIDCT4 renamed to idct4
38424 [9f1b4c87102e]
38425
38426 * source/common/vec/dct.inc:
38427 xIDST4 renamed to idst4
38428 [96f0f843ce32]
38429
38430 * source/common/vec/dct.inc:
38431 xDCT32 renamed and code cleanup
38432 [6b41676cb38e]
38433
38434 * source/common/vec/dct.inc:
38435 xDCT8 renamed and cleanup
38436 [9e014c33e51f]
38437
38438 * source/common/vec/dct.inc:
38439 xDCT16 renamed and code cleanup
38440 [b339a499aed7]
38441
38442 * source/common/vec/dct.inc:
38443 xDCT4 vector function renamed and code cleanup
38444 [60a0b40415c0]
38445
38446 * source/common/vec/dct.inc:
38447 xDST4 renamed and code cleanup
38448 [b433892d93bc]
38449
38450 * source/common/vec/dct.inc:
38451 xDeQuant renamed and code cleanup
38452 [977e4de578f8]
38453
38454 * source/common/dct.cpp:
38455 xDeQuant renamed to dequant and code cleanup
38456 [f4a8ee3589fc]
38457
38458 * source/common/dct.cpp:
38459 xIDCT32_C renamed to idct32_c and code cleanup
38460 [ad9fa655dd85]
38461
38462 * source/common/dct.cpp:
38463 xIDCT16_C renamed to idct16_c and code cleanup
38464 [6c88b49c9df6]
38465
38466 * source/common/dct.cpp:
38467 xIDCT8_C renamed to idct8_c and code cleanup
38468 [628340f39377]
38469
38470 * source/common/dct.cpp:
38471 xIDCT4_C renamed to idct4_c and code cleanup
38472 [96ba4ac11c58]
38473
38474 * source/common/dct.cpp:
38475 xIDST4_C renamed to idst4_c and code cleanup
38476 [baf12bcf3edb]
38477
38478 * source/common/dct.cpp:
38479 xDCT32_C renamed to dct32_c and code cleanup
38480 [f7b83d5d0517]
38481
38482 * source/common/dct.cpp:
38483 xDCT16_C renamed to dct16_c and code cleanup
38484 [7b0ef137a4f3]
38485
384862013-07-08 Steve Borho <steve@borho.org>
38487
38488 * source/common/vec/intrapred.inc:
38489 intrapred: fixup variable renaming
38490 [fcca2928bf47]
38491
38492 * source/common/intrapred.cpp:
38493 intrapred: remove hungarian prefix for file static
38494 [ec2b823011be]
38495
38496 * source/common/pixel.cpp:
38497 pixel: cleanup C references
38498 [3fa99086d2f5]
38499
38500 * source/common/vec/pixel16.inc:
38501 pixel: use x264 style argument names
38502 [a9d1cbda189f]
38503
38504 * source/common/vec/pixel8.inc:
38505 pixel: use x264 style argument names
38506 [e0224143803e]
38507
38508 * source/common/intrapred.cpp:
38509 intrapred: finish variable cleanups
38510 [1f4cd3821191]
38511
38512 * source/common/vec/pixel.inc:
38513 pixel: remove caps in function arguments, macro white-space cleanups
38514 [066d75ab8433]
38515
38516 * source/common/vec/pixel.inc, source/common/vec/utils.h:
38517 pixel: cleanup includes
38518 [dd217d262bbf]
38519
38520 * source/common/vec/pixel.inc:
38521 pixel: simplify SET_FUNC_PRIMITIVE_TABLE macro and relocate
38522 [44ca2af6c6b9]
38523
385242013-07-08 ggopu <ggopu>
38525
38526 * source/common/intrapred.cpp, source/common/vec/intrapred.inc:
38527 IntraPred: Removed Unused Codes and Cleanup the Function names and
38528 Hungarian Notations
38529 [56eeac8279f3]
38530
38531 * source/common/vec/pixel.inc, source/common/vec/pixel16.inc,
38532 source/common/vec/pixel8.inc, source/common/vec/sse.inc:
38533 Vector Primitives : Removed hungarian notation
38534 [0ba9d8a0ec82]
38535
385362013-07-08 Steve Borho <steve@borho.org>
38537
38538 * source/common/vec/intrapred.inc:
38539 intra: fix HIGH_BIT_DEPTH builds
38540 [7242d6166f87]
38541
385422013-07-08 praveentiwari <praveentiwari>
38543
38544 * source/common/dct.cpp:
38545 xDCT8_C renamed to dct8_c and code cleanup
38546 [dc13d07919db]
38547
38548 * source/common/dct.cpp:
38549 xDCT4_C renamed to dct4_c and code cleanup
38550 [6030b16d3025]
38551
38552 * source/common/dct.cpp:
38553 xDST4_C renamed to dst4_c and clenup
38554 [0cf5a2be157b]
38555
385562013-07-08 Steve Borho <steve@borho.org>
38557
38558 * source/Lib/TLibEncoder/TEncCfg.h,
38559 source/Lib/TLibEncoder/TEncGOP.cpp,
38560 source/Lib/TLibEncoder/TEncTop.cpp:
38561 TEncTop: use mini-GOP sized frame batches with --gops 1 [CHANGES
38562 OUTPUTS]
38563
38564 This changes the cadence slightly, so outputs will change. This also
38565 greatly reduces the memory requirements when GOP parallelism is not
38566 in use.
38567 [30346629dbc4]
38568
385692013-07-05 praveentiwari <praveentiwari>
38570
38571 * source/common/dct.cpp:
38572 Cleanup some left hungarian notation left in first commit for
38573 xDeQuant
38574 [7ee04e912bdd]
38575
38576 * source/common/dct.cpp:
38577 xDeQuant code cleanup
38578 [e46a76843569]
38579
38580 * source/common/dct.cpp:
38581 xIDCT32_C code cleanup
38582 [92c0f50f7ec9]
38583
38584 * source/common/dct.cpp:
38585 xIDCT16_C code cleanup
38586 [712eb60831c0]
38587
38588 * source/common/dct.cpp:
38589 xIDCT8_C code cleanup
38590 [f431146891cc]
38591
38592 * source/common/dct.cpp:
38593 xIDCT4_C code cleanup
38594 [65517cac4316]
38595
385962013-07-05 Deepthi <Deepthi>
38597
38598 * source/common/common.cpp:
38599 Rect option is enabled by default
38600 [6b12d890e0e9]
38601
386022013-07-05 Min Chen <chenm003@163.com>
38603
38604 * source/common/vec/intrapred.inc:
38605 intrapred: code cleanup
38606 [f84fb8dcdf32]
38607
386082013-07-05 Deepthi Devaki <Deepthi Devaki>
38609
38610 * source/common/vec/ipfilter16.inc:
38611 Used memory align macro in ipfilter16.inc for compatibility with
38612 other compilers.
38613 [8543860c3817]
38614
386152013-07-05 praveentiwari <praveentiwari>
38616
38617 * source/common/dct.cpp:
38618 xIDST4_C code cleanup
38619 [df4bd7c4a4a1]
38620
38621 * source/common/dct.cpp:
38622 xDCT32_C code cleanup
38623 [30022ece780f]
38624
38625 * source/common/dct.cpp:
38626 xDCT16_C code cleanup
38627 [eee88868ac98]
38628
38629 * source/common/dct.cpp:
38630 xDCT8_C code cleanup
38631 [52e9946621cd]
38632
38633 * source/common/dct.cpp:
38634 xDCT4_C code cleanup
38635 [8c0bdd83e6dc]
38636
38637 * source/common/dct.cpp:
38638 xDST4_C code cleanup
38639 [1f0f735545bf]
38640
38641 * source/common/vec/dct.inc:
38642 partialButterfy32 code cleanup
38643 [71ed2bcad90a]
38644
38645 * source/common/vec/dct.inc:
38646 partialButterfly16 code cleanup
38647 [a3a0bb7eced1]
38648
38649 * source/common/vec/dct.inc:
38650 partialButterfly8 code clenup
38651 [1955cac08ed8]
38652
386532013-07-05 ggopu <ggopu>
38654
38655 * source/Lib/TLibCommon/TComPrediction.cpp,
38656 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38657 source/Lib/TLibCommon/TComYuv.cpp,
38658 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
38659 source/common/TShortYUV.h:
38660 TShortYUV : Removed Get*() Method and Moved Member variables private
38661 to Public
38662 [5149904749c6]
38663
386642013-07-05 praveentiwari <praveentiwari>
38665
38666 * source/common/vec/dct.inc:
38667 xIDCT32 code cleanup
38668 [02973bed3d3c]
38669
38670 * source/common/vec/dct.inc:
38671 xIDCT16 code cleanup
38672 [46d7c537f220]
38673
386742013-07-05 Deepthi <Deepthi>
38675
38676 * source/Lib/TLibCommon/TComPrediction.cpp,
38677 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38678 source/Lib/TLibCommon/TComYuv.cpp,
38679 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
38680 source/common/TShortYUV.h:
38681 Backout changeset: TShortYUV
38682 [e5eded426f38]
38683
386842013-07-05 sumalatha <sumalatha>
38685
38686 * source/Lib/TLibCommon/TComPrediction.h,
38687 source/Lib/TLibEncoder/TEncCu.h,
38688 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
38689 intra and merge in no-rdo latest patch
38690 [d492600f757a]
38691
386922013-07-04 Deepthi Devaki <Deepthi Devaki>
38693
38694 * source/common/vec/ipfilter16.inc:
38695 Fix for vc10 crash in ipfilter16.inc
38696 [bf00c76a537d]
38697
386982013-07-02 ggopu <ggopu>
38699
38700 * source/Lib/TLibCommon/TComPrediction.cpp,
38701 source/Lib/TLibCommon/TComWeightPrediction.cpp,
38702 source/Lib/TLibCommon/TComYuv.cpp,
38703 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp,
38704 source/common/TShortYUV.h:
38705 TShortYUV : Removed all the get() method and moved private data
38706 member into Public
38707 [5c307e0cd2f5]
38708
387092013-07-03 praveentiwari <praveentiwari>
38710
38711 * source/common/vec/dct.inc:
38712 xIDCT4 intrinsic code cleanup
38713 [133b907bb8ee]
38714
38715 * source/common/vec/dct.inc:
38716 xIDCT8 intrinsic code cleanup
38717 [dfa4be3b6bab]
38718
38719 * source/common/vec/dct.inc:
38720 xIDST4 intrinsic code cleanup
38721 [e55954ec3be8]
38722
38723 * source/common/vec/dct.inc:
38724 xIDST4 vector code cleanup
38725 [bf7dcf1b6cb1]
38726
38727 * source/common/vec/dct.inc:
38728 xDCT32 intrinsic code cleanup
38729 [48aa9d0d5d74]
38730
387312013-07-03 Deepthi Devaki <Deepthi Devaki>
38732
38733 * source/common/vec/ipfilter16.inc:
38734 Fix for crash in vc9 for IP filter
38735 [15ad7154c62f]
38736
387372013-07-03 praveentiwari <praveentiwari>
38738
38739 * source/common/vec/dct.inc:
38740 xDCT32 vector code cleanup
38741 [0ab33d7ffaea]
38742
38743 * source/common/vec/dct.inc:
38744 xDCT16 intrinsic code cleanup
38745 [1a70ee3a0be9]
38746
387472013-07-02 praveentiwari <praveentiwari>
38748
38749 * source/common/vec/dct.inc:
38750 xDCT16 vector code cleanup
38751 [31801697cf9b]
38752
387532013-07-05 Deepthi <Deepthi>
38754
38755 * source/Lib/TLibEncoder/TEncSearch.cpp,
38756 source/common/vec/intrapred.inc:
38757 # From 2b989d9a7e9ecf86a592f33c39555cd63dbebd5a Mon Sep 17 00:00:00
38758 2001 # From: Min Chen <chenm003@163.com> # Date: Tue, 2 Jul 2013
38759 16:54:35 +0800 # Subject: [PATCH 3/3] intrapred: IntraAngle33 32x32
38760 intrapred: IntraAngle33 32x32
38761
38762 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +-
38763 source/common/vec/intrapred.inc | 2628
38764 ++++++++++++++++++++++++++++++++- 2 files changed, 2628
38765 insertions(+), 2 deletions(-)
38766 [f1101476cf1c]
38767
387682013-07-03 Deepthi <Deepthi>
38769
38770 * source/common/vec/pixel.inc:
38771 Fix for HIGH_BIT_DEPTH enable
38772 [209cce8f38be]
38773
38774 * source/common/vec/pixel.inc, source/common/vec/utils.h:
38775 Assert error in pixel.inc resolved
38776 [e59400fe1240]
38777
387782013-07-02 praveentiwari <praveentiwari>
38779
38780 * source/common/vec/dct.inc:
38781 xDCT8 intrinsic code cleaup
38782 [57b142b20d91]
38783
387842013-07-02 Deepthi <Deepthi>
38785
38786 * source/common/threadpool.cpp:
38787 # From d515ac32f810fe6e6a986862771c85564193ee51 Mon Sep 17 00:00:00
38788 2001 # From: Min Chen <chenm003@163.com> # Date: Mon, 1 Jul 2013
38789 17:45:07 +0800 # Subject: [PATCH 2/3] Disable #pragma in INTEL
38790 Compiler Disable #pragma in INTEL Compiler
38791 --- source/common/threadpool.cpp | 2 ++ 1 files changed, 2
38792 insertions(+), 0 deletions(-)
38793 [4ecacec3c8fa]
38794
38795 * source/common/vec/pixel.inc:
38796 # From 8fa0f843e7fcf96f934856e5f0541501f077909a Mon Sep 17 00:00:00
38797 2001 # From: Min Chen <chenm003@163.com> # Date: Tue, 2 Jul 2013
38798 15:57:32 +0800 # Subject: [PATCH 1/3] intrapred: transpose_32x32
38799 intrapred: transpose_32x32
38800 --- source/common/vec/pixel.inc | 12 +++++++++++- 1 files changed, 11
38801 insertions(+), 1 deletions(-)
38802 [396712bd0111]
38803
388042013-07-02 praveentiwari <praveentiwari>
38805
38806 * source/common/vec/dct.inc:
38807 xDCT8 vector code cleanup
38808 [4b738b357911]
38809
38810 * source/common/vec/dct.inc:
38811 Removed hungarian notation from xDCT4 intrinsic code
38812 [01b2f4e5cbdd]
38813
38814 * source/common/vec/dct.inc:
38815 Removed hungarian notation from xDST4 intrinsic code
38816 [c7acbdbd0986]
38817
38818 * source/common/vec/dct.inc:
38819 xDST4 code cleanup
38820 [97a2b34abe05]
38821
388222013-07-01 praveentiwari <praveentiwari>
38823
38824 * source/common/vec/dct.inc:
38825 Removed hungarian notation and code cleanup for xDeQuant vector code
38826 [31e8e201a7ab]
38827
388282013-07-01 Deepthi Devaki <Deepthi Devaki>
38829
38830 * source/common/ipfilter.cpp:
38831 code cleanup and variable renaming in ipfilter.cpp
38832 [1857d23adace]
38833
388342013-07-01 praveentiwari <praveentiwari>
38835
38836 * source/test/mbdstharness.cpp:
38837 Removed hungarian notation and code cleanup for
38838 check_xdequant_primitive test code
38839 [936c56e589ec]
38840
38841 * source/test/mbdstharness.cpp:
38842 Removed hungarian notation and code cleanup for
38843 check_quantaq_primitive test code
38844 [65f14e9260f6]
38845
38846 * source/test/mbdstharness.cpp:
38847 Removed hungarian notation and cleanup for check_quant_primitive
38848 test code
38849 [d47ea60f050f]
38850
388512013-07-01 Deepthi Devaki <Deepthi Devaki>
38852
38853 * source/common/vec/ipfilter8.inc:
38854 Removed cliping from vertical filter implementation; observed to be
38855 redundant
38856 [f72fac178387]
38857
388582013-06-30 Steve Borho <steve@borho.org>
38859
38860 * source/cmake/version.cmake:
38861 cmake: remove cache property for X265_VERSION
38862
38863 This was causing cmake to only check the version when the cmake
38864 cache was entirely cleared (usually just once). After this change
38865 cmake will update X265_VERSION every time it generates the CLI
38866 project.
38867 [30c0e5591120]
38868
388692013-06-29 Steve Borho <steve@borho.org>
38870
38871 * source/Lib/TLibEncoder/TEncSlice.cpp:
38872 TEncSlice: ensure lambda per QP does not change [CHANGES OUTPUTS]
38873
38874 This fixes non-determinism when GOP parallelism is enabled. I think
38875 we should just use x264's lambda tables and get rid of all of this
38876 logic, but it's too big of a change to make right before I leave for
38877 vacation.
38878
38879 My 1.55 hack attempts to get our compression per-QP close to where
38880 it was before the change.
38881 [c3953142041c]
38882
38883 * source/Lib/TLibEncoder/TEncCu.cpp,
38884 source/Lib/TLibEncoder/TEncSearch.cpp,
38885 source/Lib/TLibEncoder/TEncSearch.h,
38886 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.cpp,
38887 source/encoder/wavefront.h:
38888 TEncSearch: configure bitcost estimators at same time as TComRdCost
38889
38890 This ensures the lambdas used for RD cost are always in sync with
38891 the bit costs
38892 [15f993eceb4b]
38893
388942013-06-29 Min Chen <chenm003@163.com>
38895
38896 * source/common/vec/intrapred.inc:
38897 intrapred: Enable primitive with Intel Compiler
38898 --- source/common/vec/intrapred.inc | 2 +- 1 files changed, 1
38899 insertions(+), 1 deletions(-)
38900 [b0d55cc8161e]
38901
389022013-06-28 Steve Borho <steve@borho.org>
38903
38904 * .hgtags:
38905 Added tag 0.1 for changeset 99fab2ef92be
38906 [e13a79c5ea45]
38907
38908 * source/common/vec/ipfilter.inc:
38909 VC9 crashes running filterHorizontalMultiplaneExtend in release
38910
38911 The test outright fails in debug, but doesn't crash
38912 [99fab2ef92be] [0.1]
38913
38914 * source/encoder/encoder.cpp:
38915 encoder: ensure primitives (and ROM) are initialized before
38916 x265_check_params
38917
38918 This might be an issue for API users
38919 [c34b079119ab]
38920
38921 * source/Lib/TLibEncoder/TEncGOP.cpp,
38922 source/Lib/TLibEncoder/TEncGOP.h,
38923 source/Lib/TLibEncoder/TEncSlice.cpp,
38924 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/wavefront.cpp,
38925 source/encoder/wavefront.h:
38926 rename EncodeFrame to FrameEncoder
38927 [47f4f559739b]
38928
38929 * source/common/common.cpp, source/common/common.h,
38930 source/encoder/encoder.cpp:
38931 common: use g_aucConvertToBit for getMaxCuDepth
38932 [47e80c91afaf]
38933
38934 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/primitives.cpp,
38935 source/encoder/encoder.cpp:
38936 TEncTop: move ROM management out of TEncTop
38937
38938 Eventually we will want to allow more than one TEncTop in a process
38939 [1b4c93071203]
38940
38941 * source/Lib/TLibCommon/TComRom.cpp:
38942 TComRom: make initROM and destroyROM safe for cycled calls
38943 [aa4402b22049]
38944
38945 * source/Lib/TLibCommon/TComPrediction.cpp:
38946 TComPrediction: use aligned allocs for temporary interpolation
38947 buffers
38948
38949 Hoping this resolves the problems found with 32bit heap corruption.
38950 [3b923c5e34ee]
38951
38952 * source/common/common.cpp:
38953 vc9 requires unambigous casts for log() arguments
38954 [c31d63feaf21]
38955
38956 * source/common/common.cpp:
38957 gcc requires math.h for log()
38958 [82b80c7a3ebc]
38959
38960 * source/common/vec/ipfilter.inc:
38961 ipfilter: disable vector version of filterHmulti
38962 [12036d016834]
38963
38964 * source/common/reference.cpp:
38965 reference: remove obsolete code
38966 [972659be1ea9]
38967
38968 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
38969 ipfilter: white-space nits, no code chage
38970 [fc3e18cdca42]
38971
389722013-06-28 Deepthi Devaki <Deepthi Devaki>
38973
38974 * source/common/vec/ipfilter8.inc:
38975 Modification on Horizontal filter
38976 [010b7590003a]
38977
38978 * source/common/ipfilter.cpp, source/common/primitives.h,
38979 source/common/reference.cpp, source/common/vec/ipfilter.inc,
38980 source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
38981 Merged buffer extension with Horizontal filter; integrated with
38982 encoder
38983 [f9cf63bae785]
38984
389852013-06-28 Steve Borho <steve@borho.org>
38986
38987 * source/encoder/encoder.cpp:
38988 encoder: Always use IDR decoder refresh type
38989 [e025b15b8856]
38990
389912013-06-28 praveentiwari <praveentiwari>
38992
38993 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
38994 Test code for quantaq and quant functions.
38995 [c5b3ab055087]
38996
38997 * source/common/vec/dct.inc:
38998 Vector code for quantaq and quant functions.
38999 [96e5fa2a60cd]
39000
39001 * source/common/dct.cpp:
39002 Replaced uint64_t with int in quantaq_C and quant_C functions,
39003 tested with BasketballDrive.
39004 [4257f9931e27]
39005
390062013-06-28 Steve Borho <steve@borho.org>
39007
39008 * source/common/common.cpp, source/common/common.h,
39009 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
39010 Removed tuQTMaxLog2Size and tuQTMinLog2Size parametr from CLI option
39011 [6f0059abaf51]
39012
39013 * source/common/common.cpp, source/x265.h, source/x265opts.h:
39014 Removed maxCUDepth parameter from CLI option
39015 [e052ebcb13d5]
39016
39017 * source/Lib/TLibEncoder/TEncTop.cpp:
39018 TEncTop: improve comment about determining where the second I frame
39019 will be
39020 [c79ed90edca5]
39021
39022 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp,
39023 source/x265.cpp, source/x265.h, source/x265opts.h:
39024 x265: add --bframes/-b parameter to select B GOP structure
39025 [d9cf2ba5e957]
39026
39027 * source/encoder/encoder.cpp:
39028 encoder: round keyframeInterval after establishing GOP structure
39029
39030 This prevents 30Hz video from accidentally triggering our -i32 B
39031 frame hack
39032 [83d6f513ba93]
39033
39034 * source/Lib/TLibCommon/TComPicYuv.cpp,
39035 source/Lib/TLibCommon/TComPicYuv.h,
39036 source/Lib/TLibCommon/TComSlice.cpp,
39037 source/Lib/TLibCommon/TComSlice.h:
39038 TComSlice: free motion reference when picture is no longer
39039 referenced
39040
39041 This is a stop-gap fix to the enourmous memory requirements of GOP
39042 level parallelism. It would be better to re-use these structures
39043 instead of allocing them every time.
39044 [10a9bc997966]
39045
390462013-06-27 Steve Borho <steve@borho.org>
39047
39048 * source/Lib/TLibCommon/TComSlice.cpp:
39049 TComSlice: nits
39050 [57a074870b71]
39051
39052 * source/Lib/TLibCommon/TComPicYuv.h:
39053 TComPicYuv: remove obsolete member function definition
39054 [f1ffad55ce94]
39055
39056 * source/common/reference.cpp, source/encoder/wavefront.cpp:
39057 thread: add serial code-paths for job provider if thread pool is not
39058 available
39059 [fe6020943bd0]
39060
390612013-06-27 Min Chen <chenm003@163.com>
39062
39063 * source/Lib/TLibEncoder/TEncSearch.cpp:
39064 intrapred: Active code IntraAngle33 16x16
39065 --- source/Lib/TLibEncoder/TEncSearch.cpp | 14 ++------------ 1 files
39066 changed, 2 insertions(+), 12 deletions(-)
39067 [aa95488eaa2d]
39068
39069 * source/common/vec/pixel.inc:
39070 pixel: fix bug in Transpose 16x16
39071 --- source/common/vec/pixel.inc | 76
39072 +++++++++++++++++++++--------------------- 1 files changed, 38
39073 insertions(+), 38 deletions(-)
39074 [265e7e0333c4]
39075
390762013-06-27 sumalatha <sumalatha>
39077
39078 * source/encoder/compress.cpp:
39079 Fixed the Hash error with -no-rdo ON
39080 [3b93256a844b]
39081
390822013-06-26 Steve Borho <steve@borho.org>
39083
39084 * source/Lib/TLibEncoder/TEncTop.cpp:
39085 TEncTop: don't flush two GOP coders in one call
39086 [5b42d1c900b4]
39087
39088 * source/common/threadpool.cpp:
39089 threadpool: tweak for thread deletion loop
39090 [9fab0eb1538a]
39091
39092 * source/common/threadpool.cpp:
39093 threadpool: more explicit shutdown code
39094 [d12f113a1e42]
39095
39096 * source/Lib/TLibEncoder/TEncCu.cpp:
39097 TEncCu: fix a small memory leak
39098 [82d95660132f]
39099
39100 * source/Lib/TLibEncoder/TEncCu.cpp:
39101 TEncCU: white-space cleanup
39102 [7bacf11b7f2e]
39103
39104 * source/Lib/TLibEncoder/TEncTop.cpp,
39105 source/Lib/TLibEncoder/TEncTop.h:
39106 TEncTop: allow GOP coder execution to overlap execution
39107
39108 Finally.. GOP parallelism.
39109 [80d6e85cdd03]
39110
39111 * source/Lib/TLibEncoder/TEncTop.cpp:
39112 TEncTop: do not flush if no pics are queued, prevents deadlock
39113 [d064340c3227]
39114
39115 * source/Lib/TLibCommon/TypeDef.h,
39116 source/Lib/TLibEncoder/TEncCavlc.cpp:
39117 cleanup: move SCALING_LIST_OUTPUT_RESULT to TEncCavlc
39118 [f89b453bc412]
39119
39120 * source/Lib/TLibCommon/TypeDef.h:
39121 cleanup: remove unused REMOVE_SAO_LCU_ENC_CONSTRAINTS_3
39122 [90a69b42da1f]
39123
39124 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h:
39125 cleanup: move DISABLING_CLIP_FOR_BIPREDME to TComYuv, add comment
39126 [8685e99751bc]
39127
39128 * source/Lib/TLibCommon/TypeDef.h,
39129 source/Lib/TLibEncoder/TEncCavlc.cpp:
39130 cleanup: move PRINT_RPS_INFO to TEncCavlc
39131 [2adc62db4d55]
39132
39133 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp:
39134 cleanup: move VERBOSE_RATE define to TEncGOP
39135 [518c70801520]
39136
39137 * source/Lib/TLibEncoder/TEncGOP.cpp,
39138 source/Lib/TLibEncoder/TEncGOP.h:
39139 TEncGOP: add a worker thread to process keyframe intervals
39140 [93ca3f5bafec]
39141
39142 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
39143 TShortYUV: remove or correct comment lines
39144 [7f49c1a3ffcc]
39145
39146 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
39147 cmake: move HM headers into their own source group in VC
39148 [cfa1897d63eb]
39149
39150 * source/encoder/CMakeLists.txt:
39151 cmake: remove deleted compress.h from encoder project
39152 [c7c32a64931f]
39153
39154 * source/encoder/compress.cpp:
39155 compress: remove warning disable pragmas, fix warnings
39156 [8055fd9930c2]
39157
39158 * source/encoder/compress.h:
39159 compress: remove unused header
39160 [a1831863c966]
39161
39162 * source/encoder/compress.cpp:
39163 compress: uncrustify
39164 [6492774bd3e5]
39165
39166 * source/encoder/compress.cpp:
39167 compress: remove dead variables
39168 [b5bbcf9da827]
39169
39170 * source/common/primitives.h, source/test/mbdstharness.cpp,
39171 source/test/mbdstharness.h:
39172 primitives: fix symbol collision
39173 [b3539e001ea4]
39174
391752013-06-26 Min Chen <chenm003@163.com>
39176
39177 * source/common/vec/intrapred.inc:
39178 inrapred: generate all of 33 IntraAngle 16x16 modes once (vc9-win32
39179 only)
39180
39181 --- source/common/vec/intrapred.inc | 4151
39182 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 4148
39183 insertions(+), 3 deletions(-)
39184 [3977edfa3ee1]
39185
39186 * source/common/vec/intrapred.inc:
39187 cleanup: Remove unused debug code
39188 --- source/common/vec/intrapred.inc | 3 --- 1 files changed, 0
39189 insertions(+), 3 deletions(-)
39190 [60955ad48ef9]
39191
391922013-06-27 Mandar Gurav <Mandar Gurav>
39193
39194 * source/common/vec/intrapred.inc:
39195 primitves: 8 bit : PredIntraAng8x8 function table implementation
39196 [dc1663eaf7f7]
39197
391982013-06-26 praveentiwari <praveentiwari>
39199
39200 * source/Lib/TLibCommon/TComTrQuant.cpp:
39201 TrComQuant: replaced original code with primitive calls
39202 [3e60dfba74c9]
39203
39204 * source/common/dct.cpp:
39205 Separated the logic block of code from xQuant function as two
39206 functions for optimization
39207 [60a4710e5fc3]
39208
39209 * source/common/primitives.h:
39210 primitives: Added function pointer types for quant
39211 [e22c26d712a1]
39212
392132013-06-26 sumalatha <sumalatha>
39214
39215 * source/encoder/compress.cpp:
39216 commit : added log for printing costs for each partSize
39217 [c23b800f04e5]
39218
392192013-06-26 praveentiwari <praveentiwari>
39220
39221 * source/common/primitives.h:
39222 White-space fixes in primitives.h
39223 [e48f23e628df]
39224
39225 * source/common/dct.cpp:
39226 Uncrustyfied dct.cpp file
39227 [cfebb7774024]
39228
392292013-06-25 Deepthi Devaki <Deepthi Devaki>
39230
39231 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h:
39232 Enabled clipping for Bframes in ME as a fix for 8bpp-16bpp mismatch.
39233 [9f6a0fb1947a]
39234
392352013-06-26 praveentiwari <praveentiwari>
39236
39237 * source/Lib/TLibCommon/TComTrQuant.cpp:
39238 White-space fixes in TComTrQuant.cpp file
39239 [12322d9f0b18]
39240
392412013-06-26 Mandar Gurav <Mandar Gurav>
39242
39243 * source/common/vec/intrapred.inc:
39244 primitves: 8 bit : PredIntraAng4x4 function table implementation
39245 [f7c7c5e792dc]
39246
392472013-06-25 Steve Borho <steve@borho.org>
39248
39249 * source/Lib/TLibEncoder/TEncGOP.cpp:
39250 TEncGOP: fix signed/unsigned comparison
39251 [ecc9ce8993c2]
39252
39253 * source/Lib/TLibEncoder/TEncTop.cpp:
39254 TEncTOP: small perf tweak for --gops 1
39255 [f5605a0579d4]
39256
39257 * source/Lib/TLibEncoder/TEncGOP.cpp,
39258 source/Lib/TLibEncoder/TEncGOP.h,
39259 source/Lib/TLibEncoder/TEncTop.cpp:
39260 TEncGOP: move access unit buffering to TEncGOP
39261 [0ff90feebcbe]
39262
39263 * source/Lib/TLibEncoder/TEncTop.h:
39264 TEncTop: prune unused headers, this stuff has all been moved
39265 downstream
39266 [83fc7f016b60]
39267
39268 * source/common/CMakeLists.txt, source/common/IntraPred.cpp,
39269 source/common/intrapred.cpp:
39270 cmake: lower-case the intrapred.cpp filename
39271 [f8f794c5e611]
39272
39273 * source/Lib/TLibCommon/TComLoopFilter.cpp,
39274 source/Lib/TLibCommon/TComMotionInfo.h,
39275 source/Lib/TLibEncoder/TEncSbac.cpp,
39276 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/mv.h:
39277 mv: remove getHor() and getVer() compatibility methods
39278 [9607556126e3]
39279
39280 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/mv.h:
39281 mv: remove set() compatibility method
39282 [a0d858f0462e]
39283
39284 * source/Lib/TLibEncoder/TEncPic.cpp:
39285 TEncPic: use MAX_DOUBLE from CommonDefs.h
39286 [3310b6859a26]
39287
39288 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/mv.h:
39289 mv: remove setHor(), SetVer() compatibility methods
39290 [1807e4e93e87]
39291
39292 * source/common/CMakeLists.txt, source/common/mv.h,
39293 source/encoder/CMakeLists.txt, source/encoder/mv.h:
39294 mv: move mv.h from encoder/ to common/
39295 [309e04c35ea4]
39296
39297 * source/Lib/TLibCommon/TComDataCU.cpp,
39298 source/Lib/TLibCommon/TComDataCU.h,
39299 source/Lib/TLibCommon/TComLoopFilter.cpp,
39300 source/Lib/TLibCommon/TComMotionInfo.cpp,
39301 source/Lib/TLibCommon/TComMotionInfo.h,
39302 source/Lib/TLibCommon/TComMv.h,
39303 source/Lib/TLibCommon/TComPrediction.cpp,
39304 source/Lib/TLibCommon/TComPrediction.h,
39305 source/Lib/TLibCommon/TComRdCost.h,
39306 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
39307 source/Lib/TLibEncoder/TEncSearch.cpp,
39308 source/Lib/TLibEncoder/TEncSearch.h:
39309 common: replace TComMV with x265::MV everywhere
39310 [8753803f57e1]
39311
39312 * source/Lib/TLibEncoder/TEncTop.cpp:
39313 TEncTOP: simplify logic
39314 [d570ee7646f0]
39315
39316 * source/Lib/TLibEncoder/TEncTop.cpp:
39317 TEncTOP: remove incorrect comment
39318 [589dbbf841d1]
39319
39320 * source/Lib/TLibEncoder/TEncCu.cpp,
39321 source/Lib/TLibEncoder/TEncGOP.cpp,
39322 source/Lib/TLibEncoder/TEncGOP.h,
39323 source/Lib/TLibEncoder/TEncPic.cpp,
39324 source/Lib/TLibEncoder/TEncPic.h,
39325 source/Lib/TLibEncoder/TEncPreanalyzer.cpp,
39326 source/Lib/TLibEncoder/TEncPreanalyzer.h:
39327 TEncPic: make TEncPreanalyzer::xPreanalyze a method of TEncPic
39328 [06de0a8f273d]
39329
39330 * source/Lib/TLibEncoder/TEncGOP.cpp,
39331 source/Lib/TLibEncoder/TEncGOP.h,
39332 source/Lib/TLibEncoder/TEncTop.cpp,
39333 source/Lib/TLibEncoder/TEncTop.h:
39334 TEncGOP: move all picture prep work from TEncTop to TEncGOP
39335 [74cfd68d431f]
39336
39337 * source/Lib/TLibEncoder/TEncGOP.cpp,
39338 source/Lib/TLibEncoder/TEncGOP.h:
39339 TEncGOP: do not use accessors for member variables
39340 [60c1cc2e014a]
39341
39342 * source/Lib/TLibEncoder/TEncGOP.cpp,
39343 source/Lib/TLibEncoder/TEncGOP.h:
39344 TEncGOP: remove m_cpbRemovalDelay, which was never read
39345 [9601ff4148b8]
39346
39347 * source/encoder/encoder.cpp:
39348 encoder: set progressive flag, since we only support progressive
39349 sources
39350 [a041ffd6c0ad]
39351
39352 * source/encoder/encoder.cpp:
39353 encoder: allow CRA mode when gopNumThreads is 1, add some comments
39354 [31f7ebda9f97]
39355
39356 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
39357 TEncTOP: allow -i32 --gops 2, but detect and avoid end-of-stream
39358 crashes
39359 [180e91b6bbf4]
39360
39361 * source/Lib/TLibCommon/TypeDef.h:
39362 Backed out changeset: fdb2ffe6b29b
39363 [05b082d276f4]
39364
39365 * source/Lib/TLibCommon/TypeDef.h:
39366 TypeDef: remove unused DISABLING_CLIP_FOR_BIPREDME
39367 [fdb2ffe6b29b]
39368
39369 * source/encoder/encoder.cpp:
39370 encoder: repair open-gop again
39371 [0cd6fd8d8c39]
39372
39373 * source/encoder/encoder.cpp:
39374 encoder: fix keyframe interval before InitializeGOP()
39375 [0f06e7b6d298]
39376
39377 * source/Lib/TLibEncoder/TEncGOP.cpp:
39378 TEncGOP: fix the first I frame (temporary fix)
39379 [744e04edb379]
39380
39381 * source/encoder/encoder.cpp:
39382 encoder: remove redundant assignments
39383 [3df972c1a6f8]
39384
39385 * source/encoder/encoder.cpp:
39386 encoder: enforce keyframe as multiple of GOPSize
39387 [57919ce774e1]
39388
39389 * source/Lib/TLibEncoder/TEncGOP.cpp,
39390 source/Lib/TLibEncoder/TEncTop.cpp,
39391 source/Lib/TLibEncoder/TEncTop.h:
39392 TEncTOP: remove unused m_vRVM_RP vector
39393 [5da286a92f5a]
39394
393952013-06-25 praveentiwari <praveentiwari>
39396
39397 * source/test/mbdstharness.cpp:
39398 Fixed size issue in xDeQuant test code
39399 [fe4b745a0332]
39400
39401 * source/test/mbdstharness.cpp:
39402 uncrustified mbdstharness.cpp file
39403 [542f3ef09ca1]
39404
394052013-06-25 sumalatha <sumalatha>
39406
39407 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
39408 Included merge mode for FMD = ON. Changed the
39409 xComputeCostMerge2Nx2N() to calculate the SATD cost and decide the
39410 mode based on that.
39411 [89d3a8de1f47]
39412
394132013-06-25 Min Chen <chenm003@163.com>
39414
39415 * source/common/vec/intrapred.inc:
39416 intrapred: Enable primitive since VC9 haven't this bug
39417 --- source/common/vec/intrapred.inc | 2 +- 1 files changed, 1
39418 insertions(+), 1 deletions(-)
39419 [e335b5a9ddca]
39420
394212013-06-25 Steve Borho <steve@borho.org>
39422
39423 * source/Lib/TLibEncoder/TEncGOP.cpp,
39424 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
39425 TEncGOP: temporary workarounds for --keyint 32; will finish tomorrow
39426 [f3c41ba3423b]
39427
39428 * source/Lib/TLibEncoder/TEncTop.cpp:
39429 TEncGOP: ugly hack for our ugly --keyint 32 hack
39430
39431 This allows the encoder to survive up till the last mini-GOP, still
39432 debugging
39433 [1fb8e850e893]
39434
39435 * source/encoder/encoder.cpp:
39436 encoder: switch to IDR decoder refresh mode, more GOP parallelism
39437 friendly
39438 [70a215f4e0fa]
39439
394402013-06-24 Steve Borho <steve@borho.org>
39441
39442 * source/Lib/TLibEncoder/TEncTop.cpp:
39443 TEncTOP: remove special cases for first keyframe interval
39444 [ba72bbb6ec31]
39445
39446 * source/encoder/encoder.cpp:
39447 encoder: disable GOP parallelism if open GOP configured
39448 [7dadd3f6b861]
39449
39450 * source/encoder/encoder.cpp:
39451 encoder: add a comment for default keyframe interval
39452 [b5e283a6703e]
39453
39454 * source/common/common.cpp, source/encoder/encoder.cpp,
39455 source/x265.cpp:
39456 encoder: change default keyframe interval from fixed value (16) to 1
39457 second
39458 [7a2555036e8d]
39459
39460 * source/common/common.cpp, source/encoder/encoder.cpp:
39461 encoder: consolidate logic which validates feature combinations
39462 [cfc53bb18e32]
39463
39464 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncTop.cpp,
39465 source/Lib/TLibEncoder/TEncTop.h:
39466 TEncTOP: nuke xCalculateRVM() and RVM_VCEGAM10_M
39467 [7d8bb458e541]
39468
39469 * source/common/x86/README.txt:
39470 asm: add a couple more notes to the README
39471 [76f7fc3b8804]
39472
39473 * source/Lib/TLibEncoder/TEncGOP.cpp,
39474 source/Lib/TLibEncoder/TEncTop.cpp,
39475 source/Lib/TLibEncoder/TEncTop.h:
39476 TEncTop: round-robin cycle through GOP encoders
39477 [4cd8f659cee2]
39478
39479 * source/common/IntraPred.cpp, source/common/dct.cpp,
39480 source/common/ipfilter.cpp, source/common/pixel.cpp,
39481 source/common/primitives.h, source/common/vec/blockcopy.inc,
39482 source/common/vec/dct.inc, source/common/vec/ipfilter16.inc,
39483 source/common/vec/ipfilter8.inc, source/common/vec/pixel.inc,
39484 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
39485 source/common/x86/asm-primitives.cpp:
39486 primitve: remove CDECL globally
39487 [5bc43fd3c39b]
39488
39489 * source/Lib/TLibEncoder/TEncCfg.h,
39490 source/Lib/TLibEncoder/TEncTop.cpp,
39491 source/Lib/TLibEncoder/TEncTop.h, source/common/common.cpp,
39492 source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
39493 x265: introduce gop thread count parameter, currently mostly ignored
39494 [1ccb2a5664e2]
39495
39496 * source/Lib/TLibEncoder/TEncGOP.cpp,
39497 source/Lib/TLibEncoder/TEncTop.cpp:
39498 TEncGOP: encode frames in keyframe interval batches
39499
39500 This makes progress reports even more infrequent
39501 [f559317ff736]
39502
39503 * source/Lib/TLibEncoder/TEncTop.cpp,
39504 source/Lib/TLibEncoder/TEncTop.h:
39505 TEncTOP: 50% less hungarian, remove or correct wrong comments
39506 [1e7f5c80ee9f]
39507
395082013-06-24 Deepthi Devaki <Deepthi Devaki>
39509
39510 * source/Lib/TLibCommon/TComPrediction.cpp,
39511 source/Lib/TLibCommon/TComPrediction.h,
39512 source/Lib/TLibCommon/TComWeightPrediction.cpp,
39513 source/Lib/TLibCommon/TComWeightPrediction.h,
39514 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
39515 source/Lib/TLibEncoder/TEncSearch.cpp:
39516 Added support for bipred, but 8bpp, 16bpp mismatch
39517 [4d95584be40d]
39518
395192013-06-21 Deepthi Devaki <Deepthi Devaki>
39520
39521 * source/Lib/TLibCommon/TComPrediction.cpp,
39522 source/Lib/TLibCommon/TComPrediction.h:
39523 TComPrediction: fixes for biprediction
39524
39525 Restructured xPredInterBi. Added xPredInterluma/chromablk/Uni
39526 functions with TShortYuv argument for bipred
39527 [254a52d53a2f]
39528
395292013-06-24 Steve Borho <steve@borho.org>
39530
39531 * source/Lib/TLibEncoder/TEncGOP.cpp:
39532 TEncGOP: nits
39533 [a240b7530a29]
39534
39535 * source/Lib/TLibEncoder/TEncGOP.cpp,
39536 source/Lib/TLibEncoder/TEncGOP.h:
39537 TEncGOP: stub in a processKeyframeInterval() method
39538
39539 This is the next step to GOP parallelism. 1) Process an entire
39540 keyframe interval of frames at one go; ensure the picture lists can
39541 deal with this. 2) Add multiple TEncGOP encoders and round-robin
39542 them to encode GOPs. 3) Finally add threading so they work in
39543 unison.
39544 [38efcc5dcbf5]
39545
39546 * source/common/vec/intrapred.inc:
39547 intra: work around VC10 and VC11 Win32 compiler bugs
39548 [a1de9e7f8ee7]
39549
39550 * source/common/ipfilter.cpp, source/common/vec/intrapred.inc,
39551 source/common/vec/pixel.inc:
39552 gcc: fix warnings reported by GCC
39553 [0e83bb44b8e0]
39554
395552013-06-23 Steve Borho <steve@borho.org>
39556
39557 * source/common/common.cpp, source/encoder/encoder.cpp,
39558 source/x265.cpp, source/x265.h, source/x265opts.h:
39559 x265: remove ui/i hungarian prefixes from x265_param_t, standardize
39560 bool flags
39561 [7f6b0ae32985]
39562
395632013-06-24 Deepthi <Deepthi>
39564
39565 * source/encoder/compress.cpp:
39566 Merge
39567 [d45053ca8e2b]
39568
39569 * source/Lib/TLibEncoder/TEncSearch.cpp:
39570 Merge
39571 [a609e11dc6a5]
39572
395732013-06-22 Deepthi <Deepthi>
39574
39575 * source/encoder/compress.cpp:
39576 Adding in entropy measurements to nordo after encode residual.
39577 [628313e72a1d]
39578
39579 * source/encoder/compress.cpp:
39580 Removing merge modes for now; need more debugging
39581 [9e95d8d524a9]
39582
39583 * source/Lib/TLibEncoder/TEncSearch.cpp:
39584 Removing an erroneous cost calculation
39585 [4239f6bf06d7]
39586
395872013-06-23 Steve Borho <steve@borho.org>
39588
39589 * source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
39590 encoder: fix open-gop behavior
39591 [30b142f02135]
39592
39593 * source/common/common.cpp:
39594 common: fixups for keyframe interval
39595 [cdb337e59eb0]
39596
395972013-06-22 Steve Borho <steve@borho.org>
39598
39599 * source/Lib/TLibEncoder/TEncCu.cpp:
39600 TEncCU: remove more dead code
39601 [e76879d77757]
39602
39603 * source/Lib/TLibEncoder/TEncCu.cpp:
39604 TEncCU: nits
39605 [1aec16cc83ee]
39606
39607 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
39608 TEncCU: remove dead code paths
39609 [9df420362f0b]
39610
396112013-06-23 Steve Borho <steve@borho.org>
39612
39613 * source/Lib/TLibEncoder/TEncSearch.cpp:
39614 TEncSearch: fix 16bpp build
39615 [8e8edbaa351b]
39616
39617 * source/common/vec/pixel.inc:
39618 pixel: fix typo in build define
39619 [f20bccea941b]
39620
396212013-06-22 Steve Borho <steve@borho.org>
39622
39623 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
39624 source/test/pixelharness.cpp:
39625 pixel: simplify and optimize residual and recon primitives
39626 [0b1625fd6625]
39627
39628 * source/VectorClass/vectori128.h:
39629 vector: nit
39630 [67b7bf7ec06c]
39631
396322013-06-22 Min Chen <chenm003@163.com>
39633
39634 * source/common/vec/ipfilter8.inc:
39635 interp: [review] PACKUSWB included clip
39636 --- source/common/vec/ipfilter8.inc | 6 ------ 1 files changed, 0
39637 insertions(+), 6 deletions(-)
39638 [f1a23b5dfaec]
39639
396402013-06-22 Steve Borho <steve@borho.org>
39641
39642 * source/common/vec/ipfilter-avx.cpp, source/common/vec/ipfilter-
39643 avx2.cpp, source/common/vec/ipfilter-sse2.cpp, source/common/vec
39644 /ipfilter-sse3.cpp, source/common/vec/ipfilter-sse41.cpp,
39645 source/common/vec/ipfilter-sse42.cpp, source/common/vec/ipfilter-
39646 ssse3.cpp, source/common/vec/ipfilter.inc:
39647 ipfilter: move logic from cpp files to ipfilter.inc
39648 [a58b34f95d5a]
39649
396502013-06-22 Min Chen <chenm003@163.com>
39651
39652 * source/common/vec/pixel.inc:
39653 pixel: intrinsic Tranpose 16x16
39654 --- source/common/vec/pixel.inc | 83
39655 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 82
39656 insertions(+), 1 deletions(-)
39657 [0d005f8ba719]
39658
39659 * source/common/vec/pixel.inc:
39660 pixel: intrinsic Tranpose 8x8
39661 --- source/common/vec/pixel.inc | 45
39662 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 43
39663 insertions(+), 2 deletions(-)
39664 [1d7ab6944679]
39665
396662013-06-22 Steve Borho <steve@borho.org>
39667
39668 * source/common/primitives.h, source/test/pixelharness.cpp:
39669 primitives: rename NUM_BLOCKS to NUM_SQUARE_BLOCKS, use for intra
39670 and transpose
39671 [1ac63a9e6dea]
39672
396732013-06-22 Min Chen <chenm003@163.com>
39674
39675 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
39676 source/common/primitives.h, source/common/vec/pixel.inc:
39677 pixel: intrinsic Tranpose 4x4
39678 --- source/Lib/TLibEncoder/TEncSearch.cpp | 9 +------
39679 source/common/pixel.cpp | 19 +++++++++++++++
39680 source/common/primitives.h | 2 + source/common/vec/pixel.inc | 41
39681 +++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+),
39682 8 deletions(-)
39683 [9e07e835929a]
39684
396852013-06-22 Steve Borho <steve@borho.org>
39686
39687 * source/common/vec/intrapred.inc:
39688 intrapred: wrap pragma warning with #if _MSC_VER
39689 [f262575efbe4]
39690
39691 * source/Lib/TLibEncoder/TEncSearch.cpp:
39692 TEncSearch: fix cost adjustments following HM ME
39693 [ae98c873c26e]
39694
39695 * source/Lib/TLibEncoder/TEncSearch.cpp:
39696 TEncSearch: simplify full search
39697 [23c6b755811e]
39698
39699 * source/Lib/TLibEncoder/TEncSearch.cpp:
39700 ppa: move motion search event to a higher level
39701 [0fede11b81e5]
39702
39703 * source/Lib/TLibEncoder/TEncGOP.cpp:
39704 TEncGOP: catch --keyint -1 sanely
39705 [fd14b3dd6986]
39706
39707 * source/Lib/TLibEncoder/TEncSearch.h:
39708 TEncSearch: nit
39709 [a4cbe5f4cda3]
39710
39711 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp,
39712 source/x265.h, source/x265opts.h:
39713 x265: expose HM's full search as a CLI option --me 5
39714 [9be42d1878ee]
39715
39716 * source/Lib/TLibCommon/CommonDef.h,
39717 source/Lib/TLibEncoder/TEncSearch.cpp:
39718 TEncSearch: remove more cruft
39719 [1035b13af978]
39720
39721 * source/Lib/TLibCommon/TComRdCost.h,
39722 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
39723 source/Lib/TLibEncoder/TEncSearch.cpp:
39724 TComRdCost: remove unused uiComp
39725 [0e60557dfa5a]
39726
39727 * source/Lib/TLibEncoder/TEncSearch.cpp,
39728 source/Lib/TLibEncoder/TEncSearch.h:
39729 TEncSearch: remove setDistParamComp
39730 [e31e6df77aba]
39731
397322013-06-21 Steve Borho <steve@borho.org>
39733
39734 * source/Lib/TLibEncoder/TEncSearch.cpp:
39735 TEncSearch: cleanups
39736 [895b3f846a08]
39737
39738 * source/Lib/TLibEncoder/TEncSearch.cpp,
39739 source/Lib/TLibEncoder/TEncSearch.h:
39740 TEncSearch: move predictor fetching earlier in inter pred
39741
39742 This allows us to merge xTZSearch into xPatternSearchFast
39743 [5b79dc7d982d]
39744
39745 * source/Lib/TLibEncoder/TEncSearch.cpp:
39746 TEncSearch: hoist our optimized ME up a function layer
39747
39748 Avoid a lot of useless overhead, simplify how ME is called
39749 [e29623267bbe]
39750
39751 * source/Lib/TLibEncoder/TEncSearch.cpp,
39752 source/Lib/TLibEncoder/TEncSearch.h:
39753 TEncSearch: simplify xSetSearchRange
39754 [cd45b4dd8e73]
39755
39756 * source/encoder/motion.cpp, source/encoder/mv.h:
39757 MV: do not allow implicit creation from int
39758 [2fbda9cade34]
39759
39760 * source/Lib/TLibEncoder/TEncSearch.cpp:
39761 TEncSearch: nits
39762 [609f5607d1a5]
39763
39764 * source/common/common.cpp:
39765 common: do not allow weighted prediction with optimized ME
39766
39767 This prevents having to check for this deep within the encoder
39768 [a66478706e61]
39769
397702013-06-21 Min Chen <chenm003@163.com>
39771
39772 * source/Lib/TLibEncoder/TEncSearch.cpp,
39773 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
39774 [x265] [PATCH] inrapred: generate all of 33 IntraAngle-8x8 modes
39775 once
39776 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +-
39777 source/common/vec/intrapred.inc | 1017
39778 ++++++++++++++++++++++++++++++++- source/test/intrapredharness.cpp |
39779 3 +- 3 files changed, 1019 insertions(+), 3 deletions(-)
39780 [851fe263dabf]
39781
397822013-06-21 Steve Borho <steve@borho.org>
39783
39784 * source/Lib/TLibEncoder/TEncSearch.cpp:
39785 TEncSearch: remove last Double uses from TEncSearch
39786 [de1044dfbaf1]
39787
39788 * source/Lib/TLibCommon/TComRdCost.h:
39789 TComRdCost: remove unused getLambda() method
39790 [3fe92111bc85]
39791
397922013-06-20 Min Chen <chenm003@163.com>
39793
39794 * source/common/IntraPred.cpp, source/common/vec/intrapred.inc,
39795 source/test/intrapredharness.cpp:
39796 intrapred: 1.fix C model when size more than 8, 2.fix buffer
39797 overflow in testbench
39798 --- source/common/IntraPred.cpp | 40
39799 ++++++++++++++++++-------------------
39800 source/common/vec/intrapred.inc | 9 ++-----
39801 source/test/intrapredharness.cpp | 9 +++---- 3 files changed, 26
39802 insertions(+), 32 deletions(-)
39803 [14cc0e972566]
39804
398052013-06-21 Deepthi Devaki <Deepthi Devaki>
39806
39807 * source/common/ipfilter.cpp, source/common/primitives.h:
39808 Filtervertical-short-short and pel-short to support bipred
39809 [cfea4bf27fa8]
39810
398112013-06-21 Deepthi <Deepthi>
39812
39813 * source/encoder/compress.cpp:
39814 Cleanup: compress.cpp
39815 [0abefa6bc340]
39816
39817 * source/encoder/compress.cpp:
39818 Removing incorrect null checks
39819 [90965b5b4da8]
39820
39821 * source/encoder/compress.cpp:
39822 Branch decision taken only if CU does not contain boundary. Always
39823 true otherwise.
39824 [bec0647b8d3f]
39825
39826 * Merge
39827 [20caf72adaac]
39828
39829 * source/encoder/compress.cpp:
39830 Replacing SATD computations with blkcpy and then satd
39831 [6c2368a2a98a]
39832
398332013-06-21 Steve Borho <steve@borho.org>
39834
39835 * source/Lib/TLibEncoder/TEncGOP.cpp:
39836 TEncGOP: nits
39837 [3a080c7ba1d0]
39838
39839 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
39840 cmake: separate HM headers from the cpp files for convenience
39841 [fa1a70530abd]
39842
39843 * source/common/pixel.cpp:
39844 pixel: refix 16bpp builds
39845 [ab01a775ab83]
39846
39847 * source/x265.cpp:
39848 x265: fix bitrate progress reports
39849 [bced30963f15]
39850
39851 * source/Lib/TLibEncoder/TEncGOP.cpp:
39852 TEncGOP: use member SPS and PPS structs, stop refetching slice
39853 [ae82def2da71]
39854
398552013-06-20 Steve Borho <steve@borho.org>
39856
39857 * source/common/x86/asm-primitives.cpp:
39858 asm: do not override new SSE2 ASM functions with slower templated
39859 XOP calls
39860 [79231017d0da]
39861
39862 * source/Lib/TLibEncoder/TEncGOP.cpp:
39863 TEncGOP: nits
39864 [575f21816974]
39865
39866 * source/CMakeLists.txt:
39867 cmake: assign value to X86_64 when defined
39868 [5de7df75a0fe]
39869
39870 * source/Lib/TLibEncoder/TEncGOP.cpp:
39871 TEncGOP: move a couple of methods
39872 [fc339086c88d]
39873
39874 * source/Lib/TLibEncoder/TEncGOP.cpp:
39875 TEncGOP: nits
39876 [5de89ceadeeb]
39877
39878 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
39879 bitcost: use more accurate fractional bit cost accounting from x264
39880 [07015bbe306b]
39881
39882 * source/encoder/motion.cpp, source/encoder/motion.h:
39883 motion: drop SUBSAMPLE_SAD [CHANGES OUTPUTS]
39884
39885 The complexity outweighed the benefits
39886 [d5e5d3812eaa]
39887
39888 * source/Lib/TLibEncoder/TEncGOP.cpp:
39889 TEncGOP: fix comment
39890 [cadd2ff53d3c]
39891
39892 * source/encoder/bitcost.cpp:
39893 bitcost: fix clamp of bitcost to 16bits
39894
39895 The typecast to uint16_t was just wrong
39896 [6557f5e10c86]
39897
39898 * source/common/reference.cpp:
39899 reference: cleanup worker function
39900 [2c5d35632fea]
39901
39902 * source/common/vec/ipfilter-avx.cpp, source/common/vec/ipfilter-
39903 avx2.cpp, source/common/vec/ipfilter-sse2.cpp, source/common/vec
39904 /ipfilter-sse3.cpp, source/common/vec/ipfilter-sse41.cpp,
39905 source/common/vec/ipfilter-sse42.cpp, source/common/vec/ipfilter-
39906 ssse3.cpp, source/common/vec/ipfilter8.inc:
39907 ipfilter: use memcpy to extend top/bottom rows
39908 [f27f99b01e66]
39909
39910 * source/common/vec/ipfilter8.inc:
39911 ipfilter: fix indention (all white-space changes)
39912 [9ab99c57b42a]
39913
39914 * source/common/vec/ipfilter8.inc:
39915 ipfilter: fix spacing
39916 [e6ef40975e4a]
39917
39918 * source/common/pixel.cpp:
39919 pixel: fix sa8d_16x16 C primitive
39920 [1cec6b092506]
39921
399222013-06-20 Deepthi Devaki <Deepthi Devaki>
39923
39924 * source/common/ipfilter.cpp, source/common/primitives.h,
39925 source/common/reference.cpp, source/common/vec/ipfilter.inc,
39926 source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
39927 Vertical filter with Border extend
39928 [fea6feb1152d]
39929
399302013-06-20 Min Chen <chenm003@163.com>
39931
39932 * source/test/intrapredharness.cpp:
39933 intrapred: adjust debug info format
39934 --- source/test/intrapredharness.cpp | 2 +- 1 files changed, 1
39935 insertions(+), 1 deletions(-)
39936 [367a3f300210]
39937
39938 * source/test/testbench.cpp:
39939 testbench: fix logic on option --cpuid
39940 [4054533a85e9]
39941
399422013-06-20 Steve Borho <steve@borho.org>
39943
39944 * source/Lib/TLibEncoder/TEncGOP.cpp:
39945 TEncGOP: ensure pic list contains at least two TComPic
39946 [cadcbb46ffd9]
39947
399482013-06-20 Min Chen <chenm003@163.com>
39949
39950 * source/common/vec/dct.inc:
39951 dct: disable optimize version dct in 16bpp, all of intermediate
39952 value must be 32-bits
39953 --- source/common/vec/dct.inc | 5 +++++ 1 files changed, 5
39954 insertions(+), 0 deletions(-)
39955 [7135a13cf3a5]
39956
39957 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
39958 source/common/primitives.h, source/common/vec/intrapred.inc,
39959 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
39960 intrapred: implement IntraAngle mode to all size
39961 --- source/Lib/TLibEncoder/TEncSearch.cpp | 5 ++-
39962 source/common/IntraPred.cpp | 22 ++++++++++-------
39963 source/common/primitives.h | 2 +- source/common/vec/intrapred.inc |
39964 39 +++++++++++++++++------------- source/test/intrapredharness.cpp |
39965 41 +++++++++++++++++++------------- source/test/intrapredharness.h |
39966 2 +- 6 files changed, 64 insertions(+), 47 deletions(-)
39967 [12ef1f072327]
39968
399692013-06-20 Mandar Gurav <Mandar Gurav>
39970
39971 * source/common/pixel.cpp, source/test/testbench.cpp:
39972 primitives: some macro implementation to improve readabilty of code.
39973 [f97119251704]
39974
399752013-06-20 Steve Borho <steve@borho.org>
39976
39977 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
39978 asm: use more generic 64bit build define
39979 [6df10ad11f4a]
39980
39981 * source/common/x86/asm-primitives.cpp:
39982 asm: prune trailing white-space
39983 [094b99a737b6]
39984
399852013-06-20 Mandar Gurav <Mandar Gurav>
39986
39987 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
39988 source/common/x86/pixel.h:
39989 primitives: asm: satd: fix for 32 bit issue
39990 [18b0bc26f3a0]
39991
399922013-06-20 Deepthi <Deepthi>
39993
39994 * Merge
39995 [17ddca539510]
39996
39997 * source/common/common.cpp:
39998 Print rdo if enabled, no-rdo if disabled
39999 [8454a96806ff]
40000
400012013-06-20 Steve Borho <steve@borho.org>
40002
40003 * source/Lib/TLibEncoder/TEncGOP.cpp:
40004 TEncGOP: simplify POC search
40005 [e926b2d50cee]
40006
40007 * source/Lib/TLibEncoder/TEncGOP.cpp:
40008 TEncGOP: remove unused variable
40009 [bbf02b319ed7]
40010
40011 * source/Lib/TLibEncoder/TEncGOP.cpp,
40012 source/Lib/TLibEncoder/TEncGOP.h,
40013 source/Lib/TLibEncoder/TEncTop.cpp,
40014 source/Lib/TLibEncoder/TEncTop.h:
40015 TEncGOP: move all picture management to TEncGOP
40016 [276ab8776f48]
40017
40018 * source/x265.cpp:
40019 x265: do not ask for recon pictures if no output file was requested
40020 [48d22ee16225]
40021
40022 * source/encoder/encoder.cpp:
40023 encoder: consider output NALs even if iNumEncoded is zero
40024 [636674cc5f50]
40025
400262013-06-19 Steve Borho <steve@borho.org>
40027
40028 * source/Lib/TLibEncoder/TEncGOP.cpp,
40029 source/Lib/TLibEncoder/TEncGOP.h,
40030 source/Lib/TLibEncoder/TEncTop.cpp,
40031 source/Lib/TLibEncoder/TEncTop.h:
40032 TEncGOP: move frame list from TEncTOP to TEncGOP
40033 [abfa8a5a1ebc]
40034
40035 * source/Lib/TLibEncoder/TEncGOP.cpp,
40036 source/Lib/TLibEncoder/TEncGOP.h,
40037 source/Lib/TLibEncoder/TEncTop.cpp,
40038 source/Lib/TLibEncoder/TEncTop.h, source/encoder/wavefront.cpp,
40039 source/encoder/wavefront.h:
40040 TEncGOP: move SPS, PPS to TEncGOP
40041
40042 These structures are modified by compressGOP and thus cannot be
40043 encoder singletons. The init functions are kept in TEncTOP since
40044 they are tightly coupled with TEncCfg and TEncTOP
40045 [43a210488e02]
40046
40047 * source/Lib/TLibCommon/TComSlice.cpp,
40048 source/Lib/TLibCommon/TComSlice.h,
40049 source/Lib/TLibCommon/TComWeightPrediction.cpp,
40050 source/Lib/TLibEncoder/TEncCavlc.cpp,
40051 source/Lib/TLibEncoder/TEncTop.h:
40052 make a pile of get*() methods const
40053 [79d8bdd3612f]
40054
40055 * source/Lib/TLibEncoder/TEncCfg.h,
40056 source/Lib/TLibEncoder/TEncGOP.cpp,
40057 source/Lib/TLibEncoder/TEncGOP.h,
40058 source/Lib/TLibEncoder/TEncTop.cpp,
40059 source/Lib/TLibEncoder/TEncTop.h:
40060 TEncGOP: move getReferencePictureSetIdxForSOP and
40061 selectReferencePictureSet
40062 [998ee354be96]
40063
400642013-06-19 Min Chen <chenm003@163.com>
40065
40066 * source/common/vec/intrapred.inc:
40067 intrapred: correct HIGH_BIT_DEPTH fault
40068 --- source/common/vec/intrapred.inc | 2 +- 1 file changed, 1
40069 insertion(+), 1 deletion(-)
40070 [bfde7f16c723]
40071
400722013-06-19 Steve Borho <steve@borho.org>
40073
40074 * source/Lib/TLibEncoder/TEncGOP.cpp,
40075 source/Lib/TLibEncoder/TEncGOP.h,
40076 source/Lib/TLibEncoder/TEncTop.cpp,
40077 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
40078 source/encoder/encoder.h:
40079 TEncGOP: directly return references to encoder's recon frames, do
40080 not copy
40081
40082 This is all prep-work for GOP threading, but it doesn't hurt to
40083 remove a frame copy from the main loop. Now if the user wants no
40084 recon frames there is no overhead associated in maintaining them.
40085 [519b62011b23]
40086
40087 * source/encoder/encoder.cpp, source/encoder/encoder.h,
40088 source/x265.cpp, source/x265.h:
40089 x265: change public API slightly to allow batch reconstructed frame
40090 delivery
40091 [45b31cb09114]
40092
40093 * source/Lib/TLibCommon/TComSlice.cpp:
40094 TComSlice: nits
40095 [63afd266e232]
40096
40097 * source/Lib/TLibEncoder/TEncTop.cpp,
40098 source/Lib/TLibEncoder/TEncTop.h:
40099 TEncTop: return TComPic from xGetNewPicBuffer, don't use reference
40100 args
40101 [770b306f1163]
40102
40103 * source/Lib/TLibCommon/TComTrQuant.cpp,
40104 source/Lib/TLibCommon/TComTrQuant.h:
40105 Backed out changeset: 8af5a9eb198c
40106
40107 This backs out the lambda change from Double to UInt64, but leaves
40108 the typo and other white-space fixes in place. This change ended up
40109 being a net performance loser. The double->UInt64 conversions in the
40110 middle of the tight loop were slower than the savings from using
40111 integer math.
40112
40113 We need an effective way to perform the cost scaling using integer
40114 math in order to use integers throughout this function.
40115 [eba9a84e9054]
40116
40117 * source/Lib/TLibCommon/TComTrQuant.cpp:
40118 TComTrQuant: reduce number of double<->int conversions
40119 [092152f58712]
40120
40121 * source/Lib/TLibCommon/TComTrQuant.cpp,
40122 source/Lib/TLibCommon/TComTrQuant.h:
40123 TComTrQuant: switch lambda from Double to UInt64 [CHANGES OUTPUTS]
40124 [8af5a9eb198c]
40125
40126 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.h:
40127 motion: add bufSA8D() method, so sa8d and satd are both available
40128 [76449efed663]
40129
401302013-06-19 sumalatha <sumalatha>
40131
40132 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
40133 source/encoder/compress.cpp:
40134 Included the merge mode for selecting the mode for xCompressInterCU
40135 [94d7d31fc312]
40136
401372013-06-20 ShinYee Chung <shinyee@multicorewareinc.com>
40138
40139 * source/common/vec/intrapred.inc:
40140 intrapred: Fix unused variables.
40141
40142 error: statement has no effect [-Werror=unused-value]
40143 [bb78ee5841f2]
40144
401452013-06-19 Steve Borho <steve@borho.org>
40146
40147 * source/common/common.cpp:
40148 common: move RDO settings together
40149 [8039746d5cb0]
40150
40151 * source/common/common.cpp:
40152 common: output logs to stderr consistently
40153 [d2a568b0c078]
40154
401552013-06-20 ShinYee Chung <shinyee@multicorewareinc.com>
40156
40157 * source/Lib/TLibEncoder/TEncSearch.cpp:
40158 TEncSearch: Fix compile error due to char array subscript.
40159
40160 Sample compile errors in Linux64/GCC4.8.1:
40161
40162 $HEVC/source/Lib/TLibEncoder/TEncSearch.cpp:2134:75: error: array
40163 subscript has type ‘char’ [-Werror=char-subscripts] x265::pixelcmp
40164 sa8d = x265::primitives.sa8d[g_aucConvertToBit[uiWidth]]; ^
40165 $HEVC/source/Lib/TLibEncoder/TEncSearch.cpp: In member function
40166 ‘Void TEncSearch::estIntraPredQT(TComDataCU*, TComYuv*, TComYuv*,
40167 TShortYUV*, TComYuv*, UInt&, Bool)’:
40168 $HEVC/source/Lib/TLibEncoder/TEncSearch.cpp:2206:79: error: array
40169 subscript has type ‘char’ [-Werror=char-subscripts] x265::pixelcmp
40170 sa8d = x265::primitives.sa8d[g_aucConvertToBit[uiWidth]]; ^
40171 [dd5dd47e17f4]
40172
40173 * source/common/IntraPred.cpp:
40174 intrapred: Fix unused global variable.
40175
40176 Compile error in Linux64/GCC4.8.1:
40177
40178 $HEVC/source/common/IntraPred.cpp:252:15: error:
40179 ‘{anonymous}::g_aucIntraFilterType’ defined but not used [-Werror
40180 =unused-variable] unsigned char g_aucIntraFilterType[][35] = { ^
40181 [ac3e7ab6cdc0]
40182
401832013-06-19 ShinYee Chung <shinyee@multicorewareinc.com>
40184
40185 * source/Lib/TLibCommon/TComPrediction.cpp:
40186 TComPrediction: Fix reordered initialization list.
40187
40188 Sample compile errors in Linux64/GCC4.8.1:
40189
40190 $HEVC/source/Lib/TLibCommon/TComPrediction.h: In constructor
40191 ‘TComPrediction::TComPrediction()’:
40192 $HEVC/source/Lib/TLibCommon/TComPrediction.h:80:12: error:
40193 ‘TComPrediction::m_iLumaRecStride’ will be initialized after
40194 [-Werror=reorder] Int m_iLumaRecStride; ///< stride of
40195 #m_pLumaRecBuffer array ^
40196 $HEVC/source/Lib/TLibCommon/TComPrediction.h:79:12: error: ‘Pel*
40197 TComPrediction::m_pLumaRecBuffer’ [-Werror=reorder] Pel*
40198 m_pLumaRecBuffer; ///< array for downsampled reconstructed luma
40199 sample ^ $HEVC/source/Lib/TLibCommon/TComPrediction.cpp:60:1: error:
40200 when initialized here [-Werror=reorder]
40201 TComPrediction::TComPrediction() ^ In file included from
40202 $HEVC/source/Lib/TLibCommon/TComPrediction.cpp:39:0:
40203 $HEVC/source/Lib/TLibCommon/TComPrediction.h:79:12: error:
40204 ‘TComPrediction::m_pLumaRecBuffer’ will be initialized after
40205 [-Werror=reorder] Pel* m_pLumaRecBuffer; ///< array for downsampled
40206 reconstructed luma sample ^
40207 $HEVC/source/Lib/TLibCommon/TComPrediction.h:62:15: error: ‘Pel*
40208 TComPrediction::m_piPredBuf’ [-Werror=reorder] Pel* m_piPredBuf; ^
40209 $HEVC/source/Lib/TLibCommon/TComPrediction.cpp:60:1: error: when
40210 initialized here [-Werror=reorder] TComPrediction::TComPrediction()
40211 ^
40212 [f8d043a4f6b4]
40213
40214 * source/common/IntraPred.cpp, source/common/vec/intrapred.inc:
40215 intrapred: Fix unused variables.
40216
40217 Sample compile errors in Linux64/GCC 4.8.1:
40218
40219 $HEVC/source/common/vec/intrapred.inc:4677:13: error: statement has
40220 no effect [-Werror=unused-value] (pLeft1); ^
40221 $HEVC/source/common/vec/intrapred.inc:4678:14: error: statement has
40222 no effect [-Werror=unused-value] (pAbove1); ^
40223 [e373dbe02018]
40224
402252013-06-19 Min Chen <chenm003@163.com>
40226
40227 * source/Lib/TLibEncoder/TEncSearch.cpp,
40228 source/common/vec/intrapred.inc:
40229 inrapred: generate all of 33 IntraAngle-4x4 modes once
40230 [1353e6681c7d]
40231
402322013-06-19 Mandar Gurav <Mandar Gurav>
40233
40234 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
40235 source/common/x86/pixel.h:
40236 primitives: asm: update: implementation of satd(sse2)
40237 [762b53ecba5a]
40238
402392013-06-18 Mandar Gurav <Mandar Gurav>
40240
40241 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
40242 source/common/x86/pixel.h:
40243 primitives: asm: implementation of satd_16x12(sse2)
40244 [594020d9d19b]
40245
402462013-06-19 Steve Borho <steve@borho.org>
40247
40248 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
40249 source/common/vec/intrapred.inc, source/encoder/motion.cpp:
40250 16bpp fixes
40251 [67342f25244e]
40252
402532013-06-18 Steve Borho <steve@borho.org>
40254
40255 * source/Lib/TLibCommon/TComTrQuant.cpp,
40256 source/Lib/TLibCommon/TComTrQuant.h:
40257 TComTrQuant: remove wrong comments, cleanup funcdefs, move inlines
40258 to header
40259 [6ecc4a1ca26c]
40260
402612013-06-19 Deepthi <Deepthi>
40262
40263 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
40264 Cleanuo: Removing swapCU
40265 [ab93e542c0a4]
40266
40267 * source/Lib/TLibCommon/TComDataCU.cpp,
40268 source/Lib/TLibCommon/TComDataCU.h:
40269 Cleanup: Removing copyCU
40270 [c46b9a8ead56]
40271
40272 * source/CMakeLists.txt:
40273 Removing FMD from cmake options.
40274 [332b3145d9be]
40275
40276 * source/Lib/TLibCommon/TComDataCU.cpp,
40277 source/Lib/TLibCommon/TComDataCU.h,
40278 source/Lib/TLibEncoder/TEncCu.cpp,
40279 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
40280 Replacing all FMD macros with cfg file option
40281 [77b91dd88829]
40282
40283 * source/encoder/encoder.cpp:
40284 Set cfg flag to enableRDO CL option.
40285 [e0528e455855]
40286
40287 * source/Lib/TLibEncoder/TEncCfg.h:
40288 Adding rdo to cfg structure
40289 [49737829b64f]
40290
40291 * source/common/common.cpp, source/x265.h, source/x265opts.h:
40292 Add rdo/no-rdo to command line interface
40293 [00a331ad69a4]
40294
402952013-06-18 Steve Borho <steve@borho.org>
40296
40297 * source/Lib/TLibCommon/TComRdCost.h:
40298 TComRdCost: move getCost closer to calcRdSADCost, to show how they
40299 are related
40300 [c79263efd38d]
40301
40302 * source/Lib/TLibCommon/TComRdCost.cpp,
40303 source/Lib/TLibCommon/TComRdCost.h:
40304 TComRdCost: remove unused calcHAD() method
40305 [401167498626]
40306
40307 * source/Lib/TLibCommon/TComRdCost.cpp:
40308 TComRdCost: fix a typo in a comment
40309 [ee06dc714841]
40310
40311 * source/Lib/TLibCommon/TComRdCost.cpp,
40312 source/Lib/TLibCommon/TComRdCost.h:
40313 TComRdCost: remove unused overload of setDistParam
40314 [08310bc6f97d]
40315
40316 * source/Lib/TLibCommon/TComRdCost.cpp,
40317 source/Lib/TLibCommon/TComRdCost.h:
40318 TComRdCost: remove unused overload of setDistParam
40319 [1ba3c30c42c2]
40320
40321 * source/encoder/motion.cpp, source/encoder/motion.h:
40322 motion: move bufSATD back into motion.h and declare both inline
40323 [f1d34f7a9d9b]
40324
40325 * source/common/pixel.cpp, source/common/primitives.h,
40326 source/common/x86/asm-primitives.cpp, source/encoder/motion.cpp,
40327 source/encoder/motion.h, source/test/pixelharness.cpp:
40328 pixel: add sa8d_inter primitives to match TComRdCost::calcHAD()
40329
40330 Now we can pick between sa8d and satd at runtime via a pointer
40331 selection
40332 [b4f99ece0aeb]
40333
40334 * source/Lib/TLibEncoder/TEncSearch.cpp:
40335 TEncSearch: use motion.bufSAD instead of m_pcRdCost DistParam
40336 [d1604fa4e39e]
40337
40338 * source/encoder/motion.cpp, source/encoder/motion.h:
40339 motion: make bufSATD function exactly like TComRdCost::calcHAD()
40340 [dec21e1c6ee9]
40341
40342 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
40343 source/common/primitives.h, source/common/x86/asm-primitives.cpp,
40344 source/test/pixelharness.cpp:
40345 primitives: collect sa8d primitives into blocksize array
40346 [a21a11f9e1b6]
40347
40348 * source/common/primitives.h:
40349 primitives: fix two wrong comments
40350 [4915f80d3cdb]
40351
40352 * source/encoder/motion.h:
40353 motion: add bufSATD method
40354 [760aa86a54ba]
40355
40356 * source/Lib/TLibEncoder/TEncSearch.cpp:
40357 TEncSearch: remove extra indent level; nit
40358 [b0d5c4f14d3b]
40359
40360 * source/common/primitives.cpp:
40361 primitives: add rationale for disabling EMMS when ASM is disabled
40362 [21b34444026c]
40363
40364 * source/common/vec/pixel.inc:
40365 pixel: cleanup Setup_Vec_PixelPrimitives, remove comments that add
40366 no meaning
40367 [f1437f97e146]
40368
40369 * source/common/pixel.cpp:
40370 pixel: round up to nearest half before shift, fixes --cpuid 1
40371 encodes
40372 [4118bc3a68aa]
40373
40374 * source/encoder/bitcost.cpp:
40375 bitcost: use x265_emms() before calculating a row of MV costs, to be
40376 safe
40377 [5c1de9ce010c]
40378
40379 * source/common/x86/asm-primitives.cpp:
40380 asm-primitives: fix eoln
40381 [c56ef1521a07]
40382
40383 * source/common/primitives.h, source/common/x86/asm-primitives.cpp:
40384 Backed out changeset: d9f7525c4adf
40385 [c6370b56b1d9]
40386
40387 * source/Lib/TLibEncoder/TEncSearch.cpp:
40388 TEncSearch: delay x265_emms() to RDO stage of intra analysis
40389 [f0b745956762]
40390
40391 * source/Lib/TLibEncoder/TEncSearch.cpp:
40392 TEncSearch: use m_pcRdCost->calcRdSADCost() to avoid doubles in
40393 intra analysis
40394 [458cdba67699]
40395
403962013-06-18 chenm003 <chenm003@163.com unknown>
40397
40398 * source/Lib/TLibCommon/TComPrediction.cpp,
40399 source/Lib/TLibCommon/TComPrediction.h,
40400 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
40401 source/common/primitives.h, source/common/vec/intrapred.inc,
40402 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
40403 intrapred: framework for generate 33 Angle modes once
40404 --- source/Lib/TLibCommon/TComPrediction.cpp | 5 +-
40405 source/Lib/TLibCommon/TComPrediction.h | 1 +
40406 source/Lib/TLibEncoder/TEncSearch.cpp | 65 +-
40407 source/common/IntraPred.cpp | 569 +- source/common/primitives.h | 2
40408 + source/common/vec/intrapred.inc | 9409
40409 +++++++++++++++--------------- source/test/intrapredharness.cpp | 72
40410 + source/test/intrapredharness.h | 4 + 8 files changed, 5179
40411 insertions(+), 4948 deletions(-)
40412 [e582599ae931]
40413
40414 * source/common/primitives.h, source/test/intrapredharness.cpp,
40415 source/test/intrapredharness.h:
40416 intrapred: fix build error after simplify bLeft and bAbove
40417 --- source/common/primitives.h | 8 ++++----
40418 source/test/intrapredharness.cpp | 26 +++++++++-----------------
40419 source/test/intrapredharness.h | 4 ++-- 3 files changed, 15
40420 insertions(+), 23 deletions(-)
40421 [5fbfc07c8898]
40422
40423 * source/Lib/TLibEncoder/TEncSearch.cpp:
40424 intrapred: Split DC and Planar from Loop
40425 --- source/Lib/TLibEncoder/TEncSearch.cpp | 17 ++++++++++++++++- 1
40426 file changed, 16 insertions(+), 1 deletion(-)
40427 [20e256246d19]
40428
40429 * source/Lib/TLibCommon/TComPattern.cpp,
40430 source/Lib/TLibCommon/TComPattern.h,
40431 source/Lib/TLibCommon/TComPrediction.cpp,
40432 source/Lib/TLibCommon/TComPrediction.h,
40433 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/IntraPred.cpp,
40434 source/common/primitives.h, source/common/vec/intrapred.inc:
40435 cleanup: remove bLeft and bAbove since HEVC have a reference sample
40436 pad, they are always True
40437 --- source/Lib/TLibCommon/TComPattern.cpp | 14 ++--
40438 source/Lib/TLibCommon/TComPattern.h | 10 +--
40439 source/Lib/TLibCommon/TComPrediction.cpp | 33 +++++----
40440 source/Lib/TLibCommon/TComPrediction.h | 4 +-
40441 source/Lib/TLibEncoder/TEncSearch.cpp | 29 +++-----
40442 source/common/IntraPred.cpp | 43 +++---------
40443 source/common/primitives.h | 4 +- source/common/vec/intrapred.inc |
40444 115 +++++++++++++++---------------- 8 files changed, 101
40445 insertions(+), 151 deletions(-)
40446 [b639e5fff55e]
40447
404482013-06-18 chenm003 <chenm003@163.com Min Chen>
40449
40450 * source/Lib/TLibEncoder/TEncSearch.cpp:
40451 intrapred: Split loop into Loop_Prediction and Loop_Decide
40452 --- source/Lib/TLibEncoder/TEncSearch.cpp | 12 ++++++++---- 1 file
40453 changed, 8 insertions(+), 4 deletions(-)
40454 [758ac3d8616c]
40455
404562013-06-18 chenm003 <chenm003@163.com unknown>
40457
40458 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
40459 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
40460 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
40461 cleanup: unused code m_bUseNIF
40462 --- source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp | 36
40463 +------------------ source/Lib/TLibCommon/TComSampleAdaptiveOffset.h
40464 | 1 - .../Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp | 41
40465 +--------------------- 3 files changed, 2 insertions(+), 76
40466 deletions(-)
40467 [56d07fe3a257]
40468
404692013-06-18 Steve Borho <steve@borho.org>
40470
40471 * source/common/reference.cpp:
40472 Merge
40473 [469e285c62c3]
40474
404752013-06-18 Deepthi Devaki <Deepthi Devaki>
40476
40477 * source/common/reference.cpp, source/common/reference.h:
40478 Merge
40479 [0e1117a1e892]
40480
40481 * source/common/vec/ipfilter8.inc:
40482 Intrinsic implementation for SSE4 and higher for vertical filter
40483 [ef85cd7f938d]
40484
404852013-06-17 Steve Borho <steve@borho.org>
40486
40487 * source/common/reference.cpp, source/common/reference.h:
40488 reference: use new multiplane primitives (changes outputs, likely
40489 buggy)
40490 [97dbc3346524]
40491
404922013-06-18 Deepthi Devaki <Deepthi Devaki>
40493
40494 * Merge
40495 [de3b92c772ad]
40496
40497 * source/common/vec/ipfilter8.inc:
40498 Partial intrinsic for vertical filter
40499 [844308961a0b]
40500
405012013-06-18 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
40502
40503 * source/common/reference.cpp:
40504 Fixed Build Errors(Type cast) for 16 bit
40505 [41855cf217d0]
40506
405072013-06-18 mahesh pittala <mahesh@multicorewareinc.com>
40508
40509 * Merged multicoreware/xhevc into default
40510 [beab4f74a085]
40511
40512 * Merged multicoreware/xhevc into default
40513 [f4734dec9dc8]
40514
405152013-06-17 mahesh pittala <mahesh@multicorewareinc.com>
40516
40517 * Merged multicoreware/xhevc into default
40518 [2cd09f020148]
40519
40520 * Merged multicoreware/xhevc into default
40521 [819fd14f888e]
40522
40523 * source/Lib/TLibEncoder/TEncAnalyze.cpp:
40524 Merged multicoreware/xhevc into default
40525 [e712594eda8f]
40526
405272013-06-15 mahesh pittala <mahesh@multicorewareinc.com>
40528
40529 * Merged multicoreware/xhevc into default
40530 [dc66b43ad68e]
40531
40532 * Merged multicoreware/xhevc into default
40533 [31558ea714e2]
40534
405352013-06-14 mahesh pittala <mahesh@multicorewareinc.com>
40536
40537 * Merged multicoreware/xhevc into default
40538 [491779f0da6e]
40539
405402013-06-18 Steve Borho <steve@borho.org>
40541
40542 * source/common/reference.cpp:
40543 reference: extend Y=0 planes in worker function
40544 [7e76d1574234]
40545
40546 * source/common/reference.cpp, source/common/reference.h:
40547 reference: use new APIs
40548 [948587f9c9fa]
40549
405502013-06-17 Steve Borho <steve@borho.org>
40551
40552 * source/Lib/TLibCommon/TComSlice.cpp:
40553 TComSlice: fix debug builds (asserts)
40554 [b252b6a34869]
40555
40556 * source/Lib/TLibEncoder/TEncCfg.h,
40557 source/Lib/TLibEncoder/TEncGOP.cpp,
40558 source/Lib/TLibEncoder/TEncGOP.h,
40559 source/Lib/TLibEncoder/TEncSlice.cpp,
40560 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
40561 TEncCfg: remove deblocking filter metric code
40562 [97c117eee937]
40563
40564 * source/Lib/TLibEncoder/TEncGOP.cpp,
40565 source/Lib/TLibEncoder/TEncGOP.h:
40566 TEncGOP: remove uiNumSlices
40567 [fcaae4248d5d]
40568
40569 * source/Lib/TLibCommon/TComSlice.cpp,
40570 source/Lib/TLibCommon/TComSlice.h,
40571 source/Lib/TLibEncoder/TEncGOP.cpp,
40572 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
40573 TComSlice: remove m_sliceIdx and access methods
40574 [04505d780210]
40575
40576 * source/Lib/TLibEncoder/TEncGOP.cpp,
40577 source/Lib/TLibEncoder/TEncGOP.h:
40578 TEncGOP: remove unused SEI var, nit cleanups
40579 [739c30209346]
40580
40581 * source/Lib/TLibEncoder/TEncGOP.cpp,
40582 source/Lib/TLibEncoder/TEncGOP.h:
40583 TEncGOP: SEIPresent variables can now be local variables
40584 [5d9dc98c01a7]
40585
40586 * source/Lib/TLibEncoder/TEncGOP.h:
40587 TEncGOP: remove obsolete PROCESSING_STATE enum
40588 [e817dece7a51]
40589
40590 * source/Lib/TLibEncoder/TEncGOP.cpp,
40591 source/Lib/TLibEncoder/TEncGOP.h:
40592 TEncGOP: inline xResetNonNestedSEIPresentFlags() and
40593 xResetNestedSEIPresentFlags()
40594 [0a034b2714ba]
40595
40596 * source/Lib/TLibEncoder/TEncGOP.cpp,
40597 source/Lib/TLibEncoder/TEncGOP.h:
40598 TEncGOP: inline xCreateLeadingSEIMessages
40599 [42c156937eef]
40600
40601 * source/Lib/TLibEncoder/TEncGOP.cpp,
40602 source/Lib/TLibEncoder/TEncGOP.h:
40603 TEncGOP: m_iGopSize did not need to be a member variable
40604 [ac6bf2ad37dd]
40605
40606 * source/encoder/encoder.cpp:
40607 encoder: declare large integer constant to be unsigned to prevent
40608 warnings
40609 [b42f5f907a8a]
40610
40611 * source/Lib/TLibEncoder/TEncGOP.h:
40612 TEncGOP: remove unnecessary includes of <list> and <stdlib.h>
40613 [bc3fe350f76a]
40614
40615 * source/Lib/TLibEncoder/TEncGOP.h:
40616 TEncGOP: remove uneecessary include of <vector>
40617 [b34fc8a28026]
40618
40619 * source/Lib/TLibEncoder/TEncPic.h:
40620 TEncPic: nits
40621 [5cec340da54e]
40622
40623 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40624 source/Lib/TLibEncoder/TEncPic.cpp,
40625 source/Lib/TLibEncoder/TEncPic.h,
40626 source/Lib/TLibEncoder/TEncTop.cpp:
40627 TComPic: remove unused m_numReorderPics
40628 [dcb9836738d0]
40629
40630 * source/Lib/TLibCommon/TComPic.h:
40631 TComPic: move pointers to start of class definition
40632 [d9e2d694bd64]
40633
40634 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40635 TComPic: remove unused m_SEIs
40636
40637 This may get added again later with a more C friendly interface
40638 [d75b868d9d33]
40639
40640 * source/Lib/TLibCommon/TComSlice.h:
40641 TComSlice: white-space cleanups
40642 [bc1ca09c3569]
40643
40644 * source/Lib/TLibCommon/TComBitStream.cpp,
40645 source/Lib/TLibCommon/TComBitStream.h:
40646 TComBitstream: remove decoder class TComInputBitstream
40647 [5ccdcfc7f906]
40648
40649 * source/Lib/TLibCommon/TComPic.h:
40650 TComPic: remove obsolete include
40651 [272fd2b3626f]
40652
40653 * source/Lib/TLibCommon/TComSlice.cpp,
40654 source/Lib/TLibCommon/TComSlice.h:
40655 TComSlice: fix misspelled member variable
40656 [70efa70c09c6]
40657
406582013-06-16 ShinYee Chung <shinyee@multicorewareinc.com>
40659
40660 * source/encoder/encoder.cpp:
40661 encoder: Fix compile warnings due to unhandled enumeration values in
40662 a switch statement.
40663
40664 $HEVC/source/encoder/encoder.cpp: In member function ‘void
40665 x265::Encoder::determineLevelAndProfile(x265_param_t*)’:
40666 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
40667 ‘NONE’ not handled in switch [-Werror=switch] switch (m_level) ^
40668 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
40669 ‘LEVEL1’ not handled in switch [-Werror=switch]
40670 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
40671 ‘LEVEL2’ not handled in switch [-Werror=switch]
40672 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
40673 ‘LEVEL2_1’ not handled in switch [-Werror=switch]
40674 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
40675 ‘LEVEL3’ not handled in switch [-Werror=switch]
40676 $HEVC/source/encoder/encoder.cpp:119:12: error: enumeration value
40677 ‘LEVEL3_1’ not handled in switch [-Werror=switch] cc1plus: all
40678 warnings being treated as errors
40679 [bf8657373cc0]
40680
406812013-06-17 ShinYee Chung <shinyee@multicorewareinc.com>
40682
40683 * source/Lib/TLibEncoder/TEncGOP.cpp:
40684 gop: Fix compile warning due to shadow variables.
40685
40686 error: shadowed declaration is here [-Werror=shadow]
40687 [1afdab036cdf]
40688
406892013-06-17 Steve Borho <steve@borho.org>
40690
40691 * source/Lib/TLibCommon/TComSlice.h:
40692 TComSlice: remove unreferenced checkColRefIdx
40693 [462ae5b5c92b]
40694
40695 * source/Lib/TLibCommon/TComDataCU.cpp,
40696 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40697 source/Lib/TLibCommon/TComPicSym.cpp,
40698 source/Lib/TLibCommon/TComPicSym.h,
40699 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
40700 source/Lib/TLibCommon/TComSlice.cpp,
40701 source/Lib/TLibEncoder/TEncCu.cpp,
40702 source/Lib/TLibEncoder/TEncGOP.cpp,
40703 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
40704 source/Lib/TLibEncoder/TEncSearch.cpp,
40705 source/Lib/TLibEncoder/TEncSlice.cpp,
40706 source/Lib/TLibEncoder/TEncTop.cpp,
40707 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
40708 source/encoder/compress.cpp:
40709 TComDataCU: remove TComSlice array of pointers; only one slice
40710 [4a443108dea9]
40711
40712 * source/Lib/TLibCommon/TComDataCU.cpp,
40713 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40714 source/Lib/TLibCommon/TComSlice.cpp,
40715 source/Lib/TLibEncoder/TEncCu.cpp,
40716 source/Lib/TLibEncoder/TEncGOP.cpp,
40717 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
40718 TComPic: remove m_uiCurrSliceIdx (there can be only one)
40719 [f61d6a311ac7]
40720
40721 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40722 TComPic: give the orig and recon pointers real names
40723 [4da66382061e]
40724
40725 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40726 TComPic: rename m_apcPicSym to m_pcPicSym, there is no array
40727 [254cfb7b02c2]
40728
40729 * source/Lib/TLibCommon/TComPic.cpp:
40730 TComPic: further simplify boundary detection
40731 [8bc870e559e5]
40732
40733 * source/Lib/TLibCommon/TComDataCU.cpp,
40734 source/Lib/TLibCommon/TComDataCU.h,
40735 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40736 TComPic, TComDataCU: remove m_pSliceSUMap
40737 [5c7a900e9a7a]
40738
40739 * source/Lib/TLibCommon/TComPic.cpp:
40740 TComPic: pre-allocate vSliceCUDataLink
40741 [82e9374afa55]
40742
40743 * source/Lib/TLibCommon/TComPic.h:
40744 TComPic: nits
40745 [de4b9e89db28]
40746
40747 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40748 TComPic: m_vSliceCUDataLink did not need to be a member variable
40749 [ab9d5f1754f1]
40750
40751 * source/test/mbdstharness.cpp:
40752 mbdstharness: fix compile with DEBUG
40753 [d54f561a75ee]
40754
40755 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40756 TComPic: m_sliceGranularityForNDBFilter did not need to be a member
40757 variable
40758 [03754edfb91b]
40759
40760 * source/Lib/TLibCommon/TComPic.cpp,
40761 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
40762 TComPic: nits
40763 [e07e08349d30]
40764
40765 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40766 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
40767 TComPic: remove temp YUV image for tile/slice boundary filtering
40768 [5d800bd145a9]
40769
40770 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40771 TComPic: remove more multi-slice cruft
40772 [381a0aeddd3c]
40773
40774 * source/Lib/TLibEncoder/TEncSlice.cpp,
40775 source/Lib/TLibEncoder/TEncSlice.h:
40776 TEncSlice: do not pass TComPic as pointer reference to encodeSlice
40777 [896ca3355963]
40778
40779 * source/Lib/TLibEncoder/TEncSlice.cpp,
40780 source/Lib/TLibEncoder/TEncSlice.h:
40781 TEncSlice: TComPic argument to compressSlice is not a reference
40782 [4cc39023e365]
40783
40784 * source/Lib/TLibEncoder/TEncSlice.cpp,
40785 source/Lib/TLibEncoder/TEncSlice.h:
40786 TEncSlice: nits
40787 [15e62b2ff599]
40788
40789 * source/Lib/TLibEncoder/TEncSlice.cpp,
40790 source/Lib/TLibEncoder/TEncSlice.h:
40791 TEncSlice: remove unused m_pcPicYuvPred and m_pcPicYuvResi
40792 [d89a075a2779]
40793
40794 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40795 source/Lib/TLibEncoder/TEncSlice.cpp:
40796 TComPic: remove unused m_pcPicYuvPred
40797 [c31d7d16e14c]
40798
40799 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40800 source/Lib/TLibEncoder/TEncSlice.cpp:
40801 TComPic: remove unused m_pcPicYuvResi
40802
40803 I believe we use TShortYUV internally for this now
40804 [e7aa7efbee13]
40805
40806 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicYuv.h:
40807 TComPic: nits
40808 [b5cc706cb214]
40809
40810 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40811 source/Lib/TLibEncoder/TEncGOP.cpp,
40812 source/Lib/TLibEncoder/TEncTop.cpp:
40813 TComPic: remove unused m_bReconstructed member
40814 [3b359b196585]
40815
40816 * source/Lib/TLibEncoder/TEncTop.cpp:
40817 TEncTop: remove extra assignment of m_iMaxRefPicNum, cleanup
40818 [f67a6d5916f2]
40819
40820 * source/common/ipfilter.cpp, source/common/primitives.h:
40821 Merge
40822 [8dba6d9462cb]
40823
408242013-06-17 Deepthi Devaki <Deepthi Devaki>
40825
40826 * Merge
40827 [068622ee452c]
40828
40829 * source/common/ipfilter.cpp, source/common/primitives.h,
40830 source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
40831 Restructured Horizontal/Vertical filters, added support for
40832 width!=16n in horizontal filter
40833 [f2f58de47a26]
40834
40835 * source/Lib/TLibEncoder/TEncAnalyze.cpp:
40836 Merge
40837 [6de69685341f]
40838
40839 * source/common/vec/intrapred.inc:
40840 Used unsafe compress to improve performance
40841 [b852bbd6605b]
40842
40843 * source/common/vec/ipfilter8.inc:
40844 Used saturated compress to eliminate min()
40845 [9da8624cf3c5]
40846
408472013-06-17 Steve Borho <steve@borho.org>
40848
40849 * source/Lib/TLibCommon/TComPrediction.cpp:
40850 TComPrediction: white-space nits
40851 [22edfeb729e5]
40852
40853 * source/Lib/TLibCommon/TComPrediction.cpp:
40854 TComPrediction: fix eoln
40855 [7051e6809ffb]
40856
40857 * source/Lib/TLibCommon/TComInterpolationFilter.h,
40858 source/Lib/TLibCommon/TComPrediction.cpp,
40859 source/Lib/TLibCommon/TComPrediction.h,
40860 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/ipfilter.cpp,
40861 source/common/reference.cpp:
40862 remove redundant copy of subpel filter coefficients
40863 [975d36cb92df]
40864
40865 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40866 source/Lib/TLibCommon/TComPicSym.cpp,
40867 source/Lib/TLibCommon/TComPicSym.h,
40868 source/Lib/TLibCommon/TComWeightPrediction.h:
40869 HM fixes: remove various unused member variables
40870 [89454200f223]
40871
40872 * source/x265.cpp:
40873 x265: improve x265 -V output some more
40874 [1ba7a1176cef]
40875
40876 * source/x265.cpp:
40877 x265: fix and improve output of x265 -V
40878 [1c9c6c9c4acc]
40879
40880 * source/common/vec/dct.inc:
40881 dct: uncrustify
40882 [9d71425aa983]
40883
408842013-06-17 Min Chen <chenm003@163.com>
40885
40886 * source/Lib/TLibCommon/TComTrQuant.cpp:
40887 inline xIT() into invtransformNxN()
40888 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 +++++- 1 files changed,
40889 5 insertions(+), 1 deletions(-)
40890 [87f57ab18e2a]
40891
40892 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
40893 source/common/primitives.h, source/common/vec/dct.inc,
40894 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
40895 [review] reduce memory copy in xIT()
40896 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 +-
40897 source/common/dct.cpp | 73 ++++- source/common/primitives.h | 2 +-
40898 source/common/vec/dct.inc | 639 +++++++++++++++++++++------------
40899 source/test/mbdstharness.cpp | 11 +- source/test/mbdstharness.h | 1
40900 + 6 files changed, 485 insertions(+), 247 deletions(-)
40901 [7511cd738ad6]
40902
40903 * source/common/vec/dct.inc:
40904 cleanup: remove unused IDCT table
40905 --- source/common/vec/dct.inc | 208
40906 --------------------------------------------- 1 files changed, 0
40907 insertions(+), 208 deletions(-)
40908 [8d40f4be3699]
40909
40910 * source/test/mbdstharness.cpp:
40911 cleanup: new IDCT don't need backup buffer
40912 --- source/test/mbdstharness.cpp | 15 ++------------- 1 files
40913 changed, 2 insertions(+), 13 deletions(-)
40914 [779041295105]
40915
40916 * source/common/vec/dct.inc:
40917 new IDCT32x32 from project Chinese University version of x265
40918 --- source/common/vec/dct.inc | 2069
40919 ++++++++++++++++----------------------------- 1 files changed, 732
40920 insertions(+), 1337 deletions(-)
40921 [ac6b5681eb77]
40922
40923 * source/common/vec/dct.inc:
40924 new IDCT16x16 from project Chinese University version of x265
40925 --- source/common/vec/dct.inc | 9290
40926 ++++++++++++++++++++++----------------------- 1 files changed, 4571
40927 insertions(+), 4719 deletions(-)
40928 [993296aeec04]
40929
40930 * source/Lib/TLibCommon/TComTrQuant.cpp,
40931 source/Lib/TLibCommon/TComTrQuant.h:
40932 inline xT() into transformNxN()
40933 --- source/Lib/TLibCommon/TComTrQuant.cpp | 27
40934 +++++++-------------------- source/Lib/TLibCommon/TComTrQuant.h | 3
40935 --- 2 files changed, 7 insertions(+), 23 deletions(-)
40936 [1252d3c3c90f]
40937
40938 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
40939 source/common/primitives.h, source/common/vec/dct.inc,
40940 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
40941 [review] reduce memory copy in xT()
40942 --- source/Lib/TLibCommon/TComTrQuant.cpp | 11 +-
40943 source/common/dct.cpp | 175 +++++++++++++++++-------
40944 source/common/primitives.h | 11 ++- source/common/vec/dct.inc | 240
40945 +++++++++++++-------------------- source/test/mbdstharness.cpp | 60
40946 ++++++++- source/test/mbdstharness.h | 2 + 6 files changed, 294
40947 insertions(+), 205 deletions(-)
40948 [af7d0d29ef16]
40949
409502013-06-17 Deepthi <Deepthi>
40951
40952 * source/encoder/compress.cpp:
40953 Early Detection skip mode removed from FMD
40954 [f167939ebd90]
40955
40956 * source/Lib/TLibEncoder/TEncAnalyze.cpp, source/encoder/compress.cpp:
40957 Merge
40958 [81d2deb0c7c1]
40959
409602013-06-15 Deepthi <Deepthi>
40961
40962 * source/Lib/TLibEncoder/TEncCu.cpp,
40963 source/Lib/TLibEncoder/TEncSearch.cpp:
40964 Removing irrelevant FMD optimizations
40965 [78ae2eec3b01]
40966
40967 * source/encoder/compress.cpp:
40968 Adding comments
40969 [abaabb22011f]
40970
409712013-06-16 Steve Borho <steve@borho.org>
40972
40973 * .hgtags:
40974 Move tag LASTKNOWNGOOD
40975 [58f364792384]
40976
40977 * source/test/intrapredharness.cpp, source/test/intrapredharness.h,
40978 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
40979 testbench: only perform 0xCDCDCDCDCDCD memsets for debug, runs much
40980 faster
40981
40982 It should only be necessary to do this when you are not sure the C
40983 primitive is correct. Once the C primitive is correct, it should
40984 never be required to initialize the output buffers in order to find
40985 mismatch bugs.
40986 [9a6800e84295]
40987
40988 * source/test/mbdstharness.cpp:
40989 mbdstharness: remove unused BufferflyConf_names
40990 [1a8a3ddd9475]
40991
40992 * source/encoder/compress.cpp:
40993 compress: fix eoln
40994 [94b5e1de4d90]
40995
40996 * source/common/vec/dct.inc:
40997 dct: remove VC9 x64 warning, the affected routines are all gone
40998 [07b13562ea8d]
40999
41000 * source/common/vec/dct.inc:
41001 dct: remove unused primitives, reorder for clarity
41002 [ce0f1e1ed310]
41003
41004 * source/common/dct.cpp, source/common/primitives.h,
41005 source/common/vec/dct.inc, source/test/mbdstharness.cpp,
41006 source/test/mbdstharness.h:
41007 remove partial butterfly and inversedst primitives
41008 [63a832540bab]
41009
410102013-06-16 Min Chen <chenm003@163.com>
41011
41012 * source/Lib/TLibCommon/TComTrQuant.cpp:
41013 [review] merge buffer convert into DCT* module
41014 --- source/Lib/TLibCommon/TComTrQuant.cpp | 8 +------- 1 files
41015 changed, 1 insertions(+), 7 deletions(-)
41016 [7f6068ab7706]
41017
41018 * source/common/vec/dct.inc:
41019 support nSrcStride on DCT*
41020 --- source/common/vec/dct.inc | 417
41021 ++++++++++++++++++++++++--------------------- 1 files changed, 221
41022 insertions(+), 196 deletions(-)
41023 [f3a8a85bdb0d]
41024
41025 * source/Lib/TLibCommon/TComTrQuant.cpp:
41026 Merge xTrMxN into TComTrQuant::xT
41027 --- source/Lib/TLibCommon/TComTrQuant.cpp | 21 +++++----------------
41028 1 files changed, 5 insertions(+), 16 deletions(-)
41029 [53838676f709]
41030
41031 * source/Lib/TLibCommon/TComTrQuant.cpp:
41032 optimize xTrMxN by function pointer array
41033 --- source/Lib/TLibCommon/TComTrQuant.cpp | 30
41034 ++---------------------------- 1 files changed, 2 insertions(+), 28
41035 deletions(-)
41036 [f6c012a6b57f]
41037
41038 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
41039 source/common/vec/dct.inc:
41040 [review] code for DST4x4
41041 --- source/Lib/TLibCommon/TComTrQuant.cpp | 7 +--
41042 source/common/dct.cpp | 20 ++++++++ source/common/vec/dct.inc | 87
41043 +++++++++++++++++++++++++++++++++ 3 files changed, 110
41044 insertions(+), 4 deletions(-)
41045 [bc1b9ace38e9]
41046
41047 * source/Lib/TLibEncoder/TEncTop.cpp:
41048 miss <math.h> for sqrt()
41049 --- source/Lib/TLibEncoder/TEncTop.cpp | 1 + 1 files changed, 1
41050 insertions(+), 0 deletions(-)
41051 [f7ab8faa77f9]
41052
41053 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
41054 source/common/vec/dct.inc, source/test/mbdstharness.cpp:
41055 Optimize DCT32x32
41056 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
41057 source/common/dct.cpp | 11 + source/common/vec/dct.inc | 669
41058 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 2
41059 +- 4 files changed, 682 insertions(+), 3 deletions(-)
41060 [4e73d671ade5]
41061
41062 * source/common/vec/dct.inc:
41063 simplify table name
41064 --- source/common/vec/dct.inc | 384
41065 ++++++++++++++++++++++---------------------- 1 files changed, 192
41066 insertions(+), 192 deletions(-)
41067 [92d5ad1eb45f]
41068
41069 * source/common/vec/dct.inc:
41070 [review] share some table with DCT8x8
41071 --- source/common/vec/dct.inc | 230
41072 +++++++++++++++++++++----------------------- 1 files changed, 110
41073 insertions(+), 120 deletions(-)
41074 [9551c827dd8c]
41075
410762013-06-15 Steve Borho <steve@borho.org>
41077
41078 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
41079 source/Lib/TLibEncoder/TEncGOP.cpp,
41080 source/Lib/TLibEncoder/TEncGOP.h:
41081 TEncGOP: remove m_storedStartCUAddrForEncodingSlice std::vector
41082 [aa925c788d24]
41083
41084 * source/Lib/TLibEncoder/TEncAnalyze.cpp,
41085 source/Lib/TLibEncoder/TEncAnalyze.h,
41086 source/Lib/TLibEncoder/TEncGOP.cpp,
41087 source/Lib/TLibEncoder/TEncGOP.h,
41088 source/Lib/TLibEncoder/TEncTop.cpp,
41089 source/Lib/TLibEncoder/TEncTop.h:
41090 TEncGOP: Move statistics structures to TEncTop, protect with a lock
41091 [3545ade1fb3b]
41092
41093 * source/Lib/TLibEncoder/TEncGOP.cpp:
41094 TEncGOP: use array delete for array new pointers
41095 [8508e8293b74]
41096
41097 * source/Lib/TLibEncoder/TEncGOP.cpp:
41098 TEncGOP: simplifications
41099 [035a7dee0480]
41100
41101 * source/Lib/TLibEncoder/TEncGOP.cpp:
41102 TEncGOP: single tile simplifications
41103 [065ee8264b98]
41104
41105 * source/Lib/TLibEncoder/TEncGOP.cpp:
41106 TEncGOP: more single-slice simplifications
41107 [b05e694e6a22]
41108
41109 * source/Lib/TLibEncoder/TEncGOP.cpp:
41110 TEncGOP: remove undefined SAO_RDO
41111 [1a2fb8fe36b8]
41112
41113 * source/Lib/TLibEncoder/TEncGOP.cpp:
41114 TEncGOP: remove dead code
41115 [d024c9bddf19]
41116
41117 * source/Lib/TLibEncoder/TEncGOP.cpp:
41118 TEncGOP: clean-up some multi-slice constructs
41119 [18ad786c53c0]
41120
41121 * source/Lib/TLibEncoder/TEncGOP.cpp,
41122 source/Lib/TLibEncoder/TEncTop.cpp:
41123 TEncTOP: move RC-GOP operations within compressGOP()
41124 [fa70c5f59650]
41125
41126 * source/Lib/TLibEncoder/TEncGOP.cpp,
41127 source/Lib/TLibEncoder/TEncGOP.h:
41128 TEncGOP: use iPOCLast==0 instead of m_bSeqFirst
41129 [c08b29d11335]
41130
41131 * source/Lib/TLibEncoder/TEncGOP.cpp:
41132 TEncGOP: cleanup initialization
41133 [8d9c2a12262f]
41134
41135 * source/Lib/TLibEncoder/TEncGOP.h:
41136 TEncGOP: cleanups, make internal methods protected
41137 [1821fba47aa4]
41138
41139 * source/Lib/TLibEncoder/TEncGOP.cpp,
41140 source/Lib/TLibEncoder/TEncGOP.h:
41141 TEncGOP: remove member pointer to encoder singleton picture list
41142
41143 The picture list is provided to compressGOP() method
41144 [b5ce58a2af61]
41145
41146 * source/Lib/TLibEncoder/TEncGOP.h:
41147 TEncGOP: remove unused getListPic() method
41148 [67b8bea4073d]
41149
41150 * source/Lib/TLibEncoder/TEncSlice.cpp,
41151 source/Lib/TLibEncoder/TEncSlice.h:
41152 TEncSlice: remove member pointer to global picture list
41153 [f90b3bfd87c4]
41154
41155 * source/Lib/TLibEncoder/TEncGOP.cpp,
41156 source/Lib/TLibEncoder/TEncSlice.cpp,
41157 source/Lib/TLibEncoder/TEncSlice.h,
41158 source/Lib/TLibEncoder/TEncTop.h:
41159 TEncSlice: remove GOP encoder member variable
41160
41161 Get rid of another assumption about singleton objects
41162 [8e7b990788c9]
41163
411642013-06-12 Min Chen <chenm003@163.com>
41165
41166 * source/common/primitives.h, source/common/vec/pixel.inc:
41167 primitives: add a 16bit copy with left shift primitive
41168 [ca516890cd40]
41169
411702013-06-15 Steve Borho <steve@borho.org>
41171
41172 * source/test/pixelharness.cpp:
41173 pixelharness: fixup indexing of block primitives
41174 [9b7a1362f367]
41175
411762013-06-15 Deepthi <Deepthi>
41177
41178 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
41179 source/encoder/compress.cpp:
41180 Merge; FAST_MODE_DECISION fully functional with inter.
41181 [9a99578e2815]
41182
41183 * source/Lib/TLibCommon/TComDataCU.cpp,
41184 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41185 Merge
41186 [f4f5b666aecd]
41187
41188 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41189 Null rpcBestCU. Memory leaks resolved.
41190 [353206dee54b]
41191
41192 * source/encoder/compress.cpp:
41193 More prep to null BestCU
41194 [966336c97827]
41195
41196 * source/encoder/compress.cpp:
41197 Prepare to Null split level BestCU
41198 [e143b9a344e7]
41199
41200 * source/encoder/compress.cpp:
41201 Prepare to null rpcBestCU
41202 [c61499ef1432]
41203
41204 * source/encoder/compress.cpp:
41205 More cleanup
41206 [f68b8005dae1]
41207
41208 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/compress.cpp:
41209 Cleanup; fix split bugs
41210 [57174096d40b]
41211
41212 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41213 Rolling back; inter mode works, split has bugs
41214 [caba150c54c0]
41215
412162013-06-14 Steve Borho <steve@borho.org>
41217
41218 * source/encoder/encoder.cpp:
41219 x265: better handling of level thresholds
41220 [4d8007536eb4]
41221
41222 * source/encoder/encoder.cpp, source/encoder/encoder.h:
41223 x265: detect and set the profile and level
41224 [07a1ffa03c3a]
41225
41226 * source/Lib/TLibEncoder/TEncSearch.cpp:
41227 gcc: integer array subscripts
41228 [c11ecb15eaa0]
41229
412302013-06-14 Min Chen <chenm003@163.com>
41231
41232 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
41233 source/common/vec/dct.inc, source/test/mbdstharness.cpp:
41234 Optimize DCT16x16
41235 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
41236 source/common/dct.cpp | 11 + source/common/vec/dct.inc | 482
41237 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 2
41238 +- 4 files changed, 495 insertions(+), 3 deletions(-)
41239 [261b26b87c0b]
41240
41241 * source/common/vec/dct.inc:
41242 cleanup MAKE_ODD outside xDCT8
41243 --- source/common/vec/dct.inc | 1 + 1 files changed, 1 insertions(+),
41244 0 deletions(-)
41245 [914852d611c8]
41246
412472013-06-14 Steve Borho <steve@borho.org>
41248
41249 * source/x265opts.h:
41250 x265: nit in CLI help
41251 [43fd53ad27fe]
41252
41253 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h:
41254 pixel: use width bit size to index residual and recon primitives
41255 [34e5e66bd386]
41256
41257 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
41258 source/common/primitives.h, source/common/vec/pixel.inc,
41259 source/test/pixelharness.cpp, source/test/pixelharness.h:
41260 pixel: rename residual/reconstruction primitves
41261 [83756d7ec230]
41262
41263 * source/Lib/TLibEncoder/TEncSearch.cpp:
41264 Merged in deepthidevaki/xhevc_deepthid (pull request #199)
41265
41266 Added vector Filter Horizontal Multiplane, and support in testbench.
41267 [d2a8a011a13e]
41268
412692013-06-14 Deepthi Devaki <Deepthi Devaki>
41270
41271 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
41272 source/common/primitives.h, source/common/vec/pixel.inc,
41273 source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
41274 GetResidual + calcRecon changed to use function pointers
41275 [575b19e5a035]
41276
41277 * source/common/primitives.h, source/test/ipfilterharness.cpp:
41278 Merge
41279 [8fc2fe71a2d7]
41280
41281 * source/common/ipfilter.cpp, source/common/primitives.h,
41282 source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
41283 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
41284 Added vector Filter Horizontal Multiplane, and support in testbench.
41285 [15956ceaf16a]
41286
412872013-06-14 Steve Borho <steve@borho.org>
41288
41289 * Merged in maheshpittala/xhevc_mahesh (pull request #198)
41290
41291 Fixed Build errors(Type cast) in 16 bit
41292 [73b00711e83d]
41293
412942013-06-14 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
41295
41296 * source/Lib/TLibCommon/TComPicYuv.h,
41297 source/Lib/TLibEncoder/TEncGOP.cpp,
41298 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/reference.cpp:
41299 Fixed Build errors(Type cast) in 16 bit
41300 [b80bdba3d499]
41301
413022013-06-14 mahesh pittala <mahesh@multicorewareinc.com>
41303
41304 * Merged multicoreware/xhevc into default
41305 [2318037a8305]
41306
41307 * Merged multicoreware/xhevc into default
41308 [ed51338a5928]
41309
41310 * Merged multicoreware/xhevc into default
41311 [a4e3b5280eb4]
41312
413132013-06-12 mahesh pittala <mahesh@multicorewareinc.com>
41314
41315 * Merged multicoreware/xhevc into default
41316 [392194eba6a1]
41317
413182013-06-13 mahesh pittala <mahesh@multicorewareinc.com>
41319
41320 * source/tools/HM decoder/TAppDecoder.exe:
41321 Merged multicoreware/xhevc into default
41322 [41fd32e1ee06]
41323
413242013-06-12 mahesh pittala <mahesh@multicorewareinc.com>
41325
41326 * Merged multicoreware/xhevc into default
41327 [9eb8f9941713]
41328
41329 * Merged multicoreware/xhevc into default
41330 [0eb8933de745]
41331
41332 * Merged multicoreware/xhevc into default
41333 [803e22af8582]
41334
413352013-06-11 mahesh pittala <mahesh@multicorewareinc.com>
41336
41337 * Merged multicoreware/xhevc into default
41338 [8c842a8cfe96]
41339
41340 * source/common/macroblock.cpp, source/common/vec/macroblock.inc:
41341 Merged multicoreware/xhevc into default
41342 [266046e7522d]
41343
413442013-06-10 mahesh pittala <mahesh@multicorewareinc.com>
41345
41346 * Merged multicoreware/xhevc into default
41347 [9cd8563afb0d]
41348
41349 * Merged multicoreware/xhevc into default
41350 [007a8b519e53]
41351
41352 * Merged multicoreware/xhevc into default
41353 [b5f5d466d800]
41354
413552013-06-07 mahesh pittala <mahesh@multicorewareinc.com>
41356
41357 * Merged multicoreware/xhevc into default
41358 [91c5bb78d52b]
41359
413602013-06-05 mahesh pittala <mahesh@multicorewareinc.com>
41361
41362 * Merged multicoreware/xhevc into default
41363 [9c8618adaf4c]
41364
41365 * Merged multicoreware/xhevc into default
41366 [fe2691e5afff]
41367
41368 * Merged multicoreware/xhevc into default
41369 [e4c6fb2823f1]
41370
413712013-06-04 mahesh pittala <mahesh@multicorewareinc.com>
41372
41373 * Merged multicoreware/xhevc into default
41374 [cd1437d72a75]
41375
413762013-06-03 mahesh pittala <mahesh@multicorewareinc.com>
41377
41378 * Merged multicoreware/xhevc into default
41379 [7f7bd035a835]
41380
41381 * Merged multicoreware/xhevc into default
41382 [c7b8e56f6079]
41383
413842013-06-14 Deepthi <Deepthi>
41385
41386 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41387 Merge
41388 [852e5f6730a5]
41389
41390 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41391 Adding comments; cosmetic changes, removing unnecessary local vars
41392 [93938fd46918]
41393
41394 * source/encoder/compress.cpp:
41395 Entropy related code removed
41396 [5c3e24604043]
41397
41398 * source/encoder/compress.cpp:
41399 Removing extraneous checks
41400 [07de3c5c0ad9]
41401
41402 * source/encoder/compress.cpp:
41403 Copy sub-best-recon to current best recon
41404 [acf302317da7]
41405
41406 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
41407 source/encoder/compress.cpp:
41408 BestCU is a reference pointer, while TempCU is just that; a
41409 temporary local pointer.
41410 [9f22712fc800]
41411
41412 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41413 To avoid memory leaks, pass in an empty pointer. rpcBestCU returns
41414 with the Best chosen CU.
41415 [7f4f0e71895f]
41416
414172013-06-13 Deepthi <Deepthi>
41418
41419 * source/encoder/compress.cpp:
41420 Claridying assert checks
41421 [8316225c0886]
41422
41423 * source/encoder/compress.cpp:
41424 Removing use of rpcTempCU for initializations
41425 [c8f4bd10ea38]
41426
414272013-06-14 Steve Borho <steve@borho.org>
41428
41429 * source/Lib/TLibCommon/TComSlice.cpp,
41430 source/Lib/TLibCommon/TComSlice.h,
41431 source/Lib/TLibEncoder/TEncCavlc.cpp,
41432 source/Lib/TLibEncoder/TEncGOP.cpp:
41433 HM bug fix: Improve the temporary fix for issue #1071 (Nonconforming
41434 RPS in CRA pictures)
41435 - generate proper CRA RPS at encoding stage rather than slice segment
41436 header writing
41437 [ec4e63c7c8be]
41438
41439 * source/Lib/TLibEncoder/TEncGOP.cpp:
41440 HM fixes: cleanups
41441 [3a5d6e4754ce]
41442
41443 * source/Lib/TLibEncoder/TEncCu.cpp:
41444 HM fix: "Cleanup"
41445 [a174e0b3f6b7]
41446
41447 * source/Lib/TLibCommon/TComTrQuant.cpp:
41448 HM fixes: "Clean up"
41449 [1707a3030f7c]
41450
41451 * source/Lib/TLibCommon/TComPicYuv.h:
41452 TComPicYuv: fix 16bpp build
41453 [30941b044925]
41454
41455 * source/Lib/TLibCommon/TComSlice.cpp:
41456 HM cleanups: "Add assert() statements / clean up"
41457 [57ea893a55f9]
41458
414592013-06-13 Steve Borho <steve@borho.org>
41460
41461 * source/Lib/TLibEncoder/TEncGOP.cpp:
41462 HM bug fix: "Fix for #1072"
41463 [381af1803935]
41464
41465 * source/Lib/TLibCommon/TComSlice.h,
41466 source/Lib/TLibEncoder/TEncCavlc.cpp:
41467 HM bug fix: "Fix for #1078"
41468 [15c51314f7ac]
41469
41470 * source/Lib/TLibEncoder/TEncCavlc.cpp:
41471 HM bug fix: "Fix for #1079"
41472 [e8b1953c65b4]
41473
41474 * source/test/ipfilterharness.cpp:
41475 ipfilterharness: add offsets for src buffer pointer
41476 [fee9cd2c3fc8]
41477
41478 * source/test/ipfilterharness.cpp:
41479 ipfilterharness: use alignedMalloc for short_buff
41480 [857a4fa1a8e9]
41481
41482 * source/common/common.cpp, source/encoder/motion.cpp:
41483 motion: prevent over-large merange from causing inf loops
41484 [64acb994bc4e]
41485
41486 * source/encoder/motion.cpp, source/encoder/motion.h:
41487 motion: move distance for-loop within StarPatternSearch (less call
41488 overhead)
41489 [323a6667d127]
41490
41491 * source/Lib/TLibEncoder/TEncGOP.cpp,
41492 source/Lib/TLibEncoder/TEncGOP.h,
41493 source/Lib/TLibEncoder/TEncSlice.cpp,
41494 source/Lib/TLibEncoder/TEncSlice.h,
41495 source/Lib/TLibEncoder/TEncTop.cpp,
41496 source/Lib/TLibEncoder/TEncTop.h:
41497 TEncTop: move EncoderFrame instances from TEncTop to TEncGOP
41498
41499 Each TEncGOP will have at least one frame encoder, for parallelism
41500 [f961dee0df08]
41501
41502 * source/Lib/TLibEncoder/TEncGOP.cpp,
41503 source/Lib/TLibEncoder/TEncGOP.h:
41504 TEncGOP: make m_iNumPicCoded a function local variable
41505 [408239eb7e61]
41506
41507 * source/Lib/TLibCommon/TComDataCU.cpp,
41508 source/Lib/TLibEncoder/TEncSearch.cpp:
41509 gcc: replace MAXUINT64 with MAX_INT64 from CommonDefs.h
41510 [5960f5864c43]
41511
41512 * source/Lib/TLibCommon/TComRdCost.cpp,
41513 source/Lib/TLibCommon/TComRdCost.h:
41514 TComRdCost: move setCbDistortionWeight() to cpp file, cleanup
41515 [38e5bb0dbca5]
41516
41517 * source/encoder/motion.cpp, source/encoder/motion.h:
41518 motion: rename bufsad to fullsad
41519 [33138ffa79a7]
41520
41521 * source/encoder/motion.cpp, source/encoder/motion.h:
41522 motion: move init_scales() to constructor, remove from setSourcePU
41523 [5b2b4a7090bb]
41524
41525 * source/common/primitives.h:
41526 Merged in deepthidevaki/xhevc_deepthid (pull request #196)
41527
41528 Modifications to vertical filter multiplane
41529 [95b415adeffa]
41530
415312013-06-13 Deepthi Devaki <Deepthi Devaki>
41532
41533 * source/tools/HM decoder/TAppDecoder.exe:
41534 Merge
41535 [65768d985016]
41536
41537 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
41538 Modifications to vertical filter multiplane
41539 [2c0ecc7b043d]
41540
415412013-06-13 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
41542
41543 * source/tools/HM decoder/TAppDecoder.exe:
41544 Merged multicoreware/xhevc into default
41545 [c8b90c296a0b]
41546
415472013-06-12 Deepthi Devaki <Deepthi Devaki>
41548
41549 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
41550 Added Vertical filter for multiplane (Vectorized assuming width is
41551 multiple of 4)
41552 [bd33365c378c]
41553
41554 * source/VectorClass/vectori128.h, source/common/ipfilter.cpp,
41555 source/common/primitives.h, source/test/ipfilterharness.cpp,
41556 source/test/ipfilterharness.h:
41557 Testbench for Vertical IPFilter for multiplane
41558 [a9af2d31ba00]
41559
415602013-06-13 Steve Borho <steve@borho.org>
41561
41562 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #197)
41563
41564 primitives: sse2, ssse3, avx: Assembly calls for SSE_PP(SSD) for
41565 8,16,24,32,48,64
41566 [9123ea04e339]
41567
415682013-06-13 Mandar Gurav <Mandar Gurav>
41569
41570 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
41571 source/common/x86/pixel.h:
41572 primitives: sse2: Assembly calls for SSE_PP(SSD) for 8, 16, 24, 32,
41573 48, 64
41574 [3ab1f65ad43a]
41575
41576 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
41577 source/common/x86/pixel.h:
41578 primitives: ssse3: Assembly calls for SSE_PP(SSD) for 8, 16, 24, 32,
41579 48, 64
41580 [a268ac5113cd]
41581
41582 * source/common/x86/asm-primitives.cpp:
41583 primitives: Assembly calls for SSE_PP(SSD) for 24,48,64
41584 [59228bcdfe9c]
41585
415862013-06-13 Mandar Gurav <mandar@multicorewareinc.com>
41587
41588 * Merged multicoreware/xhevc into default
41589 [33ba85c5f2a1]
41590
415912013-06-13 Mandar Gurav <Mandar Gurav>
41592
41593 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm,
41594 source/common/x86/pixel.h:
41595 primitives: Assembly calls for SSE_PP(SSD) for 32,16,8
41596 [68c6b9d2d8d1]
41597
415982013-06-13 Steve Borho <steve@borho.org>
41599
41600 * source/Lib/TLibEncoder/TEncSearch.cpp,
41601 source/Lib/TLibEncoder/TEncSearch.h:
41602 TEncSearch: small improvements
41603 [6a170f9465ab]
41604
41605 * source/Lib/TLibCommon/TComRdCost.h,
41606 source/Lib/TLibEncoder/TEncSearch.cpp:
41607 TComRdCost: remove unused m_mvPredictor (HM ME is using our bit-cost
41608 methods)
41609 [e8d675ec84de]
41610
41611 * source/Lib/TLibCommon/TComRdCost.h,
41612 source/Lib/TLibEncoder/TEncSearch.cpp:
41613 TComRdCost: use UInt to scale chroma costs instead of Double
41614 [cf348485a9a5]
41615
416162013-06-13 sumalatha <sumalatha>
41617
41618 * source/Lib/TLibCommon/TComDataCU.cpp,
41619 source/Lib/TLibCommon/TComDataCU.h,
41620 source/Lib/TLibCommon/TComRdCost.cpp,
41621 source/Lib/TLibCommon/TComRdCost.h,
41622 source/Lib/TLibEncoder/TEncCu.cpp,
41623 source/Lib/TLibEncoder/TEncSearch.cpp,
41624 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
41625 removed double from computing Cost
41626 [b6f7ac1f105a]
41627
416282013-06-13 Min Chen <chenm003@163.com>
41629
41630 * source/test/testbench.cpp:
41631 revert debug code commit by '[review] faster DCT4x4'
41632 --- source/test/testbench.cpp | 2 +- 1 files changed, 1
41633 insertions(+), 1 deletions(-)
41634 [c69480d6a22b]
41635
41636 * source/common/vec/dct.inc:
41637 [review] fatser DCT8x8
41638 --- source/common/vec/dct.inc | 461
41639 ++++++++++++++++++++------------------------- 1 files changed, 200
41640 insertions(+), 261 deletions(-)
41641 [9c4501c71e10]
41642
41643 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/pixel.cpp,
41644 source/common/primitives.h, source/common/vec/pixel.inc:
41645 [review] merge row process into convert16to32_shl
41646 --- source/Lib/TLibCommon/TComTrQuant.cpp | 22 +---------------------
41647 source/common/pixel.cpp | 9 ++++++--- source/common/primitives.h | 2
41648 +- source/common/vec/pixel.inc | 27 +++++++++++++++------------ 4
41649 files changed, 23 insertions(+), 37 deletions(-)
41650 [44402f63268d]
41651
416522013-06-13 Steve Borho <steve@borho.org>
41653
41654 * source/Lib/TLibEncoder/TEncGOP.cpp:
41655 TEncGOP: nits
41656 [a20041407e93]
41657
416582013-06-13 Deepthi <Deepthi>
41659
41660 * source/encoder/compress.cpp:
41661 Fixing Best CU bugs
41662 [4ccd02f3c17a]
41663
41664 * source/tools/HM decoder/TAppDecoder.exe:
41665 Merge
41666 [9f348f94c788]
41667
41668 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
41669 source/encoder/compress.cpp:
41670 First cut version of RDO-less mode decision: Only inter and rect
41671 modes.
41672 [7df0cd69bbf9]
41673
41674 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
41675 Adding pred copy to ComputeCostInter
41676 [ac115aa34201]
41677
41678 * Merge
41679 [84a113488c8e]
41680
41681 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
41682 source/encoder/compress.cpp:
41683 Preparation for moving to RDO-less analysis.
41684 [ad0f4840b8c2]
41685
416862013-06-12 Deepthi <Deepthi>
41687
41688 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
41689 Prediction structures for each mode: inter, intra, rect and merge
41690 [12e076b777b3]
41691
41692 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
41693 Cleanup macro RDO_WITHOUT_DQP_BITS: always set.
41694 [064461252a7d]
41695
41696 * source/Lib/TLibEncoder/TEncSearch.cpp:
41697 Merge
41698 [d9f8493ad297]
41699
41700 * source/encoder/compress.cpp:
41701 Inter mode only works in compress.cpp
41702 [2a4ada95c8da]
41703
417042013-06-11 Deepthi <Deepthi>
41705
41706 * source/encoder/compress.cpp:
41707 Removing RDO without DQP
41708 [0457e3d429f3]
41709
41710 * source/encoder/compress.cpp:
41711 Merge and Intra modes removed from Inter slices for now.
41712 [806c020e696e]
41713
41714 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/macroblock.cpp,
41715 source/common/vec/macroblock.inc:
41716 Merge
41717 [af84de459345]
41718
417192013-06-10 sumalatha <sumalatha>
41720
41721 * source/Lib/TLibEncoder/TEncSearch.cpp,
41722 source/Lib/TLibEncoder/TEncSearch.h:
41723 Added a function to estimate the header bits
41724 [6a8bff3ae903]
41725
417262013-06-12 Steve Borho <steve@borho.org>
41727
41728 * source/encoder/motion.cpp:
41729 motion: simplify setSourcePU
41730 [9a053413d61c]
41731
41732 * source/Lib/TLibEncoder/TEncGOP.cpp:
41733 nits
41734 [a5c8f414b509]
41735
41736 * source/Lib/TLibEncoder/TEncGOP.cpp,
41737 source/Lib/TLibEncoder/TEncSlice.cpp,
41738 source/Lib/TLibEncoder/TEncSlice.h:
41739 TEncSlice: remove unused iNumPicRcvd argument to initEncSlice
41740 [fde34b9f8b05]
41741
41742 * source/Lib/TLibEncoder/TEncGOP.cpp,
41743 source/Lib/TLibEncoder/TEncSlice.cpp,
41744 source/Lib/TLibEncoder/TEncSlice.h:
41745 TEncSlice: pass EncoderFrame to TEncSlice methods, do not get from
41746 TEncCfg
41747 [6e3589df7134]
41748
41749 * source/Lib/TLibEncoder/TEncGOP.cpp,
41750 source/Lib/TLibEncoder/TEncSlice.cpp,
41751 source/Lib/TLibEncoder/TEncSlice.h:
41752 TEncSlice: refactor initEncSlice to return TComSlice, not pass as
41753 reference
41754
41755 Make it more obvious pcSlice is the functions output
41756 [eadec0d58647]
41757
41758 * source/Lib/TLibEncoder/TEncGOP.cpp:
41759 TEncGOP: remove redundant setCurrSliceIdx() call
41760 [18418d680e43]
41761
41762 * source/Lib/TLibEncoder/TEncGOP.cpp,
41763 source/Lib/TLibEncoder/TEncGOP.h:
41764 TEncGOP: inline xGetBuffer for clarity
41765 [4f2cab2656e5]
41766
41767 * source/Lib/TLibEncoder/TEncGOP.cpp,
41768 source/Lib/TLibEncoder/TEncGOP.h:
41769 TEncGOP: inline xInitGOP, which ignored most of its arguments
41770 [5cd02a1e0833]
41771
41772 * source/Lib/TLibCommon/TComSlice.h:
41773 nits
41774 [b3a522a85ca1]
41775
41776 * source/Lib/TLibEncoder/TEncGOP.cpp,
41777 source/Lib/TLibEncoder/TEncGOP.h:
41778 TEncGOP: remove two more unused variables
41779 [e94675550fa9]
41780
41781 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
41782 nits
41783 [7a22a718c027]
41784
41785 * source/Lib/TLibEncoder/TEncGOP.cpp:
41786 nits
41787 [1b36f456d018]
41788
41789 * source/Lib/TLibEncoder/TEncGOP.cpp:
41790 TEncGOP: cleanup refactor, no behavior change
41791 [26f03b2606f8]
41792
41793 * source/Lib/TLibEncoder/TEncGOP.cpp,
41794 source/Lib/TLibEncoder/TEncGOP.h:
41795 TEncGOP: remove unused m_bFirst variable
41796 [28bbf3b63723]
41797
41798 * .hgtags:
41799 tweak tags, make older LASTKNOWNGOOD tag visible
41800 [6b8fabd722e7]
41801
41802 * source/tools/HM decoder/TAppDecoder.exe:
41803 Remove compiled TAppDecoder.exe
41804
41805 It's not working on some platforms, and in general we don't want
41806 compiled binaries in the tree. Users should build their own, or we
41807 should have it available for download from Bitbucket or Egnyte.
41808 [6facda17b5dc]
41809
418102013-06-12 Min Chen <chenm003@163.com>
41811
41812 * source/common/vec/dct.inc:
41813 IDCT4x4 is SSE2
41814 --- source/common/vec/dct.inc | 22 ---------------------- 1 files
41815 changed, 0 insertions(+), 22 deletions(-)
41816 [37e60377bb38]
41817
41818 * source/common/vec/dct.inc, source/test/testbench.cpp:
41819 [review] faster DCT4x4
41820 --- source/common/vec/dct.inc | 137
41821 ++++++++++++++++++++++-----------------------
41822 source/test/testbench.cpp | 2 +- 2 files changed, 68 insertions(+),
41823 71 deletions(-)
41824 [fad6f1100104]
41825
418262013-06-12 Steve Borho <steve@borho.org>
41827
41828 * source/Lib/TLibEncoder/TEncGOP.cpp,
41829 source/Lib/TLibEncoder/TEncGOP.h:
41830 TEncGOP: remove unused xFindDistortionFrame() method
41831 [64989e7f7b96]
41832
41833 * source/Lib/TLibEncoder/TEncGOP.cpp:
41834 TEncGOP: fix chroma stride used in frame PSNR
41835 [87599a2e5ea9]
41836
41837 * source/Lib/TLibEncoder/TEncGOP.cpp:
41838 TEncGOP: fix chroma stride used in frame PSNR
41839 [94b3cd0b3d6d]
41840
41841 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
41842 Fix chroma stride used in hash functions (Min Chen)
41843 [fda858eb8b20]
41844
418452013-06-11 Steve Borho <steve@borho.org>
41846
41847 * source/Lib/TLibEncoder/TEncGOP.cpp:
41848 TEncGOP: add a note for future optimizations
41849 [a5e26e8a86c8]
41850
41851 * source/Lib/TLibEncoder/TEncGOP.cpp:
41852 TEncGOP: minor cleanups
41853 [c8e15bb22d3c]
41854
41855 * source/CMakeLists.txt:
41856 cmake: downgrade requirement to cmake-2.6; it works fine
41857 [5cc718257bc0]
41858
41859 * source/Lib/TLibEncoder/TEncGOP.cpp:
41860 TEncGOP: nit
41861 [1ffcfbfa6a67]
41862
41863 * source/Lib/TLibEncoder/TEncGOP.cpp:
41864 TEncGOP: use SSE primitives to calculate frame PSNR
41865 [e93c215a81df]
41866
41867 * source/Lib/TLibCommon/TComPicYuv.cpp:
41868 TComPicYUV: enforce 16byte alignment of chroma planes
41869 [580383b435fb]
41870
41871 * source/Lib/TLibEncoder/TEncGOP.cpp,
41872 source/Lib/TLibEncoder/TEncGOP.h:
41873 TEncGOP: remove a handful of of member variables, declare on stack
41874
41875 This is a safety measure to prevent race hazards. Now we know the
41876 scope where these variables must be consistent.
41877 [e2948255ad27]
41878
41879 * source/Lib/TLibEncoder/TEncSlice.cpp,
41880 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/wavefront.cpp:
41881 TEncSlice: prune unused cost variables and methods
41882 [295fbda07f03]
41883
41884 * source/encoder/wavefront.cpp:
41885 wavefront: slight refactor
41886 [b3e9a7469e43]
41887
41888 * source/common/CMakeLists.txt:
41889 gcc: fix win32 mingw compile
41890 [fb8920b0bba0]
41891
41892 * source/encoder/wavefront.cpp:
41893 wavefront: drop PPA events for compress and encodeCU
41894
41895 Now I know that encodeCU takes very little time compared to
41896 compressCU
41897 [4e8a0221fb01]
41898
41899 * source/Lib/TLibEncoder/TEncCu.cpp,
41900 source/Lib/TLibEncoder/TEncGOP.cpp,
41901 source/Lib/TLibEncoder/TEncTop.cpp,
41902 source/Lib/TLibEncoder/TEncTop.h, source/encoder/wavefront.cpp,
41903 source/encoder/wavefront.h:
41904 refactor: move singleton objects from TEncTop to EncodeFrame
41905
41906 This will allow multiple frames to be encoded at the same time,
41907 barring other data dependencies
41908 [6a77792e00e0]
41909
41910 * source/common/vec/pixel8.inc:
41911 pixel: pass sad as reference
41912 [c14b5fb37187]
41913
41914 * source/common/vec/pixel8.inc:
41915 pixel: perform sad_8 in batches of 16 rows
41916 [f74b07aa34f4]
41917
41918 * source/common/pixel.cpp, source/common/vec/pixel.inc,
41919 source/common/vec/pixel8.inc:
41920 pixel: white-space cleanups, remove Intra from getResidual name
41921 [b69c96b0e90c]
41922
419232013-06-11 Min Chen <chenm003@163.com>
41924
41925 * source/CMakeLists.txt:
41926 Stack align for GCC
41927 --- source/CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1
41928 deletions(-)
41929 [a3bf4f55f789]
41930
419312013-06-11 Steve Borho <steve@borho.org>
41932
41933 * source/common/vec/pixel8.inc:
41934 Merged in deepthidevaki/xhevc_deepthid (pull request #191)
41935
41936 Optimized residual and reconstruction in
41937 xIntraCoding[Luma/Chroma]Blk
41938 [318e10a6a50d]
41939
419402013-06-11 Deepthi Devaki <Deepthi Devaki>
41941
41942 * source/common/primitives.h:
41943 fix for bad commit
41944 [8e690d36e169]
41945
41946 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/macroblock.cpp,
41947 source/common/primitives.h, source/common/vec/macroblock.inc,
41948 source/common/vec/pixel8.inc:
41949 Merge
41950 [16f559d6b0d9]
41951
41952 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
41953 source/common/primitives.h, source/common/vec/pixel.inc,
41954 source/common/vec/pixel8.inc, source/test/pixelharness.cpp,
41955 source/test/pixelharness.h:
41956 Optimized residual and reconstruction in
41957 xIntraCoding[Luma/Chroma]Blk
41958 [df8efcb6d5ab]
41959
419602013-06-11 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
41961
41962 * source/common/macroblock.cpp, source/common/vec/macroblock.inc:
41963 Merged multicoreware/xhevc into default
41964 [f66842baa091]
41965
419662013-06-10 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
41967
41968 * Merged multicoreware/xhevc into default
41969 [f449fe3822e5]
41970
419712013-06-11 ggopu <ggopu>
41972
41973 * source/common/vec/pixel8.inc:
41974 primitives:- implementation of loop unrolling for sad - 8,32,48,64.
41975 Others are not showing performance benefit.
41976 [f09d5d9cf0c3]
41977
419782013-06-10 Steve Borho <steve@borho.org>
41979
41980 * source/encoder/motion.h:
41981 motion: use intptr_t for blockOffset
41982 [bc498b762ad8]
41983
41984 * source/encoder/motion.cpp, source/encoder/motion.h:
41985 motion: remove sadStride member variable
41986 [8f13381a9a50]
41987
41988 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
41989 source/encoder/motion.h:
41990 motion: make motion reference and search limits function arguments
41991
41992 This makes the motion search re-entrant, for a given source PU block
41993 [7a630939cd66]
41994
41995 * source/encoder/motion.cpp, source/encoder/motion.h:
41996 motion: inline qpelSatd
41997 [2ea29b826a89]
41998
41999 * source/encoder/motion.cpp, source/encoder/motion.h:
42000 motion: inline qpelSad function
42001 [13019ff2dfd3]
42002
42003 * source/encoder/motion.cpp, source/encoder/motion.h:
42004 motion: inline the fpelSad() helper function
42005 [e5b9711d3615]
42006
42007 * source/common/vec/CMakeLists.txt, source/common/vec/pixel8.inc:
42008 gcc: unused parameter workarounds
42009 [b8896916d0cf]
42010
42011 * source/common/vec/pixel8.inc:
42012 pixel: override ALWAYSINLINE for the unroll template functions
42013 [07408db373ed]
42014
42015 * source/common/vec/pixel8.inc, source/test/mbdstharness.cpp:
42016 fix GCC compile errors
42017 [51d401251cd2]
42018
42019 * source/common/CMakeLists.txt, source/common/dct.cpp,
42020 source/common/macroblock.cpp, source/common/primitives.cpp,
42021 source/common/vec/CMakeLists.txt, source/common/vec/dct-avx.cpp,
42022 source/common/vec/dct-avx2.cpp, source/common/vec/dct-sse2.cpp,
42023 source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp,
42024 source/common/vec/dct-sse42.cpp, source/common/vec/dct-ssse3.cpp,
42025 source/common/vec/dct.inc, source/common/vec/macroblock.inc,
42026 source/common/vec/vecprimitives.inc:
42027 rename macroblock to dct, split vector primitives into their own C++
42028 files
42029 [ed6cb766af9e]
42030
42031 * source/common/vec/pixel8.inc:
42032 pixel: fix EOLN damage
42033 [045c16364748]
42034
42035 * source/common/vec/pixel8.inc:
42036 pixel: simplify exit logic
42037 [2fa825921a79]
42038
42039 * source/common/vec/pixel8.inc:
42040 pixel: remove pointer offset multiplication
42041 [b7a5ceb6d6c9]
42042
42043 * source/common/vec/pixel8.inc:
42044 pixel: simplify template early-outs
42045 [ddb5937d4ce2]
42046
42047 * Merged in ggopu/gopu_xhevc (pull request #189)
42048
42049 primitives:- loop unrolling using template metaprogramming.
42050 [597cc1154c19]
42051
420522013-06-10 Mandar Gurav <Mandar Gurav>
42053
42054 * source/common/vec/pixel8.inc:
42055 primitives:- loop unrolling using template metaprogramming.
42056 [187b5e63d0c2]
42057
420582013-06-10 Steve Borho <steve@borho.org>
42059
42060 * .hgtags:
42061 Moved tag LASTKNOWNGOOD to changeset 3ec4837e6f6c (from changeset
42062 d60578bec82e)
42063 [72b1768e42cd]
42064
42065 * source/common/macroblock.cpp, source/common/vec/macroblock.inc,
42066 source/encoder/CMakeLists.txt:
42067 fix GCC compile errors
42068 [3ec4837e6f6c]
42069
42070 * source/Lib/TLibEncoder/TEncCu.cpp:
42071 TEncCu: add more missing x265_emms() calls; win32 is broken without
42072 them
42073 [016bad7ac3e4]
42074
42075 * .hgtags:
42076 Moved tag LASTKNOWNGOOD to changeset d60578bec82e (from changeset
42077 681eabf8a086)
42078 [0667ab7fc8ed]
42079
42080 * source/Lib/TLibEncoder/TEncCu.cpp,
42081 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
42082 source/encoder/motion.h:
42083 Merge
42084 [d60578bec82e]
42085
42086 * source/Lib/TLibEncoder/TEncSearch.cpp:
42087 TEncSearch: move QP set much earlier, avoids race hazards
42088 [5fbac3c94918]
42089
42090 * source/Lib/TLibEncoder/TEncCu.cpp,
42091 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
42092 source/encoder/motion.h:
42093 motion: do not use subsampling for bufSAD(), call EMMS where
42094 necessary
42095 [5d8f24205a1c]
42096
420972013-06-11 Deepthi <Deepthi>
42098
42099 * Merge
42100 [d693fcba0feb]
42101
42102 * source/Lib/TLibEncoder/TEncCu.cpp:
42103 Verified that satd cost of orig and final prediction correspond to
42104 those returned from ME.
42105 [3ca77cf0a0da]
42106
42107 * source/Lib/TLibEncoder/TEncSearch.cpp:
42108 Capturing Cost for Mode Decision from Motion Estimation.
42109
42110 Here, TotalCost (which will be used in Mode Decision) is satd +
42111 lambda*MVDbits. This cost needs to be improved by adding
42112 lambda*header(or signalling) bits.
42113 [7a4e397d0703]
42114
421152013-06-10 Steve Borho <steve@borho.org>
42116
42117 * source/Lib/TLibEncoder/TEncAnalyze.h,
42118 source/Lib/TLibEncoder/TEncGOP.cpp:
42119 x265: use stderr and log level consistently for logging output
42120 [6ed146e7e6a2]
42121
421222013-06-10 Min Chen <chenm003@163.com>
42123
42124 * source/common/vec/macroblock.inc:
42125 [review] more optimize for IDCT32x32
42126 --- source/common/vec/macroblock.inc | 114
42127 +++++++++++--------------------------- 1 files changed, 33
42128 insertions(+), 81 deletions(-)
42129 [251c74042c22]
42130
42131 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42132 source/common/primitives.h, source/common/vec/macroblock.inc,
42133 source/test/mbdstharness.cpp:
42134 [PATCH 10/11] [review] merge memcpy with stride into IDCT
42135
42136 From c4ab38c711e073f8e244bac87171b1e762992eed Mon Sep 17 00:00:00
42137 2001
42138 --- source/Lib/TLibCommon/TComTrQuant.cpp | 16 ++----
42139 source/common/macroblock.cpp | 66 ++++++++++++++------
42140 source/common/primitives.h | 3 +- source/common/vec/macroblock.inc |
42141 106 ++++++++++++++++++-------------- source/test/mbdstharness.cpp |
42142 14 ++-- 5 files changed, 120 insertions(+), 85 deletions(-)
42143 [b0bb8b7d2ec1]
42144
42145 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
42146 source/test/mbdstharness.cpp:
42147 [review] replace function xITrMxN by function pointer
42148 --- source/Lib/TLibCommon/TComTrQuant.cpp | 42
42149 ++++----------------------------- source/common/primitives.h | 10
42150 ++++---- source/test/mbdstharness.cpp | 8 +++--- 3 files changed, 14
42151 insertions(+), 46 deletions(-)
42152 [a53a6888afea]
42153
42154 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42155 source/common/primitives.h, source/common/vec/macroblock.inc,
42156 source/test/mbdstharness.cpp:
42157 [review] code for IDCT32x32
42158 --- source/Lib/TLibCommon/TComTrQuant.cpp | 8 +-
42159 source/common/macroblock.cpp | 11 + source/common/primitives.h | 1 +
42160 source/common/vec/macroblock.inc | 1533
42161 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 1 +
42162 5 files changed, 1547 insertions(+), 7 deletions(-)
42163 [313549dc567d]
42164
42165 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42166 source/common/primitives.h, source/common/vec/macroblock.inc,
42167 source/test/mbdstharness.cpp:
42168 [review] code for IDCT16x16
42169 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
42170 source/common/macroblock.cpp | 11 + source/common/primitives.h | 1 +
42171 source/common/vec/macroblock.inc | 1449
42172 +++++++++++++++++++++++---------- source/test/mbdstharness.cpp | 19
42173 +- 5 files changed, 1042 insertions(+), 441 deletions(-)
42174 [6ffb16e28ec2]
42175
42176 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
42177 fix bug in testbench
42178 --- source/test/mbdstharness.cpp | 47
42179 +++++++++++++++++++++++++---------------- source/test/mbdstharness.h
42180 | 4 +- 2 files changed, 31 insertions(+), 20 deletions(-)
42181 [b5414396d60d]
42182
42183 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42184 source/common/primitives.h, source/common/vec/macroblock.inc,
42185 source/test/mbdstharness.cpp:
42186 [review] code for IDCT8x8
42187 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
42188 source/common/macroblock.cpp | 11 ++ source/common/primitives.h | 1
42189 + source/common/vec/macroblock.inc | 252
42190 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 1 +
42191 5 files changed, 266 insertions(+), 2 deletions(-)
42192 [fa33207d7309]
42193
42194 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42195 source/common/primitives.h, source/common/vec/macroblock.inc,
42196 source/test/mbdstharness.cpp:
42197 [review] code for IDCT4x4
42198 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 +-
42199 source/common/macroblock.cpp | 11 ++++ source/common/primitives.h |
42200 1 + source/common/vec/macroblock.inc | 103
42201 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 1 +
42202 5 files changed, 120 insertions(+), 2 deletions(-)
42203 [6900a1238ea5]
42204
42205 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
42206 more general testbench
42207 --- source/test/mbdstharness.cpp | 52
42208 ++++++----------------------------------- source/test/mbdstharness.h
42209 | 3 +- 2 files changed, 9 insertions(+), 46 deletions(-)
42210 [fbdad5a9a376]
42211
42212 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42213 source/common/primitives.h, source/common/vec/macroblock.inc,
42214 source/test/mbdstharness.cpp:
42215 [review] code for IDST4x4
42216 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
42217 source/common/macroblock.cpp | 11 +++ source/common/primitives.h | 1
42218 + source/common/vec/macroblock.inc | 115
42219 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 10
42220 +++ 5 files changed, 138 insertions(+), 2 deletions(-)
42221 [ee73706fab63]
42222
42223 * source/test/mbdstharness.cpp:
42224 ident
42225 --- source/test/mbdstharness.cpp | 2 +- 1 files changed, 1
42226 insertions(+), 1 deletions(-)
42227 [1616a4a66f8a]
42228
422292013-06-10 Steve Borho <steve@borho.org>
42230
42231 * source/encoder/compress.cpp:
42232 compress: fix eoln and VC9 compile
42233 [89957326ec3e]
42234
42235 * source/encoder/motion.cpp:
42236 motion: improve cost comment
42237 [c342a23c05a6]
42238
42239 * Merged in deepthidevaki/xhevc_deepthid (pull request #188)
42240
42241 32x32 intraAng with intrinsics - Reduced build time in MSVC
42242 [1d4db3d80b2d]
42243
422442013-06-10 Deepthi Devaki <Deepthi Devaki>
42245
42246 * source/common/vec/intrapred.inc:
42247 Merge
42248 [7525ac0b99d9]
42249
42250 * source/test/intrapredharness.cpp:
42251 Include 32x32 IntraAng in testbench
42252 [4c815940f610]
42253
42254 * source/common/vec/intrapred.inc:
42255 removing unwanted comments
42256 [ec956b124b97]
42257
42258 * source/common/vec/intrapred.inc:
42259 32x32 intraAng with intrinsics - Reduced build time in MSVC
42260 [079d9456f248]
42261
422622013-06-10 Deepthi <Deepthi>
42263
42264 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
42265 More cleanup
42266 [ff59c5d68841]
42267
42268 * source/Lib/TLibEncoder/TEncCu.cpp,
42269 source/Lib/TLibEncoder/TEncSearch.cpp,
42270 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
42271 Removing extraneous arguments to predInterSearch
42272 [9999fc1a7939]
42273
42274 * source/Lib/TLibEncoder/TEncCu.cpp:
42275 Replacing xcompressCU with xCompressInterCU
42276 [cf88ab9b2ad2]
42277
42278 * source/encoder/compress.cpp:
42279 Finetuning xComputeCostInter
42280 [cd37abe9c70b]
42281
42282 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
42283 source/Lib/TLibCommon/TypeDef.h,
42284 source/Lib/TLibEncoder/TEncEntropy.cpp,
42285 source/Lib/TLibEncoder/TEncEntropy.h,
42286 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.h,
42287 source/common/vec/macroblock.inc,
42288 source/common/vec/vecprimitives.inc:
42289 backout e200a6011f23: causes crash.
42290 [00190abfbdbf]
42291
42292 * Merge
42293 [621c6f8f64e0]
42294
42295 * source/encoder/motion.cpp:
42296 Comment for clarification of the term "cost" used in ME.
42297
42298 In general, we can try to use the following terms in a consistent
42299 manner. 1. Distortion: This is the actual distortion produced in the
42300 image due to any of the lossy components in video compression (block
42301 matching, quant, filtering etc etc). In prediction, we can define
42302 this as the satd/sad between orig and predicted image. 2. Bits: no.
42303 of bits used in representing that particular mode. 3. Cost or
42304 TotalCost = Distortion + lambda*bits.
42305
42306 Appending cost to either satd/bits is to be generally avoided.
42307 [69ea081b98a6]
42308
42309 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
42310 Define xComputeCostInter.
42311
42312 Early skip detection always ON. If skip detected, exit early.
42313 [e4f2d46c69fe]
42314
42315 * source/Lib/TLibCommon/TComDataCU.cpp:
42316 Implementation of copyCU member function.
42317 [3ba1b81f83df]
42318
42319 * source/Lib/TLibCommon/TComDataCU.h:
42320 Adding more access functions; declaring a copyCU member function to
42321 copy Search results.
42322 [3173379b20a0]
42323
423242013-06-09 Deepthi <Deepthi>
42325
42326 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
42327 4 temporary structs for 2nx2nInter, InterRect, IntrainInter, and
42328 Merge
42329 [32ea45399897]
42330
42331 * source/encoder/compress.cpp:
42332 Recursive calls to xcompressInterCU
42333 [c307d3211445]
42334
42335 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
42336 Adding xcompressInterCU; removing irrelevant if-checks
42337 [96c054b8187b]
42338
42339 * Merge
42340 [9bc61fc21444]
42341
42342 * source/encoder/CMakeLists.txt, source/encoder/compress.cpp,
42343 source/encoder/compress.h:
42344 Adding compress.cpp and compress.h for the new mode decision
42345 algorithm.
42346 [6b5cb6739108]
42347
423482013-06-10 Steve Borho <steve@borho.org>
42349
42350 * source/encoder/slicetype.cpp:
42351 slicetype: remove functions we will not need anytime soon
42352 [01a345bdfccc]
42353
423542013-06-09 Steve Borho <steve@borho.org>
42355
42356 * doc/LookaheadGuide.txt, source/encoder/slicetype.cpp:
42357 Borrow slicetype.c from x264 as slicetype.cpp
42358
42359 This file was taken from x264 source tree circa Dec 4, 2012 with
42360 x264 bug fixes applied from Dec 11th and Jan 8th 2013. But without
42361 taking any of the slice threading changes because we will eventually
42362 use the x265 thread pool and wavefront scheduling.
42363 [1fd9e6a154dc]
42364
42365 * source/Lib/TLibEncoder/TEncTop.h:
42366 TEncTop: reorder members together, prepare for reorg
42367 [8725f199bac5]
42368
42369 * source/common/vec/vecprimitives.inc:
42370 vec: add comments on where external functions are found
42371 [5df470615208]
42372
42373 * source/common/vec/macroblock.inc,
42374 source/common/vec/vecprimitives.inc:
42375 vec: move includes into vecprimitives.inc
42376
42377 macroblock.inc is included inside an anonymous namespace, and cannot
42378 include headers itself.
42379 [b80c25641411]
42380
423812013-06-09 Min Chen <chenm003@163.com>
42382
42383 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42384 source/common/vec/macroblock.inc, source/test/mbdstharness.cpp,
42385 source/test/mbdstharness.h:
42386 [review] code for DCT4x4
42387 --- source/Lib/TLibCommon/TComTrQuant.cpp | 6 ++-
42388 source/common/macroblock.cpp | 11 ++++
42389 source/common/vec/macroblock.inc | 82
42390 +++++++++++++++++++++++++++++++++ source/test/testbench.cpp | 2 +-
42391 source/test/mbdstharness.cpp | 30 ++++++++++++
42392 source/test/mbdstharness.h | 1 + 6 files changed, 129 insertions(+),
42393 3 deletions(-)
42394 [2622ba58e755]
42395
42396 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp,
42397 source/common/primitives.h, source/common/vec/macroblock.inc,
42398 source/test/mbdstharness.cpp, source/test/mbdstharness.h:
42399 [review] code for DCT8x8
42400 --- source/Lib/TLibCommon/TComTrQuant.cpp | 3 +-
42401 source/common/macroblock.cpp | 11 ++ source/common/primitives.h | 12
42402 ++ source/common/vec/macroblock.inc | 275
42403 +++++++++++++++++++++++++++++++++ source/test/mbdstharness.cpp | 50
42404 ++++++ source/test/mbdstharness.h | 1 + 6 files changed, 350
42405 insertions(+), 2 deletions(-)
42406 [d2175819e669]
42407
42408 * source/Lib/TLibCommon/TComTrQuant.cpp:
42409 replace by const
42410 --- source/Lib/TLibCommon/TComTrQuant.cpp | 12 ++++++------ 1 files
42411 changed, 6 insertions(+), 6 deletions(-)
42412 [2ea982400b90]
42413
42414 * source/Lib/TLibEncoder/TEncSbac.cpp:
42415 little optimize in TEncSbac::codeLastSignificantXY
42416 --- source/Lib/TLibEncoder/TEncSbac.cpp | 10 ++-------- 1 files
42417 changed, 2 insertions(+), 8 deletions(-)
42418 [145223d77222]
42419
42420 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
42421 source/Lib/TLibCommon/TypeDef.h,
42422 source/Lib/TLibEncoder/TEncEntropy.cpp,
42423 source/Lib/TLibEncoder/TEncEntropy.h,
42424 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.h,
42425 source/common/vec/macroblock.inc,
42426 source/common/vec/vecprimitives.inc:
42427 optimize TEncSbac::codeCoeffNxN by new function scanNonZeroCoeffs
42428 --- source/Lib/TLibCommon/TComRom.cpp | 23 +++++
42429 source/Lib/TLibCommon/TComRom.h | 2 +
42430 source/Lib/TLibCommon/TypeDef.h | 1 +
42431 source/Lib/TLibEncoder/TEncEntropy.cpp | 12 ---
42432 source/Lib/TLibEncoder/TEncEntropy.h | 1 -
42433 source/Lib/TLibEncoder/TEncSbac.cpp | 59 ++++---------
42434 source/common/primitives.h | 2 + source/common/vec/macroblock.inc |
42435 146 ++++++++++++++++++++++++++++++++
42436 source/common/vec/vecprimitives.inc | 2 + 9 files changed, 194
42437 insertions(+), 54 deletions(-)
42438 [e200a6011f23]
42439
424402013-06-08 Steve Borho <steve@borho.org>
42441
42442 * source/common/primitives.h, source/common/x86/asm-primitives.cpp:
42443 primitives: disable EMMS usage on x64 compiles
42444 [d9f7525c4adf]
42445
424462013-06-08 Min Chen <chenm003@163.com>
42447
42448 * source/Lib/TLibEncoder/TEncSearch.cpp:
42449 reduce EMMS when there NO Double operator
42450 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +- 1 files changed, 1
42451 insertions(+), 1 deletions(-)
42452 [f61a08dec7b7]
42453
424542013-06-08 Steve Borho <steve@borho.org>
42455
42456 * source/x265.cpp:
42457 x265: report elapsed time in final logging output
42458 [264f4853796c]
42459
424602013-06-08 Min Chen <chenm003@163.com>
42461
42462 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
42463 asm: use assembly SSD routines, where applicable
42464 --- source/common/x86/asm-primitives.cpp | 5 +++++
42465 source/common/x86/pixel-a.asm | 6 ++++++ 2 files changed, 11
42466 insertions(+), 0 deletions(-)
42467 [c67c9f5fd4b5]
42468
424692013-06-07 Steve Borho <steve@borho.org>
42470
42471 * source/test/pixelharness.cpp:
42472 pixelharness: repair the pixel correctness tests
42473 [7710c496c0bb]
42474
42475 * source/common/x86/asm-primitives.cpp:
42476 Backed out changeset: e040de3904a6 (appears to break some PCs)
42477 [cb5a4206160e]
42478
42479 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
42480 wavefront: move CU processing into a CTURow method
42481 [2d7570e3eab0]
42482
42483 * source/test/testbench.cpp:
42484 testbench: add support for --test NAME argument
42485
42486 ex: TestBench --test pix
42487
42488 Only tests pixel primitives
42489 [c5f0c45e6198]
42490
42491 * source/test/intrapredharness.h, source/test/ipfilterharness.h,
42492 source/test/mbdstharness.h, source/test/pixelharness.h,
42493 source/test/testbench.cpp, source/test/testharness.h:
42494 testbench: add test bench names
42495 [c6fe42bb96f1]
42496
42497 * source/test/testbench.cpp:
42498 testbench: stop testing C prims against themselves. show SIMD names
42499 [a88d84ce9391]
42500
42501 * source/common/primitives.cpp:
42502 primitives: remove unused variable
42503 [078d513b8ce7]
42504
42505 * source/common/x86/asm-primitives.cpp:
42506 asm: use assembly SSD routines, where applicable
42507 [e040de3904a6]
42508
42509 * source/common/x86/CMakeLists.txt:
42510 cmake: add pixel.h to solution, for easy access from MSVC
42511 [88b81e0565f0]
42512
42513 * source/common/primitives.h:
42514 primitives: note that SSE primitives make no alignment assumptions
42515 [de9847f38e29]
42516
42517 * source/x265.cpp:
42518 x265: move CPU detection and primitive initialization after file
42519 init
42520 [1047b745f04f]
42521
42522 * source/common/common.cpp, source/x265.cpp:
42523 x265: report input file data all one one line. Do not repeat input
42524 filename
42525 [42fac954412a]
42526
42527 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
42528 input: add getName() method
42529 [27549dbae44b]
42530
42531 * source/Lib/TLibEncoder/TEncAnalyze.h:
42532 x265: report global bitrate
42533 [8a1ebb2da93c]
42534
42535 * source/Lib/TLibEncoder/TEncAnalyze.h:
42536 x265: indicate bitrate in frame logging same as other places
42537 [4bc3d0f8cf5f]
42538
42539 * source/Lib/TLibCommon/TComSlice.cpp,
42540 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
42541 source/Lib/TLibEncoder/TEncGOP.cpp,
42542 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
42543 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
42544 source/Lib/TLibEncoder/TEncSlice.cpp:
42545 Remove SAO_CHROMA_LAMBDA define, assume enabled
42546 [49160bd03b96]
42547
42548 * source/Lib/TLibCommon/TComTrQuant.h,
42549 source/Lib/TLibCommon/TypeDef.h,
42550 source/Lib/TLibEncoder/TEncSearch.cpp,
42551 source/Lib/TLibEncoder/TEncSlice.cpp:
42552 Remove RDOQ_CHROMA_LAMBDA define, assume enabled
42553 [915c857b3074]
42554
42555 * source/Lib/TLibEncoder/TEncSearch.cpp:
42556 nit
42557 [5a4710c63060]
42558
42559 * source/Lib/TLibEncoder/TEncSearch.cpp:
42560 TEncSearch: replace another copy loop with a primitive
42561 [8e5ed1f84fe9]
42562
42563 * source/Lib/TLibEncoder/TEncSearch.cpp:
42564 TEncSearch: inline primitive arguments, remove unused var
42565 [850ab8ac45fa]
42566
42567 * source/Lib/TLibCommon/TComRdCost.cpp,
42568 source/Lib/TLibCommon/TComRdCost.h:
42569 TComRdCost: remove all three getDistPart()
42570 [0f089c76a5c9]
42571
42572 * source/Lib/TLibCommon/TComRdCost.h,
42573 source/Lib/TLibEncoder/TEncSearch.cpp:
42574 TEncSearch: restore xTZSearchHelp() to its former simplicity
42575 [9bdce4f90c1a]
42576
42577 * Merged in ggopu/gopu_xhevc (pull request #187)
42578
42579 TEncodeSearch: Removed getDistPart() replaced with sse Primitives
42580 [20d3411fb757]
42581
425822013-06-07 ggopu <ggopu>
42583
42584 * source/Lib/TLibCommon/TComRdCost.h,
42585 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/vec/sse.inc:
42586 TEncodeSearch: Removed getDistPart() replaced with sse Primitives
42587 [ca1959805ada]
42588
425892013-06-07 Steve Borho <steve@borho.org>
42590
42591 * source/common/vec/intrapred.inc:
42592 Merged in deepthidevaki/xhevc_deepthid (pull request #185)
42593
42594 Added IntraAngular modes for chroma
42595 [573411ef9172]
42596
425972013-06-07 Deepthi Devaki <Deepthi Devaki>
42598
42599 * source/common/vec/intrapred.inc:
42600 Added bFilter in call for 16x16 for chroma
42601 [ac2aa44b996b]
42602
42603 * source/common/vec/intrapred.inc:
42604 Merge
42605 [22c9294eb683]
42606
42607 * source/Lib/TLibCommon/TComPrediction.cpp,
42608 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
42609 IntraAngular adapted for Chroma application
42610 [18843443dc21]
42611
426122013-06-07 Min Chen <chenm003@163.com>
42613
42614 * source/common/vec/intrapred.inc:
42615 intrapred: fix bug on VC9-x64, the pextrw instruction very easy make
42616 bug in VS2008
42617 --- source/common/vec/intrapred.inc | 3 +-- 1 files changed, 1
42618 insertions(+), 2 deletions(-)
42619 [105c01ee73d9]
42620
426212013-06-07 nandaku2 <deepthi@multicorewareinc.com>
42622
42623 * source/Lib/TLibEncoder/TEncCu.cpp:
42624 Merged in sumalatha/xhevc_sumalatha (pull request #186)
42625
42626 missed in previous checkin
42627 [772be4365f2d]
42628
426292013-06-07 sumalatha <sumalatha>
42630
42631 * source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.cpp:
42632 missed in previous checkin for CU_STAT_LOGFILE
42633 [0e9f956c7cd5]
42634
426352013-06-07 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
42636
42637 * source/x265.cpp:
42638 Merged multicoreware/xhevc/default into default (e5a96e958371)
42639 [1b1235269f98]
42640
42641 * source/Lib/TLibEncoder/TEncCu.cpp,
42642 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp:
42643 Merged multicoreware/xhevc/default into default (f4815a9f6747)
42644 [e5a96e958371]
42645
426462013-06-06 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
42647
42648 * Merged multicoreware/xhevc/default into default (4f45fd8e9ea8)
42649 [f4815a9f6747]
42650
42651 * source/Lib/TLibEncoder/TEncCu.cpp,
42652 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
42653 source/x265.h:
42654 Merged multicoreware/xhevc/default into default (6dc2e5b6c1d4)
42655 [4f45fd8e9ea8]
42656
426572013-06-05 sumalatha <sumalatha>
42658
42659 * source/Lib/TLibEncoder/TEncCu.cpp,
42660 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
42661 source/x265.h:
42662 Backed out changeset: 683fbbf6818d
42663 [6dc2e5b6c1d4]
42664
42665 * source/Lib/TLibEncoder/TEncCu.cpp,
42666 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
42667 source/x265.h:
42668 added logging to collect statistics related to mode decision
42669 [683fbbf6818d]
42670
426712013-06-07 Deepthi <Deepthi>
42672
42673 * Merge
42674 [f1fd893cab78]
42675
42676 * source/Lib/TLibEncoder/TEncCu.cpp:
42677 Introducing satd based Intra in Inter: quality slowly climbing up
42678 (0.4 dB less), bitrate equal to RDO-based.
42679 [e654eb6fdb2c]
42680
42681 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
42682 CheckRDCostIntrainInter: so we can simplify Intra in Inter without
42683 affecting I-slice decisions.
42684 [8eca9075cfe0]
42685
426862013-06-07 Steve Borho <steve@borho.org>
42687
42688 * source/x265.cpp:
42689 x265: remove obsolete printf argument
42690 [4ff9a3f7639f]
42691
426922013-06-06 Steve Borho <steve@borho.org>
42693
42694 * source/Lib/TLibEncoder/TEncAnalyze.h,
42695 source/Lib/TLibEncoder/TEncGOP.cpp, source/x265.cpp:
42696 x265: adapt statistic logging to look more like x264
42697 [2df6841df3ab]
42698
42699 * source/x265.cpp:
42700 x265: report final FPS and bitrate as x264 does
42701 [465450a1ffa7]
42702
42703 * source/PPA/ppaCPUEvents.h, source/common/reference.cpp,
42704 source/common/reference.h:
42705 reference: up to 16 threads used for subpel interpolation
42706 [ef3d597154d9]
42707
42708 * source/common/reference.cpp, source/common/reference.h:
42709 reference: up to 9 threads used for subpel interpolation
42710 [fa007c214c1f]
42711
42712 * source/common/reference.cpp:
42713 reference: fix eoln
42714 [83a646b6f94e]
42715
42716 * source/Lib/TLibCommon/TComPicYuv.cpp,
42717 source/Lib/TLibCommon/TComPicYuv.h,
42718 source/Lib/TLibCommon/TComSlice.cpp, source/common/reference.cpp,
42719 source/common/reference.h:
42720 reference: use thread pool to interpolate references, up to 4
42721 threads
42722 [299bcbf0b763]
42723
42724 * source/common/threadpool.cpp, source/common/threadpool.h:
42725 threadpool: add accessor to static var that doesn't increase ref
42726 count
42727 [6cf0b85a4e38]
42728
42729 * source/common/reference.h:
42730 reference: use intptr_t for pointer offset m_offsetToLuma
42731 [32bcc907c80f]
42732
42733 * source/common/reference.cpp, source/common/reference.h:
42734 reference: remove redundant variables
42735 [75abe6a7275e]
42736
42737 * source/common/reference.cpp:
42738 reference: simplify and correct some math
42739 [5a5edf293002]
42740
42741 * source/common/reference.cpp, source/common/reference.h:
42742 reference: split out compute per horizontal qpel offset
42743 [bfb389d9b26a]
42744
42745 * source/common/vec/intrapred.inc:
42746 intrapred: allow non-MSVC compilers to build intra 32x32
42747 [95769be84f67]
42748
42749 * source/common/reference.cpp, source/common/reference.h:
42750 reference: move temp vars to be class members
42751
42752 Normally this wouldn't be helpful but since this routine is about to
42753 be threaded, this helps work efficiency
42754 [4707e4389160]
42755
42756 * source/Lib/TLibEncoder/TEncSlice.cpp, source/PPA/ppaCPUEvents.h:
42757 PPA: add event for TEncSlice_encodeSlice
42758 [f0fe1b23b93a]
42759
42760 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppaCPUEvents.h,
42761 source/common/reference.cpp, source/encoder/wavefront.cpp:
42762 PPA: tweak events to more easily analyse threading
42763
42764 GenerateReferencePlanes has improved from 60ms to 56ms in the last 6
42765 commits (measuring on HD video). Each plane costs 3.7ms
42766 [ecbbfa05934d]
42767
42768 * source/common/reference.cpp:
42769 reference: directly use full-pel plane from TComPicYuv - do not copy
42770 [b2aa11f00641]
42771
42772 * source/common/reference.cpp:
42773 reference: reduce redunant calculations
42774 [4311f9eda5c6]
42775
42776 * source/common/reference.cpp:
42777 reference: reduce redunant calculations
42778 [418ef065cd76]
42779
42780 * source/common/reference.cpp:
42781 reference: reduce redunant calculations
42782 [efcf8e88705c]
42783
42784 * source/common/reference.cpp:
42785 reference: reduce redunant calculations
42786 [51ffeea76d4b]
42787
42788 * source/common/reference.cpp:
42789 reference: unroll plane extensions
42790 [411cb75acef5]
42791
42792 * source/common/reference.cpp, source/common/reference.h:
42793 reference: combine functions
42794 [831ab4d28f46]
42795
427962013-06-07 Deepthi <Deepthi>
42797
42798 * Merge
42799 [7ea20ea451eb]
42800
42801 * source/Lib/TLibEncoder/TEncCu.cpp:
42802 Replacing Merge distortion with satd costs.
42803
42804 However, this badly thrashes quality - I suspect this is due to
42805 lower distortion values from satd for the merge-zero residual mode.
42806 We need to finetune the merge distortion model.
42807 [0d0adf325e0d]
42808
428092013-06-06 Steve Borho <steve@borho.org>
42810
42811 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp:
42812 re-enable forceinline for intra AVX and SSE42
42813 [9567c46f3511]
42814
42815 * Merged in deepthidevaki/xhevc_deepthid (pull request #184)
42816
42817 intrinsics in IntraAng
42818 [1c7ce772c0b7]
42819
428202013-06-06 Deepthi Devaki <Deepthi Devaki>
42821
42822 * source/common/vec/intrapred.inc:
42823 Expanded some of the Macros in 32x32 IntraAng with intention to
42824 improve compile time.
42825 [18f485d4e06f]
42826
42827 * source/common/vec/intrapred.inc:
42828 Intrinsics added in 32x32 Macros.
42829 [105bb52b4414]
42830
42831 * source/common/vec/intrapred.inc:
42832 More intrinsics in 16x16
42833 [eaab40490386]
42834
42835 * source/common/vec/intrapred.inc:
42836 Intrinsics in MACRO for 16x16
42837 [dea89dcfa4c8]
42838
428392013-06-06 Deepthi <Deepthi>
42840
42841 * source/Lib/TLibEncoder/TEncSearch.cpp:
42842 Using bits estimate from RDO instead of ME estimate.
42843
42844 Using the bits estimate from RDO gives 0.5dB loss and 10% bitrate
42845 increase. Using bits estimate from ME gives 30% bitrate increase and
42846 0.7dB loss. ToDo: replace RDO bits estimate with a carefully
42847 calculated estimate.
42848 [6657cc220ef5]
42849
42850 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
42851 Cleanup: remove CalcRDCostInter/Intra
42852 [ae86f626666c]
42853
428542013-06-06 sumalatha <sumalatha>
42855
42856 * source/Lib/TLibEncoder/TEncSearch.cpp:
42857 incremental changes - commit to add logs for rdo, satd cost.
42858 [d021c4d5e43f]
42859
428602013-06-06 Deepthi <Deepthi>
42861
42862 * source/Lib/TLibEncoder/TEncCu.cpp,
42863 source/Lib/TLibEncoder/TEncSearch.cpp:
42864 CU_STAT patch from Aarthi/Sumalatha
42865 [14aa8db979f8]
42866
42867 * source/Lib/TLibEncoder/TEncCu.cpp,
42868 source/Lib/TLibEncoder/TEncSearch.cpp:
42869 Merge
42870 [aa89281d6517]
42871
42872 * source/Lib/TLibEncoder/TEncCu.cpp:
42873 Merge
42874 [b77d5500205d]
42875
42876 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
42877 source/Lib/TLibEncoder/TEncSearch.cpp:
42878 Modeling SATD distortion
42879 [5158e6a3466e]
42880
428812013-06-05 Steve Borho <steve@borho.org>
42882
42883 * source/common/vec/intrapred.inc:
42884 intrapred: move another file static init into setup func
42885 [3ec88cd25ae6]
42886
42887 * source/common/reference.cpp:
42888 reference: nit
42889 [9f64d9a6a9f8]
42890
42891 * source/common/reference.cpp:
42892 reference: use a single temp buffer
42893 [287576ca5ad2]
42894
42895 * source/common/reference.cpp:
42896 reference: remove unused assignment
42897 [650800e42016]
42898
42899 * source/common/reference.cpp:
42900 reference: reorder plane generations
42901 [9c8caf38d14f]
42902
42903 * source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.cpp,
42904 source/common/reference.h, source/encoder/motion.cpp,
42905 source/encoder/motion.h:
42906 reference: use m_ prefix for member variables
42907 [15ea880c0ffd]
42908
42909 * source/encoder/motion.cpp, source/encoder/motion.h:
42910 motion: drop chroma fenc plane pointers, unused
42911 [b13ccd8af6ea]
42912
42913 * source/Lib/TLibCommon/TComPicYuv.cpp,
42914 source/Lib/TLibCommon/TComPicYuv.h,
42915 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/CMakeLists.txt,
42916 source/common/reference.cpp, source/common/reference.h,
42917 source/encoder/motion.h:
42918 reference: move reference plane generation into new common/ files
42919 [2b62bd9493e0]
42920
429212013-06-06 ShinYee Chung <shinyee@multicorewareinc.com>
42922
42923 * source/test/pixelharness.cpp:
42924 pixelharness: Fix missing header for SHRT_MAX.
42925 [ec399d4f91f0]
42926
42927 * source/common/pixel.cpp, source/common/vec/pixel.inc:
42928 vec: Fix macro paste problem due to invalid tokens.
42929
42930 error: pasting "." and "sad" does not give a valid preprocessing
42931 token error: pasting "sse" and "<" does not give a valid
42932 preprocessing token
42933 [f0bee4bc5ab8]
42934
429352013-06-05 Steve Borho <steve@borho.org>
42936
42937 * source/common/vec/macroblock.inc:
42938 macroblock: prevent VC9 x64 from building SSE4 intrinsic butterfly
42939 primitives
42940
42941 Specifically the butterfly32 crashes and butterfly8 fails unit tests
42942 [cc3701060a60]
42943
42944 * source/common/common.h:
42945 common: disable logging by default
42946 [fb8d4ef3eed1]
42947
42948 * source/x265.cpp:
42949 remove redundant fclose()
42950 [1192519fe4cc]
42951
42952 * source/Lib/TLibEncoder/TEncCu.cpp,
42953 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.h,
42954 source/x265.cpp:
42955 rename LOGGING to CU_STAT_LOGFILE
42956 [436ebbab3ba2]
42957
42958 * source/Lib/TLibEncoder/TEncCu.cpp,
42959 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.h,
42960 source/x265.h:
42961 move LOGGING define to common.h
42962 [f2ea9f497340]
42963
42964 * source/Lib/TLibCommon/TComRdCost.cpp:
42965 TComRdCost: use its own helper function consistently
42966 [4b036d5114f8]
42967
42968 * source/Lib/TLibCommon/TComRdCost.h:
42969 TComRdCost: reorder methods, no change
42970 [b076f3dd0351]
42971
42972 * source/Lib/TLibCommon/TComRdCost.h:
42973 TComRdCost: remove two unused member variables
42974
42975 They were moved to DistParam and never removed from here
42976 [c5008c610656]
42977
42978 * source/Lib/TLibCommon/TComDataCU.cpp,
42979 source/Lib/TLibCommon/TComDataCU.h:
42980 TComDataCU: remove unused slow bit counting methods
42981
42982 These weren't being used at all; not sure if they were used in dead
42983 code paths we've pruned or if all of its users were moved to
42984 TComRdCost
42985 [971fe0131bd5]
42986
42987 * source/Lib/TLibEncoder/TEncSearch.cpp:
42988 TEncSearch: remove old commented code, can no longer be used
42989 [cda2e64d596c]
42990
42991 * source/Lib/TLibCommon/TComRdCost.cpp,
42992 source/Lib/TLibCommon/TComRdCost.h:
42993 TComRdCost: remove getCost(x, y), getBits(x, y), and
42994 xGetComponentBits()
42995 [0e4510344de3]
42996
42997 * source/Lib/TLibEncoder/TEncSearch.cpp:
42998 TEncSearch: replace TComRdCost::getCost(x,y) with BitCost::mvcost
42999 [CHANGE]
43000
43001 Changes outputs of --me 4 (HM orig) slightly. Does not affect other
43002 ME modes, which were already using mvcost()
43003 [1058053226f4]
43004
43005 * source/common/vec/pixel.inc, source/common/vec/sse.inc,
43006 source/test/pixelharness.cpp:
43007 Backed out changeset: ce41a92cec25
43008 [0720ed17000a]
43009
43010 * source/common/vec/intrapred.inc:
43011 intrapred: remove const from file static vars
43012
43013 The compiler was ignoring my const_cast<> and discarding the
43014 assignments. My guess is that it had inlined the constants (known to
43015 be zero) into the routines
43016 [6c44353bb63f]
43017
43018 * source/common/vec/intrapred.inc:
43019 intra: disable 32x32 temporarily, to save MSVC build times
43020
43021 Once the key macros have been made pure-intrinsic, it should be safe
43022 to build these again with MSVC.
43023 [1ae62e55635c]
43024
43025 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
43026 wavefront: uncrustify
43027 [cec743da6f0e]
43028
43029 * source/Lib/TLibEncoder/TEncCu.cpp,
43030 source/Lib/TLibEncoder/TEncSlice.cpp:
43031 TEncCu, TEncSlice: uncrustify
43032 [dcad39643221]
43033
43034 * source/common/vec/intrapred.inc:
43035 intrapred: move static variable initialization to init time
43036
43037 Allow CPU detection to avoid initializing static vars that might use
43038 illegal instructions.
43039 [b7fa5ee0ff52]
43040
430412013-06-05 ggopu <ggopu>
43042
43043 * source/common/vec/pixel.inc, source/common/vec/sse.inc,
43044 source/test/pixelharness.cpp:
43045 primitives: implementation of sse_ss, sse_sp, sse_pp : Comment out
43046 crashing part
43047 [ce41a92cec25]
43048
43049 * source/test/pixelharness.cpp, source/test/pixelharness.h:
43050 primitives: implementation of sse_ss, sse_sp, sse_pp : Quick fix
43051 [fa56753ac713]
43052
43053 * source/common/pixel.cpp, source/common/primitives.h,
43054 source/common/vec/CMakeLists.txt, source/common/vec/pixel.inc,
43055 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
43056 source/common/vec/sse.inc, source/test/pixelharness.cpp:
43057 primitives: implementation of sse_ss, sse_sp, sse_pp
43058 [7e9174316989]
43059
430602013-06-05 Deepthi <Deepthi>
43061
43062 * Merge
43063 [2cf7f7189f52]
43064
43065 * source/Lib/TLibEncoder/TEncCu.cpp,
43066 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
43067 source/x265.h:
43068 Logging statistics showing CU mode types and partition sizes - patch
43069 from Aarthi/Sumalatha.
43070 [5679059e8c2d]
43071
43072 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
43073 Do not repeat encRes for merge mode
43074 [ed6c51f1274e]
43075
430762013-06-05 Steve Borho <steve@borho.org>
43077
43078 * .hgtags:
43079 Added tag LASTKNOWNGOOD for changeset 681eabf8a086
43080 [ce241499c41d]
43081
43082 * source/Lib/TLibEncoder/TEncSearch.cpp:
43083 TEncSearch: nits, no change
43084 [30fc780867a3]
43085
430862013-06-04 Steve Borho <steve@borho.org>
43087
43088 * source/encoder/wavefront.cpp:
43089 wavefront: re-order initializations to make GCC happy
43090 [86059d10c1da]
43091
43092 * source/Lib/TLibEncoder/TEncCavlc.h:
43093 TEncCavlc: remove unused formal parameter names, avoid GCC warnings
43094 [189c561de3cd]
43095
43096 * source/encoder/wavefront.cpp:
43097 wavefront: remove clumsy logic where codeRow could be different for
43098 goOnSBac
43099 [2b27bd6e3c0e]
43100
43101 * source/encoder/encoder.cpp:
43102 encoder: mark WPP disabled if thread pool has only one thread
43103
43104 Either the user requested --threads 1, or auto-detect only found 1
43105 CPU core
43106 [051e5dab1985]
43107
43108 * source/Lib/TLibEncoder/TEncSlice.cpp:
43109 nit
43110 [fd22c2f571ce]
43111
43112 * source/Lib/TLibEncoder/TEncSlice.cpp:
43113 TEncSlice: remove include of omp.h
43114 [f3a40c7d2ec5]
43115
43116 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.cpp,
43117 source/encoder/wavefront.h:
43118 wavefront: further cleanups
43119 [70edba386b16]
43120
43121 * source/encoder/wavefront.cpp:
43122 wavefront: remove unnecessary re-alloc of buffer Sbac coders
43123 [f559d0f9c927]
43124
43125 * source/Lib/TLibEncoder/TEncSlice.cpp,
43126 source/Lib/TLibEncoder/TEncSlice.h,
43127 source/Lib/TLibEncoder/TEncTop.h:
43128 TEncTop: completely remove singleton TComRdCost, force use of
43129 EncodeFrame
43130 [6134af9537f2]
43131
43132 * source/x265.cpp:
43133 x265: remove old comment
43134 [9cbadcbf9af5]
43135
43136 * source/encoder/wavefront.cpp:
43137 wavefront: move flush and deletions to destroy method
43138 [2c6debbdea1d]
43139
43140 * source/encoder/wavefront.cpp:
43141 wavefront: eliminate redundant assignments
43142 [8a6c3172ad9e]
43143
43144 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
43145 source/encoder/wavefront.cpp:
43146 TEncCu: CU should use row local m_cRdCost so lambda is allowed to
43147 diverge
43148 [cb1c0f4fe4d2]
43149
43150 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.h:
43151 distribute lambda and chroma weights to thread m_cRdCost (fixes non-
43152 determinism)
43153
43154 it seems --me 4 and --wpp is still non-deterministic, just not
43155 nearly as much.
43156 [8ad5d8bc925c]
43157
431582013-06-03 Steve Borho <steve@borho.org>
43159
43160 * source/Lib/TLibEncoder/TEncGOP.cpp,
43161 source/Lib/TLibEncoder/TEncGOP.h,
43162 source/Lib/TLibEncoder/TEncSlice.cpp,
43163 source/Lib/TLibEncoder/TEncSlice.h,
43164 source/Lib/TLibEncoder/TEncTop.cpp,
43165 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
43166 source/encoder/wavefront.cpp, source/encoder/wavefront.h:
43167 wavefront: reorg per-thread/row data into a structure
43168 [5103e97b516e]
43169
431702013-06-04 Steve Borho <steve@borho.org>
43171
43172 * source/Lib/TLibCommon/TypeDef.h:
43173 Remove unused SEQUENCE_LEVEL_LOSSLESS
43174 [31b2998e87e2]
43175
43176 * source/Lib/TLibCommon/TComRdCost.cpp,
43177 source/Lib/TLibCommon/TComRdCost.h:
43178 TComRdCost: remove unused calcRdCost64
43179 [734d93ef8fd8]
43180
43181 * source/Lib/TLibCommon/TComRdCost.cpp,
43182 source/Lib/TLibCommon/TComRdCost.h:
43183 TComRdCost: remove unused calcRdCost
43184 [d46bc99052f6]
43185
43186 * source/common/vec/CMakeLists.txt:
43187 cmake: cleanup vec file, no real changes
43188 [2b0a5cfe46f2]
43189
431902013-06-05 ShinYee Chung <shinyee@multicorewareinc.com>
43191
43192 * source/Lib/TLibEncoder/TEncSearch.cpp:
43193 search: Fix compile warnings.
43194 [31e1d53e0aad]
43195
431962013-06-04 Steve Borho <steve@borho.org>
43197
43198 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp:
43199 disable forceinline, compiles are taking multiple hours
43200 [9f27fcbe7660]
43201
43202 * source/common/pixel.cpp:
43203 pixel: add C primitives for int/short conversion functions
43204 [5935a4c31de9]
43205
43206 * source/common/vec/intrapred.inc,
43207 source/common/vec/vecprimitives.inc:
43208 vec: more #include pruning to avoid unnecessary rebuilds
43209 [637f3b3a1f8a]
43210
43211 * source/common/vec/intrapred.inc,
43212 source/common/vec/vecprimitives.inc:
43213 move g_aucConvertToBit[] to intrapred.inc
43214 [9df6d9454529]
43215
43216 * source/Lib/TLibCommon/TComRdCost.cpp,
43217 source/Lib/TLibCommon/TComRdCost.h:
43218 TComRdCost: remove eDFunc argument from getDistPart() methods
43219
43220 Soon getDistPart() can be replaced entirely with SSE primitives.
43221 [3f286f363159]
43222
43223 * source/Lib/TLibCommon/TComRdCost.h:
43224 TComRdCost: remove unused macro and method
43225 [90f2d655fc4f]
43226
43227 * source/Lib/TLibEncoder/TEncCu.cpp:
43228 TEncCu: fix eoln
43229 [cbcce0610e27]
43230
432312013-06-04 Deepthi <Deepthi>
43232
43233 * source/Lib/TLibEncoder/TEncSearch.cpp:
43234 Merge
43235 [bdec57941cef]
43236
43237 * source/Lib/TLibEncoder/TEncSearch.cpp:
43238 Bug fix in memcpy
43239 [34cafdcafffe]
43240
432412013-06-04 Steve Borho <steve@borho.org>
43242
43243 * source/Lib/TLibEncoder/TEncCu.cpp,
43244 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/vec/pixel.inc,
43245 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc:
43246 Merged in ggopu/gopu_xhevc (pull request #182)
43247
43248 primitives: SSE 8 & 16 bit implementation - done for all and
43249 Replaced getSADPart with Primitives.sad function
43250 [537e783eab5b]
43251
432522013-06-04 Mandar Gurav <Mandar Gurav>
43253
43254 * source/Lib/TLibEncoder/TEncSearch.cpp:
43255 Replaced getDistPart() with SadBuf() and remved CALCRDCOST_SAD call
43256 from TencodeSearch
43257 [0d22b87a3bd4]
43258
43259 * source/Lib/TLibEncoder/TEncCu.cpp:
43260 Replaced getSADPart with Primitives.sad function
43261 [23778eeabe2f]
43262
43263 * source/common/vec/pixel16.inc, source/common/vec/pixel8.inc:
43264 primitives: SSE 16 bit - done for all
43265 [d8065a5600fb]
43266
43267 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
43268 primitives: SSE 8 bit implementation - done for all
43269 [4c3b34bfd0a3]
43270
432712013-06-04 Deepthi <Deepthi>
43272
43273 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/vec/intra-
43274 avx.cpp, source/common/vec/intra-sse42.cpp, source/common/vec
43275 /ipfilter-avx.cpp, source/common/vec/ipfilter-avx2.cpp,
43276 source/common/vec/ipfilter-sse2.cpp, source/common/vec/ipfilter-
43277 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
43278 /ipfilter-sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
43279 source/common/vec/pixel-avx.cpp, source/common/vec/pixel-avx2.cpp,
43280 source/common/vec/pixel-sse2.cpp, source/common/vec/pixel-sse3.cpp,
43281 source/common/vec/pixel-sse41.cpp, source/common/vec/pixel-
43282 sse42.cpp, source/common/vec/pixel-ssse3.cpp,
43283 source/common/vec/utils.h:
43284 Merge
43285 [da81281bbfb6]
43286
43287 * source/Lib/TLibEncoder/TEncSearch.cpp:
43288 Replacing with memcpy.
43289 [c6948a0ed131]
43290
432912013-06-04 Deepthi Devaki <Deepthi Devaki>
43292
43293 * source/common/vec/intrapred.inc:
43294 Completed & Uncrustified Intra Angular 32x32
43295 [f42c0dd3b2c3]
43296
43297 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
43298 source/test/intrapredharness.cpp:
43299 Fix for a previous wrong commit, that disabled forceinline
43300 [be5a9b49fdcb]
43301
43302 * source/Lib/TLibCommon/AccessUnit.h,
43303 source/Lib/TLibCommon/ContextModel.cpp,
43304 source/Lib/TLibCommon/ContextModel3DBuffer.h,
43305 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
43306 source/Lib/TLibCommon/TComDataCU.cpp,
43307 source/Lib/TLibCommon/TComLoopFilter.cpp,
43308 source/Lib/TLibCommon/TComPattern.cpp,
43309 source/Lib/TLibCommon/TComPattern.h,
43310 source/Lib/TLibCommon/TComPic.cpp,
43311 source/Lib/TLibCommon/TComPicYuv.cpp,
43312 source/Lib/TLibCommon/TComPicYuv.h,
43313 source/Lib/TLibCommon/TComPrediction.cpp,
43314 source/Lib/TLibCommon/TComPrediction.h,
43315 source/Lib/TLibCommon/TComRdCost.cpp,
43316 source/Lib/TLibCommon/TComRdCost.h,
43317 source/Lib/TLibCommon/TComRom.cpp,
43318 source/Lib/TLibCommon/TComTrQuant.cpp,
43319 source/Lib/TLibCommon/TComTrQuant.h,
43320 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
43321 source/Lib/TLibCommon/TypeDef.h,
43322 source/Lib/TLibEncoder/AnnexBwrite.h,
43323 source/Lib/TLibEncoder/NALwrite.h,
43324 source/Lib/TLibEncoder/SEIwrite.h,
43325 source/Lib/TLibEncoder/TEncCavlc.cpp,
43326 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
43327 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
43328 source/Lib/TLibEncoder/TEncGOP.h, source/Lib/TLibEncoder/TEncSbac.h,
43329 source/Lib/TLibEncoder/TEncSearch.cpp,
43330 source/Lib/TLibEncoder/TEncSearch.h,
43331 source/Lib/TLibEncoder/TEncSlice.cpp,
43332 source/Lib/TLibEncoder/TEncSlice.h,
43333 source/Lib/TLibEncoder/TEncTop.cpp,
43334 source/Lib/TLibEncoder/TEncTop.h, source/PPA/ppa.h,
43335 source/VectorClass/vectori128.h, source/common/TShortYUV.cpp,
43336 source/common/TShortYUV.h, source/common/common.cpp,
43337 source/common/common.h, source/common/ipfilter.cpp,
43338 source/common/md5.cpp, source/common/md5.h, source/common/pixel.cpp,
43339 source/common/primitives.cpp, source/common/primitives.h,
43340 source/common/threadpool.cpp, source/common/vec/CMakeLists.txt,
43341 source/common/vec/blockcopy.inc, source/common/vec/intra-avx.cpp,
43342 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse2.cpp,
43343 source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp,
43344 source/common/vec/intra-sse42.cpp, source/common/vec/intra-
43345 ssse3.cpp, source/common/vec/intrapred.inc, source/common/vec
43346 /ipfilter-avx.cpp, source/common/vec/ipfilter-avx2.cpp,
43347 source/common/vec/ipfilter-sse2.cpp, source/common/vec/ipfilter-
43348 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
43349 /ipfilter-sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
43350 source/common/vec/ipfilter.inc, source/common/vec/pixel-avx.cpp,
43351 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
43352 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
43353 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
43354 ssse3.cpp, source/common/vec/pixel.inc,
43355 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
43356 source/common/vec/utils.h, source/common/vec/vec-primitives.cpp,
43357 source/common/vec/vecprimitives.inc, source/encoder/bitcost.cpp,
43358 source/encoder/bitcost.h, source/encoder/encoder.cpp,
43359 source/encoder/encoder.h, source/encoder/motion.cpp,
43360 source/input/y4m.cpp, source/input/yuv.cpp,
43361 source/output/output.cpp, source/output/output.h,
43362 source/output/y4m.cpp, source/output/yuv.cpp, source/output/yuv.h,
43363 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
43364 source/test/pixelharness.cpp, source/test/testbench.cpp,
43365 source/test/testharness.h, source/tools/dr_psnr/PsnrCalculator.h,
43366 source/tools/dr_psnr/SSIMCalculator.h, source/x265.cpp,
43367 source/x265.h, source/x265opts.h:
43368 Backed out changeset: 471c6f016b40
43369 [d790920f4c32]
43370
43371 * source/Lib/TLibCommon/AccessUnit.h,
43372 source/Lib/TLibCommon/ContextModel.cpp,
43373 source/Lib/TLibCommon/ContextModel3DBuffer.h,
43374 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
43375 source/Lib/TLibCommon/TComDataCU.cpp,
43376 source/Lib/TLibCommon/TComLoopFilter.cpp,
43377 source/Lib/TLibCommon/TComPattern.cpp,
43378 source/Lib/TLibCommon/TComPattern.h,
43379 source/Lib/TLibCommon/TComPic.cpp,
43380 source/Lib/TLibCommon/TComPicYuv.cpp,
43381 source/Lib/TLibCommon/TComPicYuv.h,
43382 source/Lib/TLibCommon/TComPrediction.cpp,
43383 source/Lib/TLibCommon/TComPrediction.h,
43384 source/Lib/TLibCommon/TComRdCost.cpp,
43385 source/Lib/TLibCommon/TComRdCost.h,
43386 source/Lib/TLibCommon/TComRom.cpp,
43387 source/Lib/TLibCommon/TComTrQuant.cpp,
43388 source/Lib/TLibCommon/TComTrQuant.h,
43389 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
43390 source/Lib/TLibCommon/TypeDef.h,
43391 source/Lib/TLibEncoder/AnnexBwrite.h,
43392 source/Lib/TLibEncoder/NALwrite.h,
43393 source/Lib/TLibEncoder/SEIwrite.h,
43394 source/Lib/TLibEncoder/TEncCavlc.cpp,
43395 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
43396 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
43397 source/Lib/TLibEncoder/TEncGOP.h, source/Lib/TLibEncoder/TEncSbac.h,
43398 source/Lib/TLibEncoder/TEncSearch.cpp,
43399 source/Lib/TLibEncoder/TEncSearch.h,
43400 source/Lib/TLibEncoder/TEncSlice.cpp,
43401 source/Lib/TLibEncoder/TEncSlice.h,
43402 source/Lib/TLibEncoder/TEncTop.cpp,
43403 source/Lib/TLibEncoder/TEncTop.h, source/PPA/ppa.h,
43404 source/VectorClass/vectori128.h, source/common/TShortYUV.cpp,
43405 source/common/TShortYUV.h, source/common/common.cpp,
43406 source/common/common.h, source/common/ipfilter.cpp,
43407 source/common/md5.cpp, source/common/md5.h, source/common/pixel.cpp,
43408 source/common/primitives.cpp, source/common/primitives.h,
43409 source/common/threadpool.cpp, source/common/vec/CMakeLists.txt,
43410 source/common/vec/blockcopy.inc, source/common/vec/intra-avx.cpp,
43411 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse2.cpp,
43412 source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp,
43413 source/common/vec/intra-sse42.cpp, source/common/vec/intra-
43414 ssse3.cpp, source/common/vec/intrapred.inc, source/common/vec
43415 /ipfilter-avx.cpp, source/common/vec/ipfilter-avx2.cpp,
43416 source/common/vec/ipfilter-sse2.cpp, source/common/vec/ipfilter-
43417 sse3.cpp, source/common/vec/ipfilter-sse41.cpp, source/common/vec
43418 /ipfilter-sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
43419 source/common/vec/ipfilter.inc, source/common/vec/pixel-avx.cpp,
43420 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
43421 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
43422 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
43423 ssse3.cpp, source/common/vec/pixel.inc,
43424 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
43425 source/common/vec/utils.h, source/common/vec/vec-primitives.cpp,
43426 source/common/vec/vecprimitives.inc, source/encoder/bitcost.cpp,
43427 source/encoder/bitcost.h, source/encoder/encoder.cpp,
43428 source/encoder/encoder.h, source/encoder/motion.cpp,
43429 source/input/y4m.cpp, source/input/yuv.cpp,
43430 source/output/output.cpp, source/output/output.h,
43431 source/output/y4m.cpp, source/output/yuv.cpp, source/output/yuv.h,
43432 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
43433 source/test/pixelharness.cpp, source/test/testbench.cpp,
43434 source/test/testharness.h, source/tools/dr_psnr/PsnrCalculator.h,
43435 source/tools/dr_psnr/SSIMCalculator.h, source/x265.cpp,
43436 source/x265.h, source/x265opts.h:
43437 Backed out merge changeset: 899d27ae3960
43438
43439 Backed out merge revision to its first parent (ffc3e2a59068)
43440 [471c6f016b40]
43441
43442 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
43443 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
43444 Merge
43445 [899d27ae3960]
43446
43447 * source/common/vec/intrapred.inc:
43448 Partial vector implementation of IntrPredAng 32x32.
43449 [ffc3e2a59068]
43450
434512013-06-03 Steve Borho <steve@borho.org>
43452
43453 * source/Lib/TLibCommon/AccessUnit.h,
43454 source/Lib/TLibCommon/ContextModel.cpp,
43455 source/Lib/TLibCommon/ContextModel3DBuffer.h,
43456 source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/SEI.h,
43457 source/Lib/TLibCommon/TComDataCU.cpp,
43458 source/Lib/TLibCommon/TComLoopFilter.cpp,
43459 source/Lib/TLibCommon/TComPattern.cpp,
43460 source/Lib/TLibCommon/TComPattern.h,
43461 source/Lib/TLibCommon/TComPic.cpp,
43462 source/Lib/TLibCommon/TComPicYuv.cpp,
43463 source/Lib/TLibCommon/TComPicYuv.h,
43464 source/Lib/TLibCommon/TComPrediction.cpp,
43465 source/Lib/TLibCommon/TComPrediction.h,
43466 source/Lib/TLibCommon/TComRdCost.cpp,
43467 source/Lib/TLibCommon/TComTrQuant.cpp,
43468 source/Lib/TLibCommon/TComTrQuant.h,
43469 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
43470 source/Lib/TLibEncoder/AnnexBwrite.h,
43471 source/Lib/TLibEncoder/NALwrite.h,
43472 source/Lib/TLibEncoder/SEIwrite.h,
43473 source/Lib/TLibEncoder/TEncCavlc.cpp,
43474 source/Lib/TLibEncoder/TEncCfg.h,
43475 source/Lib/TLibEncoder/TEncSearch.cpp,
43476 source/Lib/TLibEncoder/TEncSearch.h,
43477 source/Lib/TLibEncoder/TEncTop.h, source/PPA/ppa.h,
43478 source/common/TShortYUV.cpp, source/common/TShortYUV.h,
43479 source/common/common.cpp, source/common/common.h,
43480 source/common/ipfilter.cpp, source/common/md5.cpp,
43481 source/common/md5.h, source/common/pixel.cpp,
43482 source/common/primitives.cpp, source/common/primitives.h,
43483 source/common/threadpool.cpp, source/common/vec/blockcopy.inc,
43484 source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
43485 source/common/vec/intrapred.inc, source/common/vec/ipfilter-avx.cpp,
43486 source/common/vec/ipfilter-avx2.cpp, source/common/vec/ipfilter-
43487 sse2.cpp, source/common/vec/ipfilter-sse3.cpp, source/common/vec
43488 /ipfilter-sse41.cpp, source/common/vec/ipfilter-sse42.cpp,
43489 source/common/vec/ipfilter-ssse3.cpp,
43490 source/common/vec/ipfilter.inc, source/common/vec/pixel-avx.cpp,
43491 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
43492 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
43493 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
43494 ssse3.cpp, source/common/vec/pixel.inc,
43495 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
43496 source/common/vec/utils.h, source/encoder/bitcost.cpp,
43497 source/encoder/bitcost.h, source/encoder/encoder.cpp,
43498 source/encoder/encoder.h, source/encoder/motion.cpp,
43499 source/input/y4m.cpp, source/input/yuv.cpp,
43500 source/output/output.cpp, source/output/output.h,
43501 source/output/y4m.cpp, source/output/yuv.cpp, source/output/yuv.h,
43502 source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
43503 source/test/pixelharness.cpp, source/test/testbench.cpp,
43504 source/test/testharness.h, source/tools/dr_psnr/PsnrCalculator.h,
43505 source/tools/dr_psnr/SSIMCalculator.h, source/x265.cpp,
43506 source/x265.h, source/x265opts.h:
43507 uncrustify: catch up with several weeks of drift
43508 [b68cb1eaef6d]
43509
43510 * source/Lib/TLibEncoder/TEncSearch.cpp:
43511 Merge
43512 [a35eae69f1a8]
43513
43514 * source/Lib/TLibEncoder/TEncGOP.cpp,
43515 source/Lib/TLibEncoder/TEncGOP.h,
43516 source/Lib/TLibEncoder/TEncSlice.h:
43517 white-space nits
43518 [b2327bb6131d]
43519
43520 * source/Lib/TLibEncoder/TEncCu.h:
43521 TEncCu: nits
43522 [f56bc8f415de]
43523
43524 * source/Lib/TLibEncoder/TEncSearch.cpp,
43525 source/Lib/TLibEncoder/TEncSearch.h,
43526 source/Lib/TLibEncoder/TEncTop.cpp:
43527 TEncSearch: reduce argument count for TEncSearch::Init() (it can
43528 read)
43529 [c163638bc616]
43530
43531 * source/Lib/TLibEncoder/TEncCfg.h:
43532 TEncCfg: add accessors for all ME data
43533 [227956601381]
43534
43535 * source/Lib/TLibEncoder/TEncTop.h:
43536 TEncTop: white-space nits
43537 [3a35f88c6dc4]
43538
43539 * source/Lib/TLibEncoder/TEncTop.cpp,
43540 source/Lib/TLibEncoder/TEncTop.h:
43541 TEncTop: remove xInitPPSforTiles
43542 [ab72ab85c51d]
43543
43544 * source/Lib/TLibEncoder/TEncSearch.cpp,
43545 source/Lib/TLibEncoder/TEncSearch.h:
43546 TEncSearch: remove xTZ8PointSquareSearch
43547 [8ff79cf0335e]
43548
43549 * source/Lib/TLibEncoder/TEncSearch.cpp:
43550 TEncSlice: more white-space nits
43551 [ade13761b5d4]
43552
43553 * source/Lib/TLibEncoder/TEncSearch.cpp:
43554 TEncSearch: fixup commit
43555 [d4e1b147c8aa]
43556
43557 * source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h:
43558 Move DFunc enum from TypeDef.h to TComRdCost.h
43559 [42efb06e0617]
43560
43561 * source/Lib/TLibEncoder/TEncSearch.cpp:
43562 TEncSearch: add a note for future optimization
43563 [5bfad71d2e69]
43564
43565 * source/Lib/TLibCommon/TypeDef.h,
43566 source/Lib/TLibEncoder/TEncSearch.cpp,
43567 source/Lib/TLibEncoder/TEncSearch.h:
43568 Remove HHI_RQT_INTRA_SPEEDUP, HHI_RQT_INTRA_SPEEDUP_MOD. Assume
43569 current values
43570 [9a12626cc6cc]
43571
43572 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TypeDef.h,
43573 source/Lib/TLibEncoder/TEncSearch.cpp:
43574 Remove FAST_UDI_USE_MPM, always enabled
43575 [7893e9388d61]
43576
43577 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncTop.cpp:
43578 Remove WRITE_BACK define, always enabled
43579 [e2674be0bcce]
43580
43581 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
43582 source/Lib/TLibEncoder/TEncTop.cpp:
43583 Remove AUTO_INTER_RPS define, always enabled
43584 [d74b6ff8128a]
43585
43586 * source/Lib/TLibEncoder/TEncTop.cpp,
43587 source/Lib/TLibEncoder/TEncTop.h:
43588 TEncTop: remove redundant m_uiNumSubstreams
43589 [dce2e6e926e4]
43590
43591 * source/Lib/TLibEncoder/TEncSlice.cpp,
43592 source/Lib/TLibEncoder/TEncTop.cpp,
43593 source/Lib/TLibEncoder/TEncTop.h:
43594 TEncTop: prep cleanup, remove unused m_cRDGoOnSbacCoder
43595 [75d7c30ceb8b]
43596
435972013-06-04 Deepthi <Deepthi>
43598
43599 * source/Lib/TLibEncoder/TEncSearch.cpp:
43600 xAddSymbolBitsInter: part replacement of entropy estimate
43601 [7e4e05cc36e1]
43602
43603 * source/Lib/TLibEncoder/TEncSearch.cpp:
43604 Replacing zeroResidual mode bit estimate
43605 [1a1185fbe376]
43606
436072013-06-03 Deepthi <Deepthi>
43608
43609 * source/Lib/TLibEncoder/TEncSearch.cpp:
43610 Replacing entropy estimate for Skip.
43611 [7ad86922e1a9]
43612
436132013-06-03 Steve Borho <steve@borho.org>
43614
43615 * source/Lib/TLibEncoder/TEncSbac.h,
43616 source/Lib/TLibEncoder/TEncSlice.cpp:
43617 TEncSlice: more white-space nits
43618 [4b42318dec1c]
43619
43620 * source/Lib/TLibEncoder/TEncSearch.cpp:
43621 TEncSearch: white-space nits
43622 [29258a2b78e8]
43623
436242013-06-03 Min Chen <chenm003@163.com>
43625
43626 * source/common/vec/intrapred.inc:
43627 [review] more performance implement on predIntraPlanar4_sse4
43628 --- source/common/vec/intrapred.inc | 48
43629 ++++++++++++++++++++------------------ 1 files changed, 25
43630 insertions(+), 23 deletions(-)
43631 [65305cf315ae]
43632
43633 * source/common/vec/intrapred.inc:
43634 [review] instrinsic predIntraPlanar64_sse4
43635 --- source/common/vec/intrapred.inc | 126
43636 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 121
43637 insertions(+), 5 deletions(-)
43638 [f5aef2183b11]
43639
43640 * source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
43641 [review] instrinsic predIntraPlanar32_sse4
43642 --- source/common/vec/intrapred.inc | 82
43643 ++++++++++++++++++++++++++++++++++++++
43644 source/test/intrapredharness.cpp | 6 +- 2 files changed, 85
43645 insertions(+), 3 deletions(-)
43646 [b1be1b00a939]
43647
43648 * source/common/vec/intrapred.inc:
43649 [review] instrinsic predIntraPlanar16_sse4
43650 --- source/common/vec/intrapred.inc | 97
43651 ++++++++++++--------------------------- 1 files changed, 30
43652 insertions(+), 67 deletions(-)
43653 [58046661809b]
43654
43655 * source/common/vec/intrapred.inc:
43656 [review] instrinsic predIntraPlanar16_sse4, performance
43657 --- source/common/vec/intrapred.inc | 112
43658 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 110
43659 insertions(+), 2 deletions(-)
43660 [3265a3e7a60f]
43661
43662 * source/common/vec/intrapred.inc:
43663 [review] instrinsic predIntraPlanar8_sse4
43664 --- source/common/vec/intrapred.inc | 79
43665 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 77
43666 insertions(+), 2 deletions(-)
43667 [5c6fca239875]
43668
436692013-06-03 Steve Borho <steve@borho.org>
43670
43671 * source/Lib/TLibEncoder/TEncSearch.cpp:
43672 TencSearch: fix bit counting
43673 [f96db0f0e705]
43674
43675 * source/common/vec/pixel8.inc:
43676 pixel: use real ints in vector code
43677 [a22994d345a4]
43678
43679 * source/Lib/TLibCommon/TComRdCost.cpp,
43680 source/Lib/TLibCommon/TComRdCost.h,
43681 source/Lib/TLibEncoder/TEncSearch.cpp:
43682 backout changes to TComRdCost, this file cannot use primitives.
43683 [fd2d0932ed34]
43684
43685 * Merged in ggopu/gopu_xhevc (pull request #180)
43686
43687 * m_pcRdCost->getBits() replaced with BitCost.mvcost
43688 [609ae722f590]
43689
436902013-06-03 ggopu <ggopu>
43691
43692 * source/Lib/TLibCommon/TComRdCost.cpp,
43693 source/Lib/TLibCommon/TComRdCost.h,
43694 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
43695 source/common/primitives.h, source/common/vec/pixel.inc,
43696 source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
43697 * m_pcRdCost->getBits() replaced with BitCost.mvcost
43698 * Fixed other code blocks calling non-primitive SAD functions (crashes
43699 at sad8 - for load_a whereas works with just load)
43700 * Primitives for SSE functions
43701 [dedd1f39ae61]
43702
437032013-06-03 Steve Borho <steve@borho.org>
43704
43705 * Merged in deepthidevaki/xhevc_deepthid (pull request #179)
43706
43707 Enabled Intra Angular 16x16 in testbench
43708 [ae67119947c0]
43709
437102013-06-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
43711
43712 * Merged multicoreware/xhevc into default
43713 [b6298df4010a]
43714
437152013-06-03 Deepthi Devaki <Deepthi Devaki>
43716
43717 * source/test/intrapredharness.cpp:
43718 Enabled Intra Angular 16x16 in testbench
43719 [8e85d566d172]
43720
437212013-06-03 Deepthi <Deepthi>
43722
43723 * Merge
43724 [e521c7751844]
43725
43726 * source/Lib/TLibEncoder/TEncSearch.cpp:
43727 FMD - Bug fix
43728 [06dc1c8c186f]
43729
43730 * source/Lib/TLibEncoder/TEncCu.cpp:
43731 Making RDO optional
43732 [ad3f6e8fd032]
43733
437342013-06-03 Steve Borho <steve@borho.org>
43735
43736 * source/common/vec/CMakeLists.txt:
43737 cmake: add missing ipfilter-avx.cpp
43738 [681eabf8a086]
43739
43740 * source/common/vec/CMakeLists.txt:
43741 cmake: add new foo-avx.cpp files to -mavx properties list
43742 [ce989de34742]
43743
43744 * source/common/vec/intrapred.inc:
43745 intrapred: add include for smmintrin.h
43746 [755d91c1e921]
43747
43748 * source/common/vec/vec-primitives.cpp:
43749 vec: allow VC9 and VC10 to use SSE4 primitives
43750 [ffe0f4fb6980]
43751
43752 * source/VectorClass/vectori128.h, source/common/vec/intra-avx.cpp,
43753 source/common/vec/intra-sse42.cpp:
43754 vec: enable __forceinline for higher arches of intra primitives
43755 [b4ed502f10e5]
43756
43757 * source/common/vec/CMakeLists.txt, source/common/vec/ipfilter-
43758 avx.cpp, source/common/vec/ipfilter-avx2.cpp, source/common/vec
43759 /ipfilter-sse2.cpp, source/common/vec/ipfilter-sse3.cpp,
43760 source/common/vec/ipfilter-sse41.cpp, source/common/vec/ipfilter-
43761 sse42.cpp, source/common/vec/ipfilter-ssse3.cpp,
43762 source/common/vec/ipfilter.inc, source/common/vec/vecprimitives.inc:
43763 vec: split ipfilter primitives into their own C++ files
43764 [ecaeb658c41f]
43765
43766 * source/common/vec/CMakeLists.txt, source/common/vec/intra-avx.cpp,
43767 source/common/vec/intra-avx2.cpp, source/common/vec/intra-sse2.cpp,
43768 source/common/vec/intra-sse3.cpp, source/common/vec/intra-sse41.cpp,
43769 source/common/vec/intra-sse42.cpp, source/common/vec/intra-
43770 ssse3.cpp, source/common/vec/intrapred.inc,
43771 source/common/vec/vecprimitives.inc:
43772 vec: split intra primitives into their own C++ files
43773 [8a3b623143e7]
43774
43775 * source/common/vec/CMakeLists.txt, source/common/vec/pixel-avx.cpp,
43776 source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse2.cpp,
43777 source/common/vec/pixel-sse3.cpp, source/common/vec/pixel-sse41.cpp,
43778 source/common/vec/pixel-sse42.cpp, source/common/vec/pixel-
43779 ssse3.cpp, source/common/vec/pixel.inc,
43780 source/common/vec/pixel16.inc, source/common/vec/utils.h,
43781 source/common/vec/vecprimitives.inc:
43782 vec: split pixel primitives into their own C++ files
43783 [d7b8280f744a]
43784
437852013-06-03 ShinYee Chung <shinyee@multicorewareinc.com>
43786
43787 * source/x265.cpp:
43788 cmd: Fix segfault when an unrecognized option is given on the
43789 command line.
43790 [d4363da9df37]
43791
437922013-06-02 Min Chen <chenm003@163.com>
43793
43794 * source/common/vec/intrapred.inc:
43795 [review] instrinsic predIntraPlanar4_sse4
43796 --- source/common/vec/intrapred.inc | 59
43797 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 59
43798 insertions(+), 0 deletions(-)
43799 [598fa5788632]
43800
43801 * source/common/vec/intrapred.inc:
43802 intrapred: optimize by func_ptr in predIntraPlanar
43803 --- source/common/vec/intrapred.inc | 59
43804 ++++++++++++++++++-------------------- 1 files changed, 28
43805 insertions(+), 31 deletions(-)
43806 [9737e9d6ba9e]
43807
43808 * source/common/vec/CMakeLists.txt:
43809 Enable SSE4 on VC9
43810 --- source/common/vec/CMakeLists.txt | 10 +++------- 1 files changed,
43811 3 insertions(+), 7 deletions(-)
43812 [ddfcdb3e6815]
43813
43814 * source/common/vec/intrapred.inc:
43815 intrapred: simple predIntraPlanar4 by macro
43816 --- source/common/vec/intrapred.inc | 49
43817 ++++++++++++--------------------------- 1 files changed, 15
43818 insertions(+), 34 deletions(-)
43819 [43dc6a7f95cc]
43820
43821 * source/common/vec/intrapred.inc:
43822 miss some authors
43823 --- source/common/vec/intrapred.inc | 3 +++ 1 files changed, 3
43824 insertions(+), 0 deletions(-)
43825 [f17187830a01]
43826
438272013-06-01 Steve Borho <steve@borho.org>
43828
43829 * source/x265.cpp:
43830 x265: use output frame counts for progress reports
43831
43832 This actually makes them less accurate in the short term because of
43833 the GOP cadence of the encode function. but it is more correct from
43834 a code logic point of view.
43835 [0abd8ed72c32]
43836
43837 * source/encoder/encoder.cpp:
43838 encoder: pull recon images from queue even when not requested
43839
43840 When the app wasn't requesting recon images, they were queueing
43841 indefinitely in m_cListRecQueue (not quite as bad as it seems, it
43842 only queues pointers and the buffers are recycled). And it's was
43843 always returning 0 for iNumEncoded, which was bad.
43844 [e93dce2aaf48]
43845
43846 * source/encoder/motion.cpp, source/encoder/motion.h:
43847 motion: rename StarSearch to StarPatternSearch, make inline
43848 [c7d3dbce14c8]
43849
43850 * source/encoder/motion.cpp:
43851 motion: fixup comments, remove tabs, simplify some macros
43852 [016c61125c55]
43853
43854 * source/Lib/TLibCommon/TComRom.h:
43855 TComRom: remove unused extern
43856 [ca6ac5ea20bd]
43857
43858 * source/encoder/motion.h:
43859 motion: use sadStride in helper functions
43860 [c70e2aff8caa]
43861
438622013-06-01 Mandar Gurav <Mandar Gurav>
43863
43864 * source/encoder/motion.cpp:
43865 motion: use sad_x4 in star Search for dist = 1.
43866 [20a701e4a753]
43867
43868 * source/common/common.h:
43869 motion: ME cycle count- Print lld
43870 [4413954b9a14]
43871
43872 * source/encoder/motion.cpp, source/encoder/motion.h:
43873 motion: TwoPoint search manually inlined. Now, exe_time_SUBSAMPLE_1
43874 < exe_time_SUBSAMPLE_0.
43875 [8d0a2281093e]
43876
43877 * source/common/common.h:
43878 motion: Print Total Cycle count also. Avg. Cycle count doesn't give
43879 exact idea of performance - since num_calls_SUBSAMPLE_0 !=
43880 num_calls_SUBSAMPLE_1.
43881 [5e5988fad642]
43882
43883 * source/encoder/motion.cpp, source/encoder/motion.h:
43884 motion: Replace "stride << subsample" with "sadStride".
43885 [2a19d8945ddd]
43886
43887 * source/Lib/TLibCommon/TComRom.h:
43888 Merge conflict: Copy files directly from xhevc main repo. part 4
43889 [e902484772b1]
43890
43891 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
43892 source/Lib/TLibEncoder/TEncAnalyze.h:
43893 Merge conflict: Copy files directly from xhevc main repo. part 3
43894 [65463235027f]
43895
438962013-05-31 Mandar Gurav <mandar@multicorewareinc.com>
43897
43898 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, cfg/per-
43899 sequence/BQMall.cfg, cfg/per-sequence/BQSquare.cfg, cfg/per-
43900 sequence/BQTerrace.cfg, cfg/per-sequence/BasketballDrill.cfg, cfg
43901 /per-sequence/BasketballDrillText.cfg, cfg/per-
43902 sequence/BasketballDrive.cfg, cfg/per-sequence/BasketballPass.cfg,
43903 cfg/per-sequence/BlowingBubbles.cfg, cfg/per-sequence/Cactus.cfg,
43904 cfg/per-sequence/ChinaSpeed.cfg, cfg/per-sequence/FourPeople.cfg,
43905 cfg/per-sequence/Johnny.cfg, cfg/per-sequence/Kimono.cfg, cfg/per-
43906 sequence/KristenAndSara.cfg, cfg/per-
43907 sequence/NebutaFestival_10bit.cfg, cfg/per-sequence/ParkScene.cfg,
43908 cfg/per-sequence/PartyScene.cfg, cfg/per-
43909 sequence/PeopleOnStreet.cfg, cfg/per-sequence/RaceHorses.cfg, cfg
43910 /per-sequence/RaceHorsesC.cfg, cfg/per-sequence/SlideEditing.cfg,
43911 cfg/per-sequence/SlideShow.cfg, cfg/per-
43912 sequence/SteamLocomotiveTrain_10bit.cfg, cfg/per-
43913 sequence/Traffic.cfg, cfg/per-sequence/Vidyo1.cfg, cfg/per-
43914 sequence/Vidyo3.cfg, cfg/per-sequence/Vidyo4.cfg,
43915 source/Lib/CMakeLists.txt,
43916 source/Lib/TAppCommon/program_options_lite.cpp,
43917 source/Lib/TAppCommon/program_options_lite.h,
43918 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
43919 source/Lib/TLibEncoder/TEncAnalyze.h,
43920 source/Lib/TLibEncoder/TEncSearch.cpp,
43921 source/TestForChecking_BadCommit.bat, source/encoder/IntraPred.cpp,
43922 source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h,
43923 source/encoder/butterfly.h, source/encoder/common.cpp,
43924 source/encoder/common.h, source/encoder/ipfilter.cpp,
43925 source/encoder/macroblock.cpp, source/encoder/md5.cpp,
43926 source/encoder/md5.h, source/encoder/motion.cpp,
43927 source/encoder/motion.h, source/encoder/pixel.cpp,
43928 source/encoder/primitives.cpp, source/encoder/primitives.h,
43929 source/encoder/threading.cpp, source/encoder/threading.h,
43930 source/encoder/threadpool.cpp, source/encoder/threadpool.h,
43931 source/encoder/vec/CMakeLists.txt, source/encoder/vec/avx.cpp,
43932 source/encoder/vec/avx2.cpp, source/encoder/vec/blockcopy.inc,
43933 source/encoder/vec/intrapred.inc, source/encoder/vec/ipfilter.inc,
43934 source/encoder/vec/ipfilter16.inc, source/encoder/vec/ipfilter8.inc,
43935 source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
43936 source/encoder/vec/pixel16.inc, source/encoder/vec/pixel8.inc,
43937 source/encoder/vec/sse2.cpp, source/encoder/vec/sse3.cpp,
43938 source/encoder/vec/sse41.cpp, source/encoder/vec/sse42.cpp,
43939 source/encoder/vec/ssse3.cpp, source/encoder/vec/vec-primitives.cpp,
43940 source/encoder/vec/vecprimitives.inc,
43941 source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
43942 primitives.cpp, source/encoder/x86/const-a.asm,
43943 source/encoder/x86/cpu-a.asm, source/encoder/x86/pixel-32.asm,
43944 source/encoder/x86/pixel-a.asm, source/encoder/x86/pixel.h,
43945 source/encoder/x86/sad-a.asm, source/encoder/x86/x86inc.asm,
43946 source/encoder/x86/x86util.asm, source/x265cfg.cpp,
43947 source/x265cfg.h, source/x265enc.cpp, source/x265enc.h,
43948 source/x265main.cpp:
43949 Merged multicoreware/xhevc into default
43950 [2871d75ffb73]
43951
439522013-06-01 Mandar Gurav <Mandar Gurav>
43953
43954 * source/Lib/TLibEncoder/TEncSearch.cpp,
43955 source/Lib/TLibEncoder/TEncSearch.h:
43956 Merge conflict: Copy files directly from xhevc main repo. part 2
43957 [c446638cb8c0]
43958
439592013-06-01 ggopu <ggopu>
43960
43961 * source/encoder/motion.cpp, source/encoder/motion.h:
43962 Merge conflict: Copy files directly from xhevc main repo.
43963 [6272284d8ce0]
43964
439652013-05-23 Mandar Gurav <mandar@multicorewareinc.com>
43966
43967 * source/encoder/motion.cpp:
43968 Merged multicoreware/xhevc into default
43969 [53497b61c0ac]
43970
439712013-05-24 ggopu <ggopu>
43972
43973 * build/nmake/make-solutions.bat, source/Lib/TLibCommon/TComRom.cpp,
43974 source/Lib/TLibCommon/TComRom.h,
43975 source/Lib/TLibEncoder/TEncAnalyze.h,
43976 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp:
43977 Merge
43978 [b224e58a7f8b]
43979
439802013-05-23 ggopu <ggopu>
43981
43982 * source/Lib/TLibEncoder/TEncSearch.cpp:
43983 Backed out changeset: 06fa58c2176d
43984 [effd80b01d39]
43985
439862013-05-31 Steve Borho <steve@borho.org>
43987
43988 * source/encoder/encoder.cpp:
43989 encoder: do not allow GOP size to be less than 1
43990 [984eb5329bef]
43991
43992 * source/Lib/TLibCommon/TComTrQuant.cpp:
43993 TrComQuant: remove unused variable, fix GCC warnings
43994 [2125b36b8ae6]
43995
439962013-05-30 Steve Borho <steve@borho.org>
43997
43998 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, cfg/per-
43999 sequence/BQMall.cfg, cfg/per-sequence/BQSquare.cfg, cfg/per-
44000 sequence/BQTerrace.cfg, cfg/per-sequence/BasketballDrill.cfg, cfg
44001 /per-sequence/BasketballDrillText.cfg, cfg/per-
44002 sequence/BasketballDrive.cfg, cfg/per-sequence/BasketballPass.cfg,
44003 cfg/per-sequence/BlowingBubbles.cfg, cfg/per-sequence/Cactus.cfg,
44004 cfg/per-sequence/ChinaSpeed.cfg, cfg/per-sequence/FourPeople.cfg,
44005 cfg/per-sequence/Johnny.cfg, cfg/per-sequence/Kimono.cfg, cfg/per-
44006 sequence/KristenAndSara.cfg, cfg/per-
44007 sequence/NebutaFestival_10bit.cfg, cfg/per-sequence/ParkScene.cfg,
44008 cfg/per-sequence/PartyScene.cfg, cfg/per-
44009 sequence/PeopleOnStreet.cfg, cfg/per-sequence/RaceHorses.cfg, cfg
44010 /per-sequence/RaceHorsesC.cfg, cfg/per-sequence/SlideEditing.cfg,
44011 cfg/per-sequence/SlideShow.cfg, cfg/per-
44012 sequence/SteamLocomotiveTrain_10bit.cfg, cfg/per-
44013 sequence/Traffic.cfg, cfg/per-sequence/Vidyo1.cfg, cfg/per-
44014 sequence/Vidyo3.cfg, cfg/per-sequence/Vidyo4.cfg,
44015 source/CMakeLists.txt,
44016 source/Lib/TAppCommon/program_options_lite.cpp,
44017 source/Lib/TAppCommon/program_options_lite.h, source/x265cfg.cpp,
44018 source/x265cfg.h, source/x265enc.cpp, source/x265enc.h,
44019 source/x265main.cpp:
44020 x265-cli: remove old CLI program and config files
44021
44022 old command line: x265-cli -i Vidyo4.yuv -c cfg/encoder_I_15P.cfg -c
44023 cfg/per-sequence/Vidyo4.cfg -b out.hevc new command line: x265
44024 Vidyo4.y4m out.hevc
44025
44026 old command line: x265-cli -i Vidyo4.yuv -c cfg/encoder_all_I.cfg -c
44027 cfg/per-sequence/Vidyo4.cfg -b out.hevc new command line: x265
44028 Vidyo4.y4m out.hevc --sao -i 1
44029 [cda100c6417f]
44030
440312013-05-31 Steve Borho <steve@borho.org>
44032
44033 * source/encoder/encoder.cpp:
44034 encoder: add "-i 32" hack to select "encoder_randomaccess_main"
44035 config from hm
44036
44037 Also requires enabling --rect --amp --sao to match the output of
44038 that config file.
44039 [3136a4b62f03]
44040
440412013-05-30 Steve Borho <steve@borho.org>
44042
44043 * source/encoder/encoder.cpp:
44044 encoder: be explicit about slice type
44045 [4414841e3211]
44046
44047 * source/x265.cpp:
44048 x265: fix warnings hidden by old x265-cli project
44049 [192da7e89c14]
44050
440512013-05-31 Steve Borho <steve@borho.org>
44052
44053 * source/common/vec/CMakeLists.txt:
44054 cmake: fix another set_source_files problem
44055 [8d6efac63424]
44056
44057 * source/common/vec/CMakeLists.txt:
44058 cmake: avoid warnings from x64 MSVC compilers
44059
44060 x64 implies at least SSE4, and gets tetchy when you say /arch:SSE2
44061 Previously, the set_source_files_properties line was busted by a bad
44062 cut-paste
44063 [633b668d6c47]
44064
440652013-05-31 Min Chen <chenm003@163.com>
44066
44067 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
44068 source/common/vec/pixel.inc:
44069 optimize by convert32to16_shr
44070 --- source/Lib/TLibCommon/TComTrQuant.cpp | 5 +----
44071 source/common/primitives.h | 2 ++ source/common/vec/pixel.inc | 24
44072 ++++++++++++++++++++++-- 3 files changed, 25 insertions(+), 6
44073 deletions(-)
44074 [f70b88137438]
44075
44076 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
44077 source/common/vec/pixel.inc:
44078 optimize by convert16to32_shl
44079 --- source/Lib/TLibCommon/TComTrQuant.cpp | 17 ++++++++++++++---
44080 source/common/primitives.h | 2 ++ source/common/vec/pixel.inc | 18
44081 ++++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-)
44082 [525a8ad9e244]
44083
44084 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
44085 source/common/vec/pixel.inc:
44086 optimize by convert32to16
44087 --- source/Lib/TLibCommon/TComTrQuant.cpp | 5 +----
44088 source/common/primitives.h | 2 ++ source/common/vec/pixel.inc | 19
44089 +++++++++++++++++++ 3 files changed, 22 insertions(+), 4
44090 deletions(-)
44091 [49856ba4303c]
44092
44093 * source/Lib/TLibCommon/TComTrQuant.cpp:
44094 TComTrQuant::xT: replace for_loop by memcpy()
44095 --- source/Lib/TLibCommon/TComTrQuant.cpp | 15 ++++----------- 1
44096 files changed, 4 insertions(+), 11 deletions(-)
44097 [060e49a8383d]
44098
44099 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/primitives.h,
44100 source/common/vec/pixel.inc:
44101 optimize by convert16to32
44102 --- source/Lib/TLibCommon/TComTrQuant.cpp | 9 +++++----
44103 source/common/primitives.h | 3 +++ source/common/vec/pixel.inc | 20
44104 ++++++++++++++++++++ 3 files changed, 28 insertions(+), 4
44105 deletions(-)
44106 [ec636f543969]
44107
44108 * source/encoder/wavefront.cpp:
44109 thread: bits matches to HM when single thread
44110 --- source/encoder/wavefront.cpp | 11 ++++++++--- 1 files changed, 8
44111 insertions(+), 3 deletions(-)
44112 [fa49682780e3]
44113
44114 * source/common/vec/macroblock.inc:
44115 fix bug on VC9-x86
44116 --- source/common/vec/macroblock.inc | 87
44117 +++++++++++++++++++++++++------------ 1 files changed, 59
44118 insertions(+), 28 deletions(-)
44119 [61dc8cf0acdd]
44120
441212013-05-31 Deepthi Devaki <Deepthi Devaki>
44122
44123 * source/Lib/TLibEncoder/TEncSearch.cpp:
44124 Fix for 8bpp & 16bpp output mismatch
44125 [ce4d663b31d7]
44126
441272013-05-31 ShinYee Chung <shinyee@multicorewareinc.com>
44128
44129 * source/Lib/TLibEncoder/TEncSearch.cpp:
44130 TEncSearch: Disable set but not used variables (-Werror=unused-but-
44131 set-variable).
44132 [4c7879f51a14]
44133
44134 * source/common/common.cpp:
44135 Common: Fix compile error -Werror=write-strings.
44136 [e73b996e121d]
44137
441382013-05-30 Steve Borho <steve@borho.org>
44139
44140 * source/common/vec/ipfilter8.inc:
44141 ipfilter: work around unaligned data copies generated by VC9 (from
44142 Min Chen)
44143 [05e0b5742adb]
44144
441452013-05-31 ShinYee Chung <shinyee@multicorewareinc.com>
44146
44147 * source/x265.cpp:
44148 x265: Fix compile issue due to -Wwrite-strings and undeclared
44149 va_start() and va_end().
44150 [4dfbf564c772]
44151
441522013-05-30 Steve Borho <steve@borho.org>
44153
44154 * source/test/mbdstharness.cpp:
44155 dequant: fix a test bench typo
44156 [c7b53fb8146d]
44157
44158 * source/x265.cpp, source/x265opts.h:
44159 x265: make input/output bit depths function local to parse method,
44160 fix eoln
44161 [e7d3e278ba1c]
44162
44163 * source/x265cfg.cpp:
44164 x265cfg: set default log level for x265-cli to "debug"
44165 [1dab28c7dbda]
44166
44167 * source/x265.cpp:
44168 x265: add a CTRL+C handler
44169 [a8b7be978131]
44170
44171 * source/Lib/TLibEncoder/TEncCfg.h,
44172 source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp,
44173 source/x265enc.cpp:
44174 TEncGOP: show per-frame statistics at log level X265_LOG_DEBUG
44175 [be3ba8d41623]
44176
44177 * source/Lib/TLibEncoder/TEncTop.cpp,
44178 source/Lib/TLibEncoder/TEncTop.h, source/common/common.cpp,
44179 source/common/common.h, source/common/primitives.cpp,
44180 source/common/primitives.h, source/encoder/encoder.cpp,
44181 source/test/testbench.cpp, source/x265.cpp, source/x265.h,
44182 source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp,
44183 source/x265opts.h:
44184 x265: use x265_log when initializing primitives and thread pool
44185
44186 * removes thread pool pointer from CLI apps, encoders initialize it
44187 now
44188 * thread pool size validation moved to x265_check_params()
44189 [55c353b046a1]
44190
44191 * source/common/common.cpp, source/x265.cpp, source/x265.h,
44192 source/x265opts.h:
44193 x265: introduce x265_param_t.logLevel, and x265_log()
44194 [cb9129046937]
44195
44196 * source/x265.h:
44197 x265: fixup comment for iWaveFrontSynchro
44198 [7bb9d9960526]
44199
44200 * source/x265.cpp, source/x265.h, source/x265opts.h:
44201 x265: introduce the concept of log levels
44202 [e7e934f1aed9]
44203
44204 * source/x265.h:
44205 x265: prune unused bits of public header
44206 [d6c0d17e7c87]
44207
44208 * source/Lib/TLibEncoder/TEncGOP.cpp, source/x265.cpp:
44209 x265: add x264 style progress reporting, kbps numbers differ from HM
44210 [8d9f188a7219]
44211
44212 * source/common/threadpool.cpp, source/common/threadpool.h,
44213 source/x265.cpp:
44214 threadpool: report thread pool size, fix bug with CPU count auto-
44215 detect
44216 [dddd03cf7b26]
44217
44218 * source/CMakeLists.txt:
44219 cmake: remove short-lived openmp compile flags
44220 [0a300add8bc5]
44221
442222013-05-30 ShinYee Chung <shinyee@multicorewareinc.com>
44223
44224 * source/x265.cpp, source/x265cfg.cpp:
44225 Config: Force the threadpool to be single threaded when wavefront is
44226 disabled.
44227 [6b1b567da72c]
44228
44229 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/CMakeLists.txt:
44230 WPP: Use the threadpool based wavefront parallel processing module.
44231 [00c1977b8709]
44232
44233 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
44234 WPP: Module for wavefront parallelization using threadpool.
44235 [fe2556ffffff]
44236
44237 * source/Lib/TLibEncoder/TEncTop.h:
44238 TLibEncoder: Add threadpool accessor to TEncTop.
44239 [2730479ce267]
44240
442412013-05-30 Steve Borho <steve@borho.org>
44242
44243 * source/encoder/motion.cpp:
44244 motion: fix a bug introduced in last commit
44245 [c853140e23c9]
44246
44247 * source/encoder/motion.cpp:
44248 motion: two more SAD calls that were missed
44249 [b9e8e9d51890]
44250
44251 * source/encoder/motion.cpp:
44252 motion: fix a missed raw call to a sad() primitive
44253 [08dd67222b97]
44254
44255 * source/encoder/motion.cpp, source/encoder/motion.h:
44256 motion: minor cleanups, no behavior changes
44257 [6f32a8ba24b0]
44258
44259 * source/encoder/motion.cpp:
44260 motion: else clause of primitive setup must always be compiled in
44261
44262 This fixes some of the broken-ness when SUBSAMPLE_SAD is enabled
44263 [4d77283b0129]
44264
44265 * source/encoder/motion.cpp, source/encoder/motion.h:
44266 motion: remove unused blockWidth and blockHeight
44267 [d7ec2b5e1519]
44268
44269 * Merged in ggopu/gopu_xhevc (pull request #176)
44270
44271 Motion: implemented subsampling SAD when the block height is greater
44272 than 12
44273 [d67eed484a46]
44274
442752013-05-30 ggopu <ggopu>
44276
44277 * source/encoder/motion.cpp, source/encoder/motion.h:
44278 Motion: implemented subsampling SAD when the block height is greater
44279 than 12
44280 [7d87f713971f]
44281
442822013-05-30 Gopu G <gopu@multicorewareinc.com>
44283
44284 * Merged multicoreware/xhevc into default
44285 [29850cefbec9]
44286
442872013-05-29 Gopu G <gopu@multicorewareinc.com>
44288
44289 * source/encoder/motion.cpp:
44290 Merged multicoreware/xhevc into default
44291 [824c2ddca305]
44292
442932013-05-30 ggopu <ggopu>
44294
44295 * source/encoder/motion.cpp:
44296 Conflict
44297 [edc303ed7859]
44298
442992013-05-29 ggopu <ggopu>
44300
44301 * source/encoder/motion.cpp:
44302 Motion: raster search refinement - sad_x4 Implementation
44303 [d8ac001a7730]
44304
443052013-05-30 Steve Borho <steve@borho.org>
44306
44307 * source/common/primitives.cpp, source/common/primitives.h,
44308 source/common/x86/README.txt, source/common/x86/asm-primitives.cpp,
44309 source/common/x86/pixel-a.asm, source/common/x86/pixel.h,
44310 source/common/x86/x86inc.asm:
44311 asm: rebrand x264 assembly functions with x265_ to avoid static link
44312 collisions
44313
44314 x265 compiles the routines with a different FENC_STRIDE, so they
44315 cannot have the same names as the x264 routines else x264 may break
44316 when linked together with x265 in the same application.
44317 [3b4597a6a66b]
44318
443192013-05-30 Deepthi <Deepthi>
44320
44321 * Merge
44322 [d0242a8f6c60]
44323
443242013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
44325
44326 * Merged multicoreware/xhevc into default
44327 [2a5bfbaa64c1]
44328
443292013-05-30 praveentiwari <praveentiwari>
44330
44331 * source/test/mbdstharness.cpp:
44332 Modified unit test
44333 [369944997be0]
44334
443352013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
44336
44337 * Merged multicoreware/xhevc into default
44338 [f4a49e8bc939]
44339
443402013-05-30 praveentiwari <praveentiwari>
44341
44342 * source/test/mbdstharness.cpp:
44343 More comprehensive unit test code for xDeQuant.
44344 [e7f272bfe95a]
44345
443462013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
44347
44348 * Merged multicoreware/xhevc into default
44349 [4fe41d6eced6]
44350
443512013-05-29 praveentiwari <praveentiwari>
44352
44353 * source/common/vec/macroblock.inc:
44354 Vector code for xDeQuant function
44355 [71119aff0eb0]
44356
443572013-05-29 praveen Tiwari <praveen@multicorewareinc.com>
44358
44359 * Merged multicoreware/xhevc into default
44360 [c94a23b37846]
44361
443622013-05-29 praveentiwari <praveentiwari>
44363
44364 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp:
44365 Shorten the variable names
44366 [32326bb746ae]
44367
443682013-05-29 praveen Tiwari <praveen@multicorewareinc.com>
44369
44370 * Merged multicoreware/xhevc into default
44371 [92fa5bc97c93]
44372
44373 * Merged multicoreware/xhevc into default
44374 [d0a255af3f3b]
44375
443762013-05-29 praveentiwari <praveentiwari>
44377
44378 * source/common/macroblock.cpp:
44379 C primitive for xDeQuant function
44380 [40b64d61b0ac]
44381
44382 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
44383 Test code for xDeQuant
44384 [0f58120670fe]
44385
44386 * source/common/primitives.h:
44387 Added function pointer typedef for xDeQuant in primitives.h file
44388 [f82cb9a78b0a]
44389
44390 * source/Lib/TLibCommon/TComTrQuant.cpp:
44391 Added a switch and modified argument list for xDeQuant to break
44392 dependecy from other member variable and functions
44393 [28de65cc3e50]
44394
443952013-05-30 Deepthi <Deepthi>
44396
44397 * Merge
44398 [8c8f8d931100]
44399
44400 * source/Lib/TLibEncoder/TEncSearch.cpp:
44401 RDO: new version for fast mode decision
44402 [e7ca54f292cb]
44403
444042013-05-30 Steve Borho <steve@borho.org>
44405
44406 * source/common/common.cpp:
44407 common: prevent a known-broken configuration (wpp+aqselect)
44408 [4c56f1b1c190]
44409
44410 * source/x265opts.h:
44411 x265opts: disable --depth when compiled for 8bpp, make --wpp a
44412 boolean flag
44413 [f02a5ddfe1d4]
44414
44415 * source/common/common.cpp:
44416 common: give log indication when FAST_MODE_DECISION has been
44417 compiled in
44418 [51cea626fc5c]
44419
44420 * source/common/common.cpp:
44421 common: show rect and amp options when enabled
44422 [2b1b890ae098]
44423
44424 * source/common/common.cpp:
44425 common: group transform skip options together
44426 [93cd37a94aa6]
44427
44428 * source/CMakeLists.txt:
44429 cmake: give FAST_MODE_DECISION an accurate help message
44430 [57ac25324d49]
44431
444322013-05-30 Deepthi <Deepthi>
44433
44434 * cfg/encoder_I_15P.cfg, source/CMakeLists.txt,
44435 source/Lib/TLibEncoder/TEncCu.cpp,
44436 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.cpp:
44437 Merge
44438 [af2246ceeb2c]
44439
44440 * source/Lib/TLibEncoder/TEncCu.cpp,
44441 source/Lib/TLibEncoder/TEncSearch.cpp:
44442 First cut version of using SAD costs.
44443 [4d681d6d86fe]
44444
44445 * cfg/encoder_I_15P.cfg, source/common/common.cpp:
44446 Disabling rect and AMP search (for now)
44447 [06f36a6d94fc]
44448
444492013-05-29 Deepthi <Deepthi>
44450
44451 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncSearch.cpp:
44452 ME satd costs and bits captured. FAST_MODE_DECISION introduced.
44453 [27ac6d4a40fd]
44454
444552013-05-30 Steve Borho <steve@borho.org>
44456
44457 * source/common/common.cpp, source/common/common.h:
44458 common: add x265_mdate() and fix rdoq option names
44459 [7e10b0e4554f]
44460
444612013-05-29 Steve Borho <steve@borho.org>
44462
44463 * source/x265opts.h:
44464 x265: add "no-" options for boolean parameters, cleanup sao and hash
44465 options
44466 [6769ff6d6154]
44467
44468 * source/x265.cpp:
44469 x265: add basic command line help
44470 [a48721370b31]
44471
44472 * source/x265.cpp:
44473 x265: improve reporting of invalid or extra vars, allow "x265 input
44474 output"
44475 [fafeb6fb8d0c]
44476
44477 * source/encoder/motion.cpp, source/encoder/motion.h:
44478 motion: introduce infrastructure for sub-sampled SAD
44479
44480 When performing a motion search for a block taller than 12 pixels
44481 (16 or more) we want to use sub-sampled SAD, meaning we only measure
44482 every other row of the block. Normally one would do this by halving
44483 the number of rows and doubling the stride, and doubling the output
44484 SAD result but we have two caveats:
44485
44486 1 - our sad_x3 and sad_x4 primitives have hard-coded fenc strides
44487 (FENC_STRIDE) and thus we cannot subsample the fenc block by
44488 doubling stride. Instead we have to actually subsample the block and
44489 store it in a buffer with FENC_STRIDE, which I've done in this
44490 commit. Now fencSad will always point to a buffer with FENC_STRIDE,
44491 and if this->subsample == 1, the buffer is subsampled.
44492
44493 2 - since the SAD costs never leave this function, we do not have to
44494 shift up our sad results by one bit to account for the subsampling.
44495 The subpel refine step will remeasure with non-subsampled SATD and
44496 thus we don't care what the best SAD cost actually was (only that it
44497 was the best). The only place where we need to account for
44498 subsampling is in the SAD_THRESH macro. It must shift the sad cost
44499 up by this->subsample bits.
44500
44501 Steps remaining (all to be done within #if SUBSAMPLE_SAD
44502
44503 1 - Replace fenc with fencSad for all sad(), sad_x3(), sad_x4()
44504 calls 2 - shift the luma stride by this->subsample for sad(),
44505 sad_x3() and sad_x4() 3 - shift up SAD cost by this->subsample for
44506 SAD_THREAD checks 4 - make sure all the changes from 1..3 have no
44507 effect on SATD calls 5 - test, we should see a small quality loss
44508 and an ME perf gain when enabled
44509 [3ea322fcdd7a]
44510
44511 * source/CMakeLists.txt:
44512 gcc: add openmp flags for gcc and icl
44513 [7f14e6ca1bff]
44514
44515 * source/Lib/TLibEncoder/TEncSlice.cpp:
44516 TEncSlice: disable allocation and usage of events if numThreads == 1
44517 [300663bf0015]
44518
445192013-05-23 Min Chen <chenm003@163.com>
44520
44521 * source/Lib/TLibEncoder/TEncSlice.cpp:
44522 thread: improvement performance based on replace iFinish by Event
44523 --- source/Lib/TLibEncoder/TEncSlice.cpp | 41
44524 ++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+),
44525 9 deletions(-)
44526 [1f68ebfe1ae7]
44527
44528 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp,
44529 source/Lib/TLibEncoder/TEncSlice.cpp:
44530 thread: the first worked version, turn on in WPP mode only
44531 [b67a18ce5c31]
44532
44533 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
44534 source/Lib/TLibCommon/TComSlice.h,
44535 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
44536 source/Lib/TLibEncoder/TEncGOP.cpp,
44537 source/Lib/TLibEncoder/TEncSearch.cpp,
44538 source/Lib/TLibEncoder/TEncSearch.h,
44539 source/Lib/TLibEncoder/TEncSlice.cpp,
44540 source/Lib/TLibEncoder/TEncSlice.h,
44541 source/Lib/TLibEncoder/TEncTop.cpp,
44542 source/Lib/TLibEncoder/TEncTop.h:
44543 thread: modify m_pcTrQuant to every thread, [BROKEN
44544 UseAdaptQpSelect]
44545 --- source/Lib/TLibCommon/TComSlice.h | 5 -----
44546 source/Lib/TLibEncoder/TEncCu.cpp | 3 ++-
44547 source/Lib/TLibEncoder/TEncCu.h | 1 +
44548 source/Lib/TLibEncoder/TEncGOP.cpp | 23 +++++++++++++++--------
44549 source/Lib/TLibEncoder/TEncSearch.cpp | 3 +--
44550 source/Lib/TLibEncoder/TEncSearch.h | 2 +-
44551 source/Lib/TLibEncoder/TEncSlice.cpp | 22 +++++++++++++++++++---
44552 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
44553 source/Lib/TLibEncoder/TEncTop.cpp | 26 +++++++++++++-------------
44554 source/Lib/TLibEncoder/TEncTop.h | 4 ++-- 10 files changed, 55
44555 insertions(+), 36 deletions(-)
44556 [d4a0ce886fae]
44557
445582013-05-29 Steve Borho <steve@borho.org>
44559
44560 * build/linux/batch.py:
44561 update batch.py to use x265.exe
44562 [45a9d983b45a]
44563
44564 * source/x265.cpp:
44565 x265: destroy cliopt before checking for leaks (x265.exe now leak
44566 free)
44567 [492957758353]
44568
44569 * source/encoder/encoder.cpp:
44570 encoder: destroy YUV buffers before deleting them
44571 [9131daa60c98]
44572
44573 * source/encoder/encoder.cpp:
44574 encoder: properly release reconstructed image buffers at close
44575 [61d3fb60cb9e]
44576
44577 * source/x265.cpp:
44578 x265: cleanup library statics before exit, prevent leak reports
44579 [908544e772b4]
44580
44581 * source/encoder/encoder.h:
44582 encoder: preallocate room in NAL containers
44583 [932360bdc969]
44584
44585 * source/encoder/encoder.cpp, source/encoder/encoder.h:
44586 encoder: write output packets directly into std::string buffer
44587 [80db68a1ea35]
44588
44589 * source/encoder/motion.cpp:
44590 motion: check motion candidates even for star search
44591 [60b59cac3bc2]
44592
44593 * source/encoder/motion.cpp:
44594 motion: use sad_x4 for raster search
44595 [f0cbf34f0845]
44596
445972013-05-29 Min Chen <chenm003@163.com>
44598
44599 * source/encoder/encoder.cpp, source/x265.h, source/x265opts.h:
44600 x265: new option hash
44601 --- source/encoder/encoder.cpp | 2 +- source/x265.h | 3 +++
44602 source/x265opts.h | 1 + 3 files changed, 5 insertions(+), 1
44603 deletions(-)
44604 [d5e04469c1fc]
44605
44606 * source/encoder/encoder.cpp, source/encoder/encoder.h:
44607 x265: fix bug in nal write
44608 --- source/encoder/encoder.cpp | 6 +++++- source/encoder/encoder.h |
44609 1 + 2 files changed, 6 insertions(+), 1 deletions(-)
44610 [ae9452e370e7]
44611
446122013-05-29 Steve Borho <steve@borho.org>
44613
44614 * source/Lib/TLibEncoder/TEncCu.cpp,
44615 source/Lib/TLibEncoder/TEncSearch.cpp, source/PPA/ppaCPUEvents.h:
44616 ppa: tweak PPA events to extract more useful detail about threading
44617 [3f33cdd7ff98]
44618
44619 * source/x265.cpp:
44620 x265: fix integer argument parsing
44621 [c40e7dbe7f07]
44622
44623 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppaCPUEvents.h:
44624 TEncCu: add separate PPA event for xCalcRDCostIntra
44625 [ee68c82fc7c7]
44626
44627 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppa.h,
44628 source/PPA/ppaCPUEvents.h:
44629 TEncCU: allow PPA to show recursive depth to xCompressCU
44630 [f625550f4de7]
44631
44632 * source/encoder/CMakeLists.txt:
44633 cmake: fix display of TLibEncoder headers
44634 [3e9e9412262b]
44635
44636 * source/common/common.cpp, source/x265.cpp:
44637 common: improve the logging of configuration
44638 [cfde846ed6e4]
44639
446402013-05-28 Steve Borho <steve@borho.org>
44641
44642 * source/x265.cpp:
44643 x265: report total elapsed time
44644 [5b755da5e73a]
44645
446462013-05-29 Deepthi <Deepthi>
44647
44648 * Merge
44649 [d16847d13c67]
44650
44651 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp:
44652 Early Partition Decision macro removed - the xCompressCU version has
44653 been commented out with a warning.
44654 [7bad155a07be]
44655
44656 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44657 Cleanup - early exit
44658 [82f090c9a0f2]
44659
446602013-05-28 Deepthi <Deepthi>
44661
44662 * Merge
44663 [d876d9c5eecc]
44664
44665 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44666 Early exit reloaded.
44667 [fcdedf954fbf]
44668
446692013-05-27 Deepthi <Deepthi>
44670
44671 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44672 Adding CalcRDCostIntra
44673 [6de8c04a070d]
44674
44675 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44676 Separating out analysis structure from mode decision
44677 [3a4b62a318bb]
44678
446792013-05-28 Steve Borho <steve@borho.org>
44680
44681 * source/encoder/motion.cpp:
44682 motion: hoist two-point early out out of function
44683 [f3c78bfe071d]
44684
44685 * source/encoder/motion.cpp:
44686 motion: convert two-point search into a table lookup
44687 [3d4df6126d11]
44688
44689 * source/common/common.h, source/encoder/encoder.cpp:
44690 Merge
44691 [60570eb6bff8]
44692
44693 * source/Lib/TLibCommon/TComRom.cpp,
44694 source/Lib/TLibEncoder/TEncAnalyze.h,
44695 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
44696 source/encoder/encoder.cpp:
44697 common: cleanup cycle counter, disable by default
44698 [70ee52ecfdb5]
44699
44700 * source/common/common.h, source/encoder/motion.cpp:
44701 motion: rename some macros, enable sad_x4
44702 [fb67b234b11e]
44703
44704 * source/encoder/encoder.cpp:
44705 encoder: use osstream.write() instead of << which appears to be zero
44706 terminated
44707 [ebb0c3ff732c]
44708
447092013-05-28 ggopu <ggopu>
44710
44711 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
44712 source/Lib/TLibEncoder/TEncAnalyze.h,
44713 source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h:
44714 Implemented the Cycle Count Calculation for Motion Estimation
44715 [2a0b3e881909]
44716
44717 * source/common/common.h, source/encoder/motion.cpp:
44718 sad_x4 Implementation for Star Search
44719 [e0a1a4ed9ccc]
44720
447212013-05-27 Steve Borho <steve@borho.org>
44722
44723 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
44724 cmake: minor cleanups
44725 [4fd217fbf622]
44726
447272013-05-27 Min Chen <chenm003@163.com>
44728
44729 * source/VectorClass/vectori128.h, source/common/CMakeLists.txt,
44730 source/encoder/CMakeLists.txt:
44731 Fix build problem
44732 --- source/VectorClass/vectori128.h | 2 +-
44733 source/common/CMakeLists.txt | 3 ++- source/encoder/CMakeLists.txt |
44734 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-)
44735 [3ba1fae68c60]
44736
447372013-05-27 Steve Borho <steve@borho.org>
44738
44739 * source/x265.h:
44740 x265: fix eoln mangling
44741 [835abb6c24f9]
44742
447432013-05-27 praveentiwari <praveentiwari>
44744
44745 * source/common/vec/macroblock.inc:
44746 .60x more performance gain for partailButterfly4 intrinsic version
44747 [3cd8e6c169f6]
44748
447492013-05-26 Deepthi <Deepthi>
44750
44751 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44752 Adding CalcRDCostInter
44753 [a61257252105]
44754
447552013-05-25 Steve Borho <steve@borho.org>
44756
44757 * source/encoder/encoder.cpp, source/x265.cpp:
44758 x265: encoder_all_I.cfg output now matches x265 -i1 --sao 1
44759
44760 SAO was never disabled in the I frame config, so must be enabled to
44761 get the exact same bitstream
44762 [a581b097ad6e]
44763
44764 * source/encoder/encoder.cpp:
44765 x265: I15P config now matches bit for bit with x265-cli
44766 [7bab890121d4]
44767
44768 * source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp,
44769 source/encoder/encoder.h:
44770 x265: resolve some bitstream differences between CLI apps
44771 [dee26a40d02a]
44772
44773 * source/TestForChecking_BadCommit.bat,
44774 source/tools/TestForChecking_BadCommit.bat:
44775 move regression batch file into tools folder
44776 [8b15863c0013]
44777
44778 * source/x265.cpp:
44779 nits
44780 [e32ccdc056a1]
44781
44782 * source/encoder/encoder.cpp, source/x265.cpp:
44783 encoder: correct NAL counts and a few other issues
44784
44785 Byte count difference between the two CLI programs is now 2
44786 [2fe823ae463f]
44787
44788 * source/encoder/encoder.cpp, source/encoder/encoder.h,
44789 source/x265.cpp:
44790 encoder: plausible NAL write routines
44791 [8fa3800a48e2]
44792
44793 * source/x265.cpp:
44794 x265: enable NAL write functions
44795 [025d311ac08e]
44796
44797 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h,
44798 source/x265.cpp, source/x265main.cpp:
44799 x265: move NVM macros to common.h
44800 [e22bfa6b8f85]
44801
44802 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/NAL.h,
44803 source/Lib/TLibCommon/TComSlice.h, source/x265.cpp, source/x265.h:
44804 x265: move NalUnitType from CommonDef.h to public x265.h
44805 [a2f0181eda8b]
44806
44807 * source/CMakeLists.txt, source/input/yuv.cpp:
44808 x265: more warnings cleanups
44809 [79cab5bc3d95]
44810
44811 * source/Lib/TLibEncoder/TEncGOP.cpp:
44812 TEncGOP: add missing semi-colons after PPA macros
44813 [c5796290ba6e]
44814
44815 * source/input/yuv.cpp:
44816 x265: more compiler warnings fixes
44817 [3478dcabae7b]
44818
44819 * source/test/CMakeLists.txt:
44820 cmake: test benches only need common.lib
44821 [813159de8a6a]
44822
44823 * source/input/y4m.cpp, source/input/y4m.h, source/x265.cpp:
44824 x265: fix compiler warnings that were accidentally hidden
44825 [068c2a7d55a1]
44826
44827 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
44828 source/common/CMakeLists.txt, source/encoder/CMakeLists.txt,
44829 source/test/CMakeLists.txt:
44830 cmake: merge TLibCommon into common.lib, TLibEncoder into
44831 encoder.lib
44832
44833 This fixes link issues with GCC, and clarifies the project
44834 relationships
44835 [46c9252f7dcb]
44836
44837 * source/x265.cpp, source/x265opts.h:
44838 x265opt: add help strings to CLI help output
44839 [1dab9cd7ccf7]
44840
44841 * source/x265opts.h:
44842 x265opt: more tuning of command line options
44843 [750c8127e6bc]
44844
44845 * source/CMakeLists.txt:
44846 cmake: provide version number to x265.cpp
44847 [8693e88f6e7b]
44848
44849 * source/common/primitives.cpp, source/encoder/encoder.cpp:
44850 move x265_cleanup into the encoder/ folder, fixes link references
44851 [678151ff4837]
44852
44853 * source/Lib/CMakeLists.txt, source/encoder/CMakeLists.txt:
44854 cmake: split HM into TLibEncoder and TLibCommon
44855 [617b70bc5028]
44856
44857 * source/CMakeLists.txt, source/common/CMakeLists.txt,
44858 source/common/IntraPred.cpp, source/common/TShortYUV.cpp,
44859 source/common/TShortYUV.h, source/common/butterfly.h,
44860 source/common/common.cpp, source/common/common.h,
44861 source/common/ipfilter.cpp, source/common/macroblock.cpp,
44862 source/common/md5.cpp, source/common/md5.h, source/common/pixel.cpp,
44863 source/common/primitives.cpp, source/common/primitives.h,
44864 source/common/threading.cpp, source/common/threading.h,
44865 source/common/threadpool.cpp, source/common/threadpool.h,
44866 source/common/vec/CMakeLists.txt, source/common/vec/avx.cpp,
44867 source/common/vec/avx2.cpp, source/common/vec/blockcopy.inc,
44868 source/common/vec/intrapred.inc, source/common/vec/ipfilter.inc,
44869 source/common/vec/ipfilter16.inc, source/common/vec/ipfilter8.inc,
44870 source/common/vec/macroblock.inc, source/common/vec/pixel.inc,
44871 source/common/vec/pixel16.inc, source/common/vec/pixel8.inc,
44872 source/common/vec/sse2.cpp, source/common/vec/sse3.cpp,
44873 source/common/vec/sse41.cpp, source/common/vec/sse42.cpp,
44874 source/common/vec/ssse3.cpp, source/common/vec/vec-primitives.cpp,
44875 source/common/vec/vecprimitives.inc,
44876 source/common/x86/CMakeLists.txt, source/common/x86/asm-
44877 primitives.cpp, source/common/x86/const-a.asm,
44878 source/common/x86/cpu-a.asm, source/common/x86/pixel-32.asm,
44879 source/common/x86/pixel-a.asm, source/common/x86/pixel.h,
44880 source/common/x86/sad-a.asm, source/common/x86/x86inc.asm,
44881 source/common/x86/x86util.asm, source/encoder/CMakeLists.txt,
44882 source/encoder/IntraPred.cpp, source/encoder/TShortYUV.cpp,
44883 source/encoder/TShortYUV.h, source/encoder/butterfly.h,
44884 source/encoder/common.cpp, source/encoder/common.h,
44885 source/encoder/ipfilter.cpp, source/encoder/macroblock.cpp,
44886 source/encoder/md5.cpp, source/encoder/md5.h,
44887 source/encoder/pixel.cpp, source/encoder/primitives.cpp,
44888 source/encoder/primitives.h, source/encoder/threading.cpp,
44889 source/encoder/threading.h, source/encoder/threadpool.cpp,
44890 source/encoder/threadpool.h, source/encoder/vec/CMakeLists.txt,
44891 source/encoder/vec/avx.cpp, source/encoder/vec/avx2.cpp,
44892 source/encoder/vec/blockcopy.inc, source/encoder/vec/intrapred.inc,
44893 source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
44894 source/encoder/vec/ipfilter8.inc, source/encoder/vec/macroblock.inc,
44895 source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
44896 source/encoder/vec/pixel8.inc, source/encoder/vec/sse2.cpp,
44897 source/encoder/vec/sse3.cpp, source/encoder/vec/sse41.cpp,
44898 source/encoder/vec/sse42.cpp, source/encoder/vec/ssse3.cpp,
44899 source/encoder/vec/vec-primitives.cpp,
44900 source/encoder/vec/vecprimitives.inc,
44901 source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
44902 primitives.cpp, source/encoder/x86/const-a.asm,
44903 source/encoder/x86/cpu-a.asm, source/encoder/x86/pixel-32.asm,
44904 source/encoder/x86/pixel-a.asm, source/encoder/x86/pixel.h,
44905 source/encoder/x86/sad-a.asm, source/encoder/x86/x86inc.asm,
44906 source/encoder/x86/x86util.asm, source/test/CMakeLists.txt:
44907 directory re-org, move primitives and infrastructure into common/
44908 folder
44909
44910 This encoder/common split is also how x264 has its code arranged.
44911
44912 common - performance primitives, threading, low level features
44913 encoder - analysis, mode decision, cabac, high level features
44914
44915 General rules: 1. Things we're replacing from TLibCommon/ go in
44916 common/ 2. Things we're replacing from TLibEncoder/ go in encoder/
44917 [96baad4e5160]
44918
449192013-05-25 Deepthi <Deepthi>
44920
44921 * source/Lib/TLibEncoder/TEncCu.cpp:
44922 More if - I_slice checks removed
44923 [bcbed778915b]
44924
44925 * source/Lib/TLibEncoder/TEncCu.cpp:
44926 Removing redundant if-I_slice checks
44927 [7dfef87f686f]
44928
44929 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44930 A separate path for Intra Slice Analysis
44931 [9372c4dd1876]
44932
44933 * source/Lib/TLibEncoder/TEncCu.cpp:
44934 POinters for each NxN partition
44935 [07982959ab7d]
44936
44937 * source/Lib/TLibEncoder/TEncCu.cpp:
44938 This code snippet is baffling - no NxN partitions allowed at any
44939 level for inter-CUs.
44940 [5077b41e4dcc]
44941
44942 * source/Lib/TLibEncoder/TEncCu.cpp:
44943 More PCM cleanup
44944 [4c23d8da41c3]
44945
44946 * source/Lib/TLibEncoder/TEncCu.cpp:
44947 Removing PCM and AMP from EARLY_PARTITION.
44948 [996d036256a5]
44949
44950 * source/Lib/TLibEncoder/TEncCu.cpp:
44951 Done experimenting - lets clean up and start afresh.
44952 [b831e30a39f1]
44953
44954 * source/Lib/TLibEncoder/TEncCu.cpp:
44955 Merge
44956 [1275b8710950]
44957
44958 * source/Lib/TLibEncoder/TEncCu.cpp:
44959 Bug fix for no EARLY_DECISION path. The difference between #ifndef
44960 and #if !!
44961 [fe1e15dc6eb1]
44962
449632013-05-24 Deepthi <Deepthi>
44964
44965 * source/Lib/TLibEncoder/TEncCu.cpp:
44966 Eliminating repetitive cost checks for 4 NxN partitions
44967 [472585bb237a]
44968
449692013-05-24 Steve Borho <steve@borho.org>
44970
44971 * source/encoder/encoder.cpp:
44972 encoder: correct the flush argument to TEncTop::encoder()
44973 [ea418dc405d4]
44974
44975 * source/Lib/TLibEncoder/TEncGOP.cpp:
44976 TEncGOP: use less horizontal space to print per-frame PSNR
44977 [f377a112c835]
44978
44979 * source/encoder/encoder.cpp:
44980 encoder: reorder some lines, should have no effect
44981 [2729b04a27f3]
44982
44983 * source/Lib/TLibEncoder/TEncGOP.cpp, source/PPA/ppaCPUEvents.h:
44984 ppa: add wrapping event for loop filters
44985 [3639ac6c84ed]
44986
44987 * source/x265.cpp:
44988 x265: combine two log lines, remove bitstream filename (not
44989 relevant)
44990 [73c2c3b6bdd2]
44991
44992 * source/encoder/common.cpp:
44993 common: change more defaults to match I15P
44994 [3462f6dfee4d]
44995
44996 * source/encoder/encoder.cpp, source/encoder/encoder.h:
44997 encoder: pull in really ugly GOP intialization/validation code from
44998 TAppEncoder
44999
45000 This all goes away once we have a proper lookahead
45001 [35f67ed1b8ce]
45002
45003 * source/encoder/common.cpp:
45004 common: fixup default params
45005 [5e9aca57a444]
45006
45007 * source/Lib/TLibEncoder/TEncTop.cpp:
45008 nits, no code change
45009 [a893a5ee88ab]
45010
45011 * source/x265.cpp:
45012 x265: fix input file arg indexing
45013 [f01c09fd1370]
45014
450152013-05-25 ShinYee Chung <shinyee@multicorewareinc.com>
45016
45017 * source/encoder/vec/intrapred.inc:
45018 intra: Fix compile warning for HIGH_BIT_DEPTH (-Werror=shadow).
45019 [480bc3934409]
45020
45021 * source/encoder/vec/intrapred.inc:
45022 intra: Fix compile warning for HIGH_BIT_DEPTH (-Werror=unused-but-
45023 set-variable).
45024 [d5459b8da333]
45025
45026 * source/encoder/vec/intrapred.inc:
45027 intra: Fix vector conversion errors.
45028
45029 source/encoder/vec/intrapred.inc:570:66: error: conversion from
45030 ‘Vec128b’ to non-scalar type ‘Vec8s’ requested Vec8s
45031 v_topRow = load_partial(const_int(8), &pSrc[-srcStride]); // topRow
45032
45033 ...
45034 [e63381924908]
45035
45036 * source/x265.cpp:
45037 x265: Fix compile error due to undeclared strncmp function.
45038 [8b6c9566d28d]
45039
450402013-05-24 ShinYee Chung <shinyee@multicorewareinc.com>
45041
45042 * source/encoder/motion.h:
45043 motion: Fix compile warning due to -Wparentheses.
45044 [ea85c7f907b9]
45045
450462013-05-23 ShinYee Chung <shinyee@multicorewareinc.com>
45047
45048 * source/encoder/vec/intrapred.inc:
45049 intrapred: Fix compile warnings/errors due to -Wmaybe-uninitialized.
45050 [7984ca4e57fd]
45051
450522013-05-24 Steve Borho <steve@borho.org>
45053
45054 * source/x265.cpp:
45055 x265: more debugging
45056 [81f824e31a0d]
45057
45058 * source/x265.cpp, source/x265opts.h:
45059 x265: more work on CLI options
45060 [3b6c4efdc154]
45061
45062 * source/CMakeLists.txt, source/x265.cpp, source/x265opts.h:
45063 x265: add getopt() to new CLI app, tune short flags to match x264
45064 [c140af14db48]
45065
45066 * source/Lib/TLibEncoder/TEncCu.cpp:
45067 re-apply bug fix, there must have been a bad merge somewhere
45068 [d14951b6324a]
45069
45070 * Merged in deepthidevaki/xhevc_deepthid (pull request #170)
45071
45072 IntraPredAng 16x16 with all modes
45073 [813e9c90cbf6]
45074
450752013-05-24 Deepthi Devaki <Deepthi Devaki>
45076
45077 * source/encoder/vec/intrapred.inc:
45078 Merge
45079 [73316a3addc5]
45080
45081 * source/encoder/vec/intrapred.inc:
45082 IntraPredAng 16x16 with all modes
45083 [9d91f3584db2]
45084
45085 * source/VectorClass/vectori128.h:
45086 ForceInline few more functions in vectorclass
45087 [05870dbb3efb]
45088
45089 * build/nmake/make-solutions.bat:
45090 Merge
45091 [2a6f287ceebe]
45092
45093 * source/encoder/vec/intrapred.inc:
45094 IntraPredAng16x16 few modes, not getting called yet, shall be
45095 included on completion
45096 [4b10526cb3a0]
45097
450982013-05-24 nandaku2 <deepthi@multicorewareinc.com>
45099
45100 * Merged in praveentiwari/xhevc_praveent (pull request #169)
45101
45102 Added logic to avoid saturation in partialButterfly4 intrinsic
45103 version
45104 [e3ed785d727f]
45105
451062013-05-24 praveentiwari <praveentiwari>
45107
45108 * source/encoder/vec/macroblock.inc:
45109 Added logic to avoid saturation in partialButterfly4 intrinsic
45110 version
45111 [81d852d7865b]
45112
45113 * source/encoder/vec/macroblock.inc:
45114 Removed unused vectors from partialButterflyInverse32 code
45115 [afb8d92f66f4]
45116
45117 * source/encoder/vec/macroblock.inc:
45118 Removed unused vectors from partialButterflyInverse16
45119 [fabf29c2888a]
45120
45121 * source/encoder/vec/macroblock.inc:
45122 Removed unused vectore from partialButterflyInvers8 code
45123 [1d2b3e54a4a4]
45124
45125 * source/encoder/vec/macroblock.inc:
45126 optimized saturation mechanism in partialButterflyInvers16 vector
45127 version
45128 [19b0f38f6380]
45129
45130 * source/encoder/vec/macroblock.inc:
45131 Removed unnecessary computation from partialButterflyInverse4 vector
45132 version
45133 [08b2688b6de9]
45134
45135 * source/encoder/vec/macroblock.inc:
45136 changed saturation mechanism for partialButterflyInverse8 vector
45137 version
45138 [4d0cf1002390]
45139
451402013-05-24 Deepthi <Deepthi>
45141
45142 * Merge
45143 [f739e927e018]
45144
45145 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45146 Storing NxN CU's at each depth
45147 [051ac8dfaff9]
45148
45149 * source/Lib/TLibEncoder/TEncCu.cpp:
45150 Bug fix for m_NxNCU
45151 [84a82ca7c5a6]
45152
45153 * source/Lib/TLibEncoder/TEncCu.cpp:
45154 More cleanup; Rmeoving CheckBestMode out of CheckInterCost
45155 [477d76b93842]
45156
45157 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45158 Cleanup: Remove extra arguments from xCheckRDCostInter/Intra
45159 [4555cb1f1a2b]
45160
45161 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45162 Adding data structures for NxN information
45163 [ef9f8f85c277]
45164
451652013-05-24 praveentiwari <praveentiwari>
45166
45167 * source/encoder/vec/macroblock.inc:
45168 Changed packing mechanism for partialButterfly8 intrinsic version
45169 [a6f34ed51a4d]
45170
451712013-05-24 praveen Tiwari <praveen@multicorewareinc.com>
45172
45173 * Merged multicoreware/xhevc into default
45174 [f32272e3ca22]
45175
451762013-05-24 praveentiwari <praveentiwari>
45177
45178 * source/encoder/vec/macroblock.inc:
45179 Removed unnecessary computation from partialButterflyInverse32
45180 [c7ee802ee960]
45181
451822013-05-24 praveen Tiwari <praveen@multicorewareinc.com>
45183
45184 * Merged multicoreware/xhevc into default
45185 [b1d686c45089]
45186
45187 * build/nmake/make-solutions.bat:
45188 Merged multicoreware/xhevc into default
45189 [fd0bbd1775d6]
45190
451912013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
45192
45193 * Merged multicoreware/xhevc into default
45194 [526ab84ce55d]
45195
45196 * Merged multicoreware/xhevc into default
45197 [f9fd6ba9f9bc]
45198
451992013-05-24 Deepthi Devaki <Deepthi Devaki>
45200
45201 * source/encoder/vec/intrapred.inc:
45202 Fixed build for HIGH_BIT_DEPTH enabled
45203 [ea8e87bacbcf]
45204
452052013-05-23 Steve Borho <steve@borho.org>
45206
45207 * source/encoder/motion.cpp:
45208 motion: fix star search's raster step
45209
45210 tmv's loop range covers the entire search area. The search origin
45211 should not be added to it.
45212 [a3439ab05d47]
45213
45214 * source/encoder/encoder.cpp, source/encoder/encoder.h:
45215 encoder: hard-code our simple P frame GOP structure
45216
45217 It will be the default GOP structure, but "All I" can be selected
45218 simply by adding --keyint 1 option. Will add another option for
45219 all-B later.
45220 [04ce483efd92]
45221
45222 * source/encoder/vec/CMakeLists.txt, source/encoder/vec/vec-
45223 primitives.cpp:
45224 cmake: prevent VC9 and VC10 from using SSE4, fixes aligned move
45225 crashes
45226 [8394398ddad3]
45227
45228 * source/Lib/TLibCommon/TComPrediction.cpp:
45229 nit
45230 [dc7eea8b9b88]
45231
45232 * source/encoder/vec/macroblock.inc:
45233 macroblock: do not use SSE4 intrinsics for lower instrset builds
45234 [7c65d9710ec4]
45235
45236 * source/encoder/vec/ipfilter8.inc:
45237 ipfilter: use immediate load-partial, fixes VC9 x64 crashes
45238 [f66f0728d7e1]
45239
45240 * source/encoder/vec/macroblock.inc:
45241 macroblock: do not use SSE4 intrinsics for lower instrset builds
45242 [3ea4514efde6]
45243
45244 * source/Lib/TLibCommon/TComPrediction.cpp:
45245 TComPrediction: only allocate extY tmp buffer when necessary, use
45246 xMalloc
45247 [9894aed732d5]
45248
45249 * build/nmake/make-solutions.bat:
45250 build: drop nmake script - was only a temp hack for ASM support
45251 [ce6d7bc7f18d]
45252
45253 * source/Lib/TLibEncoder/TEncSearch.h:
45254 nit
45255 [cbf103758b5a]
45256
45257 * source/x265.cpp:
45258 x265: inline the NAL write functions into CLIOptions
45259 [661d5db35d30]
45260
45261 * source/x265.cpp:
45262 x265: include assert.h for VLD validation checks
45263 [9479fde37ee3]
45264
45265 * source/encoder/motion.h:
45266 motion: manually enforce 16 byte alignment for fenc buffer
45267 [577747a625ff]
45268
452692013-05-23 Deepthi <Deepthi>
45270
45271 * source/encoder/vec/macroblock.inc:
45272 Merge
45273 [d749a9fe2c1c]
45274
45275 * Merge
45276 [8686b9a4e74c]
45277
452782013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
45279
45280 * Merged multicoreware/xhevc into default
45281 [d329a297cccd]
45282
452832013-05-23 praveentiwari <praveentiwari>
45284
45285 * source/encoder/vec/macroblock.inc:
45286 Intrinsic code for partialButterflyInverse16
45287 [824a8e9a6a6f]
45288
452892013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
45290
45291 * Merged multicoreware/xhevc into default
45292 [6f04eef8255c]
45293
452942013-05-23 praveentiwari <praveentiwari>
45295
45296 * source/encoder/vec/macroblock.inc:
45297 Intrinsic code for partialButterflyInverse8
45298 [44529de64523]
45299
453002013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
45301
45302 * source/encoder/vec/macroblock.inc:
45303 Merged multicoreware/xhevc into default
45304 [235de855d779]
45305
453062013-05-23 Deepthi Devaki <Deepthi Devaki>
45307
45308 * Merge
45309 [31c59ffe9c96]
45310
45311 * source/encoder/vec/intrapred.inc:
45312 Improvement in Intra Angular 8x8 vector implementation
45313 [d6a113bf815b]
45314
453152013-05-23 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45316
45317 * Merged multicoreware/xhevc into default
45318 [bf29b1a40bca]
45319
453202013-05-23 Deepthi Devaki <Deepthi Devaki>
45321
45322 * source/VectorClass/vectori128.h:
45323 ForceInlined a few more functions in vectori128
45324 [c7fe807725d5]
45325
45326 * source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
45327 IntraPredAng 8x8 HIGH_BIT disabled - with special case
45328 implementation for 8 modes.
45329 [9ce6eb8b73ce]
45330
453312013-05-23 Deepthi <Deepthi>
45332
45333 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45334 Defining lambda values for Check Best Mode
45335 [3f9b5f17bb56]
45336
453372013-05-23 Steve Borho <steve@borho.org>
45338
45339 * source/CMakeLists.txt, source/encoder/encoder.cpp,
45340 source/encoder/encoder.h, source/x265.cpp, source/x265.h:
45341 encoder: introduce new cli front-end, to eventually replace x265-cli
45342
45343 cfg/*, x265main, x265cfg, and x265enc will all go away as soon as
45344 this works
45345 [92e3da6cc72d]
45346
453472013-05-23 Deepthi <Deepthi>
45348
45349 * Merge
45350 [18d3c0a322d2]
45351
45352 * source/Lib/TLibCommon/TypeDef.h:
45353 Best value of lambda select set to 0.6
45354 [96bb8955c43e]
45355
453562013-05-22 Steve Borho <steve@borho.org>
45357
45358 * source/Lib/TLibEncoder/TEncSearch.cpp:
45359 TEncSearch: remove my comments from HM source, they were also wrong
45360 [06fa58c2176d]
45361
45362 * source/encoder/motion.cpp:
45363 motion: better document search shapes
45364 [28fbc93455c6]
45365
45366 * source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
45367 source/VectorClass/vectori128.h:
45368 vector: disable floating point vector classes, avoids GCC warnings,
45369 fix EOLN
45370
45371 vecprimitives.inc:73:1: error: '__m128d selectd(const __m128d&,
45372 const __m128d&, const __m128d&)' conflicts with a previous
45373 declaration
45374 [eea2e5dbd441]
45375
45376 * source/encoder/vec/intrapred.inc:
45377 intrapred: fix GCC warnings
45378
45379 intrapred.inc:1340:45: error: conversion from 'Vec16c' to non-scalar
45380 type 'Vec16uc' intrapred.inc:1362:17: error: declaration of 'k'
45381 shadows a previous local
45382 [0d9eeff169b0]
45383
45384 * source/encoder/vec/macroblock.inc:
45385 macroblock: fix GCC warnings again, perhaps line argument should be
45386 removed?
45387
45388 macroblock.inc:562:9: error: statement has no effect [-Werror
45389 =unused-value]
45390 [d377908c3b23]
45391
45392 * source/encoder/encoder.cpp, source/encoder/motion.cpp,
45393 source/encoder/motion.h, source/x265.h, source/x265cfg.cpp:
45394 motion: rename our adapted HM search to "STAR"
45395 [175b3e9e3fe8]
45396
45397 * Merged in praveentiwari/xhevc_praveent (pull request #161)
45398
45399 Intrinsic code for partialButterfly8
45400 [c9c87ffc9b47]
45401
454022013-05-22 praveen Tiwari <praveen@multicorewareinc.com>
45403
45404 * Merged multicoreware/xhevc into default
45405 [0bb355ace86f]
45406
454072013-05-22 praveentiwari <praveentiwari>
45408
45409 * source/encoder/vec/macroblock.inc:
45410 Intrinsic code for partialButterfly8
45411 [bc4ff1668070]
45412
454132013-05-22 Steve Borho <steve@borho.org>
45414
45415 * Merged in deepthidevaki/xhevc_deepthid (pull request #160)
45416
45417 IntraPredAngular 4x4 HIGH_BIT depth enabled
45418 [b322aca2f1da]
45419
454202013-05-22 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45421
45422 * Merged multicoreware/xhevc into default
45423 [ed34d6c8a225]
45424
454252013-05-22 Deepthi Devaki <Deepthi Devaki>
45426
45427 * source/Lib/TLibCommon/TComPrediction.cpp,
45428 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
45429 source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
45430 IntraPredAngular 4x4 HIGH_BIT depth enabled
45431 [12eaf2159b3f]
45432
45433 * source/encoder/vec/vecprimitives.inc:
45434 Fix back slash in #include
45435 [55094d80f04a]
45436
454372013-05-22 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45438
45439 * Merged multicoreware/xhevc into default
45440 [bd911514525a]
45441
454422013-05-21 Deepthi Devaki <Deepthi Devaki>
45443
45444 * Merge
45445 [8aa73d922542]
45446
45447 * source/encoder/IntraPred.cpp, source/encoder/vec/intrapred.inc,
45448 source/encoder/vec/vecprimitives.inc,
45449 source/test/intrapredharness.cpp:
45450 xPredIntraAng 4x4 HIGH_BIT disabled
45451 [db8e242c4ad0]
45452
45453 * source/VectorClass/vectori128.h, source/test/intrapredharness.cpp:
45454 Force inline functions in vectori128.h
45455 [5551a0eb5fbe]
45456
454572013-05-22 Steve Borho <steve@borho.org>
45458
45459 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
45460 source/encoder/motion.h:
45461 motion: use square pattern for subpel refinement
45462 [0d8765c5e054]
45463
45464 * source/encoder/motion.cpp:
45465 motion: allow fpel star refinement if two point search finds new
45466 point
45467 [9b50900a78d4]
45468
454692013-05-22 ggopu <ggopu>
45470
45471 * source/Lib/TLibEncoder/TEncSearch.cpp:
45472 Temporary fix to crash
45473 [0dbbe48f078d]
45474
454752013-05-22 Steve Borho <steve@borho.org>
45476
45477 * source/encoder/motion.cpp:
45478 motion: use COPY2_IF_LT in subpel refine, simplifies logic
45479
45480 No behavior change
45481 [a1b974810f40]
45482
45483 * source/encoder/motion.cpp:
45484 motion: if first subpel iteration found no improvement, skip later
45485 iters
45486
45487 Should have no coding effect, but should help perf slightly.
45488 [32ee09f3e9b8]
45489
454902013-05-21 Steve Borho <steve@borho.org>
45491
45492 * source/encoder/motion.cpp:
45493 motion: only adjust subpel search center once per iteration
45494
45495 Basing the offsets from BMV was allowing the search to wander away
45496 on less fruitful paths. Best to wait for all results to come in
45497 before moving the search center point.
45498 [c0134d7e756d]
45499
455002013-05-22 ShinYee Chung <shinyee@multicorewareinc.com>
45501
45502 * source/encoder/encoder.h:
45503 Encoder: Fix enum accesses.
45504 [2e7af97e815e]
45505
45506 * source/encoder/motion.cpp:
45507 motion: Fix compile warning/error due to shadow variable in COST_MV
45508 macro.
45509 [d2ff2006533f]
45510
45511 * source/Lib/TLibEncoder/TEncTop.cpp:
45512 TLibEncoder: Fix compile error due to undeclared INT_MAX.
45513 [53b7e60badcb]
45514
455152013-05-21 Steve Borho <steve@borho.org>
45516
45517 * source/encoder/common.cpp, source/encoder/encoder.cpp,
45518 source/x265.h, source/x265cfg.cpp, source/x265cfg.h,
45519 source/x265enc.cpp:
45520 api: further trim x265_param_t, remove PCM and rate control and
45521 other bits
45522
45523 We will add these back later as we optimize and/or adapt these
45524 features
45525 [26d354b832d2]
45526
45527 * source/encoder/common.cpp, source/encoder/encoder.cpp,
45528 source/x265cfg.cpp:
45529 encoder: plumb in a parse function
45530 [2ac0b485815b]
45531
45532 * source/Lib/TLibEncoder/TEncCfg.h:
45533 TEncCfg: white-space nit
45534 [38a2194f7420]
45535
45536 * source/Lib/TLibEncoder/TEncCfg.h,
45537 source/Lib/TLibEncoder/TEncTop.cpp,
45538 source/Lib/TLibEncoder/TEncTop.h, source/encoder/encoder.cpp,
45539 source/x265enc.cpp:
45540 encoder: simply encode() function signature, auto-detect frames to
45541 be encoded
45542 [084aaa5e85cc]
45543
45544 * source/Lib/TLibEncoder/TEncTop.cpp:
45545 TEncTop: simplify destroy method slightly
45546 [2af1b2f39aa0]
45547
455482013-05-21 Min Chen <chenm003@163.com>
45549
45550 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45551 cleanup: remove unused pointer from TEncCu
45552
45553 From 28a48831f9571ff030574c4e28c75e4afc8105f3 Mon Sep 17 00:00:00
45554 2001
45555 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 ---
45556 source/Lib/TLibEncoder/TEncCu.h | 3 --- 2 files changed, 0
45557 insertions(+), 6 deletions(-)
45558 [c0f39e04c429]
45559
455602013-05-20 Min Chen <chenm003@163.com>
45561
45562 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
45563 source/Lib/TLibEncoder/TEncGOP.cpp,
45564 source/Lib/TLibEncoder/TEncSearch.h,
45565 source/Lib/TLibEncoder/TEncSlice.cpp,
45566 source/Lib/TLibEncoder/TEncSlice.h,
45567 source/Lib/TLibEncoder/TEncTop.cpp,
45568 source/Lib/TLibEncoder/TEncTop.h:
45569 thread: [BITS CHANGED] split m_pcRDGoOnSbacCoder into own thread
45570 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 ++-
45571 source/Lib/TLibEncoder/TEncCu.h | 2 +-
45572 source/Lib/TLibEncoder/TEncGOP.cpp | 4 ++--
45573 source/Lib/TLibEncoder/TEncSearch.h | 2 +-
45574 source/Lib/TLibEncoder/TEncSlice.cpp | 7 ++++---
45575 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
45576 source/Lib/TLibEncoder/TEncTop.cpp | 6 +++---
45577 source/Lib/TLibEncoder/TEncTop.h | 4 ++-- 8 files changed, 16
45578 insertions(+), 14 deletions(-)
45579 [695f62044e15]
45580
455812013-05-21 Steve Borho <steve@borho.org>
45582
45583 * source/encoder/encoder.cpp, source/encoder/encoder.h:
45584 encoder: remove some includes only used by new main
45585 [e076db6b561e]
45586
45587 * source/Lib/TLibEncoder/TEncTop.cpp:
45588 TEncTop: call destroy() on CU encoders before deleting them
45589
45590 HM class destructors do not necessarily free memory. This fixes some
45591 large leaks.
45592 [c645bcc7795c]
45593
45594 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp,
45595 source/x265enc.cpp:
45596 cruft: remove setFrameSkip/getFrameSkip() from TencCfg
45597
45598 The encoder should be unaware of file I/O properties.
45599 setFramesToBeEncoded() should also be removed, but the encoder needs
45600 the last frame number in order to handle edge cases at the end of
45601 the encode.
45602 [c19a3ca7761d]
45603
45604 * source/encoder/encoder.h:
45605 encoder: remove obsolete cruft, assign default level and profile
45606 [efccf29f74ef]
45607
45608 * source/encoder/encoder.cpp, source/encoder/encoder.h:
45609 encoder: improve defaults to match current behavior, simplify
45610 [0d7c1810b154]
45611
45612 * source/x265cfg.cpp:
45613 more nits
45614 [3ec9dcc432cf]
45615
45616 * source/encoder/vec/macroblock.inc:
45617 macroblock: tabs to spaces
45618 [398786d7e65a]
45619
45620 * source/encoder/vec/macroblock.inc:
45621 Merged in praveentiwari/xhevc_praveent (pull request #159)
45622
45623 Intrinsic code for partialButterflyInverse4
45624 [4a43a67aab95]
45625
456262013-05-21 praveentiwari <praveentiwari>
45627
45628 * source/encoder/vec/macroblock.inc:
45629 Intrinsic code for partialButterflyInverse4
45630 [8a115d37a05a]
45631
45632 * source/CMakeLists.txt, source/encoder/vec/macroblock.inc,
45633 source/test/filterharness.cpp, source/test/mbdstharness.cpp,
45634 source/test/testbench.cpp:
45635 Backed out changeset: 6a5d35fd39fb
45636 [ff8e92d7c095]
45637
45638 * source/CMakeLists.txt, source/encoder/vec/macroblock.inc,
45639 source/test/filterharness.cpp, source/test/mbdstharness.cpp,
45640 source/test/testbench.cpp:
45641 Intrinsic code for partialButterflyInverse4
45642 [6a5d35fd39fb]
45643
456442013-05-21 Steve Borho <steve@borho.org>
45645
45646 * source/encoder/motion.cpp:
45647 motion: do not check candidate MVs for HM style search
45648
45649 No compelling reason for this, except to help debug differences
45650 [21098423e1aa]
45651
45652 * source/Lib/TLibEncoder/TEncSearch.cpp:
45653 TEncSearch: disable SAD subsampling while we debug ME
45654
45655 It's not clear we ever want to turn this back on, at least before
45656 we've added subsampling to x265 ME
45657 [b05a30649d2e]
45658
45659 * source/Lib/TLibEncoder/TEncSearch.cpp:
45660 TEncSearch: give the real MVP to x265 ME, not just zero
45661
45662 This is the bug that has been preventing UMH from working as
45663 designed
45664
45665 DIA: 461.0320 31.4553 36.0712 36.1111 HEX: 457.8880 31.4728 36.0830
45666 36.1282 UMH: 457.3520 31.4723 36.1079 36.1460 HM: 458.6560 31.4827
45667 36.1382 36.1273 ORIG: 456.0960 31.5091 36.1377 36.1228
45668
45669 Our HM version still has a bug; need to find it
45670 [d011d9380876]
45671
45672 * source/encoder/motion.cpp:
45673 motion: use MV 0 prediction as search start if cheaper than MVP
45674 [5957dfe39429]
45675
45676 * source/Lib/TLibEncoder/TEncSearch.cpp:
45677 TEncSearch: use actual enum for selecting x265 ME routine
45678 [94edee85036a]
45679
45680 * source/encoder/motion.cpp:
45681 motion: remove hard-coded mode selection
45682 [d96750bcb143]
45683
45684 * source/encoder/motion.cpp, source/encoder/motion.h:
45685 motion: fix bugs in my changes, add relevant comments for future
45686 work
45687 [88caee6ef7c3]
45688
45689 * source/encoder/motion.cpp, source/encoder/motion.h,
45690 source/encoder/mv.h:
45691 motion: simplify HM search method code
45692 [b58f7f60ae7c]
45693
45694 * source/encoder/common.cpp, source/x265.h:
45695 api: add original HM search as valid configurable option
45696 [4a4f55e067b9]
45697
45698 * Merged in ggopu/ggopu_xhevc (pull request #158)
45699
45700 Implemented the HM ME to Motion.cpp
45701 [3301bc78e1ce]
45702
457032013-05-21 ggopu <ggopu>
45704
45705 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
45706 source/encoder/motion.h, source/encoder/mv.h:
45707 Implemented the HM ME to Motion.cpp
45708 [e2e81e4f914c]
45709
45710 * source/Lib/TLibEncoder/TEncSearch.cpp:
45711 Merge
45712 [f13d5c93b30e]
45713
45714 * source/encoder/motion.cpp, source/encoder/motion.h,
45715 source/encoder/mv.h:
45716 Implemented HM ME to Motion.cpp
45717 [453365fdf903]
45718
457192013-05-21 Steve Borho <steve@borho.org>
45720
45721 * source/encoder/encoder.cpp:
45722 encoder: fix another shadowed variable warning
45723 [5ad7c41ac970]
45724
45725 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp:
45726 encoder: fix GCC compiler warnings
45727 [b515463b42cd]
45728
45729 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
45730 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
45731 source/Lib/TLibEncoder/TEncCu.cpp,
45732 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/common.cpp,
45733 source/encoder/encoder.cpp, source/x265.h, source/x265cfg.cpp,
45734 source/x265enc.cpp:
45735 api: rename enableAMPRefine to useRectInter
45736
45737 This configurable was mis-named. It has nothing to do with AMP, it
45738 is disabling the use of rectangular inter prediction modes (which
45739 has the side-effect of also disabling AMP since AMP is not checked
45740 if the rectangular mode of similar shape was not checked).
45741
45742 This configurable should never have been in TComSlice since the flag
45743 is not signaled in the slice header like AMP activation is.
45744 [ab23a9399bcb]
45745
45746 * source/encoder/vec/macroblock.inc:
45747 macroblock: fix GCC compiler warning
45748
45749 macroblock.inc: In function 'void
45750 {anonymous}::partialButterfly4(short int*, short int*, int, int)':
45751 macroblock.inc:1326:12: error: parameter 'line' set but not used
45752 [-Werror=unused-but-set-parameter]
45753 [587dd16e4001]
45754
457552013-05-21 praveen Tiwari <praveen@multicorewareinc.com>
45756
45757 * Merged multicoreware/xhevc into default
45758 [5d2edf07bd81]
45759
457602013-05-21 praveentiwari <praveentiwari>
45761
45762 * source/Lib/TLibCommon/TComTrQuant.cpp,
45763 source/encoder/vec/macroblock.inc:
45764 Fixed alignment issue for partialButterfly32
45765 [8e42a9907241]
45766
457672013-05-21 praveen Tiwari <praveen@multicorewareinc.com>
45768
45769 * Merged multicoreware/xhevc into default
45770 [f89ac88ad652]
45771
457722013-05-21 praveentiwari <praveentiwari>
45773
45774 * source/encoder/vec/macroblock.inc:
45775 Fixed encoder crash for partialButterfly32
45776 [c175df4a600f]
45777
45778 * source/encoder/vec/macroblock.inc:
45779 Code cleanup for partialButterfly4
45780 [f110e2eac973]
45781
457822013-05-21 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
45783
45784 * source/TestForChecking_BadCommit.bat:
45785 Test script to find bad commit
45786 [55fd15776acf]
45787
457882013-05-21 Steve Borho <steve@borho.org>
45789
45790 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
45791 source/encoder/encoder.h:
45792 api: new encoder class and main function
45793 [b4b06a6e89cd]
45794
45795 * source/encoder/common.cpp, source/x265cfg.cpp:
45796 api: use new methods to validate and print public params (CHANGES
45797 LOGGING)
45798
45799 This changes the look of the output log, but should not change any
45800 output bits
45801 [6cb27c8e9011]
45802
45803 * source/encoder/common.cpp, source/encoder/common.h:
45804 common: add new methods for validating and printing the public
45805 params
45806 [3f0ece48b1f7]
45807
45808 * source/x265.h, source/x265cfg.cpp:
45809 api: make iMaxCuDQPDepth a uint32_t, like the other depth settings
45810 [e8acc21708cb]
45811
458122013-05-20 Steve Borho <steve@borho.org>
45813
45814 * source/x265cfg.cpp:
45815 fix HIGH_BIT_DEPTH=1 build
45816 [6d47f9979e5c]
45817
45818 * source/Lib/TLibCommon/ContextModel3DBuffer.h,
45819 source/Lib/TLibCommon/TComPrediction.cpp:
45820 minor nit fixes, no behavior changes
45821 [17d10d96b071]
45822
45823 * source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
45824 source/x265enc.cpp:
45825 api: remove m_ prefix from x265_param_t data members
45826 [bb2c9bc68a9e]
45827
458282013-05-21 ShinYee Chung <shinyee@multicorewareinc.com>
45829
45830 * source/encoder/vec/macroblock.inc:
45831 Vec: Fix compile warnings/errors due to unused typedef.
45832 [d062def382de]
45833
458342013-05-20 Steve Borho <steve@borho.org>
45835
45836 * source/x265cfg.cpp:
45837 cfg: simplify log header a bit
45838 [06f883384489]
45839
45840 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
45841 source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
45842 source/x265enc.cpp:
45843 cfg: replace MaxCUWidth, MaxCUHeight with single MaxCUSize
45844 [fe13c968c8c1]
45845
45846 * source/x265cfg.cpp:
45847 x265cfg: remove redundant ME name array, white-space cleanups
45848 [8f33ed829287]
45849
45850 * source/x265cfg.cpp:
45851 x265cfg: move the default output filename to a better location
45852 [5bd50e2c6ad3]
45853
45854 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
45855 bitcost: match BitCost::bitcost() to TComRdCost:getCost() [CHANGES
45856 OUTPUTS]
45857
45858 The HM counts MVD bits in integer, while we were using log2n() and
45859 keeping floats. Our MV costs were smoother across the range of MV's
45860 but this is a false accuracy. Encoding cost is rounded to nearest
45861 bit. This change improves compression efficiency.
45862 [bcf310907041]
45863
45864 * source/x265main.cpp:
45865 main: minor nit cleanups
45866 [596328140dfc]
45867
45868 * source/encoder/vec/macroblock.inc, source/x265.h:
45869 fix GCC compile warnings
45870 [4d682b12d184]
45871
458722013-05-20 praveentiwari <praveentiwari>
45873
45874 * source/encoder/vec/macroblock.inc:
45875 32bit build issue fix for partialButterfly4 intrinsic function.
45876 Further optimisation.
45877 [e90a68b8cdd8]
45878
458792013-05-20 sumalatha <sumalatha>
45880
45881 * source/tools/performanceProfiler/Profiler.bat,
45882 source/tools/performanceProfiler/Readme.txt,
45883 source/tools/performanceProfiler/config.txt,
45884 source/tools/performanceProfiler/performanceProfiler.bat:
45885 modified the scripts files to take the application's(.exe) from the
45886 relative path to the curent directory
45887 [215c0e0beda0]
45888
458892013-05-20 Steve Borho <steve@borho.org>
45890
45891 * source/Lib/TLibEncoder/TEncSearch.cpp:
45892 TEncSearch: use x265's optimized bitcost() method for xCheckBestMVP
45893
45894 Minor performance improvement
45895 [36642a6ac4c6]
45896
458972013-05-20 Deepthi Devaki <Deepthi Devaki>
45898
45899 * source/Lib/TLibCommon/TComPrediction.cpp:
45900 Fix for compilation error in HIGH_BIT_DEPTH enabled
45901 [e1ce48613e7f]
45902
459032013-05-19 Steve Borho <steve@borho.org>
45904
45905 * source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
45906 source/x265cfg.h:
45907 api: further work triming x265_param_t and implementing public API
45908 [42d2f5b65c7c]
45909
45910 * source/x265cfg.cpp:
45911 x265cfg: white-space nits
45912 [0ba7cbf85049]
45913
45914 * source/Lib/TLibCommon/TComPicYuv.cpp,
45915 source/Lib/TLibCommon/TComPicYuv.h,
45916 source/Lib/TLibEncoder/TEncTop.cpp,
45917 source/Lib/TLibEncoder/TEncTop.h, source/encoder/common.cpp,
45918 source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
45919 source/input/yuv.cpp, source/input/yuv.h, source/output/output.h,
45920 source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
45921 source/output/yuv.h, source/x265.h, source/x265cfg.h,
45922 source/x265enc.cpp:
45923 api: rename some public structures to follow x264 style, hide some
45924 params
45925
45926 If I have no idea how a param is configured or used, I removed it
45927 from the public data structure.
45928 [c8f27268f3c1]
45929
45930 * source/Lib/TLibEncoder/TEncSearch.cpp:
45931 TEncSearch: fix comments in xTZ8PointDiamondSearch
45932
45933 Removes one extraneaous if() level by chaining together if() else
45934 if() else
45935 [ff379e5854bf]
45936
45937 * source/encoder/motion.cpp:
45938 Backout 1545:eaaa4edde516 (tested worse in regression suite)
45939 [2fbe276bd35f]
45940
45941 * source/encoder/motion.cpp:
45942 motion: fix GCC shadow variable warning (tmv is used inside COST_MV)
45943 [27b17a18367d]
45944
45945 * source/encoder/motion.cpp:
45946 motion: start fpel search at best predictor
45947
45948 HM and x264 both do this, but has uncertain results. Will test in
45949 regression suite with more videos
45950 [eaaa4edde516]
45951
45952 * source/encoder/motion.cpp:
45953 motion: use roundToFPel() when converting clipped MVP to fpel
45954
45955 x264 does this, and it seems to help compression slightly.
45956 [63af725da724]
45957
45958 * source/encoder/motion.cpp, source/encoder/mv.h:
45959 motion: only remeasure bmv at fpel if pmv had subpel fractions
45960 [d465b6f04260]
45961
45962 * source/encoder/motion.cpp:
45963 motion: remove omv=bmv assignment that x264 UMH does not do
45964 [e343fdb42a15]
45965
45966 * source/encoder/motion.cpp:
45967 motion: avoid rechecking bestpre
45968 [2b88c1e2bc08]
45969
45970 * source/encoder/motion.cpp:
45971 motion: improve UMH comments, add a TODO for further analysis
45972 [fd94f23e7828]
45973
45974 * source/encoder/motion.cpp:
45975 motion: do not check candidates equal to MVP, clarify prep code
45976 [253d81c1a1e5]
45977
45978 * source/encoder/motion.cpp:
45979 motion: move warning disable to top of file
45980 [21ae49204eb1]
45981
45982 * source/encoder/motion.cpp:
45983 motion: use x265.h enums for motion search methods
45984 [ae6e0fbfabab]
45985
45986 * source/encoder/motion.cpp:
45987 motion: nits
45988 [96a835f01afa]
45989
45990 * source/encoder/motion.cpp, source/encoder/mv.h:
45991 mv: explicit notZero() method
45992 [dce5c8184afc]
45993
459942013-05-19 Min Chen <chenm003@163.com>
45995
45996 * source/Lib/TLibEncoder/TEncSlice.cpp,
45997 source/Lib/TLibEncoder/TEncSlice.h,
45998 source/Lib/TLibEncoder/TEncTop.cpp,
45999 source/Lib/TLibEncoder/TEncTop.h:
46000 thread: modify m_pcCuEncoder to every thread
46001 --- source/Lib/TLibEncoder/TEncSlice.cpp | 22 +++++++++++-----------
46002 source/Lib/TLibEncoder/TEncSlice.h | 4 ++--
46003 source/Lib/TLibEncoder/TEncTop.cpp | 8 +++++---
46004 source/Lib/TLibEncoder/TEncTop.h | 4 ++-- 4 files changed, 20
46005 insertions(+), 18 deletions(-)
46006 [8448f800200b]
46007
46008 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
46009 source/Lib/TLibEncoder/TEncSearch.cpp,
46010 source/Lib/TLibEncoder/TEncSearch.h,
46011 source/Lib/TLibEncoder/TEncSlice.cpp,
46012 source/Lib/TLibEncoder/TEncSlice.h,
46013 source/Lib/TLibEncoder/TEncTop.cpp,
46014 source/Lib/TLibEncoder/TEncTop.h:
46015 thread: modify m_pcPredSearch to every thread
46016 --- source/Lib/TLibEncoder/TEncCu.cpp | 2 +-
46017 source/Lib/TLibEncoder/TEncCu.h | 2 ++
46018 source/Lib/TLibEncoder/TEncSearch.cpp | 6 ++----
46019 source/Lib/TLibEncoder/TEncSearch.h | 2 --
46020 source/Lib/TLibEncoder/TEncSlice.cpp | 10 ++++++++--
46021 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
46022 source/Lib/TLibEncoder/TEncTop.cpp | 8 +++++++-
46023 source/Lib/TLibEncoder/TEncTop.h | 7 +++++-- 8 files changed, 26
46024 insertions(+), 13 deletions(-)
46025 [74d3dbbf08fc]
46026
46027 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
46028 source/Lib/TLibEncoder/TEncGOP.cpp,
46029 source/Lib/TLibEncoder/TEncGOP.h,
46030 source/Lib/TLibEncoder/TEncSearch.h,
46031 source/Lib/TLibEncoder/TEncSlice.cpp,
46032 source/Lib/TLibEncoder/TEncSlice.h,
46033 source/Lib/TLibEncoder/TEncTop.cpp,
46034 source/Lib/TLibEncoder/TEncTop.h:
46035 thread: modify m_pcEntropyCoder and fix bug in HM when WPP
46036 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 +-
46037 source/Lib/TLibEncoder/TEncCu.h | 1 +
46038 source/Lib/TLibEncoder/TEncGOP.cpp | 122
46039 +++++++++++++++++----------------- source/Lib/TLibEncoder/TEncGOP.h
46040 | 2 +- source/Lib/TLibEncoder/TEncSearch.h | 2 +
46041 source/Lib/TLibEncoder/TEncSlice.cpp | 39 +++++++-----
46042 source/Lib/TLibEncoder/TEncSlice.h | 2 +-
46043 source/Lib/TLibEncoder/TEncTop.cpp | 6 ++-
46044 source/Lib/TLibEncoder/TEncTop.h | 5 +- 9 files changed, 98
46045 insertions(+), 84 deletions(-)
46046 [079de58deffd]
46047
460482013-05-19 Steve Borho <steve@borho.org>
46049
46050 * source/encoder/motion.cpp:
46051 motion: do two subpel iterations for hpel and qpel
46052
46053 This will find corner vectors, where previous simple DIA did not.
46054 This catches us up quite a bit:
46055
46056 DIA: 467.8400 31.3870 36.0379 36.0973 HEX: 466.5200 31.3955 36.0604
46057 36.1248 UMH: 463.1120 31.4415 36.1199 36.1584 HM: 456.4880 31.4984
46058 36.1100 36.1101
46059 [bbb7982882ba]
46060
460612013-05-18 Steve Borho <steve@borho.org>
46062
46063 * source/encoder/motion.cpp:
46064 motion: use ints for temp vars
46065
46066 Using sub-word integers is usually a perf loss, and opens you up to
46067 wierd overflow bugs.
46068 [4db7ec5efb78]
46069
46070 * source/encoder/motion.cpp:
46071 motion: minor cleanups, no effects
46072 [ebf5fd8f484d]
46073
46074 * source/encoder/motion.cpp, source/encoder/mv.h:
46075 motion: convert hex4 to MV, use tmv for checkRange within hex grid
46076 loop
46077
46078 x264 checks tmv there (mv being tested), not bmv (current best mv)
46079 [1bb2e323b6fb]
46080
460812013-05-18 Min Chen <chenm003@163.com>
46082
46083 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
46084 source/Lib/TLibEncoder/TEncGOP.cpp,
46085 source/Lib/TLibEncoder/TEncSearch.h,
46086 source/Lib/TLibEncoder/TEncSlice.cpp,
46087 source/Lib/TLibEncoder/TEncSlice.h,
46088 source/Lib/TLibEncoder/TEncTop.cpp,
46089 source/Lib/TLibEncoder/TEncTop.h:
46090 thread: [NEED VERIFY] modify logic and remove unused code for
46091 m_pppcRDSbacCoder Conflicts:
46092
46093 source/Lib/TLibEncoder/TEncTop.cpp
46094 --- source/Lib/TLibEncoder/TEncCu.cpp | 5 +++-
46095 source/Lib/TLibEncoder/TEncCu.h | 1 +
46096 source/Lib/TLibEncoder/TEncGOP.cpp | 3 +-
46097 source/Lib/TLibEncoder/TEncSearch.h | 1 +
46098 source/Lib/TLibEncoder/TEncSlice.cpp | 9 ++----
46099 source/Lib/TLibEncoder/TEncSlice.h | 1 -
46100 source/Lib/TLibEncoder/TEncTop.cpp | 46
46101 +++------------------------------ source/Lib/TLibEncoder/TEncTop.h |
46102 6 +--- 8 files changed, 17 insertions(+), 55 deletions(-)
46103 [4817a9ff9832]
46104
461052013-05-18 Steve Borho <steve@borho.org>
46106
46107 * source/encoder/motion.cpp:
46108 motion: adapt "full MB size" check to HEVC CTU
46109
46110 This had no measurable effect, but seemed more correct
46111 [d5f187bb6d44]
46112
46113 * source/encoder/motion.cpp:
46114 motion: fix arguments to CROSS macro in UMH
46115 [b5947f8c979e]
46116
46117 * source/encoder/motion.cpp:
46118 motion: remove SIMPLE_HEX, the outputs are now the same
46119 [0304c492eb5d]
46120
46121 * source/encoder/x86/x86util.asm:
46122 asm: fix FENC_STRIDE to HEVC size
46123 [b333105c3ae1]
46124
46125 * source/encoder/motion.cpp:
46126 motion: remove BITS_MVD again (was resurrected during a merge)
46127 [cb15920370ca]
46128
46129 * source/encoder/motion.cpp:
46130 motion: enable SIMPLE_HEX by default, until the "fast" path is
46131 debugged
46132 [b243347757d4]
46133
461342013-05-18 Min Chen <chenm003@163.com>
46135
46136 * source/Lib/TLibEncoder/TEncSlice.cpp:
46137 thread: avoid reference to m_pppcRDSbacCoder[0][CI_CURR_BEST]
46138 --- source/Lib/TLibEncoder/TEncSlice.cpp | 4 ++-- 1 files changed, 2
46139 insertions(+), 2 deletions(-)
46140 [afb15c17b9c0]
46141
46142 * source/Lib/TLibEncoder/TEncSlice.cpp,
46143 source/Lib/TLibEncoder/TEncSlice.h:
46144 thread: remove unused code for m_pcBufferBinCoderCABACs
46145 --- source/Lib/TLibEncoder/TEncSlice.cpp | 12 ++----------
46146 source/Lib/TLibEncoder/TEncSlice.h | 1 - 2 files changed, 2
46147 insertions(+), 11 deletions(-)
46148 [9a0a53b12609]
46149
46150 * source/Lib/TLibEncoder/TEncSlice.cpp:
46151 thread: move pppcRDSbacCoder into loop
46152 --- source/Lib/TLibEncoder/TEncSlice.cpp | 8 ++++---- 1 files
46153 changed, 4 insertions(+), 4 deletions(-)
46154 [9bf8a39b1801]
46155
46156 * source/Lib/TLibEncoder/TEncSlice.cpp,
46157 source/Lib/TLibEncoder/TEncSlice.h:
46158 cleanup: remove unused code for pcBufferLowLatSbacCoders
46159 --- source/Lib/TLibEncoder/TEncSlice.cpp | 15 ---------------
46160 source/Lib/TLibEncoder/TEncSlice.h | 2 -- 2 files changed, 0
46161 insertions(+), 17 deletions(-)
46162 [798cdd336099]
46163
46164 * source/Lib/TLibEncoder/TEncCu.cpp:
46165 cleanup: remove unused code
46166 --- source/Lib/TLibEncoder/TEncCu.cpp | 17 ----------------- 1 files
46167 changed, 0 insertions(+), 17 deletions(-)
46168 [659df28d9850]
46169
461702013-05-18 Steve Borho <steve@borho.org>
46171
46172 * source/Lib/TLibEncoder/TEncSearch.cpp,
46173 source/Lib/TLibEncoder/TEncSearch.h:
46174 TEncSearch: remove m_fencbuf and SAD primitive use from HM ME
46175
46176 This fixes BIDIR and weighted P prediction
46177 [76c5cc558878]
46178
46179 * cfg/encoder_all_I.cfg:
46180 encoder_all_I: nit cleanups
46181 [103828d5f1b0]
46182
46183 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
46184 source/Lib/TLibEncoder/TEncCfg.h,
46185 source/Lib/TLibEncoder/TEncSearch.cpp,
46186 source/Lib/TLibEncoder/TEncSearch.h,
46187 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/motion.cpp,
46188 source/encoder/motion.h, source/x265.h, source/x265cfg.cpp,
46189 source/x265enc.cpp:
46190 replace FastSearch configurable with motion search method
46191 [b24d4f0d8a6e]
46192
46193 * source/encoder/vec/macroblock.inc:
46194 macroblock: disable partialButterfly4, it is failing in the
46195 testbench
46196 [c407651a52a4]
46197
46198 * source/encoder/motion.cpp:
46199 Merge
46200 [29b3933dcf27]
46201
46202 * source/Lib/TLibCommon/TComDataCU.cpp:
46203 TComDataCU: fix GCC compile warnings
46204 [0ee4ca22aa1f]
46205
46206 * source/encoder/motion.cpp:
46207 motion: fix GCC compile warnings
46208 [7260a1fdc7a7]
46209
46210 * source/encoder/IntraPred.cpp:
46211 intrapred: fix include path again
46212 [701bc030c157]
46213
46214 * source/encoder/IntraPred.cpp, source/encoder/primitives.h:
46215 IntraPred: do not use pointer reference
46216
46217 1 - this is a C++ only construct, and would make ASM opts very
46218 difficult 2 - the pointer value being passed was a temp rvalue, not
46219 modifiable
46220 [c4459134a244]
46221
462222013-05-18 Deepthi <Deepthi>
46223
46224 * source/encoder/vec/macroblock.inc:
46225 Disabling 4 and 32 butterfly intrinsic implementations
46226 [83b3c02ec36a]
46227
46228 * source/Lib/TLibCommon/TComPrediction.cpp:
46229 Remove xPredIntraAngRefBuf from HM - they are now part of
46230 x265::primitives
46231 [4bb8150df674]
46232
46233 * source/Lib/TLibEncoder/TEncSearch.cpp:
46234 Merge
46235 [393536c14d6f]
46236
462372013-05-17 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
46238
46239 * Merged multicoreware/xhevc into default
46240 [33bb25b0bf5f]
46241
462422013-05-16 Deepthi Devaki <Deepthi Devaki>
46243
46244 * Merge
46245 [6f0ad2ce8510]
46246
46247 * source/Lib/TLibCommon/TComPrediction.cpp,
46248 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
46249 source/test/intrapredharness.cpp, source/test/intrapredharness.h:
46250 Unit test for Intra Angular primitives
46251 [bd9bc0bc3759]
46252
462532013-05-16 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
46254
46255 * Merged multicoreware/xhevc into default
46256 [8e9356e3cf6e]
46257
462582013-05-16 Deepthi Devaki <Deepthi Devaki>
46259
46260 * Merge
46261 [b48ae2baa364]
46262
46263 * source/Lib/TLibCommon/TComPattern.cpp,
46264 source/Lib/TLibCommon/TComPattern.h,
46265 source/Lib/TLibCommon/TComPrediction.cpp,
46266 source/Lib/TLibCommon/TComPrediction.h,
46267 source/Lib/TLibEncoder/TEncSearch.cpp:
46268 Redesigned intraprediction for angular modes to use buffered
46269 references
46270 [048211fdc5f0]
46271
462722013-05-18 Steve Borho <steve@borho.org>
46273
46274 * source/encoder/motion.cpp:
46275 motion: make UMH the default (this needs to be a param)
46276 [d8c379d73e86]
46277
46278 * source/encoder/motion.cpp:
46279 motion: make "optimized" HEX the default now
46280 [bc7cae4f28e8]
46281
46282 * source/encoder/motion.cpp:
46283 motion: remove unused BITS_MVD macro
46284 [cf973ab501ae]
46285
46286 * source/encoder/motion.cpp:
46287 motion: measure MV cost in qpel in COST_MV
46288 [fbdfdd9f710d]
46289
462902013-05-17 Steve Borho <steve@borho.org>
46291
46292 * source/encoder/motion.cpp:
46293 motion: simplify COST_MV_X4
46294 [5850f4fb7e1e]
46295
46296 * source/encoder/motion.cpp:
46297 motion: add range check for subpel refine
46298 [e8c864e6301e]
46299
46300 * source/encoder/motion.cpp:
46301 motion: cleanup hex and square offset arrays
46302 [1c8d80939de3]
46303
46304 * source/encoder/motion.cpp:
46305 motion: add default case to switch statement
46306 [b46bc231b6a1]
46307
46308 * source/encoder/motion.cpp:
46309 motion: make HEX the default for the moment
46310 [d15f3b52a98c]
46311
46312 * source/encoder/mv.h:
46313 mv: add a helpful comment
46314 [346ce779ff9a]
46315
46316 * source/encoder/motion.cpp:
46317 motion: fix obvious bug in COST_MV(). HEX mode now looks ok
46318
46319 This is a quality/perf progression you would expect for DIA and HEX
46320
46321 Kbps Y PSNR U PSNR V PSNR elapsed time DIA: 499.9280 31.1502
46322 35.8939 35.9815 27sec HEX: 474.3600 31.3310 36.0312 36.1283 28sec
46323 HM: 456.4880 31.4984 36.1100 36.1101 30sec
46324
46325 UMH is worse than HEX, better than DIA. Which means there are still
46326 bugs.
46327
46328 UMH: 481.9600 31.2575 36.0621 36.0658 28sec
46329
46330 The "optimized" HEX path is also broken (worse numbers than these)
46331 [3179771dfccc]
46332
46333 * source/encoder/motion.cpp:
46334 motion: add descriptive #if 0 from x264
46335
46336 It is useful because it is a simpler version of hex that can be more
46337 easily debugged, and the later version should match the outputs
46338 [96d7eed717e0]
46339
46340 * source/encoder/motion.cpp:
46341 motion: white-space nit, no code change
46342 [cf80adc4e35c]
46343
46344 * source/encoder/motion.cpp:
46345 motion: remove redundant code
46346 [3ec960515133]
46347
46348 * source/encoder/motion.cpp:
46349 motion: just a single stride var is necessary
46350 [6de0d4f2f5a9]
46351
46352 * source/encoder/motion.cpp:
46353 motion: use bmv.checkRange()
46354 [04923c4dc22a]
46355
46356 * source/encoder/motion.cpp:
46357 motion: take advantage of MV union
46358 [55427f2a6fbc]
46359
46360 * source/encoder/motion.cpp:
46361 motion: include assert.h
46362 [7e83eb3c796e]
46363
46364 * source/encoder/motion.cpp:
46365 motion: use MV copy constructor some more
46366 [08c0e5f843e7]
46367
46368 * source/encoder/motion.cpp:
46369 motion: HEVC does not have 4x4 inter partitions
46370 [fd313e990e4b]
46371
46372 * source/encoder/motion.cpp:
46373 motion: pmv needs to be a full-pel motion vector
46374 [d7cd89c7d662]
46375
46376 * source/encoder/motion.cpp:
46377 motion: use MV copy constructor
46378 [494e1c059f10]
46379
46380 * source/encoder/motion.cpp:
46381 motion: remove dup variable i_me_range
46382 [8e5588e6b2a7]
46383
46384 * source/encoder/motion.cpp:
46385 motion: cleanup
46386 [e2727ec025ac]
46387
46388 * source/encoder/motion.cpp:
46389 motion: remove unnecessary dup variables
46390 [01ee1bc52dea]
46391
46392 * source/encoder/motion.cpp, source/encoder/motion.h:
46393 motion: save the partition enum for the current PU
46394 [ae2c9e4d80fe]
46395
46396 * source/encoder/motion.cpp:
46397 motion: turn size_scale the right way around
46398 [962787f0f8a3]
46399
46400 * source/encoder/motion.cpp:
46401 motion: remove cruft
46402 [fb19468bde57]
46403
46404 * source/encoder/motion.cpp:
46405 motion: fix obvious bug in x265_predictor_difference
46406 [5290730cc3b2]
46407
46408 * source/encoder/motion.cpp:
46409 cleanups, no behavior change
46410 [98b7107debdf]
46411
46412 * source/encoder/common.cpp, source/encoder/common.h,
46413 source/encoder/motion.cpp:
46414 motion: move common macros to common.h
46415 [6e0a819ee02b]
46416
46417 * source/encoder/motion.cpp, source/encoder/vec/macroblock.inc,
46418 source/x265cfg.cpp:
46419 fix GCC compilation warnings
46420 [807d04c7511c]
46421
46422 * Merged in sumalatha/xhevc_sumalatha (pull request #148)
46423
46424 fix for decoder crash in xcompresscu() [early_abort optimization]
46425 [28523f0f4149]
46426
464272013-05-17 sumalatha <sumalatha>
46428
46429 * source/Lib/TLibEncoder/TEncCu.cpp:
46430 fix for removing the decoder crash in xcompressCU() - early
46431 partition optimization
46432 [0122fe9ae44c]
46433
464342013-05-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
46435
46436 * build/dr_psnr_script/TAppDecoder.exe,
46437 build/dr_psnr_script/psnr_script.bat,
46438 source/Lib/TLibEncoder/TEncCu.cpp:
46439 Merged multicoreware/xhevc into default
46440 [ee89354b0898]
46441
464422013-05-17 sumalatha <sumalatha>
46443
46444 * source/Lib/TLibEncoder/TEncCu.cpp:
46445 Backed out changeset: 78976eb7f3fa
46446 [0ad65cd9d7b4]
46447
46448 * source/Lib/TLibEncoder/TEncCu.cpp:
46449 fix for decoder crash in xcompresscu() {early_abort optimization]
46450 [78976eb7f3fa]
46451
464522013-05-17 Steve Borho <steve@borho.org>
46453
46454 * source/encoder/vec/macroblock.inc:
46455 partialButterfly4 does not compile on 32bit x86
46456
46457 _mm_cvtsi64_si128 does not exist on 32bit systems
46458 [608559903526]
46459
464602013-05-17 praveen Tiwari <praveen@multicorewareinc.com>
46461
46462 * build/dr_psnr_script/TAppDecoder.exe,
46463 build/dr_psnr_script/psnr_script.bat:
46464 Merged multicoreware/xhevc into default
46465 [a501a1c26fd9]
46466
464672013-05-17 praveentiwari <praveentiwari>
46468
46469 * source/encoder/vec/macroblock.inc:
46470 intrinsic code for partialButterfly32
46471 [d14c341119ff]
46472
464732013-05-17 Deepthi <Deepthi>
46474
46475 * .hgignore, build/dr_psnr_script/TAppDecoder.exe,
46476 build/dr_psnr_script/psnr_script.bat, source/tools/HM
46477 decoder/TAppDecoder.exe:
46478 Relocating HM decoder to tools. Removing build/dr_psnr_script
46479 [71005e0c4e43]
46480
46481 * Merge
46482 [c5c192a1e47f]
46483
464842013-05-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
46485
46486 * Merged multicoreware/xhevc into default
46487 [8718c6433394]
46488
464892013-05-17 sumalatha <sumalatha>
46490
46491 * source/tools/performanceProfiler/Profiler.bat,
46492 source/tools/performanceProfiler/Readme.txt,
46493 source/tools/performanceProfiler/config.txt,
46494 source/tools/performanceProfiler/performanceProfiler.bat:
46495 Modified the testing scripts for running both yuv files and y4m
46496 files also
46497 [d37656a0c5ca]
46498
464992013-05-17 Deepthi <Deepthi>
46500
46501 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
46502 More refinement of early abort conditions
46503 [67bf72b8a743]
46504
46505 * Merge
46506 [9e411b77d861]
46507
46508 * source/Lib/TLibEncoder/TEncCu.cpp:
46509 refining early abort
46510 [404f0e8cd3e6]
46511
46512 * source/Lib/TLibEncoder/TEncCu.cpp:
46513 fixing the decoder crash
46514 [539b0fbd82fe]
46515
46516 * source/Lib/TLibEncoder/TEncCu.cpp:
46517 remove PCM for now
46518 [519dd09ead40]
46519
46520 * source/Lib/TLibEncoder/TEncCu.cpp:
46521 Remove AMP for now from EARLY_ABORT mode decision
46522 [53ace900d5ba]
46523
465242013-05-17 Steve Borho <steve@borho.org>
46525
46526 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp:
46527 TEncSearch: pass neighbor MVs to motionEstimate (UMH seems to
46528 require them)
46529 [a0e0b589aa92]
46530
465312013-05-17 ggopu <ggopu>
46532
46533 * source/encoder/motion.cpp:
46534 Motion Estimation : UMH implementation stage 1
46535 [94746841ea03]
46536
465372013-05-16 Gopu G <gopu@multicorewareinc.com>
46538
46539 * Merged multicoreware/xhevc into default
46540 [526f1f214b82]
46541
46542 * Merged multicoreware/xhevc into default
46543 [197dcdbb270f]
46544
465452013-05-14 Gopu G <gopu@multicorewareinc.com>
46546
46547 * source/test/timer.cpp:
46548 Merged multicoreware/xhevc into default
46549 [dde8e0582a9b]
46550
465512013-05-13 Gopu G <gopu@multicorewareinc.com>
46552
46553 * Merged multicoreware/xhevc into default
46554 [2b1a79979ce5]
46555
465562013-05-13 ggopu <ggopu>
46557
46558 * source/encoder/motion.cpp:
46559 Motion Estimation : UMH implementation stage 1
46560 [a599997fbd20]
46561
465622013-05-16 Steve Borho <steve@borho.org>
46563
46564 * source/x265main.cpp:
46565 vld: add assert for zero leaks (DEBUG only)
46566 [2c3c0dfb5f83]
46567
46568 * source/x265main.cpp:
46569 x265main: explicit allocation and deallocation of TAppEncTop
46570 [97d5b00ab35a]
46571
46572 * source/Lib/TLibCommon/TComPicYuv.cpp:
46573 TComPicYuv: TComPicYuv are re-used, check before allocating subpel
46574 buffers
46575 [c98229f4a65d]
46576
46577 * source/x265cfg.cpp, source/x265cfg.h:
46578 x265cfg: release thread pool handle at exit
46579 [b0919ee9a22e]
46580
46581 * source/x265main.cpp:
46582 x265main: ask VLD to output the leak log to the debugger output
46583 console
46584
46585 This way the leak report survives after the run.
46586 [cadb1c11d2ef]
46587
46588 * source/CMakeLists.txt, source/cmake/FindVLD.cmake,
46589 source/x265main.cpp:
46590 cmake: add detection and use of Visual Leak Detector
46591 [70519a482e47]
46592
46593 * source/Lib/TLibEncoder/TEncGOP.cpp:
46594 TEncGOP: disable printing of per-frame encode time, prune unused
46595 lists
46596
46597 This just makes the frame logs non-deterministic.
46598 [90aa43526097]
46599
46600 * source/Lib/TLibEncoder/TEncGOP.cpp:
46601 TEncGOP: fix EOLN
46602 [297851df497a]
46603
46604 * build/linux/batch.py:
46605 write batch outputs into a folder
46606 [603fef620960]
46607
46608 * build/linux/batch.py:
46609 add MD5 hashes to batch run output log
46610 [095771f6dbaa]
46611
46612 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, source/x265cfg.cpp:
46613 remove filenames from configuration files
46614
46615 Hard-code the default filename for an output stream. Default to no
46616 recon output file if none is specified on the CLI.
46617 [b6b24bd0e966]
46618
466192013-05-16 Deepthi <Deepthi>
46620
46621 * source/Lib/TLibEncoder/TEncCu.cpp:
46622 Preserving the original xcompressCU implementation until the
46623 EARLY_PARTITION_DECISION mode has been fully debugged.
46624 [d246be5c803a]
46625
466262013-05-16 Steve Borho <steve@borho.org>
46627
46628 * source/tools/CMakeLists.txt:
46629 backout change to source/tools/CMakeLists.txt
46630
46631 The performanceProfiler/ folder has no CMakeLists.txt within it.
46632 [6215d24d1f59]
46633
466342013-05-16 sumalatha <sumalatha>
46635
46636 * source/tools/CMakeLists.txt,
46637 source/tools/performanceProfiler/Profiler.bat,
46638 source/tools/performanceProfiler/Readme.txt,
46639 source/tools/performanceProfiler/config.txt,
46640 source/tools/performanceProfiler/performanceProfiler.bat:
46641 Added the scripts for validating the encoded bitstream(running HM
46642 decoder) and measuring the the performance like PSNR values,
46643 Timetaken for encoing and the bytes written in encoded bitstream.
46644 For running the scripts, use Readme.txt
46645 [56ba4fb6b574]
46646
466472013-05-16 Deepthi <Deepthi>
46648
46649 * Merge
46650 [2f469b1dc95c]
46651
46652 * source/Lib/TLibEncoder/TEncCu.cpp:
46653 Cleanup
46654 [d258fac8d99d]
46655
46656 * source/Lib/TLibEncoder/TEncCu.cpp:
46657 AMP after 2nxn, nx2n, if at all
46658 [091ddf1c5724]
46659
46660 * source/Lib/TLibEncoder/TEncCu.cpp:
46661 2nxn and nx2n comparisons only if nxn mode better than 2nx2n
46662 [e24d7b31af7d]
46663
46664 * source/Lib/TLibEncoder/TEncCu.cpp:
46665 Cleanup; remove erroneous paths
46666 [0b8a18bc5914]
46667
46668 * source/Lib/TLibEncoder/TEncCu.cpp:
46669 merge error
46670 [30df17dc5923]
46671
46672 * source/Lib/TLibEncoder/TEncCu.cpp:
46673 Initial version of compare 2nx2n with sum of nxn costs
46674 [7b58edb59bae]
46675
46676 * source/Lib/TLibEncoder/TEncCu.cpp:
46677 Getting rid of EARLY_PARITION_DECISION macro (temporarily)
46678 [079ddf89b5d5]
46679
46680 * source/Lib/TLibEncoder/TEncCu.cpp:
46681 Init Sub CUs to prevent crash when early detection is OFF
46682 [db9215642791]
46683
46684 * source/Lib/TLibEncoder/TEncCu.cpp:
46685 Scalar expansion for subCUs
46686 [034adf2f6077]
46687
466882013-05-15 Deepthi <Deepthi>
46689
46690 * source/Lib/TLibEncoder/TEncCu.cpp:
46691 Tab fixes
46692 [e1300ac7706a]
46693
466942013-05-16 Steve Borho <steve@borho.org>
46695
46696 * build/linux/batch.py:
46697 add a batch launch script for litespeed server
46698 [b30e0de1a6ee]
46699
467002013-05-15 Steve Borho <steve@borho.org>
46701
46702 * source/encoder/x86/asm-primitives.cpp:
46703 asm: fix a bug found by x86-64 linux and GDB
46704 [ecf99ffdc0c6]
46705
46706 * source/encoder/vec/vecprimitives.inc:
46707 vec: GCC needs smmintrin.h for some intrinsics we use in
46708 partialButterfly4
46709 [5f71cc4e88e4]
46710
46711 * source/VectorClass/vectori128.h:
46712 vector: use correct build define for fromUint64
46713 [34a4b0cbd857]
46714
46715 * source/CMakeLists.txt:
46716 cmake: reverse yasm version logic, so all versions less than 1.2.0
46717 rejected
46718
46719 previous logic was allowing 1.1.0.X
46720 [5796f6b06a15]
46721
467222013-05-15 Min Chen <min.chen@multicorewareinc.com>
46723
46724 * source/Lib/TLibEncoder/TEncSlice.cpp,
46725 source/Lib/TLibEncoder/TEncSlice.h:
46726 thread: [NEED VERIFY] modify logic about m_pcBufferSbacCoders, from
46727 [sliceID] to [wpp_line]
46728 --- source/Lib/TLibEncoder/TEncSlice.cpp | 21 +++++++++++----------
46729 source/Lib/TLibEncoder/TEncSlice.h | 2 +- 2 files changed, 12
46730 insertions(+), 11 deletions(-)
46731 [8328dc3293fb]
46732
46733 * source/Lib/TLibEncoder/TEncSlice.cpp:
46734 thread: [NEED VERIFY] simplify logic about WPP SBAC context manage
46735 --- source/Lib/TLibEncoder/TEncSlice.cpp | 24
46736 ++++++------------------ 1 files changed, 6 insertions(+), 18
46737 deletions(-)
46738 [7e8190b7ce6b]
46739
467402013-05-15 Steve Borho <steve@borho.org>
46741
46742 * source/CMakeLists.txt, source/cmake/FindYasm.cmake,
46743 source/cmake/version.cmake:
46744 cmake: detect and enforce minimal YASM version
46745
46746 x264 assembly code requires YASM 1.2.0 (for AVX2, etc)
46747 [38d4e63a1d87]
46748
467492013-05-15 Min Chen <min.chen@multicorewareinc.com>
46750
46751 * source/Lib/TLibEncoder/TEncSlice.cpp:
46752 thread: remove reduce call to m_pcCfg->getWaveFrontsynchro()
46753 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 ++- 1 files changed, 2
46754 insertions(+), 1 deletions(-)
46755 [71af0137057f]
46756
46757 * source/Lib/TLibEncoder/TEncSlice.cpp:
46758 thread: move define of uiCUAddr into loop
46759 --- source/Lib/TLibEncoder/TEncSlice.cpp | 4 +--- 1 files changed, 1
46760 insertions(+), 3 deletions(-)
46761 [7b7e8aa6e785]
46762
46763 * source/Lib/TLibEncoder/TEncSlice.cpp:
46764 thread: simplify uiSubStrm
46765 --- source/Lib/TLibEncoder/TEncSlice.cpp | 4 ++-- 1 files changed, 2
46766 insertions(+), 2 deletions(-)
46767 [de144fc9cc62]
46768
467692013-05-15 Steve Borho <steve@borho.org>
46770
46771 * source/test/intrapredharness.cpp, source/test/testbench.cpp:
46772 testbench: GCC compilation fixes
46773 [2801d32f7a03]
46774
46775 * source/cmake/version.cmake:
46776 cmake: avoid use of HG find_package
46777 [b04ee03ff736]
46778
46779 * source/encoder/common.cpp:
46780 GCC compilation fix
46781 [1fb1106c2e4b]
46782
46783 * source/encoder/vec/macroblock.inc:
46784 macroblock: enable partialButterfly4 for X86_64 builds only
46785
46786 The primitive does not compile on x86
46787 [21836779c4fd]
46788
467892013-05-15 Deepthi <Deepthi>
46790
46791 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
46792 source/test/timer.cpp, source/x265.h, source/x265cfg.cpp,
46793 source/x265enc.cpp:
46794 Merge
46795 [fe8ccdde67f6]
46796
46797 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
46798 source/x265.h, source/x265cfg.cpp, source/x265enc.cpp:
46799 Early CU option removed.
46800 [e7ab5425ab23]
46801
46802 * source/Lib/TLibEncoder/TEncCu.cpp:
46803 More useless skip control variables removed.
46804 [ba4bd338e345]
46805
46806 * source/Lib/TLibCommon/CommonDef.h,
46807 source/Lib/TLibEncoder/TEncCu.cpp:
46808 Removing extraneous SKIP macros. A more relevant Skip threshold
46809 macro can be added later.
46810 [72079ab73e34]
46811
468122013-05-15 praveentiwari <praveentiwari>
46813
46814 * source/encoder/macroblock.cpp:
46815 C primitive for partialButterfly4
46816 [ae0b9dbfa305]
46817
468182013-05-14 Min Chen <min.chen@multicorewareinc.com>
46819
46820 * source/VectorClass/vectori128.h:
46821 vector128i: fix bug report by Shazeb, it don't broad to high element
46822 --- source/VectorClass/vectori128.h | 13 +++++++++---- 1 files
46823 changed, 9 insertions(+), 4 deletions(-)
46824 [285509a3c2b1]
46825
46826 * source/Lib/TLibEncoder/TEncGOP.cpp:
46827 cleanup: remove code for loop
46828 --- source/Lib/TLibEncoder/TEncGOP.cpp | 27
46829 ++++----------------------- 1 files changed, 4 insertions(+), 23
46830 deletions(-)
46831 [175911f4f3ab]
46832
46833 * source/Lib/TLibEncoder/TEncGOP.cpp,
46834 source/Lib/TLibEncoder/TEncSlice.cpp,
46835 source/Lib/TLibEncoder/TEncSlice.h:
46836 cleanup: remove code for boundingCUAddr
46837 --- source/Lib/TLibEncoder/TEncGOP.cpp | 3 +--
46838 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++++++--------------
46839 source/Lib/TLibEncoder/TEncSlice.h | 2 +- 3 files changed, 8
46840 insertions(+), 17 deletions(-)
46841 [7bd6922d4d68]
46842
46843 * source/Lib/TLibEncoder/TEncSlice.cpp:
46844 thread: simplify, uiTotalCUs always multiple of CUSize
46845 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 ++- 1 files changed, 2
46846 insertions(+), 1 deletions(-)
46847 [62a3a423b4a3]
46848
46849 * source/Lib/TLibCommon/TComSlice.cpp,
46850 source/Lib/TLibCommon/TComSlice.h,
46851 source/Lib/TLibEncoder/TEncCavlc.cpp,
46852 source/Lib/TLibEncoder/TEncCfg.h,
46853 source/Lib/TLibEncoder/TEncGOP.cpp,
46854 source/Lib/TLibEncoder/TEncSlice.cpp,
46855 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
46856 source/x265cfg.cpp, source/x265enc.cpp:
46857 thread: simplify, iNumSubstreams always equal to maxCUHeight
46858 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
46859 source/Lib/TLibCommon/TComSlice.h | 6 ------
46860 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
46861 source/Lib/TLibEncoder/TEncCfg.h | 5 -----
46862 source/Lib/TLibEncoder/TEncGOP.cpp | 12 +++++++-----
46863 source/Lib/TLibEncoder/TEncSlice.cpp | 31
46864 +++++++++++++++++++------------ source/Lib/TLibEncoder/TEncTop.cpp |
46865 7 ------- source/x265.h | 1 - source/x265cfg.cpp | 5 +----
46866 source/x265enc.cpp | 1 - 10 files changed, 28 insertions(+), 43
46867 deletions(-)
46868 [05b33c3d0ca5]
46869
46870 * source/Lib/TLibEncoder/TEncSlice.cpp:
46871 thread: don't calculate uiLin and uiCol from uiCUAddr, they are
46872 for_loop now
46873 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 --- 1 files changed, 0
46874 insertions(+), 3 deletions(-)
46875 [620f08b2c1ae]
46876
46877 * source/Lib/TLibEncoder/TEncGOP.cpp,
46878 source/Lib/TLibEncoder/TEncGOP.h:
46879 cleanup: remove unused code for startCUAddrSliceSegment
46880 --- source/Lib/TLibEncoder/TEncGOP.cpp | 29
46881 ++++------------------------- source/Lib/TLibEncoder/TEncGOP.h | 1 -
46882 2 files changed, 4 insertions(+), 26 deletions(-)
46883 [f9011428cf05]
46884
46885 * source/Lib/TLibCommon/TComSlice.cpp,
46886 source/Lib/TLibCommon/TComSlice.h,
46887 source/Lib/TLibEncoder/TEncGOP.cpp,
46888 source/Lib/TLibEncoder/TEncSlice.cpp:
46889 cleanup: remove unused code for nextSliceSegment
46890 --- source/Lib/TLibCommon/TComSlice.cpp | 2 --
46891 source/Lib/TLibCommon/TComSlice.h | 5 -----
46892 source/Lib/TLibEncoder/TEncGOP.cpp | 21 +--------------------
46893 source/Lib/TLibEncoder/TEncSlice.cpp | 1 - 4 files changed, 1
46894 insertions(+), 28 deletions(-)
46895 [1e6f773bc6d0]
46896
46897 * source/Lib/TLibCommon/TComSlice.cpp,
46898 source/Lib/TLibCommon/TComSlice.h,
46899 source/Lib/TLibEncoder/TEncCavlc.cpp,
46900 source/Lib/TLibEncoder/TEncCu.cpp,
46901 source/Lib/TLibEncoder/TEncGOP.cpp,
46902 source/Lib/TLibEncoder/TEncSlice.cpp:
46903 cleanup: simplify since sliceSegmentCurEndCUAddr always equal to
46904 sliceCurEndCUAddr
46905 --- source/Lib/TLibCommon/TComSlice.cpp | 2 --
46906 source/Lib/TLibCommon/TComSlice.h | 5 -----
46907 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
46908 source/Lib/TLibEncoder/TEncCu.cpp | 16 ++++++++--------
46909 source/Lib/TLibEncoder/TEncGOP.cpp | 12 ++++++------
46910 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++------------------ 6
46911 files changed, 17 insertions(+), 40 deletions(-)
46912 [311b199d9062]
46913
46914 * source/Lib/TLibEncoder/TEncSlice.cpp:
46915 thread: ident, no code changes
46916 --- source/Lib/TLibEncoder/TEncSlice.cpp | 217
46917 +++++++++++++++++----------------- 1 files changed, 108
46918 insertions(+), 109 deletions(-)
46919 [e0e64a6d4690]
46920
46921 * source/Lib/TLibEncoder/TEncSlice.cpp:
46922 thread: replace while_loop to row/col for_loop
46923 --- source/Lib/TLibEncoder/TEncSlice.cpp | 16 +++++++++++++--- 1
46924 files changed, 13 insertions(+), 3 deletions(-)
46925 [ede2db9aabaf]
46926
46927 * source/Lib/TLibEncoder/TEncSlice.cpp:
46928 cleanup: remove unused TilesCol, etc
46929 --- source/Lib/TLibEncoder/TEncSlice.cpp | 38
46930 +++++++++------------------------- 1 files changed, 10
46931 insertions(+), 28 deletions(-)
46932 [95f330abd287]
46933
46934 * source/Lib/TLibEncoder/TEncSlice.cpp:
46935 cleanup: replace uiEncCUOrder to uiCUAddr since they always equal
46936 --- source/Lib/TLibEncoder/TEncSlice.cpp | 8 +++----- 1 files
46937 changed, 3 insertions(+), 5 deletions(-)
46938 [19fc43ebdd8f]
46939
46940 * source/Lib/TLibEncoder/TEncGOP.cpp,
46941 source/Lib/TLibEncoder/TEncSlice.cpp,
46942 source/Lib/TLibEncoder/TEncSlice.h:
46943 cleanup: StartCUAddr always zero
46944 --- source/Lib/TLibEncoder/TEncGOP.cpp | 3 +--
46945 source/Lib/TLibEncoder/TEncSlice.cpp | 10 ++++------
46946 source/Lib/TLibEncoder/TEncSlice.h | 2 +- 3 files changed, 6
46947 insertions(+), 9 deletions(-)
46948 [aad01f6a7122]
46949
469502013-05-14 Steve Borho <steve@borho.org>
46951
46952 * source/test/intrapredharness.cpp, source/test/ipfilterharness.cpp,
46953 source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
46954 source/test/testharness.h:
46955 testharness: simplify REPORT_SPEEDUP, use varargs to avoid bugs
46956 [ae526ecaa5d4]
46957
46958 * source/test/CMakeLists.txt, source/test/intrapredharness.cpp,
46959 source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
46960 source/test/pixelharness.cpp, source/test/testharness.h,
46961 source/test/timer.cpp:
46962 testbench: remove unused timer class
46963 [78a8595b98aa]
46964
46965 * source/test/testbench.cpp:
46966 nits
46967 [21e04f3d8f9c]
46968
46969 * source/encoder/vec/macroblock.inc:
46970 macroblock: disable partialButterfly4 for 32bit builds
46971 (_mm_cvtsi64_si128)
46972
46973 The _mm_cvtsi64_si128 instrinsic is only supported in 64bit
46974 executables
46975 [91a94c5f2272]
46976
46977 * source/encoder/vec/intrapred.inc:
46978 intrapred: use X86_64 instead of _WIN64
46979 [1116d281a461]
46980
46981 * source/CMakeLists.txt:
46982 cmake: add X86_64 define for 64bit builds
46983 [abee2d651a02]
46984
46985 * Merged in shazebnawazkhan/xhevc_shazeb (pull request #141)
46986
46987 Pred Intra Planar 16x16 vectorization
46988 [2d32d38d62dc]
46989
469902013-05-14 Deepthi Devaki <Deepthi Devaki>
46991
46992 * Merge
46993 [1b9b6880f410]
46994
46995 * source/encoder/vec/intrapred.inc:
46996 uncrustified intrapred.inc
46997 [c23f7530165e]
46998
46999 * source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
47000 Pred Intra Planar 16x16 vectorization
47001 [6ce476cd2d2e]
47002
470032013-05-14 Steve Borho <steve@borho.org>
47004
47005 * source/test/mbdstharness.cpp:
47006 mbdstharness: remove redundant enum
47007 [84e91a173197]
47008
47009 * source/encoder/vec/macroblock.inc:
47010 macroblock: disable BUTTERFLY_4 until it as a C reference
47011 [b449fc77bbe6]
47012
47013 * source/test/testbench.cpp:
47014 testbench: zero C primitive struct to better isolate missing C
47015 primitives
47016 [70c55c6ce1d1]
47017
470182013-05-14 praveentiwari <praveentiwari>
47019
47020 * source/test/mbdstharness.h:
47021 Added extra buffer for intrinsic code test
47022 [c8edec8e1333]
47023
47024 * source/encoder/vec/macroblock.inc:
47025 Intrinsic Code for partialButterfly4
47026 [e5df64c80123]
47027
470282013-05-14 praveen Tiwari <praveen@multicorewareinc.com>
47029
47030 * Merged multicoreware/xhevc into default
47031 [f66250dd1d07]
47032
47033 * Merged multicoreware/xhevc into default
47034 [426cf8c7b3d5]
47035
470362013-05-14 praveentiwari <praveentiwari>
47037
47038 * source/test/mbdstharness.cpp:
47039 Test code for PartialButterfly4 intrisic code
47040 [7a499330e879]
47041
470422013-05-14 Deepthi <Deepthi>
47043
47044 * Merge
47045 [36cb4e19eebf]
47046
47047 * source/Lib/TLibEncoder/TEncCu.cpp:
47048 Modify mode decision to include NxN cost as well
47049 [f7654615b959]
47050
470512013-05-14 Deepthi Devaki <Deepthi Devaki>
47052
47053 * Merge
47054 [2446e9744085]
47055
47056 * source/encoder/vec/intrapred.inc:
47057 Predict intraplanar 8x8 - vector implementation
47058 [fab3b59f778a]
47059
47060 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
47061 Predict IntraPlanar - unit test integration
47062 [018bdfa8fd47]
47063
470642013-05-14 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
47065
47066 * build/BuildEncoderApplications.bat,
47067 build/RunEncoderApplications.bat:
47068 Removed ENABLE_PRIMITIVES macro from Regression test
47069 [73c2de1b5707]
47070
47071 * Merge
47072 [f65050f97357]
47073
47074 * build/BuildEncoderApplications.bat,
47075 build/CreateRegressionPackage.bat, build/RunEncoderApplications.bat,
47076 build/config.txt:
47077 Modified RegressionTest script for 8bit and 16bit
47078 [3ca347cc6859]
47079
470802013-05-14 Deepthi <Deepthi>
47081
47082 * source/Lib/TLibEncoder/TEncCu.cpp:
47083 Removing abortflag control - performance and bitrate impact mostly
47084 positive
47085 [93f0085d2164]
47086
47087 * source/Lib/TLibEncoder/TEncCu.cpp:
47088 Modifying the recursion abort condition
47089 [17c1d43da9dd]
47090
47091 * source/Lib/TLibEncoder/TEncCu.cpp:
47092 Fix for compile error with early partition select ON.
47093 [3001e773bc64]
47094
470952013-05-13 Deepthi <Deepthi>
47096
47097 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncCu.cpp:
47098 Early exit for partition selection - macro defined. Will be disabled
47099 by default - bitcost too high.
47100 [0d8b88594b0b]
47101
471022013-05-13 sumalatha <sumalatha>
47103
47104 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
47105 renamed the macro QUALITYFACTOR to LAMBDA_PARTITION_SELECT
47106 [4bc94e0e7cc6]
47107
47108 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
47109 source/Lib/TLibEncoder/TEncCu.h:
47110 Made optimizations on xcompressCU - to check the cost of each 2Nx2N
47111 block with the corresponding cost of the same CU with NxN partition.
47112 Aborts recursion if 2Nx2N mode is better.
47113 [6da859408e68]
47114
471152013-05-12 Steve Borho <steve@borho.org>
47116
47117 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
47118 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
47119 source/Lib/TLibEncoder/TEncGOP.cpp,
47120 source/Lib/TLibEncoder/TEncGOP.h, source/x265.h, source/x265cfg.cpp,
47121 source/x265enc.cpp:
47122 remove frame packing SEI
47123
47124 This packet only contained data passed in by the user. They can
47125 generate it themselves
47126 [4751ca1eb836]
47127
47128 * source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
47129 source/Lib/TLibCommon/TypeDef.h,
47130 source/Lib/TLibEncoder/SEIwrite.cpp,
47131 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
47132 source/Lib/TLibEncoder/TEncGOP.cpp,
47133 source/Lib/TLibEncoder/TEncGOP.h, source/x265.h, source/x265cfg.cpp,
47134 source/x265enc.cpp:
47135 remove J0149_TONE_MAPPING_SEI
47136
47137 If an app wants to generate this SEI, they can do so themselves.
47138 There's no point cluttering the encoder with metadata like this.
47139 [424003ca7043]
47140
47141 * source/x265cfg.cpp:
47142 x265cfg: do not print chroma QP offsets if they are 0
47143 [3c01f9d9dd2b]
47144
47145 * source/Lib/TLibCommon/TComDataCU.cpp,
47146 source/Lib/TLibEncoder/TEncCavlc.cpp,
47147 source/Lib/TLibEncoder/TEncSlice.cpp:
47148 cleanup unused variable warnings found by GCC
47149 [e8dff9af77dd]
47150
47151 * source/Lib/TLibEncoder/TEncSearch.cpp,
47152 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/motion.cpp,
47153 source/encoder/primitives.cpp, source/encoder/primitives.h,
47154 source/test/testharness.h, source/test/timer.cpp:
47155 primitives: fix EMMS calls from the HM libraries, make compiler safe
47156
47157 Use inline when available, else use ASM version of EMMS
47158 [6e85e3e865d6]
47159
47160 * source/x265cfg.cpp:
47161 x265cfg: white-space tweaks, no code changes
47162 [51d8de167925]
47163
47164 * build/BuildEncoderApplications.bat,
47165 build/CreateRegressionPackage.sh, source/CMakeLists.txt,
47166 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
47167 source/Lib/TLibCommon/TComPicYuv.cpp,
47168 source/Lib/TLibCommon/TComPrediction.cpp,
47169 source/Lib/TLibCommon/TComTrQuant.cpp,
47170 source/Lib/TLibCommon/TComYuv.cpp,
47171 source/Lib/TLibEncoder/TEncSearch.cpp,
47172 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/CMakeLists.txt,
47173 source/encoder/motion.cpp, source/encoder/primitives.cpp,
47174 source/test/CMakeLists.txt, source/test/testbench.cpp:
47175 cleanup: remove ENABLE_PRIMITIVES cmake build option, always enabled
47176 [5eecf2d019c8]
47177
47178 * source/Lib/TLibEncoder/TEncSearch.cpp:
47179 cleanup: remove redundant brace levels, no logic changes
47180 [d0e3af235277]
47181
47182 * source/Lib/TLibEncoder/TEncSearch.cpp:
47183 cleanup: remove unnecessary x264_cpu_emms()
47184 [69df9f38425b]
47185
47186 * source/Lib/TLibEncoder/TEncCu.cpp:
47187 cleanup: remove extra levels of indent in TEncCU.cpp, no logic
47188 changes
47189 [77c5d4ff7ef6]
47190
47191 * source/Lib/TLibEncoder/TEncCu.cpp:
47192 cleanup: remove iMinQP
47193 [0ded36ddaf39]
47194
47195 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
47196 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
47197 source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.h,
47198 source/x265cfg.cpp, source/x265enc.cpp:
47199 remove FEN configurable, assume always true
47200 [cbfcb9ccee64]
47201
47202 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
47203 source/Lib/TLibEncoder/TEncCfg.h,
47204 source/Lib/TLibEncoder/TEncSlice.cpp,
47205 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47206 source/x265cfg.cpp, source/x265enc.cpp:
47207 remove max delta QP configuration logic
47208 [08005afcd2a1]
47209
47210 * source/Lib/TLibEncoder/TEncCu.cpp:
47211 TEncCu: prune per-CU multiple QP logic
47212
47213 When we add/enable rate control, each CU will only be coded once
47214 with its determined QP. We won't be encoding the CU multiple times
47215 for RDO
47216 [83146bab2aa7]
47217
47218 * source/Lib/TLibEncoder/TEncCu.cpp:
47219 TEncCU: rename rpcCU to pcCu since it is no longer a reference
47220 [25567c1a1191]
47221
472222013-05-11 Steve Borho <steve@borho.org>
47223
47224 * source/Lib/TLibEncoder/TEncSlice.cpp,
47225 source/Lib/TLibEncoder/TEncSlice.h:
47226 remove slice-level per-delta QP and lambda
47227 [1cb2a420f6b2]
47228
47229 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
47230 source/Lib/TLibEncoder/TEncCfg.h,
47231 source/Lib/TLibEncoder/TEncGOP.cpp,
47232 source/Lib/TLibEncoder/TEncSlice.cpp,
47233 source/Lib/TLibEncoder/TEncSlice.h, source/x265.h,
47234 source/x265cfg.cpp, source/x265enc.cpp:
47235 remove slice-level multiple-QP rate distortion loop
47236 [a30ec6c0bbbd]
47237
47238 * source/Lib/TLibEncoder/TEncSlice.cpp:
47239 tpyo fix
47240 [6088dbb69829]
47241
47242 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
47243 source/Lib/TLibEncoder/TEncGOP.cpp,
47244 source/Lib/TLibEncoder/TEncSearch.cpp,
47245 source/Lib/TLibEncoder/TEncSearch.h,
47246 source/Lib/TLibEncoder/TEncSlice.cpp,
47247 source/Lib/TLibEncoder/TEncTop.cpp:
47248 uncrustify: tidy white-space
47249 [383ac352dde6]
47250
47251 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
47252 remove no longer supported config options
47253 [107e039f90b1]
47254
47255 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
47256 source/Lib/TLibEncoder/TEncCu.h,
47257 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
47258 source/Lib/TLibEncoder/TEncSlice.cpp,
47259 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47260 source/x265cfg.cpp, source/x265enc.cpp:
47261 merge with slice/tile removal
47262 [d9ed2c77f27f]
47263
47264 * source/x265cfg.cpp:
47265 don't print configurations that cannot change
47266 [55084a3b3d5e]
47267
472682013-05-11 Min Chen <min.chen@multicorewareinc.com>
47269
47270 * source/Lib/TLibEncoder/TEncCu.cpp:
47271 cleanup: remove code for bSliceStart
47272 --- source/Lib/TLibEncoder/TEncCu.cpp | 9 +++------ 1 files changed,
47273 3 insertions(+), 6 deletions(-)
47274 [555278f25dfd]
47275
47276 * source/Lib/TLibCommon/TComDataCU.cpp,
47277 source/Lib/TLibCommon/TComDataCU.h,
47278 source/Lib/TLibCommon/TComSlice.cpp,
47279 source/Lib/TLibCommon/TComSlice.h,
47280 source/Lib/TLibEncoder/TEncCavlc.cpp,
47281 source/Lib/TLibEncoder/TEncCu.cpp,
47282 source/Lib/TLibEncoder/TEncGOP.cpp,
47283 source/Lib/TLibEncoder/TEncSlice.cpp:
47284 cleanup: remove code for sliceStartCU
47285 --- source/Lib/TLibCommon/TComDataCU.cpp | 169
47286 +++-------------------------------
47287 source/Lib/TLibCommon/TComDataCU.h | 4 -
47288 source/Lib/TLibCommon/TComSlice.cpp | 4 -
47289 source/Lib/TLibCommon/TComSlice.h | 10 --
47290 source/Lib/TLibEncoder/TEncCavlc.cpp | 18 +---
47291 source/Lib/TLibEncoder/TEncCu.cpp | 35 ++------
47292 source/Lib/TLibEncoder/TEncGOP.cpp | 24 +-----
47293 source/Lib/TLibEncoder/TEncSlice.cpp | 130
47294 ++++----------------------- 8 files changed, 44 insertions(+), 350
47295 deletions(-)
47296 [b4d10409be04]
47297
47298 * source/Lib/TLibCommon/TComSlice.cpp,
47299 source/Lib/TLibCommon/TComSlice.h,
47300 source/Lib/TLibEncoder/TEncCavlc.cpp,
47301 source/Lib/TLibEncoder/TEncSlice.cpp,
47302 source/Lib/TLibEncoder/TEncTop.cpp:
47303 cleanup: remove unused code since dependentSliceSegmentsEnabledFlag
47304 always false
47305 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
47306 source/Lib/TLibCommon/TComSlice.h | 5 -
47307 source/Lib/TLibEncoder/TEncCavlc.cpp | 6 +-
47308 source/Lib/TLibEncoder/TEncSlice.cpp | 156
47309 +-------------------------------- source/Lib/TLibEncoder/TEncTop.cpp
47310 | 12 --- 5 files changed, 6 insertions(+), 174 deletions(-)
47311 [cc4d3b223d18]
47312
47313 * source/Lib/TLibCommon/TComPicSym.cpp,
47314 source/Lib/TLibCommon/TComPicSym.h:
47315 cleanup: remove unused xCalculateNxtCUAddr
47316 --- source/Lib/TLibCommon/TComPicSym.cpp | 25
47317 ------------------------- source/Lib/TLibCommon/TComPicSym.h | 1 - 2
47318 files changed, 0 insertions(+), 26 deletions(-)
47319 [d00c47bdfe0a]
47320
47321 * source/Lib/TLibCommon/TComPicSym.cpp,
47322 source/Lib/TLibCommon/TComPicSym.h,
47323 source/Lib/TLibEncoder/TEncGOP.cpp,
47324 source/Lib/TLibEncoder/TEncSlice.cpp:
47325 cleanup: remove class TComTile
47326 --- source/Lib/TLibCommon/TComPicSym.cpp | 41
47327 +-------------------------------- source/Lib/TLibCommon/TComPicSym.h
47328 | 31 ------------------------- source/Lib/TLibEncoder/TEncGOP.cpp |
47329 6 ----- source/Lib/TLibEncoder/TEncSlice.cpp | 17 ++++++------- 4
47330 files changed, 10 insertions(+), 85 deletions(-)
47331 [1b10f4a0ab74]
47332
47333 * source/Lib/TLibCommon/TComPicSym.cpp,
47334 source/Lib/TLibCommon/TComPicSym.h,
47335 source/Lib/TLibEncoder/TEncGOP.cpp:
47336 cleanup: cleanup code for getTileWidth and getTileHeight
47337 --- source/Lib/TLibCommon/TComPicSym.cpp | 12 +++++-------
47338 source/Lib/TLibCommon/TComPicSym.h | 10 ----------
47339 source/Lib/TLibEncoder/TEncGOP.cpp | 7 ------- 3 files changed, 5
47340 insertions(+), 24 deletions(-)
47341 [097f2b0c2d72]
47342
47343 * source/Lib/TLibCommon/TComPicSym.cpp,
47344 source/Lib/TLibCommon/TComPicSym.h,
47345 source/Lib/TLibEncoder/TEncCu.cpp,
47346 source/Lib/TLibEncoder/TEncGOP.cpp,
47347 source/Lib/TLibEncoder/TEncSlice.cpp:
47348 cleanup: cleanup code for getPicSCUEncOrder and getPicSCUAddr
47349 --- source/Lib/TLibCommon/TComPicSym.cpp | 10 ----------
47350 source/Lib/TLibCommon/TComPicSym.h | 2 --
47351 source/Lib/TLibEncoder/TEncCu.cpp | 6 +++---
47352 source/Lib/TLibEncoder/TEncGOP.cpp | 6 +++---
47353 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++++++++++---------- 5
47354 files changed, 16 insertions(+), 28 deletions(-)
47355 [96f911caef7c]
47356
47357 * source/Lib/TLibCommon/TComDataCU.cpp,
47358 source/Lib/TLibCommon/TComPic.cpp,
47359 source/Lib/TLibCommon/TComPicSym.cpp,
47360 source/Lib/TLibCommon/TComPicSym.h,
47361 source/Lib/TLibEncoder/TEncCavlc.cpp,
47362 source/Lib/TLibEncoder/TEncCu.cpp,
47363 source/Lib/TLibEncoder/TEncGOP.cpp,
47364 source/Lib/TLibEncoder/TEncSlice.cpp:
47365 cleanup: cleanup more code for CUOrderMap
47366 --- source/Lib/TLibCommon/TComDataCU.cpp | 24
47367 ++++++++++++------------ source/Lib/TLibCommon/TComPic.cpp | 4 ++--
47368 source/Lib/TLibCommon/TComPicSym.cpp | 4 ++--
47369 source/Lib/TLibCommon/TComPicSym.h | 4 ----
47370 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
47371 source/Lib/TLibEncoder/TEncCu.cpp | 18 +++++++++---------
47372 source/Lib/TLibEncoder/TEncGOP.cpp | 2 +-
47373 source/Lib/TLibEncoder/TEncSlice.cpp | 20 ++++++++++---------- 8
47374 files changed, 37 insertions(+), 41 deletions(-)
47375 [7f054fc6613a]
47376
47377 * source/Lib/TLibCommon/TComPicSym.cpp,
47378 source/Lib/TLibCommon/TComPicSym.h,
47379 source/Lib/TLibEncoder/TEncGOP.cpp:
47380 cleanup: cleanup code for CUOrderMap
47381 --- source/Lib/TLibCommon/TComPicSym.cpp | 17 -----------------
47382 source/Lib/TLibCommon/TComPicSym.h | 10 ++--------
47383 source/Lib/TLibEncoder/TEncGOP.cpp | 13 +------------ 3 files
47384 changed, 3 insertions(+), 37 deletions(-)
47385 [68d8a7b12206]
47386
47387 * source/Lib/TLibCommon/TComDataCU.cpp,
47388 source/Lib/TLibCommon/TComDataCU.h,
47389 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
47390 source/Lib/TLibCommon/TComPicSym.cpp,
47391 source/Lib/TLibCommon/TComPicSym.h,
47392 source/Lib/TLibEncoder/TEncGOP.cpp,
47393 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
47394 source/Lib/TLibEncoder/TEncSlice.cpp:
47395 cleanup: cleanup code for tilesIDX
47396 --- source/Lib/TLibCommon/TComDataCU.cpp | 33 +++-----
47397 source/Lib/TLibCommon/TComDataCU.h | 3 +-
47398 source/Lib/TLibCommon/TComPic.cpp | 34 +-------
47399 source/Lib/TLibCommon/TComPic.h | 2 +-
47400 source/Lib/TLibCommon/TComPicSym.cpp | 83 +++-----------------
47401 source/Lib/TLibCommon/TComPicSym.h | 7 +-
47402 source/Lib/TLibEncoder/TEncGOP.cpp | 4 +-
47403 .../Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp | 12 ++--
47404 source/Lib/TLibEncoder/TEncSlice.cpp | 66 +++------------- 9 files
47405 changed, 50 insertions(+), 194 deletions(-)
47406 [b39cd3c37dc4]
47407
47408 * source/Lib/TLibCommon/TComSlice.cpp,
47409 source/Lib/TLibCommon/TComSlice.h,
47410 source/Lib/TLibEncoder/TEncGOP.cpp:
47411 cleanup: remove unused code for uniformSpacingFlag
47412 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
47413 source/Lib/TLibCommon/TComSlice.h | 5 ----
47414 source/Lib/TLibEncoder/TEncGOP.cpp | 37
47415 +--------------------------------- 3 files changed, 2 insertions(+),
47416 41 deletions(-)
47417 [045677ed690d]
47418
47419 * source/Lib/TLibCommon/TComSlice.cpp,
47420 source/Lib/TLibCommon/TComSlice.h,
47421 source/Lib/TLibEncoder/TEncCavlc.cpp,
47422 source/Lib/TLibEncoder/TEncTop.cpp:
47423 cleanup: remove unused code since tilesEnabledFlag always false
47424 --- source/Lib/TLibCommon/TComSlice.cpp | 1 -
47425 source/Lib/TLibCommon/TComSlice.h | 5 -----
47426 source/Lib/TLibEncoder/TEncCavlc.cpp | 33
47427 +++------------------------------ source/Lib/TLibEncoder/TEncTop.cpp
47428 | 1 - 4 files changed, 3 insertions(+), 37 deletions(-)
47429 [1766af826d7b]
47430
47431 * source/Lib/TLibEncoder/TEncSlice.cpp:
47432 cleanup: remove unused code since uiTilesAcross always 1
47433 --- source/Lib/TLibEncoder/TEncSlice.cpp | 30
47434 ++++++++---------------------- 1 files changed, 8 insertions(+), 22
47435 deletions(-)
47436 [52069da06f5e]
47437
47438 * source/Lib/TLibCommon/TComSlice.h,
47439 source/Lib/TLibEncoder/TEncCavlc.cpp,
47440 source/Lib/TLibEncoder/TEncCfg.h,
47441 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47442 source/x265cfg.cpp, source/x265enc.cpp:
47443 cleanup: remove code for option TilesFixedStructure
47444 --- source/Lib/TLibCommon/TComSlice.h | 6 ------
47445 source/Lib/TLibEncoder/TEncCavlc.cpp | 2 +-
47446 source/Lib/TLibEncoder/TEncCfg.h | 5 -----
47447 source/Lib/TLibEncoder/TEncTop.cpp | 1 - source/x265.h | 1 -
47448 source/x265cfg.cpp | 1 - source/x265enc.cpp | 1 - 7 files changed, 1
47449 insertions(+), 16 deletions(-)
47450 [38354c90843d]
47451
47452 * source/x265.h, source/x265cfg.cpp, source/x265enc.cpp:
47453 cleanup: remove code for option LFCrossTileBoundaryFlag
47454 --- source/x265.h | 1 - source/x265cfg.cpp | 1 - source/x265enc.cpp |
47455 3 --- 3 files changed, 0 insertions(+), 5 deletions(-)
47456 [5a642068a6b0]
47457
47458 * source/Lib/TLibEncoder/TEncCfg.h,
47459 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47460 source/x265cfg.cpp, source/x265enc.cpp:
47461 cleanup: remove code for options UniformSpacingIdc
47462 --- source/Lib/TLibEncoder/TEncCfg.h | 5 -----
47463 source/Lib/TLibEncoder/TEncTop.cpp | 1 - source/x265.h | 1 -
47464 source/x265cfg.cpp | 1 - source/x265enc.cpp | 1 - 5 files changed, 0
47465 insertions(+), 9 deletions(-)
47466 [868bfad3eaca]
47467
47468 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
47469 source/Lib/TLibEncoder/TEncGOP.cpp:
47470 cleanup: remove unused code in TComPic::createNonDBFilterInfo
47471 --- source/Lib/TLibCommon/TComPic.cpp | 10 +++-------
47472 source/Lib/TLibCommon/TComPic.h | 1 -
47473 source/Lib/TLibEncoder/TEncGOP.cpp | 2 +- 3 files changed, 4
47474 insertions(+), 9 deletions(-)
47475 [96640251b7f3]
47476
47477 * source/x265cfg.cpp:
47478 cleanup: remove unused code since tileFlag always false
47479 --- source/x265cfg.cpp | 30 ++---------------------------- 1 files
47480 changed, 2 insertions(+), 28 deletions(-)
47481 [7bbab452fbb1]
47482
47483 * source/Lib/TLibCommon/TComPicSym.cpp,
47484 source/Lib/TLibCommon/TComPicSym.h,
47485 source/Lib/TLibCommon/TComSlice.cpp,
47486 source/Lib/TLibCommon/TComSlice.h,
47487 source/Lib/TLibEncoder/TEncCavlc.cpp,
47488 source/Lib/TLibEncoder/TEncCfg.h,
47489 source/Lib/TLibEncoder/TEncGOP.cpp,
47490 source/Lib/TLibEncoder/TEncSlice.cpp,
47491 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47492 source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp:
47493 cleanup: remove code for options NumTileColumnsMinus1 and
47494 NumTileRowsMinus1
47495 --- source/Lib/TLibCommon/TComPicSym.cpp | 38 +++++-------
47496 source/Lib/TLibCommon/TComPicSym.h | 12 ----
47497 source/Lib/TLibCommon/TComSlice.cpp | 14 ----
47498 source/Lib/TLibCommon/TComSlice.h | 42 -------------
47499 source/Lib/TLibEncoder/TEncCavlc.cpp | 20 +------
47500 source/Lib/TLibEncoder/TEncCfg.h | 51 ----------------
47501 source/Lib/TLibEncoder/TEncGOP.cpp | 44 ++++----------
47502 source/Lib/TLibEncoder/TEncSlice.cpp | 20 +++---
47503 source/Lib/TLibEncoder/TEncTop.cpp | 73 +----------------------
47504 source/x265.h | 2 - source/x265cfg.cpp | 109
47505 +--------------------------------- source/x265cfg.h | 5 --
47506 source/x265enc.cpp | 12 ---- 13 files changed, 43 insertions(+), 399
47507 deletions(-)
47508 [3cf723a2a3e7]
47509
47510 * source/Lib/TLibCommon/TComDataCU.cpp:
47511 cleanup: onlyOneSliceInPic always true
47512 --- source/Lib/TLibCommon/TComDataCU.cpp | 188
47513 ++-------------------------------- 1 files changed, 8 insertions(+),
47514 180 deletions(-)
47515 [da29d2e40837]
47516
47517 * source/Lib/TLibCommon/TComDataCU.cpp,
47518 source/Lib/TLibCommon/TComDataCU.h,
47519 source/Lib/TLibCommon/TComLoopFilter.cpp,
47520 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
47521 source/Lib/TLibCommon/TComSlice.cpp,
47522 source/Lib/TLibCommon/TComSlice.h,
47523 source/Lib/TLibEncoder/TEncCavlc.cpp,
47524 source/Lib/TLibEncoder/TEncCfg.h,
47525 source/Lib/TLibEncoder/TEncGOP.cpp,
47526 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47527 source/x265cfg.cpp, source/x265enc.cpp:
47528 cleanup: remove code for LFCrossSliceBoundaryFlag
47529 --- source/Lib/TLibCommon/TComDataCU.cpp | 19 +++++++++----------
47530 source/Lib/TLibCommon/TComDataCU.h | 1 -
47531 source/Lib/TLibCommon/TComLoopFilter.cpp | 18 +++++++++---------
47532 source/Lib/TLibCommon/TComPic.cpp | 12 ------------
47533 source/Lib/TLibCommon/TComPic.h | 1 -
47534 source/Lib/TLibCommon/TComSlice.cpp | 2 --
47535 source/Lib/TLibCommon/TComSlice.h | 10 ----------
47536 source/Lib/TLibEncoder/TEncCavlc.cpp | 6 +++---
47537 source/Lib/TLibEncoder/TEncCfg.h | 6 ------
47538 source/Lib/TLibEncoder/TEncGOP.cpp | 12 ++----------
47539 source/Lib/TLibEncoder/TEncTop.cpp | 1 - source/x265.h | 1 -
47540 source/x265cfg.cpp | 1 - source/x265enc.cpp | 3 --- 14 files
47541 changed, 23 insertions(+), 70 deletions(-)
47542 [2faa4694539d]
47543
47544 * source/Lib/TLibCommon/TypeDef.h:
47545 cleanup: remove enum SliceConstraint
47546 --- source/Lib/TLibCommon/TypeDef.h | 9 --------- 1 files changed, 0
47547 insertions(+), 9 deletions(-)
47548 [d8836d4bff30]
47549
47550 * source/Lib/TLibCommon/TComSlice.cpp,
47551 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
47552 source/Lib/TLibEncoder/TEncCu.cpp,
47553 source/Lib/TLibEncoder/TEncGOP.cpp,
47554 source/Lib/TLibEncoder/TEncSlice.cpp,
47555 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47556 source/x265cfg.cpp, source/x265enc.cpp:
47557 cleanup: remove code for option sliceSegmentMode and
47558 sliceSegmentModeArgument
47559 --- source/Lib/TLibCommon/TComSlice.cpp | 4 -
47560 source/Lib/TLibCommon/TComSlice.h | 9 ---
47561 source/Lib/TLibEncoder/TEncCfg.h | 11 ---
47562 source/Lib/TLibEncoder/TEncCu.cpp | 12 ----
47563 source/Lib/TLibEncoder/TEncGOP.cpp | 2 +-
47564 source/Lib/TLibEncoder/TEncSlice.cpp | 118
47565 +---------------------------------
47566 source/Lib/TLibEncoder/TEncTop.cpp | 4 - source/x265.h | 4 -
47567 source/x265cfg.cpp | 17 +----- source/x265enc.cpp | 9 --- 10 files
47568 changed, 3 insertions(+), 187 deletions(-)
47569 [bd168f9a50b3]
47570
47571 * source/Lib/TLibCommon/TComSlice.cpp,
47572 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
47573 source/Lib/TLibEncoder/TEncCu.cpp,
47574 source/Lib/TLibEncoder/TEncGOP.cpp,
47575 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.h,
47576 source/x265cfg.cpp, source/x265enc.cpp:
47577 cleanup: remove code for option sliceMode and sliceModeArgument
47578 --- source/Lib/TLibCommon/TComSlice.cpp | 4 -
47579 source/Lib/TLibCommon/TComSlice.h | 10 ---
47580 source/Lib/TLibEncoder/TEncCfg.h | 12 ----
47581 source/Lib/TLibEncoder/TEncCu.cpp | 11 +---
47582 source/Lib/TLibEncoder/TEncGOP.cpp | 7 +-
47583 source/Lib/TLibEncoder/TEncSlice.cpp | 106
47584 +-------------------------------- source/x265.h | 3 -
47585 source/x265cfg.cpp | 20 +------ source/x265enc.cpp | 17 ------ 9
47586 files changed, 10 insertions(+), 180 deletions(-)
47587 [a4788d814f55]
47588
47589 * source/Lib/TLibCommon/TComDataCU.cpp,
47590 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibEncoder/TEncCu.cpp,
47591 source/Lib/TLibEncoder/TEncCu.h,
47592 source/Lib/TLibEncoder/TEncSlice.cpp,
47593 source/Lib/TLibEncoder/TEncSlice.h:
47594 threading: remove unused C++ pointer reference (variant name do not
47595 modify for keep compatible)
47596 --- source/Lib/TLibCommon/TComDataCU.cpp | 4 ++--
47597 source/Lib/TLibCommon/TComPic.h | 2 +-
47598 source/Lib/TLibEncoder/TEncCu.cpp | 2 +-
47599 source/Lib/TLibEncoder/TEncCu.h | 2 +-
47600 source/Lib/TLibEncoder/TEncSlice.cpp | 8 ++++----
47601 source/Lib/TLibEncoder/TEncSlice.h | 4 ++-- 6 files changed, 11
47602 insertions(+), 11 deletions(-)
47603 [90b611273d0a]
47604
476052013-05-11 Steve Borho <steve@borho.org>
47606
47607 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
47608 source/Lib/TLibEncoder/TEncCu.h,
47609 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
47610 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
47611 source/Lib/TLibEncoder/TEncSearch.cpp,
47612 source/Lib/TLibEncoder/TEncSearch.h,
47613 source/Lib/TLibEncoder/TEncSlice.cpp,
47614 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
47615 source/x265cfg.cpp, source/x265enc.cpp:
47616 Remove SBACRD configuration option
47617 [4fef14f41d6d]
47618
47619 * source/Lib/TLibEncoder/TEncSearch.cpp:
47620 TEncSearch: fix 16bpp compiler warnings
47621 [3dfbf98b245e]
47622
47623 * source/Lib/TLibCommon/TComRdCost.cpp,
47624 source/Lib/TLibCommon/TComRdCost.h:
47625 TComRdCost: remove dead 2x2 satd code paths
47626
47627 HEVC does not support 2x2 partitions, even for chroma. See
47628 http://forum.doom9.org/showthread.php?t=167081
47629 [293b1e04bea4]
47630
47631 * source/Lib/TLibCommon/TComRdCost.cpp:
47632 TComRdCost: fix old HM bug in dead 2x2 logic
47633 [73ef64e5f6a4]
47634
47635 * source/Lib/TLibEncoder/TEncSearch.cpp:
47636 TEncSearch: use SATD primitives to measure chroma intra residual
47637 [574ec4bfc6b7]
47638
47639 * source/encoder/x86/asm-primitives.cpp:
47640 asm: use XOP satd primitives when available; roughly 10x C versions
47641 [a387fff04cb9]
47642
47643 * source/encoder/x86/asm-primitives.cpp:
47644 asm: use x264_pixel_satd_4x16_avx when available
47645 [6910ed19b5d6]
47646
47647 * source/encoder/x86/asm-primitives.cpp:
47648 asm: use x264_pixel_satd_4x16_sse4 when available
47649 [26003f6ce226]
47650
47651 * source/encoder/x86/asm-primitives.cpp:
47652 asm: use SSE2 satd functions for all partitions, where available
47653
47654 Roughly 6x faster than C, 2x faster than MMX
47655 [2178cc1f7651]
47656
47657 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/pixel.cpp,
47658 source/encoder/primitives.h, source/encoder/x86/asm-primitives.cpp,
47659 source/test/pixelharness.cpp:
47660 primitive: add sa8d_32x32 and sa8d_64x64, use for intra cost
47661 estimation
47662 [e2f65de5920e]
47663
47664 * source/Lib/TLibEncoder/TEncCu.cpp:
47665 TEncCu: remove for-loops over QP, make them simple expressions
47666
47667 No sane encoder would ever do that sort of redundant analysis. There
47668 is a lot of cleanup that needs to trickle up from here. iMinQP and
47669 isAddLowestQP can probably be removed, and all the slice and SPS
47670 fields for QP RD can be removed, all the way up to the config
47671 options that enabled it.
47672 [d799578d900d]
47673
476742013-05-10 Steve Borho <steve@borho.org>
47675
47676 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.h:
47677 fix aligned pixel caches for x86 and x64 builds
47678
47679 Tested on VC10, VC11, and MinGW x86
47680 [b8cb76df149d]
47681
47682 * source/Lib/TLibCommon/TComPicYuv.cpp,
47683 source/Lib/TLibCommon/TComPrediction.cpp,
47684 source/Lib/TLibCommon/TComPrediction.h,
47685 source/Lib/TLibEncoder/TEncSearch.cpp,
47686 source/encoder/CMakeLists.txt,
47687 source/encoder/InterpolationFilter.cpp,
47688 source/encoder/InterpolationFilter.h:
47689 remove unused InterpolationFilter.cpp, move filter args back into
47690 TComPrediction
47691 [29c61b186ec8]
47692
47693 * source/Lib/TLibEncoder/TEncSearch.cpp:
47694 TEncSearch: replace filterCopy() call with cpyblock primitive
47695 [928a426cc302]
47696
47697 * source/encoder/motion.h:
47698 motion: lessen alignment restriction for pixel cache
47699
47700 Prevents compiler warnings about required padding
47701 [bcc1dbbf732d]
47702
47703 * source/encoder/primitives.cpp:
47704 primitives: report XOP and FMA detection as well as CPU SIMD level
47705 [031313a5bfcb]
47706
47707 * source/Lib/TLibEncoder/TEncSearch.h:
47708 TEncSearch: re-order member variables to avoid alignment causing
47709 padding
47710
47711 Some VC versions will issue warnings if alignment decls require
47712 padding to be added (a performance warning)
47713 [8d904a7306ac]
47714
47715 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
47716 source/encoder/motion.h:
47717 motion: rename MotionReference.plane to lumaPlane, remove unused
47718 channels
47719 [9b655ff38985]
47720
47721 * Merged in sumalatha/xhevc_sumalatha (pull request #132)
47722
47723 Changed the variable name according to naming convention of HM
47724 [0e45feaf8759]
47725
477262013-05-10 sumalatha <sumalatha>
47727
47728 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
47729 changed the variable name according to naming convention of HM
47730 Included the comment such that early abort can be disabled
47731 [9df494f9e780]
47732
47733 * source/Lib/TLibEncoder/TEncCu.cpp:
47734 removed goto statement.
47735 [a0bce7915be9]
47736
47737 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
47738 Incorporated Steves changes in optimized xcompressCU() to abort
47739 recursion if cost of child CU is greater that the cost of parent CU.
47740 [97195ad9e3e2]
47741
477422013-05-10 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
47743
47744 * Merged multicoreware/xhevc into default
47745 [a3286df9a8cb]
47746
477472013-05-09 sumalatha <sumalatha>
47748
47749 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
47750 optimized xcompressCU() to abort recursion if cost of child CU is
47751 greater that the cost of parent CU.
47752 [5432fa0411d9]
47753
477542013-05-10 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
47755
47756 * build/BuildEncoderApplications.bat:
47757 Implemented all posible configurations into Regression test(8bit_pre
47758 m(enable_test),8bit_HM(disable_test),16bit_prem(enable_test),16bit_H
47759 M(disable_test))
47760 [b686ba6045ad]
47761
477622013-05-10 ShinYee Chung <shinyee@multicorewareinc.com>
47763
47764 * source/encoder/vec/intrapred.inc:
47765 Intra: Fix compile errors due to vector conversions.
47766 [e4fa6f942fe7]
47767
47768 * source/encoder/common.cpp:
47769 Common: Fix the type mismatch between printf format and argument.
47770 [915fc0395e29]
47771
47772 * source/encoder/common.cpp:
47773 Common: Fix broken eol, tabs, spaces.
47774 [710015f394ee]
47775
477762013-05-10 Steve Borho <steve@borho.org>
47777
47778 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
47779 source/encoder/bitcost.h, source/encoder/motion.cpp,
47780 source/encoder/motion.h:
47781 motion: new bitcost method for BitCost and MotionEstimate classes
47782 [a553b5197f40]
47783
47784 * source/Lib/TLibCommon/TComRdCost.cpp,
47785 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
47786 source/Lib/TLibEncoder/TEncSearch.cpp,
47787 source/Lib/TLibEncoder/TEncSlice.cpp:
47788 remove WEIGHTED_CHROMA_DISTORTION define
47789 [39d47f7eaa87]
47790
47791 * source/Lib/TLibCommon/CommonDef.h,
47792 source/Lib/TLibEncoder/TEncSearch.cpp:
47793 Remove GPB_SIMPLE_UNI define
47794 [f8bc2b563e63]
47795
477962013-05-10 Min Chen <min.chen@multicorewareinc.com>
47797
47798 * source/encoder/vec/intrapred.inc:
47799 intrapred: optimize predIntraPlanar4 with 16bpp
47800 --- source/encoder/vec/intrapred.inc | 87
47801 +++++++++++++++++++++++++------------- 1 files changed, 58
47802 insertions(+), 29 deletions(-)
47803 [0191c2e03e51]
47804
47805 * source/Lib/TLibCommon/TComPrediction.cpp:
47806 TComPrediction: fix build warning at 16bpp
47807 --- source/Lib/TLibCommon/TComPrediction.cpp | 4 ++-- 1 files
47808 changed, 2 insertions(+), 2 deletions(-)
47809 [14bd77d46976]
47810
478112013-05-10 Steve Borho <steve@borho.org>
47812
47813 * source/encoder/vec/intrapred.inc,
47814 source/encoder/vec/vecprimitives.inc:
47815 vec: inc files should not have includes of their own
47816 [7505b485f286]
47817
478182013-05-10 Min Chen <min.chen@multicorewareinc.com>
47819
47820 * source/Lib/TLibCommon/TComPrediction.cpp,
47821 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
47822 source/encoder/vec/intrapred.inc,
47823 source/encoder/vec/vecprimitives.inc:
47824 intrapred: optimize predIntraPlanar4 with 8bpp
47825 --- source/Lib/TLibCommon/TComPrediction.cpp | 15 +++-
47826 source/encoder/IntraPred.cpp | 51 +++++++++
47827 source/encoder/primitives.h | 2 + source/encoder/vec/intrapred.inc |
47828 169 ++++++++++++++++++++++++++++++
47829 source/encoder/vec/vecprimitives.inc | 1 + 5 files changed, 236
47830 insertions(+), 2 deletions(-)
47831 [77f050ae9201]
47832
47833 * source/VectorClass/vectori128.h:
47834 vector128: unsafe compress(map to packuswb)
47835 --- source/VectorClass/vectori128.h | 4 ++++ 1 files changed, 4
47836 insertions(+), 0 deletions(-)
47837 [5b41635781a6]
47838
47839 * source/VectorClass/vectori128.h:
47840 vector128: constant shift right and broadcast
47841 --- source/VectorClass/vectori128.h | 39
47842 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39
47843 insertions(+), 0 deletions(-)
47844 [5b4d2cff5b76]
47845
47846 * source/VectorClass/vectori128.h:
47847 vector128: constant shift left
47848 --- source/VectorClass/vectori128.h | 31
47849 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0
47850 deletions(-)
47851 [c1200d24153e]
47852
478532013-05-09 Steve Borho <steve@borho.org>
47854
47855 * source/encoder/motion.cpp, source/encoder/motion.h:
47856 motion: remove fref class member
47857 [07c65d9466fc]
47858
47859 * source/encoder/motion.cpp, source/encoder/motion.h:
47860 motion: remove residual functions from class
47861
47862 motion compensation can happen well outside of the analysis loop, so
47863 there is no benefit in trying to re-use our pixel cache
47864 [3399d80552f7]
47865
47866 * source/test/ipfilterharness.cpp, source/test/testharness.h:
47867 testharness: adopt checkasm approach to measuring performance
47868 [46d2553e471e]
47869
47870 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/x86/asm-
47871 primitives.cpp, source/encoder/x86/const-a.asm,
47872 source/encoder/x86/cpu-a.asm, source/encoder/x86/pixel-a.asm,
47873 source/encoder/x86/pixel.h, source/encoder/x86/sad-a.asm,
47874 source/encoder/x86/x86inc.asm, source/encoder/x86/x86util.asm:
47875 asm: enable x264 sad, sad_x3, sad_x4, sa8d, and satd assembly
47876 routines
47877
47878 This required removing sa8d and satd primitives from TComRdCost.cpp
47879 - they are only called from the new motion search now. x264 asm has
47880 been updated to tip
47881 [09b29a12d3b9]
47882
478832013-05-09 Mandar Gurav <Mandar Gurav>
47884
47885 * cfg/per-sequence/FourPeople.cfg:
47886 Implemented Steve's comments - 2
47887 [7b7444bd1693]
47888
47889 * build/dr_psnr_script/psnr_script.bat, cfg/per-
47890 sequence/BasketballDrive.cfg, cfg/per-sequence/FourPeople.cfg:
47891 Implemented Steve's comments.
47892 [bade8b9e1b03]
47893
478942013-05-09 Mandar Gurav <mandar@multicorewareinc.com>
47895
47896 * Merged multicoreware/xhevc into default
47897 [b4aa1a7dbe9f]
47898
478992013-05-09 Mandar Gurav <Mandar Gurav>
47900
47901 * build/dr_psnr_script/dr_psnr.exe,
47902 build/dr_psnr_script/psnr_script.bat:
47903 Use tools/dr_psnr binary built from the source directory. And use
47904 YUV file as input to dr_psnr instead of y4m.
47905 [8c75b377005e]
47906
479072013-05-09 Mandar Gurav <mandar@multicorewareinc.com>
47908
47909 * Merged multicoreware/xhevc into default
47910 [4e2423672016]
47911
479122013-05-08 Mandar Gurav <Mandar Gurav>
47913
47914 * Merge
47915 [be402320a9b8]
47916
47917 * build/dr_psnr_script/psnr_script.bat:
47918 Implemented suggestions from Steve.
47919 [d6affb95df1d]
47920
479212013-05-08 Mandar Gurav <mandar@multicorewareinc.com>
47922
47923 * Merged multicoreware/xhevc into default
47924 [e76f1de33e6b]
47925
479262013-05-08 Mandar Gurav <Mandar Gurav>
47927
47928 * build/dr_psnr_script/BasketballDrive.cfg,
47929 build/dr_psnr_script/FourPeople.cfg,
47930 build/dr_psnr_script/encoder_I_15P.cfg,
47931 build/dr_psnr_script/encoder_all_I.cfg,
47932 build/dr_psnr_script/psnr_script.bat, cfg/per-
47933 sequence/BasketballDrive.cfg, cfg/per-sequence/FourPeople.cfg:
47934 Implemented suggestions from Deepthi N.
47935 [b6ee43e7007e]
47936
479372013-05-08 Mandar Gurav <mandar@multicorewareinc.com>
47938
47939 * Merged multicoreware/xhevc into default
47940 [321ae9002b1e]
47941
47942 * Merged multicoreware/xhevc into default
47943 [fd85e05a4c0d]
47944
479452013-05-07 Mandar Gurav <Mandar Gurav>
47946
47947 * build/dr_psnr_script/BasketballDrive.cfg,
47948 build/dr_psnr_script/FourPeople.cfg,
47949 build/dr_psnr_script/TAppDecoder.exe,
47950 build/dr_psnr_script/dr_psnr.exe,
47951 build/dr_psnr_script/encoder_I_15P.cfg,
47952 build/dr_psnr_script/encoder_all_I.cfg,
47953 build/dr_psnr_script/psnr_script.bat:
47954 Script for generating dr_psnr output. Output files are as follows
47955 * encoder_output.txt
47956 * decoder_output.txt
47957 * dr_psnr_output.txt
47958 [6e70935ca7db]
47959
479602013-05-09 Deepthi Devaki <Deepthi Devaki>
47961
47962 * Merge
47963 [acf7fe823eda]
47964
47965 * source/Lib/TLibCommon/TComPicYuv.cpp:
47966 Change comment.
47967 [2a48b178a31c]
47968
47969 * source/Lib/TLibCommon/TComPicYuv.cpp:
47970 Remove copy of Full Pel from filter. Instead copy it in
47971 extendPicBorder
47972 [9d818fd017d9]
47973
479742013-05-09 Steve Borho <steve@borho.org>
47975
47976 * source/Lib/TLibEncoder/TEncSearch.cpp:
47977 motion: remove redundant plane pointer assignments
47978 [6bd4cc4a96c1]
47979
47980 * source/Lib/TLibEncoder/TEncSearch.cpp:
47981 disable new motion search until UMH mode is added
47982
47983 The UMH search should have comparable quality to the HM search. The
47984 DIA search loses too much compression efficiency to use as a default
47985 [fb3a87cc0e10]
47986
47987 * Merged in ggopu/ggopu_xhevc (pull request #129)
47988
47989 motion: fix reference plane pointers and strides
47990 [8a5c2df2915c]
47991
479922013-05-09 ggopu <ggopu>
47993
47994 * source/Lib/TLibEncoder/TEncSearch.cpp:
47995 Integrated new motion vector changes
47996 [2f781b3a5479]
47997
47998 * source/Lib/TLibEncoder/TEncSearch.cpp:
47999 motion: fix reference plane pointers and strides
48000 [ac4916565956]
48001
480022013-05-09 Deepthi Devaki <Deepthi Devaki>
48003
48004 * source/Lib/TLibCommon/TComPicYuv.cpp:
48005 Fix output mismatch: change input width/height for filter
48006 [8c7533211b95]
48007
480082013-05-08 Steve Borho <steve@borho.org>
48009
48010 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
48011 source/Lib/TLibEncoder/SEIwrite.cpp,
48012 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
48013 source/Lib/TLibEncoder/TEncGOP.cpp,
48014 source/Lib/TLibEncoder/TEncGOP.h, source/x265cfg.cpp,
48015 source/x265enc.cpp:
48016 Remove REMOVE_SINGLE_SEI_EXTENSION_FLAGS, K0180_SCALABLE_NESTING_SEI
48017 macros
48018 [0a960f095a1e]
48019
48020 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
48021 source/Lib/TLibEncoder/SEIwrite.cpp,
48022 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
48023 source/Lib/TLibEncoder/TEncGOP.cpp,
48024 source/Lib/TLibEncoder/TEncTop.cpp,
48025 source/Lib/TLibEncoder/TEncTop.h, source/x265cfg.cpp,
48026 source/x265enc.cpp:
48027 Remove L0208_SOP_DESCRIPTION_SEI define (remove from HM)
48028 [7b3273e9b24a]
48029
48030 * source/Lib/TLibCommon/TComSlice.cpp,
48031 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
48032 source/Lib/TLibEncoder/TEncCavlc.cpp,
48033 source/Lib/TLibEncoder/TEncCavlc.h, source/x265cfg.cpp,
48034 source/x265enc.cpp:
48035 Remove SIGNAL_BITRATE_PICRATE_IN_VPS define (removed from tip of HM)
48036 [315a8cb35bc7]
48037
48038 * source/compat/msvc/getopt.c, source/tools/dr_psnr/CMakeLists.txt,
48039 source/tools/dr_psnr/SSIMCalculator.cpp:
48040 dr_psnr: fix GCC build warnings
48041 [1504ac21e981]
48042
48043 * source/CMakeLists.txt, source/tools/CMakeLists.txt,
48044 source/tools/dr_psnr/CMakeLists.txt,
48045 source/tools/dr_psnr/PsnrCalculator.cpp,
48046 source/tools/dr_psnr/PsnrCalculator.h,
48047 source/tools/dr_psnr/SSIMCalculator.cpp,
48048 source/tools/dr_psnr/SSIMCalculator.h,
48049 source/tools/dr_psnr/dr_psnr.cpp:
48050 tools: add a tools/ folder and start with dr_psnr
48051 [c211b4c4d1ba]
48052
48053 * source/Lib/TLibCommon/AccessUnit.h,
48054 source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/NAL.h,
48055 source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComBitCounter.h,
48056 source/Lib/TLibCommon/TComBitStream.h,
48057 source/Lib/TLibCommon/TComList.h,
48058 source/Lib/TLibEncoder/AnnexBwrite.h,
48059 source/Lib/TLibEncoder/NALwrite.h,
48060 source/Lib/TLibEncoder/SEIwrite.h,
48061 source/Lib/TLibEncoder/SyntaxElementWriter.h,
48062 source/Lib/TLibEncoder/TEncAnalyze.h,
48063 source/Lib/TLibEncoder/TEncCavlc.h,
48064 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncSbac.h:
48065 cleanup compile guards, no code effects
48066 [eb687bb237ae]
48067
48068 * source/Lib/TLibCommon/ContextTables.h:
48069 remove FIX827, FIX712 #defines
48070 [6cf68223c50f]
48071
48072 * source/Lib/TLibCommon/TComDataCU.h,
48073 source/Lib/TLibEncoder/TEncSlice.h,
48074 source/Lib/TLibEncoder/TEncTop.cpp,
48075 source/Lib/TLibEncoder/TEncTop.h:
48076 random white-space cleanups, no code changes
48077 [22363860b159]
48078
480792013-05-08 nandaku2 <deepthi@multicorewareinc.com>
48080
48081 * Merged in deepthidevaki/xhevc_deepthid (pull request #124)
48082
48083 Modifications to subpel generation
48084 [4dd4c610646f]
48085
480862013-05-08 Deepthi Devaki <Deepthi Devaki>
48087
48088 * Merge
48089 [f928fa3e7405]
48090
48091 * source/Lib/TLibCommon/TComPicYuv.cpp:
48092 Merge
48093 [656789cd00e1]
48094
48095 * source/Lib/TLibCommon/TComPicYuv.cpp:
48096 Change filter temp variable to short* instead of TshortYuv
48097 [6c4e3ee894bf]
48098
48099 * source/Lib/TLibCommon/TComPicYuv.cpp,
48100 source/Lib/TLibCommon/TComPrediction.cpp:
48101 Uncrustified two files.
48102 [86c4e1e12613]
48103
48104 * source/Lib/TLibCommon/TComPicYuv.cpp,
48105 source/Lib/TLibCommon/TComPrediction.cpp:
48106 Use block copy primitives instead of filterCopy
48107 [47aa034b5545]
48108
48109 * Merge
48110 [770006a69dfa]
48111
481122013-05-07 Deepthi Devaki <Deepthi Devaki>
48113
48114 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
48115 source/encoder/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
48116 Backed out changeset: 1baaa3822b79
48117 [6b4cabf50573]
48118
48119 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
48120 source/encoder/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
48121 Backed out changeset: da889c1d7641
48122 [1baaa3822b79]
48123
481242013-05-08 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
48125
48126 * Merged multicoreware/xhevc into default
48127 [4470f5f36d76]
48128
48129 * source/Lib/TLibCommon/TComPicYuv.cpp:
48130 Merged multicoreware/xhevc into default
48131 [cd5e5e2498d8]
48132
481332013-05-07 Deepthi Devaki <Deepthi Devaki>
48134
48135 * source/Lib/TLibCommon/TComPicYuv.cpp,
48136 source/Lib/TLibCommon/TComPicYuv.h,
48137 source/Lib/TLibCommon/TComPrediction.cpp,
48138 source/Lib/TLibEncoder/TEncSearch.cpp:
48139 Remove unwanted comments and code.
48140 [bb747fc0379d]
48141
481422013-05-08 Deepthi <Deepthi>
48143
48144 * Merge
48145 [bad457c087fd]
48146
48147 * source/encoder/CMakeLists.txt, source/encoder/common.cpp,
48148 source/encoder/common.h:
48149 Debug Support for dumping buffers. Simply typecast all pointers to
48150 void*, and it will dump the required number of bytes into a buffer.
48151 [1aa6126cf203]
48152
481532013-05-08 Steve Borho <steve@borho.org>
48154
48155 * source/test/testharness.h:
48156 testbench: GCC build fixes
48157 [524b43126be7]
48158
48159 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #121)
48160
48161 Prints the avg. number of cycles taken for vec_primitive and C
48162 function calls.
48163 [e9572d3f84b7]
48164
481652013-05-07 Mandar Gurav <Mandar Gurav>
48166
48167 * source/test/testharness.h:
48168 Prints the avg. number of cycles taken for vec_primitive and C
48169 function calls.
48170 [d339ef591ffd]
48171
481722013-05-08 nandaku2 <deepthi@multicorewareinc.com>
48173
48174 * Merged in sumalatha/xhevc_sumalatha (pull request #122)
48175
48176 fix for the output mismatch issue. Now when AMPREfine flag is not
48177 set, output matches
48178 [1595173e7694]
48179
481802013-05-08 sumalatha <sumalatha>
48181
48182 * source/Lib/TLibEncoder/TEncTop.cpp:
48183 fix for the output mismatch issue. Now when AMPREfine flag is not
48184 set, output matches
48185 [34dd7b92a7f7]
48186
481872013-05-07 Steve Borho <steve@borho.org>
48188
48189 * source/Lib/TLibCommon/TComPicYuv.cpp, source/PPA/ppaCPUEvents.h:
48190 ppa: add an event for TComPicYuv::extendPicBorder()
48191 [b4702c569e73]
48192
48193 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
48194 white-space nits in config files
48195 [32049d39e86b]
48196
481972013-05-07 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
48198
48199 * source/test/filterharness.cpp, source/test/filterharness.h:
48200 Merged multicoreware/xhevc into default
48201 [e29437861397]
48202
482032013-05-07 sumalatha <sumalatha>
48204
48205 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg,
48206 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
48207 source/Lib/TLibEncoder/TEncCu.cpp,
48208 source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h,
48209 source/x265cfg.cpp, source/x265enc.cpp:
48210 Included additional flag "AMPRefine" in cfg file and made changes in
48211 the code such that if the flag is enabled, the partition size Nx2N
48212 and 2NxN is used for search and other operations in INTER otherwise
48213 these two partition sizes are excluded.
48214 [4589879e4226]
48215
482162013-05-07 Deepthi Devaki <Deepthi Devaki>
48217
48218 * source/Lib/TLibCommon/TComPrediction.cpp,
48219 source/Lib/TLibEncoder/TEncSearch.cpp,
48220 source/Lib/TLibEncoder/TEncSearch.h:
48221 Removed unwanted comments
48222 [498c2a8e99e9]
48223
48224 * source/encoder/InterpolationFilter.cpp:
48225 Modified filterverticalpel_pel
48226 [5c9b304404b5]
48227
48228 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
48229 source/encoder/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
48230 Added vector primitives for filtervertical_pel_pel
48231 [da889c1d7641]
48232
48233 * source/Lib/TLibCommon/TComPicYuv.cpp,
48234 source/Lib/TLibCommon/TComPicYuv.h:
48235 Remove all references to chroma filterBlocks.
48236 [171889c50962]
48237
48238 * source/Lib/TLibCommon/TComPicYuv.cpp,
48239 source/Lib/TLibCommon/TComPicYuv.h,
48240 source/Lib/TLibCommon/TComPrediction.cpp,
48241 source/Lib/TLibEncoder/TEncSearch.cpp,
48242 source/Lib/TLibEncoder/TEncSearch.h:
48243 ME and Prediction uses new Luma subpel blocks, instead of generating
48244 subpels on demand.
48245 [127995bc3034]
48246
48247 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
48248 source/test/filterharness.h, source/test/testbench.cpp:
48249 Removed old filter from testbench
48250 [069d0a894c3b]
48251
48252 * source/encoder/macroblock.cpp:
48253 Removed old filter c primitives from macroblock.cpp
48254 [f5f4cefafde6]
48255
48256 * source/encoder/vec/macroblock.inc:
48257 Removed old filters vec primitives
48258 [98efb37469d6]
48259
482602013-05-06 Steve Borho <steve@borho.org>
48261
48262 * source/encoder/vec/blockcopy.inc:
48263 blockcopy: retask 8bpp s_p for s_c
48264 [b80724df82fb]
48265
48266 * source/encoder/pixel.cpp, source/encoder/primitives.h,
48267 source/test/pixelharness.cpp, source/test/pixelharness.h:
48268 pixel: introduce blockcopy_s_c primitive for expanding bytes to
48269 shorts
48270
48271 In some places, we always want to expand bytes to shorts
48272 unconditionally, regardless of the size of pixel/Pel. This function
48273 pointer may be used for that. Implementation wise, it should use the
48274 existing vectorized function for 8bpp blockcopy_s_p.
48275 [f0ce6f417381]
48276
48277 * source/Lib/TLibCommon/TComPrediction.cpp:
48278 TComPrediction: fix build warning at 16bpp
48279 [1c265556534f]
48280
48281 * Merged in deepthidevaki/xhevc_deepthid (pull request #118)
48282
48283 Added function to generate Luma subpels for entire frame.
48284 [6e133daf825b]
48285
482862013-05-06 Deepthi Devaki <Deepthi Devaki>
48287
48288 * source/Lib/TLibCommon/TComPicYuv.cpp:
48289 Modified function to generate Luma subpels for entire frame.
48290 [8910b39167b2]
48291
48292 * source/Lib/TLibCommon/TComPicYuv.cpp:
48293 Functions to generate QPels for entire frame
48294 [a230bfeb4924]
48295
48296 * source/Lib/TLibCommon/TComPicYuv.cpp,
48297 source/Lib/TLibCommon/TComPicYuv.h,
48298 source/encoder/InterpolationFilter.h:
48299 Generate Hpel for entire frame. (tested!)
48300 [5e8ea012ff63]
48301
483022013-05-06 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
48303
48304 * source/Lib/TLibCommon/TComPicYuv.h,
48305 source/encoder/vec/interpolationfilter.inc:
48306 Merged multicoreware/xhevc into default
48307 [a9d4a7ce337c]
48308
483092013-05-03 Deepthi Devaki <Deepthi Devaki>
48310
48311 * source/Lib/TLibCommon/TComPicYuv.h:
48312 Added access functions for filteredBlocks
48313 [260dd458563c]
48314
48315 * Merge
48316 [5fafbbd52b06]
48317
48318 * source/Lib/TLibCommon/TComPicYuv.cpp:
48319 Initialize m_filterBlocks to NULL
48320 [dd7000afff97]
48321
48322 * source/Lib/TLibCommon/TComPicYuv.cpp:
48323 Fix deallocating filterBlocks memory.
48324 [e7e63540cbf8]
48325
48326 * source/Lib/TLibCommon/TComPicYuv.cpp,
48327 source/Lib/TLibCommon/TComPicYuv.h, source/encoder/TShortYUV.h:
48328 Added Data structures for H/Q planes
48329 [d2269b064b50]
48330
483312013-05-06 Steve Borho <steve@borho.org>
48332
48333 * source/test/intrapredharness.cpp:
48334 intrapredharness: prevent out-of-bounds reads during validation
48335 tests
48336 [25de1ee81ef5]
48337
48338 * source/encoder/vec/ipfilter.inc:
48339 ipfilter: remove cruft that was only for preventing unused parameter
48340 warnings
48341 [df6907669de5]
48342
48343 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter8.inc:
48344 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #117)
48345
48346 Filter implementation for HIGH_BIT_DEPTH=0
48347 [d6a9d7d2fb0e]
48348
483492013-05-06 Mandar Gurav <Mandar Gurav>
48350
48351 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter8.inc:
48352 Filter implementation for HIGH_BIT_DEPH=0
48353 [0e7d769686df]
48354
483552013-05-06 Min Chen <chenm003@163.com>
48356
48357 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
48358 intrapred: testbench for xPredIntraDC
48359 --- source/test/intrapredharness.cpp | 59
48360 +++++++++++++++++++++++++++++---------
48361 source/test/intrapredharness.h | 4 ++- 2 files changed, 48
48362 insertions(+), 15 deletions(-)
48363 [9d2804da4cff]
48364
48365 * source/Lib/TLibCommon/TComPrediction.cpp,
48366 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
48367 source/encoder/vec/intrapred.inc:
48368 intrapred: C reference model and code cleanup
48369 --- source/Lib/TLibCommon/TComPrediction.cpp | 12 ++-
48370 source/encoder/IntraPred.cpp | 44 ++++++++++-
48371 source/encoder/primitives.h | 6 +- source/encoder/vec/intrapred.inc
48372 | 132 +----------------------------- 4 files changed, 53
48373 insertions(+), 141 deletions(-)
48374 [8f5f1349ecb3]
48375
48376 * source/encoder/vec/intrapred.inc:
48377 intrapred: simplify in xDCPredFiltering()
48378 --- source/encoder/vec/intrapred.inc | 10 ++++++---- 1 files changed,
48379 6 insertions(+), 4 deletions(-)
48380 [22b068217f37]
48381
48382 * source/Lib/TLibCommon/TComPrediction.cpp,
48383 source/encoder/IntraPred.cpp, source/encoder/primitives.h,
48384 source/encoder/vec/intrapred.inc:
48385 intrapred: new vector optimize code for predIntraDC,
48386 xDCPredFiltering
48387 --- source/Lib/TLibCommon/TComPrediction.cpp | 4 +
48388 source/encoder/IntraPred.cpp | 1 + source/encoder/primitives.h | 2 +
48389 source/encoder/vec/intrapred.inc | 471
48390 ++++++++++++++++++++++++++++++ 4 files changed, 478 insertions(+), 0
48391 deletions(-)
48392 [66de4e152e1f]
48393
48394 * source/VectorClass/vectori128.h:
48395 vector128: constant shift for Vec8us
48396 --- source/VectorClass/vectori128.h | 12 ++++++++++++ 1 files
48397 changed, 12 insertions(+), 0 deletions(-)
48398 [6764e16594d5]
48399
48400 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
48401 vector128: more general load_partial and store_partial
48402 --- source/VectorClass/vectori128.h | 56
48403 +++++++++++++++++++++++++++++++------
48404 source/encoder/vec/intrapred.inc | 3 +- 2 files changed, 48
48405 insertions(+), 11 deletions(-)
48406 [2cc4fc0e415e]
48407
48408 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
48409 vectorclass: fix Vec4ui wrong action and name
48410 --- source/VectorClass/vectori128.h | 4 ++--
48411 source/encoder/vec/intrapred.inc | 4 ++-- 2 files changed, 4
48412 insertions(+), 4 deletions(-)
48413 [19c3e1abfd46]
48414
484152013-05-06 Steve Borho <steve@borho.org>
48416
48417 * source/encoder/vec/ipfilter16.inc, source/encoder/vec/ipfilter8.inc:
48418 ipfilter: more pruning
48419 [2bb2e364d57c]
48420
48421 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
48422 source/encoder/vec/ipfilter8.inc,
48423 source/encoder/vec/vecprimitives.inc:
48424 vec: inc files should not include other headers
48425
48426 Only vecprimitives.inc may include files; the other files are being
48427 included within a namespace and can cause strange link problems if
48428 headers are included.
48429 [b6fc9bf11a3e]
48430
48431 * source/Lib/TLibEncoder/TEncSlice.cpp:
48432 TEncSlice: backout replacement of calcRdCost64 with CALCRDCOST_SAD
48433
48434 Those were two entirely different function calls
48435 [74bf6c970636]
48436
484372013-05-06 nandaku2 <deepthi@multicorewareinc.com>
48438
48439 * source/encoder/vec/interpolationfilter.inc:
48440 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #116)
48441
48442 Interpolationfilter primitives restructured.
48443 [81577757e572]
48444
484452013-05-06 Mandar Gurav <Mandar Gurav>
48446
48447 * source/encoder/vec/CMakeLists.txt,
48448 source/encoder/vec/interpolationfilter.inc,
48449 source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter16.inc,
48450 source/encoder/vec/ipfilter8.inc,
48451 source/encoder/vec/vecprimitives.inc:
48452 Interpolationfilter primitives restructured.
48453 [07679e04c0e4]
48454
484552013-05-06 sumalatha <sumalatha>
48456
48457 * source/Lib/TLibCommon/TComRdCost.h,
48458 source/Lib/TLibEncoder/TEncCu.cpp,
48459 source/Lib/TLibEncoder/TEncSearch.cpp,
48460 source/Lib/TLibEncoder/TEncSlice.cpp:
48461 Replaced the function call for calcRdCost() with MACRO CALCRDCOST
48462 such that in macro, the switch case for selection of "eDFunc" is
48463 removed.
48464 [7f3fe334fb1e]
48465
484662013-05-05 Steve Borho <steve@borho.org>
48467
48468 * source/Lib/TLibEncoder/TEncSearch.cpp:
48469 TEncSearch: fix warning with 15bpp build
48470 [cd46a81725fb]
48471
48472 * source/Lib/TLibCommon/TComYuv.cpp:
48473 TComYuv: use primitives for remaining copy functions
48474 [34471ada8ab3]
48475
48476 * source/Lib/TLibCommon/TComYuv.cpp:
48477 TComYuv: use pixel copy primitives
48478 [bce043dae3ef]
48479
48480 * source/Lib/TLibCommon/TComDataCU.h,
48481 source/Lib/TLibCommon/TComPicYuv.h:
48482 white-space nits, no changes
48483 [2bed949a69ab]
48484
48485 * source/Lib/TLibEncoder/TEncSearch.cpp:
48486 TEncSearch: get access to the original source pixel plane and real
48487 strides
48488 [d959edb866f9]
48489
48490 * source/Lib/TLibEncoder/TEncSearch.cpp:
48491 TEncSearch: get offset into original picture buffer
48492
48493 pcOrgYuv seems to point to a small YUV buffer holding only the
48494 pixels for the current CTU under analysis.
48495 [d85c6703f022]
48496
48497 * source/Lib/TLibCommon/TComPrediction.cpp:
48498 TComPrediction: fix MSVC reported stack corruption
48499
48500 When run in debug mode, MSVC reported stack corruption near
48501 leftColumn. The 1st for loop is iterating over blkSize+1
48502
48503 This looks like an HM bug exposed by reducing MAX_CU_SIZE to the
48504 actual max 64
48505 [14d43f8589d0]
48506
48507 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48508 source/encoder/vec/pixel8.inc:
48509 pixel: add vectorized sad_48_x3
48510 [765fc92c7d80]
48511
48512 * source/encoder/pixel.cpp, source/encoder/vec/pixel.inc,
48513 source/encoder/vec/pixel16.inc, source/encoder/vec/pixel8.inc:
48514 pixel: add vectorized sad_48_x4
48515 [254937aa7425]
48516
48517 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48518 source/encoder/vec/pixel8.inc:
48519 pixel: add vectorized sad 48
48520 [f48a79bd4693]
48521
48522 * source/encoder/vec/pixel16.inc:
48523 pixel16: fix bug in sad_12_x4
48524 [a1ec7d7c20ee]
48525
48526 * source/encoder/vec/pixel16.inc:
48527 pixel16: fix bug in sad_12_x3
48528 [da712d42ba62]
48529
48530 * source/Lib/TLibEncoder/TEncSearch.cpp:
48531 TEncSearch: fix compiler warning
48532 [3be39838c8d4]
48533
48534 * source/encoder/vec/pixel8.inc:
48535 pixel8: fix bug in sad_4_x4
48536 [0b7655d1a1b3]
48537
48538 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
48539 source/encoder/primitives.h, source/test/pixelharness.cpp:
48540 pixel: add 48 sized partitions
48541 [98c591baafeb]
48542
485432013-05-05 Min Chen <chenm003@163.com>
48544
48545 * source/Lib/TLibCommon/TComPattern.cpp,
48546 source/Lib/TLibCommon/TComPrediction.cpp,
48547 source/Lib/TLibCommon/TComRom.h:
48548 intrapred: use alignment piAdibuf
48549 --- source/Lib/TLibCommon/TComPattern.cpp | 18 +++++++++---------
48550 source/Lib/TLibCommon/TComPrediction.cpp | 4 ++--
48551 source/Lib/TLibCommon/TComRom.h | 1 + 3 files changed, 12
48552 insertions(+), 11 deletions(-)
48553 [48895f57159b]
48554
48555 * source/Lib/TLibCommon/TComPattern.cpp:
48556 intrapred: perform by merge loop
48557 --- source/Lib/TLibCommon/TComPattern.cpp | 10 ++-------- 1 files
48558 changed, 2 insertions(+), 8 deletions(-)
48559 [51b0fb4398be]
48560
48561 * source/Lib/TLibCommon/TComPattern.cpp:
48562 intrapred: perform pixel copy with memcpy() in
48563 TComPattern::fillReferenceSamples
48564 --- source/Lib/TLibCommon/TComPattern.cpp | 23
48565 ++++------------------- 1 files changed, 4 insertions(+), 19
48566 deletions(-)
48567 [bab59102ce8e]
48568
48569 * source/Lib/TLibCommon/TComPattern.cpp,
48570 source/Lib/TLibCommon/TComPattern.h:
48571 intrapred: remove unsupported mode code for Chroma_FromLuma
48572 --- source/Lib/TLibCommon/TComPattern.cpp | 15 +++------------
48573 source/Lib/TLibCommon/TComPattern.h | 3 +-- 2 files changed, 4
48574 insertions(+), 14 deletions(-)
48575 [da7059cdee2c]
48576
48577 * source/Lib/TLibCommon/TComPattern.cpp:
48578 intrapred: perform pixel copy with memcpy() in
48579 TComPattern::initAdiPattern
48580 --- source/Lib/TLibCommon/TComPattern.cpp | 11 +++-------- 1 files
48581 changed, 3 insertions(+), 8 deletions(-)
48582 [d249be0a4674]
48583
48584 * source/Lib/TLibCommon/TComPrediction.cpp,
48585 source/Lib/TLibCommon/TComPrediction.h,
48586 source/Lib/TLibEncoder/TEncSearch.cpp:
48587 intrapred: correct buffer name from YuvExt to PredBuf
48588 --- source/Lib/TLibCommon/TComPrediction.cpp | 14 +++++++-------
48589 source/Lib/TLibCommon/TComPrediction.h | 12 ++++++------
48590 source/Lib/TLibEncoder/TEncSearch.cpp | 14 +++++++------- 3 files
48591 changed, 20 insertions(+), 20 deletions(-)
48592 [3faafbf81d93]
48593
48594 * source/Lib/TLibCommon/TComRom.h:
48595 reduce MAX_CU_SIZE to 64
48596 --- source/Lib/TLibCommon/TComRom.h | 2 +- 1 files changed, 1
48597 insertions(+), 1 deletions(-)
48598 [800d16ed3620]
48599
486002013-05-05 Steve Borho <steve@borho.org>
48601
48602 * source/Lib/TLibEncoder/TEncSearch.cpp,
48603 source/Lib/TLibEncoder/TEncSearch.h:
48604 TEncSearch: SAD primitives all expect 16byte aligned fenc buffer
48605 [7f90a9927f4a]
48606
48607 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48608 source/encoder/vec/pixel8.inc:
48609 pixel: finish optimizations - performance summary below
48610
48611 Measured on AMD Trinity A10M (more tuning can be done)
48612
48613 16b orig 16b opt 8b orig 8b opt sad[ 4x4] 3.79x 3.51x 2.53x 3.34x
48614 sad_x3[ 4x4] 2.02x 4.17x 4.17x 5.99x sad_x4[ 4x4] 3.63x 4.35x 3.64x
48615 5.95x sad[ 4x8] 3.76x 3.90x 4.21x 3.47x sad_x3[ 4x8] 3.64x 4.33x
48616 5.67x 7.58x sad_x4[ 4x8] 2.56x 4.74x 6.39x 8.21x sad[ 4x12] 4.25x
48617 3.94x 3.11x 4.74x sad_x3[ 4x12] 4.67x 4.98x 4.93x 8.96x sad_x4[
48618 4x12] 2.82x 5.31x 6.71x 9.39x sad[ 4x16] 4.42x 3.96x 3.41x 3.60x
48619 sad_x3[ 4x16] 4.65x 5.09x 6.98x 8.60x sad_x4[ 4x16] 3.17x 5.35x
48620 7.81x 8.41x sad[ 4x24] 5.08x 4.07x 3.69x 4.19x sad_x3[ 4x24] 5.53x
48621 5.83x 7.70x 8.82x sad_x4[ 4x24] 3.52x 5.73x 8.32x 9.37x sad[ 4x32]
48622 5.59x 3.94x 3.99x 4.00x sad_x3[ 4x32] 5.83x 5.27x 7.39x 9.31x
48623 sad_x4[ 4x32] 3.46x 5.41x 7.94x 9.42x sad[ 4x64] 5.40x 3.68x 3.60x
48624 4.36x sad_x3[ 4x64] 5.89x 5.95x 8.27x 8.82x sad_x4[ 4x64] 3.56x
48625 6.37x 9.17x 9.50x sad[ 8x4] 6.10x 5.74x 5.87x 5.84x sad_x3[ 8x4]
48626 6.39x 8.13x 9.75x 11.53x sad_x4[ 8x4] 3.26x 8.52x 9.19x 10.51x sad[
48627 8x8] 6.05x 6.33x 8.87x 8.01x sad_x3[ 8x8] 6.32x 9.18x 11.84x 13.61x
48628 sad_x4[ 8x8] 4.14x 10.67x 12.58x 14.97x sad[ 8x12] 8.03x 6.79x
48629 10.30x 6.91x sad_x3[ 8x12] 8.84x 10.46x 12.15x 17.12x sad_x4[ 8x12]
48630 5.28x 11.92x 12.83x 16.98x sad[ 8x16] 8.23x 6.79x 7.63x 9.17x
48631 sad_x3[ 8x16] 9.26x 11.33x 13.88x 17.11x sad_x4[ 8x16] 5.49x 12.22x
48632 14.27x 17.19x sad[ 8x24] 10.02x 6.93x 8.16x 9.32x sad_x3[ 8x24]
48633 11.32x 11.86x 15.38x 17.91x sad_x4[ 8x24] 6.48x 13.29x 15.28x 17.95x
48634 sad[ 8x32] 10.96x 6.94x 8.03x 7.51x sad_x3[ 8x32] 12.70x 10.95x
48635 14.03x 17.67x sad_x4[ 8x32] 6.87x 13.09x 15.16x 17.80x sad[ 8x64]
48636 10.61x 6.76x 8.18x 8.75x sad_x3[ 8x64] 12.35x 12.67x 16.05x 17.61x
48637 sad_x4[ 8x64] 6.70x 14.02x 17.93x 17.90x sad[ 12x4] 12.01x 8.40x
48638 4.32x 11.48x sad_x3[ 12x4] 14.04x 7.17x 9.33x 12.21x sad_x4[ 12x4]
48639 4.42x 7.61x 9.60x 12.85x sad[ 12x8] 5.78x 10.04x 3.35x 14.10x
48640 sad_x3[ 12x8] 5.31x 8.08x 10.47x 15.54x sad_x4[ 12x8] 4.34x 9.55x
48641 11.67x 16.22x sad[12x12] 6.83x 10.16x 2.92x 15.61x sad_x3[12x12]
48642 6.52x 9.10x 9.02x 18.85x sad_x4[12x12] 3.65x 9.97x 11.17x 18.88x
48643 sad[12x16] 6.68x 10.00x 3.90x 14.68x sad_x3[12x16] 6.04x 9.09x
48644 12.11x 18.01x sad_x4[12x16] 4.12x 10.20x 10.40x 16.77x sad[12x24]
48645 7.30x 10.50x 3.72x 17.46x sad_x3[12x24] 6.50x 9.48x 11.51x 18.17x
48646 sad_x4[12x24] 4.42x 10.80x 12.50x 19.86x sad[12x32] 7.26x 10.35x
48647 3.60x 15.86x sad_x3[12x32] 7.37x 9.28x 10.14x 19.57x sad_x4[12x32]
48648 4.50x 10.46x 11.64x 19.26x sad[12x64] 7.39x 10.43x 3.68x 16.47x
48649 sad_x3[12x64] 6.97x 9.85x 11.97x 19.00x sad_x4[12x64] 4.74x 10.70x
48650 13.86x 19.14x sad[ 16x4] 6.70x 11.02x 16.55x 15.20x sad_x3[ 16x4]
48651 2.94x 10.38x 14.13x 20.10x sad_x4[ 16x4] 9.72x 10.35x 13.35x 18.95x
48652 sad[ 16x8] 8.44x 13.62x 23.35x 22.69x sad_x3[ 16x8] 8.36x 11.16x
48653 17.99x 25.49x sad_x4[ 16x8] 12.18x 13.23x 18.34x 23.65x sad[16x12]
48654 10.72x 13.74x 25.86x 19.47x sad_x3[16x12] 11.61x 13.38x 19.21x
48655 31.36x sad_x4[16x12] 13.33x 13.83x 19.15x 31.15x sad[16x16] 9.02x
48656 13.12x 20.34x 24.25x sad_x3[16x16] 10.56x 13.96x 22.97x 31.96x
48657 sad_x4[16x16] 14.20x 14.20x 23.01x 28.75x sad[16x24] 11.53x 13.88x
48658 25.07x 21.63x sad_x3[16x24] 12.69x 14.23x 25.64x 32.38x
48659 sad_x4[16x24] 12.16x 15.11x 21.14x 34.09x sad[16x32] 13.78x 12.36x
48660 24.08x 20.00x sad_x3[16x32] 11.73x 13.73x 25.03x 33.07x
48661 sad_x4[16x32] 12.30x 14.24x 17.85x 33.74x sad[16x64] 12.01x 14.42x
48662 29.62x 20.27x sad_x3[16x64] 9.17x 15.85x 28.93x 26.92x sad_x4[16x64]
48663 10.81x 13.19x 13.30x 27.21x sad[ 24x4] 11.59x 17.13x sad_x3[ 24x4]
48664 10.48x 13.78x sad_x4[ 24x4] 11.10x 11.48x sad[ 24x8] 12.13x 18.30x
48665 sad_x3[ 24x8] 10.54x 21.45x sad_x4[ 24x8] 10.38x 20.92x sad[24x12]
48666 13.24x 19.48x sad_x3[24x12] 11.65x 24.07x sad_x4[24x12] 10.70x
48667 23.24x sad[24x16] 14.78x 16.64x sad_x3[24x16] 12.28x 24.14x
48668 sad_x4[24x16] 11.00x 23.40x sad[24x24] 13.03x 18.30x sad_x3[24x24]
48669 11.58x 25.63x sad_x4[24x24] 11.58x 24.97x sad[24x32] 13.31x 20.60x
48670 sad_x3[24x32] 11.98x 24.82x sad_x4[24x32] 11.75x 24.23x sad[24x64]
48671 14.44x 19.69x sad_x3[24x64] 11.99x 24.59x sad_x4[24x64] 10.38x
48672 24.77x sad[ 32x4] 14.00x 13.52x 16.56x 22.89x sad_x3[ 32x4] 11.05x
48673 10.79x 19.78x 27.12x sad_x4[ 32x4] 10.05x 9.93x 13.85x 24.46x sad[
48674 32x8] 8.41x 14.32x 27.08x 25.34x sad_x3[ 32x8] 12.81x 11.18x 27.39x
48675 29.64x sad_x4[ 32x8] 10.39x 9.57x 13.85x 29.09x sad[32x12] 10.30x
48676 16.07x 26.75x 27.38x sad_x3[32x12] 14.42x 11.35x 23.73x 33.19x
48677 sad_x4[32x12] 10.77x 10.22x 16.79x 33.34x sad[32x16] 9.98x 15.20x
48678 29.70x 27.72x sad_x3[32x16] 10.34x 11.84x 27.65x 32.54x
48679 sad_x4[32x16] 10.91x 11.07x 12.62x 33.63x sad[32x24] 10.65x 15.88x
48680 32.63x 28.39x sad_x3[32x24] 11.09x 11.14x 29.62x 33.79x
48681 sad_x4[32x24] 11.21x 11.18x 13.53x 34.14x sad[32x32] 11.62x 14.51x
48682 32.15x 24.65x sad_x3[32x32] 14.23x 11.83x 29.88x 30.06x
48683 sad_x4[32x32] 11.63x 11.44x 15.78x 33.15x sad[32x64] 11.39x 15.72x
48684 35.13x 28.99x sad_x3[32x64] 10.43x 10.39x 28.87x 36.20x
48685 sad_x4[32x64] 10.73x 9.71x 14.08x 36.61x sad[ 64x4] 9.92x 12.61x
48686 24.17x 25.65x sad_x3[ 64x4] 10.89x 9.16x 20.94x 27.04x sad_x4[ 64x4]
48687 7.64x 9.67x 11.56x 24.33x sad[ 64x8] 8.64x 13.43x 25.54x 26.88x
48688 sad_x3[ 64x8] 11.55x 9.80x 22.40x 23.04x sad_x4[ 64x8] 8.34x 10.10x
48689 12.34x 18.87x sad[64x12] 9.41x 14.17x 27.20x 28.67x sad_x3[64x12]
48690 12.39x 9.30x 23.76x 26.13x sad_x4[64x12] 7.88x 9.21x 14.02x 22.10x
48691 sad[64x16] 8.66x 14.51x 28.84x 30.87x sad_x3[64x16] 8.98x 9.60x
48692 24.42x 27.69x sad_x4[64x16] 8.27x 9.67x 29.10x 24.21x sad[64x24]
48693 9.16x 13.90x 24.11x 27.05x sad_x3[64x24] 8.56x 9.75x 16.25x 28.11x
48694 sad_x4[64x24] 9.61x 9.99x 30.53x 24.77x sad[64x32] 10.06x 14.10x
48695 25.67x 28.96x sad_x3[64x32] 8.46x 9.97x 13.58x 29.50x sad_x4[64x32]
48696 10.15x 10.14x 31.67x 25.41x sad[64x64] 10.06x 14.75x 25.82x 32.25x
48697 sad_x3[64x64] 8.04x 8.93x 31.06x 30.90x sad_x4[64x64] 9.36x 9.88x
48698 26.55x 26.53x
48699 [82239d0023c8]
48700
48701 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48702 source/encoder/vec/pixel8.inc:
48703 pixel: optimize sad_4 and sad_8 to not need helpers
48704 [3ad29dc2d608]
48705
48706 * source/encoder/vec/pixel8.inc:
48707 pixel8: more cleanups, no behavior changes
48708 [9ebffae04e6f]
48709
48710 * source/encoder/vec/pixel8.inc:
48711 pixel8: intermediate variable rename, to be consistent with pixel16
48712 [6f3ac7d4cfbd]
48713
48714 * source/encoder/vec/pixel8.inc:
48715 pixel8: 8bpp sad_64_x4 and sad_64_x3 cannot have residual rows
48716 [6fe1fd06c373]
48717
48718 * source/encoder/vec/pixel16.inc:
48719 pixel16: optimize 16bpp sad_N_x3 (adapted copies of sad_N_x4)
48720 [9b3489a15596]
48721
48722 * source/encoder/vec/pixel16.inc:
48723 pixel16: optimize sad_N_x4 16bpp
48724 [fde81cd177e9]
48725
48726 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel8.inc:
48727 pixel8: optimize sad_N_x4 8bpp, add sad_24_x4
48728 [2b22cc59fa15]
48729
48730 * source/encoder/vec/pixel8.inc:
48731 pixel8: optimize 8bpp sad_12_x4
48732 [379a62ef320b]
48733
48734 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48735 source/encoder/vec/pixel8.inc:
48736 pixel: add sad_24 for 8bpp and 24bpp
48737 [8851cd024b0f]
48738
48739 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc:
48740 pixel16: add sad_24_x3
48741 [e2002f58b3a8]
48742
48743 * source/encoder/vec/pixel16.inc:
48744 pixel16: fix some unaligned access exceptions triggered by VC10
48745 16bpp x64
48746 [3d667e4c590c]
48747
48748 * source/encoder/vec/pixel16.inc:
48749 pixel16: fixups for 16bpp primitives
48750 [e88afd27d35a]
48751
48752 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48753 source/encoder/vec/pixel8.inc:
48754 pixel: optimize sad_8_x4 - now same X over C as sad_8_x3
48755 [c17efc4e7f4a]
48756
48757 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48758 source/encoder/vec/pixel8.inc:
48759 pixel: optimize sad_4_x4, remove unnecessary sad_X_4_x4 functions
48760 [06554d1dedba]
48761
48762 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48763 source/encoder/vec/pixel8.inc:
48764 pixel: remove more useless lx parameters and for-loops for x3
48765 functions
48766 [72a35f3f6e2e]
48767
48768 * source/encoder/vec/pixel8.inc:
48769 pixel: optimize sad_64_x3 - about 20% improvement
48770 [46c082e89598]
48771
48772 * source/encoder/vec/pixel8.inc:
48773 pixel: optimize sad_32_x3 - about 20% improvement, remove unused
48774 sad_32_4
48775 [12351a667289]
48776
48777 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48778 source/encoder/vec/pixel8.inc:
48779 pixel: optimize sad_16_x3 - about 30% improvement, remove sad_16_4
48780 [ca2192011209]
48781
487822013-05-04 Steve Borho <steve@borho.org>
48783
48784 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48785 source/encoder/vec/pixel8.inc:
48786 pixel: optimize sad_12_x3 - about 2x improvement, remove sad_12_4
48787 [fed8c8152de7]
48788
48789 * source/encoder/vec/pixel8.inc:
48790 pixel8: slight tuneup for sad_8_3x
48791 [056c029b7762]
48792
48793 * source/encoder/vec/pixel8.inc:
48794 pixel8: allow 16 rows in a row of 4-wide 8bpp blocks - up to 30%
48795 faster
48796 [d906f4351c02]
48797
48798 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48799 source/encoder/vec/pixel8.inc:
48800 pixel: sad_8_x3<4> is faster than sad_8_4_x3<8,4> which seems to
48801 have no use
48802 [e834992087df]
48803
488042013-05-05 ShinYee Chung <shinyee@multicorewareinc.com>
48805
48806 * source/encoder/vec/CMakeLists.txt:
48807 cmake: Specify the compilation of architecture SSE2 explicitly.
48808
48809 The VS2010 crashes when executing one of the sad variants. The
48810 instruction vmovdqa() was found generated, crashing cpuid == 4 CPU.
48811 [9cf98cfecaa7]
48812
488132013-05-04 Steve Borho <steve@borho.org>
48814
48815 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48816 source/encoder/vec/pixel8.inc:
48817 pixel: sad_4_x3 should not have lx template var; it was broken for
48818 8bpp
48819
48820 Removes sad_4_4_x3 since it added no optimization
48821 [a89f7e937705]
48822
48823 * source/encoder/vec/pixel.inc:
48824 pixel: enable SAD PARTITION_16x24 now that it is supported for 8bpp
48825 [bc25ce99514e]
48826
48827 * source/encoder/vec/pixel8.inc:
48828 pixel8: use Vec8us to accumulate sums with addSumAbsDiff()
48829
48830 From 30 to 100% speedups for 8bpp SAD functions
48831 [a194cda3c978]
48832
48833 * source/VectorClass/vectori128.h:
48834 vector: add Vec8us::addSumAbsDiff()
48835
48836 This avoids data casts and removes a couple of instructions from
48837 some tight paths.
48838 [f167c85b6707]
48839
48840 * source/encoder/vec/CMakeLists.txt:
48841 cmake: add a comment about inc files listed in PrimitivesVec project
48842 [bc8c389159c5]
48843
48844 * source/CMakeLists.txt:
48845 cmake: remove option for multithreaded build, enable unconditionally
48846 [013198c3eb01]
48847
488482013-05-05 ShinYee Chung <shinyee@multicorewareinc.com>
48849
48850 * source/encoder/vec/interpolationfilter.inc:
48851 Interpolation: Fix compile warning/error on unused parameter.
48852 [e160901853b5]
48853
48854 * source/encoder/vec/vecprimitives.inc:
48855 primitives: Fix compile error on re-declaration of selectf() and
48856 selectd().
48857
48858 It is probably due to cycle in the header includes.
48859 [3736fe22253e]
48860
488612013-05-04 Min Chen <chenm003@163.com>
48862
48863 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
48864 intrapred: more improvement 8bpp DC for 32 and 64 blocks
48865 --- source/VectorClass/vectori128.h | 45
48866 ++++++++++++++++++++++++++++++++++++++
48867 source/encoder/vec/intrapred.inc | 38
48868 +++++++++++++------------------ 2 files changed, 61 insertions(+),
48869 22 deletions(-)
48870 [c8fe324edc4d]
48871
48872 * source/encoder/threadpool.cpp:
48873 threadpool: VS2008 not defined _WIN32_WINNT_VISTA
48874 --- source/encoder/threadpool.cpp | 2 +- 1 files changed, 1
48875 insertions(+), 1 deletions(-)
48876 [d5d163ce5222]
48877
488782013-05-04 Steve Borho <steve@borho.org>
48879
48880 * source/encoder/vec/intrapred.inc:
48881 intrapred: remove includes and namespace from inc header
48882
48883 includes must be in vecprimitives.inc, outside of the anonoymous
48884 namespace
48885 [ed8b00af0055]
48886
48887 * source/encoder/vec/CMakeLists.txt:
48888 cmake: add intrapred.inc to the PrimitivesVec project
48889
48890 So it's easy to find
48891 [40ccd41545cb]
48892
48893 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
48894 vectori128: add fromUint64() method, only available for x64 builds
48895
48896 Needs a better fallback and cross-platform x64 compilation detection
48897 [2daae31d6ab5]
48898
48899 * source/encoder/vec/intrapred.inc:
48900 intrapred: simplify 8bpp DC for 32 and 64 blocks, now faster than C
48901 [78aeea32fd92]
48902
48903 * source/encoder/vec/intrapred.inc:
48904 intrapred: add an 8bpp path for DC pred (currently slower than C at
48905 64x64)
48906
48907 This primitive might have to use aligned loads to be faster than C..
48908 or have a function pointer per intra-block width to avoid the switch
48909 statement.
48910 [4f1b0d47e596]
48911
489122013-05-03 Steve Borho <steve@borho.org>
48913
48914 * source/encoder/vec/intrapred.inc:
48915 intrapred: use g_aucConvertToBit for bit size
48916 [b2b21d6fe1fc]
48917
48918 * source/test/intrapredharness.cpp:
48919 intrapredharness: ensure top pixels always avail for perf test
48920 [3bb5cca8fb52]
48921
48922 * source/encoder/vec/intrapred.inc:
48923 intrapred: perform horizontal sum at increased depth
48924
48925 Test now passes with 10bit pixels
48926 [5a3d377654c2]
48927
48928 * source/test/intrapredharness.cpp:
48929 intrapredharness: pre-calculate all random pixels, ensure top pixels
48930 always avail
48931 [55dc29e361fa]
48932
48933 * source/test/intrapredharness.cpp:
48934 intrapredharness: this primitive requires initROM() to be called
48935 [793b2e36e7e8]
48936
48937 * source/test/CMakeLists.txt:
48938 testbench: 8bpp link now requires HM, just for a global array
48939 [d883646084ac]
48940
48941 * source/encoder/vec/intrapred.inc:
48942 intrapred: disable 4100 warnings until 8bpp is supported
48943 [3db61f610fc5]
48944
48945 * source/encoder/threadpool.cpp:
48946 threadpool: further compilation fixes for other platforms
48947 [5c2c51892268]
48948
48949 * source/test/intrapredharness.cpp:
48950 intrapredharness: fix shadowed loop variable
48951 [c9341cd75fca]
48952
48953 * source/test/CMakeLists.txt:
48954 cmake: add new intrapred harness to testbench build
48955 [fee22e63bf0a]
48956
489572013-05-04 Min Chen <chenm003@163.com>
48958
48959 * source/test/intrapredharness.cpp, source/test/intrapredharness.h,
48960 source/test/testbench.cpp:
48961 intrapred: testbench
48962
48963 From 990ec815902203bfb954921bac75e1913719e630 Mon Sep 17 00:00:00
48964 2001
48965 --- source/test/testbench.cpp | 5 +- source/test/intrapredharness.cpp
48966 | 122 ++++++++++++++++++++++++++++++++++++++
48967 source/test/intrapredharness.h | 53 ++++++++++++++++ 3 files
48968 changed, 179 insertions(+), 1 deletions(-) create mode 100644
48969 source/test/intrapredharness.cpp create mode 100644
48970 source/test/intrapredharness.h
48971 [50d74bce7e74]
48972
489732013-05-03 Steve Borho <steve@borho.org>
48974
48975 * source/encoder/vec/intrapred.inc:
48976 intrapred: fix one obvious bug, disable DC vec prim for 8bpp until
48977 debugged
48978 [1276967fdbcc]
48979
48980 * source/encoder/IntraPred.cpp:
48981 IntraPred: yes, pixel is an alias for Pel and vice-versa
48982 [4ee48f5e5c8d]
48983
48984 * source/encoder/CMakeLists.txt:
48985 cmake: add IntraPred.cpp to CPRIMITIVES file list
48986 [6da50ba09221]
48987
489882013-05-03 Min Chen <chenm003@163.com>
48989
48990 * source/Lib/TLibCommon/TComPrediction.cpp,
48991 source/VectorClass/vectori128.h, source/encoder/IntraPred.cpp,
48992 source/encoder/primitives.cpp, source/encoder/primitives.h,
48993 source/encoder/vec/intrapred.inc,
48994 source/encoder/vec/vecprimitives.inc:
48995 intrapred: vector code
48996 --- source/Lib/TLibCommon/TComPrediction.cpp | 8 ++-
48997 source/VectorClass/vectori128.h | 9 ++ source/encoder/IntraPred.cpp
48998 | 83 ++++++++++++++++ source/encoder/primitives.cpp | 2 +
48999 source/encoder/primitives.h | 3 + source/encoder/vec/intrapred.inc |
49000 156 ++++++++++++++++++++++++++++++
49001 source/encoder/vec/vecprimitives.inc | 3 + 7 files changed, 263
49002 insertions(+), 1 deletions(-) create mode 100644
49003 source/encoder/IntraPred.cpp create mode 100644
49004 source/encoder/vec/intrapred.inc
49005 [8ba7ba4f1b69]
49006
49007 * source/Lib/TLibCommon/TComPattern.cpp,
49008 source/Lib/TLibCommon/TComPattern.h,
49009 source/Lib/TLibCommon/TComPrediction.cpp,
49010 source/Lib/TLibCommon/TComPrediction.h,
49011 source/Lib/TLibEncoder/TEncSearch.cpp:
49012 replace piAdiBuf type from Int to Pel
49013 --- source/Lib/TLibCommon/TComPattern.cpp | 28
49014 ++++++++++++++-------------- source/Lib/TLibCommon/TComPattern.h |
49015 14 +++++++------- source/Lib/TLibCommon/TComPrediction.cpp | 22
49016 +++++++++++----------- source/Lib/TLibCommon/TComPrediction.h | 6
49017 +++--- source/Lib/TLibEncoder/TEncSearch.cpp | 6 +++--- 5 files
49018 changed, 38 insertions(+), 38 deletions(-)
49019 [a787dfc1a781]
49020
49021 * source/Lib/TLibCommon/TComPrediction.cpp:
49022 Intra dc prediction own function Conflicts:
49023
49024 source/Lib/TLibCommon/TComPrediction.cpp
49025 --- source/Lib/TLibCommon/TComPrediction.cpp | 61
49026 +++++++++++++++++------------- 1 files changed, 35 insertions(+), 26
49027 deletions(-)
49028 [2a4abd157919]
49029
49030 * source/Lib/TLibCommon/TComPrediction.cpp,
49031 source/Lib/TLibCommon/TComPrediction.h:
49032 extract Intra prediction functions from class to normal
49033 --- source/Lib/TLibCommon/TComPrediction.cpp | 10 ++++++----
49034 source/Lib/TLibCommon/TComPrediction.h | 5 ----- 2 files changed, 6
49035 insertions(+), 9 deletions(-)
49036 [b947edf8099b]
49037
49038 * source/Lib/TLibCommon/TComPrediction.cpp:
49039 OPT predIntraLumaAng: merge function call
49040 --- source/Lib/TLibCommon/TComPrediction.cpp | 16 +++++----------- 1
49041 files changed, 5 insertions(+), 11 deletions(-)
49042 [39e2bb372e4c]
49043
490442013-05-03 Steve Borho <steve@borho.org>
49045
49046 * source/test/pixelharness.cpp:
49047 pixelharness: cut down on iterations for measuring x3 and x4 perf
49048 [ba8113125178]
49049
49050 * source/encoder/threadpool.cpp:
49051 threadpool: fixup commit for GCC and later Windows versions
49052 [c8479b70bcdb]
49053
490542013-05-03 Min Chen <chenm003@163.com>
49055
49056 * source/encoder/threadpool.cpp:
49057 Fix WinXP compatible
49058 --- source/encoder/threadpool.cpp | 23 +++++++++++++++++++++-- 1
49059 files changed, 21 insertions(+), 2 deletions(-)
49060 [069ddee0aceb]
49061
490622013-05-03 Steve Borho <steve@borho.org>
49063
49064 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
49065 source/test/testbench.cpp:
49066 motion: make new motion search disappear without ENABLE_PRIMITIVES
49067 [96457db97f8e]
49068
49069 * source/Lib/TLibEncoder/TEncSearch.cpp:
49070 TEncSearch: don't use neighbor MVs as search candidates, merge will
49071 check them
49072
49073 I'm leaving the search candidate arguments in place, later we might
49074 get some search candidates that are not also merge candidates
49075 (lookahead, for one)
49076 [078a4dfddbcd]
49077
490782013-05-02 Steve Borho <steve@borho.org>
49079
49080 * source/Lib/TLibEncoder/TEncSearch.cpp:
49081 TEncSearch: found some predictor MVs
49082 [3e656c4c7905]
49083
49084 * source/Lib/TLibEncoder/TEncSearch.cpp,
49085 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.cpp,
49086 source/encoder/motion.h, source/encoder/mv.h:
49087 motion: partial integration into TEncSearch for debugging purposes
49088
49089 Adds a small amount of overhead
49090 [0842edc65dea]
49091
49092 * source/encoder/vec/pixel.inc:
49093 pixel: disable satd function completely for 8bpp
49094 [b49e50e70bb2]
49095
49096 * source/Lib/TLibCommon/TComPicYuv.cpp:
49097 TComPicYuv: add TODOs where new performance primitives can be added
49098 [ba309a167e38]
49099
49100 * source/Lib/TLibCommon/TComPicYuv.cpp:
49101 TComPicYuv: white-space nits, no effect
49102 [387f505139c6]
49103
49104 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
49105 TComPic: remove unused m_bNeededForOutput
49106 [0279f22166ba]
49107
49108 * source/encoder/motion.cpp:
49109 motion: use block copy primitive
49110 [a116b67a5a01]
49111
49112 * source/CMakeLists.txt:
49113 cmake: the big switch. Make 8bpp the default build configuration
49114 [6c9154cdab6f]
49115
49116 * source/encoder/bitcost.cpp:
49117 bitcost: and another cast
49118 [af04f537b82e]
49119
49120 * source/encoder/bitcost.cpp:
49121 bitcost: add back explicit typecasts
49122 [80b6aba5b4e4]
49123
491242013-05-03 ShinYee Chung <shinyee@multicorewareinc.com>
49125
49126 * source/encoder/bitcost.cpp:
49127 bitcost: Use portable std::min() instead of implicit min().
49128 [49605906cd31]
49129
491302013-05-02 Steve Borho <steve@borho.org>
49131
49132 * source/encoder/bitcost.cpp:
49133 bitcost: document more differences between the HM and x264
49134 approaches
49135 [dc6634bdf401]
49136
49137 * source/encoder/bitcost.cpp:
49138 bitcost: use integer min() for MSVC compatibility
49139 [abe3030915d6]
49140
491412013-05-03 ShinYee Chung <shinyee@multicorewareinc.com>
49142
49143 * source/encoder/bitcost.cpp:
49144 bitcost: Fix segfault due to out of bound accesses to logs table.
49145 [7b18a1bab2fa]
49146
49147 * source/input/y4m.cpp:
49148 y4m: Fix -ve PSNR when encoding a y4m file.
49149
49150 Sample output:
49151
49152 POC 0 TId: 0 ( I-SLICE, nQP 32 QP 32 ) 23444072 bits [Y -40.5587 dB
49153 U -40.8645 dB V -40.8654 dB] [ET 21 ] [L0 ] [L1 ]
49154 [13cd19348761]
49155
491562013-05-02 ShinYee Chung <shinyee@multicorewareinc.com>
49157
49158 * source/encoder/motion.cpp:
49159 motion: Fix a compile error due to undeclared memcpy().
49160 [85d91dfdccc6]
49161
49162 * source/encoder/motion.cpp, source/encoder/motion.h:
49163 motion: Fix compile warnings/errors due to shadowed variables.
49164 [9e6d97767358]
49165
49166 * source/CMakeLists.txt, source/encoder/bitcost.cpp:
49167 bitcost: Fix undeclared min().
49168
49169 The math.h header defines fmin(), and algorithm header defines
49170 std::min(). We decided to use fmin().
49171 [ebfbc677b238]
49172
491732013-05-02 nandaku2 <deepthi@multicorewareinc.com>
49174
49175 * Merged in deepthidevaki/xhevc_deepthid (pull request #111)
49176
49177 Fix compile issue in TComPrediction.cpp with disable primitives.
49178 [4ec6cd5d2732]
49179
491802013-05-02 Deepthi Devaki <Deepthi Devaki>
49181
49182 * source/Lib/TLibCommon/TComPrediction.cpp:
49183 Fix compile issue in TComPrediction.cpp with disable primitives.
49184 [a4f56554606d]
49185
491862013-05-02 Mandar Gurav <Mandar Gurav>
49187
49188 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
49189 source/encoder/vec/pixel8.inc:
49190 Implementation of sad_x4 stage 2 and sad_x3
49191 [c8d6caa73c42]
49192
491932013-05-02 Mandar Gurav <mandar@multicorewareinc.com>
49194
49195 * Merged multicoreware/xhevc into default
49196 [700a3436aa9f]
49197
49198 * source/encoder/InterpolationFilter.cpp:
49199 Merged multicoreware/xhevc into default
49200 [1ded90aad015]
49201
492022013-05-02 Mandar Gurav <Mandar Gurav>
49203
49204 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel8.inc:
49205 Implementation for sad_x4 - 8,16,32,64 with HIGH_BT_WIDTH disabled.
49206 [3dd9ebabfdcb]
49207
492082013-05-02 Deepthi <Deepthi>
49209
49210 * source/encoder/primitives.cpp:
49211 Compilation fix for primitives disabled
49212 [4f863ec8e9d8]
49213
492142013-05-02 Deepthi Devaki <Deepthi Devaki>
49215
49216 * source/encoder/CMakeLists.txt:
49217 Merge
49218 [0ad59133e0b6]
49219
49220 * source/Lib/TLibCommon/TComPrediction.cpp,
49221 source/encoder/CMakeLists.txt,
49222 source/encoder/InterpolationFilter.cpp,
49223 source/encoder/InterpolationFilter.h:
49224 cleaning up TComPrediction.cpp with new filters
49225 [7827c5d4f308]
49226
49227 * source/encoder/CMakeLists.txt,
49228 source/encoder/InterpolationFilter.cpp, source/encoder/ipfilter.cpp:
49229 Rename .cpp file with filter-primitives
49230 [bd3f6bf45ab7]
49231
49232 * source/encoder/InterpolationFilter.cpp,
49233 source/encoder/interpolationfilter.cpp:
49234 Backed out changeset: 2e29f87a6088
49235 [2efde965e0ee]
49236
49237 * source/encoder/CMakeLists.txt:
49238 Backed out changeset: dd6580ef216e
49239 [6df4928a88a8]
49240
49241 * source/encoder/CMakeLists.txt:
49242 Renaming interpolationfilter.cpp in CMakeList
49243 [dd6580ef216e]
49244
49245 * source/encoder/InterpolationFilter.cpp,
49246 source/encoder/interpolationfilter.cpp:
49247 Rename .cpp file containing filter-primitives
49248 [2e29f87a6088]
49249
492502013-05-02 Steve Borho <steve@borho.org>
49251
49252 * source/encoder/CMakeLists.txt, source/encoder/motion.cpp,
49253 source/encoder/motion.h:
49254 motion: motion search now compiles, added to build but unused
49255 [56dfb55dad17]
49256
49257 * Merged in praveentiwari/xhevc_praveent (pull request #108)
49258
49259 2.20x more performance gain for partialButterflyInverse16
49260 [7b4811d9db39]
49261
492622013-05-02 praveentiwari <praveentiwari>
49263
49264 * source/encoder/vec/macroblock.inc:
49265 2.20x more performance gain for partialButterflyInverse16
49266 [eba40e7f48dc]
49267
492682013-05-02 Mandar Gurav <Mandar Gurav>
49269
49270 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49271 source/encoder/vec/interpolationfilter.inc,
49272 source/encoder/vec/pixel16.inc, source/test/pixelharness.cpp:
49273 Implementation of sad_x3 and sad_x4 with reference frame stride.
49274 [249bdb052e0a]
49275
492762013-05-02 Steve Borho <steve@borho.org>
49277
49278 * source/encoder/motion.cpp, source/encoder/motion.h:
49279 motion: compilation fixes - file still not part of build
49280 [3dd5ac35ea76]
49281
492822013-05-01 Steve Borho <steve@borho.org>
49283
49284 * source/encoder/vec/pixel8.inc:
49285 pixel8: remove unused satd_4x4 and sa8d_8x8
49286 [d8bc48ebe95c]
49287
492882013-05-02 Mandar Gurav <Mandar Gurav>
49289
49290 * source/encoder/vec/CMakeLists.txt,
49291 source/encoder/vec/interpolationfilter.inc,
49292 source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
49293 source/encoder/vec/pixel8.inc, source/encoder/vec/vecprimitives.inc:
49294 Restructure pixel.inc
49295 [78d93b165924]
49296
492972013-05-01 Steve Borho <steve@borho.org>
49298
49299 * source/test/pixelharness.cpp:
49300 pixelharness: increase size of pixel buffers
49301 [d30a346a00d0]
49302
49303 * source/test/pixelharness.cpp:
49304 pixelharness: test random PU block sizes
49305 [a16589611ae6]
49306
49307 * source/encoder/vec/blockcopy.inc, source/test/pixelharness.cpp:
49308 blockcopy: couple of bug fixes, now all but p_s pass with 8bpp
49309 [26bcd02b0ffc]
49310
49311 * source/encoder/vec/blockcopy.inc, source/encoder/vec/pixel.inc:
49312 pixel: fix HIGH_BIT_DEPTH=0 build, temp fix
49313 [e3f72af44dff]
49314
49315 * source/encoder/vec/CMakeLists.txt, source/encoder/vec/blockcopy.inc,
49316 source/encoder/vec/vecprimitives.inc:
49317 primitives: add blockcopy.inc - only HIGH_BIT_DEPTH is accelerated
49318 [a2cb9e405fbe]
49319
49320 * source/encoder/pixel.cpp:
49321 pixel: fixes for block copy C ref
49322 [122dcad10a6f]
49323
49324 * source/test/pixelharness.cpp:
49325 pixelharness: add block copy perf tests
49326 [3842dc74d0e3]
49327
49328 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49329 source/test/pixelharness.cpp, source/test/pixelharness.h:
49330 primitive: add block copy primitives
49331 [7f115c88c899]
49332
49333 * source/test/pixelharness.cpp:
49334 pixelharness: nit white-space
49335 [de5953b7be6e]
49336
49337 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp:
49338 bitcost: store logs as fractional values *CHANGES OUTPUTS*
49339
49340 /me dumb. What was the point of storing the output of ceil() in a
49341 float?
49342
49343 This was a small but unambiguous win in compression efficiency
49344 [ca0cd4e5b78c]
49345
49346 * source/encoder/bitcost.cpp:
49347 bitcost: use just one copy of "acquire" logic
49348 [94d5a08f85bd]
49349
49350 * source/encoder/bitcost.h:
49351 bitcost: nit - reorder methods in order they are typically used
49352 [fd114658c2d0]
49353
49354 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
49355 bitcost: store cost estimates as 16bits, clamp to max16
49356
49357 It's somewhat pedantic to keep more bits than this, and wasteful of
49358 precious CPU cache. If someone in the future really wants >16bit mv
49359 costs, they can template this class and instantiate the size they
49360 want. This had no measurable effect on the outputs.
49361 [1522b5f696e4]
49362
49363 * source/encoder/bitcost.h:
49364 bitcost: reorder initializers to make GCC happy
49365 [75f7df4a2567]
49366
493672013-04-30 Steve Borho <steve@borho.org>
49368
49369 * source/encoder/primitives.h:
49370 primitives: avoid redecl of CDECL with GCC
49371 [e3e7d5fc0930]
49372
493732013-05-01 Steve Borho <steve@borho.org>
49374
49375 * source/encoder/primitives.h:
49376 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #105)
49377
49378 Implementation of sad_4_x3 and sad_12_x3. and sad_x4
49379 [6f85a46676d5]
49380
493812013-05-01 Mandar Gurav <Mandar Gurav>
49382
49383 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49384 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
49385 source/test/pixelharness.h:
49386 Implementation of sad_x4
49387 [b8dac1cab20f]
49388
49389 * source/encoder/vec/pixel.inc, source/test/pixelharness.cpp:
49390 Implementation of sad_4_x3 and sad_12_x3.
49391 [e1c2cc61fd99]
49392
493932013-05-01 Steve Borho <steve@borho.org>
49394
49395 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
49396 source/encoder/primitives.cpp, source/encoder/primitives.h:
49397 bitcost: use new bitcost class for mv cost estimates *CHANGES
49398 OUTPUTS*
49399
49400 Sample encode statistics comparing HM vs x265 mv cost estimates:
49401 (comparing HM vs our HM optimization, not the x264 approach)
49402
49403 kbps Y PSNR U PSNR V PSNR HM getCost(): 1381.8880 32.8096 41.0167
49404 43.3698 m_bc.mvcost(): 1383.2000 32.8171 41.0402 43.3580
49405
49406 (mostly noise, but it is different)
49407 [8fbf3bf1bce5]
49408
49409 * source/encoder/bitcost.cpp, source/encoder/bitcost.h,
49410 source/encoder/primitives.cpp:
49411 bitcost: rename cleanupCosts to destroy
49412 [e0e5b913b3ea]
49413
49414 * source/encoder/bitcost.cpp:
49415 bitcost: bring mv costs close in line with HM's methods
49416
49417 mvcost rounds earlier, so it results in even scores while the HM
49418 rounds at the end so it usually gets odd scores, but they are
49419 typically one digit apart. In a few places logs[] will vary from
49420 Motion_Costs by 1, causing the result to differ by 1 lambda.
49421 [af142516c4ff]
49422
494232013-05-01 Deepthi <Deepthi>
49424
49425 * Merge
49426 [55bb44dbbcab]
49427
49428 * source/x265enc.cpp:
49429 The very common sizeof bug.
49430 [961680a9f94e]
49431
494322013-05-01 Steve Borho <steve@borho.org>
49433
49434 * source/encoder/primitives.cpp:
49435 primitives: free Motion_Cost in x265_cleanup()
49436 [c424425a66f2]
49437
494382013-04-30 Steve Borho <steve@borho.org>
49439
49440 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
49441 bitcost: precalculate 2 * log2(n) for each MVD offset
49442 [42f145aaeea0]
49443
49444 * source/encoder/mv.h:
49445 mv: bug fixes; cannot use word shifts because x or y can be signed
49446 [425867841725]
49447
49448 * source/Lib/TLibEncoder/TEncSearch.cpp:
49449 TEncSearch: HM uses different sqrt(lambda) to calculate SAD bitcosts
49450 [28a3ad887c33]
49451
49452 * source/Lib/TLibEncoder/TEncSearch.cpp:
49453 TEncSearch: comment improvements and white-space nits
49454 [fe0009c03145]
49455
49456 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp,
49457 source/encoder/bitcost.h:
49458 bitcost: bug fixes and enable integration into TEncSearch.cpp
49459 [c18cfa4d13a6]
49460
49461 * source/Lib/TLibEncoder/TEncSearch.cpp,
49462 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/bitcost.cpp,
49463 source/encoder/bitcost.h, source/encoder/primitives.h:
49464 bitcost: begin integration into TEncSearch
49465 [81b815f0ac28]
49466
49467 * source/encoder/bitcost.cpp, source/x265.h:
49468 x265: comment nits
49469 [1ca12b92b67f]
49470
49471 * source/encoder/bitcost.cpp:
49472 bitcost: fix bug caused by bad eye-sight and worse fonts
49473 [2208db9f4e49]
49474
49475 * source/encoder/primitives.cpp, source/x265.h, source/x265main.cpp:
49476 api: add x265_cleanup() method, to make leak detectors happy
49477 [3bbdb7451176]
49478
49479 * source/encoder/CMakeLists.txt, source/encoder/bitcost.cpp,
49480 source/encoder/bitcost.h, source/encoder/motion.h:
49481 bitcost: add BitCost to x265 project build
49482 [1fb55290fb14]
49483
49484 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/mv.h:
49485 mv: remove getAbsHor|Ver access methods
49486 [99ed9f571a1c]
49487
49488 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/mv.h:
49489 mv: move scaleMV method to file static in TComDataCU.cpp
49490
49491 This was the only file to use it, and it requires CommonDef.h so it
49492 was cleaner to move it there than to #include CommonDef in our new
49493 code.
49494 [22f8092af4c0]
49495
49496 * source/encoder/bitcost.h, source/encoder/motion.cpp,
49497 source/encoder/motion.h, source/encoder/mv.h:
49498 motion: simplify block offset calculations and MV API
49499 [d45e0bf08279]
49500
49501 * source/Lib/TLibCommon/TComTrQuant.cpp:
49502 backout micro optimization in TComTrQuant
49503
49504 uiQ is much larger than a pixel value, so doing calculation as Int64
49505 is correct This change was resulting in an infinite for-loop in
49506 debug runs
49507 [2803c3221494]
49508
49509 * source/Lib/TLibCommon/TComLoopFilter.cpp,
49510 source/Lib/TLibCommon/TComMotionInfo.cpp, source/encoder/mv.h:
49511 mv: replace setZero() calls with assignments to 0 (implicit cast)
49512 [8bf5cfa3dc58]
49513
49514 * source/encoder/mv.h:
49515 mv: fix shadow compile warnings
49516 [26f80f4c0e63]
49517
49518 * source/encoder/vec/macroblock.inc:
49519 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #103)
49520
49521 Implementation of sad_16_x3, sad_32_x3 stage 1
49522 [dcc9d54d3338]
49523
495242013-04-30 Mandar Gurav <Mandar Gurav>
49525
49526 * source/Lib/TLibCommon/TComRdCost.cpp,
49527 source/encoder/vec/macroblock.inc:
49528 Revert to xhevc code...
49529 [d78e74091ac4]
49530
49531 * source/Lib/TLibCommon/TComRdCost.cpp,
49532 source/encoder/vec/macroblock.inc:
49533 Merge
49534 [c3c08427ee92]
49535
49536 * source/encoder/vec/pixel.inc:
49537 Implementation of sad_16_x3, sad_32_x3 stage 2
49538 [4e9455062807]
49539
495402013-04-30 Mandar Gurav <mandar@multicorewareinc.com>
49541
49542 * Merged multicoreware/xhevc into default
49543 [181bdddec8a7]
49544
495452013-04-30 Mandar Gurav <Mandar Gurav>
49546
49547 * source/encoder/vec/pixel.inc:
49548 Implementation of sad_16_x3, sad_32_x3 stage 1
49549 [d0e56fa89954]
49550
495512013-04-30 Steve Borho <steve@borho.org>
49552
49553 * source/Lib/TLibEncoder/TEncSearch.cpp:
49554 TEncSearch: white-space nits
49555 [c3dc302391b9]
49556
49557 * source/Lib/TLibCommon/TComDataCU.cpp,
49558 source/Lib/TLibCommon/TComMv.h, source/encoder/CMakeLists.txt:
49559 mv: substitute our x265::MV class for TComMv
49560 [7f84c91c706f]
49561
49562 * source/Lib/TLibCommon/TComTrQuant.cpp:
49563 TComTrQuant: white-space nits
49564 [2efe97558d45]
49565
49566 * source/Lib/TLibEncoder/TEncSearch.cpp:
49567 TEncSearch: eoln fixes
49568 [706caf90a11f]
49569
49570 * source/encoder/mv.h:
49571 mv: compilation fixes
49572 [10022975148e]
49573
49574 * source/encoder/motion.cpp:
49575 motion: call x264_cpu_emms() at end of motion search
49576 [ab58c2ee829a]
49577
49578 * Merge
49579 [da161f8dda40]
49580
495812013-04-30 Deepthi <Deepthi>
49582
49583 * source/Lib/TLibCommon/TComSlice.h:
49584 Signed/unsigned comparison mismatch
49585 [19e430b976bd]
49586
495872013-04-30 Deepthi Devaki <Deepthi Devaki>
49588
49589 * source/Lib/TLibCommon/TComPrediction.cpp,
49590 source/encoder/InterpolationFilter.cpp,
49591 source/encoder/InterpolationFilter.h, source/encoder/primitives.h:
49592 Filter in TComPrediction.cpp 0 - compiles with highBitDepth = 0/ 1
49593 [ee367956acdc]
49594
495952013-04-30 praveentiwari <praveentiwari>
49596
49597 * source/encoder/vec/macroblock.inc:
49598 Robust logic for clip3 function and multiplication replaced with
49599 shift
49600 [b9a706e1c328]
49601
49602 * source/encoder/vec/macroblock.inc:
49603 .62X more performance gain for partialButterflyInverse8
49604 [fa15bd1d94d1]
49605
496062013-04-30 praveen Tiwari <praveen@multicorewareinc.com>
49607
49608 * Merged multicoreware/xhevc into default
49609 [d4c8a6822d48]
49610
49611 * Merged multicoreware/xhevc into default
49612 [0595c6492fc9]
49613
496142013-04-29 praveen Tiwari <praveen@multicorewareinc.com>
49615
49616 * Merged multicoreware/xhevc into default
49617 [e1633a0b4388]
49618
496192013-04-26 praveen Tiwari <praveen@multicorewareinc.com>
49620
49621 * Merged multicoreware/xhevc into default
49622 [2e307dbf8bc3]
49623
496242013-04-25 praveen Tiwari <praveen@multicorewareinc.com>
49625
49626 * Merged multicoreware/xhevc into default
49627 [8079c95648f2]
49628
49629 * Merged multicoreware/xhevc into default
49630 [df407ba015a9]
49631
496322013-04-24 praveen Tiwari <praveen@multicorewareinc.com>
49633
49634 * source/encoder/vec/macroblock.inc:
49635 Merged multicoreware/xhevc into default
49636 [d084fa7c1507]
49637
496382013-04-30 Deepthi <Deepthi>
49639
49640 * source/Lib/TLibCommon/TComRdCost.cpp,
49641 source/Lib/TLibCommon/TComRdCost.h,
49642 source/Lib/TLibEncoder/TEncSearch.cpp:
49643 Adding support for Short-Short/Pel-Short SSE calculations.
49644 [963b0a22e185]
49645
49646 * Merge
49647 [df3e251c1550]
49648
49649 * source/Lib/TLibCommon/TComRdCost.h:
49650 Merge
49651 [43db01e2d0f1]
49652
49653 * source/Lib/TLibCommon/TComRdCost.cpp,
49654 source/Lib/TLibCommon/TComRdCost.h:
49655 Restructuring TComRdCost to allow for Pel,Short combinations of SSE
49656 calc.
49657 [6929ad484805]
49658
496592013-04-30 Steve Borho <steve@borho.org>
49660
49661 * source/encoder/vec/pixel.inc:
49662 pixel: disable sad_x3 functions for HIGH_BIT_DEPTH=0
49663 [7d724b6d631d]
49664
49665 * source/encoder/primitives.cpp, source/encoder/primitives.h:
49666 primitives: nit cleanups
49667 [4fabe59015fb]
49668
49669 * source/encoder/primitives.h:
49670 Merged in ggopu/ggopu_xhevc (pull request #101)
49671
49672 Removed GetCost() Function
49673 [5923e7ea9058]
49674
496752013-04-29 ggopu <ggopu>
49676
49677 * source/Lib/TLibCommon/TComRdCost.h,
49678 source/Lib/TLibEncoder/TEncSearch.cpp,
49679 source/encoder/primitives.cpp, source/encoder/primitives.h:
49680 Removed GetCost() Function
49681 [d59ff5bf67d9]
49682
496832013-04-30 Steve Borho <steve@borho.org>
49684
49685 * Merged in sumalatha/xhevc_sumalatha (pull request #99)
49686
49687 C Level Optimization on xRateDistOptQuant()
49688 [9920f881602d]
49689
496902013-04-30 sumalatha <sumalatha>
49691
49692 * source/Lib/TLibCommon/TComTrQuant.cpp:
49693 C Level Optimization on xRateDistOptQuant() - 1. removed all memsets
49694 ( except for pdCostCoeffGroupSig[]) - initialized only those array
49695 elements that will be read first before its updated from the inside
49696 the main for loop itself. 2. optimized a few of local variables used
49697 in certain calculations inside the loop.
49698
49699 Also done changes based on steves suggestion
49700 [8bb8a28015b6]
49701
49702 * source/Lib/TLibCommon/CommonDef.h,
49703 source/Lib/TLibCommon/TComTrQuant.cpp:
49704 Backed out changeset: eb3d76f250f8
49705 [93f865e11524]
49706
497072013-04-30 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
49708
49709 * source/Lib/TLibCommon/CommonDef.h,
49710 source/Lib/TLibCommon/TComTrQuant.cpp:
49711 Merged multicoreware/xhevc into default
49712 [5d85009c6e6b]
49713
497142013-04-29 sumalatha <sumalatha>
49715
49716 * source/Lib/TLibCommon/CommonDef.h,
49717 source/Lib/TLibCommon/TComTrQuant.cpp:
49718 C Level Optimization on xRateDistOptQuant() - 1. removed all memsets
49719 ( except for pdCostCoeffGroupSig[]) - initialized only those array
49720 elements that will be read first before its updated from the inside
49721 the main for loop itself. 2. optimized a few of local variables used
49722 in certain calculations inside the loop.
49723 [eb3d76f250f8]
49724
497252013-04-30 Steve Borho <steve@borho.org>
49726
49727 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #100)
49728
49729 Incoprporated Steve's comments - stage 2.
49730 [a68d3284d72a]
49731
497322013-04-30 Mandar Gurav <Mandar Gurav>
49733
49734 * source/test/pixelharness.cpp, source/test/pixelharness.h:
49735 Incoprporated Steve's comments - stage 2.
49736 [45002b3f2b97]
49737
49738 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49739 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
49740 source/test/pixelharness.h:
49741 Incoprporated Steve's comments.
49742 [c44e18dd256b]
49743
497442013-04-30 Mandar Gurav <mandar@multicorewareinc.com>
49745
49746 * source/VectorClass/vectori128.h:
49747 Merged multicoreware/xhevc into default
49748 [d5e09736dcb5]
49749
497502013-04-29 Mandar Gurav <Mandar Gurav>
49751
49752 * source/VectorClass/vectori128.h, source/encoder/pixel.cpp,
49753 source/encoder/vec/pixel.inc:
49754 Revert old updates.
49755 [3c1645af294a]
49756
49757 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49758 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
49759 source/test/pixelharness.h:
49760 Implemented sad_x3 for calculation of 3 SAD's in single call.
49761 [e79693d592d3]
49762
497632013-04-28 Mandar Gurav <mandar@multicorewareinc.com>
49764
49765 * source/VectorClass/vectori128.h, source/encoder/pixel.cpp,
49766 source/encoder/primitives.h, source/encoder/vec/pixel.inc,
49767 source/test/pixelharness.cpp:
49768 Merged multicoreware/xhevc into default
49769 [5692f4fd8ad5]
49770
497712013-04-29 Mandar Gurav <Mandar Gurav>
49772
49773 * source/encoder/vec/pixel.inc, source/test/pixelharness.cpp:
49774 Revert to new xhevc code.
49775 [21650019be5e]
49776
497772013-04-23 Mandar Gurav <Mandar Gurav>
49778
49779 * source/VectorClass/vectori128.h:
49780 Vector class library function
49781 [f4465f31f99c]
49782
49783 * source/encoder/vec/pixel.inc:
49784 Implemented x265_sad16 function into vectorclass librasy.
49785 [aed28167b644]
49786
49787 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49788 source/encoder/vec/pixel.inc, source/test/pixelharness.cpp,
49789 source/test/pixelharness.h:
49790 Implementation of SAD using intrinsics for 8 bit values.
49791 [6af56ea1b74c]
49792
497932013-04-30 Steve Borho <steve@borho.org>
49794
49795 * source/encoder/bitcost.cpp, source/encoder/bitcost.h,
49796 source/encoder/motion.cpp, source/encoder/motion.h,
49797 source/encoder/mv.h:
49798 add a new motion search core feature - is not part of the project
49799 yet
49800
49801 The MV, BitCost, MotionReference, and MotionEstimation classes will
49802 form the core of the x265 motion estimation system; eventually
49803 replacing TEncSearch, TComMV, and most of TComRdCost.
49804 [6937acae97d5]
49805
498062013-04-29 Steve Borho <steve@borho.org>
49807
49808 * source/VectorClass/instrset_detect.cpp:
49809 instrset_detect: workaround on Mac OS X
49810 [3b6663bd7fb9]
49811
49812 * source/VectorClass/vectori128.h, source/encoder/vec/CMakeLists.txt:
49813 cmake: isolate warnings disables within vectori128.h with two
49814 exceptions
49815 [c9ef5adc6f2b]
49816
49817 * source/test/testbench.cpp:
49818 testbench: mingw_aligned_malloc requires malloc.h
49819 [8e58b5fc3759]
49820
49821 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
49822 source/test/ipfilterharness.cpp, source/test/testbench.cpp:
49823 testbench: remove compiler warning training wheels
49824 [377da7143671]
49825
49826 * source/CMakeLists.txt:
49827 cmake: add a comment about why we ignore warnings in the CLI files
49828 [1ec1c161fb9e]
49829
49830 * source/Lib/TLibEncoder/TEncGOP.cpp:
49831 TEncGOP: provide bool values for Bool arguments
49832 [0cfc86971117]
49833
49834 * source/Lib/TLibEncoder/TEncCfg.h:
49835 TEncCfg: fix compiler warning
49836 [9e9458725136]
49837
49838 * source/Lib/TLibCommon/TComSlice.h:
49839 TComSlice: use Bools where appropriate
49840 [20b2e53cd947]
49841
49842 * source/Lib/TLibCommon/TComPicSym.h:
49843 TComPicSym: fix signed/unsigned mangling in the header
49844 [2dd01031906c]
49845
49846 * source/Lib/TAppCommon/program_options_lite.h:
49847 TAppCommon: give classes noimpl copy constructors, makes MSVC happy
49848 [18e014cab1d4]
49849
49850 * source/CMakeLists.txt:
49851 cmake: move tests above CLI, avoid pulling in disabled warnings
49852 [4fd9c4ed8a0a]
49853
49854 * source/CMakeLists.txt:
49855 cmake: add /wd4800 and /wd4018 to x265main.cpp and x265cfg.cpp
49856 [8ec187f802f3]
49857
49858 * source/Lib/CMakeLists.txt:
49859 cmake: add back /wd4018 and /wd4800 to HM source files
49860
49861 It would be a gargantuan effort to clean all these up at this point.
49862 Instead we will just make all the new code compile clean and these
49863 old files will eventually be replaced
49864 [7b1566c818a6]
49865
49866 * source/Lib/TLibCommon/CommonDef.h:
49867 Remove warnings disables from CommonDef.h, will add back with more
49868 focus
49869
49870 These were leaking into the encoder/ folder where we want our new
49871 code to be warning free.
49872 [a949c6f35a76]
49873
498742013-04-29 ShinYee Chung <shinyee@multicorewareinc.com>
49875
49876 * source/encoder/TShortYUV.cpp:
49877 shortyuv: Fix compile warnings/errors due to comparing signed and
49878 unsigned integers.
49879
49880 GCC 4.8.0 Linux64:
49881
49882 source/encoder/TShortYUV.cpp:424:32: error: comparison between
49883 signed and unsigned integer expressions [-Werror=sign-compare]
49884 for(int x = 0; x < iWidth; x++)
49885 [03df6f73f616]
49886
498872013-04-29 Deepthi <Deepthi>
49888
49889 * source/Lib/TLibEncoder/TEncSearch.cpp:
49890 Quick Fix for compilation errors in TEncSearch::xEstimateResidualQT.
49891 This has to be re-architected asap.
49892 [5305e9dd0f98]
49893
49894 * source/Lib/TLibCommon/TComTrQuant.cpp,
49895 source/Lib/TLibEncoder/TEncCu.cpp,
49896 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/TShortYUV.h:
49897 Merge
49898 [f298a0cc803f]
49899
49900 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
49901 One more function for TComYuv
49902 [27e841216893]
49903
49904 * source/Lib/TLibEncoder/TEncSearch.cpp,
49905 source/Lib/TLibEncoder/TEncSearch.h:
49906 Changing the datatype of m_pcQTTempTComYuv. Need to review this at
49907 some point - why does it hold both recon and residual data?
49908 [8e100ef76380]
49909
49910 * source/Lib/TLibCommon/TComYuv.cpp:
49911 Changes in TComYuv class
49912 [9625d6b6bfc0]
49913
49914 * source/Lib/TLibCommon/TComTrQuant.cpp,
49915 source/Lib/TLibCommon/TComTrQuant.h:
49916 Pel to Short changes in TComTrQuant
49917 [2161442f663e]
49918
49919 * source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h:
49920 Adding more functions to TShortYUV for TComyuv compatilibity. We can
49921 use inheritance later for better maintenance and code reuse.
49922 [03ed7310e127]
49923
499242013-04-28 Deepthi <Deepthi>
49925
49926 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
49927 source/Lib/TLibEncoder/TEncSearch.cpp,
49928 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/TShortYUV.cpp,
49929 source/encoder/TShortYUV.h:
49930 Adding a bunch of function definition/declarations to TShortYUV and
49931 TComYUV classes. Compilation successful.
49932 [dc004e397c4d]
49933
499342013-04-27 Deepthi <Deepthi>
49935
49936 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
49937 source/Lib/TLibEncoder/TEncSearch.cpp,
49938 source/Lib/TLibEncoder/TEncSearch.h:
49939 Replacing all function declarations/definitions with TShortYUV.
49940 [d17b57e25292]
49941
499422013-04-29 ShinYee Chung <shinyee@multicorewareinc.com>
49943
49944 * source/test/testharness.h:
49945 test: Fix compile error due to undefined size_t.
49946 [a3f27ae55e67]
49947
49948 * source/Lib/TLibCommon/CommonDef.h:
49949 HM/Common: Fix the undefined aligned memory allocation function.
49950 [15c7da6ad105]
49951
499522013-04-28 Steve Borho <steve@borho.org>
49953
49954 * source/test/mbdstharness.cpp, source/test/pixelharness.cpp,
49955 source/test/testbench.cpp, source/test/testharness.h:
49956 testbench: add aligned alloc and free helper functions
49957 [a37bc125a568]
49958
49959 * source/CMakeLists.txt, source/test/CMakeLists.txt:
49960 cmake: define PLATFORM_LIBS in main cmake file, use for x265-cli
49961 [bd817f383232]
49962
49963 * source/Lib/TLibCommon/CommonDef.h:
49964 aligned_malloc() needs stdlib.h
49965 [589ba1b50405]
49966
49967 * source/encoder/threadpool.cpp:
49968 threadpool: use _BitScanReverse64() instead of __lzcnt64()
49969
49970 All variants of __lzcnt() fail to work correctly on Intel CPUs, with
49971 no warnings.
49972 [04fa32c7226a]
49973
49974 * source/Lib/TLibCommon/TComRdCost.cpp,
49975 source/Lib/TLibCommon/TComRdCost.h,
49976 source/Lib/TLibEncoder/TEncSearch.cpp:
49977 remove FIX203 #define, it will always be 1
49978 [6d3f0c68430c]
49979
499802013-04-27 Steve Borho <steve@borho.org>
49981
49982 * source/Lib/TLibCommon/TComRdCost.h,
49983 source/Lib/TLibEncoder/TEncSearch.cpp:
49984 rename GetsadFunctions to getSadFunctions()
49985 [7e2616997871]
49986
49987 * source/Lib/TLibEncoder/TEncTop.cpp,
49988 source/Lib/TLibEncoder/TEncTop.h, source/encoder/primitives.cpp,
49989 source/encoder/threadpool.cpp, source/x265.h, source/x265cfg.cpp,
49990 source/x265cfg.h:
49991 api: improvements to C API, make encoder auto-setup primitives and
49992 threadpool
49993
49994 Remove m_FrameSkip and m_framesToBeEncoded from the public params
49995 [a75806cbe14b]
49996
49997 * source/Lib/TLibEncoder/TEncCu.cpp:
49998 nits, no logic changes
49999 [0f02c76c63d1]
50000
50001 * source/Lib/TLibEncoder/TEncCu.cpp,
50002 source/Lib/TLibEncoder/TEncSearch.cpp:
50003 white-space nits
50004 [0b87935166f5]
50005
50006 * source/Lib/TLibEncoder/TEncCu.cpp,
50007 source/Lib/TLibEncoder/TEncGOP.cpp,
50008 source/Lib/TLibEncoder/TEncSearch.cpp,
50009 source/Lib/TLibEncoder/TEncSlice.cpp, source/PPA/ppa.h,
50010 source/PPA/ppaCPUEvents.h:
50011 ppa: add some high-level events
50012 [f8031314c27d]
50013
50014 * source/x265.h, source/x265cfg.cpp, source/x265cfg.h:
50015 x265: for public API, only internal bitdepth is configurable
50016
50017 And when HIGH_BIT_DEPTH is 0, the value is ignored. This change
50018 allows the input and output bit depth fields to be configurable for
50019 !HIGH_BIT_DEPTH builds, but are only allowed to be 8.
50020
50021 When x265 is used as a library, the input and output bitdepths are
50022 completely up to the user. libx265 does not have to know what they
50023 are.
50024 [e9afe7587e44]
50025
50026 * source/encoder/CMakeLists.txt:
50027 cmake: add x265.h to libx265 project
50028 [1a076f248de6]
50029
50030 * source/Lib/TLibCommon/TComTrQuant.cpp:
50031 white-space nit
50032 [e866124b9b3f]
50033
50034 * source/Lib/TLibCommon/TComRdCost.cpp:
50035 TComRdCost: micro optimizations, more for clarity than anything else
50036 [2df4c0434338]
50037
50038 * source/CMakeLists.txt, source/Lib/TLibCommon/TypeDef.h:
50039 cmake: define HIGH_BIT_DEPTH to 0 for 8bpp
50040 [02382ad0344d]
50041
50042 * source/encoder/TShortYUV.h:
50043 tshortyuv: white-space nits
50044 [06a3ab224b5a]
50045
50046 * source/encoder/TShortYUV.h:
50047 tshortyuv: forward slashes for includes
50048 [a25e6ee7923e]
50049
500502013-04-27 Deepthi <Deepthi>
50051
50052 * source/Lib/TLibEncoder/TEncSearch.cpp:
50053 Chroma fixes for Pixel=UShort; Bitrate issues sorted out, bit
50054 mismatch issues with Pixel=Short
50055 [2ccf934a7a83]
50056
50057 * source/Lib/TLibCommon/TComTrQuant.cpp,
50058 source/Lib/TLibEncoder/TEncSearch.cpp:
50059 Merge
50060 [d5bf22fdf56d]
50061
50062 * source/Lib/TLibCommon/TComTrQuant.cpp,
50063 source/Lib/TLibEncoder/TEncSearch.cpp:
50064 3 cheers!! Pixel now works with UShort (at a much higher bitrate).
50065 [05ddb2c288c6]
50066
500672013-04-26 Deepthi <Deepthi>
50068
50069 * source/encoder/TShortYUV.h:
50070 Adding more member functions to TShortYUV
50071 [78cd7e5ab0a1]
50072
500732013-04-26 Steve Borho <steve@borho.org>
50074
50075 * source/Lib/TLibCommon/TComRdCost.cpp:
50076 shift SAD result from TComRdCost::getSADPart() rather than each diff
50077 [03433b6ee01b]
50078
50079 * source/Lib/TLibCommon/TComRdCost.cpp:
50080 remove partition size check from TComRdCost::getSADPart()
50081 [194f459ded86]
50082
50083 * source/Lib/TLibCommon/TypeDef.h:
50084 remove unused Pxl type
50085 [4915dcd016d8]
50086
50087 * source/Lib/TLibCommon/TypeDef.h:
50088 clean up white-space alignment in TypeDef.h
50089 [52d5df36432e]
50090
50091 * source/Lib/TLibCommon/TypeDef.h,
50092 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
50093 source/Lib/TLibEncoder/TEncSlice.cpp:
50094 remove L0033_RC_BUGFIX #define, it will always be 1
50095 [8485a6a1c12d]
50096
50097 * source/Lib/TLibCommon/TComRdCost.cpp,
50098 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
50099 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
50100 source/Lib/TLibEncoder/TEncCu.h, source/Lib/TLibEncoder/TEncGOP.cpp,
50101 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
50102 source/Lib/TLibEncoder/TEncRateCtrl.h,
50103 source/Lib/TLibEncoder/TEncSlice.cpp,
50104 source/Lib/TLibEncoder/TEncSlice.h,
50105 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
50106 source/x265enc.cpp:
50107 remove RATE_CONTROL_LAMBDA_DOMAIN #define, it will always be 1
50108 [88101df1faee]
50109
50110 * source/test/mbdstharness.cpp:
50111 white-space nit
50112 [941581484868]
50113
50114 * source/encoder/x86/CMakeLists.txt:
50115 cmake: tell gcc not to sqawk about empty ASM setup function
50116 [659cbd8026b8]
50117
50118 * source/Lib/TLibCommon/CommonDef.h,
50119 source/Lib/TLibCommon/TComTrQuant.cpp:
50120 improve portability of alignment macros
50121 [12708950babd]
50122
50123 * source/Lib/TLibCommon/TComTrQuant.cpp,
50124 source/Lib/TLibCommon/TypeDef.h:
50125 remove MATRIX_MULT #define, it will always be 0
50126 [b7e14c53edda]
50127
50128 * source/Lib/TLibCommon/TComDataCU.cpp,
50129 source/Lib/TLibCommon/TComDataCU.h,
50130 source/Lib/TLibCommon/TComPicSym.cpp,
50131 source/Lib/TLibCommon/TComSlice.cpp,
50132 source/Lib/TLibCommon/TComSlice.h,
50133 source/Lib/TLibCommon/TComTrQuant.cpp,
50134 source/Lib/TLibCommon/TComTrQuant.h,
50135 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
50136 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
50137 source/Lib/TLibEncoder/TEncGOP.cpp,
50138 source/Lib/TLibEncoder/TEncSearch.cpp,
50139 source/Lib/TLibEncoder/TEncSearch.h,
50140 source/Lib/TLibEncoder/TEncSlice.cpp,
50141 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
50142 source/x265enc.cpp:
50143 remove ADAPTIVE_QP_SELECTION #define, it will always be 1
50144 [c33334661f82]
50145
50146 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp,
50147 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
50148 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
50149 remove SAO_ENCODING_CHOICE #define, it will always be 1
50150 [1b2d55dd7b4f]
50151
50152 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
50153 source/Lib/TLibEncoder/TEncSearch.cpp, source/x265cfg.cpp,
50154 source/x265enc.cpp:
50155 remove L0232_RD_PENALTY #define, it will always be 1
50156 [9dcea9d2b459]
50157
50158 * source/Lib/TLibCommon/TypeDef.h,
50159 source/Lib/TLibEncoder/TEncCavlc.cpp:
50160 remove L0372 #define, it will always be 1
50161 [4fa6f3a09dc7]
50162
50163 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp,
50164 source/x265cfg.cpp:
50165 remove L0444_FPA_TYPE #define, it will always be 1
50166 [c86464d72455]
50167
50168 * source/Lib/TLibCommon/TypeDef.h,
50169 source/Lib/TLibEncoder/TEncCavlc.cpp,
50170 source/Lib/TLibEncoder/TEncTop.cpp:
50171 remove L0255_MOVE_PPS_FLAGS #define, it will always be 1
50172 [c198a462c1c8]
50173
50174 * source/Lib/TLibCommon/TypeDef.h,
50175 source/Lib/TLibEncoder/TEncCavlc.cpp:
50176 remove L0363_BYTE_ALIGN #define, it will always be 1
50177 [64d5e486b138]
50178
50179 * source/Lib/TLibCommon/TComDataCU.cpp:
50180 fix eoln damage in TComDataCU.cpp
50181 [13b5ff7b9bb6]
50182
50183 * source/Lib/TLibCommon/TComDataCU.cpp,
50184 source/Lib/TLibCommon/TypeDef.h:
50185 remove L0363_MVP_POC #define, it will always be 1
50186 [b354aa200feb]
50187
50188 * source/Lib/TLibCommon/TComSlice.cpp,
50189 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50190 source/Lib/TLibEncoder/TEncCavlc.cpp,
50191 source/Lib/TLibEncoder/TEncCfg.h,
50192 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
50193 source/x265enc.cpp:
50194 remove L0046_CONSTRAINT_FLAGS #define, it will always be 1
50195 [a06f0d0bec2b]
50196
50197 * source/Lib/TLibCommon/TypeDef.h,
50198 source/Lib/TLibEncoder/TEncCavlc.cpp:
50199 remove L0043_MSS_IDC, L0116_ENTRY_POINT #defines, they will always
50200 be 1
50201 [5b78e69a6347]
50202
50203 * source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50204 source/Lib/TLibEncoder/SEIwrite.cpp:
50205 remove L0045_CONDITION_SIGNALLING #define, it will always be 1
50206 [3adb926ba0a7]
50207
50208 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
50209 source/Lib/TLibEncoder/SEIwrite.cpp:
50210 remove L0046_RENAME_PROG_SRC_IDC #define, it will always be 1
50211 [0b26e3187fdb]
50212
50213 * source/Lib/TLibCommon/TComSlice.cpp,
50214 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50215 source/Lib/TLibEncoder/TEncCavlc.cpp,
50216 source/Lib/TLibEncoder/TEncGOP.cpp,
50217 source/Lib/TLibEncoder/TEncTop.cpp:
50218 remove L0043_TIMING_INFO #define, it will always be 1
50219 [5e92e75e0bb6]
50220
50221 * source/Lib/TLibCommon/TypeDef.h:
50222 typo nits
50223 [bb19a6cf86dd]
50224
50225 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
50226 source/Lib/TLibEncoder/SEIwrite.cpp,
50227 source/Lib/TLibEncoder/TEncGOP.cpp:
50228 remove L0047_APS_FLAGS #define, it will always be 1
50229 [f55166a0ca8b]
50230
50231 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
50232 source/Lib/TLibEncoder/SEIwrite.cpp,
50233 source/Lib/TLibEncoder/TEncGOP.cpp:
50234 remove L0044_CPB_DPB_DELAY_OFFSET #define, it will always be 1
50235 [472b0e4bc12d]
50236
50237 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibCommon/TypeDef.h,
50238 source/Lib/TLibEncoder/SEIwrite.cpp,
50239 source/Lib/TLibEncoder/TEncGOP.cpp,
50240 source/Lib/TLibEncoder/TEncGOP.h:
50241 remove L0045_NON_NESTED_SEI_RESTRICTIONS #define, it will always be
50242 1
50243 [f716604c56ab]
50244
50245 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
50246 source/Lib/TLibEncoder/SEIwrite.cpp,
50247 source/Lib/TLibEncoder/TEncGOP.cpp:
50248 remove L0045_PERSISTENCE_FLAGS #define, it will always be 1
50249 [397acf975a04]
50250
50251 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TComSlice.cpp,
50252 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50253 source/Lib/TLibEncoder/SEIwrite.cpp,
50254 source/Lib/TLibEncoder/TEncCavlc.cpp,
50255 source/Lib/TLibEncoder/TEncGOP.cpp:
50256 remove L0044_DU_DPB_OUTPUT_DELAY_HRD #define, it will always be 1
50257 [8d3ed21fb716]
50258
50259 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibCommon/TypeDef.h,
50260 source/Lib/TLibEncoder/SEIwrite.cpp,
50261 source/Lib/TLibEncoder/TEncGOP.cpp:
50262 remove L0328_SPLICING #define, it will always be 1
50263 [355807b023d6]
50264
50265 * source/Lib/TLibCommon/TComSlice.cpp,
50266 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50267 source/Lib/TLibEncoder/TEncCavlc.cpp:
50268 remove L0363_DU_BIT_RATE #define, it will always be 1
50269 [426f0abeaed4]
50270
50271 * source/Lib/TLibCommon/TComSlice.cpp,
50272 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50273 source/Lib/TLibEncoder/TEncCavlc.cpp:
50274 remove FIX1071 #define, this temporary fix has been there for 1.5
50275 years
50276 [b43f11555c88]
50277
50278 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCfg.h,
50279 source/Lib/TLibEncoder/TEncGOP.cpp,
50280 source/Lib/TLibEncoder/TEncGOP.h,
50281 source/Lib/TLibEncoder/TEncSlice.cpp,
50282 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
50283 source/x265enc.cpp:
50284 remove L0386_DB_METRIC #define, it will always be 1
50285 [9eb517f53928]
50286
50287 * source/Lib/TLibCommon/TComSlice.cpp,
50288 source/Lib/TLibCommon/TypeDef.h,
50289 source/Lib/TLibEncoder/TEncCavlc.cpp, source/x265cfg.cpp:
50290 remove L0323_DPB #define, it will always be 1
50291 [5e53a1acd0de]
50292
50293 * source/Lib/TLibCommon/CommonDef.h,
50294 source/Lib/TLibCommon/TComSlice.cpp,
50295 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibCommon/TypeDef.h,
50296 source/Lib/TLibEncoder/TEncCfg.h,
50297 source/Lib/TLibEncoder/TEncGOP.cpp,
50298 source/Lib/TLibEncoder/TEncSearch.cpp,
50299 source/Lib/TLibEncoder/TEncTop.cpp, source/x265cfg.cpp,
50300 source/x265enc.cpp:
50301 remove L0034_COMBINED_LIST_CLEANUP #define, it will always be 1
50302 [c44835756f8c]
50303
50304 * source/Lib/TLibCommon/ContextModel.cpp,
50305 source/Lib/TLibCommon/ContextModel.h,
50306 source/Lib/TLibCommon/TypeDef.h,
50307 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
50308 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
50309 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
50310 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
50311 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
50312 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
50313 source/Lib/TLibEncoder/TEncSbac.h,
50314 source/Lib/TLibEncoder/TEncTop.cpp,
50315 source/Lib/TLibEncoder/TEncTop.h:
50316 remove FAST_BIT_EST #define, it will always be 1, improve
50317 readability
50318 [7d1e89b0e90a]
50319
50320 * source/Lib/TLibCommon/TComRdCost.cpp,
50321 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
50322 source/Lib/TLibEncoder/TEncSearch.cpp:
50323 remove NS_HAD #define, it will always be 0, improve readability
50324 [b455c6b5b150]
50325
50326 * source/Lib/TLibCommon/TypeDef.h,
50327 source/Lib/TLibEncoder/TEncSearch.cpp,
50328 source/Lib/TLibEncoder/TEncSearch.h:
50329 remove ZERO_MVD_EST #define, it will always be 0, improve
50330 readability
50331 [7c96e41f3155]
50332
50333 * source/Lib/TLibEncoder/TEncSearch.cpp:
50334 uncrustify: cleanup TEncSearch.cpp after AMP_MRG define removal
50335 [f93d8ade008f]
50336
50337 * source/Lib/TLibCommon/TComDataCU.h, source/Lib/TLibCommon/TypeDef.h,
50338 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
50339 source/Lib/TLibEncoder/TEncSearch.cpp,
50340 source/Lib/TLibEncoder/TEncSearch.h:
50341 remove AMP_MRG #define, it will always be 1, improve readability
50342 [900e0173b6fe]
50343
50344 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp,
50345 source/Lib/TLibEncoder/TEncCu.h:
50346 remove AMP_ENC_SPEEDUP #define, it will always be 1, improve
50347 readability
50348 [423fefc35e88]
50349
50350 * source/Lib/TLibCommon/TComRdCost.cpp,
50351 source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h,
50352 source/Lib/TLibEncoder/TEncSearch.cpp:
50353 remove AMP_SAD #define, it will always be 1, improve readability
50354 [0efc8467e6cd]
50355
50356 * source/encoder/x86/asm-primitives.cpp:
50357 asm: disable assembly; was causing stack corruption in debug runs
50358
50359 The SATD functions are getting called from random places that do not
50360 enforce input buffer alignment. These need to be fixed before ASM
50361 can be re-enabled.
50362 [962848c1c6ff]
50363
50364 * source/test/CMakeLists.txt:
50365 cmake: add primitive defines to test folder
50366 [0bc70419ada8]
50367
503682013-04-27 ShinYee Chung <shinyee@multicorewareinc.com>
50369
50370 * source/encoder/TShortYUV.cpp:
50371 shortyuv: Fix the '\' in an #include.
50372
50373 Use '/' instead for compatibility with Windows and Linux.
50374 [c325ba0eb7b3]
50375
503762013-04-26 Steve Borho <steve@borho.org>
50377
50378 * source/Lib/TLibEncoder/TEncSearch.cpp,
50379 source/encoder/primitives.cpp, source/encoder/primitives.h:
50380 primitive: remove FastHeight(), use same logic with/without
50381 ENABLE_PRIMITIVES
50382
50383 * Allow iSubShift if iRows is greater than 12, since half-height
50384 blocks will be supported.
50385 * Unconditionally use the partition returned from PartitionFromSizes()
50386 [aa94262bd0b9]
50387
503882013-04-26 nandaku2 <deepthi@multicorewareinc.com>
50389
50390 * Merged in deepthidevaki/xhevc_deepthid (pull request #94)
50391
50392 Modified FIlter vec primitives
50393 [c531582449c4]
50394
503952013-04-26 Deepthi Devaki <Deepthi Devaki>
50396
50397 * source/encoder/vec/interpolationfilter.inc:
50398 Modified Filter vec primitives
50399 [b0115edcc276]
50400
50401 * source/test/ipfilterharness.cpp:
50402 Fix errors in IPfilterharness
50403 [c32c36a3ac29]
50404
504052013-04-26 Deepthi <Deepthi>
50406
50407 * source/encoder/CMakeLists.txt:
50408 Merge
50409 [0e30f0ceb6c3]
50410
50411 * source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h:
50412 Formatting the TShortYUV class.
50413 [a178a6e93c00]
50414
50415 * source/Lib/TLibCommon/TComPrediction.h,
50416 source/encoder/CMakeLists.txt, source/encoder/TShortYUV.cpp,
50417 source/encoder/TShortYUV.h:
50418 Introducing TShortYUV formally
50419 [80ff753040be]
50420
504212013-04-26 Deepthi Devaki <Deepthi Devaki>
50422
50423 * source/encoder/vec/interpolationfilter.inc,
50424 source/test/ipfilterharness.cpp:
50425 FilterConvert - vec primitives
50426 [dbf2e884f457]
50427
50428 * source/encoder/InterpolationFilter.cpp,
50429 source/encoder/vec/interpolationfilter.inc:
50430 Vectorized FilterHorizontal-pel-pel and pel_short
50431 [5ec9ce76685c]
50432
50433 * Merge
50434 [2af6e7c7b715]
50435
50436 * source/test/ipfilterharness.cpp:
50437 Changes to ipfilterharness.cpp
50438 [6accfad1e082]
50439
504402013-04-25 Deepthi Devaki <Deepthi Devaki>
50441
50442 * source/encoder/vec/CMakeLists.txt,
50443 source/encoder/vec/interpolationfilter.inc,
50444 source/encoder/vec/vecprimitives.inc,
50445 source/test/ipfilterharness.cpp:
50446 Vectorized version of filterVertical_short_Pel
50447 [4faf8dcd1180]
50448
504492013-04-26 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50450
50451 * Merged multicoreware/xhevc into default
50452 [f34557bd0c1b]
50453
504542013-04-25 Deepthi Devaki <Deepthi Devaki>
50455
50456 * source/encoder/InterpolationFilter.cpp:
50457 Typecast result val to pel.
50458 [8cc213785f0f]
50459
504602013-04-25 Steve Borho <steve@borho.org>
50461
50462 * source/x265cfg.cpp:
50463 x265: output string nit
50464 [062b636765af]
50465
50466 * source/x265.h, source/x265cfg.cpp, source/x265cfg.h,
50467 source/x265enc.cpp:
50468 x265: move encoder configurable fields into a C friendly header
50469 [ad159c607977]
50470
50471 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
50472 cmake: make vector and asm build flags local to encoder/ folder
50473
50474 Toggling the ASM or vector primitives should not require the HM
50475 library to be rebuilt.
50476 [e942246d64aa]
50477
50478 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
50479 cmake: move VectorClass include path within encoder/ folder
50480 [dc3899c4f7a7]
50481
50482 * source/CMakeLists.txt:
50483 cmake: remove getopt from build; leave files in place for potential
50484 later use
50485 [fdda9447ee37]
50486
50487 * source/CMakeLists.txt, source/Lib/CMakeLists.txt:
50488 cmake: move program_options_lite out of HM lib and into CLI project
50489 [1d8a40959e29]
50490
50491 * source/encoder/primitives.cpp:
50492 primitives: turn partition checks into asserts; we expect success
50493 [0f56cdd99c40]
50494
50495 * source/x265main.cpp:
50496 main: nits in output header
50497 [f8a551edd2b7]
50498
50499 * source/encoder/vec/pixel.inc:
50500 pixel: add vector width/height 12 SAD functions
50501 [27f5f9a00390]
50502
50503 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
50504 source/encoder/primitives.h, source/test/pixelharness.cpp:
50505 pixel: add support for width/height of 12
50506 [e2cb9064721e]
50507
50508 * source/encoder/vec/pixel.inc:
50509 pixel: add vector width/height 24 SAD functions
50510 [2c86ffb3f28b]
50511
50512 * source/test/pixelharness.cpp:
50513 pixelharness: fix up partition name strings
50514 [a968ffee3ff1]
50515
50516 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
50517 source/encoder/primitives.h:
50518 pixel: add support for width/height of 24
50519 [fb552f51143d]
50520
50521 * source/encoder/pixel.cpp:
50522 pixel: reorder C refs to match enums, add missing 64 sized SATD
50523 functions
50524
50525 Intra will not use 64 sized partitions, but sub-pel inter might. I'm
50526 surprised this didn't break uterly before?
50527 [167863d172b5]
50528
50529 * source/Lib/TLibEncoder/TEncSearch.cpp:
50530 white-space nit
50531 [4ccf1edbb887]
50532
50533 * source/Lib/TLibEncoder/TEncSearch.cpp:
50534 search: do not use iSubShift if it would result in slow path
50535 *CHANGES OUTPUT*
50536
50537 This doesn't have a large impact on performance today because motion
50538 search is still so bloody innefficient. But it is the right thing to
50539 do.
50540 [f99e73f1e0f5]
50541
50542 * source/encoder/primitives.cpp, source/encoder/primitives.h:
50543 primitives: add a FastHeight() method to give early warnings of slow
50544 paths
50545 [7a97443c2155]
50546
50547 * source/encoder/primitives.cpp:
50548 primitives: simplify PartitionFromSizes()
50549 [f4b4f25eb901]
50550
50551 * source/encoder/primitives.h:
50552 primitives: add macros for 32byte aligment
50553 [b65c2c4fa585]
50554
50555 * source/encoder/primitives.h:
50556 primitives: re-order enums so partitions with the same width are
50557 contiguous
50558 [0d3a7ebba9e9]
50559
50560 * source/Lib/TLibEncoder/TEncSearch.cpp,
50561 source/encoder/primitives.cpp:
50562 Merged in deepthidevaki/xhevc_deepthid (pull request #92)
50563
50564 Call Filter Primitives from SamplingQ, SamplingH
50565 [57aa9e90c935]
50566
505672013-04-25 Deepthi Devaki <Deepthi Devaki>
50568
50569 * source/Lib/TLibEncoder/TEncSearch.cpp:
50570 Add filter Primitives call in SamplingQ
50571 [4e66d9fa333c]
50572
50573 * source/Lib/TLibEncoder/TEncSearch.cpp:
50574 Add Filter Primitives call in SamplingQ
50575 [9362b0761fa0]
50576
50577 * source/encoder/InterpolationFilter.cpp:
50578 Remove assert from filters
50579 [286250886456]
50580
50581 * source/Lib/TLibEncoder/TEncSearch.cpp:
50582 Call Filter Primitives from SamplingQ, SamplingH
50583 [c005c9980a4b]
50584
50585 * source/Lib/TLibEncoder/TEncSearch.cpp,
50586 source/encoder/InterpolationFilter.h:
50587 Merge
50588 [94205c681a97]
50589
50590 * source/encoder/InterpolationFilter.cpp,
50591 source/test/ipfilterharness.cpp:
50592 Fix unused variables.
50593 [3a12d696bf54]
50594
505952013-04-25 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50596
50597 * Merged multicoreware/xhevc into default
50598 [995b6235dffc]
50599
506002013-04-25 Deepthi Devaki <Deepthi Devaki>
50601
50602 * source/test/ipfilterharness.cpp:
50603 Add limits.h to IPFilterHarness.
50604 [a2483d531f95]
50605
50606 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
50607 source/test/CMakeLists.txt:
50608 Filter c primitives - add to Cmake and primitives.cpp
50609 [410a769be98e]
50610
506112013-04-25 Steve Borho <steve@borho.org>
50612
50613 * source/Lib/TLibEncoder/TEncSearch.cpp:
50614 Merged in ggopu/gopu_xhevc (pull request #89)
50615
50616 included 64 Bit in PartitionFromSizes and Eliminated the
50617 setDisParam() call from xTZSearchHelp() and Removed the primitive
50618 call for rdCost for all the sad functions
50619 [0004001ac17b]
50620
506212013-04-25 ggopu <ggopu>
50622
50623 * source/Lib/TLibEncoder/TEncSearch.cpp:
50624 included 64 Bit in PartitionFromSizes and Eliminated the
50625 setDisParam() call from xTZSearchHelp() and Removed the primitive
50626 call for rdCost for all the sad functions Resolved the issue based
50627 on the comment
50628 [3e30fb1adc96]
50629
50630 * source/Lib/TLibEncoder/TEncSearch.cpp:
50631 included 64 Bit in PartitionFromSizes and Eliminated the
50632 setDisParam() call from xTZSearchHelp() and Removed the primitive
50633 call for rdCost for all the sad functions
50634 --solved the issues based on the comment
50635 [cbde0042b475]
50636
50637 * source/Lib/TLibEncoder/TEncSearch.cpp:
50638 included 64 Bit in PartitionFromSizes and Eliminated the
50639 setDisParam() call from xTZSearchHelp() and Removed the primitive
50640 call for rdCost for all the sad functions
50641 -- solved the issues based on the comment
50642 [c6af59bec3cd]
50643
50644 * source/Lib/TLibCommon/TComRdCost.cpp,
50645 source/Lib/TLibCommon/TComRdCost.h,
50646 source/Lib/TLibEncoder/TEncSearch.cpp:
50647 included 64 Bit in PartitionFromSizes and Eliminated the
50648 setDisParam() call from xTZSearchHelp() and Removed the primitive
50649 call for rdCost for all the sad functions
50650 [a3a21e07ef69]
50651
50652 * source/Lib/TLibCommon/TComRdCost.cpp,
50653 source/Lib/TLibCommon/TComRdCost.h,
50654 source/Lib/TLibEncoder/TEncSearch.cpp,
50655 source/encoder/primitives.cpp:
50656 Included 64 Bit in PartitionFromSizes and Eliminated the
50657 setDisParam() call from xTZSearchHelp() Removed the primitive call
50658 for rdCost for all the sad functions
50659 [df5479194d8d]
50660
506612013-04-24 Gopu G <gopu@multicorewareinc.com>
50662
50663 * Merged multicoreware/xhevc into default
50664 [388938d47d3a]
50665
50666 * Merged multicoreware/xhevc into default
50667 [18941a42d529]
50668
506692013-04-23 Gopu G <gopu@multicorewareinc.com>
50670
50671 * source/Lib/TLibVideoIO/TVideoIO.h,
50672 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
50673 source/Lib/TLibVideoIO/TVideoIOY4m.h,
50674 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
50675 source/Lib/TLibVideoIO/TVideoIOYuv.h:
50676 Merged multicoreware/xhevc into default
50677 [a1d0b89d4a09]
50678
506792013-04-22 Gopu G <gopu@multicorewareinc.com>
50680
50681 * source/Lib/encoder.cpp, source/Lib/encoder.h,
50682 source/Lib/libmd5/MD5.h, source/Lib/libmd5/libmd5.c,
50683 source/Lib/libmd5/libmd5.h:
50684 Merged multicoreware/xhevc into default
50685 [51911ce2d52e]
50686
506872013-04-25 nandaku2 <deepthi@multicorewareinc.com>
50688
50689 * Merged in deepthidevaki/xhevc_deepthid (pull request #91)
50690
50691 Added new IPFilter function pointers. Added TestSuite for new
50692 IPFilter primitives.
50693 [ceded0279117]
50694
506952013-04-25 Deepthi Devaki <Deepthi Devaki>
50696
50697 * source/encoder/InterpolationFilter.cpp:
50698 assert bitDepth==8
50699 [81b6dda66506]
50700
50701 * source/encoder/primitives.h, source/test/ipfilterharness.cpp,
50702 source/test/ipfilterharness.h, source/test/testbench.cpp:
50703 Added new IPFilter function pointers. Added TestSuite for new
50704 IPFilter primitives.
50705 [6e541a1f02e4]
50706
507072013-04-25 Deepthi <Deepthi>
50708
50709 * source/Lib/TLibEncoder/TEncSearch.cpp:
50710 Merge
50711 [93dcae8999dd]
50712
50713 * source/Lib/TLibCommon/TComPrediction.cpp:
50714 Random data type changes
50715 [dde5cb2850a0]
50716
50717 * source/Lib/TLibEncoder/TEncSearch.cpp:
50718 Correct typecasts in IFSamplingQ and H
50719 [3b74bb5a814c]
50720
50721 * cfg/encoder_I_15P.cfg:
50722 Turn off SAO
50723 [fb2f0ff73dc3]
50724
507252013-04-25 Deepthi Devaki <Deepthi Devaki>
50726
50727 * source/encoder/CMakeLists.txt:
50728 Add InterpolationFilter.cpp to CMakeList
50729 [4356b72d5c7b]
50730
50731 * source/encoder/InterpolationFilter.cpp,
50732 source/encoder/InterpolationFilter.h:
50733 Changes to filter (fixing merge conflict)
50734 [92c17b5fe436]
50735
507362013-04-25 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50737
50738 * source/encoder/InterpolationFilter.h:
50739 Merged multicoreware/xhevc into default
50740 [a6ee0ff27646]
50741
507422013-04-25 Deepthi Devaki <Deepthi Devaki>
50743
50744 * source/encoder/InterpolationFilter.h:
50745 Backed out changeset: cc54b45a0eac
50746 [d2aebf4a7562]
50747
507482013-04-24 Deepthi Devaki <Deepthi Devaki>
50749
50750 * source/encoder/InterpolationFilter.cpp,
50751 source/encoder/InterpolationFilter.h:
50752 added filterVertical_pel_pel
50753 [e2cacd2ec890]
50754
50755 * source/encoder/InterpolationFilter.cpp,
50756 source/encoder/InterpolationFilter.h:
50757 Split interpolationfilter.h and .cpp
50758 [cc54b45a0eac]
50759
50760 * source/encoder/InterpolationFilter.h:
50761 Removed copying coeff to temporary array
50762 [9a69b9fd012f]
50763
50764 * source/Lib/TLibEncoder/TEncSearch.cpp,
50765 source/encoder/InterpolationFilter.h:
50766 modified filter assuming bitDepth is always 8
50767 [1bb0a3358d50]
50768
50769 * source/encoder/InterpolationFilter.h:
50770 Removed filterVertical_pel_pel.
50771 [76a182472142]
50772
50773 * source/encoder/InterpolationFilter.h:
50774 Add memcpy in filterCopy
50775 [6ea7aa1a93c3]
50776
50777 * source/Lib/TLibEncoder/TEncSearch.cpp,
50778 source/encoder/InterpolationFilter.h:
50779 Eliminated redundant operations in filter
50780 [6f17253fe853]
50781
507822013-04-24 Steve Borho <steve@borho.org>
50783
50784 * source/encoder/vec/macroblock.inc:
50785 Merged in praveentiwari/xhevc_praveent (pull request #87)
50786
50787 Vector code for partialButterflyInverse32
50788 [09cf53b336c3]
50789
507902013-04-24 praveentiwari <praveentiwari>
50791
50792 * source/Lib/TLibCommon/TComTrQuant.cpp,
50793 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
50794 vector code for partialButterflyInverse32
50795 [71b1a222d57a]
50796
507972013-04-24 praveen Tiwari <praveen@multicorewareinc.com>
50798
50799 * Merged multicoreware/xhevc into default
50800 [c43e9ed20d1f]
50801
508022013-04-24 praveentiwari <praveentiwari>
50803
50804 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
50805 Test code for partialButterflyInverse32
50806 [e47972d48684]
50807
508082013-04-24 ShinYee Chung <shinyee@multicorewareinc.com>
50809
50810 * source/encoder/InterpolationFilter.h:
50811 Interpolation: Fix unused variable in the horizontal filter.
50812 [3d35a4bbd255]
50813
508142013-04-24 Steve Borho <steve@borho.org>
50815
50816 * source/encoder/InterpolationFilter.h:
50817 fix build on Linux, always use forward slashes in includes
50818 [e4e556b60058]
50819
508202013-04-24 Deepthi <Deepthi>
50821
50822 * Merge
50823 [ebdfe69383cc]
50824
50825 * source/Lib/TLibCommon/TComYuv.cpp:
50826 Static_casts in TComYuv
50827 [8541479eac97]
50828
508292013-04-24 Deepthi Devaki <Deepthi Devaki>
50830
50831 * source/Lib/TLibEncoder/TEncSearch.cpp:
50832 Fixed case mismatch in include
50833 [e345fae910b3]
50834
508352013-04-24 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50836
50837 * source/Lib/TLibEncoder/TEncSearch.cpp:
50838 Merged multicoreware/xhevc into default
50839 [73ed43fb0ef7]
50840
508412013-04-24 Deepthi Devaki <Deepthi Devaki>
50842
50843 * source/encoder/InterpolationFilter.h:
50844 Added InterpolationFilter.h
50845 [74d34f6cd481]
50846
50847 * source/encoder/interpolationFilter.h:
50848 removed interpolationFilter.h
50849 [98afe5c82a2e]
50850
50851 * source/Lib/TLibEncoder/TEncSearch.cpp,
50852 source/encoder/CMakeLists.txt, source/encoder/interpolationFilter.h:
50853 Fixed data types of srcPtr,dstPtr and intPtr.
50854 [1cfc4aa1e5be]
50855
508562013-04-23 Deepthi Devaki <Deepthi Devaki>
50857
50858 * source/Lib/TLibEncoder/TEncSearch.cpp:
50859 Changed typecasting to Pel.
50860 [2a77751c7ab8]
50861
50862 * source/Lib/TLibEncoder/TEncSearch.cpp:
50863 Modified call to Filters based on input/ouput data type
50864 [58cee8796bb4]
50865
50866 * source/encoder/CMakeLists.txt, source/encoder/interpolationFilter.h:
50867 Added new filter functions for different datatypes(Pel or short) for
50868 input/output.
50869 [77b56bf695f2]
50870
508712013-04-23 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50872
50873 * source/Lib/TLibVideoIO/TVideoIO.h,
50874 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
50875 source/Lib/TLibVideoIO/TVideoIOY4m.h,
50876 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
50877 source/Lib/TLibVideoIO/TVideoIOYuv.h,
50878 source/encoder/vec/macroblock.inc:
50879 Merged multicoreware/xhevc into default
50880 [6daee65aa014]
50881
50882 * source/Lib/encoder.cpp, source/Lib/encoder.h,
50883 source/Lib/libmd5/MD5.h, source/Lib/libmd5/libmd5.c,
50884 source/Lib/libmd5/libmd5.h, source/encoder/vec/macroblock.inc:
50885 Merged multicoreware/xhevc into default
50886 [eb50336c8520]
50887
508882013-04-23 Deepthi Devaki <Deepthi Devaki>
50889
50890 * source/encoder/vec/macroblock.inc:
50891 fix the merge conflicts
50892 [2996c71961a0]
50893
508942013-04-19 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50895
50896 * Merged multicoreware/xhevc into default
50897 [afcb19e80d04]
50898
508992013-04-24 Deepthi <Deepthi>
50900
50901 * Merge
50902 [3e006ed9fb6c]
50903
509042013-04-23 Deepthi <Deepthi>
50905
50906 * source/Lib/TLibEncoder/TEncSearch.cpp:
50907 More static_cast in IntraCoding
50908 [979f31a68ee5]
50909
50910 * Merge
50911 [5c3124219338]
50912
50913 * source/Lib/TLibEncoder/TEncSearch.cpp:
50914 static_casts in IntraCoding
50915 [ba3596764ed0]
50916
50917 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
50918 Change to short to prevent infinite loop
50919 [11fe08841d59]
50920
509212013-04-23 Steve Borho <steve@borho.org>
50922
50923 * source/x265enc.cpp:
50924 x265enc: check return status of input.readPicture()
50925 [0484be696c65]
50926
50927 * source/input/y4m.cpp:
50928 input: further y4m reading fixes
50929 [a399bd21bdf5]
50930
50931 * source/input/y4m.cpp:
50932 input: declare header as char[] so sizeof works correctly
50933 [f9a651676c2f]
50934
509352013-04-23 ShinYee Chung <shinyee@multicorewareinc.com>
50936
50937 * source/encoder/md5.cpp:
50938 md5: Fix incorrect memory reset on MD5 context structure.
50939 [fd8e4a7004cd]
50940
509412013-04-23 Steve Borho <steve@borho.org>
50942
50943 * source/test/testbench.cpp:
50944 testbench: report bit depth in testbench output log
50945 [dc2cd230f09d]
50946
50947 * source/encoder/vec/pixel.inc:
50948 pixel: refactor pixel templates, optimizations mostly for 8bpp, see
50949 below
50950
50951 SAD part 16bpp opt 8bpp opt [4x4] 4.88x 4.24x 2.75x 3.16x [8x4]
50952 4.57x 6.40x 4.79x 5.87x [4x8] 4.95x 4.34x 3.08x 3.24x [8x8] 6.63x
50953 6.14x 6.03x 6.98x [4x16] 3.70x 6.10x 3.76x 3.67x [16x4] 8.51x 10.55x
50954 8.77x 10.75x [8x16] 7.08x 6.99x 6.65x 7.83x [16x8] 12.57x 14.31x
50955 11.21x 18.17x [16x16] 15.30x 13.36x 12.80x 26.20x [4x32] 4.83x 4.95x
50956 3.55x 3.99x [32x4] 10.30x 12.03x 7.07x 13.03x [8x32] 6.77x 7.66x
50957 6.43x 8.01x [32x8] 11.01x 14.35x 9.25x 13.80x [16x32] 14.12x 14.24x
50958 13.38x 17.81x [32x16] 10.75x 12.63x 9.72x 19.84x [32x32] 12.11x
50959 12.01x 9.19x 14.41x [4x64] 4.23x 4.12x 4.00x 4.73x [64x4] 11.34x
50960 11.63x 8.53x 14.24x [8x64] 7.68x 7.25x 7.74x 8.32x [64x8] 10.69x
50961 13.61x 8.79x 14.71x [16x64] 12.93x 12.82x 11.45x 21.61x [64x16]
50962 10.37x 10.46x 9.12x 17.29x [32x64] 13.22x 13.03x 10.34x 19.46x
50963 [64x32] 10.49x 10.81x 8.58x 13.40x [64x64] 11.19x 11.34x 9.45x
50964 16.19x
50965 [7dbd423a8820]
50966
50967 * source/VectorClass/vectori128.h:
50968 vec: add two methods to Vec16uc that are handy for pixelcmp
50969 [d45d724f45e4]
50970
50971 * source/x265cfg.cpp:
50972 x265cfg: more HIGH_BIT_DEPTH fixes
50973 [3118ee99c520]
50974
50975 * source/VectorClass/vectori128.h:
50976 vec: fix eoln in vectori128.h
50977 [f0069ad5eb70]
50978
50979 * source/PPA/ppaCPUEvents.h, source/output/y4m.cpp,
50980 source/output/yuv.cpp:
50981 ppa: add profile events for file write
50982 [667b19cb2ca6]
50983
50984 * source/input/input.h, source/input/y4m.h, source/output/y4m.cpp:
50985 nit: prune unnecessary includes
50986 [31f5f01b6a80]
50987
50988 * source/encoder/md5.cpp, source/encoder/md5.h:
50989 nit: hide internal function
50990 [f4b07506d49b]
50991
50992 * source/encoder/threadpool.cpp, source/test/testpool.cpp:
50993 threadpool: fix 32bit Windows __lzcnt_2x32
50994 [6dbcb3afc321]
50995
50996 * doc/uncrustify/codingstyle.cfg:
50997 uncrustify: comment two lines that triggered warnings
50998 [a918e7b44e0d]
50999
51000 * source/Lib/TLibCommon/CommonDef.h,
51001 source/Lib/TLibEncoder/TEncGOP.cpp:
51002 take HM updates up to 10.1rc
51003 [fdace7753eed]
51004
51005 * source/output/output.h, source/output/y4m.h, source/output/yuv.h,
51006 source/x265cfg.cpp:
51007 output: add error handling for output reconstructed video file
51008 [3c4a4ccc8da8]
51009
51010 * source/output/yuv.cpp, source/output/yuv.h:
51011 output: use ofstream for yuv
51012 [5e083ea9e0a7]
51013
51014 * source/output/y4m.cpp, source/output/y4m.h:
51015 output: use ofstream for y4m
51016 [dc215c6aa2ff]
51017
51018 * source/output/output.cpp, source/output/output.h,
51019 source/output/y4m.cpp, source/output/y4m.h, source/x265cfg.cpp:
51020 output: pass frame rate to output file
51021 [8808b77229fe]
51022
51023 * source/x265enc.cpp:
51024 we must initialize the fields which have been deprecated from config
51025 [29c9d0740692]
51026
51027 * source/x265cfg.cpp:
51028 use estimated frame count
51029 [1e3a180ec0ad]
51030
51031 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
51032 source/input/yuv.cpp, source/input/yuv.h:
51033 input: implement guessFrameCount(), use std::ifstream, cleanup Y4M
51034 header read
51035
51036 Prevent double-close of YUV file handle
51037 [7805c8506eda]
51038
51039 * source/x265cfg.h:
51040 white-space nits
51041 [6324d2cd5e04]
51042
51043 * source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp:
51044 cli: make bit depth arguments go away when HIGH_BIT_DEPTH=0,
51045 simplify
51046
51047 Enforce the requirement that the output bit depth cannot be larger
51048 than the internal bit depth. Remove "conformance mode" and aiPad[].
51049 Those operations, including color space adjustments, don't belong in
51050 an encoder. They should be done by a video processing library prior
51051 to the encoder.
51052 [5c453394226c]
51053
51054 * source/encoder/x86/asm-primitives.cpp:
51055 asm-primitives: use #if 0 rather than comments
51056 [2d660854c182]
51057
51058 * source/encoder/vec/pixel.inc:
51059 pixel: add separate implementations for 8bit pixels
51060
51061 the current 8bit versions are sub-optimal. Needs psadbw
51062 [c557f437293c]
51063
51064 * source/encoder/pixel.cpp:
51065 pixel: remove old TODO comment
51066 [c8bef114ec96]
51067
510682013-04-23 nandaku2 <deepthi@multicorewareinc.com>
51069
51070 * Merged in praveentiwari/xhevc_praveent (pull request #84)
51071
51072 Vector code for partialButterflyInverse16
51073 [0e66af1883ad]
51074
510752013-04-23 praveentiwari <praveentiwari>
51076
51077 * source/Lib/TLibCommon/TComTrQuant.cpp,
51078 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51079 Vector code for partialButterflyInverse16
51080 [9703357da52b]
51081
510822013-04-23 praveen Tiwari <praveen@multicorewareinc.com>
51083
51084 * Merged multicoreware/xhevc into default
51085 [788b291a1720]
51086
51087 * Merged multicoreware/xhevc into default
51088 [b6dcceb8ec9e]
51089
51090 * Merged multicoreware/xhevc into default
51091 [d3ed8a3f0be5]
51092
510932013-04-23 praveentiwari <praveentiwari>
51094
51095 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51096 Testcode for partialButterflyInverse16
51097 [15924dfd46bb]
51098
510992013-04-23 praveen Tiwari <praveen@multicorewareinc.com>
51100
51101 * source/Lib/TLibVideoIO/TVideoIO.h,
51102 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
51103 source/Lib/TLibVideoIO/TVideoIOY4m.h,
51104 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
51105 source/Lib/TLibVideoIO/TVideoIOYuv.h:
51106 Merged multicoreware/xhevc into default
51107 [dfa318bc6c1f]
51108
511092013-04-23 praveentiwari <praveentiwari>
51110
51111 * source/encoder/vec/macroblock.inc:
51112 Robust alternative logic for Clip3
51113 [6026e8c2efd5]
51114
511152013-04-23 nandaku2 <deepthi@multicorewareinc.com>
51116
51117 * Merged in ggopu/gopu_xhevc (pull request #83)
51118
51119 Enhanced the Regression suite and added Regression suite for Mingw
51120 and Linux
51121 [e85d16d29d0c]
51122
511232013-04-22 ggopu <ggopu>
51124
51125 * build/BuildEncoderApplications.bat,
51126 build/CreateRegressionPackage.bat, build/CreateRegressionPackage.sh,
51127 build/RunEncoderApplications.bat, build/config.txt:
51128 Enhanced the Regression suite and added Regression suite for Mingw
51129 and Linux
51130 [06e573f8842f]
51131
511322013-04-23 Deepthi <Deepthi>
51133
51134 * source/Lib/TLibVideoIO/TVideoIO.h,
51135 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
51136 source/Lib/TLibVideoIO/TVideoIOY4m.h,
51137 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
51138 source/Lib/TLibVideoIO/TVideoIOYuv.h:
51139 Merge
51140 [e30ef3ca26c8]
51141
51142 * source/Lib/TLibCommon/TComPrediction.cpp:
51143 more precision related static casts in prediction.
51144 [7d9f38dc50a8]
51145
51146 * source/Lib/TLibCommon/TComLoopFilter.cpp:
51147 Deblocking Filter made type safe
51148 [b8763aa9e2cb]
51149
511502013-04-23 Steve Borho <steve@borho.org>
51151
51152 * source/output/y4m.cpp:
51153 output: simplify frame header generation
51154 [a07c8d0cb501]
51155
51156 * source/output/yuv.cpp:
51157 output: handle 16bit YUV output files correctly
51158 [b383da39acb2]
51159
51160 * .hgignore:
51161 hg: ignore y4m files
51162 [5182602454f0]
51163
511642013-04-23 Deepthi <Deepthi>
51165
51166 * source/Lib/TLibCommon/TComLoopFilter.cpp:
51167 static_cast to remove precision loss in loop filter (during Pel type
51168 conversions)
51169 [569611fe5c7c]
51170
511712013-04-23 Steve Borho <steve@borho.org>
51172
51173 * source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
51174 source/output/yuv.h, source/x265cfg.cpp, source/x265enc.cpp:
51175 output: handle 16bit Pel type from the encoder
51176 [4f7100891763]
51177
511782013-04-22 Steve Borho <steve@borho.org>
51179
51180 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
51181 source/Lib/TLibEncoder/TEncTop.h, source/Lib/TLibVideoIO/TVideoIO.h,
51182 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
51183 source/Lib/TLibVideoIO/TVideoIOY4m.h,
51184 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
51185 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/output/CMakeLists.txt,
51186 source/output/output.cpp, source/output/output.h,
51187 source/output/y4m.cpp, source/output/y4m.h, source/output/yuv.cpp,
51188 source/output/yuv.h, source/x265cfg.cpp, source/x265cfg.h,
51189 source/x265enc.cpp, source/x265enc.h:
51190 replace TLibVideoIO with as-yet unimplemented Output classes
51191 [1b5074c2cf17]
51192
511932013-04-23 Steve Borho <steve@borho.org>
51194
51195 * source/Lib/TLibCommon/TComSlice.cpp,
51196 source/Lib/TLibEncoder/TEncCavlc.cpp:
51197 remove unicode chars from HM source
51198 [99deb04e11c5]
51199
51200 * source/test/timer.cpp:
51201 testbench: re-add EMMS calls to timer funcs, for x86 builds
51202
51203 Apparently uint64_t somehow involves the same hardware registers as
51204 MMX on x86
51205 [caa9d879d8bd]
51206
512072013-04-22 Steve Borho <steve@borho.org>
51208
51209 * source/test/timer.cpp:
51210 testbench: fix timer behavior on Linux
51211 [900e90ef3ec6]
51212
51213 * source/test/CMakeLists.txt, source/test/timer.cpp:
51214 testbench: fix Linux compile
51215 [8a71a9d9dd3c]
51216
51217 * source/test/CMakeLists.txt:
51218 cmake: the test bench apps no long need to link with the HM libs
51219 [c34f8aa32544]
51220
51221 * source/test/filterharness.cpp, source/test/mbdstharness.cpp,
51222 source/test/pixelharness.cpp, source/test/testbench.cpp,
51223 source/test/testharness.h, source/test/timer.cpp:
51224 testbench: report only speedups over C reference
51225 [5bf58f12bed0]
51226
51227 * source/x265main.cpp:
51228 fix eoln damage to x265main.cpp
51229 [18a1d0360507]
51230
51231 * source/Lib/CMakeLists.txt, source/Lib/TLibCommon/TComPicYuvMD5.cpp,
51232 source/Lib/TLibEncoder/TEncGOP.cpp, source/Lib/libmd5/MD5.h,
51233 source/Lib/libmd5/libmd5.c, source/Lib/libmd5/libmd5.h,
51234 source/encoder/CMakeLists.txt, source/encoder/md5.cpp,
51235 source/encoder/md5.h, source/test/testpool.cpp:
51236 replace BSD libmd5 library with tweaked GPL MD5 from Min's x265
51237 [4dc1489e326b]
51238
51239 * source/input/y4m.cpp, source/input/yuv.cpp, source/x265enc.cpp:
51240 move file read PPA events inside the file read classes
51241 [ff2e1d6a420c]
51242
51243 * source/x265cfg.cpp:
51244 nit cleanups in x265cfg.cpp
51245 [3a706e89af04]
51246
51247 * source/x265main.cpp:
51248 use correct data type for clock() output
51249 [3a23868f4daf]
51250
51251 * source/x265cfg.cpp, source/x265cfg.h, source/x265main.cpp:
51252 move some bits out of x265main into their proper locations
51253 [fd477ac10863]
51254
51255 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
51256 source/Lib/encoder.cpp, source/Lib/encoder.h, source/x265enc.cpp,
51257 source/x265enc.h, source/x265main.cpp:
51258 move CLI encoder toplevel class out of Lib/ folder
51259 [9fbc3e142f42]
51260
51261 * source/Lib/TLibCommon/TComPicYuv.cpp:
51262 fix eoln of TComPicYuv::copyFromPicture
51263 [00930012bc2b]
51264
51265 * source/Lib/TLibCommon/TComPicYuv.cpp,
51266 source/Lib/TLibCommon/TComPicYuv.h,
51267 source/Lib/TLibEncoder/TEncTop.cpp,
51268 source/Lib/TLibEncoder/TEncTop.h, source/Lib/encoder.cpp,
51269 source/x265cfg.cpp, source/x265cfg.h:
51270 Use Input classes for file reads, bit-exact
51271 [98ea3cd98a49]
51272
51273 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
51274 prune unnecessary Input class methods
51275 [edf1cf197b7f]
51276
51277 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
51278 source/input/yuv.cpp, source/input/yuv.h, source/x265.h:
51279 introduce x265.h - public interface header, C compatible
51280 [1b9dbdbe3b3c]
51281
51282 * source/input/input.h, source/input/y4m.cpp:
51283 input: remove include of internal header
51284 [0fd879feff34]
51285
51286 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
51287 remove ScalingListFile from config files
51288
51289 It was never implemented, and we're unlikely to add it
51290 [d7c1fa3d6c92]
51291
51292 * source/Lib/TLibEncoder/TEncCu.cpp:
51293 white-space tweak to TEncCu.cpp
51294 [fcf2c9a0f811]
51295
51296 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
51297 input tweaks
51298 [c5f827448a65]
51299
51300 * .hgignore:
51301 hg: ignore test run remnants
51302 [2708d9bed556]
51303
513042013-04-21 Steve Borho <steve@borho.org>
51305
51306 * source/CMakeLists.txt:
51307 cmake: set -D_CRT_NONSTDC_NO_DEPRECATE on x265cfg.cpp
51308 [6d42d360d056]
51309
51310 * source/Lib/TLibEncoder/TEncCfg.h:
51311 TEncCfg: minor white-space cleanups
51312 [7d53979cdc0c]
51313
513142013-04-22 nandaku2 <deepthi@multicorewareinc.com>
51315
51316 * Merged in praveentiwari/xhevc_praveent (pull request #82)
51317
51318 Vectorized code for partialButterflyInverse8
51319 [5d949f9e5b57]
51320
513212013-04-22 praveentiwari <praveentiwari>
51322
51323 * source/Lib/TLibCommon/TComTrQuant.cpp,
51324 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51325 Vectorized code for partialButterflyInverse8
51326 [2c0f4fb594da]
51327
51328 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51329 Test code for partialButterflyInverse8
51330 [e1ae28e06e85]
51331
513322013-04-22 praveen Tiwari <praveen@multicorewareinc.com>
51333
51334 * Merged multicoreware/xhevc into default
51335 [e5de08686fce]
51336
513372013-04-22 praveentiwari <praveentiwari>
51338
51339 * source/Lib/TLibCommon/TComTrQuant.cpp,
51340 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51341 Vectorized code for partialButterflyInverse4
51342 [65245e2e352b]
51343
51344 * source/Lib/TLibCommon/TComTrQuant.cpp,
51345 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51346 Vectorized code for partialButterfly8
51347 [2331625b3ed3]
51348
51349 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51350 Test code for partialButterflyInverse4
51351 [70688db2af31]
51352
513532013-04-22 Deepthi <Deepthi>
51354
51355 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
51356 source/Lib/TLibVideoIO/TVideoIOYuv.cpp:
51357 Bit Depth checks.
51358 [303d89672240]
51359
51360 * source/Lib/TLibCommon/TComInterpolationFilter.h,
51361 source/Lib/TLibCommon/TComPrediction.cpp,
51362 source/Lib/TLibEncoder/TEncSearch.cpp:
51363 Final Short* parameter type casts. Now compiles with Pel as UShort.
51364 Output incorrect.
51365 [d2c2078f9a54]
51366
51367 * source/Lib/TLibCommon/TComPrediction.h:
51368 Merge
51369 [83b1e733d352]
51370
513712013-04-21 Deepthi <Deepthi>
51372
51373 * source/Lib/TLibCommon/TComPrediction.h:
51374 Comments
51375 [eadc32e88cc5]
51376
513772013-04-21 Steve Borho <steve@borho.org>
51378
51379 * source/x265cfg.h:
51380 eoln fixes for x265cfg.h
51381 [80b3d7f2ea2b]
51382
51383 * source/cmake/version.cmake:
51384 cmake: print detected xhevc version
51385 [7732fd1be70c]
51386
51387 * source/x265cfg.h:
51388 reintrodude old TVideIO classes, short term fix
51389 [0b3a7f032ca7]
51390
51391 * source/Lib/TLibCommon/TComDataCU.cpp,
51392 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51393 source/Lib/TLibCommon/TComInterpolationFilter.h,
51394 source/Lib/TLibEncoder/TEncCavlc.h:
51395 re-apply some changes that were accidentally backed out
51396 [301365973418]
51397
51398 * source/Lib/TLibCommon/TComSlice.cpp,
51399 source/Lib/TLibCommon/TComSlice.h,
51400 source/Lib/TLibCommon/TComTrQuant.cpp,
51401 source/Lib/TLibCommon/TComTrQuant.h,
51402 source/Lib/TLibCommon/TComWeightPrediction.cpp,
51403 source/Lib/TLibCommon/TComWeightPrediction.h,
51404 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
51405 source/Lib/TLibCommon/TypeDef.h,
51406 source/Lib/TLibEncoder/AnnexBwrite.h,
51407 source/Lib/TLibEncoder/NALwrite.cpp,
51408 source/Lib/TLibEncoder/SEIwrite.cpp,
51409 source/Lib/TLibEncoder/SyntaxElementWriter.h,
51410 source/Lib/TLibEncoder/TEncAnalyze.h,
51411 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
51412 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
51413 source/Lib/TLibEncoder/TEncCavlc.cpp,
51414 source/Lib/TLibEncoder/TEncCavlc.h,
51415 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
51416 source/Lib/TLibEncoder/TEncCu.h,
51417 source/Lib/TLibEncoder/TEncEntropy.cpp,
51418 source/Lib/TLibEncoder/TEncEntropy.h,
51419 source/Lib/TLibEncoder/TEncGOP.cpp,
51420 source/Lib/TLibEncoder/TEncGOP.h,
51421 source/Lib/TLibEncoder/TEncPic.cpp,
51422 source/Lib/TLibEncoder/TEncPic.h,
51423 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
51424 source/Lib/TLibEncoder/TEncRateCtrl.h,
51425 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
51426 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
51427 source/Lib/TLibEncoder/TEncSbac.cpp,
51428 source/Lib/TLibEncoder/TEncSbac.h,
51429 source/Lib/TLibEncoder/TEncSearch.cpp,
51430 source/Lib/TLibEncoder/TEncSearch.h,
51431 source/Lib/TLibEncoder/TEncSlice.cpp,
51432 source/Lib/TLibEncoder/TEncSlice.h,
51433 source/Lib/TLibEncoder/TEncTop.cpp,
51434 source/Lib/TLibEncoder/TEncTop.h,
51435 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
51436 source/Lib/TLibEncoder/WeightPredAnalysis.h:
51437 remaining checkin of HM files
51438 [d1697a1eb39d]
51439
51440 * source/Lib/TLibCommon/TComPrediction.cpp,
51441 source/Lib/TLibCommon/TComPrediction.h,
51442 source/Lib/TLibCommon/TComRdCost.cpp,
51443 source/Lib/TLibCommon/TComRdCost.h,
51444 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
51445 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
51446 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
51447 partial checkin of more HM files
51448 [843a9b287b93]
51449
51450 * source/Lib/TLibCommon/TComPicSym.cpp,
51451 source/Lib/TLibCommon/TComPicSym.h,
51452 source/Lib/TLibCommon/TComPicYuv.cpp,
51453 source/Lib/TLibCommon/TComPicYuv.h:
51454 partial checkin of more HM files
51455 [c34e62ee498a]
51456
51457 * source/Lib/TLibCommon/TComBitStream.h,
51458 source/Lib/TLibCommon/TComDataCU.h,
51459 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51460 source/Lib/TLibCommon/TComInterpolationFilter.h,
51461 source/Lib/TLibCommon/TComList.h,
51462 source/Lib/TLibCommon/TComLoopFilter.cpp,
51463 source/Lib/TLibCommon/TComLoopFilter.h,
51464 source/Lib/TLibCommon/TComMotionInfo.cpp,
51465 source/Lib/TLibCommon/TComMotionInfo.h,
51466 source/Lib/TLibCommon/TComMv.h,
51467 source/Lib/TLibCommon/TComPattern.cpp,
51468 source/Lib/TLibCommon/TComPattern.h,
51469 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
51470 partial checkin of more HM files
51471 [ede16ee58c25]
51472
51473 * source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/SEI.h,
51474 source/Lib/TLibCommon/TComBitStream.h, source/x265cfg.h:
51475 apply uncrustify tweak
51476 [5151eb7614ca]
51477
51478 * doc/uncrustify/codingstyle.cfg:
51479 uncrustify: yet another tweak
51480 [6f329f8be6cb]
51481
51482 * source/Lib/TAppCommon/program_options_lite.cpp,
51483 source/Lib/TAppCommon/program_options_lite.h,
51484 source/Lib/TLibCommon/CommonDef.h,
51485 source/Lib/TLibCommon/ContextModel.cpp,
51486 source/Lib/TLibCommon/ContextModel.h,
51487 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
51488 source/Lib/TLibCommon/ContextModel3DBuffer.h,
51489 source/Lib/TLibCommon/ContextTables.h,
51490 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
51491 source/Lib/TLibCommon/TComBitCounter.h,
51492 source/Lib/TLibCommon/TComBitStream.cpp,
51493 source/Lib/TLibCommon/TComBitStream.h,
51494 source/Lib/TLibCommon/TComDataCU.cpp:
51495 partial checkin of more HM files
51496 [a3e1adc924bc]
51497
51498 * cfg/encoder_I_15P.cfg, source/Lib/encoder.cpp, source/x265cfg.cpp,
51499 source/x265cfg.h:
51500 partial check-in of HM bug fixes - hand tweaking of large table
51501 formats
51502 [b54b96b9d205]
51503
51504 * source/Lib/TAppCommon/program_options_lite.cpp,
51505 source/Lib/TAppCommon/program_options_lite.h,
51506 source/Lib/TLibCommon/CommonDef.h,
51507 source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/SEI.h,
51508 source/Lib/TLibCommon/TComBitCounter.h,
51509 source/Lib/TLibCommon/TComBitStream.cpp,
51510 source/Lib/TLibCommon/TComBitStream.h,
51511 source/Lib/TLibCommon/TComDataCU.cpp,
51512 source/Lib/TLibCommon/TComDataCU.h,
51513 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51514 source/Lib/TLibCommon/TComInterpolationFilter.h,
51515 source/Lib/TLibCommon/TComMotionInfo.h,
51516 source/Lib/TLibCommon/TComMv.h, source/Lib/TLibCommon/TComPattern.h,
51517 source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicSym.h,
51518 source/Lib/TLibCommon/TComPicYuv.cpp,
51519 source/Lib/TLibCommon/TComPicYuv.h,
51520 source/Lib/TLibCommon/TComPrediction.cpp,
51521 source/Lib/TLibCommon/TComPrediction.h,
51522 source/Lib/TLibCommon/TComRdCost.cpp,
51523 source/Lib/TLibCommon/TComRdCost.h,
51524 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
51525 source/Lib/TLibCommon/TComSlice.h,
51526 source/Lib/TLibCommon/TComTrQuant.cpp,
51527 source/Lib/TLibCommon/TComTrQuant.h,
51528 source/Lib/TLibCommon/TComYuv.h,
51529 source/Lib/TLibEncoder/NALwrite.cpp,
51530 source/Lib/TLibEncoder/SyntaxElementWriter.h,
51531 source/Lib/TLibEncoder/TEncAnalyze.h,
51532 source/Lib/TLibEncoder/TEncBinCoder.h,
51533 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
51534 source/Lib/TLibEncoder/TEncCavlc.h,
51535 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.h,
51536 source/Lib/TLibEncoder/TEncEntropy.h,
51537 source/Lib/TLibEncoder/TEncGOP.h,
51538 source/Lib/TLibEncoder/TEncPic.cpp,
51539 source/Lib/TLibEncoder/TEncPic.h,
51540 source/Lib/TLibEncoder/TEncRateCtrl.h,
51541 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
51542 source/Lib/TLibEncoder/TEncSbac.h,
51543 source/Lib/TLibEncoder/TEncSearch.h,
51544 source/Lib/TLibEncoder/TEncSlice.cpp,
51545 source/Lib/TLibEncoder/TEncSlice.h,
51546 source/Lib/TLibEncoder/TEncTop.cpp,
51547 source/Lib/TLibEncoder/TEncTop.h,
51548 source/Lib/TLibVideoIO/TVideoIOY4m.h, source/Lib/encoder.cpp,
51549 source/encoder/pixel.cpp, source/encoder/primitives.cpp,
51550 source/encoder/primitives.h, source/encoder/threading.cpp,
51551 source/encoder/threadpool.cpp, source/encoder/vec/pixel.inc,
51552 source/encoder/vec/vec-primitives.cpp,
51553 source/encoder/vec/vecprimitives.inc, source/input/input.cpp,
51554 source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
51555 source/input/yuv.h, source/test/filterharness.cpp,
51556 source/test/filterharness.h, source/test/mbdstharness.cpp,
51557 source/test/pixelharness.cpp, source/test/pixelharness.h,
51558 source/test/testbench.cpp, source/test/testharness.h,
51559 source/test/testpool.cpp, source/test/timer.cpp:
51560 uncrustify: apply coding style tweaks
51561
51562 The new style needed to be in place before I updated the HM code, in
51563 order to reduce the number of diffs to sift through.
51564 [6d038ab13735]
51565
51566 * doc/uncrustify/codingstyle.cfg:
51567 uncrustify: more tweaks to style setting
51568 [c451dbda7d94]
51569
51570 * doc/uncrustify/apply-to-all-source.py,
51571 doc/uncrustify/codingstyle.cfg, doc/uncrustify/uncrustify.exe:
51572 uncrustify: update uncrustify executable
51573 [46c33fbe9333]
51574
51575 * source/encoder/x86/asm-primitives.cpp:
51576 asm: disable SAD assembly to get back to bit-exact outputs
51577
51578 Perhaps a data alignment problem, or arguments in the wrong order
51579 somewhere
51580 [33d2ebf5f487]
51581
51582 * Merge
51583 [3fe21a59f6fd]
51584
515852013-04-21 Deepthi <Deepthi>
51586
51587 * source/Lib/TLibCommon/TComPrediction.cpp,
51588 source/Lib/TLibCommon/TComPrediction.h:
51589 Cleanups; remove TComYUV structure.
51590 [581d2044bf91]
51591
51592 * source/Lib/TLibEncoder/TEncSearch.cpp:
51593 Replace TComYUV class by TShortYUV
51594 [c9777c7b75fe]
51595
51596 * source/Lib/TLibCommon/TComPrediction.h:
51597 More members functions added to TShortYUV
51598 [64fc6448254c]
51599
51600 * source/Lib/TLibCommon/TComPrediction.cpp,
51601 source/Lib/TLibCommon/TComPrediction.h:
51602 Create and destroy filteredTmp class
51603 [01deb523db8b]
51604
51605 * source/Lib/TLibCommon/TComPrediction.h:
51606 Defining a new class for holding Short YUV buffers. This will
51607 replace the Pel YUV intermediate buffers in filter interpolation.
51608 [24500d602afd]
51609
516102013-04-20 Steve Borho <steve@borho.org>
51611
51612 * source/encoder/macroblock.cpp:
51613 cleanup some unfortunate uncrustify expression reflows
51614 [a9e3b68b81d9]
51615
516162013-04-20 Mandar Gurav <Mandar Gurav>
51617
51618 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51619 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
51620 source/test/filterharness.cpp:
51621 * Implemented vectorization of Filter_horizontal_4
51622 * Uncrustify all the commit files
51623 * Print one more field (speedup = c_time/vec_time) in testbench
51624 [d5eaa39bf3b6]
51625
516262013-04-20 Deepthi <Deepthi>
51627
51628 * source/Lib/TLibCommon/TComPrediction.cpp:
51629 Changing the intermediate filtering output to short-lived heap
51630 memory (type short).
51631 [e8b8232ddbb2]
51632
51633 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51634 source/encoder/macroblock.cpp, source/encoder/primitives.h,
51635 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51636 Merge
51637 [e77a39c2105c]
51638
516392013-04-19 Mandar Gurav <Mandar Gurav>
51640
51641 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51642 Filter Horizontal vectorization stage 2
51643 [6f25724b3f93]
51644
516452013-04-19 Mandar Gurav <mandar@multicorewareinc.com>
51646
51647 * Merged multicoreware/xhevc into default
51648 [aa8a54f38812]
51649
51650 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51651 source/encoder/macroblock.cpp, source/encoder/primitives.h,
51652 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51653 Merged multicoreware/xhevc into default
51654 [0e019be400f8]
51655
51656 * source/encoder/macroblock.cpp:
51657 Merged multicoreware/xhevc into default
51658 [dc9f04885f43]
51659
516602013-04-17 Mandar Gurav <mandar@multicorewareinc.com>
51661
51662 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51663 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
51664 source/test/filterharness.cpp:
51665 Merged multicoreware/xhevc into default
51666 [7ea883f9071d]
51667
516682013-04-18 Mandar Gurav <Mandar Gurav>
51669
51670 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
51671 Copy file directly from xhevc.
51672 [2b8e435f91bb]
51673
516742013-04-17 Mandar Gurav <mandar@multicorewareinc.com>
51675
51676 * build/RegressionTester.bat, source/Lib/config.cpp,
51677 source/Lib/config.h, source/encoder/macroblock.cpp,
51678 source/encoder/primitives.h, source/encoder/vec/macroblock.inc,
51679 source/test/filterharness.cpp:
51680 Merged multicoreware/xhevc into default
51681 [7f14170ed329]
51682
516832013-04-17 Mandar Gurav <Mandar Gurav>
51684
51685 * source/encoder/primitives.h:
51686 Move to Xhevc source stage 2
51687 [a45e2efa1fd6]
51688
51689 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
51690 source/test/filterharness.cpp:
51691 Move to latest xhevc source
51692 [b9152b69273b]
51693
51694 * source/encoder/macroblock.cpp:
51695 Revert changes
51696 [d451573343a3]
51697
51698 * source/encoder/macroblock.cpp:
51699 Copy file directly from xHEVC
51700 [aabf6e1c4ce3]
51701
517022013-04-16 Mandar Gurav <Mandar Gurav>
51703
51704 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51705 source/encoder/macroblock.cpp, source/encoder/primitives.h,
51706 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51707 Restrctured filter function calling/template as per the discussion
51708 [675639180295]
51709
517102013-04-20 Deepthi <Deepthi>
51711
51712 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
51713 source/encoder/vec/macroblock.inc:
51714 Merge
51715 [a8918bd5c534]
51716
51717 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51718 source/Lib/TLibCommon/TComInterpolationFilter.h,
51719 source/encoder/macroblock.cpp, source/encoder/primitives.h,
51720 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp,
51721 source/test/filterharness.h:
51722 Changing all filter interpolation primitives to accept short
51723 pointers.
51724 [53e2f960638a]
51725
51726 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51727 source/Lib/TLibCommon/TComInterpolationFilter.h:
51728 Changing all filter interpolation functions to accept Short
51729 pointers.
51730 [55d414249baa]
51731
517322013-04-19 Steve Borho <steve@borho.org>
51733
51734 * source/encoder/x86/CMakeLists.txt:
51735 cmake: use .obj extension for ASM compilation outputs, makes VS
51736 happier
51737 [e81ef56a1f28]
51738
51739 * source/CMakeLists.txt:
51740 cmake: enable /Oi flag globally for Visual Studio
51741
51742 This makes the test bench run faster compiled with VS than with GCC
51743 [e4cbdf357e3d]
51744
51745 * source/Lib/TLibCommon/TComRdCost.cpp,
51746 source/Lib/TLibEncoder/TEncSearch.cpp:
51747 add x264_cpu_emms() in some likely locations
51748 [454a38de0b89]
51749
51750 * source/encoder/x86/asm-primitives.cpp:
51751 asm: disable many of the sa8d_8x8 functions, they are causing
51752 crashes
51753
51754 (perhaps misalingment related, don't know. this will have to be
51755 revisited later)
51756 [9fa4ad5c65bf]
51757
51758 * source/encoder/x86/asm-primitives.cpp:
51759 asm: enable many more primitives, leave bunches disabled
51760
51761 Many of the high-bit depth primitives seem to be busted, they cause
51762 stack corruption even when called from GCC, at least the versions we
51763 have here.
51764 [b6c387c6256b]
51765
51766 * source/test/pixelharness.cpp:
51767 pixelharness: tweak print statements to show progress more clearly
51768 [796e05062cdc]
51769
51770 * source/encoder/x86/CMakeLists.txt:
51771 cmake: pass ARCH_X86_64 flag to asm-primitives.cpp
51772 [e81431e4bf6c]
51773
51774 * source/encoder/vec/pixel.inc:
51775 pixel: add a 16x4 satd vector primitive
51776 [ea89ec5d7ace]
51777
51778 * source/encoder/pixel.cpp:
51779 pixel: fix larger dimension satd C primitives, using simple template
51780 [b899a70a433b]
51781
51782 * source/encoder/x86/CMakeLists.txt, source/encoder/x86/sad-a.asm:
51783 cmake: add x264's sad-a.asm for more SAD functions
51784 [55920369b223]
51785
51786 * source/encoder/x86/CMakeLists.txt:
51787 cmake: fix linking of assembly code with MSVC x86
51788 [2b777b1de100]
51789
51790 * source/encoder/x86/asm-primitives.cpp:
51791 asm-primitives: repair EOLN
51792 [b758e0607830]
51793
51794 * source/input/yuv.cpp:
51795 yuv: fix MSVC x86 compiler warning
51796 [789f01fd0555]
51797
51798 * source/encoder/primitives.h, source/encoder/x86/CMakeLists.txt,
51799 source/encoder/x86/asm-primitives.cpp:
51800 cmake: fix linking of assembly code with MSVC builds (rename outputs
51801 to .lib)
51802 [06c9c88a35a8]
51803
51804 * source/encoder/primitives.h, source/encoder/x86/CMakeLists.txt,
51805 source/encoder/x86/asm-primitives.cpp, source/encoder/x86/cpu-a.asm,
51806 source/test/CMakeLists.txt, source/test/timer.cpp:
51807 asm: pull in cpu-a.asm from x264, includes EMMS function
51808
51809 The intrinsic support for EMMS is broken with MS compilers, so we
51810 have to use this short function provided by x264. We could improve
51811 this somewhat with inline assembly in primitives.h, but it would
51812 have to be cross-compiler.
51813
51814 linking the assembly with MSVC seems clearly broken
51815 [42546d6bb2da]
51816
51817 * source/Lib/TLibCommon/TComTrQuant.cpp,
51818 source/Lib/TLibVideoIO/TVideoIOY4m.h:
51819 EOLN repair in HM files
51820 [11cf80f51ee9]
51821
51822 * source/cmake/CMakeASM_YASMInformation.cmake,
51823 source/cmake/CMakeDetermineASM_YASMCompiler.cmake,
51824 source/cmake/CMakeTestASM_YASMCompiler.cmake,
51825 source/cmake/version.cmake:
51826 cmake: dos to unix eoln
51827 [b7668187381e]
51828
51829 * source/test/timer.cpp:
51830 timer: issue EMMS before attempting any floating point math
51831 [ea5150ee49a4]
51832
51833 * source/cmake/CMakeASM_YASMInformation.cmake, source/encoder/x86/asm-
51834 primitives.cpp, source/test/CMakeLists.txt:
51835 cmake: fix GCC Win32 linkage with x264 assembly
51836 [74d0c855ad7d]
51837
51838 * source/input/y4m.cpp:
51839 input: fix GCC build
51840 [234401a376c3]
51841
51842 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
51843 source/input/yuv.cpp, source/input/yuv.h:
51844 input: remove unnecessary public methods, cleanup read functions
51845
51846 fread returns the count of elements read. The file reader should
51847 know nothing about margins.
51848 [40d080f01e1b]
51849
51850 * source/input/y4m.cpp, source/input/yuv.cpp:
51851 input: fix compile warnings
51852 [875679b4cb08]
51853
51854 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
51855 source/input/yuv.cpp, source/input/yuv.h:
51856 input: update headers and classes
51857 [aa83c6072932]
51858
518592013-04-18 Steve Borho <steve@borho.org>
51860
51861 * source/encoder/macroblock.cpp:
51862 macroblock: move warning disable to top of file, remove dups
51863 [358d7a322561]
51864
518652013-04-19 Steve Borho <steve@borho.org>
51866
51867 * Merged in praveentiwari/xhevc_praveent (pull request #78)
51868
51869 Vectorized code for partialButterfly32
51870 [fe41a1e01a93]
51871
518722013-04-19 praveentiwari <praveentiwari>
51873
51874 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51875 Test code of partialButterfly8
51876 [1f6cd6ba73f8]
51877
518782013-04-19 praveen Tiwari <praveen@multicorewareinc.com>
51879
51880 * source/Lib/TLibCommon/TComTrQuant.cpp:
51881 Merged multicoreware/xhevc into default
51882 [cc32f7a1aacf]
51883
51884 * source/encoder/vec/macroblock.inc:
51885 Merged multicoreware/xhevc into default
51886 [c2a7b5bce16e]
51887
51888 * source/encoder/vec/macroblock.inc:
51889 Merged multicoreware/xhevc into default
51890 [37b3da3c6bf9]
51891
518922013-04-19 praveentiwari <praveentiwari>
51893
51894 * source/Lib/TLibCommon/TComTrQuant.cpp,
51895 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51896 Vectorized code for partialButterfly32
51897 [961ebc25f630]
51898
518992013-04-19 Steve Borho <steve@borho.org>
51900
51901 * Merge
51902 [d613c2fde0f8]
51903
519042013-04-19 Deepthi <Deepthi>
51905
51906 * source/Lib/TLibCommon/TComTrQuant.cpp:
51907 Changing 16-bit hard coded memory copy in TComTrQuant::xT
51908 [8a517c789bbb]
51909
51910 * source/Lib/TLibCommon/TComTrQuant.cpp:
51911 Changing 16-bit hard coded memory copy in TComTrQuant::xIT
51912 [3e327e235ef6]
51913
519142013-04-19 Deepthi Devaki <Deepthi Devaki>
51915
51916 * source/encoder/vec/macroblock.inc:
51917 Fix build issue in macroblock.inc with Mingw, Msys
51918 [45b7819d08eb]
51919
519202013-04-19 Deepthi <Deepthi>
51921
51922 * source/encoder/vec/macroblock.inc:
51923 Comment
51924 [4252824d518f]
51925
519262013-04-19 Deepthi Devaki <Deepthi Devaki>
51927
51928 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51929 Vertical Filter - vector primitive with 32 bit operations.
51930 [5334266bbebb]
51931
51932 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51933 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51934 Filter C - primitive with isFirst, isLast and 32 bit sums.
51935 [f517af8fa3e1]
51936
519372013-04-19 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
51938
51939 * source/encoder/macroblock.cpp:
51940 Merged multicoreware/xhevc into default
51941 [b95fa4555d92]
51942
519432013-04-19 Deepthi Devaki <Deepthi Devaki>
51944
51945 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51946 source/encoder/macroblock.cpp, source/encoder/primitives.h,
51947 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51948 Backed out changeset: c51b962d2155
51949 [53fe4175ecf6]
51950
519512013-04-18 Rajesh <Rajesh>
51952
51953 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51954 source/encoder/macroblock.cpp, source/encoder/primitives.h,
51955 source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51956 Changed the array of Filter function pointers in primitives.h to
51957 have only Filter[V_8] and FIlter[V_4].
51958 [c51b962d2155]
51959
519602013-04-19 praveentiwari <praveentiwari>
51961
51962 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51963 Test code for partialButterfly32
51964 [7d9db6232717]
51965
519662013-04-18 Steve Borho <steve@borho.org>
51967
51968 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
51969 cmake: move CPRIMITIVES variable creation into
51970 source/encoder/CMakeLists.txt
51971 [d69532344cd2]
51972
51973 * source/encoder/CMakeLists.txt:
51974 cmake: document the reason for the -march-i686 flag
51975 [f86cfcd39cda]
51976
51977 * source/encoder/threading.cpp, source/encoder/threading.h,
51978 source/encoder/threadpool.cpp:
51979 threading: cleanup of shutdown methods
51980
51981 This fixes the deadlock we see once 1 in 1 million runs of the pool
51982 test.
51983 [189956c5ac7e]
51984
51985 * source/encoder/primitives.cpp:
51986 primitives: remove PartitionFromSizes if primitives are disabled
51987 [1b4bcbe0b604]
51988
51989 * source/encoder/primitives.cpp, source/x265main.cpp:
51990 primitives: report primitive compilation settings when setting up
51991 primitives
51992 [622eada81044]
51993
51994 * source/encoder/primitives.cpp:
51995 primitives: fix GCC compile without primitives
51996 [f77e4badb7c3]
51997
51998 * source/test/testbench.cpp:
51999 testbench: allow to compile without primitives
52000 [906891cfca09]
52001
520022013-04-18 Deepthi <Deepthi>
52003
52004 * source/encoder/macroblock.cpp:
52005 reverting vertical filter to isLast and isFirst as template
52006 arguments.
52007 [ba92d2b802b0]
52008
520092013-04-17 Steve Borho <steve@borho.org>
52010
52011 * source/encoder/threadpool.cpp:
52012 threadpool: ensure threads spin up before allowing any jobs to
52013 enqueue
52014 [1711ba4cbae9]
52015
52016 * source/test/testpool.cpp:
52017 testpool: output nothing to stdout unless hashes mismatch
52018 [7a831fa74921]
52019
52020 * source/encoder/threadpool.cpp, source/encoder/threadpool.h,
52021 source/test/testpool.cpp:
52022 threadpool: prevent threads seing partially destroyed job providers
52023 [1c05ce459601]
52024
52025 * source/encoder/x86/asm-primitives.cpp, source/test/mbdstharness.cpp:
52026 further GCC fixes
52027 [4817f4da5c71]
52028
52029 * source/encoder/vec/macroblock.inc:
52030 vec: fix GCC build of macroblock.inc
52031 [75bd4e212561]
52032
52033 * source/encoder/threadpool.cpp:
52034 threadpool: add a mechanism to determine safety of job provider
52035 deletion
52036 [bada21fa0e75]
52037
52038 * source/encoder/x86/CMakeLists.txt:
52039 cmake: unify assembly file list, use a common object file name
52040 [4d8da41d0a98]
52041
520422013-04-18 Steve Borho <steve@borho.org>
52043
52044 * source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
52045 primitives.cpp, source/encoder/x86/const-a.asm:
52046 asm: Fix integrations of pixel-a.asm.
52047 [2ac269a795fe]
52048
520492013-04-18 Deepthi <Deepthi>
52050
52051 * source/encoder/vec/macroblock.inc:
52052 Merge
52053 [72ad141d57f3]
52054
520552013-04-17 Deepthi <Deepthi>
52056
52057 * source/encoder/vec/macroblock.inc:
52058 Merge
52059 [69fe3d55e91b]
52060
52061 * merged
52062 [125be1e48dcd]
52063
520642013-04-17 Deepthi Devaki <Deepthi Devaki>
52065
52066 * source/encoder/vec/macroblock.inc:
52067 Modified vertical_filter to pre-load coeff
52068 [e162b60189b8]
52069
52070 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
52071 Backed out changeset: b520a3ddbf36
52072 [082f8068d4cd]
52073
52074 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
52075 Modified vertical_filter to pre-load coeff
52076 [b520a3ddbf36]
52077
52078 * source/encoder/vec/macroblock.inc:
52079 Backed out changeset: 0848ac28c541
52080 [31b64b009d89]
52081
52082 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52083 Backed out changeset: fbbc5ec48951
52084 [df782495c742]
52085
52086 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52087 Backed out changeset: bd537ec0cba7
52088 [fbbc5ec48951]
52089
52090 * source/encoder/vec/macroblock.inc:
52091 Backed out changeset: db0ac8504e1a
52092 [0848ac28c541]
52093
52094 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
52095 Modifed TComInterpolationFilter.cpp to call vertical-filter
52096 primitives
52097 [2b049a973793]
52098
52099 * source/test/filterharness.cpp:
52100 Modifed filterharness to test vertical filter.
52101 [25b506f908ff]
52102
52103 * source/encoder/vec/macroblock.inc:
52104 Modifed vertical-filter
52105 [db0ac8504e1a]
52106
52107 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52108 Added vectorized vertical Filter
52109 [bd537ec0cba7]
52110
52111 * source/encoder/macroblock.cpp:
52112 Added filter_Vertical C-primitive with isFirst = isLAst = True
52113 always.
52114 [808c38c73c93]
52115
52116 * source/encoder/macroblock.cpp:
52117 Added filter_Vertical C-primitive with isFirst = isLAst = True
52118 always.
52119 [1fe37c453312]
52120
521212013-04-17 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52122
52123 * build/RegressionTester.bat, source/Lib/config.cpp,
52124 source/Lib/config.h, source/encoder/macroblock.cpp:
52125 Merged multicoreware/xhevc into default
52126 [4c19cddce21b]
52127
521282013-04-17 Deepthi Devaki <Deepthi Devaki>
52129
52130 * source/encoder/macroblock.cpp:
52131 Backed out changeset: 0826f419aa6d
52132 [e93b9f1e9f10]
52133
521342013-04-16 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52135
52136 * Merged multicoreware/xhevc into default
52137 [66c24df49d97]
52138
521392013-04-15 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52140
52141 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52142 source/encoder/macroblock.cpp:
52143 Merged multicoreware/xhevc into default
52144 [f05a5d3879f0]
52145
521462013-04-15 Deepthi Devaki <Deepthi Devaki>
52147
52148 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
52149 Backed out changeset: 0826f419aa6d
52150 [7f8daed75336]
52151
521522013-04-12 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52153
52154 * source/encoder/macroblock.cpp:
52155 Merged multicoreware/xhevc into default
52156 [755bda7f920c]
52157
521582013-04-12 Rajesh <Rajesh>
52159
52160 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52161 source/encoder/macroblock.cpp:
52162 Added filter c primitive to macroblock.cpp. Changed
52163 TComInterpolationfilter.cpp to call filter primitives
52164 [0826f419aa6d]
52165
521662013-03-26 deepthidevaki <deepthidevaki>
52167
52168 * source/encoder/TComRdCost_SSE.cpp:
52169 Modified xCalcHADs4x4 for better optimization
52170 [6b9e69b013e8]
52171
521722013-04-17 Deepthi <Deepthi>
52173
52174 * source/Lib/TLibCommon/TComTrQuant.cpp:
52175 MingW support for alignment.
52176 [91412bd3a9a8]
52177
521782013-04-17 praveentiwari <praveentiwari>
52179
52180 * source/encoder/vec/macroblock.inc:
52181 partialButterfly16 vectorized code
52182 [e590f654128d]
52183
521842013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
52185
52186 * source/encoder/vec/macroblock.inc:
52187 Merged multicoreware/xhevc into default
52188 [f98bb4be9285]
52189
521902013-04-17 praveentiwari <praveentiwari>
52191
52192 * source/encoder/vec/macroblock.inc:
52193 solving merge conflict
52194 [745408cf439a]
52195
52196 * source/encoder/vec/macroblock.inc:
52197 merge conflict
52198 [0273e986d1ca]
52199
52200 * source/encoder/vec/macroblock.inc:
52201 solving merge conflict
52202 [ee1fec0bfdc3]
52203
52204 * source/encoder/vec/macroblock.inc:
52205 solving merge conflict
52206 [9ac0ab2c4469]
52207
52208 * source/encoder/vec/macroblock.inc:
52209 Replaced Vec16s and Vec8i usage with Vec8s and Vec4i for Vec-
52210 partialButterfly16
52211 [70f2f5526c71]
52212
522132013-04-17 Deepthi <Deepthi>
52214
52215 * source/Lib/TLibCommon/TComTrQuant.cpp,
52216 source/encoder/vec/macroblock.inc:
52217 Enforcing memory alignment in inversedst.
52218 [e7784727f33b]
52219
52220 * source/test/mbdstharness.cpp:
52221 Aligned mem in mbdst test harness
52222 [4580bf5d1062]
52223
52224 * source/encoder/vec/macroblock.inc:
52225 Removing extraneous min,max - performance improvements by 20%
52226 [882c40e8df1a]
52227
52228 * source/encoder/vec/macroblock.inc:
52229 Merge
52230 [7c3b537734e1]
52231
522322013-04-17 praveentiwari <praveentiwari>
52233
52234 * source/test/butterflyharness.cpp, source/test/butterflyharness.h:
52235 removed butterflyharness files
52236 [c0a349fc04e6]
52237
522382013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
52239
52240 * Merged multicoreware/xhevc into default
52241 [12c9c9bceb8c]
52242
522432013-04-17 praveentiwari <praveentiwari>
52244
52245 * source/test/CMakeLists.txt, source/test/mbdstharness.cpp,
52246 source/test/mbdstharness.h, source/test/testbench.cpp:
52247 Moved the butterfly-harness into mbdst-harness
52248 [d2e5c53f22d2]
52249
522502013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
52251
52252 * build/RegressionTester.bat, source/Lib/config.cpp,
52253 source/Lib/config.h, source/encoder/macroblock.cpp,
52254 source/test/CMakeLists.txt:
52255 Merged multicoreware/xhevc into default
52256 [170e9ffd084e]
52257
522582013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
52259
52260 * source/encoder/macroblock.cpp:
52261 Merged multicoreware/xhevc into default
52262 [a266c75a843d]
52263
522642013-04-16 praveentiwari <praveentiwari>
52265
52266 * source/test/CMakeLists.txt:
52267 Included butterflyharness.h and .cpp file in make file
52268 [d24a9c1f7f3e]
52269
52270 * source/test/butterflyharness.cpp:
52271 Increased the buffer size and used more meaningful name in Test Code
52272 of partialButterfly16
52273 [3b621b943630]
52274
522752013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
52276
52277 * Merged multicoreware/xhevc into default
52278 [2df037f5f4a2]
52279
522802013-04-16 praveentiwari <praveentiwari>
52281
52282 * source/Lib/TLibCommon/TComTrQuant.cpp,
52283 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52284 Added vectorized code for partialButterfly16 and removed unused
52285 function code
52286 [8effa08eff14]
52287
52288 * source/test/butterflyharness.cpp, source/test/butterflyharness.h,
52289 source/test/testbench.cpp:
52290 Test Suit for partialButterfly16
52291 [641d56d61ba2]
52292
522932013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
52294
52295 * source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
52296 Merged multicoreware/xhevc into default
52297 [e75d8a96b2b8]
52298
522992013-04-16 praveentiwari <praveentiwari>
52300
52301 * source/test/testbench.cpp:
52302 TestBench MergeConflict
52303 [5be23aedc1d5]
52304
52305 * source/test/testbench.cpp:
52306 Merge conflict
52307 [c5d7681b866f]
52308
52309 * source/test/testbench.cpp:
52310 Solving merge conflict with TestBench.cpp
52311 [42821ff0e1d5]
52312
52313 * source/test/testbench.cpp:
52314 Solving merge conflict with Testbench.cpp
52315 [fd6fae9fb6fa]
52316
523172013-04-15 praveentiwari <praveentiwari>
52318
52319 * source/Lib/TLibCommon/TComTrQuant.cpp,
52320 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52321 Added Primitives for partialButterfly32
52322 [9c97c040fc19]
52323
523242013-04-15 praveen Tiwari <praveen@multicorewareinc.com>
52325
52326 * source/test/testbench.cpp:
52327 Merged multicoreware/xhevc into default
52328 [237ff80c3bd1]
52329
523302013-04-15 praveentiwari <praveentiwari>
52331
52332 * source/Lib/TLibCommon/TComTrQuant.cpp, source/encoder/butterfly.h,
52333 source/encoder/macroblock.cpp, source/encoder/primitives.h,
52334 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
52335 Fixed alignment problem with partialButterfly16
52336 [1239bf84868c]
52337
52338 * source/Lib/TLibCommon/TComTrQuant.cpp:
52339 Fixed alignment problem with ENABLE_PRIMITIVES switch for
52340 partialButterfly16
52341 [48d8838f4298]
52342
52343 * source/Lib/TLibCommon/TComTrQuant.cpp,
52344 source/encoder/macroblock.cpp, source/encoder/primitives.h,
52345 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
52346 Added ENABLE_PRIMITIVES switch for partialButterfly16
52347 [9b87cb3d8c84]
52348
523492013-04-15 praveen Tiwari <praveen@multicorewareinc.com>
52350
52351 * Merged multicoreware/xhevc into default
52352 [35e483e872ff]
52353
52354 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52355 source/encoder/vec/macroblock.inc:
52356 Merged multicoreware/xhevc into default
52357 [af2db6bbb5a7]
52358
523592013-04-12 praveen Tiwari <praveen@multicorewareinc.com>
52360
52361 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52362 source/encoder/vec/macroblock.inc:
52363 Merged multicoreware/xhevc into default
52364 [7413fc103a3e]
52365
52366 * source/encoder/macroblock.cpp:
52367 Merged multicoreware/xhevc into default
52368 [70abf8d31e02]
52369
523702013-04-11 praveen Tiwari <praveen@multicorewareinc.com>
52371
52372 * Merged multicoreware/xhevc into default
52373 [4d7790972b0e]
52374
52375 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52376 source/encoder/vec/macroblock.inc:
52377 Merged multicoreware/xhevc into default
52378 [71ca57e3681f]
52379
523802013-04-10 praveen Tiwari <praveen@multicorewareinc.com>
52381
52382 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52383 source/encoder/vec/macroblock.inc:
52384 Merged multicoreware/xhevc into default
52385 [9687e766009f]
52386
523872013-04-10 praveentiwari <praveentiwari>
52388
52389 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52390 source/encoder/vec/macroblock.inc:
52391 resolving merge conflict
52392 [00c935e908ce]
52393
52394 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52395 source/encoder/vec/macroblock.inc:
52396 Added C and Vector primitives for partialButterfly16
52397 [93846235af07]
52398
52399 * source/encoder/butterfly.h:
52400 Created butterfly.h to read the value from the g_aiT array
52401 [6d234bd90345]
52402
524032013-04-17 Deepthi <Deepthi>
52404
52405 * test_new.rtf:
52406 Delete test commit
52407 [1ad18182408d]
52408
52409 * test_new.rtf:
52410 Test commit
52411 [59aec92c8f61]
52412
524132013-04-16 Steve Borho <steve@borho.org>
52414
52415 * source/encoder/x86/CMakeLists.txt:
52416 cmake: figure out a workaround for YASM builds of assembly files
52417 with MSVC
52418 [28408d0ef0f7]
52419
52420 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
52421 source/encoder/vec/CMakeLists.txt,
52422 source/encoder/x86/CMakeLists.txt:
52423 cmake: allow YASM to be used by MSVC, even though its currently
52424 broken
52425
52426 Rename primitive projects so they sort together in VC
52427 [ffe6cf7be445]
52428
52429 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
52430 source/Lib/config.cpp, source/Lib/config.h, source/Lib/encoder.h,
52431 source/input/CMakeLists.txt, source/input/input.cpp,
52432 source/input/input.h, source/input/y4m.cpp, source/input/y4m.h,
52433 source/input/yuv.cpp, source/input/yuv.h, source/x265cfg.cpp,
52434 source/x265cfg.h:
52435 establish a new input file library, move CLI and command parsing to
52436 x265-cli
52437 [8163e7e7b324]
52438
52439 * source/test/CMakeLists.txt:
52440 cmake: disable the pool test by default, even when tests are enabled
52441
52442 Now that its functional, not many people will want to build/run it
52443 [5d16e9d82d62]
52444
52445 * source/test/timer.cpp:
52446 timer: replace NULL with 0
52447 [a182530927da]
52448
52449 * source/test/pixelharness.cpp:
52450 pixelharness: fix MinGW build
52451 [4c2412305e62]
52452
52453 * source/test/timer.cpp:
52454 timer: use native Windows high resolution timer
52455 [4f65489aaaf1]
52456
52457 * source/test/filterharness.cpp, source/test/filterharness.h,
52458 source/test/mbdstharness.cpp, source/test/mbdstharness.h,
52459 source/test/pixelharness.cpp, source/test/pixelharness.h,
52460 source/test/testharness.h:
52461 dos to unix eoln for test harnesses
52462 [26baba09de44]
52463
52464 * source/test/testpool.cpp:
52465 trim trailing white-space
52466 [4f1719887601]
52467
52468 * source/test/testpool.cpp:
52469 testpool: verify below row is restartable
52470
52471 output is now deterministic regardless of thread count
52472 [19ba1f4edaf2]
52473
52474 * source/encoder/macroblock.cpp:
52475 Partial Backout changeset: 81101974408f
52476 [d03b4fa32d79]
52477
52478 * build/BuildEncoderApplications.bat:
52479 white-space cleanup in BuildEncoderApplications.bat
52480 [71a75afbb8e8]
52481
52482 * build/RegressionTester.bat:
52483 Merge
52484 [ce10cac4ce71]
52485
52486 * source/test/pixelharness.cpp:
52487 testbench: add a POSIX friendly aligned malloc, pad to 32 bytes
52488 [9e1a1faad621]
52489
524902013-04-16 Deepthi <Deepthi>
52491
52492 * source/encoder/macroblock.cpp:
52493 Changing 32-bit multiplies to 16-bit multiplies for filter. (This
52494 may need more testing).
52495 [81101974408f]
52496
52497 * source/test/pixelharness.cpp:
52498 Aligned mallocs and frees in pixel buffers
52499 [defda4cf08c2]
52500
525012013-04-16 nandaku2 <deepthi@multicorewareinc.com>
52502
52503 * build/RegressionTester.bat:
52504 Merged in ggopu/gopu_xhevc (pull request #66)
52505
52506 Redesigned the Regression test script - the script will be
52507 compatible for vc 9, vc 10 and vc 11
52508 [3b066f46831d]
52509
525102013-04-15 ggopu <ggopu>
52511
52512 * build/BuildEncoderApplications.bat,
52513 build/CreateRegressionPackage.bat, build/RegressionTester.bat,
52514 build/config.txt:
52515 Redesigned the Regression test script - the script will be
52516 compatible for vc 9, vc 10 and vc 11
52517 [0d9f10323b82]
52518
525192013-04-16 sumalatha <sumalatha>
52520
52521 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp:
52522 Fixed issue in handling y4m files Issue: The reconstructed file(yuv)
52523 were all zeros Fix: In y4m handler, bitDepthShiftY, bitDepthShiftC
52524 were not updated properly in the open(), so changed the code to
52525 update it properly.
52526 [c422cc514b80]
52527
525282013-04-15 Steve Borho <steve@borho.org>
52529
52530 * source/test/testbench.cpp:
52531 testbench: add the ability to easily bypass some tests
52532 [bd316d5a9edc]
52533
52534 * source/test/filterharness.cpp, source/test/testbench.cpp:
52535 testbench: GCC compilation fixes
52536 [d5e4ce5c651d]
52537
52538 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
52539 source/test/filterharness.h, source/test/mbdstharness.cpp,
52540 source/test/mbdstharness.h, source/test/pixelharness.cpp,
52541 source/test/pixelharness.h, source/test/testbench.cpp,
52542 source/test/testharness.h, source/test/timer.cpp:
52543 testbench: split into classes that know how to test each primitive
52544 type
52545 [d72521706de8]
52546
52547 * source/test/testbench.cpp:
52548 testbench: remove unused defines
52549 [0eb7444ebf8a]
52550
52551 * source/test/testbench.cpp:
52552 testbench: don't forget to test the detected CPUID
52553 [878233d4bcc9]
52554
52555 * source/test/testbench.cpp:
52556 less cargo-cult programming please
52557
52558 checkasm used BENCH_ALIGNS to over-allocate the buffers then fix the
52559 alignment We're just over-allocating buffers
52560 [de3741f6a1af]
52561
52562 * source/test/testbench.cpp:
52563 testbench: tune iterations to primitive type so test finishes in 60
52564 seconds
52565 [5206b476c65e]
52566
52567 * source/test/testbench.cpp:
52568 testbench: fix bugs exposed by GCC warnings
52569
52570 t_size was being used as a global by two different primitives, and
52571 then defined locally by one of them.
52572 [06cbe8719bfa]
52573
52574 * source/encoder/vec/pixel.inc:
52575 pixel: use aligned loads for 8 and 16 wide SAD 14% improvement
52576
52577 Using this optimization before the other loop optimizations hid the
52578 benefits of reducing the pipeline stalls. 350->300ms for 16x16
52579 testbench (many) iterations
52580 [7f9b889ce129]
52581
52582 * source/test/testbench.cpp:
52583 testbench: check primitive accuracy on all SIMD architectures
52584
52585 Measure performance only once, with the most optimized primitives
52586 available
52587 [9b4729fe6825]
52588
52589 * source/encoder/vec/pixel.inc:
52590 pixel: optimize 4 pixel wide SAD
52591
52592 Now 4x faster than the C version. We accumulate 8 values then
52593 discard half at the end.
52594 [4d0aa20b3fb8]
52595
52596 * source/encoder/vec/pixel.inc:
52597 pixel: further optimize multiples of 16 wide SAD
52598 [b3b7dc98a6ba]
52599
52600 * source/test/testbench.cpp:
52601 testbench: use a pseudo-random seed
52602 [f323471e8eaf]
52603
52604 * source/encoder/vec/pixel.inc:
52605 pixel: use lower case var named
52606 [4161c1c2d852]
52607
52608 * source/encoder/vec/pixel.inc:
52609 pixel: collect SAD sums in vectors, do horizontal_add_x only at end
52610
52611 The gives at least a 2X speedup. Many SAD functions are now 10x
52612 faster than the C primitives.
52613 [98af7878ab54]
52614
52615 * source/VectorClass/vectori128.h, source/encoder/vec/macroblock.inc:
52616 inversedst: use blend8s to generate outputs 30% faster
52617 [b1c604dac752]
52618
52619 * source/encoder/vec/sse2.cpp, source/encoder/vec/sse3.cpp,
52620 source/encoder/vec/ssse3.cpp:
52621 vectorized: correct the INSTRSET values for SSE2, SSE3, and SSSE3
52622 [a4d6b0f5c3c6]
52623
526242013-04-15 Mandar Gurav <mandar@multicorewareinc.com>
52625
52626 * Merged multicoreware/xhevc into default
52627 [9a0056333a34]
52628
526292013-04-15 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
52630
52631 * source/test/testbench.cpp:
52632 Used more meaningful variable names
52633 [bc80f481a448]
52634
52635 * source/test/testbench.cpp:
52636 Implemented init/clean function for filter testbench.
52637 [cce1fa50f3ff]
52638
52639 * source/test/testbench.cpp:
52640 Print a more meaningful message - replace %d value with a meaningful
52641 string showing the filter configuration.
52642 [96d57ac3598b]
52643
526442013-04-15 Deepthi <Deepthi>
52645
52646 * source/encoder/vec/pixel.inc:
52647 Reverting aligned loads in pixel.inc - caused crash. This needs more
52648 research
52649 [b5f1f4eef5ae]
52650
526512013-04-14 Steve Borho <steve@borho.org>
52652
52653 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
52654 cleanup TComInterpolationFilter.cpp
52655 [a230019cf137]
52656
52657 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/vec/pixel.inc:
52658 change order of arguments to SATD primitives to match x264 assembly
52659
52660 x264 assembly code wants fenc, fencstride, fref, frefstride. fenc is
52661 assumed to be aligned by the block size.
52662 [ce3635066069]
52663
52664 * source/encoder/vec/pixel.inc, source/test/testbench.cpp:
52665 pixel: use aligned loads for piOrg (encoded block), enable sad_4
52666
52667 vectorized sad_4 is now just a little bit faster than the C version.
52668 [c8333b3c1536]
52669
52670 * source/Lib/TLibCommon/TComRdCost.cpp:
52671 change order of arguments to SAD primitives to match x264 assembly
52672
52673 x264 assembly code wants fenc, fencstride, fref, frefstride. fenc is
52674 assumed to be aligned by the block size.
52675 [03dbce445e13]
52676
52677 * source/Lib/config.cpp:
52678 unfortunately the FrameN options are currently necessary
52679 [db32d5905f73]
52680
52681 * source/Lib/config.cpp:
52682 nuke the --FrameN command line options
52683
52684 These make the command line help really annoying
52685 [6ac0c6263ad4]
52686
52687 * source/encoder/vec/pixel.inc:
52688 pixel: add sad_4, but do not use it for now
52689
52690 When memory alignment is considered, it may be faster than the C
52691 primitive
52692 [c8a89155a025]
52693
52694 * source/encoder/vec/pixel.inc:
52695 pixel: add 16-wide vector SAD, instantiate all but 4x
52696 implementations
52697 [781034812b77]
52698
52699 * source/encoder/pixel.cpp:
52700 pixel: add C SAD partitions sized 64
52701 [18d7c9ec18c8]
52702
527032013-04-13 Steve Borho <steve@borho.org>
52704
52705 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52706 source/encoder/macroblock.cpp, source/encoder/primitives.h,
52707 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
52708 backout bitdepth argument changes, the HM does not operate this way
52709 yet
52710
52711 The HM allows you to encode 8 bit pixels with HIGH_BIT_DEPTH
52712 enabled, so we cannot assume the bit depth is 10 just because
52713 HIGH_BIT_DEPTH is enabled.
52714
52715 However, the test bench should always test 10 bit pixels in that
52716 config.
52717 [9d49396e32b0]
52718
527192013-04-13 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
52720
52721 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52722 source/encoder/macroblock.cpp, source/encoder/macroblock.h,
52723 source/encoder/primitives.h, source/encoder/vec/macroblock.inc,
52724 source/test/testbench.cpp, source/test/unittest.h:
52725 Updated the source as per the comments from Steve.
52726 * Unit test for filter improved.
52727 * bitDepth taken as a MACRO
52728 * Moved #define to respective cpp files
52729 * Remove unnecessary lines
52730 * Names added to copyright headers
52731 [c83ff08514ca]
52732
527332013-04-13 Mandar Gurav <mandar@multicorewareinc.com>
52734
52735 * Merged multicoreware/xhevc into default
52736 [fe804dbed45e]
52737
527382013-04-12 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
52739
52740 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52741 source/encoder/macroblock.h, source/encoder/vec/macroblock.inc,
52742 source/test/testbench.cpp, source/test/unittest.h:
52743 vectorization of filter<8,0,...> stage 1 Added testbench support
52744 [cdb296338769]
52745
527462013-04-13 Deepthi <Deepthi>
52747
52748 * source/encoder/macroblock.cpp:
52749 Removing implicit-type conversion warnings.
52750 [848bb2845b01]
52751
527522013-04-12 Steve Borho <steve@borho.org>
52753
52754 * source/encoder/macroblock.cpp:
52755 macroblock: remove pixel typecasts, since block is now a Short*
52756 [9eb88e4e0d10]
52757
527582013-04-13 ShinYee Chung <shinyee@multicorewareinc.com>
52759
52760 * source/encoder/threadpool.cpp:
52761 threadpool: Fix incorrect memory deallocation.
52762
52763 The in-place buffer is an array.
52764 [5aaee38ecab2]
52765
52766 * source/encoder/threadpool.cpp:
52767 threadpool: Fix incorrect use of &= operator.
52768 [fe63fd1ba96a]
52769
527702013-04-12 Steve Borho <steve@borho.org>
52771
52772 * source/Lib/TLibCommon/TComRdCost.cpp:
52773 Merge
52774 [98452862003d]
52775
52776 * source/encoder/threadpool.cpp:
52777 threadpool: fix VC9 compile
52778 [9fce3c13f7f8]
52779
527802013-04-12 Deepthi <Deepthi>
52781
52782 * source/Lib/TLibCommon/TComRdCost.cpp:
52783 Replacing primitive call in xHADs8 and xHADs
52784 [36d7b00b1262]
52785
52786 * source/Lib/TLibCommon/TComRdCost.cpp:
52787 Replacing primitive call in xHads4
52788 [cd58cb707516]
52789
52790 * source/Lib/TLibCommon/TComRdCost.cpp:
52791 Fixing final scaling in sad primitives; disabling satd primitives.
52792 [a14a67418620]
52793
527942013-04-12 Steve Borho <steve@borho.org>
52795
52796 * source/Lib/TLibCommon/TComTrQuant.cpp:
52797 tabs to spaces
52798 [6b21dab6629d]
52799
528002013-04-12 Deepthi <Deepthi>
52801
52802 * Merge
52803 [9193471ef54e]
52804
52805 * source/Lib/TLibCommon/TComTrQuant.cpp:
52806 Replacing original inversedst with primitives
52807 [67404b0825e3]
52808
52809 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52810 source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
52811 Changing inversedst primitives parameters from pixel to short
52812 [beb412d2232f]
52813
528142013-04-11 Steve Borho <steve@borho.org>
52815
52816 * source/test/testpool.cpp:
52817 testpool: use fflush() on stdout
52818 [f3ba46f293db]
52819
52820 * source/encoder/threadpool.cpp:
52821 threadpool: wait for threads to quiesce before shutting them down
52822 [10746baf67fd]
52823
52824 * source/test/testpool.cpp:
52825 testpool: ensure MD5Frame is freed before pool
52826 [4749a6ab37f9]
52827
52828 * source/encoder/threading.cpp, source/encoder/threading.h:
52829 threading: build fixes for linux, more error checking
52830 [985af075a732]
52831
52832 * source/test/testpool.cpp:
52833 testpool: add indication of thread pool size
52834 [c20e695593ed]
52835
52836 * source/encoder/threading.h, source/encoder/threadpool.cpp,
52837 source/test/testpool.cpp:
52838 threadpool: use counting semaphore on POSIX, single wake event, lock
52839 for eol
52840
52841 To avoid race hazards at the end of each row, a row deciding to quit
52842 because it is block needs to block out the row above it that might
52843 be trying to exit. The is only ever between two threads, so
52844 hopefully it is low-contention.
52845
52846 This patch also goes back to a blocking wait when idle, to save
52847 power.
52848
52849 Note: the test does not currently pass. there is still a data hazard
52850 to be addressed.
52851 [87d026d4cced]
52852
528532013-04-11 Deepthi <Deepthi>
52854
52855 * source/test/testbench.cpp:
52856 Increase iteration count for better measurements
52857 [27c82c220aa9]
52858
528592013-04-11 ShinYee Chung <shinyee@multicorewareinc.com>
52860
52861 * source/encoder/macroblock.cpp:
52862 macroblock: Fix the path in an #include.
52863
52864 Use / instead of \ to remain portable to Windows and Linux.
52865 [e47f5284eed3]
52866
52867 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp:
52868 y4m: Fix missing math header include for function ceil().
52869
52870 We probably also need to add linking to the math library.
52871 [9092312686da]
52872
528732013-04-11 nandaku2 <deepthi@multicorewareinc.com>
52874
52875 * Merged in ggopu/gopu_x265 (pull request #57)
52876
52877 Fixed the issue for inversedst and malloc issue
52878 [4e62c71ed307]
52879
528802013-04-11 ggopu <ggopu>
52881
52882 * source/test/testbench.cpp:
52883 Fixed the issue for inversedst and malloc issue
52884 [510d32f9a7ec]
52885
528862013-04-11 sumalatha <sumalatha>
52887
52888 * source/Lib/encoder.cpp:
52889 The code was crashing when the reconstructed filename is not given
52890 in the cfg file. Fixed it in this version. The fix was like in the
52891 xCreateLib(), the reconstructed file is opened based on the flag
52892 "m_pchReconFile"(this flag is set when the recon filename is given
52893 in cfg), but in xDestroyLib(), the recon file is closed always, so
52894 have included the check like close the file only when the
52895 m_pchReconFile is set.
52896 [a21280198bad]
52897
528982013-04-11 Deepthi <Deepthi>
52899
52900 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52901 source/encoder/macroblock.cpp, source/encoder/primitives.h,
52902 source/encoder/vec/macroblock.inc:
52903 Filter coefficients should always be const short* (irrespective of
52904 bitdepth)
52905 [4c4119d136fa]
52906
52907 * source/test/testbench.cpp:
52908 Comments for direction
52909 [e1e522b2a01e]
52910
529112013-04-10 nandaku2 <deepthi@multicorewareinc.com>
52912
52913 * Merged in sumalatha/xhevc_sumalatha (pull request #54)
52914
52915 support for y4m files(skipping the frame headers at each frame)
52916 [a4ea6dec3a3a]
52917
529182013-04-10 sumalatha <sumalatha>
52919
52920 * source/Lib/TLibVideoIO/TVideoIO.h,
52921 source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
52922 source/Lib/TLibVideoIO/TVideoIOY4m.h,
52923 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
52924 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/Lib/config.cpp,
52925 source/Lib/config.h, source/Lib/encoder.cpp, source/Lib/encoder.h:
52926 added support for y4m files (like skipping the plain-text frame
52927 headers present in each frame)
52928 [5acc3f79f938]
52929
529302013-04-10 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52931
52932 * source/Lib/TLibCommon/TComRdCost.cpp,
52933 source/encoder/vec/macroblock.inc:
52934 Merged multicoreware/xhevc into default
52935 [72bd9b78bfef]
52936
52937 * source/encoder/vec/macroblock.inc:
52938 Merged multicoreware/xhevc into default
52939 [1b339b28b04a]
52940
529412013-04-09 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52942
52943 * Merged multicoreware/xhevc into default
52944 [c682e0de3aa0]
52945
529462013-04-08 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52947
52948 * source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
52949 source/encoder/vec/vecprimitives.inc:
52950 Merged multicoreware/xhevc into default
52951 [d0031331b9c7]
52952
529532013-04-08 sumalatha <sumalatha>
52954
52955 * source/encoder/TComRdCost_SSE.cpp:
52956 Deleted this file to remove merge conflict
52957 [697eee51787c]
52958
529592013-04-05 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52960
52961 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/vec/pixel.inc:
52962 Merged multicoreware/xhevc into default
52963 [321cb189ce36]
52964
529652013-04-04 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52966
52967 * source/encoder/vec/pixel.inc, source/test/TestBench.cpp,
52968 source/test/UnitTest.cpp, source/test/UnitTest.h:
52969 Merged multicoreware/xhevc into default
52970 [6993599a77b4]
52971
52972 * source/Lib/TLibCommon/TComRdCost.cpp,
52973 source/VectorClass/dispatch_example.cpp,
52974 source/encoder/TComRdCost_SSE.cpp,
52975 source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
52976 source/encoder/vec/vecprimitives.inc:
52977 Merged multicoreware/xhevc into default
52978 [b9716716f21a]
52979
529802013-04-04 sumalatha <sumalatha>
52981
52982 * source/Lib/TLibCommon/TComRdCost.cpp,
52983 source/encoder/TComRdCost_SSE.cpp,
52984 source/encoder/vec/vecprimitives.inc:
52985 Backed out changeset: 914f5238a7df
52986 [9646554f4779]
52987
52988 * source/encoder/TComRdCost_SSE.cpp:
52989 Backed out changeset: 850f67a0d4be
52990 [933d82869b8c]
52991
52992 * source/Lib/TLibCommon/TComRdCost.cpp:
52993 Backed out changeset: 11f514fc3415
52994 [44be5efc13ac]
52995
529962013-04-03 Steve Borho <steve@borho.org>
52997
52998 * source/Lib/TLibCommon/TComRdCost.cpp:
52999 made changes to remove merge conflicts
53000 [11f514fc3415]
53001
53002 * source/encoder/TComRdCost_SSE.cpp:
53003 made changes to remove the merge conflict
53004 [850f67a0d4be]
53005
53006 * source/Lib/TLibCommon/TComRdCost.cpp,
53007 source/encoder/TComRdCost_SSE.cpp,
53008 source/encoder/vec/vecprimitives.inc:
53009 moved the "xCalcHADs8x8()" from TComRdCost_SSE.cpp to
53010 vecprimitives.in
53011 [914f5238a7df]
53012
530132013-04-10 nandaku2 <deepthi@multicorewareinc.com>
53014
53015 * Merged in ggopu/gopu_x265 (pull request #55)
53016
53017 Created the New script for Regression testing
53018 [f7c677c40e17]
53019
530202013-04-10 ggopu <ggopu>
53021
53022 * build/RegressionTester.bat, build/config.txt:
53023 Created the New script for Regression testing
53024 [b5f0f40fb40e]
53025
530262013-04-10 Deepthi <Deepthi>
53027
53028 * source/test/testbench.cpp:
53029 Cleanup
53030 [f3273ba48335]
53031
53032 * source/test/testbench.cpp:
53033 Cleanup of cycle count measurement
53034 [0018c423de94]
53035
53036 * source/test/testbench.cpp:
53037 Disable cycle count. Separate mbdst testing into init_buffer,
53038 checkprimitive and clearbuffer.
53039 [6d16557c9e11]
53040
53041 * source/test/testbench.cpp:
53042 Buffer handling separated. pixelcmp buffers stay global for now.
53043 [454fe1e43fb6]
53044
53045 * source/test/testbench.cpp:
53046 More global vars removed
53047 [b05c7182c446]
53048
53049 * source/test/testbench.cpp:
53050 Removing unnecessary global variables
53051 [a76a6109a7ff]
53052
53053 * source/test/testbench.cpp:
53054 Replace delete with free.
53055 [08757a371067]
53056
530572013-04-10 Deepthi Devaki <Deepthi Devaki>
53058
53059 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53060 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53061 source/encoder/vec/macroblock.inc:
53062 Used array of function pointers for filter primitives. Added C
53063 primitives for filter_nonvertical.
53064 [66f39285c340]
53065
530662013-04-10 praveen Tiwari <praveen@multicorewareinc.com>
53067
53068 * Merged multicoreware/xhevc into default
53069 [9e59fba57f1b]
53070
530712013-04-10 praveentiwari <praveentiwari>
53072
53073 * source/encoder/macroblock.cpp:
53074 Fixed fastInverseDst function in encoder primitive file by adding
53075 the missing line
53076 [2bb7cf3d86c1]
53077
53078 * source/Lib/TLibCommon/TComTrQuant.cpp:
53079 Added missing line in fastInverseDst function
53080 [5008d1bf6cd2]
53081
53082 * source/Lib/TLibCommon/TComTrQuant.cpp:
53083 Removed last calculation in fastInverseDst function
53084 [f959a6b66cba]
53085
530862013-04-10 Steve Borho <steve@borho.org>
53087
53088 * source/test/testbench.cpp:
53089 testbench: give an indication of pixel size in test bench
53090 [306defc44548]
53091
53092 * source/Lib/TLibCommon/TComRdCost.cpp:
53093 TComRdCost: fix handling of iSubShift
53094
53095 When iSubShift was 1, the strides were already being doubled. We
53096 just needed to halve the rows and run the matching primitive. Also,
53097 the subpel functions were checking for iStep == 0, but xCalcHADs8x8
53098 was asserting the value to be 1. So it was never calling our satd
53099 performance primitives.
53100 [a95d907ee411]
53101
531022013-04-09 Deepthi <Deepthi>
53103
53104 * source/test/testbench.cpp:
53105 Fix memory leak in testbench
53106 [1dcb29da96d6]
53107
531082013-04-09 Steve Borho <steve@borho.org>
53109
53110 * source/test/testbench.cpp:
53111 testbench: fix warnings and errors when compiled with GCC
53112 [17d58d88ae09]
53113
53114 * source/Lib/TLibCommon/CommonDef.h,
53115 source/VectorClass/instrset_detect.cpp:
53116 more Linux Intel compiler fixes
53117 [25f7ecb0aaee]
53118
53119 * source/Lib/TLibCommon/CommonDef.h:
53120 Prevent multiple NVM_COMPILEDBY definitions
53121 [a344a1fabb0c]
53122
53123 * source/CMakeLists.txt:
53124 cmake: use CXX env var, which is not a full path
53125 [7c1b5e9245c2]
53126
53127 * source/CMakeLists.txt:
53128 cmake: treat Intel C++ compiler on Linux as gcc
53129 [aceaa0fb013d]
53130
53131 * source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
53132 nit cleanups
53133 [bfcb3bfff0f0]
53134
531352013-04-09 Deepthi <Deepthi>
53136
53137 * source/test/testbench.cpp:
53138 Adding to-do list
53139 [0cc3ada11beb]
53140
53141 * source/test/testbench.cpp:
53142 Removing redundant function
53143 [261e9c67faa6]
53144
53145 * source/test/testbench.cpp:
53146 Clearer error message
53147 [cc9e92334c63]
53148
53149 * source/test/testbench.cpp:
53150 Renaming check_*_primitive functions.
53151 [b3b4c099ab8c]
53152
531532013-04-09 ggopu <ggopu>
53154
53155 * source/test/testbench.cpp:
53156 Added IntraDct check
53157 [23a010c31203]
53158
531592013-04-09 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
53160
53161 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53162 source/encoder/macroblock.cpp, source/encoder/primitives.h,
53163 source/encoder/vec/macroblock.inc:
53164 Modified Filter<8.0,..> functions as per the comments
53165 [d0f96efda047]
53166
531672013-04-08 Steve Borho <steve@borho.org>
53168
53169 * source/test/testbench.cpp:
53170 testbench: call Setup_Assembly_Primitives() to setup assembly
53171 primitives
53172 [a1e16c2c4e39]
53173
53174 * source/test/testbench.cpp:
53175 testbench: fix a compiler warning, add notice of which primitives
53176 are testing
53177 [3b0549756509]
53178
53179 * source/test/testbench.cpp:
53180 testbench: use single pixelcmp test function, tighten up output
53181 logging
53182 [52836d9667ac]
53183
53184 * source/cmake/FindHg.cmake:
53185 cmake: backout FindHg.cmake, it only causes further problems
53186 [725f3a534139]
53187
53188 * source/cmake/FindHg.cmake, source/cmake/version.cmake:
53189 cmake: add FindHg.cmake to our repo, only very recent cmake versions
53190 have it
53191
53192 and fix case-sensitivity issue
53193 [9bbaca4f9d79]
53194
531952013-04-08 ggopu <ggopu>
53196
53197 * source/test/testbench.cpp:
53198 Included comment to specify the source of code snippet
53199 [3191e8a2d66e]
53200
53201 * source/test/testbench.cpp:
53202 Implemented the Cycle testing
53203 [37ad4814764e]
53204
532052013-04-07 Steve Borho <steve@borho.org>
53206
53207 * source/CMakeLists.txt:
53208 cmake: disable ASM compilation for non-GCC compilers until a
53209 workaround is found
53210 [399977f3a6ec]
53211
53212 * source/cmake/CMakeASM_YASMInformation.cmake:
53213 cmake: use ASM_DIALECT consistently in
53214 CMakeASM_YASMInformation.cmake
53215 [584c490b9274]
53216
53217 * build/nmake/make-solutions.bat:
53218 cmake: add a VC11 nmake batch file, to test ASM builds
53219 [df3e9810d7a2]
53220
53221 * source/test/testbench.cpp:
53222 testbench: fix a couple of bugs
53223 [202fe2157dd3]
53224
53225 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
53226 cmake: rename primitive variables so they are listed together in
53227 cmake-gui
53228 [0c0b08a9373f]
53229
53230 * source/cmake/version.cmake:
53231 cmake: add version detection support for hg archives
53232 [aa2c04b65976]
53233
53234 * source/CMakeLists.txt, source/cmake/version.cmake:
53235 cmake: move version detection into cmake/version.cmake
53236 [00d01d23e853]
53237
53238 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
53239 source/encoder/primitives.h, source/encoder/vec/CMakeLists.txt,
53240 source/encoder/vec/vec-primitives.cpp,
53241 source/encoder/x86/CMakeLists.txt, source/encoder/x86/asm-
53242 primitives.cpp, source/test/testbench.cpp:
53243 Move primitive setup functions closer to their implementations
53244 [c8563d2c4612]
53245
53246 * source/cmake/CMakeASM_YASMInformation.cmake,
53247 source/cmake/CMakeDetermineASM_YASMCompiler.cmake,
53248 source/cmake/CMakeTestASM_YASMCompiler.cmake:
53249 cmake: add yasm compilation ability
53250 [e4b548bbe391]
53251
53252 * source/CMakeLists.txt, source/cmake/FindYasm.cmake:
53253 cmake: introduce a cmake/ folder, add a package to find a yasm
53254 assembler
53255 [6f2940ddc545]
53256
53257 * source/encoder/x86/util.h:
53258 remove x264's utils.h, it has inline assembly we cannot use
53259
53260 And the functions implemented are not obviously applicable to HEVC
53261 [cd85d3840279]
53262
532632013-04-06 Steve Borho <steve@borho.org>
53264
53265 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
53266 source/encoder/primitives.cpp, source/encoder/x86/CMakeLists.txt,
53267 source/encoder/x86/pixel-32.asm, source/encoder/x86/pixel-a.asm,
53268 source/encoder/x86/pixel.h, source/encoder/x86/util.h,
53269 source/encoder/x86/x86inc.asm, source/encoder/x86/x86util.asm,
53270 source/test/CMakeLists.txt, source/test/testbench.cpp,
53271 source/test/unittest.cpp:
53272 cmake: begin to add plumbing for assembly language primitives
53273
53274 This changeset makes the vectorized primitives a build option,
53275 seperate from the C primitives and ASM primitives.
53276 [0704a16139c0]
53277
53278 * source/CMakeLists.txt:
53279 cmake: improve version detection logic from revision control
53280 [e59bb7a0d173]
53281
53282 * source/CMakeLists.txt:
53283 cmake: multithreaded make does not appear to work; gmake users
53284 should use -j4
53285 [33b9731a501c]
53286
532872013-04-05 Steve Borho <steve@borho.org>
53288
53289 * source/encoder/CMakeLists.txt, source/encoder/TComRdCost_SSE.cpp:
53290 remove TComRdCost_SSE.cpp
53291 [ca197e22abff]
53292
53293 * source/encoder/CMakeLists.txt:
53294 cmake: show the GPL license file in Visual Studio in the x265
53295 project
53296 [365967021bb4]
53297
53298 * source/test/unittest.cpp:
53299 unittest: fix pixel variable shadowing type name from primitives.h
53300
53301 Only broke the GCC build
53302 [5191e30d92cc]
53303
53304 * source/CMakeLists.txt, source/compat/msvc/getopt.c,
53305 source/compat/msvc/getopt.h:
53306 add GNU getopt library from glibc for argument parsing
53307
53308 Will replace all of TAppCommon and allow us to use getopt() style
53309 argument parsing on all platforms.
53310 [06c29bb43ee0]
53311
53312 * source/CMakeLists.txt, source/x265main.cpp:
53313 cmake: compile a version number from Mercurial into x265-cli.exe
53314
53315 The version number is only updated when cmake is run, so if you care
53316 about the version number you should trigger a cmake update by
53317 touching a cmake file (or building from a clean repository)
53318 [c1924f5ca686]
53319
53320 * source/encoder/macroblock.cpp:
53321 comment cleanups in macroblock.cpp
53322 [65329bd984d3]
53323
53324 * source/encoder/vec/pixel.inc:
53325 pixel: add 16x16 and 32x32 vectorized SAD functions
53326 [f153e4a050c6]
53327
533282013-04-05 Deepthi Devaki <Deepthi Devaki>
53329
53330 * Merge
53331 [ffb382a731cb]
53332
53333 * source/encoder/vec/pixel.inc:
53334 Uncrustified pixel.inc after changing sa8d_8x8
53335 [961f8617fa0a]
53336
53337 * source/encoder/vec/pixel.inc:
53338 Backed out changeset: dc9cf177f0d9
53339 [7fdb843fbcc9]
53340
53341 * source/encoder/vec/pixel.inc:
53342 Uncrustified pixel.inc after changing sa8d_8x8
53343 [dc9cf177f0d9]
53344
533452013-04-05 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53346
53347 * Merged multicoreware/xhevc into default
53348 [6de9d7e911b6]
53349
533502013-04-05 Deepthi Devaki <Deepthi Devaki>
53351
53352 * source/encoder/vec/pixel.inc:
53353 Fixed overflow issue when 10 bit pixels are used in vec-sa8d_8x8
53354 [ad257e35e970]
53355
53356 * source/encoder/vec/pixel.inc:
53357 Backed out changeset: b39276d2ef19
53358 [e19c604a0505]
53359
53360 * source/encoder/vec/pixel.inc:
53361 Added cases for high bit depth = 1 and 0 in vec-sa8d_8x8 in
53362 pixel.inc
53363 [b39276d2ef19]
53364
533652013-04-05 Deepthi <Deepthi>
53366
53367 * source/encoder/primitives.cpp:
53368 Disabling 64-size primitives temporarily.
53369 [9aaf8e56f457]
53370
53371 * source/encoder/primitives.cpp:
53372 Fixing the partition array for 64.
53373 [05df015ff6f4]
53374
53375 * source/encoder/primitives.cpp:
53376 Rollback: to 8x8 matrix
53377 [1b099c5ad876]
53378
53379 * source/encoder/primitives.cpp:
53380 Rollback: 64 expands the array heavily.
53381 [fdad810f7948]
53382
53383 * source/encoder/primitives.cpp:
53384 Width and height permitted to be > 32
53385 [9d01406efb58]
53386
53387 * Merge
53388 [315488d4f4b7]
53389
53390 * source/encoder/primitives.cpp:
53391 Expanding the psize static array to 64.
53392 [0108af4ff636]
53393
53394 * source/encoder/primitives.h:
53395 Expanding Partitions enum
53396 [49f2265daf5a]
53397
53398 * Merge
53399 [7281801c55a0]
53400
53401 * source/Lib/TLibCommon/TComPrediction.cpp:
53402 Temporary array to match Pel
53403 [7d1889dce383]
53404
53405 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
53406 Fix Error - matching function declaration and definition
53407 [bf5df7838588]
53408
534092013-04-05 Steve Borho <steve@borho.org>
53410
53411 * source/encoder/macroblock.cpp:
53412 fix implicit integer type conversions in macroblock.cpp
53413 [0d3b1caacadf]
53414
53415 * source/x265main.cpp:
53416 fix build error in x265main.cpp
53417 [76e4a2d6a8ba]
53418
534192013-04-04 Steve Borho <steve@borho.org>
53420
53421 * source/encoder/primitives.cpp, source/x265main.cpp:
53422 rewrite main(), add code that describes detected CPU type and other
53423 info
53424 [5c55457268e2]
53425
534262013-04-05 praveentiwari <praveentiwari>
53427
53428 * source/Lib/TLibCommon/TComTrQuant.cpp,
53429 source/Lib/TLibCommon/TComTrQuant.h,
53430 source/Lib/TLibCommon/TypeDef.h, source/encoder/macroblock.cpp,
53431 source/encoder/primitives.cpp, source/encoder/primitives.h,
53432 source/encoder/vec/macroblock.inc:
53433 Cleaned up the files checked in for modified encoder performance
53434 primitive for fastinversedst.
53435 [ba79f2fbc467]
53436
53437 * source/encoder/TComTrQuant_SSE.cpp:
53438 Removed as it is no longer needed.
53439 [7ca0466b0cd6]
53440
534412013-04-04 praveen Tiwari <praveen@multicorewareinc.com>
53442
53443 * Merged multicoreware/xhevc into default
53444 [6a6d1c7492dc]
53445
53446 * Merged multicoreware/xhevc into default
53447 [9ebdc2159a69]
53448
53449 * source/encoder/primitives.h, source/encoder/vec/pixel.inc:
53450 Merged multicoreware/xhevc into default
53451 [f582f89a4cad]
53452
534532013-04-04 praveentiwari <praveentiwari>
53454
53455 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
53456 source/encoder/vec/macroblock.inc:
53457 Modified encoder performance primitive for fastinversedst
53458 [044cf66c07ba]
53459
534602013-04-04 praveen Tiwari <praveen@multicorewareinc.com>
53461
53462 * Merged multicoreware/xhevc into default
53463 [067fdd3b2787]
53464
53465 * source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
53466 source/encoder/vec/vecprimitives.inc, source/test/TestBench.cpp,
53467 source/test/UnitTest.cpp, source/test/UnitTest.h:
53468 Merged multicoreware/xhevc into default
53469 [b6dcf4d300cd]
53470
534712013-04-04 praveentiwari <praveentiwari>
53472
53473 * source/encoder/vec/pixel.inc:
53474 resolving merge conflict with pixel.inc
53475 [0b5baa981f79]
53476
53477 * source/Lib/TLibCommon/TypeDef.h, source/encoder/vec/macroblock.inc,
53478 source/encoder/vec/pixel.inc:
53479 resolving merge conflicts with pixel.inc and macroblock.inc
53480 [205ece1b25c4]
53481
53482 * source/encoder/vec/vecprimitives.inc:
53483 second attempt to resolve merge conflict
53484 [6107601bfd02]
53485
53486 * source/encoder/vec/vecprimitives.inc:
53487 solving merge conflict with vecprimitives.inc
53488 [3706ae74ae2f]
53489
53490 * source/encoder/macroblock.cpp, source/encoder/primitives.cpp,
53491 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
53492 Encoder Performance Primitive fastInverseDst
53493 [ad754aa34a5b]
53494
53495 * source/encoder/primitives.h:
53496 Added a cdecl funcdef to primitives.h and function pointer to
53497 EncoderPrimitives structure
53498 [79f25cc12b0f]
53499
535002013-04-03 praveen Tiwari <praveen@multicorewareinc.com>
53501
53502 * source/Lib/TLibCommon/TComTrQuant.cpp,
53503 source/Lib/TLibCommon/TComTrQuant.h,
53504 source/VectorClass/dispatch_example.cpp,
53505 source/encoder/CMakeLists.txt:
53506 Merged multicoreware/xhevc into default
53507 [19bbb70cf090]
53508
535092013-04-04 praveentiwari <praveentiwari>
53510
53511 * source/Lib/TLibCommon/TComTrQuant.cpp:
53512 Solving merge conflict with TComTrQuant.cpp file
53513 [30e4df5a4552]
53514
535152013-04-03 praveen Tiwari <praveen@multicorewareinc.com>
53516
53517 * source/encoder/CMakeLists.txt:
53518 Merged multicoreware/xhevc into default
53519 [6e07d4ecd02e]
53520
535212013-04-03 praveentiwari <praveentiwari>
53522
53523 * source/encoder/CMakeLists.txt:
53524 Second attempt to solve merge conflict
53525 [305d19e49341]
53526
53527 * source/encoder/CMakeLists.txt:
53528 solving merge conflict with CMakeLists.txt
53529 [d69a08ec93b4]
53530
53531 * cfg/per-sequence/BasketballPass.cfg:
53532 Backed out changeset: 1801be94c033
53533 [52da05be5212]
53534
53535 * source/encoder/CMakeLists.txt:
53536 Merge Conflict
53537 [aa4d052d016c]
53538
53539 * cfg/per-sequence/BasketballPass.cfg:
53540 Merge Conflict
53541 [1801be94c033]
53542
535432013-04-02 praveentiwari <praveentiwari>
53544
53545 * source/Lib/TLibCommon/TComTrQuant.h, source/encoder/CMakeLists.txt:
53546 fastInverseDst with declarartion in TComTrQuant.h file
53547 [686753ae63ac]
53548
53549 * source/encoder/CMakeLists.txt:
53550 Solving merge conflict with CMakeLists.txt
53551 [d5d198a662ee]
53552
535532013-04-01 praveen Tiwari <praveen@multicorewareinc.com>
53554
53555 * source/encoder/CMakeLists.txt:
53556 Merged multicoreware/xhevc into default
53557 [779f1786e667]
53558
535592013-03-31 praveen Tiwari <praveen@multicorewareinc.com>
53560
53561 * source/encoder/CMakeLists.txt, source/x265cfg.cpp, source/x265cfg.h,
53562 source/x265top.cpp, source/x265top.h:
53563 Merged multicoreware/xhevc into default
53564 [28876bb73087]
53565
535662013-03-28 praveen Tiwari <praveen@multicorewareinc.com>
53567
53568 * source/encoder/CMakeLists.txt:
53569 Merged multicoreware/xhevc into default
53570 [7a2643c01212]
53571
535722013-03-28 praveentiwari <praveentiwari>
53573
53574 * source/encoder/CMakeLists.txt:
53575 Trying to resolve conflict during merge
53576 [55b8785b08bb]
53577
535782013-03-27 praveentiwari <praveentiwari>
53579
53580 * source/Lib/TLibCommon/TComTrQuant.cpp,
53581 source/Lib/TLibCommon/TComTrQuant.h,
53582 source/encoder/TComTrQuant_SSE.cpp:
53583 Vectorized fastInverseDst with added fastInverse decleration and
53584 ENABLE_VECTOR macro
53585 [8d5b58c7cf54]
53586
53587 * source/Lib/TLibCommon/TComTrQuant.cpp,
53588 source/encoder/TComTrQuant_SSE.cpp:
53589 Backed out changeset: 587fa81d140b
53590 [b84bc6b7ba79]
53591
53592 * source/Lib/TLibCommon/TComTrQuant.cpp,
53593 source/encoder/TComTrQuant_SSE.cpp:
53594 Replaced Clip3 and Inhanced techniqueVectorized
53595 TComTrQuant::fastInverseDst with added ENABLE_VECTOR macro
53596 [587fa81d140b]
53597
535982013-03-27 praveen Tiwari <praveen@multicorewareinc.com>
53599
53600 * Merged multicoreware/xhevc into default
53601 [531e2bde522d]
53602
536032013-03-26 praveentiwari <praveentiwari>
53604
53605 * source/encoder/TComTrQuant_SSE.cpp:
53606 Replaced Clip3 and Inhanced technique to load data in vectorization
53607 of TComTrQuant::fastInverseDst
53608 [b3b9435fdb6c]
53609
536102013-03-26 praveen Tiwari <praveen@multicorewareinc.com>
53611
53612 * source/encoder/CMakeLists.txt:
53613 Merged multicoreware/xhevc into default
53614 [225bfae48ee2]
53615
536162013-03-25 praveentiwari <praveentiwari>
53617
53618 * source/encoder/TComTrQuant_SSE.cpp:
53619 Vectorized code for TComTrQuant::fastInverseDst
53620 [14dab7ea86d5]
53621
53622 * source/encoder/CMakeLists.txt:
53623 Modified CMakeLists.txt for TComTrQuant_SSE.cpp
53624 [3a4b0271c907]
53625
53626 * source/Lib/TLibCommon/TComTrQuant.cpp,
53627 source/encoder/CMakeLists.txt:
53628 Backed out changeset: aa84b30cd9ae
53629 [297daf59f4e7]
53630
53631 * source/Lib/TLibCommon/TComTrQuant.cpp,
53632 source/encoder/CMakeLists.txt:
53633 Modified CMakeLists.txt for TComTrQuant.cpp
53634 [aa84b30cd9ae]
53635
53636 * source/Lib/TLibCommon/TComTrQuant.cpp:
53637 First attempt to vectorize
53638 [efdab4e67252]
53639
536402013-04-04 Steve Borho <steve@borho.org>
53641
53642 * source/test/testbench.cpp:
53643 testbench: add remaining pixel functions
53644 [a7b9fc5161dc]
53645
53646 * source/test/testbench.cpp:
53647 testbench: use a for() loop, rename numofprim to curpar
53648 [084eea175be7]
53649
53650 * source/test/testbench.cpp:
53651 testbench: combine loops
53652 [f139817f864a]
53653
53654 * source/test/testbench.cpp, source/test/unittest.cpp,
53655 source/test/unittest.h:
53656 testbench: remove redundant partition enum, clean unittest.h
53657
53658 Headers should #include only the minimal number of headers required
53659 to ensure their own data types are defined. They should also not use
53660 "using namespace", only CPP files should use those statements.
53661 [16de12763457]
53662
53663 * source/test/testbench.cpp:
53664 testbench: more flexible argument parsing
53665 [11cd8cf25ae1]
53666
53667 * source/test/testbench.cpp:
53668 testbench: remove unused do_bench
53669 [7b6028c5e509]
53670
53671 * source/test/testbench.cpp:
53672 testbench: allow cpuid to be user-provided
53673 [2df55ead8fe4]
53674
53675 * source/test/testbench.cpp:
53676 pass primitive function tables to validate to the check* functions
53677 [6473652ab8da]
53678
53679 * source/test/testbench.cpp:
53680 testbench: fix typos in comments, remove unused global var
53681 [380aa78e70ae]
53682
53683 * source/Lib/TLibCommon/TComRdCost.cpp:
53684 xCalcHADs8x8 should call sa8d_8x8, remove satd calls from similar
53685 functions
53686
53687 xCalcHADs16x4() and xCalcHADs4x16() would both need sa8d primitives
53688 [1a2ac116b26c]
53689
53690 * source/encoder/pixel.cpp, source/encoder/primitives.h,
53691 source/encoder/vec/pixel.inc:
53692 primitives: add sa8d_8x8 and sa8d_16x16 primitives
53693
53694 I copied C references for those functions from x264, and renamed
53695 satd_8x8 in pixel.inc to sa8d_8x8 since that is what it implements.
53696 [6b67af80a1f4]
53697
536982013-04-04 ggopu <ggopu>
53699
53700 * source/test/testbench.cpp, source/test/unittest.cpp,
53701 source/test/unittest.h:
53702 Added header and removed unwanted variable and comments
53703 [76e096fbd6bf]
53704
53705 * doc/UnitTestUsage.txt, source/test/testbench.cpp:
53706 Added Test bench usage Doc and Included the Single primitive check
53707 and Fixed all the Warning in test bench
53708 [cfa472c6afd5]
53709
537102013-04-04 Gopu G <gopu@multicorewareinc.com>
53711
53712 * source/test/CMakeLists.txt:
53713 Merged multicoreware/xhevc into default
53714 [a373f73d422a]
53715
537162013-04-04 ggopu <ggopu>
53717
53718 * source/test/CMakeLists.txt:
53719 solved conflict issue
53720 [df3b82e6640f]
53721
53722 * source/test/CMakeLists.txt:
53723 Disabled warnings for testbench
53724 [b7adfdf47dbe]
53725
53726 * doc/UnitTestUsage.txt:
53727 Added Doc for UnitTest Usage
53728 [f9a1d53c7703]
53729
53730 * source/test/testbench.cpp:
53731 Added Single primitive check
53732 [765992ddceb1]
53733
537342013-04-04 Steve Borho <steve@borho.org>
53735
53736 * source/encoder/vec/pixel.inc:
53737 uncrustify: fix eoln damage in pixel.inc
53738 [a6a4ecc9d93c]
53739
537402013-04-04 Deepthi <Deepthi>
53741
53742 * Merge
53743 [e07bb748be27]
53744
53745 * source/encoder/vec/pixel.inc:
53746 Removing shadows/redeclarations
53747 [ff75a4f2a134]
53748
537492013-04-04 Steve Borho <steve@borho.org>
53750
53751 * source/test/CMakeLists.txt:
53752 cmake: rename thread pool test to PoolTest
53753 [b79778a2a241]
53754
53755 * source/test/CMakeLists.txt:
53756 cmake: fix case of test bench filenames
53757 [8801f4346870]
53758
537592013-04-04 nandaku2 <deepthi@multicorewareinc.com>
53760
53761 * source/test/unittest.CPP:
53762 Merged in ggopu/gopu_x265 (pull request #33)
53763
53764 file name extension issue fixed
53765 [4449194c1d02]
53766
537672013-04-04 ggopu <ggopu>
53768
53769 * source/test/unittest.CPP, source/test/unittest.cpp:
53770 File name Extension issue fixed
53771 [350b345eff63]
53772
537732013-04-04 nandaku2 <deepthi@multicorewareinc.com>
53774
53775 * Merged in deepthidevaki/xhevc_deepthid (pull request #32)
53776
53777 Added vectorized satd_8x8 to pixel.inc
53778 [7e51f92d13e8]
53779
537802013-04-04 Deepthi Devaki <Deepthi Devaki>
53781
53782 * source/encoder/vec/pixel.inc:
53783 Added vectorized satd_8x8 to pixel.inc
53784 [349f2249ec7d]
53785
537862013-04-04 nandaku2 <deepthi@multicorewareinc.com>
53787
53788 * source/test/TestBench.cpp, source/test/UnitTest.cpp,
53789 source/test/UnitTest.h:
53790 Merged in ggopu/gopu_x265 (pull request #31)
53791
53792 changed the file name conversion and added comparision for c and
53793 vector primitives
53794 [4abb704ac3ba]
53795
537962013-04-04 ggopu <ggopu>
53797
53798 * source/test/TestBench.cpp, source/test/UnitTest.cpp,
53799 source/test/UnitTest.h, source/test/testbench.cpp,
53800 source/test/unittest.CPP, source/test/unittest.h:
53801 Changed file name conversion and included the c and vector primitive
53802 comparision check
53803 [3101b15fba69]
53804
538052013-04-03 Gopu G <gopu@multicorewareinc.com>
53806
53807 * source/VectorClass/dispatch_example.cpp, source/test/TestBench.cpp:
53808 Merged multicoreware/xhevc into default
53809 [809027331954]
53810
538112013-04-03 ggopu <ggopu>
53812
53813 * source/test/TestBench.cpp:
53814 conflict error
53815 [3adf277f27b9]
53816
53817 * source/test/TestBench.cpp:
53818 resolved conflict error
53819 [8089151317d8]
53820
53821 * source/test/TestBench.cpp:
53822 solved conflict error
53823 [8bd75c20c1be]
53824
53825 * source/test/TestBench.cpp:
53826 resolved conflict error
53827 [3e19d1cb4d37]
53828
538292013-04-03 Gopu G <gopu@multicorewareinc.com>
53830
53831 * Merged multicoreware/xhevc into default
53832 [50f85e140aac]
53833
538342013-04-02 Gopu G <gopu@multicorewareinc.com>
53835
53836 * Merged multicoreware/xhevc into default
53837 [181970e99874]
53838
538392013-04-02 ggopu <ggopu>
53840
53841 * source/test/TestBench.cpp:
53842 Enhanced test bench for satd*x*
53843 [8659ad7e9457]
53844
538452013-04-01 Gopu G <gopu@multicorewareinc.com>
53846
53847 * source/test/TestBench.cpp, source/x265cfg.cpp, source/x265cfg.h,
53848 source/x265top.cpp, source/x265top.h:
53849 Merged multicoreware/xhevc into default
53850 [7900bd4aedb5]
53851
538522013-04-01 ggopu <ggopu>
53853
53854 * source/test/TestBench.cpp:
53855 Resolved the Conflict Error
53856 [7d97e00d4fdf]
53857
53858 * source/test/TestBench.cpp:
53859 Resolved conflict
53860 [f085c786246b]
53861
538622013-03-28 ggopu <ggopu>
53863
53864 * source/test/TestBench.cpp:
53865 included test functions like pixelcmp
53866 [585c75f7107a]
53867
538682013-04-04 Steve Borho <steve@borho.org>
53869
53870 * source/encoder/vec/CMakeLists.txt,
53871 source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
53872 source/encoder/vec/vecprimitives.inc:
53873 break vecprimitives.inc into multiple headers
53874 [462b9403a0bf]
53875
538762013-04-03 Steve Borho <steve@borho.org>
53877
53878 * source/encoder/macroblock.cpp, source/encoder/primitives.cpp,
53879 source/encoder/primitives.h:
53880 make an empty shell for macroblock.cpp
53881 [732999829240]
53882
53883 * source/Lib/TLibCommon/TComPicYuv.cpp,
53884 source/Lib/TLibCommon/TComSlice.cpp,
53885 source/Lib/TLibEncoder/TEncPreanalyzer.cpp:
53886 uncrustify: fixup some code where uncrustify thought it saw
53887 templates
53888
53889 x<foo>> 1 was converted to x<foo> > 1 instead of x < (foo>>1). I
53890 added parens to avoid this abiguity.
53891 [7595da33f0f2]
53892
53893 * source/encoder/macroblock.cpp:
53894 change macroblock.cpp to unix eoln
53895 [70861c21adc1]
53896
53897 * source/encoder/primitives.cpp, source/encoder/primitives.h:
53898 Merge
53899 [e94d0b91c049]
53900
539012013-04-04 Deepthi <Deepthi>
53902
53903 * source/encoder/CMakeLists.txt:
53904 cmake: add macroblock.cpp
53905 [39e35d878b64]
53906
53907 * source/encoder/macroblock.cpp:
53908 Adding new file macroblock.cpp
53909 [6618a2d9f5fe]
53910
53911 * source/encoder/primitives.cpp, source/encoder/primitives.h:
53912 Move Setup_C_PixelPrimitives decl to header file
53913 [689fa6d23f01]
53914
539152013-04-03 Steve Borho <steve@borho.org>
53916
53917 * source/Lib/TLibCommon/TComDataCU.h,
53918 source/Lib/TLibEncoder/TEncRateCtrl.h:
53919 uncrustify: final run, fixups my hand edits
53920 [d77975bfe8ec]
53921
53922 * source/Lib/TAppCommon/program_options_lite.h,
53923 source/Lib/TLibCommon/ContextModel.cpp,
53924 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
53925 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/TComDataCU.h,
53926 source/Lib/TLibCommon/TComPicSym.h,
53927 source/Lib/TLibCommon/TComPicYuv.h,
53928 source/Lib/TLibCommon/TComRdCost.cpp,
53929 source/Lib/TLibCommon/TComRdCost.h,
53930 source/Lib/TLibCommon/TComSlice.h, source/Lib/TLibEncoder/TEncCfg.h,
53931 source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
53932 source/Lib/TLibEncoder/TEncEntropy.h,
53933 source/Lib/TLibEncoder/TEncGOP.cpp,
53934 source/Lib/TLibEncoder/TEncRateCtrl.h,
53935 source/Lib/TLibEncoder/TEncSbac.h,
53936 source/Lib/TLibEncoder/TEncSearch.cpp, source/Lib/config.cpp,
53937 source/Lib/encoder.cpp, source/Lib/libmd5/libmd5.c:
53938 uncrustify: apply globally again
53939
53940 After the first pass, some of the distance thresholds are now
53941 exceeded, requiring #endif comments or better wrapping. I've hand
53942 edited a few spots to make them easier to read
53943 [186aa91fb1c3]
53944
53945 * doc/uncrustify/apply-to-all-source.py:
53946 uncrustify: do not apply style to VectorClass headers
53947
53948 They are difficult functions to align mechanically, just leave them
53949 be
53950 [21185b179d11]
53951
53952 * source/Lib/TAppCommon/program_options_lite.cpp,
53953 source/Lib/TAppCommon/program_options_lite.h,
53954 source/Lib/TLibCommon/AccessUnit.h,
53955 source/Lib/TLibCommon/CommonDef.h,
53956 source/Lib/TLibCommon/ContextModel.cpp,
53957 source/Lib/TLibCommon/ContextModel.h,
53958 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
53959 source/Lib/TLibCommon/ContextModel3DBuffer.h,
53960 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
53961 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
53962 source/Lib/TLibCommon/TComBitCounter.h,
53963 source/Lib/TLibCommon/TComBitStream.cpp,
53964 source/Lib/TLibCommon/TComBitStream.h,
53965 source/Lib/TLibCommon/TComCABACTables.cpp,
53966 source/Lib/TLibCommon/TComCABACTables.h,
53967 source/Lib/TLibCommon/TComDataCU.cpp,
53968 source/Lib/TLibCommon/TComDataCU.h,
53969 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
53970 source/Lib/TLibCommon/TComInterpolationFilter.h,
53971 source/Lib/TLibCommon/TComList.h,
53972 source/Lib/TLibCommon/TComLoopFilter.cpp,
53973 source/Lib/TLibCommon/TComLoopFilter.h,
53974 source/Lib/TLibCommon/TComMotionInfo.cpp,
53975 source/Lib/TLibCommon/TComMotionInfo.h,
53976 source/Lib/TLibCommon/TComMv.h,
53977 source/Lib/TLibCommon/TComPattern.cpp,
53978 source/Lib/TLibCommon/TComPattern.h,
53979 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
53980 source/Lib/TLibCommon/TComPicSym.cpp,
53981 source/Lib/TLibCommon/TComPicSym.h,
53982 source/Lib/TLibCommon/TComPicYuv.cpp,
53983 source/Lib/TLibCommon/TComPicYuv.h,
53984 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
53985 source/Lib/TLibCommon/TComPrediction.cpp,
53986 source/Lib/TLibCommon/TComPrediction.h,
53987 source/Lib/TLibCommon/TComRdCost.cpp,
53988 source/Lib/TLibCommon/TComRdCost.h,
53989 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
53990 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
53991 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
53992 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
53993 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
53994 source/Lib/TLibCommon/TComSlice.cpp,
53995 source/Lib/TLibCommon/TComSlice.h,
53996 source/Lib/TLibCommon/TComTrQuant.cpp,
53997 source/Lib/TLibCommon/TComTrQuant.h,
53998 source/Lib/TLibCommon/TComWeightPrediction.cpp,
53999 source/Lib/TLibCommon/TComWeightPrediction.h,
54000 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
54001 source/Lib/TLibCommon/TypeDef.h,
54002 source/Lib/TLibEncoder/AnnexBwrite.h,
54003 source/Lib/TLibEncoder/NALwrite.cpp,
54004 source/Lib/TLibEncoder/NALwrite.h,
54005 source/Lib/TLibEncoder/SEIwrite.cpp,
54006 source/Lib/TLibEncoder/SEIwrite.h,
54007 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
54008 source/Lib/TLibEncoder/SyntaxElementWriter.h,
54009 source/Lib/TLibEncoder/TEncAnalyze.cpp,
54010 source/Lib/TLibEncoder/TEncAnalyze.h,
54011 source/Lib/TLibEncoder/TEncBinCoder.h,
54012 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
54013 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
54014 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
54015 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
54016 source/Lib/TLibEncoder/TEncCavlc.cpp,
54017 source/Lib/TLibEncoder/TEncCavlc.h,
54018 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
54019 source/Lib/TLibEncoder/TEncCu.h,
54020 source/Lib/TLibEncoder/TEncEntropy.cpp,
54021 source/Lib/TLibEncoder/TEncEntropy.h,
54022 source/Lib/TLibEncoder/TEncGOP.cpp,
54023 source/Lib/TLibEncoder/TEncGOP.h,
54024 source/Lib/TLibEncoder/TEncPic.cpp,
54025 source/Lib/TLibEncoder/TEncPic.h,
54026 source/Lib/TLibEncoder/TEncPreanalyzer.cpp,
54027 source/Lib/TLibEncoder/TEncPreanalyzer.h,
54028 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
54029 source/Lib/TLibEncoder/TEncRateCtrl.h,
54030 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
54031 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
54032 source/Lib/TLibEncoder/TEncSbac.cpp,
54033 source/Lib/TLibEncoder/TEncSbac.h,
54034 source/Lib/TLibEncoder/TEncSearch.cpp,
54035 source/Lib/TLibEncoder/TEncSearch.h,
54036 source/Lib/TLibEncoder/TEncSlice.cpp,
54037 source/Lib/TLibEncoder/TEncSlice.h,
54038 source/Lib/TLibEncoder/TEncTop.cpp,
54039 source/Lib/TLibEncoder/TEncTop.h,
54040 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
54041 source/Lib/TLibEncoder/WeightPredAnalysis.h,
54042 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
54043 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/Lib/config.cpp,
54044 source/Lib/config.h, source/Lib/encoder.cpp, source/Lib/encoder.h,
54045 source/Lib/libmd5/MD5.h, source/Lib/libmd5/libmd5.c,
54046 source/Lib/libmd5/libmd5.h, source/PPA/ppa.cpp, source/PPA/ppa.h,
54047 source/PPA/ppaApi.h, source/VectorClass/instrset.h,
54048 source/VectorClass/instrset_detect.cpp,
54049 source/encoder/TComRdCost_SSE.cpp, source/encoder/pixel.cpp,
54050 source/encoder/primitives.cpp, source/encoder/primitives.h,
54051 source/encoder/threading.cpp, source/encoder/threading.h,
54052 source/encoder/threadpool.cpp, source/encoder/threadpool.h,
54053 source/encoder/vec/vecprimitives.inc, source/test/TestBench.cpp,
54054 source/test/UnitTest.cpp, source/test/UnitTest.h,
54055 source/test/testpool.cpp:
54056 uncrustify: apply globally
54057 [a2054f7e2644]
54058
54059 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
54060 uncrustify.bat:
54061 uncrustify: add a drag/drop batch file for uncrustify, and apply-to-
54062 all.py
54063 [a737735e60a6]
54064
54065 * source/VectorClass/dispatch_example.cpp:
54066 remove VectorClass/dispatch_example.cpp
54067 [98b7425b8b1d]
54068
54069 * source/encoder/threading.cpp:
54070 threading: do not call pthread_exit after joining a thread
54071 [8333f6a4b74e]
54072
54073 * source/encoder/pixel.cpp, source/encoder/primitives.cpp:
54074 primitives: allow for the fact that multiple C++ files will define C
54075 primitives
54076 [98bb68d4f9aa]
54077
54078 * source/VectorClass/instrset_detect.cpp:
54079 instrset: prevent compiler warnings about nop function
54080 [4f459b703920]
54081
54082 * source/encoder/pixel.cpp:
54083 pixel: 4x16 and 16x4 were backwards
54084 [212467c42aba]
54085
54086 * source/VectorClass/instrset_detect.cpp:
54087 instrset: improve compiler fallbacks for xgetbv
54088 [8d1a5839809a]
54089
54090 * source/encoder/TComRdCost_SSE.cpp:
54091 remove cruft from TComRdCost_SSE.cpp
54092 [9ac68e0fc2ee]
54093
54094 * source/encoder/vec/vecprimitives.inc:
54095 astyle: cleanup vecprimitives.inc
54096 [3ecb9180930e]
54097
54098 * Merged in deepthidevaki/xhevc_deepthid (pull request #30)
54099
54100 Added satd4x4 in vecprimitives.inv
54101 [d17d19c2f9d6]
54102
541032013-04-03 Deepthi Devaki <Deepthi Devaki>
54104
54105 * source/encoder/vec/vecprimitives.inc:
54106 Added vectorized hads4x4(satd_4x4) to vecprimitive.inc
54107 [ba8f928d91d6]
54108
541092013-04-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54110
54111 * Merged multicoreware/xhevc into default
54112 [e9cffb400da1]
54113
54114 * source/encoder/TComRdCost_SSE.cpp:
54115 Merged multicoreware/xhevc into default
54116 [b553eaec9dd7]
54117
541182013-04-03 Deepthi Devaki <Deepthi Devaki>
54119
54120 * source/encoder/TComRdCost_SSE.cpp:
54121 Vectorized xCalcHADS8x8 with 16 bit operations
54122 [552a75a69cb0]
54123
54124 * source/encoder/TComRdCost_SSE.cpp:
54125 Backed out changeset: e4616400a510
54126 [88a6837e15b5]
54127
54128 * source/encoder/TComRdCost_SSE.cpp:
54129 Backed out changeset: e500456e0146
54130 [e1ada400cd62]
54131
541322013-04-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54133
54134 * Merged multicoreware/xhevc into default
54135 [9054e642786b]
54136
541372013-04-02 Deepthi Devaki <Deepthi Devaki>
54138
54139 * source/encoder/TComRdCost_SSE.cpp:
54140 Modifed xCalcHADS8x8 with 16bit operations.
54141 [e500456e0146]
54142
54143 * source/encoder/TComRdCost_SSE.cpp:
54144 Modified xCalcHADS8x8 with 16bit operations.
54145 [e4616400a510]
54146
541472013-04-03 Steve Borho <steve@borho.org>
54148
54149 * source/encoder/threadpool.cpp:
54150 threadpool: use InterlockedCompareExchange64
54151 [74715f9955e9]
54152
54153 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54154 rename cpuIDDetect to CpuIDDetect, to follow convention of
54155 primitives.cpp
54156 [3b9f17747601]
54157
54158 * source/encoder/primitives.cpp, source/encoder/primitives.h,
54159 source/encoder/vec/CMakeLists.txt:
54160 cmake: gcc 4.6 supports AVX, but not yet AVX2
54161 [5d84ec0af006]
54162
541632013-04-03 Deepthi <Deepthi>
54164
54165 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54166 Moving function declarations to the header file.
54167 [329deaeea8e7]
54168
541692013-04-03 Steve Borho <steve@borho.org>
54170
54171 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
54172 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54173 Merge
54174 [3732add09cc2]
54175
541762013-04-03 Deepthi <Deepthi>
54177
54178 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
54179 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54180 Changing Primitives Setup for C and vector code.
54181 [c5b472d23023]
54182
541832013-04-02 Deepthi <Deepthi>
54184
54185 * source/encoder/primitives.cpp:
54186 Bug Fix for crashes in PartitionFromSizes
54187 [c9dd52c5c274]
54188
541892013-03-30 Steve Borho <steve@borho.org>
54190
54191 * source/Lib/TLibCommon/TComRdCost.cpp,
54192 source/Lib/TLibCommon/TypeDef.h, source/encoder/TComRdCost_SSE.cpp:
54193 Replace #define ENABLE_VECTOR with ENABLE_PRIMITIVES cmake option
54194
54195 Use x265 performance primitives. We need to profile which of the 12,
54196 24, 48, and 64 partition sizes are worth adding as primitives.
54197
54198 Ditto for the SSE (sum of square differences) functions.
54199 [30ece3e5796f]
54200
542012013-04-02 Steve Borho <steve@borho.org>
54202
54203 * doc/uncrustify/codingstyle.cfg:
54204 uncrustify: tweak enum and struct bracing and comment margins
54205 [2ce1d641581a]
54206
54207 * doc/uncrustify/codingstyle.cfg, source/PPA/ppaApi.h,
54208 source/encoder/pixel.cpp, source/encoder/primitives.cpp,
54209 source/encoder/primitives.h, source/encoder/threading.cpp,
54210 source/encoder/threading.h, source/encoder/threadpool.cpp,
54211 source/encoder/threadpool.h, source/encoder/vec/vecprimitives.inc:
54212 Prepare to use uncrustify on our encoder sources
54213 [ae8c19ec7690]
54214
54215 * doc/uncrustify/codingstyle.cfg, doc/uncrustify/uncrustify.bat,
54216 doc/uncrustify/uncrustify.exe:
54217 add uncrustify and a base config
54218 [0b9a400d0a1a]
54219
54220 * source/encoder/threadpool.cpp:
54221 threadpool: remove semicolon from macro definition
54222 [a6a8378d4f32]
54223
54224 * source/encoder/primitives.cpp:
54225 primitives: replace asserts with if() checks
54226 [f833a10d6b5c]
54227
54228 * source/test/testpool.cpp:
54229 testpool: add another assertion
54230 [3b903329179e]
54231
54232 * source/encoder/threadpool.cpp:
54233 threadpool: correct the order of the arguments to
54234 InterlockedCompareExchange()
54235
54236 Amusingly, it mostly worked the wrong way, except it never cleared
54237 any bits, so the worker threads kept working on rows until the frame
54238 dequeued itself.
54239 [c3dad08b999b]
54240
54241 * source/test/testpool.cpp:
54242 testpool: stop processing CUs on the last column
54243 [e26d67716fd9]
54244
54245 * source/encoder/threadpool.cpp:
54246 threadpool: use the correct MSVC instrinsic for integer CAS
54247 [821adc18540a]
54248
54249 * source/encoder/threadpool.cpp:
54250 threadpool: use atomic compare and swap when consuming rows
54251
54252 The GCC __sync_and_and_fetch() instrinsic was returning the new
54253 value, which is entirely useless. The thread could not tell if it
54254 was the one which cleared the bit. So I've switched it to a compare
54255 and swap operation. Now the thread pool test runs correctly when
54256 compiled with GCC
54257 [b2d5a5aa7a20]
54258
54259 * source/encoder/threadpool.cpp:
54260 threadpool: remove redundant semicolon
54261 [10e63f2bdbc1]
54262
54263 * source/encoder/primitives.cpp:
54264 apply coding style to primitives.cpp, minor cleanups
54265 [2b33261c0e61]
54266
54267 * source/encoder/primitives.cpp:
54268 primitives: remove cruft from primitives.cpp, add compiler checks
54269
54270 Do not try to access vectorized architectures that we know the
54271 compiler cannot generate.
54272 [128a506f7cb9]
54273
54274 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54275 primitives: do not include instrset.h from primitives.h
54276
54277 Just declare the instrset_detect() function as an extern in
54278 primitives.cpp
54279 [0f32be5b4fa8]
54280
54281 * source/encoder/CMakeLists.txt:
54282 cmake: tabs to spaces
54283 [1bd0a875d97d]
54284
542852013-04-02 sumalatha <sumalatha>
54286
54287 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
54288 source/encoder/primitives.h:
54289 1. Included the cpu detection logic in SetupPrimitives() function.
54290 2. Changed the SetupPrimitives() function such that, based on the
54291 cpuid, the corresponing vector architure and fucntions are selected
54292 [d5eb4f663e29]
54293
54294 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
54295 source/x265main.cpp:
54296 Backed out changeset: 94aff9bad183
54297 [8f33a2e2af52]
54298
54299 * source/encoder/cpu_detection.cpp, source/encoder/cpu_detection.h,
54300 source/encoder/instrset.h, source/encoder/instrset_detect.cpp:
54301 Backed out changeset: 36b4e54f54b9
54302 [274955b783ac]
54303
543042013-04-02 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54305
54306 * source/encoder/CMakeLists.txt:
54307 Merged multicoreware/xhevc into default
54308 [a729ebc85dd7]
54309
543102013-04-01 sumalatha <sumalatha>
54311
54312 * source/encoder/cpu_detection.cpp, source/encoder/cpu_detection.h,
54313 source/encoder/instrset.h, source/encoder/instrset_detect.cpp:
54314 these files has to go with the previous checkin version(199)
54315 [36b4e54f54b9]
54316
54317 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
54318 source/x265main.cpp:
54319 1. Included the cpu detection logic in the main 2. Changed the
54320 SetupPrimitives() function such that, based on the cpuid, the
54321 corresponing vector architure and fucntions are selected
54322 [94aff9bad183]
54323
543242013-04-02 Steve Borho <steve@borho.org>
54325
54326 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
54327 source/encoder/primitives.h:
54328 cmake: x64 Linux build fixes
54329 [c67a39f91e07]
54330
54331 * source/CMakeLists.txt:
54332 cmake: provide an appopriate -march for 64bit GCC targets
54333 [0c8fda784ba1]
54334
543352013-04-01 Steve Borho <steve@borho.org>
54336
54337 * source/Lib/CMakeLists.txt, source/encoder/CMakeLists.txt,
54338 source/encoder/vec/CMakeLists.txt, source/test/CMakeLists.txt:
54339 cmake: use GCC variable, in lieu of CMAKE_COMPILER_IS_GNUCXX
54340 [60c583f05000]
54341
54342 * source/CMakeLists.txt:
54343 cmake: detect 64bit build, set GCC flag if GCC is detected
54344
54345 Both of these can be used in internal CMakeLists.txt files, to
54346 improve clarity
54347 [0e8858d0fb9f]
54348
543492013-04-01 deepthidevaki <deepthidevaki>
54350
54351 * source/encoder/TComRdCost_SSE.cpp:
54352 Modified xCalcHADS4x4 to use 16bit operations.
54353 [87514f1663f3]
54354
543552013-03-30 Steve Borho <steve@borho.org>
54356
54357 * source/Lib/TLibCommon/TypeDef.h:
54358 Disable DISTORTION_PRECISION_ADJUSTMENT when HIGH_BIT_DEPTH is
54359 disabled.
54360
54361 This turns the operation into a >> 0, which any sane compiler will
54362 discard.
54363 [99eea17c57d6]
54364
54365 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54366 add mapping function from Width x Height to Partition enum
54367 [759fd1db4927]
54368
54369 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
54370 source/Lib/config.cpp, source/Lib/config.h, source/Lib/encoder.cpp,
54371 source/Lib/encoder.h, source/x265cfg.cpp, source/x265cfg.h,
54372 source/x265main.cpp, source/x265top.cpp, source/x265top.h:
54373 move top level encoder classes into Lib/ folder
54374
54375 The encoder should be usable as a shared library (x265.lib +
54376 HM.lib). The top level class should not be part of the CLI-only
54377 portion of the source.
54378 [c509aabfc0a7]
54379
54380 * source/encoder/CMakeLists.txt:
54381 remove unused set_source_files_properties
54382 [2c938c6441e3]
54383
54384 * source/Lib/TLibEncoder/TEncCavlc.h:
54385 fix VC compiler warnings (unreferenced formal parameter) in HM
54386 source
54387 [3df5de68dbe7]
54388
54389 * source/Lib/TLibCommon/TComDataCU.h:
54390 fix VC compiler warnings (integer size type conversions) in HM
54391 source
54392 [73f1aa34c9a0]
54393
54394 * source/Lib/TLibCommon/ContextModel3DBuffer.h:
54395 fix VC compiler warning in the HM source
54396 [d6a9f964a0dc]
54397
543982013-03-29 Steve Borho <steve@borho.org>
54399
54400 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
54401 prevent one compile warning when HIGH_BIT_DEPTH is disabled
54402 [e0b7e82b403f]
54403
54404 * source/encoder/vec/vecprimitives.inc:
54405 add a stub 8bit vectorized primitive to prevent compile warnings
54406 [cbff9e95a7cb]
54407
54408 * source/encoder/pixel.cpp, source/encoder/primitives.h:
54409 move primitives_c extern to the file(s) which define its methods
54410 [ace6ed34ee4c]
54411
54412 * source/encoder/CMakeLists.txt, source/encoder/pixel.cpp:
54413 add templated SATD functions, based on x264's macro routines
54414
54415 These use SWAR to do two operations in each clock cycle
54416 [018408f096c4]
54417
54418 * source/encoder/pixel.cpp, source/encoder/primitives.h:
54419 add more irregular partition sizes (we probably still need 24s)
54420 [f676a5209ed7]
54421
54422 * source/encoder/CMakeLists.txt, source/encoder/pixel.cpp:
54423 add pixel.cpp with templated sad function
54424 [0f94e98ddcfa]
54425
54426 * source/encoder/vec/vecprimitives.inc:
54427 bug fix in vecprimitives.inc
54428 [aa80411df22e]
54429
54430 * source/encoder/vec/vecprimitives.inc:
54431 declare seperate implementations of vector primitives for 8bit and
54432 16bit pels
54433 [7adb3cf4ebe2]
54434
54435 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54436 stub in support for C reference versions of each encoder primitive
54437 [ddc4616609f6]
54438
54439 * source/compat/msvc/stdint.h:
54440 ensure intptr_t is defined on MSVC compiles
54441 [ab7e6788a2bc]
54442
54443 * source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54444 compiler portable CDECL macro
54445 [130b6f1555d2]
54446
54447 * source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h,
54448 source/encoder/TComRdCost_SSE.cpp, source/encoder/primitives.cpp,
54449 source/encoder/primitives.h, source/encoder/threading.cpp,
54450 source/encoder/threading.h, source/encoder/threadpool.cpp,
54451 source/encoder/threadpool.h, source/encoder/vec/avx.cpp,
54452 source/encoder/vec/avx2.cpp, source/encoder/vec/sse2.cpp,
54453 source/encoder/vec/sse3.cpp, source/encoder/vec/sse41.cpp,
54454 source/encoder/vec/sse42.cpp, source/encoder/vec/ssse3.cpp,
54455 source/encoder/vec/vecprimitives.inc, source/test/TestBench.cpp,
54456 source/test/UnitTest.cpp, source/test/UnitTest.h,
54457 source/test/testpool.cpp, source/x265cfg.cpp, source/x265cfg.h,
54458 source/x265main.cpp, source/x265top.cpp, source/x265top.h:
54459 apply coding style to all new code (leaving HM unmodified for the
54460 moment)
54461 [86b79c630261]
54462
54463 * doc/astyle/apply-to-all-source.py:
54464 add a Python script to apply coding style globally
54465 [750cd70ec32b]
54466
54467 * doc/astyle/drag-astyle.bat:
54468 fix comment in drag-astyle.bat
54469 [bae49dd4f46d]
54470
54471 * doc/astyle/AStyle.exe, doc/astyle/astyle-config.txt, doc/astyle
54472 /drag-astyle.bat:
54473 Add astyle.exe for Windows, a config file, and a handy drag-drop
54474 batch file
54475 [5695e621070f]
54476
54477 * source/x265top.cpp:
54478 also take updates to x265top.cpp
54479 [9096a01c31e7]
54480
54481 * source/Lib/TLibCommon/CommonDef.h, source/Lib/TLibCommon/NAL.h,
54482 source/Lib/TLibCommon/TComRom.cpp,
54483 source/Lib/TLibCommon/TComSlice.cpp,
54484 source/Lib/TLibCommon/TComSlice.h,
54485 source/Lib/TLibEncoder/SEIwrite.cpp,
54486 source/Lib/TLibEncoder/TEncCavlc.cpp,
54487 source/Lib/TLibEncoder/TEncCavlc.h,
54488 source/Lib/TLibEncoder/TEncGOP.cpp,
54489 source/Lib/TLibEncoder/TEncSbac.h:
54490 Take HM tip code (mostly cleanups)
54491 [d5a4085b832a]
54492
544932013-03-29 Deepthi <Deepthi>
54494
54495 * source/encoder/vec/vecprimitives.inc:
54496 xCaldHads4x4 added as an example vector primitive.
54497 [7794ab12b1b8]
54498
54499 * source/encoder/primitives.cpp:
54500 Remove unused parameter warning
54501 [f69b495d2323]
54502
545032013-03-29 Steve Borho <steve@borho.org>
54504
54505 * source/CMakeLists.txt, source/Lib/TLibCommon/TypeDef.h,
54506 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54507 cmake: add HIGH_BIT_DEPTH build flag, defaults to ON (previous
54508 behavior)
54509 [a168ba02c525]
54510
545112013-03-28 Steve Borho <steve@borho.org>
54512
54513 * source/encoder/threadpool.cpp:
54514 threadpool: fix MinGW build again
54515 [ec62c87b6a69]
54516
54517 * source/test/testpool.cpp:
54518 testpool: show MD5 hash as 4 hex ints
54519 [e78340875f4e]
54520
54521 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
54522 threadpool: make worker threads spin so long as job providers are
54523 enqueued
54524
54525 The idle list mechanism was buggy; threads would go idle when no
54526 work was available but none would be in the idle list when a work
54527 request arrived. Not sure how to fix this without locking, so
54528 removing the idle list for now. All threads are awakened when job
54529 providers are enqueued, and they stay active until there are no job
54530 providers registered with the thread pool.
54531
54532 Awakening a thread multiple times should be safe; might just cause a
54533 few extra loops for it to go idle later.
54534 [34d48bb54077]
54535
54536 * source/encoder/threadpool.cpp:
54537 threadpool: remove idle thread poke when job provider is enqueued
54538
54539 The provider may not have work yet; and if it did it can poke the
54540 pool itself
54541 [ede480130c99]
54542
54543 * source/CMakeLists.txt:
54544 add -march=i686 globally to gcc compile flags
54545
54546 This was required to fix MinGW link errors on Windows
54547 (__sync_and_fetch*)
54548 [64821a2d1dfe]
54549
54550 * source/test/testpool.cpp:
54551 add a proper hex print for the MD5 hash
54552 [9235319777da]
54553
54554 * source/test/UnitTest.cpp:
54555 white-space cleanups in UnitTest.cpp
54556 [e8052c1be059]
54557
54558 * source/test/CMakeLists.txt, source/test/UnitTest.cpp:
54559 more MSYS fixes
54560 [e87400a37651]
54561
54562 * source/test/CMakeLists.txt, source/test/TestBench.cpp:
54563 better workaround for strdup
54564 [14115a094db7]
54565
54566 * source/test/CMakeLists.txt, source/test/TestBench.cpp:
54567 msys compilation fixes for TestBench
54568 [cdb75f7b2fa7]
54569
54570 * source/test/CMakeLists.txt, source/test/TestBench.cpp,
54571 source/test/UnitTest.cpp:
54572 fix test bench compiler warnings
54573 [fe55521ed24c]
54574
54575 * source/test/CMakeLists.txt:
54576 cmake: fix case sensitivity of filenames
54577 [ad7dd76dc39d]
54578
54579 * source/test/CMakeLists.txt:
54580 cleanup source/test/CMakeLists.txt
54581 [47f9ec819fe8]
54582
545832013-03-25 ShinYee Chung <shinyee@multicorewareinc.com>
54584
54585 * build/linux/make-Makefiles.bash:
54586 Build: Fix missing executable permission on the BASH script.
54587 [0abab5c52e97]
54588
545892013-03-28 nandaku2 <deepthi@multicorewareinc.com>
54590
54591 * Merged in ggopu/gopu_x265 (pull request #19)
54592
54593 Created the Test bench For Vector Premitive Functions
54594 [a35abc703177]
54595
545962013-03-28 ggopu <ggopu>
54597
54598 * source/test/CMakeLists.txt, source/test/TestBench.cpp,
54599 source/test/UnitTest.cpp, source/test/UnitTest.h:
54600 Created the Test bench For Vector Premitive Functions
54601 [c530d6d7b14f]
54602
546032013-03-29 ShinYee Chung <shinyee@multicorewareinc.com>
54604
54605 * source/encoder/threadpool.cpp:
54606 threadpool: Fix missing #include for memset().
54607 [5ac9ea3e104f]
54608
546092013-03-28 Steve Borho <steve@borho.org>
54610
54611 * source/encoder/CMakeLists.txt, source/encoder/TComRdCost_SSE.cpp,
54612 source/encoder/primitives.cpp, source/encoder/primitives.h:
54613 add ALIGN_VAR macros for compiler portability
54614 [98b3d54f8bf6]
54615
54616 * source/encoder/primitives.h:
54617 primitives: use extern "C" instead of _cdecl; is more compiler
54618 portable
54619 [498c9bea248a]
54620
54621 * source/encoder/primitives.cpp, source/encoder/primitives.h,
54622 source/x265main.cpp:
54623 primitives: call SetupPrimitives() before starting encoder
54624 [da0d5b94edb6]
54625
54626 * source/CMakeLists.txt, source/encoder/primitives.cpp:
54627 primitives: add ENABLE_PRIMITIVES build option, default to ON
54628 [f2fa629b460b]
54629
54630 * source/encoder/primitives.cpp, source/encoder/primitives.h,
54631 source/encoder/vec/CMakeLists.txt:
54632 primitives: move vectorized function table externs into CPP file
54633 [24ac23d75f87]
54634
54635 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54636 move stdint.h include to primitives.h since it uses std int types
54637 [a1b10c4251f9]
54638
54639 * source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54640 primitives: match x264's pixel compare funcdef so we can later use
54641 their asm
54642 [4dc9fabbf725]
54643
54644 * source/encoder/CMakeLists.txt:
54645 fix compile of TComRdCost_SSE.cpp on VC (not sure why this worked
54646 before)
54647 [a3a4f0ed61b4]
54648
54649 * source/encoder/vec/CMakeLists.txt:
54650 cmake: VC10 appears to support /arch:AVX
54651
54652 We can back this out later if there are problems with it
54653 [ce56b207242b]
54654
546552013-03-27 Steve Borho <steve@borho.org>
54656
54657 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp:
54658 add a stub primitives.cpp, showing what CPU runtime detection should
54659 do
54660 [d169138ef9f2]
54661
54662 * source/encoder/vec/vecprimitives.inc:
54663 vec: automatically generate a primitive table for each vector
54664 architecture
54665 [169f67a4972c]
54666
54667 * source/encoder/CMakeLists.txt:
54668 cmake: add primitives.h x265 project
54669 [0bc67c2dc278]
54670
54671 * source/encoder/primitives.h:
54672 introduce EncoderPrimitives structure of function pointers
54673 [64638e854efb]
54674
54675 * source/VectorClass/vectori256.h:
54676 workaround two compiler warnings for AVX2 and VC11
54677 [97e315fd1008]
54678
54679 * source/encoder/CMakeLists.txt, source/encoder/vec/CMakeLists.txt,
54680 source/encoder/vec/avx.cpp, source/encoder/vec/avx2.cpp,
54681 source/encoder/vec/sse2.cpp, source/encoder/vec/sse3.cpp,
54682 source/encoder/vec/sse41.cpp, source/encoder/vec/sse42.cpp,
54683 source/encoder/vec/ssse3.cpp, source/encoder/vec/vecprimitives.inc:
54684 introduce a vec/ folder for instancing vectorized encoder primitives
54685
54686 This is incomplete. Next step is to declare a function table and set
54687 one up.
54688 [05481bf6d65a]
54689
54690 * source/encoder/TComRdCost_SSE.cpp:
54691 use one contributor per line in copyright header
54692 [27148d109699]
54693
54694 * source/CMakeLists.txt:
54695 cmake: add option to use multiple processors for compiling
54696 [d265d139dd54]
54697
54698 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
54699 cmake: move /Ob2 flag to be global
54700 [695e210034ad]
54701
54702 * source/test/testpool.cpp:
54703 testpool: add semicolons after PPA macros
54704 [ebb7b3d857cc]
54705
54706 * source/encoder/threadpool.cpp:
54707 cmake: use 64bit interlocked commands and C style typecasts
54708
54709 For some reason Microsoft uses signed types for atomic intrinsics
54710 and LONG64 is not the same as uint64_t
54711 [bffed1db2e83]
54712
54713 * source/test/CMakeLists.txt:
54714 cmake: add PPA and pthread libraries for appropriate build
54715 configurations
54716 [207e0e47d1c4]
54717
54718 * source/CMakeLists.txt:
54719 cmake: fix eoln damage from copy-pasting from a web-page
54720 [6c27e3178e4e]
54721
547222013-03-27 deepthidevaki <deepthidevaki>
54723
54724 * source/encoder/TComRdCost_SSE.cpp:
54725 Modified vector- xCalcHADs4x4
54726 [329defb33896]
54727
54728 * source/encoder/TComRdCost_SSE.cpp:
54729 Modifed vector- xCalcHADS4x4
54730 [ffc0604b89a9]
54731
547322013-03-27 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54733
54734 * source/encoder/TComRdCost_SSE.cpp:
54735 Merged multicoreware/xhevc into default
54736 [c4df9c66f793]
54737
547382013-03-26 deepthidevaki <deepthidevaki>
54739
54740 * source/encoder/TComRdCost_SSE.cpp:
54741 Modified xCalcHADs4x4 for better optimization
54742 [921103b76c69]
54743
547442013-03-26 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54745
54746 * Merged multicoreware/xhevc into default
54747 [a1206301f004]
54748
547492013-03-25 deepthidevaki <deepthidevaki>
54750
54751 * source/encoder/TComRdCost_SSE.cpp:
54752 Modifed vectorized xCalcHADs* for aligned data access
54753 [cdddf736f4a1]
54754
547552013-03-26 Steve Borho <steve@borho.org>
54756
54757 * source/encoder/threadpool.cpp:
54758 threadpool: reorder initializers to match member declarations to
54759 make gcc happy
54760 [a42d35cf40ea]
54761
54762 * source/test/testpool.cpp:
54763 testpool: memset requires string.h on Linux
54764 [5576e606f381]
54765
54766 * source/test/testpool.cpp:
54767 testpool: initialize CUData on allocation, makes hashes persistent
54768 [2f9e75feedfa]
54769
54770 * source/encoder/TComRdCost_SSE.cpp:
54771 disable formal parameter warnings in TComRdCost_SSE, for Release
54772 mode builds
54773
54774 This pragma should go away when we clean up the vectorized code
54775 [600af352c248]
54776
54777 * source/test/testpool.cpp:
54778 testpool: add more resolution to elapsed time
54779 [347c13c7c13a]
54780
54781 * source/encoder/threadpool.cpp:
54782 threadpool: safely allow the threadpool to be freed and reallocated
54783 [8ccacddcb5c2]
54784
54785 * source/test/testpool.cpp:
54786 testpool: do not check top-right data dependency for last block in
54787 row
54788
54789 The fact that the penumltimate block was finished implies all of the
54790 dependencies for the last block are also available.
54791 [a9b0cb1167f5]
54792
54793 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
54794 threadpool: fix a couple of bugs, introduce m_numWords variable for
54795 clarity
54796 [a2cc29d90646]
54797
54798 * source/test/testpool.cpp:
54799 testpool: enqueue row 0 to trigger processing
54800 [550abf2e723d]
54801
54802 * source/encoder/threadpool.cpp:
54803 threadpool: initialize m_numThreads correctly
54804 [72d310781d4f]
54805
54806 * source/encoder/threadpool.cpp:
54807 threadpool: clear m_queuedBitmap after allocation
54808 [b70a1bd11c88]
54809
548102013-03-25 Steve Borho <steve@borho.org>
54811
54812 * source/test/CMakeLists.txt, source/test/testpool.cpp:
54813 testpool: add MD5 fake CTU encode logic
54814 [ebef6ad81ce7]
54815
54816 * source/test/testpool.cpp:
54817 testpool: make progress on thread pool unit test
54818 [719adfd4d95a]
54819
54820 * build/README.txt:
54821 simplify build/README.txt
54822 [f0f36350faf2]
54823
548242013-03-25 Deepthi <Deepthi>
54825
54826 * Merge
54827 [928a9fe490c2]
54828
54829 * source/encoder/CMakeLists.txt:
54830 Force inlining for x265 project.
54831 [c5d96e5290e1]
54832
54833 * source/encoder/CMakeLists.txt:
54834 Adding /Ob1 for inline functions in vectorclass
54835 [58fdaadc8c9b]
54836
548372013-03-25 Steve Borho <steve@borho.org>
54838
54839 * source/Lib/TLibCommon/TComRdCost.cpp,
54840 source/encoder/TComRdCost_SSE.cpp:
54841 Added vectorized xCalcHADs4x4.
54842 [e4511f7ffd67]
54843
54844 * source/Lib/TLibCommon/TComRdCost.cpp,
54845 source/encoder/TComRdCost_SSE.cpp:
54846 Added vectorized xCalcHADs8x8 to TComRdCost_sse.cpp.
54847 [75902874989e]
54848
548492013-03-23 Steve Borho <steve@borho.org>
54850
54851 * build/ConfigureBuild.bat, build/README.txt, build/vc10-x86/build-
54852 all.bat, build/vc10-x86_64/build-all.bat, build/vc11-x86/build-
54853 all.bat, build/vc11-x86_64/build-all.bat, build/vc9-x86/build-
54854 all.bat, build/vc9-x86_64/build-all.bat, source/CMakeLists.txt,
54855 source/encoder/TComRdCost_SSE.cpp:
54856 cmake: change solution name to x265.sln
54857
54858 The repository will eventually be renamed to x265 as well
54859 [0b06a183e9d9]
54860
548612013-03-23 ShinYee Chung <shinyee@multicorewareinc.com>
54862
54863 * source/encoder/TComRdCost_SSE.cpp:
54864 Encoder: Fix the backslash used in an #include.
54865
54866 The lookup fails in Linux platform, while VC works with both
54867 backslash and forwardslash
54868 [3f5f4347ca3c]
54869
54870 * build/linux/make-Makefiles.bash:
54871 Build: cmake bash script for Linux 64bit platform.
54872 [1571b62368bf]
54873
548742013-03-22 Steve Borho <steve@borho.org>
54875
54876 * source/CMakeLists.txt:
54877 cmake: fix a copy-pasted comment
54878 [b6d723716d3a]
54879
54880 * source/CMakeLists.txt, source/VectorClass/CMakeLists.txt,
54881 source/encoder/CMakeLists.txt:
54882 cmake: merge VectorClass and all vectorization knowledge into
54883 encoder/
54884 [42d9ce7dd5b6]
54885
54886 * source/x265cfg.cpp:
54887 fixup a harmless mistake made when renaming files
54888 [2801e45e10fc]
54889
548902013-03-23 ShinYee Chung <shinyee@multicorewareinc.com>
54891
54892 * source/Lib/CMakeLists.txt:
54893 Build: Fix compile errors in HM codes due to compiler warning on
54894 unused variables.
54895 [48b1fa53a585]
54896
548972013-03-22 Steve Borho <steve@borho.org>
54898
54899 * source/CMakeLists.txt:
54900 cmake: for gcc builds, select Release build type by default
54901 [504de19e1c0c]
54902
54903 * source/App/README.txt, source/App/TAppEncoder/CMakeLists.txt,
54904 source/App/TAppEncoder/TAppEncCfg.cpp,
54905 source/App/TAppEncoder/TAppEncCfg.h,
54906 source/App/TAppEncoder/TAppEncTop.cpp,
54907 source/App/TAppEncoder/TAppEncTop.h,
54908 source/App/TAppEncoder/encmain.cpp, source/CMakeLists.txt,
54909 source/x265cfg.cpp, source/x265cfg.h, source/x265main.cpp,
54910 source/x265top.cpp, source/x265top.h:
54911 cmake: remove the APP folder, move encoder main files to source/
54912 folder
54913
54914 The CLI portion of the project is now a build option, defaulting to
54915 ON. The build target is now named x265-cli, and it will be generated
54916 in the build root Debug/ or Release/ folder
54917 [b4939353bb2f]
54918
54919 * source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
54920 source/Lib/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
54921 source/Lib/TLibEncoder/CMakeLists.txt:
54922 cmake: group all HM code into one library
54923 [dee196e7dd7f]
54924
54925 * build/vc10-x86/build-all.bat, build/vc10-x86_64/build-all.bat,
54926 build/vc11-x86/build-all.bat, build/vc11-x86_64/build-all.bat,
54927 build/vc9-x86/build-all.bat, build/vc9-x86_64/build-all.bat:
54928 cmake: add build-all batch files for each compiler target
54929
54930 This auto-detects the VS install location and skips impossible
54931 compiles
54932 [ea00c6454cd6]
54933
54934 * build/msys/make-Makefiles.sh, build/vc10-x86/make-solutions.bat,
54935 build/vc10-x86_64/make-solutions.bat, build/vc11-x86/make-
54936 solutions.bat, build/vc11-x86_64/make-solutions.bat, build/vc9-x86
54937 /make-solutions.bat, build/vc9-x86_64/make-solutions.bat:
54938 cmake: add build folders for each compiler target and batch files to
54939 open GUI
54940
54941 This makes it easy to configure the build options for each target.
54942 The number of build options is about to grow.
54943 [f8838d1b8aeb]
54944
54945 * source/Lib/TLibCommon/TComSlice.cpp:
54946 remove an include of a decoder header from the common lib
54947 [7308255a8774]
54948
54949 * source/App/TAppDecoder/CMakeLists.txt,
54950 source/App/TAppDecoder/TAppDecCfg.cpp,
54951 source/App/TAppDecoder/TAppDecCfg.h,
54952 source/App/TAppDecoder/TAppDecTop.cpp,
54953 source/App/TAppDecoder/TAppDecTop.h,
54954 source/App/TAppDecoder/decmain.cpp, source/CMakeLists.txt,
54955 source/Lib/CMakeLists.txt, source/Lib/TLibDecoder/AnnexBread.cpp,
54956 source/Lib/TLibDecoder/AnnexBread.h,
54957 source/Lib/TLibDecoder/CMakeLists.txt,
54958 source/Lib/TLibDecoder/NALread.cpp,
54959 source/Lib/TLibDecoder/NALread.h,
54960 source/Lib/TLibDecoder/SEIread.cpp,
54961 source/Lib/TLibDecoder/SEIread.h,
54962 source/Lib/TLibDecoder/SyntaxElementParser.cpp,
54963 source/Lib/TLibDecoder/SyntaxElementParser.h,
54964 source/Lib/TLibDecoder/TDecBinCoder.h,
54965 source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp,
54966 source/Lib/TLibDecoder/TDecBinCoderCABAC.h,
54967 source/Lib/TLibDecoder/TDecCAVLC.cpp,
54968 source/Lib/TLibDecoder/TDecCAVLC.h,
54969 source/Lib/TLibDecoder/TDecCu.cpp, source/Lib/TLibDecoder/TDecCu.h,
54970 source/Lib/TLibDecoder/TDecEntropy.cpp,
54971 source/Lib/TLibDecoder/TDecEntropy.h,
54972 source/Lib/TLibDecoder/TDecGop.cpp,
54973 source/Lib/TLibDecoder/TDecGop.h,
54974 source/Lib/TLibDecoder/TDecSbac.cpp,
54975 source/Lib/TLibDecoder/TDecSbac.h,
54976 source/Lib/TLibDecoder/TDecSlice.cpp,
54977 source/Lib/TLibDecoder/TDecSlice.h,
54978 source/Lib/TLibDecoder/TDecTop.cpp,
54979 source/Lib/TLibDecoder/TDecTop.h:
54980 Drop the HM decoder project; we should use HM project directly for
54981 decodes
54982
54983 We should be finding other decoders to test with as well
54984 [4e8dec8e4636]
54985
54986 * source/encoder/threadpool.h, source/test/testpool.cpp:
54987 threadpool: make pool destructor protected to force the use of
54988 Release()
54989 [e43c28659b53]
54990
54991 * source/CMakeLists.txt, source/test/CMakeLists.txt,
54992 source/test/testpool.cpp:
54993 add unit test for thread pool, incomplete
54994 [97e90fcd77fe]
54995
54996 * source/App/TAppEncoder/TAppEncCfg.cpp:
54997 ignore warnings in Y4M header reader imported from VPL
54998 [aa2829f682fb]
54999
550002013-03-21 Steve Borho <steve@borho.org>
55001
55002 * source/App/TAppEncoder/TAppEncCfg.cpp:
55003 fix white-space damage in TAppEncCfg.cpp
55004 [cca6a7ba5f3a]
55005
55006 * source/App/TAppEncoder/TAppEncCfg.cpp:
55007 Fix eoln damage in TAppEncCfg.cpp
55008 [50261b240150]
55009
55010 * source/Lib/TLibCommon/TComMv.h:
55011 fix another compiler warning in the HM
55012 [8a2d14661327]
55013
55014 * source/Lib/TLibCommon/TComSlice.h:
55015 fix a warning in the HM header
55016 [1942f88a267c]
55017
55018 * source/App/TAppEncoder/CMakeLists.txt:
55019 cmake: encoder app now links against x265 library (source/encoder)
55020 [d5de005561cf]
55021
55022 * source/App/TAppEncoder/TAppEncCfg.cpp:
55023 encoder: gcc requires math.h for ceil()
55024 [d6d1e2f2f535]
55025
55026 * source/App/TAppDecoder/CMakeLists.txt,
55027 source/App/TAppEncoder/CMakeLists.txt, source/Lib/CMakeLists.txt:
55028 cmake: rename md5 lib so it is not compiled as liblibmd5
55029 [f45eb3a34f5a]
55030
55031 * source/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
55032 source/encoder/CMakeLists.txt:
55033 cmake: move TComRdCost_SSE build to encoder/CMakeLists.txt
55034 [437850ed2225]
55035
550362013-03-21 ggopu <ggopu>
55037
55038 * build/ConfigureSolution.bash:
55039 Noo Need for this Script
55040 [21f0f70a76a6]
55041
55042 * build/ConfigureSolution.bat:
55043 No Need for this Script
55044 [f780b517b7b8]
55045
55046 * build/ConfigureBuild.bat:
55047 Modified the Script for Build Mode
55048 [f2ce5bd828bf]
55049
550502013-03-21 Deepthi <Deepthi>
55051
55052 * Merge
55053 [dd3d01a52f4c]
55054
55055 * build/ConfigureBuild.bat:
55056 Updates to build script
55057 [ee39c9715956]
55058
55059 * source/encoder/TComRdCost_SSE.cpp:
55060 Removing redundant path
55061 [c23b0c5f44b8]
55062
55063 * source/Lib/TLibCommon/CMakeLists.txt:
55064 Adding include directories and vector build options.
55065 [e788257c2b47]
55066
55067 * source/VectorClass/CMakeLists.txt:
55068 Changing all vector builds to SSE2 for now.
55069 [1ff8a33f3356]
55070
55071 * source/Lib/TLibCommon/CMakeLists.txt:
55072 Forward slash error in Cmake script
55073 [6d19c8cf40d2]
55074
55075 * build/buildSolution.bash:
55076 Removing initial build script
55077 [fa010f66f667]
55078
550792013-03-21 sumalatha <sumalatha>
55080
55081 * source/App/TAppEncoder/TAppEncCfg.cpp:
55082 Changed the code for supporting 1. YUV files with per sequence cfg
55083 files 2. y4m files with no per seqence cfg files for y4m files,
55084 width, height and frame rate are obtained by parsing the y4m file
55085 [d825fcd6fcf0]
55086
550872013-03-21 nandaku2 <deepthi@multicorewareinc.com>
55088
55089 * Merged in ggopu/xhevc_ggopu (pull request #6)
55090
55091 Build Scripts
55092 [36be38d95a0e]
55093
550942013-03-20 ggopu <ggopu>
55095
55096 * build/ConfigureSolution.bat:
55097 Script is for To Build only Visual Stdio Solutions for All Visual
55098 Studio Compilers or any Specific Visual Studio Compiler
55099 [1a26d0d759f3]
55100
55101 * build/ConfigureSolution.bash:
55102 Script is for To Build Only Solutions for All MinGW Compilers or Any
55103 Specific MinGW Compilers
55104 [cdb508562f50]
55105
55106 * build/ConfigureBuild.bat:
55107 Script is for To Build Bin and Solutions for All the Visual Studio
55108 Compilers or any Specific Visual Studio Compiler
55109 [924204a92ab3]
55110
55111 * build/ConfigureBuild.bash:
55112 Script is used to Configure the Solution and Build the Bin for all
55113 MinGW Compilers - MingW, UNIX and MSYS
55114 [cfc72567b7d1]
55115
551162013-03-21 Steve Borho <steve@borho.org>
55117
55118 * source/encoder/threadpool.cpp:
55119 add MACOS cpu number detection
55120
55121 This doesn't imply we care about MacOS, only that I found code for
55122 it online
55123 [22b6e4c7dbef]
55124
551252013-03-21 nandaku2 <deepthi@multicorewareinc.com>
55126
55127 * Merged in mandarmcw/xhevc_mandar (pull request #5)
55128
55129 Functions vectorized stage 1
55130 [cfccc2255421]
55131
551322013-03-20 mandarmcw <mandarmcw>
55133
55134 * source/Lib/TLibCommon/CMakeLists.txt,
55135 source/Lib/TLibCommon/TComRdCost.cpp,
55136 source/Lib/TLibCommon/TypeDef.h, source/encoder/TComRdCost_SSE.cpp:
55137 Functions vectorized stage 1 : TcomRdCost::xGetSAD* (Replace * with
55138 the numbers - 8, 16, 32, 64, 12, 24) Changes:-
55139 * Defined a macro ENABLE_VECTOR for enabling the vectorized function
55140 definations.
55141 * Addedd file source/encoder/TComRdCost_SSE.cpp to Cmakelists file
55142 [e5ab4f0e46f0]
55143
551442013-03-19 Mandar Gurav <mandar@multicorewareinc.com>
55145
55146 * cfg/encoder_intra_main.cfg, cfg/encoder_intra_main10.cfg,
55147 cfg/encoder_lowdelay_P_main.cfg, cfg/encoder_lowdelay_P_main10.cfg,
55148 cfg/encoder_lowdelay_main.cfg, cfg/encoder_lowdelay_main10.cfg,
55149 cfg/encoder_randomaccess_main.cfg,
55150 cfg/encoder_randomaccess_main10.cfg:
55151 Merged multicoreware/xhevc into default
55152 [552584fc09d7]
55153
55154 * Merged multicoreware/xhevc into default
55155 [93fa9a5208a3]
55156
551572013-03-19 mandarmcw <mandarmcw>
55158
55159 * source/encoder/TComRdCost_SSE.cpp:
55160 Updated all file names with *_SSE
55161 [fd7954b7ccb3]
55162
55163 * source/encoder/TComRdCost_SSE.cpp:
55164 New TComRdCost.cpp file with Vectorization.
55165 [7547355fbf79]
55166
55167 * source/Lib/TLibCommon/TComRdCost.cpp:
55168 Merge
55169 [831a802091f2]
55170
55171 * source/Lib/TLibCommon/TComRdCost.cpp:
55172 Discard changes
55173 [2e2e69ec398c]
55174
55175 * source/Lib/TLibCommon/TComRdCost.cpp:
55176 Discard changes. Revert back to original source
55177 [30854b3469d4]
55178
551792013-03-19 Mandar Gurav <mandar@multicorewareinc.com>
55180
55181 * Merged multicoreware/xhevc/default (954436fbb3df) into default
55182 [605590cb93f4]
55183
551842013-03-19 mandarmcw <mandarmcw>
55185
55186 * source/Lib/TLibCommon/TComRdCost.cpp:
55187 Functions vectorized stage 1 : TcomRdCost::xGetSAD* (Replace * with
55188 the numbers - 8, 16, 32, 64, 12, 24)
55189 [95ba23e9aec0]
55190
551912013-03-20 Steve Borho <steve@borho.org>
55192
55193 * source/encoder/threadpool.cpp:
55194 threadpool: add CPU core count detection, remove need for friend
55195 classes
55196 [ba0dcc65b645]
55197
55198 * build/buildSolution.bash:
55199 switch build/buildSolution.bash to unix EOLN, no behavior change
55200 [03a24f5c924e]
55201
55202 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
55203 threadpool: add worker thread implementation, non-blocking idle list
55204 [e69134e545db]
55205
55206 * source/App/README.txt, source/Lib/README.txt,
55207 source/VectorClass/README.txt:
55208 add README files describing where various code originated
55209 [d627780e1c0d]
55210
55211 * source/VectorClass/CMakeLists.txt:
55212 cmake: update name of VectorClass lib
55213 [64d3463a7437]
55214
55215 * .hgignore:
55216 ignore Mercurial merge/patch remnants
55217 [74246322f5d6]
55218
55219 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
55220 source/Lib/TVectorClass/CMakeLists.txt,
55221 source/Lib/TVectorClass/dispatch_example.cpp,
55222 source/Lib/TVectorClass/instrset.h,
55223 source/Lib/TVectorClass/instrset_detect.cpp,
55224 source/Lib/TVectorClass/special/complexvec.h,
55225 source/Lib/TVectorClass/special/decimal.h,
55226 source/Lib/TVectorClass/special/quaternion.h,
55227 source/Lib/TVectorClass/special/vector3d.h,
55228 source/Lib/TVectorClass/special/vectormath.h,
55229 source/Lib/TVectorClass/vectorclass.h,
55230 source/Lib/TVectorClass/vectorf128.h,
55231 source/Lib/TVectorClass/vectorf256.h,
55232 source/Lib/TVectorClass/vectorf256e.h,
55233 source/Lib/TVectorClass/vectori128.h,
55234 source/Lib/TVectorClass/vectori256.h,
55235 source/Lib/TVectorClass/vectori256e.h,
55236 source/VectorClass/CMakeLists.txt,
55237 source/VectorClass/dispatch_example.cpp,
55238 source/VectorClass/instrset.h,
55239 source/VectorClass/instrset_detect.cpp,
55240 source/VectorClass/special/complexvec.h,
55241 source/VectorClass/special/decimal.h,
55242 source/VectorClass/special/quaternion.h,
55243 source/VectorClass/special/vector3d.h,
55244 source/VectorClass/special/vectormath.h,
55245 source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
55246 source/VectorClass/vectorf256.h, source/VectorClass/vectorf256e.h,
55247 source/VectorClass/vectori128.h, source/VectorClass/vectori256.h,
55248 source/VectorClass/vectori256e.h:
55249 move TVectorClass folder from Lib/ folder to source/VectorClass
55250 [d1f2dcfd8c66]
55251
55252 * source/CMakeLists.txt, source/Lib/CMakeLists.txt,
55253 source/Lib/PPA/CMakeLists.txt, source/Lib/PPA/ppa.cpp,
55254 source/Lib/PPA/ppa.h, source/Lib/PPA/ppaApi.h,
55255 source/Lib/PPA/ppaCPUEvents.h, source/PPA/CMakeLists.txt,
55256 source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h,
55257 source/PPA/ppaCPUEvents.h:
55258 move PPA from Lib/ folder
55259 [7aa3258f57d8]
55260
552612013-03-20 sumalatha <sumalatha>
55262
55263 * Merge
55264 [e9f96ed95f8a]
55265
55266 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
55267 included few configurations like deblock filter, quantisation,
55268 motion search etc with default value in both cfg file
55269 [99cfa30c5630]
55270
552712013-03-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55272
55273 * Merged multicoreware/xhevc into default
55274 [ca7efc3bd26f]
55275
55276 * Merged multicoreware/xhevc into default
55277 [364d82f2fb06]
55278
552792013-03-19 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55280
55281 * Merged multicoreware/xhevc into default
55282 [1d6ff1eaba4e]
55283
552842013-03-19 MCW <MCW@MCW-PC.Belkin>
55285
55286 * cfg/encoder_intra_main.cfg, cfg/encoder_intra_main10.cfg,
55287 cfg/encoder_lowdelay_P_main10.cfg, cfg/encoder_lowdelay_main.cfg,
55288 cfg/encoder_lowdelay_main10.cfg, cfg/encoder_randomaccess_main.cfg,
55289 cfg/encoder_randomaccess_main10.cfg:
55290 Deleting redundant cfg files
55291 [24be06d25080]
55292
55293 * Merge
55294 [a1108949be35]
55295
55296 * cfg/encoder_lowdelay_P_main.cfg:
55297 Removing encoder cfg file
55298 [28407cd95bdc]
55299
55300 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
55301 included the two config files for testing. "encoder_all_I.cfg"
55302 encodes all frames as I frames. "encoder_I_15P.cfg" encodes "I"
55303 frame followed by 15 "P" frames. This pattern is followed for entire
55304 sequence.
55305 [124fe50587b5]
55306
553072013-03-19 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55308
55309 * Merged multicoreware/xhevc/default (954436fbb3df) into default
55310 [6f5679aa1420]
55311
553122013-03-20 nandaku2 <deepthi@multicorewareinc.com>
55313
55314 * Merged in ggopu/xhevc_ggopu (pull request #2)
55315
55316 New Script for To build the Windows Solution / Make files for all
55317 the VS and MSYS Compilers
55318 [c6c9c4f150e1]
55319
553202013-03-19 ggopu <ggopu>
55321
55322 * build/buildSolution.bash:
55323 New Script for To build the Windows Solution / Make files for all
55324 the VS and MSYS Compilers
55325 [83904e69121d]
55326
553272013-03-19 Steve Borho <steve@borho.org>
55328
55329 * source/encoder/CMakeLists.txt, source/encoder/threadpool.cpp,
55330 source/encoder/threadpool.h:
55331 partially completed thread pool
55332
55333 needs PoolThread::ThreadMain(), ThreadPoolImpl::PokeIdleThread(),
55334 and a shutdown/flush mechanism for the pool
55335 [f9f791c32093]
55336
553372013-03-19 Deepthi <Deepthi>
55338
55339 * Merge
55340 [e70117d0f3d5]
55341
553422013-03-18 Deepthi <Deepthi>
55343
55344 * source/Lib/TLibCommon/TComRdCost.h:
55345 Backed out changeset: db7ddb189d7d
55346 [954436fbb3df]
55347
55348 * source/Lib/TLibCommon/TComRdCost.h:
55349 Test commit
55350 [db7ddb189d7d]
55351
553522013-03-19 Steve Borho <steve@borho.org>
55353
55354 * source/encoder/threadpool.h:
55355 threadpool: stub in interfaces for the thread pool and job providers
55356 [c5d831ed2ce0]
55357
553582013-03-18 Steve Borho <steve@borho.org>
55359
55360 * source/encoder/threading.h:
55361 threading: remove copy assignment operator body
55362
55363 I want a compile error generated if it is attempted
55364 [80a0e976c24e]
55365
55366 * source/encoder/CMakeLists.txt:
55367 cmake: remove redundant lib prefix
55368
55369 This was building liblibx265
55370 [bcabd73ba3f9]
55371
55372 * source/encoder/threading.cpp, source/encoder/threading.h:
55373 threading: fix compile problems with gcc on Linux
55374 [23e6db8e39d2]
55375
55376 * source/App/TAppEncoder/TAppEncCfg.cpp,
55377 source/App/TAppEncoder/TAppEncCfg.h,
55378 source/App/TAppEncoder/TAppEncTop.cpp,
55379 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
55380 source/Lib/TLibCommon/TComBitStream.cpp,
55381 source/Lib/TLibCommon/TComBitStream.h,
55382 source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibDecoder/SEIread.cpp,
55383 source/Lib/TLibDecoder/SEIread.h,
55384 source/Lib/TLibEncoder/SEIwrite.cpp,
55385 source/Lib/TLibEncoder/SEIwrite.h, source/Lib/TLibEncoder/TEncCfg.h,
55386 source/Lib/TLibEncoder/TEncGOP.cpp,
55387 source/Lib/TLibEncoder/TEncGOP.h,
55388 source/Lib/TLibEncoder/TEncSlice.cpp,
55389 source/Lib/TLibEncoder/TEncSlice.h:
55390 take tip HM 10.0-dev changes (subversion HM-10.0-dev@3381)
55391 [b1d8625402d8]
55392
55393 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
55394 source/encoder/threading.cpp, source/encoder/threading.h:
55395 introduce encoder folder and libx265 library project with threading
55396 classes
55397 [24d5964cfb3b]
55398
55399 * source/Lib/TVectorClass/CMakeLists.txt:
55400 cmake: fix comment about /arch:AVX flag, it is only necessary for
55401 VC11
55402 [4a68b817dea5]
55403
55404 * source/Lib/TVectorClass/CMakeLists.txt:
55405 cmake: white-space nits
55406 [097f1ac9a970]
55407
55408 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/CMakeLists.txt:
55409 cmake: isolate /arch:AVX compile flag to code which includes vector
55410 libs
55411
55412 When the HM is compiled with /arch:AVX globally, it causes a runtime
55413 exception when run in release mode but not in debug mode. Gah!
55414 [25fc265da117]
55415
55416 * source/Lib/TVectorClass/CMakeLists.txt:
55417 cmake: no need to build dispatch_example.cpp
55418 [0b93848cb7cc]
55419
554202013-03-16 Steve Borho <steve@borho.org>
55421
55422 * source/App/TAppDecoder/CMakeLists.txt,
55423 source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
55424 source/Lib/CMakeLists.txt:
55425 cmake: enable full GCC warnings globally, disable for HM source
55426 where required
55427 [23d5ac432957]
55428
55429 * build/README.txt:
55430 document MSYS build instructions
55431 [e76417ca32c7]
55432
55433 * source/Lib/CMakeLists.txt:
55434 cmake: MSYS gcc requires -msse4 and does not support AVX2 intrinsics
55435 (refs #1)
55436 [94aef6522ed0]
55437
55438 * source/Lib/CMakeLists.txt:
55439 cmake: VC9 can handle only SSE4.2 intrinsics (closes #1)
55440
55441 gcc was tested under CentOS 6.3 and it compiled fine as-is
55442 [66263d046d28]
55443
554442013-03-15 Steve Borho <steve@borho.org>
55445
55446 * source/Lib/CMakeLists.txt:
55447 cmake: VC11 does support AVX2 intrinsics, but lib does not compile
55448 (refs #1)
55449
55450 The library does not compile cleanly when AVX2 is enabled, one
55451 warning about an implicit int to bool conversion (easily ignored)
55452 and then an error that a formal parameter cannot be aligned as
55453 requested, which is much more serious. So I'm leaving AVX2 disabled
55454 for VC11
55455
55456 /arch:AVX2 was not valid, but /arch:AVX seemed to enable AVX2
55457 intrinsics.
55458 [b541bd207ee8]
55459
55460 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/vectori128.h:
55461 cmake: add INSTRSET definitions for various VC versions (refs #1)
55462
55463 I'm guessing that VC9 supports AVX and VC11 supports AVX2. I'll have
55464 to verify both of them. A similar section must be added for gcc.
55465 [70b96b111797]
55466
554672013-03-15 Deepthi <Deepthi>
55468
55469 * source/Lib/CMakeLists.txt:
55470 Merge
55471 [d465f7915365]
55472
55473 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/CMakeLists.txt:
55474 Adding Cmake build scripts for VectorClass
55475 [b948ddbdb645]
55476
55477 * source/Lib/TVectorClass/dispatch_example.cpp,
55478 source/Lib/TVectorClass/instrset.h,
55479 source/Lib/TVectorClass/instrset_detect.cpp,
55480 source/Lib/TVectorClass/special/complexvec.h,
55481 source/Lib/TVectorClass/special/decimal.h,
55482 source/Lib/TVectorClass/special/quaternion.h,
55483 source/Lib/TVectorClass/special/vector3d.h,
55484 source/Lib/TVectorClass/special/vectormath.h,
55485 source/Lib/TVectorClass/vectorclass.h,
55486 source/Lib/TVectorClass/vectorf128.h,
55487 source/Lib/TVectorClass/vectorf256.h,
55488 source/Lib/TVectorClass/vectorf256e.h,
55489 source/Lib/TVectorClass/vectori128.h,
55490 source/Lib/TVectorClass/vectori256.h,
55491 source/Lib/TVectorClass/vectori256e.h:
55492 Adding GPL vectorclass source files
55493 [ccf65d86f57b]
55494
554952013-03-15 ShinYee Chung <shinyee@multicorewareinc.com>
55496
55497 * source/CMakeLists.txt:
55498 Build: Update GCC compilations with more warning options.
55499 [aa8994f58577]
55500
555012013-03-14 Steve Borho <steve@borho.org>
55502
55503 * source/App/TAppDecoder/CMakeLists.txt,
55504 source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
55505 source/Lib/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
55506 source/Lib/TLibDecoder/CMakeLists.txt,
55507 source/Lib/TLibEncoder/CMakeLists.txt:
55508 move warning disablings as close as possible to the source that
55509 needs them
55510
55511 I want newly added files and folders to have full warnings by
55512 default
55513 [ae7aa0c6b26a]
55514
55515 * source/App/TAppDecoder/TAppDecTop.cpp, source/CMakeLists.txt,
55516 source/Lib/TLibCommon/TComDataCU.cpp,
55517 source/Lib/TLibDecoder/TDecCAVLC.cpp,
55518 source/Lib/TLibEncoder/TEncSearch.cpp:
55519 enable maximal warnings (and warnings as errors) on Windows
55520
55521 Manually exclude each warning emitted by the HM code that we chose
55522 to ignore, fix one warning to avoid ignoring all warnings of that
55523 type in the App folder. Explicitly disable some dangerous warnings
55524 directly in the files which emit them, so they can remain enabled
55525 globally to catch bugs as they are created.
55526 [053177b5e32c]
55527
555282013-03-11 Steve Borho <steve@borho.org>
55529
55530 * source/Lib/PPA/ppa.cpp:
55531 ppa: use API bindings from public Linux PPA package
55532
55533 On Linux the PPA shared library is quiet on success (yeah!) but this
55534 makes it a challenge to debug shared library path problems. So I
55535 added some logging.
55536 [cf22c53c7108]
55537
555382013-03-07 Steve Borho <steve@borho.org>
55539
55540 * source/App/TAppDecoder/CMakeLists.txt,
55541 source/App/TAppEncoder/CMakeLists.txt:
55542 ppa: -ldl is necessary for UNIX systems; not necessarily gcc
55543
55544 For instance, if building on MinGW gcc on Windows one does not need
55545 -ldl since PPA will still not use the dlsym library loader
55546 [07ec03019bda]
55547
55548 * source/App/TAppEncoder/TAppEncTop.cpp,
55549 source/Lib/PPA/ppaCPUEvents.h:
55550 ppa: add some very high level CPU events in the encoder
55551 [c1b56eec0474]
55552
55553 * source/App/TAppDecoder/CMakeLists.txt,
55554 source/App/TAppDecoder/decmain.cpp,
55555 source/App/TAppEncoder/CMakeLists.txt,
55556 source/App/TAppEncoder/encmain.cpp, source/CMakeLists.txt,
55557 source/Lib/CMakeLists.txt, source/Lib/PPA/CMakeLists.txt,
55558 source/Lib/PPA/ppa.cpp, source/Lib/PPA/ppa.h,
55559 source/Lib/PPA/ppaApi.h, source/Lib/PPA/ppaCPUEvents.h:
55560 introduce PPA as cmake build option
55561 [3117ce6b9688]
55562
55563 * source/App/TAppDecoder/CMakeLists.txt,
55564 source/App/TAppEncoder/CMakeLists.txt, source/CMakeLists.txt,
55565 source/Lib/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
55566 source/Lib/TLibDecoder/CMakeLists.txt,
55567 source/Lib/TLibEncoder/CMakeLists.txt:
55568 convert CMakeLists.txt to unix EOLN
55569 [04901970ea1a]
55570
55571 * source/Lib/TLibEncoder/CMakeLists.txt:
55572 fix case sensitivity of file paths in TLibEncoder/CMakeLists.txt
55573 [81a323ceae15]
55574
555752013-03-06 Steve Borho <steve@borho.org>
55576
55577 * source/App/TAppDecoder/CMakeLists.txt,
55578 source/App/TAppEncoder/CMakeLists.txt:
55579 reorder library linking to help gcc ld to resolve dependencies
55580 [f451d1272522]
55581
55582 * source/CMakeLists.txt:
55583 copy gcc warning flags from HM Makefiles
55584
55585 Can now compile without warnings on MSYS on Windows, but cannot link
55586 [99bb609ac6da]
55587
55588 * .hgignore, COPYING, build/README.txt, cfg/encoder_intra_main.cfg,
55589 cfg/encoder_intra_main10.cfg, cfg/encoder_lowdelay_P_main.cfg,
55590 cfg/encoder_lowdelay_P_main10.cfg, cfg/encoder_lowdelay_main.cfg,
55591 cfg/encoder_lowdelay_main10.cfg, cfg/encoder_randomaccess_main.cfg,
55592 cfg/encoder_randomaccess_main10.cfg, cfg/per-sequence/BQMall.cfg,
55593 cfg/per-sequence/BQSquare.cfg, cfg/per-sequence/BQTerrace.cfg, cfg
55594 /per-sequence/BasketballDrill.cfg, cfg/per-
55595 sequence/BasketballDrillText.cfg, cfg/per-
55596 sequence/BasketballDrive.cfg, cfg/per-sequence/BasketballPass.cfg,
55597 cfg/per-sequence/BlowingBubbles.cfg, cfg/per-sequence/Cactus.cfg,
55598 cfg/per-sequence/ChinaSpeed.cfg, cfg/per-sequence/FourPeople.cfg,
55599 cfg/per-sequence/Johnny.cfg, cfg/per-sequence/Kimono.cfg, cfg/per-
55600 sequence/KristenAndSara.cfg, cfg/per-
55601 sequence/NebutaFestival_10bit.cfg, cfg/per-sequence/ParkScene.cfg,
55602 cfg/per-sequence/PartyScene.cfg, cfg/per-
55603 sequence/PeopleOnStreet.cfg, cfg/per-sequence/RaceHorses.cfg, cfg
55604 /per-sequence/RaceHorsesC.cfg, cfg/per-sequence/SlideEditing.cfg,
55605 cfg/per-sequence/SlideShow.cfg, cfg/per-
55606 sequence/SteamLocomotiveTrain_10bit.cfg, cfg/per-
55607 sequence/Traffic.cfg, cfg/per-sequence/Vidyo1.cfg, cfg/per-
55608 sequence/Vidyo3.cfg, cfg/per-sequence/Vidyo4.cfg, doc/Doxyfile, doc
55609 /README_data-structure.ppt, doc/gop-structure-example.pdf,
55610 doc/mainpage.h, doc/software-manual.pdf,
55611 source/App/TAppDecoder/CMakeLists.txt,
55612 source/App/TAppDecoder/TAppDecCfg.cpp,
55613 source/App/TAppDecoder/TAppDecCfg.h,
55614 source/App/TAppDecoder/TAppDecTop.cpp,
55615 source/App/TAppDecoder/TAppDecTop.h,
55616 source/App/TAppDecoder/decmain.cpp,
55617 source/App/TAppEncoder/CMakeLists.txt,
55618 source/App/TAppEncoder/TAppEncCfg.cpp,
55619 source/App/TAppEncoder/TAppEncCfg.h,
55620 source/App/TAppEncoder/TAppEncTop.cpp,
55621 source/App/TAppEncoder/TAppEncTop.h,
55622 source/App/TAppEncoder/encmain.cpp, source/CMakeLists.txt,
55623 source/Lib/CMakeLists.txt,
55624 source/Lib/TAppCommon/program_options_lite.cpp,
55625 source/Lib/TAppCommon/program_options_lite.h,
55626 source/Lib/TLibCommon/AccessUnit.h,
55627 source/Lib/TLibCommon/CMakeLists.txt,
55628 source/Lib/TLibCommon/CommonDef.h,
55629 source/Lib/TLibCommon/ContextModel.cpp,
55630 source/Lib/TLibCommon/ContextModel.h,
55631 source/Lib/TLibCommon/ContextModel3DBuffer.cpp,
55632 source/Lib/TLibCommon/ContextModel3DBuffer.h,
55633 source/Lib/TLibCommon/ContextTables.h, source/Lib/TLibCommon/NAL.h,
55634 source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h,
55635 source/Lib/TLibCommon/TComBitCounter.h,
55636 source/Lib/TLibCommon/TComBitStream.cpp,
55637 source/Lib/TLibCommon/TComBitStream.h,
55638 source/Lib/TLibCommon/TComCABACTables.cpp,
55639 source/Lib/TLibCommon/TComCABACTables.h,
55640 source/Lib/TLibCommon/TComDataCU.cpp,
55641 source/Lib/TLibCommon/TComDataCU.h,
55642 source/Lib/TLibCommon/TComInterpolationFilter.cpp,
55643 source/Lib/TLibCommon/TComInterpolationFilter.h,
55644 source/Lib/TLibCommon/TComList.h,
55645 source/Lib/TLibCommon/TComLoopFilter.cpp,
55646 source/Lib/TLibCommon/TComLoopFilter.h,
55647 source/Lib/TLibCommon/TComMotionInfo.cpp,
55648 source/Lib/TLibCommon/TComMotionInfo.h,
55649 source/Lib/TLibCommon/TComMv.h,
55650 source/Lib/TLibCommon/TComPattern.cpp,
55651 source/Lib/TLibCommon/TComPattern.h,
55652 source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
55653 source/Lib/TLibCommon/TComPicSym.cpp,
55654 source/Lib/TLibCommon/TComPicSym.h,
55655 source/Lib/TLibCommon/TComPicYuv.cpp,
55656 source/Lib/TLibCommon/TComPicYuv.h,
55657 source/Lib/TLibCommon/TComPicYuvMD5.cpp,
55658 source/Lib/TLibCommon/TComPrediction.cpp,
55659 source/Lib/TLibCommon/TComPrediction.h,
55660 source/Lib/TLibCommon/TComRdCost.cpp,
55661 source/Lib/TLibCommon/TComRdCost.h,
55662 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
55663 source/Lib/TLibCommon/TComRdCostWeightPrediction.h,
55664 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
55665 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
55666 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
55667 source/Lib/TLibCommon/TComSlice.cpp,
55668 source/Lib/TLibCommon/TComSlice.h,
55669 source/Lib/TLibCommon/TComTrQuant.cpp,
55670 source/Lib/TLibCommon/TComTrQuant.h,
55671 source/Lib/TLibCommon/TComWeightPrediction.cpp,
55672 source/Lib/TLibCommon/TComWeightPrediction.h,
55673 source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
55674 source/Lib/TLibCommon/TypeDef.h,
55675 source/Lib/TLibDecoder/AnnexBread.cpp,
55676 source/Lib/TLibDecoder/AnnexBread.h,
55677 source/Lib/TLibDecoder/CMakeLists.txt,
55678 source/Lib/TLibDecoder/NALread.cpp,
55679 source/Lib/TLibDecoder/NALread.h,
55680 source/Lib/TLibDecoder/SEIread.cpp,
55681 source/Lib/TLibDecoder/SEIread.h,
55682 source/Lib/TLibDecoder/SyntaxElementParser.cpp,
55683 source/Lib/TLibDecoder/SyntaxElementParser.h,
55684 source/Lib/TLibDecoder/TDecBinCoder.h,
55685 source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp,
55686 source/Lib/TLibDecoder/TDecBinCoderCABAC.h,
55687 source/Lib/TLibDecoder/TDecCAVLC.cpp,
55688 source/Lib/TLibDecoder/TDecCAVLC.h,
55689 source/Lib/TLibDecoder/TDecCu.cpp, source/Lib/TLibDecoder/TDecCu.h,
55690 source/Lib/TLibDecoder/TDecEntropy.cpp,
55691 source/Lib/TLibDecoder/TDecEntropy.h,
55692 source/Lib/TLibDecoder/TDecGop.cpp,
55693 source/Lib/TLibDecoder/TDecGop.h,
55694 source/Lib/TLibDecoder/TDecSbac.cpp,
55695 source/Lib/TLibDecoder/TDecSbac.h,
55696 source/Lib/TLibDecoder/TDecSlice.cpp,
55697 source/Lib/TLibDecoder/TDecSlice.h,
55698 source/Lib/TLibDecoder/TDecTop.cpp,
55699 source/Lib/TLibDecoder/TDecTop.h,
55700 source/Lib/TLibEncoder/AnnexBwrite.h,
55701 source/Lib/TLibEncoder/CMakeLists.txt,
55702 source/Lib/TLibEncoder/NALwrite.cpp,
55703 source/Lib/TLibEncoder/NALwrite.h,
55704 source/Lib/TLibEncoder/SEIwrite.cpp,
55705 source/Lib/TLibEncoder/SEIwrite.h,
55706 source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
55707 source/Lib/TLibEncoder/SyntaxElementWriter.h,
55708 source/Lib/TLibEncoder/TEncAnalyze.cpp,
55709 source/Lib/TLibEncoder/TEncAnalyze.h,
55710 source/Lib/TLibEncoder/TEncBinCoder.h,
55711 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
55712 source/Lib/TLibEncoder/TEncBinCoderCABAC.h,
55713 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.cpp,
55714 source/Lib/TLibEncoder/TEncBinCoderCABACCounter.h,
55715 source/Lib/TLibEncoder/TEncCavlc.cpp,
55716 source/Lib/TLibEncoder/TEncCavlc.h,
55717 source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
55718 source/Lib/TLibEncoder/TEncCu.h,
55719 source/Lib/TLibEncoder/TEncEntropy.cpp,
55720 source/Lib/TLibEncoder/TEncEntropy.h,
55721 source/Lib/TLibEncoder/TEncGOP.cpp,
55722 source/Lib/TLibEncoder/TEncGOP.h,
55723 source/Lib/TLibEncoder/TEncPic.cpp,
55724 source/Lib/TLibEncoder/TEncPic.h,
55725 source/Lib/TLibEncoder/TEncPreanalyzer.cpp,
55726 source/Lib/TLibEncoder/TEncPreanalyzer.h,
55727 source/Lib/TLibEncoder/TEncRateCtrl.cpp,
55728 source/Lib/TLibEncoder/TEncRateCtrl.h,
55729 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
55730 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
55731 source/Lib/TLibEncoder/TEncSbac.cpp,
55732 source/Lib/TLibEncoder/TEncSbac.h,
55733 source/Lib/TLibEncoder/TEncSearch.cpp,
55734 source/Lib/TLibEncoder/TEncSearch.h,
55735 source/Lib/TLibEncoder/TEncSlice.cpp,
55736 source/Lib/TLibEncoder/TEncSlice.h,
55737 source/Lib/TLibEncoder/TEncTop.cpp,
55738 source/Lib/TLibEncoder/TEncTop.h,
55739 source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
55740 source/Lib/TLibEncoder/WeightPredAnalysis.h,
55741 source/Lib/TLibVideoIO/TVideoIOYuv.cpp,
55742 source/Lib/TLibVideoIO/TVideoIOYuv.h, source/Lib/libmd5/MD5.h,
55743 source/Lib/libmd5/libmd5.c, source/Lib/libmd5/libmd5.h,
55744 source/compat/msvc/stdint.h:
55745 commit JCT-VC HM source with cmake based build scripts
55746
55747 HM-10.0-dev@3375 with some parts trimmed and some trivial folder
55748 reorgs
55749
55750 https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/
55751 [09fe40627f03]
55752