]> granicus.if.org Git - libvpx/log
libvpx
10 years agoCosmetic changes in the supertx expt playground
Deb Mukherjee [Tue, 11 Nov 2014 01:34:00 +0000 (17:34 -0800)]
Cosmetic changes in the supertx expt

Converts most negative !CONFIG_SUPERTX checks to positive ones.

Change-Id: I80b7f8c5d3483a7861f0de7fc7ebc425b9c68766

10 years agoFixing rd loop bugs in supertx+ext_tx experiment
Yue Chen [Sat, 8 Nov 2014 00:25:39 +0000 (16:25 -0800)]
Fixing rd loop bugs in supertx+ext_tx experiment

Change-Id: I891b108e591e01d5c7d588dec0bcc4b323d0b6a8

10 years agoFixing sub-optimal rdloop when testing supertx on 8x4/4x8 blocks
Yue Chen [Mon, 20 Oct 2014 23:15:35 +0000 (16:15 -0700)]
Fixing sub-optimal rdloop when testing supertx on 8x4/4x8 blocks

Remove early termination in vp9_rd_pick_inter_mode_sub8x8() in
order to complete mode selection for 8x4/4x8 blocks which will
try supertx in a higher level function.

Change-Id: I457505257332f70d9cd8d22db52ad32ff15f7f87

10 years agoFixing skip flag bugs in recent experiments
Yue Chen [Mon, 20 Oct 2014 21:17:33 +0000 (14:17 -0700)]
Fixing skip flag bugs in recent experiments

Bugs were in vp9_rdopt.c
Also did minor clean-ups in vp9_encodeframe.c

Change-Id: I6fec18e349cd0b810b0772e506927b423db077b6

10 years agoMiscellaneous fixes for recent experiments
Deb Mukherjee [Tue, 14 Oct 2014 20:51:22 +0000 (13:51 -0700)]
Miscellaneous fixes for recent experiments

Various cleanups for ext-tx, supertx, copy-coding experiments.

Change-Id: I8703d5fee57b1310d8d1aa1f26908e9a427b0502

10 years agoAllow blocks to directly copy motion information from neighbors
Yue Chen [Fri, 29 Aug 2014 20:54:22 +0000 (13:54 -0700)]
Allow blocks to directly copy motion information from neighbors

A new set of prediction modes, called copy modes, is implemented
to allow blocks to directly copy motion information from a neighbor.
The motivation is to create regions of arbitrary shapes in which
blocks share same motion parameters and hence to save bits spent on
duplicated side information.
Compression gain:
derf: 0.894%; stdhd: 1.513%.

Change-Id: I5e026b12c902bc6985c199ec38f1b3b67ac7d930

10 years agoImplementing transform overlapping multiple blocks
Yue Chen [Mon, 11 Aug 2014 23:39:23 +0000 (16:39 -0700)]
Implementing transform overlapping multiple blocks

We removed the restriction that transform blocks could not exceed
the size of prediction blocks. Smoothing masks are applied to reduce
discontinuity between prediction blocks in order to realize the
efficiency of large transform.
0.997%/0.895% bit-rate reduction is achieved on derf/stdhd set.

Change-Id: I8db241bab9fe74d864809e95f76b771ee59a2def

10 years agoMerge "Migrating old experiments into new playground branch and speedup" into playground
Yue Chen [Thu, 26 Jun 2014 22:36:44 +0000 (15:36 -0700)]
Merge "Migrating old experiments into new playground branch and speedup" into playground

10 years agoMerge "Squash commits from master to playground" into playground
Yue Chen [Thu, 26 Jun 2014 22:36:24 +0000 (15:36 -0700)]
Merge "Squash commits from master to playground" into playground

10 years agoMigrating old experiments into new playground branch and speedup
Yue Chen [Fri, 20 Jun 2014 00:09:47 +0000 (17:09 -0700)]
Migrating old experiments into new playground branch and speedup

The old interintra experiment is slow (speed is 0.2x original codec
at speed 0).
We use best inter mode to skip some reference frame and NEWMV
search when searching best joint mode.
Quality drop: ~0.1% derf. Speed: 0.36x head.

Change-Id: If10453448284f86c14a0a41f20aeaf9ac838fa32

10 years agoSquash commits from master to playground
Yue Chen [Thu, 26 Jun 2014 20:02:15 +0000 (13:02 -0700)]
Squash commits from master to playground

Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.

Squashed-Change-Id: I8fab776c8801e19d3f5027ed55a6aa69eee951de

gen_msvs_proj: fix in tree configure under cygwin

strip trailing '/' from paths, this is later converted to '\' which
causes execution errors for obj_int_extract/yasm. vs10+ wasn't affected
by this issue, but make the same change for consistency.

gen_msvs_proj:
+ add missing '"' to obj_int_extract call
  unlike gen_msvs_vcproj, the block is duplicated
  missed in: 1e3d9b9 build/msvs: fix builds in source dirs with spaces

Squashed-Change-Id: I76208e6cdc66dc5a0a7ffa8aa1edbefe31e4b130

Improve vp9_rb_bytes_read

Squashed-Change-Id: I69eba120eb3d8ec43b5552451c8a9bd009390795

Removing decode_one_iter() function.

When superframe index is available we completely rely on it and use frame
size values from the index.

Squashed-Change-Id: I0011d08b223303a8b912c2bcc8a02b74d0426ee0

iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.

- Rename build_targets to build_framework
- Add functions for creating the vpx_config shim and obtaining
  preproc symbols.

Squashed-Change-Id: Ieca6938b9779077eefa26bf4cfee64286d1840b0

Implemented vp9_denoiser_{alloc,free}()

Squashed-Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27

Update running avg for VP9 denoiser

Squashed-Change-Id: I9577d648542064052795bf5770428fbd5c276b7b

Changed buf_2ds in vp9 denoiser to YV12 buffers

Changed alloc, free, and running average code as necessary.

Squashed-Change-Id: Ifc4d9ccca462164214019963b3768a457791b9c1

sse4 regular quantize

Squashed-Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b

Modify non-rd intra mode checking

Speed 6 uses small tx size, namely 8x8. max_intra_bsize needs to
be modified accordingly to ensure valid intra mode checking.
Borg test on RTC set showed an overall PSNR gain of 0.335% in speed
-6.

This also changes speed -5 encoding by allowing DC_PRED checking
for block32x32. Borg test on RTC set showed a slight PSNR gain of
0.145%, and no noticeable speed change.

Squashed-Change-Id: I1502978d8fbe265b3bb235db0f9c35ba0703cd45

Implemented COPY_BLOCK case for vp9 denoiser

Squashed-Change-Id: Ie89ad1e3aebbd474e1a0db69c1961b4d1ddcd33e

Improved vp9 denoiser running avg update.

Squashed-Change-Id: Ie0aa41fb7957755544321897b3bb2dd92f392027

Separate rate-distortion modeling for DC and AC coefficients

This is the first step to rework the rate-distortion modeling used
in rtc coding mode. The overall goal is to make the modeling
customized for the statistics encountered in the rtc coding.

This commit makes encoder to perform rate-distortion modeling for
DC and AC coefficients separately. No speed changes observed.
The coding performance for pedestrian_area_1080p is largely
improved:

speed -5, from 79558 b/f, 37.871 dB -> 79598 b/f, 38.600 dB
speed -6, from 79515 b/f, 37.822 dB -> 79544 b/f, 38.130 dB

Overall performance for rtc set at speed -6 is improved by 0.67%.

Squashed-Change-Id: I9153444567e5f75ccdcaac043c2365992c005c0c

Add superframe support for frame parallel decoding.

A superframe is a bunch of frames that bundled as one frame. It is mostly
used to combine one or more non-displayable frames and one displayable frame.

For frame parallel decoding, libvpx decoder will only support decoding one
normal frame or a super frame with superframe index.

If an application pass a superframe without superframe index or a chunk
of displayable frames without superframe index to libvpx decoder, libvpx
will not decode it in frame parallel mode. But libvpx decoder still could
decode it in serial mode.

Squashed-Change-Id: I04c9f2c828373d64e880a8c7bcade5307015ce35

Fixes in VP9 alloc, free, and COPY_FRAME case

Squashed-Change-Id: I1216f17e2206ef521fe219b6d72d8e41d1ba1147

Remove labels from quantize

Use break instead of goto for early exit. Unbreaks Visual Studio
builds.

Squashed-Change-Id: I96dee43a3c82145d4abe0d6a99af6e6e1a3991b5

Added CFLAG for outputting vp9 denoised signal

Squashed-Change-Id: Iab9b4e11cad927f3282e486c203564e1a658f377

Allow key frame more flexibility in mode search

This commit allows the key frame to search through more prediction
modes and more flexible block sizes. No speed change observed. The
coding performance for rtc set is improved by 1.7% for speed -5 and
3.0% for speed -6.

Squashed-Change-Id: Ifd1bc28558017851b210b4004f2d80838938bcc5

VP9 denoiser bugfixes

s/stdint.h/vpx\/vpx_int.h

Added missing 'break;'s

Also included other minor changes, mostly cosmetic.

Squashed-Change-Id: I852bba3e85e794f1d4af854c45c16a23a787e6a3

Don't return value for void functions

Clears "warning: 'return' with a value, in function returning void"

Squashed-Change-Id: I93972610d67e243ec772a1021d2fdfcfc689c8c2

Include type defines

Clears error: unknown type name 'uint8_t'

Squashed-Change-Id: I9b6eff66a5c69bc24aeaeb5ade29255a164ef0e2

Validate error checking code in decoder.

This patch adds a mechanism for insuring error checking on invalid files
by creating a unit test that runs the decoder and tests that the error
code matches what's expected on each frame in the decoder.

Disabled for now as this unit test will segfault with existing code.

Squashed-Change-Id: I896f9686d9ebcbf027426933adfbea7b8c5d956e

Introduce FrameWorker for decoding.

When decoding in serial mode, there will be only
one FrameWorker doing decoding. When decoding in
parallel mode, there will be several FrameWorkers
doing decoding in parallel.

Squashed-Change-Id: If53fc5c49c7a0bf5e773f1ce7008b8a62fdae257

Add back libmkv ebml writer files.

Another project in ChromeOS is using these files. To make libvpx
rolls simpler, add these files back unitl the other project removes
the dependency.

crbug.com/387246 tracking bug to remove dependency.

Squashed-Change-Id: If9c197081c845c4a4e5c5488d4e0190380bcb1e4

Added Test vector that tests more show existing frames.

Squashed-Change-Id: I0ddd7dd55313ee62d231ed4b9040e08c3761b3fe

fix peek_si to enable 1 byte show existing frames.

The test for this is in test vector code ( show existing frames will
fail ).  I can't check it in disabled as I'm changing the generic
test code to do this:

https://gerrit.chromium.org/gerrit/#/c/70569/

Squashed-Change-Id: I5ab324f0cb7df06316a949af0f7fc089f4a3d466

Fix bug in error handling that causes segfault

See: https://code.google.com/p/chromium/issues/detail?id=362697

The code properly catches an invalid stream but seg faults instead of
returning an error due to a buffer not having been initialized. This
code fixes that.

Squashed-Change-Id: I695595e742cb08807e1dfb2f00bc097b3eae3a9b

Revert 3 patches from Hangyu to get Chrome to build:

Avoids failures:
MSE_ClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKeyDecryptOnly/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKeyDecryptOnly_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
SRC_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
SRC_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
SRC_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0

Patches are
This reverts commit 9bc040859b0ca6869d31bc0efa223e8684eef37a
This reverts commit 6f5aba069a2c7ffb293ddce70219a9ab4a037441
This reverts commit 9bc040859b0ca6869d31bc0efa223e8684eef37a

I1f250441 Revert "Refactor the vp9_get_frame code for frame parallel."
Ibfdddce5 Revert "Delay decreasing reference count in frame-parallel decoding."
I00ce6771 Revert "Introduce FrameWorker for decoding."

Need better testing in libvpx for these commits

Squashed-Change-Id: Ifa1f279b0cabf4b47c051ec26018f9301c1e130e

error check vp9 superframe parsing

This patch insures that the last byte of a chunk that contains a
valid superframe marker byte,  actually has a proper superframe index.
If not it returns an error.

As part of doing that the file : vp90-2-15-fuzz-flicker.webm now fails
to decode properly and moves to the invalid file test from the test
vector suite.

Squashed-Change-Id: I5f1da7eb37282ec0c6394df5c73251a2df9c1744

Remove unused vp9_init_quant_tables function

This function is not effectively used, hence removed.

Squashed-Change-Id: I2e8e48fa07c7518931690f3b04bae920cb360e49

Actually skip blocks in skip segments in non-rd encoder.

Copy split from macroblock to pick mode context so it doesn't get lost.

Squashed-Change-Id: Ie37aa12558dbe65c4f8076cf808250fffb7f27a8

Add Check for Peek Stream validity to decoder test.

Squashed-Change-Id: I9b745670a9f842582c47e6001dc77480b31fb6a1

Allocate buffers based on correct chroma format

The encoder currently allocates frame buffers before
it establishes what the chroma sub-sampling factor is,
always allocating based on the 4:4:4 format.

This patch detects the chroma format as early as
possible allowing the encoder to allocate buffers of
the correct size.

Future patches will change the encoder to allocate
frame buffers on demand to further reduce the memory
profile of the encoder and rationalize the buffer
management in the encoder and decoder.

Squashed-Change-Id: Ifd41dd96e67d0011719ba40fada0bae74f3a0d57

Fork vp9_rd_pick_inter_mode_sb_seg_skip

Squashed-Change-Id: I549868725b789f0f4f89828005a65972c20df888

Switch active map implementation to segment based.

Squashed-Change-Id: Ibb841a1fa4d08d164cf5461246ec290f582b1f80

Experiment for mid group second arf.

This patch implements a mechanism for inserting a second
arf at the mid position of arf groups.

It is currently disabled by default using the flag multi_arf_enabled.

Results are currently down somewhat in initial testing if
multi-arf is enabled. Most of the loss is attributable to the
fact that code to preserve the previous golden frame
(in the arf buffer) in cases where we are coding an overlay
frame, is currently disabled in the multi-arf case.

Squashed-Change-Id: I1d777318ca09f147db2e8c86d7315fe86168c865

Clean out old CONFIG_MULTIPLE_ARF code.

Remove the old experimental multi arf code that was under
the flag CONFIG_MULTIPLE_ARF.

Squashed-Change-Id: Ib24865abc11691d6ac8cb0434ada1da674368a61

Fix some bugs in multi-arf

Fix some bugs relating to the use of buffers
in the overlay frames.

Fix bug where a mid sequence overlay was
propagating large partition and transform sizes into
the subsequent frame because of :-
  sf->last_partitioning_redo_frequency  > 1 and
  sf->tx_size_search_method == USE_LARGESTALL

Squashed-Change-Id: Ibf9ef39a5a5150f8cbdd2c9275abb0316c67873a

Further dual arf changes: multi_arf_allowed.

Add multi_arf_allowed flag.
Re-initialize buffer indices every kf.
Add some const indicators.

Squashed-Change-Id: If86c39153517c427182691d2d4d4b7e90594be71

Fixed VP9 denoiser COPY_BLOCK case

Now copies the src to the correct location in the running average buffer.

Squashed-Change-Id: I9c83c96dc7a97f42c8df16ab4a9f18b733181f34

Fix test on maximum downscaling limits

There is a normative scaling range of (x1/2, x16)
for VP9. This patch fixes the maximum downscaling
tests that are applied in the convolve function.

The code used a maximum downscaling limit of x1/5
for historic reasons related to the scalable
coding work. Since the downsampling in this
application is non-normative it will revert to
using a separate non-normative scaler.

Squashed-Change-Id: Ide80ed712cee82fe5cb3c55076ac428295a6019f

Add unit test to test user_priv parameter.

Squashed-Change-Id: I6ba6171e43e0a43331ee0a7b698590b143979c44

vp9: check tile column count

the max is 6. there are assumptions throughout the decode regarding
this; fixes a crash with a fuzzed bitstream

$ zzuf -s 5861 -r 0.01:0.05 -b 6- \
  < vp90-2-00-quantizer-00.webm.ivf \
  | dd of=invalid-vp90-2-00-quantizer-00.webm.ivf.s5861_r01-05_b6-.ivf \
    bs=1 count=81883

Squashed-Change-Id: I6af41bb34252e88bc156a4c27c80d505d45f5642

Adjust arf Q limits with multi-arf.

Adjust enforced minimum arf Q deltas for non primary arfs
in the middle of an arf/gf group.

Squashed-Change-Id: Ie8034ffb3ac00f887d74ae1586d4cac91d6cace2

Dual ARF changes: Buffer index selection.

Add indirection to the section of buffer indices.
This is to help simplify things in the future if we
have other codec features that switch indices.

Limit the max GF interval for static sections to fit
the gf_group structures.

Squashed-Change-Id: I38310daaf23fd906004c0e8ee3e99e15570f84cb

Reuse inter prediction result in real-time speed 6

In real-time speed 6, no partition search is done. The inter
prediction results got from picking mode can be reused in the
following encoding process. A speed feature reuse_inter_pred_sby
is added to only enable the resue in speed 6.

This patch doesn't change encoding result. RTC set tests showed
that the encoding speed gain is 2% - 5%.

Squashed-Change-Id: I3884780f64ef95dd8be10562926542528713b92c

Add vp9_ prefix to mv_pred and setup_pred_block functions

Make these two functions accessible by both RD and non-RD coding
modes.

Squashed-Change-Id: Iecb39dbf3d65436286ea3c7ffaa9920d0b3aff85

Replace cpi->common with preset variable cm

This commit replaces a few use cases of cpi->common with preset
variable cm, to avoid unnecessary pointer fetch in the non-RD
coding mode.

Squashed-Change-Id: I4038f1c1a47373b8fd7bc5d69af61346103702f6

[spatial svc]Implement lag in frames for spatial svc

Squashed-Change-Id: I930dced169c9d53f8044d2754a04332138347409

[spatial svc]Don't skip motion search in first pass encoding

Squashed-Change-Id: Ia6bcdaf5a5b80e68176f60d8d00e9b5cf3f9bfe3

decode_test_driver: fix type size warning

like vpx_codec_decode(), vpx_codec_peek_stream_info() takes an unsigned
int, not size_t, parameter for buffer size

Squashed-Change-Id: I4ce0e1fbbde461c2e1b8fcbaac3cd203ed707460

decode_test_driver: check HasFailure() in RunLoop

avoids unnecessary errors due to e.g., read (Next()) failures

Squashed-Change-Id: I70b1d09766456f1c55367d98299b5abd7afff842

Allow lossless breakout in non-rd mode decision.

This is very helpful for large moving windows in screencasts.

Squashed-Change-Id: I91b5f9acb133281ee85ccd8f843e6bae5cadefca

Revert "Revert 3 patches from Hangyu to get Chrome to build:"

This patch reverts the previous revert from Jim and also add a
variable user_priv in the FrameWorker to save the user_priv
passed from the application. In the decoder_get_frame function,
the user_priv will be binded with the img. This change is needed
or it will fail the unit test added here:
https://gerrit.chromium.org/gerrit/#/c/70610/

This reverts commit 9be46e4565f553460a1bbbf58d9f99067d3242ce.

Squashed-Change-Id: I376d9a12ee196faffdf3c792b59e6137c56132c1

test.mk: remove renamed file

vp90-2-15-fuzz-flicker.webm was renamed in:
c3db2d8 error check vp9 superframe parsing

Squashed-Change-Id: I229dd6ca4c662802c457beea0f7b4128153a65dc

vp9cx.mk: move avx c files outside of x86inc block

same reasoning as:
9f3a0db vp9_rtcd: correct avx2 references

these are all intrinsics, so don't depend on x86inc.asm

Squashed-Change-Id: I915beaef318a28f64bfa5469e5efe90e4af5b827

Dual arf: Name changes.

Cosmetic patch only in response to comments on
previous patches suggesting a couple of name changes
for consistency and clarity.

Squashed-Change-Id: Ida3a359b0d5755345660d304a7697a3a3686b2a3

Make non-RD intra mode search txfm size dependent

This commit fixes the potential issue in the non-RD mode decision
flow that only checks part of the block to estimate the cost. It
was due to the use of fixed transform size, in replacing the
largest transform block size. This commit enables per transform
block cost estimation of the intra prediction mode in the non-RD
mode decision.

Squashed-Change-Id: I14ff92065e193e3e731c2bbf7ec89db676f1e132

Fix quality regression for multi arf off case.

Bug introduced during multiple iterations on: I3831*

gf_group->arf_update_idx[] cannot currently be used
to select the arf buffer index if buffer flipping on overlays
is enabled (still currently the case when multi arf OFF).

Squashed-Change-Id: I4ce9ea08f1dd03ac3ad8b3e27375a91ee1d964dc

Enable real-time version reference motion vector search

This commit enables a fast reference motion vector search scheme.
It checks the nearest top and left neighboring blocks to decide the
most probable predicted motion vector. If it finds the two have
the same motion vectors, it then skip finding exterior range for
the second most probable motion vector, and correspondingly skips
the check for NEARMV.

The runtime of speed -5 goes down
pedestrian at 1080p 29377 ms -> 27783 ms
vidyo at 720p       11830 ms -> 10990 ms
i.e., 6%-8% speed-up.

For rtc set, the compression performance
goes down by about -1.3% for both speed -5 and -6.

Squashed-Change-Id: I2a7794fa99734f739f8b30519ad4dfd511ab91a5

Add const mark to const values in non-RD coding mode

Squashed-Change-Id: I65209fd1e06fc06833f6647cb028b414391a7017

Change-Id: Ic0be67ac9ef48f64a8878a0b8f1b336f136bceac

10 years agoRevert "Migrating old experiments into new playground branch"
Debargha Mukherjee [Thu, 26 Jun 2014 19:46:51 +0000 (12:46 -0700)]
Revert "Migrating old experiments into new playground branch"

This reverts commit 1a4b017fad434a634d32cd15d28896591a584998

Change-Id: I7f54cf0489e592887b61eb3f7bda90f757b0aad7

10 years agoMigrating old experiments into new playground branch
Yue Chen [Fri, 20 Jun 2014 00:09:47 +0000 (17:09 -0700)]
Migrating old experiments into new playground branch

Change-Id: I28dc4acdf5415a1ea3d88213022d9e3d4fd5db46

10 years agoMerge "skip the un-necessary motion search in the first pass"
Pengchong Jin [Tue, 17 Jun 2014 19:08:42 +0000 (12:08 -0700)]
Merge "skip the un-necessary motion search in the first pass"

10 years agoMerge "iosbuild.sh: Add missing function comments."
Tom Finegan [Tue, 17 Jun 2014 17:34:36 +0000 (10:34 -0700)]
Merge "iosbuild.sh: Add missing function comments."

10 years agoMerge "vp8 denoising: add bias factor to zero_mv sse."
Marco Paniconi [Tue, 17 Jun 2014 15:34:30 +0000 (08:34 -0700)]
Merge "vp8 denoising: add bias factor to zero_mv sse."

10 years agoMerge "Fix C versions of DC calculation functions"
Jingning Han [Tue, 17 Jun 2014 01:33:21 +0000 (18:33 -0700)]
Merge "Fix C versions of DC calculation functions"

10 years agoMerge "vp9_rtcd: correct avx2 references"
James Zern [Tue, 17 Jun 2014 00:39:13 +0000 (17:39 -0700)]
Merge "vp9_rtcd: correct avx2 references"

10 years agoiosbuild.sh: Add missing function comments.
Tom Finegan [Tue, 17 Jun 2014 00:04:38 +0000 (17:04 -0700)]
iosbuild.sh: Add missing function comments.

Change-Id: Ib23a59475d566a7b7f44071614d730ceecfcfa60

10 years agoMerge "example tests: Make failures due to incorrect bin path easier to diagnose."
Tom Finegan [Mon, 16 Jun 2014 23:16:49 +0000 (16:16 -0700)]
Merge "example tests: Make failures due to incorrect bin path easier to diagnose."

10 years agovp8 denoising: add bias factor to zero_mv sse.
Marco Paniconi [Mon, 16 Jun 2014 18:29:02 +0000 (11:29 -0700)]
vp8 denoising: add bias factor to zero_mv sse.

Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a

10 years agoMerge "vp9_pickmode.c: fix vs12 compiler warnings"
Dmitry Kovalev [Mon, 16 Jun 2014 19:07:48 +0000 (12:07 -0700)]
Merge "vp9_pickmode.c: fix vs12 compiler warnings"

10 years agoexample tests: Make failures due to incorrect bin path easier to diagnose.
Tom Finegan [Mon, 16 Jun 2014 17:57:00 +0000 (10:57 -0700)]
example tests: Make failures due to incorrect bin path easier to diagnose.

Add elog() to tools_common, and checks for the executable in each test.

Change-Id: I3c6334eca62c0b56040d91145abbe1bf5f9c763c

10 years agoMerge "Add non420 support to vp9_extend_frame_borders."
Alex Converse [Mon, 16 Jun 2014 17:33:31 +0000 (10:33 -0700)]
Merge "Add non420 support to vp9_extend_frame_borders."

10 years agoMerge "Fix out of boundary memory read in fuzz test on vpxdec"
Jingning Han [Mon, 16 Jun 2014 17:27:30 +0000 (10:27 -0700)]
Merge "Fix out of boundary memory read in fuzz test on vpxdec"

10 years agoskip the un-necessary motion search in the first pass
Pengchong Jin [Mon, 16 Jun 2014 16:17:45 +0000 (09:17 -0700)]
skip the un-necessary motion search in the first pass

This patch allows the VP9 encoder to skip the un-necessary
motion search in the first pass. It computes the motion error
of 0,0 motion using the last source frame as the reference,
and skips the further motion search if this error is small.

Borg test shows overall the patch gives PSNR gain (derf -0.001%,
yt 0.341%, hd 0.282%). Individual clips may have PSNR gain or
loss. The best PSNR performance is 7.347% and the worst is -0.662%.
The first pass encoding speedup for slideshow clips is over 30%.

Change-Id: I4cac4dbd911f277ee858e161f3ca652c771344fe

10 years agovp9_pickmode.c: fix vs12 compiler warnings
unknown [Sun, 15 Jun 2014 19:40:16 +0000 (12:40 -0700)]
vp9_pickmode.c: fix vs12 compiler warnings

Change-Id: I5042b76a7050c121bf960ecb20c79d35adcc4cd5

10 years agoMerge "iosbuild.sh: Move to build/make and tidy up a bit."
Tom Finegan [Fri, 13 Jun 2014 23:31:56 +0000 (16:31 -0700)]
Merge "iosbuild.sh: Move to build/make and tidy up a bit."

10 years agoMerge "test/tools_common.sh: Log all shared variables in verbose mode."
Tom Finegan [Fri, 13 Jun 2014 23:31:49 +0000 (16:31 -0700)]
Merge "test/tools_common.sh: Log all shared variables in verbose mode."

10 years agoFix C versions of DC calculation functions
Jingning Han [Fri, 13 Jun 2014 23:04:21 +0000 (16:04 -0700)]
Fix C versions of DC calculation functions

This commit fixes the scaling factors used in the C versions of the
DC calculation functions.

Change-Id: Iab41108c2bb93c2f2e78667214f3a772a2b707b5

10 years agoMerge "Delay decreasing reference count in frame-parallel decoding."
hkuang [Fri, 13 Jun 2014 22:28:24 +0000 (15:28 -0700)]
Merge "Delay decreasing reference count in frame-parallel decoding."

10 years agoMerge "Revert "skip un-neccessary motion search in the first pass""
Yunqing Wang [Fri, 13 Jun 2014 22:21:26 +0000 (15:21 -0700)]
Merge "Revert "skip un-neccessary motion search in the first pass""

10 years agoMerge "Allow for deblocking temporal-denoised signal."
Marco Paniconi [Fri, 13 Jun 2014 21:51:59 +0000 (14:51 -0700)]
Merge "Allow for deblocking temporal-denoised signal."

10 years agoAllow for deblocking temporal-denoised signal.
Marco Paniconi [Fri, 13 Jun 2014 17:08:09 +0000 (10:08 -0700)]
Allow for deblocking temporal-denoised signal.

Allow for an option to selectively apply the deblocking loop filter to the denoised
raw block, based on the denoised state (no-filter, filter with zero motion, or filter with non-zero motion)
of the current block and its upper and left denoised block.
This helps to reduce some blocking artifacts from the motion-compensated denoising.

Change-Id: I0ac4e70076df69a98c5391979e739a2681e24ae6

10 years agoReplacing RC_MODE with vpx_rc_mode.
Dmitry Kovalev [Fri, 13 Jun 2014 19:22:35 +0000 (12:22 -0700)]
Replacing RC_MODE with vpx_rc_mode.

Both enums are identical.
Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f

10 years agotest/tools_common.sh: Log all shared variables in verbose mode.
Tom Finegan [Fri, 13 Jun 2014 18:18:43 +0000 (11:18 -0700)]
test/tools_common.sh: Log all shared variables in verbose mode.

Several variables were not being logged.

Change-Id: I2f2ded19470a73c4551bbb1abbd6e4d27bd59fac

10 years agoFix out of boundary memory read in fuzz test on vpxdec
Jingning Han [Thu, 12 Jun 2014 19:23:06 +0000 (12:23 -0700)]
Fix out of boundary memory read in fuzz test on vpxdec

This commit fixes frame header decoding for superframe index, to
prevent out of boundary memory read triggered by fuzz test
vector. It resolves a chromium security violation issue
crbug.com/376802.

The issue was introduced in the change:

Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48

where the buffer was read before validation check on index offset
applied.

A test vector is added accordingly.

Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99

10 years agoiosbuild.sh: Move to build/make and tidy up a bit.
Tom Finegan [Fri, 13 Jun 2014 18:03:56 +0000 (11:03 -0700)]
iosbuild.sh: Move to build/make and tidy up a bit.

Change-Id: I625beea9db4b5f6db8f177c580a3adeac760a662

10 years agoRevert "skip un-neccessary motion search in the first pass"
Paul Wilkins [Fri, 13 Jun 2014 17:52:19 +0000 (18:52 +0100)]
Revert "skip un-neccessary motion search in the first pass"

This patch appears to have introduced non-determinism and/or
mismatch from debug vs release.

This reverts commit 5daef90efc4613efd7e7ee80ba4e1ecf9a57a966.

Change-Id: I80081e55cfeaaa821b510b58a4e6e6328003c7da

10 years agoDelay decreasing reference count in frame-parallel decoding.
hkuang [Tue, 10 Jun 2014 21:48:16 +0000 (14:48 -0700)]
Delay decreasing reference count in frame-parallel decoding.

The current decoding scheme will decrease the reference count
of the output frame when finish decoding. Then the application
could copy the frame from the decoder buffer to application buffer.
In frame-parallel decoding, a decoded frame will not be outputted
until several frames later which depends on thread numbers. So
the decoded frame's reference count should be decreased only
after application finish copying the frame out. But due to the
limitation of vpx_codec_get_frame, decoder could not know when
application finish decoding. So use a index last_show_frame to
release the last output frame's reference count.

Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63

10 years agoMerge "Use lrand48 on Android"
Johann [Fri, 13 Jun 2014 17:51:49 +0000 (10:51 -0700)]
Merge "Use lrand48 on Android"

10 years agoMerge "Add VPX.framework built script."
Tom Finegan [Fri, 13 Jun 2014 17:36:49 +0000 (10:36 -0700)]
Merge "Add VPX.framework built script."

10 years agoMerge "Added skeleton for VP9 denoiser"
Tim Kopp [Fri, 13 Jun 2014 16:44:39 +0000 (09:44 -0700)]
Merge "Added skeleton for VP9 denoiser"

10 years agoMerge "Cleaning up accumulate_frame_motion_stats()."
Paul Wilkins [Fri, 13 Jun 2014 09:27:03 +0000 (02:27 -0700)]
Merge "Cleaning up accumulate_frame_motion_stats()."

10 years agoAdd VPX.framework built script.
Tom Finegan [Fri, 13 Jun 2014 03:44:44 +0000 (20:44 -0700)]
Add VPX.framework built script.

Builds a framework for use on iOS targets.

Change-Id: I2e42d77d1d83e15dc7e84232255da26809ee31bb

10 years agoUse lrand48 on Android
Johann [Fri, 13 Jun 2014 02:16:59 +0000 (19:16 -0700)]
Use lrand48 on Android

When building x86 assembly use lrand48 instead of the
undocumented inlined _rand function.

Android now supports rand()
https://android-review.googlesource.com/97731
but only for new versions. Original workaround:
https://gerrit.chromium.org/gerrit/15744

Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a

10 years agoMerge "Adding MV_SPEED_FEATURES struct."
Dmitry Kovalev [Fri, 13 Jun 2014 00:15:33 +0000 (17:15 -0700)]
Merge "Adding MV_SPEED_FEATURES struct."

10 years agoAdded skeleton for VP9 denoiser
Tim Kopp [Thu, 5 Jun 2014 21:00:08 +0000 (14:00 -0700)]
Added skeleton for VP9 denoiser

Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90

10 years agoMerge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"
Tim Kopp [Thu, 12 Jun 2014 22:10:53 +0000 (15:10 -0700)]
Merge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"

10 years agoMerge "Initially add frame_parallel_decode flag."
hkuang [Thu, 12 Jun 2014 22:01:38 +0000 (15:01 -0700)]
Merge "Initially add frame_parallel_decode flag."

10 years agoMerge "Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS."
Dmitry Kovalev [Thu, 12 Jun 2014 21:16:18 +0000 (14:16 -0700)]
Merge "Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS."

10 years agoAdding MV_SPEED_FEATURES struct.
Dmitry Kovalev [Thu, 12 Jun 2014 19:35:57 +0000 (12:35 -0700)]
Adding MV_SPEED_FEATURES struct.

Moving all motion vector related speed parameters from SPEED_FEATURES to
MV_SPEED_FEATURES.

Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e

10 years agoMerge "Moving full_pixel_search() to vp9_mcomp.c."
Dmitry Kovalev [Thu, 12 Jun 2014 21:12:45 +0000 (14:12 -0700)]
Merge "Moving full_pixel_search() to vp9_mcomp.c."

10 years agoMerge "Adding is_altref_enabled() function."
Dmitry Kovalev [Thu, 12 Jun 2014 20:24:42 +0000 (13:24 -0700)]
Merge "Adding is_altref_enabled() function."

10 years agoMerge "Replacing txfm_size with tx_size."
Dmitry Kovalev [Thu, 12 Jun 2014 20:07:11 +0000 (13:07 -0700)]
Merge "Replacing txfm_size with tx_size."

10 years agoMoving full_pixel_search() to vp9_mcomp.c.
Dmitry Kovalev [Thu, 12 Jun 2014 20:06:37 +0000 (13:06 -0700)]
Moving full_pixel_search() to vp9_mcomp.c.

Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65

10 years agoAdding is_altref_enabled() function.
Dmitry Kovalev [Thu, 12 Jun 2014 19:13:20 +0000 (12:13 -0700)]
Adding is_altref_enabled() function.

Change-Id: I54cdb4ce11590511e6f86bc2fd55771f1c18a20a

10 years agoMerge "Fast computation path for forward transform and quantization"
Jingning Han [Thu, 12 Jun 2014 18:59:52 +0000 (11:59 -0700)]
Merge "Fast computation path for forward transform and quantization"

10 years agoReplacing txfm_size with tx_size.
Dmitry Kovalev [Thu, 12 Jun 2014 18:57:26 +0000 (11:57 -0700)]
Replacing txfm_size with tx_size.

Change-Id: Ifa6374e9db5919322733b656e0865f5f19ee6f2c

10 years agoRemoving unused ssim_weighted_pred_err field from FIRSTPASS_STATS.
Dmitry Kovalev [Tue, 3 Jun 2014 21:07:47 +0000 (14:07 -0700)]
Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS.

Change-Id: Ia8c7e3905ac21732cb6b8099eaf8df72c7e36b73

10 years agoFast computation path for forward transform and quantization
Jingning Han [Fri, 30 May 2014 01:14:17 +0000 (18:14 -0700)]
Fast computation path for forward transform and quantization

This commit enables a fast path computational flow for forward
transformation. It checks the sse and variance of prediction
residuals and decides if the quantized coefficients are all
zero, dc only, or more. It then selects the corresponding coding
path in the forward transformation and quantization stage.

It is currently enabled in rtc coding mode. Will do it for rd
coding mode next.

In speed -6, the runtime for pedestrian_area 1080p at 1000 kbps
goes down from 14234 ms to 13704 ms, i.e., about 4% speed-up.
Overall coding performance for rtc set is changed by -0.18%.

Change-Id: I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1

10 years agoMerge "Fix SEG_LVL_SKIP in non-RD inter mode selection."
Alex Converse [Thu, 12 Jun 2014 17:38:06 +0000 (10:38 -0700)]
Merge "Fix SEG_LVL_SKIP in non-RD inter mode selection."

10 years agoMerge "Fix SEG_LVL_SKIP in RD inter mode selection."
Alex Converse [Thu, 12 Jun 2014 17:37:20 +0000 (10:37 -0700)]
Merge "Fix SEG_LVL_SKIP in RD inter mode selection."

10 years agoMerge "skip un-neccessary motion search in the first pass"
Yunqing Wang [Thu, 12 Jun 2014 16:43:47 +0000 (09:43 -0700)]
Merge "skip un-neccessary motion search in the first pass"

10 years agoskip un-neccessary motion search in the first pass
Pengchong Jin [Wed, 4 Jun 2014 00:16:00 +0000 (17:16 -0700)]
skip un-neccessary motion search in the first pass

This patch allows the encoder to skip the
un-neccessary motion search in the first pass. It
calculates the error of the zero motion vector using
the last source frame as reference and skips the
further motion search in the first pass if the error
is small.

The encoding speedup of the first pass for slideshow
videos is over 30%. Borg test shows the overall PSNR
performance remain approximately the same (derf -0.009,
hd 0.387, yt 0.021, stdhd 0.065). Individual clips may
have either PSNR gain or loss. The worst PSNR perfomance
is from yt set, with a PSNR loss of -1.1.

Change-Id: I08b2ab110b695e4689573b2567fa531b6457616e

10 years agoMerge "[spatial svc]Combine first and second pass test to keep stats data in memory."
Minghai Shang [Thu, 12 Jun 2014 01:12:38 +0000 (18:12 -0700)]
Merge "[spatial svc]Combine first and second pass test to keep stats data in memory."

10 years agoFix SEG_LVL_SKIP in non-RD inter mode selection.
Alex Converse [Fri, 30 May 2014 00:48:28 +0000 (17:48 -0700)]
Fix SEG_LVL_SKIP in non-RD inter mode selection.

Add a set_mode_info_seg_skip function that fills the requisite mode info.

Change-Id: I460b1b6845d720d9b09ed5b64df0ea0aac443f62

10 years agoFix SEG_LVL_SKIP in RD inter mode selection.
Alex Converse [Thu, 29 May 2014 00:11:16 +0000 (17:11 -0700)]
Fix SEG_LVL_SKIP in RD inter mode selection.

* Only use ZEROMV, disalowing the intra modes that were previously
  tested.
* Score rate and distortion as zero.

Change-Id: Ifcf99e272095725f11da1dcd26bd0f850683e680

10 years agoInitially add frame_parallel_decode flag.
hkuang [Wed, 11 Jun 2014 23:06:50 +0000 (16:06 -0700)]
Initially add frame_parallel_decode flag.

Stub flag temporarily set to 0 until frame parallel
decoding implementations are finished.

Change-Id: I8ab768138e8f8f8eb809875703b2502ea0fe7cea

10 years agoMerge "Add target armv7s-darwin-gcc."
Tom Finegan [Wed, 11 Jun 2014 19:13:11 +0000 (12:13 -0700)]
Merge "Add target armv7s-darwin-gcc."

10 years agoAdd non420 support to vp9_extend_frame_borders.
Alex Converse [Wed, 11 Jun 2014 18:54:07 +0000 (11:54 -0700)]
Add non420 support to vp9_extend_frame_borders.

Fixes an encoder/decoder mismatch problem.

Change-Id: I573b3a2b7ba2171a1a380ff201b082b084e7ade1

10 years ago[spatial svc]Combine first and second pass test to keep stats data in memory.
Minghai Shang [Mon, 9 Jun 2014 20:32:27 +0000 (13:32 -0700)]
[spatial svc]Combine first and second pass test to keep stats data in memory.

Change-Id: Idccbfe35bebe6f05655bd54da7d8b616b1bffe03

10 years agoAdd target armv7s-darwin-gcc.
Tom Finegan [Wed, 11 Jun 2014 01:52:58 +0000 (18:52 -0700)]
Add target armv7s-darwin-gcc.

Really just armv7. This is a convenience target intended to make iOS
development with libvpx easier. Xcode projects with default settings
will fail to build when a framework lacks armv7s support when targetting
iOS7.

Change-Id: I7eb80d52eec25501febc0d2c3c0b4ed964b8ed5b

10 years agoMerge "Cleaning up vp9_variance_mmx.c."
Dmitry Kovalev [Wed, 11 Jun 2014 00:27:12 +0000 (17:27 -0700)]
Merge "Cleaning up vp9_variance_mmx.c."

10 years agoMerge "Removing two unused TX_SIZE_SEARCH_METHOD members."
Dmitry Kovalev [Wed, 11 Jun 2014 00:26:41 +0000 (17:26 -0700)]
Merge "Removing two unused TX_SIZE_SEARCH_METHOD members."

10 years agovp9_rtcd: correct avx2 references
James Zern [Tue, 10 Jun 2014 23:26:36 +0000 (16:26 -0700)]
vp9_rtcd: correct avx2 references

s/"\$avx2_x86inc"/"avx2"/

avx2 code is all intrinsics and as a result doesn't rely on x86inc.asm

Change-Id: I76ad39474d8a00658f3e43131830ef0f4f34772a

10 years agoMerge changes I6abc0657,I8224fba2,I04f64a45,I5d49d119,I76b4d171,I88c11ac3
James Zern [Tue, 10 Jun 2014 23:14:44 +0000 (16:14 -0700)]
Merge changes I6abc0657,I8224fba2,I04f64a45,I5d49d119,I76b4d171,I88c11ac3

* changes:
  vp9_sub_pixel_*variance*: disable avx2 variants
  vp9_sad*x4d: disable avx2 variants
  vp9_f(dct|ht): disable avx2 variants
  convolve: disable avx2 variants
  fdct8x8_test: add missing avx2 functions
  dct4x4_test: add missing avx2 functions

10 years agovp9_sub_pixel_*variance*: disable avx2 variants
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
vp9_sub_pixel_*variance*: disable avx2 variants

tests failing under Win32/Win64

+ variance_test: add missing avx2 functions (partially disabled)

Change-Id: I6abc0657ea076379ab9ca65c12678b9ea199849d

10 years agovp9_sad*x4d: disable avx2 variants
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
vp9_sad*x4d: disable avx2 variants

tests failing under Win32/Win64

+ sad_test: add missing avx2 functions (disabled)

Change-Id: I8224fba2b270f6039ab1877d71e1e512f0081856

10 years agoMerge "Makefile: skip .d inclusion for 'testdata' target"
James Zern [Tue, 10 Jun 2014 22:58:59 +0000 (15:58 -0700)]
Merge "Makefile: skip .d inclusion for 'testdata' target"

10 years agoMerge "Add mode info arrays and mode info index."
hkuang [Tue, 10 Jun 2014 21:27:31 +0000 (14:27 -0700)]
Merge "Add mode info arrays and mode info index."

10 years agoAdd mode info arrays and mode info index.
hkuang [Mon, 9 Jun 2014 23:01:53 +0000 (16:01 -0700)]
Add mode info arrays and mode info index.

In non frame-parallel decoding, this works the same way as
current decoding scheme. Every time after decoder finish
decoding a frame, it will swap the current mode info pointer
and  previous mode info pointer if the decoded frame needs
to be shown. Both mode info pointer and previous mode info
pointer are from mode info arrays.

In frame-parallel decoding, this will become more complicated
as current frame's mode info pointer will be shared with next
frame as previous mode info pointer. But when one decoder
thread finishes decoding one frame and starts to work on next
available frame, it needs to retain the decoded frame's mode
info pointers until next frame finishes decoding. The mode info
index will serve this purpose. The decoder will use different
buffer in the mode info arrays and use the other buffer to save
previous decoded frame’s mode info.

Change-Id: If11d57d8eb0ee38c8876158e5482177fcb229428

10 years agoRemoving two unused TX_SIZE_SEARCH_METHOD members.
Dmitry Kovalev [Fri, 6 Jun 2014 01:46:13 +0000 (18:46 -0700)]
Removing two unused TX_SIZE_SEARCH_METHOD members.

Change-Id: I33a38bb9f46e7ef509bbbf0cfd7bc3ea5072d022

10 years agoMerge "Removing chessboard_index from SPEED_FEATURES."
Dmitry Kovalev [Tue, 10 Jun 2014 17:53:53 +0000 (10:53 -0700)]
Merge "Removing chessboard_index from SPEED_FEATURES."

10 years agoMerge "Removing unused motion_vector_context enum from vp9_encodeframe.c"
Dmitry Kovalev [Tue, 10 Jun 2014 17:53:25 +0000 (10:53 -0700)]
Merge "Removing unused motion_vector_context enum from vp9_encodeframe.c"

10 years agoMerge "Add x86_64-iphonesimulator-gcc target."
Tom Finegan [Tue, 10 Jun 2014 17:30:56 +0000 (10:30 -0700)]
Merge "Add x86_64-iphonesimulator-gcc target."

10 years agovp9_f(dct|ht): disable avx2 variants
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
vp9_f(dct|ht): disable avx2 variants

tests failing under Win32/Win64

+ dct16x16_test: add missing avx2 functions (partially disabled)

exercises the forward transforms
no idct/iht implementations, so the c-code is used

Change-Id: I04f64a457fa0828a00f32b5c9fe4f55294f21f61

10 years agoconvolve: disable avx2 variants
James Zern [Tue, 10 Jun 2014 01:36:58 +0000 (18:36 -0700)]
convolve: disable avx2 variants

tests failing under Win32/Win64

Change-Id: I5d49d11911bcda3a832b14efe5500d22597bedcf

10 years agofdct8x8_test: add missing avx2 functions
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
fdct8x8_test: add missing avx2 functions

exercises the forward transforms
no idct/iht implementations, so the c-code is used

Change-Id: I76b4d1712f10225c1ffa5ffb0ed9a551e68b93b4

10 years agodct4x4_test: add missing avx2 functions
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
dct4x4_test: add missing avx2 functions

exercises the forward transforms
no idct/iht implementations, so the c-code is used

Change-Id: I88c11ac37ac6456de9b4b3ec5da059faf4ad6066

10 years agoMerge "Use small transform size in non-rd real-time mode"
Yunqing Wang [Mon, 9 Jun 2014 20:07:24 +0000 (13:07 -0700)]
Merge "Use small transform size in non-rd real-time mode"

10 years agoMerge "Removing unused tt_activity_measure()."
Dmitry Kovalev [Mon, 9 Jun 2014 17:45:56 +0000 (10:45 -0700)]
Merge "Removing unused tt_activity_measure()."

10 years agoUse small transform size in non-rd real-time mode
Yunqing Wang [Thu, 29 May 2014 23:53:23 +0000 (16:53 -0700)]
Use small transform size in non-rd real-time mode

In non-rd real-time mode, choosing smaller transform size in
encoding gives better video quality and good speed gain than
choosing larger transform size. This patch set tx size search
method to ALLOW_8X8, which is better than using 4x4 or other
larger sizes.

Borg tests on rtc set at speed 6 showed significant gain on quality.
PSNR gain: 11.034% and SSIM gain: 15.466%.

The speed gain is 5% - 12% for <720p clips, and 2% - 7% for
720p clips.

Change-Id: If4dc74ed2df359346b059f47fb73b4a0193ec548

10 years agoMerge "Fix internal stats printing"
Adrian Grange [Mon, 9 Jun 2014 14:13:20 +0000 (07:13 -0700)]
Merge "Fix internal stats printing"

10 years agoMakefile: skip .d inclusion for 'testdata' target
James Zern [Sun, 8 Jun 2014 03:24:19 +0000 (20:24 -0700)]
Makefile: skip .d inclusion for 'testdata' target

avoids some unnecessary work when pulling testdata in a freshly
configured tree

Change-Id: Ib43379b0e1549107f3f1b227afca49a899bcc3ab

10 years agoMerge "gen_msvs_*proj.sh: speed up file generation"
James Zern [Sat, 7 Jun 2014 19:51:30 +0000 (12:51 -0700)]
Merge "gen_msvs_*proj.sh: speed up file generation"

10 years agogen_msvs_*proj.sh: speed up file generation
James Zern [Tue, 3 Jun 2014 23:22:43 +0000 (16:22 -0700)]
gen_msvs_*proj.sh: speed up file generation

execute fix_path once on the source file list rather than once per entry

Change-Id: Ibc8226e391b3028c1b0bcfeab83c790387c9fe23

10 years agoAdd x86_64-iphonesimulator-gcc target.
Tom Finegan [Fri, 6 Jun 2014 23:54:16 +0000 (16:54 -0700)]
Add x86_64-iphonesimulator-gcc target.

macho64 x86_64 with:
- -miphoneos-version-min=5.0
- -isysroot from xcrun --sdk iphonesimulator

Change-Id: I1ba183e16d50c93d48f526e2dc43a7a6040741c5

10 years agoMerge "Revert "Removing this_frame_stats member from TWO_PASS struct.""
Adrian Grange [Fri, 6 Jun 2014 21:03:52 +0000 (14:03 -0700)]
Merge "Revert "Removing this_frame_stats member from TWO_PASS struct.""

10 years agoRevert "Removing this_frame_stats member from TWO_PASS struct."
Adrian Grange [Fri, 6 Jun 2014 17:37:22 +0000 (10:37 -0700)]
Revert "Removing this_frame_stats member from TWO_PASS struct."

Use of stack frame variable "fps" beyond the lifetime of the function.

fps is sent as a paremeter to output_stats and stored in the
packet holding this encoded frame. This has scope beyond the
lifetime of the calling function.

This reverts commit 3f95a230c7e54104201b3f6c577dfa9251b4642a

Change-Id: Icd8e14b3d7dd733590ada12e619b9dce95b6b0f5