Paul Wilkins
658daf36fa
Fix rate control bug.
...
Fix rate control bug whereby the rate factor heuristics
were being updated on arf overlays causing a rate surge
for a few frames followed by a corrective drop.
This fix eliminates many of the overshoot problems that
we were seeing on hard clips (even without applying
stricter vbr rate control) and also helps quality on
almost all clips with some hard clips improving by >5%.
Overall quality results measured at speed 2.
Derf +1.78% opsnr , +2.44% SSIM
Stdhd +2.41% opsnr, +2.85% SSIM
Change-Id: I2369df6295c2705963fa6307877f6acb304bcc39
2014-04-16 10:13:06 -07:00
Vignesh Venkatasubramanian
b59e37e1aa
Merge "webmdec: Fix return values for webm_read_frame"
2014-04-16 09:47:24 -07:00
Dmitry Kovalev
92ebef119a
Merge "Renaming av_per_frame_bandwidth to avg_frame_bandwidth."
2014-04-15 23:00:16 -07:00
Dmitry Kovalev
617a367c54
Merge "Consistent mode names."
2014-04-15 22:59:37 -07:00
Dmitry Kovalev
4e9529cb24
Renaming av_per_frame_bandwidth to avg_frame_bandwidth.
...
Just to be consistent with min_frame_bandwidth & max_frame_bandwidth names.
Change-Id: I36702c708cba9ad1a5c36393f37758a2edeadb90
2014-04-15 18:36:01 -07:00
Dmitry Kovalev
003376fc8b
Merge "Adding scale_if_required() function."
2014-04-15 17:55:13 -07:00
Dmitry Kovalev
7a85ba8ac3
Adding sad function generation macros.
...
Change-Id: If6f013835b69ae61b0a0c6006fe0955303f579a5
2014-04-15 17:46:45 -07:00
Dmitry Kovalev
cb9550eea0
Merge "Adding get_search_range() function."
2014-04-15 16:39:27 -07:00
Dmitry Kovalev
0391790f24
Merge "Cleaning up vp9_rc_compute_frame_size_bounds()."
2014-04-15 14:58:31 -07:00
Dmitry Kovalev
6fe75c6397
Merge "Cleaning up vp9_twopass_worst_quality()."
2014-04-15 14:57:33 -07:00
Dmitry Kovalev
2f86279124
Adding scale_if_required() function.
...
Change-Id: I87819fed5aebb6ffe2f4d4655df226235a3d21cb
2014-04-15 14:43:45 -07:00
Dmitry Kovalev
0739cab86c
Adding get_search_range() function.
...
Change-Id: I988eea8f78f71135b914661420c5c75674e5c010
2014-04-15 14:40:40 -07:00
Dmitry Kovalev
99983859f9
Merge "More user friendly vpxenc help strings."
2014-04-15 12:00:23 -07:00
Vignesh Venkatasubramanian
b92eb54106
webmdec: Fix return values for webm_read_frame
...
Fix return values for webm_read_frame so that we can distinguish between
error and end of stream. 0 - Success, 1 - End of stream, -1 error.
Change-Id: Ic35d0c7d7a166e027711a3d2300ecdda25a5d0cc
2014-04-15 11:55:17 -07:00
Yaowu Xu
8f6f6ab244
Add consts in set_fixed_partitioning()
...
Change-Id: Ib8c1b3b0a5a5689d3261dc822a69e9d473b89be1
2014-04-15 11:49:49 -07:00
Dmitry Kovalev
55977e4a4f
Merge "Moving frame_frags field from VP9Common to VP9_COMP."
2014-04-15 10:39:31 -07:00
Dmitry Kovalev
e58ea39fd0
Merge "Using anonymous enum instead of macros."
2014-04-15 10:25:14 -07:00
Dmitry Kovalev
398de52f92
Merge "Adding get_skip_encode_frame()."
2014-04-15 10:24:59 -07:00
Yaowu Xu
1cda057261
Refactor common code into a function
...
Change-Id: Id156af5662ebe6fbe1cab636564f5f4bedb85ab0
2014-04-15 10:10:23 -07:00
Vignesh Venkatasubramanian
785aac67e8
Merge "Remove fatal() call in webmdec.c"
2014-04-15 09:54:01 -07:00
Dmitry Kovalev
14331a84bd
Merge "Removing unused vp9_mcomp_x86.h file."
2014-04-14 17:05:15 -07:00
Dmitry Kovalev
78228f30f7
Merge "Replacing int_mv with MV."
2014-04-14 17:05:04 -07:00
Paul Wilkins
fd5a2066d5
Merge "Remove vp9_ prefix on static inline function."
2014-04-14 16:41:09 -07:00
Dmitry Kovalev
41a4b88a04
Adding get_skip_encode_frame().
...
Change-Id: Id687aa617650a859463e7ae63dd4c0dc4f3e4779
2014-04-14 15:19:43 -07:00
Dmitry Kovalev
c1981bdda0
Using anonymous enum instead of macros.
...
Change-Id: I5ed360585dae2c9fea6c32058dbfb8ec07700677
2014-04-14 15:11:13 -07:00
Yaowu Xu
d810fe5a92
Merge "Reduce code duplication"
2014-04-14 14:39:50 -07:00
Adrian Grange
48f5066553
Merge "Enable vpxenc to specify internal coded frame size"
2014-04-14 14:39:46 -07:00
Vignesh Venkatasubramanian
bda2417bfb
Remove fatal() call in webmdec.c
...
Remove call to fatal() in webmdec.c so that it does not depend on
tools_common.c for compilation.
Change-Id: I3eec483afe6fae72436993c72b26d61d14a7f2bf
2014-04-14 14:21:47 -07:00
Dmitry Kovalev
f3739f9052
Consistent mode names.
...
Change-Id: Icb4851d98c951506fe5d73d8d5a8ac7e53fecfd0
2014-04-14 14:09:39 -07:00
Dmitry Kovalev
c8c1b43c3b
More user friendly vpxenc help strings.
...
Change-Id: I257fb32673c47848258dc7e6e22147d0beb49f86
2014-04-14 12:12:50 -07:00
Paul Wilkins
096b44f43b
Merge "Speed 2 alternative balance."
2014-04-14 12:08:42 -07:00
Dmitry Kovalev
60db131567
Replacing int_mv with MV.
...
Change-Id: I35b9d1856d7951b8df7c933df6936dfc52a28451
2014-04-14 11:42:56 -07:00
Dmitry Kovalev
2fc3a18653
Removing unused vp9_mcomp_x86.h file.
...
We don't use declarations from this file. The real declarations
(differently named) are in vp9_rtcd_defs.pl, e.g. vp9_full_search_sad.
Change-Id: I73cbf064305710ba20747233cfdbe67366f069a0
2014-04-14 11:32:58 -07:00
Yaowu Xu
54306b5861
Reduce code duplication
...
Change-Id: I6ea1c335da9ca5b65f6a11466b417ad196fd0d65
2014-04-14 11:23:19 -07:00
Dmitry Kovalev
6733ad19e1
Cleaning up vp9_full_search_sadx3().
...
Change-Id: Ia63fee65c827fd33080119184e6cf3167421807c
2014-04-14 11:13:33 -07:00
Adrian Grange
f7bd1274e3
Enable vpxenc to specify internal coded frame size
...
Added command line flags "resize-width" & "resize-height"
to allow the user to specify the frame size to encode at.
These two flags are ignored if the "resize-allowed" switch
is not set to 1.
All frames in the clip are then encoded at this size, which
must be smaller than the raw frame size.
Change-Id: I3d64bd9303d5c0bd678461a866a1ea621700d744
2014-04-14 10:54:19 -07:00
Dmitry Kovalev
07dddfa3fd
Merge "Cleaning up check_best_zero_mv()."
2014-04-14 10:33:43 -07:00
Dmitry Kovalev
2543525700
Merge "Cleaning up optimize_b()."
2014-04-14 10:32:58 -07:00
Dmitry Kovalev
908e1218cd
Merge "Removing redundant mvsadcost local variables."
2014-04-14 10:30:38 -07:00
Dmitry Kovalev
07dd705498
Merge "Removing redundant checks from vp9_change_config()."
2014-04-14 10:29:22 -07:00
Paul Wilkins
19536d692e
Remove vp9_ prefix on static inline function.
...
This prefix reserved for global scope functions etc.
Change-Id: I671cda2a63e01a40aae3d7407dd1bb4d338d709c
2014-04-14 10:08:04 -07:00
Paul Wilkins
0639b5cff5
Speed 2 alternative balance.
...
A previous path improved speed 2 quality a little but
more extensive testing showed that it slowed encode
by a few %.
The change will have a similar effect for speed 3 but
should not impact speeds 4+;
This experiment should reverse that and give a speed
up at the cost of a small quality loss.
Borg results pending.
Change-Id: I4493fc1541aaf44587f1a41ff219f7088da9252c
2014-04-14 17:55:19 +01:00
Yaowu Xu
e5930d5b77
Merge "Add a few "const""
2014-04-13 20:21:54 -07:00
Dmitry Kovalev
ebaca9e024
Merge "Adding consts in vp9_picklpf.c."
2014-04-11 21:28:56 -07:00
Dmitry Kovalev
490c5fe074
Merge "Fixing error found by ioc."
2014-04-11 21:26:59 -07:00
Dmitry Kovalev
16efb54939
Merge "Adding vp9_rc_update_framerate() function."
2014-04-11 18:27:34 -07:00
Dmitry Kovalev
1f58f9d092
Fixing error found by ioc.
...
vp9/encoder/vp9_rdopt.c:3913:44: runtime error: index -1 out of bounds for
type 'RefBuffer [3]'.
Change-Id: Ic0ec755328853b359e3a1ee84d319589183e38b7
2014-04-11 17:14:15 -07:00
hkuang
78417211e2
Merge "Fix the VP9 encoding unit test failure on ARM."
2014-04-11 16:46:14 -07:00
Dmitry Kovalev
603500055e
Removing redundant checks from vp9_change_config().
...
Both values are already checked as command line arguments:
RANGE_CHECK_HI(cfg, g_lag_in_frames, MAX_LAG_BUFFERS);
RANGE_CHECK_HI(extra_cfg, sharpness, 7);
Change-Id: I584798d587152d88dfd517c210054b466f4e5f8a
2014-04-11 15:57:39 -07:00
Yaowu Xu
9168f18069
Add a few "const"
...
Change-Id: I258351fc1fff70ff2e9fa4845e575b0bb6a423d1
2014-04-11 15:50:16 -07:00