- 16 Oct, 2013 - 1 commit
-
-
Guillaume Martres authored
This should be similar to what x264 does with --aq-mode 1. It works well with clips like parkjoy and touhou (http://x264.nl/developers/Dark_Shikari/LosslessTouhou.mkv). At low bitrates, the segmentation signaling overhead may negate the benefits of this feature. (PGW) Default changed to feature OFF to allow provisional merge. Change-Id: I938abf9bb487e1d4ad3b0264ea03d9826275c70b
-
- 15 Oct, 2013 - 5 commits
-
-
Alexander Voronov authored
Updated the encoder to handle frames that are coded intra-only. Intra-only frames must be non-showable, that is, the "show frame" flag must be set to 0 in the frame header. Tested by forcing the ARF frames to be coded intra- only. Note: The rate control code will need to be modified to account for intra-only frames better than they are currently handled. Change-Id: I6a9dd5337deddcecc599d3a44a7431909ed21079
-
Jingning Han authored
Remove the semicolon in the definition of vp9_zero macro. Make all the use cases of vp9_zero of consistent format. Change-Id: Ibaf9751e8595872b12766381a93d185a4d90df8f
-
Jingning Han authored
Remove the unused variable vp9_64x64_zeros from vp9_encodeframe_. Change-Id: I34bfdcab9a9105440ad05154c1e0516e70258785
-
Jingning Han authored
Change-Id: I2d96940fae4c7a16661a43c2bf6907d8b1c1a127
-
Dmitry Kovalev authored
Change-Id: Icbcf68b5b685a56f255ebc3859c9692accdadf9e
-
- 09 Oct, 2013 - 1 commit
-
-
Jingning Han authored
Use b_mode_info to store the inter prediction mode of sub8x8 block, in replacement of the use of partition_info. Remove redundant buffer update for partition_info. For bus_cif at 2000 kbps, this seem to make speed 0 about 1% faster. Change-Id: Id1b3be45e75a24fb4b42335ac480c23e440978f6
-
- 08 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We already have itxm_add member in MACROBLOCKD structure. Both inv_txm4x4_1_add and inv_txm4x4_add are just its special cases for different eob values. But eob logic is already implemented in vp9_iwht4x4_add and vp9_idct4x4_add (that's why also removing inverse_transform_b_4x4_add). Change-Id: I80bec9b6f7d40c5e5033c613faca5c819c3e6326
-
- 04 Oct, 2013 - 2 commits
-
-
Jim Bankoski authored
Change-Id: Id9d837e062d9c4a94def4b4ed1f49a67c75d3618
-
Dmitry Kovalev authored
The idea is to have the following names for each transform size: vp9_idct4x4_add vp9_idct4x4_1_add vp9_idct4x4_10_add vp9_idct4x4_16_add vp9_idct8x8_add vp9_idct8x8_1_add vp9_idct8x8_10_add vp9_idct8x8_64_add etc for 16x16, 32x32 The actual list of renames in this patch: vp9_idct_add_lossless -> vp9_iwht4x4_add vp9_short_iwalsh4x4_add -> vp9_iwht4x4_16_add vp9_short_iwalsh4x4_1_add -> vp9_iwht4x4_1_add vp9_idct_add -> vp9_idct4x4_add vp9_short_idct4x4_add -> vp9_idct4x4_16_add vp9_short_idct4x4_1_add -> vp9_idct4x4_1_add Change-Id: I6f43f7437c68dd30cdd05d72e213765578ed30b1
-
- 03 Oct, 2013 - 4 commits
-
-
Jingning Han authored
This commit separates the rate-distortion optimization loop of superblocks from that of sub8x8 blocks. This allows better design rate-distortion optimization search loop for each setting. It also removes the use of SPLITMV and I4X4_PRED therein. No performance change in speed 0 settings. For bus@CIF at 2000kbps, the speed 1 runtime goes from 48009ms to 43894ms (about 10% faster). The overall compression performance on derf changed by -0.021%. Speed 2 runtime goes from 27114ms to 28700ms (6% slower), while the overall coding efficiency goes up by 1.629% for derf, 1.236% for yt. Change-Id: Ie6bdfa0a370148dd60bd800961077f7e97e67dd4
-
Dmitry Kovalev authored
Change-Id: I9a0d0e9c3459954aa7b9c68f92cc5d56385ebd18
-
Paul Wilkins authored
Substantial reworking of the speed vs quality trade offs for speed 1 and 2. In this patch I am attempting to freeze the "quality" meaning of speeds 1 and 2 relative to speed 0 so that in future we can better evaluate progress. I am targeting : Speed 1 quality ~-5% vs speed 0. Speed 2 quality ~-10% vs speed 0 It is inevitable that quality will still fluctuate a little as we adjust settings and add new features, but we will attempt to keep as close as possible to these values. Above speed 2 things will remain a bit more fluid for now. In this patch speed 1 is approximately 4-5x as fast as speed 0. This is similar to before but the quality hit is a lot less. Likewise speed 2 is approximately 2x as fast as speed 1 but is similar in quality to the previous speed 1 configuration. Also slight change to behavior of FLAG_EARLY_TERMINATE to insure all reference frames get at least one rd test. Important for very low variance regions. WIP :- Added a new speed level with old speed 4 becoming speed 5. Speed 3 and 4 tradeoffs still WIP Change-Id: Ic7a38dd7b5b63ab1501f9352411972f480ac6264
-
Jim Bankoski authored
This commit causes use last partition to consider whether a 64x64 has motion that might make a new partitioning worth while. Change-Id: I3a57bedef4f3cd961fadbfa96651c206fa36da4a
-
- 01 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Also renaming mb_row -> mi_row, mb_col -> mi_col arguments and calculate mb_rows/mb_cols values from mi_rows/mi_cols. Change-Id: I6919a279f560648e23bc9a12f507d17c21ffd5d7
-
- 30 Sep, 2013 - 3 commits
-
-
Jingning Han authored
Make encoder skip rectangular partition check in speed 1 and above, when early termination was triggered in partition split. Thanks Guillaume (gmartres@) for catching this issue. This change makes bus_cif at 2000kbps speed 1 runtime goes down from 25612ms to 23438ms (about 9% speed-up), at the expense of -0.235% performance down. Change-Id: I98613fad081a261d30d5fa206f934ca70601c180
-
Paul Wilkins authored
The code now takes into account temporal and spatial information to determine the partition size range, but the frequency counts have been removed. The net effect is similar in quality but about 10% faster. Change-Id: I39a513fb79cec9177b73b2a7218f0da70963ae95
-
Paul Wilkins authored
This patch deletes the variance based speed three partitioning. Speed 3 now uses the same partitioning method as speed 2 but with some stricter conditions. The speed and quality are now somewhere between speeds 2 and 4 whereas before it was worse in both than speed 4. Change-Id: Ia142e7007299d79db3ceee6ca8670540db6f7a41
-
- 26 Sep, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I60dee58a4fd24d3c4f3c101a49d30e217309f43a
-
- 25 Sep, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Renaming txfm_stepdown_count to tx_stepdown_count and max_txfm_size to max_tx_size. Change-Id: Ifc173e22c78240e561a57c4c741b64b1b8fc6fef
-
- 24 Sep, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Using best_mv[2] array instead of two separate variables. Change-Id: Iefa0a41f5c42c42f2c66cef26750da68405f0f25
-
Yaowu Xu authored
After change of MI context storage , mi_8x8[] pointer may be null for a block outside of image border. The commit changes to access the data only after validation of mi_row and mi_col. Change-Id: I039c4eb486a228ea9d8e5f35ab9ae6717d718bf3
-
- 23 Sep, 2013 - 1 commit
-
-
Jingning Han authored
This commit enables forcing all coefficients zero per transformed block, when its rate-distortion cost is lower than regular coeff quantization. The overall performance improvement (including its parent patch on calculating rd cost per transformed block) at speed 1: derf: 0.298% yt: 0.452% hd: 0.741% stdhd: 0.006% Change-Id: I66005fe0fd7af192c3eba32e02fd6d77952accb5
-
- 20 Sep, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I584fe50f73879f6a72fada45714ef80893b6d549
-
- 19 Sep, 2013 - 1 commit
-
-
Yaowu Xu authored
Change-Id: I76f440a917832c02d7a727697b225bac66b99f56
-
- 17 Sep, 2013 - 1 commit
-
-
Yaowu Xu authored
Change-Id: I16633269582a640809dca27572bbe99efa6369fc
-
- 16 Sep, 2013 - 1 commit
-
-
Yaowu Xu authored
The commit added reset of pred_mv at the beginning of each SB64x64 partition mv search, also limited the usage of pred_mv only when search on the largest partition is already done. This is to fix a crash at speed 1/2 encoder where an invalid mv is used in mv search. Change-Id: I39010177da76d054e3c90b7899a44feb2e3a5b1b
-
- 13 Sep, 2013 - 1 commit
-
-
Jingning Han authored
This commit enables adaptive constraint on motion search range for smaller partitions, given the motion vectors of collocated larger partition as a candidate initial search point. It makes speed 0 runtime of bus at CIF and 2000 kbps goes from 167s down to 162s (3% speed-up), at 0.01dB performance gains. In the settings of speed 1, this makes the runtime goes from 33687 ms to 32142 ms (4.5% speed-up), at 0.03dB performance gains. Compression performance wise, it gains at speed 1: derf 0.118% yt 0.237% hd 0.203% stdhd 0.438% Change-Id: Ic8b34c67810d9504a9579bef2825d3fa54b69454
-
- 11 Sep, 2013 - 1 commit
-
-
Scott LaVarnway authored
mode_info_context was stored as a grid of MODE_INFO structs. The grid now constists of pointers to MODE_INFO structs. The MODE_INFO structs are now stored as a stream (decoder only), eliminating unnecessary copies and is a little more cache friendly. Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
-
- 10 Sep, 2013 - 3 commits
-
-
Yunqing Wang authored
If the current obtained distortion is very small, which happens for static image case, we pick the current partition type without further split checking. This won't affect regular videos. For static videos, we got 10%~12% encoding speed gain. PSNR was better for some clips, and worse for others. Overall it was even. Change-Id: If787a57bedf46fc595ca4f5ded2b0c0a69e9fdef
-
Paul Wilkins authored
A previous speed feature skipped modes not used in earlier partitions but this not longer worked as intended following changes to the partition coding order and in conjunction with some other speed features (Especially speed 2 and above). This modified mode skip feature sets a mask after the first X modes have been tested in each partition depending on the reference frame of the current best case. This patch also makes some changes to the order modes are tested to fit better with this skip functionality. Initial testing suggests speed and rd hit count improvements of up to 20% at speed 1. Quality results. (derf -1.9%, std hd +0.23%). Change-Id: Idd8efa656cbc0c28f06d09690984c1f18b1115e1
-
Paul Wilkins authored
Added check that the returned max and minimum are valid in bottom and right border cases. Change-Id: I2d6cdc9b5f04c7d0ff512ddcf3228331e028bf9b
-
- 09 Sep, 2013 - 2 commits
-
-
Jingning Han authored
Initialize the probability model context with default value in encode_sb. Change-Id: Id826114024dfc21c7ef41aea9f4a0316d4a5cb95
-
James Zern authored
This reverts commit dae17734 Encode crashes, leaks and increases integer overflow errors. Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2
-
- 08 Sep, 2013 - 1 commit
-
-
Jim Bankoski authored
Change-Id: Ifc9da470358f58e800e3d0d70a565b61e5f7834a
-
- 06 Sep, 2013 - 1 commit
-
-
Scott LaVarnway authored
mode_info_context was stored as a grid of MODE_INFO structs. The grid now constists of a pointer to a MODE_INFO struct and a "in the image" flag. The MODE_INFO structs are now stored as a stream, eliminating unnecessary copies and is a little more cache friendly. For the test clips used, the decoder performance improved by ~4.3% (1080p) and ~9.7% (720p). Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p) and 5.9% (720p). Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
-
- 03 Sep, 2013 - 1 commit
-
-
Paul Wilkins authored
Speed 4 fixed partition size. Use fixed size unless it does not fit inside image, in which case use the largest size that does. Change-Id: I250f7a80506750dd82ab355721624a1344247223
-
- 28 Aug, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Switching from mi_{width, height}_log2 and b_{width, height}_log2 to num_8x8_blocks_{wide, high} and num_4x4_blocks_{wide, high}. Removing redundant code, adding const. Change-Id: Iaab2207590fd24d0b76999071778d1395dc5cd5d
-
Dmitry Kovalev authored
Change-Id: I752e374867d459960995b24d197301d65ad535e3
-
- 27 Aug, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I62bb07c377f947cb72fac68add7a6b199e42c6b9
-