- 13 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Moving because q_index is used only by encoder. Change-Id: I0b96175614ed4fd3d76ee56a0ba36258e1e896f6
-
- 12 Nov, 2013 - 2 commits
-
-
Jingning Han authored
This commit enables the dual buffer rate-distortion optimization and encoding scheme. It stacks the original transform coefficients, quantized levels, and reconstructed coefficients, in the rate- distortion optimization search process, hence eliminates the need to re-run residual generation, forward transform, and quantization in the encoding stage. Change-Id: I011bfad3a59a380a869ee552e91dae0394ec492e
-
Jingning Han authored
Allocate memory space of dual buffer sets that store the coeff, qcoeff, dqcoeff, and eobs. Connect the pointers of macroblock_plane and macroblockd_plane to the actual buffer in use accordingly. Change-Id: I2f0b5f482ca879fae39095013eaf8901db20a5a4
-
- 11 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We use {sb, mb, b, ab}_index only inside encoder, so moving them into appropriate data structure. Change-Id: Ib5c1036716354d9d321e11a60c1634c1cb8f9716
-
- 07 Nov, 2013 - 1 commit
-
-
Paul Wilkins authored
Change-Id: I6e4a266fdbad1d222eb45d45b67bbb82d091821a
-
- 06 Nov, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I04c55daef89bca2b85cb7db0850f9b052abc5a7c
-
Dmitry Kovalev authored
Change-Id: I246364bc4270ca13aefb4bc3445bcf102b3170dc
-
- 04 Nov, 2013 - 1 commit
-
-
Adrian Grange authored
Removed three members from the VP9_COMP data structure: inter_zz_count, gf_bad_count, gf_update_recommended. These were part of the VP8 real-time mode implementation that was removed from the initial VP9 codecbase. Change-Id: I866b083b88ef02c74837277d50ce532ca88492f3
-
- 30 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
-
- 29 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I5b17f40e515c4bcf9ebef5380270a214af4e0115
-
- 28 Oct, 2013 - 1 commit
-
-
James Zern authored
replaces use of cur_tile_mi_(row|col)_(start|end) by VP9_COMMON, making it less stateful and more reusable for parallel tile decoding Change-Id: I1df09382b4567a0e5f4434825d47c79afe2399be
-
- 25 Oct, 2013 - 4 commits
-
-
James Zern authored
Change-Id: If5cea3d389bb1135ee490d273e57cc2c43325d01
-
James Zern authored
Change-Id: I969406574c6658936e9f6db5752f1b295025aab5
-
James Zern authored
this will allow for separate storage to be used in tile decoding Change-Id: I025595d83118bdc82a545dae69bc6602e8d2a6e3
-
James Zern authored
update_partition_context / partition_plane_context: this will allow for separate storage to be used in tile decoding Change-Id: Ie0bc393531ab7e9d2ce35c95111849b294aad4ed
-
- 24 Oct, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I6e0e19231a48364c1de7dfab730b121ab227f111
-
Dmitry Kovalev authored
Change-Id: I1868fb75ed88bfa65c1c2ca24677d65f2894d713
-
- 23 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
For consistency with idct function names. Renames: vp9_short_fdct4x4 -> vp9_fdct4x4 vp9_short_walsh4x4 -> vp9_fwht4x4 Change-Id: Id15497cc1270acca626447d846f0ce9199770f58
-
- 21 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We used set_partition_seg_context() only before calls to: 1. update_partition_context() 2. partition_plane_context() Moving these functions from vp9_blockd.h to vp9_onyxc_int.h and inlining set_partition_seg_context into them. After that it is not necessary to have {above, left}_seg_context fields in MACROBLOCKD struture, so removing them also. Change-Id: I4723f59e1c8f3788432b7f51185d8d747b3a97f9
-
- 18 Oct, 2013 - 2 commits
-
-
Jingning Han authored
This commit makes the buffer allocation of zcoeff_blk array in pick_mode_context block size aware. It calculates the number of 4x4 blocks in the partition and assigns the memory space accordingly. This process (and the uninitialization) is done once for each encoding pass. It allows memory copy of smaller buffer when possible. For football at 600kbps, the runtimes improve by about 1%: speed 1, 45961ms -> 45472ms speed 2, 23863ms -> 23598ms Change-Id: Id2ca24906fa89f46fa5fe742ec4b8efc2a61f877
-
Dmitry Kovalev authored
That makes decoder and encoder (only bitstream writing part) a little bit simpler and faster. Moving get_sb_index() function to the encoder. Change-Id: Ie91aaeefd69c84b085948267b33556a7666c6278
-
- 17 Oct, 2013 - 2 commits
-
-
Yaowu Xu authored
In deciding the transform size for a given block in a given TX_MODE. Change-Id: I1467da09853e69cd320695a24c04e19a2f3d04fb
-
Guillaume Martres authored
Also avoid using floating-point operations when adaptive quantization is disabled. Change-Id: I54936d7afb661df049cdb3ecd246d04ac2a9d8d3
-
- 16 Oct, 2013 - 3 commits
-
-
Guillaume Martres authored
This should make parallel tiles decoding easier to implement. Change-Id: I6226456dd11f275fa991e4a7a930549da6675915
-
Guillaume Martres authored
The only case where they were intentionally pointing to different structures was in mbgraph, and this didn't have the expected behavior because both of these pointers are used interchangeably through the code Change-Id: I979251782f90885fe962305bcc845bc05907f80c
-
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
-