diff options
author | Deb Mukherjee <debargha@google.com> | 2013-07-31 09:33:58 -0700 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2013-08-05 14:14:01 -0700 |
commit | 8b3faccb9e950c01daa3d9aa011970674e1ec0fc (patch) | |
tree | ea9d3dea6f2764dd927f06e36f341a9c9d9af431 /vp9/encoder/vp9_onyx_int.h | |
parent | 555bbd68c7afe0e6a261cec84b180f6451d0d13f (diff) | |
download | libvpx-8b3faccb9e950c01daa3d9aa011970674e1ec0fc.tar libvpx-8b3faccb9e950c01daa3d9aa011970674e1ec0fc.tar.gz libvpx-8b3faccb9e950c01daa3d9aa011970674e1ec0fc.tar.bz2 libvpx-8b3faccb9e950c01daa3d9aa011970674e1ec0fc.zip |
Add variance based mode/skipping
Adds a speed feature to skip all intra modes other than
DC_PRED if the source variance is small. This feature is
made part of speed 1 and up.
Results on derf300: psnr -0.07%, speedup about 1-2%
Also uses the source variance to fine-tune the early
termination criteria when FLAG_EARLY_TERMINATE is on.
This feature is made part of speed 2 and up.
Results on derf300: psnr -0.52%, speedup about 5-7%
Change-Id: I59e38aa836557cfa5405ae706fc64815cbfe4232
Diffstat (limited to 'vp9/encoder/vp9_onyx_int.h')
-rw-r--r-- | vp9/encoder/vp9_onyx_int.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_onyx_int.h b/vp9/encoder/vp9_onyx_int.h index f4d8db4e1..3091975ab 100644 --- a/vp9/encoder/vp9_onyx_int.h +++ b/vp9/encoder/vp9_onyx_int.h @@ -145,6 +145,8 @@ typedef struct { // const MODE_DEFINITION vp9_mode_order[MAX_MODES] used in the rd code. typedef enum { THR_NEARESTMV, + THR_DC, + THR_NEARESTA, THR_NEARESTG, THR_NEWMV, @@ -152,8 +154,6 @@ typedef enum { THR_NEARMV, THR_COMP_NEARESTGA, - THR_DC, - THR_NEWG, THR_NEWA, THR_NEARA, @@ -224,6 +224,10 @@ typedef enum { // skips oblique intra modes at angles 27, 63, 117, 153 if the best // intra so far is not one of the neighboring directions FLAG_SKIP_INTRA_DIRMISMATCH = 16, + + // skips intra modes other than DC_PRED if the source variance + // is small + FLAG_SKIP_INTRA_LOWVAR = 32, } MODE_SEARCH_SKIP_LOGIC; typedef struct { |