Age | Commit message (Collapse) | Author |
|
Change-Id: Ibd9114485c3d747f9d148f64f706bf873ea473ac
|
|
|
|
Make the common tile info as one element in the encoder tile data
struct.
Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
|
|
0 means that golden boost is off, and uses average frame target rate,
a non-zero number means the percentage of boost over average frame
bitrate is given initially to golden frames in CBR mode.
Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
|
|
|
|
|
|
Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
|
|
Make the spatially adaptive mode search in rate-distortion
optimization loop inter tile independent. Experiments suggest that
this does not significantly change the coding staticstics.
Single tile, speed 3:
pedestrian_area 1080p 1500 kbps
59192 b/f, 40.611 dB, 101689 ms
blue_sky 1080p 1500 kbps
58505 b/f, 36.347 dB, 62458 ms
mobile_cal 720p 1000 kbps
13335 b/f, 35.646 dB, 45655 ms
as compared to 4 column tiles, speed 3:
pedestrian_area 1080p 1500 kbps
59329 b/f, 40.597 dB, 101917 ms
blue_sky 1080p 1500 kbps
58712 b/f, 36.320 dB, 62693 ms
mobile_cal 720p 1000 kbps
13191 b/f, 35.485 dB, 45319 ms
Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
|
|
The point at which frames are scaled to their
coded dimensions is moved into the re-code loop.
This is in preparation for a further patch that
will add logic into the re-code loop to reduce
the coded frame size if the encoder is struggling
to hit the target data rate at the native frame
size.
Change-Id: Ie4131f5ec6fb93148879f6ce96123296442bf2d1
|
|
|
|
Extend --auto-alt-ref from parameter so we can use it to
turn multi-arf on and off from the command line.
For now the range is 0-off, 1-on, 2-multi-arf on.
Rename play_alternate to enable_auto_arf
Change-Id: Id7b64407cfbe76ba0090a83b588a03e22a240386
|
|
Currently, the tokens for a tile are stored immediately after its
preceding tile, which causes a dependency. This is unnecessary
since we always allocate enough memory for tokens. Removing
the dependency allows token writing done in parallel. This patch
doesn't change encoding result.
Change-Id: I7365a6e5e2c2833eb14377c37e1503c9d0f26543
|
|
This reverts commit 452dc21500a2339ee685cb28efbd2af1b856ea12.
This change has introduced a significant quality regression on content
with forced key frames. (e.g. the YT and yt-hd set). It is most
noticeable in static content where the kf bits dominate. Here, despite
key frames being apparently coded at the same Q, there is a drop in all
metrics of ~20% (e.g clXR and BFa0).
Change-Id: Iba14cc61778c0846fa0a59c33c55a9fc49512cb4
|
|
Move the point at which input frames are scaled
into the recode loop. This will allow us to change
the coded frame size dynamically in response
to previous attempts to encode the frame at a
higher resolution.
A following patch will implement a scheme for
resizing the frame in the recode loop.
Change-Id: I6a59c02d6ac1626512edad6de8b60063b79433e6
|
|
|
|
- Some fixes to surface fit.
- Returns variance function as cost rather than sad in the
pattern search and diamond search functions. Only
vp9_pattern_search_sad function used in bigdia search
uses sad as integer 1-away costs.
- Deploys SUBPEL_TREE_PRUNED_MORE for speed 4+.
Results:
derf [Speed 3]: About +0.036% in coding efficiency without any
discernible speed loss.
derf [Speed 4]: About 2-3% faster at -0.199% loss in coding efficiency.
derf [Speed 5]: About 3-4% faster at -0.149% loss in coding efficiency.
Change-Id: I8462f94f6adb46966ca964f2bd0400977357fd63
|
|
Change-Id: Ia212390cf8d36db5436bb0f0e1b696f70066341a
|
|
|
|
This patch re-enabled the feature in Pengchong's patch
(commit 12861260732a4fd5f6b667ce9d5105dc9b606eda). Originally, it
was turned on while use_lastframe_partitioning > 0(not used anymore).
Now it was added as a feature, and turned on while speed >= 2.
As described in the original patch, this feature helps speed up the
slideshows in YouTube.
Change-Id: I1b0f18d65da1ee1c8d1e117dabba910c5207c471
|
|
Also adds some miscellaneous high bit-depth setup functions.
Change-Id: I66488b08a5a2a8cb9518ca10497cf1c1501ceded
|
|
Adds various high bitdepth transform functions and tests.
Much of the changes are related to using typedefs tran_low_t
and tran_high_t for the final transform cofficients and intermediate
stages of the transform computation respectively rather than fixed
types int16_t/int. When vp9_highbitdepth configure flag is off,
these map tp int16_t/int32_t, but when the flag is on, they map
to int32_t/int64_t to make space for needed extra precision.
Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
|
|
|
|
|
|
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
Also includes most vpx level high bit-depth functions. However
encode/decode in the highbitdepth profiles will not work until
the rest of the code is in place.
Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
|
|
It's built based on current spatial svc code.
We only support one spatial two temporal layers at this time.
Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
|
|
|
|
Change-Id: I571ce84c97087f8a1a36a10058393bfdcefbf72a
|
|
Added the missing "int".
Change-Id: I7c8af3dee700837b40f010d53e1431a59370ae3a
|
|
|
|
|
|
Updates the vp9_pattern_search function to return integer one-away
neighbors' sad values, for subsequent use in speeding up the
sub-pel search. Also, removes code for the do_refine option
which is not being used currently.
Updates the integer and subpel functions to pass in a 5-element
sad list for output or input.
A new pruned sub-pel search algorithm is implemented that uses
the sad returned from the integer pel search. But it is not
deployed yet.
Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
|
|
|
|
This commit addes a new strategy to reduce the search for optimal
interpolation filter type. The encoder counts and store how many each
filter type is selected and used for each of the reference frames.
A filter type that is rarely used for all three reference frames is
masked out to avoid computation.
The impact on compression is neglectible:
-0.02% on derf
+0.02% on stdhd
Encoding time is seen to reduce by 2~3%.
Change-Id: Ibafa92291b51185de40da513716222db4b230383
|
|
Change-Id: Icab9a4399c5687453f4bec14b8cb5000464335e5
|
|
Using local variable instead.
Change-Id: If592d73ba2b04972cdae938751155c183a6db25a
|
|
The variable is never read.
Change-Id: I94141c1667fa5d10604cd6f83c5f64df107dee94
|
|
|
|
|
|
Using local variables instead.
Change-Id: I68737f7e392b81492ffd3ef2c2ff9afbf55fb097
|
|
|
|
|
|
Change-Id: Ibbbc5b39429d4b753f0a966b9d84d1d7bf823650
|
|
The mv cost table set is maintained at frame level, hence moved to
VP9_COMP.
Change-Id: Icb3d0185d47443590bd11357de729aa4ba5c5e5e
|
|
Change-Id: I5d7cb0151d8495e5ecd073a98b73da65cc6e7274
|
|
Change-Id: Iccd7cec885e8aeb0e54613d888f9960c393cee0b
|
|
|
|
|
|
After that change oxcf->pass and oxcf->mode become two orthogonal variables.
Change-Id: I1501f83cd2805480e8118135e6d4045fb41e26d5
|
|
Change-Id: I9261ded5fbba7a625d8224d91be296265a932410
|
|
Change-Id: I061d3bc5b13e3819710fc29504f01f01f065032e
|