2505 Commits

Author SHA1 Message Date
Alex Converse
54ba75a5ee Merge "Enforce the use of profile 1 for non-420 content." 2014-01-30 11:01:53 -08:00
Yaowu Xu
c0856b98cc Merge "Fixing out of bounds access in frame_refs[] array." 2014-01-30 09:34:18 -08:00
Yaowu Xu
4c0a623124 Fix some automerge artifacts
Some changes in 1ca1186 were mistakenly reverted by a later merge,
this commit re-instated the chanages from values to enums.

Change-Id: Ia6b01c31da584a1f612996e6432612c1295b9eaf
2014-01-30 09:01:09 -08:00
Yaowu Xu
6f81942f0e Fix a build issue for --enable-intern-stats
Change-Id: Iea7c9fa0726dbf9792eea79e6a05eb8a3c718d45
2014-01-30 08:20:08 -08:00
Dmitry Kovalev
1bd69ac57f Fixing out of bounds access in frame_refs[] array.
Change-Id: I08f45573e0b2195c09fb6aecacb4c57431a711ea
2014-01-29 22:02:24 -08:00
Yaowu Xu
96dc80da61 Merge "create super fast rtc mode" 2014-01-29 16:36:20 -08:00
Yaowu Xu
08b912b4d1 Merge "Add a strict mode for auto_min_max_partition_size feature" 2014-01-29 16:36:06 -08:00
Yaowu Xu
1ca1186529 Add a strict mode for auto_min_max_partition_size feature
In this new mode, the size range is strictly determined by the min
and max partition size in neighborhood blocks.

Niklas720 encoding time at cpu-used -5 goes from 56250ms to 50676ms,
a 10% reduction.

Change-Id: I316b0e2ac967ff3fad57b28d69c0ec80b7d8b34e
2014-01-29 14:51:51 -08:00
Dmitry Kovalev
afc8f43448 Merge "Moving RATE_CONTROL struct to vp9_ratectrl.h." 2014-01-29 14:02:26 -08:00
Dmitry Kovalev
0ac4e139d4 Merge "Removing ONEPASS_FRAMESTATS struct." 2014-01-29 14:00:25 -08:00
Deb Mukherjee
56200336d1 Merge "Enables alt-ref frames in one pass mode" 2014-01-29 13:37:30 -08:00
Dmitry Kovalev
5670f1e2a8 Merge "Finally removing vp9_setup_interp_filters() function." 2014-01-29 12:54:21 -08:00
Dmitry Kovalev
b00eb5c464 Finally removing vp9_setup_interp_filters() function.
Change-Id: If446225afbb49f6033c2a4516a37c377de6f70f7
2014-01-29 11:29:34 -08:00
Dmitry Kovalev
b496d141af Cleaning up vp9_firstpass.c.
Change-Id: Ic2ff6405f01fd43d07c5ee3b5e374909401115cc
2014-01-29 11:26:09 -08:00
Deb Mukherjee
50bf8fd4f5 Enables alt-ref frames in one pass mode
Includes a few fixes and clean-ups that adds the ability
to use alt-ref frames in one-pass mode.
Whether alt-refs are actually used or not is controlled by a
macro USE_ALTREF_FOR_ONE_PASS in vp9_firstpass.c.

This first cut seems to improve derf by 15+% in 1-pass mode.
But further experiments with parameters are underway.

Change-Id: I78254421435478003367c788c7930d2dc4ee2816
2014-01-29 11:04:52 -08:00
Jim Bankoski
ea8aaf15b5 create super fast rtc mode
This patch only works if the video is a width and height that are both
a multiple of 32..   It sets every partition to 16x16, and does INTRADC
only on the first frame and ZEROMV on every other frame.   It always does
does the largest possible transform, and loop filter level is set to 4.

Was ~20% faster than speed -5 of vp8

Now 20% slower but adds motion search ( every block ), nearest, near
and zeromv

The SVC test was changed because - while this realtime mode produces
bad quality albeit quickly, it isn't obeying all the rules it should
about which frames are available.

Change-Id: I235c0b22573957986d41497dfb84568ec1dec8c7
2014-01-29 08:39:39 -08:00
Paul Wilkins
c382136122 Trap divide by 0.
Trap divide by 0 that could occur with a 0 rate target
in aq mode COMPLEXITY_AQ.

Change-Id: I034514f512b2a0db470ae8d37ea395278bf473cf
2014-01-29 14:59:04 +00:00
Jim Bankoski
d9201cb109 Merge "Reintroduce modelling for some speeds" 2014-01-28 15:12:03 -08:00
Jim Bankoski
79af185891 Reintroduce modelling for some speeds
Change-Id: Ia8fa3961eec34545465018281dc022bc6f73869a
2014-01-28 13:51:06 -08:00
Dmitry Kovalev
45d99257c9 Moving RATE_CONTROL struct to vp9_ratectrl.h.
Change-Id: I0c286e3d68a4a4ecf6df02e6fd9990327b0ceb22
2014-01-28 12:57:49 -08:00
Dmitry Kovalev
214d9bb03a Removing ONEPASS_FRAMESTATS struct.
It seems we don't use it and not going to.

Change-Id: Ie76cd04dafc79b0a5911f8957d4253ca2d787f0c
2014-01-28 12:48:19 -08:00
Dmitry Kovalev
b098c04290 Merge "Decoupling set_ref_ptrs() and vp9_setup_interp_filters()." 2014-01-28 10:37:58 -08:00
Dmitry Kovalev
4ce35d8f2d Merge "Removing _1d suffix from transform names." 2014-01-28 10:37:26 -08:00
Yaowu Xu
1fecc5bd2e Merge "Added a speed feature" 2014-01-28 10:28:54 -08:00
Dmitry Kovalev
ff41764920 Removing _1d suffix from transform names.
It is enough to specify (e.g.) idct16, it is obviously different from
idct16x16.

Change-Id: I6b408a37a945de3162429380b59a775b03b95db0
2014-01-27 16:15:36 -08:00
Dmitry Kovalev
e5b31a1d8c Decoupling set_ref_ptrs() and vp9_setup_interp_filters().
Change-Id: I8d17867a4772554cbba2bd113cc5b4c99d50146d
2014-01-27 16:00:20 -08:00
Dmitry Kovalev
1c96e3985e Merge "Adding get_bsize() function to vp9_firstpass.c." 2014-01-27 11:46:41 -08:00
Alex Converse
321f0ee272 Enforce the use of profile 1 for non-420 content.
Change-Id: I297954b16bce9e23931331520eadfb47540ff660
2014-01-27 11:23:08 -08:00
Dmitry Kovalev
b2f0ae65c7 Merge "Removing subpix_fn_table struct." 2014-01-27 10:42:42 -08:00
Alex Converse
f01855b0c7 Merge "Cache loop filter errors." 2014-01-27 10:25:35 -08:00
Alex Converse
11786b04e2 Merge "Refactor loop filter level search." 2014-01-27 10:25:12 -08:00
Deb Mukherjee
1a8394f7f3 Multiple resize filters
Adds multiple filters in the 0.5-1.0 range in the last stage
of the resize functions to prevent over-smoothing/aliasing

Change-Id: I1a615adb16f0df5095790945c94b28b4d6a6fc48
2014-01-25 09:39:48 -08:00
Dmitry Kovalev
b93fcec3b7 Adding get_bsize() function to vp9_firstpass.c.
Change-Id: I31373ad860eb554eb3b03e877e8fba580dc3de07
2014-01-24 18:10:02 -08:00
Alex Converse
c0214e7155 Cache loop filter errors.
This avoids fitlering a frame multiple times at the same level.

Change-Id: I1fd54dd7ea257d16da8569f48036b8fad3a3ed61
2014-01-24 17:08:25 -08:00
Alex Converse
8c2ae2d5df Refactor loop filter level search.
Factor out the code that tries filtering a frame at a given level.

Change-Id: Ia04507e3ce6b1ad6ae7d05a9d88222fd319f44b7
2014-01-24 17:08:24 -08:00
Dmitry Kovalev
8691565441 Removing subpix_fn_table struct.
We don't use different filter kernels for x and y, it is always one kernel
for both directions.

Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
2014-01-24 17:06:26 -08:00
Dmitry Kovalev
f9f936b82f Merge "Renaming INTERPOLATION_TYPE to INTERP_FILTER." 2014-01-24 16:52:10 -08:00
Yaowu Xu
a0b9b050b8 Added a speed feature
That force the stop of subpel search possibly at full/half/quater pel
stages

Change-Id: Ie50c500417bd78e1a53e6620bd4c2b85f63d9c67
2014-01-24 16:40:36 -08:00
Yaowu Xu
7adfa9f4cb Merge "change to avoid IOC" 2014-01-24 16:05:13 -08:00
Dmitry Kovalev
4264c93844 Renaming INTERPOLATION_TYPE to INTERP_FILTER.
Corresponding renames:
  subpel_kernel              => interp_kernel
  vp9_get_filter_kernel()    => vp9_get_interp_kernel()
  pred_filter_type           => pred_interp_filter
  adaptive_pred_filter_type  => adaptive_pred_interp_filter
  mcomp_filter_type          => interp_filter
  read_interp_filter_type()  => read_interp_filter()
  write_interp_filter_type() => write_interp_filter()
  fix_mcomp_filter_type()    => fix_interp_filter()

Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
2014-01-24 15:57:28 -08:00
Dmitry Kovalev
03eb63c114 Merge "Removing MODE_STATS." 2014-01-24 15:53:12 -08:00
Alex Converse
aed0d8c463 Merge "Add some consts to vp9_calc_ss_err()." 2014-01-24 15:41:01 -08:00
Dmitry Kovalev
29c1af295f Merge "Removing unused inter_mode_counts field from CODING_CONTEXT." 2014-01-24 14:47:59 -08:00
Alex Converse
ea283a6272 Add some consts to vp9_calc_ss_err().
Also change its wrongly named dest parameter to reference.

Change-Id: Ide142dead31c9ccda1f09a48b221284369783fb7
2014-01-24 14:26:02 -08:00
Alex Converse
6a457ef794 Merge "Add a method to estimate loop filter level from quantizer and frame type." 2014-01-24 14:10:14 -08:00
Dmitry Kovalev
3a05782c6f Merge "Inlining IFMVCV macro." 2014-01-24 13:56:16 -08:00
Yaowu Xu
6d2307b2dd Merge "Fixed integer overflow for large input video" 2014-01-24 13:44:05 -08:00
Dmitry Kovalev
f7ddbeba4a Removing unused inter_mode_counts field from CODING_CONTEXT.
Change-Id: I24ff8ab3d2c807906aa86974bcb4c540256206de
2014-01-24 13:31:57 -08:00
Yaowu Xu
8971338c6b change to avoid IOC
SSE for a 64x64 block with 3 planes can go as high as 3*2^28. So left
shift by 4 may overflow 32 bit int.

Change-Id: I63c84aa56894788bb987299badabbd7cc6fd0be6
2014-01-24 12:49:44 -08:00
Dmitry Kovalev
d79b0706e9 Merge "Cleaning up vp9_ratectl.c file." 2014-01-24 12:29:50 -08:00