Age | Commit message (Collapse) | Author |
|
For real-time screen-content mode: increase the
qp_thresh for max_Q setting on slide changes.
This will make bitrate spikes less likely on slide changes.
Change-Id: Ie13524a06490214456b1c9c042a864ea0d0750c5
|
|
For real-time screen-content mode: makes the
scene/slide change detection more robust.
Change-Id: I28d8d28b42bb92d527811f814bf14bbbbb53ab25
|
|
|
|
For real-time screen-content mode: increase min_thresh
to avoid some false detection.
Change-Id: I3e93dea63cbd65e3ad5d0af7eabf0d3686fe9943
|
|
For real-time screen content mode: for speed >= 6 disable
the re_encode_overshoot feature. This means for speed >= 6
the Q and rate control is reset on slide changes based on
the scene/slide detection and the current Q (and not on a
first pass encoded frame at current Q).
This reduces encode time on slide changes, but may be less
accurate in deciding when to reset/max-out the Q.
Change-Id: Id0fdcafd55bc43bd8b3afee211e524f37c8ddce6
|
|
|
|
|
|
|
|
Append mesh search to the diamond shape search to refine
the full pixel motion estimation for source ARF generation.
It improves the average compression performance.
Speed 0
avg PSNR overall PSNR SSIM
mid -0.18% -0.18% -0.22%
hd -0.25% -0.23% -0.36%
nflx2k -0.22% -0.23% -0.37%
Speed 1
avg PSNR overall PSNR SSIM
mid -0.10% -0.08% -0.11%
hd -0.25% -0.27% -0.38%
nflx2k -0.20% -0.20% -0.34%
The additional encoding time is close to the sample noise
range. For bus_cif at 1000 kbps, the speed 0 encoding time
goes from 83.0 s -> 83.6 s.
Change-Id: I48647f50ec3e8f7ae4550a4bde831f569f46ecf3
|
|
Move new mv search to a separate function.
Change-Id: I6ef22d03ccad7b87cb5cd611094de204d508f63e
|
|
Move interp filter search to new function.
Change-Id: I6ac57d5b3800c9944732a84a4d4a825a6c0f4c35
|
|
Remove duplicated code to calculate transform size.
Change-Id: Id71772607eea911f24b59168c0629ba5ff891afb
|
|
|
|
|
|
Change-Id: If96519fb1cb4963cb6548c803253359a35621eb0
|
|
For nonrd_pickmode: add clamp/check to make
sure tx_size is not set to lower than 8X8,
for the model_rd_large function (which is only
called for big block sizes).
No change in behavior.
Change-Id: I9c6093068e406ac16cfd6784ba75868906225378
|
|
this keeps the output between CONFIG_VP9_HIGHBITDEPTH=0/1 the same when
targeting 8-bit.
Change-Id: I5290681fdd3e0c1620578e5f804f68010c6dd210
|
|
The assert checks for tx_size >= 8x8, but 4x4 can
be set in some cases.
Change-Id: I8bf9683e1add768becaa1208e1709ad0470e3850
|
|
Add frame pointer to re-use spare frames to store the reconstructed
frames.
Change-Id: I870aa048fc9b7d8b356aa73df3a92b4670425f95
|
|
* changes:
Move frame pointer assignment outside block loop in tpl model
Refactor tpl_model_store input parameters
|
|
|
|
Change-Id: Ibafb61577a6293c6ad32bda484a786602afda2e6
|
|
Simplify the pass-in data structure. Use a reference TplDepStats
pointer to replace multiple data sent in.
Change-Id: Ibebced5d7f411d2c4a8a34a9b7eb87453fb78d13
|
|
Disable cyclic refresh on slide/scene change frame. It was already
disabled on the re-encode for the slide change, but this change
makes sure its always disabled on a detected slide change (which
may not be re-encoded at high Q).
Change-Id: I1195c855bca25985d4d41e5b657adf124e901760
|
|
|
|
|
|
|
|
Change-Id: I3bdd44e65b56c7600b9faadd2c117138c3911c14
|
|
Use diamond search for full pixel motion estimation to build
the temporal dependency model and the source arf frame. This gives
better full pixel motion estimation accuracy. It improves the
compression performance.
In speed 0,
avg PSNR overall PSNR SSIM
midres -0.32% -0.30% -0.65%
hdres -0.88% -0.91% -1.31%
nflx2k -0.47% -0.48% -0.81%
In speed 1,
avg PSNR overall PSNR SSIM
midres -0.24% -0.28% -0.50%
hdres -0.82% -0.83% -1.18%
nflx2k -0.58% -0.60% -0.89%
The encoding speed change is minor due to the fact that such motion
estimation is triggered once at the beginning of each group of
picture coding.
Change-Id: Ib25c0ff4f7450c85fd7a38d24319bd7ae1b9dac8
|
|
The coding performances drop slightly in speed 0
lowres 0.021%
midres 0.043%
hdres 0.087%
The speedups in speed 0 are observed as follow
city_cif.y4m 4.5% speedup
pamphlet.y4m 6.9% speedup
Change-Id: I2f6209964ffdf7a93919b79033d8e6f9bc44d824
|
|
|
|
Force 4x4 transform size under some conditions for real-time
screen-content mode. Improvemet on text in some screen clips.
Change-Id: I77cafa23ea1060ef4334dc07eac53189bf80e0ec
|
|
|
|
Fix multi-thread encoder result test induced by
the prune_ref_frame_for_rect_partitions speed feature.
BUG=webm:1552
Change-Id: Idc3b3759651f76285ffd90059c6a2846c4d91a00
|
|
|
|
|
|
|
|
For real-time/nonrd_pickmode: under some conditions
force check of intra modes for flat blocks with motion.
Reduces artifacts for screen-content mode.
Change-Id: If320f41a90982b14c48d91150f59f048a62982b1
|
|
For real-time screen content: don't allow early
breakout in nonrd-pickmode on slide change.
Avoid artifacts.
Change-Id: I09c6927a5d85b46ce059ea5954a3719a7362fb99
|
|
|
|
|
|
This reverts commit d72cd51d83947064ef6354f02b1df59d2d3f1317.
Reason for revert: <INSERT REASONING HERE>
Doesn't seem to really remove the artifact that was the cause for this change. Reverting for now.
Original change's description:
> vp9: Adjust reset segment for real-time screen-content
>
> For real-time screen content mode when the short_circuit
> flat_blocks feauture is enabled: reset segment to 0 for
> coding block if its flat, regardless of temporal source_sad.
> Reduces some artifacts on flat areas.
>
> Change-Id: I9620e424bedc5a13f87cc4f66af7c0e86043c89c
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I83ee9fd75bfb621a4f3e9afbcc07e7c6ca5c51d6
|
|
Remove unneeded variable definition.
Change-Id: Ifc8097b249acee86301e2040df8d39ecaca5ab17
|
|
|
|
Use standalone function to process the mode search and rd cost
estimate for a given coding block.
Change-Id: I77cdbded43966c4546e5407ae318129d89d888a4
|
|
|
|
Change-Id: I1c62e51f5ccd33ff74abc3385410525bcae2fedd
|
|
For real-time screen content mode: when slide change
is detected, for spatially flat blocks (source_variance = 0) on
the re-encoded frame, skip inter modes (so force intra) if
non-zero temporal variance is detected for the coding block.
Add flag to keep track of re-encoded frame at max Q.
Reduces artifacts on slide change.
Change-Id: I28151f412aba6ab8cb03f30087c7ce16d443654b
|
|
This patch limits the active min Q for normal frames based on the previous
KF/GF/ARF. In a few cases, especially at the end of a clip where there
has been systemic underspend, (as is often the case with slide shows),
this prevents the encoder rapidly dropping Q on normal frames (just to
try and use up bits), such that they end up with a lower Q than the key
frame / GF / ARF off which they key.
Change-Id: Ic8def5c0d1e37ca2202e007ec1d13e501c0a91dd
|
|
|