Age | Commit message (Collapse) | Author |
|
|
|
|
|
20 items in the control string but only 19 arguments.
Change-Id: I51dab9aa1c58c653b52395005a9cb41f09feb484
|
|
|
|
Modified the thresholds of deciding whether or not to skip
the transforms in model_rd_for_sb_y(). Used zbin[] instead
of dequant[] to be more precise. Also, modified the checking
coditions.
Rtc set borg test results (at speed 6) showed:
average PSNR gain: 0.138%, overall PSNR gain: 0.158%,
and SSIM gain: 0.177%.
The data rate test was modified slightly as suggested by
Marco.
Change-Id: Ieaf633ab77f4838cb3c45cf69065b29d55f8ae6c
|
|
This commit introduces a new block match motion estimation
using integral projection measurement. The 2-D block and the nearby
region is projected onto the horizontal and vertical 1-D vectors,
respectively. It then runs vector match, instead of block match,
over the two separate 1-D vectors to locate the motion compensated
reference block.
This process is run per 64x64 block to align the reference before
choosing partitioning in speed 6. The overall CPU cycle cost due
to this additional 64x64 block match (SSE2 version) takes around 2%
at low bit-rate rtc speed 6. When strong motion activities exist in
the video sequence, it substantially improves the partition
selection accuracy, thereby achieving better compression performance
and lower CPU cycles.
The experiments were tested in RTC speed -6 setting:
cloud 1080p 500 kbps
17006 b/f, 37.086 dB, 5386 ms ->
16669 b/f, 37.970 dB, 5085 ms (>0.9dB gain and 6% faster)
pedestrian_area 1080p 500 kbps
53537 b/f, 36.771 dB, 18706 ms ->
51897 b/f, 36.792 dB, 18585 ms (4% bit-rate savings)
blue_sky 1080p 500 kbps
70214 b/f, 33.600 dB, 13979 ms ->
53885 b/f, 33.645 dB, 10878 ms (30% bit-rate savings, 25% faster)
jimred 400 kbps
13380 b/f, 36.014 dB, 5723 ms ->
13377 b/f, 36.087 dB, 5831 ms (2% bit-rate savings, 2% slower)
Change-Id: Iffdb6ea5b16b77016bfa3dd3904d284168ae649c
|
|
Change-Id: Ic92fb4b16948f745c218351b24fdafecf9abce3a
|
|
|
|
This commit prevent the encoder to update last_frame_type when a frame
is dropped in the encoder. Prior to this fix, if there is a dropped
frame immediatedly after a key frame, decoder would have the value of
last_frame_type as key frame, different from encoder as the dropped
frame in encoder would have updated the value to an inter frame. This
leads to different probability update in encoder and decoder, thereby
encoder/decoder mismatch.
This fixes issue #941
Change-Id: I27115224b138bec43ae3916c016574f5740822b0
|
|
Replaced a divide by 9 with 8, so some very small difference,
but otherwise no change in behavior.
Change-Id: I1079ae3c41e0789ff0bc6fa9940a238b6bca0f5b
|
|
|
|
Force 64-bit precision in the intermediate steps.
Change-Id: I666113d9adcef8975da201d5aa1a13b783d09594
|
|
|
|
|
|
|
|
Simple skin detection, from vp8; works reasonable on most of the
RTC clips, but could miss sometimes.
Added debug flag to write out skin map over source input.
Change-Id: I2caea7592f1c459047aac46627eeb24a94946464
|
|
Change-Id: I7f63c2940256a5dadf9a29a853809290dd9e98ed
|
|
This commit allows the encoder to properly account for the mode
cost in sub8x8 non-RD mode decision.
Change-Id: I2951960d20e37ed08e372ee0c7044935b2b9b899
|
|
|
|
|
|
The block partition rate cost should be updated when recursive
partition search is needed.
Change-Id: I7bc5ad1fc2cbd3577dee7f7e8da111a2742bdeb9
|
|
Add the rate cost on inter prediction filter type to the overall
rate-distortion cost in vp9_pick_mode_inter.
Change-Id: I72c34017adf5220cadb3962694ee5404469fc673
|
|
This commit adds a heuristic rate cost of reference frame to the
non-RD mode decision. It improves the compression performance of
speed -6 by 0.31% and speed -5 by 0.69%.
Change-Id: If7f3b45519d49b2cb640bcb7316a254efc8be446
|
|
This is to avoid redo the same calculation repeatly, and also allow
easier adjustments for further experiments.
This commit shall have no effect on quality/compression.
Change-Id: I4460acf5c808ff5518da18d21e002c5da58af857
|
|
|
|
|
|
Note: This feature is still in development.
Add an option for the encoder to decide the resolution
at which to encode each frame.
Each KF/GF/ARF goup is tested to see if it would be
better encoded at a lower resolution. At present, each
KF/GF/ARF is coded first at full-size and if the coded
size exceeds a threshold (twice target data rate) at
the maximum active Q then the entire group is encoded
at lower resolution.
This feature is enabled in vpxenc by setting:
--resize-allowed=1
In addition, if the vpxenc command line also specifies
valid frame dimensions using:
--resize-width=XXXX & --resize_height=YYYY
then *all* frames will be encoded at this resolution.
Change-Id: I13f341e0a82512f9e84e144e0f3b5aed8a65402b
|
|
|
|
|
|
This commit fixes the sub block partition size used in
fill_mode_info_sb. Previous implementation effectively disabled
the rectangular block sizes. This commit resolved this issue.
Change-Id: Ic1c383ab0a9a2e7d59e85b388093f1f1f94d1e7f
|
|
|
|
Moved vp9_accumulate_frame_counts to vp9_thread_common.c to
eliminate the duplicate code.
Change-Id: I9cf506d729603c8bf1494b4c86a3b7d47af1917a
|
|
|
|
Renames the files to allow more common thread code to
be moved to vp9/common.
Change-Id: I7386e64e221086e3cdc087e79812f993c423413b
|
|
|
|
This commit makes the ZEROMV mode first in the search order to
ensure that the zero mv is always checked in the RTC coding mode.
It improves the average speed -6 compression performance by 0.3%
in both PSNR and SSIM at no visible speed change.
Change-Id: I465a7e59f4e20cd84fee3f02ced6f98036945949
|
|
The high bit depth build failed while building for 32bit target.
The bugs were in vp9_highbd_subpel_variance.asm and
vp9_highbd_sad4d_sse2.asm functions. This patch fixed the bugs,
and made 32bit build work.
Change-Id: Idc8e5e1b7965bb70d4afba140c6583c5d9666b75
|
|
loop_filter_level is always reset in loop_filter_frame() later in
encoder.
Change-Id: I608e03d905a6b23e7d5025ca747e4784c665007e
|
|
Change-Id: I7f8f78c33eb3f33344b029a27bda320f4d68c577
|
|
Change-Id: I2f6a669bf7c6d9796388ad3f3fa3fc942635c215
|
|
|
|
|
|
On rtc set:
speed 7 quality improves about 0.5%
speed 8 quality improves about 1.0%
Encoding time for speed 7 changes from 67804ms to 65889ms
Encoding time for speed 8 changes from 58659ms to 56808ms
Change-Id: Iabcfb53012fc1b9f3326cdbc167e5758b8c7ad30
|
|
Change-Id: I8bfc80f4fffb0892e93d3326394a52d1ee3c0f37
|
|
Reuse the yv12_mb array to fetch the buffer pointers/strides
corresponding to the current reference frame.
Change-Id: I5276b7494158b2cccef15213be2dc189e9036851
|
|
This commit allows the encoder to account for additional chroma
plane costs in the mode decision process, if the current block
potentially contains significant color change. It improves the
visual quality at very low bit-rates.
The compression performance of dark720p is improved by 12.39% in
speed 6. For jimred at 150 kbps, the PSNR of V component (red)
increased by 0.2 dB, at the expense of about 5% increase in
encoding time. Note that for sequences where the chroma components
are fairly consistent, the encoding time increase is negligible.
On average the rtc set compression performance is improved by
1.172% in PSNR and 1.920% in SSIM.
Change-Id: Ia55b24ef23a25304f7ec9958fbf07fd6e658505c
|
|
|
|
Change-Id: I236f7f75ab9a4511d1b52a6a67299b0e844a103e
|
|
|
|
|