summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-17Add SSE2 versions for rectangular sad and sad4d functions.Ronald S. Bultje
About 11% overall encoder speedup with the sbsegment experiment enabled. Change-Id: Iffb1bdba6932d9f11a6c791cda8697ccf9327183
2013-04-17Fairly basic integration of rectangular blocks in encoding RD loop.Ronald S. Bultje
Adds RD integration for 32x16, 16x32, 64x32 and 32x64 rectangular blocks. Derf almost +0.6%, HD a little over +1.0%, STDHD +1.3%. Change-Id: Id651fdb6a655fdbb5c47009757e63317acfb88a5
2013-04-16Recursive partition syntax codingJingning Han
Enable recursive partition information coding from SB64X64 down to MB16X16. The bit-stream syntax is now supporting rectangular block sizes. It starts from SB64X64 and recursively describes the partition type of the current block. If the partition type is PARTITION_NONE, the block is coded as a single unit; if it is PARTITION_HORZ or PARTITION_VERT, the block is segmented into two independently coded rectangular units, with no further partition needed; otherwise, the block is segmented into 4 square blocks. i.e., PARTITION_SPLIT case, each can be potentially further partitioned. Forward adaptive probability modeling is used for the partition information coding, conditioned on the current block size. Change-Id: I499365fb547839d555498e3bcc0387d8a3587d87
2013-04-16Merge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv." into ↵Dmitry Kovalev
experimental
2013-04-16Merge "Adding vp9_write_prob function (macro for now)." into experimentalDmitry Kovalev
2013-04-16Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv.Dmitry Kovalev
Also a little bit of code cleanup: replacing pbi->common with cm, pbi->mb with xd. Change-Id: I2f70a005704a2833d644dfaafc4cd354e6e8532b
2013-04-16Merge "Adding write_le16 and write_le32 functions." into experimentalJohn Koleszar
2013-04-16Merge "Slightly hackish workaround to support rectangles in directional ↵Ronald S. Bultje
intra predictors." into experimental
2013-04-16Merge "Faster vp9_short_fdct4x4 and vp9_short_fdct8x4." into experimentalJim Bankoski
2013-04-16Adding write_le16 and write_le32 functions.Dmitry Kovalev
Change-Id: I7057ed8e2a13a3c5367e2923eb4b3260bd7cf546
2013-04-16Adding vp9_write_prob function (macro for now).Dmitry Kovalev
Change-Id: Ic795cf6fc202bf32c9b5b0b3cef9ac422af53cd0
2013-04-16Faster vp9_short_fdct4x4 and vp9_short_fdct8x4.Christian Duvivier
Scalar path is about 1.3x faster (2.1% overall encoder speedup). SSE2 path is about 5.0x faster (8.4% overall encoder speedup). Change-Id: I360d167b5ad6f387bba00406129323e2fe6e7dda
2013-04-16Slightly hackish workaround to support rectangles in directional intra ↵Ronald S. Bultje
predictors. Change-Id: I8a4da6925f2d58a426c4d122df8b97bb69452e49
2013-04-16Merge "Moving tx_type == DCT_DCT checks inside iht_add functions." into ↵Dmitry Kovalev
experimental
2013-04-16Remove the mb_no_coeff_skip flagJohn Koleszar
This flag was added to VP8 to allow a mode where MB-level skipping was not allowed, saving a bit per mb. It was never used in practice, and hasn't been tested in VP9, so remove it. Change-Id: Id450ec6904c6d06c1919508e7efc52d05cde5631
2013-04-16Moving tx_type == DCT_DCT checks inside iht_add functions.Dmitry Kovalev
tx_type == DCT_DCT check is an implementation detail of iht_add. Also adding dequant_add_y function with explicit DCT_DCT check inside. Change-Id: Ia3cb0225601752cdef0ff6f0acd3a09d9dbd8938
2013-04-16Merge "Code cleanup inside vp9_reconintra4x4.c file." into experimentalDmitry Kovalev
2013-04-16Merge "Adding mv_joint_vertical and mv_joint_horizontal functions." into ↵Dmitry Kovalev
experimental
2013-04-16Merge "Optimize the scaling calculation" into experimentalYunqing Wang
2013-04-16Merge "Removing extra params from x_add_residual() functions" into experimentalScott LaVarnway
2013-04-16Optimize the scaling calculationYunqing Wang
In decoder, the scaling calculation, such as (mv * x_num / x_den), is fairly time-consuming. In this patch, we check if the scaling happens or not at frame level, and then decide which function to call to skip scaling calculation when no scaling is needed. Tests showed a 3% decoder performance gain. Change-Id: I270901dd0331048e50368cfd51ce273dd82b8733
2013-04-16Merge "Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with ↵John Koleszar
functions." into experimental
2013-04-16Removing extra params from x_add_residual() functionsScott LaVarnway
Now that the predictor is the dest, we do not need the extra parameters. Change-Id: I31e2c3d2015f4a1cd12e7f04536d8db478582a0a
2013-04-16Merge "Removing TRUE and FALSE macro definitions." into experimentalJohn Koleszar
2013-04-16Merge "Removing extra params in dequant functions" into experimentalScott LaVarnway
2013-04-15Removing TRUE and FALSE macro definitions.Dmitry Kovalev
Using regular 0 and 1 constants now. Change-Id: Ie763503cbb727847cc8f1d6506cd6f2ee607f056
2013-04-15Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions.Dmitry Kovalev
This is the first CL with vp9_reader changes. All another macro definitions will be replaced after. Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063
2013-04-15Merge "Fix lingering x->skip settings if static_threshold is used." into ↵Ronald S. Bultje
experimental
2013-04-15Merge "Add rectangular block size variance/sad functions." into experimentalRonald S. Bultje
2013-04-15Merge "Make filter RD code and encode breakout variance size-independent." ↵Ronald S. Bultje
into experimental
2013-04-15Fix lingering x->skip settings if static_threshold is used.Ronald S. Bultje
Keyframes don't set this variable, so it would use the last set values from inter frames. Change-Id: Ie1ef45ece2c44b21b5d55f6cea9f7d6e7a445692
2013-04-15Add rectangular block size variance/sad functions.Jingning Han
With this, the RD loop properly supports rectangular blocks. Change-Id: Iece79048fb4e84741ee1ada982da129a7bf00470
2013-04-15Make filter RD code and encode breakout variance size-independent.Ronald S. Bultje
Static threshold results slightly up (+0.1% on derf), probably b/c we now take the filter (sharp/lowpass) into account for the breakout decision. Change-Id: I9f597601da434205142afd05f32690e7ba8fd690
2013-04-15Adding mv_joint_vertical and mv_joint_horizontal functions.Dmitry Kovalev
Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d
2013-04-15Merge "Motion vector decoder cleanup." into experimentalDmitry Kovalev
2013-04-15Code cleanup inside vp9_reconintra4x4.c file.Dmitry Kovalev
Using ROUND_POWER_OF_TWO macro, using array initialization syntax for less code. Change-Id: I661453a6b29a9046fcff0a3f18fccb452b5eb39d
2013-04-15Removing extra params in dequant functionsScott LaVarnway
Now that the predictor is the dest, we do not need the extra parameters. Change-Id: I78db73d39b5aff62f15303f3d51ad2797eae74b6
2013-04-15Merge "Reorder enum i4X4 predcition modes" into experimentalYaowu Xu
2013-04-15Merge "Fix width/height switch-up in U/V SB quantize code." into experimentalRonald S. Bultje
2013-04-15Merge "Removed unused structs in vp9_onyx_int.h." into experimentalRonald S. Bultje
2013-04-15Fix width/height switch-up in U/V SB quantize code.Ronald S. Bultje
Change-Id: I697514efd6024e1b4153bbde58ae5e323b030981
2013-04-15Removed unused structs in vp9_onyx_int.h.Ronald S. Bultje
Change-Id: I1f2dbf04a0140a7cc2060b0a9efb4ed8e5270d3d
2013-04-15Merge "Initial addition of multiple ARF frames" into experimentalAdrian Grange
2013-04-15Initial addition of multiple ARF framesAdrian Grange
This is work-in-progress, it implements multiple ARF encoding behind an experimental flag. It adds the ability to insert multiple ARF frames into a single ARF group. This patch implements the reordering of the coded frames, and implements a fixed-length coding pattern. It applies a fixed quantizer strategy based on where the frame is in the coding sequence. Further work to modify the rate control strategy is ongoing and will be submitted via a set of future patches. In this first step, each ARF group is recursively bisected and an ARF frame added at that position in the sequence. The recursion continues until ARF frames are within MIN_GF_INTERVAL frames. The code sits behind the "multiple-arf" experimental flag ("CONFIG_MULTIPLE_ARF"). The experimental flag "oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled for this patch to work correctly. Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
2013-04-14Merge "Encoder code cleanup." into experimentalDmitry Kovalev
2013-04-14Merge "Adding vp9_read_and_apply_sign function." into experimentalDmitry Kovalev
2013-04-14Merge "Intra code cleanup." into experimentalDmitry Kovalev
2013-04-14Merge "Renaming vp9_token_struct to vp9_token and removing previous ↵Dmitry Kovalev
typedef." into experimental
2013-04-12Intra code cleanup.Dmitry Kovalev
Removing redundant code. Change-Id: I71bfc40a1fb06d8e3149ed5400aa4dfd87a51aac
2013-04-12Motion vector decoder cleanup.Dmitry Kovalev
Change-Id: I7d3b2ef26aba3dfb1d5c83309aab2024e04ee819