Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
Change-Id: Ife0dd29fb4ad65c7e12ac5f1db8cea4ed81de488
|
|
Renaming txfm_stepdown_count to tx_stepdown_count and max_txfm_size to
max_tx_size.
Change-Id: Ifc173e22c78240e561a57c4c741b64b1b8fc6fef
|
|
Using best_mv[2] array instead of two separate variables.
Change-Id: Iefa0a41f5c42c42f2c66cef26750da68405f0f25
|
|
Change-Id: Ie51306689c0dc527a8aa12d3984389dd8f360dea
|
|
This fix a bug introduced by ac6093d179d8488f90bf10c6d0abcc48be327d28
Change-Id: I0700a4daf7a6a2471074f81a4596352287fb2ac9
|
|
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
|
|
Updating fractional_mv_step_fp and fractional_mv_step_comp_fp function
types.
Change-Id: I601c4378bc39ac3ffd4e295d9cbd8e1f74829d46
|
|
|
|
|
|
Also removed obselete comment
Change-Id: Iae1664777d76383639c637ee786e0d50fc45819a
|
|
The change is to better reflect the nature of the constants.
Change-Id: Icabac6e9bceefbdb3f03f8218f88ef75943c30fb
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
Improves results a little.
Change-Id: I7bcac02dbb65b43a993445cf557c520197114e5c
|
|
|
|
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
|
|
Mathematically the results are the same.
Change-Id: I1c5126cd3ca64e8515ca6331e0989c6f7dd651a0
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
Change-Id: I584fe50f73879f6a72fada45714ef80893b6d549
|
|
Converting vp9_mv_bit_cost, mv_err_cost, and mvsad_err_cost
functions for now.
Change-Id: I60e3cc20daef773c2adf9a18e30bc85b1c2eb211
|
|
Change-Id: Ie47f53e76bc9530475c8c6d24e9b7a5a0189de56
|
|
|
|
The sub8x8 blocks has its own motion vector reference scheme. The
mv_pred is only used blocks of sizes 8x8 and above, to find the
starting point for motion search.
This change does not change any coding behavior. It makes the
encoding process slightly faster. (0.5% speed-up for local test on
speed 1.)
Change-Id: I746ee6ef0eac19aa3621be014afa12be8d82cbb9
|
|
The fake token EOSB may cause invaild memory read in pack token, this
commit reworked the loop to avoid such invalid read.
Change-Id: I37fdfce869b44a7f90003f82a02f84c45472a457
|
|
Change-Id: I76f440a917832c02d7a727697b225bac66b99f56
|
|
Extracting get_scan_and_band function from get_entropy_context to
remove duplicated code.
Change-Id: I5da1f5a60263017e887da68bc834317b5f084cb2
|
|
|
|
|
|
Adding temp variable for &x->plane[0], inlining src_diff values.
Change-Id: I24c08a5425a6da6fd66f5b0278f2fce74f9989b2
|
|
Replacing ((1 << MV_MAX_BITS) - 1) with MV_MAX, adding const
qualifiers, reusing computed values.
Change-Id: I7b46d47f6c644b079d9c3478116a9de465a9baec
|
|
Change-Id: I168efdc366eecf638694f357ccad2f4eba7e2fdb
|
|
|
|
This commit cleans up the second reference check in the
rate-distortion optimization loop of sub8x8 blocks.
Change-Id: Ife68feaa4cddbfad2878c9b44d3012788d634f97
|
|
Change-Id: I16633269582a640809dca27572bbe99efa6369fc
|
|
|
|
|