Age | Commit message (Collapse) | Author |
|
First do a 3/4 scaling and then go down to 1/2 when necessary.
Change-Id: I5689c5228ca7e1606baea7f960eb24d0dab04d4d
|
|
|
|
|
|
Dynamic resizing now support two-steps scaling: first go down to
3/4 and then 1/2. This feature is under a flag which controls the
switch between two-steps scaling and one-step scaling (1/2 only).
Change-Id: I3a6c1d3d5668cf8e016a0a02aeca737565604a0f
|
|
Change-Id: I5aeaa94b743f84738d288f8b027fec4c164f2ec3
|
|
Change-Id: Ia5072a3a92212d8565f33359f6c146469bdfbbec
|
|
|
|
Change-Id: I264e75bf3ddd083ee5311c50a37fb18fe634ddc3
|
|
Change-Id: Ifb0f41fb43564a777be29b4c66443b366fa146a3
|
|
vp9_filter_block_plane_ss11() and vp9_filter_block_plane_non420()
are only called for the uv planes.
Change-Id: Iacd3b3242c8ce581edd37c8f06d95efc8a0f88a3
|
|
|
|
|
|
Change-Id: I63fadf1c7240d4b2893384f75c519311e9659d47
|
|
to be consistent with the head file name.
Change-Id: I9634332a2b3fac7e7f3b7ef58821ea7c81c5c813
|
|
The loopfilter masks are now built in the decode loop.
This is done so we can eventually reduce the number of
MODE_INFO structs required by the decoder.
The encoder builds the masks for the entire frame prior
to calling the loopfilter.
Change-Id: Ia2146b07e0acb8c50203e586dfae0c4c5b316f11
|
|
When configured with high bitdepth enabled, the 8bit transform
stopped using optimised code. This made 8bit content decode slowly.
Change-Id: I67d91f9b212921d5320f949fc0a0d3f32f90c0ea
|
|
|
|
|
|
In the decoder, map this to the output variable vpx_image_t.r_w/h.
This is intended as an improved version of VP9D_GET_DISPLAY_SIZE,
which doesn't work with parallel frame decoding. In the encoder,
map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes
a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE).
Also add render_size to the encoder_param_get_to_decoder unit test.
See issue 1030.
Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
|
|
|
|
The name "display_*" (or "d_*") is used for non-compatible information
(that is, the cropped frame dimensions in pixels, as opposed to the
intended screen rendering surface size). Therefore, continuing to use
display_* would be confusing to end users. Instead, rename the field
to render_*, so that struct vpx_image can include it.
Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
|
|
|
|
Use the existing QP condition on limiting cyclic refresh, and add
addiitonal condition that block has been encoded with zero/small motion
x frames in row (where x is at least several times the refresh period).
Additional condition only affect non-screen content mode.
This helps to improve visual stability for noisy input, where on steady
background areas the application of delta_qp may lead to encoding the noise.
Also added a change to use the true skip (after encoding) to update the
last QP.
Change-Id: I234a1128d017d284cf767fdb58ef6c59d809f679
|
|
fixes crash on error
Change-Id: Ibb1ef5565fb833cdee1a49335473d98f1187ef43
|
|
|
|
Change-Id: I1fc8e0b3d48675cd5428b7b36f7cc28ab32cbf71
|
|
|
|
|
|
Not used.
Change-Id: I71527d0ee43a5730f1a2527e7ab687a77a137db4
|
|
|
|
Small gain in metrics (average ~0.2dB), small
reduction in rate fluctuation.
Change-Id: Id75bd89c168486f075308fb474ebd26e3bdfb85b
|
|
Limit transform size for intra to 16x16, for non-screen content mode.
Little/no change in speed or metrics.
32x32 intra block is rarley selected in RTC (non-screen content) case,
but some visual improvement can be seen in some example,
e.g., captured_video_dark_whd.yuv.
Change-Id: I68e2db87875343b3fb9bb407a7709f0088f84072
|
|
Coding gain:
derflr 0.142%
hevclr 0.153%
hevcmr 0.124%
Change-Id: I63b56ae3a9002c3a266e10e2964135ed43b0ba53
|
|
Reallocation of mi buffer fails if change size on the first frame and
change config in subsequent frames. Add a condition for resolution
check to avoid assertion failure.
BUG=1074
Change-Id: Ie26ed816a57fa871ba27a72db9805baaaeaba9f3
|
|
Reference frame masking logic may skip checking zeromv-last mode.
Fix to avoid this and make sure zero-last is always checked.
No noticeable change in speed, and PSNR/SSIM metrics on RTC set overall
neutral (very small gain ~0.02).
Small visual improvement on few RTC clips.
Change-Id: I26eacdc449126424001a4a64e5ac31949f064417
|
|
|
|
* changes:
vp9/decode_tiles_mt: move frame count accum from loop
VP9Decoder: remove duplicate tile_worker_info
vp9/decode_tiles_mt: move some inits from inner loop
vp9_accumulate_frame_counts: pass counts directly
|
|
Add SVC codec control to set the frame flags and buffer indices
for each spatial layer of the current (super)frame to be encoded.
This allows the application to set (and change on the fly) the
reference frame configuration for spatial layers.
Added an example layer pattern (spatial and temporal layers)
in vp9_spatial_svc_encoder for the bypass_mode using new control.
Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee
|
|
In decoder, export (eventually) into vpx_image_t.range field. In
encoder, use oxcf->color_range to set it (same way as for
color_space).
See issue 1059.
Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
|
|
* changes:
vp9_encoder_parms_get_to_decoder: cosmetics
vp9...parms_get_to_decoder: remove unneeded func
vp9...parms_get_to_decoder: fix EXPECT param order
vp9_encoder_parms_get_to_decoder: delete dead code
fix BitstreamParms test
vp9_encoder_parms_get_to_decoder: remove vp10
yuvconfig2image(): add explicit cast to avoid conv warning
vp9/10 decoder_init: add missing alloc cast
vp9/10: set color_space on preview frame
vp10: add extern "C" to headers
vp9: add extern "C" to headers
|
|
|
|
Allow the worst/best_quality to be set per layer via the
VP9E_SET_SVC_PARAMETERS control.
Change-Id: Icba5ec8ac757152f3bb7860d6010d9174a7bd578
|
|
For 1 pass CBR spatial-SVC:
Add cyclic refresh parameters to the svc-layer context.
This allows cyclic refresh (aq-mode=3) to be applied to
the whole super-frame (all spatial layers).
This gives a performance improvement for spatial layer encoding.
Addd the aq_mode mode on/off setting as command line option.
Change-Id: Ib9c3b5ba3cb7851bfb8c37d4f911664bef38e165
|
|
Fixes temporal scalability. Updates were inadvertently turned
off for two pass svc causing crashes due to gf_group.index
growing unchecked.
Change-Id: Iff759946bf61bbde70630347cc8fa4d51a8c2d2f
|
|
Use a smaller window in dynamic resizing and wait a shorter
time after key frame.
Change-Id: I086f840cdec3c6bdaa9acfe11346d919e445973d
|
|
|
|
Found by the remoting VideoEncoderVpxTest.Vp9LossyUnchangedFrame unit
test under asan.
Change-Id: Icac63051bf37c7355e661837b57c257d58c764fc
|
|
The normative (convolve8) filter is optimized/faster than
the nonnormative one. Pass usage of scaler (normative/nonomorative)
to vp9_scale_if_required(), and always use normative one for 1 pass.
Change-Id: I2b71d9ff18b3c7499b058d1325a9554de993dd52
|
|
Save some encoding time, for the case of spatial layers
or under dynamic resizing mode.
Change-Id: If4a8eb6f0376c3d2dde8465fde6bfd86ab704920
|
|
Change-Id: I5c923223c284ad4fda0c45572a66bebc8528dd1d
|