]> granicus.if.org Git - libvpx/log
libvpx
10 years agoEnable more precise background detection for partition decision
Jingning Han [Tue, 15 Apr 2014 18:41:39 +0000 (11:41 -0700)]
Enable more precise background detection for partition decision

This commit compares the current original frame to the previous
original frame at 64x64 block level and decides if the entire
block belongs to background area. If it is in the background area,
skip non-RD partition search and copy the partition types of the
collocated block in the previous frame.

For vidyo1 in the rtc set, this makes the speed -5 coding speed
about 8% faster. The overall compression performance is down by
1.37% for rtc set.

Change-Id: Iccf920562fcc88f21d377fb6a44c547c8689b7ea

10 years agoMerge "Fix encoder uninitialized read errors reported by drmemory"
Yunqing Wang [Thu, 10 Apr 2014 16:45:08 +0000 (09:45 -0700)]
Merge "Fix encoder uninitialized read errors reported by drmemory"

10 years agoMerge "Fix coding format in vp9_rc_regulate_q"
Jingning Han [Thu, 10 Apr 2014 16:30:03 +0000 (09:30 -0700)]
Merge "Fix coding format in vp9_rc_regulate_q"

10 years agoMerge "Prevent the usage of invalid best_mode_index"
Yaowu Xu [Thu, 10 Apr 2014 16:04:10 +0000 (09:04 -0700)]
Merge "Prevent the usage of invalid best_mode_index"

10 years agoMerge "Remove duplicate code"
Yaowu Xu [Thu, 10 Apr 2014 16:04:04 +0000 (09:04 -0700)]
Merge "Remove duplicate code"

10 years agoMerge "Minor code cleanup"
Yunqing Wang [Thu, 10 Apr 2014 15:25:10 +0000 (08:25 -0700)]
Merge "Minor code cleanup"

10 years agoMerge "Revert "Converting set_prev_mi() to get_prev_mi().""
Dmitry Kovalev [Thu, 10 Apr 2014 03:44:30 +0000 (20:44 -0700)]
Merge "Revert "Converting set_prev_mi() to get_prev_mi().""

10 years agoMerge "Moving q_trans[] table to vp9_quantize.{c, h}."
Dmitry Kovalev [Thu, 10 Apr 2014 03:18:24 +0000 (20:18 -0700)]
Merge "Moving q_trans[] table to vp9_quantize.{c, h}."

10 years agoMerge "Removing unused code from vp9_onyx_if.c."
Dmitry Kovalev [Thu, 10 Apr 2014 03:18:07 +0000 (20:18 -0700)]
Merge "Removing unused code from vp9_onyx_if.c."

10 years agoPrevent the usage of invalid best_mode_index
Yaowu Xu [Thu, 10 Apr 2014 00:32:48 +0000 (17:32 -0700)]
Prevent the usage of invalid best_mode_index

This commit changed the initialization of best_mode_index to -1 to make
sure it is not mistakenly used for mode masking.

Change-Id: I75b05db51466070dd23c4ee57a4d4b40764dc019

10 years agoMerge "Removing redundant assignments."
Dmitry Kovalev [Wed, 9 Apr 2014 23:56:25 +0000 (16:56 -0700)]
Merge "Removing redundant assignments."

10 years agoMerge "Remove unused tile arguments from vp_rdopt."
Alex Converse [Wed, 9 Apr 2014 23:45:46 +0000 (16:45 -0700)]
Merge "Remove unused tile arguments from vp_rdopt."

10 years agoMerge "Cleanup vp9_rd_pick_inter_mode_sub8x8()."
Alex Converse [Wed, 9 Apr 2014 23:45:41 +0000 (16:45 -0700)]
Merge "Cleanup vp9_rd_pick_inter_mode_sub8x8()."

10 years agoFix coding format in vp9_rc_regulate_q
Jingning Han [Wed, 9 Apr 2014 22:41:15 +0000 (15:41 -0700)]
Fix coding format in vp9_rc_regulate_q

Change-Id: I08aa0c213df34c084eb7a3c51b6b3306e49c7757

10 years agoRevert "Converting set_prev_mi() to get_prev_mi()."
Dmitry Kovalev [Wed, 9 Apr 2014 22:23:16 +0000 (15:23 -0700)]
Revert "Converting set_prev_mi() to get_prev_mi()."

This reverts commit 22a3e30790d141033778e430a47ba7d558237362

Change-Id: I460d905edf5fb2006da58c18fbe02c04d0c631bb

10 years agoMerge "Fix the setting of mode_skip_mask"
Yaowu Xu [Wed, 9 Apr 2014 21:29:23 +0000 (14:29 -0700)]
Merge "Fix the setting of mode_skip_mask"

10 years agoRemoving unused code from vp9_onyx_if.c.
Dmitry Kovalev [Wed, 9 Apr 2014 20:42:26 +0000 (13:42 -0700)]
Removing unused code from vp9_onyx_if.c.

Change-Id: I0462bf1ca1b4e5a1c06259979b4daff949b8a2c6

10 years agoMoving q_trans[] table to vp9_quantize.{c, h}.
Dmitry Kovalev [Wed, 9 Apr 2014 20:35:39 +0000 (13:35 -0700)]
Moving q_trans[] table to vp9_quantize.{c, h}.

Change-Id: I1324c339815a47004ddccdaf651d24c60382b92f

10 years agoMerge "Fix avx builds on macosx with clang 5.0."
Tom Finegan [Wed, 9 Apr 2014 20:03:26 +0000 (13:03 -0700)]
Merge "Fix avx builds on macosx with clang 5.0."

10 years agoRemove duplicate code
Yaowu Xu [Wed, 9 Apr 2014 01:13:01 +0000 (18:13 -0700)]
Remove duplicate code

Change-Id: Ie26b6ca8de733a527f820b16148e7a2231073f0f

10 years agoMerge "Adding vp9_inc_frame_in_layer() function."
Dmitry Kovalev [Wed, 9 Apr 2014 19:50:25 +0000 (12:50 -0700)]
Merge "Adding vp9_inc_frame_in_layer() function."

10 years agoMinor code cleanup
Yunqing Wang [Wed, 9 Apr 2014 19:07:26 +0000 (12:07 -0700)]
Minor code cleanup

Cleanup.

Change-Id: I54d989e24b35323cda7290654e425565d5c9ea2d

10 years agoRemove unused tile arguments from vp_rdopt.
Alex Converse [Wed, 9 Apr 2014 18:23:22 +0000 (11:23 -0700)]
Remove unused tile arguments from vp_rdopt.

Change-Id: I721ff26e3d5dbef80b8cd2dd562adae3748f6687

10 years agoCleanup vp9_rd_pick_inter_mode_sub8x8().
Alex Converse [Wed, 9 Apr 2014 18:15:59 +0000 (11:15 -0700)]
Cleanup vp9_rd_pick_inter_mode_sub8x8().

Change-Id: I9be2e4e9aeda0fae6dc946deae2999be51daebe0

10 years agoMerge "Fixing broken build."
Alex Converse [Wed, 9 Apr 2014 18:47:23 +0000 (11:47 -0700)]
Merge "Fixing broken build."

10 years agoFix the setting of mode_skip_mask
Yaowu Xu [Wed, 9 Apr 2014 18:37:27 +0000 (11:37 -0700)]
Fix the setting of mode_skip_mask

In mode selection loop, once mode_index pass mode_skip_start, all
modes with a different reference frame from current best mode are
masked out using mode_skip_mask.

However, the setting of mode_skip_mask may use an invalid mode if
there is no mode tested yet. This commit fixes the issue by making
sure a mode has been tested and selected. Otherwise, no mode will be
masked out because of their reference frame.

Change-Id: Ib0009e8a96836a65cf5347440fff8a2e1a67f29f

10 years agoMerge "Fix TODO typo"
James Zern [Wed, 9 Apr 2014 18:29:44 +0000 (11:29 -0700)]
Merge "Fix TODO typo"

10 years agoMerge "Add more test files that change number of tile columns."
James Zern [Wed, 9 Apr 2014 18:29:12 +0000 (11:29 -0700)]
Merge "Add more test files that change number of tile columns."

10 years agoMerge "third_party/libwebm: Pull from upstream"
Vignesh Venkatasubramanian [Wed, 9 Apr 2014 18:16:14 +0000 (11:16 -0700)]
Merge "third_party/libwebm: Pull from upstream"

10 years agoFixing broken build.
Dmitry Kovalev [Wed, 9 Apr 2014 17:46:54 +0000 (10:46 -0700)]
Fixing broken build.

Change-Id: I9b8f9a3f4fa9d48695149dd68ecb5e8d84accafe

10 years agoMerge "Converting set_prev_mi() to get_prev_mi()."
Dmitry Kovalev [Wed, 9 Apr 2014 17:27:05 +0000 (10:27 -0700)]
Merge "Converting set_prev_mi() to get_prev_mi()."

10 years agoMerge "Use source frame difference to make partition decision"
Yunqing Wang [Wed, 9 Apr 2014 17:26:42 +0000 (10:26 -0700)]
Merge "Use source frame difference to make partition decision"

10 years agoAdding vp9_inc_frame_in_layer() function.
Dmitry Kovalev [Wed, 9 Apr 2014 01:59:09 +0000 (18:59 -0700)]
Adding vp9_inc_frame_in_layer() function.

Change-Id: Idf612c772440158cd1645623241c51ab0d57405c

10 years agoMerge "Applying q_trans[] inside set_encoder_config()."
Dmitry Kovalev [Wed, 9 Apr 2014 17:25:59 +0000 (10:25 -0700)]
Merge "Applying q_trans[] inside set_encoder_config()."

10 years agoFix encoder uninitialized read errors reported by drmemory
Yunqing Wang [Wed, 9 Apr 2014 16:59:15 +0000 (09:59 -0700)]
Fix encoder uninitialized read errors reported by drmemory

This patch fixed the uninitialized read errors in Issue 748:
"dr memory VP9 encode errors". In vp9_convolve_avg_sse2,
when width is 4, pavgb reads 8 bytes from dst buffer that is
out of range. An error is reported although the data is not
actually used later. This issue was resolved by preventing
uninitialized reads.

Change-Id: I109a54910aa47139cb13119de86f2062cff207df

10 years agoMerge "Select prediction filter type in non-RD mode decision"
Jingning Han [Wed, 9 Apr 2014 16:07:45 +0000 (09:07 -0700)]
Merge "Select prediction filter type in non-RD mode decision"

10 years agoFix TODO typo
Frank Galligan [Wed, 9 Apr 2014 15:48:44 +0000 (08:48 -0700)]
Fix TODO typo

Change-Id: I7a5230852cb24ce22bfe85ea2608cdb4619b5200

10 years agoAdd more test files that change number of tile columns.
Frank Galligan [Wed, 9 Apr 2014 15:44:29 +0000 (08:44 -0700)]
Add more test files that change number of tile columns.

Change-Id: I08fe184a04e5435aeac92f1d7cc9733ca52c2783

10 years agoMerge "High-level hooks for Profile 2 (10/12 bit)"
Deb Mukherjee [Wed, 9 Apr 2014 05:19:38 +0000 (22:19 -0700)]
Merge "High-level hooks for Profile 2 (10/12 bit)"

10 years agoApplying q_trans[] inside set_encoder_config().
Dmitry Kovalev [Wed, 9 Apr 2014 02:43:08 +0000 (19:43 -0700)]
Applying q_trans[] inside set_encoder_config().

Change-Id: Ib64edeb58b3e25488fb85bbe85c9decb15b4d0a1

10 years agoFix avx builds on macosx with clang 5.0.
Tom Finegan [Wed, 9 Apr 2014 01:32:19 +0000 (18:32 -0700)]
Fix avx builds on macosx with clang 5.0.

The macosx release of clang v5.0 identifies itself as:
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)

This version of clang uses the older _mm_broadcastsi128_si256, like
v3.3, as given away in the LLVM svn version above.

Change-Id: I4d6d59d5454efd57d2ae9e75f5eb7486af7cbd0c

10 years agoRemoving redundant assignments.
Dmitry Kovalev [Wed, 9 Apr 2014 01:52:25 +0000 (18:52 -0700)]
Removing redundant assignments.

Change-Id: I3ced24f2c3b9cc483278c0f0d60512e7d2efa4f4

10 years agoMerge "Cleaning up encode_frame_internal()."
Dmitry Kovalev [Wed, 9 Apr 2014 01:23:15 +0000 (18:23 -0700)]
Merge "Cleaning up encode_frame_internal()."

10 years agoMerge "Cleaning up vp9_firstpass.c"
Dmitry Kovalev [Wed, 9 Apr 2014 01:22:34 +0000 (18:22 -0700)]
Merge "Cleaning up vp9_firstpass.c"

10 years agoMerge "Adding vp9_ssim.h file."
Dmitry Kovalev [Wed, 9 Apr 2014 01:19:21 +0000 (18:19 -0700)]
Merge "Adding vp9_ssim.h file."

10 years agoMerge "Fix decoder resolution change with tiles"
Frank Galligan [Wed, 9 Apr 2014 00:13:33 +0000 (17:13 -0700)]
Merge "Fix decoder resolution change with tiles"

10 years agoUse source frame difference to make partition decision
Yunqing Wang [Wed, 2 Apr 2014 00:32:20 +0000 (17:32 -0700)]
Use source frame difference to make partition decision

Calculate the difference variance between last source frame and
current source frame. The variance is calculated at 16x16 block
level. The variances are compared to several thresholds to decide
final partition sizes.

An adaptive strategy is implemented to decide using
SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions
in the video. The switching test is done once every
search_type_check_frequency frames.

The selection of source_var_thresh needs to be investigated
further later.

RTC set Borg test showed 0.424% overall psnr gain, and 0.357%
ssim gain. For clips with large enough static area, the
encoding speedup is around 2% to 15%.

Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156

10 years agoSelect prediction filter type in non-RD mode decision
Jingning Han [Fri, 4 Apr 2014 22:59:10 +0000 (15:59 -0700)]
Select prediction filter type in non-RD mode decision

This commit allows the non-RD mode decision flow to  select
prediction filter type in NEWMV mode. It provides 8.14% compression
performance gains in both settings of AQ=0 and 3. The current speed
impact is about 5% to 10% slower.

Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42

10 years agothird_party/libwebm: Pull from upstream
Vignesh Venkatasubramanian [Tue, 8 Apr 2014 23:25:23 +0000 (16:25 -0700)]
third_party/libwebm: Pull from upstream

Pulling latest libwebm from upstream.

Change-Id: I62edafb0b0283160c9b4060fd5907e3aad6c7820

10 years agoHigh-level hooks for Profile 2 (10/12 bit)
Deb Mukherjee [Sat, 5 Apr 2014 00:30:16 +0000 (17:30 -0700)]
High-level hooks for Profile 2 (10/12 bit)

Adds some high-level hooks for profile 2 before further
progress on the implementation.

According to the definitiion in this patch:
1. Profile 2 only supports 10 or 12 bit color but not 8
2. Profile 2 supports all color sampling modes: 444, 422 and 420,
and alpha plane.
3. Profile 3 is currently undefined.

Please consider the definition carefully and suggest modifications
to the definition as needed.

Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995

10 years agoAdding vp9_ssim.h file.
Dmitry Kovalev [Tue, 8 Apr 2014 23:08:39 +0000 (16:08 -0700)]
Adding vp9_ssim.h file.

Change-Id: Ib3b3864a6018c62ac1ea18e30795af74464596cd

10 years agoCleaning up vp9_firstpass.c
Dmitry Kovalev [Tue, 8 Apr 2014 22:21:30 +0000 (15:21 -0700)]
Cleaning up vp9_firstpass.c

Change-Id: Ie5723690f7c0bfa29a7ccef5da0c6c6326600ee6

10 years agoFix decoder resolution change with tiles
Frank Galligan [Mon, 7 Apr 2014 03:07:14 +0000 (20:07 -0700)]
Fix decoder resolution change with tiles

There was a bug with the decoder that if you started the decoder
with more threads than the first frame had tile columns. Afterwards
tried to decode a frame with more tile columns than the first frame,
the decoder would hang. E.g. run vpxdec --threads=4. The first frame
had two tile columns, then the next key frame had 4 tile columns, the
decoder would hang. If you started with 4 tiles and switched to 2
tiles the decoder would be fine. The issue is that the worker the thread
loop is using is stale.

I added a test vector "vp90-2-14-resize-848x480-1280x720.webm" that
exhibited the bug.

Change-Id: I7bdd47241a52ac0fe1c693a609bc779257e94229

10 years agoMerge "Cleaning up vp9_ratectrl.c file."
Dmitry Kovalev [Tue, 8 Apr 2014 22:06:29 +0000 (15:06 -0700)]
Merge "Cleaning up vp9_ratectrl.c file."

10 years agoMerge "Cleaning up vp9_diamond_search_sad_c() function."
Dmitry Kovalev [Tue, 8 Apr 2014 20:47:41 +0000 (13:47 -0700)]
Merge "Cleaning up vp9_diamond_search_sad_c() function."

10 years agoMerge "Moving init_rate_control() to vp9_ratectrl.{c, h}."
Dmitry Kovalev [Tue, 8 Apr 2014 19:45:49 +0000 (12:45 -0700)]
Merge "Moving init_rate_control() to vp9_ratectrl.{c, h}."

10 years agoCleaning up vp9_ratectrl.c file.
Dmitry Kovalev [Tue, 8 Apr 2014 18:59:41 +0000 (11:59 -0700)]
Cleaning up vp9_ratectrl.c file.

Change-Id: If8044d9c71afe02ed1e6c94487344e143bdfcd74

10 years agoRenaming VP9D_COMP & VP9Decompressor to VP9Decoder.
Dmitry Kovalev [Tue, 8 Apr 2014 18:41:12 +0000 (11:41 -0700)]
Renaming VP9D_COMP & VP9Decompressor to VP9Decoder.

Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687

10 years agoMerge "vp9_ratectrl: change ARF overlays rate correction factor"
Yaowu Xu [Tue, 8 Apr 2014 14:17:38 +0000 (07:17 -0700)]
Merge "vp9_ratectrl: change ARF overlays rate correction factor"

10 years agoMerge "Replace imprecise 32 bits calculations by 64 bits calculations"
Yaowu Xu [Tue, 8 Apr 2014 14:14:21 +0000 (07:14 -0700)]
Merge "Replace imprecise 32 bits calculations by 64 bits calculations"

10 years agoMerge "vp9_firstpass: Get rid of magic number in bits per MB calculation"
Yaowu Xu [Tue, 8 Apr 2014 14:13:49 +0000 (07:13 -0700)]
Merge "vp9_firstpass: Get rid of magic number in bits per MB calculation"

10 years agoMerge "Moving compute_qdelta functions into vp9_ratectrl.{h, c}."
Dmitry Kovalev [Tue, 8 Apr 2014 05:39:38 +0000 (22:39 -0700)]
Merge "Moving compute_qdelta functions into vp9_ratectrl.{h, c}."

10 years agoMerge "Add constrained-copy partition to speed features."
Marco Paniconi [Tue, 8 Apr 2014 01:31:56 +0000 (18:31 -0700)]
Merge "Add constrained-copy partition to speed features."

10 years agoMoving compute_qdelta functions into vp9_ratectrl.{h, c}.
Dmitry Kovalev [Mon, 7 Apr 2014 23:57:53 +0000 (16:57 -0700)]
Moving compute_qdelta functions into vp9_ratectrl.{h, c}.

Change-Id: I512f2a287dd8765879a2d1144e2f028dc65f71ff

10 years agoCleaning up vp9_diamond_search_sad_c() function.
Dmitry Kovalev [Mon, 7 Apr 2014 23:28:35 +0000 (16:28 -0700)]
Cleaning up vp9_diamond_search_sad_c() function.

Change-Id: I0816ec12ec0a6f21d0f25f10c214b5fd327afc6c

10 years agoMerge "Fixing memory leak introduced in previous commit."
Dmitry Kovalev [Mon, 7 Apr 2014 23:13:04 +0000 (16:13 -0700)]
Merge "Fixing memory leak introduced in previous commit."

10 years agoConverting set_prev_mi() to get_prev_mi().
Dmitry Kovalev [Mon, 7 Apr 2014 23:01:34 +0000 (16:01 -0700)]
Converting set_prev_mi() to get_prev_mi().

Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f

10 years agoCleaning up encode_frame_internal().
Dmitry Kovalev [Mon, 7 Apr 2014 22:51:48 +0000 (15:51 -0700)]
Cleaning up encode_frame_internal().

Change-Id: I9c5f7edc2d5d1ec5aee396b87bdfc99ee21c435a

10 years agoAdd constrained-copy partition to speed features.
Marco Paniconi [Fri, 4 Apr 2014 22:10:14 +0000 (15:10 -0700)]
Add constrained-copy partition to speed features.

Copy up to a certain bsize, otherwise set to a fixed bsize.
This helsp to reduce artifact near moving boundary caused by full partition
copy without checking motion of super-block.
This artifact can occur at speeds 3,4 in real-time mode.
Issue: https://code.google.com/p/webm/issues/detail?id=738.

Change-Id: I05812521fd38816a467f72eb6a951cae4c227931

10 years agoMerge "Small fixes to script based off of cry-infra"
Joshua Litt [Mon, 7 Apr 2014 21:43:56 +0000 (14:43 -0700)]
Merge "Small fixes to script based off of cry-infra"

10 years agoMerge "Rewriting calc_plane_error() function."
Dmitry Kovalev [Mon, 7 Apr 2014 21:41:42 +0000 (14:41 -0700)]
Merge "Rewriting calc_plane_error() function."

10 years agoSmall fixes to script based off of cry-infra
Joshua Litt [Fri, 4 Apr 2014 23:59:04 +0000 (16:59 -0700)]
Small fixes to script based off of cry-infra

Change-Id: I5a65d6fdb27516aefda0473ac45b05186cf0913c

10 years agoMerge "General vp9_encodeframe.c cleanup."
Dmitry Kovalev [Mon, 7 Apr 2014 21:35:54 +0000 (14:35 -0700)]
Merge "General vp9_encodeframe.c cleanup."

10 years agoMoving init_rate_control() to vp9_ratectrl.{c, h}.
Dmitry Kovalev [Mon, 7 Apr 2014 21:34:46 +0000 (14:34 -0700)]
Moving init_rate_control() to vp9_ratectrl.{c, h}.

Change-Id: Iab3effc39064f265426c82b455ef38d37dcce5a8

10 years agoFixing memory leak introduced in previous commit.
Dmitry Kovalev [Mon, 7 Apr 2014 21:21:43 +0000 (14:21 -0700)]
Fixing memory leak introduced in previous commit.

Commit introduced the leak: "Removing XMA legacy from VP9 code."
I5e9dfc50b6312848df8c3b8276f6b4d0c7ff9cf9

Change-Id: Ia1f91bb8403bef340de9f089fa78b3fccc3e9917

10 years agoMerge "Cleaning up vp9_speed_features.c."
Dmitry Kovalev [Mon, 7 Apr 2014 21:18:02 +0000 (14:18 -0700)]
Merge "Cleaning up vp9_speed_features.c."

10 years agoMerge "Removing unused seg0_* vars."
Dmitry Kovalev [Mon, 7 Apr 2014 20:16:06 +0000 (13:16 -0700)]
Merge "Removing unused seg0_* vars."

10 years agoMerge "Moving {restore, save}_coding_context to vp9_onyx_if.c"
Dmitry Kovalev [Mon, 7 Apr 2014 20:15:58 +0000 (13:15 -0700)]
Merge "Moving {restore, save}_coding_context to vp9_onyx_if.c"

10 years agoMerge "Cleaning up vp9_{cx, dx}_iface.c files."
Dmitry Kovalev [Mon, 7 Apr 2014 20:06:01 +0000 (13:06 -0700)]
Merge "Cleaning up vp9_{cx, dx}_iface.c files."

10 years agoCleaning up vp9_speed_features.c.
Dmitry Kovalev [Fri, 4 Apr 2014 17:52:20 +0000 (10:52 -0700)]
Cleaning up vp9_speed_features.c.

Change-Id: I7b2b690d2d51d55daa642be4131e5febd78cbe0a

10 years agoAdding temp svc variable.
Dmitry Kovalev [Mon, 7 Apr 2014 18:31:26 +0000 (11:31 -0700)]
Adding temp svc variable.

Change-Id: Ic68caec1bcb8a88f443c3e40ce9770eade5bd320

10 years agoCleaning up vp9_{cx, dx}_iface.c files.
Dmitry Kovalev [Mon, 7 Apr 2014 17:38:51 +0000 (10:38 -0700)]
Cleaning up vp9_{cx, dx}_iface.c files.

Change-Id: Ib4e31ba74c4b882bd93942ef743f4a189892738d

10 years agoMoving {restore, save}_coding_context to vp9_onyx_if.c
Dmitry Kovalev [Fri, 4 Apr 2014 22:54:31 +0000 (15:54 -0700)]
Moving {restore, save}_coding_context to vp9_onyx_if.c

These functions do nothing about rate control.

Change-Id: I714e80b1c1f4f9aa157a56df705247fce6db138d

10 years agovp9_ratectrl: change ARF overlays rate correction factor
Guillaume Martres [Sat, 5 Apr 2014 23:07:53 +0000 (01:07 +0200)]
vp9_ratectrl: change ARF overlays rate correction factor

ARF overlays now use the same rate correction factor as regular inter
frames, further testing would be needed to see if it makes sense to use
a completely separate rate correction factor for ARF overlays.

$ vpxenc --cpu-used=5  --fps=50/1 --target-bitrate=2000
         parkjoy.y4m -o out.webm
=> Before: 3356 kb/s
=> After: 2271 kb/s

Change-Id: I73e4defa615ba7a8a2bdb845864f4b1721cbbffe

10 years agoReplace imprecise 32 bits calculations by 64 bits calculations
Guillaume Martres [Sat, 5 Apr 2014 20:32:06 +0000 (22:32 +0200)]
Replace imprecise 32 bits calculations by 64 bits calculations

Change-Id: If1b0a2d6603ce24f5dd99855e8dfe459e7a2835a

10 years agovp9_firstpass: Get rid of magic number in bits per MB calculation
Guillaume Martres [Sat, 5 Apr 2014 19:57:14 +0000 (21:57 +0200)]
vp9_firstpass: Get rid of magic number in bits per MB calculation

Change-Id: Ib3886cb7cafc211581f4f9e7f76782d9d1984434

10 years agoMerge "Cleaning up vp9_refining_search_sadx4() function."
Dmitry Kovalev [Mon, 7 Apr 2014 08:49:21 +0000 (01:49 -0700)]
Merge "Cleaning up vp9_refining_search_sadx4() function."

10 years agoMerge "Moving all RATE_CONTROL initialization to init_rate_control()."
Dmitry Kovalev [Mon, 7 Apr 2014 08:46:28 +0000 (01:46 -0700)]
Merge "Moving all RATE_CONTROL initialization to init_rate_control()."

10 years agoMerge "Set up early RD cost check for NEWMV in non-RD mode decision flow"
Jingning Han [Sun, 6 Apr 2014 18:13:32 +0000 (11:13 -0700)]
Merge "Set up early RD cost check for NEWMV in non-RD mode decision flow"

10 years agoSet up early RD cost check for NEWMV in non-RD mode decision flow
Jingning Han [Fri, 4 Apr 2014 01:04:04 +0000 (18:04 -0700)]
Set up early RD cost check for NEWMV in non-RD mode decision flow

This commit estimates the motion vector rate cost right after full
pixel motion search. It combines this and the mode cost and compares
the corresponding rate-distortion cost. If it is already above the
current best one, skip the rest sub-pixel motion search and modeling
process. For pedestrian_area 1080p at 4000 kpbs, the speed -5 runtime
goes down from 39425 ms -> 38399 ms.

Change-Id: If4cd7119fd6c266798d5cf1d19d19ab425e52a26

10 years agoMerge "Refactoring decode_one() function."
Dmitry Kovalev [Fri, 4 Apr 2014 22:47:34 +0000 (15:47 -0700)]
Merge "Refactoring decode_one() function."

10 years agoMoving all RATE_CONTROL initialization to init_rate_control().
Dmitry Kovalev [Fri, 4 Apr 2014 22:46:55 +0000 (15:46 -0700)]
Moving all RATE_CONTROL initialization to init_rate_control().

Change-Id: I4685706b816dd1c45500e1387c9f63edb2fa1962

10 years agoMerge "Code clean up."
hkuang [Fri, 4 Apr 2014 22:32:14 +0000 (15:32 -0700)]
Merge "Code clean up."

10 years agoMerge "Adding FAST_COEFF_UPDATE enum."
Dmitry Kovalev [Fri, 4 Apr 2014 22:13:29 +0000 (15:13 -0700)]
Merge "Adding FAST_COEFF_UPDATE enum."

10 years agoMerge "Re-enable datarate tests for speeds 5 and 6."
James Zern [Fri, 4 Apr 2014 22:04:48 +0000 (15:04 -0700)]
Merge "Re-enable datarate tests for speeds 5 and 6."

10 years agoGeneral vp9_encodeframe.c cleanup.
Dmitry Kovalev [Thu, 3 Apr 2014 22:51:40 +0000 (15:51 -0700)]
General vp9_encodeframe.c cleanup.

Change-Id: Ie364fe837002de96923da2c1c0ff8bb4b8d469a7

10 years agoRefactoring decode_one() function.
Dmitry Kovalev [Fri, 4 Apr 2014 17:43:47 +0000 (10:43 -0700)]
Refactoring decode_one() function.

Change-Id: Ic3ee3b1fb04691e8c7d16020b56e034ab8888525

10 years agoRe-enable datarate tests for speeds 5 and 6.
Marco Paniconi [Fri, 4 Apr 2014 17:32:13 +0000 (10:32 -0700)]
Re-enable datarate tests for speeds 5 and 6.

Changed a parameter to make speed 5 pass, and
valgring issue for speed 6 fixed: https://code.google.com/p/webm/issues/detail?id=740

Change-Id: I5b804b08069e29df3f08b9ec37f5b80151b4c910

10 years agoAdding FAST_COEFF_UPDATE enum.
Dmitry Kovalev [Fri, 4 Apr 2014 17:31:34 +0000 (10:31 -0700)]
Adding FAST_COEFF_UPDATE enum.

Change-Id: I75ad328c6d719df81cc24f3ae21c152af4ebdacc

10 years agoRemove an unused typedef
Jan Gerber [Fri, 4 Apr 2014 00:49:05 +0000 (17:49 -0700)]
Remove an unused typedef

Change-Id: Ie0eb9ac4529db00a322511e5241a59b501c289b7