Age | Commit message (Collapse) | Author |
|
Change-Id: If446225afbb49f6033c2a4516a37c377de6f70f7
|
|
Trap divide by 0 that could occur with a 0 rate target
in aq mode COMPLEXITY_AQ.
Change-Id: I034514f512b2a0db470ae8d37ea395278bf473cf
|
|
Change-Id: I8d17867a4772554cbba2bd113cc5b4c99d50146d
|
|
Corresponding renames:
subpel_kernel => interp_kernel
vp9_get_filter_kernel() => vp9_get_interp_kernel()
pred_filter_type => pred_interp_filter
adaptive_pred_filter_type => adaptive_pred_interp_filter
mcomp_filter_type => interp_filter
read_interp_filter_type() => read_interp_filter()
write_interp_filter_type() => write_interp_filter()
fix_mcomp_filter_type() => fix_interp_filter()
Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
|
|
Reading second motion vector only when it has a second ref_frame
Change-Id: Ica72c1cd955832e15ceccda5e5a17b0bfcd83044
|
|
This commit deprecates the use of best_mv from encoding and bit-stream
writing stages. It hence removes the definition from MACROBLOCKD.
Change-Id: I8e5302775a2aa4a18900726df407bff881f2dfb1
|
|
Keep naming consistency for RD and non-RD mode decision functions,
respectively.
Change-Id: I904282b675fc511a46c13cb1f8287aa5d1c8ac94
|
|
This commit setups a test framework for real-time coding. It enables
a light motion search for non-RD mode decision purpose.
Change-Id: I8bec656331539e963c2b685a70e43e0ae32a6e9d
|
|
Calculate the skip_coeff as part of the encode process, rather than
checking the eobs after the fact with another pass.
Change-Id: Ib41b139e96a97dee30e4b993b4cc53d86337128d
|
|
|
|
|
|
Change-Id: Iac5c5aeaef62a4095a60d91285d2c7ad717db0fb
|
|
|
|
Change-Id: I6d9f595249dc71752abe16c042d3b07aa2e4248d
|
|
This commit allows encoder to compare the SAD cost associated with
the best motion vector predictor, per frame. If one reference frame
has this cost more than 4 times of the best SAD cost given by other
reference frames, skip NEARESTMV, NEARMV, ZEROMV mode check of this
reference frame.
This setting is turned on in speed 2 and above. Compression quality
change in speed 2:
derf -0.014%
yt -0.097%
hd -0.023%
stdhd 0.046%
It reduces the speed 2 runtime of test sequences:
pedestrian_area_1080p 4000 kbps 310763 ms -> 303595 ms
bluesky_1080p 6000 kbps 259852 ms -> 251920 ms
Change-Id: I7f59cf79503d51836d61d56d50dc5bdf0e502e22
|
|
Change-Id: I0c42a729038d0f4cb7bc07f587d066fcb1dfe9d9
|
|
|
|
Change-Id: I064ba32d5358bfbf080a4300fc1793b345080006
|
|
Encapsulating direct references to lst_fb_idx, gld_fb_idx, alt_fb_idx.
Change-Id: I7e65ba3f131286e433e6651970c5647311fa4687
|
|
Adding RefBuffer to simplify reference buffer management. The struct has a
pointer to image data and scale factors relative to the current frame.
Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
|
|
|
|
Change-Id: I1d50f8701d9c9dedb84387a773a3e9b4daaad720
|
|
Change-Id: If04b57828847cee09a79c94e1098d1aa4990ea0d
|
|
Change-Id: Ic0345622115941f49b6a568c7b8154ba892cbf0d
|
|
|
|
|
|
|
|
Moving all code from that files to vp9_mvref_common.{h, c}.
Change-Id: Ibc4afcb8cea6847166ff411130e93611ebe63b20
|
|
Moving back to scale_factors struct. We don't need anymore x_offset_q4 and
y_offset_q4 because both values are calculated locally inside vp9_scale_mv
function.
Change-Id: I78a2122ba253c428a14558bda0e78ece738d2b5b
|
|
|
|
Change-Id: I82ecbe7fe0baa890ce251043f3c7159188c00665
|
|
Change-Id: Iba91ff1e797a83517e2cd7c3ab86cba39f39415b
|
|
|
|
Replacing: intra_inter_count, y_mode_count, y_uv_mode_count.
Change-Id: I5d70f73288af6effe6176e26400138067a2ae2a3
|
|
|
|
Change-Id: Ia356178d6a3c40b512d3123390781ef94dec72d6
|
|
Change-Id: I6ab9fe2326ebbadf0dd10cca9f66cf8277e3f43b
Replacing: comp_inter_count, single_ref_count, comp_ref_count.
|
|
Various cleanups and refactoring.
Removes feedback of active worst qaulity and uses last_q
instead to make the interface cleaner. Active worst quality
is now decided only once for a frame being coded in the
beginning based on last_q and other stats. Also, adds other
cleaups on last_q to store also the last_q for altref frames,
and reduces the altref interval a little.
The output does change a little.
derfraw300: +0.224% (global psnr)
stdhdraw250: +0.442% (global psnr)
Change-Id: Ie634cdc032697044c472dd0fe79c109b3e7f9767
|
|
|
|
|
|
Change-Id: Id677df4d3dbbed6fdf7319ca6464f19cf32c8176
|
|
|
|
This commit enables an adaptive prediction filter type selection
for sub8x8 block sizes. In speed 1, it re-uses the filter type of
collocated 8x8 block if it is tested in the rate-distortion optimization
loop, for the sub8x8 blocks. Otherwise, it runs the normal test
over all the three filter types. In speed 2, it re-uses the 8x8
block's prediction filter type, if available. Otherwise, force it
to be EIGHTTAP.
Compression and speed performance wise:
speed 1
derf -0.266%
yt -0.138%
bus at 2000 kbps: 33766ms -> 30451ms (10% speed-up)
football at 600 kbps: 48173ms -> 43786ms (9% speed-up)
speed 2
derf -0.026%
yt +0.134%
bus at 2000 kbps: 18973ms -> 17698ms (6% speed-up)
football at 600 kbps: 26748ms -> 25096ms (6% speed-up)
Change-Id: I77e097533b969fd3472147225fa79fc98095d342
|
|
Change-Id: Iadf2fcc9a5bfa5d02fc166f31963be1cc814831c
|
|
Trying to make encode_sb() more similar to write_modes_sb() and
decode_mode_sb() because essentially all branching logic should be the
same.
Change-Id: Ib7dec7b48fce29418142abad4d1dcfdb1c770735
|
|
|
|
In evaluating partition split case, Wrong partition size is used in
calling partition_plane_context(). This commit change to use the
correct sub partition size. The incorrect partition size used were
causing an ASAN error in unit test.
Change-Id: Iab695b764bc51cc61580075f2ae4001421132362
|
|
|
|
Change-Id: I83ffed2b1878a35ac35f07f9ee74309adc9c7b11
|
|
Change-Id: Ia6d6f4dfb1fd1ec0f8ba53796b59a802e9d7881d
|