Commit Graph

9503 Commits

Author SHA1 Message Date
Dmitry Kovalev
91dbac178f Moving compute_qdelta functions into vp9_ratectrl.{h, c}.
Change-Id: I512f2a287dd8765879a2d1144e2f028dc65f71ff
2014-04-07 16:57:53 -07:00
Dmitry Kovalev
9243edc737 Cleaning up vp9_diamond_search_sad_c() function.
Change-Id: I0816ec12ec0a6f21d0f25f10c214b5fd327afc6c
2014-04-07 16:28:35 -07:00
Dmitry Kovalev
8eec5cad50 Merge "Fixing memory leak introduced in previous commit." 2014-04-07 16:13:04 -07:00
Dmitry Kovalev
22a3e30790 Converting set_prev_mi() to get_prev_mi().
Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
2014-04-07 16:01:34 -07:00
Dmitry Kovalev
8204140891 Cleaning up encode_frame_internal().
Change-Id: I9c5f7edc2d5d1ec5aee396b87bdfc99ee21c435a
2014-04-07 15:51:48 -07:00
Marco Paniconi
181949948e 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
2014-04-07 14:58:28 -07:00
Joshua Litt
01aae92dcf Merge "Small fixes to script based off of cry-infra" 2014-04-07 14:43:56 -07:00
Dmitry Kovalev
e8c1c95cde Merge "Rewriting calc_plane_error() function." 2014-04-07 14:41:42 -07:00
Joshua Litt
15931a1df2 Small fixes to script based off of cry-infra
Change-Id: I5a65d6fdb27516aefda0473ac45b05186cf0913c
2014-04-07 14:41:04 -07:00
Dmitry Kovalev
bbffaf627b Merge "General vp9_encodeframe.c cleanup." 2014-04-07 14:35:54 -07:00
Dmitry Kovalev
e7e426b274 Moving init_rate_control() to vp9_ratectrl.{c, h}.
Change-Id: Iab3effc39064f265426c82b455ef38d37dcce5a8
2014-04-07 14:34:46 -07:00
Dmitry Kovalev
579504b2ef Fixing memory leak introduced in previous commit.
Commit introduced the leak: "Removing XMA legacy from VP9 code."
I5e9dfc50b6312848df8c3b8276f6b4d0c7ff9cf9

Change-Id: Ia1f91bb8403bef340de9f089fa78b3fccc3e9917
2014-04-07 14:21:43 -07:00
Dmitry Kovalev
3f48418472 Merge "Cleaning up vp9_speed_features.c." 2014-04-07 14:18:02 -07:00
Dmitry Kovalev
0cb65fe5cc Merge "Removing unused seg0_* vars." 2014-04-07 13:16:06 -07:00
Dmitry Kovalev
acf39c8568 Merge "Moving {restore, save}_coding_context to vp9_onyx_if.c" 2014-04-07 13:15:58 -07:00
Dmitry Kovalev
1e96d3a50e Merge "Cleaning up vp9_{cx, dx}_iface.c files." 2014-04-07 13:06:01 -07:00
Dmitry Kovalev
233b581cef Cleaning up vp9_speed_features.c.
Change-Id: I7b2b690d2d51d55daa642be4131e5febd78cbe0a
2014-04-07 12:54:11 -07:00
Dmitry Kovalev
7169a0b114 Adding temp svc variable.
Change-Id: Ic68caec1bcb8a88f443c3e40ce9770eade5bd320
2014-04-07 11:31:26 -07:00
Dmitry Kovalev
b5e12dda52 Cleaning up vp9_{cx, dx}_iface.c files.
Change-Id: Ib4e31ba74c4b882bd93942ef743f4a189892738d
2014-04-07 10:38:51 -07:00
Dmitry Kovalev
22580c462b Moving {restore, save}_coding_context to vp9_onyx_if.c
These functions do nothing about rate control.

Change-Id: I714e80b1c1f4f9aa157a56df705247fce6db138d
2014-04-07 10:32:15 -07:00
Guillaume Martres
4664b219a2 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
2014-04-07 18:22:11 +02:00
Guillaume Martres
0ec5919d42 Replace imprecise 32 bits calculations by 64 bits calculations
Change-Id: If1b0a2d6603ce24f5dd99855e8dfe459e7a2835a
2014-04-07 18:22:08 +02:00
Guillaume Martres
ded9e19144 vp9_firstpass: Get rid of magic number in bits per MB calculation
Change-Id: Ib3886cb7cafc211581f4f9e7f76782d9d1984434
2014-04-07 18:21:40 +02:00
Dmitry Kovalev
f9c7e2c304 Merge "Cleaning up vp9_refining_search_sadx4() function." 2014-04-07 01:49:21 -07:00
Dmitry Kovalev
c6708cd524 Merge "Moving all RATE_CONTROL initialization to init_rate_control()." 2014-04-07 01:46:28 -07:00
Jingning Han
d8f68c2454 Merge "Set up early RD cost check for NEWMV in non-RD mode decision flow" 2014-04-06 11:13:32 -07:00
Jingning Han
516d0b1180 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
2014-04-04 16:08:51 -07:00
Dmitry Kovalev
bda5352bae Merge "Refactoring decode_one() function." 2014-04-04 15:47:34 -07:00
Dmitry Kovalev
a368036731 Moving all RATE_CONTROL initialization to init_rate_control().
Change-Id: I4685706b816dd1c45500e1387c9f63edb2fa1962
2014-04-04 15:46:55 -07:00
hkuang
0678104164 Merge "Code clean up." 2014-04-04 15:32:14 -07:00
Dmitry Kovalev
e755b88a7f Merge "Adding FAST_COEFF_UPDATE enum." 2014-04-04 15:13:29 -07:00
James Zern
19d5fb99bc Merge "Re-enable datarate tests for speeds 5 and 6." 2014-04-04 15:04:48 -07:00
Dmitry Kovalev
c48f2bd807 General vp9_encodeframe.c cleanup.
Change-Id: Ie364fe837002de96923da2c1c0ff8bb4b8d469a7
2014-04-04 10:44:58 -07:00
Dmitry Kovalev
439c66b291 Refactoring decode_one() function.
Change-Id: Ic3ee3b1fb04691e8c7d16020b56e034ab8888525
2014-04-04 10:43:52 -07:00
Marco Paniconi
a8b73616b3 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
2014-04-04 10:37:13 -07:00
Dmitry Kovalev
107929dc6b Adding FAST_COEFF_UPDATE enum.
Change-Id: I75ad328c6d719df81cc24f3ae21c152af4ebdacc
2014-04-04 10:31:34 -07:00
Vignesh Venkatasubramanian
2dcbf8c9e6 Changing webmenc to use libwebm
Changing webmenc to use libwebm for WebM file muxing.

Change-Id: I38ccc74f35c6b9684a87d04d8f9354dbe9a3263b
2014-04-04 10:07:08 -07:00
Jan Gerber
9848d67bb3 Remove an unused typedef
Change-Id: Ie0eb9ac4529db00a322511e5241a59b501c289b7
2014-04-04 08:47:52 -07:00
Yaowu Xu
d9812431a4 Merge "Removed space in ETA printout" 2014-04-04 08:32:08 -07:00
Paul Wilkins
1259cd7bce Merge "Reinstating the DISABLE_RC_LONG_TERM_MEM macro" 2014-04-04 06:30:40 -07:00
James Zern
3b39d7503f Merge "gen_msvs_*proj.sh: add 'cpp' as a source extension" 2014-04-03 18:36:59 -07:00
Yaowu Xu
c154826961 Removed space in ETA printout
This is to fix issue#709

Change-Id: I537f1fb74252fef8a58e68b0960a36a9aada856e
2014-04-03 18:05:17 -07:00
Dmitry Kovalev
0e8f35de85 Merge "Removing interp_kernel from MACROBLOCKD." 2014-04-03 16:58:21 -07:00
Marco Paniconi
2a2e8a9d72 Merge "Add codec control function for enabling frame_periodic_boost." 2014-04-03 16:57:44 -07:00
Yaowu Xu
6ca6073b6d Merge "Fix complexity Aq mode." 2014-04-03 16:51:49 -07:00
hkuang
272e030f70 Code clean up.
No need to check pbi->common.frame_to_show again.

Change-Id: I572ea4afd0d8b6000c0bb7575b7023d75cad5a4e
2014-04-03 16:20:26 -07:00
Dmitry Kovalev
30a15633f8 Merge "Replacing magic constants with expressions." 2014-04-03 15:54:49 -07:00
Marco Paniconi
0eb88c9064 Add codec control function for enabling frame_periodic_boost.
Change-Id: I6371ef7301c6bc3138552bd349e9bd154dee3e08
2014-04-03 15:49:03 -07:00
Jingning Han
690678fc42 Merge "Adjust key frame quantization index for rtc coding" 2014-04-03 15:35:48 -07:00
Dmitry Kovalev
a9f324fa7f Removing interp_kernel from MACROBLOCKD.
Now interp_kernel is obtained when it is really required (based on
mbmi->interp_filter value).

Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
2014-04-03 15:28:42 -07:00