Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use parameter block size to control the motion estimation function
in tpl model building.
Change-Id: I4d9ec28aa15d0fb51a94aacd9bd50810add7ce29
|
|
Store and update the temporal dependency model in the unit of
8x8 block.
Change-Id: Ic580495242b51db9beaf38dae67968cbd212be4d
|
|
|
|
Account for the variable operating block sizes.
Change-Id: I4eac4d0b84cf55fbf5c693007c991afe6171ca6a
|
|
BUG=webm:1546
Change-Id: I64629ed83cb7acd0f2ac49b9c31f369d17a1aed2
|
|
Add a speed feature to prune reference frames for rectangular
partitions. Rectangular partition RD search happens after square
partition RD search. With this feature, we keep record of the ref
frames picked by square partitions, and only consider those ref
frames during rect partition RD search.
With this feature on, the computation cost of rect partition RD
search is greatly reduced, so we can afford to skip rect partition
RD search less aggressively.
Overall, both compression and encoding speed are improved. Only
speed 0 is affected.
Coding gains:
lowres midres hdres
ovr psnr 0.00% -0.36% -0.37%
avg psnr 0.00% -0.36% -0.36%
Tested encoding speed with QP=40 on about 30 sequences.
Speed gains:
lowres midres hdres
average 13.4% 7.1% 6.1%
max 28.0% 12.0% 9.8%
Change-Id: Id5f36dd2ac75028ae98550d67b0a524aa251b692
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Change-Id: I89e18262a2736c0e86f7c30513179806a926827e
|
|
Fill up all the blocks inside an operating unit with the provided
statistics.
Change-Id: I93556e0daf9f08cbe62d3c12cf38b5e26ad7c799
|
|
Properly scale the distortion metric according to the tranfer
function gain of the transform block size.
Change-Id: I8e3539d8936f5db78c1352f902f72ef19fc09ed8
|
|
|
|
BUG=webm:1546
Change-Id: Ide5828b890c5c27cfcca2d5e318a914f7cde1158
|
|
|
|
This commit adds a command line argument "--row-mt". Passing "--row-mt=1" will
set the row_mt flag in the decoder context. This flag will be used to
determine whether row-wise multi-threading path is to be taken when the
row-wise multi-threading functions are added.
Change-Id: I35a5393a2720254437daa5e796630709049e0bc2
|
|
Change-Id: I1adedfccf9aa874d0980f1181066b3682614a8cb
|
|
instead of vpx_hadamard_16x16().
Change-Id: Ie16aacad39d7f429e282dd4c93e57c07000d0f29
|
|
Apply a fixed maximum boost for static key frame
groups / slide show content (if > 8 frames long).
This insures sufficient boost on shorter sections
whilst preventing excessive boost on longer sections.
Change-Id: I5b857dab023d674cfd55bced3437f3bce3b4f1cb
|
|
Where a KF group is very short but static make sure
it is coded as a single GF group. Previously there was a
bug where such groups could be coded as an arf group
with the arf in the next scene.
Change-Id: I4504ae2b03c4877fcecfa58dd503879aa4eefac4
|
|
Set an upper limit on the maximum boost for a static
GF only group such as in slide shows as part of tweaks
to quality / rate trade off.
Change-Id: Ic72575328419cdcf82ad3a20a1d9b947538c25c6
|
|
Slight adjustment to rules for defining static groups.
Adjustment of small bias towards 0,0 motion in first pass.
Change-Id: Id1d3753979ad54622f983f4de08472738317ec8e
|
|
This patch adds in detection of slide show content and allows
for coding of long GF only groups up to a length of 240 frames rather
than coding a large number of shorter ARF groups that gradually
lower the Q.
In test samples this patch gave rise to a substantial improvement in
overall psnr and a drop in data rate. In some cases the average psnr
fell, however, with the boost and minQ values set as they are.
This is to be expected because average psnr is dominated by the
best frames in the sequence and previously a relatively poor key frame
could be followed by progressively better alt refs. For example a key
frame at q7.5 but subsequent alt refs improving it to lossless.
For slides displayed for several seconds, savings of >= 20% (or
commensurate quality gains) are likely.
This patch allows for long GF groups in static sections before and after
complex transitions (e.g. fades) with one or more normal ARF groups
during the transition. However, it enforces a single "normal" length
GF group after the transition before any extended group is allowed.
The reason for this is that the ARF that spans the transition my not have
a very high quality and hence may not be a good GF for the long static
section that follows.
Change-Id: I66cc404c3b85e87dae9829b49d9d631cbf04e037
|
|
~12% improvement.
Change-Id: Ieca4d870a4c1c5ea2c689e27fc4550fcbab9f867
|
|
|
|
|
|
Change-Id: Idad619e963cb2f9bf8c62acac0e061639ec7e0b4
|
|
|
|
Support multiple transform block size. Prepare for more accurate
prediction search.
Change-Id: I845f5cf909ed2cba12cfc3627816cc4b37eddbe0
|
|
|
|
For screen-content real-time CBR mode: on a detected slide change
that is encoded at max Q (to prevent excessive overshoot), increase
the perc_refresh in the cyclic refresh following the slide change.
Use counter to increase refresh up to some #frames from slide change.
This is attempt to increase quality ramp-up after slide change without
causing too much excess overshoot.
Change-Id: Ie4ec4361082803a522f4a8794b3bb0178c9cf307
|
|
This is a reland of 9c2c234a0b8f9c08719ac1fa286988a0a3626fd0
Threaded mismatch has been addressed.
Original change's description:
> Enable tpl model for speed 0
>
> Enable adaptive Lagrangian multiplier for arf in speed 0, AQ mode 0,
> and low bit-depth settings. This improves the peak compression
> performance:
>
> avg PSNR overall PSNR SSIM
> low -0.462% -0.535% -0.358%
> mid -0.780% -0.857% -0.868%
> hd -0.914% -1.017% -0.471%
> 720p -0.624% -0.671% -1.553%
> nflx2k -0.764% -0.784% -0.908%
>
> The encoding time at speed 0 is slightly changed to be faster or
> slower:
>
> city_cif 1000 kbps
> 78.2 seconds -> 78.1 seconds
>
> bus_cif 1000 kbps
> 98.6 seconds -> 98.8 seconds.
>
> Change-Id: I18e7337bb61d985cbd3cf29e56439a6cdf675389
BUG=webm:1547
Change-Id: I025a21683ceed23d5f7147e200555b58b791315c
|
|
|
|
Clear system state to avoid encoding failure in 32-bit build.
BUG=webm:1547
Change-Id: Ia74c789d1993da09bc400baf24e971e19752e3c3
|
|
|
|
This fixes the build with at least GCC 7.3, where it was previously failing
with:
sum_squares_neon.c: In function 'vpx_sum_squares_2d_i16_neon':
sum_squares_neon.c: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts
s2 = vpaddl_u32(s1);
^~
sum_squares_neon.c: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t'
s2 = vpaddl_u32(s1);
^
sum_squares_neon.c: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t'
s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1));
^
sum_squares_neon.c: incompatible type for argument 1 of 'vget_lane_u64'
return vget_lane_u64(s2, 0);
^~
The generated assembly was verified to remain identical with both GCC and
LLVM.
Bug: chromium:819249
Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac
|
|
* changes:
Account for quantization effect in the tpl model
Assign estimate qp for overlay frame
Use the estimate qp to set motion search control
|