- 11 Nov, 2013 - 2 commits
-
-
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
-
hkuang authored
Change-Id: Ic416e3f8a11e82ee298e6f709b2119a9ddf1e2f8
-
- 09 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
This commit fixes the assignment of mode_info pointer per tile. It makes recognition of tiles in both row and column formats and properly arrange the use of mode_info. The bug was first introduced in I6226456dd11f275fa991e4a7a930549da6675915 https://gerrit.chromium.org/gerrit/#/c/67492/ Change-Id: Ie12cd209f53241513728c461ee3d7b9599ddb860
-
- 08 Nov, 2013 - 2 commits
- 07 Nov, 2013 - 6 commits
-
-
Dmitry Kovalev authored
The new expression is much more logical than previous one. Surprisingly both expressions give exactly the same set of dependent values -- have_top, have_left, have_right -- in vp9_predict_intra_block. Change-Id: I63eb1b592b8c37883b3a0dbb1f3daa271e446109
-
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
-
Dmitry Kovalev authored
Now tile decoding consists of two stages: 1. Find tile buffer start and its size, put this info into tile_buffers. 2. Decode each tile based on information from tile_buffers. It seems that stage 1 can also be reused by multithreaded tile decoder. Change-Id: If0cdaefdd6d10bb41c63561346c9ae4cfac081dd
-
Dmitry Kovalev authored
It is more logical to use dqcoeff buffer to put there *dequantized* transform coefficients (inside inverse_transform_block and decode_coefs functions). Dequantization happens inside WRITE_COEF_CONTINUE macro. qcoeff buffer should be only used in the encoder for *quantized* transform coefficients. Change-Id: Ifd54bef272bbf5311ced6669c4f1079f998af5d7
-
- 06 Nov, 2013 - 6 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
-
Paul Wilkins authored
Error in script means vp9_h_predictor_32x32 sse3 version is not enabled. Change-Id: Ia43672740da1ecdfb7fcd420490ef424b04accc4
-
Dmitry Kovalev authored
Change-Id: I42c75530a8c9cff68480657f074131e6b60d9fca
-
Yaowu Xu authored
Change-Id: I1c0c1b92aab33b1e4321b8e584a934fe58e0b324
-
- 05 Nov, 2013 - 10 commits
-
-
hkuang authored
cleanup I63df79a13cf62aa2c9360a7a26933c100f9ebda3. Change-Id: I034848cf05031618818f7df2e7f9c35102686948
-
Dmitry Kovalev authored
Change-Id: I517ad7e1a48910f0d2e95feacd23f143d28b42d6
-
Dmitry Kovalev authored
Change-Id: I7a1e88b5977076e22736c0d6af1d4dcc19d39a6a
-
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
-
Deb Mukherjee authored
Changes to reduce branching in detokenization in order to improve decode speed. Change-Id: I23a74d072cc14d99f6fc054c1e6a72021e777903
-
Deb Mukherjee authored
Removes stack-alocation of token_cache in decode_coefs function Seems to achieve about 1% decode speed improvement as tested on 25 480p videos. Change-Id: I8e7eb3361fa09d9654dfad0677a6d606701fdc6e
-
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
-
Yaowu Xu authored
Change-Id: I7fe44633d29046ddd38c88c00e8520d27ac748bf
-
Dmitry Kovalev authored
Change-Id: Ie05cc5e2d8ce12eacdf482a8b75e5a6ce6f59f57
-
Dmitry Kovalev authored
Replacing update_mode_probs() and adapt_probs() with tree_merge_probs(). Change-Id: I50b2c968d67c9265f5216c700cbeba25fb014654
-
- 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
-
- 02 Nov, 2013 - 1 commit
-
-
James Zern authored
removes a textrel for sh_b23456789abcdefff Change-Id: I80cb9dfd8e49a0fe884c8ff76472275b3a00cb57
-
- 01 Nov, 2013 - 3 commits
-
-
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
-
Yaowu Xu authored
Also removed unused declaration related 6 tap filter Change-Id: Ic17f516141d885157918505f4204081e4c951fad
-
Yaowu Xu authored
1. Reduced the size memset based on eob for 32x32 transform. The reset of non-zero coefficient should probably go into where they are read in inverse transform functions. (TODO) 2. Removed a redundant level of indirection. vp9_iht4x4_add() checks transform type and call vp9_iht4x4_16_add() for tranforms other than DCT_DCT. In this case, the DCT_DCT case has been already handled here. Change-Id: Iacbc77da761f0b308df5acea0f20c9add9f33d20
-
- 31 Oct, 2013 - 4 commits
-
-
Yaowu Xu authored
Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
-
Dmitry Kovalev authored
Making code easier to read and avoiding calculation of skip context twice. Change-Id: I42c376b1a1811bc842bf6420bf81d2de7a1bf980
-
Dmitry Kovalev authored
Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
-
Dmitry Kovalev authored
The change doesn't affect the bitstream. It changes the order or function calls and affects how we reconstruct intra- and inter-blocks. Speed up is about 1...1.5%. For intra-blocks: Before: for each transform block read tokens for each transform block do prediction for each transform block do inverse transform Now: for each transform block read tokens do prediction do inverse transform For inter-blocks: Before: for each transform block read tokens for each transform block do inverse transform Now: for each transform block read tokens do inverse transform Change-Id: I12a79bf1aa5a18c351b8010369bd3ff1deae1570
-