- 13 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Moving because q_index is used only by encoder. Change-Id: I0b96175614ed4fd3d76ee56a0ba36258e1e896f6
-
- 12 Nov, 2013 - 5 commits
-
-
Dmitry Kovalev authored
Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
-
Deb Mukherjee authored
Implements scan order to band map with arrays in both the encoder and decoder to remove conditional statements. Encoding seems to be about 1% faster at speed 0, tested on football. Decoding seems to be about 0.5-1% faster on a set of 25 videos. Change-Id: Idb233ca0b9e0efd790e30880642e8717e1c5c8dd
-
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
-
Dmitry Kovalev authored
Change-Id: I70a0878b23bda0ac3ff8733b4c96d5c636bc551c
-
- 11 Nov, 2013 - 2 commits
-
-
Dmitry Kovalev authored
We use {sb, mb, b, ab}_index only inside encoder, so moving them into appropriate data structure. Change-Id: Ib5c1036716354d9d321e11a60c1634c1cb8f9716
-
Jingning Han authored
Make the macroblockd_plane contain dynamic buffer pointers instead static pointers to the memory space allocated therein. The decoder uses the buffer allocated in pbi, while encoder will use a dual buffer approach for rate-distortion optimization search. Change-Id: Ie6f24be2dcda35df7c15b4014e5ccf236fb3f76c
-
- 08 Nov, 2013 - 2 commits
- 07 Nov, 2013 - 3 commits
-
-
Yunqing Wang authored
This patch fixed the issue reported in "Issue 655: remove textrel's from 32-bit vp9 encoder". The set of vp9_subpel_variance functions that used x86inc.asm ABI didn't build correctly for 32bit PIC. The fix was carefully done under the situation that there was not enough registers. After the change, we got $ eu-findtextrel libvpx.so eu-findtextrel: no text relocations reported in 'libvpx.so' Change-Id: I1b176311dedaf48eaee0a1e777588043c97cea82
-
Jingning Han authored
The term x represents macroblock pointer across encode_block. Change the two local variable names to avoid confusion. Change-Id: Ic732e73023525d673c0a678ed2708ac1edf5a3f9
-
Paul Wilkins authored
Change-Id: I6e4a266fdbad1d222eb45d45b67bbb82d091821a
-
- 06 Nov, 2013 - 5 commits
-
-
Ivan Maltz authored
SVC multiple layer per frame encoding is invoked with vpx_svc_init and vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg. Additional improvements: - make dummy frame handling a bit more explicit - fixed bug with single layer encodes - track individual frame sizes and psnrs instead of averages - parameterized quantizer, 16th scalefactors, more logging, - enabled single layer encodes to generate baseline - include new mode for 3 layer I frame with 5 total layers Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
-
Dmitry Kovalev authored
Change-Id: I04c55daef89bca2b85cb7db0850f9b052abc5a7c
-
Deb Mukherjee authored
Removes stack-allocation of token_cache in the tokenize function in the encoder. Change-Id: Ifdbab76dc2b23384da0080d2e9390533e489db8c
-
Dmitry Kovalev authored
Change-Id: I42c75530a8c9cff68480657f074131e6b60d9fca
-
Dmitry Kovalev authored
Change-Id: I246364bc4270ca13aefb4bc3445bcf102b3170dc
-
- 05 Nov, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Removing special case handling from vp9_tree_probs_from_distribution(), tree_merge_probs(), and vp9_tokens_from_tree_offset() functions. Replacing inter_mode_offset() function with macro INTER_OFFSET which is used now for vp9_inter_mode_tree definition. Change-Id: Iff75a1499d460beb949ece543389c8754deaf178
-
Jingning Han authored
The compound inter prediction could potentially run with initial motion vectors of invalid value and check the mv_cost, which triggers overheap read. This commit resolves this issue by forcing a motion vector value check for compound inter modes of both superblock and sub8x8 block sizes. Change-Id: I4f4fc19ce83c8272782bc382f12c82a3f03212fc
-
Dmitry Kovalev authored
Change-Id: Ie05cc5e2d8ce12eacdf482a8b75e5a6ce6f59f57
-
- 04 Nov, 2013 - 3 commits
-
-
Dmitry Kovalev authored
We only update partition_probs for inter frames but they are constant for key frames. It is not necessary to have constants inside frame context and copy them every time. This change reduces FRAME_CONTEXT size by at least 48 bytes. Change-Id: If70a53be51043f37fe7d113853217937710932a7
-
Adrian Grange authored
Removed: goldfreq, avg_encode_time, avg_pick_mode_time, cpu_freq, interquantizer member variables from VP9_COMP since they are no longer used in the code. Change-Id: I010a82c217d0da03c3f53d1858d3462190c12dcf
-
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
-
- 03 Nov, 2013 - 2 commits
-
-
Jingning Han authored
This commit fixes the use case of plane_block_idx, which determines the plane (Y/U/V) index based on block index. When block idx >= 4 in sub8x8 block loop, it should be of chroma components. Change-Id: I072705aa7b35445524ac607089ca8ce54b7ba478
-
Jingning Han authored
Update best_inter_rd and best_inter_ref_frame only in single ref frame case. Change-Id: Id56825b231a62d6852bd83811410c05a7569f715
-
- 01 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We don't have to calculate 'new' probability in convert_distribution() because it is enough to calculate only 'new' counters which could be used to calculate probability if necessary. That's why removing a lot of unused temporary probability arrays and reducing number of get_binary_prob() calls. Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
-
- 31 Oct, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
-
Deb Mukherjee authored
The experiment is no longer used and can be removed. Change-Id: I9feab378fc895c120aa375353c68f93cad090609
-
- 30 Oct, 2013 - 4 commits
-
-
Marco Paniconi authored
-Don't reduce maxQ for gold/alt in CBR mode. -Fix to min/maxQ for first/initial key frame. -Add more speeds to datarate test and reduce the starting bitrate for test. Change-Id: Id2a333d76dd3f6a51b322ca984588e2a22159c58
-
Dmitry Kovalev authored
Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
-
Jingning Han authored
This commit makes zcoeff_blk cache the case where the entire block is quantized to be zero (without applying zero-forcing) in the rate- distortion optimization loop, and skip the forward DCT, quantization, inverse DCT, and reconstruction process in the encode_block stage. It now works for all the block sizes, including sub8x8 blocks. Change-Id: I5ae60a9c436ba3637d11666733554bec4580ef98
-
Yunqing Wang authored
"<< SUBPEL_BITS" needs to be added in the calculation. Call set_scaled_offsets() to calculate x_offset_q4 and y_offset_q4. Change-Id: Ied130ea771510e918f51cd1dc3abe57f4c0962b5
-
- 29 Oct, 2013 - 4 commits
-
-
Dmitry Kovalev authored
Change-Id: I56f8c50ac382202f66040cd9cfaa05d889572fc7
-
Dmitry Kovalev authored
Wrong value was used in get_tx_type_4x4() function, so making initialization before that call. Change-Id: Ief30bb1e0c03b2f23d993bbf9ae18d7150ba9a83
-
Dmitry Kovalev authored
It is enough to check just block type: intra or inter. Intra block implies intra prediction mode, and inter block implies inter mode. Change-Id: I3cf98731a3935f670a3cd8e2b2443483eb944be4
-
Dmitry Kovalev authored
Change-Id: I5b17f40e515c4bcf9ebef5380270a214af4e0115
-
- 28 Oct, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Making partition read/write logic more clear. Change-Id: I1981e90327257d37095567c62d72a103cda1da33
-
Dmitry Kovalev authored
Passing scan & iscan as parameters, adding useful local variables. Change-Id: Ia2a87906941db9557350d273669ce5c3cdb7235d
-
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
-