summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2013-09-29Merge "Using is_inter_block and has_second_ref functions."Dmitry Kovalev
2013-09-29Merge "Moving from int_mv* to MV* (3)."Dmitry Kovalev
2013-09-29Merge "Reusing FRAME_CONTEXT struct to simplify the code."Dmitry Kovalev
2013-09-29Merge "Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add."Dmitry Kovalev
2013-09-29Merge "Removing vp9_get_coef_neighbors_handle function."Dmitry Kovalev
2013-09-29Merge "Removing vp9_subpelvar.h from common."Dmitry Kovalev
2013-09-27Reusing FRAME_CONTEXT struct to simplify the code.Dmitry Kovalev
Change-Id: Ia455c1900d84a3221e3681e31e15ca86bd03f89d
2013-09-27Merge "Simplify RDMULT and RDDIV derivation"Guillaume Martres
2013-09-27Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add.Dmitry Kovalev
Making name consistent with vp9_short_idct8x8 and vp9_short_idct8x8_1. Change-Id: I99e0be040ec893f9571dcf090e18f98dc58339f5
2013-09-27Removing vp9_get_coef_neighbors_handle function.Dmitry Kovalev
Change-Id: I6be72c8b048d1ccc7ef43764cf84c32360098970
2013-09-26Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10.Dmitry Kovalev
Making function name consistent with vp9_short_idct16x16 and vp9_short_idct16x16_1. Change-Id: I70e54be9e6b9a1dddab0de470686591e96d05517
2013-09-26Simplify RDMULT and RDDIV derivationGuillaume Martres
Don't divide RDMULT and RDDIV by 100 when RDMULT > 1000. This was probably done to avoid overflow when the rd cost was stored in a 32 bits integer but this is not the case anymore. This change will make it easier to support multiple quantizers per frame. derf compression gain at speed 0: 0.037% Change-Id: Ibeeb9b7cfa1a132a7af41bc90fc07a3bba0857f6
2013-09-25Using is_inter_block and has_second_ref functions.Dmitry Kovalev
Change-Id: I60dee58a4fd24d3c4f3c101a49d30e217309f43a
2013-09-25Merge "Correctly set the segment_id prediction flag and context"Guillaume Martres
2013-09-25Merge "Limit mv search range for first pass and mbgraph"Yaowu Xu
2013-09-25Moving from int_mv* to MV* (3).Dmitry Kovalev
Change-Id: I9795d0937bc07793c13d067281995e0750f694d9
2013-09-25Merge "Moving from int_mv* to MV* (2)."Dmitry Kovalev
2013-09-25Removing vp9_subpelvar.h from common.Dmitry Kovalev
Moving all code from that file to vp9_variace_c.c in the encoder. Change-Id: Ic803d5b4c78d5191e4d25541b3df97337878fc3e
2013-09-25Merge "Replacing txfm with tx."Dmitry Kovalev
2013-09-25Merge "Adding vp9_get_entropy_contexts function."Dmitry Kovalev
2013-09-25Merge "Removing redundant 'extern' keyword."Dmitry Kovalev
2013-09-24Adding vp9_get_entropy_contexts function.Dmitry Kovalev
Change-Id: Ife0dd29fb4ad65c7e12ac5f1db8cea4ed81de488
2013-09-24Replacing txfm with tx.Dmitry Kovalev
Renaming txfm_stepdown_count to tx_stepdown_count and max_txfm_size to max_tx_size. Change-Id: Ifc173e22c78240e561a57c4c741b64b1b8fc6fef
2013-09-24Cleaning up vp9_update_nmv_count function.Dmitry Kovalev
Using best_mv[2] array instead of two separate variables. Change-Id: Iefa0a41f5c42c42f2c66cef26750da68405f0f25
2013-09-24Removing redundant 'extern' keyword.Dmitry Kovalev
Change-Id: Ie51306689c0dc527a8aa12d3984389dd8f360dea
2013-09-24Correctly set the segment_id prediction flag and contextGuillaume Martres
This fix a bug introduced by ac6093d179d8488f90bf10c6d0abcc48be327d28 Change-Id: I0700a4daf7a6a2471074f81a4596352287fb2ac9
2013-09-24Limit mv search range for first pass and mbgraphYaowu Xu
Both first pass and mbgraph search use block size 16x16 for motion estimation. This commit put a limit of motion vector range. The effective range allows the entire 16x16 with required subpel interpolation input to be completely outside image border, but not any further away from image border. Change-Id: Id70a5ed08be49e70959f064859d72adc7d775d08
2013-09-24Moving from int_mv* to MV* (2).Dmitry Kovalev
Updating fractional_mv_step_fp and fractional_mv_step_comp_fp function types. Change-Id: I601c4378bc39ac3ffd4e295d9cbd8e1f74829d46
2013-09-24Merge "Moving from int_mv to MV."Dmitry Kovalev
2013-09-24Merge "Replace memcpy with vpx_memcpy"Yaowu Xu
2013-09-24Replace memcpy with vpx_memcpyYaowu Xu
Also removed obselete comment Change-Id: Iae1664777d76383639c637ee786e0d50fc45819a
2013-09-24Rename defined constantsYaowu Xu
The change is to better reflect the nature of the constants. Change-Id: Icabac6e9bceefbdb3f03f8218f88ef75943c30fb
2013-09-24Prevent using uninitialized value in RD decisionYaowu Xu
INT64_MAX may be assigned as RDCOST when RDCSOST computation is skipped for speed, this commit to prevent INT64_MAX from being used as real RDCOST in transform size decision. Change-Id: I89a945134191bbdea1f1431ade70424ac079eaac
2013-09-24Merge "Change to prevent invalid memory access"Yaowu Xu
2013-09-24Merge "Adding best_mv[2] array instead of two variables."Dmitry Kovalev
2013-09-24Merge "Small tweak in the constant quality parameter"Deb Mukherjee
2013-09-24Merge "Enable per transformed block zero coeffs forcing"Jingning Han
2013-09-24Merge "Calculate rd cost per transformed block"Jingning Han
2013-09-24Small tweak in the constant quality parameterDeb Mukherjee
Improves results a little. Change-Id: I7bcac02dbb65b43a993445cf557c520197114e5c
2013-09-24Merge "Number of instructions in fdct4_1d_sse2 reduced by two."Yunqing Wang
2013-09-24Change to prevent invalid memory accessYaowu Xu
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
2013-09-23Number of instructions in fdct4_1d_sse2 reduced by two.A.Mahfoodh
Mathematically the results are the same. Change-Id: I1c5126cd3ca64e8515ca6331e0989c6f7dd651a0
2013-09-23Correct 3 step search site initialziationYaowu Xu
39c7b01d accidently reverted the row/col initialization, which broke mv clamps, which is dependent on the sites for valid motion vector range. This commit fixed the issue. Change-Id: Ibcce0226e0360b1ef483fe760b2e33f1af4bf494
2013-09-23Enable per transformed block zero coeffs forcingJingning Han
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
2013-09-23Merge "Remove redundant mv_pred use for sub8x8 blocks"Jingning Han
2013-09-22Improves constant qual, constrained qual turned onDeb Mukherjee
Adds modeled functions to decide the qp for altref frames in constant q mode similar to other functions in use in bitrate mode. Also turns on the constrained quality mode (end-usage=2) option which was turned off before. Basic testing shows the mode works in principle, to cap bitrate to the target-bitrate specified, while allowing lower bitrate depending on the cq-level specified. The mode will need to be improved over time. Results for constant quality vs bitrate control mode: derfraw300/fullderfraw: +3.0% at constant quality over bitrate control. fullstdhdraw: +4.341% stdhdraw250: +5.361% Change-Id: If5027c9ec66c8e88d33e47062c6cb84a07b1cda9
2013-09-20Calculate rd cost per transformed blockJingning Han
This commit makes the rate-distortion optimization loop evaluate the rd costs of regular quantization and all zero coeffs, per transformed block. It improves speed 1 compression performance: derf: 0.245% yt: 0.515% For a large partition that consists multiple transformed blocks, this allows more flexibility to selectively force a portion of them coded as all zero coeffs, as well be continued in the next patches. Change-Id: I211518be4179747b57375696f017d1160cc91851
2013-09-20Adding best_mv[2] array instead of two variables.Dmitry Kovalev
Change-Id: I584fe50f73879f6a72fada45714ef80893b6d549
2013-09-20Moving from int_mv to MV.Dmitry Kovalev
Converting vp9_mv_bit_cost, mv_err_cost, and mvsad_err_cost functions for now. Change-Id: I60e3cc20daef773c2adf9a18e30bc85b1c2eb211
2013-09-20Cleanup in vp9_init3smotion_compensation.Dmitry Kovalev
Change-Id: Ie47f53e76bc9530475c8c6d24e9b7a5a0189de56