1 2014-10-31 Steve Borho <steve@borho.org>
3 * source/encoder/encoder.cpp:
4 encoder: emit an Active Parameter Sets SEI in stream headers if
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>
13 2014-10-30 Steve Borho <steve@borho.org>
15 * source/encoder/slicetype.cpp:
16 slicetype: fix an msvc warning
19 2014-10-30 Min Chen <chenm003@163.com>
21 * source/common/x86/asm-primitives.cpp,
22 source/common/x86/ipfilter8.asm:
23 asm: AVX2 version luma_vpp[4x4], improve 391c -> 302c
26 * source/common/x86/ipfilter8.asm:
27 asm: replace constant table tab_c_512 by pw_512
30 * source/common/x86/ipfilter8.asm:
31 asm: replace constant table tab_c_128 by pb_128
34 2014-10-30 Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
36 * source/common/lowres.cpp, source/common/lowres.h,
37 source/encoder/slicetype.cpp:
38 lowres: save intra mode in lowres
41 2014-10-30 Steve Borho <steve@borho.org>
44 doc: make a note about how to ensure the version number is accurate
47 * source/encoder/encoder.cpp:
48 encoder: fix some obviously incorrect comments
51 * doc/reST/cli.rst, source/common/param.cpp,
52 source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
56 * source/encoder/encoder.cpp:
57 encoder: give more warnings when features are automatically disabled
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
65 [ba3193adff60] <stable>
67 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp,
69 api: allow --psy-rdoq values up to 50; it can be beneficial for film
71 [73c243602b07] <stable>
73 * source/encoder/analysis.cpp:
74 analysis: remove TODO comment, I've given up on the idea
77 2014-10-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
79 * source/encoder/analysis.cpp, source/encoder/search.cpp,
80 source/encoder/search.h:
81 search: move m_bestME[] from search to Mode structure
84 2014-10-29 Steve Borho <steve@borho.org>
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>
90 * source/encoder/analysis.cpp, source/encoder/analysis.h:
91 analysis: inline checkBestMode(), improve comments
94 * source/encoder/analysis.cpp:
98 * source/test/CMakeLists.txt, source/test/testpool.cpp:
99 cmake: remove obsolete pool test
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
109 * source/encoder/analysis.cpp:
110 analysis: do not allow top-skip and depth earlyout in --pmode with
113 Now outputs match or are better than those without --pmode
114 [476acb7a4088] <stable>
116 2014-10-29 Min Chen <chenm003@163.com>
118 * source/common/x86/asm-primitives.cpp:
119 asm: correct wrong index name
120 [3995c5e0f313] <stable>
122 2014-10-29 Steve Borho <steve@borho.org>
124 * source/encoder/analysis.cpp:
125 analysis: clarify --rd 1
128 * source/encoder/analysis.cpp:
129 analysis: add #if to make pmode exactly match non-pmode
131 This switch will throw away the hard work of some worker thread, so
132 it should only be used for debugging.
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.
138 * doc/reST/cli.rst, doc/reST/presets.rst:
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>
146 * source/encoder/analysis.cpp, source/encoder/search.cpp:
150 2014-10-30 Satoshi Nakagawa <nakagawa424@oki.com>
152 * source/common/predict.cpp, source/common/predict.h,
153 source/encoder/analysis.cpp, source/encoder/search.cpp:
155 [41220fab15c1] <stable>
157 2014-10-29 Ashok Kumar Mishra <ashok@multicorewareinc.com>
159 * source/encoder/search.cpp:
163 2014-10-29 Steve Borho <steve@borho.org>
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
170 It was always a bit unfortunate to base the deblock param name on
171 loop filter when HEVC has two (deblock and SAO).
173 Now we support --deblock=<int>:<int> and similar options as x264
178 api: improve comment for bEnableCbfFastMode
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
186 * source/encoder/analysis.cpp, source/encoder/search.cpp:
190 * source/encoder/analysis.cpp:
191 analysis: fix for --rd 0, do not assume a CU is only inter or intra
192 [3aec7242d0be] <stable>
194 * source/encoder/analysis.cpp, source/encoder/search.cpp,
195 source/encoder/search.h:
196 search: split generateCoeffRecon() into its two callers, improve
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.
204 2014-10-29 gopi jayaraman <gopi@multicorewareinc.com>
206 * source/encoder/analysis.cpp:
207 analysis: rect cost compare typo fix for pmode
208 [da5ba239bf59] <stable>
210 2014-10-28 Steve Borho <steve@borho.org>
212 * source/encoder/search.cpp:
213 search: ensure RDOQ entropy state is always initialized for chroma
216 Fixes non-determinism seen in --preset slow and lower
217 [afb216f71318] <stable>
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>
250 * source/encoder/search.cpp:
251 search: trModeC -> tuDepthC
254 * source/encoder/entropy.cpp:
255 entropy: simplify loadIntraDirModeLuma
258 * source/encoder/analysis.cpp, source/encoder/search.cpp,
259 source/encoder/search.h:
260 search: make getIntraRemModeBits() const
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
269 * source/encoder/analysis.cpp, source/encoder/search.cpp:
270 search: move getIntraDirLumaPredictor() into getIntraRemModeBits()
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
277 inline single caller of getIntraModeBits
280 * source/encoder/entropy.cpp, source/encoder/entropy.h:
281 entropy: make a fast const method for getting MPM mode signal cost
284 * source/encoder/search.cpp:
285 search: simplify checks for 2x2 chroma blocks
287 "log2TrSize == 2 && m_csp != X265_CSP_I444" essentially means that
288 the chroma transform would be 2x2, aka log2TrSizeC == 1.
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
296 * source/encoder/search.cpp:
297 search: remove redundant work from residualTransformQuantInter()
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
306 The caller usually knows what the CU prediction mode is
309 * source/encoder/search.cpp:
310 search: remove redundant logic
313 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
315 doc: remove uncrustify helper scripts
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
322 2014-10-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
324 * source/encoder/search.cpp:
325 [OUTPUT CHANGED for 422] made loops for chroma components in
326 xEstimateResidualQT()
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.
333 2014-10-27 Steve Borho <steve@borho.org>
335 * source/encoder/search.h:
336 search: sync up argument names between source and header
339 * source/encoder/search.cpp, source/encoder/search.h:
340 search: remove x prefixes from inter residual coding functions
343 * source/encoder/search.cpp, source/encoder/search.h:
344 search: use Cost instances to accumulate costs in
348 * source/encoder/search.cpp:
352 * source/common/cudata.cpp, source/common/cudata.h:
353 cudata: coding style nits
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)
362 * source/common/cudata.cpp, source/common/cudata.h:
363 cudata: perform MV scaling directly within POC distance function
365 this avoids some code duplication and is also a bit more efficient
368 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
369 source/encoder/slicetype.h:
370 slicetype: remove top-level Encoder pointer from Slicetype
372 Move the slice type assignment earlier to happen even before the
373 picture is given to the lookahead
376 * source/encoder/encoder.cpp:
377 encoder: nit cleanup of code copying data from input picture
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
392 * source/common/frame.cpp, source/common/frame.h,
393 source/encoder/encoder.cpp:
394 frame: initialize and re-initialize m_bChromaExtended
396 fixes some non-determinism
399 2014-10-27 Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
401 * source/common/param.cpp, source/encoder/encoder.cpp,
402 source/encoder/search.cpp:
403 Set tuQTMaxLog2Size to MIN(5, maxLog2CUSize)
405 This allows 32x32 TUs even when --ctu 32 is used, for instance
408 * doc/reST/cli.rst, source/common/param.cpp, source/x265.cpp:
409 Add CLI option to enable/disable Temporal MVP
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,
416 Add flag to enable/disable temporal MVP
419 2014-10-27 Min Chen <chenm003@163.com>
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
426 2014-10-27 Steve Borho <steve@borho.org>
428 * source/encoder/analysis.cpp:
429 analysis: simplify logic slightly, combine conditionals
432 * source/encoder/analysis.cpp:
433 analysis: fix a typo in --rd 5 --rect
436 * source/encoder/analysis.cpp:
437 analysis: allow AMP to work at 64x64 with --pmode and --rd 5
440 * source/encoder/search.cpp:
441 search: leave a helpful comment to avoid unfortunate reordering
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
449 * source/encoder/analysis.cpp:
450 analysis: in RD 5/6 ignore redundant merge candidates
453 * source/encoder/analysis.cpp:
454 analysis: use same MV range check in merge functions
457 * source/encoder/analysis.cpp, source/encoder/search.cpp:
458 analysis: defer broadcast sets of merge mv field data until final
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
465 * source/encoder/search.cpp:
466 search: use member variable from Predict for csp
468 There's no need to derefernece the CU for the color space
471 * source/encoder/entropy.cpp:
475 * source/encoder/search.cpp, source/encoder/search.h:
476 search: simplify handling of TU size edge case in
477 extractIntraResultChromaQT
480 * source/encoder/search.cpp, source/encoder/search.h:
481 search: fixes for chroma tskip coding with placebo preset
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
488 * source/encoder/search.cpp:
489 search: trMode -> tuDepth, improve clarity
492 * source/common/cudata.h:
493 cudata: remove unused setDepthSubParts
496 * source/common/cudata.h, source/encoder/search.cpp:
497 cudata: setTrIdxSubParts() -> setTUDepthSubParts()
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)
511 docs: update --tu-intra-depth / --tu-inter-depth docs (refs #71)
514 * source/encoder/entropy.cpp:
515 entropy: improve check strings and comments
518 * source/encoder/search.cpp:
519 search: further --rd-penalty 2 fixes (refs #71)
522 * source/encoder/analysis.cpp:
523 analysis: invalidate slave entropy contexts, to help find bugs
525 this function has no effect in non-checked builds
528 * source/encoder/analysis.cpp:
529 analysis: checkIntraInInter_rd0_4() needs the entropy context to be
533 2014-10-25 Steve Borho <steve@borho.org>
535 * source/encoder/analysis.cpp:
536 analysis: further work on --pmode for --rd 5/6
538 Still needs debugging. The results with --pmode enabled have worse
539 compression than without, when used with --rd 5. That should be un-
543 2014-10-24 gopi jayaraman <gopi@multicorewareinc.com>
545 * source/encoder/analysis.cpp:
546 analysis: adding support for --rd 5/6 in compressInterCU_dist() and
547 parallelModeAnalysis()
550 2014-10-26 Steve Borho <steve@borho.org>
552 * source/encoder/entropy.cpp:
553 entropy: readability nits
556 * source/common/common.h:
557 common: add support for debug breaks in Xcode
560 * source/common/param.cpp:
561 param: fix w-s spacing in log messages for --rdpenalty and chroma
564 and some nit fixes with braces while I was in the area
567 2014-10-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
569 * source/encoder/analysis.cpp:
570 analysis: motionCompensation(chroma) needs to be performed for
571 asymmetric merge also
573 This fixes a bug introduced in commit (372a8230110a) for rd2
577 * source/encoder/motion.cpp:
578 motion: this emms is required
581 * source/encoder/analysis.cpp:
585 2014-10-27 Satoshi Nakagawa <nakagawa424@oki.com>
587 * source/common/cudata.h, source/encoder/frameencoder.cpp:
588 cugeom: fix uninitialized reported by valgrind
591 2014-10-25 Steve Borho <steve@borho.org>
593 * source/common/cudata.cpp:
594 cudata: validate subCU size against current analysis depth
597 * source/common/cudata.cpp, source/common/cudata.h:
598 cudata: make sure per-part buffers are allocate for g_maxCUSize
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
606 * source/encoder/search.cpp:
607 search: improve comments in mergeEstimation()
610 * source/encoder/search.cpp:
611 search: turn some redundant clears of tskip flags into runtime
615 * source/encoder/search.cpp:
616 search: cleanup residualQTIntraChroma
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.
623 docs: update --tskip and --cu-lossless docs
626 * source/encoder/encoder.cpp:
627 encoder: issue warning and disable --pmode if rdlevel < 2
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[]
634 The residual buffer is always very short lived; there is no reason
635 to keep a copy of it per mode.
638 * source/encoder/search.h:
639 search: updateCandList() can be a static method
642 * source/encoder/search.cpp, source/encoder/search.h:
643 search: inline updateModeCost
646 * source/encoder/encoder.cpp:
647 encoder: issue warnings and explicitly disable tskip or culossless
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
655 * source/encoder/search.cpp:
656 search: prevent warnings about unused bCheckSplit value
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
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
672 * source/encoder/search.cpp:
673 search: avoid a context save at the last recursion depth
676 * source/encoder/search.cpp:
677 search: improve comments and readability of
678 residualTransformQuantIntra
681 * source/encoder/search.cpp, source/encoder/search.h:
682 search: keep recon QT in pixels, instead of shorts
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)
692 * source/encoder/search.cpp, source/encoder/search.h:
693 search: remove tskip analysis out of luma chroma normal path
696 * source/encoder/search.cpp:
697 search: nit. splitted is not a word
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
705 also reorder arguments and pass reconYuv as a reference
708 * source/encoder/search.cpp:
709 search: give offsetSubTUCBFs a basic comment
712 2014-10-24 Steve Borho <steve@borho.org>
714 * source/encoder/search.cpp, source/encoder/search.h:
715 search: simplify RDO chroma intra coding, changes tskip outputs
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.
724 2014-10-25 Steve Borho <steve@borho.org>
726 * source/encoder/search.cpp:
727 search: simplify initTrDepth
730 * source/encoder/search.cpp:
731 search: reconYuv as ref
734 * source/encoder/search.cpp:
735 search: improve a variable name
738 * source/encoder/search.cpp, source/encoder/search.h:
739 search: rename a couple chroma intra helper methods
742 2014-10-24 Steve Borho <steve@borho.org>
744 * source/encoder/search.cpp, source/encoder/search.h:
745 search: rename tmpCoeff to coeffRQT, tmpShortYuv to reconQtYuv /
748 Explain why these buffers are allocated to max CU size at every
749 layer, fix a few nits
752 * source/encoder/search.cpp:
753 search: fix 4:2:2 chroma tskip bit-cost estimation
756 * source/common/yuv.cpp, source/common/yuv.h:
757 yuv: add copyPartToPart* methods for recon RQT finalization
759 We're switching reconQt to be kept in pixels rather than shorts
762 * source/common/shortyuv.cpp, source/common/shortyuv.h:
763 shortyuv: use absPartIdx for CU/TU part offset like everywhere else
766 2014-10-24 Praveen Tiwari <Praveen Tiwari>
768 * source/common/x86/pixel-util8.asm:
769 weight_sp: pshufd to handle width 6 for SSE version of asm code
771 Backout of 2cb8cdaa7df5
774 2014-10-24 Ashok Kumar Mishra <ashok@multicorewareinc.com>
776 * source/encoder/entropy.cpp, source/encoder/entropy.h,
777 source/encoder/search.cpp:
778 search: refactored xEstimateResidualQT() to remove cbf flag settings
781 * source/encoder/search.cpp:
782 search: remove redundant cbf flags setting in xEstimateResidualQT()
785 2014-10-24 Praveen Tiwari <Praveen Tiwari>
787 * source/common/quant.cpp:
791 2014-10-24 Ashok Kumar Mishra <ashok@multicorewareinc.com>
793 * source/encoder/search.cpp:
794 search: remove unnecessary set of cbf flags in xEstimateResidualQT()
797 2014-10-23 Steve Borho <steve@borho.org>
799 * source/CMakeLists.txt:
800 cmake: add -Wno-array-bounds if the compiler supports it
802 These warnings have proven to always be spurious
805 2014-10-23 Ashok Kumar Mishra <ashok@multicorewareinc.com>
807 * source/encoder/search.cpp:
808 [OUTPUT CHANGED for 444] : considering cbf bits for best cost
809 estimation for 444 format
812 2014-10-23 Steve Borho <steve@borho.org>
814 * source/encoder/analysis.cpp:
815 analysis: cleanup checkInter functions
818 * source/encoder/analysis.cpp:
819 analysis: remove unnecessary set of skip flags in checkInter_rd5_6()
821 initSubCU() does this already, and the pred's cu is not being reused
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
830 * source/common/cudata.h:
831 cudata: remove unused method
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
838 use references and consts where possible, order arguments to follow
839 the convention of memcpy (dest, src)
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.
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
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()
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)
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
868 * source/encoder/search.cpp:
869 search: fix a change of outputs from f3bd6e5a880a, always zero
872 it's not clear why this affects outputs, but it seems better to err
873 on the side of the data being initialized.
876 * source/encoder/analysis.cpp, source/encoder/search.cpp,
877 source/encoder/search.h:
878 search: re-combine --pme with --no-pme code paths
881 * source/common/cudata.cpp, source/common/cudata.h:
882 cudata: cache numPartInCUSize as a class static
884 The obliviates a lot of pointer dereferences in some key functions
887 * source/encoder/entropy.cpp:
888 entropy: drop last use of g_winUnitX, g_winUnitY
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
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
901 * source/common/cudata.h:
902 cudata: remove default arguments for getPUAboveRightAdi(),
906 * source/common/cudata.cpp, source/common/cudata.h,
907 source/common/framedata.cpp, source/encoder/analysis.cpp:
908 cudata: simplify allocation / initialization interfaces
910 the callers shouldn't need to know details about partitions or coeff
914 * source/encoder/search.cpp:
915 search: use intptr_t for picture stride variables
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
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
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
932 2014-10-22 Steve Borho <steve@borho.org>
934 * source/encoder/analysis.cpp:
935 analysis: encodeResidue rewrite, much improved --rd 0
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
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
951 This cleans up a number of layering violations and makes the array
952 management more robust
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/
962 This was the last file under Lib/ so the whole folder is now
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
988 A number of enums were pulled into cudata.h, one went to slice.h.
989 All the defines went into common.h
992 * source/common/cudata.cpp:
993 cudata: nits, use m_encData directly
996 * source/encoder/search.h:
997 search: use proper allocation size for m_rqt, fix --preset placebo
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
1003 * source/encoder/analysis.cpp:
1004 analysis: fix --rd 1,2 behavior (broken by 84933c3136ec)
1006 Also includes some fixes for --rd 0
1009 * source/common/cudata.cpp:
1010 cudata: avoid 'char subscript' warnings from GCC
1013 * source/common/framedata.cpp, source/common/framedata.h,
1014 source/encoder/encoder.cpp:
1015 framedata: param is now unused
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
1025 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
1026 framefilter: optimize row-height operations
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
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
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
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.
1058 * source/common/cudata.cpp, source/common/cudata.h,
1059 source/encoder/frameencoder.cpp:
1060 cudata: pass picWidth and picHeight to calcCTUGeoms()
1062 this was the only method which used m_frame for anything other than
1066 * source/common/cudata.cpp, source/common/cudata.h,
1067 source/encoder/analysis.cpp:
1068 cudata: simplify setQPSubCUs()
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
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
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
1085 * source/encoder/search.cpp:
1086 search: use helper function to set transform depth
1089 * source/common/cudata.cpp, source/common/cudata.h,
1090 source/encoder/search.cpp:
1091 cudata: simplify clearCbf()
1094 * source/common/cudata.cpp, source/common/cudata.h:
1095 cudata: hoist a number of trivial functions to cudata.h for inlining
1098 * source/common/common.h, source/common/cudata.h,
1099 source/common/frame.h:
1100 cudata: clean up a couple defines
1103 * source/encoder/search.cpp:
1104 search: remove unnecessary parens
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()
1111 Inter dir is coded at the PU level, so it is always at the current
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
1126 TComCUMvField didn't add anything except overhead
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
1134 The structure is only used for collecting merge candidates now, and
1135 does not need any constructor
1138 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1139 source/Lib/TLibCommon/TComMotionInfo.h:
1140 mvfield: combine mv buffers into a single allocation
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
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
1154 * source/encoder/search.cpp:
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
1163 When you see how the code unwound, certain optimizations may become
1167 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
1168 mvfield: remove setMvField() method
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
1178 * source/Lib/TLibCommon/TComMotionInfo.cpp,
1179 source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
1180 cudata: replace clearMvField() with m_partSet calls
1183 * source/common/cudata.cpp:
1184 cudata: copy mvfield data from CTU in copyFromPic (more --rd 0
1188 * source/encoder/entropy.cpp:
1189 entropy: remove only reference to TComCUMvField outside of cudata.h
1192 * source/encoder/search.cpp:
1193 search: avoid unnecessary memcopies in inter prediction
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'
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 ->
1209 * source/Lib/TLibCommon/TComMotionInfo.h, source/common/cudata.cpp:
1210 mvfield: remove getRefIdx and getMvd access methods
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
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,
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
1231 docs: improve documentation for tskip options
1234 * source/encoder/search.cpp:
1235 search: fix --rdpenalty 2, make logic explicit (closes #71)
1238 2014-10-21 Murugan Vairavel <murugan@multicorewareinc.com>
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
1246 2014-10-21 Praveen Tiwari <Praveen Tiwari>
1248 * source/common/x86/pixel-util8.asm:
1249 weight_sp: sse version of asm code optimization
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
1257 2014-10-21 Steve Borho <steve@borho.org>
1259 * source/encoder/analysis.cpp, source/encoder/search.cpp:
1260 fix checked build errors
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
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
1271 * source/common/cudata.cpp, source/common/cudata.h,
1272 source/encoder/analysis.cpp:
1273 cudata: add a helper function for not-present CUs
1276 * source/common/cudata.h:
1277 cudata: comment nits
1280 * source/encoder/search.cpp:
1281 search: move auto var initialization to avoid goto warning
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
1293 * source/common/cudata.cpp:
1294 cudata: cleanup copy methods, fill in missing copies in
1298 * source/common/cudata.h:
1299 cudata: reorder and white-space nits
1302 * source/common/cudata.cpp, source/common/cudata.h:
1303 cudata: inline single caller of getPartPosition
1306 * source/common/cudata.h:
1307 cudata: consistent use of absPartIdx
1310 * source/common/cudata.cpp, source/common/cudata.h,
1311 source/encoder/analysis.cpp:
1312 cudata: remove unused setCUTransquantBypassSubParts
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
1321 * source/common/cudata.cpp:
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
1329 Pruned a couple of functions which were only called once and were
1330 redundant or could have been done more simply.
1333 * source/common/cudata.cpp, source/common/cudata.h,
1334 source/encoder/analysis.cpp, source/encoder/search.cpp:
1335 cudata: simplify setPartSizeSubParts and friends
1337 These fields are always broadast-set to all sub-parts of the CU
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
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
1365 * source/encoder/encoder.cpp:
1366 encoder: improve comment, frame encoders to not use the worker pool
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
1375 Now the geom sets only need to be calculated once, and they occupy a
1376 minimum amount of memory.
1379 * source/encoder/frameencoder.h:
1380 frameencoder: group pointer members together for better alignment
1383 * source/Lib/TLibCommon/TComDataCU.cpp:
1387 * source/Lib/TLibCommon/TComDataCU.cpp:
1388 cu: use memset in setQPSubParts()
1391 * source/Lib/TLibCommon/TComDataCU.cpp,
1392 source/Lib/TLibCommon/TComDataCU.h:
1393 cu: inline single use of setSubPart into setInterDirSubParts
1396 * source/Lib/TLibCommon/TComDataCU.h:
1397 cu: remove unused enum NDBFBlockBorderTag
1400 * source/Lib/TLibCommon/TComDataCU.cpp:
1401 cu: repair original intent of getLastCodedQP(), fix 73c6c9086577
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
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
1417 * source/Lib/TLibCommon/TComDataCU.cpp,
1418 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
1419 cu: pass m_cuLocalData to loadCTUData()
1421 This is prep-work for removing m_cuLocalData from TComDataCU and
1422 having only a few instances of the array.
1425 * source/Lib/TLibCommon/TComDataCU.cpp:
1426 cu: style nits, no behavior change
1429 * source/encoder/search.cpp, source/encoder/search.h:
1430 search: m_qtTempCoeff[ttype][qtLayer] ->
1431 m_rqt[qtLayer].tmpCoeff[ttype]
1434 * source/encoder/search.cpp, source/encoder/search.h:
1435 search: m_qtTempShortYuv[qtlayer] -> m_rqt[layer].tmpShortYuv
1437 one less malloc to fail
1440 * source/encoder/search.cpp, source/encoder/search.h:
1441 search: move inter search temp Yuv buffers into RQTData
1443 This makes their allocation (and stride) per depth, which is
1444 hopefully a little more cache friendly
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
1452 2014-10-21 gopi jayaraman <gopi@multicorewareinc.com>
1454 * source/encoder/search.cpp:
1455 search: --pme bug fixes with slave threads tie up case
1458 2014-10-20 Steve Borho <steve@borho.org>
1460 * source/encoder/search.cpp:
1461 search: move the destroy() method to after initSearch()
1464 * source/common/frame.cpp:
1465 frame: initialize m_reconPicYuv pointer
1468 2014-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1470 * source/encoder/search.cpp:
1471 search: make split choice logic cleaner
1474 * source/encoder/search.cpp:
1475 search: rename variables to mightSplit and mightNotSplit
1478 2014-10-20 Steve Borho <steve@borho.org>
1480 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1481 source/encoder/search.h:
1482 search: use small struct to accumulate costs
1485 * source/encoder/search.cpp:
1486 search: remove shadow variable
1489 * source/encoder/search.cpp:
1490 search: improve comments
1493 * source/encoder/search.cpp:
1494 search: avoid redundant work in typical path
1497 * source/encoder/search.cpp, source/encoder/search.h:
1498 search: inline single caller of xGetIntraBitsLuma, avoid extra
1502 * source/encoder/search.cpp, source/encoder/search.h:
1503 search: inline single call of calcIntraLumaRecon
1505 This allows some much needed clarity and to avoid some redundant
1509 * source/encoder/analysis.cpp, source/encoder/search.cpp,
1510 source/encoder/search.h:
1511 search: rename xRecurIntraCodingQT to codeIntraLumaQT, save a bit of
1515 * source/encoder/search.cpp:
1516 search: combine xRecurIntraCodingQT() bCheckFull sections
1519 * source/encoder/search.cpp:
1520 search: add tmpBits to xRecurIntraCodingQT
1523 * source/encoder/search.cpp:
1524 search: remove remnants of tqbypass from xRecurIntraCodingQT,
1528 * source/encoder/search.cpp, source/encoder/search.h:
1529 search: create a per-depth temp buffer for temporary recon blocks
1532 * source/encoder/search.cpp:
1533 search: fix --rdpenalty=2 at --rd 0,1
1535 It needed the same fix for not skipping 32x32 if TU recursion is too
1539 * source/encoder/search.cpp:
1540 search: use member variable access to current slice and frame, not
1544 * doc/reST/cli.rst, source/encoder/search.cpp:
1545 search: clarify --rdpenalty
1548 * source/encoder/search.cpp:
1549 search: simplify checkTransformSkip logic
1551 drop !!qp condition, this doesn't appear necessary. we already check
1555 * source/encoder/encoder.cpp:
1556 encoder: make assignments to Frame::m_intraData and m_interData
1559 The check doesn't help anyone. If pic_in->analysisData.intraData was
1560 NULL, the Frame fields are entirely uninitialized.
1563 * source/encoder/search.cpp:
1564 search: remove redundant clearCbf call
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
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
1574 This function didn't belong in Analysis
1577 * source/encoder/search.cpp, source/encoder/search.h:
1578 search: rename xSetResidualQTData to saveResidualQTData and simplify
1581 * source/encoder/search.cpp, source/encoder/search.h:
1582 search: do not return CBF=0 distortion from xEstimateResidualQT()
1584 it can be calculated easily if needed
1587 * source/encoder/analysis.cpp:
1592 doc: update description of --cu-lossless
1595 * source/encoder/analysis.cpp:
1596 analysis: do not try lossless if best mode had no distortion
1599 * source/encoder/analysis.cpp:
1600 analysis: copy inter prediction when evaluating lossless
1603 2014-10-20 Aarthi Thirumalai <Aarthi Thirumalai>
1605 * source/encoder/ratecontrol.cpp:
1606 rc: fix error in vbv due to access of unreferenced refFrame data
1609 2014-10-20 Praveen Tiwari <Praveen Tiwari>
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
1618 2014-10-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
1620 * source/encoder/analysis.cpp:
1621 analysis: share the depth, best modes and partitions based on cuAddr
1625 2014-10-20 Steve Borho <steve@borho.org>
1627 * source/Lib/TLibCommon/TComDataCU.cpp:
1628 cu: clear transform skip flags in lossless CU copy
1631 * source/Lib/TLibCommon/TComDataCU.h:
1632 cu: re-order part data defines to match allocation order (nit)
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
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
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
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.
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
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.
1666 * source/encoder/analysis.cpp:
1670 * source/encoder/analysis.cpp:
1671 analysis: only call checkDQP once per CU, use a consistent reconPic
1675 2014-10-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1677 * source/encoder/search.cpp:
1681 2014-10-20 Steve Borho <steve@borho.org>
1683 * source/common/framedata.cpp, source/common/framedata.h:
1684 framedata: add pointer to active param structure for that picture
1686 today, this is always the single global param. in the future it may
1690 2014-10-19 Steve Borho <steve@borho.org>
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
1698 * source/encoder/search.cpp:
1702 * source/encoder/analysis.cpp:
1703 analysis: fix for --rd 0, always generate chroma prediction for best
1707 2014-10-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
1709 * source/common/common.h, source/common/pixel.cpp:
1710 pixel: add signed accumulators, these were causing errors in new
1714 * source/encoder/analysis.cpp:
1715 analysis: split flag cost is added only if the depth is less than
1718 removes (some) CHECKED_BUILD errors.
1721 2014-10-19 Steve Borho <steve@borho.org>
1723 * source/encoder/analysis.cpp:
1724 analysis: add emergency intra check for --pmode
1726 if all other choices somehow fail, we should always be able to code
1730 * source/encoder/frameencoder.cpp:
1731 frameencoder: handle non-present CUs correctly when collecting stats
1734 * source/encoder/analysis.cpp:
1735 analysis: handle no-valid-merge more cleanly, simplify
1736 compressInterCU_rd0_4
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
1743 2014-10-18 Steve Borho <steve@borho.org>
1745 * source/encoder/ratecontrol.cpp:
1746 rc: fix error message
1749 * source/encoder/ratecontrol.cpp:
1750 rc: use curEncData.m_numCUsInFrame
1752 Note that the CU count was wrongly calculated before as height *
1753 height, broken by me a couple days ago in 14d5345e257a
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
1762 This uses fewer mallocs, fewer memsets, and generally better data
1763 locality. It doesn't hurt that the code is more readable.
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
1773 * source/common/framedata.cpp:
1774 framedata: fix license header
1777 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
1778 source/encoder/sao.h:
1779 sao: move lossless sample restoration functions to framefilter.cpp
1781 These are only called by the framefilter code, and are not directly
1782 related to SAO itself.
1785 2014-10-15 Satoshi Nakagawa <nakagawa424@oki.com>
1787 * source/common/common.h, source/encoder/frameencoder.cpp,
1788 source/encoder/sao.cpp, source/encoder/sao.h:
1789 sao: refine sao merge mode
1792 2014-10-17 Ashok Kumar Mishra <ashok@multicorewareinc.com>
1794 * source/encoder/search.cpp:
1795 search: removed redundant context store
1798 * source/encoder/entropy.cpp, source/encoder/entropy.h,
1799 source/encoder/search.cpp:
1800 search: removed redundant getAllowedChromaDir function call
1803 2014-10-18 Steve Borho <steve@borho.org>
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
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
1817 * source/encoder/CMakeLists.txt:
1818 cmake: use -Wno-uninitialized, to avoid confusing clang or older GCC
1821 2014-10-17 Steve Borho <steve@borho.org>
1823 * source/common/param.cpp:
1824 param: do not enable fast CBF at faster presets (no behavior change)
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
1831 * source/encoder/analysis.cpp:
1832 analysis: fix --pmode crash, do not look at intra results if not
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
1840 This changes none of the presets or defaults, it just allows
1841 --preset medium --rect --amp to perform as the user would expect
1844 * source/encoder/analysis.cpp, source/encoder/analysis.h,
1845 source/encoder/encoder.cpp:
1846 analysis: don't pass global variables to create methods
1849 * source/encoder/analysis.cpp:
1853 * source/encoder/analysis.cpp:
1854 analysis: consistent use of subPartIdx
1857 * source/encoder/analysis.cpp:
1858 analysis: streamline parallelModeAnalysis
1861 * source/common/predict.cpp, source/common/predict.h:
1862 predict: keep ref indices, rather than mvField pointers
1865 * source/common/CMakeLists.txt:
1866 cmake: remove source group for TLibCommon/ in MSVC
1868 Allow the remaining files to be grouped with the rest of common/ for
1872 * source/test/CMakeLists.txt, source/test/testharness.h:
1873 cmake: newer GCC/MinGW define __rdtsc and do not like our
1877 * source/encoder/CMakeLists.txt:
1878 cmake: quiet -Wmaybe-uninitialized warnings in encoder/
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.
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
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.
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
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
1924 Rename getCU() as getPicCTU() for clarity
1927 * source/common/picyuv.cpp:
1928 picyuv: fix 16bpp warning
1931 2014-10-17 Murugan Vairavel <murugan@multicorewareinc.com>
1933 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
1935 asm: avx2 assembly code for 16bpp version of transpose(8, 16, 32 and
1939 2014-10-17 Steve Borho <steve@borho.org>
1941 * source/encoder/analysis.cpp:
1942 analysis: actually count numRefs, combine depth counters
1945 * source/encoder/analysis.cpp:
1946 analysis: further simplify top-skip math
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
1954 * source/encoder/analysis.cpp:
1955 analysis: fix msvc warnings
1958 * source/encoder/analysis.cpp:
1959 analysis: prevent redundant recon work for --rd 3 and 4
1962 * source/Lib/TLibCommon/TComDataCU.cpp:
1963 cu: cleanup getPartIndexAndSize()
1966 2014-10-16 Steve Borho <steve@borho.org>
1968 * source/encoder/analysis.cpp:
1969 analysis: fix for --rd 0, it does not generate recon (just
1973 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1974 analysis: split --pmode into its own recursive analysis function
1976 This simplifies compressInterCU_rd0_4() and allows us to limit
1977 --pmode to sane rd levels 2, 3, and 4.
1980 * source/encoder/analysis.cpp:
1981 analysis: it should only be necessary to copy recon when not split
1984 * source/encoder/analysis.cpp:
1985 analysis: combine stat collections at the end of CU analysis
1988 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1989 analysis: move recursion early-out logic to a helper function
1992 * source/encoder/analysis.cpp, source/encoder/analysis.h:
1993 analysis: move topSkip into a helper function
1995 This will allow us to break up compressInterCU_rd0_4
1998 * source/encoder/analysis.cpp:
1999 analysis: simplify addSplitFlagCost slightly
2002 * source/encoder/analysis.cpp:
2003 analysis: fix typo in addSplitFlagCost
2006 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp:
2007 cu: remove trivial getCtxInterDir()
2010 * source/Lib/TLibCommon/TComDataCU.cpp,
2011 source/Lib/TLibCommon/TComDataCU.h:
2012 cu: cleanup more copy and init methods
2015 * source/Lib/TLibCommon/TComDataCU.cpp,
2016 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
2017 cu: streamline initCTU and initSubCU
2020 * source/Lib/TLibCommon/TComDataCU.cpp,
2021 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
2022 cu: rename initCU() to initCTU()
2025 * source/Lib/TLibCommon/TComDataCU.cpp,
2026 source/Lib/TLibCommon/TComDataCU.h, source/encoder/frameencoder.cpp:
2027 cu: pass initial QP to initCU
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
2035 * source/Lib/TLibCommon/TComDataCU.cpp,
2036 source/Lib/TLibCommon/TComDataCU.h:
2037 cu: remove unused isFirstAbsZorderIdxInDepth
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
2046 * source/Lib/TLibCommon/TComDataCU.cpp,
2047 source/Lib/TLibCommon/TComDataCU.h:
2048 cu: store each CU's data sequentially in memory
2050 This should be more cache friendly
2053 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2054 source/encoder/search.h:
2055 search: use consistent absPartIdx for PU offset
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
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
2071 * source/Lib/TLibCommon/TComDataCU.cpp,
2072 source/Lib/TLibCommon/TComDataCU.h, source/encoder/entropy.cpp:
2073 cu: remove interDir access methods
2076 * source/Lib/TLibCommon/TComDataCU.h:
2077 cu: white-space cleanups
2080 * source/Lib/TLibCommon/TComDataCU.h:
2081 cu: make setSubPart protected, group getSCUAddr() with encode helper
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
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
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
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
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
2118 * source/Lib/TLibCommon/TComDataCU.cpp,
2119 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
2120 cu: remove m_skipFlag access methods
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
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
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
2144 * source/Lib/TLibCommon/TComDataCU.h:
2145 cu: remove wrong or useless comments
2148 * source/Lib/TLibCommon/TComDataCU.cpp,
2149 source/Lib/TLibCommon/TComDataCU.h:
2150 cu: remove x prefixes
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
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
2168 * source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp,
2169 source/encoder/search.cpp:
2170 cu: remove getCUMvField
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
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
2184 * source/encoder/search.cpp:
2185 search: use pre-calculated partSize
2188 * source/encoder/rdcost.h, source/encoder/search.cpp,
2189 source/encoder/search.h:
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
2198 * source/encoder/frameencoder.cpp:
2199 frameEncoder: fix eoln
2202 * source/encoder/search.cpp, source/encoder/search.h:
2203 search: getBlkBits uses no data members, could be a static method
2206 * source/encoder/search.cpp:
2207 analysis: rename variables for consistency
2210 * source/encoder/analysis.cpp:
2211 analysis: fix cut-paste bug in early-out code
2214 * source/common/frame.cpp:
2215 frame: m_totalBitsPerCTU must be allocated even if AQ is disabled
2218 * source/encoder/analysis.cpp:
2219 analysis: fix for --rd 0 check failure
2222 2014-10-15 Steve Borho <steve@borho.org>
2224 * source/encoder/encoder.cpp:
2228 * source/encoder/analysis.cpp:
2229 analysis: minimal documentation for RD levels
2232 * source/encoder/analysis.cpp:
2233 analysis: --rd 1 needs reconYuv to be copied from sub-cu
2236 * source/encoder/analysis.cpp:
2237 analysis: --rd 1 needs reconYuv to be copied to reconPic
2240 * source/encoder/analysis.cpp:
2241 analysis: move temp array out of conditional
2243 Keeping a pointer to a stack array is not well defined behavior.
2244 Renamed buf_trans to bufTrans, also
2247 * source/encoder/analysis.cpp:
2248 analysis: only --rd 0 should use encodeResidue()
2251 * source/encoder/analysis.cpp:
2252 analysis: at --rd 1, split and best modes only have sa8d cost
2255 * source/encoder/analysis.cpp:
2256 analysis: do not call checkDQP() for --rd 0, the CU is not encoded
2259 * source/encoder/analysis.cpp:
2260 analysis: fix hash mistakes at --rd 2
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.
2267 * source/common/shortyuv.h, source/common/yuv.h:
2268 yuv: short descriptions
2271 * source/common/yuv.cpp, source/common/yuv.h:
2272 yuv: consistent variable naming for clarity
2274 absPartIdx is always the part index (in zorder) of a CU/PU/TU within
2278 * source/common/yuv.cpp, source/common/yuv.h:
2279 yuv: inline addClip sub-functions
2282 * source/common/yuv.h:
2286 * source/common/shortyuv.h:
2287 shortyuv: remove width argument to getChromaAddrOffset
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)
2296 * source/common/shortyuv.cpp, source/common/shortyuv.h:
2297 shortyuv: remove m_height and m_cheight
2300 * source/common/yuv.h:
2304 * source/common/yuv.cpp, source/common/yuv.h:
2305 yuv: remove width argument to getChromaAddrOffset
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)
2314 * source/encoder/encoder.cpp:
2315 encoder: ensure TLD.nr is initialized
2318 * source/common/yuv.cpp, source/common/yuv.h:
2319 yuv: remove m_height and m_cheight
2322 * source/common/yuv.cpp, source/common/yuv.h:
2323 yuv: remove unused clear() method
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
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
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:
2345 2014-10-13 Murugan Vairavel <murugan@multicorewareinc.com>
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
2353 2014-10-14 Steve Borho <steve@borho.org>
2355 * source/encoder/search.cpp:
2356 search: add a couple TODO comments
2359 * source/encoder/search.cpp:
2360 search: make encodeResAndCalcRdInterCU() a bit more readable
2363 * source/encoder/search.cpp:
2364 search: fix one obviously wrong psy-rd check
2366 If measuring psy cost of CBF=0, you measure fenc against pred, not
2370 * source/encoder/search.cpp:
2371 search: remove I slice checks from encodeResAndCalcRdInterCU
2373 We do not call this function for I slices, and it already checks for
2377 * source/encoder/search.cpp:
2378 search: fix initial value of bCodeDQP in encodeResAndCalcRdInterCU
2381 * source/encoder/search.cpp, source/encoder/search.h:
2382 search: inline single caller of getInterSymbolBits()
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
2389 * source/encoder/search.cpp, source/encoder/search.h:
2390 search: inline single caller of xLoadIntraResultChromaQT
2393 * source/encoder/search.cpp, source/encoder/search.h:
2394 search: inline single caller of xLoadIntraResultQT
2397 * source/encoder/search.cpp, source/encoder/search.h:
2398 search: inline single caller of xEncIntraHeaderLuma
2401 * source/encoder/search.cpp, source/encoder/search.h:
2402 search: inline single caller of xEncIntraHeaderChroma
2405 * source/encoder/search.cpp:
2406 search: reorder xRecurIntraChromaCodingQT() for clarity
2409 * source/encoder/search.cpp, source/encoder/search.h:
2410 search: inline single callers of xGetIntraBitsChroma and
2411 xGetIntraBitsQTChroma
2414 * source/encoder/sao.cpp:
2418 * source/common/common.h:
2419 common: fix eoln, fix merge bug
2425 2014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
2427 * source/Lib/TLibCommon/TComRom.h, source/common/common.h,
2428 source/encoder/frameencoder.cpp:
2429 noiseReduction: replace magic values with readable names
2432 2014-10-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
2441 The pixel values in lossless mode can be obtained from the original
2445 2014-10-14 Steve Borho <steve@borho.org>
2447 * source/encoder/analysis.cpp:
2448 analysis: match old merge analysis behavior at --rd 5,6
2451 * source/encoder/analysis.h:
2452 analysis: reorder prediction modes for easier initialization at RD
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
2462 Required passing a non-const Frame pointer to compressCTU, which is
2463 fine since the frame encoder by definition owns the non-const
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
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()
2479 do not set by reference
2482 * source/encoder/analysis.cpp:
2483 analysis: fix --rd 6 hash mistakes, clear skip flags between merge
2487 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2488 analysis: inline deriveTestModeAMP
2491 * source/encoder/analysis.cpp:
2492 analysis: uhm, try that again
2495 * source/encoder/analysis.cpp:
2496 analysis: checkIntra() is used by all slice types now
2499 * source/encoder/search.cpp:
2500 search: minor cleanups
2503 2014-10-13 Steve Borho <steve@borho.org>
2505 * source/encoder/analysis.cpp:
2506 analysis: simplify addSplitFlagCost(), encode split flag with mode's
2510 * source/encoder/analysis.cpp:
2511 analsys: add split flag cost to the split prediction (--rd 5/6)
2514 * source/encoder/search.cpp:
2515 search: nits, remove debug memsets
2518 * source/encoder/analysis.cpp, source/encoder/search.cpp:
2522 * source/encoder/analysis.cpp:
2523 analysis: split out more logic for rdlevel 0 & 1
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)
2533 * source/encoder/analysis.cpp:
2534 analysis: re-introduce RD level 0 intra hack
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
2540 2014-10-11 Steve Borho <steve@borho.org>
2542 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2543 analysis: add a helper function to deal with split flag bits
2545 we can reasonably do something smart based on RD level in a
2547 * for high RD levels, we can account for split flag context states
2548 * For low RD levels, we just increment bit counters
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
2555 * source/encoder/analysis.h:
2556 analysis: remove unused m_initialContexts
2559 * source/encoder/analysis.h, source/encoder/frameencoder.h:
2560 analysis: move StatisticLog to frameencoder.h
2563 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2564 analysis: add attributions for myself
2567 * source/encoder/analysis.cpp:
2568 analysis: remove redundant pointer check
2571 * source/encoder/search.cpp:
2572 search: fix variable name shadow warnings
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:
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
2587 * source/encoder/analysis.cpp:
2588 analysis: if avoiding skip analysis for lossless encodes, set max
2592 * source/encoder/analysis.cpp:
2593 analysis: consistent naming of MC PU part index, try not to use temp
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
2601 * source/encoder/analysis.cpp:
2602 analysis: merge only ever has one part, within checkMerge2Nx2N_rd0_4
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
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.
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.
2621 * source/encoder/analysis.cpp:
2622 analysis: remove a temp variables used in only one place
2625 * source/Lib/TLibCommon/TComDataCU.cpp:
2626 cu: remove useless numPartition variable from copyPartFrom()
2629 * source/encoder/analysis.cpp:
2630 analysis: simplify handling of not-present sub-cus
2633 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2634 analysis: m_bEncodeDQP should never have been a member variable
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.
2641 * source/common/frame.cpp:
2642 frame: fix uninitialized pointer
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
2649 this function did not need to copy m_cuAbove and friends
2652 * source/Lib/TLibCommon/TComDataCU.cpp,
2653 source/Lib/TLibCommon/TComDataCU.h, source/encoder/sao.cpp:
2654 cu: remove getLumaOrigYuv() access methods
2657 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2658 source/encoder/search.cpp, source/encoder/search.h:
2659 analysis: more ref religion
2662 * source/encoder/analysis.cpp:
2663 analysis: use m_slice consistently, not the pointer in the CU
2666 * source/encoder/analysis.cpp:
2667 analysis: simplify encodeIntraInInter
2670 * source/encoder/search.cpp:
2671 search: minor cleanups and comment improvements
2674 * source/Lib/TLibCommon/TComDataCU.cpp:
2675 cu: white space and comment nits, initSubCU() no longer inits CTU
2679 * source/encoder/analysis.cpp:
2680 analysis: give the splitCU the correct partition index (0..3)
2682 this doesn't currently affect outputs, but it is definitely more
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
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.
2698 this changes outputs, in a very good way, so I think this fixed a
2702 * source/common/yuv.h:
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
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
2716 * source/Lib/TLibCommon/TComDataCU.cpp,
2717 source/Lib/TLibCommon/TComDataCU.h, source/encoder/analysis.cpp:
2718 cu: remove access methods for neighbor CTUs
2721 * source/encoder/analysis.cpp:
2722 analysis: fixes for --pmode and --rect with --rd 0..4
2725 * source/encoder/analysis.cpp:
2726 analysis: initCU() is only necessary for picSym CTUs, not analysis
2730 2014-10-10 Steve Borho <steve@borho.org>
2732 * source/encoder/analysis.cpp, source/encoder/analysis.h,
2733 source/encoder/search.cpp, source/encoder/search.h:
2734 analysis: move fillOrigYUVBuffer to Search
2736 it is not really an analysis functions, it is a coding function
2739 * source/encoder/analysis.cpp:
2740 analysis: fixes for merge/skip behavior at --rd 6, improve clarity
2743 * source/encoder/analysis.cpp:
2744 analysis: fix precendence problem in split logic
2747 * source/encoder/analysis.cpp:
2748 analysis: fix a couple of obvious --rd 6 bugs
2751 * source/encoder/analysis.cpp:
2752 analysis: fix --rd 2 crash, only check intra for P slices
2755 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2756 analysis: greatly simplify checkMerge2Nx2N_rd5_6
2759 * source/Lib/TLibCommon/TComDataCU.h:
2763 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2764 analysis: pass merge and skip modes to merge analysis functions
2766 It was a layering violation for these functions to access md.pred[]
2770 * source/encoder/analysis.h:
2771 analysis: PRED_NxN is no more
2774 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2775 analysis: nit rename
2778 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2779 analysis: most merge shared intra path into the main path
2781 The overhead for the nominal I frame path is one NULL pointer check
2785 * source/encoder/analysis.cpp, source/encoder/analysis.h:
2786 analysis: remove checkIntraInInter_rd5_6(), it is the same as
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
2795 2014-10-09 Steve Borho <steve@borho.org>
2797 * source/encoder/search.cpp, source/encoder/search.h:
2798 search: pass mode to xIntraCodingLumaBlk
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/
2806 they don't need any encoder structures
2809 * source/encoder/search.cpp, source/encoder/search.h:
2810 search: reorder arguments to xIntraCodingChromaBlk for clarity
2813 * source/encoder/search.cpp, source/encoder/search.h:
2814 search: pass mode to getBestIntraModeChroma
2817 * source/encoder/search.cpp, source/encoder/search.h:
2818 search: do not pass fencYuv to residualTransformQuantIntra
2821 * source/encoder/search.cpp, source/encoder/search.h:
2822 search: do not pass fencYuv to xIntraCodingChromaBlk
2825 * source/encoder/search.cpp, source/encoder/search.h:
2826 search: do not pass fencYuv to xRecurIntraChromaCodingQT
2829 * source/encoder/search.cpp, source/encoder/search.h:
2830 search: do not pass fencYuv to xEstimateResidualQT()
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
2843 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2844 source/encoder/search.h:
2845 search: do not pass fencYuv to xRecurIntraCodingQT()
2848 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2849 source/encoder/search.h:
2850 search: return distortion from main intra coding functions
2852 This is much cleaner than magically incrementing the CU variables
2853 within these functions. Leave some comments for future work
2856 * source/Lib/TLibCommon/TComDataCU.h:
2860 * source/encoder/search.cpp:
2861 search: use absPartIndex for sub-CU indexing
2864 * source/encoder/analysis.cpp:
2868 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2869 source/encoder/search.h:
2870 search: merge sharedEstIntraPredQT with estIntraPredQT
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()
2879 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2880 source/encoder/search.h:
2881 search: do not pass fencYuv to estIntraPredQT()
2884 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2885 source/encoder/search.h:
2886 search: do not pass fencYuv to encodeResAndCalcRdSkipCU()
2889 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2890 source/encoder/search.h:
2891 search: do not pass fencYuv to encodeResAndCalcRdInterCU()
2894 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2895 source/encoder/search.h:
2896 search: do not pass fencYuv to generateCoeffRecon()
2899 * source/encoder/analysis.cpp, source/encoder/search.cpp,
2900 source/encoder/search.h:
2901 search: do not pass fencYuv to residualTransformQuantInter
2904 * source/encoder/search.cpp, source/encoder/search.h:
2905 search: make fencYuv pointers const
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
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
2917 It is only used by Search methods; the analysis functions do not
2918 need to be aware of it
2921 * source/encoder/analysis.cpp, source/encoder/search.h:
2922 analysis: give each Mode a const pointer to its origYuv
2924 This is for convenience, and to save in function parameter overhead
2927 * source/encoder/analysis.cpp, source/encoder/entropy.cpp,
2928 source/encoder/ratecontrol.cpp:
2932 2014-10-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
2934 * source/encoder/analysis.cpp, source/encoder/entropy.cpp:
2935 analysis: remove Inter Part_NxN analysis and encode. This condition
2938 Also remove check for intra slice in compressInterCUrd5_6
2941 2014-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
2943 * source/encoder/ratecontrol.cpp:
2944 rc: vbv fix for scene changes
2946 Also, some spacing nits
2949 2014-10-09 Steve Borho <steve@borho.org>
2951 * source/encoder/analysis.cpp:
2952 analysis: parentCTU is now always a reference to the output picSym
2956 2014-10-08 Steve Borho <steve@borho.org>
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
2967 2014-10-07 Steve Borho <steve@borho.org>
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
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/
3010 Standardized variable naming scheme
3012 pixel *foo Yuv *fooYuv PicYuv *fooPic Frame *fooFrame
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
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.
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
3041 2014-10-06 Steve Borho <steve@borho.org>
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
3047 rename RDContexts.temp to rqtTemp; only used RQT analysis now
3049 There were a number of cut-paste bugs fixed by removing this extra
3050 step after calling encodeResAndCalcRdInterCU. Nearly half of them
3054 2014-10-08 Steve Borho <steve@borho.org>
3056 * source/Lib/TLibCommon/TComDataCU.cpp:
3057 cu: use memset to initialize
3060 2014-10-06 Steve Borho <steve@borho.org>
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
3072 2014-10-08 Steve Borho <steve@borho.org>
3074 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3075 analysis: revisit the minDepth logic, outputs much closer to
3078 Bitrates are actually a bit lower than the old version, with
3082 2014-10-06 Steve Borho <steve@borho.org>
3084 * source/Lib/TLibCommon/TComDataCU.cpp,
3085 source/Lib/TLibCommon/TComDataCU.h:
3086 cu: remove m_ prefix from tqBypassYuvMemBlock
3089 * source/encoder/analysis.cpp:
3090 analysis: use md auto-var in parallelAnalysisJob()
3093 2014-10-08 Steve Borho <steve@borho.org>
3095 * source/encoder/analysis.cpp:
3096 analysis: use correct 'nextContext' from split iterations for split
3100 * source/encoder/analysis.cpp:
3101 analysis: fixes for recursion from Min Chen
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.
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
3112 With these fixes, I slices match the behavior of the previous
3116 * source/encoder/predict.cpp, source/encoder/predict.h:
3117 pred: rename Prediction::m_slice to Prediction::m_predSlice
3119 to avoid conflict with Analysis::m_slice
3122 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3123 analysis: pass partUnitIdx to intra functions for initSubCU
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
3131 * source/encoder/analysis.cpp:
3132 analysis: implement bidir MVP refine for --pme
3134 This was the last deliberate difference in output between --pme and
3138 * source/encoder/analysis.cpp:
3139 analysis: handle situation in compressInterCU_rd0_4() where only
3143 * source/encoder/analysis.cpp:
3144 analysis: bring compressInterCU_rd5_6() up to date
3147 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3148 analysis: update split logic in compressInterCU_rd0_4(), simplify
3151 2014-10-07 Steve Borho <steve@borho.org>
3153 * source/encoder/analysis.cpp:
3154 analysis: continue to optimize split logic
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
3164 * source/encoder/entropy.cpp:
3168 2014-10-06 Steve Borho <steve@borho.org>
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
3174 This change came from Min
3177 * source/Lib/TLibCommon/TComDataCU.cpp:
3181 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3182 analysis: add obviously missing logic
3185 * source/encoder/analysis.cpp:
3186 analysis: remove best mode logic from checkMerge2Nx2N_rd0_4()
3188 It is always done by the caller based on rd level
3191 2014-10-06 gopi jayaraman <gopi@multicorewareinc.com>
3193 * source/encoder/analysis.cpp, source/encoder/search.cpp,
3194 source/encoder/search.h:
3195 search: bring mode structure from analysis for intra functions
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
3203 2014-10-04 Steve Borho <steve@borho.org>
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
3211 2014-10-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3213 * source/common/pixel.cpp, source/encoder/rdcost.h:
3214 pixel: resolve build errors at high bit depth
3217 * source/encoder/search.cpp, source/encoder/search.h:
3218 psy-rd: modify psy-rd cost decisions in search::xEstimateResidualQT
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).
3227 * source/common/pixel.cpp, source/common/primitives.h,
3228 source/encoder/rdcost.h:
3229 primitives: add support for 16-bit psyCost calculations
3232 2014-10-15 Steve Borho <steve@borho.org>
3234 * source/encoder/encoder.cpp:
3235 encoder: ensure nr pointer is initialized
3238 * source/encoder/analysis.h, source/encoder/encoder.cpp,
3239 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
3243 2014-10-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3245 * source/encoder/search.cpp, source/encoder/search.h:
3246 search: rename intra functions that generate recon
3248 Remove wrong comments
3251 2014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
3262 2014-10-13 Murugan Vairavel <murugan@multicorewareinc.com>
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
3270 2014-10-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3272 * source/Lib/TLibCommon/TComRom.h, source/common/common.h,
3273 source/encoder/frameencoder.cpp:
3274 noiseReduction: replace magic values with readable names
3277 2014-10-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
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
3290 The pixel values in lossless mode can be obtained from the original
3294 2014-10-10 Satoshi Nakagawa <nakagawa424@oki.com>
3296 * doc/reST/cli.rst, source/common/slice.h, source/encoder/entropy.cpp,
3297 source/encoder/level.cpp:
3301 2014-10-09 Satoshi Nakagawa <nakagawa424@oki.com>
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-
3310 2014-10-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3312 * source/encoder/analysis.cpp:
3313 Backed out changeset: f231820645fe
3316 * source/encoder/analysis.cpp, source/encoder/entropy.cpp:
3317 analysis: remove Inter Part_NxN analysis and encode. This condition
3320 Also remove check for intra slice in compressInterCUrd5_6
3323 2014-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
3325 * source/encoder/ratecontrol.cpp:
3326 rc: vbv fix for scene changes
3328 Also, some spacing nits
3331 2014-10-08 Steve Borho <steve@borho.org>
3333 * doc/reST/cli.rst, doc/reST/threading.rst:
3334 docs: try to explain behavior of related thread pool options
3337 2014-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
3339 * source/encoder/analysis.cpp:
3340 analysis: fix for csp:444 decoder crash - CABAC context state
3344 2014-10-08 Steve Borho <steve@borho.org>
3346 * source/common/param.cpp:
3347 param: combine CTU size and RQT depth log lines (just saves space)
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
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
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.
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 /
3370 They didn't really belong on the 'tools' log line since they are not
3371 coding tools like SAO or AMP.
3373 This commit also fixes CTU stats logging in the absence of WPP
3376 * source/common/wavefront.cpp, source/encoder/frameencoder.cpp:
3377 frameencoder: fix handling of no thread pool being present
3379 The encoder should run properly without a thread pool instance
3382 2014-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
3384 * source/encoder/frameencoder.cpp:
3385 frameencoder: allocate memory for SEIPictureTiming when
3386 interlaceMode is enabled
3389 2014-10-06 Steve Borho <steve@borho.org>
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
3397 2014-10-07 Steve Borho <steve@borho.org>
3399 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
3400 encoder: fix handling of --no-wpp and either --pmode or --pme
3402 in --no-wpp mode, we need to allocate TLD for workers and frame
3406 2014-10-06 Steve Borho <steve@borho.org>
3409 doc: make it clear fast cbf only affects rdlevel 5 and 6
3412 2014-10-05 Aarthi Thirumalai <Aarthi Thirumalai>
3414 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
3415 rc: use a sliding window to calculate moving avg SatdCost for ABR
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
3425 2014-10-05 Steve Borho <steve@borho.org>
3427 * source/Lib/TLibCommon/TComDataCU.h:
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
3438 * source/encoder/analysis.cpp:
3439 analysis: fix CABAC context state handling after splits [CHANGES
3442 In RDlevel<=4, if split is chosen then copy depth+1 next to depth
3445 This fixes a long standing bug in presets slow and above, and
3446 improves compression efficiency.
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
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
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.
3468 For this to work we have to sync the 'cur' context to the slave
3469 prior to it performing any RD measurements.
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
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.
3481 * source/common/threadpool.cpp:
3485 * source/common/threading.cpp:
3489 * source/CMakeLists.txt:
3493 * source/encoder/entropy.cpp, source/encoder/entropy.h:
3494 entropy: make copy methods properly const
3497 * source/CMakeLists.txt:
3498 cmake: bump X265_BUILD for new parallelism params
3501 2014-10-04 Steve Borho <steve@borho.org>
3503 * source/encoder/encoder.cpp:
3504 encoder: prevent broken combinations of options
3506 with --no-wpp; something in the slave state is not being initialized
3507 correctly causing crashes in motion estimation
3510 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3511 analysis: encodeIntraInInter() must write directly to given cabac
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
3519 2014-10-03 Steve Borho <steve@borho.org>
3521 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3522 analysis: use enums to enumerate prediction buffers
3524 value 4 was never used, so this reduces the buffer count by one
3527 * source/encoder/analysis.cpp:
3528 analysis: add a hack to try and match --pmode with --no-pmode
3531 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3535 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3536 analysis: measure best pmode intra RD cost in worker thread
3538 it required adding storage for the best intra recon and entropy
3539 state includes prep work for supporting --pmode with --rdlevel > 4
3542 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3543 analysis: do not pass member vars to checkMerge2Nx2N_rd0_4 as
3547 * source/common/param.cpp:
3548 param: show when pmode and pme are enabled
3551 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3552 analysis: remove default argument for compressInterCU_rd5_6
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
3567 * source/encoder/analysis.cpp:
3568 analysis: use slave instance for MVP eval for --pme
3570 this avoids a race hazard with Predict::m_immedVals
3573 * source/encoder/analysis.cpp:
3574 analysis: replace prepMotionCompensation() calls in
3575 parallelInterSearch()
3578 * source/encoder/analysis.cpp:
3579 analysis: --pme workers do not need m_origYuv in slave instance
3582 * source/encoder/analysis.cpp:
3583 analysis: cleanup variable names
3586 2014-10-02 Steve Borho <steve@borho.org>
3588 * source/encoder/analysis.cpp:
3589 analysis: prevent race hazard in parallel ME state variables
3591 the inserted comment should explain the risk, which manifested in a
3595 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3596 analysis: parallel ME can get partsize and depth from ME CU
3599 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3600 analysis: support --pme for all rd levels
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
3608 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3609 analysis: further parallelME progress
3612 2014-10-01 Steve Borho <steve@borho.org>
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
3619 2014-10-02 Steve Borho <steve@borho.org>
3621 * source/encoder/encoder.cpp:
3622 encoder: correct logging of number of WPP streams
3625 * source/encoder/search.cpp:
3626 search: remove redundant calls to prepMotionCompensation()
3629 * source/encoder/search.cpp:
3630 search: use sad cost directly to pick MVP
3632 there's no point in use SAD RD cost if all the candidates have the
3633 same estimated bit cost.
3636 * source/encoder/rdcost.h, source/encoder/search.cpp,
3637 source/encoder/search.h:
3638 search: make some helper methods const
3641 2014-10-01 Steve Borho <steve@borho.org>
3643 * source/encoder/analysis.cpp:
3644 analysis: remove unused variables, fixes warnings
3647 2014-10-02 Aarthi Thirumalai <Aarthi Thirumalai>
3649 * source/encoder/ratecontrol.cpp:
3650 rc: correct the threshold for resetABR function
3653 * source/encoder/ratecontrol.cpp:
3654 rc : correct max AU size for first frame
3657 2014-10-02 Satoshi Nakagawa <nakagawa424@oki.com>
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
3666 2014-10-01 Steve Borho <steve@borho.org>
3668 * source/encoder/analysis.cpp:
3669 analysis: further work on parallel ME
3672 * source/encoder/analysis.cpp:
3673 analysis: nit, remove obviously wrong comment
3676 * source/encoder/analysis.cpp:
3677 analysis: use source buffer for source stride
3679 it was always a coincidence that the output stride matched
3682 * source/encoder/analysis.cpp:
3683 analysis: initialize job counters
3686 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3687 analysis: remove bMergeOnly argument to checkInter_rd0_4, always
3691 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3692 analysis: remove PartSize argument to checkIntraInInter_rd0_4
3695 2014-10-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
3697 * source/encoder/ratecontrol.cpp:
3698 ratecontrol: fix float absolute check
3701 * source/encoder/ratecontrol.cpp:
3702 ratecontrol: replace an imprecise comparison with a more precise
3703 check to ensure consistency.
3706 * source/common/slice.h:
3707 slice: better structure packing
3710 2014-09-30 Steve Borho <steve@borho.org>
3712 * source/encoder/analysis.cpp:
3716 * source/encoder/analysis.cpp:
3717 analysis: move non-distributed path into else clause
3719 this is done in a second patch since it touches a lot of code
3723 2014-09-27 Steve Borho <steve@borho.org>
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
3730 2014-09-30 Steve Borho <steve@borho.org>
3732 * source/encoder/analysis.cpp, source/encoder/analysis.h:
3733 analysis: remove default arguments to checkInter_rd5_6 and
3738 cli: display param->bSaoNonDeblocked as bool in CLI help
3741 * source/encoder/analysis.cpp:
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
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
3758 * source/encoder/sao.h:
3762 * source/encoder/sao.cpp, source/encoder/sao.h:
3763 sao: rename resetLcuPart to resetCtuPart
3766 * source/common/common.h, source/encoder/frameencoder.cpp,
3767 source/encoder/framefilter.cpp, source/encoder/sao.cpp:
3768 sao: rename saoLcuParam to ctuParam
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
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
3782 The acronym LCU doesn't appear anywhere else in our param interface
3785 * source/encoder/search.cpp, source/encoder/search.h:
3786 search: make bidir temp YUVs Search members
3788 I can't believe we've been allocing them every predInterSearch()
3789 call for the last 2 months.
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
3798 * source/Lib/TLibCommon/TComMotionInfo.cpp,
3799 source/Lib/TLibCommon/TComMotionInfo.h:
3800 motioninfo: coding style rename of m_MVFieldMemPool
3803 * source/common/common.h:
3804 common: break into debugger when check fails in debug build
3807 * source/Lib/TLibCommon/TComDataCU.cpp:
3808 TComData: do not leave m_tqBypassOrigYuv uninitialized
3811 2014-09-30 Murugan Vairavel <murugan@multicorewareinc.com>
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
3818 2014-09-30 Praveen Tiwari <Praveen Tiwari>
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
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
3832 2014-09-29 Aarthi Thirumalai <Aarthi Thirumalai>
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
3839 2014-09-30 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
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
3858 2014-09-30 Steve Borho <steve@borho.org>
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
3865 This will make it possible for Search instances to copy QP data
3869 2014-09-30 Satoshi Nakagawa <nakagawa424@oki.com>
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,
3876 sao: remove frame-based SAO
3879 2014-09-29 Steve Borho <steve@borho.org>
3881 * source/Lib/TLibCommon/TComMotionInfo.h:
3882 TComMvField: class to struct, white-space cleanups
3885 2014-09-25 Steve Borho <steve@borho.org>
3887 * source/encoder/search.cpp:
3888 search: reorder nits, no effect
3890 do allocations after simple configurations
3893 * source/common/quant.cpp, source/common/quant.h,
3894 source/encoder/search.cpp:
3895 quant: pass entropy instance through init function
3898 * source/encoder/search.cpp:
3899 search: white-space nits
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
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.
3915 2014-09-26 David T Yuen <dtyx265@gmail.com>
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
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
3931 2014-09-26 Steve Borho <steve@borho.org>
3933 * source/encoder/analysis.cpp, source/encoder/encoder.cpp:
3937 2014-09-26 Murugan Vairavel <murugan@multicorewareinc.com>
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
3944 2014-09-25 David T Yuen <dtyx265@gmail.com>
3946 * source/encoder/frameencoder.cpp:
3947 Removed unnecessary call to loadCTUData
3950 2014-09-25 Steve Borho <steve@borho.org>
3952 * source/encoder/analysis.cpp:
3953 analysis: more style nits, code simplifications. no behavior change
3956 * source/encoder/analysis.cpp:
3957 analysis: remove #define conditionals for control flow
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
3964 * source/encoder/analysis.cpp:
3965 analysis: coding style and comment nits
3968 * source/encoder/analysis.cpp:
3969 analysis: remove unused LAMBDA_PARTITION_SELECT
3972 * source/encoder/analysis.cpp:
3973 analysis: hoist local function into anonymous namespace (file local)
3976 2014-09-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
3983 2014-09-25 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
3993 2014-09-26 Satoshi Nakagawa <nakagawa424@oki.com>
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
4003 2014-09-24 Steve Borho <steve@borho.org>
4005 * source/common/slice.h, source/encoder/predict.cpp,
4006 source/encoder/predict.h:
4007 predict: split weighted prediction values from WeightParam
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.
4014 * source/encoder/predict.cpp, source/encoder/predict.h,
4015 source/encoder/search.cpp:
4016 predict: combine and check allocations and return failures
4019 * source/encoder/predict.cpp, source/encoder/predict.h,
4020 source/encoder/search.cpp:
4021 predict: remove check for reallocations, comment nits
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
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()
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.
4037 This refactor removed a number of arguments to addWeightBi and
4038 addWeightUni which were always member variables.
4041 * source/encoder/predict.cpp, source/encoder/predict.h:
4042 predict: inline single call of predInterBi()
4045 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
4046 source/encoder/frameencoder.h:
4047 encoder: rename cuCoder to analysis for better clarity
4049 the data type of cuCoder changed from TEncCu to Analysis weeks ago
4052 2014-09-25 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4054 * source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
4055 source/common/deblock.h:
4056 Backed out changeset: 940cec3bf0b4
4058 This commit causes hash mismatches in vc11 x86_64 Release mode
4059 consistently, when lft is enabled. Stack/heap corruption likely.
4062 2014-09-24 Steve Borho <steve@borho.org>
4064 * source/common/vec/dct-sse3.cpp:
4065 Backed out changeset: eb011fa1d2d8
4068 2014-09-24 David T Yuen <dtyx265@gmail.com>
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.
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
4080 2014-09-24 Steve Borho <steve@borho.org>
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
4087 * source/common/vec/dct-sse3.cpp:
4088 vec: remove idct8, we have SSSE3 assembly for it
4091 * source/common/CMakeLists.txt, source/common/vec/blockcopy-sse3.cpp,
4092 source/common/vec/vec-primitives.cpp:
4093 cmake: remove blockcopy-sse3.cpp
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
4101 2014-09-24 Praveen Tiwari <Praveen Tiwari>
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
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
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
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
4124 2014-09-24 Satoshi Nakagawa <nakagawa424@oki.com>
4126 * source/Lib/TLibCommon/TComPicYuv.h, source/common/deblock.cpp,
4127 source/common/deblock.h:
4128 refine deblocking filter
4131 2014-09-20 Steve Borho <steve@borho.org>
4133 * source/encoder/predict.cpp, source/encoder/predict.h:
4134 predict: remove checkIdenticalMotion()
4136 We will not insert the same reference picture into L1 and L0 at the
4137 same time, so this check is utterly redundant.
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
4146 * source/encoder/predict.cpp:
4147 predict: streamline getWpScaling()
4150 * source/encoder/predict.cpp:
4151 predict: use faster unidir prediction for B frames when weighting
4155 * source/encoder/predict.cpp, source/encoder/predict.h:
4156 predict: combine redundant logic paths in predInterBi()
4158 removes weightedPredictionBi(), which is no longer called
4161 2014-09-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4163 * source/test/testbench.cpp:
4164 Backed out changeset: fa2f1aa1456e
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.
4172 2014-09-23 Sagar Kotecha <Sagar Kotecha>
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
4180 2014-09-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
4182 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm,
4183 source/common/x86/dct8.h:
4184 asm: avx2 code for dct8x8
4187 2014-09-23 Min Chen <chenm003@163.com>
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
4194 2014-09-23 Sagar Kotecha <Sagar Kotecha>
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
4202 2014-09-22 Satoshi Nakagawa <nakagawa424@oki.com>
4204 * source/Lib/TLibCommon/TComPattern.cpp,
4205 source/Lib/TLibCommon/TComPattern.h, source/encoder/predict.cpp:
4206 simplify intra filter (with fix for da61cf406f16)
4209 2014-09-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4211 * source/encoder/ratecontrol.cpp:
4212 Backed out changeset: 25dde1ffab66
4214 This commit needs more investigation, with specific VBV use cases
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
4230 2014-09-20 Steve Borho <steve@borho.org>
4232 * source/encoder/predict.cpp:
4233 predict: don't bother keeping refidx as an array
4235 it is always indexed explicitly
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
4244 * TComWeightPrediction had no member vars, the constructor was
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
4252 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
4253 TComWeightPrediction: combine duplicate inline functions (refs #80)
4256 * source/encoder/encoder.cpp:
4257 encoder: use %u to sprintf unsigned ints (refs #80)
4260 * source/encoder/entropy.cpp:
4261 entropy: fix SAO enable detection (refs #80)
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
4268 * source/common/bitstream.cpp:
4269 bitstream: add paren to avoid ambiguous precedence in X265_CHECK
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
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.
4283 * source/encoder/bitcost.h:
4284 bitcost: use enums for special constants rather than static const
4287 enums require no storage
4290 * source/encoder/motion.cpp:
4291 motion: avoid extra iterations when no subpel motion found
4293 subsequent iterations would have also returned zero, which would be
4294 pointless. this is an adaption of a patch by Sheva Xu.
4297 2014-09-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4299 * source/encoder/search.cpp, source/encoder/search.h:
4300 search: clean xRecurIntraCodingQT
4303 * source/encoder/analysis.cpp:
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
4311 Also add TODO, for all psyCost calculations
4314 2014-09-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4316 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4317 analysis: remove CheckBestMode from CheckIntra
4320 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4321 analysis: remove redundant variables, cleanup variable names
4324 2014-09-20 Steve Borho <steve@borho.org>
4326 * source/common/param.cpp:
4327 param: do not allow VBV without WPP
4329 VBV row restarts cannot function correctly without WPP (per-row
4333 2014-09-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
4335 * source/encoder/search.cpp:
4336 search: simplify and remove redundant variables in
4337 getBestIntraModeChroma
4340 * source/encoder/search.cpp:
4341 search: remove redundant loacal variables in
4342 encodeResAndCalcRdSkipCU
4345 * source/encoder/search.cpp:
4346 search: cleanup and remove redundant variable in checkintra
4349 2014-09-19 Satoshi Nakagawa <nakagawa424@oki.com>
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)
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
4374 2014-09-17 Steve Borho <steve@borho.org>
4376 * source/test/testbench.cpp:
4377 testbench: allocate test harnesses on heap, for better valgrind
4381 2014-09-18 Praveen Tiwari <Praveen Tiwari>
4383 * source/test/mbdstharness.cpp:
4384 denoiseDct: align performance data while reporting speedup
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
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
4397 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm:
4398 denoise_dct: avx2 asm code
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
4406 2014-09-18 Murugan Vairavel <murugan@multicorewareinc.com>
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
4413 2014-09-18 Aarthi Thirumalai <Aarthi Thirumalai>
4415 * source/encoder/ratecontrol.cpp:
4416 rc: improvements for cbr
4419 2014-09-17 Praveen Tiwari <Praveen Tiwari>
4421 * source/common/x86/dct8.h:
4422 denoiseDct: nit unused asm function declarations
4425 * source/common/x86/asm-primitives.cpp, source/common/x86/dct8.asm:
4426 denoiseDct asm code: nit faulty code, need a new SSE version
4429 * source/test/mbdstharness.cpp:
4430 denoiseDct unit test code: fixed bound value problem
4433 2014-09-11 Praveen Tiwari <Praveen Tiwari>
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
4440 2014-09-17 Aarthi Thirumalai <Aarthi Thirumalai>
4442 * source/encoder/analysis.cpp:
4443 rc: fix bugs in using boundary condition for cu while encoding each
4446 fixes the binary mismatch in 2 pass completely.
4449 2014-09-17 Steve Borho <steve@borho.org>
4451 * source/encoder/frameencoder.cpp:
4452 frameencoder: fix VBV row resets when SAO is disabled
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
4460 2014-09-16 Sagar Kotecha <sagar@multicorewareinc.com>
4462 * source/common/param.cpp, source/common/param.h, source/x265.cpp:
4463 add fanout validation module to check param compatibility
4466 2014-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
4468 * source/encoder/api.cpp:
4469 api: do not reuse the analysisData buffer for more then one picture,
4473 2014-09-16 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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()
4480 2014-09-16 Steve Borho <steve@borho.org>
4482 * source/encoder/analysis.cpp:
4486 2014-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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
4502 2014-09-16 Praveen Tiwari <Praveen Tiwari>
4504 * source/test/mbdstharness.cpp, source/test/mbdstharness.h,
4505 source/test/testharness.h:
4506 denoiseDct: test bench code
4509 2014-09-15 Steve Borho <steve@borho.org>
4511 * source/encoder/search.cpp:
4512 search: save a few cycles
4515 2014-09-15 Aarthi Thirumalai <Aarthi Thirumalai>
4517 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
4518 rc: fixes for 2 pass + vbv to calculate frameSizePlanned accurately.
4521 2014-09-15 Steve Borho <steve@borho.org>
4523 * doc/reST/presets.rst, source/common/param.cpp:
4524 param: preset tuning changes
4526 1. disable SAO in superfast
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.
4533 2. Enable weighted prediction for B slices in slower, veryslow, and
4536 Weighted prediction for B can sometimes be beneficial, so turn it on
4540 * doc/reST/threading.rst:
4541 doc: describe performance impact of SAO
4544 * doc/reST/threading.rst:
4545 doc: fix typo and nit in threading page
4548 2014-09-12 Satoshi Nakagawa <nakagawa424@oki.com>
4550 * source/common/common.h, source/common/x86/loopfilter.asm,
4551 source/encoder/entropy.cpp, source/encoder/sao.cpp,
4552 source/encoder/sao.h:
4556 2014-09-15 Steve Borho <steve@borho.org>
4558 * source/Lib/TLibCommon/CommonDef.h, source/encoder/search.h:
4559 search: header cleanups, no functional change
4562 2014-09-10 Steve Borho <steve@borho.org>
4564 * source/encoder/search.cpp, source/encoder/search.h:
4565 search: measure RDO of intra modes within 12% of least cost [CHANGES
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.
4573 all presets use this function to encode I slices, so every encode is
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
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
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
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.
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
4603 2014-09-15 Steve Borho <steve@borho.org>
4605 * source/encoder/search.cpp:
4606 search: comment nits
4609 * source/encoder/ratecontrol.cpp:
4613 2014-09-15 Aarthi Thirumalai <Aarthi Thirumalai>
4615 * source/encoder/ratecontrol.cpp:
4616 rc: bug fix for 2 pass when bframes = 0. fixes Issue #77
4617 [e6a80fb007e8] <stable>
4619 * source/encoder/ratecontrol.cpp:
4620 rc: check for changes in scenecut input between multiple passes.
4622 wpp/no-wpp doesn't affect slice type decisions. they can differ
4623 between the passes in multipass encode.
4626 * source/encoder/ratecontrol.cpp:
4627 rc: bug fix for 2 pass when bframes = 0. fixes Issue #77
4630 2014-09-10 Ashok Kumar Mishra <ashok@multicorewareinc.com>
4632 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4633 source/encoder/search.h:
4634 Search: remove redundant encode coefficients in intra for
4638 2014-09-15 Murugan Vairavel <murugan@multicorewareinc.com>
4640 * source/common/x86/dct8.asm:
4641 asm: fix mismatch due to dct32 avx2 assembly code
4644 2014-09-12 Murugan Vairavel <murugan@multicorewareinc.com>
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
4651 2014-09-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4654 x265: add missing typedefs
4657 2014-09-11 David T Yuen <dtyx265@gmail.com>
4660 Resolved gcc compiler error of mismatched type
4663 2014-09-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4665 * source/common/x86/asm-primitives.cpp:
4669 * source/common/x86/asm-primitives.cpp:
4670 asm: disable buggy denoise primitives until the bugs are fixed
4671 [d522e7662111] <stable>
4673 2014-09-11 Sagar Kotecha <sagar@multicorewareinc.com>
4675 * doc/reST/cli.rst, source/common/common.h, source/common/param.cpp,
4677 cli: add cli options analysis-mode and analysis-file
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
4684 * source/common/frame.cpp, source/common/frame.h,
4685 source/encoder/analysis.cpp, source/encoder/encoder.cpp:
4686 store analysis information in buffers
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
4695 api: add analysis data structures and param options
4698 2014-09-11 Steve Borho <steve@borho.org>
4700 * source/encoder/analysis.cpp:
4701 analysis: minor comment and code cleanups, no behavior change
4704 * source/encoder/search.cpp, source/encoder/search.h:
4705 search: remove x prefixes from ME helper functions
4708 * source/encoder/dpb.cpp:
4709 dpb: does not need to include frameencoder.h
4712 2014-09-10 Steve Borho <steve@borho.org>
4714 * source/encoder/analysis.h:
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()
4724 removes three Encoder members that were only used to communicate
4725 data to initSearch()
4728 * source/encoder/search.cpp:
4729 search: store rd costs in first pass through intra modes
4731 no behavior change, this is prep work for further refactors
4734 * source/encoder/dpb.cpp, source/encoder/dpb.h,
4735 source/encoder/framefilter.h:
4736 cleanup header dependencies; dpb should not need encoder.h
4739 2014-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4741 * source/common/x86/asm-primitives.cpp:
4742 asm: enable copy_cnt8
4745 2014-09-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
4752 2014-09-10 Praveen Tiwari <Praveen Tiwari>
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
4759 2014-09-10 Steve Borho <steve@borho.org>
4761 * source/encoder/encoder.cpp:
4765 2014-09-09 Steve Borho <steve@borho.org>
4767 * source/encoder/search.cpp:
4768 search: re-enable chroma tskip
4770 this passed regression testing
4773 2014-09-09 Aarthi Thirumalai <Aarthi Thirumalai>
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.
4779 don't store and use frameDuration from stats file per frame - losing
4783 2014-09-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4785 * source/common/param.cpp, source/x265.h:
4786 param: apply missing default values to param, mostly zero and
4790 2014-09-09 Steve Borho <steve@borho.org>
4792 * source/encoder/search.cpp, source/encoder/search.h:
4793 search: reverse meaning of bCheckFirst to bAllowRQTSplit
4795 I find this much more readable
4798 * source/encoder/analysis.cpp, source/encoder/search.cpp:
4799 search: !a ? b : c; -> a ? c : b;
4802 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4803 source/encoder/search.h:
4804 search: rename some helper functions without x prefixes
4807 * source/common/x86/blockcopy8.asm:
4808 backout 0dc2cbc36ee5 to 331ef5121676
4811 2014-09-09 Ashok Kumar Mishra <ashok@multicorewareinc.com>
4813 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4814 analysis: modified compressInterCU_rd0_4() with CU-specific
4818 2014-09-09 Steve Borho <steve@borho.org>
4820 * source/encoder/search.cpp, source/encoder/search.h:
4821 search: fix camel case of residualQTIntraChroma
4824 * source/encoder/search.cpp:
4825 search: don't pass a zeroDistortion pointer if you don't want the
4829 * source/encoder/search.cpp, source/encoder/search.h:
4830 search: return distortion from xEstimateResidualQT
4833 * source/encoder/search.cpp, source/encoder/search.h:
4834 search: pass depthRange uniformly as uint32_t depthRange[2]
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
4841 * source/encoder/analysis.cpp, source/encoder/search.cpp,
4842 source/encoder/search.h:
4843 search: return distortion from xRecurIntraCodingQT
4846 * source/encoder/search.cpp, source/encoder/search.h:
4847 search: return distortion from xIntraCodingChromaBlk, do not pass by
4851 * source/encoder/search.cpp, source/encoder/search.h:
4852 search: return distortion from xRecurIntraChromaCodingQT, do not
4856 * source/encoder/search.cpp, source/encoder/search.h:
4857 search: return distortion from xIntraCodingLumaBlk, do not pass by
4861 2014-09-09 Praveen Tiwari <Praveen Tiwari>
4863 * source/common/x86/blockcopy8.asm:
4864 copy_cnt_8 AVX2 asm code, as per new interface
4867 * source/common/x86/blockcopy8.asm:
4868 copy_cnt_4: faster AVX2 code
4871 * source/common/x86/blockcopy8.asm:
4872 copy_cnt_4: combine mova and paddb to reduce code size, same speedup
4875 * source/common/x86/blockcopy8.asm:
4876 copy_cnt_4: enable fast non zero coefficient count path
4879 2014-09-09 Steve Borho <steve@borho.org>
4881 * source/encoder/frameencoder.cpp:
4882 frameencoder: use simple shifts to scale 2-pass CU type counters
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
4889 * source/encoder/frameencoder.cpp:
4890 frameencoder: use x265_emms() prior to double QP clipping for VBV
4893 2014-09-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
4895 * source/encoder/search.cpp:
4896 search: remove warning from MS compiler
4899 2014-09-08 Min Chen <chenm003@163.com>
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
4907 * source/common/x86/pixel-util8.asm:
4908 asm: improve quant by replace variant shift to fixed shift, 19k
4909 cycles -> 16.6k cycles
4912 * source/common/dct.cpp, source/test/mbdstharness.cpp:
4913 testbench(quant): the qBits value must be more than or equal to 8
4916 * source/test/mbdstharness.cpp:
4917 testbench(quant): the Round value must be less than (2 ^ qbits)
4920 2014-09-08 Steve Borho <steve@borho.org>
4922 * source/encoder/search.cpp:
4923 search: prune more unnecessary work from estIntraPredQT()
4926 * source/encoder/search.cpp:
4927 search: remove some redundant work from estIntraPredQT
4930 * source/encoder/search.cpp, source/encoder/search.h:
4931 search: remove m_qtTempTrIdx
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)
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
4945 * source/encoder/api.cpp:
4946 api: remove include of frameencoder
4949 * source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/analysis.h:
4953 2014-09-08 Ashok Kumar Mishra <ashok@multicorewareinc.com>
4955 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4956 analysis: modified compressInterCU_rd5_6() with CU-specific
4960 * source/encoder/analysis.cpp, source/encoder/analysis.h:
4961 Analysis: compressIntraCU clean up
4964 2014-09-08 Steve Borho <steve@borho.org>
4966 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
4967 source/encoder/sao.h:
4968 sao: move frame/slice initialization into SAO::startSlice
4971 * source/encoder/sao.cpp:
4972 sao: minor cleanups, no behavior change
4975 * source/encoder/frameencoder.cpp:
4976 frameencoder: avoid another call to resetEntropy(), they are
4980 * source/encoder/frameencoder.cpp:
4981 frameencoder: combine some conditional expressions
4984 * source/encoder/frameencoder.h, source/encoder/ratecontrol.cpp,
4985 source/encoder/ratecontrol.h:
4986 rc: move FrameStats to ratecontrol.h
4988 rate control shouldn't need to include frameencoder.h
4991 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
4992 source/encoder/ratecontrol.cpp:
4993 frameencoder: rename percent fields for clarity
4996 * source/encoder/frameencoder.cpp:
4997 frameencoder: do more CU stat math as integer
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
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.
5010 2014-09-05 Steve Borho <steve@borho.org>
5012 * source/encoder/frameencoder.cpp:
5013 frameencoder: remove second encodeCU() pass over CTUs when SAO is
5016 This is a performance optimization, it allows the encoder to
5017 generate the final bitstream of each CTU as it is compressed and
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.
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
5031 2014-09-08 Steve Borho <steve@borho.org>
5033 * source/encoder/frameencoder.cpp:
5034 frameencoder: remove redundant clear of frame stats
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.
5041 * source/encoder/entropy.h, source/encoder/frameencoder.cpp:
5045 * source/common/x86/x86inc.asm:
5046 Merge with correct x86inc.asm patch
5049 2014-09-05 Min Chen <chenm003@163.com>
5051 * source/common/x86/x86inc.asm:
5052 x86inc.asm: fix vpbroadcastd bug on Mac platform
5055 2014-09-08 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5057 * source/encoder/entropy.cpp, source/encoder/entropy.h,
5058 source/encoder/frameencoder.cpp:
5059 entropy: change top-level encode to encodeCTU
5062 2014-09-07 Satoshi Nakagawa <nakagawa424@oki.com>
5064 * source/encoder/sao.cpp:
5068 * source/common/dct.cpp, source/encoder/analysis.cpp:
5072 2014-09-05 Min Chen <chenm003@163.com>
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
5080 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
5081 asm: reduce number of movd in dequant_normal
5084 * source/common/x86/x86inc.asm:
5085 x86inc.asm: fix vpbroadcastd bug on Mac platform
5088 2014-09-05 Steve Borho <steve@borho.org>
5090 * source/encoder/frameencoder.cpp:
5091 frameencoder: remove unnecessary call to resetBits(), improve
5095 * source/encoder/frameencoder.h:
5096 frameencoder: cleanup CTURow::init
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
5104 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
5105 source/encoder/frameencoder.h:
5106 frameencoder: CTURow class -> struct, remove m_ prefixes
5108 Still no output changes in this patch series
5111 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
5112 source/encoder/framefilter.cpp:
5113 tld: remove m_ prefixes from struct members
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
5122 * source/encoder/frameencoder.cpp:
5123 frameencoder: remove unused variable, nit
5126 * source/encoder/cturow.cpp, source/encoder/cturow.h,
5127 source/encoder/frameencoder.cpp:
5128 cturow: inline processCU()
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
5136 * source/CMakeLists.txt:
5137 cmake: enable MACOSX_RPATH on Mac shared libraries
5139 http://www.cmake.org/cmake/help/v3.0/prop_tgt/MACOSX_RPATH.html
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
5146 2014-09-05 Praveen Tiwari <Praveen Tiwari>
5148 * source/common/x86/blockcopy8.asm:
5149 copy_cnt 4x4 AVX2 asm code, as per new interface
5152 2014-09-04 Min Chen <chenm003@163.com>
5154 * source/common/x86/x86util.asm:
5155 asm: reenable IACA support, it remove by 'inappropriate
5156 instruction...' patch
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
5164 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
5165 asm: optimize nquant by PSIGND, improve 11k cycles -> 9.8k cycles
5168 2014-09-05 Praveen Tiwari <Praveen Tiwari>
5170 * source/common/x86/pixel-util8.asm:
5171 count_nonzero asm code, reduceded code size by combining mova and
5175 * source/common/x86/blockcopy8.asm:
5179 * source/common/x86/blockcopy8.asm:
5180 copy_cnt 4x4, eliminated move instructions, +1x improvement
5183 2014-09-05 Satoshi Nakagawa <nakagawa424@oki.com>
5185 * source/Lib/TLibCommon/TComDataCU.cpp:
5186 fix getQuadtreeTULog2MinSizeInCU()
5189 2014-09-04 Min Chen <chenm003@163.com>
5191 * source/common/x86/asm-primitives.cpp:
5192 asm: enable SSE2 version of pixel_ssd_ss[]
5195 * source/common/x86/ssd-a.asm:
5196 asm: fix output mistake in pixel_ssd_ss_4xN
5199 2014-09-05 Satoshi Nakagawa <nakagawa424@oki.com>
5201 * source/Lib/TLibCommon/ContextTables.h:
5205 2014-09-04 Min Chen <chenm003@163.com>
5207 * source/common/x86/ssd-a.asm:
5208 asm: replace ssse3 instruction in pixel_ssd_ss_*_sse2
5211 2014-09-04 Steve Borho <steve@borho.org>
5213 * source/common/x86/pixel-a.asm:
5214 asm: fix SSSE3 in SSE2 build warning in unused primitive
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
5221 * source/common/quant.cpp:
5222 quant: fix check macro
5225 * source/common/quant.cpp:
5229 2014-09-02 Praveen Tiwari <Praveen Tiwari>
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:
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*
5243 * source/common/quant.cpp:
5244 optimize cvt32to16_shl by replacing copy_shl
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
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
5261 * source/common/x86/asm-primitives.cpp:
5262 temporarily disable avx2 version of copy_cnt primitive, need to
5263 update as per new interface
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
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*
5280 2014-09-01 Praveen Tiwari <Praveen Tiwari>
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
5287 2014-08-25 Praveen Tiwari <Praveen Tiwari>
5289 * source/common/quant.cpp, source/common/quant.h:
5290 signBitHidingHDQ optimization, downscaling coeff from int32_t* to
5294 * source/common/quant.cpp, source/common/quant.h:
5295 rdoQuant optimization, downscaling dstCoeff fron int32_t* to
5299 2014-09-02 Praveen Tiwari <Praveen Tiwari>
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*
5307 2014-08-25 Praveen Tiwari <Praveen Tiwari>
5309 * source/common/quant.cpp:
5310 quant.cpp, cleaned redundant code
5313 2014-09-02 Praveen Tiwari <Praveen Tiwari>
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
5322 * source/common/x86/pixel-util8.asm:
5323 dequant_normal asm code optimization as per new interface
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
5333 2014-08-25 Praveen Tiwari <Praveen Tiwari>
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*
5343 2014-09-04 Anton Mitrofanov <BugMaster@narod.ru>
5345 * source/common/x86/x86inc.asm:
5346 x86asm: warn when inappropriate instruction used in function with
5350 2014-09-02 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
5360 2014-09-03 Satoshi Nakagawa <nakagawa424@oki.com>
5362 * source/Lib/TLibCommon/TComPicYuv.cpp,
5363 source/Lib/TLibCommon/TComPicYuv.h:
5364 change index of m_buOffsetY[] from raster to zscan
5367 2014-09-03 David T Yuen <dtyx265@gmail.com>
5369 * source/Lib/TLibCommon/TComDataCU.cpp:
5370 Cleaned up TComDataCU::getQuadtreeTULog2MinSizeInCU for clarity and
5371 a bit of performance
5374 2014-09-01 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
5381 2014-09-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5386 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
5387 source/encoder/entropy.h:
5388 entropy: cleanup codeQtRootCbf
5391 * source/Lib/TLibCommon/TComDataCU.h, source/common/quant.cpp:
5392 quant: use table for ctxCbf
5395 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
5396 source/encoder/entropy.cpp, source/encoder/entropy.h:
5397 entropy: cleanup codePredMode
5400 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/analysis.cpp,
5401 source/encoder/entropy.cpp, source/encoder/entropy.h:
5402 entropy: cleanup codeCUTransQuantBypassFlag
5405 2014-09-01 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
5413 2014-09-04 Steve Borho <steve@borho.org>
5418 * source/common/version.cpp:
5419 version: detect OpenBSD for version string (closes #76)
5422 [821c2eef4d52] <stable>
5424 * source/CMakeLists.txt:
5425 cmake: fix BSD link, only link with librt if it exists (closes #75)
5426 [139d6b2a1b19] <stable>
5428 2014-09-03 Murugan Vairavel <murugan@multicorewareinc.com>
5430 * source/common/x86/asm-primitives.cpp:
5431 asm: enable 16bpp primitives of cvt32to16 and cvt16to32 for all
5435 2014-09-03 Min Chen <chenm003@163.com>
5437 * source/test/mbdstharness.cpp:
5438 testbench(nquant): the Round value must be less than (2 ^ qbits)
5441 2014-09-03 David T Yuen <dtyx265@gmail.com>
5443 * source/common/common.h, source/encoder/analysis.cpp:
5444 Resolve gcc warnings
5446 * more parenthesis for macro
5447 * changed signed to unsigned int
5450 2014-09-03 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5452 * source/encoder/analysis.cpp:
5453 fix: hash/binary mismatch for new CU structure holds CU-specific
5457 2014-08-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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,
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.
5468 2014-09-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5470 * source/encoder/ratecontrol.cpp:
5474 * source/encoder/ratecontrol.cpp:
5475 Backed out changeset: 35b2d9e774c8
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>
5481 2014-08-30 Steve Borho <steve@borho.org>
5483 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/pixel-
5484 util8.asm, source/encoder/encoder.cpp:
5488 2014-08-25 Steve Borho <steve@borho.org>
5490 * source/encoder/encoder.cpp:
5491 encoder: re-enable --cu-lossless
5492 [269ba0a6ce8c] <stable>
5494 2014-08-25 Min Chen <chenm003@163.com>
5496 * source/Lib/TLibEncoder/TEncSearch.cpp:
5497 search: fix decoder intra crash with --cu-lossless
5498 [572988a922a1] <stable>
5500 2014-08-26 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5502 * source/Lib/TLibEncoder/TEncSearch.cpp:
5503 cu-lossless: fix inter hash mistake
5505 The CU needs to be re-encoded if lossless is chosen as the best
5507 [5a9e01a195a0] <stable>
5509 2014-08-30 Satoshi Nakagawa <nakagawa424@oki.com>
5511 * source/common/dct.cpp, source/common/x86/pixel-util8.asm:
5512 asm: fix dequant_normal
5513 [3c309e5d9c8f] <stable>
5515 2014-08-29 Steve Borho <steve@borho.org>
5517 * source/encoder/sao.cpp:
5518 sao: fix signed loop bounds bug
5521 2014-08-25 Steve Borho <steve@borho.org>
5523 * source/encoder/encoder.cpp:
5524 encoder: re-enable --cu-lossless
5527 2014-08-26 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5529 * source/Lib/TLibEncoder/TEncSearch.cpp:
5530 cu-lossless: fix inter hash mistake
5532 The CU needs to be re-encoded if lossless is chosen as the best
5536 2014-08-27 Steve Borho <steve@borho.org>
5538 * source/test/mbdstharness.cpp:
5539 mbdst: cleanup dequant test
5542 * source/test/mbdstharness.h:
5543 mbdst: make buffers nice even size
5546 * source/test/ipfilterharness.cpp, source/test/testharness.h:
5547 test: fix MSVC warnings
5550 * source/test/mbdstharness.h:
5551 mbdst: align buffers to 32byte boundary
5554 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5555 mbdst: fix memset lengths, change MEM_CMP_SIZE to MAX_TU_SIZE
5558 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5559 mbdst: reshuffle varnames
5562 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5563 mbdst: remove redundant mintbuf buffers
5566 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5567 mbdst: remove unused mbuf4, rename other short output buffers
5570 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5571 mbdstharness: remove completely unused arrays
5574 * source/test/pixelharness.cpp, source/test/pixelharness.h:
5575 pixel: use fixed buffer allocations
5578 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
5579 ipfilter: use fixed buffer allocations
5582 * source/test/testbench.cpp:
5583 testbench: move test benches from stack allocations to global
5586 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
5587 intra: use fixed buffer allocations
5590 * source/encoder/ratecontrol.cpp:
5596 [ce614aebb395] <stable>
5598 * source/test/mbdstharness.cpp:
5599 mbdst: add missing test of dequant_scaling
5602 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
5603 mbdst: use fixed buffer allocations, cleanup some tests
5606 2014-08-27 Ashok Kumar Mishra <ashok@multicorewareinc.com>
5608 * source/Lib/TLibEncoder/TEncSearch.cpp:
5609 TEncSearch: remove redundant function call
5612 2014-08-27 Aarthi Thirumalai <Aarthi Thirumalai>
5614 * source/encoder/ratecontrol.cpp:
5615 rc: fix bug in predicting B frame bits in vbv
5616 [35b2d9e774c8] <stable>
5618 2014-08-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5620 * source/encoder/ratecontrol.cpp:
5624 2014-08-27 Aarthi Thirumalai <Aarthi Thirumalai>
5626 * source/encoder/ratecontrol.cpp:
5627 rc: fix bitrate accuracy for vbv in fast presets.
5628 [a6c318bd69ce] <stable>
5630 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
5631 rc: rename m_bframes to m_leadingBframes
5632 [c34b059dff1c] <stable>
5634 2014-08-26 Steve Borho <steve@borho.org>
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
5643 I find QP_MAX_SPEC to be a lot more self-explanatory than MAX_QP
5646 * source/Lib/TLibCommon/TypeDef.h:
5647 types: remove generic TEXT_CHROMA enum, no longer used
5650 * source/Lib/TLibCommon/TComPattern.cpp,
5651 source/Lib/TLibCommon/TComPattern.h:
5652 pattern: use isLuma instead of restricted TextType range
5655 2014-08-25 Steve Borho <steve@borho.org>
5657 * source/encoder/sao.cpp, source/encoder/sao.h:
5658 sao: don't pass member variables to functions
5661 2014-08-26 Steve Borho <steve@borho.org>
5663 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
5664 source/encoder/framefilter.h:
5665 framefilter: move SAO init logic into the frame filter
5668 2014-08-26 Min Chen <chenm003@163.com>
5670 * source/common/x86/x86inc.asm:
5671 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
5673 Ported from Henrik Gramner's recent commit to x264
5676 * source/common/x86/pixel-util8.asm:
5677 asm: Minor pixel_ssim_end4 improvements
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.
5683 Ported from Henrik Gramner's recent commit to x264
5686 2014-08-26 Satoshi Nakagawa <nakagawa424@oki.com>
5688 * source/encoder/frameencoder.cpp:
5689 fix m_initSliceContext (uninitialised m_sliceQp)
5692 2014-08-25 Min Chen <chenm003@163.com>
5694 * source/Lib/TLibEncoder/TEncSearch.cpp:
5695 search: fix decoder intra crash with --cu-lossless
5698 2014-08-25 Satoshi Nakagawa <nakagawa424@oki.com>
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]
5710 2014-08-25 Steve Borho <steve@borho.org>
5712 * source/common/quant.cpp:
5716 2014-08-25 Aarthi Thirumalai <Aarthi Thirumalai>
5719 rc: don't read slicetypes from qpfile in 2nd pass.
5721 slicetype has to be taken from the stats file from prev pass.
5722 [5fe473327183] <stable>
5724 * source/encoder/ratecontrol.cpp:
5725 rc: write I/i slice in stats file based on whether openGop is
5727 [f0de8275ed4d] <stable>
5729 2014-08-23 Satoshi Nakagawa <nakagawa424@oki.com>
5731 * source/common/quant.cpp:
5733 [ad31cbb8c754] <stable>
5735 2014-08-23 Steve Borho <steve@borho.org>
5737 * source/encoder/sao.cpp:
5741 2014-08-22 Steve Borho <steve@borho.org>
5743 * source/encoder/sao.h:
5744 sao: remove unused m_qp member
5747 * source/encoder/sao.cpp:
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]
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.
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
5767 * source/encoder/sao.cpp:
5768 sao: fix inf loop bounds
5771 * source/encoder/framefilter.cpp, source/encoder/sao.cpp:
5772 sao: fix MSVC warnings
5775 2014-08-21 Steve Borho <steve@borho.org>
5777 * source/encoder/sao.cpp:
5778 sao: minor logic simplifications and cleanups
5781 * source/encoder/sao.cpp, source/encoder/sao.h:
5782 sao: use typedefs to simplify multi-dimensional mallocs
5785 * source/encoder/sao.cpp:
5786 sao: sChroma should have been isChroma
5789 * source/encoder/sao.cpp:
5790 sao: handle malloc failures more cleanly
5793 * source/encoder/sao.cpp, source/encoder/sao.h:
5794 sao: rename shared table to m_tableBo
5797 * source/encoder/sao.cpp, source/encoder/sao.h:
5798 sao: share m_lumaTableBo with chroma
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
5806 * source/common/common.h:
5807 common: define a CHECKED_MALLOC_ZERO method to auto-reset allocated
5810 This is mostly useful when allocating buffers containing pointers,
5811 to ensure the pointers are safe to free regardless of later malloc
5815 * source/Lib/TLibCommon/TComPicYuv.h, source/encoder/sao.cpp,
5816 source/encoder/sao.h:
5817 sao: move getPicYuvAddr() to TComPicYuv and simplify
5820 * source/encoder/sao.h:
5821 sao: remove unused m_tmpYuv and an obsolete comment
5824 * source/encoder/sao.cpp, source/encoder/sao.h:
5825 sao: luma and chroma can share a clip table
5828 * source/encoder/sao.cpp:
5832 * source/encoder/sao.cpp, source/encoder/sao.h:
5833 sao: use more compile-time values
5836 * source/encoder/sao.cpp, source/encoder/sao.h:
5837 sao: we don't support different bit depths between luma and chroma
5840 * source/encoder/sao.cpp, source/encoder/sao.h:
5841 sao: remove vars which are dups of params
5844 * source/encoder/sao.cpp, source/encoder/sao.h:
5848 * source/encoder/encoder.cpp:
5852 * source/Lib/TLibEncoder/TEncSearch.cpp:
5856 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
5860 * source/encoder/sao.cpp, source/encoder/sao.h:
5861 sao: convertLevelRowCol2Idx did not need to be a member function
5864 * source/encoder/framefilter.cpp, source/encoder/sao.cpp,
5865 source/encoder/sao.h:
5866 sao: merge create/destroy methods
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
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
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
5895 Added tag 1.3 for changeset c1e4fc0162c1
5896 [2e7d1569845e] <stable>
5898 * source/encoder/encoder.cpp:
5899 encoder: disable --cu-lossless until coding errors can be fixed
5901 [c1e4fc0162c1] [1.3] <stable>
5903 2014-08-21 Satoshi Nakagawa <nakagawa424@oki.com>
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]
5914 2014-08-20 Steve Borho <steve@borho.org>
5916 * source/encoder/encoder.cpp:
5917 encoder: nit, remove obsolete comment
5920 * source/encoder/encoder.cpp:
5924 * source/encoder/encoder.cpp:
5925 encoder: do not allow scaling lists to be used with 4:4:4 color
5928 It causes hash mistakes
5929 [3badda1ceda6] <stable>
5931 * source/Lib/TLibEncoder/TEncSearch.cpp:
5935 * source/Lib/TLibEncoder/TEncSearch.cpp:
5939 * source/Lib/TLibEncoder/TEncSearch.cpp:
5940 search: do not skip intra tu 32x32 unless TU intra depth is deep
5943 This may not be the best workaround for the bug, and needs a proper
5945 [203c87c55bb3] <stable>
5947 2014-08-19 David T Yuen <dtyx265@gmail.com>
5949 * source/Lib/TLibEncoder/TEncSearch.cpp:
5950 Removed code that will never be executed.
5953 2014-08-19 Min Chen <chenm003@163.com>
5955 * source/encoder/frameencoder.cpp:
5956 fix single thread encode issue
5959 * source/encoder/entropy.cpp:
5960 cleanup: remove reduce condition check
5963 2014-08-19 Steve Borho <steve@borho.org>
5965 * source/encoder/frameencoder.cpp:
5969 * source/encoder/frameencoder.cpp:
5970 frameencoder: do not allocate noise reduction struct unless NR is
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>
5977 2014-08-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
5979 * source/Lib/TLibEncoder/TEncSearch.cpp:
5983 * source/Lib/TLibEncoder/TEncSearch.cpp:
5984 search: cleanup variable names and lossless comments
5987 * source/encoder/encoder.cpp:
5991 * source/encoder/encoder.cpp:
5992 psy-rdoq: eliminate dependency between psy-rd, psy-rdoq and rdoq.
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>
5999 2014-08-18 Steve Borho <steve@borho.org>
6001 * source/encoder/encoder.cpp:
6002 param: correctly detect adaptive quant usage when checking --psnr
6003 [dca792ce9786] <stable>
6005 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
6006 source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
6010 2014-08-18 Min Chen <chenm003@163.com>
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>
6018 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
6019 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
6020 cleanup: remove unused m_upBuff2
6021 [8320283a7fe0] <stable>
6023 2014-08-18 Steve Borho <steve@borho.org>
6025 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
6026 encoder: fix deadlocks/crashes when picture is a single CTU row
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>
6033 * source/common/param.cpp:
6037 * source/common/param.cpp:
6039 [b8356365135e] <stable>
6041 2014-08-17 Steve Borho <steve@borho.org>
6043 * source/common/quant.cpp:
6044 quant: combine psy-rdoq scale and lambda into one variable
6046 Reduces the number of 64bit multiplies required per psy-value
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
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
6059 * source/common/quant.cpp, source/encoder/entropy.cpp,
6060 source/encoder/entropy.h:
6061 entropy: simplify EstBitsSbac
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
6067 2014-08-18 Steve Borho <steve@borho.org>
6069 * source/common/param.cpp:
6073 * source/encoder/encoder.cpp, source/encoder/encoder.h:
6074 encoder: remove m_maxCuDQPDepth, simplify dqp logic
6077 2014-08-18 Satoshi Nakagawa <nakagawa424@oki.com>
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.
6097 maxCUDepth: CU depth maxFullDepth: CU+TU or CU+PU depth unitSize:
6101 2014-08-18 Steve Borho <steve@borho.org>
6104 cli: fix help syntax
6105 [6a1b41049f71] <stable>
6107 * source/common/param.cpp:
6108 param: add psy-rd and psy-rdoq to param2string (for info SEI and
6110 [0e4558e42ccc] <stable>
6113 cli: update psy-rdoq rangw in CLI help
6114 [cda8e5c21a9b] <stable>
6116 2014-08-16 Steve Borho <steve@borho.org>
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
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.
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
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
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
6144 2014-08-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6149 * source/encoder/analysis.cpp:
6150 analysis: missing braces caused a bug in CABAC context save for rd=2
6151 [5d5a4c09182d] <stable>
6153 2014-08-18 Tom Vaughan <tom.vaughan@multicorewareinc.com>
6155 * doc/reST/introduction.rst:
6156 introduction.rst edited online with Bitbucket
6159 * doc/reST/introduction.rst:
6160 introduction.rst edited online with Bitbucket - added link to MPEG-
6164 2014-08-16 Steve Borho <steve@borho.org>
6167 rest: fix typo, document default psy-rdoq value
6168 [87400d5c90aa] <stable>
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>
6194 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp,
6196 param: enable --fast-intra for all fast modes and turbo first-pass,
6200 * source/encoder/slicetype.cpp:
6201 slicetype: use fast intra scan unconditionally in lookahead
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
6208 2014-08-15 Steve Borho <steve@borho.org>
6211 rest: improve documentation for psycho-visual options
6214 2014-08-16 Steve Borho <steve@borho.org>
6216 * source/encoder/analysis.cpp:
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
6225 2014-08-15 Steve Borho <steve@borho.org>
6227 * source/common/param.cpp:
6228 param: re-enable psy-rdoq range check for [0..10], print with two
6232 * source/encoder/rdcost.h:
6233 rdcost: add arbitray scale to make --psy-rd 0..2 range give
6237 * source/common/quant.cpp, source/common/quant.h,
6238 source/encoder/frameencoder.cpp:
6239 quant: scale psy-rdoq by lambda
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-
6246 The goal is for psy-rdoq 1 to be a safe and sane default
6249 2014-08-14 Steve Borho <steve@borho.org>
6251 * source/encoder/analysis.cpp:
6252 analysis: avoid MSVC uninitialized variable warning
6255 * source/common/quant.cpp:
6256 quant: use optimized primitive for transquant bypass in
6260 * doc/reST/cli.rst, source/common/param.cpp:
6261 param: don't allow turbo mode to increase rd-level, improve docs
6264 * source/encoder/analysis.cpp:
6265 analysis: use macro and for-loop to simplify fast-intra
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
6272 2014-08-14 David T Yuen <dtyx265@gmail.com>
6274 * source/encoder/analysis.cpp:
6275 Added fast intra search option to Analysis::checkIntraInInter_rd0_4
6278 2014-08-14 Steve Borho <steve@borho.org>
6280 * source/encoder/analysis.cpp:
6284 * source/common/x86/asm-primitives.cpp:
6285 asm: fix HIGH_BIT_DEPTH build again
6288 * source/encoder/analysis.cpp:
6289 analysis: white-space nits, possibly exposing a logic bug
6292 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
6293 source/Lib/TLibCommon/TComYuv.cpp:
6294 remove predict.h includes from TLibCommon/
6297 * source/common/quant.cpp:
6298 quant: + has higher precedence than ?; use parens to fix
6302 2014-08-14 Satoshi Nakagawa <nakagawa424@oki.com>
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)
6311 2014-08-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6313 * source/encoder/slicetype.cpp:
6314 slicetype: initialise lowmode to 4.
6317 2014-08-13 Steve Borho <steve@borho.org>
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
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.
6328 * source/common/quant.cpp:
6332 * source/common/quant.cpp:
6333 quant: update comment for UNQUANT macro
6336 * source/common/quant.cpp:
6337 quant: simplify UNQUANT() variables
6340 2014-08-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
6342 * source/common/quant.cpp, source/common/scalinglist.cpp:
6343 quant: remove extra upshift by 4 in s_invQuantScales
6345 Adding 4 to unQuantPer was a bug, since unQuantScale was already
6349 2014-08-13 Min Chen <chenm003@163.com>
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
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
6365 2014-08-13 Steve Borho <steve@borho.org>
6367 * source/common/scalinglist.cpp, source/common/scalinglist.h:
6368 scaling: remove array of rarely used trivially calculated values
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
6376 * source/encoder/predict.cpp, source/encoder/predict.h:
6380 * source/encoder/predict.cpp:
6381 predict: prevent MSVC warning about int to bool conversion
6384 2014-08-13 Aarthi Thirumalai <Aarthi Thirumalai>
6386 * source/Lib/TLibEncoder/TEncSearch.cpp,
6387 source/Lib/TLibEncoder/TEncSearch.h,
6388 source/encoder/frameencoder.cpp:
6389 refactor: cleanup setting up of lambda
6391 move initialising qp and lambda manipulations in one place. remove
6392 TEncSearch::setQP - misleading function name.
6395 * doc/reST/cli.rst, source/x265.cpp:
6399 * source/encoder/frameencoder.cpp:
6400 rc: bug fix - m_avgQpAq can be from 0-69.
6402 It is already set within RateControl
6405 2014-08-13 Steve Borho <steve@borho.org>
6408 cli: free param structures on early-outs
6411 * source/common/x86/asm-primitives.cpp:
6412 asm: fix HIGH_BIT_DEPTH link problems
6415 * source/encoder/slicetype.cpp:
6416 slicetype: adjust variable scoping to avoid GCC warnings
6419 * source/encoder/slicetype.cpp:
6423 * source/CMakeLists.txt:
6424 cmake: bump build number
6427 2014-08-12 David T Yuen <dtyx265@gmail.com>
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
6433 This version calls intra_pred_allangs to create the predictions then
6434 the faster search with satd
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
6442 and replace Predict::filteringIntraReferenceSamples
6445 2014-08-12 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
6447 * source/encoder/analysis.cpp:
6448 analysis: check for proper cost
6450 Throws error when psyrd is enabled since cost is stored in
6451 m_totalPsyCost and m_totalRDCost has MAX_INT64
6454 2014-08-12 Steve Borho <steve@borho.org>
6456 * source/common/quant.h:
6457 quant: initialize qp to impossible value so first set always works
6459 A bug spotted by valgrind
6462 2014-08-12 Satoshi Nakagawa <nakagawa424@oki.com>
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
6470 2014-08-11 Min Chen <chenm003@163.com>
6472 * source/common/x86/asm-primitives.cpp,
6473 source/common/x86/blockcopy8.asm, source/common/x86/blockcopy8.h:
6474 asm: AVX2 version cvt32to16_shl
6477 2014-08-10 Satoshi Nakagawa <nakagawa424@oki.com>
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()
6485 2014-08-10 Aarthi Thirumalai <Aarthi Thirumalai>
6487 * source/encoder/ratecontrol.cpp:
6488 rc: nits; add LF in frame stats of 2 pass
6491 2014-08-10 Steve Borho <steve@borho.org>
6493 * source/encoder/level.cpp:
6494 level: signal profile/level NONE if non-compliant configuration is
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.
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
6507 2014-08-09 Steve Borho <steve@borho.org>
6509 * source/common/quant.cpp:
6510 quant: improve flow and comments for last non-zero refinement
6513 * source/common/quant.cpp:
6514 quant: comment improvements
6517 * source/common/quant.cpp, source/common/quant.h:
6518 quant: remove floating point operations from RDOQ [CHANGES OUTPUTS]
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.
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.
6532 * source/common/quant.cpp, source/common/quant.h:
6533 quant: cleanup chroma QP function
6535 With a unique function name, protected access, and only called from
6536 one location, the ttype check could be removed.
6539 * source/common/quant.h:
6540 quant: header cleanups, no functional change
6543 * source/common/quant.cpp:
6544 quant: use standard rd cost formula for sign-hiding [CHANGES
6547 The previous RD formula was simply inexplicable, though it did work
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];
6557 New approach: int d = abs(signCoef) - UNQUANT(absLevel + 1); costUp
6558 = (((uint64_t)(d * d)) << scaleBits) + lambda2 * rateIncUp[blkPos];
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
6565 * source/common/quant.cpp:
6566 quant: do not check CG bitmap for implied-present coeff groups
6569 * source/common/quant.cpp:
6570 quant: reduce conditional expression depths (mostly for readability)
6573 2014-08-08 Steve Borho <steve@borho.org>
6575 * source/common/quant.cpp:
6576 quant: avoid an extra shift by adjusting the unquant coeff shift
6579 * source/common/quant.cpp:
6580 quant: improve variable names and comments (no behavior change)
6583 * source/encoder/entropy.cpp:
6584 entropy: simplify sign hide flag
6587 2014-08-07 Min Chen <chenm003@163.com>
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
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
6603 2014-08-08 Satoshi Nakagawa <nakagawa424@oki.com>
6605 * source/common/quant.cpp:
6606 denoise: fix numCoeff (bug from 42b1d7c17510)
6609 2014-08-07 Steve Borho <steve@borho.org>
6611 * source/common/x86/asm-primitives.cpp, source/test/testbench.cpp:
6612 main10: create a hybrid all-angs primitve for 16bpp compiles
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.
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
6624 before: encoded 1253 frames in 104.37s (12.01 fps), 366.08 kb/s,
6625 SSIM Mean Y: 0.9889624 (19.571 dB)
6627 after: encoded 1253 frames in 95.62s (13.10 fps), 366.08 kb/s, SSIM
6628 Mean Y: 0.9889624 (19.571 dB)
6631 * source/encoder/entropy.cpp:
6632 entropy: remove implicit memset from constructor
6634 Before we do further refactors, we want Entropy instances allocated
6635 on the stack to not perform any needless initialization work
6638 * source/encoder/entropy.cpp, source/encoder/entropy.h:
6639 entropy: pad size of context array to 32 * 5 bytes
6642 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp,
6643 source/encoder/entropy.h:
6644 entropy: remove ContextModel structure, use uint8_t directly
6647 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp:
6648 entropy: remove bBinsCoded from ContextModel (no more users)
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
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
6664 With this feature removed, the context model can be reduced to a
6665 single uint8_t state variable.
6668 * source/encoder/frameencoder.cpp:
6672 * source/encoder/frameencoder.cpp:
6673 frameencoder: avoid redundant calls to resetEntropy()
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
6680 * source/common/quant.cpp:
6681 quant: avoid runtime check of transform shift size
6684 2014-08-07 Ashok Kumar Mishra <ashok@multicorewareinc.com>
6686 * source/encoder/analysis.cpp:
6690 2014-08-07 Aarthi Thirumalai <Aarthi Thirumalai>
6692 * source/common/param.cpp:
6693 rc: set rdlevel to 2 in fast first pass for multipass encode.
6695 increases speed of the first pass by over 70% in the slower presets
6696 with almost the same quality in the final pass.
6699 2014-08-07 Satoshi Nakagawa <nakagawa424@oki.com>
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
6711 sub_ps and add_ps are used by CU or TU level, not PU level.
6714 2014-08-07 Steve Borho <steve@borho.org>
6716 * source/Lib/TLibCommon/ContextTables.h, source/encoder/entropy.cpp:
6717 entropy: remove m_ prefix from ContextModel.state, other nits
6720 2014-08-06 Steve Borho <steve@borho.org>
6722 * source/common/param.cpp:
6723 param: log noise reduction use/strength
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
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.
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.
6742 * source/common/common.h, source/common/quant.cpp,
6743 source/encoder/frameencoder.cpp:
6744 denoise: further cleanups
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.
6752 2014-08-06 Praveen Tiwari <Praveen Tiwari>
6754 * source/common/common.h, source/encoder/frameencoder.cpp:
6755 noise reduction, cleaned unused buffer space
6758 * source/common/quant.cpp, source/encoder/frameencoder.cpp:
6759 noise reduction, use all eight categories of transform for inter
6763 2014-08-06 Aarthi Thirumalai <Aarthi Thirumalai>
6765 * source/encoder/ratecontrol.cpp:
6769 2014-08-05 Min Chen <chenm003@163.com>
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
6776 2014-08-05 Satoshi Nakagawa <nakagawa424@oki.com>
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:
6790 2014-08-05 Santhoshini Sekar <santhoshini@multicorewareinc.com>
6792 * source/Lib/TLibCommon/TComPattern.cpp,
6793 source/Lib/TLibCommon/TComPattern.h:
6794 TComPattern: remove redundant functions used for CIP
6797 2014-08-05 Steve Borho <steve@borho.org>
6799 * source/Lib/TLibEncoder/TEncSearch.cpp:
6800 me: clip motion search area to signaled motion vector length limits
6803 2014-08-04 Steve Borho <steve@borho.org>
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
6813 2014-08-04 Min Chen <chenm003@163.com>
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
6820 2014-08-04 Steve Borho <steve@borho.org>
6822 * source/common/quant.cpp, source/common/scalinglist.cpp,
6823 source/common/scalinglist.h:
6824 quant: change how RDOQ measures distortion [CHANGES OUTPUTS]
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
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
6843 It was forced to use floating point math for the errScale and
6844 distortion calculations, and thus did not bother with fixed point
6847 This commit changes the distortion measurement to be the difference
6848 between the original (pre-quantization) DCT coefficient and the
6851 unquantAbsLevel = (level * quantCoeff[i] + pad) >> shift;
6852 distortion = unquantAbsLevel - abs(signCoef); distScale = 1 << (15 -
6853 2 * transformShift); cost = distortion * distortion << distScale +
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
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
6866 * source/common/quant.cpp:
6867 psy-rdoq: fix unquant shift factors
6869 dequant coefficients are made with s_invQuantScales[rem] << 4, so to
6870 perform an unquant we must remove those four bits from dequantCoeff
6873 * source/common/quant.cpp:
6874 quant: remove TODO comment
6876 Yes, there is a reason to check maxAbsLevel < 3 here, diffLevel
6877 below can only be 0, 1, or 2.
6880 2014-08-01 Aarthi Thirumalai <Aarthi Thirumalai>
6882 * doc/reST/cli.rst, source/CMakeLists.txt, source/common/param.cpp,
6883 source/common/param.h, source/encoder/api.cpp, source/x265.cpp,
6885 rc: add slow first pass as option. set turbo first pass as default
6889 2014-08-04 Santhoshini Sekar <santhoshini@multicorewareinc.com>
6891 * source/encoder/encoder.cpp:
6892 bugfix: disable aq only when both aq-strength and cu-tree is off
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.
6898 2014-08-04 Steve Borho <steve@borho.org>
6900 * source/common/quant.cpp:
6901 psy-rdoq: include psy-cost in uncoded coefficient distortion
6903 Without this adjustment, uncoded coefficients were possibly being
6904 penalized over coded ones with less psy value.
6907 2014-08-03 Steve Borho <steve@borho.org>
6909 * source/test/pixelharness.cpp:
6910 pixelharness: fix MSVC warning about intptr_t conversion to int
6913 * source/common/quant.cpp:
6917 * source/encoder/entropy.cpp:
6918 entropy: cleanup calcCost, add EMMS for float safety
6921 * source/common/quant.cpp:
6922 quant: assign a signal cost of zero to zero coeff after lastNZ
6924 This stack variable was uninitialized otherwised, and could have
6925 been used during the optimization of lastNZ
6928 * source/common/quant.cpp:
6929 quant: rdStats -> cgRdStats
6932 * source/common/quant.cpp:
6933 quant: cleanup coeff group zero-check code
6936 * source/common/quant.cpp:
6937 quant: sign hide nits
6940 * source/common/quant.cpp:
6944 * source/common/quant.cpp, source/common/quant.h:
6945 quant: don't pass member variable to class method
6948 * source/common/quant.cpp, source/common/quant.h:
6949 quant: inline the quant method, only called from transformNxN
6952 * source/common/quant.cpp, source/common/quant.h:
6953 quant: disallow psy-rdoq if transformSkip was used
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
6959 * source/common/quant.cpp:
6963 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/quant.cpp,
6964 source/common/quant.h:
6965 quant: remove curUseRDOQ argument from transformNxN, always true
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
6972 residualTransformQuantInter and xEstimateResidualQT were always
6973 called with curUseRDOQ = true, and the flag was never changed
6976 * source/Lib/TLibEncoder/TEncSearch.cpp:
6977 search: hard-code curUseRDOQ
6980 * source/Lib/TLibEncoder/TEncSearch.cpp,
6981 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
6982 search: remove curUseRDOQ argument from encodeResAndCalcRdInterCU,
6986 * source/common/quant.cpp, source/common/quant.h:
6987 quant: hoist IEP_RATE out of getICRateCost
6990 2014-08-01 Min Chen <chenm003@163.com>
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
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
7005 * source/common/x86/x86inc.asm:
7006 update header and support Intel IACA marker
7009 2014-08-02 Steve Borho <steve@borho.org>
7011 * source/common/quant.cpp:
7012 quant: change lastCG into a bool, use isOne flag to avoid abs()
7016 * source/common/quant.cpp:
7017 quant: consistent comment style, improve comments
7020 * source/common/quant.cpp:
7021 quant: levelDouble -> levelScaled
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
7028 * source/common/quant.cpp:
7029 quant: rename sigCost to codedSigBits, comment nit
7032 * source/common/quant.cpp:
7033 quant: RDO_CODED_LEVEL macro can now be inlined for easier debugging
7036 * source/common/quant.cpp:
7037 quant: re-order rdoq logic so only one RDO_CODED_LEVEL() call is
7041 2014-08-01 Steve Borho <steve@borho.org>
7043 * source/common/quant.cpp:
7044 quant: more readability nits - no output changes
7047 * source/common/quant.cpp:
7048 quant: improve comments for trailing zero coeff
7051 * source/common/quant.cpp:
7052 quant: remove redundant level intialization
7055 * source/common/quant.cpp:
7056 quant: blockUncodedCost -> totalUncodedCost, improve comments
7059 * source/common/quant.cpp:
7060 quant: correct rounding factor for unquant
7063 * source/common/quant.cpp:
7064 quant: clarify last-nz optimization loop
7067 * source/common/quant.cpp:
7068 quant: rename costCoeff0 to costUncoded, add docs
7071 * source/common/quant.cpp:
7072 quant: support scaling lists in psy-rdoq
7075 * source/common/quant.h:
7076 quant: make IEP_RATE an anonymous enum, it doesn't need storage
7079 * source/common/quant.cpp, source/common/quant.h:
7080 quant: m_lambda2 no longer needs to be a member variable
7082 it is only used in rdoQuant() and can be declared on the stack
7085 * source/common/quant.cpp, source/common/quant.h:
7086 quant: convert getCodedLevel() into a macro, remove m_transformShift
7090 * source/common/quant.cpp:
7091 quant: simplify minAbsLevel
7094 * source/common/quant.cpp:
7095 quant: hoist some calculations out of the loop
7098 * source/common/quant.cpp:
7099 quant: delay err3, err4 calculation until/if necessary
7102 * source/common/quant.cpp:
7103 quant: apply scale factor in just one place
7106 * source/encoder/dpb.cpp:
7107 dpb: cleanup decodingRefreshMarking()
7110 * source/common/slice.h, source/encoder/dpb.cpp:
7111 dpb: remove checks for slice types we do not emit
7114 * source/encoder/dpb.cpp:
7118 * source/encoder/dpb.cpp:
7119 dpb: getNalUnitType() cannot return NAL_UNIT_CODED_SLICE_IDR_N_LP
7122 * source/encoder/dpb.cpp:
7123 dpb: remove redundant call to getNalUnitType(), output will not
7127 2014-08-01 Aarthi Thirumalai <Aarthi Thirumalai>
7129 * source/encoder/ratecontrol.cpp:
7130 rc: enable abr reset in the first pass of two pass encode.
7132 observe this improves second pass results in ultrafast presets for
7136 2014-08-01 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
7144 2014-08-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7146 * source/encoder/predict.h:
7147 predict: whitespace nits
7150 2014-07-31 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
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.
7162 2014-07-31 Deepthi Nandakumar <deepthi@multicorewareinc.com>
7164 * source/encoder/predict.h:
7165 predict: nits, cleanup, add TODO comments
7168 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/predict.cpp,
7169 source/encoder/predict.h:
7170 predict: save clipped MVs
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
7178 2014-07-31 Steve Borho <steve@borho.org>
7180 * source/encoder/dpb.cpp:
7181 dpb: fix picture re-use bug introduced in bc53f6dcda7f
7184 2014-07-30 Steve Borho <steve@borho.org>
7186 * source/encoder/entropy.cpp, source/encoder/entropy.h:
7187 entropy: remove unused flush function
7190 * source/encoder/entropy.cpp:
7191 entropy: remove redundant !isIntra() check
7194 * source/common/quant.cpp:
7198 * source/common/quant.cpp, source/common/quant.h:
7199 quant: use x264 style lambda naming scheme
7202 2014-07-31 Steve Borho <steve@borho.org>
7204 * source/encoder/dpb.cpp, source/encoder/dpb.h:
7205 dpb: cleanup prepareEncode()
7208 2014-07-30 Steve Borho <steve@borho.org>
7210 * source/encoder/rdcost.h:
7211 rdcost: settle on x264 style lambda naming scheme
7214 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
7215 rdcost: change input type of setC*DistortionWeight to uint16_t
7217 the inputs were shorts, converted to doubles, passed to the
7218 function, then floor() and casted to uint64_t
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
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
7232 2014-07-31 Steve Borho <steve@borho.org>
7234 * source/common/common.h:
7235 common: remove unused SCALING_LIST_PARAMETER enum
7238 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
7242 2014-07-30 Steve Borho <steve@borho.org>
7244 * source/encoder/entropy.cpp:
7248 * source/encoder/entropy.cpp:
7249 entropy: use bIsLuma in codeCoeffNxN()
7252 * source/common/slice.h, source/encoder/entropy.cpp:
7253 slice: allow loop filter boundary flag to be analyzed
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
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
7274 * source/common/scalinglist.h, source/encoder/entropy.cpp:
7275 scaling: use anonymous enums for class constants
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.
7284 2014-07-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
7300 2014-07-30 Steve Borho <steve@borho.org>
7302 * source/common/param.cpp:
7303 param: disable range checks for psy-rdoq while we tune it
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
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.
7319 2014-07-25 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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)
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
7335 2014-07-30 Steve Borho <steve@borho.org>
7337 * source/Lib/TLibCommon/TComTrQuant.cpp:
7338 quant: minor cleanups
7341 * source/Lib/TLibCommon/TComTrQuant.cpp:
7342 quant: rename absLevel to level, remove diffLevel
7345 * source/Lib/TLibCommon/TComTrQuant.cpp:
7346 quant: readability nit
7349 * source/Lib/TLibCommon/TComTrQuant.cpp,
7350 source/Lib/TLibCommon/TComTrQuant.h:
7351 quant: pass curCostSig to getCodedLevel as an integer
7354 * source/Lib/TLibCommon/TComTrQuant.cpp,
7355 source/Lib/TLibCommon/TComTrQuant.h:
7356 quant: return signal cost from getRateLast(), do not include lambda
7359 * source/Lib/TLibCommon/TComTrQuant.cpp:
7360 quant: don't bother with extra temp variables
7363 2014-07-29 Min Chen <chenm003@163.com>
7365 * source/Lib/TLibEncoder/TEncSearch.cpp:
7366 TEncSearch: fix output non-determination bug
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
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.
7381 2014-07-29 Steve Borho <steve@borho.org>
7383 * source/Lib/TLibCommon/TComTrQuant.cpp,
7384 source/Lib/TLibCommon/TComTrQuant.h:
7385 quant: getICRate() and getICRateCost() do not need to be class
7389 * source/Lib/TLibCommon/TComTrQuant.cpp,
7390 source/Lib/TLibCommon/TComTrQuant.h:
7391 quant: hoist lambda multiplication out of getICRateCost()
7394 * source/Lib/TLibCommon/TComTrQuant.cpp,
7395 source/Lib/TLibCommon/TComTrQuant.h:
7396 quant: inline getRateSigCoef(), getRateSigCoeffGroup() and
7400 * source/Lib/TLibCommon/TComTrQuant.cpp,
7401 source/Lib/TLibCommon/TComTrQuant.h:
7402 quant: improve documentation and code clarity, no logic change
7405 * source/common/scalinglist.cpp:
7406 scaling: factor prec into scalingBits
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
7415 * source/common/scalinglist.cpp:
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
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
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
7438 TypeDef.h only defines enums, CommonDef.h only defines constants
7439 (grouped together logically). Remove doxygenness
7442 * source/common/scalinglist.cpp:
7443 scaling: further simplify scaling list calculation
7445 It does more operations with ints, but mainly I just find this more
7449 * source/Lib/TLibCommon/CommonDef.h:
7450 defs: remove FULL_NBIT, no change to logic
7453 * source/common/scalinglist.cpp:
7454 scaling: replace pow(2.0, -2.0 * transformShift) with shift
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
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
7473 2014-07-29 Aarthi Thirumalai <Aarthi Thirumalai>
7475 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp:
7476 rc: fix crash in 2 pass for faster preset (ultrafast - faster)
7479 2014-07-29 Steve Borho <steve@borho.org>
7481 * source/encoder/encoder.cpp, source/encoder/sei.h:
7482 hrd: add a comment about when an APS is required, update SEI
7485 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp:
7486 sei: fix byte alignment following HRD SEI
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
7495 2014-07-28 Steve Borho <steve@borho.org>
7497 * source/Lib/TLibCommon/TComTrQuant.cpp:
7498 quant: delay getTUEntropyCodingParameters() until known necessary
7501 2014-07-29 Albert Wang <Albert Wang>
7503 * source/encoder/frameencoder.cpp:
7504 frameencoder: fix for crash in frameencoder when AccessUnitDelimiter
7507 The m_entropyCoder need to set the bitstream first before calling
7508 codeAUD, otherwise a crash will happen.
7511 2014-07-29 Steve Borho <steve@borho.org>
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
7519 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
7520 source/encoder/slicetype.cpp, source/encoder/weightPrediction.cpp:
7524 2014-07-28 Steve Borho <steve@borho.org>
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
7533 * source/encoder/dpb.cpp:
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
7543 This flag was being used for two purposes and introducing race
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)
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
7553 The m_isReferenced member variable on the frame encoder was removed
7554 and it just checks the slice type directly.
7557 * source/encoder/frameencoder.cpp:
7561 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
7562 source/encoder/ratecontrol.h:
7563 frameencoder: re-order compressFrame() to avoid dependency problem
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()
7575 2014-07-28 Satoshi Nakagawa <nakagawa424@oki.com>
7577 * source/Lib/TLibEncoder/TEncSearch.cpp,
7578 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
7579 search: separate bSkipRes == true path
7582 2014-07-28 Aarthi Thirumalai <Aarthi Thirumalai>
7584 * source/encoder/slicetype.cpp:
7585 slicetype: compute frame satd cost for zero latency
7588 2014-07-28 Steve Borho <steve@borho.org>
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
7594 Only one value of the matrix was ever used at a time, so we can
7595 return thtat index directly from checkPredMode
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
7603 This fixes a gcc warning and mostly makes the code more readable and
7604 avoids some (int) casts
7607 * source/common/CMakeLists.txt:
7608 cmake: ignore msvc warnings about forcing value to bool 'true' or
7612 2014-07-27 Steve Borho <steve@borho.org>
7614 * source/Lib/TLibCommon/TComTrQuant.cpp:
7615 quant: fix for tskip
7618 * source/Lib/TLibCommon/TComTrQuant.cpp:
7622 * source/Lib/TLibCommon/TComTrQuant.cpp,
7623 source/Lib/TLibCommon/TComTrQuant.h:
7624 quant: inline transformSkip
7627 * source/Lib/TLibCommon/TComTrQuant.cpp,
7628 source/Lib/TLibCommon/TComTrQuant.h:
7629 quant: inline invTransformSkip
7632 * source/Lib/TLibCommon/TComTrQuant.cpp:
7633 quant: simplify dequant, remove redundant invQuantScales array
7636 * source/encoder/level.cpp:
7637 level: signal level None if lossless coding - we have no bitrate
7641 * source/common/scalinglist.cpp, source/common/scalinglist.h,
7642 source/encoder/entropy.cpp:
7643 scaling: remove duplicate square-block size enums
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
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
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.
7664 As part of this refactor, ScalingList now has checked mallocs.
7667 * source/Lib/TLibCommon/TComTrQuant.cpp,
7668 source/Lib/TLibCommon/TComTrQuant.h:
7669 quant: remove x prefixes from remaining methods; no logic change
7672 * source/Lib/TLibCommon/TComTrQuant.cpp,
7673 source/Lib/TLibCommon/TComTrQuant.h:
7674 quant: replace xGetIEPRate() with a constant
7677 * source/Lib/TLibCommon/TComTrQuant.cpp,
7678 source/Lib/TLibCommon/TComTrQuant.h:
7679 quant: remove x prefixes from scaling list methods
7682 * source/Lib/TLibCommon/TComTrQuant.cpp,
7683 source/Lib/TLibCommon/TComTrQuant.h:
7684 quant: use rem consistently for variables holding qp % 6
7687 * source/Lib/TLibCommon/TComTrQuant.h,
7688 source/Lib/TLibEncoder/TEncSearch.cpp:
7689 quant: remove default curUseRDOQ argument value
7692 * source/Lib/TLibCommon/TComTrQuant.h:
7693 quant: remove default useTransformSkip argument value
7696 * source/Lib/TLibCommon/TComTrQuant.cpp:
7697 quant: more coding style cleanup, update argument list in
7698 xGetCodedLevel comment
7701 * source/Lib/TLibCommon/TComTrQuant.cpp,
7702 source/Lib/TLibCommon/TComTrQuant.h:
7703 quant: QpParam class to struct
7706 * source/Lib/TLibCommon/TComTrQuant.h:
7707 quant: re-order header and improve comments
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
7716 * source/Lib/TLibCommon/TComTrQuant.cpp,
7717 source/Lib/TLibCommon/TComTrQuant.h:
7718 quant: remove access methods for the class's own members
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
7728 psy-rdoq is not yet functional - option is ignored move scaling list
7729 related globals to scalinglist.cpp from TComRom
7732 2014-07-26 Steve Borho <steve@borho.org>
7734 * source/Lib/TLibCommon/TComTrQuant.cpp,
7735 source/Lib/TLibCommon/TComTrQuant.h:
7736 quant: don't pass m_resiDctCoeff to member methods
7739 2014-07-25 Steve Borho <steve@borho.org>
7741 * source/common/param.cpp, source/encoder/encoder.cpp:
7742 param: move all consistency param tweaks into Encoder::configure()
7744 x265_check_params() shouldn't be modifying the param structure; it's
7745 role is to spot invalid configurations and prevent crashes in
7749 2014-07-26 Steve Borho <steve@borho.org>
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
7758 * source/Lib/TLibCommon/TComTrQuant.cpp,
7759 source/Lib/TLibCommon/TComTrQuant.h:
7763 2014-07-25 Steve Borho <steve@borho.org>
7765 * source/Lib/TLibCommon/TComTrQuant.cpp,
7766 source/Lib/TLibCommon/TComTrQuant.h:
7770 * source/Lib/TLibCommon/TComTrQuant.cpp:
7771 quant: cleanup signBitHidingHDQ()
7774 * source/Lib/TLibCommon/TComTrQuant.cpp,
7775 source/Lib/TLibCommon/TComTrQuant.h:
7776 quant: simplify setQPforQuant
7779 * source/Lib/TLibCommon/TComTrQuant.cpp:
7780 quant: remove dead comment
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
7789 * source/Lib/TLibEncoder/TEncSearch.h,
7790 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
7791 white-space and brace nits
7794 * source/Lib/TLibEncoder/TEncSearch.cpp:
7795 search: simplify verbage, fix white-space, no logic change
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()
7803 TEncSearch owns all the objects being initialized
7806 * source/encoder/framefilter.cpp:
7807 framefilter: initialize saoRowDelay just once
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
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
7823 * source/common/slice.h, source/encoder/frameencoder.cpp:
7824 slice: remove redundant initSlice(), m_numRefIdx[] is set by DPB
7828 * source/common/slice.h, source/encoder/dpb.cpp:
7829 slice: move coloc/tmvp flag setting all to one place
7833 api: improve documentation of x265_encoder_encode
7836 2014-07-26 Steve Borho <steve@borho.org>
7838 * source/encoder/analysis.cpp:
7839 analysis: cleanup early-skip
7842 * source/Lib/TLibCommon/TComDataCU.cpp:
7846 * source/encoder/entropy.cpp:
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
7857 2014-07-25 Steve Borho <steve@borho.org>
7860 rest: better document configuration options of --vbv-init
7863 2014-07-25 Aarthi Thirumalai <Aarthi Thirumalai>
7865 * source/encoder/ratecontrol.cpp:
7866 rc: fix crashes in vbv with 2 pass
7869 2014-07-25 Steve Borho <steve@borho.org>
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
7877 * source/encoder/encoder.cpp, source/encoder/encoder.h:
7878 encoder: fix uninitialized variable use reported by valgrind
7880 m_conformanceWindow was not initialized at all; and this was causing
7881 uninitialized values to be written to the SPS if padding was
7884 Remove unnecessary m_defaultDisplayWindow in the process
7887 * source/encoder/encoder.cpp, source/encoder/entropy.cpp:
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
7897 2014-07-24 Steve Borho <steve@borho.org>
7900 cli: call x265_param_apply_profile() after applying file-reader
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:
7907 x265 foo_422.y4m o.bin --profile main
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:
7914 x265 [error]: Unsupported color space (2) on input aborted at input
7915 frame 1, output frame 0
7922 2014-07-24 Satoshi Nakagawa <nakagawa424@oki.com>
7924 * source/Lib/TLibEncoder/TEncSearch.cpp,
7925 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/analysis.cpp:
7926 qtLayer in reverse order
7929 2014-07-22 Satoshi Nakagawa <nakagawa424@oki.com>
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
7938 - reorder LumaPartitions to simplify partitionFromLog2Size()
7942 2014-07-24 Steve Borho <steve@borho.org>
7944 * source/common/param.cpp:
7945 param: log multi-pass state
7948 * source/encoder/ratecontrol.cpp:
7952 * source/encoder/ratecontrol.cpp:
7953 rc: instrument all error conditions in initPass2()
7955 it's not helpful to abort the encode with no hint as to why
7958 * source/encoder/bitcost.cpp:
7963 rest: better document that -I N -i N does not disable scenecut
7970 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
7971 bitcost: increase size of cost arrays, for pessimal situations
7973 MVD is MV minus MVP. MV could be BC_MAX_MV and MVP could be
7975 [a12920e08700] <stable>
7977 * source/encoder/bitcost.h:
7978 bitcost: fix bitcost() function, broken 13 months ago by
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.
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
7989 [49ea5391828c] <stable>
7992 cli: reorder argument help for clarity, add more sections
7995 2014-07-24 Aarthi Thirumalai <Aarthi Thirumalai>
7997 * source/common/param.cpp, source/x265.cpp:
7998 rc: add cli options for multi-pass rate control
8001 2014-07-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
8010 1. Rename TComLoopFilter to Deblock 2. Remove hungarian notation
8011 function names and variables 3. Remove unused or empty functions
8014 2014-07-23 Steve Borho <steve@borho.org>
8016 * source/encoder/entropy.cpp:
8017 entropy: reorder methods in general encode order for clarity, no
8021 * source/common/slice.h, source/encoder/encoder.cpp,
8022 source/encoder/entropy.cpp:
8023 entropy: remove ambiguity about timing info signaling
8026 * source/encoder/entropy.cpp:
8030 * source/encoder/encoder.cpp, source/encoder/entropy.cpp,
8031 source/encoder/entropy.h:
8032 entropy: do not code a scaling list in PPS
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
8039 2014-07-24 Aarthi Thirumalai <Aarthi Thirumalai>
8041 * source/Lib/TLibEncoder/TEncSearch.cpp:
8042 rc: calculate mvBits, coefBits per Cu for 2 pass in skip mode as
8046 * source/encoder/ratecontrol.cpp:
8047 rc: compute average of qpaRc, qpAq per frame even in 2 pass
8050 2014-07-23 Steve Borho <steve@borho.org>
8052 * source/Lib/TLibCommon/TComPrediction.h, source/encoder/analysis.cpp:
8053 pred: remove default motionCompensation argument values
8055 bugs waiting to happen; they've bit us multiple times in the past
8058 * source/encoder/analysis.cpp:
8059 analysis: eoln fixup
8062 2014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8064 * source/encoder/analysis.cpp:
8065 TComPrediction: fix MC error caused by previous patch
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
8074 * source/encoder/analysis.cpp:
8075 analysis: whitespace nit
8078 2014-07-23 Steve Borho <steve@borho.org>
8085 rest: move profile, level, and tier into their own section
8087 They really didn't belong combined with the slice-decision options
8090 2014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8092 * source/encoder/analysis.cpp:
8093 analysis: add in extra X265_CHECK
8096 2014-07-23 Gopu Govindaswamy <gopu@multicorewareinc.com>
8098 * source/encoder/analysis.cpp:
8099 analysis: setQPforQuant in checkIntraInter to fix the hash mismatch
8103 2014-07-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8105 * source/Lib/TLibCommon/TComPrediction.cpp,
8106 source/Lib/TLibCommon/TComPrediction.h:
8107 TComPrediction: white space nits, remove isPSlice (next series)
8110 2014-07-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8112 * source/Lib/TLibCommon/TComPrediction.cpp,
8113 source/Lib/TLibCommon/TComPrediction.h,
8114 source/Lib/TLibEncoder/TEncSearch.cpp:
8115 TComPrediction: remove redundant colorspace information
8117 m_csp is sufficient inside the TEncSearch, TComPrediction structures
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
8126 Before motion compensation, save CU related data inside the
8127 TComPrediction structure
8130 2014-07-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
8138 2014-07-22 Steve Borho <steve@borho.org>
8140 * source/common/param.cpp:
8141 param: re-order code to avoid unreachable code warnings in 10bit
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
8152 * source/encoder/level.cpp:
8153 level: fix GCC signed/unsigned comparison
8156 2014-07-21 Steve Borho <steve@borho.org>
8159 rest: update --profile, --level, --high-tier docs
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
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.
8173 Any of these conditions will cause the encode to abort if a minimum
8174 decoder level was specified:
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
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).
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.
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
8195 2014-07-22 Aarthi Thirumalai <Aarthi Thirumalai>
8197 * source/encoder/ratecontrol.cpp:
8198 rc: bug fixes in 2 pass ABR
8200 ratecontrol - fix duplication of bits in calculating m_totalBits
8201 frameencoder - don't amortize totalBits in 2 pass ABR
8204 2014-07-21 Steve Borho <steve@borho.org>
8206 * source/encoder/ratecontrol.cpp:
8207 rc: prevent gcc shadow warning about int terminate and terminate()
8210 * source/encoder/analysis.cpp:
8211 analysis: don't initialize members of base class in constructor
8214 * source/common/param.cpp:
8215 param: fix profile warnings in x265_param_apply_profile()
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.
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).
8228 cli: expose x265_param_apply_profile() via --profile
8230 This is repairing an egregious oversight
8233 * source/encoder/level.cpp:
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
8241 This prevents duplicate logic from existing in two separate files
8244 * source/Lib/TLibCommon/TypeDef.h, source/common/slice.h:
8245 ptl: move enums from TypeDef.h to slice.h
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
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.
8259 * source/encoder/level.cpp:
8263 2014-07-17 Steve Borho <steve@borho.org>
8265 * source/encoder/level.cpp:
8266 fix for GCC warning about loop bounds
8269 2014-07-21 Steve Borho <steve@borho.org>
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
8283 Through all these various refactors the SBAC/CABAC/entropy classes
8284 have all merged together and the member variables were a scattered
8288 * source/CMakeLists.txt:
8289 cmake: tabs to spaces
8292 * source/CMakeLists.txt:
8293 cmake: only create SONAME shared lib on POSIX systems (closes #62)
8296 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
8297 source/encoder/ratecontrol.h:
8298 rc: prevent deadlock on encoder flush or close
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
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
8309 2014-07-21 Aarthi Thirumalai <Aarthi Thirumalai>
8311 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
8312 rc: fix warnings in ratecontrol
8315 2014-07-18 Aarthi Thirumalai <Aarthi Thirumalai>
8317 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
8318 source/encoder/ratecontrol.h:
8319 rc: generate cutree offsets for 2nd pass from stats
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
8327 avoid doing sliceAnalyse in lookahead for 2nd pass
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
8335 2014-07-21 Satoshi Nakagawa <nakagawa424@oki.com>
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
8345 2014-07-19 Satoshi Nakagawa <nakagawa424@oki.com>
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:
8353 2014-07-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
8355 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
8356 TComWeightPrediction: initialising pointers to NULL
8358 getWPScaling will assign appropriate weight pred tables to these.
8361 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
8362 TComWeightPrediction: add braces to prevent errors for an optional
8366 2014-07-17 Michel Zou <xantares09@hotmail.com>
8368 * source/CMakeLists.txt:
8369 cmake: fix dll installation directory on Windows
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.
8375 2014-07-17 Min Chen <chenm003@163.com>
8377 * source/common/x86/ssd-a.asm:
8378 use macro HADDD to improve AMD performance
8381 2014-07-18 Ashok Kumar Mishra <ashok@multicorewareinc.com>
8383 * source/Lib/TLibCommon/TComDataCU.cpp,
8384 source/Lib/TLibCommon/TComDataCU.h:
8385 TComDataCU: replaced functions with tables
8388 * source/Lib/TLibCommon/TComDataCU.cpp,
8389 source/Lib/TLibCommon/TComDataCU.h:
8390 TComDataCU: remove redundant functions
8393 2014-07-18 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
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
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.
8412 2014-07-18 Steve Borho <steve@borho.org>
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
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
8425 * source/encoder/dpb.cpp, source/encoder/ratecontrol.cpp:
8426 a copy of POC is cached in the Frame struct
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()
8446 * source/Lib/TLibCommon/TComPicSym.h, source/common/frame.h,
8447 source/encoder/dpb.cpp:
8448 picsym: remove getSlice()
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/
8476 2014-07-17 Steve Borho <steve@borho.org>
8478 * source/Lib/TLibCommon/TComSlice.cpp,
8479 source/Lib/TLibCommon/TComSlice.h:
8480 slice: remove unused initWpScaling()
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()
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
8496 * source/Lib/TLibCommon/TComSlice.h:
8497 slice: do not initialize fields that are always written
8501 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8502 source/encoder/frameencoder.cpp:
8503 encoder: do some slice initializations only once
8506 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8507 entropy: slice->m_colFromL0Flag is a bool
8510 * source/encoder/dpb.cpp:
8511 dpb: simplify check for m_bCheckLDC; make note for future
8515 * source/encoder/dpb.cpp:
8516 dpb: remove check for B frame without L1
8518 our lookahead won't emit B frames without a leading P frame
8521 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8522 source/encoder/entropy.cpp:
8523 slice: remove m_bLMvdL1Zero
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.
8529 * source/encoder/entropy.cpp:
8530 entropy: fix warning reported by llvm
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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
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
8544 removes another per-frame alloc/free and redundant work
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
8553 \0/ the slice structure no longer allocates memory
8556 * source/Lib/TLibCommon/TComPrediction.cpp:
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[][]
8566 * source/Lib/TLibCommon/TComSlice.cpp,
8567 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
8568 slice: merge setRefPOCList() into setRefPicList()
8570 Now both lists are always aligned so it is always safe to use the
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
8580 * source/encoder/dpb.cpp:
8581 dpb: perform setRefPOCList() directly after setRefPicList()
8583 A precursor to combining the two functions
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)
8597 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8598 source/encoder/entropy.cpp:
8599 slice: remove setNumRefIdx
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
8609 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
8610 source/encoder/entropy.cpp:
8611 slice: remove getMvdL1ZeroFlag/setMvdL1ZeroFlag
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()
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
8631 * source/Lib/TLibCommon/TComSlice.h:
8632 slice: removed unused setRefPic() and setRefPOC() methods
8635 * source/Lib/TLibCommon/TComSlice.cpp,
8636 source/Lib/TLibCommon/TComSlice.h:
8637 slice: remove unused getNumRpsCurrTempList() method
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
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
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
8663 * source/Lib/TLibCommon/TComSlice.h:
8667 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8668 slice: remove m_cabacInitFlag, it was write-only
8671 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8672 slice: remove m_numEntryPointOffsets, it was write-only
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
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
8689 * source/Lib/TLibCommon/TComSlice.h:
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
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
8705 SBac::encodeSliceHeader() was already using saoParams for chroma but
8706 not for luma (inexplicably)
8709 * source/encoder/frameencoder.cpp:
8710 sao: combine if(){} expressions
8713 * source/encoder/frameencoder.cpp:
8714 sao: (bool == 1? ? true : false -> wat?
8717 * source/encoder/ratecontrol.cpp:
8718 rc: fix vbvBufferSize calculation
8721 * source/Lib/TLibCommon/TComSlice.h:
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
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
8743 This cleaned up TComDataCU::getPic() as a side-effect.
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
8753 * source/encoder/encoder.cpp:
8754 rc: HRD must be initialized prior to calling init()
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
8762 nits: reorder TComSlice for better clarity and remove initializer
8763 list from constructor
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
8773 * source/encoder/dpb.cpp, source/encoder/entropy.cpp:
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)
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
8790 * source/Lib/TLibCommon/TComSlice.cpp,
8791 source/Lib/TLibCommon/TComSlice.h:
8792 slice: hoist constructor to header (it will be removed in later
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
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-
8819 * source/encoder/frameencoder.cpp:
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
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
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
8844 * source/encoder/encoder.h:
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
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.
8859 2014-07-16 Steve Borho <steve@borho.org>
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
8867 * source/encoder/encoder.cpp, source/encoder/entropy.cpp:
8868 pps: move deblocking logic together, fix a couple signaling bugs
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
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
8900 * source/Lib/TLibCommon/TComSlice.h:
8901 slice: white-space nits
8904 * source/Lib/TLibCommon/TComSlice.h:
8905 vps: remove constructor, those values are always initialized
8908 * source/Lib/TLibCommon/TComTrQuant.cpp:
8909 sps: fix check statement
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
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
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
8944 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
8945 source/encoder/entropy.cpp:
8946 vps: class to struct and other nits
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)
8956 and snuck in some other nits
8959 * source/Lib/TLibCommon/TComSlice.cpp,
8960 source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
8961 remove hard-coded pps->getSliceHeaderExtensionPresentFlag()
8964 * source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
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
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,
8979 "There can be only one!"
8982 * source/Lib/TLibCommon/TComSlice.cpp:
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
8995 * source/Lib/TLibCommon/TComSlice.cpp,
8996 source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp:
8997 slice: remove unsignaled m_temporalLayerNonReferenceFlag
9001 rest: fix crf min/max option names
9004 * source/Lib/TLibCommon/TComSlice.h:
9005 slice: start to clean up scaling list struct
9008 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9009 source/encoder/entropy.cpp:
9010 slice: convert Window to struct, simplify names
9014 rest: fix documented default AQ mode
9016 As noted by Alex Ramsey
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
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
9033 * source/Lib/TLibCommon/TComSlice.cpp,
9034 source/Lib/TLibCommon/TComSlice.h:
9035 slice: finish cleanup of TComReferencePictureSet
9038 * source/Lib/TLibCommon/TComSlice.cpp,
9039 source/Lib/TLibCommon/TComSlice.h:
9040 slice: remove unused PPS ID
9043 * source/Lib/TLibCommon/TComDataCU.cpp,
9044 source/Lib/TLibCommon/TComSlice.cpp, source/encoder/dpb.cpp:
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-
9058 2014-07-15 Steve Borho <steve@borho.org>
9060 * source/encoder/entropy.cpp:
9064 2014-07-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
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
9079 2014-07-15 Steve Borho <steve@borho.org>
9081 * source/Lib/TLibEncoder/TEncSearch.cpp:
9082 search: assert to X265_CHECK
9085 2014-07-15 Min Chen <chenm003@163.com>
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)
9094 2014-07-15 Santhoshini Sekar <santhoshini@multicorewareinc.com>
9096 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
9097 rc: define function for updating rate control statistics in
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.
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
9116 2014-07-15 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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
9124 2014-07-15 Steve Borho <steve@borho.org>
9126 * source/encoder/entropy.cpp:
9127 entropy: remove obsolete check macro
9130 * source/Lib/TLibCommon/TComSlice.h:
9134 * source/Lib/TLibCommon/TComSlice.h:
9135 slice: remove unused m_useDF
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
9144 * source/Lib/TLibCommon/CommonDef.h,
9145 source/Lib/TLibCommon/TComMotionInfo.h, source/encoder/encoder.cpp:
9146 defs: remove more dead definitions
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_
9155 Note that hrd->cpbSizeValue stored a "minus 1" value but was not
9158 This commit also fixed a math bug (late up-conversion) in cpbSize
9159 calculation in ratecontrol.cpp
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
9168 * source/Lib/TLibCommon/TComSlice.h:
9169 hrd: remove four unused fields
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
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
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
9188 Remove redundant fields and methods
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
9197 * source/Lib/TLibCommon/TComSlice.h:
9201 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9202 source/encoder/entropy.cpp:
9203 change ProfileTierLevel to a struct, no m_ prefixes
9206 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
9207 ptl: remove hard-coded m_profileSpace
9210 * source/encoder/entropy.cpp:
9211 entropy: de-hungarian codePredWeightTable(), fix comments (remove
9215 * source/encoder/entropy.cpp:
9219 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
9220 vps: remove m_maxLatencyIncrease, it was always 0
9223 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9224 source/encoder/entropy.cpp:
9225 vps: remove remaining set/get methods
9228 * source/Lib/TLibCommon/TComSlice.h:
9229 vps: remove now unused m_layerIdIncludedFlag
9232 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp:
9233 vps: remove unused m_maxNuhReservedZeroLayerId, m_numOpSets
9235 The values were all hard-coded
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
9244 * source/Lib/TLibCommon/TComSlice.h, source/encoder/entropy.cpp,
9245 source/encoder/frameencoder.cpp:
9246 vps: remove m_VPSId, signal hard-coded 0
9249 * source/encoder/entropy.cpp:
9250 entropy: remove broken X265_CHECK
9253 * source/encoder/frameencoder.cpp:
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
9264 * source/Lib/TLibCommon/CommonDef.h:
9265 defs: remove some dead definitions, cleanup a comment
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
9274 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp:
9275 slice: simplify max AMP level determination
9278 * source/encoder/encoder.cpp, source/encoder/encoder.h:
9279 encoder: remove redundant member variables
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
9292 This simplifies a great many things; enabling further simplications
9293 to come. This commit leaves a sprinkling of TODOs for further
9297 * source/encoder/entropy.cpp:
9301 2014-07-14 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
9303 * source/encoder/compress.cpp:
9304 compress: fix for sa8dcost storage in rdlevel 1, 0
9307 2014-07-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9309 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
9310 TEncCU: remove useless field
9312 There's a global variable for this.
9315 2014-07-15 Steve Borho <steve@borho.org>
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
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
9328 Remove the copies in the SPS and VPS and remove the TComPTL object
9329 entirely, there is only one level.
9332 * source/encoder/entropy.cpp, source/encoder/entropy.h:
9333 entropy: simplify PTL coding, there is only one layer
9336 * source/encoder/entropy.cpp, source/encoder/entropy.h:
9337 entropy: remove profilePresentFlag argument from codePTL, always 1
9340 * source/Lib/TLibCommon/TComSlice.h, source/encoder/encoder.cpp,
9341 source/encoder/entropy.cpp:
9342 slice: Remove get/set methods from TComPTL
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
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
9355 For regression testing, or comparing outputs between compilers or
9356 platforms, this header is quite unhelpful, so make it optional.
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
9364 x265 only codes a reference picture set in the slice header, none in
9365 the SPS and never an "inter-RPS"
9368 * source/common/param.cpp:
9369 param: fix cut-paste bug
9372 2014-07-14 Steve Borho <steve@borho.org>
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
9379 * source/Lib/TLibCommon/TComSlice.h:
9380 slice: remove virtual destructors for slice classes
9382 we do not want or need vtables for any of these classes
9385 * source/common/param.cpp, source/x265.cpp:
9386 param: move --input-res parsing to x265_param_parse (closes #63)
9389 * source/CMakeLists.txt:
9390 cmake: set SONAME even if no revision number or tag is found (closes
9394 * source/Lib/TLibCommon/TComPicSym.cpp:
9395 picsym: check m_cuData before trying to destroy array instances
9398 2014-07-14 Satoshi Nakagawa <nakagawa424@oki.com>
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.
9422 2014-07-14 Praveen Tiwari <Praveen Tiwari>
9424 * source/encoder/encoder.cpp:
9425 encoder.cpp, clean-up
9428 2014-07-14 Steve Borho <steve@borho.org>
9430 * source/Lib/TLibEncoder/TEncCu.cpp:
9431 cu: white-space cleanups
9435 rest: fix lossless white-space, improve --sign-hide
9438 2014-07-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9440 * source/encoder/compress.cpp:
9441 compress: fix sa8dCost comparisons.
9443 After this patch, all sa8d costs are stored in m_sa8dCost, and RD
9444 costs in m_totalRDCost
9447 * source/encoder/encoder.cpp:
9448 encoder: insert missing comma
9451 2014-07-13 Steve Borho <steve@borho.org>
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
9458 2014-07-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9460 * source/encoder/compress.cpp:
9461 compress: save intra costs in rd <= 2 also in m_sa8dCost.
9463 Basically, all sa8d costs are always saved in m_sa8dCost.
9466 * source/encoder/compress.cpp:
9467 compress: save inter sa8d costs also in m_sa8dCost
9470 * source/encoder/compress.cpp:
9471 compress: Fixes fudging in merge costs, stores sa8d costs for
9472 bestMergeCU in m_sa8dCost
9475 2014-07-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
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
9498 This head was accidentally created.
9501 2014-07-13 Steve Borho <steve@borho.org>
9503 * source/encoder/frameencoder.cpp:
9504 frameencoder: explicit size conversion to avoid MSVC warning
9507 2014-07-10 Steve Borho <steve@borho.org>
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
9520 2014-07-12 Steve Borho <steve@borho.org>
9522 * source/encoder/encoder.cpp:
9526 * source/encoder/encoder.h:
9527 encoder: remove unused variables
9530 2014-07-11 Steve Borho <steve@borho.org>
9532 * source/encoder/frameencoder.cpp, source/encoder/sei.cpp,
9533 source/encoder/sei.h:
9534 sei: emit SEI describing the encoder and encode options
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
9552 * source/encoder/frameencoder.cpp:
9556 * source/common/param.cpp:
9557 param: fix typo in d1d5b377294e
9560 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
9564 * source/CMakeLists.txt:
9565 cmake: nit - about target arch strings
9568 2014-07-11 Santhoshini Sekar <santhoshini@multicorewareinc.com>
9570 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9571 frameencoder: store reflagrows as a member variable
9574 2014-07-11 Aarthi Thirumalai <Aarthi Thirumalai>
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
9581 * source/CMakeLists.txt, source/x265.cpp, source/x265.h:
9582 param: keep the total frame count of the input video in param.
9584 to be used in 2 pass. In case this is not available, the value can
9588 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9589 rc: store final cu counts in frameStats as a percentage of total #
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
9599 2014-07-11 Steve Borho <steve@borho.org>
9601 * source/common/param.cpp:
9602 param: use dashes consistently in param2string
9605 2014-07-11 Aarthi Thirumalai <Aarthi Thirumalai>
9607 * source/common/param.cpp:
9608 param: add more param options to print as string
9611 * source/common/common.cpp, source/common/common.h:
9612 common: introduce x265_slurp_file, reads data from file to string
9616 2014-07-11 Steve Borho <steve@borho.org>
9618 * source/encoder/level.cpp:
9619 level: in CRF/CQP encodes, allow user specifed level to increase
9625 2014-07-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9627 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
9628 cu: fixing int-to-bool compile warnings
9631 2014-07-11 Steve Borho <steve@borho.org>
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
9638 Remove m_CUTransquantBypass, m_TransquantBypassEnableFlag
9641 * source/Lib/TLibEncoder/TEncCu.cpp,
9642 source/Lib/TLibEncoder/TEncSearch.cpp:
9647 cli: retrieve params from the encoder, in case logging flags have
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.
9655 2014-07-11 Satoshi Nakagawa <nakagawa424@oki.com>
9657 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
9658 zero stride for zeroPel[]
9661 2014-07-10 Steve Borho <steve@borho.org>
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
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
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
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
9690 2014-07-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
9692 * source/encoder/compress.cpp:
9693 compress: save CABAC context for rd = 2 after inter/intra encodes
9696 * source/encoder/compress.cpp:
9697 compress: save CABAC context after intra decision.
9699 Since CABAC encode happens only for rd > 2
9702 * source/encoder/compress.cpp:
9703 compress: save CABAC context after inter/merge decision
9706 * source/encoder/compress.cpp:
9707 compress: save CABAC context in merge modes for lower RD levels.
9710 2014-07-10 Steve Borho <steve@borho.org>
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
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
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.
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
9734 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
9735 framefilter: rename row0 coder
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
9743 * source/encoder/frameencoder.h:
9744 frameencoder: remove unnecessary include of TEncSearch.h
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
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
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)
9764 * source/common/bitstream.cpp, source/common/bitstream.h:
9765 bitstream: hoist trivial methods to the header so they may be easier
9769 * source/common/bitstream.h:
9770 bitstream: convert macros into inline members for better compile-
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
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.
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.
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.
9799 * source/encoder/entropy.cpp:
9803 * source/encoder/entropy.h:
9804 entropy: re-order methods again for better clarity, make many
9808 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
9809 source/encoder/entropy.h:
9810 entropy: remove include of TComSampleAdaptiveOffset.h
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
9819 * source/encoder/entropy.cpp:
9823 * source/encoder/entropy.cpp, source/encoder/entropy.h:
9824 entropy: hoist trivial functions for later optimizations
9827 * source/encoder/cturow.h, source/encoder/entropy.cpp,
9828 source/encoder/entropy.h, source/encoder/framefilter.cpp:
9829 merge CABAC into SBac class
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
9838 * source/Lib/TLibEncoder/TEncSearch.cpp:
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
9847 Both classes had nearly the exact same methods for managing this
9848 external structure. how wierd?
9851 2014-07-09 Steve Borho <steve@borho.org>
9853 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.cpp,
9854 source/encoder/entropy.h:
9855 entropy: remove m_ prefix from struct TURecurse members
9858 2014-07-09 Satoshi Nakagawa <nakagawa424@oki.com>
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
9867 2014-07-09 Steve Borho <steve@borho.org>
9869 * source/Lib/TLibEncoder/TEncSearch.cpp:
9870 search: remove braces around single line expressions, improve code
9878 Added tag 1.2 for changeset d6257335c537
9879 [7ea0ba364367] <stable>
9881 2014-07-03 Steve Borho <steve@borho.org>
9883 * source/encoder/encoder.cpp, source/encoder/encoder.h:
9884 csv: add slice-type stats to encode summary, avoid dup copies of
9888 2014-07-09 Steve Borho <steve@borho.org>
9890 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.h:
9891 entropy: remove temporary helper function
9894 * source/encoder/entropy.cpp:
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
9903 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/cturow.cpp:
9904 cu: remove more set methods
9907 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/cturow.cpp:
9911 * source/Lib/TLibEncoder/TEncCu.h,
9912 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/cturow.cpp:
9913 cu: assign m_rdGoOnSbacCoder without helper methods
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
9921 * source/encoder/cturow.cpp, source/encoder/cturow.h,
9922 source/encoder/frameencoder.cpp:
9923 ctu: inline setThreadLocalData() for better clarity
9926 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9927 frameencoder: remove rarely used getRowCoder() and getBufferSBac()
9930 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9931 frameencoder: remove barely use helper function getRDGoOnSbacCoder
9934 * source/encoder/cturow.h, source/encoder/frameencoder.cpp,
9935 source/encoder/frameencoder.h:
9936 ctu: rename m_sbacCoder to m_rowEntropyCoder
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
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
9953 This further simplified setup/tear-down code and should improve data
9957 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
9958 framefilter: rename m_rdGoOnSbacCoder to m_sbacCoder - there is only
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
9973 This forces a 1::1 correspondence between SBac and CABAC instances,
9974 which cleans up a mess of confusing allocations and assignments.
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.
9981 * source/encoder/entropy.h:
9982 entropy: remove now unused Entropy class
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
9992 Instead, give each an SBac pointer that they are supposed to use to
9996 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
9997 frameencoder: remove most traces of the Encoder class
10000 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10001 frameencoder: do not pass member variable to its own function
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.
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
10015 The slice object was only needed in resetEntropy() and
10016 determineCabacInitIdx() and could be passed to those two methods
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.
10026 Removing this member variable lets us clean up a lot of redundant
10027 setSlice() calls and other cruft
10030 * source/encoder/frameencoder.cpp:
10031 frameencoder: do not use Entropy object to code stream headers
10034 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
10035 sao: remove redundant braces and other nits
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
10043 Lo and Behold! the SAO code suddenly makes a tad more sense when
10044 this useless redirection is removed
10047 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10048 entropy: remove unnecessary API differences between Entropy and SBac
10050 These would only trip us up as we try to remove Entropy entirely
10053 2014-07-08 Steve Borho <steve@borho.org>
10055 * source/encoder/entropy.h:
10056 entropy: reorder SBac methods for more clarity
10059 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/entropy.h:
10060 entropy: remove default argument to encodeIntraDirModeLuma()
10063 * source/encoder/entropy.cpp:
10064 entropy: fix msvc warnings about signed/unsigned operations
10067 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10068 entropy: hoist all non-trivial Entropy methods into SBac
10070 Now Entropy only exists in entropy.h, making further cleanups
10074 * source/encoder/entropy.cpp, source/encoder/entropy.h:
10075 entropy: remove all data members except m_entropyCoder
10077 The three variables were only used to maintain state through
10078 recursive calls to encodeTransform() and could be just as easily
10081 The class is now a pure reflector to the SBac class and can be merge
10082 into it piece-wise.
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
10102 The Entropy class will be short-lived
10105 2014-07-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10107 * Merge with stable
10110 * source/Lib/TLibEncoder/TEncCu.cpp:
10111 TEncCU: bug fix introduced in commit 8a5b02464813
10113 Remove the xCheckBestMode call, add in a ccontext save.
10114 [d6257335c537] [1.2] <stable>
10116 * source/Lib/TLibEncoder/TEncSearch.cpp:
10120 2014-07-09 Min Chen <chenm003@163.com>
10122 * source/Lib/TLibEncoder/TEncCu.cpp,
10123 source/Lib/TLibEncoder/TEncSearch.cpp:
10124 TEncCU: save CABAC context missing after merge
10126 Also removed an extra context save
10127 [8a5b02464813] <stable>
10129 * source/Lib/TLibEncoder/TEncCu.cpp,
10130 source/Lib/TLibEncoder/TEncSearch.cpp:
10131 TEncCU: save CABAC context missing after merge
10133 Also removed an extra context save
10136 2014-07-07 Satoshi Nakagawa <nakagawa424@oki.com>
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
10151 2014-07-07 Steve Borho <steve@borho.org>
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>
10165 * source/encoder/frameencoder.cpp:
10169 * source/Lib/TLibCommon/TComDataCU.cpp:
10170 cu: do not copy a QP buffer into itself - prevents valgrind warning
10173 * source/Lib/TLibCommon/TComDataCU.cpp:
10174 cu: cleanup and simplify initCU
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
10182 2014-07-03 Min Chen <chenm003@163.com>
10184 * source/encoder/frameencoder.cpp:
10185 avoid VS2008 and MinGW ambiguous pow() build warning
10188 2014-07-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10190 * source/encoder/frameencoder.cpp:
10191 frameencoder: remove warning about ambiguous pow function
10194 * source/common/param.cpp:
10195 lambda-file: file close before return
10198 2014-07-03 Steve Borho <steve@borho.org>
10200 * source/input/y4m.cpp:
10201 y4m: avoid implicit size_t to int conversion, avoid more MSVC
10205 * source/encoder/encoder.h, source/encoder/frameencoder.cpp:
10206 encoder: avoid int64_t to int conversions, avoid more MSVC warnings
10209 * source/common/param.cpp:
10210 param: avoid spurious MSVC warning about buf being possibly
10214 * source/encoder/ratecontrol.cpp:
10215 ratecontrol: fix cast of cutree offset, avoids MSVC warning
10218 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10219 frameencoder: match up integer argument types to avoid MSVC warning
10221 The prototype in the WaveFront base class was: virtual void
10222 processRow(int row, int threadId) = 0;
10224 Some versions of MSVC flag this as a warning
10227 * source/common/param.cpp:
10228 param: avoid spurious gcc warning about toksave possibly being
10232 2014-07-02 Steve Borho <steve@borho.org>
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
10238 Having an invalid set of lambdas is likelty to be completely useless
10241 * source/common/param.cpp:
10242 lambda-file: detect and report if lamda file containts too many
10245 It seems likely that this is an unintended error the user would want
10246 to be made aware of.
10249 2014-07-02 Min Chen <chenm003@163.com>
10251 * source/Lib/TLibEncoder/TEncCu.cpp:
10252 simplify: getLumaIntraDir()[x] -> getLumaIntraDir(x)
10255 2014-07-02 Steve Borho <steve@borho.org>
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
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.
10269 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp,
10270 source/encoder/ratecontrol.h:
10271 rc: fix gcc warnings
10274 2014-06-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
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
10281 2014-06-26 Aarthi Thirumalai <Aarthi Thirumalai>
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
10289 2014-07-01 Aarthi Thirumalai <Aarthi Thirumalai>
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
10295 Stats are not needed post encode, moving it to FrameEncoder.
10298 2014-07-02 Satoshi Nakagawa <nakagawa424@oki.com>
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
10307 2014-07-02 Kavitha Sampath <kavitha@multicorewareinc.com>
10309 * source/common/frame.cpp:
10310 frame: initialize recon to avoid SAO read of uninitialized pixels
10314 2014-07-02 Steve Borho <steve@borho.org>
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
10322 do not use static m_threadLocalData, this would break if multiple
10323 encoders were allocated in a single process
10325 pass the selected TLD to row processes, so they do not need to be
10326 aware of the WPP/NO-WPP details.
10328 Cleanup frameencoder.h, move non-trivial processRow() to the cpp
10332 2014-07-01 Steve Borho <steve@borho.org>
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
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
10343 Also, drop PPA events. File reading is pretty uninteresting when
10347 2014-07-02 Steve Borho <steve@borho.org>
10349 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10350 source/Lib/TLibEncoder/TEncEntropy.h:
10351 TEncEntropy: inline the only one caller of encodeInterDirPU
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
10362 * source/Lib/TLibEncoder/TEncEntropy.h:
10363 TEncEntropy: reorder nit
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
10374 2014-07-01 Steve Borho <steve@borho.org>
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
10382 * source/Lib/TLibEncoder/TEncEntropy.cpp:
10386 * source/Lib/TLibEncoder/TEncEntropy.cpp,
10387 source/Lib/TLibEncoder/TEncEntropy.h:
10388 TEncEntropy: hoist trivial functions to header for possible inlining
10390 And remove useless comments
10393 * source/Lib/TLibEncoder/TEncSearch.cpp:
10397 * source/Lib/TLibCommon/TComDataCU.cpp:
10398 TComDataCU: remove redundant refIdx check from fillMvpCand
10400 fillMvpCand is only called from one place and the refIdx will always
10404 * source/Lib/TLibEncoder/TEncSearch.cpp:
10408 * source/Lib/TLibEncoder/TEncSearch.cpp:
10409 TEncSearch: limit AMVP loop bounds in xCheckBestMVP
10411 entries in the table beyond m_num were not initialized
10412 [4f7be97ebb9d] <stable>
10414 2014-07-01 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
10422 2014-07-01 Satoshi Nakagawa <nakagawa424@oki.com>
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
10434 2014-06-27 Satoshi Nakagawa <nakagawa424@oki.com>
10436 * source/Lib/TLibCommon/TComTrQuant.cpp,
10437 source/Lib/TLibEncoder/TEncSearch.cpp:
10438 fix emms: move selectLambda() into xRateDistOptQuant() and issue
10442 2014-06-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10444 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
10445 rc: rename texBits to coeffBits in RateControlEntry structure to
10446 maintain uniformity.
10449 2014-06-30 Steve Borho <steve@borho.org>
10451 * source/encoder/encoder.cpp:
10452 encoder: RDOQ is only applicable at rd levels 4, 5, and 6
10455 2014-06-27 Aarthi Thirumalai <aarthi@multicorewareinc.com>
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
10463 2014-06-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10465 * source/Lib/TLibCommon/TComDataCU.cpp:
10466 TComDataCU: remove warnings for shadowed declaration
10469 2014-06-30 Albert Wang <Albert Wang>
10471 * source/encoder/frameencoder.cpp:
10472 frameencoder: fix for error in VPS when AccessUnitDelimeter is
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.
10480 2014-06-30 Steve Borho <steve@borho.org>
10482 * doc/reST/cli.rst:
10483 rest: document ipratio and pbratio parameters
10486 2014-06-25 Satoshi Nakagawa <nakagawa424@oki.com>
10488 * source/common/param.cpp, source/x265.cpp:
10489 cli: add --ipratio and --pbratio
10492 2014-06-21 Steve Borho <steve@borho.org>
10495 cli: use consistent bool naming convention
10498 * source/Lib/TLibEncoder/TEncEntropy.cpp:
10502 2014-06-21 Satoshi Nakagawa <nakagawa424@oki.com>
10504 * source/input/y4m.cpp, source/input/yuv.cpp:
10505 input: fix race condition
10508 2014-06-26 Min Chen <chenm003@163.com>
10510 * source/Lib/TLibEncoder/TEncSbac.cpp:
10511 reduce condition jmp in codeCoeffNxN
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
10519 2014-06-27 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10521 * source/Lib/TLibEncoder/TEncSearch.cpp:
10522 psyrd: fix for inconsistent output
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
10529 2014-06-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10531 * source/encoder/framefilter.cpp:
10532 framefilter: disable warning
10535 2014-06-23 Min Chen <chenm003@163.com>
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
10544 2014-06-24 Satoshi Nakagawa <nakagawa424@oki.com>
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.
10553 2014-06-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
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
10560 frame stats includes mv bits,DC coeff bits and number of Intra,
10561 Inter and Skip Cus per frame.
10564 2014-06-25 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10566 * source/encoder/compress.cpp, source/encoder/encoder.cpp:
10567 psy-rd: implement psy-rd in rdlevel=4,3 and 2
10570 2014-06-25 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
10596 2014-06-24 Satoshi Nakagawa <nakagawa424@oki.com>
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
10604 2014-06-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
10606 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/rdcost.h:
10607 psy-rd chroma: Adjust chroma lambda based on QP offsets.
10609 This hurts PSNR but improves visual quality
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
10617 * source/encoder/encoder.cpp:
10618 Chroma QP Offset: increase chroma QP when psy-rd is enabled.
10621 2014-06-23 Min Chen <chenm003@163.com>
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
10629 2014-06-23 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
10640 2014-06-20 Praveen Tiwari <Praveen Tiwari>
10642 * source/encoder/compress.cpp:
10643 TEncCu: [CHANGES OUTPUT] xComputeCostIntraInInter, fix bug
10646 2014-06-21 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
10655 2014-06-20 Min Chen <chenm003@163.com>
10657 * source/Lib/TLibCommon/TComPicSym.cpp,
10658 source/Lib/TLibCommon/TComPicSym.h:
10659 alloc concatenation memory for m_cuData
10662 2014-06-20 Steve Borho <steve@borho.org>
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
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
10678 * source/Lib/TLibEncoder/TEncEntropy.cpp:
10682 * source/encoder/frameencoder.cpp:
10683 frameencoder: remove more redundant checks
10685 slice->getSaoEnabledFlag() is the same as saoParam->bSaoFlag[0]
10686 slice->getSaoEnabledFlagChroma() is the same as
10687 saoParam->bSaoFlag[1]
10690 * source/encoder/frameencoder.cpp:
10691 frameencoder: simplify cabac context save
10694 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
10695 source/encoder/frameencoder.cpp:
10696 frameencoder: simplify SAO reset when not enabled on slice
10699 * source/encoder/frameencoder.cpp:
10700 frameencoder: further simplify SAO coding
10703 * source/encoder/frameencoder.cpp:
10704 frameencoder: simplify SAO coding logic
10707 * source/encoder/frameencoder.cpp:
10708 frameencoder: simplify loop bounds
10711 * source/encoder/frameencoder.cpp:
10712 frameencoder: further simplify the logic which sync's CABAC with
10716 * source/encoder/frameencoder.cpp:
10717 frameencoder: remove redundant widthInCU variable
10720 * source/encoder/frameencoder.cpp:
10721 frameencoder: simplify logic slightly, numSubstreams can be > 1 only
10725 * source/encoder/frameencoder.cpp:
10729 * source/encoder/frameencoder.cpp:
10730 frameencoder: move trace code for clarity, remove dead
10734 * source/encoder/frameencoder.cpp:
10735 frameencoder: use m_param->bEnableWavefront directly
10738 * source/encoder/frameencoder.cpp:
10739 frameencoder: simplify setup for encodeSlice()
10742 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
10743 frameencoder: rename m_pic to m_frame
10746 * source/encoder/frameencoder.cpp:
10747 frameencoder: remove unread bitsOriginallyInSubstreams
10750 2014-06-20 Aarthi Thirumalai <aarthi@multicorewareinc.com>
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
10758 two-pass encodes will need these statistics, so they need to always
10759 be compiled into libx265.
10762 2014-06-20 Steve Borho <steve@borho.org>
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
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.
10804 * source/encoder/frameencoder.cpp:
10805 frameencoder: fix --no-wpp, broken since 854f5e3072a0
10808 2014-06-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10810 * source/common/param.cpp, source/encoder/encoder.cpp:
10811 encoder: move psy-rd logic together
10814 2014-06-20 Steve Borho <steve@borho.org>
10816 * source/encoder/encoder.cpp:
10817 encoder: use free() to release strdup'd string
10820 2014-06-19 Steve Borho <steve@borho.org>
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
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
10835 This saves about 10% of memory by reducing redundancy, and lays the
10836 ground work for more fine grained work distribution.
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
10850 2014-06-20 Steve Borho <steve@borho.org>
10852 * source/encoder/frameencoder.cpp:
10853 frameencoder: comment nits
10856 2014-06-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
10858 * source/encoder/encoder.cpp:
10859 encoder:[CHANGES OUTPUT] disable rdoq when psyrd is enabled
10862 2014-06-20 Steve Borho <steve@borho.org>
10864 * source/encoder/nal.cpp:
10865 nal: include the start code bytes in the bounds check
10868 * source/encoder/nal.cpp:
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
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
10884 * source/encoder/nal.cpp:
10885 fix checked build warning
10888 * source/common/bitstream.cpp, source/encoder/cturow.cpp:
10889 fix msvc build warnings
10892 2014-06-19 Steve Borho <steve@borho.org>
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
10912 * source/Lib/TLibCommon/TComBitStream.cpp,
10913 source/Lib/TLibCommon/TComBitStream.h,
10914 source/encoder/frameencoder.cpp:
10915 bitstream: unify resetBits() and clear() methods
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?
10922 * source/encoder/api.cpp, source/encoder/encoder.cpp,
10923 source/encoder/encoder.h:
10924 encoder: remove redundant flush argument
10927 * source/encoder/encoder.cpp, source/encoder/encoder.h:
10928 encoder: cleanup obsolete NAL data fields
10931 2014-06-20 Satoshi Nakagawa <nakagawa424@oki.com>
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.
10938 2014-06-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
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).
10953 2014-06-19 Steve Borho <steve@borho.org>
10955 * source/encoder/ratecontrol.cpp:
10956 rc: disable MSVC warnings about using POSIX function names like
10960 2014-06-16 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
10971 2014-06-19 Steve Borho <steve@borho.org>
10973 * source/Lib/TLibCommon/TComDataCU.h:
10977 2014-06-19 Min Chen <chenm003@163.com>
10979 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10980 source/Lib/TLibCommon/TComLoopFilter.h,
10981 source/encoder/framefilter.cpp:
10982 move m_blockingStrength to local
10985 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10986 source/Lib/TLibCommon/TComLoopFilter.h:
10987 static m_bLFCrossTileBoundary since all of LCU use same value
10990 * source/Lib/TLibCommon/TComLoopFilter.cpp,
10991 source/Lib/TLibCommon/TComLoopFilter.h:
10992 remove reduce code since trHeight always equal to trWidth
10995 2014-06-17 Aarthi Thirumalai <aarthi@multicorewareinc.com>
10997 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
10998 source/encoder/ratecontrol.h:
10999 rc: initialize the 2 pass states in rc
11002 * source/common/param.cpp:
11003 param: log rc states of m_param in x265_param2string
11006 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
11007 rc: add 2 pass states in RateControl
11010 * source/common/param.cpp, source/encoder/slicetype.cpp:
11011 rc: define default setting and validations for 2 pass states
11014 * source/CMakeLists.txt, source/x265.h:
11015 api: introduce param variables for two-pass encodes
11018 2014-06-19 Steve Borho <steve@borho.org>
11020 * source/encoder/encoder.h:
11021 encoder: remove useless comment
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
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
11035 We preserve the max size of this output buffer to prevent having to
11036 do any reallocations once the encoder is running.
11039 2014-06-19 Satoshi Nakagawa <nakagawa424@oki.com>
11041 * source/encoder/encoder.cpp, source/encoder/encoder.h:
11042 keep TComPic until next call if recpic is exported as pic_out
11044 We must prevent the recon YUV from being recycled until the next
11045 picture is encoded.
11048 2014-06-19 Gopu Govindaswamy <Gopu Govindaswamy>
11050 * source/encoder/encoder.h:
11051 encoder: remove m_freeList from encoder class, the m_freeList moved
11055 * source/encoder/dpb.cpp:
11056 dpb: destroy and delete m_reconPicYuv from picSymFreeList
11059 2014-06-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11061 * source/Lib/TLibCommon/TComTrQuant.cpp:
11062 quant: correct QP range clipping for 10-bit input depths.
11064 Fixes a bad hash error and artifacts introduced by commit
11068 2014-06-18 Steve Borho <steve@borho.org>
11070 * source/common/pixel.cpp:
11071 pixel: fixup zeroBug stride for satd_4x4 in psyCost (spotted by
11074 This fixes a bug introduced in f3fb2d2b0ba6
11077 * source/Lib/TLibCommon/TComPic.cpp:
11078 pic: reorder initializations after moving m_reconPicYuv in
11081 Fixes a gcc warning
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 -
11091 * source/encoder/encoder.cpp, source/encoder/frameencoder.h,
11092 source/encoder/framefilter.cpp:
11093 frameencoder: make m_ssimCnt an unsigned int
11096 * source/encoder/encoder.h:
11097 encoder: move EncStats into x265 namespace
11100 2014-06-17 Steve Borho <steve@borho.org>
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
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
11114 * source/Lib/TLibCommon/TComPic.h:
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
11124 * source/Lib/TLibCommon/TComPic.h:
11125 pic: destroy() no longer needs to be virtual, compress white-space
11128 * source/Lib/TLibCommon/TComPic.h:
11129 pic: improve comments
11132 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11133 source/Lib/TLibCommon/TComSlice.cpp:
11134 pic: remove unread m_bCheckLTMSB
11137 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
11138 source/encoder/dpb.cpp:
11139 pic: remove unread m_bUsedByCurr
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
11147 This required cacheing some top encoder fields in TEncSearch
11150 * source/Lib/TLibEncoder/TEncSearch.h:
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
11159 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11160 frameencoder: replace m_cfg with m_param pointer, use m_top for
11164 * source/encoder/frameencoder.h:
11165 frameencoder: remove unused bitcounter
11168 * source/Lib/TLibCommon/TComDataCU.cpp,
11169 source/Lib/TLibEncoder/TEncCu.cpp:
11170 TComDataCU: remove hungarian prefixes from CU vars
11173 * source/Lib/TLibCommon/TComPicSym.h:
11174 sym: do not return pointer reference from getCU()
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
11182 This data only needs to exist when the picture is being encoded
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
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
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
11202 This saves a bit of memory, since this data only needs to exist when
11203 the picture is being encoded.
11206 * source/encoder/sei.h:
11207 sei: remove unused RESERVED hash method, avoid compiler warnings
11210 * source/Lib/TLibCommon/TComPic.h, source/encoder/frameencoder.cpp,
11211 source/encoder/ratecontrol.cpp:
11212 pic: better name for picture timing SEI member
11215 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp,
11216 source/Lib/TLibEncoder/SyntaxElementWriter.h:
11217 writer: xConvertToUInt did not need to be a class member
11220 * source/encoder/sei.h:
11221 sei: allow SEI classes to implement write() directly to avoid two-
11225 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
11226 source/encoder/sei.h:
11227 sei: add m_ prefix to members of SEIDecodedPictureHash for
11231 * source/encoder/frameencoder.cpp:
11232 sei: repair decoded picture hash SEI
11235 * source/common/pixel.cpp:
11236 psyrd: use zero stride in psyCost C reference, minor optimization
11239 * source/Lib/TLibEncoder/TEncSearch.cpp:
11240 TEncSearch: simplify square block dim logic
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
11246 I have no idea why it was implicitly making the result 64bits.
11249 2014-06-16 Satoshi Nakagawa <nakagawa424@oki.com>
11251 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
11252 fix: TOPSKIP refers outside of picture [OUTPUT CHANGE]
11255 2014-06-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11257 * source/Lib/TLibCommon/TComTrQuant.cpp:
11258 quant: Enforce QP range after adding bit-depth offsets
11261 2014-06-17 Kavitha Sampath <kavitha@multicorewareinc.com>
11263 * source/encoder/ratecontrol.cpp:
11264 sei: disable HRD with warning when vbv is off
11267 2014-06-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
11269 * source/Lib/TLibEncoder/TEncSearch.cpp,
11270 source/Lib/TLibEncoder/TEncSearch.h:
11271 psyrd: use psyrdcost for PU/TU decision for inter and intra
11274 2014-06-17 Steve Borho <steve@borho.org>
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
11286 * source/Lib/TLibCommon/TComBitStream.h:
11287 bitstream: give bit counter a useful constructor
11290 2014-06-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11292 * source/encoder/ratecontrol.cpp:
11293 ratecontrol: [CHANGES OUTPUT for 10-bit CRF] Remove QP_BD_OFFSET
11296 This offset is added inside Quant (setQPforQuant)
11299 * source/common/param.cpp, source/encoder/ratecontrol.cpp:
11300 ratecontrol: move validate of CRF params to x265_check_param
11303 2014-06-17 Steve Borho <steve@borho.org>
11305 * source/Lib/TLibEncoder/SyntaxElementWriter.h:
11309 2014-06-17 Min Chen <chenm003@163.com>
11311 * source/Lib/TLibCommon/TComLoopFilter.cpp,
11312 source/Lib/TLibCommon/TComLoopFilter.h:
11313 cleanup unused TComLoopFilter::loopFilterPic
11316 * source/Lib/TLibCommon/TComLoopFilter.cpp,
11317 source/Lib/TLibCommon/TComLoopFilter.h,
11318 source/encoder/framefilter.cpp:
11319 move m_bEdgeFilter to local
11322 * source/Lib/TLibCommon/TComLoopFilter.cpp,
11323 source/Lib/TLibCommon/TComLoopFilter.h:
11324 move lfcuParam to local
11327 2014-06-16 Steve Borho <steve@borho.org>
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
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
11342 * source/common/pixel.cpp:
11343 pixel: prevent msvc warning
11346 2014-06-15 Satoshi Nakagawa <nakagawa424@oki.com>
11348 * source/Lib/TLibEncoder/TEncEntropy.cpp,
11349 source/Lib/TLibEncoder/TEncSearch.cpp,
11350 source/Lib/TLibEncoder/TEncSearch.h:
11351 refine tskip related
11354 2014-06-14 Satoshi Nakagawa <nakagawa424@oki.com>
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
11364 2014-06-16 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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
11370 psy-rd energy is measured by summing up the absolute differences of
11371 the AC energy in each 8x8 block in series
11374 2014-06-12 Steve Borho <steve@borho.org>
11376 * source/Lib/TLibCommon/TComBitStream.cpp:
11377 bitstream: simplify appendSubstream
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.
11383 * source/Lib/TLibEncoder/TEncSbac.cpp:
11384 sbac: simplify codeSliceHeader, x265 never codes dependent slices
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
11394 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11395 frameencoder: inline resetEntropy(), which was only called once
11398 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
11399 source/encoder/framefilter.h:
11400 framefilter: remove empty end method
11403 * source/encoder/frameencoder.cpp:
11404 frameencoder: use numSubstreams directly
11407 * source/encoder/frameencoder.cpp:
11408 frameencoder: remove useless setBitstream call
11411 * source/encoder/frameencoder.cpp:
11412 frameencoder: remove redundant function calls and obsolete comments
11415 * source/encoder/frameencoder.cpp:
11416 frameencoder: explain why SAO is being called after compression
11419 * source/Lib/TLibCommon/TComSlice.cpp,
11420 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
11421 slice: remove unused m_tileOffstForMultES
11424 * source/encoder/frameencoder.cpp:
11425 frameencoder: remove need for intermediate bitstreamRedirect
11428 * source/encoder/frameencoder.cpp:
11429 frameencoder: remove sliceSegment, it was always false
11432 * source/encoder/frameencoder.cpp:
11433 frameencoder: remove unnecessary set of nextSlice()
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.
11440 * source/encoder/encoder.cpp, source/encoder/encoder.h:
11441 encoder: remove unused m_bPCMInputBitDepthFlag
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
11450 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11451 frameencoder: make per-row output streams member variables
11453 Avoid repeated malloc/free and subsequent reallocs and frees each
11457 * source/encoder/frameencoder.cpp:
11458 frameencoder: nit, unify comment style in this function
11461 * source/encoder/frameencoder.cpp:
11462 frameencoder: remove redundant sets of SAO lambdas, reorder for
11466 * source/encoder/frameencoder.cpp:
11470 * source/encoder/frameencoder.cpp:
11471 frameencoder: move QP/lambda initialization together
11474 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11475 frameencoder: inline slice bounds determination, do not perform
11479 * source/Lib/TLibCommon/TComSlice.cpp,
11480 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
11481 slice: remove unused finalized flag
11484 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
11485 sao: remove unnecessary shim function
11488 * source/encoder/frameencoder.cpp:
11489 frameencoder: remove obsolete comment
11492 * source/encoder/dpb.cpp:
11493 dpb: no need to reset next slice in init function
11496 * source/encoder/frameencoder.cpp:
11497 frameencoder: declare bitstreamRedirect on stack, do not malloc.
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
11507 * source/encoder/frameencoder.cpp:
11508 frameencoder: move prefix SEI generation all together, before
11512 * source/encoder/frameencoder.h:
11513 frameencoder: fix header case
11515 Reported by Elyonta
11518 2014-06-12 Aarthi Thirumalai <Aarthi Thirumalai>
11520 * source/encoder/ratecontrol.cpp:
11521 rc: set isCbr flag to true only in vbv mode and maxrate equals
11525 2014-06-12 Steve Borho <steve@borho.org>
11527 * source/encoder/compress.cpp:
11528 compress: add EMMS at return of xCompressInterCu
11530 Removed the EMMS from xComputeCostMerge2Nx2N since it is only called
11531 from the CU compress function and it is not using floats
11534 2014-06-05 Steve Borho <steve@borho.org>
11536 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
11537 frameencoder: re-use a single bitstream object for all NAL and SEI
11539 This saves on malloc/free/realloc/memcpy calls.
11542 2014-06-11 Steve Borho <steve@borho.org>
11544 * source/encoder/compress.cpp:
11545 compress: nit comment spacing
11548 * source/encoder/weightPrediction.cpp:
11549 weight: ensure weight table is initialized on failure, simplify
11553 * source/encoder/compress.cpp:
11554 compress: remove floating point math to avoid needing to use EMMS
11557 * source/Lib/TLibCommon/TComDataCU.h:
11561 * source/encoder/frameencoder.cpp:
11562 frameencoder: remove obsolete check
11565 * source/encoder/nal.cpp:
11566 nal: msvc and its integer conversion warnings
11569 * source/encoder/nal.cpp:
11570 nal: greatly simplify NAL header generation, do not use
11571 TComOutputBitstream
11573 This saves a malloc/free and a great deal of needless overhead
11576 2014-06-10 Steve Borho <steve@borho.org>
11578 * source/encoder/encoder.cpp:
11579 encoder: set m_totalFrameThreads at the same time as
11580 param->frameNumThreads
11583 * doc/reST/cli.rst, source/common/param.cpp,
11584 source/encoder/encoder.cpp:
11585 param: clip bframe bias range as x264 does
11588 2014-06-10 Kavitha Sampath <kavitha@multicorewareinc.com>
11590 * source/Lib/TLibCommon/TComRom.cpp:
11591 TComRom: fix fraction part variation in x265_lambda2_tab for higher
11595 2014-06-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11597 * source/common/param.cpp:
11598 preset: improve the speed settings for fast preset.
11601 2014-06-05 Steve Borho <steve@borho.org>
11603 * source/encoder/ratecontrol.cpp:
11607 * source/encoder/ratecontrol.cpp:
11608 rc: fix potential build warning
11609 [7a3214c9622f] <stable>
11611 * source/common/common.h:
11612 common: include cctype for isdigit
11615 * source/Lib/TLibCommon/TComBitStream.cpp:
11616 bitstream: fast-path for appending bitstreams
11619 * source/encoder/nal.cpp:
11620 nal: add back comments now that member variables are gone
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
11629 * source/Lib/TLibCommon/TComSlice.cpp:
11630 TComSlice: remove layer violation include
11632 files in common/ shouldn't include encoder/ headers
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
11656 Remove some spurious stdlib includes not in common.h
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
11669 * source/encoder/nal.cpp:
11670 nal: add more padding for corner cases
11673 2014-06-05 Kavitha Sampath <kavitha@multicorewareinc.com>
11675 * source/encoder/frameencoder.cpp:
11676 weightb: reinitialize weight table when weightb is off
11679 2014-06-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11681 * source/encoder/ratecontrol.h:
11682 ratecontrol: change type of m_bframeBits to int64_t
11685 2014-06-04 Steve Borho <steve@borho.org>
11687 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
11691 2014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
11693 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
11694 rc: fixes to improve quality in vbv
11695 [93921c0afac5] <stable>
11697 2014-06-05 Aarthi Thirumalai <Aarthi Thirumalai>
11699 * source/encoder/ratecontrol.cpp:
11700 rc: use actual bits to update vbv buffer
11701 [4df4e48d24a0] <stable>
11703 2014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
11705 * source/encoder/ratecontrol.cpp:
11706 rc: set pbFactor to default with cutree
11707 [a076f4fc8d36] <stable>
11709 2014-06-04 Steve Borho <steve@borho.org>
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
11720 * source/Lib/TLibEncoder/NALwrite.cpp:
11721 nal: fix checked build
11724 * source/encoder/encoder.cpp:
11725 encoder: no longer needs NALwrite.h
11728 * source/Lib/TLibCommon/TComBitStream.h:
11729 TComBitstream: nits
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
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.
11742 Removed RDOQ_CHROMA as well, which allowed the removal of a warning
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
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
11761 * source/encoder/encoder.h:
11762 encoder: remove m_useLossless
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
11771 * source/encoder/ratecontrol.cpp:
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
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.
11785 * source/Lib/TLibEncoder/NALwrite.cpp:
11786 nal: check padded buffer size
11789 * source/encoder/api.cpp:
11790 api: must match X265_ALLOC with X265_FREE for m_nalUnitData
11792 This was only an issue on Windows
11795 * source/encoder/ratecontrol.cpp:
11796 rc: fix type of actualBits
11799 * source/Lib/TLibEncoder/NALwrite.cpp:
11800 nalwrite: simplify write method; single allocation with no reallocs
11803 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
11804 source/encoder/ratecontrol.h:
11805 rc: only pass param to rc constructor
11808 * source/encoder/ratecontrol.cpp:
11809 rc: further improvements to code clarity
11812 * source/encoder/ratecontrol.cpp:
11816 * source/encoder/ratecontrol.cpp:
11817 rc: use member isCbr rather than making a shadow variable
11820 * source/encoder/ratecontrol.cpp:
11821 rc: move isCbr initialization to constructor, to avoid init() race
11824 * source/encoder/encoder.cpp:
11828 2014-06-04 Aarthi Thirumalai <Aarthi Thirumalai>
11830 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
11831 rc: fixes to improve quality in vbv
11834 * source/encoder/ratecontrol.cpp:
11835 rc: use actual bits to update vbv buffer
11838 * source/encoder/ratecontrol.cpp:
11839 rc: set pbFactor to default with cutree
11842 2014-06-04 Kavitha Sampath <kavitha@multicorewareinc.com>
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
11849 Remove setHrdPaarameters function as all the necessary HRD
11850 parameters are already computed and set in the initHrd function.
11853 2014-06-04 Steve Borho <steve@borho.org>
11855 * source/Lib/TLibCommon/SEI.h:
11856 sei: white-space nits
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
11863 Completely remove constructor and destructor
11866 2014-06-04 Satoshi Nakagawa <nakagawa424@oki.com>
11868 * source/Lib/TLibEncoder/NALwrite.cpp, source/encoder/encoder.cpp:
11869 fix: uninitialized read m_totalFrameThreads
11870 [63ac1a0aa81d] <stable>
11872 2014-06-04 Steve Borho <steve@borho.org>
11874 * doc/reST/cli.rst:
11875 rest: reorganize analysis options into their own section
11878 2014-06-04 Kavitha Sampath <kavitha@multicorewareinc.com>
11880 * source/encoder/ratecontrol.cpp:
11881 fix crash in hrd when init function is called with null pointer
11884 2014-06-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
11886 * Merge with stable
11889 * source/Lib/TLibEncoder/TEncCu.cpp:
11890 TEncCU: fix bug in no-intra, intra-analysis should still happen for
11892 [5cc4502256a7] <stable>
11894 * source/common/param.cpp:
11898 * source/common/param.cpp:
11899 preset: correct ultrafast settings (in line with doc) by disabling
11901 [9f59dad6eea6] <stable>
11903 2014-06-03 Steve Borho <steve@borho.org>
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,
11913 Added tag 1.1 for changeset ae9609aeebdc
11914 [2650fdd1a7f6] <stable>
11916 * source/common/param.cpp:
11917 param: only log psy-rd if it is enabled
11918 [ae9609aeebdc] [1.1] <stable>
11920 * source/encoder/ratecontrol.cpp:
11921 lossless: do not allow CQP to adjust QP for I/B when encoding
11923 [07e7a54ae1cb] <stable>
11925 * source/encoder/encoder.cpp:
11926 lossless: report compression ratio, disable distortion metrics
11927 [d9facf9895f7] <stable>
11929 * doc/reST/cli.rst, source/encoder/encoder.cpp:
11930 lossless: disable rate control, force QP=4
11932 strangely enough, using QP=4 gives better lambda for lossless ME and
11934 [12d35ab8148d] <stable>
11936 2014-06-03 Praveen Tiwari <Praveen Tiwari>
11939 x265.h, data declaration alignment
11942 * source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.h:
11943 whitespace clean-up
11946 2014-06-03 Steve Borho <steve@borho.org>
11948 * source/Lib/TLibCommon/TComSlice.h:
11949 TComSlice: nit - use bools to initialize bools
11952 * source/encoder/frameencoder.cpp:
11953 SEI: only setup SEIPictureTiming fields which will be coded
11956 2014-06-03 Kavitha Sampath <kavitha@multicorewareinc.com>
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
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.
11974 2014-06-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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.
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>
11986 2014-06-03 Steve Borho <steve@borho.org>
11988 * source/common/winxp.cpp:
11989 xp: avoid compiler warning from GCC-MinGW
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>
11997 cli: seperate new lossless options, make --lossless description more
12000 try to avoid having the --lossless line wrap
12001 [cfab9513e27c] <stable>
12003 2014-06-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12005 * Merge with stable
12008 * doc/reST/presets.rst, source/x265.h:
12009 rest: correct documentation on AQ
12010 [f66ad1400874] <stable>
12012 * Merge with stable
12015 * source/common/param.cpp:
12016 param: initialise lossless/cu-lossless fields to zero
12017 [7153905d56e6] <stable>
12019 2014-06-02 Steve Borho <steve@borho.org>
12021 * source/Lib/TLibEncoder/TEncSearch.cpp:
12022 TEncSearch: rename variable to avoid shadowing an earlier 'part'
12025 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
12026 primitives: move more aliasing to Setup_Alias_Primitives
12029 2014-06-02 Satoshi Nakagawa <nakagawa424@oki.com>
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
12039 2014-06-02 Steve Borho <steve@borho.org>
12041 * source/Lib/TLibEncoder/TEncSearch.cpp:
12042 TEncSearch: remove unnecessary pragma
12045 * source/Lib/TLibCommon/TComRdCost.h:
12046 Merge with default (prepare for 1.1)
12047 [108996798e78] <stable>
12049 * source/encoder/rdcost.h:
12050 psy: use m_lambdaSAD multiplier for psy cost, m_lambdaSSE for bits
12052 in x264, m_lambdaSSE = lambda2, m_lambdaSAD = lambda
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
12116 2014-05-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
12125 --lossless forces full lossless coding of every frame and every CU.
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.
12131 2014-06-02 Steve Borho <steve@borho.org>
12133 * source/Lib/TLibEncoder/TEncCu.cpp:
12137 2014-05-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
12145 2014-06-02 Aarthi Thirumalai <Aarthi Thirumalai>
12147 * source/encoder/ratecontrol.cpp:
12148 rc: improve visual quality in high bit depth encodes.
12151 2014-06-02 Steve Borho <steve@borho.org>
12153 * source/encoder/CMakeLists.txt:
12157 * source/encoder/CMakeLists.txt:
12158 cmake: encoder.cpp no longer needs -Wno-unused-parameter
12161 * source/CMakeLists.txt, source/common/CMakeLists.txt:
12162 cmake: move all "GCC-like" logic together, use consistent var names
12165 2014-05-30 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
12167 * source/CMakeLists.txt:
12168 Disable exceptions for all compilers which support fno-exceptions
12171 2014-05-30 Aarthi Thirumalai <Aarthi Thirumalai>
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
12181 2014-06-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12183 * doc/reST/presets.rst, source/common/param.cpp:
12184 preset: set superfast, veryfast, faster and fast presets to rd 2.
12187 * doc/reST/presets.rst, source/common/param.cpp:
12188 preset: For ultrafast preset, turn off lft, change rdLevel from 3 to
12191 This adds about 20-25% more performance for ultrafast presets at
12192 little efficiency cost.
12195 2014-05-29 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
12197 * source/CMakeLists.txt:
12198 Disable exceptions. Fixes Clang linker errors.
12201 2014-05-29 Steve Borho <steve@borho.org>
12203 * source/encoder/ratecontrol.cpp:
12204 rc: cleanups for clarity
12207 2014-05-29 Aarthi Thirumalai <Aarthi Thirumalai>
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.
12213 Try to prevent ABR over-compensation after I frames by amortizing
12214 the cost over the next few frames;
12216 Improve ABR quality with frame parallelism - enable frame
12217 parallelism only after first few P frames to prevent excessive qp
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
12226 2014-05-29 Steve Borho <steve@borho.org>
12228 * source/cmake/CMakeASM_YASMInformation.cmake:
12229 cmake: 32-bit macho compiles need _ prefixes on exported functions
12232 2014-05-28 Steve Borho <steve@borho.org>
12234 * doc/reST/cli.rst, doc/reST/presets.rst, source/common/param.cpp:
12235 preset: disable rectangular and AMP partitions at medium preset
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.
12243 2014-05-28 Satoshi Nakagawa <nakagawa424@oki.com>
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
12260 2014-05-28 Steve Borho <steve@borho.org>
12262 * source/Lib/TLibEncoder/TEncSearch.cpp:
12266 * source/Lib/TLibEncoder/TEncSearch.cpp,
12267 source/encoder/frameencoder.cpp:
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
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
12284 * doc/reST/cli.rst:
12285 rest: add missing --no-repeat-headers option
12288 * source/Lib/TLibEncoder/TEncCu.cpp:
12292 2014-05-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
12299 * source/Lib/TLibEncoder/TEncCu.cpp:
12300 TEncCU: inserting runtime checking for m_totalPsyCost
12303 2014-05-27 Kavitha Sampath <kavitha@multicorewareinc.com>
12305 * source/encoder/frameencoder.cpp:
12306 SEI: fix bug in picture timing SEI when interlace encoding is
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
12314 2014-05-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12316 * source/Lib/TLibEncoder/TEncCu.cpp,
12317 source/Lib/TLibEncoder/TEncSearch.cpp:
12318 psyRD: psyRD costs are saved into m_totalPsyCost.
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
12328 * source/Lib/TLibCommon/TComDataCU.cpp,
12329 source/Lib/TLibCommon/TComDataCU.h:
12330 TComDataCU: introduce new variable m_totalPsyCost
12333 * source/Lib/TLibCommon/TComDataCU.cpp:
12334 TComDataCU: whitespace nits
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
12344 2014-05-25 Satoshi Nakagawa <nakagawa424@oki.com>
12346 * source/CMakeLists.txt:
12347 add -D__STDC_LIMIT_MACROS=1
12350 2014-05-25 Steve Borho <steve@borho.org>
12352 * source/Lib/TLibCommon/TComPrediction.cpp,
12353 source/Lib/TLibEncoder/TEncSearch.cpp:
12357 2014-05-23 Steve Borho <steve@borho.org>
12359 * source/common/shortyuv.cpp:
12360 assert to optional runtime check
12363 2014-05-23 Satoshi Nakagawa <nakagawa424@oki.com>
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
12381 2014-05-24 Satoshi Nakagawa <nakagawa424@oki.com>
12383 * source/encoder/rdcost.h:
12384 rdcost: overflow check by integer
12387 2014-05-23 Steve Borho <steve@borho.org>
12389 * source/compat/msvc/stdint.h:
12390 vc9: define UINT64_MAX in our hacked stdint.h
12393 * source/common/CMakeLists.txt:
12394 cmake: re-split TLibCommon headers to fix VC9 builds
12397 2014-05-22 Steve Borho <steve@borho.org>
12399 * source/encoder/rdcost.h:
12400 rdcost: fix energy cost check, dc is already subtracted from the
12404 * source/encoder/rdcost.h:
12405 rdcost: use floating point math to calculate psy rd cost
12408 * source/encoder/rdcost.h:
12409 rdcost: fix dc portion of psy energy calculation
12411 now flat blocks have energy of 0, as expected
12414 2014-05-15 Steve Borho <steve@borho.org>
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
12422 2014-05-22 Steve Borho <steve@borho.org>
12424 * doc/reST/presets.rst, source/common/param.cpp:
12425 param: introduce warnings about measurements with psy-opts enabled
12427 Disable psy-rd when tuning for psnr or ssim, and validate various
12431 * source/Lib/TLibEncoder/TEncSearch.cpp:
12432 TEncSearch: readability nits
12435 2014-05-19 Satoshi Nakagawa <nakagawa424@oki.com>
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
12443 2014-05-22 Steve Borho <steve@borho.org>
12445 * source/encoder/encoder.cpp:
12446 rc: simplify updateVbvPlan()
12449 2014-05-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12451 * doc/reST/cli.rst:
12452 rest: refine rdLevels description.
12455 * doc/reST/cli.rst, source/encoder/cturow.cpp:
12456 psyrd: is enabled only at rdLevels 5 and 6.
12458 Only rdLevels 5 and 6 use full-RDO based decisions. These are used
12459 in presets slower, veryslow and placebo.
12462 2014-05-22 Santhoshini Sekar <santhoshini@multicorewareinc.com>
12464 * source/encoder/encoder.cpp:
12465 rc: always use frameSizeEstimted for bits in updateVbvPlan
12468 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
12469 rc: rename variable vbvMinRate to isCbr
12472 2014-05-22 Satoshi Nakagawa <nakagawa424@oki.com>
12474 * source/encoder/slicetype.cpp:
12475 fix: segmentation fault --tune zerolatency
12478 2014-05-21 Steve Borho <steve@borho.org>
12480 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
12481 source/Lib/TLibEncoder/TEncSearch.cpp,
12482 source/encoder/CMakeLists.txt:
12483 cmake: re-enable wd4800 for TLibEncoder
12486 * source/common/CMakeLists.txt:
12487 cmake: further cleanups
12490 * source/common/CMakeLists.txt:
12491 cmake: re-enable wd4244 and wd4127 in common/vec
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
12502 * source/encoder/frameencoder.cpp:
12503 frameencoder: fixup comment following variable rename
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
12512 * source/common/CMakeLists.txt:
12513 cmake: merge TLibCommon source groups
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
12525 The RDCost class has no resemblance to the original TComRdCost
12529 2014-05-21 Praveen Tiwari <Praveen Tiwari>
12531 * source/Lib/TLibCommon/TComRom.h:
12532 TComRom.h, removed unused tables
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
12544 2014-05-21 Steve Borho <steve@borho.org>
12546 * source/Lib/TLibCommon/TComTrQuant.h:
12550 2014-05-21 Santhoshini Sekar <santhoshini@multicorewareinc.com>
12552 * source/encoder/ratecontrol.cpp:
12553 aq: fine tune aq logic to distribute bits even better
12556 2014-05-21 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
12558 * source/cmake/version.cmake:
12559 cmake: detect mercurial source installs on Windows, fixes #56
12562 2014-05-20 Steve Borho <steve@borho.org>
12564 * doc/reST/cli.rst, source/x265.cpp:
12565 psy: mention the fact that psy-rd requires rdo
12568 * source/Lib/TLibCommon/TComTrQuant.cpp:
12572 * source/common/param.cpp:
12573 param: fix check of minimum picture dimensions
12576 * source/common/winxp.cpp:
12577 xp: hack to avoid linker warnings
12580 * doc/reST/presets.rst:
12581 rest: update fastdecode to mention no intra in B
12584 2014-05-20 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
12586 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
12587 asm: fix bug for invalid read in sa8d
12589 fix invalid read when different stride value given for two input
12590 buffer and enabled 16x16 and 8x8 sa8d primitives.
12593 2014-05-20 Steve Borho <steve@borho.org>
12595 * source/common/param.cpp:
12596 param: tabs to spaces
12599 2014-05-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
12601 * source/common/param.cpp, source/x265.cpp:
12602 param: initialise crf-max and crf-min values in the param structure.
12606 help: removing the default QP value in the help message
12608 Since CQP is not the default rate control mode, a default QP
12612 2014-05-19 Ashok Kumar Mishra <ashok@multicorewareinc.com>
12614 * source/Lib/TLibEncoder/TEncSearch.cpp:
12615 fix : square chroma transform expected error message
12618 2014-05-18 Satoshi Nakagawa <nakagawa424@oki.com>
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
12630 2014-05-16 Satoshi Nakagawa <nakagawa424@oki.com>
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
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:
12649 2014-05-19 Steve Borho <steve@borho.org>
12651 * source/Lib/TLibCommon/TComRdCost.h:
12652 psyrd: use EMMS before checking calcPsyRdCost
12655 2014-05-16 Steve Borho <steve@borho.org>
12657 * source/Lib/TLibEncoder/TEncCu.cpp:
12658 psyrd: use actual recon pixels for intra predictions (bug spotted by
12662 * doc/reST/cli.rst:
12663 rest: improve --rd docs
12666 * source/encoder/ratecontrol.cpp:
12667 ratecontrol: initialize singleFrameVbv (bug spotted by valgrind)
12670 * source/encoder/slicetype.cpp:
12671 slicetype: initialize bReady (bug spotted by valgrind)
12674 2014-05-16 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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
12682 2014-05-16 Steve Borho <steve@borho.org>
12684 * source/Lib/TLibEncoder/TEncCu.cpp,
12685 source/Lib/TLibEncoder/TEncSearch.cpp:
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
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
12699 This fixes the DC component calculation at the same time making the
12700 calculation more efficient.
12703 * source/encoder/slicetype.cpp:
12704 slicetype: fix unintended assignment
12707 2014-05-08 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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
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
12722 2014-05-15 Gopu Govindaswamy <Gopu Govindaswamy>
12724 * source/encoder/slicetype.cpp:
12725 cutree: removed logLevel check from if loop
12728 * source/encoder/slicetype.cpp:
12729 cutree: adjust the rowSatd with qpoffset only for reference frames
12732 2014-05-15 Steve Borho <steve@borho.org>
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
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.
12745 * source/common/param.cpp, source/x265.cpp:
12746 cli: remove default strings for preset and tune, modify default AQ
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)
12756 * source/common/common.h:
12757 checked: enable check macros in debug builds
12760 * source/common/common.h:
12761 check: disable MSVC warnings about constant conditionals with
12765 * source/Lib/TLibCommon/TComRdCost.h:
12766 check: fix MSVC warnings and check behavior
12769 2014-05-14 Steve Borho <steve@borho.org>
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
12794 2014-05-14 Satoshi Nakagawa <nakagawa424@oki.com>
12796 * source/Lib/TLibEncoder/TEncCu.cpp,
12797 source/Lib/TLibEncoder/TEncSearch.cpp:
12801 2014-05-14 Steve Borho <steve@borho.org>
12803 * source/Lib/TLibEncoder/TEncSearch.cpp:
12804 TEncSearch: remove unused (and shadowed) variable
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
12819 2014-05-11 Satoshi Nakagawa <nakagawa424@oki.com>
12821 * source/Lib/TLibEncoder/TEncSearch.cpp:
12822 fix 4:2:2 coeff rate calc
12825 2014-05-10 Satoshi Nakagawa <nakagawa424@oki.com>
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
12836 2014-05-12 Steve Borho <steve@borho.org>
12838 * source/encoder/ratecontrol.cpp:
12839 ratecontrol: do not low-clip first I frame with ABR
12842 2014-05-09 Satoshi Nakagawa <nakagawa424@oki.com>
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
12852 2014-05-12 Steve Borho <steve@borho.org>
12854 * doc/reST/api.rst:
12858 2014-05-11 Steve Borho <steve@borho.org>
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
12865 2014-05-10 Steve Borho <steve@borho.org>
12867 * doc/reST/presets.rst:
12868 rest: add a note to the tune documentation about using --tune
12885 api: remove mention of x265_encoder_reconfig(), which doesn't yet
12890 api: remove _t suffix from x265_param in comments
12893 2014-05-08 Satoshi Nakagawa <nakagawa424@oki.com>
12895 * source/Lib/TLibCommon/TComDataCU.cpp,
12896 source/Lib/TLibEncoder/TEncSearch.cpp:
12897 reduce malloc call to avoid fragment and overhead
12900 2014-05-08 Steve Borho <steve@borho.org>
12902 * source/Lib/TLibCommon/TComRdCost.h:
12903 rdcost: fix comments for lambda fix8 variables, refs b77ca886ef3b
12906 2014-05-09 Min Chen <chenm003@163.com>
12908 * source/common/x86/intrapred8.asm:
12909 reduce code size on intra_pred_ang8_*
12912 2014-05-08 Steve Borho <steve@borho.org>
12914 * source/Lib/TLibCommon/TComPic.h:
12918 * doc/reST/cli.rst:
12919 rest: fix indent of min-crf
12922 * doc/reST/cli.rst, source/x265.cpp:
12923 cli: expose param.bRepeatHeaders to the CLI, reorder help for more
12927 * source/encoder/slicetype.cpp:
12928 slicetype: avoid implicit integer conversions, fix MSVC warning
12930 intraCost is an int array, so there was no purpose to downcasting to
12934 2014-05-08 Aarthi Thirumalai <Aarthi Thirumalai>
12936 * source/encoder/ratecontrol.cpp:
12937 rc: add minor changes in flow when singleFrameVbv, rateFactorMax
12941 * source/encoder/ratecontrol.cpp:
12942 rc: update logic in clipQScale for vbv, when vbv lookahead is done,
12945 * source/encoder/ratecontrol.cpp:
12946 rc: clamp qp for first I frame only in rateEstimateQscale (changes
12950 2014-05-08 Gopu Govindaswamy <Gopu Govindaswamy>
12952 * source/encoder/ratecontrol.cpp:
12953 rc: qpvbv is between qpMin and prevRowQp when specifies the
12957 2014-05-08 Aarthi Thirumalai <Aarthi Thirumalai>
12959 * source/encoder/slicetype.cpp:
12960 slicetype: update the lowresCosts and intraCosts when aq/cutree is
12964 2014-05-08 Kavitha Sampath <kavitha@multicorewareinc.com>
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
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
12982 2014-05-08 Steve Borho <steve@borho.org>
12984 * source/CMakeLists.txt:
12985 cmake: bump X265_BUILD for qpfile and crf-min
12988 2014-05-08 Gopu Govindaswamy <Gopu Govindaswamy>
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
12997 2014-05-07 Steve Borho <steve@borho.org>
12999 * doc/reST/cli.rst:
13000 rest: document --qpfile
13003 2014-05-07 Gopu Govindaswamy <Gopu Govindaswamy>
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
13011 2014-05-06 Steve Borho <steve@borho.org>
13013 * Merge with stable
13016 2014-05-07 Tom Vaughan <tom.vaughan@multicorewareinc.com>
13018 * doc/reST/presets.rst:
13019 presets.rst edited online with Bitbucket - Correct spelling
13020 [607384b3312e] <stable>
13022 2014-05-05 Satoshi Nakagawa <nakagawa424@oki.com>
13024 * source/Lib/TLibEncoder/TEncEntropy.cpp,
13025 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
13026 fix: residualQTIntrachroma() for 4:2:2
13029 2014-05-03 Satoshi Nakagawa <nakagawa424@oki.com>
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
13036 - cleanup slice end check
13037 - fix split bits for TOPSKIP
13040 2014-05-06 Steve Borho <steve@borho.org>
13042 * source/common/param.cpp:
13043 log: remove hyphen from signhide, so it matches param name
13045 This is just to avoid confusion
13048 * Merge with stable
13051 * doc/reST/index.rst, doc/reST/presets.rst:
13052 rest: add a page describing presets
13053 [110993a5ef10] <stable>
13055 2014-05-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13057 * source/encoder/ratecontrol.cpp:
13058 ratecontrol: remove repeat initialisations.
13061 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
13062 ratecontrol: remove RateControl->qpNoVbv.
13064 Less confusion, and we have whatever info we need in rce->qpNoVbv
13068 * source/encoder/ratecontrol.cpp:
13069 ratecontrol: avoid clipping QP multiple times when VBV is not
13073 2014-05-06 Aarthi Thirumalai <Aarthi Thirumalai>
13075 * source/encoder/slicetype.cpp:
13076 slicetype: avoid redundant call. intraSatd costs are updated in
13077 frameEncoder already
13080 2014-05-06 Gopu Govindaswamy <Gopu Govindaswamy>
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
13088 2014-05-06 Steve Borho <steve@borho.org>
13090 * source/Lib/TLibCommon/TComRdCost.h:
13091 check: add checks for integer overflow in rdcost functions
13094 2014-05-05 Steve Borho <steve@borho.org>
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
13103 ignore .DS_Store files (Mac pocket lint)
13106 * source/input/y4m.cpp, source/input/y4m.h:
13107 y4m: support variable bit depth via CXXXpDD Y4MPEG header; ie:
13110 ffmpeg's support for this is non-standard, so you must use -strict
13113 ffmpeg -i vid.avi -pix_fmt yuv420p10le -strict -1 -f yuv4mpegpipe -
13114 | ./x265 - --y4m o.hevc
13119 2014-05-04 Steve Borho <steve@borho.org>
13122 cli: report input bit depth
13125 2014-05-05 Steve Borho <steve@borho.org>
13127 * doc/reST/introduction.rst:
13128 rest: update introduction page, add more detail about software
13132 2014-05-03 Steve Borho <steve@borho.org>
13134 * Merge with stable
13137 * source/Lib/TLibCommon/TComRdCost.h:
13138 rdcost: explicit cast of return value, to prevent MSVC warnings
13139 [04e91f38854f] <stable>
13141 2014-05-01 Steve Borho <steve@borho.org>
13143 * source/CMakeLists.txt, source/cmake/clean-generated.cmake:
13144 cmake: add a clean-generated Makefile rule
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'
13150 The "easy" workaround for this problem is to just nuke the build
13151 folder and start a new one.
13154 * source/input/y4m.cpp, source/input/yuv.cpp:
13155 use fseekg() to skip frames for 64bit builds
13157 This is orders of magnitude faster, at least on Windows, than
13158 repeated calls to ignore(framesize)
13161 2014-05-02 Steve Borho <steve@borho.org>
13163 * Merge with stable
13167 Added tag 1.0 for changeset cea97c4d7945
13168 [d3d47e3ef9c2] <stable>
13170 2014-05-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13172 * source/encoder/frameencoder.cpp:
13173 interlace: set sourceScanType to 0 to indicate interlaced video
13174 [cea97c4d7945] [1.0] <stable>
13176 2014-05-02 Aarthi Thirumalai <Aarthi Thirumalai>
13178 * source/Lib/TLibCommon/TComRom.cpp:
13179 fix g_chromaScale for 420 videos accordingly to the HEVC spec.
13180 [9b66012c93bb] <stable>
13182 2014-05-02 Steve Borho <steve@borho.org>
13184 * source/Lib/TLibCommon/TComRdCost.h:
13185 rdcost: use less fractional bits for lambda scale, and larger ints
13188 This fixes really bad mode decisions made with some Main10 encodes
13189 that were apparently caused by integer overflow
13190 [b77ca886ef3b] <stable>
13192 2014-05-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13194 * source/encoder/frameencoder.cpp:
13195 interlace: set sourceScanType to 0 to indicate interlaced video
13198 2014-05-01 Steve Borho <steve@borho.org>
13200 * Merge with stable
13203 * source/encoder/slicetype.cpp:
13204 slicetype: pre-calculate cost estimates for B slices, simplify
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
13212 With this patch, we estimate B costs unless CQP is in use, and this
13213 allows us to simplify getEstimatedPictureCost()
13216 2014-04-30 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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>
13224 2014-04-29 Steve Borho <steve@borho.org>
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>
13230 * source/encoder/encoder.cpp:
13231 csv: always write summary info if file handle is open
13233 fixes behavior of --csv FILE --log full
13234 [148c3b9c11fd] <stable>
13236 * Merge with default (code freeze for 1.0)
13237 [c6ca14a4f2fa] <stable>
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
13280 * source/encoder/slicetype.cpp:
13284 2014-04-28 Steve Borho <steve@borho.org>
13286 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
13287 TComRom: hard-code the lambda tables
13290 2014-04-28 Aarthi Thirumalai <Aarthi Thirumalai>
13292 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp,
13293 source/encoder/slicetype.h:
13294 remove list data from lowres costs prior to use
13297 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
13298 fix g_chromaScale to be full length
13301 2014-04-25 Satoshi Nakagawa <nakagawa424@oki.com>
13303 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
13304 fix: 4:2:2 rdLevel <= 1
13307 2014-04-28 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13309 * source/Lib/TLibCommon/TComLoopFilter.cpp:
13310 fix hash mismatch for 422 format with HM 14.0_RExt decoder
13313 2014-04-27 Steve Borho <steve@borho.org>
13315 * source/encoder/slicetype.cpp:
13316 slicetype: remove unused auto var
13319 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
13320 slicetype: rename rowsCompleted to bFrameCompleted
13322 one would expect rowsCompleted to be a counter, when in fact it is a
13323 bool value signaling completion of the whole frame.
13326 2014-04-27 Aarthi Thirumalai <Aarthi Thirumalai>
13328 * source/encoder/slicetype.cpp:
13329 slicetype: fix incorrect initialization of fenc->rowSatds when wpp
13333 2014-04-27 Steve Borho <steve@borho.org>
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
13340 2014-04-25 Min Chen <chenm003@163.com>
13342 * source/test/checkasm-a.asm, source/test/pixelharness.cpp,
13343 source/test/testharness.h:
13344 testbench: support float ret value
13347 * source/common/x86/intrapred8.asm:
13348 correct register num in intrapred8.asm
13351 * source/common/x86/pixel-util8.asm:
13352 fix pixel_ssim_end4, the 3rd is dword
13355 2014-04-24 Steve Borho <steve@borho.org>
13357 * source/test/pixelharness.cpp:
13358 pixelharness: stack-check ssim_end4_t, this seems to expose an
13362 * source/common/x86/ipfilter8.asm:
13363 ipfilter: fix register stack allocation in luma horizontal filter
13366 * source/test/mbdstharness.cpp:
13367 dct: fix MSVC warnings
13370 * source/common/intrapred.cpp, source/common/primitives.h,
13371 source/common/x86/intrapred.h:
13372 primitives: pass bool value as int to assembly
13374 bool type is too ambiguous
13377 * doc/reST/cli.rst:
13378 rest: move quality metrics section up higher
13381 * doc/reST/cli.rst:
13382 rest: move --repeat-headers to bitstream options section
13385 * doc/reST/cli.rst:
13386 rest: loop filters, plural
13389 * doc/reST/cli.rst:
13390 rest: move --hash into bitream options section, document error-
13394 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
13395 dct: stack-check asm transform/quant primitives
13398 * source/test/ipfilterharness.cpp:
13399 ipfilter: remove utterly useless comments
13402 * source/test/ipfilterharness.cpp:
13403 ipfilter: stack-check asm filter primitives
13406 * source/test/intrapredharness.cpp:
13407 intrapred: stack-check asm intra primitives
13409 prune some extra memsets that were used during development
13412 2014-04-24 Min Chen <chenm003@163.com>
13414 * source/common/x86/pixel-a.asm:
13415 correct register number in pixel-a.asm
13418 2014-04-24 Steve Borho <steve@borho.org>
13420 * source/Lib/TLibCommon/TComMotionInfo.h:
13421 TComMotionInfo: nit
13424 * source/test/CMakeLists.txt, source/test/pixelharness.cpp:
13425 fixups for testbench build on Windows
13428 2014-04-17 Steve Borho <steve@borho.org>
13430 * source/cmake/CMakeASM_YASMInformation.cmake, source/common/common.h,
13431 source/common/threading.cpp:
13432 align the stack for GCC x86_32 builds
13434 For all threads x265 creates, align the stack immediately in the
13435 call to threadMain().
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
13442 2014-04-24 Steve Borho <steve@borho.org>
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)
13449 2014-04-23 Steve Borho <steve@borho.org>
13451 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake,
13452 source/common/CMakeLists.txt:
13453 cmake: export YASM_FLAGS from CMakeASM_YASMInformation.cmake
13455 This avoids duplicate logic in other cmake scripts
13458 2014-04-23 Min Chen <chenm003@163.com>
13460 * source/common/x86/blockcopy8.asm:
13461 improve by LEA to ADD in cvt32to16_shr
13464 2014-04-23 Steve Borho <steve@borho.org>
13466 * source/common/primitives.h:
13470 2014-04-23 Min Chen <chenm003@163.com>
13472 * source/common/x86/x86inc.asm:
13476 * source/test/pixelharness.cpp:
13477 pixelharness: stack-check all asm pixel primitives
13480 * source/common/CMakeLists.txt, source/common/x86/checkasm-a.asm,
13481 source/test/testharness.h:
13482 testbench: port x264 stack & register check code
13485 2014-04-23 Steve Borho <steve@borho.org>
13487 * source/common/threadpool.cpp:
13488 threadpool: increase reference count if pool was allocated while
13492 2014-04-23 Min Chen <chenm003@163.com>
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
13499 2014-04-22 Steve Borho <steve@borho.org>
13501 * source/common/x86/x86inc.asm:
13502 Backed out changeset: ce11d3617899
13505 * source/CMakeLists.txt:
13506 cmake: do not prefix absolute library paths with -l in pc file
13508 fixes static linking on Mac OS X in particular
13511 2014-04-22 Gopu Govindaswamy <Gopu Govindaswamy>
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
13519 2014-04-22 Murugan Vairavel <murugan@multicorewareinc.com>
13521 * source/test/pixelharness.cpp:
13522 testbench: ensure randomly generated width and height are >= 16
13524 Fixes a crash in testbench caused by upshift and downshift when
13528 2014-04-22 Min Chen <chenm003@163.com>
13530 * source/common/x86/x86inc.asm:
13534 2014-04-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13536 * source/Lib/TLibEncoder/TEncSearch.cpp:
13537 me: backout previous patch; add 1 to account for temporal MV
13541 * source/Lib/TLibEncoder/TEncSearch.cpp:
13542 me: stack allocated pointer moved to heap
13545 2014-04-21 Steve Borho <steve@borho.org>
13547 * source/encoder/slicetype.h:
13548 slicetype: rowsCompleted variable should be volatile
13550 Don't allow a compiler to optimize out the reads, it would cause a
13554 * source/common/param.cpp:
13555 log: do not report weightb twice
13558 2014-04-22 Den Scherbin <dncodr at gmail.com> <dncodr at gmail.com>
13561 cli: fix bitrate output when encoding
13564 2014-04-21 Steve Borho <steve@borho.org>
13566 * doc/reST/cli.rst:
13567 rest: improve VUI docs
13570 * doc/reST/cli.rst:
13571 rest: remove redundant `in`
13574 * doc/reST/cli.rst:
13575 rest: improve description of constrained intra
13578 * doc/reST/cli.rst:
13579 rest: update --qp docs to mention behavior of --qp 0
13582 2014-04-21 Ashok Kumar Mishra <ashok@multicorewareinc.com>
13584 * source/Lib/TLibCommon/TComYuv.cpp,
13585 source/Lib/TLibEncoder/TEncSearch.cpp:
13586 fix preset placebo option crash for 444 color format
13589 2014-04-12 Steve Borho <steve@borho.org>
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
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
13600 Improves performance in presets that were bottlenecked by b-adapt 2
13601 style lookahead complexity.
13604 2014-03-27 Steve Borho <steve@borho.org>
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]
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
13619 These lambda tables seem to help most at low QPs, allowing the
13620 encoder to get nearly lossless quality at high bitrates.
13623 2014-04-17 Steve Borho <steve@borho.org>
13625 * source/Lib/TLibCommon/TComDataCU.cpp:
13626 TComDataCU: nits, assume sizeof(char) == sizeof(uint8_t)
13628 cleanup white-space and hungarian prefixes
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)
13637 2014-04-21 Min Chen <chenm003@163.com>
13639 * source/common/x86/blockcopy8.asm:
13640 fix asm cvt32to16_s wrong XMM register number
13643 2014-04-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13645 * source/Lib/TLibCommon/TComDataCU.cpp:
13646 TComDataCU: initCU was missing this initialisation, possible causing
13647 errors in row restarts.
13650 2014-04-17 Steve Borho <steve@borho.org>
13652 * source/encoder/ratecontrol.h:
13653 rc: remove unused keyFrameInterval
13656 * source/encoder/ratecontrol.cpp:
13657 rc: if --qp 0 is specified, use zero quant for all slice types
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.
13664 2014-04-16 Steve Borho <steve@borho.org>
13666 * source/common/threadpool.cpp:
13667 threadpool: use a mutex to protect pool allocation
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
13674 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
13678 2014-04-03 Gopu Govindaswamy <Gopu Govindaswamy>
13680 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
13681 source/encoder/frameencoder.h:
13682 frameencoder: store the reference state of the picture in
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
13694 Moved slice reference state initialization from dpb to FrameEncoder
13696 [aacd6919d173] <stable>
13698 2014-04-16 Min Chen <chenm003@163.com>
13700 * source/common/x86/dct8.asm:
13701 align DCT8's stack to 64-bytes to avoid crash and improve cache
13705 2014-04-16 Steve Borho <steve@borho.org>
13707 * source/Lib/TLibCommon/TComSlice.cpp:
13708 TComSlice: initialize m_vps pointer
13711 * source/encoder/frameencoder.cpp:
13712 encoder: singleton m_vps nits
13715 * source/cmake/CMakeASM_YASMInformation.cmake:
13719 * source/encoder/frameencoder.cpp:
13723 2014-04-03 Steve Borho <steve@borho.org>
13725 * source/encoder/frameencoder.cpp:
13726 frameencoder: use m_isReferenced when configuring SAO in
13729 In some pessimal situations, the slice's reference state could even
13730 be changed by the time compressFrame() starts. This prevents any
13732 [5746582ff4a6] <stable>
13734 2014-04-15 Aarthi Thirumalai <Aarthi Thirumalai>
13736 * source/encoder/frameencoder.cpp:
13737 vbv: clear row diagonal and cu SATD costs after vbv row reset was
13741 [03525a77d640] <stable>
13743 2014-04-16 Steve Borho <steve@borho.org>
13745 * source/cmake/CMakeASM_YASMInformation.cmake:
13746 cmake: use HAVE_ALIGNED_STACK=0 for x86_32 builds, even for GCC
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.
13753 This fixes a number of reported crashes on 32bit builds
13754 [cfb1bb58d4fe] <stable>
13756 * source/encoder/motion.cpp:
13757 motion: always include the mvcost returned by motionEstimate
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-
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>
13772 2014-04-16 Ashok Kumar Mishra <ashok@multicorewareinc.com>
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
13780 2014-04-15 Steve Borho <steve@borho.org>
13783 cli: help nits (closes #47)
13786 2014-04-15 Aarthi Thirumalai <Aarthi Thirumalai>
13788 * source/encoder/frameencoder.cpp:
13789 vbv: clear row diagonal and cu SATD costs after vbv row reset was
13795 2014-04-15 Satoshi Nakagawa <nakagawa424@oki.com>
13797 * source/Lib/TLibEncoder/TEncSearch.cpp:
13801 2014-04-14 Steve Borho <steve@borho.org>
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
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)
13813 2014-04-15 Satoshi Nakagawa <nakagawa424@oki.com>
13815 * source/Lib/TLibCommon/TComPattern.cpp:
13816 fix: constrained intra
13819 2014-04-14 Steve Borho <steve@borho.org>
13821 * source/encoder/ratecontrol.cpp:
13822 ratecontrol: fix indentations
13825 * source/common/pixel.cpp:
13826 pixel: remove out-of-range chroma copy function assignments
13829 * source/Lib/TLibCommon/TComDataCU.cpp:
13830 TComDataCU: white-space nits
13833 * source/common/param.cpp:
13834 param: reintroduce range checks of internalCsp
13837 * doc/reST/cli.rst:
13838 rest: update colorspace docs
13841 2014-04-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13843 * source/encoder/encoder.cpp:
13847 * source/encoder/encoder.cpp:
13848 encoder: weightP not supported yet for 444 and 422.
13852 x265: adding support for i422 in the help command
13855 2014-04-12 ashok <ashok@multicorewareinc.com>
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
13864 * source/Lib/TLibCommon/TComLoopFilter.cpp,
13865 source/Lib/TLibCommon/TComPattern.h:
13866 Modify TComLoopFilter structure to support 422 color space format
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
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
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
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
13895 2014-04-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13897 * source/encoder/ratecontrol.cpp:
13898 ratecontrol: Fix initial I-slice QP for 10-bit CRF mode.
13901 2014-04-11 Steve Borho <steve@borho.org>
13903 * source/common/winxp.cpp, source/common/winxp.h:
13904 xp: fix build with XP headers
13907 * source/CMakeLists.txt:
13908 cmake: allow icpc to use vectorization if it likes
13911 2014-04-09 Satoshi Nakagawa <nakagawa424@oki.com>
13913 * source/Lib/TLibCommon/TComDataCU.cpp,
13914 source/Lib/TLibCommon/TComPattern.cpp,
13915 source/Lib/TLibCommon/TComPattern.h:
13916 cip: add is*AvailableCIP()
13918 simplify no CIP case.
13921 2014-04-11 Steve Borho <steve@borho.org>
13923 * source/Lib/TLibCommon/TComTrQuant.cpp:
13927 * source/Lib/TLibCommon/TComTrQuant.cpp:
13928 TComTrQuant: comparing >=0 of unsigned variable is always true
13931 2014-04-10 Murugan Vairavel <murugan@multicorewareinc.com>
13933 * source/common/x86/asm-primitives.cpp:
13934 asm-primitives: Enable missing XOP primitives in HIGH_BIT_DEPTH
13937 * source/common/x86/x86util.asm:
13938 asm: HADDD optimization for XOP
13941 2014-04-08 Aarthi Thirumalai <Aarthi Thirumalai>
13943 * source/encoder/ratecontrol.cpp:
13944 vbv: log frame-average QPs for VBV; even when AQ is disabled.
13947 2014-04-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13949 * source/encoder/ratecontrol.cpp:
13950 ratecontrol: prevent one layer of non-zero I-slice qp clipping
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.
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.
13963 2014-04-09 Steve Borho <steve@borho.org>
13965 * source/encoder/level.cpp:
13966 level: fix MinGW warning
13969 2014-04-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13971 * source/Lib/TLibCommon/CommonDef.h, source/encoder/ratecontrol.cpp,
13972 source/encoder/ratecontrol.h:
13973 ratecontrol: cleanup, replace (unnecessary) constant arrays with
13977 2014-04-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13979 * source/encoder/ratecontrol.cpp:
13980 ratecontrol: more dead code removed
13983 2014-04-09 Steve Borho <steve@borho.org>
13985 * source/encoder/level.cpp:
13986 level: fix MSVC compile error, give sqrt() argument unambiguous data
13990 2014-04-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
13992 * source/encoder/ratecontrol.cpp:
13993 ratecontrol: partial backout of 6284b30a0fdd, get rid of debugging
13997 * source/encoder/level.cpp:
13998 level: remove conditional expression warning
14001 * source/encoder/ratecontrol.cpp:
14002 ratecontrol: remove dead code
14004 Imported from x264; likely a part of 2-pass. In any case, not
14008 2014-04-07 Steve Borho <steve@borho.org>
14010 * source/x265.rc.in:
14011 rc: update the default build output filename for our DLL
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
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
14025 this commit also lays the groundwork for adding --level 5.1 --tier
14029 2014-04-08 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14031 * source/Lib/TLibCommon/TComPic.cpp:
14032 TComPic: change pointer initial values to NULL (instead of 0).
14035 2014-04-07 Satoshi Nakagawa <nakagawa424@oki.com>
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
14045 2014-04-06 Rafaël Carré <Rafaël Carré>
14047 * source/common/CMakeLists.txt, source/common/param.cpp:
14048 strtok_r: fix detection on Windows
14050 * Make sure HAVE_STRTOK_R is always defined, to 0 if absent
14052 * mingw-w64's pthread.h #defines strtok_r, make sure to undef it
14053 before we use our own definition.
14056 2014-04-05 Steve Borho <steve@borho.org>
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
14063 These two params can be implied from other parameters, and having
14064 them present only makes the VUI configuration more complicated than
14067 This commit also drops the debugging --vui CLI option
14070 2014-04-04 Steve Borho <steve@borho.org>
14072 * doc/reST/cli.rst:
14073 rest: we don't abbreviate integer anywhere else
14076 * doc/reST/cli.rst:
14077 rest: fix the straw-man
14079 The two-argument command line doesn't work for YUV since you need to
14080 provide the resolution and frame rate
14083 * source/common/param.cpp:
14084 param: force bRepeatHeaders for the still picture profile
14087 * source/encoder/api.cpp, source/x265.cpp:
14088 log: move logging of version and build info into libx265
14090 Now this data will be reported in the logs even when x265 is used as
14091 a shared or static library
14094 2014-04-03 Steve Borho <steve@borho.org>
14096 * source/test/pixelharness.cpp:
14097 testbench: prevent 0 height in plane copy tests
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
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)
14114 cli: add missing --no-dither option to getopt list
14117 * source/Lib/TLibEncoder/TEncEntropy.h:
14121 * doc/reST/cli.rst:
14125 * source/common/param.cpp:
14126 param: nit reorder of RC mode checks to avoid uncrustify problems
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
14133 * source/common/param.cpp:
14134 param: enforce a minimum picture size
14136 Do not allow the user to configure a picture smaller than at least
14140 * source/encoder/frameencoder.cpp:
14141 frameencoder: use m_isReferenced when configuring SAO in
14144 In some pessimal situations, the slice's reference state could even
14145 be changed by the time compressFrame() starts. This prevents any
14149 * source/encoder/frameencoder.cpp:
14150 frameencoder: comment nit
14153 * Merge with stable
14156 2014-04-03 Gopu Govindaswamy <Gopu Govindaswamy>
14158 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp,
14159 source/encoder/frameencoder.h:
14160 frameencoder: store the reference state of the picture in
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
14172 Moved slice reference state initialization from dpb to FrameEncoder
14176 2014-04-03 Steve Borho <steve@borho.org>
14179 Added tag 0.9 for changeset 82bbd2bf3b49
14180 [640f9177eeb0] <stable>
14182 2014-04-03 Murugan Vairavel <murugan@multicorewareinc.com>
14184 * source/common/x86/pixel-a.asm:
14185 asm: fix invalid read in upShift routine
14186 [82bbd2bf3b49] [0.9] <stable>
14188 2014-04-02 Steve Borho <steve@borho.org>
14190 * Merge with stable
14193 2014-04-02 Gopu Govindaswamy <Gopu Govindaswamy>
14195 * source/encoder/dpb.h:
14196 dpb: Allow two L1 refs when b-pyramid is enabled [CHANGES OUTPUTS]
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);
14204 frame L0 L1 P1 P2 P1 B2ref P1 P2 B1 P1 P2 B2ref B3 B2ref P1 P2
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)
14211 2014-04-02 Min Chen <chenm003@163.com>
14213 * source/test/pixelharness.cpp:
14214 testbench: use different stride on calcrecon
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
14223 2014-04-02 Satoshi Nakagawa <nakagawa424@oki.com>
14225 * source/Lib/TLibCommon/TComDataCU.cpp,
14226 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
14227 cleanup m_cuColocated[]
14230 2014-04-02 Steve Borho <steve@borho.org>
14232 * source/encoder/weightPrediction.cpp:
14233 weight: properly reset weights when no-residual early-out is taken
14235 This fixes a hash mismatch seen with a Main10 encode of sintel-480p
14236 [e03388e98ecc] <stable>
14238 * source/encoder/frameencoder.cpp:
14239 frameencoder: fix white-space nit, add comment
14242 2014-04-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14244 * source/encoder/encoder.cpp:
14245 param: fix typo in if-check.
14248 2014-04-02 Aarthi Thirumalai <Aarthi Thirumalai>
14250 * source/encoder/encoder.cpp:
14251 param: set aq strength to 0 in CQP
14254 2014-04-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14256 * source/encoder/frameencoder.cpp:
14260 * source/encoder/frameencoder.cpp:
14261 frameencoder: removing assign qp inconsistencies which were
14262 triggered for unreferenced P frames
14263 [606da0b6bc58] <stable>
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
14270 This changeset causes crashes. Needs to be re-examined.
14273 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
14274 calcQpForCU: remove m_pic input parameter.
14277 2014-04-01 Min Chen <chenm003@163.com>
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
14285 2014-04-01 Steve Borho <steve@borho.org>
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>
14292 2014-04-01 Kavitha Sampath <kavitha@multicorewareinc.com>
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]
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
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.
14312 This patch changes how the unweighted references are coded, so even
14313 weightP outputs change slightly.
14316 2014-04-01 Steve Borho <steve@borho.org>
14318 * source/encoder/frameencoder.cpp:
14319 frameencoder: lower log level of restart indicators
14322 2014-03-31 Steve Borho <steve@borho.org>
14324 * source/encoder/slicetype.cpp:
14328 2014-04-01 Nabajit Deka <Nabajit Deka>
14330 * source/common/x86/pixel-a.asm:
14331 asm: fix build error caused by usage of 64-bit dependent register in
14335 2014-03-31 Steve Borho <steve@borho.org>
14337 * source/encoder/slicetype.cpp:
14338 slicetype: do not assume frames[] array has been initialized
14340 slicetypeAnalyse() may not have been called, so use picture list[]
14344 2014-03-31 Min Chen <chenm003@163.com>
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
14352 2014-03-31 Murugan Vairavel <murugan@multicorewareinc.com>
14354 * source/test/pixelharness.cpp, source/test/pixelharness.h:
14355 testbench: code for testing input pixel upShift/downShift primitives
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
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
14368 2014-03-31 Selvakumar Nithiyaruban <selvakumar@multicorewareinc.com>
14370 * doc/reST/cli.rst, source/x265.cpp:
14371 cli: add cli option for dither
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
14380 2014-03-31 Steve Borho <steve@borho.org>
14382 * source/common/winxp.cpp, source/common/winxp.h:
14383 xp: fix header guards for XP support, fixes MinGW build
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
14391 * source/encoder/frameencoder.cpp:
14392 frameencoder: prevent deadlock in non-wpp mode
14395 * source/CMakeLists.txt:
14396 cmake: pick the old policy for MACOSX_RPATH (only applicable for
14400 2014-03-29 Steve Borho <steve@borho.org>
14402 * source/CMakeLists.txt:
14403 cmake: allow MinGW to target XP by default
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.
14410 2014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
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
14419 2014-03-29 Steve Borho <steve@borho.org>
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
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)
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.
14435 2014-03-27 Satoshi Nakagawa <nakagawa424@oki.com>
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
14455 rename to clarify. division to shift.
14458 * source/Lib/TLibCommon/TComTrQuant.cpp:
14459 sbh: early continue for all zero coeff group
14462 2014-03-27 Min Chen <chenm003@163.com>
14464 * source/Lib/TLibEncoder/TEncSearch.cpp:
14465 move buffer outside parenthesis
14468 2014-03-28 Steve Borho <steve@borho.org>
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
14477 and fix some hungarian prefixes I encountered
14480 2014-03-27 Steve Borho <steve@borho.org>
14482 * source/Lib/TLibCommon/TComRom.h, source/common/common.h:
14483 common: move clip templates to common.h
14486 * doc/reST/cli.rst:
14491 cli: add link to documentation to end of `x265 --help` output
14494 * doc/reST/cli.rst:
14495 rest: consistent capitalization of page name
14498 * doc/reST/cli.rst:
14499 rest: improve --ssim, --psnr, recon, and VUI descriptions
14502 * source/Lib/TLibCommon/TComTrQuant.h:
14503 TComTrQuant: fix compiler warning in debug builds
14506 * doc/reST/cli.rst:
14507 rest: improve rate control documentation
14510 * doc/reST/cli.rst:
14511 rest: cleanup --input description
14514 2014-03-26 Steve Borho <steve@borho.org>
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
14522 2014-03-27 Steve Borho <steve@borho.org>
14524 * doc/reST/cli.rst:
14525 rest: improve docs for --me and --early-skip
14528 2014-03-26 Steve Borho <steve@borho.org>
14530 * source/Lib/TLibCommon/TComTrQuant.cpp,
14531 source/Lib/TLibEncoder/TEncSearch.cpp:
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
14549 * source/Lib/TLibCommon/TypeDef.h, source/common/common.h:
14550 common: move X265_DEPTH definition to common.h
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
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
14585 2014-03-24 Steve Borho <steve@borho.org>
14587 * source/CMakeLists.txt:
14588 cmake: move assembly source into ASM source group in VS
14591 2014-03-26 Steve Borho <steve@borho.org>
14593 * doc/reST/cli.rst:
14594 rest: this sentence was perhaps redundant
14597 * doc/reST/introduction.rst:
14598 rest: make life slightly more difficult for spambots
14601 2014-03-24 Satoshi Nakagawa <nakagawa424@oki.com>
14603 * source/encoder/frameencoder.cpp:
14604 fix chroma lambda weighting
14607 2014-03-26 Steve Borho <steve@borho.org>
14609 * doc/reST/cli.rst:
14613 2014-03-25 Steve Borho <steve@borho.org>
14615 * source/common/param.cpp:
14616 param: ignore leading double-slash in names passed to
14619 It might be ambiguous to API users whether these are required,
14620 looking at our documentation, so ignore them if they do.
14623 * doc/reST/cli.rst:
14624 rest: improve --output, add documentation for --repeat-headers
14627 * doc/reST/cli.rst:
14628 rest: improve --tu-*-depth, --ref, and --tskip descriptions
14631 * doc/reST/cli.rst:
14632 rest: improve the description of --rect --amp
14635 * doc/reST/cli.rst:
14636 rest: document the behavior of --subme
14639 * doc/reST/introduction.rst:
14640 rest: update licene email address
14644 cli: remove dead options from getopt long-options list
14648 api: fix documented defaults for cuTree and AQ
14651 * doc/reST/cli.rst:
14652 rest: CRF options are doubles
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
14659 It is better to not have to document that these are unfinished
14662 * doc/reST/cli.rst:
14663 rest: add a couple of missing options, improve descriptions of
14667 * doc/reST/cli.rst:
14668 rest: improve CLI docs, fix some wrong descriptions, moar better
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
14675 * doc/reST/cli.rst:
14676 rest: large cleanup of CLI opt docs
14679 * doc/reST/cli.rst:
14680 rest: fix csv logging descripion, move debug options to the end
14683 * doc/reST/cli.rst:
14684 rest: use comma to separate short and long options
14686 This looks better, and fixes cross referencing
14689 * doc/reST/Makefile, doc/reST/conf.py, doc/reST/index.rst:
14690 rest: add Makefile for generating HTML from reST, cleanup some nits
14693 * Merge with stable
14696 2014-03-25 Sagar Kotecha <sagar@multicorewareinc.com>
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>
14703 2014-03-25 Steve Borho <steve@borho.org>
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
14711 This is apparently useful for raw stream formats
14714 2014-03-24 Min Chen <chenm003@163.com>
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
14723 * source/Lib/TLibCommon/TComTrQuant.cpp:
14724 faster sign(X) and N^2 on TComTrQuant::xRateDistOptQuant
14727 * source/Lib/TLibEncoder/TEncSbac.cpp:
14728 improvement by replace SHIFT to MASK_AND
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()
14737 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
14738 reduce g_minInGroup from uint32_t to uint8_t
14741 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
14742 improvement TEncBinCABAC::writeOut by mask operator and local
14746 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
14747 improvement TEncBinCABAC::encodeBin by temporary variant and reduce
14751 2014-03-24 Steve Borho <steve@borho.org>
14754 cli: fix missing reference to superfast preset
14757 2014-03-21 Steve Borho <steve@borho.org>
14759 * source/Lib/TLibCommon/TComTrQuant.cpp:
14760 TComTrQuant: nits (no change)
14763 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
14767 2014-03-21 Aarthi Thirumalai <Aarthi Thirumalai>
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>
14774 2014-03-18 Min Chen <chenm003@163.com>
14776 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h,
14777 source/Lib/TLibCommon/TComTrQuant.cpp:
14778 use mask operator to avoid branch
14781 * source/Lib/TLibCommon/TComTrQuant.cpp,
14782 source/Lib/TLibCommon/TComTrQuant.h:
14783 replace parameters (oneCtx, absCtx) by pointer m_estBitsSbac->..
14786 * source/Lib/TLibCommon/TComTrQuant.cpp,
14787 source/Lib/TLibCommon/TComTrQuant.h:
14788 optimize: rewrite TComTrQuant::xGetCodedLevel
14791 2014-03-20 Steve Borho <steve@borho.org>
14793 * source/encoder/encoder.cpp:
14794 encoder: auto-disable weightp with 4:4:4 inputs, until it is fixed
14797 * source/Lib/TLibEncoder/TEncSearch.cpp:
14798 TEncSearch: validate unidirectional MVPs prior to trying MV0 bidir
14801 This should fix some rare non-determinism as well as prevent the
14802 crash seen in issue #34. [CHANGES OUTPUTS]
14805 * source/x265.pc.in:
14806 pkgconfig: allow user-supplied lib folder (closes #40)
14809 2014-03-19 Steve Borho <steve@borho.org>
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)
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
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.
14827 When interlacing is enabled, the encoder emits PictureTiming SEI
14828 messages that indicate top or bottom field for the decoder.
14831 2014-03-20 Aarthi Thirumalai <Aarthi Thirumalai>
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.
14838 2014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14840 * source/Lib/TLibEncoder/TEncCu.cpp:
14841 TEncCU: more QP cleanup for subCUs, inter modes.
14844 2014-03-19 Steve Borho <steve@borho.org>
14846 * source/encoder/motion.cpp:
14847 motion: add missing parens in COST_MV() macro (fixes #41)
14850 * source/encoder/motion.cpp:
14851 motion: UMH fix to match x264 behavior
14854 * source/input/yuv.cpp, source/input/yuv.h:
14855 yuv: use ThreadSafeInteger to manage ring buffer
14858 * source/encoder/api.cpp, source/encoder/encoder.cpp:
14859 encoder: keep copy of input parameters (refs #43)
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
14867 * source/input/y4m.cpp, source/input/y4m.h:
14868 y4m: use ThreadSafeInteger to manage ring buffer
14871 2014-03-19 Gopu Govindaswamy <Gopu Govindaswamy>
14873 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
14874 TEncBinCoderCABAC: fix MingGW build "declaration of 'byte' shadows a
14875 global declaration"
14878 2014-03-19 Steve Borho <steve@borho.org>
14880 * source/CMakeLists.txt:
14881 cmake: tabs to spaces
14884 * source/CMakeLists.txt:
14885 cmake: pkgconfig file must be installed in user-specified lib folder
14889 * source/common/threading.h, source/encoder/framefilter.cpp:
14890 thread: add an incr() method to ThreadSafeInteger to avoid redundant
14894 2014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14896 * source/Lib/TLibCommon/TComDataCU.cpp:
14897 TEncCU: further refine qp offsets
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).
14905 * source/Lib/TLibCommon/TComDataCU.cpp,
14906 source/Lib/TLibCommon/TComDataCU.h:
14907 TComDataCU: add QP-independent initSubCU
14910 * source/Lib/TLibCommon/TComDataCU.cpp,
14911 source/Lib/TLibCommon/TComDataCU.h:
14912 TComDataCU: add QP-independent initEstData
14915 2014-03-18 Steve Borho <steve@borho.org>
14917 * source/CMakeLists.txt:
14918 cmake: icpc is unable to link cli to shared lib
14921 * source/CMakeLists.txt:
14922 cmake: fix MinGW build by forcing Vista as minimum target O/S (fixes
14925 This removes the WINXP_SUPPORT option; XP cannot be supported until
14926 someone contributes a version of ThreadSafeInteger that is
14930 2014-03-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14932 * source/Lib/TLibCommon/TComDataCU.cpp,
14933 source/encoder/frameencoder.cpp:
14934 TComDataCU: QP for a CU always stored in TComDataCU::m_qp.
14937 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
14939 * source/Lib/TLibEncoder/TEncSearch.cpp:
14940 intraPred: remove qp resets
14943 * source/encoder/frameencoder.cpp:
14944 frameencoder: clean up slice qp clipping
14947 2014-03-18 Steve Borho <steve@borho.org>
14949 * source/CMakeLists.txt:
14950 cmake: remove /Oi build flag for Visual C++ builds
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.
14957 https://connect.microsoft.com/VisualStudio/feedback/details/776885
14958 /possible-bug-in-visual-studio-2012-c-compiler-related-to-intrinsic-
14962 * source/CMakeLists.txt:
14963 cmake: make lib and bin install folders user configurable (closes
14967 * source/cmake/cmake_uninstall.cmake.in:
14968 cmake: fix uninstall target warnings from shell quote escaping
14972 * source/CMakeLists.txt:
14973 cmake: link cli app to shared library on POSIX systems (closes #37)
14975 If you want the CLI to link against the static library on POSIX,
14976 just disable the generation of the shared library.
14980 api: declare x265_cli_csps as static const (closes #39)
14982 Fixes link errors when x265.h is included by multiple C files.
14985 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
14993 * source/encoder/encoder.cpp:
14994 sps: reuse encoder macro QP_BD_OFFSET
14997 * source/Lib/TLibEncoder/TEncSearch.cpp,
14998 source/encoder/frameencoder.cpp:
14999 frameencoder: clean up qp clipping
15002 2014-03-18 Steve Borho <steve@borho.org>
15004 * source/encoder/encoder.cpp:
15005 encoder: fix for VERBOSE_RATE (leftover HM feature) (closes #42)
15008 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15010 * source/Lib/TLibEncoder/TEncSearch.cpp:
15011 encodeResandCalcInterCU: cleanup, no logic change
15014 2014-03-16 Satoshi Nakagawa <nakagawa424@oki.com>
15016 * source/Lib/TLibCommon/TComTrQuant.cpp:
15017 DC only for HIGH_BIT_DEPTH
15020 2014-03-17 Min Chen <chenm003@163.com>
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
15031 2014-03-17 Satoshi Nakagawa <nakagawa424@oki.com>
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:
15040 2014-03-16 Satoshi Nakagawa <nakagawa424@oki.com>
15042 * source/Lib/TLibCommon/TComDataCU.h:
15043 cleanup unused m_mvField{A,B,C}
15046 2014-03-17 Steve Borho <steve@borho.org>
15048 * source/encoder/encoder.h:
15049 encoder: cleanup nits
15052 * source/input/y4m.cpp:
15053 y4m: fix copy-paste bug in range checks
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
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
15067 2014-03-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15069 * source/Lib/TLibEncoder/TEncCu.cpp:
15070 TEncCU: fix previous bad patch import
15073 2014-03-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15075 * source/Lib/TLibEncoder/TEncCu.h:
15079 2014-03-17 Steve Borho <steve@borho.org>
15081 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
15082 source/encoder/framefilter.cpp:
15086 2014-03-16 Steve Borho <steve@borho.org>
15088 * source/Lib/TLibCommon/TComSlice.h:
15092 2014-03-14 Min Chen <chenm003@163.com>
15094 * source/Lib/TLibEncoder/TEncSbac.cpp,
15095 source/Lib/TLibEncoder/TEncSbac.h:
15096 optimize: rewrite TEncSbac::xWriteCoefRemainExGolomb
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
15105 * source/Lib/TLibCommon/TComTrQuant.cpp,
15106 source/Lib/TLibCommon/TComTrQuant.h:
15107 optimize: rewrite TComTrQuant::xGetICRateCost
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
15116 2014-03-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15118 * source/Lib/TLibEncoder/TEncCu.cpp:
15119 encode: avoid repetitive statements; no logic change
15122 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
15123 compress/TEncCU: no reason why mode decision should reset the dqp
15127 * source/encoder/encoder.cpp:
15128 encoder: Adding a TODO comment on the final goal.
15131 * source/encoder/encoder.cpp:
15132 vbv: set DQP as true if VBV is enabled (and AQ disabled).
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.
15139 * source/Lib/TLibEncoder/TEncCu.cpp:
15140 TEncCU: set dqpflag as true in the CU encoder if aqmode enabled
15143 2014-03-17 Steve Borho <steve@borho.org>
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>
15150 2014-03-14 Steve Borho <steve@borho.org>
15152 * source/Lib/TLibEncoder/TEncSearch.cpp:
15153 TEncSearch: mvpIdx shares storage with mergeIdx, do not set for
15157 2014-03-14 Wenju He <wenju@multicorewareinc.com>
15159 * source/Lib/TLibEncoder/TEncCu.cpp:
15160 TEncCu: initialize variables, handle malloc failures more cleanly
15163 2014-03-14 Murugan Vairavel <murugan@multicorewareinc.com>
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
15170 2014-03-14 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
15172 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
15173 added asm primitives for 10bpp sad functions
15176 2014-03-14 Steve Borho <steve@borho.org>
15178 * source/encoder/frameencoder.cpp:
15182 2014-03-14 Santhoshini Sekar <santhoshini@multicorewareinc.com>
15184 * source/encoder/frameencoder.cpp:
15185 vbv: bugfix-calculate intraCuCostPerRow for vbv
15186 [394481c40cf9] <stable>
15188 2014-03-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15190 * source/Lib/TLibEncoder/TEncSearch.cpp:
15191 TEncSearch: init best AMVP candidate to zero.
15194 2014-03-13 Steve Borho <steve@borho.org>
15196 * source/encoder/motion.cpp:
15197 motion: remove unused file static array
15200 * source/Lib/TLibCommon/TComPrediction.h,
15201 source/Lib/TLibEncoder/TEncSearch.cpp,
15202 source/Lib/TLibEncoder/TEncSearch.h:
15203 TEncSearch: remove redundant temp buffer
15205 TComPrediction (which TEncSearch derives from) already has
15209 * source/Lib/TLibEncoder/TEncSearch.cpp,
15210 source/Lib/TLibEncoder/TEncSearch.h:
15211 TEncSearch: keep merge data together in a struct
15213 This is for clarity, convenience, and to avoid some redundant work
15216 * source/Lib/TLibEncoder/TEncSearch.cpp:
15217 TEncSearch: combine motion candidate search into AMVP search loop
15220 * source/Lib/TLibEncoder/TEncSearch.cpp,
15221 source/Lib/TLibEncoder/TEncSearch.h:
15222 TEncSearch: inline MVP selection from AMVP candidates
15225 * source/Lib/TLibEncoder/TEncSearch.cpp:
15226 TEncSearch: cleanup xGetBlkBits
15229 * source/Lib/TLibEncoder/TEncSearch.cpp,
15230 source/Lib/TLibEncoder/TEncSearch.h:
15231 TEncSearch: inline xRestrictBipredMergeCand
15234 * source/Lib/TLibEncoder/TEncSearch.cpp,
15235 source/Lib/TLibEncoder/TEncSearch.h:
15236 TEncSearch: inline xGetTemplateCost()
15239 * source/Lib/TLibEncoder/TEncSearch.cpp:
15240 TEncSearch: be pedantic about setting cu fields [CHANGES OUTPUTS]
15242 It is somewhat unfortunate that this changes outputs, it means I had
15243 introduced a bug in an earlier commit
15246 * source/Lib/TLibEncoder/TEncSearch.cpp:
15247 TEncSearch: recombine merge-only path, now it can be accomplished
15251 * source/Lib/TLibEncoder/TEncSearch.cpp:
15252 TEncSearch: remove redundant EMMS instrutions
15254 predInterSearch uses no float operations, so a single EMMS at the
15258 * source/Lib/TLibEncoder/TEncSearch.cpp,
15259 source/Lib/TLibEncoder/TEncSearch.h:
15260 TEncSearch: merge xGetInterPredictionError into xMergeEstimation
15263 * source/Lib/TLibEncoder/TEncSearch.cpp:
15264 TEncSearch: refactor predInterSearch to avoid redundant work
15267 * source/Lib/TLibEncoder/TEncSearch.cpp:
15268 TEncSearch: switch xGetInterPredictionError() to use SATD [CHANGES
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.
15276 * source/Lib/TLibEncoder/TEncSearch.cpp:
15277 Backed out changeset: 524fdbaed8d0
15279 bits0 and bits1 include list[N].bits and thus they did include the
15280 list selection bit costs.
15283 2014-03-13 Satoshi Nakagawa <nakagawa424@oki.com>
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()
15292 2014-03-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15294 * source/encoder/frameencoder.cpp:
15295 frameencoder: set QP to all parts of CU. No logic change.
15298 2014-03-12 Min Chen <chenm003@163.com>
15300 * source/Lib/TLibEncoder/TEncSbac.cpp,
15301 source/Lib/TLibEncoder/TEncSbac.h:
15302 cleanup: remove c++ ref parameter on xWriteCoefRemainExGolomb
15305 2014-03-12 Steve Borho <steve@borho.org>
15307 * source/Lib/TLibCommon/TComPicYuv.cpp:
15308 TComPicYuv: disambiguate variable names
15310 Now with 75% less insanity!
15313 2014-03-12 Min Chen <chenm003@163.com>
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
15322 * source/Lib/TLibEncoder/TEncSbac.cpp:
15323 optimize: simplify operators on loop sigCoeffGroupFlag
15326 2014-03-12 Steve Borho <steve@borho.org>
15328 * source/Lib/TLibCommon/TypeDef.h:
15329 TypeDef: explicit 32bit type for TCoeff
15332 * source/Lib/TLibCommon/TypeDef.h:
15333 TypeDef: UChar to uint8_t
15336 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
15337 TComRom: UChar to uint8_t
15340 2014-03-12 Min Chen <chenm003@163.com>
15342 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
15343 optimize: use UChar on g_convertToBit to avoid signed extend
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
15352 2014-03-12 Steve Borho <steve@borho.org>
15354 * source/Lib/TLibEncoder/TEncSearch.cpp,
15355 source/Lib/TLibEncoder/TEncSearch.h:
15356 TEncSearch: replace UChar with uint8_t
15359 * source/Lib/TLibEncoder/TEncSearch.h:
15363 * source/Lib/TLibEncoder/TEncSearch.cpp,
15364 source/Lib/TLibEncoder/TEncSearch.h:
15365 TEncSearch: use HEVC MVP candidates as motion candidates [CHANGES
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
15375 * source/Lib/TLibEncoder/TEncSearch.cpp:
15376 TEncSearch: MV0 bidir bitcost not based on list costs, so no need to
15380 * source/Lib/TLibEncoder/TEncSearch.cpp:
15381 TEncSearch: refactor predInterSearch to use simple structure
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.
15387 2014-03-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
15392 * source/Lib/TLibCommon/TComDataCU.cpp,
15393 source/Lib/TLibCommon/TComDataCU.h,
15394 source/Lib/TLibEncoder/TEncCu.cpp:
15395 TComDataCU: cleanup
15398 * source/Lib/TLibEncoder/TEncEntropy.cpp,
15399 source/Lib/TLibEncoder/TEncEntropy.h:
15403 2014-03-12 Steve Borho <steve@borho.org>
15405 * source/Lib/TLibEncoder/TEncSearch.cpp:
15406 TEncSearch: initialize MotionEstimate function pointers before merge
15410 2014-03-11 Steve Borho <steve@borho.org>
15412 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/common.h,
15413 source/encoder/api.cpp:
15414 common: remove mostly unused cycle count macros
15417 * source/Lib/TLibEncoder/TEncSearch.cpp:
15418 TEncSearch: break ties in favor of uni-directional MC [CHANGES
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.
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:
15434 * source/Lib/TLibEncoder/TEncSearch.cpp:
15435 TEncSearch: dehungarians and other nits
15438 2014-03-10 Satoshi Nakagawa <nakagawa424@oki.com>
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
15447 2014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
15449 * source/encoder/ratecontrol.cpp:
15450 vbv: bug fix - down shifting of satdcost for 10 bit depth.
15451 [c06ee069df5e] <stable>
15453 * source/common/common.cpp, source/common/common.h:
15454 rc: move qp2qscale and qscale2qp function to common
15455 [561adb9b21f6] <stable>
15457 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
15458 source/encoder/ratecontrol.h:
15459 vbv: bug fixes - move row Predictors, frameSizeEstimated to Frame
15462 Improves quality and controls buffer underflow when Frame
15463 parallelism is enabled.
15464 [1b84d0748a08] <stable>
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.
15470 If P/B slice is predominatly intra coded, use intra SatdCost to
15471 predict the row bits in vbv.
15472 [380c4bf5ff75] <stable>
15474 * source/encoder/ratecontrol.cpp:
15475 vbv: bug fix - down shifting of satdcost for 10 bit depth.
15478 2014-03-10 Steve Borho <steve@borho.org>
15480 * source/Lib/TLibEncoder/TEncSearch.cpp:
15481 TEncSearch: fix some comments
15484 * source/Lib/TLibEncoder/TEncSearch.cpp:
15485 TEncSearch: reorder code for more clarity
15488 * source/Lib/TLibEncoder/TEncSearch.cpp:
15489 TEncSearch: host bMergeOnly logic to the top of predInterSearch
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
15496 * source/Lib/TLibEncoder/TEncSearch.cpp:
15497 TEncSearch: localize scope of bidir MV and ref idx arrays
15500 * source/Lib/TLibEncoder/TEncSearch.cpp:
15501 TEncSearch: hoist bMergeOnly check to only be performed once
15504 * source/Lib/TLibEncoder/TEncSearch.cpp:
15505 TEncSearch: remove list1 hacks
15508 * source/Lib/TLibEncoder/TEncSearch.cpp:
15509 TEncSearch: localize scope, rename, and remove defaults for
15513 * source/Lib/TLibEncoder/TEncSearch.cpp:
15514 TEncSearch: remove mvTemp[][] array, just use outmv stack var
15517 * source/Lib/TLibEncoder/TEncSearch.cpp:
15518 TEncSearch: localize scope and rename listMv
15521 * source/Lib/TLibEncoder/TEncSearch.cpp:
15522 TEncSearch: localize scope of mvzero
15525 * source/Lib/TLibEncoder/TEncSearch.cpp:
15526 TEncSearch: localize scope and rename listRefIdx
15529 * source/Lib/TLibEncoder/TEncSearch.cpp:
15530 TEncSearch: localize scope of costTemp
15533 * source/Lib/TLibEncoder/TEncSearch.cpp:
15534 TEncSearch: simplify and localize scope of bitstemp
15537 * source/Lib/TLibEncoder/TEncSearch.cpp:
15538 TEncSearch: rename bits to listbits[] for clarity
15541 * source/Lib/TLibEncoder/TEncSearch.cpp:
15542 TEncSearch: replace costbi with listCost[2]
15545 * source/Lib/TLibEncoder/TEncSearch.cpp,
15546 source/Lib/TLibEncoder/TEncSearch.h:
15547 TEncSearch: remove useless distBiP argument from xEstimateMvPredAMVP
15550 * source/Lib/TLibEncoder/TEncSearch.cpp:
15551 TEncSearch: cleanups in predInterSearch(), no logic change
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]
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
15566 2014-03-10 Murugan Vairavel <murugan@multicorewareinc.com>
15568 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/shortyuv.cpp,
15569 source/common/shortyuv.h:
15570 shortyuv: integrated asm primitives for blockcopy
15573 2014-03-11 Aarthi Thirumalai <Aarthi Thirumalai>
15575 * source/common/common.cpp, source/common/common.h,
15576 source/encoder/ratecontrol.cpp:
15577 rc: move qp2qscale and qscale2qp function to common
15580 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
15581 source/encoder/ratecontrol.h:
15582 vbv: bug fixes - move row Predictors, frameSizeEstimated to Frame
15585 Improves quality and controls buffer underflow when Frame
15586 parallelism is enabled.
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.
15593 If P/B slice is predominatly intra coded, use intra SatdCost to
15594 predict the row bits in vbv.
15597 2014-03-10 Gopu Govindaswamy <Gopu Govindaswamy>
15599 * source/Lib/TLibCommon/TComMotionInfo.h:
15600 tcommotion: cleanup removed unused methods
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
15609 * source/Lib/TLibEncoder/TEncSbac.cpp:
15610 tencsbac: remove unused SCALING_LIST_OUTPUT_RESULT macro
15613 * source/Lib/TLibEncoder/TEncSbac.cpp:
15614 tencsbac: subLayerOrderingInfoPresentFlag always true, the if() loop
15615 will never executed
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
15622 2014-03-10 Satoshi Nakagawa <nakagawa424@oki.com>
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
15633 2014-03-10 Steve Borho <steve@borho.org>
15635 * source/Lib/TLibEncoder/TEncSearch.cpp:
15636 TEncSearch: fix bMergeOnly override check, did not intend to change
15640 * source/Lib/TLibEncoder/TEncSearch.cpp:
15641 TEncSearch: fix gcc warning, remove redundant assignemnt
15644 2014-03-09 Steve Borho <steve@borho.org>
15646 * source/Lib/TLibEncoder/TEncSearch.cpp,
15647 source/Lib/TLibEncoder/TEncSearch.h:
15648 TEncSearch: rename bUseMRG to bMergeOnly for clarity
15651 * source/Lib/TLibEncoder/TEncCu.cpp:
15652 TEncCu: disable TMVP range check if frame threading disabled, code
15656 * source/Lib/TLibEncoder/TEncCu.cpp,
15657 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
15658 TEncSearch: remove default argument from encodeResAndCalcRdInterCU()
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
15667 And completely remove bLuma which was always true
15670 2014-03-08 Steve Borho <steve@borho.org>
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
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
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
15690 2014-03-09 Steve Borho <steve@borho.org>
15692 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
15693 TEncCu: nits, no logic change
15696 2014-03-07 David T Yuen <dtyx265@gmail.com>
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
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
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
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*
15724 2014-03-08 Satoshi Nakagawa <nakagawa424@oki.com>
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[]
15732 NEW_CALCRECON macro is TODO mark for asm experts, to optimize
15733 register assignment.
15736 2014-03-07 Steve Borho <steve@borho.org>
15738 * source/encoder/encoder.cpp:
15742 * source/encoder/encoder.cpp:
15743 encoder: back-port VUI content fixes from default branch
15745 Take values from param structure, which is where these fields are
15746 actually configured.
15747 [b7e2854cf1c4] <stable>
15749 2014-03-07 Murugan Vairavel <murugan@multicorewareinc.com>
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
15757 2014-03-06 Steve Borho <steve@borho.org>
15759 * source/Lib/TLibEncoder/TEncSbac.cpp:
15760 TEncSBac: remove unused define
15763 * source/Lib/TLibCommon/TComSlice.h:
15767 2014-03-06 Satoshi Nakagawa <nakagawa424@oki.com>
15769 * source/Lib/TLibCommon/TComDataCU.cpp,
15770 source/Lib/TLibCommon/TComDataCU.h:
15771 share m_mvpIdx[0] as m_mergeIdx
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:
15796 unify TComDataCU::m_width and m_height to m_cuSize
15799 2014-03-06 Steve Borho <steve@borho.org>
15801 * source/common/param.cpp:
15802 param: print vbv-init as a float
15805 2014-03-06 Murugan Vairavel <murugan@multicorewareinc.com>
15807 * source/test/pixelharness.cpp, source/test/pixelharness.h:
15808 Testbench code for blockcopy_ss
15811 * source/common/pixel.cpp, source/common/primitives.h:
15812 C primitive for blockcopy_ss
15815 2014-03-06 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
15825 2014-03-06 Steve Borho <steve@borho.org>
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
15868 Hopefully this will prevent random compile failures in the future
15869 from missed cmath, climits, or memory.h includes.
15872 * source/common/param.cpp:
15873 param: spelling nit
15876 * source/common/param.cpp, source/x265.cpp:
15877 clarify valid values for --vbv-init
15880 2014-03-05 Steve Borho <steve@borho.org>
15882 * source/Lib/TLibCommon/TComSlice.cpp:
15883 TComSlice: replace magic numbers with appropriate macro
15886 * source/Lib/TLibCommon/TComSlice.cpp,
15887 source/Lib/TLibCommon/TComSlice.h:
15888 TComSlice: remove unused checkNumPocTotalCurr argument to
15892 * source/Lib/TLibCommon/TComSlice.cpp,
15893 source/Lib/TLibCommon/TComSlice.h:
15894 TComSlice: remove unused checkCRA function
15897 * source/encoder/dpb.cpp:
15898 dpb: remove commented code
15901 * source/common/param.cpp, source/x265.cpp, source/x265.h:
15902 cli: add --crf-max option for param.rc.rfConstantMax
15906 cli: show compiled assembly status and detected SIMD arches on x265
15911 cli: invalid preset or tune is a non-recoverabe error
15915 cli: show condensed error message if no arguments are given
15919 cli: reorder help for better clarity
15923 cli: add --no- options to some VUI fields
15925 This is a little pedantic since they default to false and likely
15926 won't change at any time.
15930 cli: fix AQ CLI help. 0, 1, and 2 are valid options
15934 cli: improve help text by describing command argument data types
15938 cli: improve CLI help for --overscan
15941 * source/common/param.cpp, source/common/param.h, source/x265.cpp:
15942 cli: change --log option to --log-level, allow strings or ints
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"
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.
15952 cli: move "fps" between resolution and frame rate, same as input
15956 * source/common/param.cpp:
15957 param: add VBV info to log data
15960 * source/CMakeLists.txt:
15961 cmake: use x86 alias list rather than repeated string compares (nit)
15964 2014-03-05 Murugan Vairavel <murugan@multicorewareinc.com>
15966 * source/common/x86/asm-primitives.cpp:
15967 primitives: cleaned up asm_primitives of intra_pred_ang
15970 2014-03-05 Steve Borho <steve@borho.org>
15972 * source/encoder/encoder.cpp, source/output/y4m.cpp,
15973 source/output/yuv.cpp:
15974 encoder: assign internal colorspce to output pic.colorSpace
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,
15981 api: change meaning of pic.stride to be in bytes rather than pixels
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.
15988 This fixes non-4:2:0 YUV file read at the same time, and bumps
15992 * source/CMakeLists.txt:
15993 cmake: add i686 to x86 alias list (closes #33)
15996 2014-03-05 Murugan Vairavel <murugan@multicorewareinc.com>
15998 * source/common/x86/asm-primitives.cpp:
15999 asm: enable 10bit chroma_vpp and chroma_vps interpolation filters
16002 2014-03-04 David T Yuen <dtyx265@gmail.com>
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
16009 2014-03-04 Steve Borho <steve@borho.org>
16011 * source/encoder/weightPrediction.cpp:
16012 weight: ensure chroma weights are initialized when skipped
16015 * source/common/primitives.cpp:
16016 primitives: prevent multiple setup calls from reiniting primitive
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!"
16024 * source/encoder/weightPrediction.cpp:
16025 weight: simplify and remove redundant logic
16028 * source/encoder/weightPrediction.cpp:
16029 weight: do not attempt chroma weights if luma was not weighted
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
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]
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
16048 * source/CMakeLists.txt:
16049 cmake: bump X265_BUILD to 8, many API changes
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.
16056 * source/CMakeLists.txt, source/dllmain.cpp:
16057 cmake: dllmain is no longer necessary since use of object libraries
16061 cli: do not call x265_setup_primitives() from printVersion()
16063 It now leads to redundant console output and it was interfering with
16064 --asm command line arguent functionality
16067 * source/common/param.cpp, source/encoder/api.cpp, source/x265.cpp,
16069 api: move cpuid to x265_param, same as x264
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
16077 This function really shouldn't have been a public function, and it
16078 was never added to the exports list.
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
16086 * source/encoder/CMakeLists.txt:
16087 cmake: TEncCfg.h is caput
16090 2014-03-03 David T Yuen <dtyx265@gmail.com>
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.
16112 2014-03-04 Steve Borho <steve@borho.org>
16114 * Merge with stable
16118 Added tag 0.8 for changeset 527d03c56d68
16119 [91ada5e78ee1] <stable>
16121 2014-03-03 Steve Borho <steve@borho.org>
16123 * source/CMakeLists.txt, source/common/CMakeLists.txt,
16124 source/common/param.cpp:
16125 cmake: detect strtok_r, use workaround when not present
16128 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
16132 2014-03-03 Gopu Govindaswamy <Gopu Govindaswamy>
16134 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.h,
16135 source/encoder/framefilter.cpp:
16136 tcomsao: only get method is unused, set lcuboundary is required
16138 references 742641e0f796
16141 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
16142 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
16143 tcomsao: replaced All Pel type into pixel type
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
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
16158 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
16159 tencsao: Pel replaced with pixel type
16162 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
16163 tencsao: new and delete replaced with X265_MALLOC and X265_FREE
16166 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
16167 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
16168 tencsao: remove unused calcSaoStatsBlock
16171 2014-03-03 Steve Borho <steve@borho.org>
16173 * source/Lib/TLibEncoder/TEncEntropy.cpp:
16174 TEncEntropy: fix gcc warnings
16177 2014-03-03 Satoshi Nakagawa <nakagawa424@oki.com>
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
16194 2014-03-03 Nabajit Deka <Nabajit Deka>
16196 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
16197 test bench : Modify chroma_p2s test function to handle csp.
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
16205 2014-03-04 Aarthi Thirumalai <Aarthi Thirumalai>
16207 * source/encoder/frameencoder.cpp, source/encoder/slicetype.cpp:
16208 vbv: bug fixes in --no-cutree flow. Ignore intracosts in calculating
16210 [527d03c56d68] [0.8] <stable>
16212 2014-03-03 Nabajit Deka <Nabajit Deka>
16214 * source/test/mbdstharness.cpp:
16215 test bench : fix for test bench failure, caused by redundant malloc.
16218 2014-03-02 Steve Borho <steve@borho.org>
16220 * source/common/shortyuv.cpp:
16221 shortyuv: use optimized primitives where available
16224 * source/common/shortyuv.cpp, source/common/shortyuv.h:
16225 shortyuv: combine add/subtract methods together
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
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
16246 And replace unsigned int with uint32_t in TShortYuv.cpp
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.*
16257 * source/common/param.cpp:
16258 param: ignore assignments within conditionals in param.cpp
16261 * source/Lib/TLibCommon/TComPattern.cpp,
16262 source/Lib/TLibCommon/TComPattern.h:
16263 TComPattern: remove hungarian prefixes
16266 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
16267 TComYuv: switch from Pel to pixel type
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
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
16284 * source/common/param.cpp:
16285 param: MSVC build fixes
16288 2014-03-01 Steve Borho <steve@borho.org>
16290 * source/common/param.cpp, source/x265.cpp, source/x265.h:
16291 api: add a fastdecode tune option, improve tune and preset CLI help
16293 To match x264's tune names, removed "-" from zerolatency in x265.h
16294 but allowed either string to match internally. Same with fast-
16298 * source/test/testbench.cpp:
16299 testbench: improve CLI help and error handling, use parseCpuName
16302 * source/common/primitives.cpp:
16303 primitves: update CPU name print logic from x264
16306 * source/common/param.cpp, source/x265.cpp:
16307 param: fix handling of --no-scenecut within x265_param_parse(), add
16311 * source/common/common.h, source/common/param.cpp,
16312 source/common/param.h, source/common/primitives.cpp,
16314 cli: replace --cpuid with --[no-]asm arguments
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
16321 2014-02-28 Satoshi Nakagawa <nakagawa424@oki.com>
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]
16328 2014-03-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16330 * source/encoder/weightPrediction.cpp:
16331 weightp: implicit cast warning on vc10-x86.
16333 Is lambda intended to be int?
16336 2014-02-28 Praveen Tiwari <Praveen Tiwari>
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
16347 added assembly code and testbench support added loopfilter.cpp,
16348 loopfilter.h, loopfilter.asm files
16351 2014-02-28 Kavitha Sampath <kavitha@multicorewareinc.com>
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
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()
16365 2014-02-28 Steve Borho <steve@borho.org>
16367 * source/common/param.cpp, source/encoder/encoder.cpp, source/x265.h:
16371 2014-02-28 Gopu Govindaswamy <Gopu Govindaswamy>
16373 * source/Lib/TLibCommon/TComPicYuv.cpp:
16374 tcompicyuv: initialize NULL to cu and bu offset buffers.
16375 [f6d079ad85bc] <stable>
16377 2014-02-27 Steve Borho <steve@borho.org>
16379 * source/common/common.cpp, source/common/param.cpp,
16380 source/encoder/encoder.cpp, source/encoder/weightPrediction.cpp,
16382 api: make log-level 4 semi-official and expose in public API
16383 [994f046a8111] <stable>
16385 2014-02-28 Satoshi Nakagawa <nakagawa424@oki.com>
16387 * source/Lib/TLibCommon/TComTrQuant.cpp,
16388 source/Lib/TLibCommon/TComTrQuant.h,
16389 source/Lib/TLibEncoder/TEncSearch.cpp:
16390 square transform only
16393 * source/common/x86/asm-primitives.cpp:
16394 asm: enable count_nonzero for HIGH_BIT_DEPTH
16397 2014-02-27 Steve Borho <steve@borho.org>
16399 * source/common/param.cpp:
16400 tune: ensure lookahead is disabled for zero-latency
16403 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
16404 asm: cleanup 444 chroma primitive setup, and other primitve reuse
16407 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp,
16408 source/encoder/slicetype.h:
16409 log: report consecutive B-frame histogram, as x264 does
16412 * source/common/common.h, source/x265.h:
16413 api: expose X265_BFRAME_MAX to the user
16416 * Merge with stable
16419 2014-02-27 Sagar Kotecha <sagar@multicorewareinc.com>
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>
16425 2014-02-27 Nabajit Deka <Nabajit Deka>
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.
16432 2014-02-27 Aarthi Thirumalai <Aarthi Thirumalai>
16434 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
16435 vbv: bug fixes to stop mid frame qp adjustments to increase
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>
16443 2014-02-27 Steve Borho <steve@borho.org>
16445 * Merge with stable
16448 * source/common/threading.h:
16449 threading: on linux gettimeofday() requires <sys/time.h>, UINT32_MAX
16451 [bbe3f479c41f] <stable>
16453 2014-02-27 Min Chen <chenm003@163.com>
16455 * source/CMakeLists.txt:
16456 fix Issue #30, disable stack execute on gcc
16457 [8e8328cad1be] <stable>
16459 * source/common/x86/ipfilter16.asm:
16460 fix typo problem on HIGH_BIT_DEPTH with non-PIC mode
16461 [52a47362c5c3] <stable>
16463 2014-02-27 Praveen Tiwari <Praveen Tiwari>
16465 * source/common/x86/intrapred8.asm:
16466 all_angs_pred_32x32, asm code improvement
16469 2014-02-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16471 * Merge from stable
16474 * source/encoder/ratecontrol.cpp:
16475 ratecontrol: fix bitrate issue in 10-bit CRF mode
16476 [2fb85daef8af] <stable>
16478 2014-02-27 Steve Borho <steve@borho.org>
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>
16488 2014-02-26 Steve Borho <steve@borho.org>
16490 * source/common/threading.h:
16491 threading: add a timedWait() method to Event class
16494 * source/common/threading.cpp, source/common/threading.h:
16495 threading: use a pthread conditional variable instead of semaphore
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
16504 2014-02-26 Murugan Vairavel <murugan@multicorewareinc.com>
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
16512 2014-02-26 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
16514 * source/common/x86/asm-primitives.cpp,
16515 source/common/x86/intrapred16.asm:
16516 asm: 16bpp assembly code for intra_pred_ang16 - all modes
16519 2014-02-07 Steve Borho <steve@borho.org>
16521 * source/test/CMakeLists.txt, source/test/testpool.cpp:
16522 reintroduce thread pool unit test
16524 It is reproducing a deadlock on POSIX roughly once per 1M runs
16527 2014-02-26 Sagar Kotecha <sagar@multicorewareinc.com>
16529 * source/common/param.cpp:
16530 param: add some more validation checks
16533 2014-02-26 Santhoshini Sekar <santhoshini@multicorewareinc.com>
16535 * source/encoder/frameencoder.cpp:
16536 rc:bug fix-store average Qp as decided by AQ only if aq is enabled
16539 2014-02-26 Praveen Tiwari <Praveen Tiwari>
16541 * source/common/x86/intrapred8.asm:
16542 all_angs_pred_32x32, asm code improvement
16545 2014-02-26 Satoshi Nakagawa <nakagawa424@oki.com>
16547 * source/encoder/slicetype.cpp:
16548 fix: uninitialized variable
16551 2014-02-26 Steve Borho <steve@borho.org>
16553 * source/encoder/encoder.cpp:
16554 encoder: tweak slice stats to more closely match x264 outputs
16557 2014-02-25 Steve Borho <steve@borho.org>
16559 * source/common/threading.cpp, source/common/threading.h:
16560 threading: use atomic increment when building semaphore object
16562 Required moving atomic defines to the top of threading.h, removing
16563 the need for potentially redundant includes of unistd.h
16566 2014-02-26 Aarthi Thirumalai <Aarthi Thirumalai>
16568 * source/encoder/encoder.cpp:
16569 encoder: log avg Qp decided by AQ for each slice type
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.
16577 * source/Lib/TLibCommon/TComSlice.cpp,
16578 source/Lib/TLibCommon/TComSlice.h, source/encoder/ratecontrol.cpp:
16579 remove redundant state m_avgQpRc from TComSlice.
16581 This has been moved to TComPic already.
16584 * source/encoder/slicetype.cpp:
16585 lookahead: bug fix for b-adapt 0 cost estimates (closes #26)
16587 don't overwrite lastNonB reference with current frame, 'lastNonB'
16588 state was already replaced with current frame's lowres at this
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
16596 2014-02-23 Satoshi Nakagawa <nakagawa424@oki.com>
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)
16606 mvd, mvpIdx, mergeIndex
16609 2014-02-24 Satoshi Nakagawa <nakagawa424@oki.com>
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
16619 2014-02-25 Nabajit Deka <Nabajit Deka>
16621 * source/common/x86/asm-primitives.cpp,
16622 source/test/ipfilterharness.cpp:
16623 asm: enable 10bit asm filter functions, fix test harness
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
16631 2014-02-25 Steve Borho <steve@borho.org>
16633 * source/encoder/api.cpp:
16634 api: check for NULL param pointer in x265_encoder_open
16637 2014-02-25 Sagar Kotecha <sagar@multicorewareinc.com>
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
16644 2014-02-25 Steve Borho <steve@borho.org>
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
16651 2014-02-25 Praveen Tiwari <Praveen Tiwari>
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
16658 2014-02-25 Steve Borho <steve@borho.org>
16660 * source/input/y4m.cpp, source/input/y4m.h, source/input/yuv.cpp,
16662 input: workaround MSVC runtime bugs in older compilers (fixes #27)
16664 Prior to VC11, ifstream::pos_type could not handle 64bit sizes
16668 * source/encoder/weightPrediction.cpp:
16669 weight: bump weight analysis logging to --log 4, reduce spew
16672 * source/encoder/encoder.cpp, source/encoder/encoder.h:
16673 encoder: log the average QP used per frame, per I slices, P, and B
16677 * source/encoder/encoder.cpp:
16678 encoder: rename _param parameter to p for readability
16681 * source/test/mbdstharness.cpp:
16685 * source/test/mbdstharness.cpp, source/test/pixelharness.cpp:
16686 testbench: remove redundant casts of X265_MALLOC() output
16689 2014-02-25 Aarthi Thirumalai <Aarthi Thirumalai>
16691 * source/encoder/ratecontrol.cpp:
16692 rc: store qp in TComPic::avgQpRc in CQP.
16695 2014-02-24 Steve Borho <steve@borho.org>
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,
16701 cli: refactor handling of input file parameters
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)
16709 * source/encoder/encoder.cpp:
16710 encoder: enable timing info in VPS
16713 2014-02-25 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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.
16721 2014-02-24 David T Yuen <dtyx265@gmail.com>
16723 * source/common/param.cpp, source/x265.cpp, source/x265.h:
16724 Updated x265_param_parse to use parseName & a few nit fixes
16727 2014-02-25 Steve Borho <steve@borho.org>
16729 * source/common/threading.h:
16730 threading: recover include of unistd.h within #if __GNUC__ section
16735 2014-02-24 Steve Borho <steve@borho.org>
16737 * source/Lib/TLibCommon/TComSlice.h:
16741 * source/common/param.cpp:
16742 param: simplify checks of max ctu size, improve abort message
16745 * source/common/threading.h:
16746 threading: include process id in name passed to sem_open() and
16749 This should prevent race conditions between x265 processes spinning
16750 up on the same CPUs, and generally make name conflicts very rare.
16754 cli: remove undocumented and unimplemented --depth CLI option
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
16765 Simplify param->internalBitDepth checks, remove test bench hacks
16768 2014-02-24 Sagar Kotecha <sagar@multicorewareinc.com>
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
16776 2014-02-24 Aarthi Thirumalai <Aarthi Thirumalai>
16778 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
16779 rc: implement abr reset for single pass ABR + VBV
16782 * source/encoder/frameencoder.cpp:
16783 vbv: refactor, implement row wise qp updates only if vbv is enabled.
16786 * source/encoder/ratecontrol.cpp:
16787 rc: bug fix - clip qp before setting into TComPic:m_avgQpRc.
16789 This fix resolves Encoder crash caused due to invalid qp being used
16793 2014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
16795 * source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
16796 tcomrom: remove unused g_sigLastScan8x8 and g_sigLastScanCG32x32
16800 2014-02-23 Aarthi Thirumalai <Aarthi Thirumalai>
16802 * source/encoder/ratecontrol.cpp:
16803 vbv: bug fix in clipQScale
16806 2014-02-22 Steve Borho <steve@borho.org>
16808 * source/encoder/encoder.cpp:
16809 encoder: use more frame threads when WPP is disabled
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.
16816 2014-02-23 Steve Borho <steve@borho.org>
16818 * source/common/common.cpp:
16819 common: c is a char pointer
16822 2014-02-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
16824 * source/Lib/TLibCommon/NAL.h:
16825 NAL: Define a default constructor for base class to prevent warning
16828 * source/common/common.cpp:
16829 common: assignment inside conditional expression
16832 2014-02-22 Steve Borho <steve@borho.org>
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
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.
16845 * source/output/output.h, source/output/y4m.h, source/output/yuv.h,
16847 cli: add a line of logging describing reconstructed image file
16850 * source/Lib/TLibEncoder/TEncSbac.cpp:
16854 * source/Lib/TLibEncoder/TEncSbac.cpp,
16855 source/Lib/TLibEncoder/TEncSbac.h:
16856 TEncSbac: cleanup header
16859 * source/Lib/TLibCommon/TComBitStream.cpp:
16860 TComBitstream: nits
16863 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.h:
16864 NAL: further simplifications
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
16874 This whole class hierarchy is way over-engineered
16877 * source/Lib/TLibEncoder/NALwrite.h, source/encoder/frameencoder.cpp:
16878 NAL: use explicit reset method instead of copy constructor
16881 * source/common/common.cpp:
16882 common: avoid calling atobool() on non-boolean strings
16885 * source/CMakeLists.txt:
16886 cmake: make /WX optional for MSVC
16889 * source/common/common.cpp:
16890 common: refactor logic to avoid compiler warnings
16893 2014-02-21 Steve Borho <steve@borho.org>
16895 * source/encoder/encoder.cpp:
16896 encoder: warn about the incomplete nature of the range extensions
16899 * source/common/common.cpp, source/x265.h:
16900 api: add an enum for extended SAR
16903 * source/common/common.cpp:
16904 common: only validate sarWidth and sarHeight when aspectRatioIdx ==
16908 * source/common/common.cpp:
16909 common: fix --extended-sar CLI option atobool() was setting
16913 * source/common/common.cpp:
16914 common: disallow SAR numerator or denominator of 0
16917 * source/common/common.cpp:
16918 common: improve error detection and handling in x265_param_parse
16920 * check return code of sscanf
16921 * check int parameters are ints, bools are bools, etc
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
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
16933 And thus there's no need to pass aqMode as an int pointer
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
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)
16960 * source/common/common.cpp:
16961 common: g_convertToBit cannot be indexed with UINT_MAX either
16964 2014-02-21 Sumalatha Polureddy <Sumalatha Polureddy>
16966 * source/common/common.cpp:
16967 common: validate maximum ctusize
16970 * source/common/common.cpp:
16971 common: validate "bframe" and "maxCUSize" for positive values
16974 2014-02-21 Satoshi Nakagawa <nakagawa424@oki.com>
16976 * source/Lib/TLibEncoder/TEncSearch.cpp,
16977 source/Lib/TLibEncoder/TEncSearch.h:
16978 m_tempPel as static const
16981 2014-02-20 Aarthi Thirumalai <Aarthi Thirumalai>
16983 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
16984 vbv: integrate row level vbv ratecontrol at each major row diagonal.
16987 2014-02-21 Aarthi Thirumalai <Aarthi Thirumalai>
16989 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
16990 vbv: implement row wise vbvRateControl at each row diagonal
16993 2014-02-20 Aarthi Thirumalai <Aarthi Thirumalai>
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
17000 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
17001 source/encoder/ratecontrol.h:
17002 vbv: Add row predictors, rc states for vbv.
17005 * source/encoder/slicetype.cpp:
17006 vbv: enable vbvLookahead for Keyframes; accumulate frame rowSatds
17007 from lowres rowSatds.
17010 2014-02-21 Aarthi Thirumalai <Aarthi Thirumalai>
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
17021 2014-02-21 Steve Borho <steve@borho.org>
17023 * source/Lib/TLibCommon/TComDataCU.h,
17024 source/Lib/TLibEncoder/TEncSearch.cpp:
17025 Backed out changeset: cb3a2795a60e
17027 This was found to change output bitstreams, so the vectors must not
17028 have beeen always zero
17031 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17032 source/Lib/TLibEncoder/TEncSearch.cpp:
17033 TComYuv: combine copyPartToPartLuma and copyPartToPartChroma
17035 The new function tries to ensure the proper chroma block is copied,
17039 2014-02-20 Steve Borho <steve@borho.org>
17041 * source/Lib/TLibEncoder/TEncSearch.cpp,
17042 source/Lib/TLibEncoder/TEncSearch.h:
17043 TEncSearch: remove redundant m_hChromaShift, m_vChromaShift
17045 TComPrediction has these members, and TEncSearch derives from
17049 * source/Lib/TLibEncoder/TEncSearch.cpp,
17050 source/Lib/TLibEncoder/TEncSearch.h:
17051 TEncSearch: use X265_MALLOC for UChar buffers, and uint8_t type
17054 * source/Lib/TLibEncoder/TEncSearch.cpp,
17055 source/Lib/TLibEncoder/TEncSearch.h:
17056 TEncSearch: use X265_MALLOC to allocate pixel buffers, and pixel
17060 2014-02-21 Satoshi Nakagawa <nakagawa424@oki.com>
17062 * source/common/x86/pixel-util8.asm, source/test/mbdstharness.cpp,
17063 source/test/mbdstharness.h:
17064 asm: update count_nonzero, add testbench
17067 2014-02-20 David T Yuen <dtyx265@gmail.com>
17069 * source/common/common.cpp:
17070 Added vui parameter checking
17073 2014-02-20 Min Chen <chenm003@163.com>
17075 * source/Lib/TLibEncoder/TEncCu.cpp:
17076 temp fix for out-of-range tmvp (prevents hash mismatch with slower
17079 we're not sure why this is necessary, so it must be investigated
17083 2014-02-20 Steve Borho <steve@borho.org>
17085 * source/Lib/TLibEncoder/TEncSearch.cpp,
17086 source/Lib/TLibEncoder/TEncSearch.h:
17087 TEncSearch: rename m_qtTempTransformSkipTComYuv to
17088 m_qtTempTransformSkipYuv
17091 * source/Lib/TLibEncoder/TEncSearch.cpp:
17095 * source/Lib/TLibEncoder/TEncSearch.cpp,
17096 source/Lib/TLibEncoder/TEncSearch.h:
17097 TEncSearch: rename m_qtTempTComYuv to m_qtTempShortYuv
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
17104 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17105 TComYuv: merge copyPartToPartLuma
17108 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17109 TComYuv: merge copyPartToPartChroma() with copyPartToPartYuv
17112 * source/Lib/TLibCommon/TComPrediction.cpp,
17113 source/Lib/TLibCommon/TComPrediction.h:
17114 TComPrediction: remove unused m_predAllAngsBuf, properly init
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
17123 * source/Lib/TLibCommon/TComPrediction.h:
17124 TComPrediction: remove default argument values for internal
17128 * source/Lib/TLibCommon/TComPrediction.cpp,
17129 source/Lib/TLibCommon/TComPrediction.h:
17130 TComPrediction: do not pass output pointer as deference
17132 The function cannot change the pointer
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
17141 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17142 TComYuv: remove unnecessary dup pointer checks
17145 * source/Lib/TLibCommon/TComYuv.h:
17146 TComYuv: remove more default argument values
17149 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17150 TComYuv: merge methods together for clarity
17153 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
17154 source/encoder/compress.cpp:
17155 TComYuv: remove default argument values
17158 * source/Lib/TLibCommon/TComYuv.h:
17159 TComYuv: make some methods private, for future optimizations
17162 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17163 TComYuv: remove hungarian prefixes
17166 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
17167 TComYuv: remove unused copyPartToPartChroma() method
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
17176 2014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
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
17184 2014-02-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17186 * source/encoder/ratecontrol.cpp:
17187 ratecontrol: fix bug in acEnergyVar with multiple color spaces
17190 2014-02-20 Gopu Govindaswamy <Gopu Govindaswamy>
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
17196 Scaning order table initialization moved into initRom() and same
17197 scaning order table can be used for both 444 and 420
17200 2014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
17202 * source/Lib/TLibCommon/TComDataCU.h,
17203 source/Lib/TLibEncoder/TEncSearch.cpp:
17204 cleanup useless getMvPred*(): always zero mv
17207 2014-02-20 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
17209 * source/common/x86/dct8.asm:
17210 asm: correct improper macro
17213 2014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
17215 * source/Lib/TLibEncoder/TEncSearch.cpp,
17216 source/Lib/TLibEncoder/TEncSearch.h:
17220 2014-02-20 Murugan Vairavel <murugan@multicorewareinc.com>
17222 * source/common/x86/pixel-util8.asm:
17223 asm: modified the range of scale value in dequant
17226 2014-02-20 Satoshi Nakagawa <nakagawa424@oki.com>
17228 * source/Lib/TLibCommon/TComDataCU.h,
17229 source/Lib/TLibEncoder/TEncSearch.cpp:
17233 2014-02-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17235 * source/CMakeLists.txt:
17236 api: bump up X265_BUILD to 7 (refer previous commit)
17239 2014-02-19 David T Yuen <dtyx265@gmail.com>
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
17248 2014-02-19 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
17256 2014-02-19 Steve Borho <steve@borho.org>
17258 * source/encoder/ratecontrol.cpp:
17259 ratecontrol: recover CRF behavior following fps changeset
17263 * source/encoder/weightPrediction.cpp:
17264 weightp: do not log weights if none are enabled
17267 * source/encoder/frameencoder.cpp,
17268 source/encoder/weightPrediction.cpp:
17269 weightp: don't allow the PPS weightp flag to be changed by weight
17273 * source/Lib/TLibEncoder/TEncSearch.cpp:
17274 TEncSearch: white-space nits
17277 * source/Lib/TLibEncoder/TEncSbac.cpp:
17278 TEncSbac: white-space nits
17281 2014-02-19 David T Yuen <dtyx265@gmail.com>
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
17289 2014-02-19 ashok <ashok@multicorewareinc.com>
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
17298 2014-02-19 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
17306 2014-02-19 Steve Borho <steve@borho.org>
17308 * source/common/common.cpp, source/encoder/encoder.cpp:
17309 prevent implicit type conversion warnings from MSVC
17312 2014-02-18 Steve Borho <steve@borho.org>
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]
17324 Since x265_param was changing anyway, I went ahead and changed
17325 inputBitDepth to internalBitDepth, which has always been its real
17328 X265_BUILD is bumped to 6
17332 cli: add x264's 'seek', leave HM's 'frame-skip' as undocumented
17335 We want to support x264's CLI options as much as possible, but don't
17336 want to break any existing scripts
17339 2014-02-17 Sumalatha Polureddy <Sumalatha Polureddy>
17341 * source/encoder/compress.cpp:
17342 compress: improve rd 1 performance
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)
17349 2014-02-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17351 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
17352 ratecontrol: change RateControl::lastSatd to currentSatd, add
17356 2014-02-18 Satoshi Nakagawa <nakagawa424@oki.com>
17358 * source/Lib/TLibCommon/ContextTables.h,
17359 source/Lib/TLibEncoder/TEncSbac.cpp, source/common/primitives.cpp:
17363 2014-02-18 Steve Borho <steve@borho.org>
17365 * source/Lib/TLibCommon/TComPrediction.cpp,
17366 source/Lib/TLibCommon/TComPrediction.h:
17367 TComPrediction: remove unused alloc and stride
17370 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
17371 backout unintended commit
17374 * source/encoder/encoder.cpp:
17375 encoder: show per-slice type SSIM as dB
17378 2014-02-17 Steve Borho <steve@borho.org>
17380 * source/Lib/TLibCommon/TComRom.cpp:
17381 TComRom: use x265_malloc/free for globals
17384 * source/Lib/TLibCommon/TComRom.cpp,
17385 source/Lib/TLibCommon/TComWeightPrediction.cpp:
17386 TComRom: prevent multiple allocations or frees of globals
17389 2014-02-17 Nabajit Deka <Nabajit Deka>
17391 * source/test/ipfilterharness.cpp:
17392 testbench : test bench correction for chroma_p2s
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
17400 2014-02-17 Murugan Vairavel <murugan@multicorewareinc.com>
17402 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
17404 asm: 16bpp code for quant and dequant_normal
17407 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
17408 testbench: adding seperate input buffer for idct and updated qp
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
17417 2014-02-17 Satoshi Nakagawa <nakagawa424@oki.com>
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
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
17436 2014-02-17 Steve Borho <steve@borho.org>
17438 * source/encoder/weightPrediction.cpp:
17439 weightp: fix V plane debug output
17442 * source/Lib/TLibCommon/TComSlice.cpp:
17446 * source/Lib/TLibCommon/TComSlice.cpp:
17447 TComSlice: remove dup line
17450 * source/Lib/TLibCommon/TComSlice.h, source/common/lowres.h,
17451 source/encoder/reference.h:
17452 weight: remove odd struct renaming, remove unused wpACDCParam
17455 * source/Lib/TLibCommon/TComSlice.cpp,
17456 source/Lib/TLibCommon/TComSlice.h:
17457 TComSlice: remove unused m_weightACDCParam and methods
17460 * source/encoder/weightPrediction.cpp:
17461 weightp: add debug logging for weight analysis
17464 * source/encoder/encoder.cpp:
17465 encoder: include the hash output into the debug output string
17468 2014-02-16 Steve Borho <steve@borho.org>
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
17475 2014-02-15 Steve Borho <steve@borho.org>
17477 * source/CMakeLists.txt, source/common/cpu.cpp,
17478 source/common/primitives.cpp:
17479 non-x86 build fixes
17482 2014-02-14 Steve Borho <steve@borho.org>
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
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
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 !=
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.
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
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
17537 2014-02-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17539 * source/test/ipfilterharness.cpp:
17540 testbench: disable chroma_p2s.
17543 * source/test/ipfilterharness.cpp:
17544 ipfilterharness: resolve compile errors with CSP
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.
17556 * source/Lib/TLibCommon/TComTrQuant.cpp,
17557 source/Lib/TLibCommon/TComTrQuant.h,
17558 source/Lib/TLibEncoder/TEncSearch.cpp:
17559 Backed out changeset: a3a9e0fb1a87
17561 Conflicts with the 444 patches. Will resolve merge and import it in
17565 2014-02-14 ashok <ashok@multicorewareinc.com>
17567 * source/Lib/TLibCommon/TComLoopFilter.cpp:
17568 Modify TComLoopFilter structure to support multiple color space
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
17583 * source/Lib/TLibEncoder/TEncEntropy.cpp:
17584 Modify TEncEntropy structure to support multiple color space formats
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
17595 * source/Lib/TLibCommon/TComDataCU.cpp:
17596 Modify TComDataCU structure to support multiple color space formats
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
17606 * source/Lib/TLibCommon/TComPrediction.cpp,
17607 source/Lib/TLibCommon/TComPrediction.h:
17608 Modify TComPrediction structure to support multiple color space
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
17620 * source/Lib/TLibEncoder/TEncSearch.cpp,
17621 source/Lib/TLibEncoder/TEncSearch.h:
17622 Modify TEncSearch structure to support multiple color space formats
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
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
17642 2014-02-14 Steve Borho <steve@borho.org>
17644 * source/Lib/TLibCommon/TComPicYuv.cpp:
17645 TComPicYuv: use pixel type instead of Pel type
17648 * source/common/version.cpp:
17649 version: today, our max supported input bit depth is 10
17652 * source/input/y4m.cpp, source/input/yuv.cpp:
17653 input: always set depth and colorspace fields
17656 * source/encoder/encoder.cpp:
17657 encoder: use x265_log for per-frame debug log, use dB for SSIM
17660 * source/encoder/encoder.cpp:
17661 encoder: now only one QP per row in CSV output
17664 2014-02-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
17666 * source/encoder/ratecontrol.cpp:
17667 ratecontrol: cleanup, repetitive code
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.
17675 Always a duplicate of sliceQp.
17678 * source/encoder/ratecontrol.cpp:
17679 ratecontrol: cleanup
17682 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
17683 ratecontrol: clean up struct; remove baseQp
17686 2014-02-14 Steve Borho <steve@borho.org>
17688 * build/msys/make-Makefiles.sh:
17689 build: change eoln of msys bash script to unix
17692 2014-02-14 Satoshi Nakagawa <nakagawa424@oki.com>
17694 * source/Lib/TLibCommon/TComTrQuant.cpp,
17695 source/Lib/TLibCommon/TComTrQuant.h,
17696 source/Lib/TLibEncoder/TEncSearch.cpp:
17697 square transform only
17700 2014-02-14 Nabajit Deka <Nabajit Deka>
17702 * source/common/x86/pixeladd8.asm:
17703 asm: Clean up and minor modifications in pixel_add_ps 16bpp asm
17707 2014-02-14 Steve Borho <steve@borho.org>
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
17716 * source/encoder/encoder.cpp:
17717 encoder: do not generate digest string if we are not going to print
17721 * source/encoder/encoder.cpp, source/encoder/encoder.h:
17722 encoder: report the hash digest from the correct frame encoder
17725 2014-02-14 Sumalatha Polureddy <Sumalatha Polureddy>
17727 * source/encoder/compress.cpp:
17728 compress: Bug fix in rd2
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
17735 * source/encoder/compress.cpp:
17736 compress: missed few lines of code while applying previous patch
17738 1. Increase the eraly skips in rd2 2. Sa8d cost is not calculated,
17739 but used in the code
17742 2014-02-14 Steve Borho <steve@borho.org>
17744 * source/encoder/reference.cpp:
17745 reference: remove unnecessary duplicate variable
17748 * source/CMakeLists.txt:
17749 cmake: on MSVC, CMAKE_CXX_IMPLICIT_LINK_LIBRARIES and PLATFORM_LIBS
17753 2014-02-13 Steve Borho <steve@borho.org>
17755 * source/CMakeLists.txt:
17756 cmake: add a blacklist of libs to keep from x265.pc Libs.private
17759 2014-02-13 Tom Vaughan (tom vaughan <Tom Vaughan (tom.vaughan@multicorewareinc.com)>
17761 * source/common/common.cpp:
17762 Remove redundant settings from performance presets
17765 2014-02-13 Satoshi Nakagawa <nakagawa424@oki.com>
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:
17775 2014-02-13 Murugan Vairavel <murugan@multicorewareinc.com>
17777 * source/common/x86/ipfilter8.asm:
17778 asm: cleanups for ipfilter functions to reduce register counts
17781 2014-02-13 Tom Vaughan (tom vaughan <Tom Vaughan (tom.vaughan@multicorewareinc.com)>
17783 * source/common/common.cpp:
17784 Remove redundant settings from performance presets
17787 2014-02-13 Satoshi Nakagawa <nakagawa424@oki.com>
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:
17798 2014-02-13 Steve Borho <steve@borho.org>
17800 * source/encoder/compress.cpp:
17801 compress: fix gcc warning, make array const
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;
17808 * source/CMakeLists.txt:
17809 cmake: more general fix for CFLAGS breaking resource compiles
17811 There are some versions of rc.exe that also balk at being given
17815 * source/common/common.cpp, source/x265.h:
17816 api: improve documentation of x265_picture, properly initialize
17820 2014-02-13 Murugan Vairavel <murugan@multicorewareinc.com>
17822 * source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp,
17823 source/test/mbdstharness.h:
17824 testbench: added stress test cases for all functions in
17828 2014-02-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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)
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)
17841 Bitrate increase compared to rd 3 (4-6%) on most HD clips, quality
17842 maintained. Performance impact to be measured in regression tests.
17844 Sintel 720p clip needs to be investigated further. Poor show here.
17847 2014-02-13 Steve Borho <steve@borho.org>
17849 * source/common/pixel.cpp:
17850 weightp: add assert to protect assembly limitiation
17853 * source/encoder/weightPrediction.cpp:
17854 weightp: pad width passed to weight_pp(), it requires 16byte
17858 * source/common/threading.h:
17859 threading: fix compile when XP support is enabled
17862 * source/CMakeLists.txt, source/cmake/version.cmake:
17863 cmake: be quiet about missing optional packages
17866 * source/CMakeLists.txt, source/cmake/version.cmake:
17867 cmake: simplify version detection, use single set of variables
17870 * source/cmake/version.cmake:
17871 cmake: use findGit.cmake, which was available in cmake 2.8.8, our
17875 * source/CMakeLists.txt:
17876 cmake: workaround for MinGW windres
17879 2014-02-12 Steve Borho <steve@borho.org>
17881 * source/CMakeLists.txt:
17882 cmake: change name of MSVC built shared library to avoid filename
17885 the shared library and CLI exe were both trying to write x265.pdb
17886 and x265.ilk with unhelpful results.
17889 * source/CMakeLists.txt, source/x265.rc.in:
17890 cmake: add resource file for Windows version info on DLL and EXE
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
17898 cli: use real log commands
17901 2014-02-12 Min Chen <chenm003@163.com>
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:
17912 2014-02-12 Satoshi Nakagawa <nakagawa424@oki.com>
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:
17924 2014-02-12 Steve Borho <steve@borho.org>
17926 * source/encoder/encoder.cpp:
17927 encoder: remove two completed TODOs
17930 * source/encoder/encoder.cpp, source/encoder/encoder.h:
17931 encoder: remember abort condition and stop accepting input frames
17934 2014-02-12 Santhoshini Sekar <santhoshini@multicorewareinc.com>
17936 * source/common/lowres.h, source/encoder/ratecontrol.cpp,
17937 source/encoder/ratecontrol.h, source/encoder/slicetype.cpp,
17938 source/encoder/slicetype.h:
17942 2014-02-12 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
17944 * source/common/x86/asm-primitives.cpp,
17945 source/common/x86/intrapred16.asm:
17946 asm-16bpp: assembly code for IntraAng32x32 all modes
17949 2014-02-12 Nabajit Deka <Nabajit Deka>
17951 * source/common/x86/pixel-util8.asm:
17952 asm : Clean up and minor modifications in pixel_sub_ps asm
17953 functions(2x4, 2x8, 6x8)
17956 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
17957 Test bench : Stress test cases for remaining filter functions.
17960 2014-02-12 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
17967 2014-02-13 Gopu Govindaswamy <Gopu Govindaswamy>
17969 * source/encoder/ratecontrol.cpp:
17970 ratecontrol: to set B-ref frame QP as Lower then B-Frame QP for RC
17974 2014-02-12 Kavitha Sampath <kavitha@multicorewareinc.com>
17976 * source/encoder/weightPrediction.cpp:
17977 weightp: fix hash mismatch
17979 all references should have same luma and chroma denominator
17982 2014-02-12 Steve Borho <steve@borho.org>
17985 api: we don't need stuttering header guards
17989 api: mark externed variables for import from Windows shared library
17992 * source/CMakeLists.txt, source/common/cpu.cpp:
17993 cmake: a few fixes for building on ARM (Rapsbery Pi in particular)
17995 Next step will be bringing over ARM cpu detect assembly functions:
17996 x265_cpu_neon_test() x265_cpu_fast_neon_mrc_test()
17999 * source/encoder/weightPrediction.cpp:
18000 weightp: clip lowres MV before using for motion compensation
18002 Even the lowres MVs with very restricted merange can go beyond the
18003 available pixels. This was causing memory access exceptions on some
18007 * source/encoder/slicetype.cpp:
18008 slicetype: cast mvmin/mvmax indices to signed 16bit values
18011 2014-02-12 Min Chen <chenm003@163.com>
18013 * source/common/x86/blockcopy8.asm:
18014 asm: fix bug in cvt16to32_shl
18017 2014-02-11 Santhoshini Sekar <santhoshini@multicorewareinc.com>
18019 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18020 vbv: set vbvminrate
18023 * source/encoder/ratecontrol.cpp:
18024 rc: Don't do resetABR in CRF.
18027 2014-02-11 Nabajit Deka <Nabajit Deka>
18029 * source/common/x86/blockcopy8.asm:
18030 asm : Optimisations in blockcopy_sp asm routines(2x4, 2x8, 6x8)
18033 2014-02-03 Nabajit Deka <Nabajit Deka>
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
18041 2014-02-11 Murugan Vairavel <murugan@multicorewareinc.com>
18043 * source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
18044 asm: Optimizations and cleaups on ipfilter functions
18047 2014-02-03 Nabajit Deka <Nabajit Deka>
18049 * source/test/ipfilterharness.cpp:
18050 testbench: Added stress test cases for chroma_pp, chroma_ps and
18051 chroma_hps filter functions
18054 2014-02-11 Steve Borho <steve@borho.org>
18056 * source/encoder/encoder.cpp:
18057 encoder: protect public APIs against NULL pointer arguments
18060 * source/cmake/version.cmake:
18061 cmake: set X265_LATEST_TAG from latesttag: line of .hg_archival.txt
18063 The net effect of this is that non-tagged release bundles will be
18064 capable of installing shared libraries with effective sonames.
18068 api: improve documentation of x265_picture dts, pts
18071 2014-02-10 Steve Borho <steve@borho.org>
18073 * source/encoder/slicetype.cpp:
18074 slicetype: pass bools as bool literals
18077 2014-02-11 Satoshi Nakagawa <nakagawa424@oki.com>
18079 * source/Lib/TLibCommon/TComDataCU.cpp,
18080 source/Lib/TLibEncoder/TEncSearch.cpp,
18081 source/Lib/TLibEncoder/TEncSearch.h:
18082 cleanup AMVP related
18085 2014-02-10 Satoshi Nakagawa <nakagawa424@oki.com>
18087 * source/Lib/TLibCommon/TComPattern.cpp,
18088 source/Lib/TLibCommon/TComPattern.h,
18089 source/Lib/TLibEncoder/TEncCu.cpp,
18090 source/Lib/TLibEncoder/TEncSearch.cpp:
18094 2014-02-10 Steve Borho <steve@borho.org>
18096 * source/Lib/TLibCommon/TComPicYuv.cpp:
18097 pic: use C style comments
18100 * source/Lib/TLibCommon/TComPicYuv.cpp:
18101 pic: mask impossible input bits
18104 * source/common/lowres.cpp:
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
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
18120 help: --cutree is a boolean flag
18124 help: move --cutree just after aq options
18127 * source/CMakeLists.txt:
18128 cmake: prevent extra errors when system has no C++ compiler
18131 * source/encoder/weightPrediction.cpp:
18132 weightp: avoid redundant chroma extensions
18135 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
18136 source/encoder/dpb.cpp:
18137 TComPic: add m_chromaPlanesExtended member var
18140 2014-02-10 Kavitha Sampath <kavitha@multicorewareinc.com>
18142 * source/encoder/weightPrediction.cpp:
18143 weightp: extend chroma borders before mcChroma, remove redundant
18147 2014-02-07 Steve Borho <steve@borho.org>
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
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.
18160 2014-02-10 Steve Borho <steve@borho.org>
18162 * source/Lib/TLibCommon/TComPic.h:
18163 TComPic: clean up data member ordering, add comments
18166 2014-02-08 Satoshi Nakagawa <nakagawa424@oki.com>
18168 * source/Lib/TLibCommon/TComDataCU.cpp,
18169 source/Lib/TLibCommon/TComDataCU.h:
18170 improve getInterMergeCandidates()
18173 2014-02-09 Satoshi Nakagawa <nakagawa424@oki.com>
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
18182 2014-02-09 Steve Borho <steve@borho.org>
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
18189 Also, disable scene cut detection to save a few cycles in lookahead.
18190 Fix and/or improve documentation for the keyint parameters
18193 2014-02-07 Murugan Vairavel <murugan@multicorewareinc.com>
18195 * source/common/x86/ipfilter8.asm:
18196 asm: cleanup unused registers interp_4tap_horiz_pp_2xN and 4xN
18199 2014-02-07 Steve Borho <steve@borho.org>
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
18206 2014-02-07 Murugan Vairavel <murugan@multicorewareinc.com>
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
18213 2014-02-07 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
18221 2014-02-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18223 * source/common/x86/sad-a.asm:
18224 asm: fix sad_x4 stress case failure on AVX2
18227 2014-02-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18229 * source/encoder/slicetype.cpp, source/x265.h:
18230 x265: remove X265_TYPE_KEYFRAME.
18232 Not used, and not required. IDR/I-slice can be chosen at the outset
18236 2014-02-07 Steve Borho <steve@borho.org>
18238 * source/common/dct.cpp:
18239 dct: disable assertion for 10bit builds
18241 The assertion is there to protect 8bpp assembly
18244 * source/encoder/weightPrediction.cpp:
18245 weightp: avoid MSVC warnings about implicit bool to int casts
18248 2014-02-06 Steve Borho <steve@borho.org>
18250 * source/common/vec/intra-ssse3.cpp:
18251 Backed out changeset: 5634d0322161
18254 * source/common/vec/intra-ssse3.cpp:
18255 vec: remove unused angAP array
18258 * source/Lib/TLibCommon/TComBitStream.cpp,
18259 source/Lib/TLibCommon/TComBitStream.h:
18260 TComBitstream: simplify push_back(), fix clear(), give buffsize an
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.
18268 * source/Lib/TLibCommon/TComBitStream.cpp:
18269 TComBitstream: fix check for NULL m_fifo member
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)
18275 * source/Lib/TLibCommon/TComBitStream.cpp:
18276 TComBitstream: remove hungarianness from parameters and auto-vars
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,
18289 Fix problems found by clang static analyzser in Xcode
18291 These were mainly stores that were never read
18294 * source/encoder/weightPrediction.cpp,
18295 source/encoder/weightPrediction.h:
18296 weightp: remove useless m_dstStride variable
18302 * source/Lib/TLibCommon/TComPicYuv.h:
18306 * source/encoder/weightPrediction.cpp:
18307 weightp: don't use m_ prefix for non member variable
18310 * source/encoder/weightPrediction.cpp:
18311 weightp: do not blindly assume 4:2:0 chroma dimensions
18314 * source/encoder/weightPrediction.cpp,
18315 source/encoder/weightPrediction.h:
18316 weightp: non-trivial constructors and destructors should not be in
18320 * source/common/vec/intra-ssse3.cpp:
18321 vec: remove intraPredAng32x32, full asm coverage
18324 2014-02-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
18326 * source/common/x86/intrapred8.asm:
18327 asm: fix Intrapred_ang[32x32] mode 10 and 26 failure on Mac
18330 2014-02-06 Gopu Govindaswamy <Gopu Govindaswamy>
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
18337 2014-02-06 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
18344 2014-02-06 Murugan Vairavel <murugan@multicorewareinc.com>
18346 * source/test/pixelharness.cpp, source/test/pixelharness.h:
18347 testbench: stress test support for all pixelharness functions
18350 2014-02-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
18357 2014-02-06 Satoshi Nakagawa <nakagawa424@oki.com>
18359 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
18360 remove unnecessary copyToPicLuma() call
18363 2014-02-05 Steve Borho <steve@borho.org>
18365 * source/common/common.cpp:
18366 common: use ATOMIC_CAS32 to update an int
18369 * source/common/threadpool.cpp:
18370 threadpool: use aligned malloc to allocate sleep bitmap
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
18377 * source/encoder/slicetype.cpp:
18378 slicetype: fix 10bpp intra pixel preparations - found by valgrind
18381 * source/common/vec/intra-ssse3.cpp:
18382 vec: remove 4x4 and 8x8 intra mode prediction functions, asm
18386 * source/common/vec/intra-sse41.cpp:
18387 vec: remove 4x4, 8x8, and 16x16 allangs functions; covered by
18391 * source/common/x86/asm-primitives.cpp:
18392 asm: remove redundant macro definition
18395 2014-02-05 Praveen Tiwari <Praveen Tiwari>
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
18402 2014-02-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18404 * source/common/x86/asm-primitives.cpp,
18405 source/common/x86/intrapred8.asm:
18406 asm: intra_pred_ang8 asm code for all modes
18409 2014-02-04 Murugan Vairavel <murugan@multicorewareinc.com>
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
18416 2014-02-05 Steve Borho <steve@borho.org>
18418 * source/CMakeLists.txt:
18419 cmake: only officially support 16bpp builds on x64 architectures
18422 2014-02-05 Aarthi Thirumalai <Aarthi Thirumalai>
18424 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
18425 abr: reset ABR to prevent high bitrate peaks in single pass ABR
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.
18434 2014-02-05 Gopu Govindaswamy <Gopu Govindaswamy>
18436 * source/common/lowres.cpp:
18437 lowres: initialize weightedCostDelta to avoid Valgrind reporting
18438 uninitialized memory
18441 * source/encoder/slicetype.cpp:
18442 cuTree: bug fix for frameCostRecalculate
18445 2014-02-05 Steve Borho <steve@borho.org>
18447 * source/encoder/encoder.cpp:
18448 encoder: try not to leak memory after malloc failures
18451 * source/common/lowres.cpp:
18452 lowres: fix gcc/clang compile errors
18454 gcc doesn't like to jump to labels that bypass variable
18455 initializations, even if they are not used passed the jump
18458 2014-02-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18460 * source/common/x86/asm-primitives.cpp:
18461 Backed out changeset: a88c7bbfba61
18463 The addAvg x86 versions have now been fixed
18466 2014-02-05 Satoshi Nakagawa <nakagawa424@oki.com>
18468 * source/common/x86/mc-a.asm:
18472 2014-02-04 Steve Borho <steve@borho.org>
18474 * source/common/lowres.cpp, source/common/lowres.h:
18475 lowres: there was no need to pass an int* as an int32_t*
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
18488 This is the most obvious place memory allocation failures will
18489 occur, at encoder startup. So it is best to catch them cleanly.
18492 * source/test/pixelharness.cpp:
18493 pixelharness: actually report chroma addAvg as addAvg, not add_ps
18496 * source/test/pixelharness.cpp:
18497 pixelharness: fix luma_addAvg tests
18500 * source/common/x86/asm-primitives.cpp:
18501 asm: disable x86 versions of addAvg - they are broken
18504 * source/common/common.cpp:
18505 log: move lookahead options all together, rate-control at the end
18509 * source/common/lowres.cpp:
18510 lowres: initialize downscale planes immediately after alloc
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
18525 * source/test/ipfilterharness.cpp:
18526 ipfilterharness: fix loop bounds, caused crashes in 16bpp
18529 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18530 slicetype: weight the extended lowres frame prior to MC cost
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.
18539 * source/common/wavefront.cpp, source/common/wavefront.h:
18540 wavefront: rename bitmaps for clarity, add more comments
18543 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h:
18544 common: move malloc/free macros to our header
18547 * source/common/common.cpp, source/x265.cpp:
18548 cli: change --keyint short option to capital I, add min-keyint,
18551 All these options now match x264's command line features
18554 * source/Lib/TLibCommon/TComTrQuant.cpp:
18555 TComTrQuant: avoid bogus warning from VC9/VC10
18558 2014-02-04 Satoshi Nakagawa <nakagawa424@oki.com>
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
18566 2014-02-03 Steve Borho <steve@borho.org>
18568 * source/Lib/TLibEncoder/NALwrite.cpp:
18569 NALWrite: simplify emulation detection
18572 * source/input/y4m.cpp:
18576 * source/input/y4m.cpp:
18577 y4m: better handling of eof during frame header reads
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.
18585 This was the last warning reported by valgrind on the stable branch
18586 [4b8901ae94ec] <stable>
18588 * source/encoder/slicetype.cpp:
18589 slicetype: use x265 naming scheme for auto vars and parameters
18592 * source/input/y4m.cpp:
18593 y4m: reorder functions for clarity
18596 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18597 slicetype: replace ints and long ints with bools where appropriate
18600 * source/input/y4m.cpp:
18601 y4m: simplify guessFrameCount
18604 2014-02-03 Satoshi Nakagawa <nakagawa424@oki.com>
18606 * source/Lib/TLibCommon/ContextTables.h,
18607 source/Lib/TLibCommon/TComTrQuant.h,
18608 source/Lib/TLibEncoder/TEncSbac.cpp,
18609 source/Lib/TLibEncoder/TEncSbac.h:
18613 2014-02-03 Steve Borho <steve@borho.org>
18615 * source/encoder/ratecontrol.cpp:
18616 ratecontrol: backout c4e99fde0b and fix indentation
18619 2014-01-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18621 * source/common/x86/asm-primitives.cpp,
18622 source/common/x86/intrapred8.asm:
18623 assembly code for intra_pred_ang8_5
18626 2014-02-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18631 2014-01-20 Murugan Vairavel <murugan@multicorewareinc.com>
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
18638 2014-01-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
18640 * source/common/x86/asm-primitives.cpp,
18641 source/common/x86/intrapred8.asm:
18642 assembly code for intra_pred_ang8_4.
18645 2014-01-20 Murugan Vairavel <murugan@multicorewareinc.com>
18647 * source/common/x86/asm-primitives.cpp,
18648 source/common/x86/intrapred8.asm:
18649 asm: code for intra_Pred_Ang16x16 mode 4
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
18657 2014-02-03 Steve Borho <steve@borho.org>
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
18675 One less opportunity for a stupid mistake
18678 * source/CMakeLists.txt:
18679 cmake: treat empty CMAKE_SYSTEM_PROCESSOR as x86 (fixes #25)
18682 * source/encoder/encoder.cpp:
18683 follow x264's keyframe-min logic [CHANGES OUTPUTS] (closes #24)
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
18691 2014-02-03 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
18700 2014-02-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18702 * source/encoder/frameencoder.cpp:
18703 frameencoder: use macro MAX_MAX_QP
18706 2014-02-03 Satoshi Nakagawa <nakagawa424@oki.com>
18708 * source/encoder/frameencoder.cpp:
18712 2014-02-02 Steve Borho <steve@borho.org>
18714 * source/Lib/TLibEncoder/TEncSbac.cpp, source/encoder/CMakeLists.txt:
18715 cmake: remove two MSVC warnings overrides, HM code has been somewhat
18719 * source/Lib/TLibCommon/TComPicYuvMD5.cpp,
18720 source/common/CMakeLists.txt:
18721 cmake: remove two MSVC warnings overrides, HM code has been somewhat
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
18729 This enables a number of cleanups in the internal cmake scripts
18732 2014-02-01 Steve Borho <steve@borho.org>
18734 * source/CMakeLists.txt:
18735 cmake: prevent warnings from recent builds of cmake
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...
18742 * source/common/x86/x86inc.asm:
18743 x86inc: Make ym# behave the same way as xm#
18745 x264 commit 0997c288be10
18748 * source/common/x86/x86inc.asm:
18749 x86inc.asm: allow x64 output format
18751 x264 commit 3361d59a0a83d
18754 * source/common/x86/x86inc.asm:
18755 asm: pull in pengvado's header patch to speed up yasm compiles
18758 2014-01-29 Satoshi Nakagawa <nakagawa424@oki.com>
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
18769 2014-02-01 Steve Borho <steve@borho.org>
18771 * source/CMakeLists.txt:
18775 * source/CMakeLists.txt:
18776 cmake: use strlower on CMAKE_SYSTEM_PROCESSOR
18779 * source/CMakeLists.txt:
18780 cmake: only allow assembly to be enabled for X86, our only asm
18784 * source/CMakeLists.txt:
18785 cmake: reorg main file for readability, no behavior changes
18788 * source/CMakeLists.txt, source/common/cpu.cpp, source/x265.h:
18789 cpu: port ARM cpu detection code from x264
18792 * source/CMakeLists.txt:
18793 cmake: add two more system processor names that are synonyms of x86
18796 * source/CMakeLists.txt, source/common/cpu.cpp,
18797 source/common/primitives.cpp:
18798 cmake: improve handling of unknown system processor
18801 * source/encoder/weightPrediction.cpp:
18802 weightp: add math include for POSIX systems
18805 2014-01-31 Steve Borho <steve@borho.org>
18807 * source/encoder/ratecontrol.cpp:
18808 ratecontrol: use X265_DEPTH instead of g_bitDepth
18810 On 8 bit builds, bit depth is known at compile time, allowing the
18811 compiler to optimize away a few of these operations.
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)
18838 A few changes that uncrustify wanted to make have been left out of
18839 the commit for style reasons.
18842 * source/encoder/weightPrediction.cpp:
18846 * source/encoder/weightPrediction.cpp:
18847 weightp: vc11-win32-debug workarounds
18850 * source/encoder/ratecontrol.cpp:
18851 ratecontrol: add missing braces
18854 * source/encoder/ratecontrol.cpp:
18855 ratecontrol: white-space nits
18858 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18862 2014-01-30 Steve Borho <steve@borho.org>
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
18870 2014-01-31 Steve Borho <steve@borho.org>
18872 * source/CMakeLists.txt, source/common/CMakeLists.txt:
18873 cmake: white-space nits
18876 * source/test/ipfilterharness.cpp:
18877 testbench: fix signed/unsigned comparison warning
18880 2014-01-30 Nabajit Deka <Nabajit Deka>
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
18887 * source/test/pixelharness.cpp:
18888 testbench: fix for random test bench failure caused by pixeladd_ss
18891 2014-01-31 Steve Borho <steve@borho.org>
18894 Added tag 0.7 for changeset d24e2a8c4326
18895 [edf64ac976ea] <stable>
18897 * source/encoder/slicetype.cpp:
18898 slicetype: comment nits
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>
18904 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
18905 slicetype: alloc wpScalingParam instance as a struct member
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>
18915 * source/encoder/slicetype.cpp:
18916 slicetype: use explicit float type constant
18917 [e04f2b3dea39] <stable>
18919 * source/encoder/slicetype.cpp:
18920 slicetype: prevent divide-by-zero and sqrtf(0)
18921 [3bc0651c0f40] <stable>
18923 2014-01-31 Praveen Tiwari <Praveen Tiwari>
18925 * source/common/x86/pixel-a.asm:
18926 asm: fix for potential mismach between ASM and no-ASM outputs
18927 [539d1b0561b1] <stable>
18929 2014-01-30 Steve Borho <steve@borho.org>
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:
18937 2014-01-28 Steve Borho <steve@borho.org>
18939 * source/common/threadpool.cpp:
18940 threadpool: use a wait event per worker thread
18942 For simplicity, this patch caps the number of worker threads to 64.
18943 The bitmap could be trivially extended if necessary.
18945 This removes the common wake event, which complicated startup and
18946 shutdown and flush events.
18949 2014-01-30 Steve Borho <steve@borho.org>
18951 * source/encoder/cturow.h, source/encoder/frameencoder.cpp:
18952 cturow: detect and prevent simultaneous row access
18954 Temporary workaround until we are certain the findJob() race hazards
18955 are indeed resolved completely.
18956 [564eefbb3812] <stable>
18958 2014-01-28 Steve Borho <steve@borho.org>
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
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.
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
18977 This should prevent deadlocks from frame encoder synchronization
18978 [4a4c4cbe9c67] <stable>
18980 2014-01-30 Steve Borho <steve@borho.org>
18982 * source/common/wavefront.cpp:
18983 wavefront: eliminate redundant reads of m_queuedBitmap
18984 [6d5f2f61341a] <stable>
18986 * source/common/wavefront.cpp:
18987 wavefront: use x265_malloc for bitmaps, to ensure alignment
18988 [adf571b1bb94] <stable>
18990 * source/Lib/TLibCommon/CommonDef.h, source/common/common.h:
18991 common: consolodate malloc/free funcdefs to common.h
18992 [71f6479dc354] <stable>
18994 2014-01-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
18996 * source/common/x86/asm-primitives.cpp, source/encoder/encoder.cpp:
18997 Merge bug fixes from stable.
19000 2014-01-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19002 * source/common/x86/sad-a.asm:
19003 asm: modified pixel_sad asm function to avoid overflow
19004 [b852f74bdd8c] <stable>
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>
19010 2014-01-29 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19012 * source/common/x86/pixel-a.asm:
19013 asm: fix for 32-bit build satd overflow issue.
19014 [86743912a5b0] <stable>
19016 2014-01-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19018 * source/encoder/encoder.cpp:
19019 log: print Summary for per-frame logging
19022 * source/encoder/encoder.cpp:
19023 log: print ssim(dB) in per-frame csv logging
19026 2014-01-29 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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>
19032 2014-01-28 Steve Borho <steve@borho.org>
19034 * source/encoder/encoder.cpp:
19035 nit: line up WPP log info with other config items
19036 [4ec459e04f9e] <stable>
19038 * source/encoder/weightPrediction.cpp:
19039 weightp: fix lowresMvCosts[] indexing, add comment for future work
19042 * source/encoder/compress.cpp:
19046 2014-01-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19048 * source/encoder/compress.cpp:
19049 compress: insert check for merge MV candidates.
19050 [7f4537c4db7a] <stable>
19052 2014-01-28 Aarthi Thirumalai (aarthi <Aarthi Thirumalai (aarthi@multicorewareinc.com)>
19054 * source/encoder/ratecontrol.cpp:
19055 rc: bug fix in crf mode ;correct qscale set for all the frames.
19056 [854ff1616d38] <stable>
19058 2014-01-28 Kavitha Sampath <kavitha@multicorewareinc.com>
19060 * source/encoder/weightPrediction.cpp,
19061 source/encoder/weightPrediction.h:
19062 weightP: fix crash due to access of lowres array
19064 fix crash due to access of lowres array of references with invalid
19068 2014-01-28 Steve Borho <steve@borho.org>
19070 * source/common/common.cpp, source/encoder/slicetype.cpp,
19075 * source/encoder/slicetype.cpp:
19076 slicetype: fix initial threshold passed to slicetypePathCost
19077 [ddd4e4e328d2] <stable>
19079 2014-01-27 Satoshi Nakagawa <nakagawa424@oki.com>
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[]
19091 2014-01-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19093 * source/encoder/weightPrediction.cpp:
19094 weightP: when difPoc is large, prepare to avoid MC - part 2. Patch
19098 * source/encoder/weightPrediction.cpp:
19099 weightP: when difPoc is large, prepare to avoid MC. Patch from
19103 * source/encoder/frameencoder.cpp:
19104 weightP: build error fix
19106 Inconsistency due to import from stable branch
19110 x265: allow only 10-bit input depths in HIGH_BIT_DEPTh builds
19111 [dd0ef09680fe] <stable>
19113 2014-01-27 Steve Borho <steve@borho.org>
19115 * source/common/common.cpp:
19116 common: prevent 8bit encodes with HIGH_BIT_DEPTH builds
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>
19124 * source/common/common.cpp, source/encoder/frameencoder.cpp,
19125 source/encoder/weightPrediction.cpp:
19129 * source/encoder/frameencoder.cpp:
19130 frameencoder: remove commented function which no longer exists
19132 compressMotion() was removed 4 months ago
19133 [26a5e720f290] <stable>
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>
19139 * source/common/common.cpp:
19140 common: do not allow encodes other than 4:2:0 to start
19141 [10fc60881bbf] <stable>
19143 2014-01-24 Kavitha Sampath <kavitha at multicorewareinc.com> <kavitha at multicorewareinc.com>
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>
19151 2014-01-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19153 * source/common/wavefront.h:
19154 wavefront: add missing initializer
19155 [4fcfa56420fb] <stable>
19157 2014-01-24 Min Chen <chenm003@163.com>
19159 * source/common/x86/pixel-a.asm:
19160 fix SATD32x32 16bits cumulate sum overflow (x86 version only)
19161 [83767892376d] <stable>
19163 2014-01-27 Steve Borho <steve@borho.org>
19165 * source/common/common.cpp, source/encoder/frameencoder.cpp:
19169 2014-01-25 Satoshi Nakagawa <nakagawa424@oki.com>
19171 * source/Lib/TLibCommon/ContextTables.h,
19172 source/Lib/TLibEncoder/TEncSbac.cpp:
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
19185 2014-01-27 Satoshi Nakagawa <nakagawa424@oki.com>
19187 * source/Lib/TLibEncoder/TEncSearch.cpp,
19188 source/Lib/TLibEncoder/TEncSearch.h:
19192 2014-01-26 Satoshi Nakagawa <nakagawa424@oki.com>
19194 * source/Lib/TLibCommon/ContextTables.h,
19195 source/Lib/TLibEncoder/TEncSbac.cpp:
19196 reduce unused context models
19199 2014-01-27 Steve Borho <steve@borho.org>
19201 * source/common/common.cpp, source/encoder/frameencoder.cpp:
19202 me: add a two pixel pad to the max ME range when calculating
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
19209 [b173809575c6] <stable>
19211 2014-01-24 Steve Borho <steve@borho.org>
19213 * source/input/y4m.cpp, source/input/yuv.cpp:
19214 input: add build flag to disable read thread for debug purposes
19215 [1ac9148a3661] <stable>
19217 * Merge with stable
19220 * source/input/yuv.cpp, source/input/yuv.h:
19221 yuv: support colorspaces in YUV input files (closes #13)
19222 [13dac38f54ac] <stable>
19224 * source/input/y4m.cpp, source/input/yuv.cpp:
19225 input: use ifstream::good() instead of !ifstream::fail()
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>
19231 * source/input/y4m.cpp:
19232 y4m: prevent infinite loop on malformed y4m frame headers
19233 [9867ebc4b164] <stable>
19235 2014-01-24 Nabajit Deka <Nabajit Deka>
19237 * source/test/ipfilterharness.cpp:
19238 asm : Fix for luma_vss test bench failure
19241 2014-01-24 Steve Borho <steve@borho.org>
19243 * source/encoder/slicetype.cpp:
19247 * source/encoder/slicetype.cpp:
19248 slicetype: prevent compiler warnings about uninitialized variables
19249 [2a2e5711f63b] <stable>
19251 * source/common/lowres.cpp, source/encoder/slicetype.cpp,
19252 source/encoder/slicetype.h:
19256 2014-01-24 Satoshi Nakagawa <nakagawa424@oki.com>
19258 * source/encoder/slicetype.cpp:
19259 fix b-pyramid for fixed GOP
19260 [ffee1032eaed] <stable>
19262 2014-01-24 Steve Borho <steve@borho.org>
19264 * source/encoder/reference.cpp:
19265 reference: pad width of weighted region to multiple of 16
19266 [2ab2bb459d1a] <stable>
19268 * source/common/lowres.h, source/encoder/slicetype.cpp,
19269 source/encoder/slicetype.h:
19271 [c02e59ab4ee9] <stable>
19273 * source/encoder/slicetype.cpp:
19274 slicetype: fix bcost behavior with signed ints
19275 [0431eb3404e7] <stable>
19277 2014-01-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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>
19285 * source/common/common.h:
19289 * source/common/common.h:
19290 lowres: fix msys compile error
19291 [f45d9772cc40] <stable>
19293 2014-01-23 Steve Borho <steve@borho.org>
19295 * source/encoder/slicetype.cpp:
19299 * source/common/lowres.cpp, source/encoder/slicetype.cpp:
19300 white-space and other nits
19303 * source/encoder/slicetype.cpp:
19304 slicetype: repair I frame placement with lookahead disabled
19306 if ((true || foo) && bar) properly degrades to if (bar)
19309 * source/common/common.cpp:
19310 preset: re-disable lookahead at ultrafast preset
19313 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
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>
19323 2014-01-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19325 * source/test/pixelharness.cpp:
19326 testbench: added the chroma_addAvg primitives.
19329 2014-01-23 Steve Borho <steve@borho.org>
19331 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19332 slicetype: remove unused numDecided member variable
19335 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19339 2014-01-21 Steve Borho <steve@borho.org>
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
19346 * moves frame cost calculations into a separate class deriving from
19348 * frames[] array now always declared on stack for better re-entrant
19350 * re-orders functions in slicetype.cpp for clarity
19351 * internal methods were made protected, for documentation purposes
19353 * fixes a few minor problems discovered during the reorg
19354 * removes deprecated ReferencePlanes.unweightedFPelPlane
19355 [e9ec7787cf5e] <stable>
19357 2014-01-22 Satoshi Nakagawa <nakagawa424@oki.com>
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()
19365 2014-01-20 Satoshi Nakagawa <nakagawa424@oki.com>
19367 * source/Lib/TLibCommon/TypeDef.h,
19368 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
19372 2014-01-23 Steve Borho <steve@borho.org>
19374 * source/encoder/slicetype.cpp:
19378 * source/encoder/slicetype.cpp:
19379 slicetype: issue EMMS before returning a thread to the work pool
19380 [a42dd0dfe90d] <stable>
19382 * source/common/primitives.h:
19383 primitives: move luma_addAvg close to other weight/avg functions
19386 * source/common/primitives.h:
19387 primitves: fix a comment
19390 * source/common/primitives.h:
19391 primitive: remove two dead funcdefs
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
19401 * source/common/ipfilter.cpp, source/common/primitives.h,
19402 source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
19403 primitive: remove dead ipfilter_ps
19406 * source/test/pixelharness.cpp:
19407 pixelharness: remove dead primitive test
19410 2014-01-23 Nabajit Deka <Nabajit Deka>
19412 * source/Lib/TLibCommon/TComPrediction.cpp:
19413 asm : Hook up chroma_vps and chroma_vss with the encoder.
19416 * source/Lib/TLibCommon/TComPrediction.cpp:
19417 asm : Hook up luma_vps and luma_vss with the encoder.
19420 2014-01-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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.
19427 2014-01-22 Steve Borho <steve@borho.org>
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
19436 2014-01-22 Nabajit Deka <Nabajit Deka>
19438 * source/Lib/TLibCommon/TComPrediction.cpp,
19439 source/encoder/weightPrediction.cpp:
19440 asm : Hook up chroma_vsp with the encoder.
19443 2014-01-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19445 * Merge from stable
19448 2014-01-22 Kavitha Sampath <kavitha@multicorewareinc.com>
19450 * source/encoder/weightPrediction.cpp:
19451 WeightPrediction: Do not use lowres MV/MVcost for invalid
19453 [9497c55d7be2] <stable>
19455 * source/encoder/weightPrediction.cpp:
19456 weightp: fix hash mismatch when --ref > 3
19457 [d56dd4d8e08b] <stable>
19459 2014-01-21 Steve Borho <steve@borho.org>
19461 * source/encoder/slicetype.cpp:
19465 * source/encoder/slicetype.cpp:
19466 slicetype: fix cuTree mv indexing (bug found by herman.chen@rock-
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>
19473 * source/input/yuv.cpp:
19474 yuv: skip frames one at a time to prevent offset overflow
19475 [e12bb1346bef] <stable>
19477 2014-01-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19482 2014-01-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
19484 * source/common/x86/asm-primitives.cpp,
19485 source/common/x86/intrapred8.asm:
19486 assembly code for intra_pred_ang8_3
19489 2014-01-20 Steve Borho <steve@borho.org>
19492 cli: tweak aq-strength CLI help
19495 * source/encoder/slicetype.cpp:
19496 slicetype: white-space fixes
19499 * source/encoder/encoder.cpp:
19500 encoder: fix the slicetype char table
19503 * Merge with stable
19506 2014-01-20 Gopu Govindaswamy <Gopu Govindaswamy>
19508 * source/Lib/TLibEncoder/NALwrite.cpp:
19509 Nalwrite: removed EMULATION_SIZE macro and calculate the
19510 emulationSize from Encoded bitstream size
19511 [21a5fb7ab965] <stable>
19513 2014-01-17 Aarthi Thirumalai <Aarthi Thirumalai>
19515 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19516 rc: avoid issues from zero-residual lookahead blocks, introduce a
19520 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
19521 lookahead: call sliceTypeAnalyse when necessary
19523 call sliceTypeAnalyse even when cutree is on or lookaheadDepth or
19524 scenecutThreashold > 0
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.
19531 2014-01-20 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19533 * source/common/common.h:
19534 NALwrite: remove unused macro
19537 2014-01-20 Gopu Govindaswamy <Gopu Govindaswamy>
19539 * source/Lib/TLibEncoder/NALwrite.cpp:
19540 Nalwrite: removed EMULATION_SIZE macro and calculate the
19541 emulationSize from Encoded bitstream size
19544 2014-01-17 Min Chen <chenm003@163.com>
19546 * source/common/x86/asm-primitives.cpp,
19547 source/common/x86/intrapred8.asm:
19548 asm: IntraAng32x32 Mode[17]
19551 2014-01-18 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
19553 * source/test/pixelharness.cpp, source/test/pixelharness.h:
19554 testbench support for addAvg primitive
19557 2014-01-17 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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().
19564 2014-01-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
19566 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
19567 Re-enabling new weightp
19570 2014-01-17 Steve Borho <steve@borho.org>
19572 * source/common/common.cpp:
19573 common: do not report ssim costs by default
19575 It costs CPU cycles to measure SSIM, do not do this unless the user
19576 asks for them with --ssim
19579 * source/common/common.cpp:
19580 common: remove trailing white-space
19583 * source/encoder/encoder.cpp:
19584 white-space fixes, reorder for clarity
19587 * source/encoder/encoder.cpp:
19588 update/fix comments
19591 * source/common/common.cpp, source/encoder/encoder.cpp:
19592 move param fixups to Encoder::configure()
19595 2014-01-15 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
19602 2014-01-16 Steve Borho <steve@borho.org>
19604 * source/encoder/encoder.cpp:
19605 stats: simplify slice type lookup
19608 2014-01-16 Xun Xu, PPLive Corporation <xunxu@pptv.com>
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
19616 2014-01-16 Steve Borho <steve@borho.org>
19618 * source/Lib/TLibEncoder/TEncSbac.cpp:
19619 TEncSbac: remove hungarian prefixes from loop vars
19622 2014-01-12 Satoshi Nakagawa <nakagawa424@oki.com>
19624 * source/encoder/compress.cpp:
19625 remove duplicate code
19628 2014-01-15 Satoshi Nakagawa <nakagawa424@oki.com>
19630 * source/Lib/TLibCommon/TComTrQuant.h,
19631 source/Lib/TLibEncoder/TEncSbac.cpp:
19635 2014-01-15 Min Chen <chenm003@163.com>
19637 * source/Lib/TLibCommon/TComDataCU.cpp:
19641 2014-01-15 Steve Borho <steve@borho.org>
19647 2013-12-17 Kavitha Sampath <kavitha@multicorewareinc.com>
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)
19654 2014-01-14 Steve Borho <steve@borho.org>
19656 * Merge with stable
19659 2014-01-09 Satoshi Nakagawa <nakagawa424@oki.com>
19661 * source/Lib/TLibCommon/TComDataCU.cpp,
19662 source/Lib/TLibCommon/TComDataCU.h,
19663 source/Lib/TLibCommon/TComPrediction.cpp,
19664 source/Lib/TLibEncoder/TEncSearch.cpp:
19668 2014-01-14 Steve Borho <steve@borho.org>
19670 * source/common/wavefront.cpp:
19672 [9e923f539d89] <stable>
19674 2014-01-13 Steve Borho <steve@borho.org>
19676 * source/common/wavefront.cpp:
19677 wavefront: consider enabled bitmap status in
19678 checkHigherPriorityRow()
19679 [8e0fa5fcbf15] <stable>
19681 * source/Lib/TLibCommon/TComYuv.cpp:
19682 TComYuv: pad chroma allocations, fix valgrind warnings
19683 [aae31685d8c7] <stable>
19685 * source/Lib/TLibCommon/TComPicYuv.cpp:
19686 TComPicYuv: add a row and col of padding for lowres interpolation
19687 [8d3cdf1a846e] <stable>
19689 * source/CMakeLists.txt, source/common/CMakeLists.txt:
19690 cmake: tweak order of compiles to improve parallel build times
19692 Move assembly and intrinsic files to front of the build
19695 * Merge with stable
19698 2014-01-13 Min Chen <chenm003@163.com>
19700 * source/Lib/TLibCommon/ContextTables.h:
19701 HM: Fix for #576: Context table for CBF
19702 [c9cefa67691c] <stable>
19704 * source/Lib/TLibCommon/ContextTables.h:
19705 HM: Fix for #501: Decoding part_mode with inter_4x4 can use CNU
19707 [de98453fa608] <stable>
19709 2014-01-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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>
19717 2014-01-10 Steve Borho <steve@borho.org>
19719 * Merge with stable
19722 2014-01-09 Murugan Vairavel <murugan@multicorewareinc.com>
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
19729 2014-01-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
19736 2014-01-07 Min Chen <chenm003@163.com>
19738 * source/common/x86/ipfilter8.asm:
19739 improvement interpolate_H_pp
19742 2013-12-28 Min Chen <chenm003@163.com>
19744 * source/Lib/TLibEncoder/TEncEntropy.cpp:
19745 cleanup reduce condition check for getUseDQP()
19746 [a03cc8c4d739] <stable>
19748 2014-01-08 Steve Borho <steve@borho.org>
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>
19761 2014-01-07 Murugan Vairavel <murugan@multicorewareinc.com>
19763 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
19765 asm: fix memory access violation due to scale2D_64to32
19768 2014-01-07 Min Chen <chenm003@163.com>
19770 * source/common/x86/ipfilter8.asm:
19771 correct number of xmm register on interp_8tap_horiz*
19774 2014-01-06 Steve Borho <steve@borho.org>
19776 * source/Lib/TLibCommon/TComPrediction.cpp:
19777 TComPrediction: simplify luma intra prediction function
19780 * source/Lib/TLibCommon/TComPrediction.cpp:
19781 wtf? a useless comment and if()/else() with two identical
19785 * source/Lib/TLibCommon/TComBitStream.cpp:
19786 TComBitStream: fix loop bounds so we do not check past end of buffer
19790 ignore vim swap files
19793 * source/Lib/TLibCommon/TComBitStream.cpp:
19794 TComBitstream: simplify and streamline start code checks
19797 * source/Lib/TLibCommon/TComBitStream.cpp:
19798 TComBitStream: rename variables for clarity
19800 There was no point making cnt an unsigned variable when the return
19801 value is signed, this just adds more compiler warnings
19804 * source/encoder/motion.cpp:
19805 motion: add early out for subpel refine if bcost is already zero
19808 * source/encoder/slicetype.cpp:
19809 slicetype: better prevention for compiler warnings and misbehaviors
19812 * source/common/x86/asm-primitives.cpp:
19813 asm: disable x265_scale2D_64to32_ssse3, DUMA finds access violations
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
19820 2014-01-01 Steve Borho <steve@borho.org>
19822 * source/Lib/TLibCommon/TComSlice.h:
19826 * source/encoder/weightPrediction.cpp:
19827 weight: clarify max denom adjustments
19830 * source/encoder/weightPrediction.cpp:
19834 * source/encoder/weightPrediction.cpp:
19835 weight: alloc intermediate weight buffer once per plane
19838 * source/encoder/weightPrediction.cpp,
19839 source/encoder/weightPrediction.h:
19840 weight: use m_ prefix consistently for all member variables
19843 * source/encoder/weightPrediction.h:
19844 weightPrediction: remove unused member variables, fix shadow warning
19847 2014-01-06 Min Chen <chenm003@163.com>
19849 * source/encoder/frameencoder.cpp:
19850 fix every execute output different bitstream when SAO enabled
19853 2014-01-03 Steve Borho <steve@borho.org>
19855 * source/input/y4m.cpp:
19856 y4m: use loop to skip frames, avoid 32bit size wrap problems
19859 2014-01-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19861 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
19862 Backed out changeset: revert to HM-based weightP
19865 2013-12-30 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
19867 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
19868 Integrating new weight analysis in encoder
19871 * source/encoder/CMakeLists.txt, source/encoder/weightPrediction.cpp,
19872 source/encoder/weightPrediction.h:
19873 Importing x264 weight analysis to encoder
19876 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
19877 Moving macro to header
19880 2013-12-30 Aarthi Thirumalai <Aarthi Thirumalai>
19882 * source/encoder/ratecontrol.cpp:
19883 rc: bug fix to improve quality for the first I frame.
19886 2013-12-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19888 * source/common/common.cpp:
19889 common: tune-ssim sets aqmode as AUTO_VARIANCE (2). Gives higher
19893 2013-12-27 Aarthi Thirumalai <Aarthi Thirumalai>
19895 * source/encoder/ratecontrol.cpp, source/encoder/slicetype.cpp:
19896 cutree: bug fixes. correct the timescale used in getQScale()
19899 2013-12-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19901 * source/common/common.cpp:
19902 aq, cutree: completely turn of AQ, at fastest presets
19904 Prevent AQ from running unnecessarily with strength 0.
19907 * source/common/common.cpp:
19908 aq, cutree: preset changes
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).
19916 2013-12-26 Murugan Vairavel <murugan@multicorewareinc.com>
19918 * source/common/x86/blockcopy8.asm:
19919 asm: fix for mismatch in 10bpp block copy
19922 2013-12-24 Aarthi Thirumalai <Aarthi Thirumalai>
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
19930 2013-12-25 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19932 * source/encoder/encoder.cpp, source/x265.cpp:
19936 2013-12-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19938 * source/encoder/encoder.cpp:
19939 csv: formatting ssim output
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.
19947 2013-12-23 Deepthi Nandakumar <deepthi@multicorewareinc.com>
19949 * source/encoder/encoder.cpp:
19950 encoder: increase precision, add ssim db info to csv output.
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.
19958 2013-12-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
19960 * source/encoder/compress.cpp:
19964 * source/encoder/compress.cpp:
19965 rd: fix incorrect check for rdlevel
19967 Merge-skip check should be only for rdlevel 2
19970 * source/encoder/compress.cpp:
19971 rd: modify recon generation in rd 0 to have lesser mem copies
19974 * source/Lib/TLibCommon/TComDataCU.cpp:
19975 rd: remove unnecessary mem copies
19978 2013-12-17 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
19980 * source/encoder/compress.cpp:
19984 * source/encoder/compress.cpp:
19985 rd: move merge-skip check before other modes are checked
19987 in rd 1,0 merge-skip is chosen only based on sa8d threshols.
19988 Checking other Inter/inter modes is unnecessary overhead.
19991 * source/encoder/compress.cpp:
19992 rd: fix error in merge-skip identfication in rd 1,0
19994 Cost was not calculated if the best mode is merge-skip in rd 1,0
19997 * source/encoder/compress.cpp:
19998 compress: remove unused sbaccoder load
20001 * source/encoder/compress.cpp:
20002 compress: remove redundant initializations
20004 depth is already initialized in initsubcu
20007 * source/encoder/compress.cpp:
20008 compress: remove unnecessary code
20010 reco and resi buffers is not used in this function
20013 * source/encoder/compress.cpp:
20014 compress: remove redundant initializations
20016 skipFlags are set to false during initialization.
20019 * source/encoder/compress.cpp:
20020 rd: check DQP before best cu is copied to the pic in rd 0
20023 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/compress.cpp:
20024 rd: remove redundant checkDQP and add checkDQP for rd 0
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.
20030 2013-12-19 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
20032 * source/encoder/ratecontrol.cpp:
20033 Consider rounded width, height for ssd calculation
20036 * source/Lib/TLibCommon/TComPicYuv.cpp:
20037 Fix typo in extending height to round to multiple of 16
20040 2013-12-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
20042 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
20043 encoder: print global ssim in db
20046 2013-12-18 Rafaël Carré <funman@videolan.org>
20048 * source/CMakeLists.txt:
20049 cmake: .pc file is useful as well when using static libs
20052 * source/cmake/version.cmake:
20053 cmake: take revision from git if within a git repo
20056 * source/cmake/version.cmake:
20057 cmake: verify existance of hg repo
20060 2013-12-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20062 * source/common/common.cpp:
20063 common: tune-ssim turns on aq strength
20066 * source/common/common.cpp:
20067 common: adjust tabs
20070 * source/common/common.cpp:
20071 common: update print params and defaults.
20073 By default, tune-psnr is turned on, which means CUTree is enabled
20074 but AQ strength is zero.
20077 * source/common/common.cpp:
20078 common: this check taken care of in encoder::configure()
20081 * source/common/common.cpp:
20082 common: enable CUtree by default. tune=psnr is the default setting
20085 * source/common/common.cpp:
20086 common: remove meaningless warning
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,
20093 * source/encoder/encoder.cpp:
20094 encoder: increase precision for SSIM printf
20097 2013-12-18 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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
20112 2013-12-17 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20114 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
20115 rd: remove unnecessary sbaccoder loads
20118 * source/Lib/TLibEncoder/TEncSearch.cpp:
20119 rd: fix wrong chroma mode used for mode decision
20122 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20124 * source/Lib/TLibEncoder/TEncSearch.cpp:
20125 rd level: use cu coeff array while computing Intra coefficients
20126 instead of temp buffer
20129 2013-12-17 Min Chen <chenm003@163.com>
20131 * source/common/x86/intrapred8.asm:
20132 fix yasm warning 'trailing garbage after expression'
20135 * source/common/x86/pixel-util8.asm:
20136 fix crash in pixel_var_16x16_internal, because
20137 RateControl::acEnergyCu() call it with unalignment pointer
20140 2013-12-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
20142 * source/encoder/ratecontrol.cpp:
20143 rc: bug fix for variance data calculation for weighted prediction
20144 when aq-mode is disable
20147 2013-12-17 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20149 * source/common/vec/vec-primitives.cpp:
20150 vec-primitives: avoid warnings
20153 * source/Lib/TLibCommon/TComSlice.cpp:
20154 TComSlice: correct initialization list order (warnings on non-VS
20158 2013-12-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
20160 * source/encoder/ratecontrol.cpp:
20161 rc: Calculate the variance data for weighted prediction if aq-mode
20165 2013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
20167 * source/encoder/compress.cpp:
20168 compress: remove unused variables
20171 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20173 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
20174 rd level: use cu coeff array while computing coefficients instead of
20178 2013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
20180 * source/encoder/compress.cpp:
20181 rd level: fix for output mismatch
20183 For boundary conditions, cost calculation was wrong.
20186 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20188 * source/Lib/TLibEncoder/TEncSearch.cpp:
20189 rd level: remove unnecessary calculations in intra residual encoding
20191 calcrecon calculates recon,reconQT and reconIpred which is
20192 redundant. Use add and block copy instead of calcrecon.
20195 2013-12-16 Sumalatha Polureddy <Sumalatha Polureddy>
20197 * source/Lib/TLibCommon/TComDataCU.cpp:
20198 TComDataCU: fix gcc warning
20201 * source/Lib/TLibEncoder/TEncCu.h:
20202 TEncCu: reintroduce a macro which was removed while merging
20205 2013-12-11 Praveen Tiwari <Praveen Tiwari>
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
20212 2013-12-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20214 * source/Lib/TLibEncoder/TEncSearch.cpp:
20215 TEncSearch: fix gcc warning
20217 remove unused variables and shadowed declarations
20220 2013-12-13 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20222 * source/encoder/compress.cpp:
20226 * source/encoder/compress.cpp:
20227 rd level: modify mode-decision logic for rd level 0
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.
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
20242 This function will be used for rd level 0.
20245 2013-12-13 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
20253 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
20254 Slicetype: recalculate the frame cost without re-running lookahead
20258 2013-12-14 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20260 * source/output/yuv.cpp:
20264 * source/output/yuv.cpp:
20265 yuv: fix more 32-bit compile warnings
20266 [bca251133e70] <stable>
20268 2013-12-13 Steve Borho <steve@borho.org>
20270 * source/output/yuv.cpp:
20274 * source/output/yuv.cpp:
20275 yuv: prevent 32bit compiler warnings
20276 [14e9dbedab9d] <stable>
20278 2013-12-12 Steve Borho <steve@borho.org>
20280 * source/output/y4m.cpp:
20281 y4m: perform file offset math in uint64_t
20284 2013-12-13 Aarthi Thirumalai <Aarthi Thirumalai>
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.
20291 For RateControl .virtual qps are used from 0 till 69. Howevr,Before
20292 encoding the frame, the qps are clipped back to 51
20295 * source/Lib/TLibCommon/CommonDef.h,
20296 source/Lib/TLibCommon/TComRom.cpp, source/Lib/TLibCommon/TComRom.h:
20297 rc: Initialize virtual qps till 69
20300 2013-12-12 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
20302 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
20303 Fix for deltaWeight assert failure in Decoder
20306 2013-12-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20308 * source/encoder/compress.cpp:
20309 Merge: changes outputs
20312 2013-12-12 Sumalatha Polureddy <Sumalatha Polureddy>
20314 * source/encoder/compress.cpp:
20315 rd level: fix the incorrect cost calculation for sa8d
20317 In rd level 1, the distortion is sa8d, so cost calculation should be
20318 calrdsadcost() instead of calcrdcost()
20321 * source/encoder/compress.cpp:
20322 rd level: remove the redundant splitflag bit calculation with EARLY
20326 * source/encoder/compress.cpp:
20327 rd level: change the indexing for sa8d threshold array
20329 The index in threshold array won't be same as depth when the max cu
20330 size is less than 64.
20333 2013-12-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20335 * source/encoder/compress.cpp:
20336 compress: review/clean up top_skip
20339 * source/encoder/compress.cpp:
20340 compress: review/clean up merge
20343 2013-12-12 Steve Borho <steve@borho.org>
20345 * source/output/yuv.cpp:
20349 2013-12-12 David Bachelart <david.bachelart@bbright.com>
20351 * source/output/yuv.cpp:
20352 yuv: Support 4GB+ YUV files for output
20353 [06e88ad6d922] <stable>
20355 2013-12-11 Steve Borho <steve@borho.org>
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-
20364 * source/common/x86/pixel-a.asm:
20368 * source/common/x86/pixel-a.asm:
20369 ssd: backport EMMS fix for SSD_4xN
20370 [d2385a789c8a] <stable>
20372 2013-12-11 Nabajit Deka <nabajit@multicorewareinc.com>
20374 * source/Lib/TLibCommon/TComPrediction.cpp:
20375 asm : Hook up chroma_hps with encoder.
20378 2013-12-11 Murugan Vairavel <murugan@multicorewareinc.com>
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
20385 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20387 asm: 10bpp code for calcrecon_4x4 and 8x8
20390 2013-12-11 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20392 * source/test/intrapredharness.cpp:
20393 testbench: fix invalid memory compare for 16bpp primitives
20396 2013-12-11 Murugan Vairavel <murugan@multicorewareinc.com>
20398 * source/test/pixelharness.cpp:
20399 asm: 10bpp test bench code for calcrecon
20402 2013-12-11 Min Chen <chenm003@163.com>
20404 * source/common/x86/intrapred16.asm:
20405 asm: remove reduce operators in intra_pred_planar32
20408 2013-12-11 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20410 * source/common/x86/intrapred16.asm:
20411 asm: fix hash mismatch in intra_pred_planar_32x32 16bpp
20414 2013-12-11 Min Chen <chenm003@163.com>
20416 * source/common/x86/ssd-a.asm:
20417 asm: fix miss EMMS in pixel_ssd_ss_4xN
20420 2013-12-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20422 * source/common/x86/intrapred16.asm:
20423 asm: fix hash miss match due to intra_pred_ang4_17
20426 2013-12-10 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20428 * source/common/x86/asm-primitives.cpp,
20429 source/common/x86/intrapred16.asm:
20430 16bpp: assembly code for intra_pred_planar_32x32
20433 * source/common/x86/intrapred16.asm:
20434 assembly code for intra_pred_planar_16x16 for 10 and 12-bit
20437 2013-12-11 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
20444 2013-12-10 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
20446 * source/Lib/TLibEncoder/TEncSearch.cpp,
20447 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
20448 rdlevel: implement rdlevel 1
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
20455 * source/Lib/TLibEncoder/TEncSearch.cpp,
20456 source/Lib/TLibEncoder/TEncSearch.h:
20457 add functions for Intra residual transform and quantization without
20461 * source/Lib/TLibEncoder/TEncSearch.cpp,
20462 source/Lib/TLibEncoder/TEncSearch.h:
20463 add function for Inter residual tranform and quantization without RD
20466 * source/Lib/TLibEncoder/TEncSearch.cpp,
20467 source/Lib/TLibEncoder/TEncSearch.h:
20468 TEncSearch: remove unused functions
20471 2013-12-11 Kavitha Sampath <kavitha@multicorewareinc.com>
20473 * source/Lib/TLibEncoder/TEncCu.cpp:
20474 log: fix memory overread issue
20477 2013-12-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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.
20486 2013-12-10 Steve Borho <steve@borho.org>
20488 * source/encoder/motion.cpp:
20492 * source/common/x86/intrapred16.asm:
20493 intra: fix 64bit build of intrapred16.asm - Min please review
20496 2013-12-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20501 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
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
20508 2013-12-10 Nabajit Deka <nabajit@multicorewareinc.com>
20510 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
20511 asm : Hook up luma_hps with the encoder.
20514 * source/test/ipfilterharness.cpp:
20515 Add comment for luma_hps and chroma_hps test bench code.
20518 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
20525 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20527 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20529 asm: 10bpp code for calcresidual_4x4 and 8x8
20532 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
20539 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20541 * source/common/x86/asm-primitives.cpp:
20542 asm: 10bpp support for blockcopy_ps and blockcopy_sp
20545 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
20552 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20554 * source/common/x86/asm-primitives.cpp:
20555 asm: 10bpp blockcopy_ps integration for Luma and chroma partitions
20558 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20560 * source/common/x86/asm-primitives.cpp,
20561 source/common/x86/intrapred16.asm:
20562 asm: 16bpp code for intra_pred_ang4_26
20565 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20567 * source/common/x86/asm-primitives.cpp,
20568 source/common/x86/blockcopy8.asm:
20569 asm: 10bpp code for blockcopy_ps_64xN
20572 * source/common/x86/blockcopy8.asm:
20573 asm: 10bpp blockcopy_ps bug fix
20576 2013-12-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
20583 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20585 * source/common/x86/asm-primitives.cpp,
20586 source/common/x86/blockcopy8.asm:
20587 asm: 10bpp code for blockcopy_ps_48x64
20590 * source/common/x86/asm-primitives.cpp,
20591 source/common/x86/blockcopy8.asm:
20592 asm: 10bpp code for blockcopy_ps_32xN
20595 * source/common/x86/asm-primitives.cpp,
20596 source/common/x86/blockcopy8.asm:
20597 asm: 10bpp code for blockcopy_ps_24x32
20600 2013-12-10 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20602 * source/common/x86/asm-primitives.cpp:
20603 16bpp: enabled blockfill_s primitive
20606 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20608 * source/common/x86/asm-primitives.cpp,
20609 source/common/x86/blockcopy8.asm:
20610 asm: 10bpp code for blockcopy_ps_16xN
20613 2013-12-10 Nabajit Deka <nabajit@multicorewareinc.com>
20615 * source/common/ipfilter.cpp:
20616 Bug fix in luma_hps C primitive.
20619 2013-12-10 Murugan Vairavel <murugan@multicorewareinc.com>
20621 * source/common/x86/blockcopy8.asm:
20622 asm: 10bpp code for bolckcopy_ps_12x16
20625 * source/common/x86/asm-primitives.cpp:
20626 asm: pixel_add_ps integration code for Luma and chroma partitions
20629 2013-12-10 Min Chen <chenm003@163.com>
20631 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
20632 testbench: fix wrong width parameter in check_planar_primitive()
20635 * source/common/x86/asm-primitives.cpp,
20636 source/common/x86/intrapred16.asm:
20637 asm: Intra Planar 16x16
20640 * rename IntraPred.cpp to intrapred.cpp to avoid name conflict
20643 * source/common/x86/intrapred16.asm:
20644 asm: improvement IntraPredDC_32x32 by replace macro extend by loop
20647 2013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
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
20654 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
20661 * source/common/x86/asm-primitives.cpp,
20662 source/common/x86/intrapred16.asm:
20663 asm: 16bpp asm code for intra_pred_ang4_7
20666 2013-12-10 Min Chen <chenm003@163.com>
20668 * source/common/x86/intrapred16.asm:
20669 asm: alignment branch to 16 bytes
20672 2013-12-10 Kavitha Sampath <kavitha@multicorewareinc.com>
20674 * source/Lib/TLibEncoder/TEncCu.cpp:
20675 log: fix crash caused by logging after CU analysis
20678 2013-12-09 Steve Borho <steve@borho.org>
20680 * Merge with stable
20683 2013-12-03 Steve Borho <steve@borho.org>
20685 * source/Lib/TLibCommon/ContextTables.h,
20686 source/Lib/TLibEncoder/TEncSbac.cpp:
20687 sbac: move global tables into x265 namespace
20688 [7d4f5cbc68e7] <stable>
20690 2013-12-09 Steve Borho <steve@borho.org>
20692 * source/encoder/ratecontrol.cpp:
20696 * source/encoder/ratecontrol.cpp:
20697 ratecontrol: avoid reads past the end of chroma buffers
20698 [67e711fde921] <stable>
20700 * source/common/vec/dct-ssse3.cpp:
20701 dct: drop intrinsic DCT 8x8 primitive, we have asm coverage
20704 * source/encoder/ratecontrol.cpp:
20705 ratecontrol: make weightp analysis aware of colorspaces
20708 * source/Lib/TLibEncoder/TEncSearch.cpp:
20712 2013-12-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
20714 * source/encoder/ratecontrol.cpp:
20715 Use correct width/height for chroma in ssd calculation
20718 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20720 * source/common/x86/asm-primitives.cpp,
20721 source/common/x86/intrapred16.asm:
20722 asm: 16bpp asm code for intra_pred_ang4_6
20725 * source/common/x86/asm-primitives.cpp,
20726 source/common/x86/intrapred16.asm:
20727 asm: 16bpp asm code for intra_pred_ang4_5
20730 2013-12-09 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20732 * source/common/x86/asm-primitives.cpp,
20733 source/common/x86/intrapred16.asm:
20734 16bpp: assembly code for intra_planar8
20737 * source/common/x86/asm-primitives.cpp,
20738 source/common/x86/intrapred16.asm:
20739 16bpp: assembly code for intra_planar4
20742 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
20744 * source/common/x86/asm-primitives.cpp,
20745 source/common/x86/intrapred16.asm:
20746 asm: 16bpp asm code for intra_pred_ang4_4
20749 * source/common/x86/asm-primitives.cpp,
20750 source/common/x86/intrapred16.asm:
20751 asm: 16bpp support for intra_pred_ang4_3
20754 2013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
20756 * source/common/x86/pixeladd8.asm:
20757 asm: 10bpp code for pixel_add_ps_6x8
20760 * source/common/x86/asm-primitives.cpp,
20761 source/common/x86/pixeladd8.asm:
20762 asm: 10bpp code for pixel_add_ps_64xN
20765 2013-12-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
20772 2013-12-09 Min Chen <chenm003@163.com>
20774 * source/common/x86/intrapred8.asm:
20775 asm: little improvement(pextrd -> movd, jmp to alignlemt address)
20778 2013-12-09 Murugan Vairavel <murugan@multicorewareinc.com>
20780 * source/common/x86/asm-primitives.cpp,
20781 source/common/x86/pixeladd8.asm:
20782 asm: 10bpp code for pixel_add_ps_48x64
20785 * source/common/x86/asm-primitives.cpp,
20786 source/common/x86/pixeladd8.asm:
20787 asm: 10bpp code for pixel_add_ps_32xN
20790 * source/common/x86/asm-primitives.cpp,
20791 source/common/x86/pixeladd8.asm:
20792 asm: 10bpp code for pixel_add_ps_24x32
20795 * source/common/x86/asm-primitives.cpp,
20796 source/common/x86/pixeladd8.asm:
20797 asm: 10bpp code for pixel_add_ps_16xN
20800 * source/common/x86/asm-primitives.cpp,
20801 source/common/x86/pixeladd8.asm:
20802 asm: 10bpp code for pixel_add_ps_12x16
20805 * source/common/x86/asm-primitives.cpp,
20806 source/common/x86/pixeladd8.asm:
20807 asm: 10bpp code for pixel_add_ps_8xN
20810 2013-12-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20813 x265: fix bad merge
20820 2013-12-09 Min Chen <chenm003@163.com>
20822 * source/test/pixelharness.cpp:
20823 fix bug: avg_pp use weight 32
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
20831 2013-12-07 Murugan Vairavel <murugan@multicorewareinc.com>
20833 * source/common/x86/asm-primitives.cpp,
20834 source/common/x86/pixeladd8.asm:
20835 asm: 10bpp code for pixel_add_ps_4xN
20838 2013-12-07 Min Chen <chenm003@163.com>
20840 * source/test/testpool.cpp:
20844 2013-12-06 Steve Borho <steve@borho.org>
20849 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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[]
20860 2013-12-06 Min Chen <chenm003@163.com>
20862 * rename IntraPred.cpp to intrapred.cpp
20865 2013-12-06 Murugan Vairavel <murugan@multicorewareinc.com>
20867 * source/common/x86/asm-primitives.cpp,
20868 source/common/x86/pixeladd8.asm:
20869 asm: 10bpp code for pixel_add_ps_2xN
20872 * source/test/pixelharness.cpp:
20873 10bpp: testbench code for pixel_add_ps
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
20881 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
20883 * source/common/x86/asm-primitives.cpp,
20884 source/common/x86/intrapred16.asm:
20885 16bpp: assembly code for intra_pred_dc32
20888 * source/common/x86/asm-primitives.cpp,
20889 source/common/x86/intrapred16.asm:
20890 16bpp: assembly code for intra_pred_dc16
20893 * source/common/x86/asm-primitives.cpp,
20894 source/common/x86/intrapred16.asm:
20895 16bpp: assembly code for intra_pred_dc8
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
20903 2013-12-06 Min Chen <chenm003@163.com>
20905 * source/common/x86/intrapred8.asm:
20906 asm: cleanup garbage after fucntion declare
20909 2013-12-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
20912 x265: remove obsolete R-D enums
20916 rc params: documentation on i/p/bfactor, qpstep, crf
20920 ratecontrol params: documentation for rateTolerance
20924 ratecontrol parameters: add documentation for qcomp
20927 2013-12-05 Steve Borho <steve@borho.org>
20929 * source/test/CMakeLists.txt, source/test/testpool.cpp:
20930 cmake: drop pool test; not seriously used since May
20933 * source/CMakeLists.txt:
20934 cmake: add ENABLE_SHARED cmake option, default to ON
20936 Allow MSVC users to opt-out; to roughly halve the compile time.
20937 Clean up a few nits in the process.
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
20945 * source/CMakeLists.txt:
20946 cmake: bump X265_BUILD post 0.6, since x265_param has changed
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
20955 And use the same name for the build define. Also, rename
20956 Setup_Vector_Primitives() to Setup_Instrinsic_Primitives()
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
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
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
20975 * source/common/CMakeLists.txt:
20976 cmake: move asm-primitives.cpp and asm headers into VS source group
20978 A cosmetic change only
20981 * source/encoder/compress.cpp:
20985 2013-12-05 Praveen Tiwari <praveen@multicorewareinc.com>
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
20992 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
20994 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
20996 asm: 10bpp code for pixel_sub_12x16
20999 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21001 asm: 10bpp code for pixel_sub_8xN
21004 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21006 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21007 asm: 16bpp support for sad_x4 - all block sizes
21010 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21012 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21014 asm: 10bpp code for pixel_sub_6x8
21017 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21019 asm: 10bpp code for pixel_sub_4xN
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
21027 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21029 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21030 asm: 16bpp support for sad_x3 - all block sizes
21033 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21035 * source/common/x86/asm-primitives.cpp:
21036 asm: primitives of sse_ss for 12x16, 24x32, 48x64 and 64xN blocks
21039 2013-12-05 Min Chen <chenm003@163.com>
21041 * source/common/x86/intrapred8.asm:
21042 improvement by remove reduce ADD instruction in intra_pred_dc16
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[]
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
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
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
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
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
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
21085 * source/test/intrapredharness.cpp:
21086 testbench: swap order to call asm code
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
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
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
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)
21108 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21110 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21112 asm: 10bpp code for scale2D_64to32 routine
21115 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21117 * source/common/primitives.cpp:
21118 integrating asm code for sa8d in primitives.cpp
21120 there was no separate functions for sa8d in assembly, we are just
21121 re-using sa8d_inter functions for sa8d.
21124 2013-12-05 Min Chen <chenm003@163.com>
21126 * source/common/vec/intra-ssse3.cpp:
21127 cleanup unused array intra_ang4[]
21133 2013-12-04 Nabajit Deka <nabajit@multicorewareinc.com>
21135 * source/common/x86/ipfilter8.h:
21136 Function declarations for modified luma_hps and chroma_hps
21140 * source/common/primitives.h, source/test/ipfilterharness.cpp,
21141 source/test/ipfilterharness.h:
21142 Test bench code for luma_hps and chroma_hps
21145 * source/common/ipfilter.cpp:
21146 C primitive changes for luma_hps and chroma_hps.
21149 * source/common/x86/ipfilter8.asm:
21150 asm : Modifications for luma_hps and chroma_hps(extra rows)
21153 2013-12-05 Min Chen <chenm003@163.com>
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
21164 * rename IntraPred.cpp to intrapred.cpp to avoid team's hg merge
21168 2013-12-07 Steve Borho <steve@borho.org>
21170 * source/test/testbench.cpp:
21171 testbench: remove long-since idiotic comment
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
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
21185 2013-12-07 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21188 rc params: complete documentation for rc params in x265.h
21191 2013-12-06 Steve Borho <steve@borho.org>
21196 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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[]
21207 2013-12-06 Min Chen <chenm003@163.com>
21209 * rename IntraPred.cpp to intrapred.cpp
21212 2013-12-06 Murugan Vairavel <murugan@multicorewareinc.com>
21214 * source/common/x86/asm-primitives.cpp,
21215 source/common/x86/pixeladd8.asm:
21216 asm: 10bpp code for pixel_add_ps_2xN
21219 * source/test/pixelharness.cpp:
21220 10bpp: testbench code for pixel_add_ps
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
21228 2013-12-06 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21230 * source/common/x86/asm-primitives.cpp,
21231 source/common/x86/intrapred16.asm:
21232 16bpp: assembly code for intra_pred_dc32
21235 * source/common/x86/asm-primitives.cpp,
21236 source/common/x86/intrapred16.asm:
21237 16bpp: assembly code for intra_pred_dc16
21240 * source/common/x86/asm-primitives.cpp,
21241 source/common/x86/intrapred16.asm:
21242 16bpp: assembly code for intra_pred_dc8
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
21250 2013-12-06 Min Chen <chenm003@163.com>
21252 * source/common/x86/intrapred8.asm:
21253 asm: cleanup garbage after fucntion declare
21256 2013-12-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21259 x265: remove obsolete R-D enums
21263 rc params: documentation on i/p/bfactor, qpstep, crf
21267 ratecontrol params: documentation for rateTolerance
21271 ratecontrol parameters: add documentation for qcomp
21274 2013-12-05 Steve Borho <steve@borho.org>
21276 * source/test/CMakeLists.txt, source/test/testpool.cpp:
21277 cmake: drop pool test; not seriously used since May
21280 * source/CMakeLists.txt:
21281 cmake: add ENABLE_SHARED cmake option, default to ON
21283 Allow MSVC users to opt-out; to roughly halve the compile time.
21284 Clean up a few nits in the process.
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
21292 * source/CMakeLists.txt:
21293 cmake: bump X265_BUILD post 0.6, since x265_param has changed
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
21302 And use the same name for the build define. Also, rename
21303 Setup_Vector_Primitives() to Setup_Instrinsic_Primitives()
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
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
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
21322 * source/common/CMakeLists.txt:
21323 cmake: move asm-primitives.cpp and asm headers into VS source group
21325 A cosmetic change only
21328 * source/encoder/compress.cpp:
21332 2013-12-05 Praveen Tiwari <praveen@multicorewareinc.com>
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
21339 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21341 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21343 asm: 10bpp code for pixel_sub_12x16
21346 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21348 asm: 10bpp code for pixel_sub_8xN
21351 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21353 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21354 asm: 16bpp support for sad_x4 - all block sizes
21357 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21359 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21361 asm: 10bpp code for pixel_sub_6x8
21364 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21366 asm: 10bpp code for pixel_sub_4xN
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
21374 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21376 * source/common/x86/asm-primitives.cpp, source/common/x86/sad16-a.asm:
21377 asm: 16bpp support for sad_x3 - all block sizes
21380 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21382 * source/common/x86/asm-primitives.cpp:
21383 asm: primitives of sse_ss for 12x16, 24x32, 48x64 and 64xN blocks
21386 2013-12-05 Min Chen <chenm003@163.com>
21388 * source/common/x86/intrapred8.asm:
21389 improvement by remove reduce ADD instruction in intra_pred_dc16
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[]
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
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
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
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
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
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
21432 * source/test/intrapredharness.cpp:
21433 testbench: swap order to call asm code
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
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
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
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)
21455 2013-12-05 Murugan Vairavel <murugan@multicorewareinc.com>
21457 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21459 asm: 10bpp code for scale2D_64to32 routine
21462 2013-12-05 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21464 * source/common/primitives.cpp:
21465 integrating asm code for sa8d in primitives.cpp
21467 there was no separate functions for sa8d in assembly, we are just
21468 re-using sa8d_inter functions for sa8d.
21471 2013-12-05 Min Chen <chenm003@163.com>
21473 * source/common/vec/intra-ssse3.cpp:
21474 cleanup unused array intra_ang4[]
21480 2013-12-04 Nabajit Deka <nabajit@multicorewareinc.com>
21482 * source/common/x86/ipfilter8.h:
21483 Function declarations for modified luma_hps and chroma_hps
21487 * source/common/primitives.h, source/test/ipfilterharness.cpp,
21488 source/test/ipfilterharness.h:
21489 Test bench code for luma_hps and chroma_hps
21492 * source/common/ipfilter.cpp:
21493 C primitive changes for luma_hps and chroma_hps.
21496 * source/common/x86/ipfilter8.asm:
21497 asm : Modifications for luma_hps and chroma_hps(extra rows)
21500 2013-12-05 Min Chen <chenm003@163.com>
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
21511 * rename IntraPred.cpp to intrapred.cpp to avoid team's hg merge
21515 2013-12-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
21517 * source/encoder/compress.cpp:
21518 rdlevel: skip Intra if inter/merge sa8d less than a threshold
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.
21525 * source/encoder/compress.cpp:
21526 rdlevel: compare Merge-skip(merge2Nx2N with no residue) to best
21527 among inter/intra/merge in rdlevel 2
21530 * source/encoder/compress.cpp:
21531 rdlevel: Add code for rdlevel 2
21533 Use signalling bits + sa8d cost to choose best among
21534 inter/merge/intra. Encode only best mode at each depth.
21537 * source/encoder/compress.cpp:
21538 Enable topskip and earlyexit for all rd levels <= 4 (output changes
21539 for presets faster than "slow")
21541 Also use the encodeResandCalcRDInter instead of the refactored
21545 2013-12-05 Steve Borho <steve@borho.org>
21547 * source/encoder/encoder.cpp:
21548 encoder: fix warning of potentially unused locals
21552 cli: fix final stat line handling of optional PSNR and SSIM stats
21555 2013-12-05 Kavitha Sampath <kavitha@multicorewareinc.com>
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
21561 Report percentage of CU blocks encoded at each depth of P/B slice as
21565 2013-12-05 Steve Borho <steve@borho.org>
21567 * source/common/x86/pixel-a.asm:
21568 pixel-a: fix x64 calling convention for several HEVC satd functions
21570 Bug fix from Min Chen
21573 2013-12-04 Steve Borho <steve@borho.org>
21575 * source/CMakeLists.txt:
21576 cmake: use -DHAVE_ALIGNED_STACK=1 when building asm for Xcode
21578 This matches the command line we use in the Makefile, and prevents
21579 stack corruption when debugging within Xcode
21582 * source/CMakeLists.txt:
21583 cmake: workaround to allow Xcode 5 to link x265 CLI app
21586 * source/encoder/encoder.cpp:
21587 encoder: remove trailing white-space
21590 * source/test/ipfilterharness.cpp:
21594 * source/test/ipfilterharness.cpp:
21595 ipfilterharness: do not test chroma for i400 color space
21597 Because, umh, it doesn't have any chroma channels
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
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.
21614 * source/common/vec/pixel16-sse41.cpp:
21615 vec: drop 16bpp sad vector intrinsics, we have ASM coverage
21621 2013-12-04 Min Chen <chenm003@163.com>
21623 * source/test/pixelharness.cpp:
21624 fix crash in ssim_end testbench, the x264 support 10bpp only, but
21625 testbench use 12bpp
21628 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21630 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21632 asm: 10bpp code for scale1D_128to64 module
21635 2013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21637 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21638 asm: 16bpp support for sa8d_64xN
21641 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21642 asm: 16bpp support for sa8d_32xN
21645 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21647 * source/common/pixel.cpp, source/common/x86/asm-primitives.cpp:
21648 asm: 10bpp code for enabling ssim_end_4
21651 2013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21653 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21654 asm: 16bpp support for sa8d - 24x32 and 48x64
21657 2013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21659 * source/common/x86/const-a.asm, source/common/x86/intrapred8.asm:
21660 asm: move constant to const-a.asm
21663 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21665 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21667 asm: 10bpp code for transpose 64x64
21670 2013-12-04 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21672 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21673 asm: 16bpp asm code for pixel_sa8d_16xN
21676 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21678 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21680 asm: 10bpp code for transpose 32x32
21683 2013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21685 * source/common/x86/asm-primitives.cpp:
21686 16bpp: enabled avt32to16_shr and cvt16to32_shl assembly code
21689 2013-12-04 Murugan Vairavel <murugan@multicorewareinc.com>
21691 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21693 asm: 10bpp code for transpose 16x16
21696 2013-12-04 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
21703 2013-12-04 Min Chen <chenm003@163.com>
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
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
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
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
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
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
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
21740 * source/common/x86/intrapred8.asm:
21741 asm: ALIGN branch target to improvement performance
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
21749 2013-12-03 Steve Borho <steve@borho.org>
21751 * source/Lib/TLibCommon/ContextTables.h,
21752 source/Lib/TLibEncoder/TEncSbac.cpp:
21753 sbac: move global tables into x265 namespace
21756 * source/Lib/TLibCommon/TComPrediction.cpp:
21757 TComPrediction: remove obsolete argument comment
21760 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/asm-
21761 primitives.cpp, source/encoder/compress.cpp:
21766 Added tag 0.6 for changeset b970ffbdd696
21767 [6b7550eed359] <stable>
21769 * source/common/x86/asm-primitives.cpp:
21770 asm: fix for icpc build
21771 [b970ffbdd696] [0.6] <stable>
21773 * source/common/vec/intra-sse41.cpp, source/common/vec/intra-
21775 vec: use square block size enums
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
21784 * source/Lib/TLibEncoder/TEncSearch.cpp:
21785 tskip: temporary workaround for heap corruption
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>
21793 2013-12-03 Aarthi Thirumalai <Aarthi Thirumalai>
21795 * source/encoder/compress.cpp:
21796 aq: bug fix for hash mismatch between recon with decoded output
21797 [c541804106c7] <stable>
21799 2013-12-03 Steve Borho <steve@borho.org>
21801 * source/encoder/ratecontrol.cpp:
21802 partial backout of 9cfe20b782da
21804 Aarthi was correct, getSliceType() returns an HM SliceType enum.
21805 Five lines above this it was testing whether getSliceType() ==
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.
21812 2013-12-03 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21814 * source/common/vec/intra-sse41.cpp:
21815 fix 16bpp build fail due to intra-sse41.cpp
21818 2013-12-03 Steve Borho <steve@borho.org>
21820 * source/common/vec/intra-sse41.cpp:
21821 Backed out changeset: 8a3bb3ecf8f6
21827 2013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
21829 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-
21831 asm: 10bpp code for transpose 4x4 and 8x8
21834 2013-12-03 Min Chen <chenm003@163.com>
21839 2013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
21841 * source/common/x86/ssd-a.asm:
21842 asm: 10bpp code for pixel_sse_pp for 12x16, 24x32 and 64xN
21845 2013-12-03 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
21847 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21848 asm: pixel_satd_32xN for 16bpp
21851 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21852 asm: pixel_satd_64xN for 16bpp
21855 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
21856 asm: pixel_satd - 12x16, 24x32, 48x64 for 16bpp
21859 2013-12-03 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21861 * source/common/x86/sad-a.asm:
21862 asm: pixel_sad_64xN reduce large code size
21865 2013-12-03 Murugan Vairavel <murugan@multicorewareinc.com>
21867 * source/common/x86/ssd-a.asm:
21868 asm: 10bpp fix for alignment in sse_ss routine
21871 2013-12-03 Min Chen <chenm003@163.com>
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
21879 * source/common/x86/const-a.asm, source/common/x86/dct8.asm:
21880 asm: support IDCT4-10bpp
21883 * source/common/vec/intra-ssse3.cpp, source/common/x86/intrapred8.asm,
21884 source/test/intrapredharness.cpp:
21885 asm: intra_pred_ang Mode 34
21888 * source/common/x86/blockcopy8.asm:
21889 asm: fix xmm register error in cvt16to32_shl
21892 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
21894 * source/common/x86/asm-primitives.cpp:
21895 asm: 10bpp support to sse_ss for 8xN, 16xN and 32xN blocks
21898 2013-12-02 Min Chen <chenm003@163.com>
21900 * source/common/x86/mc-a.asm, source/common/x86/mc.h:
21901 asm: fix miss avg_64x32
21904 2013-12-02 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
21906 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm:
21907 16bpp: assembly code for pixelavg_pp
21910 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
21912 * source/common/vec/intra-sse41.cpp:
21913 fix: bug in inra-sse41.cpp
21916 2013-12-02 Min Chen <chenm003@163.com>
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
21923 * source/common/primitives.h:
21924 fixup proto of intra_pred_ang_t
21927 2013-12-03 Min Chen <chenm003@163.com>
21929 * source/test/pixelharness.cpp:
21930 testbench: increment buffer size to avoid crash in check_pixeladd_ss
21933 2013-12-03 Aarthi Thirumalai <Aarthi Thirumalai>
21935 * source/encoder/compress.cpp:
21936 aq: bug fix for hash mismatch between recon with decoded output
21939 2013-12-03 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
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.
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.
21952 * source/encoder/encoder.cpp:
21953 Move rdoQTS initialization after rdoQ is set.
21956 2013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
21964 2013-12-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
21966 * source/Lib/TLibEncoder/TEncSearch.cpp:
21967 heap corruption: temporarily disable tskip in chroma.
21969 Temporary fix for the crash caused by enabling tskip in chroma.
21972 2013-12-02 Steve Borho <steve@borho.org>
21974 * source/common/TShortYUV.cpp, source/common/TShortYUV.h,
21975 source/common/vec/intra-sse41.cpp, source/input/y4m.cpp:
21979 * source/input/y4m.cpp:
21980 y4m: initialize colorSpace to avoid crashes after failing to parse
21982 [40f9842972da] <stable>
21984 * source/common/vec/intra-sse41.cpp:
21985 vec: disable allangs 32x32 intrinsic primitive for clang
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>
21991 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
21992 Backed out changeset: 5df643257054
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
21997 [c2911115b79a] <stable>
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
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
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
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
22021 * source/common/x86/pixel-a.asm:
22022 pixel: remove an unused macro
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
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
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-
22042 * source/common/x86/pixel.h:
22043 asm: remove more unused funcdefs from pixel.h
22046 * source/common/x86/blockcopy8.asm, source/common/x86/pixel-util8.asm:
22047 asm: move cvt* functions to blockcopy8.asm
22050 * source/encoder/frameencoder.cpp, source/encoder/ratecontrol.cpp:
22051 rc: fixups for cutree changes
22054 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
22056 * source/common/x86/pixel.h:
22057 asm: removed unused function defnitions from pixel.h
22060 2013-12-02 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22062 * source/common/x86/pixel.h, source/common/x86/sad-a.asm:
22063 cleanup: removed unused code from sad-a.asm
22066 2013-12-02 Steve Borho <steve@borho.org>
22068 * source/common/pixel.cpp:
22069 picel: fix compile error from older gcc
22072 * source/common/CMakeLists.txt:
22073 cmake: fix Win64 vector primitive compile flags
22076 * Merge with stable
22079 2013-12-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
22081 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
22082 fix for the number of weighted references exceeding 8 in HM weight
22084 [bf778de26451] <stable>
22086 2013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
22088 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
22089 slicetype: fix for gcc warnings
22092 2013-12-02 Murugan Vairavel <murugan@multicorewareinc.com>
22094 * source/common/x86/pixel-a.asm:
22095 asm: removed unused code from pixel-a.asm
22098 2013-12-02 Steve Borho <steve@borho.org>
22100 * source/common/pixel.cpp:
22101 pixel: fix 16bpp warnings that were previously hidden by cmake rules
22104 2013-12-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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
22118 Added cuTree option into param->rc and make it as a Disable, still
22119 the cuTree is an Under Construction
22122 2013-12-02 Steve Borho <steve@borho.org>
22124 * source/common/CMakeLists.txt:
22128 * source/common/CMakeLists.txt:
22129 cmake: ignore gcc warnings in vector intrinsic files
22132 2013-12-01 Steve Borho <steve@borho.org>
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
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
22145 And remove all the hacks that were in place to avoid those warnings
22148 * source/common/x86/asm-primitives.cpp:
22152 * source/common/x86/asm-primitives.cpp:
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
22181 * source/common/common.cpp, source/encoder/encoder.cpp,
22182 source/x265.cpp, source/x265.h:
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>
22190 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.def.in,
22192 api: add alloc/free methods for x265_param
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
22198 [aabaf5382ac5] <stable>
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)
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>
22208 * source/encoder/encoder.cpp:
22209 csv: improve CSV headers to use title caps
22210 [418e55eefbb8] <stable>
22212 * source/test/intrapredharness.cpp:
22213 test: intrapred harness fixup
22216 * source/encoder/encoder.cpp:
22220 2013-11-08 Xun Xu, PPLive Corporation <xunxu@pptv.com>
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
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
22231 future work, 1. vbv-lookahead 2. CU level ratecontrol
22234 2013-12-01 Steve Borho <steve@borho.org>
22236 * source/common/vec/intra-sse41.cpp:
22237 vec: drop intra planar intrinsic primitives, we have asm coverage
22240 * source/test/intrapredharness.cpp:
22241 intra: testbench fixups after dropping 64x64 C refs
22244 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-ssse3.cpp:
22245 vec: remove two DCT intrinsic primitives with asm coverage
22248 * source/common/intrapred.cpp:
22249 intrapred: fix func decl of intra-ang C ref
22252 * source/common/intrapred.cpp:
22253 intrapred: use square block defines, do not instantiate intra 64x64
22256 * source/common/x86/asm-primitives.cpp:
22257 asm: plumb out more 16bpp asm setup infrastructure
22260 2013-11-29 Murugan Vairavel <murugan@multicorewareinc.com>
22262 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22263 10bpp: asm code for pixel_var_32x32 and 64x64
22266 2013-11-29 Nabajit Deka <nabajit@multicorewareinc.com>
22268 * source/common/vec/dct-sse41.cpp, source/common/x86/asm-
22273 * source/common/x86/dct8.asm, source/common/x86/dct8.h:
22274 asm : Adding asm routine for idst4
22277 2013-11-29 Min Chen <chenm003@163.com>
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[]
22287 2013-11-28 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
22294 2013-11-28 Nabajit Deka <nabajit@multicorewareinc.com>
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.
22302 2013-11-28 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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
22309 2013-11-28 Min Chen <chenm003@163.com>
22311 * source/common/primitives.h:
22312 cleanup: remove unused cvt16to16_shl_t
22315 2013-11-28 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
22317 * source/test/pixelharness.cpp, source/test/pixelharness.h:
22318 testbench: added cvt16to32_shl primitive function
22321 2013-12-01 Steve Borho <steve@borho.org>
22323 * source/common/vec/pixel-sse41.cpp:
22324 pixel: remove sse_sp intrinsic primitives, we have asm coverage
22327 2013-11-28 Murugan Vairavel <murugan@multicorewareinc.com>
22329 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
22330 asm: cleanups for pixel_sse_sp
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
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
22343 2013-11-28 Min Chen <chenm003@163.com>
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
22351 2013-11-28 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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]
22358 2013-11-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22360 * Merge from stable
22363 * source/common/common.cpp:
22364 presets: bpyramid default value reset to 1
22366 No support for strict b-pyramid yet.
22367 [87dc694fc016] <stable>
22369 * source/encoder/encoder.cpp:
22370 ssim: increase precision in ssim reporting
22371 [b08f3853adb9] <stable>
22373 2013-11-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22375 * Merge from stable
22378 * source/common/common.cpp:
22379 presets: correct bframes in "slow" to 4
22380 [fb93582b5f3f] <stable>
22382 * source/encoder/compress.cpp:
22386 * source/encoder/compress.cpp:
22387 compress: save distortion info in xComputeCostInter.
22390 * source/encoder/compress.cpp:
22391 compress: save best bits, sad in xcomputeCostIntrainInter
22394 * source/encoder/compress.cpp:
22395 compress: disable EARLY_EXIT and TOP_SKIP (temporarily)
22398 2013-11-28 Steve Borho <steve@borho.org>
22400 * Merge with stable
22403 * source/common/vec/vec-primitives.cpp:
22405 [2456d360a4ce] <stable>
22407 2013-11-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22409 * source/common/common.cpp:
22410 presets: modifications to smoothen the performance-efficiency plot.
22411 [bcc0941f67b3] <stable>
22413 2013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22415 * source/encoder/compress.cpp:
22416 RD merge: refine merge costs with estimated merge mode bits.
22419 2013-11-28 Steve Borho <steve@borho.org>
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>
22426 2013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22428 * source/encoder/compress.cpp:
22429 RD merge: add in early-skip param.
22432 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
22433 RD merge: remove earlyDetectionSkip, output is unchanged.
22436 * source/encoder/compress.cpp:
22437 RD merge: remove more redundant set-fields
22440 2013-11-27 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
22442 * source/encoder/compress.cpp:
22443 merge2nx2n: move initializations out of the loop
22445 Only mergeIndex and MVs will be changed in each loop.
22448 2013-11-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22450 * source/encoder/compress.cpp:
22451 RD: use sa8d in inter/merge cost measurements instead of satd
22454 * source/encoder/compress.cpp:
22455 RD: change cost measurements for inter
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.
22461 2013-11-27 Steve Borho <steve@borho.org>
22463 * source/encoder/encoder.cpp:
22464 encoder: change default frameNumThreads for 4-core HT CPUs to 3
22465 [f92e0c49a9f0] <stable>
22467 2013-11-27 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
22469 * source/encoder/frameencoder.cpp:
22470 Fix to eliminate unwanted application of weight in some (ref, enc)
22472 [bfd5204ef226] <stable>
22474 2013-11-27 Aarthi Thirumalai <Aarthi Thirumalai>
22476 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
22477 aq: Bug Fixes in aq , ssim when ctu size is not set as 64.
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>
22484 2013-11-27 Steve Borho <steve@borho.org>
22486 * source/encoder/encoder.cpp:
22487 encoder: use more portable %PRIu64, define __STDC_FORMAT_MACROS
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>
22494 * Merge with stable
22497 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp:
22498 cmake: detect inttypes.h and use for uint64_t printfs
22499 [e4baf53cefe8] <stable>
22501 * source/common/vec/intra-sse41.cpp:
22502 vec: remove intra_pred_planar16_sse4, we have asm coverage
22505 * source/common/vec/pixel-ssse3.cpp:
22506 vec: remove scale2D_64to32, we have asm coverage
22509 * source/common/x86/intrapred.asm:
22510 intra: fix yasm warning about redefined macro
22516 2013-11-27 Murugan Vairavel <murugan@multicorewareinc.com>
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
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
22528 2013-11-27 Nabajit Deka <nabajit@multicorewareinc.com>
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.
22535 * source/common/x86/dct8.asm:
22536 asm: Adding asm routine for idct4
22539 * source/common/x86/const-a.asm:
22540 Adding constant tables used for idct4 asm routine
22543 2013-11-27 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22545 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22546 asm: pixel_sse_ss_64xN assembly routine
22549 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22550 asm: pixel_sse_ss_48x64 assembly routine
22553 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22554 asm: pixel_sse_ss_24x32 assembly routine
22557 2013-11-27 Murugan Vairavel <murugan@multicorewareinc.com>
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
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
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
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
22579 2013-11-27 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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]
22586 2013-11-27 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22588 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22589 asm: fix the alignment issues occured in sse_ss
22592 2013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
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
22599 2013-11-27 Steve Borho <steve@borho.org>
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)
22610 Bug fixes and tunings only on the stable branch, until the next tag
22612 [417f794274e5] <stable>
22614 * source/encoder/encoder.cpp:
22615 encoder: do not print weightp stats if no P frames were generated
22617 (prevents NAN or worse errors)
22620 * source/encoder/encoder.cpp:
22621 log: replace "Skip" with more accurate "Merge"
22624 2013-11-26 Steve Borho <steve@borho.org>
22626 * source/common/vec/intra-sse41.cpp:
22627 vec: drop intra_pred_planar 4x4 and 8x8 intrinsic primitives, we
22631 * source/encoder/encoder.cpp:
22632 encoder: return pic.sliceType = X265_TYPE_IDR if keyframe
22635 * source/common/vec/dct-sse41.cpp:
22636 vec: drop dequant_normal intrinsic primitive, we have asm
22639 * source/common/vec/dct-sse3.cpp:
22640 vec: remove dct4 intrinsic primitive
22646 2013-11-26 Nabajit Deka <nabajit@multicorewareinc.com>
22648 * source/common/vec/dct-sse3.cpp, source/common/x86/asm-
22650 Enable the new dct4 asm routine.
22653 * source/common/CMakeLists.txt:
22654 Adding dct8.asm and dct8.h to CMakeLists
22657 * source/common/x86/const-a.asm:
22658 Adding constant table used for dct4
22661 * source/common/x86/dct8.asm, source/common/x86/dct8.h:
22662 asm: assembly code for dct4x4
22665 * source/common/x86/pixel-util.asm:
22666 asm: Correct number of xmm registers for weight_sp routine.
22669 2013-11-26 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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]
22676 2013-11-26 Murugan Vairavel <murugan@multicorewareinc.com>
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
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
22690 2013-11-26 Min Chen <chenm003@163.com>
22692 * source/common/dct.cpp:
22693 fix: in 14bpp mode, maximum shift is 10
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
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'
22706 2013-11-25 Steve Borho <steve@borho.org>
22708 * source/common/vec/pixel-sse41.cpp:
22709 pixel: remove intrinsic pixel weight functions, we have asm coverage
22712 2013-11-26 Steve Borho <steve@borho.org>
22715 api: document a few rate control settings
22718 2013-11-26 Min Chen <chenm003@163.com>
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
22725 2013-11-26 chenm003 <chenm003@163.com>
22727 * source/common/dct.cpp, source/common/x86/asm-primitives.cpp:
22728 合并 multicoreware/x265 到 default
22731 2013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
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
22738 2013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22740 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22741 asm: assembly code for pixel_sse_ss_32xN
22744 2013-11-25 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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]
22751 2013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
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
22758 2013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
22760 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
22761 asm: assembly code for pixel_sse_ss_12x16
22764 2013-11-25 Murugan Vairavel <murugan@multicorewareinc.com>
22766 * source/test/pixelharness.cpp, source/test/pixelharness.h:
22767 Test bench: code for pixel_var
22770 2013-11-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
22777 2013-11-25 Nabajit Deka <nabajit@multicorewareinc.com>
22779 * source/test/pixelharness.cpp:
22780 Test bench modifications for weight_sp() asm routine
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
22789 * source/common/x86/pixel-util.asm:
22790 asm : routine for weight_sp().
22793 2013-11-25 Min Chen <chenm003@163.com>
22795 * source/common/x86/const-a.asm, source/common/x86/ipfilter8.asm:
22796 asm: move constant 8192 to const-a.asm for share
22799 2013-11-25 Nabajit Deka <nabajit@multicorewareinc.com>
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
22807 * source/test/pixelharness.cpp:
22808 Test bench modifications for weight_pp() asm routine.
22811 * source/common/x86/pixel-util.asm:
22812 asm : routine for weight_pp(), for input width in multiples of 16
22815 2013-11-25 Praveen Tiwari <praveen@multicorewareinc.com>
22817 * source/common/x86/asm-primitives.cpp:
22818 cleanup the temporary function pointer initialization
22821 2013-11-25 Min Chen <chenm003@163.com>
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
22828 * source/common/x86/mc-a.asm:
22829 cleanup: remove unused code in mc-a.asm
22832 2013-11-24 Min Chen <chenm003@163.com>
22834 * source/common/x86/pixel-a.asm:
22835 cleanup: remove unused constant in pixel-a.asm
22838 * source/common/x86/pixel-a.asm:
22839 cleanup: remove unused code in pixel-a.asm
22842 * source/common/x86/mc-a2.asm:
22843 cleanup: remove unused code in mc-a2.asm
22846 2013-11-25 Steve Borho <steve@borho.org>
22848 * source/encoder/encoder.cpp:
22849 encoder: do not warn of b-pyramid and small bframe value
22851 Many default presets can do this, it is harmless
22854 * source/encoder/encoder.cpp:
22855 log: shorten Planar to P
22858 * source/encoder/encoder.cpp:
22859 log: do not output statistics for disabled features
22862 * source/common/dct.cpp:
22863 dct: remove unused static array
22866 * source/encoder/encoder.cpp:
22867 encoder: compilers can't agree on how to print long longs
22870 2013-11-25 Kavitha Sampath <kavitha@multicorewareinc.com>
22872 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp,
22873 source/encoder/encoder.cpp:
22874 log: improve statistics display
22876 represent 4x4 statistics for I frame, combine I frame log in single
22877 line, preserve space in log
22880 2013-11-24 Steve Borho <steve@borho.org>
22882 * source/common/x86/asm-primitives.cpp:
22883 asm: repair ICL compile on Windows
22886 2013-11-22 Steve Borho <steve@borho.org>
22888 * source/common/vec/vec-primitives.cpp:
22889 clang: remove compilation guards around
22890 Setup_Vec_IPredPrimitives_sse41()
22892 Now that a number of primitives have been replace by assembly, the
22893 functions are safe.
22896 * source/common/CMakeLists.txt, source/common/vec/pixel-sse3.cpp,
22897 source/common/vec/pixel-ssse3.cpp, source/common/vec/vec-
22899 cmake: merge pixel-sse3.cpp into pixel-ssse3.cpp
22901 Both files only had one primitive each, and they will both probably
22905 * source/common/vec/pixel-ssse3.cpp:
22906 pixel-ssse3: remove scale1D_128to64, we have ASM
22909 * source/common/vec/pixel-sse41.cpp:
22910 pixel-sse41: cleanup intrinsic weight function names
22913 * source/common/vec/intra-sse41.cpp:
22914 vec: remove intrinsic predDCFiltering() and intra_pred_dc(), we have
22918 * source/common/x86/asm-primitives.cpp:
22919 asm: remove assignements to square block sa8d[] methods
22921 These are handled specially in x265_setup_primitives()
22924 2013-11-22 Aarthi Thirumalai <Aarthi Thirumalai>
22926 * source/encoder/ratecontrol.cpp:
22927 crf: bug fix. regulate qp of first frame based on ABR_INIT_QP.
22930 2013-11-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22935 2013-11-20 Sumalatha Polureddy <Sumalatha Polureddy>
22937 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
22938 source/encoder/compress.cpp:
22939 no-rdo: implemented topskip algorithm
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.
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
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
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
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
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
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)
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
22982 2013-11-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
22984 * source/encoder/slicetype.cpp:
22985 lookahead primitives: fix bug that caused wrong cost estimates in
22989 2013-11-22 Steve Borho <steve@borho.org>
22991 * source/common/vec/pixel-sse41.cpp:
22992 pixel: drop intrinsic sse_pp functions, we have ASM coverage
22995 * source/test/pixelharness.cpp:
22996 pixelharness: fix the other header buffer
22999 2013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
23001 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23002 TComYuv::addClipChroma, integrated pixel_add_ps function
23005 2013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
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
23012 2013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
23014 * source/common/x86/asm-primitives.cpp:
23015 added blockcopy_sp function pointers
23018 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23019 TComYuv::addClip, integrated luma_add_ps
23022 2013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
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
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
23034 2013-11-22 Praveen Tiwari <praveen@multicorewareinc.com>
23036 * source/common/x86/asm-primitives.cpp:
23037 asm-primitives.cpp, removed temporary function pointer
23038 initialization, generated through macro calls
23041 * source/common/x86/asm-primitives.cpp,
23042 source/common/x86/pixeladd8.asm:
23043 pixel_add_ps_64xN, asm code
23046 * source/common/x86/asm-primitives.cpp,
23047 source/common/x86/pixeladd8.asm:
23048 pixel_add_ps_48x64, asm code
23051 * source/common/x86/asm-primitives.cpp,
23052 source/common/x86/pixeladd8.asm:
23053 pixel_add_ps_12x16, asm code
23056 2013-11-22 Murugan Vairavel <murugan@multicorewareinc.com>
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
23063 2013-11-22 Min Chen <chenm003@163.com>
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
23071 * source/test/pixelharness.cpp:
23072 fix bug for testbench string buffer overflow
23075 2013-11-22 Steve Borho <steve@borho.org>
23077 * source/common/cpu.cpp:
23078 cpu: fix non-Windows build with ASM disabled
23081 * source/CMakeLists.txt:
23082 cmake: backout cmake_policy(); cmake is idiotic
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?
23089 2013-11-21 Steve Borho <steve@borho.org>
23091 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncSearch.cpp,
23092 source/common/CMakeLists.txt:
23093 cmake: almost revive Xcode support
23095 # macbrew based instructions brew install cmake --HEAD cmake -G
23096 Xcode ../source open x265.xcodeproj
23098 > cmake --version cmake version 2.8.12.20131121
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
23104 * source/encoder/motion.cpp, source/encoder/motion.h:
23105 motion: use fast weighted subpel refine
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.
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
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
23120 * source/common/vec/intra-sse41.cpp:
23121 intra: fix 16bpp builds
23124 2013-11-21 Praveen Tiwari <Praveen Tiwari>
23126 * source/common/x86/pixeladd8.asm:
23127 pixel_add_ps, 32xN corrected xmm register count
23130 2013-11-21 Steve Borho <steve@borho.org>
23132 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23133 pixelharness: cleanup check function names
23136 * source/test/intrapredharness.cpp, source/test/pixelharness.cpp,
23137 source/test/testharness.h:
23138 testbench: re-line up test results to improve readability
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
23148 weight_pp -> weight pixels to pixels weight_sp -> weight shorts to
23152 * source/encoder/slicetype.cpp:
23153 slicetype: prevent gcc 4.8.1 compiler error
23156 * source/Lib/TLibCommon/TComPrediction.cpp:
23157 TComPrediction: fixup planar size index
23160 * source/encoder/slicetype.cpp:
23161 slicetype: remove hungarian pointer prefixes and unnecessary pixel
23165 * source/common/intrapred.cpp:
23166 intrapred: cleanup intra C references
23169 * source/common/x86/asm-primitives.cpp:
23170 asm: remove cmp templated wrapper function
23173 * source/Lib/TLibCommon/TComPrediction.cpp:
23174 TComPrediction: nits
23177 2013-11-21 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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
23187 2013-11-21 Santhoshini Sekar <santhoshini@multicorewareinc.com>
23189 * source/encoder/encoder.cpp:
23190 bug fix: print Mean psnr Y,U,V properly
23193 2013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23195 * source/common/x86/asm-primitives.cpp:
23196 asm: added sa8d-4x4,4x8,8x4,4x16,16x4,12x16,16x12 to asm-
23200 2013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
23202 * source/common/x86/asm-primitives.cpp,
23203 source/common/x86/pixeladd8.asm:
23204 pixel_add_ps_32x64, asm code
23207 * source/common/x86/asm-primitives.cpp,
23208 source/common/x86/pixeladd8.asm:
23209 pixel_add_ps_16x64, asm code
23212 * source/common/x86/asm-primitives.cpp,
23213 source/common/x86/pixeladd8.asm:
23214 pixel_add_ps, asm code
23217 * source/common/x86/asm-primitives.cpp,
23218 source/common/x86/pixeladd8.asm:
23219 asm: pixel_add_ps,32xN
23222 * source/common/x86/asm-primitives.cpp,
23223 source/common/x86/pixeladd8.asm:
23224 pixel_add_ps, 16x8, 16x12, 16x16, 16x32 asm code
23227 2013-11-21 Murugan Vairavel <murugan@multicorewareinc.com>
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
23234 * source/common/x86/pixel-a.asm:
23235 asm: Improvement by replace macro extend by function call
23238 2013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
23240 * source/common/x86/asm-primitives.cpp,
23241 source/common/x86/pixeladd8.asm:
23242 pixel_add_ps_2x8 asm code
23245 2013-11-21 Min Chen <chenm003@163.com>
23247 * source/common/x86/asm-primitives.cpp,
23248 source/common/x86/pixeladd8.asm:
23249 [asm]: pixel_add_ps_2x4
23252 2013-11-21 Praveen Tiwari <praveen@multicorewareinc.com>
23254 * source/common/x86/asm-primitives.cpp,
23255 source/common/x86/pixeladd8.asm:
23256 pixel_add_ps_6x8, asm code
23259 * source/common/x86/pixeladd8.asm:
23260 pixeladd8.asm, removed unsed header 'x86util.asm'
23263 * source/common/x86/asm-primitives.cpp,
23264 source/common/x86/pixeladd8.asm:
23265 pixel_add_ps_16x4, asm code
23268 2013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23270 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23271 asm: assembly code for pixel_sa8d_8x32
23274 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23275 asm: assembly code for pixel_sa8d_32x8
23278 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23279 asm: assembly code for pixel_sa8d_24x32
23282 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23283 asm: assembly code for pixel_sa8d_32x24
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
23290 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23291 asm: assembly code for pixel_sa8d_16x64
23294 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23295 asm: assembly code for pixel_sa8d_64x16
23298 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23299 asm: assembly code for pixel_sa8d_48x64
23302 2013-11-21 Min Chen <chenm003@163.com>
23304 * source/test/ipfilterharness.cpp:
23305 testbench: initialize output buffer to solve lumz_sp[] mistake
23309 2013-11-21 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23311 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23312 asm: assembly code for pixel_sa8d_64x48
23315 2013-11-21 Dnyaneshwar G <dnyaneshwar@multicorewareinc.com>
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]
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]
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]
23333 2013-11-20 Steve Borho <steve@borho.org>
23335 * source/common/primitives.h:
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
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
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
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
23365 * source/Lib/TLibCommon/TComSlice.h:
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:
23384 * source/cmake/CMakeASM_YASMInformation.cmake:
23385 cmake: fix cygwin builds - yasm must output windows object files
23388 * source/test/testbench.cpp:
23389 test: bump pixel depth to 12 for HIGH_BIT_DEPTH builds
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
23396 vec: fix compile warnings with clang at 16bpp - remove dead
23400 2013-11-20 Praveen Tiwari <Praveen Tiwari>
23402 * source/common/x86/asm-primitives.cpp,
23403 source/common/x86/pixeladd8.asm:
23404 pixel_add_ps, 8x8, 8x16, 8x32 asm code
23407 * source/common/x86/asm-primitives.cpp,
23408 source/common/x86/pixeladd8.asm:
23409 pixel_add_ps_8x6, asm code
23412 * source/common/x86/asm-primitives.cpp,
23413 source/common/x86/pixeladd8.asm:
23414 pixel_add_ps_8x4, asm code
23417 * source/common/x86/asm-primitives.cpp,
23418 source/common/x86/pixeladd8.asm:
23419 pixel_add_ps_8x2, asm code
23422 * source/common/primitives.h, source/common/x86/pixel.h:
23423 pixel.h and primitives.h, int replaced with intptr_t
23426 * source/common/x86/asm-primitives.cpp,
23427 source/common/x86/pixeladd8.asm:
23428 asm code for pixel_add_ps_4x2
23431 * source/common/x86/pixeladd8.asm:
23432 pixel_add_pp_4x4, merged movd and pmovzxbw
23435 * source/common/x86/pixeladd8.asm:
23436 pixel_add_pp: 4x8, 4x16, merged movd and pmovzxbw instructions
23439 * source/common/x86/pixel.h:
23440 added pixel_add_ps chroma function definitions
23443 * source/common/x86/pixeladd8.asm:
23444 pixeladd8.asm, int replaced with intptr_t for strides data type
23447 * source/common/x86/asm-primitives.cpp,
23448 source/common/x86/pixeladd8.asm:
23449 asm code for pixel_add_ps, 4x8 and 4x16
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
23457 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23458 unit test code for pixel_add_ps
23461 * source/common/pixel.cpp, source/common/primitives.h:
23462 added pixel_add_ps_c as a primitve
23465 2013-11-20 Steve Borho <steve@borho.org>
23467 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
23468 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
23469 TEncBinCABAC: fix naming prefix convention of bIsCounter
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
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
23495 * source/common/x86/asm-primitives.cpp:
23496 asm: white-space nits
23499 2013-11-20 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23501 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23502 asm: assembly code for pixel_sa8d_32x64
23505 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23506 asm: assembly code for pixel_sa8d_64x32
23509 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23510 asm: assembly code for pixel_sa8d_16x32
23513 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23514 asm: assembly code for pixel_sa8d_32x16
23517 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23518 asm: assembly code for pixel_sa8d_64x64
23521 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
23522 asm: assembly code for pixel_sa8d_32x32
23525 2013-11-20 Min Chen <chenm003@163.com>
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]
23538 2013-11-20 Steve Borho <steve@borho.org>
23540 * source/common/primitives.h, source/common/vec/pixel-sse3.cpp:
23541 primitive: remove unused cvt16to16_shl
23544 * source/common/vec/dct-sse41.cpp:
23545 vec: drop intrinsic quant primitive, we have assembly code
23548 * source/common/vec/pixel-sse3.cpp:
23549 vec: drop intrinsic transpose primitives, we have assembly code
23552 2013-11-20 Min Chen <chenm003@163.com>
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
23559 2013-11-20 Murugan Vairavel <murugan@multicorewareinc.com>
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
23566 * source/common/x86/pixel-a.asm:
23567 asm: cleanup routines of transpose module for 4x4, 8x8 and 16x16
23570 2013-11-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
23572 * source/encoder/slicetype.cpp:
23573 bpyramid: Support for b-pyramid with b-adapt 0
23575 Test results for reference when enable and disable the b-pyramid
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
23581 Results: Enable / Disable
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
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 /
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
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
23598 2013-11-19 Steve Borho <steve@borho.org>
23600 * source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp:
23601 clang: fix build warnings
23604 2013-11-19 Praveen Tiwari <Praveen Tiwari>
23606 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
23607 blockcpy_sp asm integration
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
23615 * source/Lib/TLibCommon/TComYuv.cpp:
23616 blockcopy_ps, asm integration
23619 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h,
23620 source/Lib/TLibEncoder/TEncSearch.cpp:
23621 TComYuv::copyPartToPartChroma, blockcopy_ps asm integration
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
23629 * source/Lib/TLibCommon/TComYuv.cpp:
23630 TComYuv::copyPartToPartChroma, blockcopy_pp asm integration
23633 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23634 TComYuv::copyToPicLuma, blockcopy_pp asm integration
23637 2013-11-19 Murugan Vairavel <murugan@multicorewareinc.com>
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
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
23649 2013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
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
23656 2013-11-19 Steve Borho <steve@borho.org>
23658 * source/common/common.cpp, source/x265.h:
23659 api: enable weightp by default, disable for ultrafast
23663 api: fix typos and improve chroma qp offset descriptions
23666 * source/common/common.cpp, source/x265.h:
23667 api: enable b-pyramid by default
23669 The only reason for it to be disabled is if the decoder/use case
23674 cli: fix warning in CLI help
23677 * source/common/common.cpp:
23681 * source/common/common.cpp:
23682 common: validate --subme value
23686 api: cleanup x265_param orderings, add full comments
23689 2013-11-18 Steve Borho <steve@borho.org>
23691 * source/encoder/encoder.cpp:
23692 encoder: simplify size variables
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
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.
23711 api: remove old suffix and prefix from C symbols in comment, reflow
23714 * source/encoder/encoder.cpp, source/x265.cpp, source/x265.h:
23715 api: remove hungarian prefixes from x265_nal members
23717 These particular prefixes came from x264 originally
23721 api: remove reserved NAL enums and C++ style comments from public
23725 2013-11-19 Steve Borho <steve@borho.org>
23727 * source/x265.cpp, source/x265.h:
23728 api: cleanup bpyramid
23731 2013-11-19 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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
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
23747 Results: Enable / Disable
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 -
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 -
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
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 -
23766 2013-11-18 Steve Borho <steve@borho.org>
23768 * source/common/common.cpp:
23769 log: do not show aq-strength if AQ is disabled
23772 * source/common/common.cpp:
23773 preset: return superfast/ultrafast lookahead depths to 10
23776 2013-11-18 Aarthi Thirumalai <aarthi@multicorewareinc.com>
23778 * source/common/common.cpp, source/x265.cpp:
23779 cli: add aq-strength to cli input options, add validations for aq
23783 2013-11-18 Steve Borho <steve@borho.org>
23785 * source/encoder/frameencoder.cpp:
23786 frameencoder: fix initialization order to prevent warnings
23789 2013-11-18 Praveen Tiwari <Praveen Tiwari>
23791 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23792 TComYuv::copyPartToPartYuv, blockcopy_pp asm integration
23795 2013-11-18 Murugan Vairavel <murugan@multicorewareinc.com>
23797 * source/test/pixelharness.cpp, source/test/pixelharness.h:
23798 Test bench code for transpose routine
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
23807 2013-11-18 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
23809 * source/common/x86/pixel-a.asm:
23810 asm: fix the bug caused on 32-bit linux due to satd routines.
23813 2013-11-18 Kavitha Sampath <kavitha@multicorewareinc.com>
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,
23820 Encoder statistics: Inter[% (2Nx2N %2NxN %Nx2N %AMP)] Intra[% (%DC
23821 %PLANAR %ANG)] Split[%] Skip[%]
23824 2013-11-18 Nabajit Deka <Nabajit Deka>
23826 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
23827 Adding asm function declarations and initializations for chroma hps
23831 2013-11-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
23833 * source/Lib/TLibCommon/TComPrediction.cpp,
23834 source/Lib/TLibCommon/TComPrediction.h:
23835 TComPrediction: cleanup, remove unused buffers
23838 2013-11-17 Steve Borho <steve@borho.org>
23840 * source/test/ipfilterharness.cpp:
23841 testbench: quit zeroing buffers before every test
23844 * source/common/vec/ipfilter-sse41.cpp:
23845 vec: disable 16bpp ipfilter_ps[] functions, not 10bit pixel safe
23848 * source/common/vec/intra-ssse3.cpp:
23849 clang: fix ambiguous * operator in intra-ssse3.cpp
23852 2013-11-16 Steve Borho <steve@borho.org>
23854 * source/common/common.cpp:
23855 common: remove thread counts from param2string
23858 * source/common/common.cpp, source/common/common.h, source/x265.cpp,
23860 cli: allow string argument names for --me, generalize
23863 * source/common/vec/pixel-sse3.cpp:
23864 vec: drop blockfill intrinsic primitives, we have ASM
23867 * source/common/pixel.cpp, source/common/vec/pixel-sse3.cpp:
23868 vec: drop residual and recon intrinsic primitives, we have ASM
23871 * source/common/x86/pixel-util.asm:
23872 fix eoln of pixel-util.asm
23875 2013-11-16 Min Chen <chenm003@163.com>
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[]
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
23889 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/x86/pixel-
23891 asm: residual buffer is alignment to size, so we can use alignment
23895 2013-11-16 Steve Borho <steve@borho.org>
23897 * source/encoder/encoder.cpp, source/encoder/slicetype.cpp:
23898 repair -i0 behavior
23901 * source/encoder/slicetype.cpp:
23902 slicetype: hoist intra cost estimate out of weightsAnalyze
23905 2013-11-15 Praveen Tiwari <Praveen Tiwari>
23907 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
23908 TComYuv::copyPartToYuv, asm code integration for blockcopy_pp
23911 * source/Lib/TLibCommon/TComYuv.cpp:
23912 TComYuv::copyToPartYuv, asm integration for blockcopy_pp
23915 * source/common/primitives.cpp, source/common/primitives.h,
23916 source/test/pixelharness.cpp:
23917 checking for all supported csp values
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
23926 2013-11-15 Nabajit Deka <Nabajit Deka>
23928 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
23929 Adding asm function declarations and initializations for luma vss
23933 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
23934 Adding asm function declarations and initializations for chroma vss
23938 * source/common/x86/ipfilter8.asm:
23939 asm: routines for luma vss filter functions for all block sizes.
23942 * source/common/x86/ipfilter8.asm:
23943 asm: routines for chroma vss filter functions for all block sizes
23946 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
23947 Adding test bench code for luma vss filter functions.
23950 * source/common/ipfilter.cpp, source/common/primitives.h:
23951 Adding function pointer array and C primitive initializations for
23952 luma vss filter functions
23955 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
23956 Adding test bench code for chroma vss filter functions
23959 * source/common/ipfilter.cpp:
23960 Adding C primitive for chroma vss filter functions
23963 * source/common/primitives.h:
23964 Adding function pointer type & array declaration for chroma vss
23968 2013-11-16 Steve Borho <steve@borho.org>
23970 * source/CMakeLists.txt, source/common/CMakeLists.txt:
23971 cmake: disable some flags for clang, old versions balk at them
23974 2013-11-15 Praveen Tiwari <Praveen Tiwari>
23976 * source/Lib/TLibCommon/TComPrediction.cpp:
23977 reverted chroma_copy_pp asm integration to avoid csp break
23980 2013-11-15 Steve Borho <steve@borho.org>
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
23988 * source/Lib/TLibCommon/TComPrediction.cpp:
23989 TComPrediction: cleanup hugarian notations and redundant vars
23992 * source/Lib/TLibCommon/TComSlice.h:
23993 fix variable shadow warning
23996 2013-11-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24001 * source/common/common.cpp:
24002 presets: fix bugs, better spread out the efficiency/speed data
24007 x265: whitespace nit
24010 2013-11-14 Steve Borho <steve@borho.org>
24012 * source/encoder/slicetype.cpp:
24013 slicetype: correct non-denom round, improve some comments
24016 * source/encoder/slicetype.cpp:
24017 slicetype: remove unnecessary lines, simplify a few things
24020 * source/encoder/slicetype.cpp:
24021 slicetype: use x265 style camelCase auto vars
24024 * source/encoder/slicetype.cpp:
24025 slicetype: since w is an auto-var there is no need to zero at early-
24029 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
24030 slicetype: optimize away mcWeight helper function
24033 2013-11-14 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
24040 * source/Lib/TLibCommon/TComSlice.h, source/encoder/slicetype.cpp,
24041 source/encoder/slicetype.h:
24042 Pulling x264 weight decision into x265 lookahead
24045 2013-11-14 Min Chen <chenm003@163.com>
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[]
24052 2013-11-14 Sumalatha Polureddy <Sumalatha Polureddy>
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
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.
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
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
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)
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)
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
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)
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
24101 2013-11-14 Praveen Tiwari <Praveen Tiwari>
24103 * source/Lib/TLibEncoder/TEncSearch.cpp:
24104 reverted chroma_copy_pp asm integration code, avoiding csp break
24107 2013-11-14 Murugan Vairavel <murugan@multicorewareinc.com>
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
24114 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24115 Unit test code for Pixel scaling
24118 2013-11-14 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
24124 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24125 asm: assembly code for pixel_satd_64x64
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
24132 2013-11-13 Steve Borho <steve@borho.org>
24134 * source/Lib/TLibEncoder/TEncSearch.cpp:
24138 2013-11-13 Nabajit Deka <Nabajit Deka>
24140 * source/common/x86/ipfilter8.asm:
24141 asm: routines for chroma vps filter functions for 2x4 and 2x8 block
24145 2013-11-13 Derek Buitenhuis <derek.buitenhuis@gmail.com>
24147 * source/Lib/TLibEncoder/TEncSearch.cpp:
24148 Reindent after last commit
24151 * source/Lib/TLibEncoder/TEncSearch.cpp,
24152 source/Lib/TLibEncoder/TEncSearch.h:
24153 TEncSearch: Fix parameter type of xEstimateResidualQT
24155 Fixes compilation with g++.
24158 2013-11-13 Nabajit Deka <Nabajit Deka>
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.
24166 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
24167 Adding asm function declarations and initializations for chroma vps
24171 * source/common/x86/ipfilter8.asm:
24172 asm: routines for chroma vps filter functions for 32xN block sizes.
24175 * source/common/x86/ipfilter8.asm:
24176 asm: routines for chroma vps filter function for 24x32 block size.
24179 * source/common/x86/ipfilter8.asm:
24180 asm: routines for chroma vps filter functions for 16xN block sizes.
24183 * source/common/x86/ipfilter8.asm:
24184 asm: routines for chroma vps filter functions for 6x8 and 12x16
24188 * source/common/x86/ipfilter8.asm:
24189 asm: routines for chroma vps filter functions for 8xN block sizes
24192 * source/common/x86/ipfilter8.asm:
24193 asm: routines for chroma vps filter functions for 4xN block sizes.
24196 * source/common/x86/ipfilter8.asm:
24197 asm: routines for chroma hps filter functions for 16xN, 24xN and
24201 * source/common/x86/ipfilter8.asm:
24202 asm: routines for chroma hps filter functions for 8xN block sizes.
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.
24210 2013-11-13 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24212 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24213 asm: assembly code for pixel_satd_64x16
24216 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24217 asm: assembly code for pixel_satd_32x32
24220 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24221 asm: assembly code for pixel_satd_24x32
24224 2013-11-12 Murugan Vairavel <murugan@multicorewareinc.com>
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
24232 2013-11-13 Murugan Vairavel <murugan@multicorewareinc.com>
24234 * source/common/x86/pixel-a.asm:
24235 asm: pixelsub_ps routine for all block sizes
24238 2013-11-12 sagarkotecha <sagarkotecha>
24240 * source/common/ipfilter.cpp:
24241 Bug fix : In ipfilter for 10 bit yuv support
24244 2013-11-12 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
24246 * source/encoder/ratecontrol.cpp:
24247 Adding initialisation for ssd/sum values for lowress frame
24250 2013-11-12 Nabajit Deka <Nabajit Deka>
24252 * source/test/ipfilterharness.cpp:
24253 Adding test bench code for chroma vps filter functions.
24256 * source/common/ipfilter.cpp, source/common/primitives.h:
24257 Adding function pointer array and C primitive initializations for
24258 chroma vps filter functions.
24261 * source/common/x86/ipfilter8.asm:
24262 asm: routines for chroma hps filter functions for 2xN, 4xN, 6x8 and
24266 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24267 Adding test bench code for chroma hps filter functions.
24270 * source/common/ipfilter.cpp, source/common/primitives.h:
24271 Adding function pointer array and initializations for chroma hps
24275 * source/common/x86/asm-primitives.cpp:
24276 Adding function pointer initializations for asm chroma vsp
24280 * source/common/x86/ipfilter8.h:
24281 Adding asm function declarations for chroma vsp filter functions.
24284 * source/common/x86/ipfilter8.asm:
24285 asm: routines for chroma vsp filter functions for all block sizes.
24288 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24289 Adding test bench code for chroma vsp filter functions.
24292 * source/common/ipfilter.cpp, source/common/primitives.h:
24293 Adding function pointer array and initializations for chroma vsp
24297 2013-11-12 Min Chen <chenm003@163.com>
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
24304 2013-11-12 Praveen Tiwari <Praveen Tiwari>
24306 * source/Lib/TLibCommon/TComYuv.cpp:
24307 TComYuv.cpp, use new luma_copy_ps asm primitives where feasible
24310 * source/Lib/TLibCommon/TComYuv.cpp:
24311 TComYuv.cpp, use new blockcopy_pp luma primitives where feasible
24314 * source/Lib/TLibCommon/TComYuv.cpp:
24315 TComYuv::copyFromPicLuma, blockcopy_pp luma asm code integration
24318 * source/Lib/TLibCommon/TComYuv.cpp:
24319 TComYuv::copyToPicLuma, blockcopy_pp asm code integration
24322 2013-11-12 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24324 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24325 asm: assembly code for pixel_satd_12x16
24328 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24329 asm: assembly code for satd_16x32, satd_16x64, satd_8x32
24332 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24333 asm: assembly code for pixel_satd_16x4
24336 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24337 asm: assembly code for pixel_satd_16x12
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
24344 2013-11-11 Steve Borho <steve@borho.org>
24346 * source/encoder/compress.cpp:
24347 compress: fix shadow warning from GCC
24350 * source/Lib/TLibEncoder/TEncSearch.cpp:
24351 TEncSearch: use luma block copy (luma part size) if bChromaSame
24354 2013-11-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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
24362 2013-11-12 Min Chen <chenm003@163.com>
24364 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/TShortYUV.cpp:
24365 cleanup: hardcoded m_qtTempTComYuv[qtLayer].m_width to MAX_CU_SIZE
24368 2013-11-12 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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
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
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)
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)
24390 2013-11-12 Sumalatha Polureddy <Sumalatha Polureddy>
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
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
24402 2013-11-11 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
24404 * source/Lib/TLibEncoder/TEncSearch.cpp:
24405 no-rdo: cleanups. Remove unnecessary memsets, rearrange
24409 2013-11-11 Steve Borho <steve@borho.org>
24411 * source/Lib/TLibCommon/TComYuv.h:
24412 TComYuv: de-hungarian nits
24415 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
24416 source/encoder/ratecontrol.cpp:
24417 asm: use new block copy primitives where feasible
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
24429 2013-11-11 Nabajit Deka <Nabajit Deka>
24431 * source/common/x86/asm-primitives.cpp:
24432 Adding function pointer initializations for luma vsp functions.
24435 * source/common/x86/ipfilter8.h:
24436 Adding asm function declarations for luma vsp filter functions.
24439 * source/common/x86/ipfilter8.asm:
24440 asm: routines for luma vsp filter functions for all block sizes.
24443 2013-11-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24445 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24446 asm: assembly code for x265_pixel_satd_32x16
24449 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel-a.asm:
24450 asm: assembly code for x265_pixel_satd_32x8
24453 2013-11-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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
24460 2013-11-11 Min Chen <chenm003@163.com>
24462 * source/Lib/TLibEncoder/TEncSearch.cpp:
24463 use fixed stride/size on m_qtTempTComYuv, to reduce number of
24464 calcRecon() parameters
24467 * source/common/x86/asm-primitives.cpp, source/common/x86/mc-a.asm,
24468 source/common/x86/pixel.h:
24469 asm: pixel_avg[32x16]
24472 2013-11-11 Praveen Tiwari <Praveen Tiwari>
24474 * source/common/x86/asm-primitives.cpp:
24475 added macro call for luma partition blockcopy_ps function
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
24554 * source/common/x86/blockcopy8.asm:
24555 eliminated register copy from BLOCKCOPY_PS_W16_H4 macro
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
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
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
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
24578 2013-11-11 Steve Borho <steve@borho.org>
24580 * source/encoder/compress.cpp:
24581 compress: white-space nits
24584 2013-11-11 Mahesh Doijade <maheshdoijade@multicorewareinc.com>
24586 * source/encoder/compress.cpp:
24587 TEncCu: cleanup xComputeCostIntraInInter to use 32x32 logic for
24591 2013-11-11 Min Chen <chenm003@163.com>
24593 * source/test/pixelharness.cpp:
24594 bugfix: PixelHarness::check_pixelavg_pp() output buffer did not
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
24602 2013-11-11 Praveen Tiwari <Praveen Tiwari>
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
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
24614 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24615 unit test code for block_copy_ps function
24618 * source/common/pixel.cpp, source/common/primitives.h:
24619 added blockcopy_ps c primitive and function pointes
24622 2013-11-11 Nabajit Deka <Nabajit Deka>
24624 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
24625 Adding test bench code for luma vsp filter functions.
24628 * source/common/ipfilter.cpp:
24629 Adding C primitive for luma vsp filter functions.
24632 * source/common/primitives.h:
24633 Adding function pointer type & array definition for luma vsp filter
24637 2013-11-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
24639 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
24640 16bpp primitives: disabling dct/idct/dst/idst primitives
24643 2013-11-09 Steve Borho <steve@borho.org>
24645 * source/test/testbench.cpp:
24646 testbench: set g_bitDepth to 10 for HIGH_BIT_DEPTH builds
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.
24654 * source/common/vec/dct-sse3.cpp:
24655 dct: white-space cleanup
24658 * source/output/y4m.cpp:
24659 y4m: fix 8bpp build
24662 * source/Lib/TLibCommon/TComPicYuv.cpp:
24663 TComPicYuv: add a comment for future optimizations
24666 * source/input/yuv.cpp:
24667 yuv: pic.stride should be in units of pixels, not bytes
24670 * source/Lib/TLibCommon/TComPicYuv.cpp:
24671 csp: fix allocation size calculation of chroma planes
24674 * source/Lib/TLibCommon/TComPicYuv.cpp,
24675 source/Lib/TLibCommon/TComPicYuv.h:
24676 TComPicYuv: remove unused luma-oriented functions, cleanup destroy
24680 * source/Lib/TLibCommon/TComPicYuv.cpp,
24681 source/Lib/TLibCommon/TComPicYuv.h:
24682 TComPicYuv: remove unused copy methods
24685 * source/Lib/TLibCommon/TComPicYuv.cpp:
24686 TComPicYuv: cleanup prefixes
24689 * source/Lib/TLibCommon/TComPicYuv.cpp,
24690 source/Lib/TLibCommon/TComPicYuv.h:
24691 TComPicYuv: remove unused dump function
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
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
24704 These are superceded by assembly - the ASM doesn't use AVX2 yet but
24705 it's already faster
24708 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
24709 TComYuv: remove unused removeHighFreq()
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()
24718 These were used by the old HM bidir search
24721 2013-11-08 Steve Borho <steve@borho.org>
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
24728 * source/input/yuv.cpp:
24729 yuv: simplify framesize usage
24732 * source/input/yuv.cpp:
24733 yuv: initialize pixelbytes as early as possible
24736 * source/input/y4m.cpp, source/input/yuv.cpp:
24737 input: include nits
24741 cli: do not check recon bit depth if no recon file is requested
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
24748 * source/common/common.cpp:
24749 common: set default params to match medium preset, keep star search
24753 2013-11-06 Steve Borho <steve@borho.org>
24755 * source/common/common.cpp:
24756 presets: adjust presets to increase spread and align closer with
24760 2013-11-08 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
24762 * source/Lib/TLibEncoder/TEncSearch.cpp,
24763 source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
24764 no-rdo: refactor enodeResandCalcRDInterCU function
24766 Divide estimateBits and modeDecision inside the function.
24767 EstimateBits uses a pseudo encode. Bitstream changes with this patch
24771 2013-11-08 Steve Borho <steve@borho.org>
24773 * source/Lib/TLibCommon/TComPicYuv.cpp:
24774 TComPicYuv: fixup 16x16 picture padding by using unpadded width as
24778 2013-11-08 Mahesh Doijade <Mahesh Doijade>
24780 * source/Lib/TLibEncoder/TEncSearch.cpp:
24781 TEncSearch: cleanup estIntraPredQT to use 32x32 logic for 64x64
24785 2013-11-08 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
24787 * source/common/x86/sad-a.asm:
24788 asm: optimised pixel_sad_xN_24x32 assembly code
24791 2013-11-08 Praveen Tiwari <Praveen Tiwari>
24793 * source/common/x86/blockcopy8.asm:
24794 blockcopy_sp_2x8, optimized asm code
24797 * source/common/x86/blockcopy8.asm:
24798 blockcopy_sp_2x4, optimized asm code
24801 * source/common/x86/blockcopy8.asm:
24802 blockcopy_sp_6x8, optimized asm code
24805 * source/common/x86/blockcopy8.asm:
24806 blockcopy_sp_32xN, optimized asm code
24809 * source/common/x86/blockcopy8.asm:
24810 blockcopy_sp_48x64, optimized asm code
24813 * source/common/x86/blockcopy8.asm:
24814 blockcopy_sp_64xN, optimized asm code
24817 * source/common/x86/blockcopy8.asm:
24818 blockcopy_sp_24x32, optimized asm code
24821 * source/common/x86/blockcopy8.asm:
24822 blockcopy_sp_16xN, optimized asm code
24825 * source/common/x86/blockcopy8.asm:
24826 blockcopy_sp_12x16, optimized asm code
24829 * source/common/x86/blockcopy8.asm:
24830 blockcopy_sp_8x16, optimized asm code
24833 * source/common/x86/blockcopy8.asm:
24834 blockcopy_sp_8x8, optimized asm code
24837 * source/common/x86/blockcopy8.asm:
24838 blockcopy_sp_8x2, optimized asm code
24841 * source/common/x86/blockcopy8.asm:
24842 blockcopy_sp_8x6, optimized asm code
24845 * source/common/x86/blockcopy8.asm:
24846 blockcopy_sp_8x4, optimized asm code
24849 * source/common/x86/blockcopy8.asm:
24850 blockcopy_sp_4x8, optimized asm code
24853 * source/common/x86/blockcopy8.asm:
24854 blockcopy_sp_4x16, optimized asm code
24857 * source/common/x86/blockcopy8.asm:
24858 blockcopy_sp_4x4, optimized asm code according to modified C
24862 * source/common/x86/blockcopy8.asm:
24863 blockcopy_sp_4x2, optimized asm code according to modified C
24867 2013-11-08 Steve Borho <steve@borho.org>
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
24875 These are now completely replaced by block based assembly code
24878 * source/common/vec/pixel-sse41.cpp:
24879 linux: re-enable sse_12x16 for clang and gcc
24882 2013-11-08 Min Chen <chenm003@163.com>
24884 * source/common/vec/pixel-sse41.cpp:
24885 fix bug in sse_sp12
24888 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24889 testbench: update for blockcopy, these function use dynamic range
24893 2013-11-07 Steve Borho <steve@borho.org>
24896 cli: add missing --version long option for -V, and -? short option
24901 cli: report a warning on preset or tune string mismatches
24904 * source/common/vec/pixel-sse41.cpp:
24905 linux: disable sse_12x16 for GCC and clang
24908 * source/test/pixelharness.cpp:
24909 linux: fix pixelharness on linux which has full-range rand()
24912 * source/common/vec/blockcopy-sse3.cpp:
24913 vec: remove use of deleted primitive for 16bpp
24916 * source/common/lowres.h:
24917 lowres: reorder members of Lowres struct for clarity
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
24925 * source/common/mv.h, source/encoder/motion.cpp,
24926 source/encoder/slicetype.cpp:
24927 lowres: pull lowres motion compensation and residual costs into
24931 2013-11-07 Min Chen <chenm003@163.com>
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
24940 2013-11-07 Praveen Tiwari <Praveen Tiwari>
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
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
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
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
24962 * source/test/pixelharness.cpp, source/test/pixelharness.h:
24963 unit test code for blockfill_s_c function
24966 2013-11-07 Steve Borho <steve@borho.org>
24968 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
24969 asm: enable luma_vpp block MC functions
24972 2013-11-07 Nabajit Deka <Nabajit Deka>
24974 * source/common/x86/ipfilter8.asm:
24975 Bug fix for luma vpp asm routines.Also incorporated review comment
24979 2013-11-07 Min Chen <chenm003@163.com>
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
24987 * source/common/pixel.cpp:
24988 asm: the pixel value in blockcopy_ps is saturation by calcRecon, so
24989 asm can use packuswb
24992 2013-11-07 Aarthi Thirumalai <Aarthi Thirumalai>
24994 * source/Lib/TLibCommon/TComPicYuv.cpp:
24995 tcompicyuv: add right boundary padding while applying bottom row
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
25005 2013-11-07 Steve Borho <steve@borho.org>
25007 * source/common/vec/pixel-sse41.cpp:
25008 pixel: remove last remaining intrinsic SAD primitives
25011 2013-11-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25013 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25014 asm: assembly code for pixel_sad_x4_64xN
25017 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25018 asm: assembly code for pixel_sad_x3_64xN
25021 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25022 asm: assembly code for pixel_sad_x4_48x64
25025 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25026 asm: assembly code for pixel_sad_x3_48x64
25029 2013-11-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
25031 * source/Lib/TLibCommon/TComPicYuv.cpp:
25032 tcompicyuv: improvement for Extend the right if width is not
25033 multiple of min CU size
25036 2013-11-07 Min Chen <chenm003@163.com>
25038 * source/common/pixel.cpp:
25039 asm: the pixel value in blockcopy_ps is saturation by calcRecon, so
25040 asm can use packuswb
25043 2013-11-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
25045 * source/Lib/TLibCommon/TComPicYuv.cpp:
25046 tcompicyuv: fix for copyFromPicture() when HIGH_BIT_DEPTH enable,
25047 sizeof(Pel)=2 and pic.bitDepth=8
25050 2013-11-07 Steve Borho <steve@borho.org>
25052 * source/encoder/encoder.cpp:
25053 api: output x265_picture.bitDepth should reflect actual internal
25056 And not sizeof(pixel) * 8.
25059 2013-11-06 Steve Borho <steve@borho.org>
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
25066 * source/encoder/motion.cpp:
25067 motion: fixup weightp - use unweighted reference pixels as
25068 interpolation source
25072 cli: do not lookup a colorspace name if not supplied
25075 * source/common/common.cpp:
25076 common: set a default color space of I420
25079 * source/Lib/TLibCommon/TComPrediction.cpp, source/encoder/motion.cpp:
25080 asm: use new block based single-pass H-filter motion compensation
25084 * source/Lib/TLibCommon/TComPrediction.cpp:
25085 asm: use new block based chroma single-pass MC primitives
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
25093 * source/common/x86/asm-primitives.cpp:
25094 asm: move _sse4 block copy function pointer assignments into SSE4
25098 2013-11-06 Praveen Tiwari <Praveen Tiwari>
25100 * source/common/x86/blockcopy8.asm:
25101 blockcopy_sp, corrected number of xmm registers
25104 * source/common/x86/asm-primitives.cpp,
25105 source/common/x86/blockcopy8.asm:
25106 asm code for blockcopy_sp, 64xN
25109 * source/common/x86/blockcopy8.asm:
25110 blockcopy_sp, 48x64 changed the macro name according to width
25113 * source/common/x86/asm-primitives.cpp,
25114 source/common/x86/blockcopy8.asm:
25115 asm code for blockcopy_sp, 48x64
25118 * source/common/x86/asm-primitives.cpp,
25119 source/common/x86/blockcopy8.asm:
25120 blockcopy_sp, added 16x64 block size
25123 * source/common/x86/asm-primitives.cpp,
25124 source/common/x86/blockcopy8.asm:
25125 asm code for blockcopy_sp, 32x64
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
25133 * source/common/x86/asm-primitives.cpp,
25134 source/common/x86/blockcopy8.asm:
25135 asm code for blockcopy_sp, 6x8
25138 * source/common/x86/asm-primitives.cpp,
25139 source/common/x86/blockcopy8.asm:
25140 asm code for blockcopy_sp, 2x8
25143 * source/common/x86/asm-primitives.cpp,
25144 source/common/x86/blockcopy8.asm:
25145 asm code for blockcopy_sp, 2x4
25148 * source/common/x86/asm-primitives.cpp,
25149 source/common/x86/blockcopy8.asm:
25150 asm code for blockcopy_sp, 12x16 block
25153 * source/common/x86/asm-primitives.cpp,
25154 source/common/x86/blockcopy8.asm:
25155 asm code for blockcopy_sp, 32xN
25158 2013-11-06 Gopu Govindaswamy <gopu@multicorewareinc.com>
25160 * source/Lib/TLibCommon/TComDataCU.cpp:
25161 tcomdatacu: partStartIdx is always negative, no need to have else
25165 * source/Lib/TLibCommon/TComDataCU.cpp:
25166 tcomdatacu: remove the for loop in InitCU(), which will never
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()
25174 2013-11-06 Steve Borho <steve@borho.org>
25176 * source/Lib/TLibCommon/TComSlice.cpp,
25177 source/Lib/TLibCommon/TComSlice.h:
25181 * source/common/x86/pixel.h:
25185 2013-11-06 Min Chen <chenm003@163.com>
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]
25196 2013-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25198 * source/output/y4m.cpp, source/output/yuv.cpp:
25199 YUV, Y4M Output: bitdepth confusion resolved
25202 2013-11-06 Praveen Tiwari <Praveen Tiwari>
25204 * source/common/x86/asm-primitives.cpp,
25205 source/common/x86/blockcopy8.asm:
25206 asm code for blockcopy_sp, 24x32 block
25209 * source/common/x86/asm-primitives.cpp,
25210 source/common/x86/blockcopy8.asm:
25211 asm code for blockcopy_sp, 16xN blocks
25214 2013-11-06 Nabajit Deka <Nabajit Deka>
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.
25221 * source/common/x86/ipfilter8.asm:
25222 asm: routines for luma hps filter functions for all block sizes.
25225 2013-11-06 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25230 * source/output/yuv.cpp:
25231 YUV Output: more rext merge bugs
25234 * source/output/yuv.cpp:
25235 YUV output: correct a rext merge issue
25238 2013-11-06 Praveen Tiwari <Praveen Tiwari>
25240 * source/common/x86/asm-primitives.cpp,
25241 source/common/x86/blockcopy8.asm:
25242 asm code for blockcopy_sp, 4xN blocks
25245 * source/common/x86/asm-primitives.cpp,
25246 source/common/x86/blockcopy8.asm:
25247 asm code for blockcopy_sp, 8xN blocks
25250 2013-11-06 Nabajit Deka <Nabajit Deka>
25252 * source/test/ipfilterharness.cpp:
25253 Adding test bench code for luma hps filter functions.
25256 * source/common/ipfilter.cpp, source/common/primitives.h:
25257 Adding function pointer array and C primitive for luma hps filter
25261 2013-11-06 Gopu Govindaswamy <gopu@multicorewareinc.com>
25263 * source/Lib/TLibCommon/TComDataCU.cpp:
25264 tcomdatacu: remove memset in initSubCU()
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()
25271 * source/Lib/TLibCommon/TComDataCU.cpp:
25272 tcomdatacu: remove memset in initEstData()
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()
25279 * source/Lib/TLibCommon/TComDataCU.cpp,
25280 source/Lib/TLibCommon/TComDataCU.h:
25281 tcomdatacu: remove unused set functions
25284 2013-11-06 Steve Borho <steve@borho.org>
25286 * source/encoder/motion.cpp, source/encoder/motion.h:
25287 motion: simplify subpel refine, drop height+1 interpolation
25289 This is in preparation of enabling assembly versions of
25290 interpolation functions
25293 2013-11-05 Steve Borho <steve@borho.org>
25295 * source/encoder/motion.cpp:
25296 motion: simplify lowres subpel refine
25299 2013-11-06 Steve Borho <steve@borho.org>
25301 * source/encoder/slicetype.cpp:
25302 slicetype: move lastNonB set outside if expression for both I and P
25306 2013-11-05 Steve Borho <steve@borho.org>
25308 * source/encoder/motion.cpp:
25309 motion: move StarPatternSearch higher in the file, no behavior
25313 2013-11-06 Steve Borho <steve@borho.org>
25315 * source/CMakeLists.txt:
25316 cmake: link platform libraries into the shared library (fixes PPA
25320 2013-11-05 Steve Borho <steve@borho.org>
25322 * source/cmake/CMakeDetermineASM_YASMCompiler.cmake:
25323 cmake: use detected yasm executable for CMAKE_ASM_YASM_COMPILER
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,
25350 rext: partial support for 4:2:2 and 4:4:4 color spaces
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.
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
25364 Removes param.internalBitDepth and uses inputBitDepth to mean both
25365 the size of input pixels and internal pixels (x265 will do no color
25369 * source/common/dct.cpp, source/common/ipfilter.cpp:
25370 main10: fix dct and MC primitives to correctly respect larger pixel
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
25409 * source/encoder/slicetype.cpp:
25410 slicetype: better fix for --b-adapt 0
25412 Don't allow an IDR to be re-ordered
25416 cli: re-introduce x265_setup_primitives() call prior to
25419 This way --cpuid N is properly respected. This orders the output of
25420 the log messages, but the total number is the same.
25423 * source/encoder/encoder.cpp:
25427 * source/encoder/encoder.cpp:
25428 log: cleanup Encoder::printSummary()
25431 * source/encoder/slicetype.cpp:
25432 slicetype: do not force P before I with --b-adapt 0
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
25439 * source/common/primitives.cpp:
25440 log: only log primitve status if some primitives are missing
25442 Don't waste a line of log output to report everything is normal
25445 2013-11-05 Aarthi Thirumalai <aarthi@multicorewareinc.com>
25447 * source/common/common.cpp, source/x265.cpp, source/x265.h:
25448 cli: add option to turn on AQ
25451 2013-11-05 Steve Borho <steve@borho.org>
25453 * source/encoder/encoder.cpp:
25454 log: white-space nit
25457 2013-10-30 Kurtnoise <kurtnoise@free.fr>
25460 Display also version info during encoding instead of primitives
25464 2013-11-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
25466 * source/Lib/TLibEncoder/TEncCu.cpp:
25467 tenccu: remove calling outTempCU->initEstData() multiple time
25468 without modifying outTempCU
25471 * source/Lib/TLibCommon/TComDataCU.cpp:
25472 tcomdatacu: Remove memset from create(), these variables are
25473 initialized in initCU()
25476 * source/Lib/TLibCommon/TComDataCU.cpp,
25477 source/Lib/TLibCommon/TComDataCU.h:
25478 tcomdatacu: remove unused copySubCU() function
25481 * source/Lib/TLibCommon/TComDataCU.cpp,
25482 source/Lib/TLibCommon/TComDataCU.h:
25483 tcomdatacu: remove unused copyInterPredInfoFrom() function
25486 * source/Lib/TLibCommon/TComDataCU.cpp,
25487 source/Lib/TLibCommon/TComDataCU.h:
25488 tcomdatacu: remove unused setOutsideCUPart() function
25491 2013-11-05 Praveen Tiwari <Praveen Tiwari>
25493 * source/common/x86/pixel.h:
25494 changed the naming convention for blockcopy_sp
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
25503 2013-11-02 Neil Piken <neilpiken@gmail.com>
25505 * build/README.txt:
25506 cmake: document minimum cmake required version for VC12
25509 2013-11-05 Steve Borho <steve@borho.org>
25516 cli: use 64bit byte counter (closes #1)
25517 [3c15a9f74091] <stable>
25519 2013-11-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
25521 * source/input/y4m.cpp, source/input/yuv.cpp:
25522 input:reset the file pointer before return in guessFrameCount()
25525 * source/Lib/TLibEncoder/TEncCu.cpp:
25526 tenccu:remove calling outTempCU->initEstData() multiple time without
25527 changing outTempCU from xCompressIntraCU
25530 2013-11-05 Nabajit Deka <Nabajit Deka>
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.
25537 * source/common/x86/ipfilter8.asm:
25538 asm: routines for luma vps filter functions for all block sizes.
25541 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
25542 Adding test bench code for luma vps filter functions.
25545 * source/common/ipfilter.cpp:
25546 Adding C primitive for luma vps filter functions.
25549 * source/common/primitives.h:
25550 Adding function pointer type & array definition for luma vps filter
25554 2013-11-05 Steve Borho <steve@borho.org>
25556 * source/encoder/encoder.cpp, source/encoder/encoder.h, source/x265.h:
25557 api: use uint64_t to accumulate bits
25560 2013-11-05 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
25571 2013-11-04 Steve Borho <steve@borho.org>
25573 * source/encoder/slicetype.cpp:
25574 slicetype: make b-adapt 0 set lastNonB, leadingBframes, and
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
25584 * source/input/y4m.cpp:
25585 y4m: fix two more while loops
25588 * source/input/y4m.cpp:
25589 y4m: fix eof detection during header parsing
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
25597 * source/test/pixelharness.cpp:
25598 pixelharness: shorten copy primitive names for consistency
25601 2013-11-04 Praveen Tiwari <Praveen Tiwari>
25603 * source/test/pixelharness.cpp:
25604 corrected buffer name for chroma_copy_pp
25607 * source/common/x86/pixel.h:
25608 pixel.h, added asm function decleration for blockcopy_ps_c
25611 * source/common/pixel.cpp:
25612 pixel.cpp, initialization of function pointer table for
25613 blockcopy_ps_c partitions
25616 * source/common/pixel.cpp, source/common/primitives.h:
25617 added C primitive for blockcopy_p_s and function pointer creation
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
25628 2013-11-04 Min Chen <chenm003@163.com>
25630 * source/common/x86/ipfilter8.asm, source/test/ipfilterharness.cpp:
25631 fix bug in chroma_p2s and testbench
25634 * source/test/ipfilterharness.cpp:
25635 update authors header
25638 2013-11-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
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.
25646 default value of parameter is true, that means RDOQ is not disabled.
25647 Outputs mustnot change in any rd levels.
25650 2013-11-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
25659 2013-11-04 Steve Borho <steve@borho.org>
25661 * source/common/x86/asm-primitives.cpp:
25662 asm: re-enable sad_x3 following alignment workaround
25665 2013-11-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
25667 * source/common/lowres.h, source/encoder/encoder.cpp,
25668 source/encoder/ratecontrol.cpp:
25669 Generating sum & ssd values for weightp decision in lookahead
25672 2013-11-02 Wenju He <wenju@multicorewareinc.com>
25674 * source/encoder/motion.cpp:
25675 fix vec/asm crash in COST_MV_X3_DIR: costs+3 is not aligned
25678 2013-10-30 idxa <idxa@sina.com>
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
25685 1. add a parameter of "--crf" to the command line
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.
25693 3. add crf method into x265
25696 2013-11-01 Steve Borho <steve@borho.org>
25698 * source/common/CMakeLists.txt:
25699 cmake: cleanup intrinc primitives
25702 * source/common/CMakeLists.txt:
25703 cmake: more asm simplifications
25706 * source/encoder/ratecontrol.cpp:
25707 rc: replace tabs with spaces
25710 * source/CMakeLists.txt:
25711 cmake: drop STLport support, it is no longer necessary
25714 2013-10-27 Neil Piken <neilpiken@gmail.com>
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-
25719 cmake: add Visual Studio 2013 build folder
25722 2013-11-01 Steve Borho <steve@borho.org>
25724 * source/common/CMakeLists.txt:
25725 cmake: remove obsolete build flags
25728 2013-10-31 Steve Borho <steve@borho.org>
25730 * source/CMakeLists.txt, source/common/CMakeLists.txt:
25731 cmake: remove assembly library to fix MSVC static lib
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
25740 * source/cmake/CMakeDetermineASM_YASMCompiler.cmake:
25741 cmake: fix warning about ASM_YASM compiler being unknown
25745 cli: tweaks for command line help
25748 * source/common/common.cpp:
25749 common: fix int typecast to operate on results of float expression
25752 * source/common/common.cpp, source/common/primitives.cpp,
25753 source/common/vec/vec-primitives.cpp, source/x265.h:
25758 api: give structs the same name as their typedef
25760 This allows them to be forward-decl'd.
25761 [30a0c2c5fcbd] <stable>
25763 * source/common/cpu.cpp, source/common/vec/vec-primitives.cpp:
25764 cpu: move ASM fallback functions out of vec-primitives.cpp
25766 This fixes link errors when ASM and vector primitives are both
25768 [e1dde58cf6e1] <stable>
25770 * source/common/common.cpp:
25771 common: disable MSVC warning that is exposed when compiling without
25773 [01e77fde7194] <stable>
25775 * source/common/primitives.cpp:
25776 primitives: fix compile warning exposed when ASM and instrincs are
25778 [ad6d6ddd7037] <stable>
25780 * source/common/common.cpp, source/x265.h:
25781 api: add zero-latency tune target
25783 This just disables lookahead and B frames at the moment.
25786 * source/common/x86/asm-primitives.cpp:
25787 asm: disable more sad_x3 functions which cause crashes on Haswell
25790 * source/common/x86/asm-primitives.cpp:
25791 asm: disable sad_x3[LUMA_32xN], they cause crashes on Haswell
25793 Seen crashes on Windows, Mac, and Linux. The only constant is
25797 * source/common/common.cpp:
25798 common: lower search range for higher presets with max CTU size 32
25801 2013-10-30 Steve Borho <steve@borho.org>
25803 * source/CMakeLists.txt, source/common/common.cpp, source/x265.cpp,
25804 source/x265.def.in, source/x265.h:
25805 api: introduce performance presets
25808 2013-10-31 Steve Borho <steve@borho.org>
25810 * source/common/x86/asm-primitives.cpp:
25811 disable two avx2 routines which fail unit tests
25814 * source/common/vec/pixel-sse41.cpp:
25815 clang: re-disable 12x16, sse_pp_12x16 testbench fails
25818 2013-10-31 Min Chen <chenm003@163.com>
25820 * source/common/x86/ipfilter8.asm:
25821 asm: fix typo bug in chroma_p2s
25824 2013-10-31 Nabajit Deka <Nabajit Deka>
25826 * source/common/x86/asm-primitives.cpp,
25827 source/common/x86/ipfilter8.asm:
25828 asm: routines for vertical luma filter for all block sizes
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.
25836 2013-10-31 Steve Borho <steve@borho.org>
25838 * source/common/vec/pixel-sse41.cpp:
25839 remove clang prevention for 12x16 pixel primitives
25842 * source/common/vec/pixel-sse41.cpp:
25843 pixel: remove sad_x3_12 and sad_x4_16 intrinsic functions
25846 * source/encoder/ratecontrol.cpp:
25847 aq: remove unnecessary double->float->double conversions
25850 * source/encoder/ratecontrol.cpp:
25851 aq: fixes for loop over 16x16 blocks
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.
25860 The pixel extension needs to be moved earlier so AQ and the
25861 lookahead have a consistent 16x16 CU width
25864 * source/encoder/ratecontrol.cpp:
25865 aq: simplify acEnergyCu
25867 EMMS was in the wrong place, there were a few white-space issues.
25870 * source/encoder/ratecontrol.cpp:
25871 aq: use more explicit chroma variance stride
25874 * source/encoder/slicetype.cpp:
25875 aq: fix NULL pointer check
25878 2013-10-31 Aarthi Thirumalai <Aarthi Thirumalai>
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
25885 enabled bUseDQP flag when AQ is mode is ON.
25888 2013-10-31 Deepthi Nandakumar <deepthi@multicorewareinc.com>
25890 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
25891 source/encoder/compress.cpp:
25892 compress: cleanup, remove unused data structs
25895 2013-10-31 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
25897 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/compress.cpp:
25898 no-rdo: Use entropy encoder for bit estimation.
25900 Instead of me-bit estimation, use entropy encoder.
25903 2013-10-31 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25905 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25906 assembly code for pixel_sad_x4_12x16
25909 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25910 assembly code for pixel_sad_x3_12x16
25913 2013-10-31 Min Chen <chenm003@163.com>
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
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
25928 * source/common/x86/ipfilter8.asm:
25929 asm: less code size by reduce constant offset
25932 * source/common/x86/sad-a.asm:
25933 asm: fix stack broken bug
25936 2013-10-31 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
25938 * source/common/x86/sad-a.asm:
25939 asm: reduce large code size in sad_16xN, sad_32xN for better cache
25943 * source/common/x86/sad-a.asm:
25944 asm: reduce large code size in pixel_sad_8x32 for better cache
25948 2013-10-31 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25950 * source/common/x86/sad-a.asm:
25951 asm: fix the bug which occured at win32 compile
25954 2013-10-31 Steve Borho <steve@borho.org>
25956 * source/test/testpool.cpp:
25957 testpool: add missing stdio.h for printf
25960 2013-10-30 Steve Borho <steve@borho.org>
25962 * source/common/vec/ipfilter-sse41.cpp:
25963 ipfilter: fix 16bpp build following f0eea23735a6
25966 * source/encoder/framefilter.cpp:
25967 fix shadowed variable warning
25970 2013-10-30 Praveen Tiwari <Praveen Tiwari>
25972 * source/common/pixel.cpp:
25973 added blockcopy_pp_c primitive according to modified argument list
25976 * source/common/primitives.h, source/test/pixelharness.cpp,
25977 source/test/pixelharness.h:
25978 added test code for blockcopy_pp function
25981 2013-10-30 Steve Borho <steve@borho.org>
25983 * source/common/vec/pixel-sse41.cpp:
25984 pixel: remove sad_12, sad_48, and sad_64
25986 All single sads have asm coverage
25989 * source/common/vec/pixel-sse41.cpp:
25990 pixel: remove 24 and 32 width sad intrinsic functions
25992 These are now covered by assembly. Only 12, 48, and 64 remain
25993 because they still lack x3 and x4 versions.
25996 2013-10-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
25998 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
25999 assembly code for pixel_sad_x4_32xN
26002 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26003 assembly code for pixel_sad_x3_32xN
26006 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26007 assembly code for pixel_sad_x4_24x32
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
26015 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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
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
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
26032 2013-10-30 Min Chen <chenm003@163.com>
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
26042 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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
26048 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26049 asm: assembly code for pixel_sad_64x32
26052 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26053 asm: assembly code for pixel_sad_64x16
26056 * source/common/x86/sad-a.asm:
26057 asm: modified common macro for pixel_sad_64xN
26060 2013-10-30 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
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.
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.
26071 2013-10-30 Praveen Tiwari <Praveen Tiwari>
26073 * source/common/x86/asm-primitives.cpp,
26074 source/common/x86/ipfilter8.asm:
26075 chroma interp_4tap_vert_pp all blocks asm code
26078 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26080 * source/common/x86/pixel.h:
26081 asm: declare asm function pointers for sad_64xN partitions
26084 2013-10-30 Steve Borho <steve@borho.org>
26086 * source/common/vec/pixel-sse41.cpp:
26087 pixel: remove sad_x3_4x16 and sad_x4_4x16, no longer HAVE_MMX
26090 2013-10-30 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
26096 2013-10-30 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
26103 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
26104 source/encoder/frameencoder.h:
26105 writing hash SEI messages in frameencoder
26108 2013-10-30 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26110 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26111 asm: assembly code for pixel_sad_16x12
26114 2013-10-30 Steve Borho <steve@borho.org>
26116 * source/common/vec/pixel-sse41.cpp:
26117 pixel: remove sad_8, sad_x3_8, sad_x4_8 intrinsic functions
26120 2013-10-30 Min Chen <chenm003@163.com>
26122 * source/test/ipfilterharness.cpp:
26123 testbench: upgrade for check_IPFilter_primitive, don't pass wrong
26124 (width, height, stride) to asm
26127 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26129 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26130 asm: assembly code for pixel_sad_8x32
26133 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26134 asm: assembly code for pixel_sad_32x64
26137 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26138 asm: assembly code for pixel_sad_32x16
26141 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26142 asm: assembly code for pixel_sad_32x32
26145 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26146 asm: assembly code for pixel_sad_32x24
26149 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26150 asm: assembly code for pixel_sad_32x8
26153 * source/common/x86/sad-a.asm:
26154 asm: created comman asm macro for pixel_sad_32xN functions
26157 2013-10-29 Steve Borho <steve@borho.org>
26159 * source/common/vec/pixel-sse41.cpp:
26160 pixel: remove sad_16, sad_x3_16 and sad_x4_16
26162 We have assembly coverage for everything but sad_16x12; which I've
26163 put on the top of our TODO list.
26166 2013-10-29 Murugan Vairavel <murugan@multicorewareinc.com>
26168 * source/common/ipfilter.cpp, source/encoder/motion.cpp,
26169 source/test/intrapredharness.cpp:
26170 refactor: Check need for signed/unsigned int16_t
26173 2013-10-29 Steve Borho <steve@borho.org>
26178 2013-10-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
26180 * source/Lib/TLibCommon/TComDataCU.cpp:
26181 TComDataCU: Remove initializations in initCU() already initialized
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
26190 2013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26192 * source/Lib/TLibCommon/TComMotionInfo.cpp:
26193 cleanups: Remove unnecessary reset.
26195 If refIdx is set to NOT_VALID, mv will not be used. Hence resetting
26196 MVs to 0 can be safely removed.
26199 * source/Lib/TLibEncoder/TEncSearch.cpp:
26200 Cleanups: Remove call to setALLMVField, and set only required
26204 * source/Lib/TLibCommon/TComMotionInfo.h:
26205 Cleanups: MVField - make members public.
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
26212 2013-10-29 Sumalatha Polureddy <Sumalatha Polureddy>
26214 * source/Lib/TLibCommon/TComDataCU.cpp,
26215 source/Lib/TLibCommon/TComDataCU.h, source/encoder/compress.cpp:
26216 no_rdo: implementation of new early exit
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%
26225 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26227 * source/common/x86/pixel.h:
26228 asm: declare asm function pointers for sad_32xN partitions
26231 2013-10-29 Min Chen <chenm003@163.com>
26233 * source/common/x86/ipfilter8.asm:
26234 asm: improvement on chroma_hpp{2,4} by reduce memory operator
26237 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26239 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26240 asm: assembly code for pixel_sad_16x4
26243 2013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26245 * source/encoder/compress.cpp:
26246 no-rdo: add no-residue candidate in merge2Nx2N
26249 2013-10-29 Steve Borho <steve@borho.org>
26251 * source/common/common.cpp, source/common/primitives.h,
26252 source/encoder/ratecontrol.cpp:
26257 Added tag 0.5 for changeset 69acb3cb777f
26258 [9eef2952ea16] <stable>
26260 2013-10-28 idxa <idxa>
26262 * source/common/common.cpp, source/encoder/ratecontrol.cpp:
26263 rc: improvements for ABR
26265 1. modify rateTolerance from 0.1 to 1.0, in order to allow the final
26266 bitrate to fluctuate more(CBR to ABR)
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
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>
26277 2013-10-25 Steve Borho <steve@borho.org>
26279 * source/encoder/encoder.cpp:
26280 encoder: prevent divide by zero in elapsedVideoTime calculation
26281 [6528ab023062] <stable>
26283 2013-10-29 Steve Borho <steve@borho.org>
26285 * source/common/primitives.h:
26286 primitives: fix ordering of LUMA_4x16 LUMA_16x4 to match other AMP
26289 This also fixes the testbench to properly represent 16x4 and 4x16
26290 partition primitives
26291 [9713ec98fa8a] <stable>
26293 2013-10-29 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26295 * source/encoder/compress.cpp:
26296 no-rdo: add no-residue candidate in merge2Nx2N
26299 2013-10-29 Murugan Vairavel <murugan@multicorewareinc.com>
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
26307 2013-10-29 Steve Borho <steve@borho.org>
26309 * source/common/primitives.h:
26310 primitives: fix ordering of LUMA_4x16 LUMA_16x4 to match other AMP
26313 This also fixes the testbench to properly represent 16x4 and 4x16
26314 partition primitives
26317 2013-10-29 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
26319 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26320 asm: assembly code for pixel_sad_16x64
26323 * source/common/x86/asm-primitives.cpp, source/common/x86/sad-a.asm:
26324 asm: assembly code for pixel_sad_16x32
26327 2013-10-29 Steve Borho <steve@borho.org>
26329 * source/common/vec/vec-primitives.cpp:
26330 vec: fix VC9 build with ASM disabled but intrinsics enabled
26333 * source/common/threadpool.cpp, source/input/y4m.cpp,
26334 source/input/yuv.cpp:
26335 use correct _WIN32 build guard
26338 2013-10-29 Min Chen <chenm003@163.com>
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]
26346 2013-10-28 Min Chen <chenm003@163.com>
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
26355 * source/encoder/motion.cpp:
26356 disable interpolate horizontal merge
26358 we need width is multiple of 4 in asm code, the maskmovq is very
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
26369 2013-10-28 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
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
26375 2013-10-28 Aarthi Thirumalai <Aarthi Thirumalai>
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.
26384 2013-10-28 Kavitha Sampath <kavitha@multicorewareinc.com>
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
26394 2013-10-28 murugan <murugan@multicorewareinc.com Murugan Vairavel>
26396 * source/output/y4m.cpp, source/output/yuv.cpp:
26397 refactor: use unsigned int16 types where applicable
26400 2013-10-28 Kavitha Sampath <kavitha@multicorewareinc.com>
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
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
26492 2013-10-28 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
26502 2013-10-28 Steve Borho <steve@borho.org>
26504 * source/input/input.cpp, source/input/input.h, source/x265.cpp:
26505 cli: add --y4m option to force Y4M stream parser
26508 2013-10-28 Gopu Govindaswamy <gopu@multicorewareinc.com>
26510 * source/input/y4m.cpp, source/input/y4m.h:
26511 input: read y4m input from stdin if filename is passed as "-"
26514 * source/input/y4m.cpp:
26515 y4m : bug fix for calculating framesize in skipFrames()
26518 2013-10-28 Steve Borho <steve@borho.org>
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
26527 2013-10-27 Steve Borho <steve@borho.org>
26529 * source/common/primitives.cpp, source/common/primitives.h:
26530 primitives: micro optimizations of PartitionFromSizes()
26533 * change lookup table to uint8_t
26534 * make function inlined
26537 2013-10-27 Wenju He <wenju@multicorewareinc.com>
26539 * source/Lib/TLibEncoder/TEncSearch.cpp:
26540 need not compute chroma in xGetInterPredictionError
26543 * source/Lib/TLibEncoder/TEncSearch.cpp:
26544 fix variable name, msg to mrg
26547 2013-10-25 Steve Borho <steve@borho.org>
26549 * source/input/y4m.cpp, source/input/yuv.cpp:
26550 input: do not check for inactive read thread until read queue is
26554 * source/input/yuv.cpp:
26555 yuv: set binary mode on stdin on Windows
26558 * source/input/y4m.cpp, source/input/yuv.cpp:
26559 input: do not use ifstream.good(), use ifstream.ignore() for
26564 cli: improve handling of encoder start failures; no pictures encoded
26567 * source/encoder/encoder.cpp:
26568 encoder: prevent divide by zero in elapsedVideoTime calculation
26571 * source/input/y4m.cpp, source/input/yuv.cpp:
26572 input: prevent more deadlocks on file read errors
26575 * source/input/yuv.cpp:
26576 yuv: fix --skip behavior for stdin
26579 * source/cmake/version.cmake:
26580 cmake: improve .hg_archive parsing
26582 Patch submitted by HaaeeD via pull request
26588 * Merge with stable
26592 cli: improve handling of unknown input frame count
26593 [0c8e2580b410] <stable>
26595 * source/encoder/encoder.cpp:
26596 encoder: calculate encoded video time in floating point
26597 [9c26397ec80c] <stable>
26599 * source/common/ipfilter.cpp:
26600 Merged in mcwmurugan/x265 (pull request #5)
26602 CleanUps: Replacing Short with int16_t
26605 2013-10-25 Murugan <murugan@multicorewareinc.com>
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
26635 2013-10-25 Steve Borho <steve@borho.org>
26637 * source/Lib/TLibCommon/TComPicYuv.cpp,
26638 source/encoder/ratecontrol.cpp:
26642 * source/input/yuv.cpp:
26643 yuv: do not attempt to measure size of stdin
26646 * source/Lib/TLibCommon/TComPicYuv.cpp:
26647 TComPicYuv: increase vertical padding to account for
26648 TComDataCU::clipMv() logic
26650 mvmin is clamped to -(g_maxCUHeight + offset + m_cuPelY) where
26652 [9a7c5831ebf8] <stable>
26654 2013-10-25 Aarthi Thirumalai <aarthi@multicorewareinc.com>
26656 * source/encoder/ratecontrol.cpp:
26657 rc: Bug fix. use the slice type from the right context in
26659 [782e2d041d3f] <stable>
26661 2013-10-25 Steve Borho <steve@borho.org>
26663 * source/input/yuv.cpp:
26667 * source/input/yuv.cpp:
26668 yuv: zero ifs pointer if deleted
26671 2013-10-25 Nabajit Deka <Nabajit Deka>
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.
26678 2013-10-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
26680 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
26681 tenccu : remove unused functions
26684 * source/Lib/TLibCommon/NAL.h:
26685 nal: remove unused helper functions
26688 * source/input/y4m.cpp, source/input/yuv.cpp:
26689 input: initialize the input buffer (buf) pointer
26690 [ba7d3d79c5a3] <stable>
26692 * source/input/yuv.cpp, source/input/yuv.h:
26693 input: read yuv input from stdin if filename is passed as "-"
26696 2013-10-25 Nabajit Deka <Nabajit Deka>
26698 * source/common/primitives.h, source/test/ipfilterharness.cpp:
26699 Test bench code for vertical luma filter.
26702 2013-10-25 Steve Borho <steve@borho.org>
26704 * source/test/pixelharness.cpp:
26705 testbench: differentiate the two weight functions
26708 2013-10-25 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
26710 * source/common/vec/pixel-sse41.cpp:
26711 pixel: modified weightUnidirPixel to match the changes done in c
26715 2013-10-25 Steve Borho <steve@borho.org>
26717 * source/encoder/reference.cpp:
26718 reference: initialize weight buffer pointer
26721 2013-10-25 Min Chen <chenm003@163.com>
26723 * source/common/x86/ipfilter8.asm:
26724 more general on ipfilter macro FILTER_H8_W8
26727 2013-10-25 Steve Borho <steve@borho.org>
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
26736 * Merge with stable
26739 * source/CMakeLists.txt:
26740 cmake: add compat/msvc to include path if using our getopt.h
26741 [7cc9e1566162] <stable>
26743 * source/input/y4m.cpp, source/input/yuv.cpp, source/x265.cpp:
26744 input: improve handling of frame count estimation failures
26745 [88f69939bc17] <stable>
26747 2013-10-24 Steve Borho <steve@borho.org>
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
26753 [6e4ef45441b7] <stable>
26755 * source/encoder/encoder.cpp:
26756 encoder: fix per-frame logging without CSV file
26757 [260bff6100f2] <stable>
26759 * source/input/y4m.cpp:
26760 y4m: directly use member variables while parsing header
26761 [0174ac7bc2b1] <stable>
26763 * source/output/yuv.cpp:
26764 yuv: fix VC9 compile warning - possible loss of precision
26765 [34c9951b15fa] <stable>
26767 * source/common/common.cpp:
26771 * source/CMakeLists.txt:
26772 cmake: use system native stdint.h and getopt if they are found
26773 [1ab80557656a] <stable>
26775 * source/common/vec/pixel-sse41.cpp:
26776 pixel: sse_sp[LUMA_12x16] fails tests on clang, disable it
26777 [17195e65e91b] <stable>
26779 * source/input/y4m.cpp, source/input/yuv.cpp:
26780 input: add missing carriage returns from error log messages
26781 [63ca0173f8cb] <stable>
26783 * source/input/y4m.cpp:
26784 y4m: disable file reader thread on frame header errors
26786 Prevents deadlocks from malformed Y4M files
26787 [776c2ec26a5f] <stable>
26789 * source/common/common.cpp:
26790 common: hoist x265_mdate above using namespace x265
26792 I do not understand why, but this fixes cli linkage on Mac
26793 [4ac43db2d640] <stable>
26795 * source/encoder/reference.cpp, source/encoder/reference.h:
26796 reference: more robust initialization, remove m_startPad member
26799 m_startPad was only used in the init() function so it could be an
26803 * source/Lib/TLibCommon/TComPicYuv.cpp, source/encoder/reference.cpp:
26807 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp:
26808 weightp: use source reference frames for weight analysis
26810 This fixes weightp when used in combination with frame parallelism,
26811 where the reference's reconstructed picture is most likely not yet
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
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
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
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>
26835 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp:
26836 TComPicYuv: fix padding of picture buffers
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>
26843 * source/Lib/TLibCommon/TComPicYuv.cpp:
26844 TComPicYuv: remove unused include
26845 [a54a9fa53063] <stable>
26847 * source/Lib/TLibCommon/TComSlice.cpp,
26848 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp,
26849 source/encoder/slicetype.cpp:
26853 2013-10-24 Min Chen <chenm003@163.com>
26855 * source/Lib/TLibCommon/TComTrQuant.cpp,
26856 source/Lib/TLibCommon/TComTrQuant.h:
26857 improvement xGetRateLast by remove reduce double operator
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
26866 * source/Lib/TLibCommon/TComTrQuant.cpp,
26867 source/Lib/TLibCommon/TComTrQuant.h,
26868 source/Lib/TLibEncoder/TEncSbac.cpp:
26869 improvement TComTrQuant::calcPatternSigCtx
26871 1. replace width/height by size, since there are only NxN 2. use
26872 mask operatior to avoid condition and branch
26875 * source/Lib/TLibCommon/TComTrQuant.cpp:
26876 improvement TComTrQuant::getSigCtxInc by lookup table for 'cnt'
26879 2013-10-24 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
26881 * source/encoder/slicetype.cpp:
26882 lookahead: fix reference initialization for intra prediction
26884 buffer size of pAbove/pLeft is height+1+width = 2*cusize+1
26885 [1aaa596bb20b] <stable>
26887 2013-10-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
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>
26894 * source/output/y4m.cpp, source/output/yuv.cpp:
26895 output: use 64bit file offsets to prevent overflow with 4k video
26896 [f94f18950283] <stable>
26898 2013-10-24 Steve Borho <steve@borho.org>
26900 * source/encoder/encoder.cpp:
26901 encoder: fix bitrate statistic (accBits is a bit count, not byte
26903 [98bf7e4154f5] <stable>
26905 2013-10-24 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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,
26911 Displaying the number of weighted P frames used in console log
26912 [e8992549a970] <stable>
26914 2013-10-24 Min Chen <chenm003@163.com>
26916 * source/Lib/TLibEncoder/TEncSbac.h:
26920 2013-10-24 Steve Borho <steve@borho.org>
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
26928 2013-10-23 Steve Borho <steve@borho.org>
26930 * source/Lib/TLibCommon/TComSlice.cpp,
26931 source/Lib/TLibCommon/TComSlice.h:
26932 TComSlice: remove unused copySliceInfo
26935 * source/Lib/TLibCommon/TComSlice.cpp,
26936 source/Lib/TLibCommon/TComSlice.h:
26937 TComSlice: remove unused m_bEqualRef and helper functions
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
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
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.
26966 2013-10-24 Steve Borho <steve@borho.org>
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:
26974 2013-10-23 Steve Borho <steve@borho.org>
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
26988 x265_t was changed to x265_encoder, since x265 is too short and
26989 would collide with our namespace.
26990 [b07c29e930fe] <stable>
26993 api: white-space cleanups in x265.h
26994 [7beeab25a8fb] <stable>
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
27002 * move all CSV logging into the encoder so API users can take
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>
27010 2013-10-23 Kavitha Sampath <kavitha@multicorewareinc.com>
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>
27020 2013-10-22 Steve Borho <steve@borho.org>
27022 * source/CMakeLists.txt, source/x265.pc.in:
27023 cmake: generate and install pkgconfig file
27025 This installs the x265.pc into /usr/local/lib/pkgconfig/ with these
27028 prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib
27029 includedir=${prefix}/include
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}
27035 The pkg-config file is only generated and installed if CMake finds
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>
27043 2013-10-23 Min Chen <chenm003@163.com>
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
27057 * source/Lib/TLibCommon/ContextModel.cpp,
27058 source/Lib/TLibCommon/ContextModel.h:
27059 cabac: move static table to global space
27062 * source/Lib/TLibCommon/ContextModel.h,
27063 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
27064 cabac: imprvement by merge context status update path
27067 2013-10-23 Steve Borho <steve@borho.org>
27069 * source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt,
27070 source/encoder/slicetype.cpp:
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
27080 2013-10-23 Aarthi Thirumalai <Aarthi Thirumalai>
27082 * source/encoder/slicetype.cpp:
27083 slicetype: bug fix for estimated frame costs
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>
27089 2013-10-23 Steve Borho <steve@borho.org>
27091 * source/common/vec/intra-ssse3.cpp:
27092 intra: move 8x8 and 16x16 into their final order
27094 None of the 8bpp intra primitives use vector clases any more.
27095 blockcopy-avx2 is the last 8bpp vector primitive.
27098 * source/common/vec/intra-ssse3.cpp:
27099 intra: remove unused macros
27102 2013-10-23 Min Chen <chenm003@163.com>
27104 * source/common/vec/intra-ssse3.cpp:
27105 Fix memory write beyond bound bug in intraPredAng8x8()
27108 2013-10-23 Jan Ekström <jeebjp@gmail.com>
27110 * source/Lib/TLibCommon/TComRom.h, source/common/CMakeLists.txt:
27111 Fix compilation with Visual Studio 2013
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.
27117 Unfortunately cmake does not seem to contain a GREATER_OR_EQUAL
27118 macro, so NOT(LESS) has to be used.
27119 [4922bf148182] <stable>
27121 2013-10-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27123 * source/common/vec/intra-ssse3.cpp:
27124 intra: converted intraPredAng16x16 vector class functin to intrinsic
27127 2013-10-23 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27129 * source/common/vec/intra-ssse3.cpp:
27130 intra-ssse3: intra angular 8x8 vector to intrinsic
27133 2013-10-23 Steve Borho <steve@borho.org>
27135 * source/common/vec/pixel-avx2.cpp:
27136 pixel: remove vector class include from pixel-avx2.cpp
27139 2013-10-23 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27141 * source/common/vec/pixel-avx2.cpp:
27142 pixel: converted sad_avx2_x4_64 vector class to intrinsic
27145 * source/common/vec/pixel-avx2.cpp:
27146 pixel: converted sad_avx2_x4_32 vector class to intrinsic
27149 2013-10-22 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27151 * source/encoder/slicetype.cpp:
27152 slicetype: calculate weighted frame costs for Aq
27155 2013-10-22 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27157 * source/common/vec/pixel-avx2.cpp:
27158 pixel: converted some sad_avx2 vector class functions to intrinsic
27161 2013-10-22 Steve Borho <steve@borho.org>
27163 * source/common/CMakeLists.txt, source/common/vec/intra-sse3.cpp,
27164 source/common/vec/intra-ssse3.cpp, source/common/vec/vec-
27166 intra: rename intra-sse3.cpp to intra-ssse3.cpp
27169 * source/common/vec/intra-sse3.cpp:
27170 intra: move 32x32 angular prediction function into non-vector
27174 2013-10-22 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27176 * source/common/vec/intra-sse3.cpp:
27177 intra-sse3.cpp: replace intraPredAng32x32 vector class function with
27181 * source/common/vec/intra-sse3.cpp:
27182 intra-sse3.cpp: replace intraPredAng8x8 vector class function with
27186 2013-10-22 Steve Borho <steve@borho.org>
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:
27195 2013-10-22 Min Chen <chenm003@163.com>
27197 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
27198 cabac: improvement performance by use negative cabac counter
27199 [88b3831ab799] <stable>
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>
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>
27219 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp:
27220 cleanup: remove unused getNumberOfWrittenBits() from
27221 TEncBinCABAC::getNumWrittenBits()
27222 [af1695e1808c] <stable>
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>
27229 2013-10-22 Steve Borho <steve@borho.org>
27231 * source/encoder/ratecontrol.cpp:
27232 ratecontrol: consistent comment style
27233 [27265ca6dd90] <stable>
27235 2013-10-22 Gopu Govindaswamy <gopu@multicorewareinc.com>
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>
27243 2013-10-22 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
27245 * source/common/pixel.cpp:
27246 Eliminating decreament in pointer index in weightp primitives
27248 could have been a source of possible crash
27249 [49849de33234] <stable>
27251 2013-10-22 Steve Borho <steve@borho.org>
27253 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
27254 ratecontrol: use cfg->param.frameNumThreads directly; nit cleanups
27255 [cd65a3311df5] <stable>
27257 2013-10-22 Aarthi Thirumalai <Aarthi Thirumalai>
27259 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
27260 rc: Bug fixes for ABR.
27262 remove uninitialized local variables and use values from
27263 cfg.param.rc as required.
27264 [e2dc3ec294a8] <stable>
27266 2013-10-22 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27268 * source/Lib/TLibEncoder/TEncCu.cpp:
27272 2013-10-22 Aarthi Thirumalai <Aarthi Thirumalai>
27274 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
27275 rc: Bug fixes for ABR.
27277 remove uninitialized local variables and use values from
27278 cfg.param.rc as required.
27281 2013-10-21 Steve Borho <steve@borho.org>
27283 * source/common/common.cpp:
27287 * source/common/common.cpp:
27288 common: add --ref to the tool list so it is visible in the log
27289 [40eb6be35caa] <stable>
27291 * source/common/lowres.cpp:
27292 lowres: initialize satdCost to -1
27295 2013-10-21 Aarthi Thirumalai <aarthi@multicorewareinc.com>
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.
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
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
27313 2013-10-21 Steve Borho <steve@borho.org>
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>
27354 2013-10-21 Min Chen <chenm003@163.com>
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
27364 2013-10-21 Steve Borho <steve@borho.org>
27366 * source/encoder/compress.cpp:
27367 compress: remove a pile of unnecessary intra estimation code
27370 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
27371 compress: remove pointer reference from xComputeCostIntraInInter and
27375 * source/encoder/compress.cpp:
27376 compress: replace magic numbers with proper enums
27379 2013-10-21 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27381 * source/common/vec/intra-sse3.cpp:
27382 intra-sse3.cpp: replace predIntraAng8_32 vector class function with
27386 2013-10-21 Sumalatha Polureddy <Sumalatha Polureddy>
27388 * source/encoder/compress.cpp:
27389 no-rdo: compute Luma only in MC for cost estimation for mode
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
27397 2013-10-21 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
27399 * source/common/pixel.cpp, source/common/vec/pixel-sse41.cpp:
27400 Adapting weightp primitive for pixel input
27402 By simulating shift & round as in convertPixelToShort primitive. The
27403 SSE4.1 intrinsic primitives are disabled because they no longer
27407 2013-10-21 Steve Borho <steve@borho.org>
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
27414 2013-10-21 Praveen Tiwari <Praveen Tiwari>
27416 * source/common/ipfilter.cpp:
27417 added C code for chroma filter_vpp function
27420 * source/common/x86/ipfilter8.h:
27421 created function declerations for chroma_vpp
27424 * source/test/ipfilterharness.cpp:
27425 ipfilterharness.cpp, modified chroma filter_hpp unit test code to
27429 * source/test/ipfilterharness.cpp:
27430 ipfilterharness.cpp, added measure speed code for ipfilter_vpp
27434 * source/test/ipfilterharness.cpp:
27435 ipfilterharness.cpp, added test correctness code for ipfilter_vpp
27439 * source/common/primitives.h:
27440 added array of function pointers for chroma ipfilter_vpp function
27443 2013-10-21 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
27452 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp,
27453 source/encoder/framefilter.cpp:
27454 tenccfg : removed unused setpad() and getpad() methods
27457 2013-10-21 Steve Borho <steve@borho.org>
27460 cli: reintroduce -w short option for weightp
27463 2013-10-21 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27465 * source/encoder/slicetype.cpp:
27466 Lookahead: wavefront bugfix.
27468 conditionally assign estimated cost to avoid overwriting intra cost.
27471 2013-10-21 =?utf-8?b?UmFmYcOrbCBDYXJyw6kgPGZ1bm1hbkB2aWRlb2xhbi5vcmc+?= <=?utf-8?b?UmFmYcOrbCBDYXJyw6kgPGZ1bm1hbkB2aWRlb2xhbi5vcmc+?=>
27473 * source/encoder/ratecontrol.cpp:
27474 [x265] ratecontrol: initialize frameThreads Fix a floating point
27477 --- source/encoder/ratecontrol.cpp | 1 + 1 file changed, 1
27481 2013-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27483 * source/common/lowres.cpp:
27484 lowres: right and bottom margins are being extended twice?
27487 2013-10-21 Sumalatha Polureddy <Sumalatha Polureddy>
27489 * source/Lib/TLibCommon/TComPrediction.cpp,
27490 source/Lib/TLibCommon/TComWeightPrediction.cpp:
27491 bug fix for passing bLuma and bChroma as separate arguments
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())
27498 2013-10-21 Deepthi Nandakumar <deepthi@multicorewareinc.com>
27500 * source/common/vec/intra-sse3.cpp:
27501 intra-sse: Fix for HIGH_BIT_DEPTH build error
27504 2013-10-21 Min Chen <chenm003@163.com>
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
27514 2013-10-19 Min Chen <chenm003@163.com>
27516 * source/common/x86/ipfilter8.asm:
27517 remove reduce register copy in FILTER_H4_w2_2 and FILTER_H4_w4_2
27520 2013-10-20 Steve Borho <steve@borho.org>
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
27526 We don't have an intra-ssse3.cpp and it seems a waste to create one
27527 just for this one function.
27530 2013-10-18 Steve Borho <steve@borho.org>
27532 * source/common/wavefront.h, source/encoder/encoder.cpp,
27533 source/encoder/slicetype.cpp, source/encoder/slicetype.h:
27534 Lookahead: implement wavefront parallel processing
27537 2013-10-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
27539 * source/common/wavefront.cpp, source/common/wavefront.h:
27540 WaveFront: add new function to enable all rows
27543 2013-10-18 Steve Borho <steve@borho.org>
27545 * source/test/ipfilterharness.cpp:
27546 ipfilterharness: simplify filter names
27549 * source/Lib/TLibEncoder/TEncSearch.cpp:
27550 TEncSearch: add x265_emms() after use of pixelavg_pp and satd
27554 2013-10-18 Praveen Tiwari <Praveen Tiwari>
27556 * source/common/x86/asm-primitives.cpp,
27557 source/common/x86/ipfilter8.asm:
27558 asm code for luma filter functions
27561 * source/common/x86/asm-primitives.cpp,
27562 source/common/x86/ipfilter8.asm:
27563 added 24x32 partion size asm code to chroma function
27566 * source/common/x86/asm-primitives.cpp,
27567 source/test/ipfilterharness.cpp:
27568 asm: corrected luma enum variable, testbench fix
27571 * source/common/ipfilter.cpp:
27572 ipfilter.cpp, added code to support luma coefficients too
27575 2013-10-18 Steve Borho <steve@borho.org>
27577 * source/common/vec/intra-sse3.cpp:
27578 intra: isolate last remaining vector class functions (angular intra
27582 * source/common/vec/intra-sse3.cpp:
27583 intra: sane function names and typedefs
27586 * source/common/vec/intra-sse3.cpp:
27590 * source/common/vec/intra-sse3.cpp:
27591 intra: remove SSE3 planar intrinsic functions; they are redundant
27594 2013-10-18 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27596 * source/common/vec/intra-sse3.cpp:
27597 intra: replace predDCFiltering vector class function with intrinsic
27600 * source/common/vec/intra-sse3.cpp:
27601 intra: replace intra_pred_dc vector class function with intrinsic
27604 2013-10-18 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27606 * source/encoder/ratecontrol.cpp:
27607 rc : removed warning , moved strength to acEnergyCu
27610 2013-10-18 Steve Borho <steve@borho.org>
27612 * source/common/x86/asm-primitives.cpp:
27613 asm: disable remaining pixelavg primitives, they fail against our C
27617 * source/test/pixelharness.cpp:
27618 pixelharness: fix iteration through partition enums
27621 2013-10-18 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27623 * source/test/pixelharness.cpp, source/test/pixelharness.h:
27624 added pixelavg_pp function to testbench
27627 * source/common/vec/blockcopy-sse3.cpp:
27628 blockcopy-sse3.cpp: removed unnecessary variable.
27631 2013-10-18 Steve Borho <steve@borho.org>
27633 * source/common/CMakeLists.txt:
27634 cmake: msvc yasm dependency fix
27637 2013-10-18 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
27639 * source/test/pixelharness.cpp, source/test/pixelharness.h:
27640 added cvt32to16_shr_sse2 function to testbench.
27642 Speed up measured is almost 14x.
27645 * source/common/vec/blockcopy-sse3.cpp:
27646 blockcopy-sse3.cpp: removed warning: overflow in implicit constant
27650 * source/common/vec/intra-sse3.cpp:
27651 intra-sse3.cpp: replace xPredIntraAng4x4 vector class function with
27655 2013-10-18 Steve Borho <steve@borho.org>
27657 * source/common/vec/intra-sse3.cpp:
27658 intra: remove unused variable
27661 * source/common/x86/asm-primitives.cpp:
27662 asm: fix 32bit build following partition enum carnage
27665 2013-10-17 Min Chen <chenm003@163.com>
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
27673 2013-10-17 Steve Borho <steve@borho.org>
27675 * source/common/common.h:
27676 common: force float and double arguments to logf() and log(),
27679 Fixes warnings on some MSVC versions
27682 * source/common/vec/intra-sse3.cpp:
27683 intra: fix GCC warning about potentially uninitialized sum variable
27686 * source/common/vec/intra-sse3.cpp, source/test/intrapredharness.cpp:
27687 intra: segregate 8bpp from 16bpp functions, drop 16bpp angular, drop
27690 The HIGH_BIT_DEPTH angular function was just a copy of the C
27691 reference, we do not need 64x64 blocks any more
27694 * source/common/vec/intra-sse3.cpp:
27695 intra: remove unused argument to predDCFiltering(), remove static
27697 There's no need to declare the function static, it is within an
27698 anonymous namespace
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
27707 2013-10-17 Praveen Tiwari <Praveen Tiwari>
27709 * source/test/ipfilterharness.cpp:
27710 removed unnecessary calculation from chroma REPORT_SPEEDUP function
27713 * source/common/x86/asm-primitives.cpp, source/common/x86/ipfilter8.h:
27714 asm: fundef creation and function pointer table setup for luma asm
27718 * source/common/ipfilter.cpp:
27719 ipfilter: setup luma function pointers
27722 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
27723 unit test code for luma filter
27726 2013-10-17 Steve Borho <steve@borho.org>
27728 * source/common/primitives.h:
27729 primitives: define luma_hpp block interpolation function pointers
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
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
27750 2013-10-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27752 * source/common/vec/pixel16-sse41.cpp:
27753 pixel16: converted sad_4 from vector class to intrinsic
27756 2013-10-17 Aarthi Thirumalai <aarthi@multicorewareinc.com>
27758 * source/encoder/encoder.cpp, source/encoder/ratecontrol.cpp,
27759 source/encoder/ratecontrol.h:
27760 rc: implement Adaptive Quantization.
27762 added functions to compute AC Energy per CU for all planes,
27763 calculate qpAqOffset for each CU
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
27772 2013-10-17 Steve Borho <steve@borho.org>
27774 * source/common/CMakeLists.txt:
27775 cmake: fix assembly dependency path
27778 2013-10-17 Gopu Govindaswamy <gopu@multicorewareinc.com>
27780 * source/common/common.cpp, source/encoder/encoder.cpp,
27781 source/x265.cpp, source/x265.h:
27782 cli: rename bRDLevel to rdLevel
27785 * source/common/common.cpp, source/common/common.h:
27786 common : Added new function x265_param2string
27789 2013-10-17 Min Chen <chenm003@163.com>
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
27796 2013-10-17 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
27798 * source/common/vec/pixel-sse3.cpp:
27799 pixel: fix the hash mismatch due to convert32to16_shr
27802 2013-10-17 Min Chen <chenm003@163.com>
27804 * source/common/x86/pixel-a.asm:
27805 x265_pixel_ssd_4x4_ssse3 miss EMMS
27808 2013-10-17 Praveen Tiwari <Praveen Tiwari>
27810 * source/test/ipfilterharness.cpp:
27811 removed unnecessary calculation form rand_srcStride
27814 * source/test/ipfilterharness.cpp:
27815 added genration of random stride in chroma unit test code
27818 * source/common/x86/ipfilter8.asm:
27819 fixed output mismatch problem with chroma 2xN block
27822 2013-10-17 Steve Borho <steve@borho.org>
27824 * source/common/vec/intra-sse3.cpp:
27825 intra: remove dead tables, fix comment typos, and other white-space
27829 * source/encoder/slicetype.cpp:
27830 slicetype: fix pre-calculation of slice cost for ABR
27833 * source/common/vec/intra-sse3.cpp:
27834 intra: add parens to macros to fix auto-alignment
27837 2013-10-16 Steve Borho <steve@borho.org>
27839 * doc/uncrustify/codingstyle.cfg,
27840 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
27841 source/Lib/TLibCommon/TComTrQuant.cpp:
27842 uncrustify: another brace-style tweak
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
27908 * doc/uncrustify/apply-to-all-source.py:
27909 uncrustify: allow uncrustify to process .cpp and .h in common/x86
27912 * doc/uncrustify/codingstyle.cfg:
27913 uncrustify: do not remove whitespace in an empty brace section {}
27918 2013-10-14 Steve Borho <steve@borho.org>
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
27924 Found at: https://github.com/Tietew/mediawiki-
27925 xml2sql/tree/master/getopt
27927 The only change made was to move getopt_long() into getopt.c from
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
27936 Found at: https://github.com/Tietew/mediawiki-
27937 xml2sql/tree/master/getopt
27939 The only change made was to move getopt_long() into getopt.c from
27943 2013-10-16 Steve Borho <steve@borho.org>
27945 * source/common/vec/pixel-sse3.cpp:
27946 pixel: disable intrinsic cvt32to16_shr; it is causing hash
27950 * source/common/ipfilter.cpp:
27951 ipfilter: gcc preprocessor does not allow ## use for non-symbols
27953 The ## in this case was totally unnecessary
27957 cli: add missing --cpuid handler
27960 * source/test/ipfilterharness.cpp:
27961 test: revert accidental change to 64 dims so testbench passes
27964 * source/common/vec/dct-sse41.cpp:
27965 dct: remove SSE41 dct 8x8, 16x16 and 32x32 intrinsic primitives
27967 These were adapted from vector class functions but were much slower
27968 than the hand-tuned dct SSSE3 functions written by Min.
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
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.
27980 2013-10-16 Praveen Tiwari <Praveen Tiwari>
27982 * source/test/ipfilterharness.cpp:
27983 check_IPFilterChroma_primitive, stride made equal to min width 2
27985 short-term workaround for 2XN blocks
27988 2013-10-16 Steve Borho <steve@borho.org>
27991 cli: tighten up command line help, remove redundancies and save
27996 cli: pull CLIOptions methods out of struct definition (cleanup)
27998 Remove i_ hungarian notation from variables
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?
28008 2013-10-16 Sumalatha Polureddy <Sumalatha Polureddy>
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
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
28023 2013-10-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
28025 * source/CMakeLists.txt, source/x265opts.h:
28026 cli: remove unused x265opts.h
28030 cli: long_options structure initialization without using x265opts.h
28034 cli: implemented do_help() without using x265opts.h
28037 * source/common/common.cpp, source/x265.cpp, source/x265.def.in,
28039 api: add x265_param_parse() function based on x264_param_parse()
28042 2013-10-16 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
28044 * source/Lib/TLibEncoder/TEncSearch.cpp:
28045 bidir: fix for hash mismatch with B-frames
28047 Use seperate variables for mvp and mvpidx used for zero mv
28048 candidates. Also copy the corresponding AMVPinfo for each
28052 2013-10-16 Praveen Tiwari <Praveen Tiwari>
28054 * source/common/x86/asm-primitives.cpp,
28055 source/common/x86/ipfilter8.asm:
28056 asm: update chroma interpolation primitives
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
28065 * source/common/primitives.h:
28066 primitive: chroma partition enums by full dimension and function
28070 2013-10-16 Sumalatha Polureddy <Sumalatha Polureddy>
28072 * source/Lib/TLibEncoder/TEncCu.cpp,
28073 source/Lib/TLibEncoder/TEncSearch.cpp:
28074 no-rdo: remove unused checks
28077 2013-10-16 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28079 * source/common/vec/intra-sse3.cpp:
28080 intra-sse3.cpp: Remove unused vector class macros
28083 2013-10-16 Min Chen <chenm003@163.com>
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()
28092 2013-10-16 Kavitha Sampath <kavitha@multicorewareinc.com>
28094 * source/input/yuv.cpp, source/input/yuv.h:
28095 yuv: make file reading threaded
28098 2013-10-16 Steve Borho <steve@borho.org>
28100 * source/common/x86/asm-primitives.cpp:
28101 asm: disable the use of x264 pixel weighting functions
28103 These are breaking lowres qpel generation
28106 2013-10-16 Aarthi Thirumalai <aarthi@multicorewareinc.com>
28108 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h,
28109 source/encoder/framefilter.cpp, source/encoder/framefilter.h:
28110 move ssim calculation to frameFilters
28113 2013-10-15 Steve Borho <steve@borho.org>
28115 * source/Lib/TLibEncoder/TEncSearch.cpp:
28116 TEncSearch: remove unused static MV arrays
28119 * source/Lib/TLibEncoder/TEncSearch.cpp:
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
28129 * source/Lib/TLibEncoder/TEncSearch.cpp:
28130 TEncSearch: remove unused variables
28133 * source/Lib/TLibEncoder/TEncSearch.cpp:
28134 TEncSearch: rename refList -> list, refIdxTmp -> idx (more readable)
28137 * source/Lib/TLibEncoder/TEncSearch.cpp:
28138 TEncSearch: simplify unidirectional search logic
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.
28145 * source/Lib/TLibEncoder/TEncSearch.cpp:
28146 TEncSearch: remove unnecessary memsets
28149 * source/Lib/TLibEncoder/TEncSearch.cpp,
28150 source/encoder/frameencoder.cpp:
28151 TEncSearch: hoist setSourcePlane() to be called just once per frame
28154 * source/Lib/TLibEncoder/TEncSearch.cpp:
28155 TEncSearch: move variables closer to their use
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
28171 * source/Lib/TLibEncoder/WeightPredAnalysis.cpp,
28172 source/Lib/TLibEncoder/WeightPredAnalysis.h:
28173 WeightPredAnalysis: remove hungarian prefixes
28176 * source/Lib/TLibEncoder/TEncCavlc.cpp,
28177 source/Lib/TLibEncoder/TEncCavlc.h:
28178 TEncCavlc: remove hungarian prefixes
28181 * source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp,
28182 source/Lib/TLibEncoder/TEncBinCoderCABAC.h:
28183 TEncBinCABAC: remove hungarian prefixes
28186 * source/common/CMakeLists.txt:
28187 cmake: fix gcc 16bpp build
28190 * source/Lib/TLibCommon/TComPic.h, source/encoder/encoder.cpp,
28192 api: pass presentation timestamp through the encoder
28195 2013-10-15 Min Chen <chenm003@163.com>
28197 * source/Lib/TLibCommon/TComBitStream.cpp:
28198 faster grow buffer size to reduce number of memcpy
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
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
28217 2013-10-15 Praveen Tiwari <Praveen Tiwari>
28219 * source/common/primitives.h:
28220 primitives: add chroma partition widths and interpolation function
28224 2013-10-15 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28226 * source/common/vec/pixel-sse41.cpp:
28227 pixel-sse41.cpp: Modified PROCESS_SSE_SS4x1 macro with faster
28231 2013-10-15 Kavitha Sampath <kavitha@multicorewareinc.com>
28233 * source/input/input.h, source/input/y4m.cpp, source/input/y4m.h:
28234 y4m: make file reading threaded
28237 2013-10-15 Santhoshini Sekar <santhoshini@multicorewareinc.com>
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
28245 2013-10-15 Deepthi Nandakumar <deepthi@multicorewareinc.com>
28247 * source/common/vec/ipfilter-sse41.cpp:
28248 ipfilter: Fix for 16bpp build
28251 2013-10-15 Steve Borho <steve@borho.org>
28253 * source/common/vec/pixel-sse41.cpp:
28254 pixel: fix 16bpp build
28257 2013-10-15 sairam <sairam@multicorewareinc.com>
28259 * source/encoder/motion.cpp:
28260 Fixed the --me 4 cli option error
28263 2013-10-15 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28265 * source/common/vec/pixel-sse41.cpp:
28266 pixel: cleared the bug in sse_sp8, through sse_sp64
28269 * source/common/vec/pixel-sse41.cpp:
28270 pixel: modified weightUnidir to clear the bug.
28273 * source/common/vec/pixel-sse41.cpp:
28274 pixel: cleared the bug in sse_sp4.
28277 2013-10-15 Steve Borho <steve@borho.org>
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
28284 * source/CMakeLists.txt:
28285 cmake: do not query clang version, it is not used
28288 2013-10-14 Steve Borho <steve@borho.org>
28290 * source/Lib/TLibEncoder/TEncSearch.cpp:
28291 TEncSearch: fix comment for TEncSearch::predInterSearch
28294 * source/CMakeLists.txt:
28295 cmake: move X265_BUILD definition to near top of main CMakeLists.txt
28297 This is just to make it easier to find
28300 * source/common/CMakeLists.txt, source/common/common.cpp,
28301 source/common/version.cpp:
28302 version: move export variables into version.cpp
28305 * source/CMakeLists.txt:
28306 cmake: allow MinGW to rename x265-static to x265
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
28313 * source/common/CMakeLists.txt:
28314 cmake: fix 32bit GCC compile
28317 * source/CMakeLists.txt:
28318 cmake: drop x265 folder suffix to archive install path
28321 2013-10-13 Steve Borho <steve@borho.org>
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
28328 2013-09-10 Steve Borho <steve@borho.org>
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()
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
28339 2013-10-13 Steve Borho <steve@borho.org>
28341 * source/common/CMakeLists.txt:
28342 cpu: disable -Wnarrowing for cpu.cpp
28344 This C99 code from x264 causes warnings when compiled for C++
28347 2013-10-13 Min Chen <chenm003@163.com>
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
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
28371 2013-10-12 Steve Borho <steve@borho.org>
28373 * source/common/vec/vec-primitives.cpp:
28374 vec: it seems clang has its own set of intrinsic generation bugs
28376 If clang is allowed to run the instrinsic functions it builds in
28377 these two files it causes SEGVs
28380 * source/common/primitives.cpp:
28381 primitives: show capabilities used even when cpuid is specified
28384 * source/test/testbench.cpp:
28385 testbench: repair --cpuid command line argument
28388 * source/common/vec/ipfilter-sse41.cpp:
28389 ipfilter: move 16bpp primitives into a separate area of the file
28391 This isolates the remaining vector primitives from the intrinsic
28395 2013-10-10 Steve Borho <steve@borho.org>
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,
28404 asm: adopt x264 CPU detection and flags
28407 2013-10-12 Steve Borho <steve@borho.org>
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
28414 It seemed more useful for this data to be in the x265 library rather
28418 * source/CMakeLists.txt, source/cmake/cmake_uninstall.cmake.in:
28419 cmake: add uninstall rule for non-Windows platforms
28421 CMake on Windows doesn't appear to generate an install manifest file
28424 * source/CMakeLists.txt, source/common/CMakeLists.txt,
28425 source/encoder/CMakeLists.txt:
28426 cmake: enable vim syntax hightlighting
28429 * source/cmake/version.cmake:
28430 cmake: nit cleanups in version.cmake
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
28438 Now X265_BUILD is maintained in just a single place,
28439 souce/CMakeLists.txt.
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)
28447 * source/common/common.h:
28448 common: properly report clang compiled by version
28451 2013-10-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
28453 * source/test/pixelharness.cpp, source/test/testharness.h:
28454 testbench fix: short buffers now have short values
28457 2013-10-11 Steve Borho <steve@borho.org>
28459 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
28460 ratecontrol: use param.rc.rateControlMode, from duplicate RC var
28463 * source/common/vec/intra-sse41.cpp:
28464 intra: remove vector class header include from intra-sse41.cpp
28466 intra-sse3.cpp is the last file with 8bpp (non-AVX2) vector class
28470 * source/common/vec/blockcopy-sse3.cpp:
28471 blockcopy-sse3: consistent naming convention
28474 * source/common/vec/blockcopy-sse3.cpp:
28475 blockcopy-sse3: remove vector class use from last 16bpp intrinsic
28477 blockcopy files are now vector class clean
28480 * source/common/vec/blockcopy-sse3.cpp:
28481 blockcopy-sse3: consistent naming convention
28484 * source/common/vec/intra-sse3.cpp:
28485 intra: prevent variable shadow warnings from GCC
28488 2013-10-11 Aarthi Thirumalai <Aarthi Thirumalai>
28490 * source/common/pixel.cpp, source/common/primitives.h:
28491 primitves: add c primitives for the following :
28493 compute AC energy for each block copy pixels of chroma plane
28496 * source/common/common.cpp, source/x265.h:
28497 param: added rc states for setting Aq mode and Aq strength
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
28506 2013-10-11 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
28508 * source/common/reference.cpp, source/encoder/motion.cpp:
28509 Some fixes in applyWeight() function
28511 These wont fix the PSNR drop but are necessary
28514 2013-10-11 Steve Borho <steve@borho.org>
28516 * source/common/vec/dct-ssse3.cpp:
28517 dct-ssse3: remove vector class includes; dct files are now clean
28520 * source/common/vec/dct-sse3.cpp:
28521 dct-sse3: don't compile dct4 for 16bpp builds when it is not used
28524 * source/common/vec/dct-sse41.cpp:
28525 dct-sse41: reorder functions for clarity - no code change
28528 * source/common/vec/dct-sse3.cpp:
28529 dct-sse3: remove idst4; it uses SSE4.1 but dct-sse41.cpp already has
28533 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28535 * source/common/vec/dct-sse3.cpp:
28536 dct: Replaced inversedst vector class function to intrinsic
28539 2013-10-11 Steve Borho <steve@borho.org>
28541 * source/common/vec/pixel-sse3.cpp:
28542 pixel-sse3: move convert32to16_shr to top of file, remove vector
28546 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28548 * source/common/vec/pixel-sse3.cpp:
28549 pixel-sse3.cpp: Replace convert32to16_shr vector class function with
28553 2013-10-11 Steve Borho <steve@borho.org>
28555 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28556 dct: move dct32 to dct-sse41.cpp, inline convert16to32
28559 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28561 * source/common/vec/dct-sse3.cpp:
28562 dct: Replaced partialButterfly32 vector class function to intrinsic
28565 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28567 * source/common/vec/intra-sse3.cpp:
28568 intra-sse3.cpp: Replace PredIntraAng4_m_32 vector class function
28572 * source/common/vec/intra-sse3.cpp:
28573 intra-sse3.cpp: Replace PredIntraAng4_m_26 vector class function
28577 * source/common/vec/intra-sse3.cpp:
28578 intra-sse3.cpp: Replace PredIntraAng4_m_21 vector class function
28582 * source/common/vec/intra-sse3.cpp:
28583 intra-sse3.cpp: Replace PredIntraAng4_m_17 vector class function
28587 * source/common/vec/intra-sse3.cpp:
28588 intra-sse3.cpp: Replace PredIntraAng4_m_13 vector class function
28592 * source/common/vec/intra-sse3.cpp:
28593 intra-sse3.cpp: Replace PredIntraAng4_m_9 vector class function with
28597 * source/common/vec/intra-sse3.cpp:
28598 intra-sse3.cpp: Replace PredIntraAng4_m_5 vector class function with
28602 * source/common/vec/intra-sse3.cpp:
28603 intra-sse3.cpp: Replace PredIntraAng4_m_2 vector class function with
28607 * source/common/vec/intra-sse3.cpp:
28608 intra-sse3.cpp: Replace PredIntraAng4_2 vector class function with
28612 * source/common/vec/intra-sse3.cpp:
28613 intra-sse3.cpp: Replace PredIntraAng4_5 vector class function with
28617 * source/common/vec/intra-sse3.cpp:
28618 intra-sse3.cpp: Replace PredIntraAng4_9 vector class function with
28622 * source/common/vec/intra-sse3.cpp:
28623 intra-sse3.cpp: Replace PredIntraAng4_13 vector class function with
28627 * source/common/vec/intra-sse3.cpp:
28628 intra-sse3.cpp: Replace PredIntraAng4_17 vector class function with
28632 2013-10-11 Steve Borho <steve@borho.org>
28634 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28635 dct: move dct8 to dct-sse41.cpp, inline convert16to32
28638 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28640 * source/common/vec/dct-sse3.cpp:
28641 dct: Replaced partialButterfly16 vector class function to intrinsic
28644 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28646 * source/common/vec/intra-sse3.cpp:
28647 intra-sse3.cpp: Replace PredIntraAng4_21 vector class function with
28651 2013-10-11 Min Chen <chenm003@163.com>
28653 * source/common/x86/ipfilter8.asm:
28654 asm: improvement filterHorizontal_p_p_4 by reorder intermedia data
28656 1. repleace phaddw to paddw 2. use extra load operator to split data
28657 dependency and reduce table size
28660 * source/common/x86/ipfilter8.asm:
28661 asm: fix bug in filterHorizontal_p_p_4 with width less than 8 (seed
28665 2013-10-11 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
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.
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.
28678 2013-10-11 Steve Borho <steve@borho.org>
28680 * source/common/vec/dct-sse41.cpp:
28681 dct: manually inline convert16to32, for 10% improvement
28684 2013-10-11 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28686 * source/common/vec/dct-sse41.cpp:
28687 dct: modified block copy used in dct8 with convert16to32 inline
28691 2013-10-11 Steve Borho <steve@borho.org>
28693 * source/common/vec/dct-sse3.cpp:
28694 dct: fix 16bpp, dct primitives are not 16bpp safe
28697 2013-10-10 Steve Borho <steve@borho.org>
28699 * source/common/piclist.cpp:
28700 piclist: ensure a TComPic is not enqueued in two lists at once
28703 2013-10-11 Steve Borho <steve@borho.org>
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
28710 * source/common/vec/pixel-sse41.cpp:
28711 pixel: remove unreferenced sse_pp4 function
28714 2013-10-10 Steve Borho <steve@borho.org>
28716 * source/common/vec/pixel-avx2.cpp:
28717 pixel: allow clang to build AVX2 pixel primitives functions
28720 2013-10-11 Min Chen <chenm003@163.com>
28722 * source/cmake/version.cmake:
28723 cmake: default value for X265_VERSION
28726 2013-10-10 Steve Borho <steve@borho.org>
28728 * source/CMakeLists.txt, source/common/CMakeLists.txt:
28729 cmake: repair ICL nmake builds - do not use yasm custom rule with
28733 2013-10-11 Steve Borho <steve@borho.org>
28735 * source/CMakeLists.txt, source/common/CMakeLists.txt:
28736 cmake: make intel C++ compiler detection independent of env vars
28739 2013-10-10 Steve Borho <steve@borho.org>
28741 * source/CMakeLists.txt, source/common/CMakeLists.txt:
28742 cmake: cleanup compiler determination
28745 * source/common/CMakeLists.txt:
28746 cmake: add parens to fix icpc builds of intrinsic primitives
28749 * source/Lib/TLibCommon/TComSlice.h:
28750 TComSlice: add missing cstring include for memcpy
28753 * source/Lib/TLibCommon/TComSlice.h:
28754 TComSlice: remove unreferenced member variable
28757 * source/Lib/TLibEncoder/NALwrite.cpp:
28758 NALwrite: reintroduce include of cstring, required for memcpy on
28762 * source/encoder/CMakeLists.txt:
28763 cmake: merge TLibEncoderH source group into TLibEncoder
28765 They are both small enough now that they are manageable as a single
28769 * source/CMakeLists.txt:
28770 cmake: link PPA and other libs into x265-shared and x265-static
28773 * source/common/vec/dct-sse3.cpp, source/common/vec/dct-sse41.cpp:
28774 dct: add comments for future opts/code reuse
28777 * source/common/vec/dct-sse41.cpp:
28778 dct: remove vector class includes from dct-sse41.cpp, it is clean
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-
28786 * source/common/vec/dct-sse3.cpp:
28787 dct: move last vector dct function into its own section
28790 2013-10-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28792 * source/common/vec/dct-sse3.cpp:
28793 dct: replaced partialButterfly8 vector class function with intrinsic
28796 * source/common/vec/dct-sse3.cpp:
28797 dct: replace dequant vector class function with intrinsic
28800 2013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28802 * source/common/vec/intra-sse3.cpp:
28803 intra-sse3.cpp: Replace PredIntraAng4_32 vector class function with
28807 2013-10-10 Steve Borho <steve@borho.org>
28809 * source/common/vec/blockcopy-sse3.cpp:
28810 blockcopy: move intrinsic function out of vector-class section
28813 2013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28815 * source/common/vec/blockcopy-sse3.cpp:
28816 blockcopy-sse3.cpp: Replace pixeladd_pp vector class function with
28820 2013-10-10 Gopu Govindaswamy <gopu@multicorewareinc.com>
28822 * source/Lib/TLibCommon/TComTrQuant.cpp,
28823 source/Lib/TLibCommon/TComTrQuant.h:
28824 tcomtrquant:remove unused methods
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
28836 * source/Lib/TLibCommon/TComSlice.cpp,
28837 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
28838 tcomslice:remove unused set methods
28841 * source/Lib/TLibCommon/TComSlice.cpp,
28842 source/Lib/TLibCommon/TComSlice.h:
28843 tcomslice: removed unused set methods in TComReferencePictureSet
28847 2013-10-10 Steve Borho <steve@borho.org>
28849 * source/common/vec/pixel-sse41.cpp, source/common/vec/sse.inc:
28850 sse: move last SSE function into vector-class section of pixel-
28854 * source/common/vec/ipfilter-ssse3.cpp:
28855 ipfilter: remove vector class headers from ipfilter-ssse3.cpp
28858 2013-10-10 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
28860 * source/common/vec/ipfilter-ssse3.cpp:
28861 ipfilter-ssse3.cpp: Replace filterConvertPelToShort vector class
28862 function with intrinsic.
28865 * source/common/vec/ipfilter-ssse3.cpp:
28866 ipfilter-ssse3.cpp: Replace filterConvertShortToPel vector class
28867 function with intrinsic.
28870 2013-10-10 Steve Borho <steve@borho.org>
28872 * source/common/vec/pixel-sse41.cpp, source/common/vec/sse.inc:
28873 sse: move intrinsic functions to pixel-sse41.cpp
28876 2013-10-10 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
28878 * source/common/vec/sse.inc:
28879 pixel: replace sse_sp64 vector class with intrinsic
28882 * source/common/vec/sse.inc:
28883 pixel: replace sse_sp48 vector class with intrinsic
28886 * source/common/vec/sse.inc:
28887 pixel: replace sse_sp32 vector class with intrinsic
28890 * source/common/vec/sse.inc:
28891 pixel: replace sse_sp24 vector class with intrinsic
28894 * source/common/vec/sse.inc:
28895 pixel: replace sse_sp16 vector class with intrinsic
28898 * source/common/vec/sse.inc:
28899 pixel: modified sse_sp8 with a comman macro SSE_SP8x1
28902 2013-10-10 Min Chen <chenm003@163.com>
28904 * source/Lib/TLibEncoder/TEncSearch.cpp:
28905 TEncSeach: add alignment to bidir output buffer
28907 fixes crash in x265_pixel_avg_w16_sse2 from aligned writes to the
28911 2013-10-10 Steve Borho <steve@borho.org>
28913 * source/x265.def, source/x265.h:
28914 api: make notice of how the build number now must be echoed in
28918 * source/encoder/encoder.cpp:
28919 encoder: silence idiotic compiler warning from VC10
28922 2013-10-09 Steve Borho <steve@borho.org>
28925 api: add API version to x265_encoder_open to prevent dynamic library
28928 Gratefully borrowed from x264
28931 * source/common/CMakeLists.txt, source/common/vec/vec-primitives.cpp:
28932 cmake: enable clang to compile intrinsic primitives without version
28936 * source/common/vec/blockcopy-sse3.cpp:
28937 blockcopy: isolate vector class routines together (firing squad)
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
28945 The sooner these classes go away the better
28948 * source/common/vec/pixel-ssse3.cpp:
28949 pixel: remove vector class headers from pixel-ssse3.cpp
28952 * source/common/vec/intra-sse3.cpp:
28953 intra: remove an unreferenced function
28956 * source/common/vec/ipfilter-sse41.cpp:
28957 ipfilter: remove two unreferenced functions
28960 * source/common/ipfilter.cpp:
28961 ipfilter: remove two unused functions
28964 * source/CMakeLists.txt:
28965 cmake: detect clang compiler anf fix some link issues
28968 * source/CMakeLists.txt:
28969 cmake: bump minimum required version to 2.8.8
28972 * source/CMakeLists.txt:
28973 cmake: add -ffast-math to GCC compile flags
28976 * source/Lib/TLibCommon/TComSlice.h:
28977 TComSlice: linux build fix, include <cstring> for memcpy
28980 2013-10-09 Sumalatha Polureddy <Sumalatha Polureddy>
28982 * source/encoder/compress.cpp:
28983 no-rdo(early exit): update the memory with info from m_interCU_NxN
28985 The encoding and prediction details which are updated in the
28986 m_interCU_NxN in NxN calculation are updated in the m_tempCU
28989 2013-10-09 Steve Borho <steve@borho.org>
28991 * source/common/vec/dct-ssse3.cpp, source/encoder/bitcost.cpp:
28992 remove more <algorithm> includes
28995 * source/Lib/TLibEncoder/TEncCu.cpp:
28996 TEncCu: replace <algorithm> with X265_MIN, X265_MAX
28999 * source/Lib/TLibCommon/ContextModel.cpp:
29000 ContextModel: replace <algorithm> with X265_MIN, X265_MAX
29003 * source/Lib/TLibEncoder/NALwrite.cpp:
29004 NALwrite: remove "using namespace std"
29007 * source/test/unittest.cpp, source/test/unittest.h:
29008 remove unused unittest class (is not even compiled today)
29012 cli: remove "using namespace std"
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
29023 * source/Lib/TLibEncoder/TEncSbac.cpp:
29024 TEncSBac: remove unused #include <map>
29027 * source/Lib/TLibCommon/TComSlice.cpp,
29028 source/Lib/TLibCommon/TComSlice.h:
29029 TComSlice: remove unused ParameterSetMap and #include<map>
29032 2013-10-09 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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
29045 2013-10-09 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
29053 2013-10-09 Steve Borho <steve@borho.org>
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
29060 2013-10-09 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29062 * source/common/vec/pixel8.inc:
29063 pixel: Replace weightUnidir vector class function with intrinsic.
29066 * source/common/vec/sse.inc:
29067 pixel: replace sse_sp12 vector class with intrinsic
29070 * source/common/vec/sse.inc:
29071 pixel: replace sse_sp8 vector class with intrinsic
29074 * source/common/vec/sse.inc:
29075 pixel: replace sse_sp4 vector class with intrinsic
29078 2013-10-09 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29080 * source/common/vec/sse.inc:
29081 sse.inc: Modified sse_ss64 intrinsic function. Removed redundancy
29082 using comman macro PROCESS_SSE_SS4x1.
29085 * source/common/vec/sse.inc:
29086 sse.inc: Modified sse_ss48 intrinsic function. Removed redundancy
29087 using comman macro PROCESS_SSE_SS4x1.
29090 * source/common/vec/sse.inc:
29091 sse.inc: Modified sse_ss32 intrinsic function. Removed redundancy
29092 using comman macro PROCESS_SSE_SS4x1.
29095 * source/common/vec/sse.inc:
29096 sse.inc: Modified sse_ss24 intrinsic function. Removed redundancy
29097 using comman macro PROCESS_SSE_SS4x1.
29100 * source/common/vec/sse.inc:
29101 sse.inc: Modified sse_ss16 intrinsic function. Removed redundancy
29102 using comman macro PROCESS_SSE_SS4x1.
29105 * source/common/vec/sse.inc:
29106 sse.inc: Modified sse_ss12 intrinsic function. Removed redundancy
29107 using comman macro PROCESS_SSE_SS4x1.
29110 * source/common/vec/sse.inc:
29111 sse.inc: Modified sse_ss8 intrinsic function. Removed redundancy
29112 using comman macro PROCESS_SSE_SS4x1.
29115 * source/common/vec/sse.inc:
29116 pixel.inc: Modified sse_ss4 intrinsic function. Removed redundancy
29117 using comman macro PROCESS_SSE_SS4x1.
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.
29125 * source/common/vec/pixel8.inc:
29126 pixel8.inc: Replace weightUnidirPixel vector class function with
29130 * source/common/vec/pixel-sse3.cpp:
29131 pixel-sse3.cpp: Modified calcRecons function argument names. Removed
29132 hungarian prefixes.
29135 * source/common/vec/pixel-sse3.cpp:
29136 pixel-sse3.cpp: Modified calcRecons8 function argument names.
29137 Removed hungarian prefixes.
29140 * source/common/vec/pixel-sse3.cpp:
29141 pixel-sse3.cpp: Modified calcRecons4 function argument names.
29142 Removed hungarian prefixes.
29145 2013-10-09 Steve Borho <steve@borho.org>
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
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.
29165 2013-10-09 Gopu Govindaswamy <gopu@multicorewareinc.com>
29167 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
29168 slicetype: removed TComList(std::list) and used PicList to store the
29172 2013-10-09 Steve Borho <steve@borho.org>
29174 * source/CMakeLists.txt:
29175 cmake: this time for reals
29178 2013-10-08 Steve Borho <steve@borho.org>
29180 * source/CMakeLists.txt:
29181 cmake: fixes for non-assembly builds and windows builds
29184 * source/CMakeLists.txt:
29185 cmake: tweak static library names to avoid conflict
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
29193 2013-10-07 Steve Borho <steve@borho.org>
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,
29202 cmake: use cmake 2.8 OBJECT target type to manage static and share
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.
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
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.
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)
29226 2013-10-08 Steve Borho <steve@borho.org>
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
29233 2013-10-08 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29235 * source/common/reference.cpp:
29236 Check against numRows in applyweight
29238 applyWeight() processes rows a 'refLag' number of rows in advance as
29239 compared to the current iteration in compressCTURows()
29242 * source/common/reference.cpp:
29243 Fix for possible memory access violation in applyWeight()
29246 * source/Lib/TLibCommon/TComPrediction.cpp:
29247 Use unweighted pixels before interpolation for Luma in Motion
29251 2013-10-08 Steve Borho <steve@borho.org>
29253 * source/common/piclist.cpp, source/common/piclist.h:
29254 piclist: pass non-optional pictures by reference to avoid NULL
29258 2013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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.
29269 PicList will be used to replace TComList<TComPic> and this will
29270 remove std::list dependency in x265
29273 2013-10-08 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29275 * source/common/vec/pixel8.inc:
29276 pixel: replace getResidual64 from vector class to intrinsic
29279 * source/common/vec/pixel8.inc:
29280 pixel: replace getResidual32 from vector class to intrinsic
29283 * source/common/vec/pixel8.inc:
29284 pixel: replace getResidual16 from vector class to intrinsic
29287 2013-10-08 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29289 * source/common/vec/pixel8.inc:
29290 pixel8.inc: replace calcRecons vector class function with intrinsic.
29293 * source/common/vec/pixel8.inc:
29294 pixel8.inc: replace calcRecons8 vector class function with
29298 * source/common/vec/pixel8.inc:
29299 pixel8.inc: replace calcRecons4 vector class function with
29303 2013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
29305 * source/Lib/TLibCommon/TComSlice.cpp,
29306 source/Lib/TLibCommon/TComSlice.h:
29307 tcomslice: removed un-used sortPicList() function
29310 * source/Lib/TLibCommon/TComSlice.cpp,
29311 source/Lib/TLibCommon/TComSlice.h:
29312 tcomslice: removed un-used checkThatAllRefPicsAreAvailable()
29316 * source/Lib/TLibCommon/TComSlice.cpp,
29317 source/Lib/TLibCommon/TComSlice.h:
29318 TComSlice: Removed un-used
29319 createExplicitReferencePictureSetFromReference() Method
29322 2013-10-08 Min Chen <chenm003@163.com>
29324 * source/test/testpool.cpp:
29325 Update testbench for threadpool
29328 2013-10-08 Aarthi Thirumalai <Aarthi Thirumalai>
29330 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
29331 source/encoder/frameencoder.h:
29332 calculate SSIM for each Row after deblock, sao
29335 * source/common/pixel.cpp, source/common/primitives.h:
29336 primitives: added C primitives to compute SSIM
29339 2013-10-08 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29341 * source/encoder/slicetype.cpp:
29342 slicetype: Bidir cost estimation added to lookahead
29345 2013-10-08 Gopu Govindaswamy <gopu@multicorewareinc.com>
29347 * source/Lib/TLibCommon/TComBitStream.cpp:
29348 tcombitstream: bug fix for count StartCodeEmulations to calculate
29352 2013-10-07 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
29361 1.setNDBFilterBlockBorderAvailability() 2.createNonDBFilterInfo()
29362 3.createNonDBFilterInfoLCU() 4.destroyNonDBFilterInfo()
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
29369 2013-10-07 Steve Borho <steve@borho.org>
29371 * source/common/common.cpp:
29372 common: rename AILIGNBYTES to avoid conflict with apple i386/param.h
29375 * source/CMakeLists.txt:
29376 cmake: white-space nit
29379 * source/CMakeLists.txt, source/test/CMakeLists.txt:
29380 cmake: simplify test build structure
29383 * source/common/vec/pixel-sse3.cpp:
29384 pixel: wrap primitives in anononymous namespace (file static)
29387 * source/common/vec/pixel-sse3.cpp:
29388 pixel: fix spelling of blockfill functions, add calcresidual
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-
29398 2013-10-07 Yuvaraj Venkatesh <yuvaraj@multicorewareinc.com>
29400 * source/common/vec/pixel8.inc:
29401 pixel: replace getResidual8 vector class with intrinsic
29404 * source/common/vec/pixel8.inc:
29405 pixel: replace Residual4 vector class with intrinsic
29408 2013-10-07 Dnyaneshwar Gorade <dnyaneshwar@multicorewareinc.com>
29410 * source/common/vec/pixel-sse41.cpp:
29411 pixel: simplify sad_x4_32 to make it easier to maintain
29414 * source/common/vec/pixel-sse41.cpp:
29415 pixel: simplify sad_x4_24 to make it easier to maintain
29418 * source/common/vec/pixel-sse41.cpp:
29419 pixel: simplify sad_x4_12 to make it easier to maintain
29422 * source/common/vec/pixel-sse41.cpp:
29423 pixel: simplify sad_x3_32 to make it easier to maintain
29426 * source/common/vec/pixel-sse41.cpp:
29427 pixel: simplify sad_x3_24 to make it easier to maintain
29430 * source/common/vec/pixel-sse41.cpp:
29431 pixel: simplify sad_12 to make easier to maintain
29434 * source/common/vec/pixel-sse41.cpp:
29435 pixel: simplify sad_x3_12 to make it easier to maintain
29438 * source/common/vec/pixel-sse41.cpp:
29439 pixel: simplify sad_32 to make it easier to maintain
29442 * source/common/vec/pixel-sse41.cpp:
29443 pixel: simplify sad_24 to make easier to maintain
29446 2013-10-06 Steve Borho <steve@borho.org>
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
29454 * source/common/primitives.h:
29455 primitives: remove unused function decl
29458 * source/common/primitives.h:
29459 primitives: remove obsolete FilterConf enum
29462 * source/common/ipfilter.cpp, source/common/primitives.h:
29463 ipfilter: remove unused filterRow primitives
29466 2013-10-07 Steve Borho <steve@borho.org>
29468 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
29469 ipfilterharness: remove test harnesses for removed primitives
29472 2013-10-06 Steve Borho <steve@borho.org>
29474 * source/common/ipfilter.cpp, source/common/primitives.h,
29475 source/common/vec/ipfilter-sse41.cpp:
29476 ipfilter: remove unused weighted interpolation primitives
29479 * source/CMakeLists.txt:
29480 cmake: use add_definitions() instead of modifying CMAKE_CXX_FLAGS
29484 2013-10-02 Steve Borho <steve@borho.org>
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
29493 2013-10-06 Steve Borho <steve@borho.org>
29495 * source/common/vec/pixel-avx2.cpp:
29496 pixel: fix eoln damage to pixel-avx2.cpp
29499 * source/common/x86/asm-primitives.cpp:
29500 asm: simplify setup of HEVC partitions for SATD primitives
29503 * source/common/vec/pixel-sse41.cpp:
29504 pixel: simplify sad_x3_16 and sad_x4_16 to make them easier to
29508 2013-10-05 Steve Borho <steve@borho.org>
29510 * source/common/vec/pixel-sse41.cpp:
29511 pixel: simplify sad_16 to make it easier to maintain
29514 * source/common/vec/pixel-sse41.cpp, source/common/x86/asm-
29516 pixel: fix HIGH_BIT_DEPTH builds
29519 * source/common/vec/pixel-sse41.cpp:
29520 pixel: add missing sse_pp_12x16, untemplatize others
29523 * source/common/x86/asm-primitives.cpp:
29524 asm: don't build wrappers for functions with intrinsic
29528 * source/common/vec/pixel-sse41.cpp:
29529 pixel: drop SSE primitives that have assembly
29532 * source/common/x86/asm-primitives.cpp:
29533 asm: cleanup the assignment of SSD primitives
29536 * source/common/x86/asm-primitives.cpp:
29537 asm: simplify generation of sa8d_inter functions from 8x8 and 16x16
29541 * source/test/testbench.cpp:
29542 testbench: fix off-by one initialization of primitives
29545 * source/common/vec/pixel-sse41.cpp:
29546 pixel: add back intrinsics for sad_x3_4x16 and sad_x4_4x16
29548 These routines do not yet have assembly code
29551 * source/common/primitives.cpp:
29552 primitives: fix off-by one initialization of primitives
29555 * source/common/primitives.cpp:
29556 primitives: fixup 12x16 and 16x2 sa8d_inter pointers
29558 32x12 isn't used but 12x16 and 16x12 are (for AMP)
29561 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
29562 primitives: setup square sa8d_inter function pointers from sa8d
29566 * source/common/x86/asm-primitives.cpp:
29567 asm: use x265_pixel_satd_8x4_xop for p.satd[PARTITION_16x4] for 32
29570 On 64bit builds, we have native sse2 functions
29573 * source/common/primitives.cpp, source/common/x86/asm-primitives.cpp:
29574 primitives: move small block sa8d_inter setup to primitives.cpp
29576 This hack didn't belong in the assembly setup function
29579 * source/test/pixelharness.cpp:
29580 pixelharness: report sad, sad_x3, and sad_x4 scores together
29583 * source/common/x86/asm-primitives.cpp:
29584 asm: quit instantiating functions which are not necessary
29586 Re-order functions for more clarity
29589 * source/common/vec/pixel-sse41.cpp:
29590 pixel: stop building 16x16, 16x8, and 8x16 intrinsic primitives
29593 * source/common/vec/pixel-sse41.cpp:
29594 pixel: limit sad_8 routines to just height 32
29596 8x4, 8x8, and 8x16 are handled by x264 assembly, only 8x32 remains
29597 for the intrinsic function to cover
29600 * source/common/vec/pixel-sse41.cpp:
29601 pixel: eliminate width 48 SAD code for height != 64
29604 * source/common/vec/pixel-sse41.cpp:
29605 pixel: simplify sad_32 primitives to a single loop
29607 32 width blocks will only be height 8, 16, 24, or 32. Having an
29608 8-row loop is just fine
29611 * source/common/vec/pixel-sse41.cpp:
29612 pixel: simplify sad_64 primitives to a single loop
29614 64 width blocks will only be height 16, 32, 48, or 64. Having an
29615 8-row loop is just fine
29618 * source/common/vec/pixel-sse41.cpp:
29619 pixel: remove sad_*_4<> intrinsic functions, they are covered by
29622 x264 assembly code covers 4x4, 4x8, and 4x16 and those are the only
29623 4-width partitions used by x265.
29626 * source/common/vec/pixel-sse41.cpp:
29627 pixel: eliminate width 24 SAD code for height != 32
29630 * source/common/vec/pixel-sse41.cpp:
29631 pixel: eliminate width 12 SAD code for height != 16
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
29639 * source/test/pixelharness.cpp, source/test/pixelharness.h:
29640 pixelharness: only test partition sizes plausibly used by the
29644 * source/common/vec/pixel-sse41.cpp:
29645 pixel: use unaligned loads for reference pixels in sad_12
29648 * source/common/vec/pixel-sse41.cpp:
29649 pixel: fix typo which was copied and pasted 36 times
29652 * source/common/vec/pixel-sse41.cpp:
29653 pixel: use unaligned loads for reference pixels in sad_24
29656 2013-10-05 Min Chen <chenm003@163.com>
29658 * source/encoder/framefilter.cpp:
29659 fix bug on SAO initialize
29662 2013-10-04 Steve Borho <steve@borho.org>
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
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.
29674 This commit naively pulls in all of mc-a.asm from x264 for just this
29675 one set of assembly functions.
29678 * source/encoder/motion.cpp:
29679 motion: use new pixelavg_pp primitive for lowres QPEL pixel
29683 * source/encoder/motion.cpp:
29684 motion: remove NULL checks prior to X265_FREE calls
29687 * source/common/x86/CMakeLists.txt:
29688 cmake: add ASM files to MSVC solution so they are easily edited
29690 this has no effect on the build
29693 2013-10-04 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
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
29707 2013-10-04 Aarthi Thirumalai <Aarthi Thirumalai>
29709 * source/encoder/ratecontrol.cpp:
29710 rc : bug fix for quality drop with larger number of frame threads.
29713 2013-10-04 Dnyaneshwar <Dnyaneshwar>
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.
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.
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.
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.
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.
29740 2013-10-04 Steve Borho <steve@borho.org>
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
29746 2013-10-04 yuvaraj <yuvaraj>
29748 * source/common/vec/pixel8.inc:
29749 Replace sad_x4_64 vector class function with intrinsic.
29752 * source/common/vec/pixel8.inc:
29753 Replace sad_x4_48 vector class function with intrinsic.
29756 * source/common/vec/pixel8.inc:
29757 Replace sad_x3_64 vector class function with intrinsic.
29760 * source/common/vec/pixel8.inc:
29761 Replace sad_x3_48 vector class function with intrinsic.
29764 * source/common/vec/pixel8.inc:
29765 Replace sad_64 vector class function with intrinsic.
29768 * source/common/vec/pixel8.inc:
29769 Replace sad_48 vector class function with intrinsic.
29772 2013-10-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29774 * source/Lib/TLibEncoder/TEncSearch.cpp:
29775 TEncSearch: remove unused code
29778 * source/Lib/TLibEncoder/TEncSearch.cpp:
29779 Bidir ME: store bits required for bidir which will be used for merge
29783 * source/Lib/TLibEncoder/TEncSearch.cpp:
29784 TEncSearch: fix for gcc warning
29787 2013-10-04 Steve Borho <steve@borho.org>
29789 * source/common/vec/pixel.inc, source/common/vec/pixel16.inc:
29790 pixel: remove 16bpp vector class satd functions
29792 They were not competitive with assembly and were unlikely to be
29793 competitive as intrinsics
29796 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel-sse3.cpp,
29797 source/common/vec/pixel-sse41.cpp:
29798 pixel: comment nits
29801 * source/common/vec/pixel-sse3.cpp:
29802 pixel: move vector class include to bottom of the file
29804 the clearly segregates vector class primitives from intrinsic
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
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
29817 This improves compile time slightly
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
29826 2013-10-03 Steve Borho <steve@borho.org>
29828 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
29829 pixel: cleanup pixel.inc
29831 Remove copy of C primitive transpose Move 8bpp-only functions to
29832 pixel8.inc cleanup setup function
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
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
29845 * source/common/vec/pixel-avx2.cpp, source/common/vec/pixel8.inc:
29846 pixel: move avx2 functions into pixel-avx2.cpp
29849 2013-10-03 Dnyaneshwar <Dnyaneshwar>
29851 * source/common/vec/pixel8.inc:
29852 replace sad_x4_32 vector class function with intrinsic.
29855 * source/common/vec/pixel8.inc:
29856 replace sad_x4_24 vector class function with intrinsic.
29859 * source/common/vec/pixel8.inc:
29860 replace sad_x4_12 vector class function with intrinsic.
29863 * source/common/vec/pixel8.inc:
29864 replace sad_x3_32 vector class function with intrinsic.
29867 * source/common/vec/pixel8.inc:
29868 replace sad_x3_24 vector class function with intrinsic.
29871 * source/common/vec/pixel8.inc:
29872 replace sad_x3_12 vector class function with intrinsic.
29875 * source/common/vec/pixel8.inc:
29876 replace sad_32 vector class function with intrinsic.
29879 * source/common/vec/pixel8.inc:
29880 replace sad_24 vector class function with intrinsic.
29883 * source/common/vec/pixel8.inc:
29884 replace sad_12 vector class function with intrinsic.
29887 2013-10-03 Steve Borho <steve@borho.org>
29889 * source/Lib/TLibEncoder/TEncSearch.cpp,
29890 source/Lib/TLibEncoder/TEncSearch.h:
29891 TEncSearch: remove methods unreachable after bidir replacement
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
29900 2013-10-03 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
29902 * source/Lib/TLibEncoder/TEncSearch.cpp:
29903 Bidir ME: add (0,0) candidate
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
29911 L0 and L1 MVs from unidir ME used for bidir MV. bidir cost is
29912 calculated from the average of references.
29915 * source/common/pixel.cpp, source/common/primitives.h:
29916 primitives: add pixelavg primitive
29919 2013-10-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
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
29932 2013-10-03 Sumalatha Polureddy <Sumalatha Polureddy>
29934 * source/encoder/compress.cpp:
29935 no rdo: Turn OFF the early exit code
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
29942 2013-10-01 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
29944 * source/common/reference.cpp, source/common/reference.h:
29945 reference: add applyWeight method to MotionReference
29947 to generate weighted full pel pixels for one or more CTU rows
29950 2013-10-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
29959 2013-10-01 Steve Borho <steve@borho.org>
29961 * source/common/primitives.cpp:
29962 primitives: shorten log message to prevent 80char terminal wrap
29965 * source/common/common.cpp:
29966 common: tighten up tool descriptions; save horizontal space
29969 2013-10-01 Aarthi Thirumalai <Aarthi Thirumalai>
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
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
29985 2013-10-01 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
29991 to properly signal malloc failure for 'fpelPlane'; handling to be
29995 * source/x265opts.h:
29996 Enable cli parameters for unidirectional weighted prediction
29998 As part of re-enabling unidirectional weighted prediction after
29999 introduction of frame parallelism
30002 2013-09-30 Min Chen <chenm003@163.com>
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
30009 Output mistake reasons:
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
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
30021 3. CABAC status m_frac not reset. This HM bug still alive, we found
30025 2013-09-30 Steve Borho <steve@borho.org>
30027 * source/test/pixelharness.cpp:
30028 pixelharness: always use STRIDE for source buffers
30030 Because they are allocated based on that dimension and the max
30034 * source/common/vec/blockcopy-sse3.cpp:
30035 blockcopy: fix missing stride checks
30038 * source/common/x86/asm-primitives.cpp:
30039 asm: use named defines rather than hard-coded values
30042 2013-09-27 Steve Borho <steve@borho.org>
30044 * source/common/x86/ipfilter8.asm:
30045 ipfilter: remove needless width==0 check
30048 2013-09-27 praveen Tiwari <praveen Tiwari>
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
30055 2013-09-28 Aarthi Thirumalai <Aarthi Thirumalai>
30057 * source/common/common.cpp, source/x265.h, source/x265opts.h:
30058 cli: add options for toggling PSNR and SSIM metrics (currently
30061 By default (for now) PSNR is turned on, SSIM is off.
30064 2013-09-28 Steve Borho <steve@borho.org>
30066 * source/common/common.h:
30067 common: white-space nit
30070 * source/common/common.h:
30071 common: directly call x265_malloc from CHECKED_MALLOC, fix malloc
30075 2013-09-27 Steve Borho <steve@borho.org>
30077 * source/common/vec/intra-sse3.cpp:
30078 intra: fix eoln damage
30081 2013-09-26 Steve Borho <steve@borho.org>
30083 * source/common/primitives.cpp, source/test/testbench.cpp:
30084 primitives: build primitive list iteratively
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.
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
30097 This allows the testbench to isolate the functions added for a given
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
30106 This allows the testbench to isolate the functions added for a given
30110 2013-09-27 Steve Borho <steve@borho.org>
30112 * source/common/vec/intra-sse3.cpp:
30113 intra: re-enable __forceinline for MSVC to recover perf of angular
30117 * source/common/vec/intra-sse41.cpp:
30118 intra: remove redundant intra angular prediction functions
30121 * source/common/vec/intra-sse41.cpp:
30122 intra: remove redundant 16bpp angular prediction code
30125 * source/common/vec/vec-primitives.cpp:
30126 vec: prevent link errors on older compilers, do not try to call
30130 * source/common/vec/intra-sse41.cpp:
30131 intra: merge consecutive 8bpp regions and remove dead code
30134 * source/common/vec/intra-sse41.cpp:
30135 intra: remove redundant planar primitives
30138 2013-09-26 Steve Borho <steve@borho.org>
30140 * source/common/vec/intra-sse41.cpp:
30141 intra: remove redundant copy of intra_pred_dc
30144 * source/common/vec/vec-primitives.cpp:
30145 vec: add missing call to Setup_Vec_IPredPrimitives_sse3()
30148 * source/common/vec/ipfilter-ssse3.cpp:
30149 ipfilter: don't use 8bpp primitives for 16bpp builds
30152 * source/common/vec/blockcopy-avx2.cpp, source/common/vec/dct-
30154 vec: prevent unreferenced parameter warnings for 16bpp builds
30157 * source/common/vec/intra-sse41.cpp:
30158 intra: remove unused extern
30161 * source/encoder/motion.cpp:
30162 motion: fix shadow warnings
30165 2013-09-25 Steve Borho <steve@borho.org>
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
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
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
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
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
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
30215 2013-09-26 Steve Borho <steve@borho.org>
30217 * source/common/vec/blockcopy-sse3.cpp:
30218 blockcopy: fix INSTRSET define for SSE3
30221 2013-09-25 Steve Borho <steve@borho.org>
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
30233 This is the first step towards four goals:
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
30241 2013-09-26 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30243 * source/encoder/dpb.cpp:
30244 Force numPics in RPS <= maxDecPicBuffering - 1
30246 because maxDecPicBuffering is now set to numReferences+1
30249 2013-09-25 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
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
30255 Added a commandline parameter '--ref <max number of references>'.
30256 DPB size adjusted to use number of references.
30259 2013-09-25 Steve Borho <steve@borho.org>
30261 * source/common/common.cpp, source/encoder/encoder.cpp,
30262 source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
30266 2013-09-25 Min Chen <chenm003@163.com>
30268 * source/common/vec/ipfilter8.inc:
30269 Avoid VS2008 X64 compiler bug
30272 * source/common/vec/ipfilter8.inc, source/encoder/motion.cpp,
30273 source/encoder/motion.h:
30274 Merge HPEL interpolations with the same HPEL offsets
30276 In the square1[9], the candidate HPEL offsets are:
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
30285 2013-09-25 Steve Borho <steve@borho.org>
30287 * source/encoder/encoder.cpp:
30288 encoder: range check number of NAL units
30291 2013-09-25 Min Chen <chenm003@163.com>
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
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
30301 [2d77d4a2c31b] <stable>
30303 2013-09-25 Steve Borho <steve@borho.org>
30305 * source/encoder/encoder.cpp:
30306 encoder: disable lookahead for all-intra encodes
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>
30313 2013-09-25 Gopu Govindaswamy <gopu@multicorewareinc.com>
30315 * source/Lib/TLibCommon/NAL.h, source/Lib/TLibEncoder/NALwrite.cpp,
30316 source/Lib/TLibEncoder/NALwrite.h:
30317 NAL: Remove unused NALUnitEBSP functions
30319 Removed the unused NALUnitEBSP(OutputNALUnit& nalu) and
30320 copyNaluData() methods from NAL
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
30328 AccessUnit class derived from std template list, Accessunit class
30329 replaced with pointers to an array
30332 2013-09-24 Steve Borho <steve@borho.org>
30334 * source/encoder/encoder.cpp:
30335 encoder: ensure returned NAL count matches output array size
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
30344 * source/encoder/frameencoder.cpp:
30345 frameencoder: do not cause deadlock on malloc fail
30348 * source/Lib/TLibEncoder/TEncTop.cpp:
30349 TEncTop: prevent divide by zero if no frames were output by stream
30352 2013-09-24 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
30360 * source/Lib/TLibCommon/TComBitStream.cpp,
30361 source/Lib/TLibCommon/TComBitStream.h:
30362 bitstream: remove unused std::vector class code
30365 2013-09-24 Steve Borho <steve@borho.org>
30367 * source/encoder/slicetype.cpp:
30372 Added tag 0.4.1 for changeset 93707bc4fccd
30373 [ddb7abf83f98] <stable>
30375 * source/common/vec/CMakeLists.txt:
30376 cmake: ignore icpc warnings about EMMS from pixelcmp primitives
30377 [93707bc4fccd] [0.4.1] <stable>
30379 * source/encoder/slicetype.cpp:
30380 slicetype: fix variable shadow warning
30381 [3a77059e1ebf] <stable>
30383 2013-09-24 Min Chen <chenm003@163.com>
30385 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
30386 Reset CABAC status to get same output between single and multi
30390 2013-09-24 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30392 * source/common/CMakeLists.txt:
30396 * source/common/CMakeLists.txt:
30397 MinGW: build fix for common.cpp
30398 [f56cd5c652ef] <stable>
30400 2013-09-24 Steve Borho <steve@borho.org>
30402 * source/encoder/slicetype.cpp:
30406 2013-09-24 sumalatha polureddy <sumalatha polureddy>
30408 * source/encoder/ratecontrol.cpp:
30409 RateControl : Bug fix when previous estimated frame cost is zero
30410 [2824b8e732e9] <stable>
30412 2013-09-23 Steve Borho <steve@borho.org>
30414 * source/common/common.cpp:
30415 common: prevent an API race hazard
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.
30425 * source/common/common.cpp:
30426 common: rename CONFIRM macro to CHECK
30428 The logic of the macro is: if (expr) fail So CONFIRM is highly
30432 2013-09-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
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()
30440 2013-09-24 Steve Borho <steve@borho.org>
30442 * source/encoder/slicetype.cpp:
30444 [46cc93c497c5] <stable>
30446 2013-09-23 Steve Borho <steve@borho.org>
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
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
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
30468 uncrustify.bat was unused, so it was also removed
30471 * doc/README_data-structure.ppt, doc/software-manual.pdf:
30472 remove binary documentation files leftover from HM source tree
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
30480 * source/common/lowres.cpp:
30481 lowres: fixup bad merge/patch re-import
30484 * source/encoder/encoder.cpp:
30485 encoder: explicitly disable AMP if rectangular modes are disabled
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.
30493 2013-09-23 Min Chen <chenm003@163.com>
30495 * source/common/vec/ipfilter8.inc:
30496 Replace (maskmovq) by (blendvb + movq)
30499 * source/common/vec/ipfilter8.inc:
30500 Replace combo padd(32)+psra(6) by pmulhrsw
30503 2013-09-23 Steve Borho <steve@borho.org>
30505 * source/common/lowres.cpp:
30506 lowres: remove NULL pointer checks, x265_free does this internally
30509 * source/common/lowres.cpp:
30510 lowres: white-space nits and minor cleanup
30513 * source/common/lowres.cpp:
30517 2013-09-23 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30519 * source/common/lowres.cpp:
30520 Adapting lowress frame dimensions to multiples of lowress CU size.
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>
30526 2013-09-23 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30528 * source/common/lowres.cpp:
30529 lowres: bug fix - move initialization from create() to init()
30531 lowres objects are reused, hence they should be re-initialized.
30532 [bba314600ed0] <stable>
30534 2013-09-23 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
30536 * source/common/lowres.cpp:
30537 Adapting lowress frame dimensions to multiples of lowress CU size.
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.
30543 2013-09-20 Steve Borho <steve@borho.org>
30545 * source/encoder/encoder.cpp:
30546 encoder: hoist declaration of offset var to fix GCC goto warnings,
30550 * source/encoder/encoder.cpp:
30551 encoder: white-space fixes
30554 * source/encoder/encoder.cpp:
30555 encoder: remove NULL checks prior to X265_FREE, which does its own
30558 * source/encoder/encoder.cpp:
30559 encoder: fix indentation of extract_naldata
30562 * source/CMakeLists.txt:
30563 cmake: force creation of ENABLE_PRIMITIVES_ASM option for all yasm
30567 * Merge with stable
30570 2013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
30572 * source/encoder/ratecontrol.cpp:
30573 Bug Fix - copy last Recq value to thread local rce object
30575 Missed this out in previous patch.
30576 [1311936ef9cf] <stable>
30578 2013-09-19 Steve Borho <steve@borho.org>
30580 * source/CMakeLists.txt:
30581 cmake: fix auto-link issues with MSVC
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
30586 [d47ef13cb735] <stable>
30588 2013-09-20 Steve Borho <steve@borho.org>
30590 * source/encoder/encoder.cpp:
30591 encoder: style nits, no logic change
30594 2013-09-20 Gopu Govindaswamy <gopu@multicorewareinc.com>
30596 * source/encoder/encoder.cpp:
30597 encoder: Do not use X265_MALLOC use CHECKED_MALLOC
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
30605 * source/common/common.cpp, source/common/common.h:
30606 common: add CHECKED_MALLOC macro that logs malloc failures and jumps
30610 2013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
30612 * source/encoder/ratecontrol.cpp:
30613 Bug Fix - copy last Recq value to thread local rce object
30615 Missed this out in previous patch.
30618 2013-09-19 Steve Borho <steve@borho.org>
30620 * source/encoder/slicetype.cpp:
30621 slicetype: fix shadow warning reported by GCC
30624 * source/CMakeLists.txt:
30625 cmake: fix auto-link issues with MSVC
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
30632 * source/common/CMakeLists.txt:
30633 cmake: use explicit file list for HM TLibCommon files
30636 * source/encoder/CMakeLists.txt:
30637 cmake: use explicit file list for HM TLibEncoder files
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.
30645 * source/common/common.cpp:
30646 common: white-space logging nit
30649 * source/common/common.cpp:
30650 common: improve logging string for lookahead configuration - conveys
30654 * Merge with stable
30658 Added tag 0.4 for changeset 2ba6ec553f21
30659 [85219cda3127] <stable>
30661 * source/encoder/slicetype.cpp:
30662 slicetype: respect --bframes count when --b-adapt is 0
30664 --b-adapt 0 --bframes 3 => IPBBBPBBBPBBB
30665 --b-adapt 0 --bframes 4 => IPBBBBPBBBBPBBBB
30667 This is a stop-gap feature until --b-adapt 1 and 2 are fully
30669 [2ba6ec553f21] [0.4] <stable>
30671 * source/encoder/slicetype.cpp:
30672 slicetype: remove x265_ prefix from internal functions
30674 These were adapted from x264 functions, and the prefix was
30675 incorrectly preserved
30676 [4c97a2025103] <stable>
30678 * build/linux/batch.py, source/Lib/TLibCommon/SEI.cpp:
30680 [9d97cddc0fac] <stable>
30682 2013-09-20 Aarthi Thirumalai <Aarthi Thirumalai>
30684 * source/encoder/ratecontrol.cpp:
30685 tuned up ABR logic to better adapt for frame parallelism
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.
30692 2013-09-19 Aarthi Thirumalai <Aarthi Thirumalai>
30694 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
30695 RateControl bug fixes for frame parallelism
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
30701 2. Added framesDone state - to maintain a serial order of frames in
30702 RateCotrol to get a correct estimate of wantedBits.
30705 2013-09-19 Steve Borho <steve@borho.org>
30708 cli: use strerror to report signal error
30711 * source/Lib/TLibEncoder/TEncTop.cpp:
30712 top: fix leak of output NALs on CTRL+C aborts
30715 2013-09-18 Steve Borho <steve@borho.org>
30717 * source/Lib/TLibCommon/SEI.cpp, source/Lib/TLibCommon/SEI.h:
30718 sei: remove unused SEIMessages type define
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.
30725 This also removes another HM file
30728 * source/common/common.cpp, source/x265.cpp, source/x265.h:
30729 api: introduce an x265_picture_init() function
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()
30738 * source/common/lowres.h:
30739 lowres: group fields by type, remove trailing white-space
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
30747 * source/common/lowres.cpp, source/common/lowres.h,
30748 source/encoder/slicetype.cpp:
30749 lowres: change int scenecut to bool bScenecut
30752 2013-09-19 Min Chen <chenm003@163.com>
30754 * source/encoder/framefilter.cpp, source/encoder/framefilter.h,
30756 framefilter: allow SAO to be disabled independently of deblock
30760 2013-09-19 Steve Borho <steve@borho.org>
30763 cli: fix memory leaks on early exits
30766 * source/common/common.cpp:
30767 sao: prevent picture based SAO to be used in combination with frame
30771 2013-09-19 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30773 * source/encoder/slicetype.cpp:
30774 lookahead: fix crash for I frame cost estimation
30777 2013-09-19 Deepthi Nandakumar <deepthi@multicorewareinc.com>
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.
30785 Aligned mallocs in testharness use the wrapper (X265_MALLOC/FREE)
30786 defined in CommonDef.h. Remove alignedMalloc/Free definitions in the
30790 2013-09-18 Steve Borho <steve@borho.org>
30792 * source/encoder/slicetype.cpp:
30793 slicetype: fix bug in intra estimation in
30794 Lookahead::estimateCUCost()
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()
30803 * source/common/common.cpp, source/x265.h:
30804 white-space and comment nits
30808 cli: report errors from registering signal handler
30811 * source/Lib/TLibEncoder/TEncSbac.h:
30812 TEncSbac: remove exit() calls from unsupported functions
30815 * source/Lib/TLibEncoder/TEncTop.cpp:
30816 TEncTop: replace debugging exit() call with abort(), use x265_log
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
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
30843 cli: use sig_atomic_t type for variable modified by SIGINT handler
30846 * removed unused b_exit_on_ctrl_c
30847 * removed unnecessary static initializer
30850 2013-09-18 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
30852 * source/encoder/slicetype.cpp:
30853 lookahead: fix cost estimation, use previous result when calculation
30857 2013-09-17 Aarthi Thirumalai <Aarthi Thirumalai>
30859 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
30860 ABR - Removed unused states, cleaned up the comments.
30862 Removed states that are not used in ABR or CQP rate contnrol modes.
30865 2013-09-18 Min Chen <chenm003@163.com>
30867 * source/encoder/frameencoder.cpp:
30868 frameencoder: disable filter/extend lag when SAO and deblocking are
30871 This improves frame parallelism when all loop filtering is disabled
30872 (aka: benchmark mode)
30875 2013-09-18 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30877 * source/encoder/slicetype.cpp:
30878 lookahead: change const bool to const int, so as to use it safely as
30882 2013-09-17 Wenju He <wenju@multicorewareinc.com>
30884 * source/input/y4m.cpp:
30885 fix allocation crash if input y4m file is not found
30888 2013-09-17 Min Chen <chenm003@163.com>
30890 * source/common/wavefront.cpp, source/encoder/frameencoder.cpp,
30891 source/encoder/frameencoder.h:
30892 Resolve some patching issues for previous patch (deadlock).
30895 2013-09-17 funman <funman@videolan.org Rafaël Carré>
30898 [x265] [PATCH] library header: use #ifdef __cplusplus Remove a
30899 warning when using from C
30902 2013-09-16 Min Chen <chenm003@163.com>
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
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
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
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!
30923 2. HASH MISTAKE: the reason is same as below, but last row is right
30924 order, we will got worng reconst image.
30927 2013-09-16 Deepthi Nandakumar <deepthi@multicorewareinc.com>
30929 * source/common/common.cpp:
30930 CLI Options: reset x265_param_default to extern "C"
30936 * source/common/common.cpp, source/encoder/encoder.cpp,
30938 CLI options: Eliminate rdoqts option; cleanup
30940 1. Eliminate rdoqts CLI option: enabled when rdoq and ts are both
30941 enabled. 2. Rearrange default initialisations in x265_param_ t
30945 * source/encoder/framefilter.cpp:
30946 framefilter: Fix memcpy for pel-pixel datatype change
30949 * source/encoder/framefilter.cpp:
30950 framefilter: Fix memcpy for pel-pixel datatype change
30953 2013-09-16 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
31004 Globally all the x265 header files header guards format changed into
31008 2013-09-13 sumalatha polureddy <sumalatha polureddy>
31010 * source/encoder/ratecontrol.cpp:
31011 ratecontrol: Tweak to better handle short term compensation
31013 Increase the coefficient cplxrSum is adjusted by so that short term
31014 compensation does not suffer as much.
31016 Also, clip the QP for the first frame.
31018 Overall improvement is about 5%.
31021 2013-09-13 Steve Borho <steve@borho.org>
31023 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31024 frameencoder: move threadMain() into cpp file
31027 * source/encoder/slicetype.cpp:
31028 slicetype: increase baseline bframe bias by 10%
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.
31038 * source/cmake/mergestaticlibs.cmake:
31039 cmake: whitespace cleanups in mergestaticlibs.cmake (should not
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
31047 2013-09-13 Derek Buitenhuis <derek.buitenhuis@gmail.com>
31049 * source/cmake/mergestaticlibs.cmake:
31050 cmake: Don't rely on non-POSIX ar functionality
31052 Fixes build on stricter systems like FreeBSD.
31055 * source/Lib/TLibEncoder/NALwrite.cpp:
31056 NALwrite: Include forgotten header
31058 Fixes build on Linux, where memcpy is not global.
31061 2013-09-13 Steve Borho <steve@borho.org>
31063 * source/encoder/framefilter.cpp:
31064 ppa: remove redundant PPA event
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
31074 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31075 framefilter: comment cleanups, use pixel data type
31078 * source/test/CMakeLists.txt:
31079 cmake: fix test bench builds following static lib reorg
31082 2013-09-13 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31084 * source/encoder/encoder.cpp:
31085 Encoder: Remove x265_ prefix from NAL data extract functions.
31088 * source/encoder/encoder.cpp:
31089 Encoder: Factor out duplicated code in NAL data extraction [Gopu]
31092 2013-09-12 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
31100 2013-09-12 Derek Buitenhuis <derek.buitenhuis@gmail.com>
31102 * source/common/threading.h:
31103 threading: Include fcntl.h on POSIX systems
31105 This is where O_CREAT and O_EXCL are defined.
31108 2013-09-11 Steve Borho <steve@borho.org>
31110 * source/CMakeLists.txt:
31111 cmake: set MACOS build flag on mac builds (fixes CPU count
31115 * source/common/threading.cpp, source/common/threading.h:
31116 threading: use named semaphores for POSIX events
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.
31124 * build/linux/batch.py:
31125 build: remove obsolete test script
31128 * source/common/ipfilter.cpp:
31129 ipfilter: remove two unused file-static functions
31131 Xcode reported these as warnings; Xcode build is now 100% clean
31134 * source/common/x86/CMakeLists.txt:
31135 cmake: add Xcode hacks for YASM integration (is there a better way?)
31138 * source/CMakeLists.txt:
31139 cmake: detect Xcode generator, avoid static lib failure
31142 * build/xcode/make-project.sh:
31143 cmake: add xcode build folder
31146 2013-09-12 Steve Borho <steve@borho.org>
31148 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
31149 framefilter: prevent row filter overlap race hazards
31152 2013-09-11 Wenju He <Wenju He>
31154 * source/Lib/TLibEncoder/TEncCu.cpp:
31155 check before delete
31158 2013-09-12 Steve Borho <steve@borho.org>
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
31165 2013-09-11 Steve Borho <steve@borho.org>
31167 * source/CMakeLists.txt, source/common/CMakeLists.txt,
31168 source/encoder/CMakeLists.txt:
31169 cmake: link primitive projects into libx264 directly, not through
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
31178 2013-09-12 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31183 * source/x265opts.h:
31184 cli: moving rd option description to rate distortion section.
31187 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.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.
31193 2013-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31196 cli: clarifying enum comment in No-RDO.
31199 2013-09-11 Steve Borho <steve@borho.org>
31201 * source/CMakeLists.txt:
31202 cmake: quiet ICL warnings from STLport's use of pragmas
31205 2013-09-11 Min Chen <chenm003@163.com>
31207 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp:
31208 framefilter: Make code clearer
31210 We do not need the row delay when the loopfilter is disabled.
31213 2013-09-11 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31215 * source/encoder/compress.cpp:
31216 compress: fast-no-rdo is stable enough to be a part of regular no-
31221 cli: Add enum RDOLevel to list of rate distortion modes.
31224 2013-09-11 Steve Borho <steve@borho.org>
31226 * source/encoder/slicetype.cpp:
31227 slicetype: remove extra parens (Mac GCC reports this as a warning)
31230 2013-09-09 Steve Borho <steve@borho.org>
31232 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
31233 source/encoder/framefilter.h:
31234 framefilter: run filters synchronously at end of each row
31237 2013-09-10 Steve Borho <steve@borho.org>
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
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)
31249 * source/Lib/TLibEncoder/TEncSearch.cpp:
31250 TEncSearch: clamp mvmin.y to reflag distance as well
31253 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
31254 ratecontrol: remove unused bframes (this was probably not the
31258 * source/x265opts.h:
31259 cli: move fast-no-rdo next to the other rdo options
31262 * source/CMakeLists.txt:
31263 cmake: generate libx265 unconditionally
31266 * source/CMakeLists.txt:
31270 * source/encoder/compress.cpp:
31271 compress: remove unnecessary line (GCC warning)
31274 * source/CMakeLists.txt, source/input/CMakeLists.txt,
31275 source/output/CMakeLists.txt:
31279 * source/CMakeLists.txt:
31280 cmake: rename x265 project to cli, force output name to x265. use
31284 * source/encoder/encoder.cpp:
31285 encoder: replace long with UInt
31288 2013-09-10 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31290 * source/encoder/compress.cpp:
31291 compress: different lambdas for P and B slices, no efficiency drop.
31294 * source/encoder/compress.cpp:
31295 compress: replace early exit macro with fast-no-rdo option
31298 * source/common/common.cpp, source/x265.h, source/x265opts.h:
31299 compress: Introducing option fast no-rdo, only when no-rdo mode is
31303 * source/encoder/compress.cpp:
31304 compress: Intra mode checked only in P frames
31307 * source/encoder/compress.cpp:
31308 compress: Enabling early exit macro.
31311 2013-09-09 Steve Borho <steve@borho.org>
31313 * source/common/vec/ipfilter8.inc:
31314 ipfilter: remove unused maxVal variable
31315 [98f0f7dde384] <stable>
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>
31330 * source/CMakeLists.txt, source/input/CMakeLists.txt,
31331 source/output/CMakeLists.txt:
31332 cmake: merge InputFiles and OutputFiles projects into cli project
31334 [60dec1deb894] <stable>
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>
31357 cli: add version id into CSV output
31361 cli: report global PSNR on summary line
31364 * source/common/common.cpp:
31365 common: fix lookahead check
31368 * source/CMakeLists.txt:
31369 cmake: do not use -fPIC on MinGW64
31372 * source/CMakeLists.txt:
31373 cmake: fix eoln damage
31376 * source/CMakeLists.txt:
31377 cmake: add STLport build option
31380 * source/input/input.h, source/input/y4m.h, source/input/yuv.h,
31382 stl: fix warnings/errors reported by STLport headers
31385 * source/common/common.cpp:
31386 common: fix lookahead depth dependency
31389 * source/encoder/slicetype.cpp:
31390 slicetype: disable lookahead for all-P frame runs
31393 * source/common/common.cpp:
31394 common: enable -b3 by default to match x264
31396 Use -b0 to get the previous all-P frame default behavior
31399 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
31400 ratecontrol: remove rce member variable pointer
31402 Pass RateControlEntry to functions that need it. It was pretty
31403 misleading to pass in an argument named m_rce.
31406 2013-09-09 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31408 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
31409 source/encoder/ratecontrol.h:
31410 ratecontrol: move lastRceq and qpaRc to RateControlEntry().
31413 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt:
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.
31422 2013-09-09 Steve Borho <steve@borho.org>
31424 * doc/LookaheadGuide.txt, doc/LookaheadPlan.txt:
31425 doc: remove obsolete planning docs
31428 * source/encoder/slicetype.cpp:
31429 slicetype: enable lookahead by default. --b-adapt 0 or --rc-
31430 lookahead 0 disables
31433 * source/x265opts.h:
31434 cli: add --b-adapt CLI option
31437 2013-09-08 Min Chen <chenm003@163.com>
31439 * source/encoder/framefilter.cpp:
31440 support diable both thread and lft/sao
31443 * source/encoder/frameencoder.cpp:
31444 support both diable thread and lft/sao
31447 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
31448 simplify by processRowPost()
31451 2013-09-07 Steve Borho <steve@borho.org>
31453 * source/encoder/motion.cpp:
31454 motion: subpel offsets table needs a 'no-motion' entry
31457 * source/Lib/TLibEncoder/TEncSearch.cpp,
31458 source/Lib/TLibEncoder/TEncSearch.h:
31459 TEncSearch: remove unused m_searchRange
31462 * source/Lib/TLibEncoder/TEncSearch.cpp,
31463 source/Lib/TLibEncoder/TEncSearch.h:
31464 TEncSearch: remove unused m_searchMethod
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,
31471 api: add -m/--subme to adjust level of subpel refine
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
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
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
31490 cli: initialize input picture slice type
31493 * source/Lib/TLibEncoder/TEncTop.h:
31494 TEncTop: remove dead meathod declaration
31497 * source/Lib/TLibEncoder/TEncTop.cpp:
31498 TEncTop: prevent deadlocks on CTRL+C aborts
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
31506 * source/Lib/TLibCommon/TComSlice.cpp,
31507 source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
31508 TComSlice: remove unused lambda variables
31511 * source/encoder/frameencoder.cpp:
31512 frameencoder: use a more refined depth for SAO
31515 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
31516 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h,
31517 source/encoder/frameencoder.cpp:
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
31528 Instead of relying on a fixed depth cadence, apply all the high-
31529 depth hacks to only B slices.
31532 * source/encoder/encoder.cpp:
31533 log: concise is almost always better
31536 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
31537 TEncSampleAdaptiveOffset: remove hungarian prefixes
31540 * source/encoder/frameencoder.cpp:
31541 frameencoder: update a TODO comment
31544 * source/encoder/compress.cpp:
31545 compress: enable SSD based merge decisions for --no-rdo path
31548 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
31552 2013-09-07 Aarthi Thirumalai <aarthi@multicorewareinc.com>
31554 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
31555 source/encoder/compress.cpp:
31556 TEncCu: optimized merge routine xcomputeCostmerge2x2N
31559 2013-09-07 Steve Borho <steve@borho.org>
31561 * source/common/common.cpp, source/encoder/encoder.cpp:
31562 log: combine all threading info into one log line
31565 2013-09-07 Min Chen <chenm003@163.com>
31567 * source/encoder/encoder.cpp, source/encoder/frameencoder.cpp,
31568 source/encoder/framefilter.cpp:
31569 framepp: Support NO-WPP + FrameParallelism Mode
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
31578 2013-09-07 Steve Borho <steve@borho.org>
31580 * source/Lib/TLibEncoder/TEncSearch.cpp,
31581 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31582 frameencoder: remove broadcast methods, inline row initializations
31585 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31586 frameencoder: remove unused accessor methods, inline scaling list
31590 * source/encoder/frameencoder.h:
31591 frameencoder: remove unused accessor methods
31594 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31595 frameencoder: inline resetEncoder
31598 * source/encoder/frameencoder.h:
31599 frameencoder: improve comments
31602 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31606 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
31607 source/encoder/frameencoder.h:
31608 frameencoder: move lambda initialization into the frame worker
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()
31617 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
31618 source/encoder/ratecontrol.h:
31619 ratecontrol: avoid lookahead overhead for CQP
31622 * source/encoder/ratecontrol.cpp:
31623 ratecontrol: avoid some operations in CQP mode
31626 * source/encoder/ratecontrol.cpp:
31627 ratecontrol: remove redundant clip and double conversions
31630 2013-09-07 Aarthi Thirumalai <aarthi@multicorewareinc.com>
31632 * source/encoder/ratecontrol.cpp:
31633 ratecontrol: bug fix - qp for ABR cant exceed MAX_QP = 51
31636 2013-09-06 Steve Borho <steve@borho.org>
31638 * source/Lib/TLibEncoder/TEncTop.cpp:
31639 TEncTop: lookAheadCost is a somewhat confusing variable name
31643 cli: assign poc on input pictures (ignored by encoder, but good
31647 * source/common/vec/vec-primitives.cpp:
31648 vec: simplify externs, fix MSVC compiler version dependencies
31651 * source/Lib/TLibEncoder/TEncCfg.h,
31652 source/Lib/TLibEncoder/TEncTop.cpp:
31653 TEncCfg: use param.decodedPictureHashSEI directly without accessor
31656 * source/Lib/TLibEncoder/TEncCfg.h, source/x265.h, source/x265opts.h:
31657 api: rename bEnableDecodedPictureHashSEI (not a bool)
31660 * source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h:
31661 api: add sliceType to output pictures
31664 * source/common/lowres.h, source/x265.h:
31665 api: move slice type macros to public API
31673 x265: print unrecognized short options as char instead of hex
31677 x265: emit a warning message if a short option is invalid
31681 x265: remove -w short option for disabled weightp command
31684 2013-09-06 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31686 * source/encoder/slicetype.cpp:
31687 slicetype: Handle Bframes immediately preceding an IDR correctly.
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
31697 * source/encoder/slicetype.cpp:
31698 slicetype: uncrustified
31701 * source/encoder/slicetype.cpp:
31702 slicetype: B-frames analysis integrated
31705 * source/encoder/slicetype.cpp:
31706 slicetype: Remove unnecessary initialization
31709 2013-09-06 Min Chen <chenm003@163.com>
31711 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
31712 review: improvement filterVertical_p_p and filterHorizontal_p_p
31715 2013-09-06 Steve Borho <steve@borho.org>
31717 * source/CMakeLists.txt:
31718 cmake: MSVC does not understand -fPIC
31721 2013-09-06 Rafaël Carré <funman@videolan.org>
31723 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake:
31724 Always use -DPIC/-fPIC when targetting x64
31726 Fix link failure when making a shared object on Linux
31729 2013-09-06 Steve Borho <steve@borho.org>
31731 * source/encoder/slicetype.cpp:
31735 2013-09-06 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
31737 * source/common/lowres.cpp, source/encoder/slicetype.cpp:
31738 Scenecut detection functional with no bframes
31741 2013-09-05 Steve Borho <steve@borho.org>
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
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).
31757 We can't use the actual number of rows available because this
31758 results in non- determinism.
31762 ppa: use scoped PPA event for writeNALs
31766 x265: remove redundant help output line
31769 * source/encoder/frameencoder.cpp:
31770 frameencoder: poke idle thread after enabling a row
31772 This ensures at least one worker thread sees the state transition
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
31780 * source/encoder/frameencoder.cpp:
31784 2013-09-03 Steve Borho <steve@borho.org>
31786 * source/encoder/frameencoder.cpp:
31787 frameencoder: start encoding CU rows once minimum reference row lag
31791 2013-09-05 Steve Borho <steve@borho.org>
31793 * source/encoder/encoder.cpp:
31794 encoder: declare destructor virtual
31797 * source/Lib/TLibEncoder/TEncTop.h:
31801 * source/Lib/TLibEncoder/TEncTop.cpp,
31802 source/Lib/TLibEncoder/TEncTop.h:
31803 TEncTop: statistics lock was no longer necessary, always runs in API
31807 * source/Lib/TLibEncoder/TEncTop.h:
31811 2013-09-06 Aarthi Thirumalai <aarthi@multicorewareinc.com>
31813 * source/encoder/ratecontrol.cpp:
31814 tighten rate control logic for ABR
31817 2013-09-05 Min Chen <chenm003@163.com>
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
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
31836 2013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
31838 * source/Lib/TLibCommon/SEI.h, source/Lib/TLibEncoder/SEIwrite.cpp,
31839 source/encoder/frameencoder.cpp:
31840 SEI: Replaced STL Classes
31843 * source/encoder/encoder.cpp:
31844 encoder: Added pad size in Malloc
31847 2013-09-05 Deepthi Nandakumar <deepthi@multicorewareinc.com>
31849 * source/common/common.cpp:
31850 common: keyframeMax should always be >=0
31853 * source/x265opts.h:
31854 bOpenGOP: remove option openGOP, we only support closed GOP now;
31858 * source/encoder/encoder.cpp:
31859 bOpenGOP: Open GOP has nothing to do with keyframe interval
31863 bOpenGOP: clarify in comment
31866 2013-09-05 Steve Borho <steve@borho.org>
31868 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
31869 TEncTop: hoist compressFrame trigger back into encode() function
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
31878 * source/Lib/TLibEncoder/TEncTop.cpp:
31879 TEncTop: hold a reference for frames connected to FrameEncoders
31882 * source/encoder/encoder.cpp:
31883 encoder: uncrustify
31886 2013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
31888 * source/encoder/encoder.cpp:
31889 Encoder: removed STL Container classes
31892 2013-09-05 Min Chen <chenm003@163.com>
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
31899 2013-09-05 Steve Borho <steve@borho.org>
31901 * source/encoder/slicetype.cpp:
31902 slicetype: handle odd keyframe intervals better
31905 2013-09-05 Gopu Govindaswamy <gopu@multicorewareinc.com>
31908 x265Cli: Removed std::string in log
31911 2013-09-05 Steve Borho <steve@borho.org>
31913 * source/PPA/ppaCPUEvents.h, source/encoder/frameencoder.cpp:
31914 ppa: measure a different FrameEncoder method
31917 2013-09-04 Steve Borho <steve@borho.org>
31919 * source/common/common.cpp, source/encoder/encoder.cpp,
31921 encoder: make rate control mode implicit from other configs
31924 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/dpb.cpp,
31925 source/encoder/encoder.cpp:
31926 TEncCfg: remove fixed GOP structures
31929 * source/Lib/TLibEncoder/TEncTop.cpp:
31930 TEncTop: require --log 4 to dump hash strings
31932 I don't see them being useful for display except for regression
31936 * source/encoder/dpb.cpp:
31937 dpb: do not use fixed GOP cadence to select colocated direction
31940 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
31941 TEncCfg: remove unused dQP table
31944 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
31945 TEncCfg: remove obsolete configurables
31948 * source/encoder/dpb.cpp:
31952 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp,
31953 source/encoder/ratecontrol.cpp:
31954 do not configure QP and lambda twice
31957 * source/encoder/ratecontrol.cpp:
31958 ratecontrol: assign qp correctly
31961 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/ratecontrol.cpp,
31962 source/encoder/ratecontrol.h:
31963 ratecontrol: move CQP support into our code
31966 * source/encoder/frameencoder.cpp:
31967 FrameEncoder: remove min gop size from depth calculation
31970 * source/Lib/TLibEncoder/TEncTop.cpp:
31971 TEncTop: hard code setNumRefIdxL0DefaultActive() and L1 default
31973 This was failing in debug with -i1
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
31982 CQP uses a simple offset for non-I slices (temporary hack)
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
31993 * source/Lib/TLibEncoder/TEncTop.cpp:
31994 TEncTop: remove hungarian prefixes from function arguments
31997 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
31998 FrameEncoder: stop passing pic pointer to methods, use m_pic
32001 * source/encoder/frameencoder.cpp:
32002 FrameEncoder: remove extra white-space
32005 * source/Lib/TLibEncoder/TEncTop.cpp:
32006 TEncTop: remove trailing white-space
32009 * source/Lib/TLibEncoder/SyntaxElementWriter.cpp:
32010 SEI: remove hungarian prefixes
32013 * source/Lib/TLibCommon/TComSlice.cpp:
32014 TComSlice: missed deletion
32017 2013-09-04 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
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
32025 2013-09-04 Min Chen <chenm003@163.com>
32027 * source/encoder/framefilter.cpp:
32028 Fix bug in PCM mode
32031 2013-09-04 Gopu Govindaswamy <gopu@multicorewareinc.com>
32033 * source/Lib/TLibCommon/TComSlice.h, source/encoder/frameencoder.cpp:
32034 TComSlice : Removed Unused std::vector Variable
32037 2013-09-04 Steve Borho <steve@borho.org>
32039 * source/common/common.cpp:
32040 common: replace std::string with const char *
32043 * source/CMakeLists.txt:
32044 cmake: make -Werror on GCC a build option defaulting to off
32046 It can be enabled on build-bots, etc, but not block typical
32050 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
32054 2013-09-04 sumalatha <sumalatha>
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
32062 2013-09-04 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32064 * source/encoder/dpb.cpp:
32065 dpb: encode structure limitations
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.
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()
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
32082 * source/common/common.cpp:
32083 framepp: number of frame threads always less than lookahead depth
32086 2013-09-04 Steve Borho <steve@borho.org>
32088 * source/Lib/TLibCommon/TypeDef.h:
32089 TypeDef: give explicit namespace to X265_DEPTH for 16bpp builds
32092 2013-09-03 Steve Borho <steve@borho.org>
32094 * source/common/common.cpp:
32095 common: prune default search length to 60, for optimal frame
32099 * source/encoder/frameencoder.cpp:
32100 frameencoder: clear enabled row bitmask at the start of each frame
32103 * source/common/wavefront.cpp, source/common/wavefront.h:
32104 wavefront: add a method to clear the enabled bitmask
32107 * source/encoder/frameencoder.cpp:
32108 frameencoder: remove TODO comment, it was already done
32111 * source/Lib/TLibCommon/TComPrediction.cpp:
32112 TComPrediction: use pre-allocated temp buffer for weighted and
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
32143 * source/Lib/TLibCommon/TComDataCU.cpp:
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
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
32167 COPYING: add a mention to our available commercial license
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
32216 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
32217 source/Lib/TLibCommon/TypeDef.h:
32218 reorg: replace HM's Float typedef globally with C float
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
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
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
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
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
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
32426 * source/Lib/TLibEncoder/AnnexBwrite.h:
32427 remove unused AnnexBwrite.h
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
32505 This makes it possible to link x265 and HM into a single application
32508 2013-09-03 Gopu Govindaswamy <gopu@multicorewareinc.com>
32510 * source/common/ipfilter.cpp:
32511 ipfilter : extendCURowColBorder() performance tuning
32514 2013-09-03 praveen Tiwari <praveen Tiwari>
32516 * source/common/vec/pixel8.inc:
32517 pixel8.inc: VC9 fix for SAD_4, 'pextrd' replaced with 'movd'
32520 2013-09-03 Steve Borho <steve@borho.org>
32522 * source/common/common.cpp:
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:
32533 * source/common/vec/pixel8.inc:
32534 pixel8: sad_x4_16 improvements
32537 * source/common/vec/pixel8.inc:
32538 pixel8: sad_x4_4 improvements
32541 * source/common/vec/pixel8.inc:
32542 pixel8: sad_x3_16 improvements
32545 * source/common/vec/pixel8.inc:
32546 pixel8: sad_x3_8 improvements
32549 * source/common/vec/pixel8.inc:
32550 pixel8: sad_x3_4 improvements
32553 * source/encoder/frameencoder.cpp:
32554 frameencoder: fix initialization order
32557 * source/encoder/slicetype.cpp:
32558 slicetype: fix unsigned/signed comparison
32561 * source/common/lowres.h, source/encoder/slicetype.h:
32562 lowres: move slice type defines into common/
32564 headers in common/ should not include encoder/ headers
32567 2013-09-03 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32569 * source/common/common.cpp:
32570 framepp: Changing output message
32573 2013-09-03 Min Chen <chenm003@163.com>
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
32590 2013-09-02 Shazeb Nawaz Khan <shazeb@multicorewareinc.com>
32592 * source/encoder/slicetype.cpp:
32593 Used slicetypeAnalyse() in slicetypeDecide()
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
32603 * source/encoder/slicetype.cpp:
32604 Fixed slicetypeAnalyse() for no-B config
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()
32614 2013-09-02 Gopu Govindaswamy <gopu@multicorewareinc.com>
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
32623 2013-09-02 praveen Tiwari <praveen Tiwari>
32625 * source/common/vec/pixel8.inc:
32626 pixel8.inc: Optimization with sad_x4 4xn
32629 2013-09-02 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32631 * source/common/common.cpp:
32632 slicetype: keyframe min and max values inported from x264
32635 * source/common/common.cpp:
32636 slicetype: default value for scenecutThreshold pulled in from x264
32639 * source/common/lowres.cpp, source/common/lowres.h,
32640 source/encoder/slicetype.cpp:
32641 slicetype: Double defined macros replaced.
32643 Todo: investigate whether its safe to replace the table with just I,
32644 P, B (2,1,0) according to Table 7-7
32647 2013-09-01 Steve Borho <steve@borho.org>
32649 * source/Lib/TLibCommon/TComPrediction.cpp,
32650 source/Lib/TLibCommon/TComPrediction.h:
32651 TComPrediction: pre-allocate intermediates temp buffer
32654 * source/Lib/TLibCommon/TComPrediction.cpp:
32655 TComPrediction: simplify xPredInterLumaBlk
32658 * source/encoder/motion.cpp:
32659 motion: split mvcost from subpelCompare
32662 * source/encoder/motion.cpp:
32663 replace 64s with MAX_CU_SIZE
32666 * source/CMakeLists.txt, source/cmake/CMakeASM_YASMInformation.cmake,
32667 source/common/vec/CMakeLists.txt, source/common/vec/vec-
32669 cmake: detect and handle Mac OS X 10.8 default compiler
32671 It can't build any of the vector primitives, but at least now it
32672 generates a working x265 exectuable
32675 2013-07-25 Vittorio Giovara <vittorio.giovara@gmail.com>
32677 * source/x265.cpp, source/x265opts.h:
32678 replace --width and --height with --input-res
32681 * source/x265opts.h:
32682 change 'rate' option to 'fps'
32685 2013-09-01 Steve Borho <steve@borho.org>
32687 * source/encoder/motion.cpp:
32688 motion: lowres qpel
32691 * source/encoder/motion.cpp:
32692 motion: simplify subpel logic
32695 * source/encoder/motion.cpp, source/encoder/motion.h:
32696 motion: use lowresPlane for lowres subpel, make pixelcmp_t an
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
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
32713 * source/encoder/motion.cpp:
32714 motion: fix include slash
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
32723 2013-09-01 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32725 * source/Lib/TLibCommon/TComRdCost.cpp,
32726 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
32727 source/Lib/TLibCommon/TComRdCostWeightPrediction.h:
32731 * source/Lib/TLibCommon/TComPicYuv.cpp:
32732 reference: no pre-generating reference planes
32735 * source/encoder/motion.cpp:
32736 motion: replace intermediate values with a tmp buffer.
32739 * source/encoder/motion.cpp:
32740 motion: COST_QMV redefined
32743 * source/common/reference.cpp, source/common/reference.h,
32744 source/encoder/motion.cpp:
32745 motion: correct strides in subpel buffer and intermediate values
32749 2013-08-31 Gopu Govindaswamy <gopu@multicorewareinc.com>
32751 * source/common/reference.cpp, source/common/reference.h,
32752 source/encoder/motion.cpp, source/encoder/motion.h:
32753 Motion :subpel Generation
32756 2013-08-31 Steve Borho <steve@borho.org>
32758 * source/Lib/TLibCommon/TComSlice.cpp:
32759 TComSlice: fix init order for GCC
32762 * source/Lib/TLibCommon/TComRdCost.h:
32763 TComRdCost: add missing include of math.h (sqrt)
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)
32771 * source/Lib/TLibCommon/TComRdCost.h:
32772 TComRdCost: remove unused includes
32775 * source/Lib/TLibEncoder/TEncSearch.cpp:
32776 TEncSearch: remove buffer copy for full-pel SATD measurement
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
32788 TComRdCost is now just a pure-inline class with no CPP
32791 2013-08-30 Steve Borho <steve@borho.org>
32793 * source/x265opts.h:
32794 x265: disable weighted unipred CLI option
32796 The recent changes to TComPrediction::xPredInterLumaBlk() to
32797 generate subpel on demand almost certainly busted weighted
32801 * source/x265opts.h:
32802 x265: disable weighted bipred CLI option
32805 * source/Lib/TLibEncoder/TEncSearch.cpp:
32806 TEncSearch: simplify refPic initialization
32809 * source/Lib/TLibEncoder/TEncSearch.cpp,
32810 source/Lib/TLibEncoder/TEncSearch.h:
32811 TEncSearch: use optimized satd primitives for bidir fractional
32815 * source/Lib/TLibEncoder/TEncSearch.cpp:
32816 TEncSearch: fix a typo
32819 * source/Lib/TLibEncoder/TEncSearch.cpp,
32820 source/Lib/TLibEncoder/TEncSearch.h:
32821 TEncSearch: remove m_bc and inline xPatternSearchFracDIF
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
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
32838 TEncSearch::xPatternRefinement() is only used for bidir refinement,
32839 and is on the short-list to be removed once bidir is optimized.
32842 * source/Lib/TLibEncoder/TEncSearch.cpp:
32843 TEncSearch: replace getLumaFilterBlock() use with fpel getLumaAddr()
32845 This returned address is stored in m_distParam but it never actually
32846 used. The fref is overwritten before any calls to SATD
32849 * source/encoder/slicetype.cpp:
32850 slicetype: hard-code 8x8 CU size for intra predictions output buffer
32853 2013-08-30 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32855 * source/Lib/TLibCommon/TComSlice.cpp:
32856 Fix decoder crash, Initialize m_numberOfReferencePictureSets to 0
32859 2013-08-30 Steve Borho <steve@borho.org>
32861 * source/Lib/TLibCommon/TComRom.cpp:
32862 TComRom: tabs to spaces
32865 2013-08-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32867 * source/encoder/ratecontrol.cpp:
32868 ratecontrol: Slightly lower I frame qp to prevent quality drop.
32871 * source/Lib/TLibEncoder/TEncTop.cpp:
32872 ratecontrol: minor edits
32875 * source/Lib/TLibEncoder/TEncTop.cpp:
32876 ratecontrol: fix compile error.
32879 2013-08-30 Aarthi Thirumalai <aarthi@multicorewareinc.com>
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
32888 2013-08-30 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32890 * source/Lib/TLibCommon/TComPrediction.cpp:
32891 interpolate: fix hash error bug introduced by block-ip filter.
32894 2013-08-30 Min Chen <chenm003@163.com>
32896 * source/common/ipfilter.cpp, source/common/reference.cpp:
32897 interpolate: fix bug that generate error interpolate pixel in border
32901 2013-08-29 Steve Borho <steve@borho.org>
32903 * source/Lib/TLibCommon/TComPrediction.cpp:
32904 TComPrediction: cleanup xPredInterLumaBlk
32907 * source/Lib/TLibCommon/TComPrediction.cpp:
32908 TComPrediction: rename file static variable
32911 2013-08-29 Gopu Govindaswamy <gopu@multicorewareinc.com>
32913 * source/Lib/TLibCommon/TComPrediction.cpp, source/common/reference.h:
32914 TcomPridiction : IP calculation for a Block and modified the src
32918 2013-08-29 Deepthi Nandakumar <deepthi@multicorewareinc.com>
32920 * source/common/lowres.cpp:
32921 lookahead: Initialise I frame MBs to zero. This parameter gets
32922 incremented in CUcost.
32925 2013-08-29 Steve Borho <steve@borho.org>
32927 * source/encoder/slicetype.cpp:
32928 slicetype: fix eoln
32931 * source/encoder/slicetype.cpp:
32932 slicetype: do not allow edge CUs to contribute to frame cost totals
32934 (x264 does this, it seems to result in better cost estimates
32938 * source/encoder/slicetype.cpp:
32939 slicetype: use satd for lowres intra estimate
32942 2013-08-28 Steve Borho <steve@borho.org>
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
32950 * source/Lib/TLibEncoder/TEncSearch.cpp:
32951 TEncSearch: use optimized sad_x4 for bidir full search
32954 * source/encoder/motion.cpp:
32955 motion: fix a typo in full-search
32958 * source/Lib/TLibEncoder/TEncSearch.cpp:
32959 TEncSearch: use optimized sad for bidir full search
32962 * source/common/CMakeLists.txt:
32963 cmake: disable signed/unsigned comparisons from Intel C++ in common/
32966 * source/common/vec/CMakeLists.txt:
32967 cmake: disable some Intel warnings and errors we know are safe
32970 * source/common/threadpool.cpp:
32971 threadpool: fix a warning from InteL C++ compiler
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
32980 2013-08-28 Deepthi Devaki <deepthidevaki@multicorewareinc.com>
32982 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp,
32983 source/encoder/dpb.h:
32984 Remove unused code related to dpb and rps
32987 * source/encoder/dpb.cpp:
32988 dbp.cpp: white-space nits
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
32997 2013-08-28 Steve Borho <steve@borho.org>
32999 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33000 ratecontrol: we have the param for frame parallelism
33003 * source/encoder/framefilter.cpp:
33004 framefilter: use explicit 0 and 1 in lieu of Windows only FALSE and
33008 2013-08-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33010 * source/encoder/framefilter.cpp:
33011 Backout: breaks VC build
33014 2013-08-28 Rafaël Carré <funman@videolan.org>
33016 * source/encoder/framefilter.cpp:
33017 Use C++ true/false rather than Windows TRUE/FALSE
33022 2013-08-27 Shazeb Nawaz Khan <Shazeb Nawaz Khan>
33024 * source/encoder/dpb.cpp:
33025 A minor fix to computeRPS integration
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
33034 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp:
33035 Integrating computeRPS to encoder
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
33044 2013-08-28 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33046 * source/x265opts.h:
33047 ratecontrol: adding bitrate to CLI options
33050 * source/encoder/ratecontrol.cpp:
33051 ratecontrol: adding inits
33054 * source/encoder/ratecontrol.cpp:
33055 ratecontrol: minor edits
33058 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33059 ratecontrol: fps member var renamed as framerate
33062 2013-08-27 Steve Borho <steve@borho.org>
33064 * source/Lib/TLibEncoder/TEncTop.cpp:
33065 TEncTop: white-space nits
33068 * source/encoder/dpb.cpp:
33069 dpb: fix "statement has no effect" warning
33072 * source/Lib/TLibCommon/TComSlice.cpp:
33073 TComSlice: fix initialization order
33076 2013-08-27 Deepthi Nandakumar <deepthi@multicorewareinc.com>
33078 * source/Lib/TLibEncoder/TEncTop.cpp:
33082 * source/Lib/TLibEncoder/TEncTop.cpp:
33083 ratecontrol: RateControl methods only when ABR is enabled.
33086 2013-08-27 Steve Borho <steve@borho.org>
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,
33094 2013-08-27 Deepthi <Deepthi>
33096 * source/x265opts.h:
33097 ratecontrol: correcting help message, Abr=0 and constQp=1
33100 * source/encoder/ratecontrol.cpp, source/x265.h, source/x265opts.h:
33101 Adding rc-mode to CLI option list
33104 2013-08-27 sumalatha <sumalatha>
33106 * source/Lib/TLibEncoder/TEncTop.cpp:
33107 computeLambdaForQP - using the formulae of HM directly to get the
33111 2013-08-27 Shazeb Nawaz Khan <Shazeb Nawaz Khan>
33113 * source/Lib/TLibCommon/TComSlice.h, source/encoder/dpb.cpp,
33114 source/encoder/dpb.h:
33115 Adding support for RPS generation (not integrated yet)
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)
33124 2013-08-27 sumalatha <sumalatha>
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
33133 2013-08-27 Deepthi <Deepthi>
33135 * source/encoder/frameencoder.cpp:
33136 ratecontrol: Remove dqp, not relevant until AQ is implemented. Even
33137 then, dqp is an LCU parameter.
33140 2013-08-26 Steve Borho <steve@borho.org>
33142 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33143 slicetype: rename member vars for clarity
33146 * source/common/reference.cpp:
33147 reference: correctly handle frames not an even multiple of max CTU
33151 * source/common/lowres.cpp, source/common/lowres.h,
33152 source/encoder/slicetype.cpp:
33153 lowres: use 8x8 blocks for lookahead analysis
33156 * source/encoder/dpb.cpp:
33157 dpb: add default case for switch, remove trailing white-space
33160 * source/common/reference.cpp:
33161 reference: fix member variable shadowing reported by GCC
33164 * source/common/vec/pixel8.inc:
33165 pixel: more explicit HAVE_MMX logic, fixes link errors with VC11 x64
33168 2013-08-26 praveentiwari <praveentiwari>
33170 * source/common/vec/pixel8.inc:
33171 pixel8.inc: Avoiding overlap of _MSC_VER macro
33174 * source/common/vec/pixel8.inc:
33175 pixel8.inc: sad_x3_4 further optimization
33178 * source/common/vec/pixel8.inc:
33179 pixel8.inc: sad_x4_8 further optimization
33182 * source/common/vec/pixel8.inc:
33183 pixel8.inc: Further optimization
33186 * source/common/vec/pixel8.inc:
33187 pixel8.inc: sad_x3_8 further optimization
33190 * source/common/vec/pixel8.inc:
33191 pixel8.inc: sad_x3_4 further optimization
33194 * source/common/vec/pixel8.inc:
33195 pixel8.inc: sad_x4_16, vector replaced with intrinsic
33198 * source/common/vec/pixel8.inc:
33199 pixel8.inc: sad_x4_8, vector replaced with intrinsic
33202 * source/common/vec/pixel8.inc:
33203 pixel8.inc: sad_x4_4, enabled sad_x4_4 code for 32-build except VC
33206 * source/common/vec/pixel8.inc:
33207 pixel8.inc: sad_x3_8 enabled MMX code for 32-bit build except vc
33210 * source/common/vec/pixel8.inc:
33211 pixel8.inc:sad_x3_4 enabled MMX code for 32-build except VC
33214 * source/common/vec/pixel8.inc:
33215 pixel8.inc: sad_8 enabled MMX code for 32-build except VC
33218 * source/common/vec/pixel8.inc:
33219 pixel8.inc: sad_4 cleanup with macro
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]
33227 2013-08-26 Steve Borho <steve@borho.org>
33229 * source/encoder/dpb.cpp, source/encoder/dpb.h:
33230 dpb: pass free list by reference (fixes memory leaks)
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.
33237 2013-08-26 Deepthi <Deepthi>
33239 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
33240 Testharness: Removing filterV/HMultiplane from test harness.
33243 2013-08-26 Min Chen <chenm003@163.com>
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
33252 2013-08-26 Deepthi <Deepthi>
33254 * source/encoder/dpb.cpp:
33255 DPB::prepareEncode - replace code snippet with switch case
33258 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp:
33259 TEncTop: Move FrameEncoder->initSlice() to TEncTop::encode
33262 * source/Lib/TLibEncoder/TEncTop.cpp:
33263 TEncTop: (Redundant) setPOC to max value
33266 2013-08-25 Steve Borho <steve@borho.org>
33268 * source/Lib/TLibEncoder/TEncSearch.cpp:
33269 TEncSearch: refIdx typo corrected
33272 * source/Lib/TLibEncoder/TEncSearch.cpp:
33273 TEncSearch: remove redundant bestIdx initialization
33276 * source/Lib/TLibEncoder/TEncSearch.cpp,
33277 source/Lib/TLibEncoder/TEncSearch.h:
33278 TEncSearch: remove bFilled argument from xEstimateMvPredAMVP (always
33282 * source/Lib/TLibEncoder/TEncSearch.cpp:
33286 * source/common/vec/pixel8.inc:
33287 pixel: use unaligned loads for fref pixels
33290 2013-08-25 Min Chen <chenm003@163.com>
33292 * source/common/vec/ipfilter8.inc:
33293 Improvement filterHorizontalMultiplaneExtend
33296 2013-08-25 praveentiwari <praveentiwari>
33298 * source/common/vec/pixel8.inc:
33299 pixel8.inc: Uncrustified
33302 * source/common/vec/pixel8.inc:
33303 pixel8.inc: sad_x4_4 optimized assingment operators
33306 * source/common/vec/pixel8.inc:
33307 pixel8.inc: sad_x3 64-bit build fail fixed
33310 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
33311 pixel8.inc: sad_x4_4 vector replaced with intrinsic
33314 * source/common/vec/pixel.inc:
33315 uncrustified pixel.inc
33318 * source/common/vec/pixel8.inc:
33319 pixel8.inc: new line cleanup
33322 * source/common/vec/pixel8.inc:
33323 pixel8.inc: sad_x3_8 avoiding extra condition check
33326 * source/common/vec/pixel8.inc:
33327 pixel8.inc: sad_x3_16 cleanu some newlines
33330 * source/common/vec/pixel8.inc:
33331 pixel8.inc: sad_x3_4 more optimization
33334 * source/common/vec/pixel8.inc:
33335 pixel8.cpp: sad_x3_16 vector replaced with intrinsic
33338 * source/common/vec/pixel8.inc:
33339 pixel8.inc: sad_x3_8 integrated fast MMX 32-bit build code
33342 * source/common/vec/pixel8.inc:
33343 pixel8.inc: sad_x3_4 integrated faster MMX code for 32-bit build
33346 * source/common/vec/pixel8.inc:
33347 pixel8.inc: Uncrustified
33350 2013-08-25 Steve Borho <steve@borho.org>
33352 * source/encoder/CMakeLists.txt:
33353 cmake: force -march=i686 for framefilter.cpp
33356 * source/encoder/ratecontrol.cpp:
33357 ratecontol: fix case sensitive includes
33360 2013-08-23 Steve Borho <steve@borho.org>
33362 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
33363 pixel: new 16xN and x3 intrinsic primitives require SSE4.1
33366 2013-08-23 praveentiwari <praveentiwari>
33368 * source/common/vec/pixel8.inc:
33369 sad[16xN]:Intrinsic
33372 * source/common/vec/pixel8.inc:
33373 pixel8inc: sad_x3 8xN, replace vector with intrinsic
33376 * source/common/vec/pixel8.inc:
33377 sad_x3_4[4Xn]:Intrinsic
33380 2013-08-23 Steve Borho <steve@borho.org>
33382 * source/common/threading.h, source/common/wavefront.cpp:
33383 threading: rename CLZ64 to CTZ64 and reverse bit search for GCC
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
33390 * source/common/common.h, source/encoder/ratecontrol.cpp:
33391 common: make log2 functions safe for GCC, use multiply instead of
33395 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
33396 pixel: sad primitives now require SSE4.1, properly wrap #pragma
33399 2013-08-23 Deepthi <Deepthi>
33401 * source/common/vec/pixel8.inc:
33402 pixel8inc: sad 4xN, replace vector with intrinsic [Praveen]
33405 * source/common/vec/pixel8.inc:
33406 pixel8inc: sad 8xN, replace vector with intrinsic [Praveen]
33409 * source/common/vec/pixel8.inc:
33410 pixel8inc: Uncrustify [Praveen]
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
33420 * source/encoder/ratecontrol.cpp:
33421 ratecontrol: replacing more log2 calculations with macro
33424 * source/Lib/TLibEncoder/TEncTop.cpp,
33425 source/Lib/TLibEncoder/TEncTop.h:
33426 ratecontrol: move RCEnd back to TEncTop::encode
33429 * source/encoder/ratecontrol.cpp:
33430 Avoid conversion to float
33433 * source/common/common.h, source/encoder/ratecontrol.cpp:
33434 log2 define from x264
33437 2013-08-23 Aarthi <aarthi@multicorewareinc.com>
33439 * source/encoder/ratecontrol.cpp:
33440 fixed bugs in ABR mode - implemeted log2() instead of log() as
33444 2013-08-22 Steve Borho <steve@borho.org>
33446 * source/encoder/ratecontrol.cpp:
33447 ratecontrol: include all enums in switch statement, avoid GCC
33451 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33452 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
33453 sao: remove dead rdoSaoUnitAll function
33456 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33457 ratecontrol: stub in partial code for CQP
33460 * source/encoder/ratecontrol.cpp:
33461 ratecontrol: initialize rce to NULL, prevent invalid free
33464 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp:
33465 sao: fix GCC warnings about autos shadowing member variables
33468 2013-08-21 sumalatha <sumalatha>
33470 * source/encoder/ratecontrol.cpp:
33471 ratecontrol: added comments, corrected some errors in code
33474 * source/Lib/TLibEncoder/TEncTop.cpp:
33475 made changes to function call - rateControlEnd
33478 2013-08-22 Min Chen <chenm003 at 163.com> <chenm003 at 163.com>
33480 * source/CMakeLists.txt:
33481 fix bug in WinXP mode
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)
33493 * source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp,
33494 source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h:
33495 framepp: replace static class array countPreDblk and
33499 * source/encoder/framefilter.cpp, source/encoder/framefilter.h:
33500 improvement by replace lock to atom operator
33503 2013-08-20 Steve Borho <steve@borho.org>
33505 * source/encoder/slicetype.cpp:
33506 slicetype: do not use backwards L1 for slicetype estimates
33508 The lookahead engine can't really handle it.
33511 * source/encoder/dpb.cpp:
33512 dpb: ensure bframe count same as m_gopSize when fixed GOP is in use
33515 * source/encoder/slicetype.cpp:
33516 slicetype: remove redundant break statements
33519 * source/encoder/slicetype.h:
33520 slicetype: re-order member variables by size
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
33529 * source/common/common.cpp, source/encoder/encoder.cpp:
33530 common: combine WPP logging lines
33533 * source/common/common.cpp:
33534 common: add a summary log line for lookahead configuration
33537 * source/common/common.cpp:
33538 common: shorten "enabled coding tools" to "tools"
33541 2013-08-20 Min Chen <chenm003@163.com>
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
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
33555 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
33556 fix bug correct row delay with '--sao-lcu-bounds 1'
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
33564 * source/encoder/frameencoder.cpp, source/encoder/framefilter.cpp,
33565 source/encoder/framefilter.h:
33566 framepp: simplify FrameFilter control logic
33569 * source/common/threading.h, source/common/threadpool.cpp,
33570 source/common/wavefront.cpp:
33571 move ATOM operators to threading.h
33574 2013-08-20 Steve Borho <steve@borho.org>
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
33582 * source/encoder/dpb.cpp:
33583 dpb: remove obsolete TODO
33586 * source/encoder/dpb.cpp:
33587 dpb: remove redundant calls to setNumRefIdx()
33590 * source/encoder/ratecontrol.cpp:
33594 * source/encoder/dpb.cpp, source/encoder/frameencoder.cpp:
33595 dpb: move setNumRefIdx from frameEncoder to DPB for clarity
33598 2013-08-19 Steve Borho <steve@borho.org>
33600 * source/encoder/slicetype.cpp:
33601 slicetype: move special case logic for POC zero out of "fake"
33605 * source/encoder/slicetype.cpp:
33606 slicetype: initialize row satd sums at each row, delay
33607 bIntraCalculated set
33610 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33611 slicetype: malloc prediction buffer to avoid stack size issues
33614 * source/encoder/slicetype.cpp:
33615 slicetype: x and y loops were reversed
33618 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33619 slicetype: auto-variable cleanup
33622 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33623 slicetype: do_search is a bool as well
33626 * source/common/lowres.cpp, source/common/lowres.h,
33627 source/encoder/slicetype.cpp:
33628 lowres: remove redundant stride variable, use
33629 ReferencePlanes::lumaStride
33632 * source/encoder/slicetype.cpp:
33633 slicetype: remove redundant assignment
33636 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33637 slicetype: rename last_keyframe to lastKeyframe
33640 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33641 slicetype: use cfg->param structure directly, do not copy data items
33644 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33645 slicetype: copy bFrameBias from param structure
33648 * source/encoder/slicetype.cpp:
33649 slicetype: fixup bIntraPenalty type
33652 * source/encoder/slicetype.h:
33653 slicetype: remove unused analyze_keyframe variable
33656 * source/encoder/slicetype.cpp:
33657 slicetype: estimate SATD cost of first I frame
33660 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33661 slicetype: realScenecut is a bool
33664 * source/encoder/slicetype.cpp:
33665 slicetype: add disabled "real path"
33668 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33669 slicetype: change slicetypeAnalyze argument type to bool, fix
33673 * source/encoder/slicetype.cpp:
33674 slicetype: set lowres.frameNum in addPicture()
33677 * source/encoder/slicetype.cpp:
33678 slicetype: fix order of operations, remove obsolete comment
33681 * source/encoder/slicetype.cpp:
33682 slicetype: improve history comment
33685 2013-08-19 Min Chen <chenm003@163.com>
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
33693 2013-08-19 Steve Borho <steve@borho.org>
33695 * source/common/wavefront.cpp:
33696 wavefront: use _BitScanForward64 on Windows to get proper bit
33699 Spotted and fixed by Min Chen
33702 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/dpb.cpp:
33703 dpb: move the pushBack of the frame into DPB::prepareEncode()
33706 * source/Lib/TLibEncoder/TEncAnalyze.h,
33707 source/Lib/TLibEncoder/TEncTop.cpp:
33708 TEncAnalyze: rename setFrmRate to setFrameRate
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
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,
33722 x265: add -F/--frame-threads CLI option, param->frameNumThreads
33724 This required allocating an array of FrameEncoder instances, which
33725 required adding a method for initializing the thread pool after
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)
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
33744 * source/common/CMakeLists.txt:
33745 cmake: add COPYING to common project to remove any ambiguity
33748 * source/Lib/TLibCommon/TComSlice.cpp:
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
33758 2013-08-18 Steve Borho <steve@borho.org>
33760 * source/common/lookahead.cpp:
33761 lookahead: re-initialize lowresMvs by dereferencing first MV (nit)
33764 * source/encoder/cturow.cpp:
33765 cturow: remove prefixes from loop autos
33768 * source/encoder/cturow.cpp:
33769 cturow: remove pc prefix from rdSbacCoder
33772 * source/common/lookahead.cpp:
33773 lookahead: fix intraCost data type for malloc
33776 * source/common/lookahead.cpp:
33777 lookahead: re-enable downscale, ensure lowres stride is multiple of
33781 * source/encoder/slicetype.cpp:
33782 slicetype: simplify intra processing
33785 * source/encoder/slicetype.cpp:
33786 slicetype: improve comments
33789 * source/encoder/slicetype.cpp:
33790 slicetype: remove warning disables now that functionality is all
33794 * source/encoder/slicetype.cpp:
33795 slicetype: update authors now that x264 routines are removed
33798 * source/encoder/motion.cpp:
33799 motion: remove hungarian prefixes from temp vars
33802 * source/common/mv.h:
33803 mv: switch from class to struct since member vars do not have m_
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
33816 * source/common/reference.h:
33817 reference: convert ReferencePlanes from class to struct
33819 I want to remove m_ prefix, and a policy of m_ for class but not for
33820 struct seems reasonable
33823 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/primitives.cpp:
33824 ContextModel: move static initialization out of TEncTop constructor
33827 * source/Lib/TLibCommon/ContextModel.cpp,
33828 source/Lib/TLibCommon/ContextModel.h:
33829 ContextModel: variable name cleanup
33832 * source/common/lookahead.h, source/encoder/slicetype.cpp,
33833 source/encoder/slicetype.h:
33834 slicetype: move cuWidth and cuHeight from LookaheadFrame to
33838 * source/encoder/slicetype.cpp:
33839 slicetype: simplify intra cost check
33842 * source/encoder/motion.cpp:
33843 motion: avoid QPEL refinement during lookahead
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.
33851 * source/common/lookahead.cpp, source/common/reference.h:
33852 reference: add lowres flag
33855 * source/encoder/slicetype.cpp:
33856 slicetype: establish lowres search bounds
33859 2013-08-16 Min Chen <chenm003@163.com>
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
33872 2013-08-16 praveentiwari <praveentiwari>
33874 * source/common/vec/sse.inc:
33875 sse_pp8: Eliminated shift
33878 2013-08-16 Steve Borho <steve@borho.org>
33880 * source/encoder/slicetype.cpp:
33881 slicetype: more varname cleanups
33884 * source/encoder/slicetype.cpp:
33885 slicetype: fix GCC nits
33888 * source/encoder/slicetype.cpp:
33892 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
33893 slicetype: fill missing detail, use x265 varname style, remove old
33897 * source/encoder/slicetype.cpp:
33898 slicetype: fix another cu_size
33901 * source/encoder/slicetype.cpp:
33902 clicetype: uncrustify
33905 2013-08-16 ggopu <ggopu>
33907 * source/common/lookahead.h, source/encoder/slicetype.cpp,
33908 source/encoder/slicetype.h, source/x265.h:
33909 slicetype: Added slicetypeAnalyse
33912 2013-08-16 Steve Borho <steve@borho.org>
33914 * source/Lib/TLibCommon/TComTrQuant.cpp:
33915 TrComQuant: fix 8bpp build
33918 * source/Lib/TLibCommon/TComTrQuant.cpp:
33919 TrComQuant: lastpos formal parameter unreferenced
33922 * source/common/vec/dct.inc:
33923 dct: prevent compilation of quant for < SSE4.1 (fixes GCC build)
33926 2013-08-16 Min Chen <chenm003@163.com>
33928 * source/Lib/TLibEncoder/TEncSearch.cpp:
33929 idct: more dc mode detect code
33932 * source/Lib/TLibCommon/TComTrQuant.cpp,
33933 source/Lib/TLibCommon/TComTrQuant.h:
33934 cleanup: remove unused code invRecurTransformNxN
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
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
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
33956 * source/common/vec/dct.inc, source/test/mbdstharness.cpp:
33957 quant: Improved performance by SSE4
33960 * source/encoder/slicetype.cpp:
33961 temp for Intra Buffer generate
33964 2013-08-16 Steve Borho <steve@borho.org>
33966 * source/encoder/ratecontrol.cpp:
33970 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33971 ratecontrol: move defines within CPP file
33974 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
33975 ratecontrol: move math methods to CPP file as file statics
33978 2013-08-16 sumalatha <sumalatha>
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
33986 2013-08-16 Steve Borho <steve@borho.org>
33988 * source/Lib/TLibEncoder/TEncTop.cpp:
33989 TEncTop: GCC needs math.h for log10()
33992 * source/encoder/encoder.cpp:
33993 encoder: add a comment explaining the odd nature of encoder.cpp
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
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
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.
34013 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34014 frame: inline wait_lft and re-order code for more clarity
34017 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34018 frame: simplify determineSliceBounds
34021 2013-08-15 Steve Borho <steve@borho.org>
34023 * source/encoder/frameencoder.cpp:
34027 * source/encoder/frameencoder.cpp:
34028 frame: remove unused oneBitstreamPerSliceLength
34031 * source/encoder/frameencoder.cpp:
34032 frame: replace access method calls with direct variable accesses
34035 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34036 frame: rename compressSlice to compressCTURows()
34039 * source/encoder/frameencoder.cpp:
34040 frame: hoist stat file logging into compressFrame()
34043 * source/encoder/frameencoder.cpp:
34044 frame: isolate CU processing functionality into compressSlice()
34046 Other unrelated functionality pulled up into compressFrame()
34049 * source/encoder/frameencoder.cpp:
34050 frame: move xStoreWPparam() together with rest of weightp analysis
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
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
34070 * source/Lib/TLibEncoder/SEIwrite.h:
34071 SEIWrite: remove only unused data member
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
34080 Much of the function needs to use singleton data elements in TEncTop
34081 anyway, and very little of it needs the frame encoder.
34084 * source/Lib/TLibEncoder/TEncGOP.cpp:
34085 TEncGOP: move digestToString so it doesn't need forward decl
34088 * source/Lib/TLibEncoder/TEncGOP.cpp,
34089 source/Lib/TLibEncoder/TEncGOP.h:
34090 TEncGOP: remove unused xGetFirstSeiLocation
34093 * source/Lib/TLibEncoder/TEncGOP.cpp,
34094 source/Lib/TLibEncoder/TEncGOP.h:
34095 TEncGOP: inline xAttachSliceDataToNalUnit, only used once
34098 * source/Lib/TLibEncoder/TEncGOP.cpp,
34099 source/Lib/TLibEncoder/TEncGOP.h:
34100 TEncGOP: inline SEI creation functions
34102 I see no need to alloc/free them
34105 * source/Lib/TLibEncoder/TEncGOP.cpp,
34106 source/Lib/TLibEncoder/TEncGOP.h:
34107 TEncGOP: drop HRD/DU logic and SEI message generation
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.
34114 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/frameencoder.cpp:
34115 TEncTop: move ASR initialization to compressSlice()
34118 2013-08-16 Min Chen <chenm003@163.com>
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
34127 framepp: loopfilter and sao need same control value
34130 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
34131 source/Lib/TLibCommon/TComSampleAdaptiveOffset.h:
34132 cleanup: remove unused code TComSampleAdaptiveOffset::processSaoCu
34135 * source/Lib/TLibEncoder/TEncGOP.cpp:
34136 cleanup: remove unused code
34139 * source/Lib/TLibEncoder/TEncGOP.cpp:
34140 cleanup: remove unused code
34143 * source/encoder/frameencoder.cpp:
34144 fix VC9 compile error
34147 2013-08-15 Steve Borho <steve@borho.org>
34149 * source/Lib/TLibEncoder/TEncGOP.cpp,
34150 source/Lib/TLibEncoder/TEncGOP.h:
34151 TEncGOP: unify hash and PSNR reporting into one routine
34154 * source/Lib/TLibEncoder/TEncGOP.cpp,
34155 source/Lib/TLibEncoder/TEncGOP.h:
34156 TEncGOP: remove redundant argument to xCreateSEIActiveParameterSets
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
34166 * source/Lib/TLibEncoder/TEncGOP.cpp:
34167 TEncGOP: reorder some code for more clarity
34170 * source/Lib/TLibEncoder/TEncGOP.cpp,
34171 source/Lib/TLibEncoder/TEncGOP.h,
34172 source/Lib/TLibEncoder/TEncTop.cpp:
34173 TEncGOP: prune unused cruft
34176 * source/Lib/TLibEncoder/TEncGOP.cpp:
34177 TEncGOP: remove access var only used twice
34180 * source/Lib/TLibEncoder/TEncGOP.cpp:
34181 TEncGOP: use m_cfg in lieu of m_top where applicable
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
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
34198 And give a less idiotic name
34201 * source/encoder/frameencoder.cpp:
34202 frameencoder: include math.h for GCC
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
34212 * source/encoder/frameencoder.cpp:
34213 frameencoder: enqueue framefilter after frameencoder
34215 This gives higher priority to compressCU jobs over deblocking jobs
34218 * source/encoder/frameencoder.cpp:
34219 frameencoder: simplify motion reference generation
34222 * source/encoder/frameencoder.cpp:
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
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
34237 frameencoder is getting crowded with TEncSlice methods being
34238 integrated, and it is only going to grow as TEncGOP is broken up.
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
34248 * source/Lib/TLibEncoder/TEncSlice.cpp,
34249 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.cpp:
34250 TEncSlice: prune unnecessary cruft
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()
34259 * source/Lib/TLibEncoder/TEncSlice.cpp,
34260 source/Lib/TLibEncoder/TEncSlice.h:
34261 TEncSlice: remove unused resetQP method
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
34271 * source/Lib/TLibEncoder/TEncSlice.cpp,
34272 source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
34273 frameencoder: retrieve slice from pic
34276 * source/Lib/TLibEncoder/TEncSlice.h, source/encoder/frameencoder.h:
34277 more include cleanups
34280 * source/Lib/TLibEncoder/WeightPredAnalysis.h:
34281 WeightPredAnalysis: simplify includes
34284 * source/Lib/TLibEncoder/TEncSlice.cpp,
34285 source/Lib/TLibEncoder/TEncSlice.h:
34286 TEncSlice: remove unused xGetQPValueAccordingToLambda
34289 * source/Lib/TLibEncoder/TEncGOP.cpp:
34290 TEncGOP: report slice depth in verbose logging
34293 * source/Lib/TLibEncoder/TEncCfg.h,
34294 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
34295 encoder: remove unexposed m_recalculateQPAccordingToLambda
34298 * source/Lib/TLibCommon/CommonDef.h,
34299 source/Lib/TLibEncoder/TEncSlice.cpp:
34300 CommonDef: remove unnecessary HB_LAMBDA_FOR_LDC
34303 * source/Lib/TLibEncoder/TEncSlice.cpp:
34304 TEncSlice: re-order logic for more clarity
34307 * source/Lib/TLibEncoder/TEncSlice.cpp:
34308 TEncSlice: remove obsolete comments for initEncSlice()
34311 * source/Lib/TLibEncoder/TEncGOP.cpp:
34312 TEncGOP: re-order some functions by use
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
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
34327 * source/Lib/TLibEncoder/TEncGOP.cpp,
34328 source/Lib/TLibEncoder/TEncGOP.h:
34329 TEncGOP: remove unnecessary pointer argument reference
34332 * source/encoder/encoder.cpp:
34333 encoder: use true/false to assign bool values
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
34343 2013-08-14 Steve Borho <steve@borho.org>
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
34351 * source/Lib/TLibEncoder/TEncTop.cpp,
34352 source/Lib/TLibEncoder/TEncTop.h:
34353 TEncTop: remove m_picsEncoded
34356 * source/Lib/TLibEncoder/TEncGOP.cpp,
34357 source/Lib/TLibEncoder/TEncGOP.h:
34358 TEncGOP: move utility functions to the end of the file, cleanups
34361 * source/Lib/TLibEncoder/TEncGOP.cpp:
34362 TEncGOP: increment m_totalCoded appropriately, improve comments
34365 * source/Lib/TLibEncoder/TEncGOP.cpp,
34366 source/Lib/TLibEncoder/TEncGOP.h:
34367 TEncGOP: remove unused ref pic fields
34370 * source/Lib/TLibEncoder/TEncGOP.cpp:
34371 TEncGOP: use configured bitrate instead of hard-coded value
34374 * source/Lib/TLibEncoder/TEncGOP.h:
34375 TEncGOP: prepare to bifurcate TEncGOP
34378 * source/Lib/TLibEncoder/TEncCfg.h:
34379 TEncCfg: drop unused m_framesToBeEncoded
34382 * source/Lib/TLibEncoder/TEncTop.cpp:
34383 TEncTop: fix recon file write with 16bpp builds
34386 * source/encoder/ratecontrol.cpp:
34387 ratecontrol: fix vc10 release build
34390 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34391 ratecontrol: clean compile for GCC - not sure all these changes are
34395 * source/encoder/slicetype.cpp:
34396 slicetype: more fixes
34399 * source/encoder/slicetype.cpp:
34400 slicetype: include list used in lowresCosts
34402 0 - intra 1 - inter L0 2 - inter L1 3 - bidir (future)
34405 * source/encoder/slicetype.cpp:
34406 slicetype: fix I frame cost accumulation, use min to clamp
34410 * source/common/lookahead.cpp, source/common/lookahead.h:
34411 lookahead: add intraCost array
34414 * source/encoder/slicetype.cpp:
34415 slicetype: fixup intra cost and combinations
34418 2013-08-14 ggopu <ggopu>
34420 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
34421 slicetype : estimateCUCost enhancement for selecting best cost
34424 2013-08-14 Steve Borho <steve@borho.org>
34426 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h,
34428 ratecontrol: use doubles, fix warnings
34431 * source/Lib/TLibEncoder/TEncGOP.cpp:
34432 TEncGOP: re-order some code for clarity
34435 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34436 ratecontrol: uncrustify
34439 * source/common/common.cpp:
34440 common: prevent warnings about double-to-float conversions
34443 * source/encoder/CMakeLists.txt:
34444 cmake: add ratecontrol to the build
34447 * source/Lib/TLibEncoder/TEncGOP.cpp, source/common/common.cpp,
34448 source/encoder/encoder.cpp, source/encoder/ratecontrol.h,
34453 2013-08-14 sumalatha <sumalatha>
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
34463 2013-08-14 Steve Borho <steve@borho.org>
34465 * source/Lib/TLibEncoder/TEncTop.cpp:
34466 TEncTop: fix some obsolete comments
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
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
34484 2013-08-13 Steve Borho <steve@borho.org>
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
34493 * source/Lib/TLibEncoder/TEncTop.cpp,
34494 source/Lib/TLibEncoder/TEncTop.h:
34495 TEncTop: allocate frames as needed, recycle unreferenced frames from
34499 * source/Lib/TLibCommon/TComPic.h, source/common/lookahead.cpp,
34500 source/common/lookahead.h:
34501 lookahead: add slicetype decision outputs
34504 * source/common/lookahead.cpp:
34505 lookahead: hide unused formal parameter, prevent compiler warning
34508 * source/common/lookahead.cpp, source/common/lookahead.h:
34509 lookahead: fix EOLN, move methods to CPP file, disable downscale
34513 * source/Lib/TLibEncoder/TEncGOP.cpp:
34514 TEncGOP: don't pretend the gop encoder has multiple frame encoders
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
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
34526 * source/Lib/TLibCommon/TComPic.cpp, source/common/lookahead.cpp,
34527 source/common/lookahead.h:
34528 lookahead: move remaining create logic into create method
34531 * source/common/lookahead.cpp:
34532 lookahead: simplify create() method slightly
34535 * source/Lib/TLibCommon/TComPic.cpp:
34536 TComPic: add missing call to lowres.create()
34539 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/lookahead.h:
34540 lookahead: move downscale and extend logic into lowres.init()
34543 * source/Lib/TLibCommon/TComPic.h:
34544 TComPic: add sliceType member variable for lookahead output
34547 The TComPic doesn't have a TEncSlice associated with it until encode
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
34558 * source/encoder/slicetype.cpp, source/encoder/slicetype.h:
34559 slicetype: remove incorrect comments
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
34568 * source/x265opts.h:
34569 x265: no camelcase CLI options
34572 * source/x265opts.h:
34573 x265: fix help for bFrameBias
34577 x265: show boolean flag defaults even if they have a short-option
34580 * source/x265opts.h:
34581 x265: re-order boolean flags for more logical groupings
34584 * source/x265opts.h:
34585 x265: remove obsolete default documentation
34588 2013-08-13 ggopu <ggopu>
34591 x265 cli: Added default values to the CLI help text
34594 2013-08-13 Steve Borho <steve@borho.org>
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
34602 * source/Lib/TLibEncoder/TEncGOP.cpp:
34603 TEncGOP: remove unnecessary scope level
34606 * source/Lib/TLibEncoder/TEncTop.h:
34607 TEncTOP: forward decl Lookahead and ThreadPool
34610 * source/encoder/encoder.cpp:
34611 encoder: prevent warnings for open-gop config
34614 * source/encoder/slicetype.cpp:
34615 slicetype: only calculate lowres intra costs once per input picture
34618 * source/encoder/slicetype.cpp:
34619 slicetype: rename tmp to predictions
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
34627 * source/encoder/slicetype.cpp:
34628 slicetype: fix prediction and sa8d arguments
34631 * source/encoder/motion.h:
34632 motion: expose COST_MAX
34635 2013-08-13 ggopu <ggopu>
34637 * source/encoder/motion.h, source/encoder/slicetype.cpp:
34638 slicetype: satd cost analysis bug fixed
34641 2013-08-13 Steve Borho <steve@borho.org>
34643 * source/common/common.cpp, source/encoder/encoder.cpp:
34644 encoder: repair open-gop behavior
34646 it was broken when we replaced uint getKeyframeInterval() with
34647 signed int param.keyframeInterval
34650 * source/encoder/slicetype.cpp:
34651 slicetype: add comment to make uncrustify happy
34654 * source/common/lookahead.h:
34655 lookahead: remove unused macro
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
34664 2013-08-12 Steve Borho <steve@borho.org>
34666 * source/common/lookahead.h:
34667 lookahead: reorder and document LookaheadFrame
34670 * source/encoder/slicetype.cpp:
34671 slicetype: rename X264_LOOKAHEAD_QP
34674 * source/encoder/slicetype.cpp:
34675 slicetype: use hex search in lookahead
34678 2013-08-12 ggopu <ggopu>
34680 * source/encoder/slicetype.cpp:
34681 slicetype : Uncrustify
34684 2013-08-12 Steve Borho <steve@borho.org>
34686 * source/Lib/TLibEncoder/TEncGOP.cpp:
34690 * source/Lib/TLibEncoder/TEncGOP.cpp:
34691 TEncGOP: move adaptive search range determination a bit later
34694 * source/Lib/TLibEncoder/TEncGOP.cpp:
34695 TEncGOP: use REF_PIC_LIST enums directly
34698 * source/Lib/TLibEncoder/TEncGOP.cpp:
34699 TEncGOP: move access unit allocation closer to bitstream generation
34701 This further isolates the slice initialization code
34704 * source/Lib/TLibEncoder/TEncGOP.cpp:
34705 TEncGOP: wrap long line
34708 * source/Lib/TLibEncoder/TEncGOP.cpp:
34709 TEncGOP: use m_cfg to reference scaling list type
34712 * source/Lib/TLibEncoder/TEncGOP.cpp:
34713 TEncGOP: rename iRef to ref
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
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
34727 2013-08-11 ggopu <ggopu>
34729 * source/encoder/slicetype.cpp:
34730 slicetype: added x265_median_mv
34733 2013-08-12 Steve Borho <steve@borho.org>
34735 * source/CMakeLists.txt:
34736 cmake: add Windows-only option to make binary compatible with
34740 2013-08-11 Steve Borho <steve@borho.org>
34742 * source/input/yuv.cpp:
34743 yuv: delay signed int cast until after division by picture size
34745 This should fix reported negative frame count problems
34748 * source/Lib/TLibEncoder/TEncTop.cpp:
34749 TEncTop: GOP encoders are no longer allocated as an array
34754 2013-08-11 Aarthi <aarthi@multicorewareinc.com>
34756 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34757 uncrustify, code cleanup , continue porting x264 rate control to
34761 2013-08-11 Steve Borho <steve@borho.org>
34763 * source/Lib/TLibEncoder/TEncGOP.cpp,
34764 source/Lib/TLibEncoder/TEncSlice.cpp:
34765 TEncGOP: move slice reference flag from TEncSlice to TEncGOP
34767 Move it together with the rest of the code that determines slice and
34771 * source/test/pixelharness.cpp:
34772 pixelharness: revert memcmp counts to full block size
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
34784 2013-08-09 Steve Borho <steve@borho.org>
34786 * source/encoder/encoder.cpp:
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
34795 * source/encoder/frameencoder.cpp:
34796 frameencoder: fix member initialization order for GCC
34799 * source/encoder/slicetype.cpp:
34800 slicetype: fix GCC warnings and EOLN damage and one bug
34803 2013-08-09 sumalatha <sumalatha>
34805 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34806 Uncrustify ratecontrol.cpp and ratecontrol.h
34809 2013-08-09 praveentiwari <praveentiwari>
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
34816 * source/common/vec/sse.inc:
34817 sse.inc: Added name to contributed file
34820 * source/common/vec/dct.inc:
34821 dct.inc: Added name to contributed file
34824 2013-08-09 Steve Borho <steve@borho.org>
34826 * source/common/lookahead.h, source/encoder/slicetype.cpp:
34827 slicetype: fill in more lookahead detail
34830 2013-08-08 Steve Borho <steve@borho.org>
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
34837 aka, mark where the demolition charges are set
34840 2013-08-08 Min Chen <chenm003@163.com>
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
34850 2013-08-08 Steve Borho <steve@borho.org>
34852 * source/common/vec/pixel.inc:
34853 pixel: allow intel compiler to generate AVX2 intrinsics
34856 * source/common/vec/pixel.inc:
34857 pixel: disable AVX2 instrinsic SAD primitives for VC11
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
34864 * source/test/ipfilterharness.cpp:
34865 ipfilter: and some more tabs
34868 * source/test/ipfilterharness.cpp:
34869 ipfilter: nuke some tabs
34872 * source/Lib/TLibCommon/TComCABACTables.h:
34873 TComCABACTables: fix ICL warning about order of variable modifiers
34876 * source/test/ipfilterharness.cpp:
34877 ipfilter: malloc output buffers for testbench - prevents ICL stack
34881 * source/common/vec/sse.inc:
34882 sse: variable renames to match pixelcmp style
34885 2013-08-08 praveentiwari <praveentiwari>
34887 * source/common/vec/sse.inc:
34888 sse_pp64: +1x over last commit
34891 * source/common/vec/sse.inc:
34892 sse_pp48: +1x over last commit
34895 * source/common/vec/sse.inc:
34896 sse_pp32: Better performance result
34899 * source/common/vec/sse.inc:
34900 sse_pp24: Better performance result
34903 * source/common/vec/sse.inc:
34904 sse_pp16: Better performance result
34907 * source/common/vec/sse.inc:
34908 sse_pp12: Replced costly psrli + pmovzx and psrli + add
34911 * source/common/vec/sse.inc:
34912 sse_pp8: Replaced 'vpbroadcastd' with cheaper 'pxor' instruction
34915 2013-08-08 sumalatha <sumalatha>
34917 * source/encoder/ratecontrol.cpp, source/encoder/ratecontrol.h:
34918 add (incomplete) ratecontrol.cpp and ratecontrol.h
34921 2013-08-08 praveentiwari <praveentiwari>
34923 * source/common/vec/ipfilter8.inc:
34924 filterVertical_s_p: VC9 fix
34927 2013-08-08 Steve Borho <steve@borho.org>
34929 * source/encoder/CMakeLists.txt:
34930 cmake: add slicetype.cpp to the encoder build
34933 * source/Lib/TLibCommon/TComPic.h:
34937 2013-08-08 ggopu <ggopu>
34939 * source/common/lookahead.h, source/encoder/slicetype.cpp:
34940 slicetype: modified lookahead structure and added
34941 slicetype_cu_cost()
34944 * source/encoder/slicetype.cpp:
34945 Uncrustify slicetype.cpp
34948 2013-08-08 Steve Borho <steve@borho.org>
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
34955 * source/CMakeLists.txt:
34956 cmake: Intel's ICL mimics MSVC compiler commandline, treat as equiv
34959 2013-08-07 Min Chen <chenm003@163.com>
34961 * source/Lib/TLibEncoder/TEncCavlc.cpp,
34962 source/Lib/TLibEncoder/TEncTop.cpp:
34963 fix bug when '--no-wpp --no-lft'
34966 * source/common/common.cpp, source/x265opts.h:
34967 rename option from 'lpf' to 'lft'
34970 2013-08-07 praveentiwari <praveentiwari>
34972 * source/common/vec/sse.inc:
34973 sse_pp64: +1.5x for all versions
34976 * source/common/vec/sse.inc:
34977 sse_pp48: Improved performance result for all versions
34980 * source/common/vec/sse.inc:
34981 sse_pp24: Improved performance result for all the versions
34984 * source/common/vec/sse.inc:
34985 sse_pp32: Improved performance for all versions above 1x
34988 * source/common/vec/sse.inc:
34989 sse.inc: Uncrustified
34992 2013-08-07 Steve Borho <steve@borho.org>
34994 * source/Lib/TLibEncoder/TEncGOP.cpp:
34995 TEncGop: simplify call of setMvdL1ZeroFlag()
34998 * source/common/pixel.cpp:
34999 pixel: white-space cleanups in frame_init_lowres_core
35002 * source/test/pixelharness.cpp:
35003 pixelharness: fix more test dimensions
35006 2013-08-06 Steve Borho <steve@borho.org>
35008 * source/Lib/TLibEncoder/TEncTop.cpp:
35009 TEncTop: simplify pic list destruction
35012 * source/Lib/TLibEncoder/TEncTop.cpp:
35013 TEncTop: correct an old comment
35016 2013-08-06 Deepthi Devaki <Deepthi Devaki>
35018 * source/common/vec/ipfilter8.inc:
35019 ipfilter8.inc: Uncrustified
35022 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35023 ipfilter8.inc: vectorized vertical weighted filter
35026 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
35027 ipfilterharness: unit test for vertical weighted filter
35030 2013-08-06 Steve Borho <steve@borho.org>
35032 * source/common/vec/pixel.inc, source/common/vec/sse.inc:
35033 sse: sse_pp requires SSE4.1
35036 * source/Lib/TLibCommon/TComPic.cpp:
35037 TComPic: fix the malloc logic
35040 * source/Lib/TLibCommon/TComPic.cpp:
35041 TComPic: fix white-space style
35044 2013-08-06 praveentiwari <praveentiwari>
35046 * source/common/vec/sse.inc:
35047 sse_pp16: more than +1x performance improvement for all versions.
35050 * source/common/vec/sse.inc:
35051 sse_pp12 all versions, improved performance with intrinsic code
35054 * source/common/vec/sse.inc:
35055 +1x for all versions of sse_pp8
35058 2013-08-06 Min Chen <chenm003@163.com>
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
35065 2013-08-06 Steve Borho <steve@borho.org>
35067 * source/Lib/TLibCommon/TComPic.cpp:
35068 TComPic: initialize m_bframes and lowres struct to all zeros
35071 * source/test/pixelharness.cpp:
35072 pixelharness: futher magic value cleanups, use STRIDE as appropriate
35075 * source/Lib/TLibCommon/TComLoopFilter.cpp:
35076 TComLoopFilter: fix variable shadowing
35078 The HM was using Edge as a parameter and iEdge as a loop variable
35081 * source/Lib/TLibEncoder/TEncSbac.cpp,
35082 source/Lib/TLibEncoder/TEncSbac.h:
35083 TEncSBac: iOffset -> offset
35086 * source/Lib/TLibCommon/TComPattern.cpp:
35087 TComPattern: piSrc -> sec
35090 * source/Lib/TLibCommon/TComLoopFilter.cpp,
35091 source/Lib/TLibCommon/TComLoopFilter.h:
35092 TComLoopFilter: strip hungarian prefixes from members and autos
35095 2013-08-06 Min Chen <chenm003@163.com>
35097 * source/Lib/TLibCommon/TComLoopFilter.cpp:
35098 framepp: merge V/H filter into one loop
35101 * source/Lib/TLibCommon/TComLoopFilter.cpp:
35102 framepp: loopfilter simplify and remove redundant
35103 getDeblockingFilterDisable()
35106 2013-08-05 Steve Borho <steve@borho.org>
35108 * source/test/pixelharness.cpp:
35109 pixelharness: stride of 64, incr of 32, remove magical values
35111 This should fix AVX2 test failures and make the code more
35115 * source/test/pixelharness.cpp:
35116 pixelharness: remove redundant defines
35119 * source/Lib/TLibEncoder/TEncCfg.h:
35120 white-space cleanups in TEncCfg.h
35123 * source/encoder/motion.cpp, source/encoder/motion.h:
35124 motion: remove dead subsample member
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
35134 * source/Lib/TLibEncoder/TEncGOP.cpp:
35135 TEncGOP: remove unused multi-slice logic
35138 * source/Lib/TLibEncoder/TEncGOP.cpp:
35139 TEncGOP: isolate colDir logic within B-frame expression
35142 2013-08-05 ggopu <ggopu>
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
35149 2013-08-05 Steve Borho <steve@borho.org>
35151 * source/Lib/TLibEncoder/TEncCfg.h,
35152 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
35153 remove redundant m_deblockingFilterControlPresent
35156 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp:
35157 remove redundant m_bLoopFilterDisable
35160 2013-08-05 Min Chen <chenm003@163.com>
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
35171 2013-08-05 Deepthi Devaki <Deepthi Devaki>
35173 * source/common/vec/ipfilter8.inc:
35174 Optimizations to horizontal weighted filter
35177 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35178 vectorized horizontal weighted filter
35181 * source/test/ipfilterharness.cpp:
35182 ipfilterharness: modifications to weighted filter testbench
35185 2013-08-05 praveentiwari <praveentiwari>
35187 * source/common/vec/ipfilter8.inc:
35188 filterHorizontal_p_s: saving instructions with control execution
35191 * source/common/vec/ipfilter8.inc:
35192 filterHorizontal_p_p: sum decleared as local register
35195 * source/common/vec/ipfilter8.inc:
35196 filterHorizontal_p_p: saving instruction with control execution
35199 2013-08-05 Steve Borho <steve@borho.org>
35201 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35202 ipfilter: ipfilter_pp uses SSE4.1 instructions
35205 2013-08-04 Aarthi <aarthi@multicorewareinc.com>
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
35219 2013-08-02 Steve Borho <steve@borho.org>
35221 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35222 ipfilter: remove vector versions of more optimized functions
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
35233 There wasn't enough differentiation (only abs() changed with SSE42)
35234 to warrant all the extra build time.
35237 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
35239 x265: switch cpu levels from enum to defines
35242 * source/common/vec/pixel.inc:
35243 pixel: move sse.inc include closer to other primitive includes
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
35253 * source/common/primitives.h:
35254 primitives: white-space fix
35258 x265: add enums for CPU SIMD architecture levels
35262 x265: fix C++ism in public header and some white-space issues
35265 * source/encoder/frameencoder.cpp:
35266 frameencoder: do not check row priority if WPP is disabled
35269 * source/Lib/TLibEncoder/TEncCfg.h, source/Lib/TLibEncoder/TEncCu.cpp,
35270 source/encoder/compress.cpp:
35271 TEncCfg: nuke most set*() methods
35274 2013-08-02 praveentiwari <praveentiwari>
35276 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35277 filterVertical_p_p: intrinsic for vector replacement
35280 * source/common/vec/ipfilter8.inc:
35281 filterVertical_s_p: constrution replaced with shuffle
35284 * source/common/vec/ipfilter8.inc:
35285 filterVertical_s_p: fix for VC9 test bench fail
35288 2013-08-02 Steve Borho <steve@borho.org>
35290 * source/encoder/encoder.cpp:
35291 encoder: fix member variable shadowing
35294 2013-08-02 ggopu <ggopu>
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
35303 2013-08-02 aarthi <aarthi>
35305 * source/encoder/encoder.cpp:
35306 replaced all the set*() methods with the member variables in
35310 2013-08-02 Shazeb N Khan <Shazeb N Khan>
35312 * source/test/ipfilterharness.cpp, source/test/ipfilterharness.h:
35313 TestBench for filter-Weighted
35316 2013-08-01 Steve Borho <steve@borho.org>
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
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
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
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
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
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
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
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
35368 * source/encoder/encoder.cpp:
35369 encoder: note some missing logic in level enforcement
35372 * source/common/common.cpp:
35373 common: update warning message about searchMethod values
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-
35382 * source/Lib/TLibEncoder/TEncSearch.cpp,
35383 source/Lib/TLibEncoder/TEncSearch.h, source/x265.h,
35385 remove HM's unidirectional motion search except full search
35388 * source/encoder/encoder.cpp:
35389 biprediction uses HM's full search routine unconditionally
35391 The search method for uni-directional search does not depend on
35392 bipred search configuration.
35395 2013-08-01 Shazeb N Khan <Shazeb N Khan>
35397 * source/Lib/TLibCommon/TComPrediction.cpp,
35398 source/Lib/TLibEncoder/TEncSearch.cpp,
35399 source/Lib/TLibEncoder/TEncSlice.cpp:
35400 TEncSearch, TEncSlice, TComPrediction: Uncrustified
35403 2013-08-01 Steve Borho <steve@borho.org>
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
35412 2013-08-01 Shazeb N Khan <Shazeb N Khan>
35414 * source/Lib/TLibCommon/TComSlice.h,
35415 source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/encoder.cpp:
35416 Integration of weighted frames in the encoder
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
35425 2013-08-01 Steve Borho <steve@borho.org>
35427 * source/Lib/TLibCommon/TComPicYuv.cpp, source/common/reference.cpp,
35428 source/common/reference.h:
35429 reference: add methods for setting and comparing weights
35432 * source/common/reference.h, source/encoder/motion.cpp,
35433 source/encoder/motion.h:
35434 reference: split reference plane data from interpolation logic
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.
35441 * source/Lib/TLibCommon/CommonDef.h, source/encoder/compress.cpp:
35442 Move LAMBDA_PARTITION_SELECT defnition from CommonDef to
35446 * source/common/vec/ipfilter8.inc:
35447 ipfilter: remove unused maxVal variable (for 8bpp it is unnecessary)
35450 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35451 ipfilter_sp uses SSE4 instructions
35454 * source/common/common.cpp:
35455 common: enable WPP by default, disable by --no-wpp or --threads 1
35458 2013-08-01 praveentiwari <praveentiwari>
35460 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35461 Close to +2x performance improvement for filterVertical_s_p
35464 2013-08-01 sumalatha <sumalatha>
35466 * source/Lib/TLibCommon/CommonDef.h:
35467 adjusted LAMBDA_PARTITION_SELECT value to 0.9 - optimal for using in
35471 * source/encoder/compress.cpp:
35472 made logic changes to EARLY_EXIT_NO_RDO mode - optimized for perf
35476 * source/encoder/compress.cpp:
35477 uncrustify : compress.cpp
35480 2013-07-31 Steve Borho <steve@borho.org>
35482 * source/Lib/TLibEncoder/TEncGOP.cpp:
35483 TEncGOP: remove unused variable
35486 * source/Lib/TLibCommon/TComPicYuv.cpp:
35487 TComPicYuv: release m_refList as a singly linked list
35490 * source/Lib/TLibCommon/TComPicYuv.h,
35491 source/Lib/TLibEncoder/TEncTop.cpp:
35492 TComPicYuv: rename setBorderExtension() to clearExtendedFlag()
35495 * source/Lib/TLibCommon/TComPicYuv.cpp,
35496 source/Lib/TLibCommon/TComPicYuv.h,
35497 source/Lib/TLibEncoder/TEncSlice.cpp:
35498 TComPicYuv: rename extendPicBorder to generateMotionReference()
35500 The function now can be said to generate a motion reference for a
35501 reconstructed frame
35504 * source/Lib/TLibCommon/TComPicYuv.cpp,
35505 source/Lib/TLibCommon/TComPicYuv.h:
35506 TComPicYuv: inline the motion reference search
35509 * source/Lib/TLibEncoder/TEncSearch.cpp:
35510 TEncSearch: use cached motion references from slice header
35513 2013-07-31 Shazeb N Khan <Shazeb N Khan>
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
35523 2013-07-31 Steve Borho <steve@borho.org>
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
35530 * source/Lib/TLibEncoder/TEncGOP.cpp:
35531 TEncGOP: further simplifications
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
35540 * source/Lib/TLibEncoder/TEncGOP.cpp:
35541 TEncGOP: further simplifications and cleanups
35544 * source/Lib/TLibEncoder/TEncGOP.cpp:
35545 TEncGOP: remove redundant slice->setNextSlice() (very next line
35549 * source/Lib/TLibEncoder/TEncGOP.cpp:
35550 TEncGOP: remove redundant if() checks and pointer dereferences
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
35559 2013-07-30 Steve Borho <steve@borho.org>
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
35570 * source/Lib/TLibEncoder/TEncGOP.cpp:
35571 TEncGOP: reorder some logic for more clarity
35574 * source/Lib/TLibEncoder/TEncGOP.cpp,
35575 source/Lib/TLibEncoder/TEncGOP.h:
35576 TEncGOP: remove unused m_batchSize, m_startPOC
35578 Remnants of GOP parallelism
35581 * source/Lib/TLibEncoder/TEncGOP.cpp:
35582 TEncGOP: move init-type code into init() function
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
35597 * source/CMakeLists.txt, source/common/vec/CMakeLists.txt:
35598 cmake: cleanup tabs
35601 * source/CMakeLists.txt, source/common/vec/CMakeLists.txt:
35602 cmake: gcc 4.7 support for avx2 vector headers is a little touchy
35605 * source/common/reference.cpp, source/common/reference.h:
35606 MotionReference class with weighted frames
35609 2013-07-30 Deepthi Devaki <Deepthi Devaki>
35611 * source/common/ipfilter.cpp, source/common/primitives.h:
35612 Modified weighted IP Filter primitive to include Full Pel
35615 2013-07-29 Steve Borho <steve@borho.org>
35617 * source/Lib/TLibEncoder/TEncTop.cpp:
35618 TEncTop: re-order destruction so thread pool outlives job providers
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
35628 This is in preparation for making a new slicetype / lookahead
35629 structure and breaking TEncGOP into a half dozen pieces.
35632 * source/common/common.cpp:
35633 common: enable AMP by default
35636 * source/common/common.cpp:
35637 common: enable SAO by default
35640 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
35642 make decoder refresh type a configurable param [CHANGES OUTPUTS]
35644 Now that internal GOP parallelism is gone, we can allow the
35645 different modes to be selected at runtime.
35648 * source/Lib/TLibEncoder/TEncSlice.cpp:
35649 TEncSlice: recover HM's original lambda calculations [CHANGES
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
35658 * source/Lib/TLibEncoder/TEncGOP.cpp:
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
35671 * source/CMakeLists.txt:
35672 cmake: add x265.h to CLI visual studio project for convenience
35674 most people will open the x265 project looking for x265.h
35677 2013-07-27 Steve Borho <steve@borho.org>
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
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)
35691 2013-07-29 Steve Borho <steve@borho.org>
35693 * source/Lib/TLibEncoder/TEncGOP.cpp:
35694 TEncGOP: remove unused variable
35697 2013-07-29 praveentiwari <praveentiwari>
35699 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35700 ipfilter: +3x for filterHorizontal_p_s functions
35702 ipfilter_ps now requires at least SSSE3
35705 * source/common/vec/ipfilter8.inc:
35706 filterHorizontal_p_p vector portion replaced with intrinsic code
35709 * source/common/vec/ipfilter8.inc:
35710 Uncrustified ipfilter8.inc file
35713 2013-07-29 Steve Borho <steve@borho.org>
35715 * source/common/x86/asm-primitives.cpp:
35716 asm: fix 16bpp test bench
35719 * source/Lib/TLibEncoder/TEncGOP.cpp:
35723 2013-07-27 Steve Borho <steve@borho.org>
35725 * source/encoder/compress.cpp:
35726 compress: inter2Nx2NCost was set but not used in default builds
35729 * source/Lib/TLibEncoder/TEncCavlc.cpp,
35730 source/Lib/TLibEncoder/TEncSbac.cpp:
35731 fix compile with ENC_DEC_TRACE enabled in TComRom.h
35734 * source/common/vec/ipfilter8.inc:
35735 ipfilter: fix variable shadowing reported by GCC
35738 2013-07-26 Steve Borho <steve@borho.org>
35740 * Merge with stable
35743 * build/regression/email-csv.py:
35744 regression: improve email-csv.py
35745 [36c6c198f885] <stable>
35747 * source/encoder/compress.cpp:
35748 compress: code cleanups, no functional changes
35751 2013-07-26 Aarthi <aarthi@multicorewareinc.com>
35753 * source/encoder/compress.cpp:
35754 changes to early Exit No RDO - roughly +14% with EARLY_EXIT_NO_RDO=1
35757 2013-07-26 Steve Borho <steve@borho.org>
35759 * source/CMakeLists.txt:
35760 cmake: remove unused NO_RDO_EARLY_EXIT build option
35763 * source/encoder/compress.cpp:
35764 move EARLY_EXIT_NO_RDO to top of compress.cpp
35767 * source/common/vec/ipfilter8.inc:
35768 ipfilter: use unaligned load for coefficients
35770 The chroma coeff table can't be loaded on 16byte alignment
35773 * source/common/vec/ipfilter8.inc:
35774 ipfilter: fix eoln damage from cut-paste
35777 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
35778 ipfilter now requires at least SSSE3
35781 2013-07-26 praveentiwari <praveentiwari>
35783 * source/common/vec/ipfilter8.inc:
35784 Approx +5x for ipfilterH_pp<8> and ipfilterH_pp<4>
35787 2013-07-26 Steve Borho <steve@borho.org>
35789 * source/common/x86/pixel.h:
35790 asm: white-space nits
35793 * Merge with stable
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
35803 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
35804 asm: use macro decl of downscale prims
35807 * source/common/x86/asm-primitives.cpp:
35808 asm: remove pragma warning disable, connect some 16bpp routines
35811 * source/test/pixelharness.cpp:
35812 pixelharness: fix alignment of downscale input arguments
35815 2013-07-26 ggopu <ggopu@bitbucket.org>
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
35825 2013-07-26 Steve Borho <steve@borho.org>
35827 * source/common/common.cpp, source/x265.h:
35828 api: rename x265_bit_depth to x265_max_bit_depth for clarity
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
35834 [d44588a406ce] <stable>
35836 * source/PPA/ppa.cpp, source/common/threading.h:
35837 use lower case <windows.h> consistently - fixes cross-compiles
35838 [aa392516ae56] <stable>
35840 * source/test/testbench.cpp:
35841 testbench: use x265_malloc / x265_free to avoid duplicate logic
35842 [6b18efa79241] <stable>
35844 * source/common/common.cpp:
35845 common: fix mingw64 malloc
35846 [29fd8ece16d7] <stable>
35848 * open a permanent named branch "stable"
35850 The stable branch is for bug-fixes and documentation improvements
35851 The default branch is where all new development takes place
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
35856 [1fd88edc7b11] <stable>
35858 * source/Lib/TLibEncoder/TEncSearch.cpp:
35859 intra: re-enable 64x64 downscale path
35862 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/compress.cpp:
35863 intrapred: fix bug on --cpuid less than 4
35866 * source/encoder/encoder.cpp:
35867 encoder: ensure the setLFCrossTileBoundaryFlag() method is called
35870 Even though we do not use tiles, this could have affected the logic.
35871 For basic encodes, we are now valgrind clean.
35874 * source/encoder/encoder.cpp:
35875 encoder: fix bug reported by valgrind; config vars referenced before
35879 * source/Lib/TLibEncoder/TEncGOP.cpp:
35880 TEncGOP: fix crash in computeSSD when frame stride is not aligned
35884 * source/test/pixelharness.cpp:
35885 testbench: fix leak in pixelharness
35888 2013-07-25 Steve Borho <steve@borho.org>
35890 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
35892 cmake: clarify GCC versions which supported AVX, XOP, and AVX2
35896 * source/common/vec/pixel8.inc:
35897 pixel: remove unused formal parameter names
35900 * source/VectorClass/vectori256.h:
35901 vector: fix variable shadow warnings reported by GCC 4.8.1
35903 The second shadow was almost certainly a bug
35906 * source/CMakeLists.txt:
35907 cmake: on Mac OS X, it is not necessary to link with rt
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
35921 Uses _aligned_malloc() on Windows and posix_memalign() on everything
35922 else. Old MingGW32 requires a name mapping hack
35925 * source/common/x86/asm-primitives.cpp:
35926 asm: more white-space nits
35929 * source/common/x86/asm-primitives.cpp:
35930 asm: white-space only
35933 * source/common/x86/asm-primitives.cpp:
35934 asm: CPUID 3 is SSSE3, 4 is SSE4. CPUID 1 == C only
35937 * source/Lib/COPYING.HM:
35938 license: add a copy of HM's license to source/Lib
35942 x265: exit cleanly when missing input YUV parameters
35946 vld: report leaks to file as well, useful for regression suite
35950 x265: clear progress report line at exit only if progress enabled
35953 * build/regression/01build-and-smoke-test.bat:
35954 regression: leave build remnants in place, delete cmake cache
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
35963 * build/regression/01build-and-smoke-test.bat:
35964 regression: use single-threaded msys make to avoid console color
35968 * doc/LookaheadPlan.txt:
35969 doc: publish a plan for porting x264 slice decision and adding frame
35973 2013-07-25 Min Chen <chenm003@163.com>
35975 * source/encoder/compress.cpp:
35976 intrapred: sync buffer overflow patch to mode --no-rdo
35979 2013-07-24 Steve Borho <steve@borho.org>
35981 * source/common/vec/dct.inc, source/common/vec/intrapred.inc:
35982 dct,intra: protect include of smmintrin.h from SIMD arch < SSE4.1
35985 * source/common/vec/CMakeLists.txt:
35986 cmake: use appropriate -mARCH for each intrinsic file set for GCC
35990 x265: check YUV parameters before trying to open YUV file
35993 * source/Lib/TLibCommon/TComPicYuv.cpp,
35994 source/Lib/TLibCommon/TComPicYuv.h:
35995 TComPicYuv: cache strides in a member variable
35998 * source/Lib/TLibCommon/TComPicYuv.cpp:
35999 TComPicYuv: remove obsolete malloc includes
36002 * source/Lib/TLibCommon/TComPicYuv.cpp:
36003 TComPicYuv: varname cleanup
36006 * source/Lib/TLibCommon/TComYuv.cpp, source/common/TShortYUV.cpp:
36007 TComYuv: variable name cleanups
36010 2013-07-24 Deepthi <Deepthi>
36012 * source/Lib/TLibCommon/TComYuv.cpp:
36013 Unreferenced variable removed.
36016 2013-07-24 ggopu <ggopu>
36018 * source/Lib/TLibCommon/TComYuv.cpp:
36019 TComYuv: Added primitive functions for Addclip Luma and chroma
36022 * source/common/TShortYUV.cpp:
36023 TshortYUV: Added Primitive Functions for BlockCopy and AddClip for
36024 both luma and chroma
36027 2013-07-24 Deepthi <Deepthi>
36029 * source/encoder/compress.cpp:
36030 Wrapping up early exit code development in a macro.
36036 * source/encoder/compress.cpp:
36037 Variable renaming in no-rdo mode: removing ambiguities
36040 2013-07-24 Steve Borho <steve@borho.org>
36042 * source/PPA/ppa.h:
36043 ppa: fix "potential uninitialized variable" warning from GCC
36045 gcc is being somewhat obtuse here, but I'll humor it
36048 * build/regression/02perftest.bat:
36049 regression: improve log message in perftest
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
36057 2013-07-23 Steve Borho <steve@borho.org>
36059 * build/regression/02perftest.bat:
36060 regression: properly use configured perfframes for performance tests
36063 2013-07-23 maheshpittala <maheshpittala>
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
36072 2013-07-23 Steve Borho <steve@borho.org>
36074 * source/Lib/TLibEncoder/TEncSearch.cpp:
36075 TEncSearch: temporarily disable 64x64 intra fast path
36077 Running in debug it is reporting stack corruption around the above[]
36081 2013-07-23 Deepthi <Deepthi>
36086 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
36087 Function signature of xcomputeCostInter changed
36090 * source/encoder/compress.cpp:
36091 Computing NxN satd costs for the previous depth
36094 * source/encoder/compress.cpp:
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
36103 2013-07-22 Min Chen <chenm003@163.com>
36105 * source/common/pixel.cpp:
36106 intrapred: fix mistake between C and Instrinsic
36109 * source/Lib/TLibEncoder/TEncSearch.cpp:
36110 intrapred: fix bug in HIGH_BIT_DEPTH=1
36113 2013-07-23 Deepthi <Deepthi>
36115 * source/Lib/TLibEncoder/TEncCu.cpp:
36116 Adding a missing memory initialisation
36119 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36120 Adding new recon structures in no-rdo mode - interNxN
36123 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36124 Adding new structures in no-rdo mode - interNxN
36127 2013-07-22 Steve Borho <steve@borho.org>
36129 * doc/UnitTestUsage.txt:
36130 remove obsolete unit test doc
36133 2013-07-22 Deepthi <Deepthi>
36135 * doc/Doxyfile, doc/mainpage.h:
36136 Removing Doxygen related documentation from the repo
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
36144 2013-07-21 Min Chen <chenm003@163.com>
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]
36152 2013-07-19 Steve Borho <steve@borho.org>
36155 Added tag 0.3 for changeset 3767fbfa970f
36158 2013-07-19 ggopu <ggopu>
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
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]
36172 2013-07-18 Steve Borho <steve@borho.org>
36174 * source/common/threadpool.cpp:
36175 gcc: fix threadpool warnings
36178 2013-07-19 Deepthi <Deepthi>
36180 * source/Lib/TLibCommon/TComDataCU.h:
36181 Cleanup: Removing codedQp member variable.
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
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
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.
36206 * source/Lib/TLibCommon/TComDataCU.h:
36207 Removed getTotalCost() method
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
36217 * source/Lib/TLibCommon/TComDataCU.h:
36218 Making CU cost and misc variables public
36221 2013-07-19 sumalatha <sumalatha>
36223 * source/encoder/compress.cpp:
36224 Changed the LOG, the pred mode was selected wrongly in few cases.
36228 2013-07-18 Steve Borho <steve@borho.org>
36230 * source/common/threadpool.cpp:
36231 threadpool: repair EOLN
36234 * source/common/threadpool.cpp:
36238 * source/common/threadpool.cpp:
36239 threadpool: reduce priority of worker threads slightly
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
36246 * source/common/threadpool.cpp:
36247 threadpool: cleanup
36250 * source/common/vec/CMakeLists.txt:
36251 cmake: fix icpc AVX2 builds
36254 * source/common/vec/pixel8.inc:
36255 pixel: remove the names of unreferenced parameters (GCC now
36256 complains of these)
36259 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
36261 vec: GCC and icpc both have issues with XOP intrinsics
36263 Probably because both rely on GCC headers
36266 * source/common/primitives.cpp:
36267 primitives: only print XOP FMA3 FMA4 if CPU level is at least AVX
36269 If the user asked for --cpuid 6, they should not see XOP, FMA3, or
36270 FMA4 because those will not be used.
36273 * source/encoder/motion.cpp, source/encoder/motion.h:
36274 motion: increase alignement of fenc buffer to 32bytes for AVX2
36277 * source/common/vec/vec-primitives.cpp:
36278 vec: only use XOP primitives when AVX CPU level is requested
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
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
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
36304 This is mainly for improving compile times, since I will add XOP
36308 * x265: fix EOLN damage
36312 x265: use puts for writing CLI args (makes GCC happy)
36315 * source/Lib/TLibEncoder/TEncSlice.cpp:
36316 TEncSlice: cleanups
36319 * source/Lib/TLibEncoder/TEncSlice.cpp:
36320 TEncSlice: tweak lambda magic value [CHANGES OUTPUTS]
36322 This recovers BasketBallDrive encode PSNR/Bitrate/FPS back to close
36323 what it was when the encoder used the non-deterministic lambda
36327 * source/Lib/TLibCommon/TComRdCost.h,
36328 source/Lib/TLibEncoder/TEncSearch.cpp:
36329 TEncSearch: pass the correct lamda to bitcost calculator [CHANGES
36332 This fixes a bug introduced in 15f993eceb4b, right after 0.1. The
36333 different naming conventions had tripped me up.
36336 2013-07-18 sumalatha <sumalatha>
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.
36343 2013-07-18 Steve Borho <steve@borho.org>
36345 * source/Lib/TLibEncoder/TEncSearch.cpp:
36346 TEncSearch: remove unused variable
36349 2013-07-18 Min Chen <chenm003@163.com>
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
36358 2013-07-18 Deepthi <Deepthi>
36363 * source/CMakeLists.txt:
36364 NO_RDO_EARLY_EXIT: experimental macro to play with early exit of
36368 2013-07-18 Steve Borho <steve@borho.org>
36370 * source/Lib/TLibCommon/TypeDef.h:
36371 TypeDef: declare g_bitDepth extern if used for X265_DEPTH
36374 2013-07-18 Deepthi <Deepthi>
36376 * source/encoder/compress.cpp:
36380 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
36381 Backout changeset: c45fe1b2bd90
36383 Reasons discussed. Performance improvement at the expense of
36384 quality/bitrate by avoiding the non-zero residual mode.
36387 2013-07-18 Steve Borho <steve@borho.org>
36389 * source/Lib/TLibEncoder/TEncTop.cpp, source/x265.h:
36390 csv: fix global PSNR calculation
36394 csv: add missing fps and line feed
36397 * source/encoder/compress.cpp:
36398 compress: fix debug build
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
36407 * source/encoder/encoder.cpp, source/encoder/encoder.h:
36411 2013-07-17 Steve Borho <steve@borho.org>
36413 * source/common/common.cpp, source/common/common.h,
36414 source/encoder/encoder.cpp:
36415 common: enforce global variables not changing within a single
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:
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:
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
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
36447 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
36448 TComPicYuv: remove bitdepth arguments
36451 * source/Lib/TLibCommon/TComPattern.cpp,
36452 source/Lib/TLibCommon/TComPattern.h:
36453 TComPattern: remove bitdepth argument from fillReferenceSamples
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
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
36477 * source/common/primitives.h:
36478 primitives: enable EMMS for random compilers, remove unused define
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 ->
36504 * source/Lib/TLibCommon/TypeDef.h:
36505 TypeDef: white-space nits
36508 * source/Lib/TLibCommon/TypeDef.h:
36509 Remove hacks for VC6, we support nothing before VC9
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
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
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.
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
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.
36559 * source/common/TShortYUV.cpp:
36560 blockcopy: further 16bpp fixes
36563 * source/test/pixelharness.cpp:
36564 pixelharness: one change was missed from last commit
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
36573 * source/encoder/compress.cpp:
36574 compress: uncrustify
36577 2013-07-15 sumalatha <sumalatha>
36579 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
36580 Changes in merge mode in no-rdo path for better psnr improvement and
36584 2013-07-17 Steve Borho <steve@borho.org>
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)
36592 2013-07-17 Min Chen <chenm003@163.com>
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
36600 * source/test/intrapredharness.cpp:
36601 cleanup: remove unused debug code
36604 2013-07-17 Deepthi Devaki <Deepthi Devaki>
36606 * source/common/ipfilter.cpp, source/common/primitives.h:
36607 C primitive for weighted ipfilter
36610 2013-07-17 Deepthi <Deepthi>
36615 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
36616 HIGH_BIT_ENABLE build error fixed.
36618 Any better idea to get rid of the c4333 warnings welcome.
36621 2013-07-17 ggopu <ggopu>
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
36629 2013-07-17 Steve Borho <steve@borho.org>
36631 * source/Lib/TLibCommon/TComSlice.cpp,
36632 source/Lib/TLibEncoder/TEncSlice.cpp:
36633 TComSlice: relocate subpel generation to after weightp determination
36636 2013-07-16 Steve Borho <steve@borho.org>
36638 * source/Lib/TLibCommon/TComSlice.cpp:
36639 TComSlice: fix variable shadowing problem that was causing B frame
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.
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
36656 * source/Lib/TLibEncoder/TEncGOP.cpp,
36657 source/Lib/TLibEncoder/TEncGOP.h:
36658 TEncGOP: header cleanup
36661 * source/Lib/TLibCommon/TComPicYuv.cpp,
36662 source/Lib/TLibCommon/TComPicYuv.h, source/common/reference.cpp:
36663 TComPicYuv: cleanup
36666 * source/Lib/TLibCommon/TComPicYuv.h,
36667 source/Lib/TLibCommon/TComWeightPrediction.h:
36668 Replace includes with class forward decls
36671 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
36675 * source/Lib/TLibCommon/TComPicSym.cpp,
36676 source/Lib/TLibCommon/TComPicSym.h:
36677 TComPicSym: cleanup
36680 * source/Lib/TLibCommon/TComSlice.cpp:
36681 TComSlice:: fix end-of-list handling in xGetRefPic
36684 * source/Lib/TLibEncoder/TEncSearch.cpp:
36685 TEncSearch: fix full search regression
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
36695 * source/Lib/TLibEncoder/TEncCu.cpp:
36696 TEncCu: fixup after refactoring
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
36703 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
36704 TEncCu: remove unused xTuCollectARLStats
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
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
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
36737 All of TEncPic now goes away
36740 * source/Lib/TLibEncoder/TEncCfg.h,
36741 source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
36742 TEncCfg: hungarian cleanup
36745 * source/Lib/TLibEncoder/TEncCfg.h:
36746 TEncCfg: remove unused istringstream operator
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
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
36768 Enable warnings about unused parameters, clean up the warnings
36769 reported. In a few cases I removed parameters that were obviously
36772 Enable warnings about unused variables, clean up the warnings.
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
36782 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
36783 TComWeightPrediction: fix bug found by enabling warnings
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
36803 Enable warnings about unused parameters, clean up the warnings
36804 reported. In a few cases I removed parameters that were obviously
36807 Enable warnings about unused variables, clean up the warnings. This
36808 actually found a recently introduced bug.
36811 2013-07-16 Min Chen <chenm003@163.com>
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
36820 2013-07-16 Deepthi <Deepthi>
36825 * source/encoder/compress.cpp:
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.
36835 2013-07-16 Steve Borho <steve@borho.org>
36837 * source/Lib/TLibCommon/CommonDef.h,
36838 source/Lib/TLibCommon/ContextModel.cpp,
36839 source/Lib/TLibCommon/TComRom.h:
36840 more cleanups for CommonDef.h
36842 * remove circular defininition of g_bitDepthY and g_bitDepthC
36843 * move Clip templates to TComRom.h
36844 * remove some dead defines
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
36866 move all #defines from TypeDef.h to CommonDef.h and move all
36867 feature-specific structs from TypeDef.h to their more specific
36870 TypeDef.h should just define types (duh!) and CommonDef.h should
36874 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
36875 TComWeightPrediction: hungarian cleanup
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 ->
36886 2013-07-16 Deepthi Devaki <Deepthi Devaki>
36888 * source/common/vec/pixel8.inc, source/test/pixelharness.cpp:
36889 pixel8.inc, pixelharness : Uncrustified.
36892 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc,
36893 source/test/pixelharness.cpp:
36894 Vectorized WeightUni
36897 2013-07-16 Steve Borho <steve@borho.org>
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
36906 This makes the pixel-ARCH.cpp files much simpler, and makes it
36907 easier to add headers for the pixel functions.
36910 2013-07-15 Steve Borho <steve@borho.org>
36912 * source/x265opts.h:
36913 x265: document --cpuid 1 behavior
36916 * source/Lib/TLibCommon/TComDataCU.cpp,
36917 source/Lib/TLibCommon/TComDataCU.h:
36918 TComDataCU: cleanup classmethods
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
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.
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
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
36955 * source/Lib/TLibCommon/TComSlice.cpp,
36956 source/Lib/TLibCommon/TComSlice.h:
36957 TComSlice: cpp cleanup, remove unreferenced class static
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
36973 2013-07-15 ggopu <ggopu>
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
36981 2013-07-15 praveentiwari <praveentiwari>
36983 * source/Lib/TLibCommon/TComRdCost.cpp:
36984 Cleaup the remaing functions in TComRdCost.cpp file
36987 2013-07-15 ggopu <ggopu>
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
36995 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp,
36996 source/Lib/TLibCommon/TComSlice.cpp,
36997 source/Lib/TLibEncoder/TEncCavlc.cpp:
36998 Cleanup and removed Hungarian notation
37001 2013-07-12 Steve Borho <steve@borho.org>
37003 * source/x265.cpp, source/x265opts.h:
37004 x265: add --no-progress CLI option to disable reports when capturing
37008 * source/common/vec/blockcopy.inc:
37009 blockcopy: AVX2 compress and extend ended up being a perf loss
37012 * source/common/vec/blockcopy.inc:
37013 blockcopy: add AVX2 fast paths
37016 * source/common/vec/blockcopy.inc:
37017 blockcopy: ensure strides obey alignment requirements
37019 This should fix crashes reported by Shanthan and Brian from
37023 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
37024 pixel: add AVX2 sad_x4 for 32 and 64 wide blocks
37027 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
37028 pixel: add AVX2 sad_x3 for 32 and 64 wide blocks
37031 * source/common/vec/pixel8.inc:
37032 pixel8: CurN -> frefN
37035 * source/common/vec/CMakeLists.txt, source/common/vec/vec-
37037 cmake: allow icpc to build AVX2 intrinsics
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
37046 Added tag 0.2 for changeset b3471d9009f5
37049 * source/cmake/version.cmake:
37050 cmake: properly handle tagged release archives
37051 [b3471d9009f5] [0.2]
37053 * source/common/mv.h:
37054 mv: remove unused toFPel() method
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
37062 * source/common/wavefront.h:
37063 wavefront: cleanup method comments
37066 * build/README.txt, source/cmake/version.cmake:
37067 cmake: do not cache x265 version from ENV var, update status message
37070 * source/PPA/ppa.cpp, source/PPA/ppa.h, source/PPA/ppaApi.h:
37071 ppa: change license to x265 GPL+commercial license
37074 * source/CMakeLists.txt:
37075 cmake: add a cmake option to statically link CRT on Windows release
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
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
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
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
37110 * build/README.txt:
37111 build: update README.txt
37114 * build/BuildEncoderApplications.bat, build/ConfigureBuild.bash,
37115 build/ConfigureBuild.bat, build/CreateRegressionPackage.bat,
37116 build/CreateRegressionPackage.sh, build/RunEncoderApplications.bat,
37118 remove obsolete regression tests and batch build scripts
37121 2013-07-12 Min Chen <chenm003@163.com>
37123 * source/common/vec/intrapred.inc:
37124 intrapred: cleanup pDst
37127 2013-07-12 praveentiwari <praveentiwari>
37129 * source/Lib/TLibCommon/TComRdCost.cpp:
37130 TComRdCost::xGetSSE32 cleanup
37133 * source/Lib/TLibCommon/TComRdCost.cpp:
37134 xGetSSE32Help cleanup
37137 * source/Lib/TLibCommon/TComRdCost.cpp:
37138 TComRdCost::xGetSSE16N cleanup
37141 * source/Lib/TLibCommon/TComRdCost.cpp:
37142 xGetSSE16NHelp cleanup
37145 * source/Lib/TLibCommon/TComRdCost.cpp:
37146 TComRdCost::xGetSSE16 cleanup
37149 * source/Lib/TLibCommon/TComRdCost.cpp:
37150 xGetSSE16Help cleanup
37153 * source/Lib/TLibCommon/TComRdCost.cpp:
37154 TComRdCost::xGetSSE8 cleanup
37157 * source/Lib/TLibCommon/TComRdCost.cpp:
37158 xGetSSE8Help cleanup
37161 * source/Lib/TLibCommon/TComRdCost.cpp:
37162 TComRdCost::xGetSSE4 cleanup
37165 * source/Lib/TLibCommon/TComRdCost.cpp:
37166 xGetSSE4Help cleanup
37169 * source/Lib/TLibCommon/TComRdCost.cpp:
37170 TComRdCost::xGetSSE cleanup
37173 * source/Lib/TLibCommon/TComRdCost.cpp:
37174 xGetSSEHelp cleanup
37177 * source/Lib/TLibCommon/TComRdCost.cpp:
37178 TComRdCost::xGetSAD48 cleanup
37181 * source/Lib/TLibCommon/TComRdCost.cpp:
37182 TComRdCost::xGetSAD64 cleanup
37185 * source/Lib/TLibCommon/TComRdCost.cpp:
37186 TComRdCost::xGetSAD24 cleanup
37189 * source/Lib/TLibCommon/TComRdCost.cpp:
37190 TComRdCost::xGetSAD32 cleanup
37193 * source/Lib/TLibCommon/TComRdCost.cpp:
37194 TComRdCost::xGetSAD16N cleanup
37197 * source/Lib/TLibCommon/TComRdCost.cpp:
37198 TComRdCost::xGetSAD12 cleanup
37201 * source/Lib/TLibCommon/TComRdCost.cpp:
37202 Clean up the white-space by lining up
37205 * source/Lib/TLibCommon/TComRdCost.cpp:
37206 TComRdCost::xGetSAD16 cleanup
37209 * source/Lib/TLibCommon/TComRdCost.cpp:
37210 TComRdCost::xGetSAD8 cleanup
37213 * source/Lib/TLibCommon/TComRdCost.cpp:
37214 TComRdCost::xGetSAD4 cleanup
37217 2013-07-12 Steve Borho <steve@borho.org>
37219 * source/common/x86/asm-primitives.cpp:
37220 asm: disable sad_x3 for AVX2, does not pass tests
37223 2013-07-12 praveentiwari <praveentiwari>
37225 * source/Lib/TLibCommon/TComRdCost.cpp:
37226 TComRdCost::xGetSAD cleanup
37229 * source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp:
37230 Fix for Debug version build
37233 * source/Lib/TLibCommon/TComRdCost.cpp:
37234 TComRdCost::setDistParam overloaded version clenup
37237 * source/Lib/TLibCommon/TComRdCost.cpp:
37238 TComRdCost::setLambda cleanup
37241 * source/Lib/TLibCommon/TComRdCost.cpp:
37242 TComRdCost::setDistParam cleanup
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
37251 2013-07-12 Steve Borho <steve@borho.org>
37253 * source/Lib/TLibCommon/TComWeightPrediction.cpp,
37254 source/Lib/TLibEncoder/TEncSearch.cpp:
37255 Fix Build Errors for HIGH_BIT_DEPTH enable
37258 2013-07-12 praveentiwari <praveentiwari>
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
37266 * source/Lib/TLibEncoder/TEncSearch.cpp:
37267 Uncrustified TEncSearch.cpp file
37270 2013-07-11 Steve Borho <steve@borho.org>
37273 x265: prune dead short_options and fix no-arg flags
37276 * source/Lib/TLibEncoder/TEncSearch.cpp,
37277 source/Lib/TLibEncoder/TEncSearch.h:
37278 TEncSearch: remove unnecessary pointer argument refs
37281 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
37282 compress: hungarian cleanups, white-space fixes
37285 * source/common/common.h:
37286 common: fixup commit for previous (msvc didn't write the file)
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
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
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
37335 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
37336 source/encoder/compress.cpp:
37337 TEncCu: de-hungarian buffer member variables
37340 * source/Lib/TLibEncoder/TEncCu.h:
37341 TEncCu: white-space and comment cleanups
37344 * source/Lib/TLibCommon/TComPattern.cpp:
37345 TComPattern: finishing touches
37348 * source/Lib/TLibCommon/TComPattern.h:
37349 TComPattern: white-space cleanup of header
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
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
37380 neighbouring => neighboring, iStride -> stride, iComp -> comp
37383 * source/common/common.cpp:
37384 Backed out changeset: 064e6bfa93f0 (too much PSNR loss to be
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
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
37405 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37407 x265: hide busted adaptive QP functionality
37409 This might get ripped out entirely, will wait until after the GPL
37413 * source/common/common.cpp:
37414 x265: roughly alphabetize tool option reporting
37417 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37419 x265: hide --sao-max-offsets argument
37422 * source/common/common.cpp:
37423 x265: enable --fast-cbf by default [CHANGES OUTPUTS]
37425 This appears to be a really good trade-off when RDO is enabled
37428 * source/common/common.cpp:
37429 x265: tweak option logging
37432 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37434 x265: hide --tmvp parameter, it does not appear useful
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
37441 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37443 x265: hide --merge-level parameter, it does not appear useful
37445 --merge-level 3 decreases bitrate very slightly
37446 --merge-level 4 increases bitrate
37448 In the interest of simplifying our API for the near-term, I'm
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
37461 * source/Lib/TLibCommon/TComTrQuant.cpp,
37462 source/Lib/TLibCommon/TComTrQuant.h:
37463 TComTrQuant: remove hungarian from QpParam
37466 * source/Lib/TLibCommon/TComPrediction.cpp,
37467 source/Lib/TLibCommon/TComPrediction.h:
37468 TComPrediction: remove a couple more invalid pointer refs, fix a
37472 * source/Lib/TLibEncoder/TEncSearch.cpp:
37473 fix variable shadow warnings reported by GCC
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
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
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
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
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
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
37548 * source/Lib/TLibEncoder/TEncCu.cpp,
37549 source/Lib/TLibEncoder/TEncSearch.h:
37550 TEncSearch: cleanup set method names
37553 * source/Lib/TLibEncoder/TEncSearch.cpp,
37554 source/Lib/TLibEncoder/TEncSearch.h:
37555 TEncSearch: further cleanups
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
37563 * source/Lib/TLibEncoder/TEncSearch.cpp,
37564 source/Lib/TLibEncoder/TEncSearch.h:
37565 TEncSearch: cleanup init, remove unused s_dFilter, m_puiDFilter
37568 * source/Lib/TLibEncoder/TEncSearch.cpp,
37569 source/Lib/TLibEncoder/TEncSearch.h:
37570 TEncSearch: remove hunariang prefixes from member vars, remove
37574 * source/Lib/TLibEncoder/TEncSearch.cpp,
37575 source/Lib/TLibEncoder/TEncSearch.h:
37576 TEncSearch: remove hungarian prefixes from temp buffers
37579 * source/Lib/TLibEncoder/TEncSearch.cpp,
37580 source/Lib/TLibEncoder/TEncSearch.h:
37581 TEncSearch: remove unused singleton temp buffers
37584 * source/Lib/TLibEncoder/TEncSearch.cpp:
37585 TEncSearch: qtTempAccessLayer -> qtlayer
37588 * source/Lib/TLibEncoder/TEncSearch.h:
37589 TEncSearch: remove redundant white-space
37592 2013-07-11 Deepthi Devaki <Deepthi Devaki>
37594 * source/common/pixel.cpp, source/common/primitives.h:
37595 WeightedPredicton: Code cleanup, variable renaming - no logic
37599 * source/Lib/TLibCommon/TComWeightPrediction.cpp:
37600 Weighted prediction primitives integrated to encoder.
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
37609 2013-07-11 praveentiwari <praveentiwari>
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
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
37624 2013-07-11 Steve Borho <steve@borho.org>
37626 * source/Lib/TLibEncoder/TEncSearch.cpp:
37627 TEncSearch: cleanup xEncodeResidualQT
37630 * source/Lib/TLibEncoder/TEncSearch.cpp:
37631 TEncSearch: further cleanup of xEstimateResidualQT
37634 * source/Lib/TLibEncoder/TEncSearch.cpp:
37635 TEncSearch: further cleanup of xEstimateResidualQT
37638 * source/Lib/TLibEncoder/TEncSearch.cpp:
37639 TEncSearch: more cleanups
37642 * source/Lib/TLibEncoder/TEncSearch.cpp:
37643 TEncSearch: partial cleanup of xEstimateResidualQT
37646 * source/Lib/TLibEncoder/TEncSearch.cpp:
37647 TEncSearch: cleanup encodeResAndCalcRdInterCU
37650 * source/Lib/TLibEncoder/TEncSearch.cpp:
37651 TEncSearch: cleanup xPatternSearchFracDIF
37654 * source/Lib/TLibEncoder/TEncSearch.cpp:
37655 TEncSearch: cleanup xPatternSearchFast
37658 * source/Lib/TLibEncoder/TEncSearch.cpp:
37659 TEncSearch: cleanup xPatternSearch
37662 * source/Lib/TLibEncoder/TEncSearch.cpp:
37663 TEncSearch: cleanup xMotionEstimation
37666 * source/Lib/TLibEncoder/TEncSearch.cpp:
37667 TEncSearch: cleanup xGetTemplateCost and xEstimateMvPredAMVP
37670 * source/Lib/TLibEncoder/TEncSearch.cpp:
37671 TEncSearch: cleanup predInterSearch
37674 * source/Lib/TLibEncoder/TEncSearch.cpp:
37675 TEncSearch: cleanup xMergeEstimation
37678 * source/Lib/TLibEncoder/TEncSearch.cpp:
37679 TEncSearch: cleanup IPCMSearch
37682 * source/Lib/TLibEncoder/TEncSearch.cpp:
37683 TEncSearch: cleanup xEncPCM
37686 * source/Lib/TLibEncoder/TEncSearch.cpp:
37687 TEncSearch: cleanup estIntraPredChromaQT
37690 * source/Lib/TLibEncoder/TEncSearch.cpp:
37691 TEncSearch: cleanup estIntraPredQT
37694 * source/Lib/TLibEncoder/TEncSearch.cpp:
37695 TEncSearch: cleanup preestChromaPredMode
37698 * source/Lib/TLibEncoder/TEncSearch.cpp:
37699 TEncSearch: cleanup xSetIntraResultChromaQT
37702 * source/Lib/TLibEncoder/TEncSearch.cpp:
37703 TEncSearch: cleanup xRecurIntraChromaCodingQT
37706 * source/Lib/TLibEncoder/TEncSearch.cpp:
37707 TEncSearch: cleanup xLoadIntraResultChromaQT, use block copy
37711 * source/Lib/TLibEncoder/TEncSearch.cpp:
37712 TEncSearch: cleanup xStoreIntraResultChromaQT
37715 * source/Lib/TLibEncoder/TEncSearch.cpp:
37716 TEncSearch: cleanup xLoadIntraResultQT, correct stride and size for
37720 * source/Lib/TLibEncoder/TEncSearch.cpp:
37721 TEncSearch: cleanup xStoreIntraResultQT
37724 2013-07-10 Steve Borho <steve@borho.org>
37726 * source/Lib/TLibEncoder/TEncSearch.cpp:
37727 TEncSearch: cleanup xSetIntraResultQT
37730 * source/Lib/TLibEncoder/TEncSearch.cpp:
37731 TEncSearch: cleanup xRecurIntraCodingQT, use block copy primitives
37734 * source/Lib/TLibEncoder/TEncSearch.cpp:
37735 TEncSearch: cleanup xIntraCodingChromaBlk
37738 * source/Lib/TLibEncoder/TEncSearch.cpp:
37739 TEncSearch: cleanup xIntraCodingLumaBlk
37742 * source/Lib/TLibEncoder/TEncSearch.cpp,
37743 source/Lib/TLibEncoder/TEncSearch.h:
37744 TEncSearch: cleanup xEncCoeffQT, remove unused bRealCoeff
37747 * source/Lib/TLibEncoder/TEncSearch.cpp:
37748 TEncSearch: cleanup xGetIntraBitsQT
37751 * source/Lib/TLibEncoder/TEncSearch.cpp:
37752 TEncSearch: cleanup xEncIntraHeader
37755 * source/Lib/TLibEncoder/TEncSearch.cpp:
37756 TEncSearch: cleanup xEncCoeffQT
37759 * source/Lib/TLibEncoder/TEncSearch.cpp:
37760 TEncSearch: cleanup xEncSubdivCbfQT
37763 * source/Lib/TLibEncoder/TEncSearch.h:
37764 TEncSearch: remove meaningless consts and comments
37767 * source/Lib/TLibEncoder/TEncSearch.h:
37768 TEncSearch: followup renames
37771 * source/Lib/TLibEncoder/TEncSearch.h:
37772 TEncSearch: cleanup the header
37775 * source/common/primitives.h, source/common/vec/ipfilter16.inc,
37776 source/common/vec/ipfilter8.inc:
37777 primitives: cleanup funcdefs
37780 * source/encoder/compress.cpp:
37781 compress: remove trailing white-space
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
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
37860 pcCu -> cu, uiTrMode -> trMode, pcYuvPred -> predYuv, eRefPicList ->
37861 picList, iRefList -> refList, iRefIdxTemp -> refIdxTmp
37864 * source/Lib/TLibEncoder/TEncCu.cpp:
37865 TEncCu: fix memory leak
37868 2013-07-10 praveentiwari <praveentiwari>
37870 * source/Lib/TLibCommon/TComTrQuant.cpp:
37871 Cleanup xGetCodedLevel function
37874 * source/Lib/TLibCommon/TComTrQuant.cpp:
37875 Clenup xGetICRateCost function
37878 * source/Lib/TLibCommon/TComTrQuant.cpp:
37879 Cleanup xGetICRate function
37882 * source/Lib/TLibCommon/TComTrQuant.cpp:
37883 Cleanup setErrScaleCoeff function
37886 2013-07-10 Steve Borho <steve@borho.org>
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
37895 2013-07-10 ggopu <ggopu>
37897 * source/Lib/TLibEncoder/TEncSearch.cpp:
37898 TEncodeSearch : Cleanup Removed un used codes, white space and
37899 Removed Hungarian Notation
37902 2013-07-10 Deepthi <Deepthi>
37904 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
37905 Removed duplicate copy of Merge RD cost estimation.
37908 * source/encoder/compress.cpp:
37909 Code reuse of Merge: part 2
37912 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37913 Code reuse of Merge cost estimation for rdo/no-rdo: part 1
37916 * source/Lib/TLibEncoder/TEncCfg.h:
37917 Removing fdm from TEncCfg
37920 * source/common/common.cpp, source/encoder/encoder.cpp, source/x265.h,
37922 Removing bEnableFastMergeDecision from CLI Options.
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.
37930 * source/encoder/compress.cpp:
37931 Enabling merge modes with non-zero residual in no-rdo mode.
37934 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
37935 Recon for merge modes - store in TEnCU structure
37938 2013-07-10 Steve Borho <steve@borho.org>
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:
37976 2013-07-09 Steve Borho <steve@borho.org>
37978 * source/test/mbdstharness.cpp:
37979 mbdstharness: workaround for linux test failures
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
37987 * source/Lib/TLibCommon/TComTrQuant.cpp:
37988 TComTrQuant: fix shadowed variables for GCC
37991 * source/common/common.cpp:
37992 common: fix a potential 8bpp usage bug
37995 * source/Lib/TLibEncoder/TEncCu.cpp, source/common/common.cpp:
37996 TComRom: only allow zscan tables to be initialized once
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
38029 * source/Lib/TLibCommon/TComRom.h:
38030 TComRom: simplify white-space
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
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
38045 * source/Lib/TLibCommon/TComTrQuant.cpp,
38046 source/Lib/TLibCommon/TComTrQuant.h,
38047 source/encoder/frameencoder.cpp:
38048 TComTrQuant: remove m_bEnc member variable
38051 * source/Lib/TLibCommon/TComTrQuant.cpp:
38052 TComTrQuant: CU -> cu
38055 * source/Lib/TLibEncoder/TEncGOP.cpp:
38056 TEncGOP: remove hungarian prefixes from auto-vars
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
38066 * source/Lib/TLibCommon/TComTrQuant.cpp,
38067 source/Lib/TLibCommon/TComTrQuant.h,
38068 source/Lib/TLibEncoder/TEncSearch.cpp:
38069 TComTrQuant: simplify function arguments
38071 * do not pass arlCCoef as a pointer reference
38072 * return acSum rather than pass as integer reference
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
38081 * source/Lib/TLibCommon/TComTrQuant.cpp:
38082 TComTrQuant: lowercase cu, other cleanups
38085 2013-07-09 praveentiwari <praveentiwari>
38087 * source/Lib/TLibCommon/TComTrQuant.cpp:
38088 Cleanup xRateDistOptQuant function
38091 * source/Lib/TLibCommon/TComTrQuant.cpp:
38092 Cleanup xITransformSkip function
38095 * source/Lib/TLibCommon/TComTrQuant.cpp:
38096 Cleanup xTransformSkip function
38099 * source/Lib/TLibCommon/TComTrQuant.cpp:
38100 Cleanup xIT function
38103 * source/Lib/TLibCommon/TComTrQuant.cpp:
38104 Cleanup invRecurTransformNxN function
38107 * source/Lib/TLibCommon/TComTrQuant.cpp:
38108 Cleanup invtransformNxN function
38111 * source/Lib/TLibCommon/TComTrQuant.cpp:
38112 More cleanup with transformNxN
38115 * source/Lib/TLibCommon/TComTrQuant.cpp:
38116 cleanup transformNxN function
38119 * source/Lib/TLibCommon/TComTrQuant.cpp:
38120 cleanup init function
38123 * source/Lib/TLibCommon/TComTrQuant.cpp:
38124 cleanup xDeQuant function
38127 2013-07-09 Steve Borho <steve@borho.org>
38129 * source/Lib/TLibCommon/TComTrQuant.cpp:
38130 TComTrQuant: lowercase cu
38133 2013-07-09 praveentiwari <praveentiwari>
38135 * source/Lib/TLibCommon/TComTrQuant.cpp:
38136 cleanup xQuant function
38139 2013-07-10 Deepthi <Deepthi>
38144 2013-07-09 Deepthi <Deepthi>
38146 * source/encoder/compress.cpp:
38147 Exit early if merge modes detected
38150 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
38151 Updating merge cost calculation to enable early skips.
38154 2013-07-09 Steve Borho <steve@borho.org>
38156 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc,
38157 source/test/testbench.cpp:
38161 * source/common/vec/intrapred.inc:
38162 intrapred: further cleanups
38164 * rename methods to match primitive funcdef
38165 * remove unoptimized all-angs methods, use C ref
38168 * source/common/vec/ipfilter8.inc:
38169 ipfilter: white-space fixup
38172 * source/common/vec/ipfilter8.inc:
38173 ipfilter: remove buggy SSE2 version of
38174 filterHorizontalMultiplaneExtend
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
38182 2013-07-09 ggopu <ggopu>
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
38189 * source/common/common.cpp, source/common/ipfilter.cpp:
38190 ipfilter: Cleanups function names and Variables
38193 2013-07-09 praveentiwari <praveentiwari>
38195 * source/Lib/TLibCommon/TComTrQuant.cpp:
38196 cleanup signBitHidingHDQ function
38199 * source/Lib/TLibCommon/TComTrQuant.cpp:
38200 Cleanup storeSliceQpNext function
38203 2013-07-09 Deepthi <Deepthi>
38205 * source/encoder/compress.cpp:
38206 Cleanup: remove commented code
38209 * source/encoder/compress.cpp:
38210 Merge modes now use RDO cost to compare against inter/intra. Quality
38214 * source/encoder/compress.cpp:
38215 Remove unused if-checks
38218 2013-07-09 Steve Borho <steve@borho.org>
38220 * source/test/ipfilterharness.cpp, source/test/mbdstharness.cpp:
38221 testbench: more test result format tweaking
38224 2013-07-08 Steve Borho <steve@borho.org>
38226 * source/test/intrapredharness.cpp:
38227 intrapred: tweak test result reporting
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
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
38253 * source/common/primitives.h:
38254 primitives: white-space alignment for primitive structure, re-order
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
38271 * source/test/pixelharness.cpp, source/test/pixelharness.h:
38272 pixel: cleanup test harness methods
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
38280 * source/common/reference.cpp:
38281 reference: add a comment
38284 * source/CMakeLists.txt:
38285 cmake: move version.cmake include to just before the CLI link
38287 this should avoid rebuilds in cmake generated Makefiles when the
38288 version number changes (which happens at every commit)
38291 * source/common/common.cpp, source/common/common.h:
38292 common: cleanups, remove unused dumpBuffer routine
38295 * source/common/CMakeLists.txt:
38296 cmake: force i686 arch for wavefront.cpp for GCC (to generate
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
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
38316 * source/test/testpool.cpp:
38317 testpool: update to new interfaces
38320 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
38321 frameencoder: rename irow to row
38324 * source/encoder/frameencoder.cpp, source/encoder/frameencoder.h:
38325 frameencoder: rename m_nrows to m_numRows
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
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
38346 This commit also removes the un-exposed x265_init_threading()
38347 function which would have leaked the thread pool if anyone had used
38351 * source/common/reference.cpp, source/common/threadpool.cpp,
38352 source/common/threadpool.h:
38353 threadpool: cleanup
38356 * source/common/reference.cpp:
38357 reference: general cleanup
38360 * source/common/primitives.cpp:
38361 primitives: general cleanup
38364 * source/common/primitives.h:
38365 primitives: more argument cleanups
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
38376 * source/common/primitives.h, source/test/intrapredharness.cpp,
38377 source/test/intrapredharness.h:
38378 primitives: rename intra funcdefs, cleanup hungarian from
38382 * source/common/primitives.h:
38383 primitives: update comment for PartitionFromSizes
38386 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
38387 cleanup dct testbench names
38390 * source/test/mbdstharness.cpp:
38394 * source/test/mbdstharness.cpp:
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
38404 * source/common/dct.cpp:
38405 dct: tweak C reference function names
38408 2013-07-08 praveentiwari <praveentiwari>
38410 * source/common/vec/dct.inc:
38414 * source/common/vec/dct.inc:
38418 * source/common/vec/dct.inc:
38422 * source/common/vec/dct.inc:
38423 xIDCT4 renamed to idct4
38426 * source/common/vec/dct.inc:
38427 xIDST4 renamed to idst4
38430 * source/common/vec/dct.inc:
38431 xDCT32 renamed and code cleanup
38434 * source/common/vec/dct.inc:
38435 xDCT8 renamed and cleanup
38438 * source/common/vec/dct.inc:
38439 xDCT16 renamed and code cleanup
38442 * source/common/vec/dct.inc:
38443 xDCT4 vector function renamed and code cleanup
38446 * source/common/vec/dct.inc:
38447 xDST4 renamed and code cleanup
38450 * source/common/vec/dct.inc:
38451 xDeQuant renamed and code cleanup
38454 * source/common/dct.cpp:
38455 xDeQuant renamed to dequant and code cleanup
38458 * source/common/dct.cpp:
38459 xIDCT32_C renamed to idct32_c and code cleanup
38462 * source/common/dct.cpp:
38463 xIDCT16_C renamed to idct16_c and code cleanup
38466 * source/common/dct.cpp:
38467 xIDCT8_C renamed to idct8_c and code cleanup
38470 * source/common/dct.cpp:
38471 xIDCT4_C renamed to idct4_c and code cleanup
38474 * source/common/dct.cpp:
38475 xIDST4_C renamed to idst4_c and code cleanup
38478 * source/common/dct.cpp:
38479 xDCT32_C renamed to dct32_c and code cleanup
38482 * source/common/dct.cpp:
38483 xDCT16_C renamed to dct16_c and code cleanup
38486 2013-07-08 Steve Borho <steve@borho.org>
38488 * source/common/vec/intrapred.inc:
38489 intrapred: fixup variable renaming
38492 * source/common/intrapred.cpp:
38493 intrapred: remove hungarian prefix for file static
38496 * source/common/pixel.cpp:
38497 pixel: cleanup C references
38500 * source/common/vec/pixel16.inc:
38501 pixel: use x264 style argument names
38504 * source/common/vec/pixel8.inc:
38505 pixel: use x264 style argument names
38508 * source/common/intrapred.cpp:
38509 intrapred: finish variable cleanups
38512 * source/common/vec/pixel.inc:
38513 pixel: remove caps in function arguments, macro white-space cleanups
38516 * source/common/vec/pixel.inc, source/common/vec/utils.h:
38517 pixel: cleanup includes
38520 * source/common/vec/pixel.inc:
38521 pixel: simplify SET_FUNC_PRIMITIVE_TABLE macro and relocate
38524 2013-07-08 ggopu <ggopu>
38526 * source/common/intrapred.cpp, source/common/vec/intrapred.inc:
38527 IntraPred: Removed Unused Codes and Cleanup the Function names and
38528 Hungarian Notations
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
38536 2013-07-08 Steve Borho <steve@borho.org>
38538 * source/common/vec/intrapred.inc:
38539 intra: fix HIGH_BIT_DEPTH builds
38542 2013-07-08 praveentiwari <praveentiwari>
38544 * source/common/dct.cpp:
38545 xDCT8_C renamed to dct8_c and code cleanup
38548 * source/common/dct.cpp:
38549 xDCT4_C renamed to dct4_c and code cleanup
38552 * source/common/dct.cpp:
38553 xDST4_C renamed to dst4_c and clenup
38556 2013-07-08 Steve Borho <steve@borho.org>
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
38564 This changes the cadence slightly, so outputs will change. This also
38565 greatly reduces the memory requirements when GOP parallelism is not
38569 2013-07-05 praveentiwari <praveentiwari>
38571 * source/common/dct.cpp:
38572 Cleanup some left hungarian notation left in first commit for
38576 * source/common/dct.cpp:
38577 xDeQuant code cleanup
38580 * source/common/dct.cpp:
38581 xIDCT32_C code cleanup
38584 * source/common/dct.cpp:
38585 xIDCT16_C code cleanup
38588 * source/common/dct.cpp:
38589 xIDCT8_C code cleanup
38592 * source/common/dct.cpp:
38593 xIDCT4_C code cleanup
38596 2013-07-05 Deepthi <Deepthi>
38598 * source/common/common.cpp:
38599 Rect option is enabled by default
38602 2013-07-05 Min Chen <chenm003@163.com>
38604 * source/common/vec/intrapred.inc:
38605 intrapred: code cleanup
38608 2013-07-05 Deepthi Devaki <Deepthi Devaki>
38610 * source/common/vec/ipfilter16.inc:
38611 Used memory align macro in ipfilter16.inc for compatibility with
38615 2013-07-05 praveentiwari <praveentiwari>
38617 * source/common/dct.cpp:
38618 xIDST4_C code cleanup
38621 * source/common/dct.cpp:
38622 xDCT32_C code cleanup
38625 * source/common/dct.cpp:
38626 xDCT16_C code cleanup
38629 * source/common/dct.cpp:
38630 xDCT8_C code cleanup
38633 * source/common/dct.cpp:
38634 xDCT4_C code cleanup
38637 * source/common/dct.cpp:
38638 xDST4_C code cleanup
38641 * source/common/vec/dct.inc:
38642 partialButterfy32 code cleanup
38645 * source/common/vec/dct.inc:
38646 partialButterfly16 code cleanup
38649 * source/common/vec/dct.inc:
38650 partialButterfly8 code clenup
38653 2013-07-05 ggopu <ggopu>
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
38664 2013-07-05 praveentiwari <praveentiwari>
38666 * source/common/vec/dct.inc:
38667 xIDCT32 code cleanup
38670 * source/common/vec/dct.inc:
38671 xIDCT16 code cleanup
38674 2013-07-05 Deepthi <Deepthi>
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
38684 2013-07-05 sumalatha <sumalatha>
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
38692 2013-07-04 Deepthi Devaki <Deepthi Devaki>
38694 * source/common/vec/ipfilter16.inc:
38695 Fix for vc10 crash in ipfilter16.inc
38698 2013-07-02 ggopu <ggopu>
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
38709 2013-07-03 praveentiwari <praveentiwari>
38711 * source/common/vec/dct.inc:
38712 xIDCT4 intrinsic code cleanup
38715 * source/common/vec/dct.inc:
38716 xIDCT8 intrinsic code cleanup
38719 * source/common/vec/dct.inc:
38720 xIDST4 intrinsic code cleanup
38723 * source/common/vec/dct.inc:
38724 xIDST4 vector code cleanup
38727 * source/common/vec/dct.inc:
38728 xDCT32 intrinsic code cleanup
38731 2013-07-03 Deepthi Devaki <Deepthi Devaki>
38733 * source/common/vec/ipfilter16.inc:
38734 Fix for crash in vc9 for IP filter
38737 2013-07-03 praveentiwari <praveentiwari>
38739 * source/common/vec/dct.inc:
38740 xDCT32 vector code cleanup
38743 * source/common/vec/dct.inc:
38744 xDCT16 intrinsic code cleanup
38747 2013-07-02 praveentiwari <praveentiwari>
38749 * source/common/vec/dct.inc:
38750 xDCT16 vector code cleanup
38753 2013-07-05 Deepthi <Deepthi>
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
38762 --- source/Lib/TLibEncoder/TEncSearch.cpp | 2 +-
38763 source/common/vec/intrapred.inc | 2628
38764 ++++++++++++++++++++++++++++++++- 2 files changed, 2628
38765 insertions(+), 2 deletions(-)
38768 2013-07-03 Deepthi <Deepthi>
38770 * source/common/vec/pixel.inc:
38771 Fix for HIGH_BIT_DEPTH enable
38774 * source/common/vec/pixel.inc, source/common/vec/utils.h:
38775 Assert error in pixel.inc resolved
38778 2013-07-02 praveentiwari <praveentiwari>
38780 * source/common/vec/dct.inc:
38781 xDCT8 intrinsic code cleaup
38784 2013-07-02 Deepthi <Deepthi>
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(-)
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(-)
38804 2013-07-02 praveentiwari <praveentiwari>
38806 * source/common/vec/dct.inc:
38807 xDCT8 vector code cleanup
38810 * source/common/vec/dct.inc:
38811 Removed hungarian notation from xDCT4 intrinsic code
38814 * source/common/vec/dct.inc:
38815 Removed hungarian notation from xDST4 intrinsic code
38818 * source/common/vec/dct.inc:
38822 2013-07-01 praveentiwari <praveentiwari>
38824 * source/common/vec/dct.inc:
38825 Removed hungarian notation and code cleanup for xDeQuant vector code
38828 2013-07-01 Deepthi Devaki <Deepthi Devaki>
38830 * source/common/ipfilter.cpp:
38831 code cleanup and variable renaming in ipfilter.cpp
38834 2013-07-01 praveentiwari <praveentiwari>
38836 * source/test/mbdstharness.cpp:
38837 Removed hungarian notation and code cleanup for
38838 check_xdequant_primitive test code
38841 * source/test/mbdstharness.cpp:
38842 Removed hungarian notation and code cleanup for
38843 check_quantaq_primitive test code
38846 * source/test/mbdstharness.cpp:
38847 Removed hungarian notation and cleanup for check_quant_primitive
38851 2013-07-01 Deepthi Devaki <Deepthi Devaki>
38853 * source/common/vec/ipfilter8.inc:
38854 Removed cliping from vertical filter implementation; observed to be
38858 2013-06-30 Steve Borho <steve@borho.org>
38860 * source/cmake/version.cmake:
38861 cmake: remove cache property for X265_VERSION
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
38869 2013-06-29 Steve Borho <steve@borho.org>
38871 * source/Lib/TLibEncoder/TEncSlice.cpp:
38872 TEncSlice: ensure lambda per QP does not change [CHANGES OUTPUTS]
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
38879 My 1.55 hack attempts to get our compression per-QP close to where
38880 it was before the change.
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
38890 This ensures the lambdas used for RD cost are always in sync with
38894 2013-06-29 Min Chen <chenm003@163.com>
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(-)
38902 2013-06-28 Steve Borho <steve@borho.org>
38905 Added tag 0.1 for changeset 99fab2ef92be
38908 * source/common/vec/ipfilter.inc:
38909 VC9 crashes running filterHorizontalMultiplaneExtend in release
38911 The test outright fails in debug, but doesn't crash
38912 [99fab2ef92be] [0.1]
38914 * source/encoder/encoder.cpp:
38915 encoder: ensure primitives (and ROM) are initialized before
38918 This might be an issue for API users
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
38929 * source/common/common.cpp, source/common/common.h,
38930 source/encoder/encoder.cpp:
38931 common: use g_aucConvertToBit for getMaxCuDepth
38934 * source/Lib/TLibEncoder/TEncTop.cpp, source/common/primitives.cpp,
38935 source/encoder/encoder.cpp:
38936 TEncTop: move ROM management out of TEncTop
38938 Eventually we will want to allow more than one TEncTop in a process
38941 * source/Lib/TLibCommon/TComRom.cpp:
38942 TComRom: make initROM and destroyROM safe for cycled calls
38945 * source/Lib/TLibCommon/TComPrediction.cpp:
38946 TComPrediction: use aligned allocs for temporary interpolation
38949 Hoping this resolves the problems found with 32bit heap corruption.
38952 * source/common/common.cpp:
38953 vc9 requires unambigous casts for log() arguments
38956 * source/common/common.cpp:
38957 gcc requires math.h for log()
38960 * source/common/vec/ipfilter.inc:
38961 ipfilter: disable vector version of filterHmulti
38964 * source/common/reference.cpp:
38965 reference: remove obsolete code
38968 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
38969 ipfilter: white-space nits, no code chage
38972 2013-06-28 Deepthi Devaki <Deepthi Devaki>
38974 * source/common/vec/ipfilter8.inc:
38975 Modification on Horizontal filter
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
38985 2013-06-28 Steve Borho <steve@borho.org>
38987 * source/encoder/encoder.cpp:
38988 encoder: Always use IDR decoder refresh type
38991 2013-06-28 praveentiwari <praveentiwari>
38993 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
38994 Test code for quantaq and quant functions.
38997 * source/common/vec/dct.inc:
38998 Vector code for quantaq and quant functions.
39001 * source/common/dct.cpp:
39002 Replaced uint64_t with int in quantaq_C and quant_C functions,
39003 tested with BasketballDrive.
39006 2013-06-28 Steve Borho <steve@borho.org>
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
39013 * source/common/common.cpp, source/x265.h, source/x265opts.h:
39014 Removed maxCUDepth parameter from CLI option
39017 * source/Lib/TLibEncoder/TEncTop.cpp:
39018 TEncTop: improve comment about determining where the second I frame
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
39027 * source/encoder/encoder.cpp:
39028 encoder: round keyframeInterval after establishing GOP structure
39030 This prevents 30Hz video from accidentally triggering our -i32 B
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
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.
39046 2013-06-27 Steve Borho <steve@borho.org>
39048 * source/Lib/TLibCommon/TComSlice.cpp:
39052 * source/Lib/TLibCommon/TComPicYuv.h:
39053 TComPicYuv: remove obsolete member function definition
39056 * source/common/reference.cpp, source/encoder/wavefront.cpp:
39057 thread: add serial code-paths for job provider if thread pool is not
39061 2013-06-27 Min Chen <chenm003@163.com>
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(-)
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(-)
39076 2013-06-27 sumalatha <sumalatha>
39078 * source/encoder/compress.cpp:
39079 Fixed the Hash error with -no-rdo ON
39082 2013-06-26 Steve Borho <steve@borho.org>
39084 * source/Lib/TLibEncoder/TEncTop.cpp:
39085 TEncTop: don't flush two GOP coders in one call
39088 * source/common/threadpool.cpp:
39089 threadpool: tweak for thread deletion loop
39092 * source/common/threadpool.cpp:
39093 threadpool: more explicit shutdown code
39096 * source/Lib/TLibEncoder/TEncCu.cpp:
39097 TEncCu: fix a small memory leak
39100 * source/Lib/TLibEncoder/TEncCu.cpp:
39101 TEncCU: white-space cleanup
39104 * source/Lib/TLibEncoder/TEncTop.cpp,
39105 source/Lib/TLibEncoder/TEncTop.h:
39106 TEncTop: allow GOP coder execution to overlap execution
39108 Finally.. GOP parallelism.
39111 * source/Lib/TLibEncoder/TEncTop.cpp:
39112 TEncTop: do not flush if no pics are queued, prevents deadlock
39115 * source/Lib/TLibCommon/TypeDef.h,
39116 source/Lib/TLibEncoder/TEncCavlc.cpp:
39117 cleanup: move SCALING_LIST_OUTPUT_RESULT to TEncCavlc
39120 * source/Lib/TLibCommon/TypeDef.h:
39121 cleanup: remove unused REMOVE_SAO_LCU_ENC_CONSTRAINTS_3
39124 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TypeDef.h:
39125 cleanup: move DISABLING_CLIP_FOR_BIPREDME to TComYuv, add comment
39128 * source/Lib/TLibCommon/TypeDef.h,
39129 source/Lib/TLibEncoder/TEncCavlc.cpp:
39130 cleanup: move PRINT_RPS_INFO to TEncCavlc
39133 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncGOP.cpp:
39134 cleanup: move VERBOSE_RATE define to TEncGOP
39137 * source/Lib/TLibEncoder/TEncGOP.cpp,
39138 source/Lib/TLibEncoder/TEncGOP.h:
39139 TEncGOP: add a worker thread to process keyframe intervals
39142 * source/common/TShortYUV.cpp, source/common/TShortYUV.h:
39143 TShortYUV: remove or correct comment lines
39146 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
39147 cmake: move HM headers into their own source group in VC
39150 * source/encoder/CMakeLists.txt:
39151 cmake: remove deleted compress.h from encoder project
39154 * source/encoder/compress.cpp:
39155 compress: remove warning disable pragmas, fix warnings
39158 * source/encoder/compress.h:
39159 compress: remove unused header
39162 * source/encoder/compress.cpp:
39163 compress: uncrustify
39166 * source/encoder/compress.cpp:
39167 compress: remove dead variables
39170 * source/common/primitives.h, source/test/mbdstharness.cpp,
39171 source/test/mbdstharness.h:
39172 primitives: fix symbol collision
39175 2013-06-26 Min Chen <chenm003@163.com>
39177 * source/common/vec/intrapred.inc:
39178 inrapred: generate all of 33 IntraAngle 16x16 modes once (vc9-win32
39181 --- source/common/vec/intrapred.inc | 4151
39182 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 4148
39183 insertions(+), 3 deletions(-)
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(-)
39192 2013-06-27 Mandar Gurav <Mandar Gurav>
39194 * source/common/vec/intrapred.inc:
39195 primitves: 8 bit : PredIntraAng8x8 function table implementation
39198 2013-06-26 praveentiwari <praveentiwari>
39200 * source/Lib/TLibCommon/TComTrQuant.cpp:
39201 TrComQuant: replaced original code with primitive calls
39204 * source/common/dct.cpp:
39205 Separated the logic block of code from xQuant function as two
39206 functions for optimization
39209 * source/common/primitives.h:
39210 primitives: Added function pointer types for quant
39213 2013-06-26 sumalatha <sumalatha>
39215 * source/encoder/compress.cpp:
39216 commit : added log for printing costs for each partSize
39219 2013-06-26 praveentiwari <praveentiwari>
39221 * source/common/primitives.h:
39222 White-space fixes in primitives.h
39225 * source/common/dct.cpp:
39226 Uncrustyfied dct.cpp file
39229 2013-06-25 Deepthi Devaki <Deepthi Devaki>
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.
39235 2013-06-26 praveentiwari <praveentiwari>
39237 * source/Lib/TLibCommon/TComTrQuant.cpp:
39238 White-space fixes in TComTrQuant.cpp file
39241 2013-06-26 Mandar Gurav <Mandar Gurav>
39243 * source/common/vec/intrapred.inc:
39244 primitves: 8 bit : PredIntraAng4x4 function table implementation
39247 2013-06-25 Steve Borho <steve@borho.org>
39249 * source/Lib/TLibEncoder/TEncGOP.cpp:
39250 TEncGOP: fix signed/unsigned comparison
39253 * source/Lib/TLibEncoder/TEncTop.cpp:
39254 TEncTOP: small perf tweak for --gops 1
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
39263 * source/Lib/TLibEncoder/TEncTop.h:
39264 TEncTop: prune unused headers, this stuff has all been moved
39268 * source/common/CMakeLists.txt, source/common/IntraPred.cpp,
39269 source/common/intrapred.cpp:
39270 cmake: lower-case the intrapred.cpp filename
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
39280 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/mv.h:
39281 mv: remove set() compatibility method
39284 * source/Lib/TLibEncoder/TEncPic.cpp:
39285 TEncPic: use MAX_DOUBLE from CommonDefs.h
39288 * source/Lib/TLibCommon/TComDataCU.cpp, source/common/mv.h:
39289 mv: remove setHor(), SetVer() compatibility methods
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/
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
39312 * source/Lib/TLibEncoder/TEncTop.cpp:
39313 TEncTOP: simplify logic
39316 * source/Lib/TLibEncoder/TEncTop.cpp:
39317 TEncTOP: remove incorrect comment
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
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
39337 * source/Lib/TLibEncoder/TEncGOP.cpp,
39338 source/Lib/TLibEncoder/TEncGOP.h:
39339 TEncGOP: do not use accessors for member variables
39342 * source/Lib/TLibEncoder/TEncGOP.cpp,
39343 source/Lib/TLibEncoder/TEncGOP.h:
39344 TEncGOP: remove m_cpbRemovalDelay, which was never read
39347 * source/encoder/encoder.cpp:
39348 encoder: set progressive flag, since we only support progressive
39352 * source/encoder/encoder.cpp:
39353 encoder: allow CRA mode when gopNumThreads is 1, add some comments
39356 * source/Lib/TLibEncoder/TEncTop.cpp, source/encoder/encoder.cpp:
39357 TEncTOP: allow -i32 --gops 2, but detect and avoid end-of-stream
39361 * source/Lib/TLibCommon/TypeDef.h:
39362 Backed out changeset: fdb2ffe6b29b
39365 * source/Lib/TLibCommon/TypeDef.h:
39366 TypeDef: remove unused DISABLING_CLIP_FOR_BIPREDME
39369 * source/encoder/encoder.cpp:
39370 encoder: repair open-gop again
39373 * source/encoder/encoder.cpp:
39374 encoder: fix keyframe interval before InitializeGOP()
39377 * source/Lib/TLibEncoder/TEncGOP.cpp:
39378 TEncGOP: fix the first I frame (temporary fix)
39381 * source/encoder/encoder.cpp:
39382 encoder: remove redundant assignments
39385 * source/encoder/encoder.cpp:
39386 encoder: enforce keyframe as multiple of GOPSize
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
39395 2013-06-25 praveentiwari <praveentiwari>
39397 * source/test/mbdstharness.cpp:
39398 Fixed size issue in xDeQuant test code
39401 * source/test/mbdstharness.cpp:
39402 uncrustified mbdstharness.cpp file
39405 2013-06-25 sumalatha <sumalatha>
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.
39413 2013-06-25 Min Chen <chenm003@163.com>
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(-)
39421 2013-06-25 Steve Borho <steve@borho.org>
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
39428 * source/Lib/TLibEncoder/TEncTop.cpp:
39429 TEncGOP: ugly hack for our ugly --keyint 32 hack
39431 This allows the encoder to survive up till the last mini-GOP, still
39435 * source/encoder/encoder.cpp:
39436 encoder: switch to IDR decoder refresh mode, more GOP parallelism
39440 2013-06-24 Steve Borho <steve@borho.org>
39442 * source/Lib/TLibEncoder/TEncTop.cpp:
39443 TEncTOP: remove special cases for first keyframe interval
39446 * source/encoder/encoder.cpp:
39447 encoder: disable GOP parallelism if open GOP configured
39450 * source/encoder/encoder.cpp:
39451 encoder: add a comment for default keyframe interval
39454 * source/common/common.cpp, source/encoder/encoder.cpp,
39456 encoder: change default keyframe interval from fixed value (16) to 1
39460 * source/common/common.cpp, source/encoder/encoder.cpp:
39461 encoder: consolidate logic which validates feature combinations
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
39469 * source/common/x86/README.txt:
39470 asm: add a couple more notes to the README
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
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
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
39496 * source/Lib/TLibEncoder/TEncGOP.cpp,
39497 source/Lib/TLibEncoder/TEncTop.cpp:
39498 TEncGOP: encode frames in keyframe interval batches
39500 This makes progress reports even more infrequent
39503 * source/Lib/TLibEncoder/TEncTop.cpp,
39504 source/Lib/TLibEncoder/TEncTop.h:
39505 TEncTOP: 50% less hungarian, remove or correct wrong comments
39508 2013-06-24 Deepthi Devaki <Deepthi Devaki>
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
39519 2013-06-21 Deepthi Devaki <Deepthi Devaki>
39521 * source/Lib/TLibCommon/TComPrediction.cpp,
39522 source/Lib/TLibCommon/TComPrediction.h:
39523 TComPrediction: fixes for biprediction
39525 Restructured xPredInterBi. Added xPredInterluma/chromablk/Uni
39526 functions with TShortYuv argument for bipred
39529 2013-06-24 Steve Borho <steve@borho.org>
39531 * source/Lib/TLibEncoder/TEncGOP.cpp:
39535 * source/Lib/TLibEncoder/TEncGOP.cpp,
39536 source/Lib/TLibEncoder/TEncGOP.h:
39537 TEncGOP: stub in a processKeyframeInterval() method
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
39546 * source/common/vec/intrapred.inc:
39547 intra: work around VC10 and VC11 Win32 compiler bugs
39550 * source/common/ipfilter.cpp, source/common/vec/intrapred.inc,
39551 source/common/vec/pixel.inc:
39552 gcc: fix warnings reported by GCC
39555 2013-06-23 Steve Borho <steve@borho.org>
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
39563 2013-06-24 Deepthi <Deepthi>
39565 * source/encoder/compress.cpp:
39569 * source/Lib/TLibEncoder/TEncSearch.cpp:
39573 2013-06-22 Deepthi <Deepthi>
39575 * source/encoder/compress.cpp:
39576 Adding in entropy measurements to nordo after encode residual.
39579 * source/encoder/compress.cpp:
39580 Removing merge modes for now; need more debugging
39583 * source/Lib/TLibEncoder/TEncSearch.cpp:
39584 Removing an erroneous cost calculation
39587 2013-06-23 Steve Borho <steve@borho.org>
39589 * source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp:
39590 encoder: fix open-gop behavior
39593 * source/common/common.cpp:
39594 common: fixups for keyframe interval
39597 2013-06-22 Steve Borho <steve@borho.org>
39599 * source/Lib/TLibEncoder/TEncCu.cpp:
39600 TEncCU: remove more dead code
39603 * source/Lib/TLibEncoder/TEncCu.cpp:
39607 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
39608 TEncCU: remove dead code paths
39611 2013-06-23 Steve Borho <steve@borho.org>
39613 * source/Lib/TLibEncoder/TEncSearch.cpp:
39614 TEncSearch: fix 16bpp build
39617 * source/common/vec/pixel.inc:
39618 pixel: fix typo in build define
39621 2013-06-22 Steve Borho <steve@borho.org>
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
39628 * source/VectorClass/vectori128.h:
39632 2013-06-22 Min Chen <chenm003@163.com>
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(-)
39640 2013-06-22 Steve Borho <steve@borho.org>
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
39650 2013-06-22 Min Chen <chenm003@163.com>
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(-)
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(-)
39666 2013-06-22 Steve Borho <steve@borho.org>
39668 * source/common/primitives.h, source/test/pixelharness.cpp:
39669 primitives: rename NUM_BLOCKS to NUM_SQUARE_BLOCKS, use for intra
39673 2013-06-22 Min Chen <chenm003@163.com>
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(+),
39685 2013-06-22 Steve Borho <steve@borho.org>
39687 * source/common/vec/intrapred.inc:
39688 intrapred: wrap pragma warning with #if _MSC_VER
39691 * source/Lib/TLibEncoder/TEncSearch.cpp:
39692 TEncSearch: fix cost adjustments following HM ME
39695 * source/Lib/TLibEncoder/TEncSearch.cpp:
39696 TEncSearch: simplify full search
39699 * source/Lib/TLibEncoder/TEncSearch.cpp:
39700 ppa: move motion search event to a higher level
39703 * source/Lib/TLibEncoder/TEncGOP.cpp:
39704 TEncGOP: catch --keyint -1 sanely
39707 * source/Lib/TLibEncoder/TEncSearch.h:
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
39716 * source/Lib/TLibCommon/CommonDef.h,
39717 source/Lib/TLibEncoder/TEncSearch.cpp:
39718 TEncSearch: remove more cruft
39721 * source/Lib/TLibCommon/TComRdCost.h,
39722 source/Lib/TLibCommon/TComRdCostWeightPrediction.cpp,
39723 source/Lib/TLibEncoder/TEncSearch.cpp:
39724 TComRdCost: remove unused uiComp
39727 * source/Lib/TLibEncoder/TEncSearch.cpp,
39728 source/Lib/TLibEncoder/TEncSearch.h:
39729 TEncSearch: remove setDistParamComp
39732 2013-06-21 Steve Borho <steve@borho.org>
39734 * source/Lib/TLibEncoder/TEncSearch.cpp:
39735 TEncSearch: cleanups
39738 * source/Lib/TLibEncoder/TEncSearch.cpp,
39739 source/Lib/TLibEncoder/TEncSearch.h:
39740 TEncSearch: move predictor fetching earlier in inter pred
39742 This allows us to merge xTZSearch into xPatternSearchFast
39745 * source/Lib/TLibEncoder/TEncSearch.cpp:
39746 TEncSearch: hoist our optimized ME up a function layer
39748 Avoid a lot of useless overhead, simplify how ME is called
39751 * source/Lib/TLibEncoder/TEncSearch.cpp,
39752 source/Lib/TLibEncoder/TEncSearch.h:
39753 TEncSearch: simplify xSetSearchRange
39756 * source/encoder/motion.cpp, source/encoder/mv.h:
39757 MV: do not allow implicit creation from int
39760 * source/Lib/TLibEncoder/TEncSearch.cpp:
39764 * source/common/common.cpp:
39765 common: do not allow weighted prediction with optimized ME
39767 This prevents having to check for this deep within the encoder
39770 2013-06-21 Min Chen <chenm003@163.com>
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
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(-)
39782 2013-06-21 Steve Borho <steve@borho.org>
39784 * source/Lib/TLibEncoder/TEncSearch.cpp:
39785 TEncSearch: remove last Double uses from TEncSearch
39788 * source/Lib/TLibCommon/TComRdCost.h:
39789 TComRdCost: remove unused getLambda() method
39792 2013-06-20 Min Chen <chenm003@163.com>
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(-)
39805 2013-06-21 Deepthi Devaki <Deepthi Devaki>
39807 * source/common/ipfilter.cpp, source/common/primitives.h:
39808 Filtervertical-short-short and pel-short to support bipred
39811 2013-06-21 Deepthi <Deepthi>
39813 * source/encoder/compress.cpp:
39814 Cleanup: compress.cpp
39817 * source/encoder/compress.cpp:
39818 Removing incorrect null checks
39821 * source/encoder/compress.cpp:
39822 Branch decision taken only if CU does not contain boundary. Always
39829 * source/encoder/compress.cpp:
39830 Replacing SATD computations with blkcpy and then satd
39833 2013-06-21 Steve Borho <steve@borho.org>
39835 * source/Lib/TLibEncoder/TEncGOP.cpp:
39839 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
39840 cmake: separate HM headers from the cpp files for convenience
39843 * source/common/pixel.cpp:
39844 pixel: refix 16bpp builds
39848 x265: fix bitrate progress reports
39851 * source/Lib/TLibEncoder/TEncGOP.cpp:
39852 TEncGOP: use member SPS and PPS structs, stop refetching slice
39855 2013-06-20 Steve Borho <steve@borho.org>
39857 * source/common/x86/asm-primitives.cpp:
39858 asm: do not override new SSE2 ASM functions with slower templated
39862 * source/Lib/TLibEncoder/TEncGOP.cpp:
39866 * source/CMakeLists.txt:
39867 cmake: assign value to X86_64 when defined
39870 * source/Lib/TLibEncoder/TEncGOP.cpp:
39871 TEncGOP: move a couple of methods
39874 * source/Lib/TLibEncoder/TEncGOP.cpp:
39878 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
39879 bitcost: use more accurate fractional bit cost accounting from x264
39882 * source/encoder/motion.cpp, source/encoder/motion.h:
39883 motion: drop SUBSAMPLE_SAD [CHANGES OUTPUTS]
39885 The complexity outweighed the benefits
39888 * source/Lib/TLibEncoder/TEncGOP.cpp:
39889 TEncGOP: fix comment
39892 * source/encoder/bitcost.cpp:
39893 bitcost: fix clamp of bitcost to 16bits
39895 The typecast to uint16_t was just wrong
39898 * source/common/reference.cpp:
39899 reference: cleanup worker function
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
39910 * source/common/vec/ipfilter8.inc:
39911 ipfilter: fix indention (all white-space changes)
39914 * source/common/vec/ipfilter8.inc:
39915 ipfilter: fix spacing
39918 * source/common/pixel.cpp:
39919 pixel: fix sa8d_16x16 C primitive
39922 2013-06-20 Deepthi Devaki <Deepthi Devaki>
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
39930 2013-06-20 Min Chen <chenm003@163.com>
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(-)
39938 * source/test/testbench.cpp:
39939 testbench: fix logic on option --cpuid
39942 2013-06-20 Steve Borho <steve@borho.org>
39944 * source/Lib/TLibEncoder/TEncGOP.cpp:
39945 TEncGOP: ensure pic list contains at least two TComPic
39948 2013-06-20 Min Chen <chenm003@163.com>
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(-)
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(-)
39969 2013-06-20 Mandar Gurav <Mandar Gurav>
39971 * source/common/pixel.cpp, source/test/testbench.cpp:
39972 primitives: some macro implementation to improve readabilty of code.
39975 2013-06-20 Steve Borho <steve@borho.org>
39977 * source/common/x86/asm-primitives.cpp, source/common/x86/pixel.h:
39978 asm: use more generic 64bit build define
39981 * source/common/x86/asm-primitives.cpp:
39982 asm: prune trailing white-space
39985 2013-06-20 Mandar Gurav <Mandar Gurav>
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
39992 2013-06-20 Deepthi <Deepthi>
39997 * source/common/common.cpp:
39998 Print rdo if enabled, no-rdo if disabled
40001 2013-06-20 Steve Borho <steve@borho.org>
40003 * source/Lib/TLibEncoder/TEncGOP.cpp:
40004 TEncGOP: simplify POC search
40007 * source/Lib/TLibEncoder/TEncGOP.cpp:
40008 TEncGOP: remove unused variable
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
40019 x265: do not ask for recon pictures if no output file was requested
40022 * source/encoder/encoder.cpp:
40023 encoder: consider output NALs even if iNumEncoded is zero
40026 2013-06-19 Steve Borho <steve@borho.org>
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
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
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
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
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
40064 2013-06-19 Min Chen <chenm003@163.com>
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(-)
40072 2013-06-19 Steve Borho <steve@borho.org>
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
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.
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
40093 * source/Lib/TLibCommon/TComSlice.cpp:
40097 * source/Lib/TLibEncoder/TEncTop.cpp,
40098 source/Lib/TLibEncoder/TEncTop.h:
40099 TEncTop: return TComPic from xGetNewPicBuffer, don't use reference
40103 * source/Lib/TLibCommon/TComTrQuant.cpp,
40104 source/Lib/TLibCommon/TComTrQuant.h:
40105 Backed out changeset: 8af5a9eb198c
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
40113 We need an effective way to perform the cost scaling using integer
40114 math in order to use integers throughout this function.
40117 * source/Lib/TLibCommon/TComTrQuant.cpp:
40118 TComTrQuant: reduce number of double<->int conversions
40121 * source/Lib/TLibCommon/TComTrQuant.cpp,
40122 source/Lib/TLibCommon/TComTrQuant.h:
40123 TComTrQuant: switch lambda from Double to UInt64 [CHANGES OUTPUTS]
40126 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.h:
40127 motion: add bufSA8D() method, so sa8d and satd are both available
40130 2013-06-19 sumalatha <sumalatha>
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
40137 2013-06-20 ShinYee Chung <shinyee@multicorewareinc.com>
40139 * source/common/vec/intrapred.inc:
40140 intrapred: Fix unused variables.
40142 error: statement has no effect [-Werror=unused-value]
40145 2013-06-19 Steve Borho <steve@borho.org>
40147 * source/common/common.cpp:
40148 common: move RDO settings together
40151 * source/common/common.cpp:
40152 common: output logs to stderr consistently
40155 2013-06-20 ShinYee Chung <shinyee@multicorewareinc.com>
40157 * source/Lib/TLibEncoder/TEncSearch.cpp:
40158 TEncSearch: Fix compile error due to char array subscript.
40160 Sample compile errors in Linux64/GCC4.8.1:
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]]; ^
40173 * source/common/IntraPred.cpp:
40174 intrapred: Fix unused global variable.
40176 Compile error in Linux64/GCC4.8.1:
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] = { ^
40183 2013-06-19 ShinYee Chung <shinyee@multicorewareinc.com>
40185 * source/Lib/TLibCommon/TComPrediction.cpp:
40186 TComPrediction: Fix reordered initialization list.
40188 Sample compile errors in Linux64/GCC4.8.1:
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()
40214 * source/common/IntraPred.cpp, source/common/vec/intrapred.inc:
40215 intrapred: Fix unused variables.
40217 Sample compile errors in Linux64/GCC 4.8.1:
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); ^
40225 2013-06-19 Min Chen <chenm003@163.com>
40227 * source/Lib/TLibEncoder/TEncSearch.cpp,
40228 source/common/vec/intrapred.inc:
40229 inrapred: generate all of 33 IntraAngle-4x4 modes once
40232 2013-06-19 Mandar Gurav <Mandar Gurav>
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)
40239 2013-06-18 Mandar Gurav <Mandar Gurav>
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)
40246 2013-06-19 Steve Borho <steve@borho.org>
40248 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/pixel.cpp,
40249 source/common/vec/intrapred.inc, source/encoder/motion.cpp:
40253 2013-06-18 Steve Borho <steve@borho.org>
40255 * source/Lib/TLibCommon/TComTrQuant.cpp,
40256 source/Lib/TLibCommon/TComTrQuant.h:
40257 TComTrQuant: remove wrong comments, cleanup funcdefs, move inlines
40261 2013-06-19 Deepthi <Deepthi>
40263 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
40264 Cleanuo: Removing swapCU
40267 * source/Lib/TLibCommon/TComDataCU.cpp,
40268 source/Lib/TLibCommon/TComDataCU.h:
40269 Cleanup: Removing copyCU
40272 * source/CMakeLists.txt:
40273 Removing FMD from cmake options.
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
40283 * source/encoder/encoder.cpp:
40284 Set cfg flag to enableRDO CL option.
40287 * source/Lib/TLibEncoder/TEncCfg.h:
40288 Adding rdo to cfg structure
40291 * source/common/common.cpp, source/x265.h, source/x265opts.h:
40292 Add rdo/no-rdo to command line interface
40295 2013-06-18 Steve Borho <steve@borho.org>
40297 * source/Lib/TLibCommon/TComRdCost.h:
40298 TComRdCost: move getCost closer to calcRdSADCost, to show how they
40302 * source/Lib/TLibCommon/TComRdCost.cpp,
40303 source/Lib/TLibCommon/TComRdCost.h:
40304 TComRdCost: remove unused calcHAD() method
40307 * source/Lib/TLibCommon/TComRdCost.cpp:
40308 TComRdCost: fix a typo in a comment
40311 * source/Lib/TLibCommon/TComRdCost.cpp,
40312 source/Lib/TLibCommon/TComRdCost.h:
40313 TComRdCost: remove unused overload of setDistParam
40316 * source/Lib/TLibCommon/TComRdCost.cpp,
40317 source/Lib/TLibCommon/TComRdCost.h:
40318 TComRdCost: remove unused overload of setDistParam
40321 * source/encoder/motion.cpp, source/encoder/motion.h:
40322 motion: move bufSATD back into motion.h and declare both inline
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()
40330 Now we can pick between sa8d and satd at runtime via a pointer
40334 * source/Lib/TLibEncoder/TEncSearch.cpp:
40335 TEncSearch: use motion.bufSAD instead of m_pcRdCost DistParam
40338 * source/encoder/motion.cpp, source/encoder/motion.h:
40339 motion: make bufSATD function exactly like TComRdCost::calcHAD()
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
40348 * source/common/primitives.h:
40349 primitives: fix two wrong comments
40352 * source/encoder/motion.h:
40353 motion: add bufSATD method
40356 * source/Lib/TLibEncoder/TEncSearch.cpp:
40357 TEncSearch: remove extra indent level; nit
40360 * source/common/primitives.cpp:
40361 primitives: add rationale for disabling EMMS when ASM is disabled
40364 * source/common/vec/pixel.inc:
40365 pixel: cleanup Setup_Vec_PixelPrimitives, remove comments that add
40369 * source/common/pixel.cpp:
40370 pixel: round up to nearest half before shift, fixes --cpuid 1
40374 * source/encoder/bitcost.cpp:
40375 bitcost: use x265_emms() before calculating a row of MV costs, to be
40379 * source/common/x86/asm-primitives.cpp:
40380 asm-primitives: fix eoln
40383 * source/common/primitives.h, source/common/x86/asm-primitives.cpp:
40384 Backed out changeset: d9f7525c4adf
40387 * source/Lib/TLibEncoder/TEncSearch.cpp:
40388 TEncSearch: delay x265_emms() to RDO stage of intra analysis
40391 * source/Lib/TLibEncoder/TEncSearch.cpp:
40392 TEncSearch: use m_pcRdCost->calcRdSADCost() to avoid doubles in
40396 2013-06-18 chenm003 <chenm003@163.com unknown>
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(-)
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(-)
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(-)
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(-)
40448 2013-06-18 chenm003 <chenm003@163.com Min Chen>
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(-)
40456 2013-06-18 chenm003 <chenm003@163.com unknown>
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
40469 2013-06-18 Steve Borho <steve@borho.org>
40471 * source/common/reference.cpp:
40475 2013-06-18 Deepthi Devaki <Deepthi Devaki>
40477 * source/common/reference.cpp, source/common/reference.h:
40481 * source/common/vec/ipfilter8.inc:
40482 Intrinsic implementation for SSE4 and higher for vertical filter
40485 2013-06-17 Steve Borho <steve@borho.org>
40487 * source/common/reference.cpp, source/common/reference.h:
40488 reference: use new multiplane primitives (changes outputs, likely
40492 2013-06-18 Deepthi Devaki <Deepthi Devaki>
40497 * source/common/vec/ipfilter8.inc:
40498 Partial intrinsic for vertical filter
40501 2013-06-18 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
40503 * source/common/reference.cpp:
40504 Fixed Build Errors(Type cast) for 16 bit
40507 2013-06-18 mahesh pittala <mahesh@multicorewareinc.com>
40509 * Merged multicoreware/xhevc into default
40512 * Merged multicoreware/xhevc into default
40515 2013-06-17 mahesh pittala <mahesh@multicorewareinc.com>
40517 * Merged multicoreware/xhevc into default
40520 * Merged multicoreware/xhevc into default
40523 * source/Lib/TLibEncoder/TEncAnalyze.cpp:
40524 Merged multicoreware/xhevc into default
40527 2013-06-15 mahesh pittala <mahesh@multicorewareinc.com>
40529 * Merged multicoreware/xhevc into default
40532 * Merged multicoreware/xhevc into default
40535 2013-06-14 mahesh pittala <mahesh@multicorewareinc.com>
40537 * Merged multicoreware/xhevc into default
40540 2013-06-18 Steve Borho <steve@borho.org>
40542 * source/common/reference.cpp:
40543 reference: extend Y=0 planes in worker function
40546 * source/common/reference.cpp, source/common/reference.h:
40547 reference: use new APIs
40550 2013-06-17 Steve Borho <steve@borho.org>
40552 * source/Lib/TLibCommon/TComSlice.cpp:
40553 TComSlice: fix debug builds (asserts)
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
40564 * source/Lib/TLibEncoder/TEncGOP.cpp,
40565 source/Lib/TLibEncoder/TEncGOP.h:
40566 TEncGOP: remove uiNumSlices
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
40576 * source/Lib/TLibEncoder/TEncGOP.cpp,
40577 source/Lib/TLibEncoder/TEncGOP.h:
40578 TEncGOP: remove unused SEI var, nit cleanups
40581 * source/Lib/TLibEncoder/TEncGOP.cpp,
40582 source/Lib/TLibEncoder/TEncGOP.h:
40583 TEncGOP: SEIPresent variables can now be local variables
40586 * source/Lib/TLibEncoder/TEncGOP.h:
40587 TEncGOP: remove obsolete PROCESSING_STATE enum
40590 * source/Lib/TLibEncoder/TEncGOP.cpp,
40591 source/Lib/TLibEncoder/TEncGOP.h:
40592 TEncGOP: inline xResetNonNestedSEIPresentFlags() and
40593 xResetNestedSEIPresentFlags()
40596 * source/Lib/TLibEncoder/TEncGOP.cpp,
40597 source/Lib/TLibEncoder/TEncGOP.h:
40598 TEncGOP: inline xCreateLeadingSEIMessages
40601 * source/Lib/TLibEncoder/TEncGOP.cpp,
40602 source/Lib/TLibEncoder/TEncGOP.h:
40603 TEncGOP: m_iGopSize did not need to be a member variable
40606 * source/encoder/encoder.cpp:
40607 encoder: declare large integer constant to be unsigned to prevent
40611 * source/Lib/TLibEncoder/TEncGOP.h:
40612 TEncGOP: remove unnecessary includes of <list> and <stdlib.h>
40615 * source/Lib/TLibEncoder/TEncGOP.h:
40616 TEncGOP: remove uneecessary include of <vector>
40619 * source/Lib/TLibEncoder/TEncPic.h:
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
40630 * source/Lib/TLibCommon/TComPic.h:
40631 TComPic: move pointers to start of class definition
40634 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40635 TComPic: remove unused m_SEIs
40637 This may get added again later with a more C friendly interface
40640 * source/Lib/TLibCommon/TComSlice.h:
40641 TComSlice: white-space cleanups
40644 * source/Lib/TLibCommon/TComBitStream.cpp,
40645 source/Lib/TLibCommon/TComBitStream.h:
40646 TComBitstream: remove decoder class TComInputBitstream
40649 * source/Lib/TLibCommon/TComPic.h:
40650 TComPic: remove obsolete include
40653 * source/Lib/TLibCommon/TComSlice.cpp,
40654 source/Lib/TLibCommon/TComSlice.h:
40655 TComSlice: fix misspelled member variable
40658 2013-06-16 ShinYee Chung <shinyee@multicorewareinc.com>
40660 * source/encoder/encoder.cpp:
40661 encoder: Fix compile warnings due to unhandled enumeration values in
40662 a switch statement.
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
40681 2013-06-17 ShinYee Chung <shinyee@multicorewareinc.com>
40683 * source/Lib/TLibEncoder/TEncGOP.cpp:
40684 gop: Fix compile warning due to shadow variables.
40686 error: shadowed declaration is here [-Werror=shadow]
40689 2013-06-17 Steve Borho <steve@borho.org>
40691 * source/Lib/TLibCommon/TComSlice.h:
40692 TComSlice: remove unreferenced checkColRefIdx
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
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)
40721 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40722 TComPic: give the orig and recon pointers real names
40725 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40726 TComPic: rename m_apcPicSym to m_pcPicSym, there is no array
40729 * source/Lib/TLibCommon/TComPic.cpp:
40730 TComPic: further simplify boundary detection
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
40739 * source/Lib/TLibCommon/TComPic.cpp:
40740 TComPic: pre-allocate vSliceCUDataLink
40743 * source/Lib/TLibCommon/TComPic.h:
40747 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40748 TComPic: m_vSliceCUDataLink did not need to be a member variable
40751 * source/test/mbdstharness.cpp:
40752 mbdstharness: fix compile with DEBUG
40755 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40756 TComPic: m_sliceGranularityForNDBFilter did not need to be a member
40760 * source/Lib/TLibCommon/TComPic.cpp,
40761 source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
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
40770 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
40771 TComPic: remove more multi-slice cruft
40774 * source/Lib/TLibEncoder/TEncSlice.cpp,
40775 source/Lib/TLibEncoder/TEncSlice.h:
40776 TEncSlice: do not pass TComPic as pointer reference to encodeSlice
40779 * source/Lib/TLibEncoder/TEncSlice.cpp,
40780 source/Lib/TLibEncoder/TEncSlice.h:
40781 TEncSlice: TComPic argument to compressSlice is not a reference
40784 * source/Lib/TLibEncoder/TEncSlice.cpp,
40785 source/Lib/TLibEncoder/TEncSlice.h:
40789 * source/Lib/TLibEncoder/TEncSlice.cpp,
40790 source/Lib/TLibEncoder/TEncSlice.h:
40791 TEncSlice: remove unused m_pcPicYuvPred and m_pcPicYuvResi
40794 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40795 source/Lib/TLibEncoder/TEncSlice.cpp:
40796 TComPic: remove unused m_pcPicYuvPred
40799 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h,
40800 source/Lib/TLibEncoder/TEncSlice.cpp:
40801 TComPic: remove unused m_pcPicYuvResi
40803 I believe we use TShortYUV internally for this now
40806 * source/Lib/TLibCommon/TComPic.h, source/Lib/TLibCommon/TComPicYuv.h:
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
40816 * source/Lib/TLibEncoder/TEncTop.cpp:
40817 TEncTop: remove extra assignment of m_iMaxRefPicNum, cleanup
40820 * source/common/ipfilter.cpp, source/common/primitives.h:
40824 2013-06-17 Deepthi Devaki <Deepthi Devaki>
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
40835 * source/Lib/TLibEncoder/TEncAnalyze.cpp:
40839 * source/common/vec/intrapred.inc:
40840 Used unsafe compress to improve performance
40843 * source/common/vec/ipfilter8.inc:
40844 Used saturated compress to eliminate min()
40847 2013-06-17 Steve Borho <steve@borho.org>
40849 * source/Lib/TLibCommon/TComPrediction.cpp:
40850 TComPrediction: white-space nits
40853 * source/Lib/TLibCommon/TComPrediction.cpp:
40854 TComPrediction: fix eoln
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
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
40873 x265: improve x265 -V output some more
40877 x265: fix and improve output of x265 -V
40880 * source/common/vec/dct.inc:
40884 2013-06-17 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
40950 2013-06-17 Deepthi <Deepthi>
40952 * source/encoder/compress.cpp:
40953 Early Detection skip mode removed from FMD
40956 * source/Lib/TLibEncoder/TEncAnalyze.cpp, source/encoder/compress.cpp:
40960 2013-06-15 Deepthi <Deepthi>
40962 * source/Lib/TLibEncoder/TEncCu.cpp,
40963 source/Lib/TLibEncoder/TEncSearch.cpp:
40964 Removing irrelevant FMD optimizations
40967 * source/encoder/compress.cpp:
40971 2013-06-16 Steve Borho <steve@borho.org>
40974 Move tag LASTKNOWNGOOD
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
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
40988 * source/test/mbdstharness.cpp:
40989 mbdstharness: remove unused BufferflyConf_names
40992 * source/encoder/compress.cpp:
40996 * source/common/vec/dct.inc:
40997 dct: remove VC9 x64 warning, the affected routines are all gone
41000 * source/common/vec/dct.inc:
41001 dct: remove unused primitives, reorder for clarity
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
41010 2013-06-16 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
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
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(-)
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(-)
41053 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
41054 source/common/vec/dct.inc, source/test/mbdstharness.cpp:
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(-)
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(-)
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(-)
41076 2013-06-15 Steve Borho <steve@borho.org>
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
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
41093 * source/Lib/TLibEncoder/TEncGOP.cpp:
41094 TEncGOP: use array delete for array new pointers
41097 * source/Lib/TLibEncoder/TEncGOP.cpp:
41098 TEncGOP: simplifications
41101 * source/Lib/TLibEncoder/TEncGOP.cpp:
41102 TEncGOP: single tile simplifications
41105 * source/Lib/TLibEncoder/TEncGOP.cpp:
41106 TEncGOP: more single-slice simplifications
41109 * source/Lib/TLibEncoder/TEncGOP.cpp:
41110 TEncGOP: remove undefined SAO_RDO
41113 * source/Lib/TLibEncoder/TEncGOP.cpp:
41114 TEncGOP: remove dead code
41117 * source/Lib/TLibEncoder/TEncGOP.cpp:
41118 TEncGOP: clean-up some multi-slice constructs
41121 * source/Lib/TLibEncoder/TEncGOP.cpp,
41122 source/Lib/TLibEncoder/TEncTop.cpp:
41123 TEncTOP: move RC-GOP operations within compressGOP()
41126 * source/Lib/TLibEncoder/TEncGOP.cpp,
41127 source/Lib/TLibEncoder/TEncGOP.h:
41128 TEncGOP: use iPOCLast==0 instead of m_bSeqFirst
41131 * source/Lib/TLibEncoder/TEncGOP.cpp:
41132 TEncGOP: cleanup initialization
41135 * source/Lib/TLibEncoder/TEncGOP.h:
41136 TEncGOP: cleanups, make internal methods protected
41139 * source/Lib/TLibEncoder/TEncGOP.cpp,
41140 source/Lib/TLibEncoder/TEncGOP.h:
41141 TEncGOP: remove member pointer to encoder singleton picture list
41143 The picture list is provided to compressGOP() method
41146 * source/Lib/TLibEncoder/TEncGOP.h:
41147 TEncGOP: remove unused getListPic() method
41150 * source/Lib/TLibEncoder/TEncSlice.cpp,
41151 source/Lib/TLibEncoder/TEncSlice.h:
41152 TEncSlice: remove member pointer to global picture list
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
41161 Get rid of another assumption about singleton objects
41164 2013-06-12 Min Chen <chenm003@163.com>
41166 * source/common/primitives.h, source/common/vec/pixel.inc:
41167 primitives: add a 16bit copy with left shift primitive
41170 2013-06-15 Steve Borho <steve@borho.org>
41172 * source/test/pixelharness.cpp:
41173 pixelharness: fixup indexing of block primitives
41176 2013-06-15 Deepthi <Deepthi>
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.
41183 * source/Lib/TLibCommon/TComDataCU.cpp,
41184 source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41188 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41189 Null rpcBestCU. Memory leaks resolved.
41192 * source/encoder/compress.cpp:
41193 More prep to null BestCU
41196 * source/encoder/compress.cpp:
41197 Prepare to Null split level BestCU
41200 * source/encoder/compress.cpp:
41201 Prepare to null rpcBestCU
41204 * source/encoder/compress.cpp:
41208 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/compress.cpp:
41209 Cleanup; fix split bugs
41212 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41213 Rolling back; inter mode works, split has bugs
41216 2013-06-14 Steve Borho <steve@borho.org>
41218 * source/encoder/encoder.cpp:
41219 x265: better handling of level thresholds
41222 * source/encoder/encoder.cpp, source/encoder/encoder.h:
41223 x265: detect and set the profile and level
41226 * source/Lib/TLibEncoder/TEncSearch.cpp:
41227 gcc: integer array subscripts
41230 2013-06-14 Min Chen <chenm003@163.com>
41232 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/dct.cpp,
41233 source/common/vec/dct.inc, source/test/mbdstharness.cpp:
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(-)
41241 * source/common/vec/dct.inc:
41242 cleanup MAKE_ODD outside xDCT8
41243 --- source/common/vec/dct.inc | 1 + 1 files changed, 1 insertions(+),
41247 2013-06-14 Steve Borho <steve@borho.org>
41249 * source/x265opts.h:
41250 x265: nit in CLI help
41253 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/primitives.h:
41254 pixel: use width bit size to index residual and recon primitives
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
41263 * source/Lib/TLibEncoder/TEncSearch.cpp:
41264 Merged in deepthidevaki/xhevc_deepthid (pull request #199)
41266 Added vector Filter Horizontal Multiplane, and support in testbench.
41269 2013-06-14 Deepthi Devaki <Deepthi Devaki>
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
41277 * source/common/primitives.h, source/test/ipfilterharness.cpp:
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.
41287 2013-06-14 Steve Borho <steve@borho.org>
41289 * Merged in maheshpittala/xhevc_mahesh (pull request #198)
41291 Fixed Build errors(Type cast) in 16 bit
41294 2013-06-14 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
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
41302 2013-06-14 mahesh pittala <mahesh@multicorewareinc.com>
41304 * Merged multicoreware/xhevc into default
41307 * Merged multicoreware/xhevc into default
41310 * Merged multicoreware/xhevc into default
41313 2013-06-12 mahesh pittala <mahesh@multicorewareinc.com>
41315 * Merged multicoreware/xhevc into default
41318 2013-06-13 mahesh pittala <mahesh@multicorewareinc.com>
41320 * source/tools/HM decoder/TAppDecoder.exe:
41321 Merged multicoreware/xhevc into default
41324 2013-06-12 mahesh pittala <mahesh@multicorewareinc.com>
41326 * Merged multicoreware/xhevc into default
41329 * Merged multicoreware/xhevc into default
41332 * Merged multicoreware/xhevc into default
41335 2013-06-11 mahesh pittala <mahesh@multicorewareinc.com>
41337 * Merged multicoreware/xhevc into default
41340 * source/common/macroblock.cpp, source/common/vec/macroblock.inc:
41341 Merged multicoreware/xhevc into default
41344 2013-06-10 mahesh pittala <mahesh@multicorewareinc.com>
41346 * Merged multicoreware/xhevc into default
41349 * Merged multicoreware/xhevc into default
41352 * Merged multicoreware/xhevc into default
41355 2013-06-07 mahesh pittala <mahesh@multicorewareinc.com>
41357 * Merged multicoreware/xhevc into default
41360 2013-06-05 mahesh pittala <mahesh@multicorewareinc.com>
41362 * Merged multicoreware/xhevc into default
41365 * Merged multicoreware/xhevc into default
41368 * Merged multicoreware/xhevc into default
41371 2013-06-04 mahesh pittala <mahesh@multicorewareinc.com>
41373 * Merged multicoreware/xhevc into default
41376 2013-06-03 mahesh pittala <mahesh@multicorewareinc.com>
41378 * Merged multicoreware/xhevc into default
41381 * Merged multicoreware/xhevc into default
41384 2013-06-14 Deepthi <Deepthi>
41386 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41390 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
41391 Adding comments; cosmetic changes, removing unnecessary local vars
41394 * source/encoder/compress.cpp:
41395 Entropy related code removed
41398 * source/encoder/compress.cpp:
41399 Removing extraneous checks
41402 * source/encoder/compress.cpp:
41403 Copy sub-best-recon to current best recon
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.
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.
41417 2013-06-13 Deepthi <Deepthi>
41419 * source/encoder/compress.cpp:
41420 Claridying assert checks
41423 * source/encoder/compress.cpp:
41424 Removing use of rpcTempCU for initializations
41427 2013-06-14 Steve Borho <steve@borho.org>
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
41439 * source/Lib/TLibEncoder/TEncGOP.cpp:
41443 * source/Lib/TLibEncoder/TEncCu.cpp:
41447 * source/Lib/TLibCommon/TComTrQuant.cpp:
41448 HM fixes: "Clean up"
41451 * source/Lib/TLibCommon/TComPicYuv.h:
41452 TComPicYuv: fix 16bpp build
41455 * source/Lib/TLibCommon/TComSlice.cpp:
41456 HM cleanups: "Add assert() statements / clean up"
41459 2013-06-13 Steve Borho <steve@borho.org>
41461 * source/Lib/TLibEncoder/TEncGOP.cpp:
41462 HM bug fix: "Fix for #1072"
41465 * source/Lib/TLibCommon/TComSlice.h,
41466 source/Lib/TLibEncoder/TEncCavlc.cpp:
41467 HM bug fix: "Fix for #1078"
41470 * source/Lib/TLibEncoder/TEncCavlc.cpp:
41471 HM bug fix: "Fix for #1079"
41474 * source/test/ipfilterharness.cpp:
41475 ipfilterharness: add offsets for src buffer pointer
41478 * source/test/ipfilterharness.cpp:
41479 ipfilterharness: use alignedMalloc for short_buff
41482 * source/common/common.cpp, source/encoder/motion.cpp:
41483 motion: prevent over-large merange from causing inf loops
41486 * source/encoder/motion.cpp, source/encoder/motion.h:
41487 motion: move distance for-loop within StarPatternSearch (less call
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
41499 Each TEncGOP will have at least one frame encoder, for parallelism
41502 * source/Lib/TLibEncoder/TEncGOP.cpp,
41503 source/Lib/TLibEncoder/TEncGOP.h:
41504 TEncGOP: make m_iNumPicCoded a function local variable
41507 * source/Lib/TLibCommon/TComDataCU.cpp,
41508 source/Lib/TLibEncoder/TEncSearch.cpp:
41509 gcc: replace MAXUINT64 with MAX_INT64 from CommonDefs.h
41512 * source/Lib/TLibCommon/TComRdCost.cpp,
41513 source/Lib/TLibCommon/TComRdCost.h:
41514 TComRdCost: move setCbDistortionWeight() to cpp file, cleanup
41517 * source/encoder/motion.cpp, source/encoder/motion.h:
41518 motion: rename bufsad to fullsad
41521 * source/encoder/motion.cpp, source/encoder/motion.h:
41522 motion: move init_scales() to constructor, remove from setSourcePU
41525 * source/common/primitives.h:
41526 Merged in deepthidevaki/xhevc_deepthid (pull request #196)
41528 Modifications to vertical filter multiplane
41531 2013-06-13 Deepthi Devaki <Deepthi Devaki>
41533 * source/tools/HM decoder/TAppDecoder.exe:
41537 * source/common/vec/ipfilter8.inc, source/test/ipfilterharness.cpp:
41538 Modifications to vertical filter multiplane
41541 2013-06-13 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
41543 * source/tools/HM decoder/TAppDecoder.exe:
41544 Merged multicoreware/xhevc into default
41547 2013-06-12 Deepthi Devaki <Deepthi Devaki>
41549 * source/common/vec/ipfilter.inc, source/common/vec/ipfilter8.inc:
41550 Added Vertical filter for multiplane (Vectorized assuming width is
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
41560 2013-06-13 Steve Borho <steve@borho.org>
41562 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #197)
41564 primitives: sse2, ssse3, avx: Assembly calls for SSE_PP(SSD) for
41568 2013-06-13 Mandar Gurav <Mandar Gurav>
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,
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,
41582 * source/common/x86/asm-primitives.cpp:
41583 primitives: Assembly calls for SSE_PP(SSD) for 24,48,64
41586 2013-06-13 Mandar Gurav <mandar@multicorewareinc.com>
41588 * Merged multicoreware/xhevc into default
41591 2013-06-13 Mandar Gurav <Mandar Gurav>
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
41598 2013-06-13 Steve Borho <steve@borho.org>
41600 * source/Lib/TLibEncoder/TEncSearch.cpp,
41601 source/Lib/TLibEncoder/TEncSearch.h:
41602 TEncSearch: small improvements
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
41611 * source/Lib/TLibCommon/TComRdCost.h,
41612 source/Lib/TLibEncoder/TEncSearch.cpp:
41613 TComRdCost: use UInt to scale chroma costs instead of Double
41616 2013-06-13 sumalatha <sumalatha>
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
41628 2013-06-13 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
41652 2013-06-13 Steve Borho <steve@borho.org>
41654 * source/Lib/TLibEncoder/TEncGOP.cpp:
41658 2013-06-13 Deepthi <Deepthi>
41660 * source/encoder/compress.cpp:
41661 Fixing Best CU bugs
41664 * source/tools/HM decoder/TAppDecoder.exe:
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
41674 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
41675 Adding pred copy to ComputeCostInter
41681 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
41682 source/encoder/compress.cpp:
41683 Preparation for moving to RDO-less analysis.
41686 2013-06-12 Deepthi <Deepthi>
41688 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
41689 Prediction structures for each mode: inter, intra, rect and merge
41692 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
41693 Cleanup macro RDO_WITHOUT_DQP_BITS: always set.
41696 * source/Lib/TLibEncoder/TEncSearch.cpp:
41700 * source/encoder/compress.cpp:
41701 Inter mode only works in compress.cpp
41704 2013-06-11 Deepthi <Deepthi>
41706 * source/encoder/compress.cpp:
41707 Removing RDO without DQP
41710 * source/encoder/compress.cpp:
41711 Merge and Intra modes removed from Inter slices for now.
41714 * source/Lib/TLibEncoder/TEncSearch.cpp, source/common/macroblock.cpp,
41715 source/common/vec/macroblock.inc:
41719 2013-06-10 sumalatha <sumalatha>
41721 * source/Lib/TLibEncoder/TEncSearch.cpp,
41722 source/Lib/TLibEncoder/TEncSearch.h:
41723 Added a function to estimate the header bits
41726 2013-06-12 Steve Borho <steve@borho.org>
41728 * source/encoder/motion.cpp:
41729 motion: simplify setSourcePU
41732 * source/Lib/TLibEncoder/TEncGOP.cpp:
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
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
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
41755 Make it more obvious pcSlice is the functions output
41758 * source/Lib/TLibEncoder/TEncGOP.cpp:
41759 TEncGOP: remove redundant setCurrSliceIdx() call
41762 * source/Lib/TLibEncoder/TEncGOP.cpp,
41763 source/Lib/TLibEncoder/TEncGOP.h:
41764 TEncGOP: inline xGetBuffer for clarity
41767 * source/Lib/TLibEncoder/TEncGOP.cpp,
41768 source/Lib/TLibEncoder/TEncGOP.h:
41769 TEncGOP: inline xInitGOP, which ignored most of its arguments
41772 * source/Lib/TLibCommon/TComSlice.h:
41776 * source/Lib/TLibEncoder/TEncGOP.cpp,
41777 source/Lib/TLibEncoder/TEncGOP.h:
41778 TEncGOP: remove two more unused variables
41781 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
41785 * source/Lib/TLibEncoder/TEncGOP.cpp:
41789 * source/Lib/TLibEncoder/TEncGOP.cpp:
41790 TEncGOP: cleanup refactor, no behavior change
41793 * source/Lib/TLibEncoder/TEncGOP.cpp,
41794 source/Lib/TLibEncoder/TEncGOP.h:
41795 TEncGOP: remove unused m_bFirst variable
41799 tweak tags, make older LASTKNOWNGOOD tag visible
41802 * source/tools/HM decoder/TAppDecoder.exe:
41803 Remove compiled TAppDecoder.exe
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.
41810 2013-06-12 Min Chen <chenm003@163.com>
41812 * source/common/vec/dct.inc:
41814 --- source/common/vec/dct.inc | 22 ---------------------- 1 files
41815 changed, 0 insertions(+), 22 deletions(-)
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(+),
41826 2013-06-12 Steve Borho <steve@borho.org>
41828 * source/Lib/TLibEncoder/TEncGOP.cpp,
41829 source/Lib/TLibEncoder/TEncGOP.h:
41830 TEncGOP: remove unused xFindDistortionFrame() method
41833 * source/Lib/TLibEncoder/TEncGOP.cpp:
41834 TEncGOP: fix chroma stride used in frame PSNR
41837 * source/Lib/TLibEncoder/TEncGOP.cpp:
41838 TEncGOP: fix chroma stride used in frame PSNR
41841 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
41842 Fix chroma stride used in hash functions (Min Chen)
41845 2013-06-11 Steve Borho <steve@borho.org>
41847 * source/Lib/TLibEncoder/TEncGOP.cpp:
41848 TEncGOP: add a note for future optimizations
41851 * source/Lib/TLibEncoder/TEncGOP.cpp:
41852 TEncGOP: minor cleanups
41855 * source/CMakeLists.txt:
41856 cmake: downgrade requirement to cmake-2.6; it works fine
41859 * source/Lib/TLibEncoder/TEncGOP.cpp:
41863 * source/Lib/TLibEncoder/TEncGOP.cpp:
41864 TEncGOP: use SSE primitives to calculate frame PSNR
41867 * source/Lib/TLibCommon/TComPicYuv.cpp:
41868 TComPicYUV: enforce 16byte alignment of chroma planes
41871 * source/Lib/TLibEncoder/TEncGOP.cpp,
41872 source/Lib/TLibEncoder/TEncGOP.h:
41873 TEncGOP: remove a handful of of member variables, declare on stack
41875 This is a safety measure to prevent race hazards. Now we know the
41876 scope where these variables must be consistent.
41879 * source/Lib/TLibEncoder/TEncSlice.cpp,
41880 source/Lib/TLibEncoder/TEncSlice.h, source/encoder/wavefront.cpp:
41881 TEncSlice: prune unused cost variables and methods
41884 * source/encoder/wavefront.cpp:
41885 wavefront: slight refactor
41888 * source/common/CMakeLists.txt:
41889 gcc: fix win32 mingw compile
41892 * source/encoder/wavefront.cpp:
41893 wavefront: drop PPA events for compress and encodeCU
41895 Now I know that encodeCU takes very little time compared to
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
41906 This will allow multiple frames to be encoded at the same time,
41907 barring other data dependencies
41910 * source/common/vec/pixel8.inc:
41911 pixel: pass sad as reference
41914 * source/common/vec/pixel8.inc:
41915 pixel: perform sad_8 in batches of 16 rows
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
41923 2013-06-11 Min Chen <chenm003@163.com>
41925 * source/CMakeLists.txt:
41926 Stack align for GCC
41927 --- source/CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1
41931 2013-06-11 Steve Borho <steve@borho.org>
41933 * source/common/vec/pixel8.inc:
41934 Merged in deepthidevaki/xhevc_deepthid (pull request #191)
41936 Optimized residual and reconstruction in
41937 xIntraCoding[Luma/Chroma]Blk
41940 2013-06-11 Deepthi Devaki <Deepthi Devaki>
41942 * source/common/primitives.h:
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:
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
41960 2013-06-11 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
41962 * source/common/macroblock.cpp, source/common/vec/macroblock.inc:
41963 Merged multicoreware/xhevc into default
41966 2013-06-10 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
41968 * Merged multicoreware/xhevc into default
41971 2013-06-11 ggopu <ggopu>
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.
41978 2013-06-10 Steve Borho <steve@borho.org>
41980 * source/encoder/motion.h:
41981 motion: use intptr_t for blockOffset
41984 * source/encoder/motion.cpp, source/encoder/motion.h:
41985 motion: remove sadStride member variable
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
41992 This makes the motion search re-entrant, for a given source PU block
41995 * source/encoder/motion.cpp, source/encoder/motion.h:
41996 motion: inline qpelSatd
41999 * source/encoder/motion.cpp, source/encoder/motion.h:
42000 motion: inline qpelSad function
42003 * source/encoder/motion.cpp, source/encoder/motion.h:
42004 motion: inline the fpelSad() helper function
42007 * source/common/vec/CMakeLists.txt, source/common/vec/pixel8.inc:
42008 gcc: unused parameter workarounds
42011 * source/common/vec/pixel8.inc:
42012 pixel: override ALWAYSINLINE for the unroll template functions
42015 * source/common/vec/pixel8.inc, source/test/mbdstharness.cpp:
42016 fix GCC compile errors
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++
42031 * source/common/vec/pixel8.inc:
42032 pixel: fix EOLN damage
42035 * source/common/vec/pixel8.inc:
42036 pixel: simplify exit logic
42039 * source/common/vec/pixel8.inc:
42040 pixel: remove pointer offset multiplication
42043 * source/common/vec/pixel8.inc:
42044 pixel: simplify template early-outs
42047 * Merged in ggopu/gopu_xhevc (pull request #189)
42049 primitives:- loop unrolling using template metaprogramming.
42052 2013-06-10 Mandar Gurav <Mandar Gurav>
42054 * source/common/vec/pixel8.inc:
42055 primitives:- loop unrolling using template metaprogramming.
42058 2013-06-10 Steve Borho <steve@borho.org>
42061 Moved tag LASTKNOWNGOOD to changeset 3ec4837e6f6c (from changeset
42065 * source/common/macroblock.cpp, source/common/vec/macroblock.inc,
42066 source/encoder/CMakeLists.txt:
42067 fix GCC compile errors
42070 * source/Lib/TLibEncoder/TEncCu.cpp:
42071 TEncCu: add more missing x265_emms() calls; win32 is broken without
42076 Moved tag LASTKNOWNGOOD to changeset d60578bec82e (from changeset
42080 * source/Lib/TLibEncoder/TEncCu.cpp,
42081 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
42082 source/encoder/motion.h:
42086 * source/Lib/TLibEncoder/TEncSearch.cpp:
42087 TEncSearch: move QP set much earlier, avoids race hazards
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
42097 2013-06-11 Deepthi <Deepthi>
42102 * source/Lib/TLibEncoder/TEncCu.cpp:
42103 Verified that satd cost of orig and final prediction correspond to
42104 those returned from ME.
42107 * source/Lib/TLibEncoder/TEncSearch.cpp:
42108 Capturing Cost for Mode Decision from Motion Estimation.
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.
42115 2013-06-10 Steve Borho <steve@borho.org>
42117 * source/Lib/TLibEncoder/TEncAnalyze.h,
42118 source/Lib/TLibEncoder/TEncGOP.cpp:
42119 x265: use stderr and log level consistently for logging output
42122 2013-06-10 Min Chen <chenm003@163.com>
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(-)
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
42136 From c4ab38c711e073f8e244bac87171b1e762992eed Mon Sep 17 00:00:00
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
42223 * source/test/mbdstharness.cpp:
42225 --- source/test/mbdstharness.cpp | 2 +- 1 files changed, 1
42226 insertions(+), 1 deletions(-)
42229 2013-06-10 Steve Borho <steve@borho.org>
42231 * source/encoder/compress.cpp:
42232 compress: fix eoln and VC9 compile
42235 * source/encoder/motion.cpp:
42236 motion: improve cost comment
42239 * Merged in deepthidevaki/xhevc_deepthid (pull request #188)
42241 32x32 intraAng with intrinsics - Reduced build time in MSVC
42244 2013-06-10 Deepthi Devaki <Deepthi Devaki>
42246 * source/common/vec/intrapred.inc:
42250 * source/test/intrapredharness.cpp:
42251 Include 32x32 IntraAng in testbench
42254 * source/common/vec/intrapred.inc:
42255 removing unwanted comments
42258 * source/common/vec/intrapred.inc:
42259 32x32 intraAng with intrinsics - Reduced build time in MSVC
42262 2013-06-10 Deepthi <Deepthi>
42264 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/compress.cpp:
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
42274 * source/Lib/TLibEncoder/TEncCu.cpp:
42275 Replacing xcompressCU with xCompressInterCU
42278 * source/encoder/compress.cpp:
42279 Finetuning xComputeCostInter
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.
42295 * source/encoder/motion.cpp:
42296 Comment for clarification of the term "cost" used in ME.
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.
42306 Appending cost to either satd/bits is to be generally avoided.
42309 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
42310 Define xComputeCostInter.
42312 Early skip detection always ON. If skip detected, exit early.
42315 * source/Lib/TLibCommon/TComDataCU.cpp:
42316 Implementation of copyCU member function.
42319 * source/Lib/TLibCommon/TComDataCU.h:
42320 Adding more access functions; declaring a copyCU member function to
42321 copy Search results.
42324 2013-06-09 Deepthi <Deepthi>
42326 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
42327 4 temporary structs for 2nx2nInter, InterRect, IntrainInter, and
42331 * source/encoder/compress.cpp:
42332 Recursive calls to xcompressInterCU
42335 * source/Lib/TLibEncoder/TEncCu.h, source/encoder/compress.cpp:
42336 Adding xcompressInterCU; removing irrelevant if-checks
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
42348 2013-06-10 Steve Borho <steve@borho.org>
42350 * source/encoder/slicetype.cpp:
42351 slicetype: remove functions we will not need anytime soon
42354 2013-06-09 Steve Borho <steve@borho.org>
42356 * doc/LookaheadGuide.txt, source/encoder/slicetype.cpp:
42357 Borrow slicetype.c from x264 as slicetype.cpp
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.
42365 * source/Lib/TLibEncoder/TEncTop.h:
42366 TEncTop: reorder members together, prepare for reorg
42369 * source/common/vec/vecprimitives.inc:
42370 vec: add comments on where external functions are found
42373 * source/common/vec/macroblock.inc,
42374 source/common/vec/vecprimitives.inc:
42375 vec: move includes into vecprimitives.inc
42377 macroblock.inc is included inside an anonymous namespace, and cannot
42378 include headers itself.
42381 2013-06-09 Min Chen <chenm003@163.com>
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(+),
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(-)
42408 * source/Lib/TLibCommon/TComTrQuant.cpp:
42410 --- source/Lib/TLibCommon/TComTrQuant.cpp | 12 ++++++------ 1 files
42411 changed, 6 insertions(+), 6 deletions(-)
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(-)
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(-)
42440 2013-06-08 Steve Borho <steve@borho.org>
42442 * source/common/primitives.h, source/common/x86/asm-primitives.cpp:
42443 primitives: disable EMMS usage on x64 compiles
42446 2013-06-08 Min Chen <chenm003@163.com>
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(-)
42454 2013-06-08 Steve Borho <steve@borho.org>
42457 x265: report elapsed time in final logging output
42460 2013-06-08 Min Chen <chenm003@163.com>
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(-)
42469 2013-06-07 Steve Borho <steve@borho.org>
42471 * source/test/pixelharness.cpp:
42472 pixelharness: repair the pixel correctness tests
42475 * source/common/x86/asm-primitives.cpp:
42476 Backed out changeset: e040de3904a6 (appears to break some PCs)
42479 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
42480 wavefront: move CU processing into a CTURow method
42483 * source/test/testbench.cpp:
42484 testbench: add support for --test NAME argument
42486 ex: TestBench --test pix
42488 Only tests pixel primitives
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
42497 * source/test/testbench.cpp:
42498 testbench: stop testing C prims against themselves. show SIMD names
42501 * source/common/primitives.cpp:
42502 primitives: remove unused variable
42505 * source/common/x86/asm-primitives.cpp:
42506 asm: use assembly SSD routines, where applicable
42509 * source/common/x86/CMakeLists.txt:
42510 cmake: add pixel.h to solution, for easy access from MSVC
42513 * source/common/primitives.h:
42514 primitives: note that SSE primitives make no alignment assumptions
42518 x265: move CPU detection and primitive initialization after file
42522 * source/common/common.cpp, source/x265.cpp:
42523 x265: report input file data all one one line. Do not repeat input
42527 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
42528 input: add getName() method
42531 * source/Lib/TLibEncoder/TEncAnalyze.h:
42532 x265: report global bitrate
42535 * source/Lib/TLibEncoder/TEncAnalyze.h:
42536 x265: indicate bitrate in frame logging same as other places
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
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
42555 * source/Lib/TLibEncoder/TEncSearch.cpp:
42559 * source/Lib/TLibEncoder/TEncSearch.cpp:
42560 TEncSearch: replace another copy loop with a primitive
42563 * source/Lib/TLibEncoder/TEncSearch.cpp:
42564 TEncSearch: inline primitive arguments, remove unused var
42567 * source/Lib/TLibCommon/TComRdCost.cpp,
42568 source/Lib/TLibCommon/TComRdCost.h:
42569 TComRdCost: remove all three getDistPart()
42572 * source/Lib/TLibCommon/TComRdCost.h,
42573 source/Lib/TLibEncoder/TEncSearch.cpp:
42574 TEncSearch: restore xTZSearchHelp() to its former simplicity
42577 * Merged in ggopu/gopu_xhevc (pull request #187)
42579 TEncodeSearch: Removed getDistPart() replaced with sse Primitives
42582 2013-06-07 ggopu <ggopu>
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
42589 2013-06-07 Steve Borho <steve@borho.org>
42591 * source/common/vec/intrapred.inc:
42592 Merged in deepthidevaki/xhevc_deepthid (pull request #185)
42594 Added IntraAngular modes for chroma
42597 2013-06-07 Deepthi Devaki <Deepthi Devaki>
42599 * source/common/vec/intrapred.inc:
42600 Added bFilter in call for 16x16 for chroma
42603 * source/common/vec/intrapred.inc:
42607 * source/Lib/TLibCommon/TComPrediction.cpp,
42608 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
42609 IntraAngular adapted for Chroma application
42612 2013-06-07 Min Chen <chenm003@163.com>
42614 * source/common/vec/intrapred.inc:
42615 intrapred: fix bug on VC9-x64, the pextrw instruction very easy make
42617 --- source/common/vec/intrapred.inc | 3 +-- 1 files changed, 1
42618 insertions(+), 2 deletions(-)
42621 2013-06-07 nandaku2 <deepthi@multicorewareinc.com>
42623 * source/Lib/TLibEncoder/TEncCu.cpp:
42624 Merged in sumalatha/xhevc_sumalatha (pull request #186)
42626 missed in previous checkin
42629 2013-06-07 sumalatha <sumalatha>
42631 * source/Lib/TLibEncoder/TEncSearch.cpp, source/x265.cpp:
42632 missed in previous checkin for CU_STAT_LOGFILE
42635 2013-06-07 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
42638 Merged multicoreware/xhevc/default into default (e5a96e958371)
42641 * source/Lib/TLibEncoder/TEncCu.cpp,
42642 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp:
42643 Merged multicoreware/xhevc/default into default (f4815a9f6747)
42646 2013-06-06 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
42648 * Merged multicoreware/xhevc/default into default (4f45fd8e9ea8)
42651 * source/Lib/TLibEncoder/TEncCu.cpp,
42652 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
42654 Merged multicoreware/xhevc/default into default (6dc2e5b6c1d4)
42657 2013-06-05 sumalatha <sumalatha>
42659 * source/Lib/TLibEncoder/TEncCu.cpp,
42660 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
42662 Backed out changeset: 683fbbf6818d
42665 * source/Lib/TLibEncoder/TEncCu.cpp,
42666 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
42668 added logging to collect statistics related to mode decision
42671 2013-06-07 Deepthi <Deepthi>
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.
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.
42686 2013-06-07 Steve Borho <steve@borho.org>
42689 x265: remove obsolete printf argument
42692 2013-06-06 Steve Borho <steve@borho.org>
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
42700 x265: report final FPS and bitrate as x264 does
42703 * source/PPA/ppaCPUEvents.h, source/common/reference.cpp,
42704 source/common/reference.h:
42705 reference: up to 16 threads used for subpel interpolation
42708 * source/common/reference.cpp, source/common/reference.h:
42709 reference: up to 9 threads used for subpel interpolation
42712 * source/common/reference.cpp:
42713 reference: fix eoln
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
42724 * source/common/threadpool.cpp, source/common/threadpool.h:
42725 threadpool: add accessor to static var that doesn't increase ref
42729 * source/common/reference.h:
42730 reference: use intptr_t for pointer offset m_offsetToLuma
42733 * source/common/reference.cpp, source/common/reference.h:
42734 reference: remove redundant variables
42737 * source/common/reference.cpp:
42738 reference: simplify and correct some math
42741 * source/common/reference.cpp, source/common/reference.h:
42742 reference: split out compute per horizontal qpel offset
42745 * source/common/vec/intrapred.inc:
42746 intrapred: allow non-MSVC compilers to build intra 32x32
42749 * source/common/reference.cpp, source/common/reference.h:
42750 reference: move temp vars to be class members
42752 Normally this wouldn't be helpful but since this routine is about to
42753 be threaded, this helps work efficiency
42756 * source/Lib/TLibEncoder/TEncSlice.cpp, source/PPA/ppaCPUEvents.h:
42757 PPA: add event for TEncSlice_encodeSlice
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
42764 GenerateReferencePlanes has improved from 60ms to 56ms in the last 6
42765 commits (measuring on HD video). Each plane costs 3.7ms
42768 * source/common/reference.cpp:
42769 reference: directly use full-pel plane from TComPicYuv - do not copy
42772 * source/common/reference.cpp:
42773 reference: reduce redunant calculations
42776 * source/common/reference.cpp:
42777 reference: reduce redunant calculations
42780 * source/common/reference.cpp:
42781 reference: reduce redunant calculations
42784 * source/common/reference.cpp:
42785 reference: reduce redunant calculations
42788 * source/common/reference.cpp:
42789 reference: unroll plane extensions
42792 * source/common/reference.cpp, source/common/reference.h:
42793 reference: combine functions
42796 2013-06-07 Deepthi <Deepthi>
42801 * source/Lib/TLibEncoder/TEncCu.cpp:
42802 Replacing Merge distortion with satd costs.
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.
42809 2013-06-06 Steve Borho <steve@borho.org>
42811 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp:
42812 re-enable forceinline for intra AVX and SSE42
42815 * Merged in deepthidevaki/xhevc_deepthid (pull request #184)
42817 intrinsics in IntraAng
42820 2013-06-06 Deepthi Devaki <Deepthi Devaki>
42822 * source/common/vec/intrapred.inc:
42823 Expanded some of the Macros in 32x32 IntraAng with intention to
42824 improve compile time.
42827 * source/common/vec/intrapred.inc:
42828 Intrinsics added in 32x32 Macros.
42831 * source/common/vec/intrapred.inc:
42832 More intrinsics in 16x16
42835 * source/common/vec/intrapred.inc:
42836 Intrinsics in MACRO for 16x16
42839 2013-06-06 Deepthi <Deepthi>
42841 * source/Lib/TLibEncoder/TEncSearch.cpp:
42842 Using bits estimate from RDO instead of ME estimate.
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.
42850 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
42851 Cleanup: remove CalcRDCostInter/Intra
42854 2013-06-06 sumalatha <sumalatha>
42856 * source/Lib/TLibEncoder/TEncSearch.cpp:
42857 incremental changes - commit to add logs for rdo, satd cost.
42860 2013-06-06 Deepthi <Deepthi>
42862 * source/Lib/TLibEncoder/TEncCu.cpp,
42863 source/Lib/TLibEncoder/TEncSearch.cpp:
42864 CU_STAT patch from Aarthi/Sumalatha
42867 * source/Lib/TLibEncoder/TEncCu.cpp,
42868 source/Lib/TLibEncoder/TEncSearch.cpp:
42872 * source/Lib/TLibEncoder/TEncCu.cpp:
42876 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h,
42877 source/Lib/TLibEncoder/TEncSearch.cpp:
42878 Modeling SATD distortion
42881 2013-06-05 Steve Borho <steve@borho.org>
42883 * source/common/vec/intrapred.inc:
42884 intrapred: move another file static init into setup func
42887 * source/common/reference.cpp:
42891 * source/common/reference.cpp:
42892 reference: use a single temp buffer
42895 * source/common/reference.cpp:
42896 reference: remove unused assignment
42899 * source/common/reference.cpp:
42900 reference: reorder plane generations
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
42909 * source/encoder/motion.cpp, source/encoder/motion.h:
42910 motion: drop chroma fenc plane pointers, unused
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
42921 2013-06-06 ShinYee Chung <shinyee@multicorewareinc.com>
42923 * source/test/pixelharness.cpp:
42924 pixelharness: Fix missing header for SHRT_MAX.
42927 * source/common/pixel.cpp, source/common/vec/pixel.inc:
42928 vec: Fix macro paste problem due to invalid tokens.
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
42935 2013-06-05 Steve Borho <steve@borho.org>
42937 * source/common/vec/macroblock.inc:
42938 macroblock: prevent VC9 x64 from building SSE4 intrinsic butterfly
42941 Specifically the butterfly32 crashes and butterfly8 fails unit tests
42944 * source/common/common.h:
42945 common: disable logging by default
42949 remove redundant fclose()
42952 * source/Lib/TLibEncoder/TEncCu.cpp,
42953 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.h,
42955 rename LOGGING to CU_STAT_LOGFILE
42958 * source/Lib/TLibEncoder/TEncCu.cpp,
42959 source/Lib/TLibEncoder/TEncSlice.cpp, source/common/common.h,
42961 move LOGGING define to common.h
42964 * source/Lib/TLibCommon/TComRdCost.cpp:
42965 TComRdCost: use its own helper function consistently
42968 * source/Lib/TLibCommon/TComRdCost.h:
42969 TComRdCost: reorder methods, no change
42972 * source/Lib/TLibCommon/TComRdCost.h:
42973 TComRdCost: remove two unused member variables
42975 They were moved to DistParam and never removed from here
42978 * source/Lib/TLibCommon/TComDataCU.cpp,
42979 source/Lib/TLibCommon/TComDataCU.h:
42980 TComDataCU: remove unused slow bit counting methods
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
42987 * source/Lib/TLibEncoder/TEncSearch.cpp:
42988 TEncSearch: remove old commented code, can no longer be used
42991 * source/Lib/TLibCommon/TComRdCost.cpp,
42992 source/Lib/TLibCommon/TComRdCost.h:
42993 TComRdCost: remove getCost(x, y), getBits(x, y), and
42994 xGetComponentBits()
42997 * source/Lib/TLibEncoder/TEncSearch.cpp:
42998 TEncSearch: replace TComRdCost::getCost(x,y) with BitCost::mvcost
43001 Changes outputs of --me 4 (HM orig) slightly. Does not affect other
43002 ME modes, which were already using mvcost()
43005 * source/common/vec/pixel.inc, source/common/vec/sse.inc,
43006 source/test/pixelharness.cpp:
43007 Backed out changeset: ce41a92cec25
43010 * source/common/vec/intrapred.inc:
43011 intrapred: remove const from file static vars
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
43018 * source/common/vec/intrapred.inc:
43019 intra: disable 32x32 temporarily, to save MSVC build times
43021 Once the key macros have been made pure-intrinsic, it should be safe
43022 to build these again with MSVC.
43025 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
43026 wavefront: uncrustify
43029 * source/Lib/TLibEncoder/TEncCu.cpp,
43030 source/Lib/TLibEncoder/TEncSlice.cpp:
43031 TEncCu, TEncSlice: uncrustify
43034 * source/common/vec/intrapred.inc:
43035 intrapred: move static variable initialization to init time
43037 Allow CPU detection to avoid initializing static vars that might use
43038 illegal instructions.
43041 2013-06-05 ggopu <ggopu>
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
43049 * source/test/pixelharness.cpp, source/test/pixelharness.h:
43050 primitives: implementation of sse_ss, sse_sp, sse_pp : Quick fix
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
43060 2013-06-05 Deepthi <Deepthi>
43065 * source/Lib/TLibEncoder/TEncCu.cpp,
43066 source/Lib/TLibEncoder/TEncSlice.cpp, source/x265.cpp,
43068 Logging statistics showing CU mode types and partition sizes - patch
43069 from Aarthi/Sumalatha.
43072 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
43073 Do not repeat encRes for merge mode
43076 2013-06-05 Steve Borho <steve@borho.org>
43079 Added tag LASTKNOWNGOOD for changeset 681eabf8a086
43082 * source/Lib/TLibEncoder/TEncSearch.cpp:
43083 TEncSearch: nits, no change
43086 2013-06-04 Steve Borho <steve@borho.org>
43088 * source/encoder/wavefront.cpp:
43089 wavefront: re-order initializations to make GCC happy
43092 * source/Lib/TLibEncoder/TEncCavlc.h:
43093 TEncCavlc: remove unused formal parameter names, avoid GCC warnings
43096 * source/encoder/wavefront.cpp:
43097 wavefront: remove clumsy logic where codeRow could be different for
43101 * source/encoder/encoder.cpp:
43102 encoder: mark WPP disabled if thread pool has only one thread
43104 Either the user requested --threads 1, or auto-detect only found 1
43108 * source/Lib/TLibEncoder/TEncSlice.cpp:
43112 * source/Lib/TLibEncoder/TEncSlice.cpp:
43113 TEncSlice: remove include of omp.h
43116 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.cpp,
43117 source/encoder/wavefront.h:
43118 wavefront: further cleanups
43121 * source/encoder/wavefront.cpp:
43122 wavefront: remove unnecessary re-alloc of buffer Sbac coders
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
43133 x265: remove old comment
43136 * source/encoder/wavefront.cpp:
43137 wavefront: move flush and deletions to destroy method
43140 * source/encoder/wavefront.cpp:
43141 wavefront: eliminate redundant assignments
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
43150 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/wavefront.h:
43151 distribute lambda and chroma weights to thread m_cRdCost (fixes non-
43154 it seems --me 4 and --wpp is still non-deterministic, just not
43158 2013-06-03 Steve Borho <steve@borho.org>
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
43170 2013-06-04 Steve Borho <steve@borho.org>
43172 * source/Lib/TLibCommon/TypeDef.h:
43173 Remove unused SEQUENCE_LEVEL_LOSSLESS
43176 * source/Lib/TLibCommon/TComRdCost.cpp,
43177 source/Lib/TLibCommon/TComRdCost.h:
43178 TComRdCost: remove unused calcRdCost64
43181 * source/Lib/TLibCommon/TComRdCost.cpp,
43182 source/Lib/TLibCommon/TComRdCost.h:
43183 TComRdCost: remove unused calcRdCost
43186 * source/common/vec/CMakeLists.txt:
43187 cmake: cleanup vec file, no real changes
43190 2013-06-05 ShinYee Chung <shinyee@multicorewareinc.com>
43192 * source/Lib/TLibEncoder/TEncSearch.cpp:
43193 search: Fix compile warnings.
43196 2013-06-04 Steve Borho <steve@borho.org>
43198 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp:
43199 disable forceinline, compiles are taking multiple hours
43202 * source/common/pixel.cpp:
43203 pixel: add C primitives for int/short conversion functions
43206 * source/common/vec/intrapred.inc,
43207 source/common/vec/vecprimitives.inc:
43208 vec: more #include pruning to avoid unnecessary rebuilds
43211 * source/common/vec/intrapred.inc,
43212 source/common/vec/vecprimitives.inc:
43213 move g_aucConvertToBit[] to intrapred.inc
43216 * source/Lib/TLibCommon/TComRdCost.cpp,
43217 source/Lib/TLibCommon/TComRdCost.h:
43218 TComRdCost: remove eDFunc argument from getDistPart() methods
43220 Soon getDistPart() can be replaced entirely with SSE primitives.
43223 * source/Lib/TLibCommon/TComRdCost.h:
43224 TComRdCost: remove unused macro and method
43227 * source/Lib/TLibEncoder/TEncCu.cpp:
43231 2013-06-04 Deepthi <Deepthi>
43233 * source/Lib/TLibEncoder/TEncSearch.cpp:
43237 * source/Lib/TLibEncoder/TEncSearch.cpp:
43241 2013-06-04 Steve Borho <steve@borho.org>
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)
43248 primitives: SSE 8 & 16 bit implementation - done for all and
43249 Replaced getSADPart with Primitives.sad function
43252 2013-06-04 Mandar Gurav <Mandar Gurav>
43254 * source/Lib/TLibEncoder/TEncSearch.cpp:
43255 Replaced getDistPart() with SadBuf() and remved CALCRDCOST_SAD call
43259 * source/Lib/TLibEncoder/TEncCu.cpp:
43260 Replaced getSADPart with Primitives.sad function
43263 * source/common/vec/pixel16.inc, source/common/vec/pixel8.inc:
43264 primitives: SSE 16 bit - done for all
43267 * source/common/vec/pixel.inc, source/common/vec/pixel8.inc:
43268 primitives: SSE 8 bit implementation - done for all
43271 2013-06-04 Deepthi <Deepthi>
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:
43287 * source/Lib/TLibEncoder/TEncSearch.cpp:
43288 Replacing with memcpy.
43291 2013-06-04 Deepthi Devaki <Deepthi Devaki>
43293 * source/common/vec/intrapred.inc:
43294 Completed & Uncrustified Intra Angular 32x32
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
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
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
43439 Backed out merge revision to its first parent (ffc3e2a59068)
43442 * source/common/vec/intra-avx.cpp, source/common/vec/intra-sse42.cpp,
43443 source/common/vec/intrapred.inc, source/test/intrapredharness.cpp:
43447 * source/common/vec/intrapred.inc:
43448 Partial vector implementation of IntrPredAng 32x32.
43451 2013-06-03 Steve Borho <steve@borho.org>
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
43510 * source/Lib/TLibEncoder/TEncSearch.cpp:
43514 * source/Lib/TLibEncoder/TEncGOP.cpp,
43515 source/Lib/TLibEncoder/TEncGOP.h,
43516 source/Lib/TLibEncoder/TEncSlice.h:
43520 * source/Lib/TLibEncoder/TEncCu.h:
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
43531 * source/Lib/TLibEncoder/TEncCfg.h:
43532 TEncCfg: add accessors for all ME data
43535 * source/Lib/TLibEncoder/TEncTop.h:
43536 TEncTop: white-space nits
43539 * source/Lib/TLibEncoder/TEncTop.cpp,
43540 source/Lib/TLibEncoder/TEncTop.h:
43541 TEncTop: remove xInitPPSforTiles
43544 * source/Lib/TLibEncoder/TEncSearch.cpp,
43545 source/Lib/TLibEncoder/TEncSearch.h:
43546 TEncSearch: remove xTZ8PointSquareSearch
43549 * source/Lib/TLibEncoder/TEncSearch.cpp:
43550 TEncSlice: more white-space nits
43553 * source/Lib/TLibEncoder/TEncSearch.cpp:
43554 TEncSearch: fixup commit
43557 * source/Lib/TLibCommon/TComRdCost.h, source/Lib/TLibCommon/TypeDef.h:
43558 Move DFunc enum from TypeDef.h to TComRdCost.h
43561 * source/Lib/TLibEncoder/TEncSearch.cpp:
43562 TEncSearch: add a note for future optimization
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
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
43577 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncTop.cpp:
43578 Remove WRITE_BACK define, always enabled
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
43586 * source/Lib/TLibEncoder/TEncTop.cpp,
43587 source/Lib/TLibEncoder/TEncTop.h:
43588 TEncTop: remove redundant m_uiNumSubstreams
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
43597 2013-06-04 Deepthi <Deepthi>
43599 * source/Lib/TLibEncoder/TEncSearch.cpp:
43600 xAddSymbolBitsInter: part replacement of entropy estimate
43603 * source/Lib/TLibEncoder/TEncSearch.cpp:
43604 Replacing zeroResidual mode bit estimate
43607 2013-06-03 Deepthi <Deepthi>
43609 * source/Lib/TLibEncoder/TEncSearch.cpp:
43610 Replacing entropy estimate for Skip.
43613 2013-06-03 Steve Borho <steve@borho.org>
43615 * source/Lib/TLibEncoder/TEncSbac.h,
43616 source/Lib/TLibEncoder/TEncSlice.cpp:
43617 TEncSlice: more white-space nits
43620 * source/Lib/TLibEncoder/TEncSearch.cpp:
43621 TEncSearch: white-space nits
43624 2013-06-03 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
43669 2013-06-03 Steve Borho <steve@borho.org>
43671 * source/Lib/TLibEncoder/TEncSearch.cpp:
43672 TencSearch: fix bit counting
43675 * source/common/vec/pixel8.inc:
43676 pixel: use real ints in vector code
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.
43685 * Merged in ggopu/gopu_xhevc (pull request #180)
43687 * m_pcRdCost->getBits() replaced with BitCost.mvcost
43690 2013-06-03 ggopu <ggopu>
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
43703 2013-06-03 Steve Borho <steve@borho.org>
43705 * Merged in deepthidevaki/xhevc_deepthid (pull request #179)
43707 Enabled Intra Angular 16x16 in testbench
43710 2013-06-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
43712 * Merged multicoreware/xhevc into default
43715 2013-06-03 Deepthi Devaki <Deepthi Devaki>
43717 * source/test/intrapredharness.cpp:
43718 Enabled Intra Angular 16x16 in testbench
43721 2013-06-03 Deepthi <Deepthi>
43726 * source/Lib/TLibEncoder/TEncSearch.cpp:
43730 * source/Lib/TLibEncoder/TEncCu.cpp:
43731 Making RDO optional
43734 2013-06-03 Steve Borho <steve@borho.org>
43736 * source/common/vec/CMakeLists.txt:
43737 cmake: add missing ipfilter-avx.cpp
43740 * source/common/vec/CMakeLists.txt:
43741 cmake: add new foo-avx.cpp files to -mavx properties list
43744 * source/common/vec/intrapred.inc:
43745 intrapred: add include for smmintrin.h
43748 * source/common/vec/vec-primitives.cpp:
43749 vec: allow VC9 and VC10 to use SSE4 primitives
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
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
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
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
43785 2013-06-03 ShinYee Chung <shinyee@multicorewareinc.com>
43788 cmd: Fix segfault when an unrecognized option is given on the
43792 2013-06-02 Min Chen <chenm003@163.com>
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(-)
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(-)
43808 * source/common/vec/CMakeLists.txt:
43810 --- source/common/vec/CMakeLists.txt | 10 +++------- 1 files changed,
43811 3 insertions(+), 7 deletions(-)
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(-)
43821 * source/common/vec/intrapred.inc:
43823 --- source/common/vec/intrapred.inc | 3 +++ 1 files changed, 3
43824 insertions(+), 0 deletions(-)
43827 2013-06-01 Steve Borho <steve@borho.org>
43830 x265: use output frame counts for progress reports
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.
43837 * source/encoder/encoder.cpp:
43838 encoder: pull recon images from queue even when not requested
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.
43846 * source/encoder/motion.cpp, source/encoder/motion.h:
43847 motion: rename StarSearch to StarPatternSearch, make inline
43850 * source/encoder/motion.cpp:
43851 motion: fixup comments, remove tabs, simplify some macros
43854 * source/Lib/TLibCommon/TComRom.h:
43855 TComRom: remove unused extern
43858 * source/encoder/motion.h:
43859 motion: use sadStride in helper functions
43862 2013-06-01 Mandar Gurav <Mandar Gurav>
43864 * source/encoder/motion.cpp:
43865 motion: use sad_x4 in star Search for dist = 1.
43868 * source/common/common.h:
43869 motion: ME cycle count- Print lld
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.
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.
43883 * source/encoder/motion.cpp, source/encoder/motion.h:
43884 motion: Replace "stride << subsample" with "sadStride".
43887 * source/Lib/TLibCommon/TComRom.h:
43888 Merge conflict: Copy files directly from xhevc main repo. part 4
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
43896 2013-05-31 Mandar Gurav <mandar@multicorewareinc.com>
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
43952 2013-06-01 Mandar Gurav <Mandar Gurav>
43954 * source/Lib/TLibEncoder/TEncSearch.cpp,
43955 source/Lib/TLibEncoder/TEncSearch.h:
43956 Merge conflict: Copy files directly from xhevc main repo. part 2
43959 2013-06-01 ggopu <ggopu>
43961 * source/encoder/motion.cpp, source/encoder/motion.h:
43962 Merge conflict: Copy files directly from xhevc main repo.
43965 2013-05-23 Mandar Gurav <mandar@multicorewareinc.com>
43967 * source/encoder/motion.cpp:
43968 Merged multicoreware/xhevc into default
43971 2013-05-24 ggopu <ggopu>
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:
43980 2013-05-23 ggopu <ggopu>
43982 * source/Lib/TLibEncoder/TEncSearch.cpp:
43983 Backed out changeset: 06fa58c2176d
43986 2013-05-31 Steve Borho <steve@borho.org>
43988 * source/encoder/encoder.cpp:
43989 encoder: do not allow GOP size to be less than 1
43992 * source/Lib/TLibCommon/TComTrQuant.cpp:
43993 TrComQuant: remove unused variable, fix GCC warnings
43996 2013-05-30 Steve Borho <steve@borho.org>
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
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
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
44031 2013-05-31 Steve Borho <steve@borho.org>
44033 * source/encoder/encoder.cpp:
44034 encoder: add "-i 32" hack to select "encoder_randomaccess_main"
44037 Also requires enabling --rect --amp --sao to match the output of
44041 2013-05-30 Steve Borho <steve@borho.org>
44043 * source/encoder/encoder.cpp:
44044 encoder: be explicit about slice type
44048 x265: fix warnings hidden by old x265-cli project
44051 2013-05-31 Steve Borho <steve@borho.org>
44053 * source/common/vec/CMakeLists.txt:
44054 cmake: fix another set_source_files problem
44057 * source/common/vec/CMakeLists.txt:
44058 cmake: avoid warnings from x64 MSVC compilers
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
44065 2013-05-31 Min Chen <chenm003@163.com>
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
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(-)
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
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(-)
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
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(-)
44114 * source/common/vec/macroblock.inc:
44116 --- source/common/vec/macroblock.inc | 87
44117 +++++++++++++++++++++++++------------ 1 files changed, 59
44118 insertions(+), 28 deletions(-)
44121 2013-05-31 Deepthi Devaki <Deepthi Devaki>
44123 * source/Lib/TLibEncoder/TEncSearch.cpp:
44124 Fix for 8bpp & 16bpp output mismatch
44127 2013-05-31 ShinYee Chung <shinyee@multicorewareinc.com>
44129 * source/Lib/TLibEncoder/TEncSearch.cpp:
44130 TEncSearch: Disable set but not used variables (-Werror=unused-but-
44134 * source/common/common.cpp:
44135 Common: Fix compile error -Werror=write-strings.
44138 2013-05-30 Steve Borho <steve@borho.org>
44140 * source/common/vec/ipfilter8.inc:
44141 ipfilter: work around unaligned data copies generated by VC9 (from
44145 2013-05-31 ShinYee Chung <shinyee@multicorewareinc.com>
44148 x265: Fix compile issue due to -Wwrite-strings and undeclared
44149 va_start() and va_end().
44152 2013-05-30 Steve Borho <steve@borho.org>
44154 * source/test/mbdstharness.cpp:
44155 dequant: fix a test bench typo
44158 * source/x265.cpp, source/x265opts.h:
44159 x265: make input/output bit depths function local to parse method,
44163 * source/x265cfg.cpp:
44164 x265cfg: set default log level for x265-cli to "debug"
44168 x265: add a CTRL+C handler
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
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,
44184 x265: use x265_log when initializing primitives and thread pool
44186 * removes thread pool pointer from CLI apps, encoders initialize it
44188 * thread pool size validation moved to x265_check_params()
44191 * source/common/common.cpp, source/x265.cpp, source/x265.h,
44193 x265: introduce x265_param_t.logLevel, and x265_log()
44197 x265: fixup comment for iWaveFrontSynchro
44200 * source/x265.cpp, source/x265.h, source/x265opts.h:
44201 x265: introduce the concept of log levels
44205 x265: prune unused bits of public header
44208 * source/Lib/TLibEncoder/TEncGOP.cpp, source/x265.cpp:
44209 x265: add x264 style progress reporting, kbps numbers differ from HM
44212 * source/common/threadpool.cpp, source/common/threadpool.h,
44214 threadpool: report thread pool size, fix bug with CPU count auto-
44218 * source/CMakeLists.txt:
44219 cmake: remove short-lived openmp compile flags
44222 2013-05-30 ShinYee Chung <shinyee@multicorewareinc.com>
44224 * source/x265.cpp, source/x265cfg.cpp:
44225 Config: Force the threadpool to be single threaded when wavefront is
44229 * source/Lib/TLibEncoder/TEncSlice.cpp, source/encoder/CMakeLists.txt:
44230 WPP: Use the threadpool based wavefront parallel processing module.
44233 * source/encoder/wavefront.cpp, source/encoder/wavefront.h:
44234 WPP: Module for wavefront parallelization using threadpool.
44237 * source/Lib/TLibEncoder/TEncTop.h:
44238 TLibEncoder: Add threadpool accessor to TEncTop.
44241 2013-05-30 Steve Borho <steve@borho.org>
44243 * source/encoder/motion.cpp:
44244 motion: fix a bug introduced in last commit
44247 * source/encoder/motion.cpp:
44248 motion: two more SAD calls that were missed
44251 * source/encoder/motion.cpp:
44252 motion: fix a missed raw call to a sad() primitive
44255 * source/encoder/motion.cpp, source/encoder/motion.h:
44256 motion: minor cleanups, no behavior changes
44259 * source/encoder/motion.cpp:
44260 motion: else clause of primitive setup must always be compiled in
44262 This fixes some of the broken-ness when SUBSAMPLE_SAD is enabled
44265 * source/encoder/motion.cpp, source/encoder/motion.h:
44266 motion: remove unused blockWidth and blockHeight
44269 * Merged in ggopu/gopu_xhevc (pull request #176)
44271 Motion: implemented subsampling SAD when the block height is greater
44275 2013-05-30 ggopu <ggopu>
44277 * source/encoder/motion.cpp, source/encoder/motion.h:
44278 Motion: implemented subsampling SAD when the block height is greater
44282 2013-05-30 Gopu G <gopu@multicorewareinc.com>
44284 * Merged multicoreware/xhevc into default
44287 2013-05-29 Gopu G <gopu@multicorewareinc.com>
44289 * source/encoder/motion.cpp:
44290 Merged multicoreware/xhevc into default
44293 2013-05-30 ggopu <ggopu>
44295 * source/encoder/motion.cpp:
44299 2013-05-29 ggopu <ggopu>
44301 * source/encoder/motion.cpp:
44302 Motion: raster search refinement - sad_x4 Implementation
44305 2013-05-30 Steve Borho <steve@borho.org>
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
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.
44319 2013-05-30 Deepthi <Deepthi>
44324 2013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
44326 * Merged multicoreware/xhevc into default
44329 2013-05-30 praveentiwari <praveentiwari>
44331 * source/test/mbdstharness.cpp:
44335 2013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
44337 * Merged multicoreware/xhevc into default
44340 2013-05-30 praveentiwari <praveentiwari>
44342 * source/test/mbdstharness.cpp:
44343 More comprehensive unit test code for xDeQuant.
44346 2013-05-30 praveen Tiwari <praveen@multicorewareinc.com>
44348 * Merged multicoreware/xhevc into default
44351 2013-05-29 praveentiwari <praveentiwari>
44353 * source/common/vec/macroblock.inc:
44354 Vector code for xDeQuant function
44357 2013-05-29 praveen Tiwari <praveen@multicorewareinc.com>
44359 * Merged multicoreware/xhevc into default
44362 2013-05-29 praveentiwari <praveentiwari>
44364 * source/Lib/TLibCommon/TComTrQuant.cpp, source/common/macroblock.cpp:
44365 Shorten the variable names
44368 2013-05-29 praveen Tiwari <praveen@multicorewareinc.com>
44370 * Merged multicoreware/xhevc into default
44373 * Merged multicoreware/xhevc into default
44376 2013-05-29 praveentiwari <praveentiwari>
44378 * source/common/macroblock.cpp:
44379 C primitive for xDeQuant function
44382 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
44383 Test code for xDeQuant
44386 * source/common/primitives.h:
44387 Added function pointer typedef for xDeQuant in primitives.h file
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
44395 2013-05-30 Deepthi <Deepthi>
44400 * source/Lib/TLibEncoder/TEncSearch.cpp:
44401 RDO: new version for fast mode decision
44404 2013-05-30 Steve Borho <steve@borho.org>
44406 * source/common/common.cpp:
44407 common: prevent a known-broken configuration (wpp+aqselect)
44410 * source/x265opts.h:
44411 x265opts: disable --depth when compiled for 8bpp, make --wpp a
44415 * source/common/common.cpp:
44416 common: give log indication when FAST_MODE_DECISION has been
44420 * source/common/common.cpp:
44421 common: show rect and amp options when enabled
44424 * source/common/common.cpp:
44425 common: group transform skip options together
44428 * source/CMakeLists.txt:
44429 cmake: give FAST_MODE_DECISION an accurate help message
44432 2013-05-30 Deepthi <Deepthi>
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:
44440 * source/Lib/TLibEncoder/TEncCu.cpp,
44441 source/Lib/TLibEncoder/TEncSearch.cpp:
44442 First cut version of using SAD costs.
44445 * cfg/encoder_I_15P.cfg, source/common/common.cpp:
44446 Disabling rect and AMP search (for now)
44449 2013-05-29 Deepthi <Deepthi>
44451 * source/CMakeLists.txt, source/Lib/TLibEncoder/TEncSearch.cpp:
44452 ME satd costs and bits captured. FAST_MODE_DECISION introduced.
44455 2013-05-30 Steve Borho <steve@borho.org>
44457 * source/common/common.cpp, source/common/common.h:
44458 common: add x265_mdate() and fix rdoq option names
44461 2013-05-29 Steve Borho <steve@borho.org>
44463 * source/x265opts.h:
44464 x265: add "no-" options for boolean parameters, cleanup sao and hash
44469 x265: add basic command line help
44473 x265: improve reporting of invalid or extra vars, allow "x265 input
44477 * source/encoder/motion.cpp, source/encoder/motion.h:
44478 motion: introduce infrastructure for sub-sampled SAD
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:
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.
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.
44501 Steps remaining (all to be done within #if SUBSAMPLE_SAD
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
44511 * source/CMakeLists.txt:
44512 gcc: add openmp flags for gcc and icl
44515 * source/Lib/TLibEncoder/TEncSlice.cpp:
44516 TEncSlice: disable allocation and usage of events if numThreads == 1
44519 2013-05-23 Min Chen <chenm003@163.com>
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(+),
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
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
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(-)
44558 2013-05-29 Steve Borho <steve@borho.org>
44560 * build/linux/batch.py:
44561 update batch.py to use x265.exe
44565 x265: destroy cliopt before checking for leaks (x265.exe now leak
44569 * source/encoder/encoder.cpp:
44570 encoder: destroy YUV buffers before deleting them
44573 * source/encoder/encoder.cpp:
44574 encoder: properly release reconstructed image buffers at close
44578 x265: cleanup library statics before exit, prevent leak reports
44581 * source/encoder/encoder.h:
44582 encoder: preallocate room in NAL containers
44585 * source/encoder/encoder.cpp, source/encoder/encoder.h:
44586 encoder: write output packets directly into std::string buffer
44589 * source/encoder/motion.cpp:
44590 motion: check motion candidates even for star search
44593 * source/encoder/motion.cpp:
44594 motion: use sad_x4 for raster search
44597 2013-05-29 Min Chen <chenm003@163.com>
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
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(-)
44612 2013-05-29 Steve Borho <steve@borho.org>
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
44620 x265: fix integer argument parsing
44623 * source/Lib/TLibEncoder/TEncCu.cpp, source/PPA/ppaCPUEvents.h:
44624 TEncCu: add separate PPA event for xCalcRDCostIntra
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
44632 * source/encoder/CMakeLists.txt:
44633 cmake: fix display of TLibEncoder headers
44636 * source/common/common.cpp, source/x265.cpp:
44637 common: improve the logging of configuration
44640 2013-05-28 Steve Borho <steve@borho.org>
44643 x265: report total elapsed time
44646 2013-05-29 Deepthi <Deepthi>
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.
44656 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44657 Cleanup - early exit
44660 2013-05-28 Deepthi <Deepthi>
44665 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44666 Early exit reloaded.
44669 2013-05-27 Deepthi <Deepthi>
44671 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44672 Adding CalcRDCostIntra
44675 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44676 Separating out analysis structure from mode decision
44679 2013-05-28 Steve Borho <steve@borho.org>
44681 * source/encoder/motion.cpp:
44682 motion: hoist two-point early out out of function
44685 * source/encoder/motion.cpp:
44686 motion: convert two-point search into a table lookup
44689 * source/common/common.h, source/encoder/encoder.cpp:
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
44700 * source/common/common.h, source/encoder/motion.cpp:
44701 motion: rename some macros, enable sad_x4
44704 * source/encoder/encoder.cpp:
44705 encoder: use osstream.write() instead of << which appears to be zero
44709 2013-05-28 ggopu <ggopu>
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
44717 * source/common/common.h, source/encoder/motion.cpp:
44718 sad_x4 Implementation for Star Search
44721 2013-05-27 Steve Borho <steve@borho.org>
44723 * source/common/CMakeLists.txt, source/encoder/CMakeLists.txt:
44724 cmake: minor cleanups
44727 2013-05-27 Min Chen <chenm003@163.com>
44729 * source/VectorClass/vectori128.h, source/common/CMakeLists.txt,
44730 source/encoder/CMakeLists.txt:
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(-)
44737 2013-05-27 Steve Borho <steve@borho.org>
44740 x265: fix eoln mangling
44743 2013-05-27 praveentiwari <praveentiwari>
44745 * source/common/vec/macroblock.inc:
44746 .60x more performance gain for partailButterfly4 intrinsic version
44749 2013-05-26 Deepthi <Deepthi>
44751 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44752 Adding CalcRDCostInter
44755 2013-05-25 Steve Borho <steve@borho.org>
44757 * source/encoder/encoder.cpp, source/x265.cpp:
44758 x265: encoder_all_I.cfg output now matches x265 -i1 --sao 1
44760 SAO was never disabled in the I frame config, so must be enabled to
44761 get the exact same bitstream
44764 * source/encoder/encoder.cpp:
44765 x265: I15P config now matches bit for bit with x265-cli
44768 * source/Lib/TLibEncoder/TEncGOP.cpp, source/encoder/encoder.cpp,
44769 source/encoder/encoder.h:
44770 x265: resolve some bitstream differences between CLI apps
44773 * source/TestForChecking_BadCommit.bat,
44774 source/tools/TestForChecking_BadCommit.bat:
44775 move regression batch file into tools folder
44782 * source/encoder/encoder.cpp, source/x265.cpp:
44783 encoder: correct NAL counts and a few other issues
44785 Byte count difference between the two CLI programs is now 2
44788 * source/encoder/encoder.cpp, source/encoder/encoder.h,
44790 encoder: plausible NAL write routines
44794 x265: enable NAL write functions
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
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
44807 * source/CMakeLists.txt, source/input/yuv.cpp:
44808 x265: more warnings cleanups
44811 * source/Lib/TLibEncoder/TEncGOP.cpp:
44812 TEncGOP: add missing semi-colons after PPA macros
44815 * source/input/yuv.cpp:
44816 x265: more compiler warnings fixes
44819 * source/test/CMakeLists.txt:
44820 cmake: test benches only need common.lib
44823 * source/input/y4m.cpp, source/input/y4m.h, source/x265.cpp:
44824 x265: fix compiler warnings that were accidentally hidden
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
44833 This fixes link issues with GCC, and clarifies the project
44837 * source/x265.cpp, source/x265opts.h:
44838 x265opt: add help strings to CLI help output
44841 * source/x265opts.h:
44842 x265opt: more tuning of command line options
44845 * source/CMakeLists.txt:
44846 cmake: provide version number to x265.cpp
44849 * source/common/primitives.cpp, source/encoder/encoder.cpp:
44850 move x265_cleanup into the encoder/ folder, fixes link references
44853 * source/Lib/CMakeLists.txt, source/encoder/CMakeLists.txt:
44854 cmake: split HM into TLibEncoder and TLibCommon
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/
44910 This encoder/common split is also how x264 has its code arranged.
44912 common - performance primitives, threading, low level features
44913 encoder - analysis, mode decision, cabac, high level features
44915 General rules: 1. Things we're replacing from TLibCommon/ go in
44916 common/ 2. Things we're replacing from TLibEncoder/ go in encoder/
44919 2013-05-25 Deepthi <Deepthi>
44921 * source/Lib/TLibEncoder/TEncCu.cpp:
44922 More if - I_slice checks removed
44925 * source/Lib/TLibEncoder/TEncCu.cpp:
44926 Removing redundant if-I_slice checks
44929 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
44930 A separate path for Intra Slice Analysis
44933 * source/Lib/TLibEncoder/TEncCu.cpp:
44934 POinters for each NxN partition
44937 * source/Lib/TLibEncoder/TEncCu.cpp:
44938 This code snippet is baffling - no NxN partitions allowed at any
44939 level for inter-CUs.
44942 * source/Lib/TLibEncoder/TEncCu.cpp:
44946 * source/Lib/TLibEncoder/TEncCu.cpp:
44947 Removing PCM and AMP from EARLY_PARTITION.
44950 * source/Lib/TLibEncoder/TEncCu.cpp:
44951 Done experimenting - lets clean up and start afresh.
44954 * source/Lib/TLibEncoder/TEncCu.cpp:
44958 * source/Lib/TLibEncoder/TEncCu.cpp:
44959 Bug fix for no EARLY_DECISION path. The difference between #ifndef
44963 2013-05-24 Deepthi <Deepthi>
44965 * source/Lib/TLibEncoder/TEncCu.cpp:
44966 Eliminating repetitive cost checks for 4 NxN partitions
44969 2013-05-24 Steve Borho <steve@borho.org>
44971 * source/encoder/encoder.cpp:
44972 encoder: correct the flush argument to TEncTop::encoder()
44975 * source/Lib/TLibEncoder/TEncGOP.cpp:
44976 TEncGOP: use less horizontal space to print per-frame PSNR
44979 * source/encoder/encoder.cpp:
44980 encoder: reorder some lines, should have no effect
44983 * source/Lib/TLibEncoder/TEncGOP.cpp, source/PPA/ppaCPUEvents.h:
44984 ppa: add wrapping event for loop filters
44988 x265: combine two log lines, remove bitstream filename (not
44992 * source/encoder/common.cpp:
44993 common: change more defaults to match I15P
44996 * source/encoder/encoder.cpp, source/encoder/encoder.h:
44997 encoder: pull in really ugly GOP intialization/validation code from
45000 This all goes away once we have a proper lookahead
45003 * source/encoder/common.cpp:
45004 common: fixup default params
45007 * source/Lib/TLibEncoder/TEncTop.cpp:
45008 nits, no code change
45012 x265: fix input file arg indexing
45015 2013-05-25 ShinYee Chung <shinyee@multicorewareinc.com>
45017 * source/encoder/vec/intrapred.inc:
45018 intra: Fix compile warning for HIGH_BIT_DEPTH (-Werror=shadow).
45021 * source/encoder/vec/intrapred.inc:
45022 intra: Fix compile warning for HIGH_BIT_DEPTH (-Werror=unused-but-
45026 * source/encoder/vec/intrapred.inc:
45027 intra: Fix vector conversion errors.
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
45037 x265: Fix compile error due to undeclared strncmp function.
45040 2013-05-24 ShinYee Chung <shinyee@multicorewareinc.com>
45042 * source/encoder/motion.h:
45043 motion: Fix compile warning due to -Wparentheses.
45046 2013-05-23 ShinYee Chung <shinyee@multicorewareinc.com>
45048 * source/encoder/vec/intrapred.inc:
45049 intrapred: Fix compile warnings/errors due to -Wmaybe-uninitialized.
45052 2013-05-24 Steve Borho <steve@borho.org>
45055 x265: more debugging
45058 * source/x265.cpp, source/x265opts.h:
45059 x265: more work on CLI options
45062 * source/CMakeLists.txt, source/x265.cpp, source/x265opts.h:
45063 x265: add getopt() to new CLI app, tune short flags to match x264
45066 * source/Lib/TLibEncoder/TEncCu.cpp:
45067 re-apply bug fix, there must have been a bad merge somewhere
45070 * Merged in deepthidevaki/xhevc_deepthid (pull request #170)
45072 IntraPredAng 16x16 with all modes
45075 2013-05-24 Deepthi Devaki <Deepthi Devaki>
45077 * source/encoder/vec/intrapred.inc:
45081 * source/encoder/vec/intrapred.inc:
45082 IntraPredAng 16x16 with all modes
45085 * source/VectorClass/vectori128.h:
45086 ForceInline few more functions in vectorclass
45089 * build/nmake/make-solutions.bat:
45093 * source/encoder/vec/intrapred.inc:
45094 IntraPredAng16x16 few modes, not getting called yet, shall be
45095 included on completion
45098 2013-05-24 nandaku2 <deepthi@multicorewareinc.com>
45100 * Merged in praveentiwari/xhevc_praveent (pull request #169)
45102 Added logic to avoid saturation in partialButterfly4 intrinsic
45106 2013-05-24 praveentiwari <praveentiwari>
45108 * source/encoder/vec/macroblock.inc:
45109 Added logic to avoid saturation in partialButterfly4 intrinsic
45113 * source/encoder/vec/macroblock.inc:
45114 Removed unused vectors from partialButterflyInverse32 code
45117 * source/encoder/vec/macroblock.inc:
45118 Removed unused vectors from partialButterflyInverse16
45121 * source/encoder/vec/macroblock.inc:
45122 Removed unused vectore from partialButterflyInvers8 code
45125 * source/encoder/vec/macroblock.inc:
45126 optimized saturation mechanism in partialButterflyInvers16 vector
45130 * source/encoder/vec/macroblock.inc:
45131 Removed unnecessary computation from partialButterflyInverse4 vector
45135 * source/encoder/vec/macroblock.inc:
45136 changed saturation mechanism for partialButterflyInverse8 vector
45140 2013-05-24 Deepthi <Deepthi>
45145 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45146 Storing NxN CU's at each depth
45149 * source/Lib/TLibEncoder/TEncCu.cpp:
45150 Bug fix for m_NxNCU
45153 * source/Lib/TLibEncoder/TEncCu.cpp:
45154 More cleanup; Rmeoving CheckBestMode out of CheckInterCost
45157 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45158 Cleanup: Remove extra arguments from xCheckRDCostInter/Intra
45161 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45162 Adding data structures for NxN information
45165 2013-05-24 praveentiwari <praveentiwari>
45167 * source/encoder/vec/macroblock.inc:
45168 Changed packing mechanism for partialButterfly8 intrinsic version
45171 2013-05-24 praveen Tiwari <praveen@multicorewareinc.com>
45173 * Merged multicoreware/xhevc into default
45176 2013-05-24 praveentiwari <praveentiwari>
45178 * source/encoder/vec/macroblock.inc:
45179 Removed unnecessary computation from partialButterflyInverse32
45182 2013-05-24 praveen Tiwari <praveen@multicorewareinc.com>
45184 * Merged multicoreware/xhevc into default
45187 * build/nmake/make-solutions.bat:
45188 Merged multicoreware/xhevc into default
45191 2013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
45193 * Merged multicoreware/xhevc into default
45196 * Merged multicoreware/xhevc into default
45199 2013-05-24 Deepthi Devaki <Deepthi Devaki>
45201 * source/encoder/vec/intrapred.inc:
45202 Fixed build for HIGH_BIT_DEPTH enabled
45205 2013-05-23 Steve Borho <steve@borho.org>
45207 * source/encoder/motion.cpp:
45208 motion: fix star search's raster step
45210 tmv's loop range covers the entire search area. The search origin
45211 should not be added to it.
45214 * source/encoder/encoder.cpp, source/encoder/encoder.h:
45215 encoder: hard-code our simple P frame GOP structure
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
45222 * source/encoder/vec/CMakeLists.txt, source/encoder/vec/vec-
45224 cmake: prevent VC9 and VC10 from using SSE4, fixes aligned move
45228 * source/Lib/TLibCommon/TComPrediction.cpp:
45232 * source/encoder/vec/macroblock.inc:
45233 macroblock: do not use SSE4 intrinsics for lower instrset builds
45236 * source/encoder/vec/ipfilter8.inc:
45237 ipfilter: use immediate load-partial, fixes VC9 x64 crashes
45240 * source/encoder/vec/macroblock.inc:
45241 macroblock: do not use SSE4 intrinsics for lower instrset builds
45244 * source/Lib/TLibCommon/TComPrediction.cpp:
45245 TComPrediction: only allocate extY tmp buffer when necessary, use
45249 * build/nmake/make-solutions.bat:
45250 build: drop nmake script - was only a temp hack for ASM support
45253 * source/Lib/TLibEncoder/TEncSearch.h:
45258 x265: inline the NAL write functions into CLIOptions
45262 x265: include assert.h for VLD validation checks
45265 * source/encoder/motion.h:
45266 motion: manually enforce 16 byte alignment for fenc buffer
45269 2013-05-23 Deepthi <Deepthi>
45271 * source/encoder/vec/macroblock.inc:
45278 2013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
45280 * Merged multicoreware/xhevc into default
45283 2013-05-23 praveentiwari <praveentiwari>
45285 * source/encoder/vec/macroblock.inc:
45286 Intrinsic code for partialButterflyInverse16
45289 2013-05-23 praveen Tiwari <praveen@multicorewareinc.com>
45291 * Merged multicoreware/xhevc into default
45294 2013-05-23 praveentiwari <praveentiwari>
45296 * source/encoder/vec/macroblock.inc:
45297 Intrinsic code for partialButterflyInverse8
45300 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
45302 * source/encoder/vec/macroblock.inc:
45303 Merged multicoreware/xhevc into default
45306 2013-05-23 Deepthi Devaki <Deepthi Devaki>
45311 * source/encoder/vec/intrapred.inc:
45312 Improvement in Intra Angular 8x8 vector implementation
45315 2013-05-23 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45317 * Merged multicoreware/xhevc into default
45320 2013-05-23 Deepthi Devaki <Deepthi Devaki>
45322 * source/VectorClass/vectori128.h:
45323 ForceInlined a few more functions in vectori128
45326 * source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
45327 IntraPredAng 8x8 HIGH_BIT disabled - with special case
45328 implementation for 8 modes.
45331 2013-05-23 Deepthi <Deepthi>
45333 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45334 Defining lambda values for Check Best Mode
45337 2013-05-23 Steve Borho <steve@borho.org>
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
45343 cfg/*, x265main, x265cfg, and x265enc will all go away as soon as
45347 2013-05-23 Deepthi <Deepthi>
45352 * source/Lib/TLibCommon/TypeDef.h:
45353 Best value of lambda select set to 0.6
45356 2013-05-22 Steve Borho <steve@borho.org>
45358 * source/Lib/TLibEncoder/TEncSearch.cpp:
45359 TEncSearch: remove my comments from HM source, they were also wrong
45362 * source/encoder/motion.cpp:
45363 motion: better document search shapes
45366 * source/VectorClass/vectorclass.h, source/VectorClass/vectorf128.h,
45367 source/VectorClass/vectori128.h:
45368 vector: disable floating point vector classes, avoids GCC warnings,
45371 vecprimitives.inc:73:1: error: '__m128d selectd(const __m128d&,
45372 const __m128d&, const __m128d&)' conflicts with a previous
45376 * source/encoder/vec/intrapred.inc:
45377 intrapred: fix GCC warnings
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
45384 * source/encoder/vec/macroblock.inc:
45385 macroblock: fix GCC warnings again, perhaps line argument should be
45388 macroblock.inc:562:9: error: statement has no effect [-Werror
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"
45397 * Merged in praveentiwari/xhevc_praveent (pull request #161)
45399 Intrinsic code for partialButterfly8
45402 2013-05-22 praveen Tiwari <praveen@multicorewareinc.com>
45404 * Merged multicoreware/xhevc into default
45407 2013-05-22 praveentiwari <praveentiwari>
45409 * source/encoder/vec/macroblock.inc:
45410 Intrinsic code for partialButterfly8
45413 2013-05-22 Steve Borho <steve@borho.org>
45415 * Merged in deepthidevaki/xhevc_deepthid (pull request #160)
45417 IntraPredAngular 4x4 HIGH_BIT depth enabled
45420 2013-05-22 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45422 * Merged multicoreware/xhevc into default
45425 2013-05-22 Deepthi Devaki <Deepthi Devaki>
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
45433 * source/encoder/vec/vecprimitives.inc:
45434 Fix back slash in #include
45437 2013-05-22 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
45439 * Merged multicoreware/xhevc into default
45442 2013-05-21 Deepthi Devaki <Deepthi Devaki>
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
45453 * source/VectorClass/vectori128.h, source/test/intrapredharness.cpp:
45454 Force inline functions in vectori128.h
45457 2013-05-22 Steve Borho <steve@borho.org>
45459 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
45460 source/encoder/motion.h:
45461 motion: use square pattern for subpel refinement
45464 * source/encoder/motion.cpp:
45465 motion: allow fpel star refinement if two point search finds new
45469 2013-05-22 ggopu <ggopu>
45471 * source/Lib/TLibEncoder/TEncSearch.cpp:
45472 Temporary fix to crash
45475 2013-05-22 Steve Borho <steve@borho.org>
45477 * source/encoder/motion.cpp:
45478 motion: use COPY2_IF_LT in subpel refine, simplifies logic
45483 * source/encoder/motion.cpp:
45484 motion: if first subpel iteration found no improvement, skip later
45487 Should have no coding effect, but should help perf slightly.
45490 2013-05-21 Steve Borho <steve@borho.org>
45492 * source/encoder/motion.cpp:
45493 motion: only adjust subpel search center once per iteration
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.
45500 2013-05-22 ShinYee Chung <shinyee@multicorewareinc.com>
45502 * source/encoder/encoder.h:
45503 Encoder: Fix enum accesses.
45506 * source/encoder/motion.cpp:
45507 motion: Fix compile warning/error due to shadow variable in COST_MV
45511 * source/Lib/TLibEncoder/TEncTop.cpp:
45512 TLibEncoder: Fix compile error due to undeclared INT_MAX.
45515 2013-05-21 Steve Borho <steve@borho.org>
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
45523 We will add these back later as we optimize and/or adapt these
45527 * source/encoder/common.cpp, source/encoder/encoder.cpp,
45528 source/x265cfg.cpp:
45529 encoder: plumb in a parse function
45532 * source/Lib/TLibEncoder/TEncCfg.h:
45533 TEncCfg: white-space nit
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
45544 * source/Lib/TLibEncoder/TEncTop.cpp:
45545 TEncTop: simplify destroy method slightly
45548 2013-05-21 Min Chen <chenm003@163.com>
45550 * source/Lib/TLibEncoder/TEncCu.cpp, source/Lib/TLibEncoder/TEncCu.h:
45551 cleanup: remove unused pointer from TEncCu
45553 From 28a48831f9571ff030574c4e28c75e4afc8105f3 Mon Sep 17 00:00:00
45555 --- source/Lib/TLibEncoder/TEncCu.cpp | 3 ---
45556 source/Lib/TLibEncoder/TEncCu.h | 3 --- 2 files changed, 0
45557 insertions(+), 6 deletions(-)
45560 2013-05-20 Min Chen <chenm003@163.com>
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(-)
45581 2013-05-21 Steve Borho <steve@borho.org>
45583 * source/encoder/encoder.cpp, source/encoder/encoder.h:
45584 encoder: remove some includes only used by new main
45587 * source/Lib/TLibEncoder/TEncTop.cpp:
45588 TEncTop: call destroy() on CU encoders before deleting them
45590 HM class destructors do not necessarily free memory. This fixes some
45594 * source/Lib/TLibEncoder/TEncCfg.h, source/encoder/encoder.cpp,
45595 source/x265enc.cpp:
45596 cruft: remove setFrameSkip/getFrameSkip() from TencCfg
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
45604 * source/encoder/encoder.h:
45605 encoder: remove obsolete cruft, assign default level and profile
45608 * source/encoder/encoder.cpp, source/encoder/encoder.h:
45609 encoder: improve defaults to match current behavior, simplify
45612 * source/x265cfg.cpp:
45616 * source/encoder/vec/macroblock.inc:
45617 macroblock: tabs to spaces
45620 * source/encoder/vec/macroblock.inc:
45621 Merged in praveentiwari/xhevc_praveent (pull request #159)
45623 Intrinsic code for partialButterflyInverse4
45626 2013-05-21 praveentiwari <praveentiwari>
45628 * source/encoder/vec/macroblock.inc:
45629 Intrinsic code for partialButterflyInverse4
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
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
45644 2013-05-21 Steve Borho <steve@borho.org>
45646 * source/encoder/motion.cpp:
45647 motion: do not check candidate MVs for HM style search
45649 No compelling reason for this, except to help debug differences
45652 * source/Lib/TLibEncoder/TEncSearch.cpp:
45653 TEncSearch: disable SAD subsampling while we debug ME
45655 It's not clear we ever want to turn this back on, at least before
45656 we've added subsampling to x265 ME
45659 * source/Lib/TLibEncoder/TEncSearch.cpp:
45660 TEncSearch: give the real MVP to x265 ME, not just zero
45662 This is the bug that has been preventing UMH from working as
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
45669 Our HM version still has a bug; need to find it
45672 * source/encoder/motion.cpp:
45673 motion: use MV 0 prediction as search start if cheaper than MVP
45676 * source/Lib/TLibEncoder/TEncSearch.cpp:
45677 TEncSearch: use actual enum for selecting x265 ME routine
45680 * source/encoder/motion.cpp:
45681 motion: remove hard-coded mode selection
45684 * source/encoder/motion.cpp, source/encoder/motion.h:
45685 motion: fix bugs in my changes, add relevant comments for future
45689 * source/encoder/motion.cpp, source/encoder/motion.h,
45690 source/encoder/mv.h:
45691 motion: simplify HM search method code
45694 * source/encoder/common.cpp, source/x265.h:
45695 api: add original HM search as valid configurable option
45698 * Merged in ggopu/ggopu_xhevc (pull request #158)
45700 Implemented the HM ME to Motion.cpp
45703 2013-05-21 ggopu <ggopu>
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
45710 * source/Lib/TLibEncoder/TEncSearch.cpp:
45714 * source/encoder/motion.cpp, source/encoder/motion.h,
45715 source/encoder/mv.h:
45716 Implemented HM ME to Motion.cpp
45719 2013-05-21 Steve Borho <steve@borho.org>
45721 * source/encoder/encoder.cpp:
45722 encoder: fix another shadowed variable warning
45725 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp:
45726 encoder: fix GCC compiler warnings
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
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).
45742 This configurable should never have been in TComSlice since the flag
45743 is not signaled in the slice header like AMP activation is.
45746 * source/encoder/vec/macroblock.inc:
45747 macroblock: fix GCC compiler warning
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]
45755 2013-05-21 praveen Tiwari <praveen@multicorewareinc.com>
45757 * Merged multicoreware/xhevc into default
45760 2013-05-21 praveentiwari <praveentiwari>
45762 * source/Lib/TLibCommon/TComTrQuant.cpp,
45763 source/encoder/vec/macroblock.inc:
45764 Fixed alignment issue for partialButterfly32
45767 2013-05-21 praveen Tiwari <praveen@multicorewareinc.com>
45769 * Merged multicoreware/xhevc into default
45772 2013-05-21 praveentiwari <praveentiwari>
45774 * source/encoder/vec/macroblock.inc:
45775 Fixed encoder crash for partialButterfly32
45778 * source/encoder/vec/macroblock.inc:
45779 Code cleanup for partialButterfly4
45782 2013-05-21 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
45784 * source/TestForChecking_BadCommit.bat:
45785 Test script to find bad commit
45788 2013-05-21 Steve Borho <steve@borho.org>
45790 * source/encoder/CMakeLists.txt, source/encoder/encoder.cpp,
45791 source/encoder/encoder.h:
45792 api: new encoder class and main function
45795 * source/encoder/common.cpp, source/x265cfg.cpp:
45796 api: use new methods to validate and print public params (CHANGES
45799 This changes the look of the output log, but should not change any
45803 * source/encoder/common.cpp, source/encoder/common.h:
45804 common: add new methods for validating and printing the public
45808 * source/x265.h, source/x265cfg.cpp:
45809 api: make iMaxCuDQPDepth a uint32_t, like the other depth settings
45812 2013-05-20 Steve Borho <steve@borho.org>
45814 * source/x265cfg.cpp:
45815 fix HIGH_BIT_DEPTH=1 build
45818 * source/Lib/TLibCommon/ContextModel3DBuffer.h,
45819 source/Lib/TLibCommon/TComPrediction.cpp:
45820 minor nit fixes, no behavior changes
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
45828 2013-05-21 ShinYee Chung <shinyee@multicorewareinc.com>
45830 * source/encoder/vec/macroblock.inc:
45831 Vec: Fix compile warnings/errors due to unused typedef.
45834 2013-05-20 Steve Borho <steve@borho.org>
45836 * source/x265cfg.cpp:
45837 cfg: simplify log header a bit
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
45846 * source/x265cfg.cpp:
45847 x265cfg: remove redundant ME name array, white-space cleanups
45850 * source/x265cfg.cpp:
45851 x265cfg: move the default output filename to a better location
45854 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
45855 bitcost: match BitCost::bitcost() to TComRdCost:getCost() [CHANGES
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.
45864 * source/x265main.cpp:
45865 main: minor nit cleanups
45868 * source/encoder/vec/macroblock.inc, source/x265.h:
45869 fix GCC compile warnings
45872 2013-05-20 praveentiwari <praveentiwari>
45874 * source/encoder/vec/macroblock.inc:
45875 32bit build issue fix for partialButterfly4 intrinsic function.
45876 Further optimisation.
45879 2013-05-20 sumalatha <sumalatha>
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
45889 2013-05-20 Steve Borho <steve@borho.org>
45891 * source/Lib/TLibEncoder/TEncSearch.cpp:
45892 TEncSearch: use x265's optimized bitcost() method for xCheckBestMVP
45894 Minor performance improvement
45897 2013-05-20 Deepthi Devaki <Deepthi Devaki>
45899 * source/Lib/TLibCommon/TComPrediction.cpp:
45900 Fix for compilation error in HIGH_BIT_DEPTH enabled
45903 2013-05-19 Steve Borho <steve@borho.org>
45905 * source/encoder/common.cpp, source/x265.h, source/x265cfg.cpp,
45907 api: further work triming x265_param_t and implementing public API
45910 * source/x265cfg.cpp:
45911 x265cfg: white-space nits
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
45926 If I have no idea how a param is configured or used, I removed it
45927 from the public data structure.
45930 * source/Lib/TLibEncoder/TEncSearch.cpp:
45931 TEncSearch: fix comments in xTZ8PointDiamondSearch
45933 Removes one extraneaous if() level by chaining together if() else
45937 * source/encoder/motion.cpp:
45938 Backout 1545:eaaa4edde516 (tested worse in regression suite)
45941 * source/encoder/motion.cpp:
45942 motion: fix GCC shadow variable warning (tmv is used inside COST_MV)
45945 * source/encoder/motion.cpp:
45946 motion: start fpel search at best predictor
45948 HM and x264 both do this, but has uncertain results. Will test in
45949 regression suite with more videos
45952 * source/encoder/motion.cpp:
45953 motion: use roundToFPel() when converting clipped MVP to fpel
45955 x264 does this, and it seems to help compression slightly.
45958 * source/encoder/motion.cpp, source/encoder/mv.h:
45959 motion: only remeasure bmv at fpel if pmv had subpel fractions
45962 * source/encoder/motion.cpp:
45963 motion: remove omv=bmv assignment that x264 UMH does not do
45966 * source/encoder/motion.cpp:
45967 motion: avoid rechecking bestpre
45970 * source/encoder/motion.cpp:
45971 motion: improve UMH comments, add a TODO for further analysis
45974 * source/encoder/motion.cpp:
45975 motion: do not check candidates equal to MVP, clarify prep code
45978 * source/encoder/motion.cpp:
45979 motion: move warning disable to top of file
45982 * source/encoder/motion.cpp:
45983 motion: use x265.h enums for motion search methods
45986 * source/encoder/motion.cpp:
45990 * source/encoder/motion.cpp, source/encoder/mv.h:
45991 mv: explicit notZero() method
45994 2013-05-19 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
46048 2013-05-19 Steve Borho <steve@borho.org>
46050 * source/encoder/motion.cpp:
46051 motion: do two subpel iterations for hpel and qpel
46053 This will find corner vectors, where previous simple DIA did not.
46054 This catches us up quite a bit:
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
46061 2013-05-18 Steve Borho <steve@borho.org>
46063 * source/encoder/motion.cpp:
46064 motion: use ints for temp vars
46066 Using sub-word integers is usually a perf loss, and opens you up to
46067 wierd overflow bugs.
46070 * source/encoder/motion.cpp:
46071 motion: minor cleanups, no effects
46074 * source/encoder/motion.cpp, source/encoder/mv.h:
46075 motion: convert hex4 to MV, use tmv for checkRange within hex grid
46078 x264 checks tmv there (mv being tested), not bmv (current best mv)
46081 2013-05-18 Min Chen <chenm003@163.com>
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:
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(-)
46105 2013-05-18 Steve Borho <steve@borho.org>
46107 * source/encoder/motion.cpp:
46108 motion: adapt "full MB size" check to HEVC CTU
46110 This had no measurable effect, but seemed more correct
46113 * source/encoder/motion.cpp:
46114 motion: fix arguments to CROSS macro in UMH
46117 * source/encoder/motion.cpp:
46118 motion: remove SIMPLE_HEX, the outputs are now the same
46121 * source/encoder/x86/x86util.asm:
46122 asm: fix FENC_STRIDE to HEVC size
46125 * source/encoder/motion.cpp:
46126 motion: remove BITS_MVD again (was resurrected during a merge)
46129 * source/encoder/motion.cpp:
46130 motion: enable SIMPLE_HEX by default, until the "fast" path is
46134 2013-05-18 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
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(-)
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(-)
46170 2013-05-18 Steve Borho <steve@borho.org>
46172 * source/Lib/TLibEncoder/TEncSearch.cpp,
46173 source/Lib/TLibEncoder/TEncSearch.h:
46174 TEncSearch: remove m_fencbuf and SAD primitive use from HM ME
46176 This fixes BIDIR and weighted P prediction
46179 * cfg/encoder_all_I.cfg:
46180 encoder_all_I: nit cleanups
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
46193 * source/encoder/vec/macroblock.inc:
46194 macroblock: disable partialButterfly4, it is failing in the
46198 * source/encoder/motion.cpp:
46202 * source/Lib/TLibCommon/TComDataCU.cpp:
46203 TComDataCU: fix GCC compile warnings
46206 * source/encoder/motion.cpp:
46207 motion: fix GCC compile warnings
46210 * source/encoder/IntraPred.cpp:
46211 intrapred: fix include path again
46214 * source/encoder/IntraPred.cpp, source/encoder/primitives.h:
46215 IntraPred: do not use pointer reference
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
46222 2013-05-18 Deepthi <Deepthi>
46224 * source/encoder/vec/macroblock.inc:
46225 Disabling 4 and 32 butterfly intrinsic implementations
46228 * source/Lib/TLibCommon/TComPrediction.cpp:
46229 Remove xPredIntraAngRefBuf from HM - they are now part of
46233 * source/Lib/TLibEncoder/TEncSearch.cpp:
46237 2013-05-17 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
46239 * Merged multicoreware/xhevc into default
46242 2013-05-16 Deepthi Devaki <Deepthi Devaki>
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
46253 2013-05-16 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
46255 * Merged multicoreware/xhevc into default
46258 2013-05-16 Deepthi Devaki <Deepthi Devaki>
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
46272 2013-05-18 Steve Borho <steve@borho.org>
46274 * source/encoder/motion.cpp:
46275 motion: make UMH the default (this needs to be a param)
46278 * source/encoder/motion.cpp:
46279 motion: make "optimized" HEX the default now
46282 * source/encoder/motion.cpp:
46283 motion: remove unused BITS_MVD macro
46286 * source/encoder/motion.cpp:
46287 motion: measure MV cost in qpel in COST_MV
46290 2013-05-17 Steve Borho <steve@borho.org>
46292 * source/encoder/motion.cpp:
46293 motion: simplify COST_MV_X4
46296 * source/encoder/motion.cpp:
46297 motion: add range check for subpel refine
46300 * source/encoder/motion.cpp:
46301 motion: cleanup hex and square offset arrays
46304 * source/encoder/motion.cpp:
46305 motion: add default case to switch statement
46308 * source/encoder/motion.cpp:
46309 motion: make HEX the default for the moment
46312 * source/encoder/mv.h:
46313 mv: add a helpful comment
46316 * source/encoder/motion.cpp:
46317 motion: fix obvious bug in COST_MV(). HEX mode now looks ok
46319 This is a quality/perf progression you would expect for DIA and HEX
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
46325 UMH is worse than HEX, better than DIA. Which means there are still
46328 UMH: 481.9600 31.2575 36.0621 36.0658 28sec
46330 The "optimized" HEX path is also broken (worse numbers than these)
46333 * source/encoder/motion.cpp:
46334 motion: add descriptive #if 0 from x264
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
46340 * source/encoder/motion.cpp:
46341 motion: white-space nit, no code change
46344 * source/encoder/motion.cpp:
46345 motion: remove redundant code
46348 * source/encoder/motion.cpp:
46349 motion: just a single stride var is necessary
46352 * source/encoder/motion.cpp:
46353 motion: use bmv.checkRange()
46356 * source/encoder/motion.cpp:
46357 motion: take advantage of MV union
46360 * source/encoder/motion.cpp:
46361 motion: include assert.h
46364 * source/encoder/motion.cpp:
46365 motion: use MV copy constructor some more
46368 * source/encoder/motion.cpp:
46369 motion: HEVC does not have 4x4 inter partitions
46372 * source/encoder/motion.cpp:
46373 motion: pmv needs to be a full-pel motion vector
46376 * source/encoder/motion.cpp:
46377 motion: use MV copy constructor
46380 * source/encoder/motion.cpp:
46381 motion: remove dup variable i_me_range
46384 * source/encoder/motion.cpp:
46388 * source/encoder/motion.cpp:
46389 motion: remove unnecessary dup variables
46392 * source/encoder/motion.cpp, source/encoder/motion.h:
46393 motion: save the partition enum for the current PU
46396 * source/encoder/motion.cpp:
46397 motion: turn size_scale the right way around
46400 * source/encoder/motion.cpp:
46401 motion: remove cruft
46404 * source/encoder/motion.cpp:
46405 motion: fix obvious bug in x265_predictor_difference
46408 * source/encoder/motion.cpp:
46409 cleanups, no behavior change
46412 * source/encoder/common.cpp, source/encoder/common.h,
46413 source/encoder/motion.cpp:
46414 motion: move common macros to common.h
46417 * source/encoder/motion.cpp, source/encoder/vec/macroblock.inc,
46418 source/x265cfg.cpp:
46419 fix GCC compilation warnings
46422 * Merged in sumalatha/xhevc_sumalatha (pull request #148)
46424 fix for decoder crash in xcompresscu() [early_abort optimization]
46427 2013-05-17 sumalatha <sumalatha>
46429 * source/Lib/TLibEncoder/TEncCu.cpp:
46430 fix for removing the decoder crash in xcompressCU() - early
46431 partition optimization
46434 2013-05-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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
46442 2013-05-17 sumalatha <sumalatha>
46444 * source/Lib/TLibEncoder/TEncCu.cpp:
46445 Backed out changeset: 78976eb7f3fa
46448 * source/Lib/TLibEncoder/TEncCu.cpp:
46449 fix for decoder crash in xcompresscu() {early_abort optimization]
46452 2013-05-17 Steve Borho <steve@borho.org>
46454 * source/encoder/vec/macroblock.inc:
46455 partialButterfly4 does not compile on 32bit x86
46457 _mm_cvtsi64_si128 does not exist on 32bit systems
46460 2013-05-17 praveen Tiwari <praveen@multicorewareinc.com>
46462 * build/dr_psnr_script/TAppDecoder.exe,
46463 build/dr_psnr_script/psnr_script.bat:
46464 Merged multicoreware/xhevc into default
46467 2013-05-17 praveentiwari <praveentiwari>
46469 * source/encoder/vec/macroblock.inc:
46470 intrinsic code for partialButterfly32
46473 2013-05-17 Deepthi <Deepthi>
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
46484 2013-05-17 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
46486 * Merged multicoreware/xhevc into default
46489 2013-05-17 sumalatha <sumalatha>
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
46499 2013-05-17 Deepthi <Deepthi>
46501 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
46502 More refinement of early abort conditions
46508 * source/Lib/TLibEncoder/TEncCu.cpp:
46509 refining early abort
46512 * source/Lib/TLibEncoder/TEncCu.cpp:
46513 fixing the decoder crash
46516 * source/Lib/TLibEncoder/TEncCu.cpp:
46520 * source/Lib/TLibEncoder/TEncCu.cpp:
46521 Remove AMP for now from EARLY_ABORT mode decision
46524 2013-05-17 Steve Borho <steve@borho.org>
46526 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp:
46527 TEncSearch: pass neighbor MVs to motionEstimate (UMH seems to
46531 2013-05-17 ggopu <ggopu>
46533 * source/encoder/motion.cpp:
46534 Motion Estimation : UMH implementation stage 1
46537 2013-05-16 Gopu G <gopu@multicorewareinc.com>
46539 * Merged multicoreware/xhevc into default
46542 * Merged multicoreware/xhevc into default
46545 2013-05-14 Gopu G <gopu@multicorewareinc.com>
46547 * source/test/timer.cpp:
46548 Merged multicoreware/xhevc into default
46551 2013-05-13 Gopu G <gopu@multicorewareinc.com>
46553 * Merged multicoreware/xhevc into default
46556 2013-05-13 ggopu <ggopu>
46558 * source/encoder/motion.cpp:
46559 Motion Estimation : UMH implementation stage 1
46562 2013-05-16 Steve Borho <steve@borho.org>
46564 * source/x265main.cpp:
46565 vld: add assert for zero leaks (DEBUG only)
46568 * source/x265main.cpp:
46569 x265main: explicit allocation and deallocation of TAppEncTop
46572 * source/Lib/TLibCommon/TComPicYuv.cpp:
46573 TComPicYuv: TComPicYuv are re-used, check before allocating subpel
46577 * source/x265cfg.cpp, source/x265cfg.h:
46578 x265cfg: release thread pool handle at exit
46581 * source/x265main.cpp:
46582 x265main: ask VLD to output the leak log to the debugger output
46585 This way the leak report survives after the run.
46588 * source/CMakeLists.txt, source/cmake/FindVLD.cmake,
46589 source/x265main.cpp:
46590 cmake: add detection and use of Visual Leak Detector
46593 * source/Lib/TLibEncoder/TEncGOP.cpp:
46594 TEncGOP: disable printing of per-frame encode time, prune unused
46597 This just makes the frame logs non-deterministic.
46600 * source/Lib/TLibEncoder/TEncGOP.cpp:
46604 * build/linux/batch.py:
46605 write batch outputs into a folder
46608 * build/linux/batch.py:
46609 add MD5 hashes to batch run output log
46612 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg, source/x265cfg.cpp:
46613 remove filenames from configuration files
46615 Hard-code the default filename for an output stream. Default to no
46616 recon output file if none is specified on the CLI.
46619 2013-05-16 Deepthi <Deepthi>
46621 * source/Lib/TLibEncoder/TEncCu.cpp:
46622 Preserving the original xcompressCU implementation until the
46623 EARLY_PARTITION_DECISION mode has been fully debugged.
46626 2013-05-16 Steve Borho <steve@borho.org>
46628 * source/tools/CMakeLists.txt:
46629 backout change to source/tools/CMakeLists.txt
46631 The performanceProfiler/ folder has no CMakeLists.txt within it.
46634 2013-05-16 sumalatha <sumalatha>
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
46647 2013-05-16 Deepthi <Deepthi>
46652 * source/Lib/TLibEncoder/TEncCu.cpp:
46656 * source/Lib/TLibEncoder/TEncCu.cpp:
46657 AMP after 2nxn, nx2n, if at all
46660 * source/Lib/TLibEncoder/TEncCu.cpp:
46661 2nxn and nx2n comparisons only if nxn mode better than 2nx2n
46664 * source/Lib/TLibEncoder/TEncCu.cpp:
46665 Cleanup; remove erroneous paths
46668 * source/Lib/TLibEncoder/TEncCu.cpp:
46672 * source/Lib/TLibEncoder/TEncCu.cpp:
46673 Initial version of compare 2nx2n with sum of nxn costs
46676 * source/Lib/TLibEncoder/TEncCu.cpp:
46677 Getting rid of EARLY_PARITION_DECISION macro (temporarily)
46680 * source/Lib/TLibEncoder/TEncCu.cpp:
46681 Init Sub CUs to prevent crash when early detection is OFF
46684 * source/Lib/TLibEncoder/TEncCu.cpp:
46685 Scalar expansion for subCUs
46688 2013-05-15 Deepthi <Deepthi>
46690 * source/Lib/TLibEncoder/TEncCu.cpp:
46694 2013-05-16 Steve Borho <steve@borho.org>
46696 * build/linux/batch.py:
46697 add a batch launch script for litespeed server
46700 2013-05-15 Steve Borho <steve@borho.org>
46702 * source/encoder/x86/asm-primitives.cpp:
46703 asm: fix a bug found by x86-64 linux and GDB
46706 * source/encoder/vec/vecprimitives.inc:
46707 vec: GCC needs smmintrin.h for some intrinsics we use in
46711 * source/VectorClass/vectori128.h:
46712 vector: use correct build define for fromUint64
46715 * source/CMakeLists.txt:
46716 cmake: reverse yasm version logic, so all versions less than 1.2.0
46719 previous logic was allowing 1.1.0.X
46722 2013-05-15 Min Chen <min.chen@multicorewareinc.com>
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(-)
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
46740 2013-05-15 Steve Borho <steve@borho.org>
46742 * source/CMakeLists.txt, source/cmake/FindYasm.cmake,
46743 source/cmake/version.cmake:
46744 cmake: detect and enforce minimal YASM version
46746 x264 assembly code requires YASM 1.2.0 (for AVX2, etc)
46749 2013-05-15 Min Chen <min.chen@multicorewareinc.com>
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(-)
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(-)
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(-)
46769 2013-05-15 Steve Borho <steve@borho.org>
46771 * source/test/intrapredharness.cpp, source/test/testbench.cpp:
46772 testbench: GCC compilation fixes
46775 * source/cmake/version.cmake:
46776 cmake: avoid use of HG find_package
46779 * source/encoder/common.cpp:
46780 GCC compilation fix
46783 * source/encoder/vec/macroblock.inc:
46784 macroblock: enable partialButterfly4 for X86_64 builds only
46786 The primitive does not compile on x86
46789 2013-05-15 Deepthi <Deepthi>
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:
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.
46802 * source/Lib/TLibEncoder/TEncCu.cpp:
46803 More useless skip control variables removed.
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.
46812 2013-05-15 praveentiwari <praveentiwari>
46814 * source/encoder/macroblock.cpp:
46815 C primitive for partialButterfly4
46818 2013-05-14 Min Chen <min.chen@multicorewareinc.com>
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(-)
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
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(-)
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(-)
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
46870 * source/Lib/TLibEncoder/TEncSlice.cpp:
46871 thread: don't calculate uiLin and uiCol from uiCUAddr, they are
46873 --- source/Lib/TLibEncoder/TEncSlice.cpp | 3 --- 1 files changed, 0
46874 insertions(+), 3 deletions(-)
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(-)
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(-)
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
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
46950 2013-05-14 Steve Borho <steve@borho.org>
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
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
46965 * source/test/testbench.cpp:
46969 * source/encoder/vec/macroblock.inc:
46970 macroblock: disable partialButterfly4 for 32bit builds
46971 (_mm_cvtsi64_si128)
46973 The _mm_cvtsi64_si128 instrinsic is only supported in 64bit
46977 * source/encoder/vec/intrapred.inc:
46978 intrapred: use X86_64 instead of _WIN64
46981 * source/CMakeLists.txt:
46982 cmake: add X86_64 define for 64bit builds
46985 * Merged in shazebnawazkhan/xhevc_shazeb (pull request #141)
46987 Pred Intra Planar 16x16 vectorization
46990 2013-05-14 Deepthi Devaki <Deepthi Devaki>
46995 * source/encoder/vec/intrapred.inc:
46996 uncrustified intrapred.inc
46999 * source/encoder/vec/intrapred.inc, source/test/intrapredharness.cpp:
47000 Pred Intra Planar 16x16 vectorization
47003 2013-05-14 Steve Borho <steve@borho.org>
47005 * source/test/mbdstharness.cpp:
47006 mbdstharness: remove redundant enum
47009 * source/encoder/vec/macroblock.inc:
47010 macroblock: disable BUTTERFLY_4 until it as a C reference
47013 * source/test/testbench.cpp:
47014 testbench: zero C primitive struct to better isolate missing C
47018 2013-05-14 praveentiwari <praveentiwari>
47020 * source/test/mbdstharness.h:
47021 Added extra buffer for intrinsic code test
47024 * source/encoder/vec/macroblock.inc:
47025 Intrinsic Code for partialButterfly4
47028 2013-05-14 praveen Tiwari <praveen@multicorewareinc.com>
47030 * Merged multicoreware/xhevc into default
47033 * Merged multicoreware/xhevc into default
47036 2013-05-14 praveentiwari <praveentiwari>
47038 * source/test/mbdstharness.cpp:
47039 Test code for PartialButterfly4 intrisic code
47042 2013-05-14 Deepthi <Deepthi>
47047 * source/Lib/TLibEncoder/TEncCu.cpp:
47048 Modify mode decision to include NxN cost as well
47051 2013-05-14 Deepthi Devaki <Deepthi Devaki>
47056 * source/encoder/vec/intrapred.inc:
47057 Predict intraplanar 8x8 - vector implementation
47060 * source/test/intrapredharness.cpp, source/test/intrapredharness.h:
47061 Predict IntraPlanar - unit test integration
47064 2013-05-14 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
47066 * build/BuildEncoderApplications.bat,
47067 build/RunEncoderApplications.bat:
47068 Removed ENABLE_PRIMITIVES macro from Regression test
47074 * build/BuildEncoderApplications.bat,
47075 build/CreateRegressionPackage.bat, build/RunEncoderApplications.bat,
47077 Modified RegressionTest script for 8bit and 16bit
47080 2013-05-14 Deepthi <Deepthi>
47082 * source/Lib/TLibEncoder/TEncCu.cpp:
47083 Removing abortflag control - performance and bitrate impact mostly
47087 * source/Lib/TLibEncoder/TEncCu.cpp:
47088 Modifying the recursion abort condition
47091 * source/Lib/TLibEncoder/TEncCu.cpp:
47092 Fix for compile error with early partition select ON.
47095 2013-05-13 Deepthi <Deepthi>
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.
47102 2013-05-13 sumalatha <sumalatha>
47104 * source/Lib/TLibCommon/TypeDef.h, source/Lib/TLibEncoder/TEncCu.cpp:
47105 renamed the macro QUALITYFACTOR to LAMBDA_PARTITION_SELECT
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.
47115 2013-05-12 Steve Borho <steve@borho.org>
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
47124 This packet only contained data passed in by the user. They can
47125 generate it themselves
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
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.
47141 * source/x265cfg.cpp:
47142 x265cfg: do not print chroma QP offsets if they are 0
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
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
47157 Use inline when available, else use ASM version of EMMS
47160 * source/x265cfg.cpp:
47161 x265cfg: white-space tweaks, no code changes
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
47178 * source/Lib/TLibEncoder/TEncSearch.cpp:
47179 cleanup: remove redundant brace levels, no logic changes
47182 * source/Lib/TLibEncoder/TEncSearch.cpp:
47183 cleanup: remove unnecessary x264_cpu_emms()
47186 * source/Lib/TLibEncoder/TEncCu.cpp:
47187 cleanup: remove extra levels of indent in TEncCU.cpp, no logic
47191 * source/Lib/TLibEncoder/TEncCu.cpp:
47192 cleanup: remove iMinQP
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
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
47210 * source/Lib/TLibEncoder/TEncCu.cpp:
47211 TEncCu: prune per-CU multiple QP logic
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
47218 * source/Lib/TLibEncoder/TEncCu.cpp:
47219 TEncCU: rename rpcCU to pcCu since it is no longer a reference
47222 2013-05-11 Steve Borho <steve@borho.org>
47224 * source/Lib/TLibEncoder/TEncSlice.cpp,
47225 source/Lib/TLibEncoder/TEncSlice.h:
47226 remove slice-level per-delta QP and lambda
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
47238 * source/Lib/TLibEncoder/TEncSlice.cpp:
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
47251 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
47252 remove no longer supported config options
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
47264 * source/x265cfg.cpp:
47265 don't print configurations that cannot change
47268 2013-05-11 Min Chen <min.chen@multicorewareinc.com>
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(-)
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
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
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(-)
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(+),
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(-)
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
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(-)
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(-)
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(-)
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(-)
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(-)
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
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
47510 * source/Lib/TLibCommon/TComDataCU.cpp:
47511 cleanup: onlyOneSliceInPic always true
47512 --- source/Lib/TLibCommon/TComDataCU.cpp | 188
47513 ++-------------------------------- 1 files changed, 8 insertions(+),
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(-)
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(-)
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(-)
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(-)
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(-)
47605 2013-05-11 Steve Borho <steve@borho.org>
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
47619 * source/Lib/TLibEncoder/TEncSearch.cpp:
47620 TEncSearch: fix 16bpp compiler warnings
47623 * source/Lib/TLibCommon/TComRdCost.cpp,
47624 source/Lib/TLibCommon/TComRdCost.h:
47625 TComRdCost: remove dead 2x2 satd code paths
47627 HEVC does not support 2x2 partitions, even for chroma. See
47628 http://forum.doom9.org/showthread.php?t=167081
47631 * source/Lib/TLibCommon/TComRdCost.cpp:
47632 TComRdCost: fix old HM bug in dead 2x2 logic
47635 * source/Lib/TLibEncoder/TEncSearch.cpp:
47636 TEncSearch: use SATD primitives to measure chroma intra residual
47639 * source/encoder/x86/asm-primitives.cpp:
47640 asm: use XOP satd primitives when available; roughly 10x C versions
47643 * source/encoder/x86/asm-primitives.cpp:
47644 asm: use x264_pixel_satd_4x16_avx when available
47647 * source/encoder/x86/asm-primitives.cpp:
47648 asm: use x264_pixel_satd_4x16_sse4 when available
47651 * source/encoder/x86/asm-primitives.cpp:
47652 asm: use SSE2 satd functions for all partitions, where available
47654 Roughly 6x faster than C, 2x faster than MMX
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
47664 * source/Lib/TLibEncoder/TEncCu.cpp:
47665 TEncCu: remove for-loops over QP, make them simple expressions
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.
47674 2013-05-10 Steve Borho <steve@borho.org>
47676 * source/Lib/TLibEncoder/TEncSearch.h, source/encoder/motion.h:
47677 fix aligned pixel caches for x86 and x64 builds
47679 Tested on VC10, VC11, and MinGW x86
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
47693 * source/Lib/TLibEncoder/TEncSearch.cpp:
47694 TEncSearch: replace filterCopy() call with cpyblock primitive
47697 * source/encoder/motion.h:
47698 motion: lessen alignment restriction for pixel cache
47700 Prevents compiler warnings about required padding
47703 * source/encoder/primitives.cpp:
47704 primitives: report XOP and FMA detection as well as CPU SIMD level
47707 * source/Lib/TLibEncoder/TEncSearch.h:
47708 TEncSearch: re-order member variables to avoid alignment causing
47711 Some VC versions will issue warnings if alignment decls require
47712 padding to be added (a performance warning)
47715 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/motion.cpp,
47716 source/encoder/motion.h:
47717 motion: rename MotionReference.plane to lumaPlane, remove unused
47721 * Merged in sumalatha/xhevc_sumalatha (pull request #132)
47723 Changed the variable name according to naming convention of HM
47726 2013-05-10 sumalatha <sumalatha>
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
47733 * source/Lib/TLibEncoder/TEncCu.cpp:
47734 removed goto statement.
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.
47742 2013-05-10 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
47744 * Merged multicoreware/xhevc into default
47747 2013-05-09 sumalatha <sumalatha>
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.
47754 2013-05-10 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
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
47762 2013-05-10 ShinYee Chung <shinyee@multicorewareinc.com>
47764 * source/encoder/vec/intrapred.inc:
47765 Intra: Fix compile errors due to vector conversions.
47768 * source/encoder/common.cpp:
47769 Common: Fix the type mismatch between printf format and argument.
47772 * source/encoder/common.cpp:
47773 Common: Fix broken eol, tabs, spaces.
47776 2013-05-10 Steve Borho <steve@borho.org>
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
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
47791 * source/Lib/TLibCommon/CommonDef.h,
47792 source/Lib/TLibEncoder/TEncSearch.cpp:
47793 Remove GPB_SIMPLE_UNI define
47796 2013-05-10 Min Chen <min.chen@multicorewareinc.com>
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(-)
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(-)
47811 2013-05-10 Steve Borho <steve@borho.org>
47813 * source/encoder/vec/intrapred.inc,
47814 source/encoder/vec/vecprimitives.inc:
47815 vec: inc files should not have includes of their own
47818 2013-05-10 Min Chen <min.chen@multicorewareinc.com>
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(-)
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(-)
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(-)
47846 * source/VectorClass/vectori128.h:
47847 vector128: constant shift left
47848 --- source/VectorClass/vectori128.h | 31
47849 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0
47853 2013-05-09 Steve Borho <steve@borho.org>
47855 * source/encoder/motion.cpp, source/encoder/motion.h:
47856 motion: remove fref class member
47859 * source/encoder/motion.cpp, source/encoder/motion.h:
47860 motion: remove residual functions from class
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
47866 * source/test/ipfilterharness.cpp, source/test/testharness.h:
47867 testharness: adopt checkasm approach to measuring performance
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
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
47883 2013-05-09 Mandar Gurav <Mandar Gurav>
47885 * cfg/per-sequence/FourPeople.cfg:
47886 Implemented Steve's comments - 2
47889 * build/dr_psnr_script/psnr_script.bat, cfg/per-
47890 sequence/BasketballDrive.cfg, cfg/per-sequence/FourPeople.cfg:
47891 Implemented Steve's comments.
47894 2013-05-09 Mandar Gurav <mandar@multicorewareinc.com>
47896 * Merged multicoreware/xhevc into default
47899 2013-05-09 Mandar Gurav <Mandar Gurav>
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.
47907 2013-05-09 Mandar Gurav <mandar@multicorewareinc.com>
47909 * Merged multicoreware/xhevc into default
47912 2013-05-08 Mandar Gurav <Mandar Gurav>
47917 * build/dr_psnr_script/psnr_script.bat:
47918 Implemented suggestions from Steve.
47921 2013-05-08 Mandar Gurav <mandar@multicorewareinc.com>
47923 * Merged multicoreware/xhevc into default
47926 2013-05-08 Mandar Gurav <Mandar Gurav>
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.
47937 2013-05-08 Mandar Gurav <mandar@multicorewareinc.com>
47939 * Merged multicoreware/xhevc into default
47942 * Merged multicoreware/xhevc into default
47945 2013-05-07 Mandar Gurav <Mandar Gurav>
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
47960 2013-05-09 Deepthi Devaki <Deepthi Devaki>
47965 * source/Lib/TLibCommon/TComPicYuv.cpp:
47969 * source/Lib/TLibCommon/TComPicYuv.cpp:
47970 Remove copy of Full Pel from filter. Instead copy it in
47974 2013-05-09 Steve Borho <steve@borho.org>
47976 * source/Lib/TLibEncoder/TEncSearch.cpp:
47977 motion: remove redundant plane pointer assignments
47980 * source/Lib/TLibEncoder/TEncSearch.cpp:
47981 disable new motion search until UMH mode is added
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
47987 * Merged in ggopu/ggopu_xhevc (pull request #129)
47989 motion: fix reference plane pointers and strides
47992 2013-05-09 ggopu <ggopu>
47994 * source/Lib/TLibEncoder/TEncSearch.cpp:
47995 Integrated new motion vector changes
47998 * source/Lib/TLibEncoder/TEncSearch.cpp:
47999 motion: fix reference plane pointers and strides
48002 2013-05-09 Deepthi Devaki <Deepthi Devaki>
48004 * source/Lib/TLibCommon/TComPicYuv.cpp:
48005 Fix output mismatch: change input width/height for filter
48008 2013-05-08 Steve Borho <steve@borho.org>
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
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)
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)
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
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
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
48068 * source/Lib/TLibCommon/ContextTables.h:
48069 remove FIX827, FIX712 #defines
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
48079 2013-05-08 nandaku2 <deepthi@multicorewareinc.com>
48081 * Merged in deepthidevaki/xhevc_deepthid (pull request #124)
48083 Modifications to subpel generation
48086 2013-05-08 Deepthi Devaki <Deepthi Devaki>
48091 * source/Lib/TLibCommon/TComPicYuv.cpp:
48095 * source/Lib/TLibCommon/TComPicYuv.cpp:
48096 Change filter temp variable to short* instead of TshortYuv
48099 * source/Lib/TLibCommon/TComPicYuv.cpp,
48100 source/Lib/TLibCommon/TComPrediction.cpp:
48101 Uncrustified two files.
48104 * source/Lib/TLibCommon/TComPicYuv.cpp,
48105 source/Lib/TLibCommon/TComPrediction.cpp:
48106 Use block copy primitives instead of filterCopy
48112 2013-05-07 Deepthi Devaki <Deepthi Devaki>
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
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
48124 2013-05-08 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
48126 * Merged multicoreware/xhevc into default
48129 * source/Lib/TLibCommon/TComPicYuv.cpp:
48130 Merged multicoreware/xhevc into default
48133 2013-05-07 Deepthi Devaki <Deepthi Devaki>
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.
48142 2013-05-08 Deepthi <Deepthi>
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.
48153 2013-05-08 Steve Borho <steve@borho.org>
48155 * source/test/testharness.h:
48156 testbench: GCC build fixes
48159 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #121)
48161 Prints the avg. number of cycles taken for vec_primitive and C
48165 2013-05-07 Mandar Gurav <Mandar Gurav>
48167 * source/test/testharness.h:
48168 Prints the avg. number of cycles taken for vec_primitive and C
48172 2013-05-08 nandaku2 <deepthi@multicorewareinc.com>
48174 * Merged in sumalatha/xhevc_sumalatha (pull request #122)
48176 fix for the output mismatch issue. Now when AMPREfine flag is not
48177 set, output matches
48180 2013-05-08 sumalatha <sumalatha>
48182 * source/Lib/TLibEncoder/TEncTop.cpp:
48183 fix for the output mismatch issue. Now when AMPREfine flag is not
48184 set, output matches
48187 2013-05-07 Steve Borho <steve@borho.org>
48189 * source/Lib/TLibCommon/TComPicYuv.cpp, source/PPA/ppaCPUEvents.h:
48190 ppa: add an event for TComPicYuv::extendPicBorder()
48193 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
48194 white-space nits in config files
48197 2013-05-07 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
48199 * source/test/filterharness.cpp, source/test/filterharness.h:
48200 Merged multicoreware/xhevc into default
48203 2013-05-07 sumalatha <sumalatha>
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.
48216 2013-05-07 Deepthi Devaki <Deepthi Devaki>
48218 * source/Lib/TLibCommon/TComPrediction.cpp,
48219 source/Lib/TLibEncoder/TEncSearch.cpp,
48220 source/Lib/TLibEncoder/TEncSearch.h:
48221 Removed unwanted comments
48224 * source/encoder/InterpolationFilter.cpp:
48225 Modified filterverticalpel_pel
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
48233 * source/Lib/TLibCommon/TComPicYuv.cpp,
48234 source/Lib/TLibCommon/TComPicYuv.h:
48235 Remove all references to chroma filterBlocks.
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
48247 * source/test/CMakeLists.txt, source/test/filterharness.cpp,
48248 source/test/filterharness.h, source/test/testbench.cpp:
48249 Removed old filter from testbench
48252 * source/encoder/macroblock.cpp:
48253 Removed old filter c primitives from macroblock.cpp
48256 * source/encoder/vec/macroblock.inc:
48257 Removed old filters vec primitives
48260 2013-05-06 Steve Borho <steve@borho.org>
48262 * source/encoder/vec/blockcopy.inc:
48263 blockcopy: retask 8bpp s_p for s_c
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
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.
48277 * source/Lib/TLibCommon/TComPrediction.cpp:
48278 TComPrediction: fix build warning at 16bpp
48281 * Merged in deepthidevaki/xhevc_deepthid (pull request #118)
48283 Added function to generate Luma subpels for entire frame.
48286 2013-05-06 Deepthi Devaki <Deepthi Devaki>
48288 * source/Lib/TLibCommon/TComPicYuv.cpp:
48289 Modified function to generate Luma subpels for entire frame.
48292 * source/Lib/TLibCommon/TComPicYuv.cpp:
48293 Functions to generate QPels for entire frame
48296 * source/Lib/TLibCommon/TComPicYuv.cpp,
48297 source/Lib/TLibCommon/TComPicYuv.h,
48298 source/encoder/InterpolationFilter.h:
48299 Generate Hpel for entire frame. (tested!)
48302 2013-05-06 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
48304 * source/Lib/TLibCommon/TComPicYuv.h,
48305 source/encoder/vec/interpolationfilter.inc:
48306 Merged multicoreware/xhevc into default
48309 2013-05-03 Deepthi Devaki <Deepthi Devaki>
48311 * source/Lib/TLibCommon/TComPicYuv.h:
48312 Added access functions for filteredBlocks
48318 * source/Lib/TLibCommon/TComPicYuv.cpp:
48319 Initialize m_filterBlocks to NULL
48322 * source/Lib/TLibCommon/TComPicYuv.cpp:
48323 Fix deallocating filterBlocks memory.
48326 * source/Lib/TLibCommon/TComPicYuv.cpp,
48327 source/Lib/TLibCommon/TComPicYuv.h, source/encoder/TShortYUV.h:
48328 Added Data structures for H/Q planes
48331 2013-05-06 Steve Borho <steve@borho.org>
48333 * source/test/intrapredharness.cpp:
48334 intrapredharness: prevent out-of-bounds reads during validation
48338 * source/encoder/vec/ipfilter.inc:
48339 ipfilter: remove cruft that was only for preventing unused parameter
48343 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter8.inc:
48344 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #117)
48346 Filter implementation for HIGH_BIT_DEPTH=0
48349 2013-05-06 Mandar Gurav <Mandar Gurav>
48351 * source/encoder/vec/ipfilter.inc, source/encoder/vec/ipfilter8.inc:
48352 Filter implementation for HIGH_BIT_DEPH=0
48355 2013-05-06 Min Chen <chenm003@163.com>
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(-)
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(-)
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(-)
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,
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
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(-)
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(-)
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(-)
48415 2013-05-06 Steve Borho <steve@borho.org>
48417 * source/encoder/vec/ipfilter16.inc, source/encoder/vec/ipfilter8.inc:
48418 ipfilter: more pruning
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
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.
48431 * source/Lib/TLibEncoder/TEncSlice.cpp:
48432 TEncSlice: backout replacement of calcRdCost64 with CALCRDCOST_SAD
48434 Those were two entirely different function calls
48437 2013-05-06 nandaku2 <deepthi@multicorewareinc.com>
48439 * source/encoder/vec/interpolationfilter.inc:
48440 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #116)
48442 Interpolationfilter primitives restructured.
48445 2013-05-06 Mandar Gurav <Mandar Gurav>
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.
48455 2013-05-06 sumalatha <sumalatha>
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
48466 2013-05-05 Steve Borho <steve@borho.org>
48468 * source/Lib/TLibEncoder/TEncSearch.cpp:
48469 TEncSearch: fix warning with 15bpp build
48472 * source/Lib/TLibCommon/TComYuv.cpp:
48473 TComYuv: use primitives for remaining copy functions
48476 * source/Lib/TLibCommon/TComYuv.cpp:
48477 TComYuv: use pixel copy primitives
48480 * source/Lib/TLibCommon/TComDataCU.h,
48481 source/Lib/TLibCommon/TComPicYuv.h:
48482 white-space nits, no changes
48485 * source/Lib/TLibEncoder/TEncSearch.cpp:
48486 TEncSearch: get access to the original source pixel plane and real
48490 * source/Lib/TLibEncoder/TEncSearch.cpp:
48491 TEncSearch: get offset into original picture buffer
48493 pcOrgYuv seems to point to a small YUV buffer holding only the
48494 pixels for the current CTU under analysis.
48497 * source/Lib/TLibCommon/TComPrediction.cpp:
48498 TComPrediction: fix MSVC reported stack corruption
48500 When run in debug mode, MSVC reported stack corruption near
48501 leftColumn. The 1st for loop is iterating over blkSize+1
48503 This looks like an HM bug exposed by reducing MAX_CU_SIZE to the
48507 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48508 source/encoder/vec/pixel8.inc:
48509 pixel: add vectorized sad_48_x3
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
48517 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48518 source/encoder/vec/pixel8.inc:
48519 pixel: add vectorized sad 48
48522 * source/encoder/vec/pixel16.inc:
48523 pixel16: fix bug in sad_12_x4
48526 * source/encoder/vec/pixel16.inc:
48527 pixel16: fix bug in sad_12_x3
48530 * source/Lib/TLibEncoder/TEncSearch.cpp:
48531 TEncSearch: fix compiler warning
48534 * source/encoder/vec/pixel8.inc:
48535 pixel8: fix bug in sad_4_x4
48538 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
48539 source/encoder/primitives.h, source/test/pixelharness.cpp:
48540 pixel: add 48 sized partitions
48543 2013-05-05 Min Chen <chenm003@163.com>
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(-)
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(-)
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
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(-)
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(-)
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(-)
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(-)
48600 2013-05-05 Steve Borho <steve@borho.org>
48602 * source/Lib/TLibEncoder/TEncSearch.cpp,
48603 source/Lib/TLibEncoder/TEncSearch.h:
48604 TEncSearch: SAD primitives all expect 16byte aligned fenc buffer
48607 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc,
48608 source/encoder/vec/pixel8.inc:
48609 pixel: finish optimizations - performance summary below
48611 Measured on AMD Trinity A10M (more tuning can be done)
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
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
48706 * source/encoder/vec/pixel8.inc:
48707 pixel8: more cleanups, no behavior changes
48710 * source/encoder/vec/pixel8.inc:
48711 pixel8: intermediate variable rename, to be consistent with pixel16
48714 * source/encoder/vec/pixel8.inc:
48715 pixel8: 8bpp sad_64_x4 and sad_64_x3 cannot have residual rows
48718 * source/encoder/vec/pixel16.inc:
48719 pixel16: optimize 16bpp sad_N_x3 (adapted copies of sad_N_x4)
48722 * source/encoder/vec/pixel16.inc:
48723 pixel16: optimize sad_N_x4 16bpp
48726 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel8.inc:
48727 pixel8: optimize sad_N_x4 8bpp, add sad_24_x4
48730 * source/encoder/vec/pixel8.inc:
48731 pixel8: optimize 8bpp sad_12_x4
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
48739 * source/encoder/vec/pixel.inc, source/encoder/vec/pixel16.inc:
48740 pixel16: add sad_24_x3
48743 * source/encoder/vec/pixel16.inc:
48744 pixel16: fix some unaligned access exceptions triggered by VC10
48748 * source/encoder/vec/pixel16.inc:
48749 pixel16: fixups for 16bpp primitives
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
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
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
48768 * source/encoder/vec/pixel8.inc:
48769 pixel: optimize sad_64_x3 - about 20% improvement
48772 * source/encoder/vec/pixel8.inc:
48773 pixel: optimize sad_32_x3 - about 20% improvement, remove unused
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
48782 2013-05-04 Steve Borho <steve@borho.org>
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
48789 * source/encoder/vec/pixel8.inc:
48790 pixel8: slight tuneup for sad_8_3x
48793 * source/encoder/vec/pixel8.inc:
48794 pixel8: allow 16 rows in a row of 4-wide 8bpp blocks - up to 30%
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
48804 2013-05-05 ShinYee Chung <shinyee@multicorewareinc.com>
48806 * source/encoder/vec/CMakeLists.txt:
48807 cmake: Specify the compilation of architecture SSE2 explicitly.
48809 The VS2010 crashes when executing one of the sad variants. The
48810 instruction vmovdqa() was found generated, crashing cpuid == 4 CPU.
48813 2013-05-04 Steve Borho <steve@borho.org>
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
48820 Removes sad_4_4_x3 since it added no optimization
48823 * source/encoder/vec/pixel.inc:
48824 pixel: enable SAD PARTITION_16x24 now that it is supported for 8bpp
48827 * source/encoder/vec/pixel8.inc:
48828 pixel8: use Vec8us to accumulate sums with addSumAbsDiff()
48830 From 30 to 100% speedups for 8bpp SAD functions
48833 * source/VectorClass/vectori128.h:
48834 vector: add Vec8us::addSumAbsDiff()
48836 This avoids data casts and removes a couple of instructions from
48840 * source/encoder/vec/CMakeLists.txt:
48841 cmake: add a comment about inc files listed in PrimitivesVec project
48844 * source/CMakeLists.txt:
48845 cmake: remove option for multithreaded build, enable unconditionally
48848 2013-05-05 ShinYee Chung <shinyee@multicorewareinc.com>
48850 * source/encoder/vec/interpolationfilter.inc:
48851 Interpolation: Fix compile warning/error on unused parameter.
48854 * source/encoder/vec/vecprimitives.inc:
48855 primitives: Fix compile error on re-declaration of selectf() and
48858 It is probably due to cycle in the header includes.
48861 2013-05-04 Min Chen <chenm003@163.com>
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(+),
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(-)
48878 2013-05-04 Steve Borho <steve@borho.org>
48880 * source/encoder/vec/intrapred.inc:
48881 intrapred: remove includes and namespace from inc header
48883 includes must be in vecprimitives.inc, outside of the anonoymous
48887 * source/encoder/vec/CMakeLists.txt:
48888 cmake: add intrapred.inc to the PrimitivesVec project
48890 So it's easy to find
48893 * source/VectorClass/vectori128.h, source/encoder/vec/intrapred.inc:
48894 vectori128: add fromUint64() method, only available for x64 builds
48896 Needs a better fallback and cross-platform x64 compilation detection
48899 * source/encoder/vec/intrapred.inc:
48900 intrapred: simplify 8bpp DC for 32 and 64 blocks, now faster than C
48903 * source/encoder/vec/intrapred.inc:
48904 intrapred: add an 8bpp path for DC pred (currently slower than C at
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
48912 2013-05-03 Steve Borho <steve@borho.org>
48914 * source/encoder/vec/intrapred.inc:
48915 intrapred: use g_aucConvertToBit for bit size
48918 * source/test/intrapredharness.cpp:
48919 intrapredharness: ensure top pixels always avail for perf test
48922 * source/encoder/vec/intrapred.inc:
48923 intrapred: perform horizontal sum at increased depth
48925 Test now passes with 10bit pixels
48928 * source/test/intrapredharness.cpp:
48929 intrapredharness: pre-calculate all random pixels, ensure top pixels
48933 * source/test/intrapredharness.cpp:
48934 intrapredharness: this primitive requires initROM() to be called
48937 * source/test/CMakeLists.txt:
48938 testbench: 8bpp link now requires HM, just for a global array
48941 * source/encoder/vec/intrapred.inc:
48942 intrapred: disable 4100 warnings until 8bpp is supported
48945 * source/encoder/threadpool.cpp:
48946 threadpool: further compilation fixes for other platforms
48949 * source/test/intrapredharness.cpp:
48950 intrapredharness: fix shadowed loop variable
48953 * source/test/CMakeLists.txt:
48954 cmake: add new intrapred harness to testbench build
48957 2013-05-04 Min Chen <chenm003@163.com>
48959 * source/test/intrapredharness.cpp, source/test/intrapredharness.h,
48960 source/test/testbench.cpp:
48961 intrapred: testbench
48963 From 990ec815902203bfb954921bac75e1913719e630 Mon Sep 17 00:00:00
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
48973 2013-05-03 Steve Borho <steve@borho.org>
48975 * source/encoder/vec/intrapred.inc:
48976 intrapred: fix one obvious bug, disable DC vec prim for 8bpp until
48980 * source/encoder/IntraPred.cpp:
48981 IntraPred: yes, pixel is an alias for Pel and vice-versa
48984 * source/encoder/CMakeLists.txt:
48985 cmake: add IntraPred.cpp to CPRIMITIVES file list
48988 2013-05-03 Min Chen <chenm003@163.com>
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
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(-)
49021 * source/Lib/TLibCommon/TComPrediction.cpp:
49022 Intra dc prediction own function Conflicts:
49024 source/Lib/TLibCommon/TComPrediction.cpp
49025 --- source/Lib/TLibCommon/TComPrediction.cpp | 61
49026 +++++++++++++++++------------- 1 files changed, 35 insertions(+), 26
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(-)
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(-)
49044 2013-05-03 Steve Borho <steve@borho.org>
49046 * source/test/pixelharness.cpp:
49047 pixelharness: cut down on iterations for measuring x3 and x4 perf
49050 * source/encoder/threadpool.cpp:
49051 threadpool: fixup commit for GCC and later Windows versions
49054 2013-05-03 Min Chen <chenm003@163.com>
49056 * source/encoder/threadpool.cpp:
49057 Fix WinXP compatible
49058 --- source/encoder/threadpool.cpp | 23 +++++++++++++++++++++-- 1
49059 files changed, 21 insertions(+), 2 deletions(-)
49062 2013-05-03 Steve Borho <steve@borho.org>
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
49069 * source/Lib/TLibEncoder/TEncSearch.cpp:
49070 TEncSearch: don't use neighbor MVs as search candidates, merge will
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)
49078 2013-05-02 Steve Borho <steve@borho.org>
49080 * source/Lib/TLibEncoder/TEncSearch.cpp:
49081 TEncSearch: found some predictor MVs
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
49089 Adds a small amount of overhead
49092 * source/encoder/vec/pixel.inc:
49093 pixel: disable satd function completely for 8bpp
49096 * source/Lib/TLibCommon/TComPicYuv.cpp:
49097 TComPicYuv: add TODOs where new performance primitives can be added
49100 * source/Lib/TLibCommon/TComPicYuv.cpp:
49101 TComPicYuv: white-space nits, no effect
49104 * source/Lib/TLibCommon/TComPic.cpp, source/Lib/TLibCommon/TComPic.h:
49105 TComPic: remove unused m_bNeededForOutput
49108 * source/encoder/motion.cpp:
49109 motion: use block copy primitive
49112 * source/CMakeLists.txt:
49113 cmake: the big switch. Make 8bpp the default build configuration
49116 * source/encoder/bitcost.cpp:
49117 bitcost: and another cast
49120 * source/encoder/bitcost.cpp:
49121 bitcost: add back explicit typecasts
49124 2013-05-03 ShinYee Chung <shinyee@multicorewareinc.com>
49126 * source/encoder/bitcost.cpp:
49127 bitcost: Use portable std::min() instead of implicit min().
49130 2013-05-02 Steve Borho <steve@borho.org>
49132 * source/encoder/bitcost.cpp:
49133 bitcost: document more differences between the HM and x264
49137 * source/encoder/bitcost.cpp:
49138 bitcost: use integer min() for MSVC compatibility
49141 2013-05-03 ShinYee Chung <shinyee@multicorewareinc.com>
49143 * source/encoder/bitcost.cpp:
49144 bitcost: Fix segfault due to out of bound accesses to logs table.
49147 * source/input/y4m.cpp:
49148 y4m: Fix -ve PSNR when encoding a y4m file.
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 ]
49156 2013-05-02 ShinYee Chung <shinyee@multicorewareinc.com>
49158 * source/encoder/motion.cpp:
49159 motion: Fix a compile error due to undeclared memcpy().
49162 * source/encoder/motion.cpp, source/encoder/motion.h:
49163 motion: Fix compile warnings/errors due to shadowed variables.
49166 * source/CMakeLists.txt, source/encoder/bitcost.cpp:
49167 bitcost: Fix undeclared min().
49169 The math.h header defines fmin(), and algorithm header defines
49170 std::min(). We decided to use fmin().
49173 2013-05-02 nandaku2 <deepthi@multicorewareinc.com>
49175 * Merged in deepthidevaki/xhevc_deepthid (pull request #111)
49177 Fix compile issue in TComPrediction.cpp with disable primitives.
49180 2013-05-02 Deepthi Devaki <Deepthi Devaki>
49182 * source/Lib/TLibCommon/TComPrediction.cpp:
49183 Fix compile issue in TComPrediction.cpp with disable primitives.
49186 2013-05-02 Mandar Gurav <Mandar Gurav>
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
49193 2013-05-02 Mandar Gurav <mandar@multicorewareinc.com>
49195 * Merged multicoreware/xhevc into default
49198 * source/encoder/InterpolationFilter.cpp:
49199 Merged multicoreware/xhevc into default
49202 2013-05-02 Mandar Gurav <Mandar Gurav>
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.
49208 2013-05-02 Deepthi <Deepthi>
49210 * source/encoder/primitives.cpp:
49211 Compilation fix for primitives disabled
49214 2013-05-02 Deepthi Devaki <Deepthi Devaki>
49216 * source/encoder/CMakeLists.txt:
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
49227 * source/encoder/CMakeLists.txt,
49228 source/encoder/InterpolationFilter.cpp, source/encoder/ipfilter.cpp:
49229 Rename .cpp file with filter-primitives
49232 * source/encoder/InterpolationFilter.cpp,
49233 source/encoder/interpolationfilter.cpp:
49234 Backed out changeset: 2e29f87a6088
49237 * source/encoder/CMakeLists.txt:
49238 Backed out changeset: dd6580ef216e
49241 * source/encoder/CMakeLists.txt:
49242 Renaming interpolationfilter.cpp in CMakeList
49245 * source/encoder/InterpolationFilter.cpp,
49246 source/encoder/interpolationfilter.cpp:
49247 Rename .cpp file containing filter-primitives
49250 2013-05-02 Steve Borho <steve@borho.org>
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
49257 * Merged in praveentiwari/xhevc_praveent (pull request #108)
49259 2.20x more performance gain for partialButterflyInverse16
49262 2013-05-02 praveentiwari <praveentiwari>
49264 * source/encoder/vec/macroblock.inc:
49265 2.20x more performance gain for partialButterflyInverse16
49268 2013-05-02 Mandar Gurav <Mandar Gurav>
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.
49276 2013-05-02 Steve Borho <steve@borho.org>
49278 * source/encoder/motion.cpp, source/encoder/motion.h:
49279 motion: compilation fixes - file still not part of build
49282 2013-05-01 Steve Borho <steve@borho.org>
49284 * source/encoder/vec/pixel8.inc:
49285 pixel8: remove unused satd_4x4 and sa8d_8x8
49288 2013-05-02 Mandar Gurav <Mandar Gurav>
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
49297 2013-05-01 Steve Borho <steve@borho.org>
49299 * source/test/pixelharness.cpp:
49300 pixelharness: increase size of pixel buffers
49303 * source/test/pixelharness.cpp:
49304 pixelharness: test random PU block sizes
49307 * source/encoder/vec/blockcopy.inc, source/test/pixelharness.cpp:
49308 blockcopy: couple of bug fixes, now all but p_s pass with 8bpp
49311 * source/encoder/vec/blockcopy.inc, source/encoder/vec/pixel.inc:
49312 pixel: fix HIGH_BIT_DEPTH=0 build, temp fix
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
49320 * source/encoder/pixel.cpp:
49321 pixel: fixes for block copy C ref
49324 * source/test/pixelharness.cpp:
49325 pixelharness: add block copy perf tests
49328 * source/encoder/pixel.cpp, source/encoder/primitives.h,
49329 source/test/pixelharness.cpp, source/test/pixelharness.h:
49330 primitive: add block copy primitives
49333 * source/test/pixelharness.cpp:
49334 pixelharness: nit white-space
49337 * source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/bitcost.cpp:
49338 bitcost: store logs as fractional values *CHANGES OUTPUTS*
49340 /me dumb. What was the point of storing the output of ceil() in a
49343 This was a small but unambiguous win in compression efficiency
49346 * source/encoder/bitcost.cpp:
49347 bitcost: use just one copy of "acquire" logic
49350 * source/encoder/bitcost.h:
49351 bitcost: nit - reorder methods in order they are typically used
49354 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
49355 bitcost: store cost estimates as 16bits, clamp to max16
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.
49363 * source/encoder/bitcost.h:
49364 bitcost: reorder initializers to make GCC happy
49367 2013-04-30 Steve Borho <steve@borho.org>
49369 * source/encoder/primitives.h:
49370 primitives: avoid redecl of CDECL with GCC
49373 2013-05-01 Steve Borho <steve@borho.org>
49375 * source/encoder/primitives.h:
49376 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #105)
49378 Implementation of sad_4_x3 and sad_12_x3. and sad_x4
49381 2013-05-01 Mandar Gurav <Mandar Gurav>
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
49389 * source/encoder/vec/pixel.inc, source/test/pixelharness.cpp:
49390 Implementation of sad_4_x3 and sad_12_x3.
49393 2013-05-01 Steve Borho <steve@borho.org>
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
49400 Sample encode statistics comparing HM vs x265 mv cost estimates:
49401 (comparing HM vs our HM optimization, not the x264 approach)
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
49406 (mostly noise, but it is different)
49409 * source/encoder/bitcost.cpp, source/encoder/bitcost.h,
49410 source/encoder/primitives.cpp:
49411 bitcost: rename cleanupCosts to destroy
49414 * source/encoder/bitcost.cpp:
49415 bitcost: bring mv costs close in line with HM's methods
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.
49423 2013-05-01 Deepthi <Deepthi>
49428 * source/x265enc.cpp:
49429 The very common sizeof bug.
49432 2013-05-01 Steve Borho <steve@borho.org>
49434 * source/encoder/primitives.cpp:
49435 primitives: free Motion_Cost in x265_cleanup()
49438 2013-04-30 Steve Borho <steve@borho.org>
49440 * source/encoder/bitcost.cpp, source/encoder/bitcost.h:
49441 bitcost: precalculate 2 * log2(n) for each MVD offset
49444 * source/encoder/mv.h:
49445 mv: bug fixes; cannot use word shifts because x or y can be signed
49448 * source/Lib/TLibEncoder/TEncSearch.cpp:
49449 TEncSearch: HM uses different sqrt(lambda) to calculate SAD bitcosts
49452 * source/Lib/TLibEncoder/TEncSearch.cpp:
49453 TEncSearch: comment improvements and white-space nits
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
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
49467 * source/encoder/bitcost.cpp, source/x265.h:
49471 * source/encoder/bitcost.cpp:
49472 bitcost: fix bug caused by bad eye-sight and worse fonts
49475 * source/encoder/primitives.cpp, source/x265.h, source/x265main.cpp:
49476 api: add x265_cleanup() method, to make leak detectors happy
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
49484 * source/Lib/TLibEncoder/TEncCu.cpp, source/encoder/mv.h:
49485 mv: remove getAbsHor|Ver access methods
49488 * source/Lib/TLibCommon/TComDataCU.cpp, source/encoder/mv.h:
49489 mv: move scaleMV method to file static in TComDataCU.cpp
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
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
49501 * source/Lib/TLibCommon/TComTrQuant.cpp:
49502 backout micro optimization in TComTrQuant
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
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)
49514 * source/encoder/mv.h:
49515 mv: fix shadow compile warnings
49518 * source/encoder/vec/macroblock.inc:
49519 Merged in mandarmcw/xhevc_mandar_mahesh (pull request #103)
49521 Implementation of sad_16_x3, sad_32_x3 stage 1
49524 2013-04-30 Mandar Gurav <Mandar Gurav>
49526 * source/Lib/TLibCommon/TComRdCost.cpp,
49527 source/encoder/vec/macroblock.inc:
49528 Revert to xhevc code...
49531 * source/Lib/TLibCommon/TComRdCost.cpp,
49532 source/encoder/vec/macroblock.inc:
49536 * source/encoder/vec/pixel.inc:
49537 Implementation of sad_16_x3, sad_32_x3 stage 2
49540 2013-04-30 Mandar Gurav <mandar@multicorewareinc.com>
49542 * Merged multicoreware/xhevc into default
49545 2013-04-30 Mandar Gurav <Mandar Gurav>
49547 * source/encoder/vec/pixel.inc:
49548 Implementation of sad_16_x3, sad_32_x3 stage 1
49551 2013-04-30 Steve Borho <steve@borho.org>
49553 * source/Lib/TLibEncoder/TEncSearch.cpp:
49554 TEncSearch: white-space nits
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
49562 * source/Lib/TLibCommon/TComTrQuant.cpp:
49563 TComTrQuant: white-space nits
49566 * source/Lib/TLibEncoder/TEncSearch.cpp:
49567 TEncSearch: eoln fixes
49570 * source/encoder/mv.h:
49571 mv: compilation fixes
49574 * source/encoder/motion.cpp:
49575 motion: call x264_cpu_emms() at end of motion search
49581 2013-04-30 Deepthi <Deepthi>
49583 * source/Lib/TLibCommon/TComSlice.h:
49584 Signed/unsigned comparison mismatch
49587 2013-04-30 Deepthi Devaki <Deepthi Devaki>
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
49595 2013-04-30 praveentiwari <praveentiwari>
49597 * source/encoder/vec/macroblock.inc:
49598 Robust logic for clip3 function and multiplication replaced with
49602 * source/encoder/vec/macroblock.inc:
49603 .62X more performance gain for partialButterflyInverse8
49606 2013-04-30 praveen Tiwari <praveen@multicorewareinc.com>
49608 * Merged multicoreware/xhevc into default
49611 * Merged multicoreware/xhevc into default
49614 2013-04-29 praveen Tiwari <praveen@multicorewareinc.com>
49616 * Merged multicoreware/xhevc into default
49619 2013-04-26 praveen Tiwari <praveen@multicorewareinc.com>
49621 * Merged multicoreware/xhevc into default
49624 2013-04-25 praveen Tiwari <praveen@multicorewareinc.com>
49626 * Merged multicoreware/xhevc into default
49629 * Merged multicoreware/xhevc into default
49632 2013-04-24 praveen Tiwari <praveen@multicorewareinc.com>
49634 * source/encoder/vec/macroblock.inc:
49635 Merged multicoreware/xhevc into default
49638 2013-04-30 Deepthi <Deepthi>
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.
49649 * source/Lib/TLibCommon/TComRdCost.h:
49653 * source/Lib/TLibCommon/TComRdCost.cpp,
49654 source/Lib/TLibCommon/TComRdCost.h:
49655 Restructuring TComRdCost to allow for Pel,Short combinations of SSE
49659 2013-04-30 Steve Borho <steve@borho.org>
49661 * source/encoder/vec/pixel.inc:
49662 pixel: disable sad_x3 functions for HIGH_BIT_DEPTH=0
49665 * source/encoder/primitives.cpp, source/encoder/primitives.h:
49666 primitives: nit cleanups
49669 * source/encoder/primitives.h:
49670 Merged in ggopu/ggopu_xhevc (pull request #101)
49672 Removed GetCost() Function
49675 2013-04-29 ggopu <ggopu>
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
49683 2013-04-30 Steve Borho <steve@borho.org>
49685 * Merged in sumalatha/xhevc_sumalatha (pull request #99)
49687 C Level Optimization on xRateDistOptQuant()
49690 2013-04-30 sumalatha <sumalatha>
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.
49699 Also done changes based on steves suggestion
49702 * source/Lib/TLibCommon/CommonDef.h,
49703 source/Lib/TLibCommon/TComTrQuant.cpp:
49704 Backed out changeset: eb3d76f250f8
49707 2013-04-30 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
49709 * source/Lib/TLibCommon/CommonDef.h,
49710 source/Lib/TLibCommon/TComTrQuant.cpp:
49711 Merged multicoreware/xhevc into default
49714 2013-04-29 sumalatha <sumalatha>
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.
49725 2013-04-30 Steve Borho <steve@borho.org>
49727 * Merged in mandarmcw/xhevc_mandar_mahesh (pull request #100)
49729 Incoprporated Steve's comments - stage 2.
49732 2013-04-30 Mandar Gurav <Mandar Gurav>
49734 * source/test/pixelharness.cpp, source/test/pixelharness.h:
49735 Incoprporated Steve's comments - stage 2.
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.
49744 2013-04-30 Mandar Gurav <mandar@multicorewareinc.com>
49746 * source/VectorClass/vectori128.h:
49747 Merged multicoreware/xhevc into default
49750 2013-04-29 Mandar Gurav <Mandar Gurav>
49752 * source/VectorClass/vectori128.h, source/encoder/pixel.cpp,
49753 source/encoder/vec/pixel.inc:
49754 Revert old updates.
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.
49763 2013-04-28 Mandar Gurav <mandar@multicorewareinc.com>
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
49771 2013-04-29 Mandar Gurav <Mandar Gurav>
49773 * source/encoder/vec/pixel.inc, source/test/pixelharness.cpp:
49774 Revert to new xhevc code.
49777 2013-04-23 Mandar Gurav <Mandar Gurav>
49779 * source/VectorClass/vectori128.h:
49780 Vector class library function
49783 * source/encoder/vec/pixel.inc:
49784 Implemented x265_sad16 function into vectorclass librasy.
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.
49793 2013-04-30 Steve Borho <steve@borho.org>
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
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.
49806 2013-04-29 Steve Borho <steve@borho.org>
49808 * source/VectorClass/instrset_detect.cpp:
49809 instrset_detect: workaround on Mac OS X
49812 * source/VectorClass/vectori128.h, source/encoder/vec/CMakeLists.txt:
49813 cmake: isolate warnings disables within vectori128.h with two
49817 * source/test/testbench.cpp:
49818 testbench: mingw_aligned_malloc requires malloc.h
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
49826 * source/CMakeLists.txt:
49827 cmake: add a comment about why we ignore warnings in the CLI files
49830 * source/Lib/TLibEncoder/TEncGOP.cpp:
49831 TEncGOP: provide bool values for Bool arguments
49834 * source/Lib/TLibEncoder/TEncCfg.h:
49835 TEncCfg: fix compiler warning
49838 * source/Lib/TLibCommon/TComSlice.h:
49839 TComSlice: use Bools where appropriate
49842 * source/Lib/TLibCommon/TComPicSym.h:
49843 TComPicSym: fix signed/unsigned mangling in the header
49846 * source/Lib/TAppCommon/program_options_lite.h:
49847 TAppCommon: give classes noimpl copy constructors, makes MSVC happy
49850 * source/CMakeLists.txt:
49851 cmake: move tests above CLI, avoid pulling in disabled warnings
49854 * source/CMakeLists.txt:
49855 cmake: add /wd4800 and /wd4018 to x265main.cpp and x265cfg.cpp
49858 * source/Lib/CMakeLists.txt:
49859 cmake: add back /wd4018 and /wd4800 to HM source files
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
49866 * source/Lib/TLibCommon/CommonDef.h:
49867 Remove warnings disables from CommonDef.h, will add back with more
49870 These were leaking into the encoder/ folder where we want our new
49871 code to be warning free.
49874 2013-04-29 ShinYee Chung <shinyee@multicorewareinc.com>
49876 * source/encoder/TShortYUV.cpp:
49877 shortyuv: Fix compile warnings/errors due to comparing signed and
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++)
49887 2013-04-29 Deepthi <Deepthi>
49889 * source/Lib/TLibEncoder/TEncSearch.cpp:
49890 Quick Fix for compilation errors in TEncSearch::xEstimateResidualQT.
49891 This has to be re-architected asap.
49894 * source/Lib/TLibCommon/TComTrQuant.cpp,
49895 source/Lib/TLibEncoder/TEncCu.cpp,
49896 source/Lib/TLibEncoder/TEncSearch.cpp, source/encoder/TShortYUV.h:
49900 * source/Lib/TLibCommon/TComYuv.cpp, source/Lib/TLibCommon/TComYuv.h:
49901 One more function for TComYuv
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?
49910 * source/Lib/TLibCommon/TComYuv.cpp:
49911 Changes in TComYuv class
49914 * source/Lib/TLibCommon/TComTrQuant.cpp,
49915 source/Lib/TLibCommon/TComTrQuant.h:
49916 Pel to Short changes in TComTrQuant
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.
49924 2013-04-28 Deepthi <Deepthi>
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.
49934 2013-04-27 Deepthi <Deepthi>
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.
49942 2013-04-29 ShinYee Chung <shinyee@multicorewareinc.com>
49944 * source/test/testharness.h:
49945 test: Fix compile error due to undefined size_t.
49948 * source/Lib/TLibCommon/CommonDef.h:
49949 HM/Common: Fix the undefined aligned memory allocation function.
49952 2013-04-28 Steve Borho <steve@borho.org>
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
49959 * source/CMakeLists.txt, source/test/CMakeLists.txt:
49960 cmake: define PLATFORM_LIBS in main cmake file, use for x265-cli
49963 * source/Lib/TLibCommon/CommonDef.h:
49964 aligned_malloc() needs stdlib.h
49967 * source/encoder/threadpool.cpp:
49968 threadpool: use _BitScanReverse64() instead of __lzcnt64()
49970 All variants of __lzcnt() fail to work correctly on Intel CPUs, with
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
49980 2013-04-27 Steve Borho <steve@borho.org>
49982 * source/Lib/TLibCommon/TComRdCost.h,
49983 source/Lib/TLibEncoder/TEncSearch.cpp:
49984 rename GetsadFunctions to getSadFunctions()
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,
49991 api: improvements to C API, make encoder auto-setup primitives and
49994 Remove m_FrameSkip and m_framesToBeEncoded from the public params
49997 * source/Lib/TLibEncoder/TEncCu.cpp:
49998 nits, no logic changes
50001 * source/Lib/TLibEncoder/TEncCu.cpp,
50002 source/Lib/TLibEncoder/TEncSearch.cpp:
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
50014 * source/x265.h, source/x265cfg.cpp, source/x265cfg.h:
50015 x265: for public API, only internal bitdepth is configurable
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.
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
50026 * source/encoder/CMakeLists.txt:
50027 cmake: add x265.h to libx265 project
50030 * source/Lib/TLibCommon/TComTrQuant.cpp:
50034 * source/Lib/TLibCommon/TComRdCost.cpp:
50035 TComRdCost: micro optimizations, more for clarity than anything else
50038 * source/CMakeLists.txt, source/Lib/TLibCommon/TypeDef.h:
50039 cmake: define HIGH_BIT_DEPTH to 0 for 8bpp
50042 * source/encoder/TShortYUV.h:
50043 tshortyuv: white-space nits
50046 * source/encoder/TShortYUV.h:
50047 tshortyuv: forward slashes for includes
50050 2013-04-27 Deepthi <Deepthi>
50052 * source/Lib/TLibEncoder/TEncSearch.cpp:
50053 Chroma fixes for Pixel=UShort; Bitrate issues sorted out, bit
50054 mismatch issues with Pixel=Short
50057 * source/Lib/TLibCommon/TComTrQuant.cpp,
50058 source/Lib/TLibEncoder/TEncSearch.cpp:
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).
50067 2013-04-26 Deepthi <Deepthi>
50069 * source/encoder/TShortYUV.h:
50070 Adding more member functions to TShortYUV
50073 2013-04-26 Steve Borho <steve@borho.org>
50075 * source/Lib/TLibCommon/TComRdCost.cpp:
50076 shift SAD result from TComRdCost::getSADPart() rather than each diff
50079 * source/Lib/TLibCommon/TComRdCost.cpp:
50080 remove partition size check from TComRdCost::getSADPart()
50083 * source/Lib/TLibCommon/TypeDef.h:
50084 remove unused Pxl type
50087 * source/Lib/TLibCommon/TypeDef.h:
50088 clean up white-space alignment in TypeDef.h
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
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
50110 * source/test/mbdstharness.cpp:
50114 * source/encoder/x86/CMakeLists.txt:
50115 cmake: tell gcc not to sqawk about empty ASM setup function
50118 * source/Lib/TLibCommon/CommonDef.h,
50119 source/Lib/TLibCommon/TComTrQuant.cpp:
50120 improve portability of alignment macros
50123 * source/Lib/TLibCommon/TComTrQuant.cpp,
50124 source/Lib/TLibCommon/TypeDef.h:
50125 remove MATRIX_MULT #define, it will always be 0
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
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
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
50158 * source/Lib/TLibCommon/TypeDef.h,
50159 source/Lib/TLibEncoder/TEncCavlc.cpp:
50160 remove L0372 #define, it will always be 1
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
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
50174 * source/Lib/TLibCommon/TypeDef.h,
50175 source/Lib/TLibEncoder/TEncCavlc.cpp:
50176 remove L0363_BYTE_ALIGN #define, it will always be 1
50179 * source/Lib/TLibCommon/TComDataCU.cpp:
50180 fix eoln damage in TComDataCU.cpp
50183 * source/Lib/TLibCommon/TComDataCU.cpp,
50184 source/Lib/TLibCommon/TypeDef.h:
50185 remove L0363_MVP_POC #define, it will always be 1
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
50197 * source/Lib/TLibCommon/TypeDef.h,
50198 source/Lib/TLibEncoder/TEncCavlc.cpp:
50199 remove L0043_MSS_IDC, L0116_ENTRY_POINT #defines, they will always
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
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
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
50221 * source/Lib/TLibCommon/TypeDef.h:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
50333 * source/Lib/TLibEncoder/TEncSearch.cpp:
50334 uncrustify: cleanup TEncSearch.cpp after AMP_MRG define removal
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
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
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
50356 * source/encoder/x86/asm-primitives.cpp:
50357 asm: disable assembly; was causing stack corruption in debug runs
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
50364 * source/test/CMakeLists.txt:
50365 cmake: add primitive defines to test folder
50368 2013-04-27 ShinYee Chung <shinyee@multicorewareinc.com>
50370 * source/encoder/TShortYUV.cpp:
50371 shortyuv: Fix the '\' in an #include.
50373 Use '/' instead for compatibility with Windows and Linux.
50376 2013-04-26 Steve Borho <steve@borho.org>
50378 * source/Lib/TLibEncoder/TEncSearch.cpp,
50379 source/encoder/primitives.cpp, source/encoder/primitives.h:
50380 primitive: remove FastHeight(), use same logic with/without
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()
50388 2013-04-26 nandaku2 <deepthi@multicorewareinc.com>
50390 * Merged in deepthidevaki/xhevc_deepthid (pull request #94)
50392 Modified FIlter vec primitives
50395 2013-04-26 Deepthi Devaki <Deepthi Devaki>
50397 * source/encoder/vec/interpolationfilter.inc:
50398 Modified Filter vec primitives
50401 * source/test/ipfilterharness.cpp:
50402 Fix errors in IPfilterharness
50405 2013-04-26 Deepthi <Deepthi>
50407 * source/encoder/CMakeLists.txt:
50411 * source/encoder/TShortYUV.cpp, source/encoder/TShortYUV.h:
50412 Formatting the TShortYUV class.
50415 * source/Lib/TLibCommon/TComPrediction.h,
50416 source/encoder/CMakeLists.txt, source/encoder/TShortYUV.cpp,
50417 source/encoder/TShortYUV.h:
50418 Introducing TShortYUV formally
50421 2013-04-26 Deepthi Devaki <Deepthi Devaki>
50423 * source/encoder/vec/interpolationfilter.inc,
50424 source/test/ipfilterharness.cpp:
50425 FilterConvert - vec primitives
50428 * source/encoder/InterpolationFilter.cpp,
50429 source/encoder/vec/interpolationfilter.inc:
50430 Vectorized FilterHorizontal-pel-pel and pel_short
50436 * source/test/ipfilterharness.cpp:
50437 Changes to ipfilterharness.cpp
50440 2013-04-25 Deepthi Devaki <Deepthi Devaki>
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
50449 2013-04-26 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50451 * Merged multicoreware/xhevc into default
50454 2013-04-25 Deepthi Devaki <Deepthi Devaki>
50456 * source/encoder/InterpolationFilter.cpp:
50457 Typecast result val to pel.
50460 2013-04-25 Steve Borho <steve@borho.org>
50462 * source/x265cfg.cpp:
50463 x265: output string nit
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
50471 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
50472 cmake: make vector and asm build flags local to encoder/ folder
50474 Toggling the ASM or vector primitives should not require the HM
50475 library to be rebuilt.
50478 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
50479 cmake: move VectorClass include path within encoder/ folder
50482 * source/CMakeLists.txt:
50483 cmake: remove getopt from build; leave files in place for potential
50487 * source/CMakeLists.txt, source/Lib/CMakeLists.txt:
50488 cmake: move program_options_lite out of HM lib and into CLI project
50491 * source/encoder/primitives.cpp:
50492 primitives: turn partition checks into asserts; we expect success
50495 * source/x265main.cpp:
50496 main: nits in output header
50499 * source/encoder/vec/pixel.inc:
50500 pixel: add vector width/height 12 SAD functions
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
50508 * source/encoder/vec/pixel.inc:
50509 pixel: add vector width/height 24 SAD functions
50512 * source/test/pixelharness.cpp:
50513 pixelharness: fix up partition name strings
50516 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
50517 source/encoder/primitives.h:
50518 pixel: add support for width/height of 24
50521 * source/encoder/pixel.cpp:
50522 pixel: reorder C refs to match enums, add missing 64 sized SATD
50525 Intra will not use 64 sized partitions, but sub-pel inter might. I'm
50526 surprised this didn't break uterly before?
50529 * source/Lib/TLibEncoder/TEncSearch.cpp:
50533 * source/Lib/TLibEncoder/TEncSearch.cpp:
50534 search: do not use iSubShift if it would result in slow path
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
50542 * source/encoder/primitives.cpp, source/encoder/primitives.h:
50543 primitives: add a FastHeight() method to give early warnings of slow
50547 * source/encoder/primitives.cpp:
50548 primitives: simplify PartitionFromSizes()
50551 * source/encoder/primitives.h:
50552 primitives: add macros for 32byte aligment
50555 * source/encoder/primitives.h:
50556 primitives: re-order enums so partitions with the same width are
50560 * source/Lib/TLibEncoder/TEncSearch.cpp,
50561 source/encoder/primitives.cpp:
50562 Merged in deepthidevaki/xhevc_deepthid (pull request #92)
50564 Call Filter Primitives from SamplingQ, SamplingH
50567 2013-04-25 Deepthi Devaki <Deepthi Devaki>
50569 * source/Lib/TLibEncoder/TEncSearch.cpp:
50570 Add filter Primitives call in SamplingQ
50573 * source/Lib/TLibEncoder/TEncSearch.cpp:
50574 Add Filter Primitives call in SamplingQ
50577 * source/encoder/InterpolationFilter.cpp:
50578 Remove assert from filters
50581 * source/Lib/TLibEncoder/TEncSearch.cpp:
50582 Call Filter Primitives from SamplingQ, SamplingH
50585 * source/Lib/TLibEncoder/TEncSearch.cpp,
50586 source/encoder/InterpolationFilter.h:
50590 * source/encoder/InterpolationFilter.cpp,
50591 source/test/ipfilterharness.cpp:
50592 Fix unused variables.
50595 2013-04-25 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50597 * Merged multicoreware/xhevc into default
50600 2013-04-25 Deepthi Devaki <Deepthi Devaki>
50602 * source/test/ipfilterharness.cpp:
50603 Add limits.h to IPFilterHarness.
50606 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
50607 source/test/CMakeLists.txt:
50608 Filter c primitives - add to Cmake and primitives.cpp
50611 2013-04-25 Steve Borho <steve@borho.org>
50613 * source/Lib/TLibEncoder/TEncSearch.cpp:
50614 Merged in ggopu/gopu_xhevc (pull request #89)
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
50621 2013-04-25 ggopu <ggopu>
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
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
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
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
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
50661 2013-04-24 Gopu G <gopu@multicorewareinc.com>
50663 * Merged multicoreware/xhevc into default
50666 * Merged multicoreware/xhevc into default
50669 2013-04-23 Gopu G <gopu@multicorewareinc.com>
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
50679 2013-04-22 Gopu G <gopu@multicorewareinc.com>
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
50687 2013-04-25 nandaku2 <deepthi@multicorewareinc.com>
50689 * Merged in deepthidevaki/xhevc_deepthid (pull request #91)
50691 Added new IPFilter function pointers. Added TestSuite for new
50692 IPFilter primitives.
50695 2013-04-25 Deepthi Devaki <Deepthi Devaki>
50697 * source/encoder/InterpolationFilter.cpp:
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.
50707 2013-04-25 Deepthi <Deepthi>
50709 * source/Lib/TLibEncoder/TEncSearch.cpp:
50713 * source/Lib/TLibCommon/TComPrediction.cpp:
50714 Random data type changes
50717 * source/Lib/TLibEncoder/TEncSearch.cpp:
50718 Correct typecasts in IFSamplingQ and H
50721 * cfg/encoder_I_15P.cfg:
50725 2013-04-25 Deepthi Devaki <Deepthi Devaki>
50727 * source/encoder/CMakeLists.txt:
50728 Add InterpolationFilter.cpp to CMakeList
50731 * source/encoder/InterpolationFilter.cpp,
50732 source/encoder/InterpolationFilter.h:
50733 Changes to filter (fixing merge conflict)
50736 2013-04-25 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50738 * source/encoder/InterpolationFilter.h:
50739 Merged multicoreware/xhevc into default
50742 2013-04-25 Deepthi Devaki <Deepthi Devaki>
50744 * source/encoder/InterpolationFilter.h:
50745 Backed out changeset: cc54b45a0eac
50748 2013-04-24 Deepthi Devaki <Deepthi Devaki>
50750 * source/encoder/InterpolationFilter.cpp,
50751 source/encoder/InterpolationFilter.h:
50752 added filterVertical_pel_pel
50755 * source/encoder/InterpolationFilter.cpp,
50756 source/encoder/InterpolationFilter.h:
50757 Split interpolationfilter.h and .cpp
50760 * source/encoder/InterpolationFilter.h:
50761 Removed copying coeff to temporary array
50764 * source/Lib/TLibEncoder/TEncSearch.cpp,
50765 source/encoder/InterpolationFilter.h:
50766 modified filter assuming bitDepth is always 8
50769 * source/encoder/InterpolationFilter.h:
50770 Removed filterVertical_pel_pel.
50773 * source/encoder/InterpolationFilter.h:
50774 Add memcpy in filterCopy
50777 * source/Lib/TLibEncoder/TEncSearch.cpp,
50778 source/encoder/InterpolationFilter.h:
50779 Eliminated redundant operations in filter
50782 2013-04-24 Steve Borho <steve@borho.org>
50784 * source/encoder/vec/macroblock.inc:
50785 Merged in praveentiwari/xhevc_praveent (pull request #87)
50787 Vector code for partialButterflyInverse32
50790 2013-04-24 praveentiwari <praveentiwari>
50792 * source/Lib/TLibCommon/TComTrQuant.cpp,
50793 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
50794 vector code for partialButterflyInverse32
50797 2013-04-24 praveen Tiwari <praveen@multicorewareinc.com>
50799 * Merged multicoreware/xhevc into default
50802 2013-04-24 praveentiwari <praveentiwari>
50804 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
50805 Test code for partialButterflyInverse32
50808 2013-04-24 ShinYee Chung <shinyee@multicorewareinc.com>
50810 * source/encoder/InterpolationFilter.h:
50811 Interpolation: Fix unused variable in the horizontal filter.
50814 2013-04-24 Steve Borho <steve@borho.org>
50816 * source/encoder/InterpolationFilter.h:
50817 fix build on Linux, always use forward slashes in includes
50820 2013-04-24 Deepthi <Deepthi>
50825 * source/Lib/TLibCommon/TComYuv.cpp:
50826 Static_casts in TComYuv
50829 2013-04-24 Deepthi Devaki <Deepthi Devaki>
50831 * source/Lib/TLibEncoder/TEncSearch.cpp:
50832 Fixed case mismatch in include
50835 2013-04-24 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50837 * source/Lib/TLibEncoder/TEncSearch.cpp:
50838 Merged multicoreware/xhevc into default
50841 2013-04-24 Deepthi Devaki <Deepthi Devaki>
50843 * source/encoder/InterpolationFilter.h:
50844 Added InterpolationFilter.h
50847 * source/encoder/interpolationFilter.h:
50848 removed interpolationFilter.h
50851 * source/Lib/TLibEncoder/TEncSearch.cpp,
50852 source/encoder/CMakeLists.txt, source/encoder/interpolationFilter.h:
50853 Fixed data types of srcPtr,dstPtr and intPtr.
50856 2013-04-23 Deepthi Devaki <Deepthi Devaki>
50858 * source/Lib/TLibEncoder/TEncSearch.cpp:
50859 Changed typecasting to Pel.
50862 * source/Lib/TLibEncoder/TEncSearch.cpp:
50863 Modified call to Filters based on input/ouput data type
50866 * source/encoder/CMakeLists.txt, source/encoder/interpolationFilter.h:
50867 Added new filter functions for different datatypes(Pel or short) for
50871 2013-04-23 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
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
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
50888 2013-04-23 Deepthi Devaki <Deepthi Devaki>
50890 * source/encoder/vec/macroblock.inc:
50891 fix the merge conflicts
50894 2013-04-19 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
50896 * Merged multicoreware/xhevc into default
50899 2013-04-24 Deepthi <Deepthi>
50904 2013-04-23 Deepthi <Deepthi>
50906 * source/Lib/TLibEncoder/TEncSearch.cpp:
50907 More static_cast in IntraCoding
50913 * source/Lib/TLibEncoder/TEncSearch.cpp:
50914 static_casts in IntraCoding
50917 * source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp:
50918 Change to short to prevent infinite loop
50921 2013-04-23 Steve Borho <steve@borho.org>
50923 * source/x265enc.cpp:
50924 x265enc: check return status of input.readPicture()
50927 * source/input/y4m.cpp:
50928 input: further y4m reading fixes
50931 * source/input/y4m.cpp:
50932 input: declare header as char[] so sizeof works correctly
50935 2013-04-23 ShinYee Chung <shinyee@multicorewareinc.com>
50937 * source/encoder/md5.cpp:
50938 md5: Fix incorrect memory reset on MD5 context structure.
50941 2013-04-23 Steve Borho <steve@borho.org>
50943 * source/test/testbench.cpp:
50944 testbench: report bit depth in testbench output log
50947 * source/encoder/vec/pixel.inc:
50948 pixel: refactor pixel templates, optimizations mostly for 8bpp, see
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
50967 * source/VectorClass/vectori128.h:
50968 vec: add two methods to Vec16uc that are handy for pixelcmp
50971 * source/x265cfg.cpp:
50972 x265cfg: more HIGH_BIT_DEPTH fixes
50975 * source/VectorClass/vectori128.h:
50976 vec: fix eoln in vectori128.h
50979 * source/PPA/ppaCPUEvents.h, source/output/y4m.cpp,
50980 source/output/yuv.cpp:
50981 ppa: add profile events for file write
50984 * source/input/input.h, source/input/y4m.h, source/output/y4m.cpp:
50985 nit: prune unnecessary includes
50988 * source/encoder/md5.cpp, source/encoder/md5.h:
50989 nit: hide internal function
50992 * source/encoder/threadpool.cpp, source/test/testpool.cpp:
50993 threadpool: fix 32bit Windows __lzcnt_2x32
50996 * doc/uncrustify/codingstyle.cfg:
50997 uncrustify: comment two lines that triggered warnings
51000 * source/Lib/TLibCommon/CommonDef.h,
51001 source/Lib/TLibEncoder/TEncGOP.cpp:
51002 take HM updates up to 10.1rc
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
51010 * source/output/yuv.cpp, source/output/yuv.h:
51011 output: use ofstream for yuv
51014 * source/output/y4m.cpp, source/output/y4m.h:
51015 output: use ofstream for y4m
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
51023 * source/x265enc.cpp:
51024 we must initialize the fields which have been deprecated from config
51027 * source/x265cfg.cpp:
51028 use estimated frame count
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
51036 Prevent double-close of YUV file handle
51039 * source/x265cfg.h:
51043 * source/x265cfg.cpp, source/x265cfg.h, source/x265enc.cpp:
51044 cli: make bit depth arguments go away when HIGH_BIT_DEPTH=0,
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
51054 * source/encoder/x86/asm-primitives.cpp:
51055 asm-primitives: use #if 0 rather than comments
51058 * source/encoder/vec/pixel.inc:
51059 pixel: add separate implementations for 8bit pixels
51061 the current 8bit versions are sub-optimal. Needs psadbw
51064 * source/encoder/pixel.cpp:
51065 pixel: remove old TODO comment
51068 2013-04-23 nandaku2 <deepthi@multicorewareinc.com>
51070 * Merged in praveentiwari/xhevc_praveent (pull request #84)
51072 Vector code for partialButterflyInverse16
51075 2013-04-23 praveentiwari <praveentiwari>
51077 * source/Lib/TLibCommon/TComTrQuant.cpp,
51078 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51079 Vector code for partialButterflyInverse16
51082 2013-04-23 praveen Tiwari <praveen@multicorewareinc.com>
51084 * Merged multicoreware/xhevc into default
51087 * Merged multicoreware/xhevc into default
51090 * Merged multicoreware/xhevc into default
51093 2013-04-23 praveentiwari <praveentiwari>
51095 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51096 Testcode for partialButterflyInverse16
51099 2013-04-23 praveen Tiwari <praveen@multicorewareinc.com>
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
51109 2013-04-23 praveentiwari <praveentiwari>
51111 * source/encoder/vec/macroblock.inc:
51112 Robust alternative logic for Clip3
51115 2013-04-23 nandaku2 <deepthi@multicorewareinc.com>
51117 * Merged in ggopu/gopu_xhevc (pull request #83)
51119 Enhanced the Regression suite and added Regression suite for Mingw
51123 2013-04-22 ggopu <ggopu>
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
51132 2013-04-23 Deepthi <Deepthi>
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:
51142 * source/Lib/TLibCommon/TComPrediction.cpp:
51143 more precision related static casts in prediction.
51146 * source/Lib/TLibCommon/TComLoopFilter.cpp:
51147 Deblocking Filter made type safe
51150 2013-04-23 Steve Borho <steve@borho.org>
51152 * source/output/y4m.cpp:
51153 output: simplify frame header generation
51156 * source/output/yuv.cpp:
51157 output: handle 16bit YUV output files correctly
51161 hg: ignore y4m files
51164 2013-04-23 Deepthi <Deepthi>
51166 * source/Lib/TLibCommon/TComLoopFilter.cpp:
51167 static_cast to remove precision loss in loop filter (during Pel type
51171 2013-04-23 Steve Borho <steve@borho.org>
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
51178 2013-04-22 Steve Borho <steve@borho.org>
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
51193 2013-04-23 Steve Borho <steve@borho.org>
51195 * source/Lib/TLibCommon/TComSlice.cpp,
51196 source/Lib/TLibEncoder/TEncCavlc.cpp:
51197 remove unicode chars from HM source
51200 * source/test/timer.cpp:
51201 testbench: re-add EMMS calls to timer funcs, for x86 builds
51203 Apparently uint64_t somehow involves the same hardware registers as
51207 2013-04-22 Steve Borho <steve@borho.org>
51209 * source/test/timer.cpp:
51210 testbench: fix timer behavior on Linux
51213 * source/test/CMakeLists.txt, source/test/timer.cpp:
51214 testbench: fix Linux compile
51217 * source/test/CMakeLists.txt:
51218 cmake: the test bench apps no long need to link with the HM libs
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
51227 * source/x265main.cpp:
51228 fix eoln damage to x265main.cpp
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
51239 * source/input/y4m.cpp, source/input/yuv.cpp, source/x265enc.cpp:
51240 move file read PPA events inside the file read classes
51243 * source/x265cfg.cpp:
51244 nit cleanups in x265cfg.cpp
51247 * source/x265main.cpp:
51248 use correct data type for clock() output
51251 * source/x265cfg.cpp, source/x265cfg.h, source/x265main.cpp:
51252 move some bits out of x265main into their proper locations
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
51261 * source/Lib/TLibCommon/TComPicYuv.cpp:
51262 fix eoln of TComPicYuv::copyFromPicture
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
51273 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
51274 prune unnecessary Input class methods
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
51282 * source/input/input.h, source/input/y4m.cpp:
51283 input: remove include of internal header
51286 * cfg/encoder_I_15P.cfg, cfg/encoder_all_I.cfg:
51287 remove ScalingListFile from config files
51289 It was never implemented, and we're unlikely to add it
51292 * source/Lib/TLibEncoder/TEncCu.cpp:
51293 white-space tweak to TEncCu.cpp
51296 * source/input/input.h, source/input/y4m.h, source/input/yuv.h:
51301 hg: ignore test run remnants
51304 2013-04-21 Steve Borho <steve@borho.org>
51306 * source/CMakeLists.txt:
51307 cmake: set -D_CRT_NONSTDC_NO_DEPRECATE on x265cfg.cpp
51310 * source/Lib/TLibEncoder/TEncCfg.h:
51311 TEncCfg: minor white-space cleanups
51314 2013-04-22 nandaku2 <deepthi@multicorewareinc.com>
51316 * Merged in praveentiwari/xhevc_praveent (pull request #82)
51318 Vectorized code for partialButterflyInverse8
51321 2013-04-22 praveentiwari <praveentiwari>
51323 * source/Lib/TLibCommon/TComTrQuant.cpp,
51324 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51325 Vectorized code for partialButterflyInverse8
51328 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51329 Test code for partialButterflyInverse8
51332 2013-04-22 praveen Tiwari <praveen@multicorewareinc.com>
51334 * Merged multicoreware/xhevc into default
51337 2013-04-22 praveentiwari <praveentiwari>
51339 * source/Lib/TLibCommon/TComTrQuant.cpp,
51340 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51341 Vectorized code for partialButterflyInverse4
51344 * source/Lib/TLibCommon/TComTrQuant.cpp,
51345 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51346 Vectorized code for partialButterfly8
51349 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51350 Test code for partialButterflyInverse4
51353 2013-04-22 Deepthi <Deepthi>
51355 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp,
51356 source/Lib/TLibVideoIO/TVideoIOYuv.cpp:
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.
51367 * source/Lib/TLibCommon/TComPrediction.h:
51371 2013-04-21 Deepthi <Deepthi>
51373 * source/Lib/TLibCommon/TComPrediction.h:
51377 2013-04-21 Steve Borho <steve@borho.org>
51379 * source/x265cfg.h:
51380 eoln fixes for x265cfg.h
51383 * source/cmake/version.cmake:
51384 cmake: print detected xhevc version
51387 * source/x265cfg.h:
51388 reintrodude old TVideIO classes, short term fix
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
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
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
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
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
51473 * source/Lib/TLibCommon/ContextModel.h, source/Lib/TLibCommon/SEI.h,
51474 source/Lib/TLibCommon/TComBitStream.h, source/x265cfg.h:
51475 apply uncrustify tweak
51478 * doc/uncrustify/codingstyle.cfg:
51479 uncrustify: yet another tweak
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
51498 * cfg/encoder_I_15P.cfg, source/Lib/encoder.cpp, source/x265cfg.cpp,
51500 partial check-in of HM bug fixes - hand tweaking of large table
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
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.
51566 * doc/uncrustify/codingstyle.cfg:
51567 uncrustify: more tweaks to style setting
51570 * doc/uncrustify/apply-to-all-source.py,
51571 doc/uncrustify/codingstyle.cfg, doc/uncrustify/uncrustify.exe:
51572 uncrustify: update uncrustify executable
51575 * source/encoder/x86/asm-primitives.cpp:
51576 asm: disable SAD assembly to get back to bit-exact outputs
51578 Perhaps a data alignment problem, or arguments in the wrong order
51585 2013-04-21 Deepthi <Deepthi>
51587 * source/Lib/TLibCommon/TComPrediction.cpp,
51588 source/Lib/TLibCommon/TComPrediction.h:
51589 Cleanups; remove TComYUV structure.
51592 * source/Lib/TLibEncoder/TEncSearch.cpp:
51593 Replace TComYUV class by TShortYUV
51596 * source/Lib/TLibCommon/TComPrediction.h:
51597 More members functions added to TShortYUV
51600 * source/Lib/TLibCommon/TComPrediction.cpp,
51601 source/Lib/TLibCommon/TComPrediction.h:
51602 Create and destroy filteredTmp class
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.
51610 2013-04-20 Steve Borho <steve@borho.org>
51612 * source/encoder/macroblock.cpp:
51613 cleanup some unfortunate uncrustify expression reflows
51616 2013-04-20 Mandar Gurav <Mandar Gurav>
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
51626 2013-04-20 Deepthi <Deepthi>
51628 * source/Lib/TLibCommon/TComPrediction.cpp:
51629 Changing the intermediate filtering output to short-lived heap
51630 memory (type short).
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:
51639 2013-04-19 Mandar Gurav <Mandar Gurav>
51641 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51642 Filter Horizontal vectorization stage 2
51645 2013-04-19 Mandar Gurav <mandar@multicorewareinc.com>
51647 * Merged multicoreware/xhevc into default
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
51656 * source/encoder/macroblock.cpp:
51657 Merged multicoreware/xhevc into default
51660 2013-04-17 Mandar Gurav <mandar@multicorewareinc.com>
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
51668 2013-04-18 Mandar Gurav <Mandar Gurav>
51670 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
51671 Copy file directly from xhevc.
51674 2013-04-17 Mandar Gurav <mandar@multicorewareinc.com>
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
51683 2013-04-17 Mandar Gurav <Mandar Gurav>
51685 * source/encoder/primitives.h:
51686 Move to Xhevc source stage 2
51689 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc,
51690 source/test/filterharness.cpp:
51691 Move to latest xhevc source
51694 * source/encoder/macroblock.cpp:
51698 * source/encoder/macroblock.cpp:
51699 Copy file directly from xHEVC
51702 2013-04-16 Mandar Gurav <Mandar Gurav>
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
51710 2013-04-20 Deepthi <Deepthi>
51712 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
51713 source/encoder/vec/macroblock.inc:
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
51726 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
51727 source/Lib/TLibCommon/TComInterpolationFilter.h:
51728 Changing all filter interpolation functions to accept Short
51732 2013-04-19 Steve Borho <steve@borho.org>
51734 * source/encoder/x86/CMakeLists.txt:
51735 cmake: use .obj extension for ASM compilation outputs, makes VS
51739 * source/CMakeLists.txt:
51740 cmake: enable /Oi flag globally for Visual Studio
51742 This makes the test bench run faster compiled with VS than with GCC
51745 * source/Lib/TLibCommon/TComRdCost.cpp,
51746 source/Lib/TLibEncoder/TEncSearch.cpp:
51747 add x264_cpu_emms() in some likely locations
51750 * source/encoder/x86/asm-primitives.cpp:
51751 asm: disable many of the sa8d_8x8 functions, they are causing
51754 (perhaps misalingment related, don't know. this will have to be
51758 * source/encoder/x86/asm-primitives.cpp:
51759 asm: enable many more primitives, leave bunches disabled
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
51766 * source/test/pixelharness.cpp:
51767 pixelharness: tweak print statements to show progress more clearly
51770 * source/encoder/x86/CMakeLists.txt:
51771 cmake: pass ARCH_X86_64 flag to asm-primitives.cpp
51774 * source/encoder/vec/pixel.inc:
51775 pixel: add a 16x4 satd vector primitive
51778 * source/encoder/pixel.cpp:
51779 pixel: fix larger dimension satd C primitives, using simple template
51782 * source/encoder/x86/CMakeLists.txt, source/encoder/x86/sad-a.asm:
51783 cmake: add x264's sad-a.asm for more SAD functions
51786 * source/encoder/x86/CMakeLists.txt:
51787 cmake: fix linking of assembly code with MSVC x86
51790 * source/encoder/x86/asm-primitives.cpp:
51791 asm-primitives: repair EOLN
51794 * source/input/yuv.cpp:
51795 yuv: fix MSVC x86 compiler warning
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
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
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.
51814 linking the assembly with MSVC seems clearly broken
51817 * source/Lib/TLibCommon/TComTrQuant.cpp,
51818 source/Lib/TLibVideoIO/TVideoIOY4m.h:
51819 EOLN repair in HM files
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
51829 * source/test/timer.cpp:
51830 timer: issue EMMS before attempting any floating point math
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
51838 * source/input/y4m.cpp:
51839 input: fix GCC build
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
51846 fread returns the count of elements read. The file reader should
51847 know nothing about margins.
51850 * source/input/y4m.cpp, source/input/yuv.cpp:
51851 input: fix compile warnings
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
51859 2013-04-18 Steve Borho <steve@borho.org>
51861 * source/encoder/macroblock.cpp:
51862 macroblock: move warning disable to top of file, remove dups
51865 2013-04-19 Steve Borho <steve@borho.org>
51867 * Merged in praveentiwari/xhevc_praveent (pull request #78)
51869 Vectorized code for partialButterfly32
51872 2013-04-19 praveentiwari <praveentiwari>
51874 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51875 Test code of partialButterfly8
51878 2013-04-19 praveen Tiwari <praveen@multicorewareinc.com>
51880 * source/Lib/TLibCommon/TComTrQuant.cpp:
51881 Merged multicoreware/xhevc into default
51884 * source/encoder/vec/macroblock.inc:
51885 Merged multicoreware/xhevc into default
51888 * source/encoder/vec/macroblock.inc:
51889 Merged multicoreware/xhevc into default
51892 2013-04-19 praveentiwari <praveentiwari>
51894 * source/Lib/TLibCommon/TComTrQuant.cpp,
51895 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
51896 Vectorized code for partialButterfly32
51899 2013-04-19 Steve Borho <steve@borho.org>
51904 2013-04-19 Deepthi <Deepthi>
51906 * source/Lib/TLibCommon/TComTrQuant.cpp:
51907 Changing 16-bit hard coded memory copy in TComTrQuant::xT
51910 * source/Lib/TLibCommon/TComTrQuant.cpp:
51911 Changing 16-bit hard coded memory copy in TComTrQuant::xIT
51914 2013-04-19 Deepthi Devaki <Deepthi Devaki>
51916 * source/encoder/vec/macroblock.inc:
51917 Fix build issue in macroblock.inc with Mingw, Msys
51920 2013-04-19 Deepthi <Deepthi>
51922 * source/encoder/vec/macroblock.inc:
51926 2013-04-19 Deepthi Devaki <Deepthi Devaki>
51928 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
51929 Vertical Filter - vector primitive with 32 bit operations.
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.
51937 2013-04-19 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
51939 * source/encoder/macroblock.cpp:
51940 Merged multicoreware/xhevc into default
51943 2013-04-19 Deepthi Devaki <Deepthi Devaki>
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
51951 2013-04-18 Rajesh <Rajesh>
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].
51960 2013-04-19 praveentiwari <praveentiwari>
51962 * source/test/mbdstharness.cpp, source/test/mbdstharness.h:
51963 Test code for partialButterfly32
51966 2013-04-18 Steve Borho <steve@borho.org>
51968 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
51969 cmake: move CPRIMITIVES variable creation into
51970 source/encoder/CMakeLists.txt
51973 * source/encoder/CMakeLists.txt:
51974 cmake: document the reason for the -march-i686 flag
51977 * source/encoder/threading.cpp, source/encoder/threading.h,
51978 source/encoder/threadpool.cpp:
51979 threading: cleanup of shutdown methods
51981 This fixes the deadlock we see once 1 in 1 million runs of the pool
51985 * source/encoder/primitives.cpp:
51986 primitives: remove PartitionFromSizes if primitives are disabled
51989 * source/encoder/primitives.cpp, source/x265main.cpp:
51990 primitives: report primitive compilation settings when setting up
51994 * source/encoder/primitives.cpp:
51995 primitives: fix GCC compile without primitives
51998 * source/test/testbench.cpp:
51999 testbench: allow to compile without primitives
52002 2013-04-18 Deepthi <Deepthi>
52004 * source/encoder/macroblock.cpp:
52005 reverting vertical filter to isLast and isFirst as template
52009 2013-04-17 Steve Borho <steve@borho.org>
52011 * source/encoder/threadpool.cpp:
52012 threadpool: ensure threads spin up before allowing any jobs to
52016 * source/test/testpool.cpp:
52017 testpool: output nothing to stdout unless hashes mismatch
52020 * source/encoder/threadpool.cpp, source/encoder/threadpool.h,
52021 source/test/testpool.cpp:
52022 threadpool: prevent threads seing partially destroyed job providers
52025 * source/encoder/x86/asm-primitives.cpp, source/test/mbdstharness.cpp:
52029 * source/encoder/vec/macroblock.inc:
52030 vec: fix GCC build of macroblock.inc
52033 * source/encoder/threadpool.cpp:
52034 threadpool: add a mechanism to determine safety of job provider
52038 * source/encoder/x86/CMakeLists.txt:
52039 cmake: unify assembly file list, use a common object file name
52042 2013-04-18 Steve Borho <steve@borho.org>
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.
52049 2013-04-18 Deepthi <Deepthi>
52051 * source/encoder/vec/macroblock.inc:
52055 2013-04-17 Deepthi <Deepthi>
52057 * source/encoder/vec/macroblock.inc:
52064 2013-04-17 Deepthi Devaki <Deepthi Devaki>
52066 * source/encoder/vec/macroblock.inc:
52067 Modified vertical_filter to pre-load coeff
52070 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
52071 Backed out changeset: b520a3ddbf36
52074 * source/encoder/vec/macroblock.inc, source/test/filterharness.cpp:
52075 Modified vertical_filter to pre-load coeff
52078 * source/encoder/vec/macroblock.inc:
52079 Backed out changeset: 0848ac28c541
52082 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52083 Backed out changeset: fbbc5ec48951
52086 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52087 Backed out changeset: bd537ec0cba7
52090 * source/encoder/vec/macroblock.inc:
52091 Backed out changeset: db0ac8504e1a
52094 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
52095 Modifed TComInterpolationFilter.cpp to call vertical-filter
52099 * source/test/filterharness.cpp:
52100 Modifed filterharness to test vertical filter.
52103 * source/encoder/vec/macroblock.inc:
52104 Modifed vertical-filter
52107 * source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52108 Added vectorized vertical Filter
52111 * source/encoder/macroblock.cpp:
52112 Added filter_Vertical C-primitive with isFirst = isLAst = True
52116 * source/encoder/macroblock.cpp:
52117 Added filter_Vertical C-primitive with isFirst = isLAst = True
52121 2013-04-17 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52123 * build/RegressionTester.bat, source/Lib/config.cpp,
52124 source/Lib/config.h, source/encoder/macroblock.cpp:
52125 Merged multicoreware/xhevc into default
52128 2013-04-17 Deepthi Devaki <Deepthi Devaki>
52130 * source/encoder/macroblock.cpp:
52131 Backed out changeset: 0826f419aa6d
52134 2013-04-16 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52136 * Merged multicoreware/xhevc into default
52139 2013-04-15 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52141 * source/Lib/TLibCommon/TComInterpolationFilter.cpp,
52142 source/encoder/macroblock.cpp:
52143 Merged multicoreware/xhevc into default
52146 2013-04-15 Deepthi Devaki <Deepthi Devaki>
52148 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
52149 Backed out changeset: 0826f419aa6d
52152 2013-04-12 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
52154 * source/encoder/macroblock.cpp:
52155 Merged multicoreware/xhevc into default
52158 2013-04-12 Rajesh <Rajesh>
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
52166 2013-03-26 deepthidevaki <deepthidevaki>
52168 * source/encoder/TComRdCost_SSE.cpp:
52169 Modified xCalcHADs4x4 for better optimization
52172 2013-04-17 Deepthi <Deepthi>
52174 * source/Lib/TLibCommon/TComTrQuant.cpp:
52175 MingW support for alignment.
52178 2013-04-17 praveentiwari <praveentiwari>
52180 * source/encoder/vec/macroblock.inc:
52181 partialButterfly16 vectorized code
52184 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
52186 * source/encoder/vec/macroblock.inc:
52187 Merged multicoreware/xhevc into default
52190 2013-04-17 praveentiwari <praveentiwari>
52192 * source/encoder/vec/macroblock.inc:
52193 solving merge conflict
52196 * source/encoder/vec/macroblock.inc:
52200 * source/encoder/vec/macroblock.inc:
52201 solving merge conflict
52204 * source/encoder/vec/macroblock.inc:
52205 solving merge conflict
52208 * source/encoder/vec/macroblock.inc:
52209 Replaced Vec16s and Vec8i usage with Vec8s and Vec4i for Vec-
52213 2013-04-17 Deepthi <Deepthi>
52215 * source/Lib/TLibCommon/TComTrQuant.cpp,
52216 source/encoder/vec/macroblock.inc:
52217 Enforcing memory alignment in inversedst.
52220 * source/test/mbdstharness.cpp:
52221 Aligned mem in mbdst test harness
52224 * source/encoder/vec/macroblock.inc:
52225 Removing extraneous min,max - performance improvements by 20%
52228 * source/encoder/vec/macroblock.inc:
52232 2013-04-17 praveentiwari <praveentiwari>
52234 * source/test/butterflyharness.cpp, source/test/butterflyharness.h:
52235 removed butterflyharness files
52238 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
52240 * Merged multicoreware/xhevc into default
52243 2013-04-17 praveentiwari <praveentiwari>
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
52250 2013-04-17 praveen Tiwari <praveen@multicorewareinc.com>
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
52258 2013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
52260 * source/encoder/macroblock.cpp:
52261 Merged multicoreware/xhevc into default
52264 2013-04-16 praveentiwari <praveentiwari>
52266 * source/test/CMakeLists.txt:
52267 Included butterflyharness.h and .cpp file in make file
52270 * source/test/butterflyharness.cpp:
52271 Increased the buffer size and used more meaningful name in Test Code
52272 of partialButterfly16
52275 2013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
52277 * Merged multicoreware/xhevc into default
52280 2013-04-16 praveentiwari <praveentiwari>
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
52288 * source/test/butterflyharness.cpp, source/test/butterflyharness.h,
52289 source/test/testbench.cpp:
52290 Test Suit for partialButterfly16
52293 2013-04-16 praveen Tiwari <praveen@multicorewareinc.com>
52295 * source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
52296 Merged multicoreware/xhevc into default
52299 2013-04-16 praveentiwari <praveentiwari>
52301 * source/test/testbench.cpp:
52302 TestBench MergeConflict
52305 * source/test/testbench.cpp:
52309 * source/test/testbench.cpp:
52310 Solving merge conflict with TestBench.cpp
52313 * source/test/testbench.cpp:
52314 Solving merge conflict with Testbench.cpp
52317 2013-04-15 praveentiwari <praveentiwari>
52319 * source/Lib/TLibCommon/TComTrQuant.cpp,
52320 source/encoder/macroblock.cpp, source/encoder/vec/macroblock.inc:
52321 Added Primitives for partialButterfly32
52324 2013-04-15 praveen Tiwari <praveen@multicorewareinc.com>
52326 * source/test/testbench.cpp:
52327 Merged multicoreware/xhevc into default
52330 2013-04-15 praveentiwari <praveentiwari>
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
52338 * source/Lib/TLibCommon/TComTrQuant.cpp:
52339 Fixed alignment problem with ENABLE_PRIMITIVES switch for
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
52349 2013-04-15 praveen Tiwari <praveen@multicorewareinc.com>
52351 * Merged multicoreware/xhevc into default
52354 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52355 source/encoder/vec/macroblock.inc:
52356 Merged multicoreware/xhevc into default
52359 2013-04-12 praveen Tiwari <praveen@multicorewareinc.com>
52361 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52362 source/encoder/vec/macroblock.inc:
52363 Merged multicoreware/xhevc into default
52366 * source/encoder/macroblock.cpp:
52367 Merged multicoreware/xhevc into default
52370 2013-04-11 praveen Tiwari <praveen@multicorewareinc.com>
52372 * Merged multicoreware/xhevc into default
52375 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52376 source/encoder/vec/macroblock.inc:
52377 Merged multicoreware/xhevc into default
52380 2013-04-10 praveen Tiwari <praveen@multicorewareinc.com>
52382 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52383 source/encoder/vec/macroblock.inc:
52384 Merged multicoreware/xhevc into default
52387 2013-04-10 praveentiwari <praveentiwari>
52389 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52390 source/encoder/vec/macroblock.inc:
52391 resolving merge conflict
52394 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
52395 source/encoder/vec/macroblock.inc:
52396 Added C and Vector primitives for partialButterfly16
52399 * source/encoder/butterfly.h:
52400 Created butterfly.h to read the value from the g_aiT array
52403 2013-04-17 Deepthi <Deepthi>
52413 2013-04-16 Steve Borho <steve@borho.org>
52415 * source/encoder/x86/CMakeLists.txt:
52416 cmake: figure out a workaround for YASM builds of assembly files
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
52426 Rename primitive projects so they sort together in VC
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,
52435 establish a new input file library, move CLI and command parsing to
52439 * source/test/CMakeLists.txt:
52440 cmake: disable the pool test by default, even when tests are enabled
52442 Now that its functional, not many people will want to build/run it
52445 * source/test/timer.cpp:
52446 timer: replace NULL with 0
52449 * source/test/pixelharness.cpp:
52450 pixelharness: fix MinGW build
52453 * source/test/timer.cpp:
52454 timer: use native Windows high resolution timer
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
52464 * source/test/testpool.cpp:
52465 trim trailing white-space
52468 * source/test/testpool.cpp:
52469 testpool: verify below row is restartable
52471 output is now deterministic regardless of thread count
52474 * source/encoder/macroblock.cpp:
52475 Partial Backout changeset: 81101974408f
52478 * build/BuildEncoderApplications.bat:
52479 white-space cleanup in BuildEncoderApplications.bat
52482 * build/RegressionTester.bat:
52486 * source/test/pixelharness.cpp:
52487 testbench: add a POSIX friendly aligned malloc, pad to 32 bytes
52490 2013-04-16 Deepthi <Deepthi>
52492 * source/encoder/macroblock.cpp:
52493 Changing 32-bit multiplies to 16-bit multiplies for filter. (This
52494 may need more testing).
52497 * source/test/pixelharness.cpp:
52498 Aligned mallocs and frees in pixel buffers
52501 2013-04-16 nandaku2 <deepthi@multicorewareinc.com>
52503 * build/RegressionTester.bat:
52504 Merged in ggopu/gopu_xhevc (pull request #66)
52506 Redesigned the Regression test script - the script will be
52507 compatible for vc 9, vc 10 and vc 11
52510 2013-04-15 ggopu <ggopu>
52512 * build/BuildEncoderApplications.bat,
52513 build/CreateRegressionPackage.bat, build/RegressionTester.bat,
52515 Redesigned the Regression test script - the script will be
52516 compatible for vc 9, vc 10 and vc 11
52519 2013-04-16 sumalatha <sumalatha>
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.
52528 2013-04-15 Steve Borho <steve@borho.org>
52530 * source/test/testbench.cpp:
52531 testbench: add the ability to easily bypass some tests
52534 * source/test/filterharness.cpp, source/test/testbench.cpp:
52535 testbench: GCC compilation fixes
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
52547 * source/test/testbench.cpp:
52548 testbench: remove unused defines
52551 * source/test/testbench.cpp:
52552 testbench: don't forget to test the detected CPUID
52555 * source/test/testbench.cpp:
52556 less cargo-cult programming please
52558 checkasm used BENCH_ALIGNS to over-allocate the buffers then fix the
52559 alignment We're just over-allocating buffers
52562 * source/test/testbench.cpp:
52563 testbench: tune iterations to primitive type so test finishes in 60
52567 * source/test/testbench.cpp:
52568 testbench: fix bugs exposed by GCC warnings
52570 t_size was being used as a global by two different primitives, and
52571 then defined locally by one of them.
52574 * source/encoder/vec/pixel.inc:
52575 pixel: use aligned loads for 8 and 16 wide SAD 14% improvement
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
52582 * source/test/testbench.cpp:
52583 testbench: check primitive accuracy on all SIMD architectures
52585 Measure performance only once, with the most optimized primitives
52589 * source/encoder/vec/pixel.inc:
52590 pixel: optimize 4 pixel wide SAD
52592 Now 4x faster than the C version. We accumulate 8 values then
52593 discard half at the end.
52596 * source/encoder/vec/pixel.inc:
52597 pixel: further optimize multiples of 16 wide SAD
52600 * source/test/testbench.cpp:
52601 testbench: use a pseudo-random seed
52604 * source/encoder/vec/pixel.inc:
52605 pixel: use lower case var named
52608 * source/encoder/vec/pixel.inc:
52609 pixel: collect SAD sums in vectors, do horizontal_add_x only at end
52611 The gives at least a 2X speedup. Many SAD functions are now 10x
52612 faster than the C primitives.
52615 * source/VectorClass/vectori128.h, source/encoder/vec/macroblock.inc:
52616 inversedst: use blend8s to generate outputs 30% faster
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
52624 2013-04-15 Mandar Gurav <mandar@multicorewareinc.com>
52626 * Merged multicoreware/xhevc into default
52629 2013-04-15 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
52631 * source/test/testbench.cpp:
52632 Used more meaningful variable names
52635 * source/test/testbench.cpp:
52636 Implemented init/clean function for filter testbench.
52639 * source/test/testbench.cpp:
52640 Print a more meaningful message - replace %d value with a meaningful
52641 string showing the filter configuration.
52644 2013-04-15 Deepthi <Deepthi>
52646 * source/encoder/vec/pixel.inc:
52647 Reverting aligned loads in pixel.inc - caused crash. This needs more
52651 2013-04-14 Steve Borho <steve@borho.org>
52653 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
52654 cleanup TComInterpolationFilter.cpp
52657 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/vec/pixel.inc:
52658 change order of arguments to SATD primitives to match x264 assembly
52660 x264 assembly code wants fenc, fencstride, fref, frefstride. fenc is
52661 assumed to be aligned by the block size.
52664 * source/encoder/vec/pixel.inc, source/test/testbench.cpp:
52665 pixel: use aligned loads for piOrg (encoded block), enable sad_4
52667 vectorized sad_4 is now just a little bit faster than the C version.
52670 * source/Lib/TLibCommon/TComRdCost.cpp:
52671 change order of arguments to SAD primitives to match x264 assembly
52673 x264 assembly code wants fenc, fencstride, fref, frefstride. fenc is
52674 assumed to be aligned by the block size.
52677 * source/Lib/config.cpp:
52678 unfortunately the FrameN options are currently necessary
52681 * source/Lib/config.cpp:
52682 nuke the --FrameN command line options
52684 These make the command line help really annoying
52687 * source/encoder/vec/pixel.inc:
52688 pixel: add sad_4, but do not use it for now
52690 When memory alignment is considered, it may be faster than the C
52694 * source/encoder/vec/pixel.inc:
52695 pixel: add 16-wide vector SAD, instantiate all but 4x
52699 * source/encoder/pixel.cpp:
52700 pixel: add C SAD partitions sized 64
52703 2013-04-13 Steve Borho <steve@borho.org>
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
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.
52715 However, the test bench should always test 10 bit pixels in that
52719 2013-04-13 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
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
52733 2013-04-13 Mandar Gurav <mandar@multicorewareinc.com>
52735 * Merged multicoreware/xhevc into default
52738 2013-04-12 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
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
52746 2013-04-13 Deepthi <Deepthi>
52748 * source/encoder/macroblock.cpp:
52749 Removing implicit-type conversion warnings.
52752 2013-04-12 Steve Borho <steve@borho.org>
52754 * source/encoder/macroblock.cpp:
52755 macroblock: remove pixel typecasts, since block is now a Short*
52758 2013-04-13 ShinYee Chung <shinyee@multicorewareinc.com>
52760 * source/encoder/threadpool.cpp:
52761 threadpool: Fix incorrect memory deallocation.
52763 The in-place buffer is an array.
52766 * source/encoder/threadpool.cpp:
52767 threadpool: Fix incorrect use of &= operator.
52770 2013-04-12 Steve Borho <steve@borho.org>
52772 * source/Lib/TLibCommon/TComRdCost.cpp:
52776 * source/encoder/threadpool.cpp:
52777 threadpool: fix VC9 compile
52780 2013-04-12 Deepthi <Deepthi>
52782 * source/Lib/TLibCommon/TComRdCost.cpp:
52783 Replacing primitive call in xHADs8 and xHADs
52786 * source/Lib/TLibCommon/TComRdCost.cpp:
52787 Replacing primitive call in xHads4
52790 * source/Lib/TLibCommon/TComRdCost.cpp:
52791 Fixing final scaling in sad primitives; disabling satd primitives.
52794 2013-04-12 Steve Borho <steve@borho.org>
52796 * source/Lib/TLibCommon/TComTrQuant.cpp:
52800 2013-04-12 Deepthi <Deepthi>
52805 * source/Lib/TLibCommon/TComTrQuant.cpp:
52806 Replacing original inversedst with primitives
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
52814 2013-04-11 Steve Borho <steve@borho.org>
52816 * source/test/testpool.cpp:
52817 testpool: use fflush() on stdout
52820 * source/encoder/threadpool.cpp:
52821 threadpool: wait for threads to quiesce before shutting them down
52824 * source/test/testpool.cpp:
52825 testpool: ensure MD5Frame is freed before pool
52828 * source/encoder/threading.cpp, source/encoder/threading.h:
52829 threading: build fixes for linux, more error checking
52832 * source/test/testpool.cpp:
52833 testpool: add indication of thread pool size
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
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.
52846 This patch also goes back to a blocking wait when idle, to save
52849 Note: the test does not currently pass. there is still a data hazard
52853 2013-04-11 Deepthi <Deepthi>
52855 * source/test/testbench.cpp:
52856 Increase iteration count for better measurements
52859 2013-04-11 ShinYee Chung <shinyee@multicorewareinc.com>
52861 * source/encoder/macroblock.cpp:
52862 macroblock: Fix the path in an #include.
52864 Use / instead of \ to remain portable to Windows and Linux.
52867 * source/Lib/TLibVideoIO/TVideoIOY4m.cpp:
52868 y4m: Fix missing math header include for function ceil().
52870 We probably also need to add linking to the math library.
52873 2013-04-11 nandaku2 <deepthi@multicorewareinc.com>
52875 * Merged in ggopu/gopu_x265 (pull request #57)
52877 Fixed the issue for inversedst and malloc issue
52880 2013-04-11 ggopu <ggopu>
52882 * source/test/testbench.cpp:
52883 Fixed the issue for inversedst and malloc issue
52886 2013-04-11 sumalatha <sumalatha>
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.
52898 2013-04-11 Deepthi <Deepthi>
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
52907 * source/test/testbench.cpp:
52908 Comments for direction
52911 2013-04-10 nandaku2 <deepthi@multicorewareinc.com>
52913 * Merged in sumalatha/xhevc_sumalatha (pull request #54)
52915 support for y4m files(skipping the frame headers at each frame)
52918 2013-04-10 sumalatha <sumalatha>
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)
52930 2013-04-10 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52932 * source/Lib/TLibCommon/TComRdCost.cpp,
52933 source/encoder/vec/macroblock.inc:
52934 Merged multicoreware/xhevc into default
52937 * source/encoder/vec/macroblock.inc:
52938 Merged multicoreware/xhevc into default
52941 2013-04-09 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52943 * Merged multicoreware/xhevc into default
52946 2013-04-08 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52948 * source/encoder/vec/macroblock.inc, source/encoder/vec/pixel.inc,
52949 source/encoder/vec/vecprimitives.inc:
52950 Merged multicoreware/xhevc into default
52953 2013-04-08 sumalatha <sumalatha>
52955 * source/encoder/TComRdCost_SSE.cpp:
52956 Deleted this file to remove merge conflict
52959 2013-04-05 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
52961 * source/Lib/TLibCommon/TComRdCost.cpp, source/encoder/vec/pixel.inc:
52962 Merged multicoreware/xhevc into default
52965 2013-04-04 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
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
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
52980 2013-04-04 sumalatha <sumalatha>
52982 * source/Lib/TLibCommon/TComRdCost.cpp,
52983 source/encoder/TComRdCost_SSE.cpp,
52984 source/encoder/vec/vecprimitives.inc:
52985 Backed out changeset: 914f5238a7df
52988 * source/encoder/TComRdCost_SSE.cpp:
52989 Backed out changeset: 850f67a0d4be
52992 * source/Lib/TLibCommon/TComRdCost.cpp:
52993 Backed out changeset: 11f514fc3415
52996 2013-04-03 Steve Borho <steve@borho.org>
52998 * source/Lib/TLibCommon/TComRdCost.cpp:
52999 made changes to remove merge conflicts
53002 * source/encoder/TComRdCost_SSE.cpp:
53003 made changes to remove the merge conflict
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
53013 2013-04-10 nandaku2 <deepthi@multicorewareinc.com>
53015 * Merged in ggopu/gopu_x265 (pull request #55)
53017 Created the New script for Regression testing
53020 2013-04-10 ggopu <ggopu>
53022 * build/RegressionTester.bat, build/config.txt:
53023 Created the New script for Regression testing
53026 2013-04-10 Deepthi <Deepthi>
53028 * source/test/testbench.cpp:
53032 * source/test/testbench.cpp:
53033 Cleanup of cycle count measurement
53036 * source/test/testbench.cpp:
53037 Disable cycle count. Separate mbdst testing into init_buffer,
53038 checkprimitive and clearbuffer.
53041 * source/test/testbench.cpp:
53042 Buffer handling separated. pixelcmp buffers stay global for now.
53045 * source/test/testbench.cpp:
53046 More global vars removed
53049 * source/test/testbench.cpp:
53050 Removing unnecessary global variables
53053 * source/test/testbench.cpp:
53054 Replace delete with free.
53057 2013-04-10 Deepthi Devaki <Deepthi Devaki>
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.
53066 2013-04-10 praveen Tiwari <praveen@multicorewareinc.com>
53068 * Merged multicoreware/xhevc into default
53071 2013-04-10 praveentiwari <praveentiwari>
53073 * source/encoder/macroblock.cpp:
53074 Fixed fastInverseDst function in encoder primitive file by adding
53078 * source/Lib/TLibCommon/TComTrQuant.cpp:
53079 Added missing line in fastInverseDst function
53082 * source/Lib/TLibCommon/TComTrQuant.cpp:
53083 Removed last calculation in fastInverseDst function
53086 2013-04-10 Steve Borho <steve@borho.org>
53088 * source/test/testbench.cpp:
53089 testbench: give an indication of pixel size in test bench
53092 * source/Lib/TLibCommon/TComRdCost.cpp:
53093 TComRdCost: fix handling of iSubShift
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.
53102 2013-04-09 Deepthi <Deepthi>
53104 * source/test/testbench.cpp:
53105 Fix memory leak in testbench
53108 2013-04-09 Steve Borho <steve@borho.org>
53110 * source/test/testbench.cpp:
53111 testbench: fix warnings and errors when compiled with GCC
53114 * source/Lib/TLibCommon/CommonDef.h,
53115 source/VectorClass/instrset_detect.cpp:
53116 more Linux Intel compiler fixes
53119 * source/Lib/TLibCommon/CommonDef.h:
53120 Prevent multiple NVM_COMPILEDBY definitions
53123 * source/CMakeLists.txt:
53124 cmake: use CXX env var, which is not a full path
53127 * source/CMakeLists.txt:
53128 cmake: treat Intel C++ compiler on Linux as gcc
53131 * source/encoder/vec/macroblock.inc, source/test/testbench.cpp:
53135 2013-04-09 Deepthi <Deepthi>
53137 * source/test/testbench.cpp:
53141 * source/test/testbench.cpp:
53142 Removing redundant function
53145 * source/test/testbench.cpp:
53146 Clearer error message
53149 * source/test/testbench.cpp:
53150 Renaming check_*_primitive functions.
53153 2013-04-09 ggopu <ggopu>
53155 * source/test/testbench.cpp:
53156 Added IntraDct check
53159 2013-04-09 https://mandarmcw <https://mandarmcw@bitbucket.org/mandarmcw/xhevc_mandar1>
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
53167 2013-04-08 Steve Borho <steve@borho.org>
53169 * source/test/testbench.cpp:
53170 testbench: call Setup_Assembly_Primitives() to setup assembly
53174 * source/test/testbench.cpp:
53175 testbench: fix a compiler warning, add notice of which primitives
53179 * source/test/testbench.cpp:
53180 testbench: use single pixelcmp test function, tighten up output
53184 * source/cmake/FindHg.cmake:
53185 cmake: backout FindHg.cmake, it only causes further problems
53188 * source/cmake/FindHg.cmake, source/cmake/version.cmake:
53189 cmake: add FindHg.cmake to our repo, only very recent cmake versions
53192 and fix case-sensitivity issue
53195 2013-04-08 ggopu <ggopu>
53197 * source/test/testbench.cpp:
53198 Included comment to specify the source of code snippet
53201 * source/test/testbench.cpp:
53202 Implemented the Cycle testing
53205 2013-04-07 Steve Borho <steve@borho.org>
53207 * source/CMakeLists.txt:
53208 cmake: disable ASM compilation for non-GCC compilers until a
53209 workaround is found
53212 * source/cmake/CMakeASM_YASMInformation.cmake:
53213 cmake: use ASM_DIALECT consistently in
53214 CMakeASM_YASMInformation.cmake
53217 * build/nmake/make-solutions.bat:
53218 cmake: add a VC11 nmake batch file, to test ASM builds
53221 * source/test/testbench.cpp:
53222 testbench: fix a couple of bugs
53225 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
53226 cmake: rename primitive variables so they are listed together in
53230 * source/cmake/version.cmake:
53231 cmake: add version detection support for hg archives
53234 * source/CMakeLists.txt, source/cmake/version.cmake:
53235 cmake: move version detection into cmake/version.cmake
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
53246 * source/cmake/CMakeASM_YASMInformation.cmake,
53247 source/cmake/CMakeDetermineASM_YASMCompiler.cmake,
53248 source/cmake/CMakeTestASM_YASMCompiler.cmake:
53249 cmake: add yasm compilation ability
53252 * source/CMakeLists.txt, source/cmake/FindYasm.cmake:
53253 cmake: introduce a cmake/ folder, add a package to find a yasm
53257 * source/encoder/x86/util.h:
53258 remove x264's utils.h, it has inline assembly we cannot use
53260 And the functions implemented are not obviously applicable to HEVC
53263 2013-04-06 Steve Borho <steve@borho.org>
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
53274 This changeset makes the vectorized primitives a build option,
53275 seperate from the C primitives and ASM primitives.
53278 * source/CMakeLists.txt:
53279 cmake: improve version detection logic from revision control
53282 * source/CMakeLists.txt:
53283 cmake: multithreaded make does not appear to work; gmake users
53287 2013-04-05 Steve Borho <steve@borho.org>
53289 * source/encoder/CMakeLists.txt, source/encoder/TComRdCost_SSE.cpp:
53290 remove TComRdCost_SSE.cpp
53293 * source/encoder/CMakeLists.txt:
53294 cmake: show the GPL license file in Visual Studio in the x265
53298 * source/test/unittest.cpp:
53299 unittest: fix pixel variable shadowing type name from primitives.h
53301 Only broke the GCC build
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
53308 Will replace all of TAppCommon and allow us to use getopt() style
53309 argument parsing on all platforms.
53312 * source/CMakeLists.txt, source/x265main.cpp:
53313 cmake: compile a version number from Mercurial into x265-cli.exe
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)
53320 * source/encoder/macroblock.cpp:
53321 comment cleanups in macroblock.cpp
53324 * source/encoder/vec/pixel.inc:
53325 pixel: add 16x16 and 32x32 vectorized SAD functions
53328 2013-04-05 Deepthi Devaki <Deepthi Devaki>
53333 * source/encoder/vec/pixel.inc:
53334 Uncrustified pixel.inc after changing sa8d_8x8
53337 * source/encoder/vec/pixel.inc:
53338 Backed out changeset: dc9cf177f0d9
53341 * source/encoder/vec/pixel.inc:
53342 Uncrustified pixel.inc after changing sa8d_8x8
53345 2013-04-05 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
53347 * Merged multicoreware/xhevc into default
53350 2013-04-05 Deepthi Devaki <Deepthi Devaki>
53352 * source/encoder/vec/pixel.inc:
53353 Fixed overflow issue when 10 bit pixels are used in vec-sa8d_8x8
53356 * source/encoder/vec/pixel.inc:
53357 Backed out changeset: b39276d2ef19
53360 * source/encoder/vec/pixel.inc:
53361 Added cases for high bit depth = 1 and 0 in vec-sa8d_8x8 in
53365 2013-04-05 Deepthi <Deepthi>
53367 * source/encoder/primitives.cpp:
53368 Disabling 64-size primitives temporarily.
53371 * source/encoder/primitives.cpp:
53372 Fixing the partition array for 64.
53375 * source/encoder/primitives.cpp:
53376 Rollback: to 8x8 matrix
53379 * source/encoder/primitives.cpp:
53380 Rollback: 64 expands the array heavily.
53383 * source/encoder/primitives.cpp:
53384 Width and height permitted to be > 32
53390 * source/encoder/primitives.cpp:
53391 Expanding the psize static array to 64.
53394 * source/encoder/primitives.h:
53395 Expanding Partitions enum
53401 * source/Lib/TLibCommon/TComPrediction.cpp:
53402 Temporary array to match Pel
53405 * source/Lib/TLibCommon/TComInterpolationFilter.cpp:
53406 Fix Error - matching function declaration and definition
53409 2013-04-05 Steve Borho <steve@borho.org>
53411 * source/encoder/macroblock.cpp:
53412 fix implicit integer type conversions in macroblock.cpp
53415 * source/x265main.cpp:
53416 fix build error in x265main.cpp
53419 2013-04-04 Steve Borho <steve@borho.org>
53421 * source/encoder/primitives.cpp, source/x265main.cpp:
53422 rewrite main(), add code that describes detected CPU type and other
53426 2013-04-05 praveentiwari <praveentiwari>
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.
53437 * source/encoder/TComTrQuant_SSE.cpp:
53438 Removed as it is no longer needed.
53441 2013-04-04 praveen Tiwari <praveen@multicorewareinc.com>
53443 * Merged multicoreware/xhevc into default
53446 * Merged multicoreware/xhevc into default
53449 * source/encoder/primitives.h, source/encoder/vec/pixel.inc:
53450 Merged multicoreware/xhevc into default
53453 2013-04-04 praveentiwari <praveentiwari>
53455 * source/encoder/macroblock.cpp, source/encoder/primitives.h,
53456 source/encoder/vec/macroblock.inc:
53457 Modified encoder performance primitive for fastinversedst
53460 2013-04-04 praveen Tiwari <praveen@multicorewareinc.com>
53462 * Merged multicoreware/xhevc into default
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
53471 2013-04-04 praveentiwari <praveentiwari>
53473 * source/encoder/vec/pixel.inc:
53474 resolving merge conflict with pixel.inc
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
53482 * source/encoder/vec/vecprimitives.inc:
53483 second attempt to resolve merge conflict
53486 * source/encoder/vec/vecprimitives.inc:
53487 solving merge conflict with vecprimitives.inc
53490 * source/encoder/macroblock.cpp, source/encoder/primitives.cpp,
53491 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
53492 Encoder Performance Primitive fastInverseDst
53495 * source/encoder/primitives.h:
53496 Added a cdecl funcdef to primitives.h and function pointer to
53497 EncoderPrimitives structure
53500 2013-04-03 praveen Tiwari <praveen@multicorewareinc.com>
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
53509 2013-04-04 praveentiwari <praveentiwari>
53511 * source/Lib/TLibCommon/TComTrQuant.cpp:
53512 Solving merge conflict with TComTrQuant.cpp file
53515 2013-04-03 praveen Tiwari <praveen@multicorewareinc.com>
53517 * source/encoder/CMakeLists.txt:
53518 Merged multicoreware/xhevc into default
53521 2013-04-03 praveentiwari <praveentiwari>
53523 * source/encoder/CMakeLists.txt:
53524 Second attempt to solve merge conflict
53527 * source/encoder/CMakeLists.txt:
53528 solving merge conflict with CMakeLists.txt
53531 * cfg/per-sequence/BasketballPass.cfg:
53532 Backed out changeset: 1801be94c033
53535 * source/encoder/CMakeLists.txt:
53539 * cfg/per-sequence/BasketballPass.cfg:
53543 2013-04-02 praveentiwari <praveentiwari>
53545 * source/Lib/TLibCommon/TComTrQuant.h, source/encoder/CMakeLists.txt:
53546 fastInverseDst with declarartion in TComTrQuant.h file
53549 * source/encoder/CMakeLists.txt:
53550 Solving merge conflict with CMakeLists.txt
53553 2013-04-01 praveen Tiwari <praveen@multicorewareinc.com>
53555 * source/encoder/CMakeLists.txt:
53556 Merged multicoreware/xhevc into default
53559 2013-03-31 praveen Tiwari <praveen@multicorewareinc.com>
53561 * source/encoder/CMakeLists.txt, source/x265cfg.cpp, source/x265cfg.h,
53562 source/x265top.cpp, source/x265top.h:
53563 Merged multicoreware/xhevc into default
53566 2013-03-28 praveen Tiwari <praveen@multicorewareinc.com>
53568 * source/encoder/CMakeLists.txt:
53569 Merged multicoreware/xhevc into default
53572 2013-03-28 praveentiwari <praveentiwari>
53574 * source/encoder/CMakeLists.txt:
53575 Trying to resolve conflict during merge
53578 2013-03-27 praveentiwari <praveentiwari>
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
53587 * source/Lib/TLibCommon/TComTrQuant.cpp,
53588 source/encoder/TComTrQuant_SSE.cpp:
53589 Backed out changeset: 587fa81d140b
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
53598 2013-03-27 praveen Tiwari <praveen@multicorewareinc.com>
53600 * Merged multicoreware/xhevc into default
53603 2013-03-26 praveentiwari <praveentiwari>
53605 * source/encoder/TComTrQuant_SSE.cpp:
53606 Replaced Clip3 and Inhanced technique to load data in vectorization
53607 of TComTrQuant::fastInverseDst
53610 2013-03-26 praveen Tiwari <praveen@multicorewareinc.com>
53612 * source/encoder/CMakeLists.txt:
53613 Merged multicoreware/xhevc into default
53616 2013-03-25 praveentiwari <praveentiwari>
53618 * source/encoder/TComTrQuant_SSE.cpp:
53619 Vectorized code for TComTrQuant::fastInverseDst
53622 * source/encoder/CMakeLists.txt:
53623 Modified CMakeLists.txt for TComTrQuant_SSE.cpp
53626 * source/Lib/TLibCommon/TComTrQuant.cpp,
53627 source/encoder/CMakeLists.txt:
53628 Backed out changeset: aa84b30cd9ae
53631 * source/Lib/TLibCommon/TComTrQuant.cpp,
53632 source/encoder/CMakeLists.txt:
53633 Modified CMakeLists.txt for TComTrQuant.cpp
53636 * source/Lib/TLibCommon/TComTrQuant.cpp:
53637 First attempt to vectorize
53640 2013-04-04 Steve Borho <steve@borho.org>
53642 * source/test/testbench.cpp:
53643 testbench: add remaining pixel functions
53646 * source/test/testbench.cpp:
53647 testbench: use a for() loop, rename numofprim to curpar
53650 * source/test/testbench.cpp:
53651 testbench: combine loops
53654 * source/test/testbench.cpp, source/test/unittest.cpp,
53655 source/test/unittest.h:
53656 testbench: remove redundant partition enum, clean unittest.h
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.
53663 * source/test/testbench.cpp:
53664 testbench: more flexible argument parsing
53667 * source/test/testbench.cpp:
53668 testbench: remove unused do_bench
53671 * source/test/testbench.cpp:
53672 testbench: allow cpuid to be user-provided
53675 * source/test/testbench.cpp:
53676 pass primitive function tables to validate to the check* functions
53679 * source/test/testbench.cpp:
53680 testbench: fix typos in comments, remove unused global var
53683 * source/Lib/TLibCommon/TComRdCost.cpp:
53684 xCalcHADs8x8 should call sa8d_8x8, remove satd calls from similar
53687 xCalcHADs16x4() and xCalcHADs4x16() would both need sa8d primitives
53690 * source/encoder/pixel.cpp, source/encoder/primitives.h,
53691 source/encoder/vec/pixel.inc:
53692 primitives: add sa8d_8x8 and sa8d_16x16 primitives
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.
53698 2013-04-04 ggopu <ggopu>
53700 * source/test/testbench.cpp, source/test/unittest.cpp,
53701 source/test/unittest.h:
53702 Added header and removed unwanted variable and comments
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
53710 2013-04-04 Gopu G <gopu@multicorewareinc.com>
53712 * source/test/CMakeLists.txt:
53713 Merged multicoreware/xhevc into default
53716 2013-04-04 ggopu <ggopu>
53718 * source/test/CMakeLists.txt:
53719 solved conflict issue
53722 * source/test/CMakeLists.txt:
53723 Disabled warnings for testbench
53726 * doc/UnitTestUsage.txt:
53727 Added Doc for UnitTest Usage
53730 * source/test/testbench.cpp:
53731 Added Single primitive check
53734 2013-04-04 Steve Borho <steve@borho.org>
53736 * source/encoder/vec/pixel.inc:
53737 uncrustify: fix eoln damage in pixel.inc
53740 2013-04-04 Deepthi <Deepthi>
53745 * source/encoder/vec/pixel.inc:
53746 Removing shadows/redeclarations
53749 2013-04-04 Steve Borho <steve@borho.org>
53751 * source/test/CMakeLists.txt:
53752 cmake: rename thread pool test to PoolTest
53755 * source/test/CMakeLists.txt:
53756 cmake: fix case of test bench filenames
53759 2013-04-04 nandaku2 <deepthi@multicorewareinc.com>
53761 * source/test/unittest.CPP:
53762 Merged in ggopu/gopu_x265 (pull request #33)
53764 file name extension issue fixed
53767 2013-04-04 ggopu <ggopu>
53769 * source/test/unittest.CPP, source/test/unittest.cpp:
53770 File name Extension issue fixed
53773 2013-04-04 nandaku2 <deepthi@multicorewareinc.com>
53775 * Merged in deepthidevaki/xhevc_deepthid (pull request #32)
53777 Added vectorized satd_8x8 to pixel.inc
53780 2013-04-04 Deepthi Devaki <Deepthi Devaki>
53782 * source/encoder/vec/pixel.inc:
53783 Added vectorized satd_8x8 to pixel.inc
53786 2013-04-04 nandaku2 <deepthi@multicorewareinc.com>
53788 * source/test/TestBench.cpp, source/test/UnitTest.cpp,
53789 source/test/UnitTest.h:
53790 Merged in ggopu/gopu_x265 (pull request #31)
53792 changed the file name conversion and added comparision for c and
53796 2013-04-04 ggopu <ggopu>
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
53805 2013-04-03 Gopu G <gopu@multicorewareinc.com>
53807 * source/VectorClass/dispatch_example.cpp, source/test/TestBench.cpp:
53808 Merged multicoreware/xhevc into default
53811 2013-04-03 ggopu <ggopu>
53813 * source/test/TestBench.cpp:
53817 * source/test/TestBench.cpp:
53818 resolved conflict error
53821 * source/test/TestBench.cpp:
53822 solved conflict error
53825 * source/test/TestBench.cpp:
53826 resolved conflict error
53829 2013-04-03 Gopu G <gopu@multicorewareinc.com>
53831 * Merged multicoreware/xhevc into default
53834 2013-04-02 Gopu G <gopu@multicorewareinc.com>
53836 * Merged multicoreware/xhevc into default
53839 2013-04-02 ggopu <ggopu>
53841 * source/test/TestBench.cpp:
53842 Enhanced test bench for satd*x*
53845 2013-04-01 Gopu G <gopu@multicorewareinc.com>
53847 * source/test/TestBench.cpp, source/x265cfg.cpp, source/x265cfg.h,
53848 source/x265top.cpp, source/x265top.h:
53849 Merged multicoreware/xhevc into default
53852 2013-04-01 ggopu <ggopu>
53854 * source/test/TestBench.cpp:
53855 Resolved the Conflict Error
53858 * source/test/TestBench.cpp:
53862 2013-03-28 ggopu <ggopu>
53864 * source/test/TestBench.cpp:
53865 included test functions like pixelcmp
53868 2013-04-04 Steve Borho <steve@borho.org>
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
53876 2013-04-03 Steve Borho <steve@borho.org>
53878 * source/encoder/macroblock.cpp, source/encoder/primitives.cpp,
53879 source/encoder/primitives.h:
53880 make an empty shell for macroblock.cpp
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
53889 x<foo>> 1 was converted to x<foo> > 1 instead of x < (foo>>1). I
53890 added parens to avoid this abiguity.
53893 * source/encoder/macroblock.cpp:
53894 change macroblock.cpp to unix eoln
53897 * source/encoder/primitives.cpp, source/encoder/primitives.h:
53901 2013-04-04 Deepthi <Deepthi>
53903 * source/encoder/CMakeLists.txt:
53904 cmake: add macroblock.cpp
53907 * source/encoder/macroblock.cpp:
53908 Adding new file macroblock.cpp
53911 * source/encoder/primitives.cpp, source/encoder/primitives.h:
53912 Move Setup_C_PixelPrimitives decl to header file
53915 2013-04-03 Steve Borho <steve@borho.org>
53917 * source/Lib/TLibCommon/TComDataCU.h,
53918 source/Lib/TLibEncoder/TEncRateCtrl.h:
53919 uncrustify: final run, fixups my hand edits
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
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
53945 * doc/uncrustify/apply-to-all-source.py:
53946 uncrustify: do not apply style to VectorClass headers
53948 They are difficult functions to align mechanically, just leave them
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
54059 * doc/uncrustify/apply-to-all-source.py, doc/uncrustify/drag-
54061 uncrustify: add a drag/drop batch file for uncrustify, and apply-to-
54065 * source/VectorClass/dispatch_example.cpp:
54066 remove VectorClass/dispatch_example.cpp
54069 * source/encoder/threading.cpp:
54070 threading: do not call pthread_exit after joining a thread
54073 * source/encoder/pixel.cpp, source/encoder/primitives.cpp:
54074 primitives: allow for the fact that multiple C++ files will define C
54078 * source/VectorClass/instrset_detect.cpp:
54079 instrset: prevent compiler warnings about nop function
54082 * source/encoder/pixel.cpp:
54083 pixel: 4x16 and 16x4 were backwards
54086 * source/VectorClass/instrset_detect.cpp:
54087 instrset: improve compiler fallbacks for xgetbv
54090 * source/encoder/TComRdCost_SSE.cpp:
54091 remove cruft from TComRdCost_SSE.cpp
54094 * source/encoder/vec/vecprimitives.inc:
54095 astyle: cleanup vecprimitives.inc
54098 * Merged in deepthidevaki/xhevc_deepthid (pull request #30)
54100 Added satd4x4 in vecprimitives.inv
54103 2013-04-03 Deepthi Devaki <Deepthi Devaki>
54105 * source/encoder/vec/vecprimitives.inc:
54106 Added vectorized hads4x4(satd_4x4) to vecprimitive.inc
54109 2013-04-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54111 * Merged multicoreware/xhevc into default
54114 * source/encoder/TComRdCost_SSE.cpp:
54115 Merged multicoreware/xhevc into default
54118 2013-04-03 Deepthi Devaki <Deepthi Devaki>
54120 * source/encoder/TComRdCost_SSE.cpp:
54121 Vectorized xCalcHADS8x8 with 16 bit operations
54124 * source/encoder/TComRdCost_SSE.cpp:
54125 Backed out changeset: e4616400a510
54128 * source/encoder/TComRdCost_SSE.cpp:
54129 Backed out changeset: e500456e0146
54132 2013-04-03 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54134 * Merged multicoreware/xhevc into default
54137 2013-04-02 Deepthi Devaki <Deepthi Devaki>
54139 * source/encoder/TComRdCost_SSE.cpp:
54140 Modifed xCalcHADS8x8 with 16bit operations.
54143 * source/encoder/TComRdCost_SSE.cpp:
54144 Modified xCalcHADS8x8 with 16bit operations.
54147 2013-04-03 Steve Borho <steve@borho.org>
54149 * source/encoder/threadpool.cpp:
54150 threadpool: use InterlockedCompareExchange64
54153 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54154 rename cpuIDDetect to CpuIDDetect, to follow convention of
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
54163 2013-04-03 Deepthi <Deepthi>
54165 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54166 Moving function declarations to the header file.
54169 2013-04-03 Steve Borho <steve@borho.org>
54171 * source/encoder/pixel.cpp, source/encoder/primitives.cpp,
54172 source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54176 2013-04-03 Deepthi <Deepthi>
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.
54183 2013-04-02 Deepthi <Deepthi>
54185 * source/encoder/primitives.cpp:
54186 Bug Fix for crashes in PartitionFromSizes
54189 2013-03-30 Steve Borho <steve@borho.org>
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
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.
54198 Ditto for the SSE (sum of square differences) functions.
54201 2013-04-02 Steve Borho <steve@borho.org>
54203 * doc/uncrustify/codingstyle.cfg:
54204 uncrustify: tweak enum and struct bracing and comment margins
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
54215 * doc/uncrustify/codingstyle.cfg, doc/uncrustify/uncrustify.bat,
54216 doc/uncrustify/uncrustify.exe:
54217 add uncrustify and a base config
54220 * source/encoder/threadpool.cpp:
54221 threadpool: remove semicolon from macro definition
54224 * source/encoder/primitives.cpp:
54225 primitives: replace asserts with if() checks
54228 * source/test/testpool.cpp:
54229 testpool: add another assertion
54232 * source/encoder/threadpool.cpp:
54233 threadpool: correct the order of the arguments to
54234 InterlockedCompareExchange()
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
54241 * source/test/testpool.cpp:
54242 testpool: stop processing CUs on the last column
54245 * source/encoder/threadpool.cpp:
54246 threadpool: use the correct MSVC instrinsic for integer CAS
54249 * source/encoder/threadpool.cpp:
54250 threadpool: use atomic compare and swap when consuming rows
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
54259 * source/encoder/threadpool.cpp:
54260 threadpool: remove redundant semicolon
54263 * source/encoder/primitives.cpp:
54264 apply coding style to primitives.cpp, minor cleanups
54267 * source/encoder/primitives.cpp:
54268 primitives: remove cruft from primitives.cpp, add compiler checks
54270 Do not try to access vectorized architectures that we know the
54271 compiler cannot generate.
54274 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54275 primitives: do not include instrset.h from primitives.h
54277 Just declare the instrset_detect() function as an extern in
54281 * source/encoder/CMakeLists.txt:
54282 cmake: tabs to spaces
54285 2013-04-02 sumalatha <sumalatha>
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
54294 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp,
54295 source/x265main.cpp:
54296 Backed out changeset: 94aff9bad183
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
54304 2013-04-02 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
54306 * source/encoder/CMakeLists.txt:
54307 Merged multicoreware/xhevc into default
54310 2013-04-01 sumalatha <sumalatha>
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)
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
54324 2013-04-02 Steve Borho <steve@borho.org>
54326 * source/CMakeLists.txt, source/encoder/CMakeLists.txt,
54327 source/encoder/primitives.h:
54328 cmake: x64 Linux build fixes
54331 * source/CMakeLists.txt:
54332 cmake: provide an appopriate -march for 64bit GCC targets
54335 2013-04-01 Steve Borho <steve@borho.org>
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
54342 * source/CMakeLists.txt:
54343 cmake: detect 64bit build, set GCC flag if GCC is detected
54345 Both of these can be used in internal CMakeLists.txt files, to
54349 2013-04-01 deepthidevaki <deepthidevaki>
54351 * source/encoder/TComRdCost_SSE.cpp:
54352 Modified xCalcHADS4x4 to use 16bit operations.
54355 2013-03-30 Steve Borho <steve@borho.org>
54357 * source/Lib/TLibCommon/TypeDef.h:
54358 Disable DISTORTION_PRECISION_ADJUSTMENT when HIGH_BIT_DEPTH is
54361 This turns the operation into a >> 0, which any sane compiler will
54365 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54366 add mapping function from Width x Height to Partition enum
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
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.
54380 * source/encoder/CMakeLists.txt:
54381 remove unused set_source_files_properties
54384 * source/Lib/TLibEncoder/TEncCavlc.h:
54385 fix VC compiler warnings (unreferenced formal parameter) in HM
54389 * source/Lib/TLibCommon/TComDataCU.h:
54390 fix VC compiler warnings (integer size type conversions) in HM
54394 * source/Lib/TLibCommon/ContextModel3DBuffer.h:
54395 fix VC compiler warning in the HM source
54398 2013-03-29 Steve Borho <steve@borho.org>
54400 * source/Lib/TLibCommon/TComPicYuvMD5.cpp:
54401 prevent one compile warning when HIGH_BIT_DEPTH is disabled
54404 * source/encoder/vec/vecprimitives.inc:
54405 add a stub 8bit vectorized primitive to prevent compile warnings
54408 * source/encoder/pixel.cpp, source/encoder/primitives.h:
54409 move primitives_c extern to the file(s) which define its methods
54412 * source/encoder/CMakeLists.txt, source/encoder/pixel.cpp:
54413 add templated SATD functions, based on x264's macro routines
54415 These use SWAR to do two operations in each clock cycle
54418 * source/encoder/pixel.cpp, source/encoder/primitives.h:
54419 add more irregular partition sizes (we probably still need 24s)
54422 * source/encoder/CMakeLists.txt, source/encoder/pixel.cpp:
54423 add pixel.cpp with templated sad function
54426 * source/encoder/vec/vecprimitives.inc:
54427 bug fix in vecprimitives.inc
54430 * source/encoder/vec/vecprimitives.inc:
54431 declare seperate implementations of vector primitives for 8bit and
54435 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54436 stub in support for C reference versions of each encoder primitive
54439 * source/compat/msvc/stdint.h:
54440 ensure intptr_t is defined on MSVC compiles
54443 * source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54444 compiler portable CDECL macro
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
54463 * doc/astyle/apply-to-all-source.py:
54464 add a Python script to apply coding style globally
54467 * doc/astyle/drag-astyle.bat:
54468 fix comment in drag-astyle.bat
54471 * doc/astyle/AStyle.exe, doc/astyle/astyle-config.txt, doc/astyle
54473 Add astyle.exe for Windows, a config file, and a handy drag-drop
54477 * source/x265top.cpp:
54478 also take updates to x265top.cpp
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)
54493 2013-03-29 Deepthi <Deepthi>
54495 * source/encoder/vec/vecprimitives.inc:
54496 xCaldHads4x4 added as an example vector primitive.
54499 * source/encoder/primitives.cpp:
54500 Remove unused parameter warning
54503 2013-03-29 Steve Borho <steve@borho.org>
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
54511 2013-03-28 Steve Borho <steve@borho.org>
54513 * source/encoder/threadpool.cpp:
54514 threadpool: fix MinGW build again
54517 * source/test/testpool.cpp:
54518 testpool: show MD5 hash as 4 hex ints
54521 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
54522 threadpool: make worker threads spin so long as job providers are
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.
54532 Awakening a thread multiple times should be safe; might just cause a
54533 few extra loops for it to go idle later.
54536 * source/encoder/threadpool.cpp:
54537 threadpool: remove idle thread poke when job provider is enqueued
54539 The provider may not have work yet; and if it did it can poke the
54543 * source/CMakeLists.txt:
54544 add -march=i686 globally to gcc compile flags
54546 This was required to fix MinGW link errors on Windows
54547 (__sync_and_fetch*)
54550 * source/test/testpool.cpp:
54551 add a proper hex print for the MD5 hash
54554 * source/test/UnitTest.cpp:
54555 white-space cleanups in UnitTest.cpp
54558 * source/test/CMakeLists.txt, source/test/UnitTest.cpp:
54562 * source/test/CMakeLists.txt, source/test/TestBench.cpp:
54563 better workaround for strdup
54566 * source/test/CMakeLists.txt, source/test/TestBench.cpp:
54567 msys compilation fixes for TestBench
54570 * source/test/CMakeLists.txt, source/test/TestBench.cpp,
54571 source/test/UnitTest.cpp:
54572 fix test bench compiler warnings
54575 * source/test/CMakeLists.txt:
54576 cmake: fix case sensitivity of filenames
54579 * source/test/CMakeLists.txt:
54580 cleanup source/test/CMakeLists.txt
54583 2013-03-25 ShinYee Chung <shinyee@multicorewareinc.com>
54585 * build/linux/make-Makefiles.bash:
54586 Build: Fix missing executable permission on the BASH script.
54589 2013-03-28 nandaku2 <deepthi@multicorewareinc.com>
54591 * Merged in ggopu/gopu_x265 (pull request #19)
54593 Created the Test bench For Vector Premitive Functions
54596 2013-03-28 ggopu <ggopu>
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
54603 2013-03-29 ShinYee Chung <shinyee@multicorewareinc.com>
54605 * source/encoder/threadpool.cpp:
54606 threadpool: Fix missing #include for memset().
54609 2013-03-28 Steve Borho <steve@borho.org>
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
54616 * source/encoder/primitives.h:
54617 primitives: use extern "C" instead of _cdecl; is more compiler
54621 * source/encoder/primitives.cpp, source/encoder/primitives.h,
54622 source/x265main.cpp:
54623 primitives: call SetupPrimitives() before starting encoder
54626 * source/CMakeLists.txt, source/encoder/primitives.cpp:
54627 primitives: add ENABLE_PRIMITIVES build option, default to ON
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
54635 * source/encoder/primitives.cpp, source/encoder/primitives.h:
54636 move stdint.h include to primitives.h since it uses std int types
54639 * source/encoder/primitives.h, source/encoder/vec/vecprimitives.inc:
54640 primitives: match x264's pixel compare funcdef so we can later use
54644 * source/encoder/CMakeLists.txt:
54645 fix compile of TComRdCost_SSE.cpp on VC (not sure why this worked
54649 * source/encoder/vec/CMakeLists.txt:
54650 cmake: VC10 appears to support /arch:AVX
54652 We can back this out later if there are problems with it
54655 2013-03-27 Steve Borho <steve@borho.org>
54657 * source/encoder/CMakeLists.txt, source/encoder/primitives.cpp:
54658 add a stub primitives.cpp, showing what CPU runtime detection should
54662 * source/encoder/vec/vecprimitives.inc:
54663 vec: automatically generate a primitive table for each vector
54667 * source/encoder/CMakeLists.txt:
54668 cmake: add primitives.h x265 project
54671 * source/encoder/primitives.h:
54672 introduce EncoderPrimitives structure of function pointers
54675 * source/VectorClass/vectori256.h:
54676 workaround two compiler warnings for AVX2 and VC11
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
54686 This is incomplete. Next step is to declare a function table and set
54690 * source/encoder/TComRdCost_SSE.cpp:
54691 use one contributor per line in copyright header
54694 * source/CMakeLists.txt:
54695 cmake: add option to use multiple processors for compiling
54698 * source/CMakeLists.txt, source/encoder/CMakeLists.txt:
54699 cmake: move /Ob2 flag to be global
54702 * source/test/testpool.cpp:
54703 testpool: add semicolons after PPA macros
54706 * source/encoder/threadpool.cpp:
54707 cmake: use 64bit interlocked commands and C style typecasts
54709 For some reason Microsoft uses signed types for atomic intrinsics
54710 and LONG64 is not the same as uint64_t
54713 * source/test/CMakeLists.txt:
54714 cmake: add PPA and pthread libraries for appropriate build
54718 * source/CMakeLists.txt:
54719 cmake: fix eoln damage from copy-pasting from a web-page
54722 2013-03-27 deepthidevaki <deepthidevaki>
54724 * source/encoder/TComRdCost_SSE.cpp:
54725 Modified vector- xCalcHADs4x4
54728 * source/encoder/TComRdCost_SSE.cpp:
54729 Modifed vector- xCalcHADS4x4
54732 2013-03-27 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54734 * source/encoder/TComRdCost_SSE.cpp:
54735 Merged multicoreware/xhevc into default
54738 2013-03-26 deepthidevaki <deepthidevaki>
54740 * source/encoder/TComRdCost_SSE.cpp:
54741 Modified xCalcHADs4x4 for better optimization
54744 2013-03-26 Deepthi Devaki Akkoorath <deepthidevaki@multicorewareinc.com>
54746 * Merged multicoreware/xhevc into default
54749 2013-03-25 deepthidevaki <deepthidevaki>
54751 * source/encoder/TComRdCost_SSE.cpp:
54752 Modifed vectorized xCalcHADs* for aligned data access
54755 2013-03-26 Steve Borho <steve@borho.org>
54757 * source/encoder/threadpool.cpp:
54758 threadpool: reorder initializers to match member declarations to
54762 * source/test/testpool.cpp:
54763 testpool: memset requires string.h on Linux
54766 * source/test/testpool.cpp:
54767 testpool: initialize CUData on allocation, makes hashes persistent
54770 * source/encoder/TComRdCost_SSE.cpp:
54771 disable formal parameter warnings in TComRdCost_SSE, for Release
54774 This pragma should go away when we clean up the vectorized code
54777 * source/test/testpool.cpp:
54778 testpool: add more resolution to elapsed time
54781 * source/encoder/threadpool.cpp:
54782 threadpool: safely allow the threadpool to be freed and reallocated
54785 * source/test/testpool.cpp:
54786 testpool: do not check top-right data dependency for last block in
54789 The fact that the penumltimate block was finished implies all of the
54790 dependencies for the last block are also available.
54793 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
54794 threadpool: fix a couple of bugs, introduce m_numWords variable for
54798 * source/test/testpool.cpp:
54799 testpool: enqueue row 0 to trigger processing
54802 * source/encoder/threadpool.cpp:
54803 threadpool: initialize m_numThreads correctly
54806 * source/encoder/threadpool.cpp:
54807 threadpool: clear m_queuedBitmap after allocation
54810 2013-03-25 Steve Borho <steve@borho.org>
54812 * source/test/CMakeLists.txt, source/test/testpool.cpp:
54813 testpool: add MD5 fake CTU encode logic
54816 * source/test/testpool.cpp:
54817 testpool: make progress on thread pool unit test
54820 * build/README.txt:
54821 simplify build/README.txt
54824 2013-03-25 Deepthi <Deepthi>
54829 * source/encoder/CMakeLists.txt:
54830 Force inlining for x265 project.
54833 * source/encoder/CMakeLists.txt:
54834 Adding /Ob1 for inline functions in vectorclass
54837 2013-03-25 Steve Borho <steve@borho.org>
54839 * source/Lib/TLibCommon/TComRdCost.cpp,
54840 source/encoder/TComRdCost_SSE.cpp:
54841 Added vectorized xCalcHADs4x4.
54844 * source/Lib/TLibCommon/TComRdCost.cpp,
54845 source/encoder/TComRdCost_SSE.cpp:
54846 Added vectorized xCalcHADs8x8 to TComRdCost_sse.cpp.
54849 2013-03-23 Steve Borho <steve@borho.org>
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
54858 The repository will eventually be renamed to x265 as well
54861 2013-03-23 ShinYee Chung <shinyee@multicorewareinc.com>
54863 * source/encoder/TComRdCost_SSE.cpp:
54864 Encoder: Fix the backslash used in an #include.
54866 The lookup fails in Linux platform, while VC works with both
54867 backslash and forwardslash
54870 * build/linux/make-Makefiles.bash:
54871 Build: cmake bash script for Linux 64bit platform.
54874 2013-03-22 Steve Borho <steve@borho.org>
54876 * source/CMakeLists.txt:
54877 cmake: fix a copy-pasted comment
54880 * source/CMakeLists.txt, source/VectorClass/CMakeLists.txt,
54881 source/encoder/CMakeLists.txt:
54882 cmake: merge VectorClass and all vectorization knowledge into
54886 * source/x265cfg.cpp:
54887 fixup a harmless mistake made when renaming files
54890 2013-03-23 ShinYee Chung <shinyee@multicorewareinc.com>
54892 * source/Lib/CMakeLists.txt:
54893 Build: Fix compile errors in HM codes due to compiler warning on
54897 2013-03-22 Steve Borho <steve@borho.org>
54899 * source/CMakeLists.txt:
54900 cmake: for gcc builds, select Release build type by default
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/
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
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
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
54930 This auto-detects the VS install location and skips impossible
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
54941 This makes it easy to configure the build options for each target.
54942 The number of build options is about to grow.
54945 * source/Lib/TLibCommon/TComSlice.cpp:
54946 remove an include of a decoder header from the common lib
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
54983 We should be finding other decoders to test with as well
54986 * source/encoder/threadpool.h, source/test/testpool.cpp:
54987 threadpool: make pool destructor protected to force the use of
54991 * source/CMakeLists.txt, source/test/CMakeLists.txt,
54992 source/test/testpool.cpp:
54993 add unit test for thread pool, incomplete
54996 * source/App/TAppEncoder/TAppEncCfg.cpp:
54997 ignore warnings in Y4M header reader imported from VPL
55000 2013-03-21 Steve Borho <steve@borho.org>
55002 * source/App/TAppEncoder/TAppEncCfg.cpp:
55003 fix white-space damage in TAppEncCfg.cpp
55006 * source/App/TAppEncoder/TAppEncCfg.cpp:
55007 Fix eoln damage in TAppEncCfg.cpp
55010 * source/Lib/TLibCommon/TComMv.h:
55011 fix another compiler warning in the HM
55014 * source/Lib/TLibCommon/TComSlice.h:
55015 fix a warning in the HM header
55018 * source/App/TAppEncoder/CMakeLists.txt:
55019 cmake: encoder app now links against x265 library (source/encoder)
55022 * source/App/TAppEncoder/TAppEncCfg.cpp:
55023 encoder: gcc requires math.h for ceil()
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
55031 * source/CMakeLists.txt, source/Lib/TLibCommon/CMakeLists.txt,
55032 source/encoder/CMakeLists.txt:
55033 cmake: move TComRdCost_SSE build to encoder/CMakeLists.txt
55036 2013-03-21 ggopu <ggopu>
55038 * build/ConfigureSolution.bash:
55039 Noo Need for this Script
55042 * build/ConfigureSolution.bat:
55043 No Need for this Script
55046 * build/ConfigureBuild.bat:
55047 Modified the Script for Build Mode
55050 2013-03-21 Deepthi <Deepthi>
55055 * build/ConfigureBuild.bat:
55056 Updates to build script
55059 * source/encoder/TComRdCost_SSE.cpp:
55060 Removing redundant path
55063 * source/Lib/TLibCommon/CMakeLists.txt:
55064 Adding include directories and vector build options.
55067 * source/VectorClass/CMakeLists.txt:
55068 Changing all vector builds to SSE2 for now.
55071 * source/Lib/TLibCommon/CMakeLists.txt:
55072 Forward slash error in Cmake script
55075 * build/buildSolution.bash:
55076 Removing initial build script
55079 2013-03-21 sumalatha <sumalatha>
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
55087 2013-03-21 nandaku2 <deepthi@multicorewareinc.com>
55089 * Merged in ggopu/xhevc_ggopu (pull request #6)
55094 2013-03-20 ggopu <ggopu>
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
55101 * build/ConfigureSolution.bash:
55102 Script is for To Build Only Solutions for All MinGW Compilers or Any
55103 Specific MinGW Compilers
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
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
55116 2013-03-21 Steve Borho <steve@borho.org>
55118 * source/encoder/threadpool.cpp:
55119 add MACOS cpu number detection
55121 This doesn't imply we care about MacOS, only that I found code for
55125 2013-03-21 nandaku2 <deepthi@multicorewareinc.com>
55127 * Merged in mandarmcw/xhevc_mandar (pull request #5)
55129 Functions vectorized stage 1
55132 2013-03-20 mandarmcw <mandarmcw>
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
55141 * Addedd file source/encoder/TComRdCost_SSE.cpp to Cmakelists file
55144 2013-03-19 Mandar Gurav <mandar@multicorewareinc.com>
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
55154 * Merged multicoreware/xhevc into default
55157 2013-03-19 mandarmcw <mandarmcw>
55159 * source/encoder/TComRdCost_SSE.cpp:
55160 Updated all file names with *_SSE
55163 * source/encoder/TComRdCost_SSE.cpp:
55164 New TComRdCost.cpp file with Vectorization.
55167 * source/Lib/TLibCommon/TComRdCost.cpp:
55171 * source/Lib/TLibCommon/TComRdCost.cpp:
55175 * source/Lib/TLibCommon/TComRdCost.cpp:
55176 Discard changes. Revert back to original source
55179 2013-03-19 Mandar Gurav <mandar@multicorewareinc.com>
55181 * Merged multicoreware/xhevc/default (954436fbb3df) into default
55184 2013-03-19 mandarmcw <mandarmcw>
55186 * source/Lib/TLibCommon/TComRdCost.cpp:
55187 Functions vectorized stage 1 : TcomRdCost::xGetSAD* (Replace * with
55188 the numbers - 8, 16, 32, 64, 12, 24)
55191 2013-03-20 Steve Borho <steve@borho.org>
55193 * source/encoder/threadpool.cpp:
55194 threadpool: add CPU core count detection, remove need for friend
55198 * build/buildSolution.bash:
55199 switch build/buildSolution.bash to unix EOLN, no behavior change
55202 * source/encoder/threadpool.cpp, source/encoder/threadpool.h:
55203 threadpool: add worker thread implementation, non-blocking idle list
55206 * source/App/README.txt, source/Lib/README.txt,
55207 source/VectorClass/README.txt:
55208 add README files describing where various code originated
55211 * source/VectorClass/CMakeLists.txt:
55212 cmake: update name of VectorClass lib
55216 ignore Mercurial merge/patch remnants
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
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
55261 2013-03-20 sumalatha <sumalatha>
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
55271 2013-03-20 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55273 * Merged multicoreware/xhevc into default
55276 * Merged multicoreware/xhevc into default
55279 2013-03-19 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55281 * Merged multicoreware/xhevc into default
55284 2013-03-19 MCW <MCW@MCW-PC.Belkin>
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
55296 * cfg/encoder_lowdelay_P_main.cfg:
55297 Removing encoder cfg file
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
55307 2013-03-19 Sumalatha Polureddy <sumalatha@multicorewareinc.com>
55309 * Merged multicoreware/xhevc/default (954436fbb3df) into default
55312 2013-03-20 nandaku2 <deepthi@multicorewareinc.com>
55314 * Merged in ggopu/xhevc_ggopu (pull request #2)
55316 New Script for To build the Windows Solution / Make files for all
55317 the VS and MSYS Compilers
55320 2013-03-19 ggopu <ggopu>
55322 * build/buildSolution.bash:
55323 New Script for To build the Windows Solution / Make files for all
55324 the VS and MSYS Compilers
55327 2013-03-19 Steve Borho <steve@borho.org>
55329 * source/encoder/CMakeLists.txt, source/encoder/threadpool.cpp,
55330 source/encoder/threadpool.h:
55331 partially completed thread pool
55333 needs PoolThread::ThreadMain(), ThreadPoolImpl::PokeIdleThread(),
55334 and a shutdown/flush mechanism for the pool
55337 2013-03-19 Deepthi <Deepthi>
55342 2013-03-18 Deepthi <Deepthi>
55344 * source/Lib/TLibCommon/TComRdCost.h:
55345 Backed out changeset: db7ddb189d7d
55348 * source/Lib/TLibCommon/TComRdCost.h:
55352 2013-03-19 Steve Borho <steve@borho.org>
55354 * source/encoder/threadpool.h:
55355 threadpool: stub in interfaces for the thread pool and job providers
55358 2013-03-18 Steve Borho <steve@borho.org>
55360 * source/encoder/threading.h:
55361 threading: remove copy assignment operator body
55363 I want a compile error generated if it is attempted
55366 * source/encoder/CMakeLists.txt:
55367 cmake: remove redundant lib prefix
55369 This was building liblibx265
55372 * source/encoder/threading.cpp, source/encoder/threading.h:
55373 threading: fix compile problems with gcc on Linux
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)
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
55399 * source/Lib/TVectorClass/CMakeLists.txt:
55400 cmake: fix comment about /arch:AVX flag, it is only necessary for
55404 * source/Lib/TVectorClass/CMakeLists.txt:
55405 cmake: white-space nits
55408 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/CMakeLists.txt:
55409 cmake: isolate /arch:AVX compile flag to code which includes vector
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!
55416 * source/Lib/TVectorClass/CMakeLists.txt:
55417 cmake: no need to build dispatch_example.cpp
55420 2013-03-16 Steve Borho <steve@borho.org>
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
55429 * build/README.txt:
55430 document MSYS build instructions
55433 * source/Lib/CMakeLists.txt:
55434 cmake: MSYS gcc requires -msse4 and does not support AVX2 intrinsics
55438 * source/Lib/CMakeLists.txt:
55439 cmake: VC9 can handle only SSE4.2 intrinsics (closes #1)
55441 gcc was tested under CentOS 6.3 and it compiled fine as-is
55444 2013-03-15 Steve Borho <steve@borho.org>
55446 * source/Lib/CMakeLists.txt:
55447 cmake: VC11 does support AVX2 intrinsics, but lib does not compile
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
55456 /arch:AVX2 was not valid, but /arch:AVX seemed to enable AVX2
55460 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/vectori128.h:
55461 cmake: add INSTRSET definitions for various VC versions (refs #1)
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.
55467 2013-03-15 Deepthi <Deepthi>
55469 * source/Lib/CMakeLists.txt:
55473 * source/Lib/CMakeLists.txt, source/Lib/TVectorClass/CMakeLists.txt:
55474 Adding Cmake build scripts for VectorClass
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
55495 2013-03-15 ShinYee Chung <shinyee@multicorewareinc.com>
55497 * source/CMakeLists.txt:
55498 Build: Update GCC compilations with more warning options.
55501 2013-03-14 Steve Borho <steve@borho.org>
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
55511 I want newly added files and folders to have full warnings by
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
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.
55528 2013-03-11 Steve Borho <steve@borho.org>
55530 * source/Lib/PPA/ppa.cpp:
55531 ppa: use API bindings from public Linux PPA package
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.
55538 2013-03-07 Steve Borho <steve@borho.org>
55540 * source/App/TAppDecoder/CMakeLists.txt,
55541 source/App/TAppEncoder/CMakeLists.txt:
55542 ppa: -ldl is necessary for UNIX systems; not necessarily gcc
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
55548 * source/App/TAppEncoder/TAppEncTop.cpp,
55549 source/Lib/PPA/ppaCPUEvents.h:
55550 ppa: add some very high level CPU events in the encoder
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
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
55571 * source/Lib/TLibEncoder/CMakeLists.txt:
55572 fix case sensitivity of file paths in TLibEncoder/CMakeLists.txt
55575 2013-03-06 Steve Borho <steve@borho.org>
55577 * source/App/TAppDecoder/CMakeLists.txt,
55578 source/App/TAppEncoder/CMakeLists.txt:
55579 reorder library linking to help gcc ld to resolve dependencies
55582 * source/CMakeLists.txt:
55583 copy gcc warning flags from HM Makefiles
55585 Can now compile without warnings on MSYS on Windows, but cannot link
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
55747 HM-10.0-dev@3375 with some parts trimmed and some trivial folder
55750 https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/