Commit Graph

4128 Commits

Author SHA1 Message Date
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
Alex Converse
4ce8929b9e Add a method to estimate loop filter level from quantizer and frame type.
Use this method with rt at speed -5.

Change-Id: If3bd6fad4c05ddde72131442dad191e4145047e7
2014-01-24 11:44:10 -08:00
Yaowu Xu
e5034f65e5 Fixed integer overflow for large input video
The sum of squared mv components can go beyond int range for large
 input resolution. This commit changed the type to int64 to avoid
overflow.

Change-Id: Ib21ea2817845cea1435f893064e6417c79c5bc64
2014-01-24 11:34:41 -08:00
Frank Galligan
c6d537155c Merge "Revert external frame buffer code." 2014-01-24 11:31:23 -08:00
Dmitry Kovalev
9c0fbd573f Merge "Setup pre[0] buffer before calls to {first_pass, zz}_motion_search." 2014-01-24 11:15:01 -08:00
Dmitry Kovalev
4bc1877b71 Cleaning up vp9_ratectl.c file.
Change-Id: I8cfa5d5eb2c1bbacd9b604cc5dc0a2cd2e5cebb8
2014-01-24 11:14:05 -08:00
Dmitry Kovalev
abf37f1d6c Inlining IFMVCV macro.
Change-Id: I5173f996612e410d9cd495df9414d194b1ab18f3
2014-01-24 11:13:39 -08:00
Frank Galligan
56a8a0b54b Optimize vp9_tm_predictor_8x8_neon function
Change-Id: Ia12aae491202098ff66366145aa0c3da38dc97e5
2014-01-24 11:07:14 -08:00
hkuang
92ab96a7ae Merge "Add vp9_tm_predictor_16x16 neon implementation which is 3.5 times faster than C." 2014-01-24 10:48:44 -08:00
James Zern
26c88ec14e Merge changes I826655a7,I5164df72,Iba9b198c,Ide9a6846,I4f51ce85,I0e6aa00f,Ic334da9a,I252f5f8a,I7865db2d,I13b434b1
* changes:
  test/: remove unnecessary extern "C"s
  top-level: add extern "C" to headers
  vpx_ports: add extern "C" to headers
  vpx: add extern "C" to headers
  vp9/encoder: add extern "C" to headers
  vp9/decoder: add extern "C" to headers
  vp9/common: add extern "C" to headers
  vp8/encoder: add extern "C" to headers
  vp8/decoder: add extern "C" to headers
  vp8/common: add extern "C" to headers
2014-01-24 10:47:00 -08:00
hkuang
3633ffcbf7 Add vp9_tm_predictor_16x16 neon implementation
which is 3.5 times faster than C.

Change-Id: I24439ba7a2971829c11620f34848facf2c916678
2014-01-24 10:22:58 -08:00
Frank Galligan
b1c72b633e Revert external frame buffer code.
A future CL will add external frame buffers
differently.

Squash commit of four revert commits:
Revert "Increase required number of external frame buffers"

This reverts commit 9e41d569d7.

Revert "Add external constants."

This reverts commit bbf53047b0.

Revert "Add frame buffer lru cache."

This reverts commit fbada948fa.

Conflicts:
	vpxdec.c

Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005

Revert "Add support to pass in external frame buffers."

This reverts commit 10f891696b.

Conflicts:
	test/external_frame_buffer_test.cc
	vp9/common/vp9_alloccommon.c
	vp9/common/vp9_reconinter.c
	vp9/decoder/vp9_decodeframe.c
	vp9/encoder/vp9_onyx_if.c
	vp9/vp9_dx_iface.c
	vpx/vpx_decoder.h
	vpx/vpx_external_frame_buffer.h
	vpx_scale/generic/yv12config.c
	vpxdec.c

Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
2014-01-24 10:10:20 -08:00
Adrian Grange
8b0537f631 Merge changes I24ad1f0f,I33be1366
* changes:
  Reorder functions to avoid forward declaration
  Rename set_scale_factors as set_ref_ptrs
2014-01-24 08:38:52 -08:00
Yaowu Xu
504bccf0bb Merge "Changed to prevent decoder crash" 2014-01-24 08:07:27 -08:00
Dmitry Kovalev
b7944ff1b8 Merge "Cleaning up vp9_firstpass.c file." 2014-01-23 23:09:21 -08:00
Dmitry Kovalev
31bb283d6d Merge "Removing get_scale_ref_frame_idx() function + cleanup." 2014-01-23 22:37:36 -08:00
Dmitry Kovalev
6c98df29e4 Cleaning up motion compensation code.
Change-Id: I74cf028e8c732cd0dbc070326152d3085b824a80
2014-01-23 17:15:30 -08:00
James Zern
b453941caf vp9/encoder: add extern "C" to headers
Change-Id: I4f51ce859a97bf1b8fd2b37ac585b7c643232b69
2014-01-23 16:21:24 -08:00
James Zern
40aa910c19 vp9/decoder: add extern "C" to headers
Change-Id: I0e6aa00f220280e22d30d098545265835d0c1079
2014-01-23 16:21:24 -08:00
James Zern
0940c9cfde vp9/common: add extern "C" to headers
Change-Id: Ic334da9aee968e33762c2b25d9fbad24c844b411
2014-01-23 16:21:24 -08:00
Yaowu Xu
10b0813a9c Changed to prevent decoder crash
The change prevent a decoder crash for invalid stream with negative
size.

Change-Id: I7411765f3524c783058fa3d436549be4e75d8969
2014-01-23 15:43:08 -08:00
Dmitry Kovalev
520496ba95 Cleaning up vp9_firstpass.c file.
Change-Id: Ic352b0429d5784f9d78872a478fe6275ee7a56a0
2014-01-23 12:36:19 -08:00
Dmitry Kovalev
7450275755 Setup pre[0] buffer before calls to {first_pass, zz}_motion_search.
Change-Id: I9b94e741201eacb1982014724a532bdaae31f130
2014-01-23 12:14:57 -08:00
Yaowu Xu
63fb34c9bc Revert "Removing unnecessary vp9_clear_system_state() calls."
This reverts commit 36406fdb07.

Change-Id: I0bd31d03ce2a562d0624f2cd67593d0d25df4a54
2014-01-23 09:05:08 -08:00
Dmitry Kovalev
5f75fda9e9 Merge "Cleaning up vp9_refining_search_sad() function." 2014-01-22 17:15:22 -08:00
Dmitry Kovalev
e4755db40b Removing get_scale_ref_frame_idx() function + cleanup.
Change-Id: Ic9472f361f8749a165aa464c2fa859681b66381b
2014-01-22 17:10:37 -08:00
James Zern
eb4cb43397 Merge "Enforce effective motion vector search range" 2014-01-22 16:50:30 -08:00
Dmitry Kovalev
af14853802 Merge "Fixing simple_weight() function + cleanup." 2014-01-22 16:28:31 -08:00
Adrian Grange
e54e4b03db Reorder functions to avoid forward declaration
Change-Id: I24ad1f0f1cb0e991c476ea174db8ac1584929b02
2014-01-22 16:20:39 -08:00
Yaowu Xu
2229c173a6 Merge "changed to use vpx_integer.h for type definition" 2014-01-22 15:46:49 -08:00
hkuang
97826df96b Add tm_predictor_8x8 neon implementation.
Change-Id: I76c2720546b737cb63018a8ab6a3ff62a291786d
2014-01-22 13:43:20 -08:00
Adrian Grange
e37eb0ade7 Rename set_scale_factors as set_ref_ptrs
New name better describes what the function does.

Change-Id: I33be1366a81f058a9854b804bcde211061187dc7
2014-01-22 13:04:30 -08:00
Yaowu Xu
ea2d319cfc changed to use vpx_integer.h for type definition
Change-Id: I7739849aa8dd5dcb0755858367fd3223587d107f
2014-01-22 12:52:31 -08:00
Deb Mukherjee
58b9c9fbce Merge "Adds a non-normative resize library to vp9 encoder" 2014-01-22 11:46:43 -08:00
Yaowu Xu
528bf858fa Merge "Prevent invaid memory access" 2014-01-22 11:39:24 -08:00
Adrian Grange
a858c5c227 Merge "Tidy up comments & remove commented out code." 2014-01-22 11:14:07 -08:00
Johann
4e9dc6d45d Merge "Match vp9_coefband_trans_* declarations" 2014-01-22 11:10:51 -08:00
hkuang
7f30a6f877 Merge "Seperate the border size for encoder and decoder." 2014-01-22 10:59:31 -08:00
Adrian Grange
82f6af6009 Tidy up comments & remove commented out code.
Change-Id: I46dd5ce06f36362c6274511cd1531d93926aa9bc
2014-01-22 09:59:01 -08:00
Yaowu Xu
ebe160568b Prevent invaid memory access
Reading second motion vector only when it has a second ref_frame

Change-Id: Ica72c1cd955832e15ceccda5e5a17b0bfcd83044
2014-01-22 09:10:44 -08:00
Dmitry Kovalev
ed6bb10f0f Fixing simple_weight() function + cleanup.
We used y_width/y_height instead of y_crop_width/y_crop_height.

Change-Id: Ia796494956f16d7a4085e043d58bdfe6de19abe7
2014-01-22 08:57:13 -08:00
Dmitry Kovalev
73b7405a90 Merge "Simplifying target_size_from_buffer_level() function." 2014-01-22 08:54:59 -08:00
Dmitry Kovalev
e0740c1e76 Merge "Removing unnecessary vp9_clear_system_state() calls." 2014-01-22 08:49:23 -08:00
Adrian Grange
c77c5413e0 Merge "Force show_frame=1 when show_existing_frame=1" 2014-01-22 08:34:48 -08:00
Dmitry Kovalev
36406fdb07 Removing unnecessary vp9_clear_system_state() calls.
Change-Id: I597645a15fff2d3a1104861a5c90f64394952e0b
2014-01-22 02:39:52 -08:00
Dmitry Kovalev
3cdcb2f567 Simplifying target_size_from_buffer_level() function.
Change-Id: I1d556ddf04ab0a98eadf412972a6977c1055446f
2014-01-22 02:24:01 -08:00
Dmitry Kovalev
2b6e0fe010 Merge "Cleaning up first_pass_motion_search() function." 2014-01-22 01:51:08 -08:00
Dmitry Kovalev
6e706ed783 Merge "Cleaning up vp9_ratectrl.c." 2014-01-21 23:12:42 -08:00
Dmitry Kovalev
52bcaf426d Merge "Cleaning up vp9_setup_buffer_inter() function." 2014-01-21 23:11:39 -08:00
Dmitry Kovalev
209a3ae4f4 Merge "Replacing cpi->twopass with twopass." 2014-01-21 23:01:27 -08:00
Dmitry Kovalev
ef9f7446be Cleaning up vp9_setup_buffer_inter() function.
Change-Id: Ia63e2d05fa5dca3fb67788b0f1f28e9802ef27dd
2014-01-21 19:46:07 -08:00
Yaowu Xu
4e2ae30287 Merge "remove complex rd modeling." 2014-01-21 18:02:50 -08:00
Johann
6c492fc2f9 Match vp9_coefband_trans_* declarations
VS2013 Chromium builds failed with:
warning C4742: 'vp9_coefband_trans_8x8plus' has different alignment in

https://code.google.com/p/chromium/issues/detail?id=336620

Change-Id: I865f72bc23ae958531eeb5f497002c12e9a36fcd
2014-01-21 17:07:23 -08:00
Deb Mukherjee
3cd37dfeb5 Adds a non-normative resize library to vp9 encoder
Adds an arbitrary-size resize library for use in scaling of input
frames in a non-normative manner in the vp9 encoder. The method
used is as follows:
Downsampling - Uses a 8 tap filter for factor of 2 decimation upto
a size just higher than the desired size. Then interpolates pixels
at a precision of 1/32 pel using a set of 8-tap filters.
Upsampling - Interpolates pixels at a precision of 1/32 pel using
a set of 8-tap filters.

There is no assembly optimization yet.

Change-Id: Ib5b81e174fc139da322bb97c8214d52289d60d8a
2014-01-21 16:50:00 -08:00
Alex Converse
7a197b2d49 Merge "Have check_initial_width() take subsampling as arguments directly." 2014-01-21 16:31:14 -08:00
Yaowu Xu
000efb5711 Merge "Enforce key frame placement" 2014-01-21 16:04:35 -08:00
hkuang
437004c710 Seperate the border size for encoder and decoder.
Encoder's boarder is still 160, while decoder's boarder will be 32.
With on demand and separate boarder buffer for boarder extension.
The decoder's boarder does not need to to 160 anymore.

Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
2014-01-21 15:28:41 -08:00
Dmitry Kovalev
c2b5a39345 Removing duplicated SAD calculation code.
Change-Id: I8d693371a29103769d5bed9d5f9cfe4f58ca3189
2014-01-21 14:24:37 -08:00
Yaowu Xu
dbae98082c Enforce key frame placement
Change-Id: I2f85c6b058638571d68a7209779de8ca8168934f
2014-01-21 14:08:43 -08:00
Jingning Han
20cf22a128 Enforce effective motion vector search range
This commit explicitly enforces the effective motion vector range
in the motion search stage. The range needs to be the intersection
of UMV border, effective absolute motion vector value range, and
the target search area.

Change-Id: I1cf7c563e02b1086040dad6c1f4f6be1538635a6
2014-01-21 12:03:18 -08:00
Adrian Grange
3246692ebc Force show_frame=1 when show_existing_frame=1
When showing a previously decoded frame, we need to
explicitly set the show_frame flag.

For the current frame being decoded this flag is
explicitly set in the frame header.

This should fix WebM Issue 696:
http://code.google.com/p/webm/issues/detail?id=696

Change-Id: I5751a809813f88d2ca6f62c47c3878475ff9ba8d
2014-01-21 10:39:39 -08:00
Dmitry Kovalev
575a083bcc Merge "Replacing macros with inline functions." 2014-01-21 10:17:29 -08:00
Jim Bankoski
3fa1356994 remove complex rd modeling.
The affect on quality was minimal.  Less than .1%, various sets
yt ( +.15%), derf (-.1%), hd ( -.1% ), std hd(-.15%)...

The affect on speed of encode at speed -5 was substantial ( ~3% ).

Change-Id: I8903346fbae0c35f5b9ea20f81fdd239ae81247d
2014-01-21 09:59:49 -08:00
Yaowu Xu
466f42aa10 Merge "Deprecate best_mv from encoder" 2014-01-21 09:35:52 -08:00
Dmitry Kovalev
5088631410 Merge "Cleaning up vp9_picklpf.c file." 2014-01-17 18:19:06 -08:00
Dmitry Kovalev
6031abeb38 Cleaning up vp9_ratectrl.c.
Change-Id: I3a260d3ca68db3a9352ae5409de76e56202976e5
2014-01-17 17:43:04 -08:00
Dmitry Kovalev
a001016996 Removing MODE_STATS.
Change-Id: I7520e1cc82b749187c9445356dd7b54f3f3826cc
2014-01-17 17:30:22 -08:00
Jingning Han
b461c0884e Deprecate best_mv from encoder
This commit deprecates the use of best_mv from encoding and bit-stream
writing stages. It hence removes the definition from MACROBLOCKD.

Change-Id: I8e5302775a2aa4a18900726df407bff881f2dfb1
2014-01-17 17:15:34 -08:00
hkuang
671df8486d Merge "Use a temp buffer for reconstruction when reference buffer is out of boarder." 2014-01-17 16:17:36 -08:00
hkuang
7459fee8c6 Use a temp buffer for reconstruction when
reference buffer is out of boarder.

Change-Id: Ic7ad136e54a4d68abe0fd4345146a86b0ba824e1
2014-01-17 16:15:54 -08:00
Dmitry Kovalev
2f4e6ee55d Cleaning up vp9_picklpf.c file.
Change-Id: Id54f317846f61a320cc5aeef47248e074376ee5d
2014-01-17 16:09:21 -08:00
Alex Converse
7e157467dc Merge "Fix output cropping in vp9_get_preview_raw_frame." 2014-01-17 15:49:06 -08:00
Dmitry Kovalev
c5b633975c Merge "Removing unused vp9_yv12_copy_partial_frame() function." 2014-01-17 15:43:02 -08:00
Dmitry Kovalev
d8bfe9e24c Cleaning up vp9_refining_search_sad() function.
Change-Id: I660b53da8ebf3049832ce8a10721051c4e0ebb00
2014-01-17 15:20:28 -08:00
Alex Converse
9c19953763 Fix output cropping in vp9_get_preview_raw_frame.
Handle the non-420 case and set uv_width.

This is needed to get the correct colorspace information out of
vp9e_get_preview().

Change-Id: I62ce118cd7082708d812deb0843c1be87582e0fe
2014-01-17 14:03:42 -08:00
Dmitry Kovalev
50ca3c8324 Merge "Cleaning up vp9_refining_search_8p_c() function." 2014-01-17 12:36:00 -08:00
Jingning Han
d100fb6139 Merge "Rename pick_sb_modes to rd_pick_sb_modes" 2014-01-17 10:58:26 -08:00
Jingning Han
8684b25955 Merge "Deprecate the use of best_mv in decoding process" 2014-01-17 10:58:00 -08:00
Alex Converse
2bfafefb34 Merge "Fix key frames for one pass." 2014-01-17 10:22:59 -08:00
Dmitry Kovalev
ac40c87f68 Removing unused vp9_yv12_copy_partial_frame() function.
Change-Id: I3149e562fe9500914f67b6f908283edcdc381ac6
2014-01-16 18:16:34 -08:00
Jingning Han
98b01c038f Rename pick_sb_modes to rd_pick_sb_modes
Keep naming consistency for RD and non-RD mode decision functions,
respectively.

Change-Id: I904282b675fc511a46c13cb1f8287aa5d1c8ac94
2014-01-16 18:05:42 -08:00
Jingning Han
318e177f4a Deprecate the use of best_mv in decoding process
This commit removes the use of best_mv in the decoding process. This
variable can be replaced with nearest_mv. It saves a few cycles on
assigning the values for best_mv.

Change-Id: Ic183f9c1fb615c54efd7e6ccfedcf09d493435e4
2014-01-16 18:04:58 -08:00
Dmitry Kovalev
67246764a2 Replacing macros with inline functions.
Change-Id: Ibde8fb45594cd259fc3281d7874de8fc877fd4f2
2014-01-16 18:00:44 -08:00
Yunqing Wang
d2bb0c51d3 Revert "Revert "Revert "SSSE3 convolution optimization"""
This reverts commit f9404f2406.

This patch caused some ASAN error.

Change-Id: If15b7e581310e19061d111c69f2931809662ed19
2014-01-16 16:11:46 -08:00
Dmitry Kovalev
55d0230221 Cleaning up vp9_refining_search_8p_c() function.
Change-Id: Icf3b3dd96d7e133a4ad7260cd95288f6217998a6
2014-01-16 16:05:36 -08:00
Jingning Han
013eba8ee8 Merge "Inter-frame non-RD mode decision" 2014-01-16 14:04:51 -08:00
Alex Converse
2b3891d9da Fix key frames for one pass.
Set this_key_frame_forced flag and don't use kf_boost when not set.

Change-Id: Ibe66a82fa9219e60db358ddeb43d6471816c8b50
2014-01-16 13:04:51 -08:00
Jingning Han
2f52decd22 Inter-frame non-RD mode decision
This commit setups a test framework for real-time coding. It enables
a light motion search for non-RD mode decision purpose.

Change-Id: I8bec656331539e963c2b685a70e43e0ae32a6e9d
2014-01-16 12:35:04 -08:00
Adrian Grange
6cd6349896 Merge "Fix printf formatting" 2014-01-16 11:02:55 -08:00
hkuang
2a2d8c140f Merge "Add vp9_tm_predictor_4x4 neon implementation" 2014-01-16 10:18:12 -08:00
Jim Bankoski
a5cb1b1ad5 Merge "don't dummy pack if we won't recode" 2014-01-16 08:21:03 -08:00
Dmitry Kovalev
8f0d213494 Merge "Cleaning up reatectrl.c file." 2014-01-15 16:26:09 -08:00
Dmitry Kovalev
67e4ca2a1a Merge "Cleaning up postproc code." 2014-01-15 16:23:54 -08:00
Dmitry Kovalev
a86a5b17e5 Replacing cpi->twopass with twopass.
Change-Id: I733a84ec178439ead66e031395d9a8e49e8f4d1a
2014-01-15 16:21:38 -08:00
Dmitry Kovalev
c37d54a93e Merge "Replacing cpi->rc with rc." 2014-01-15 16:04:05 -08:00
Jim Bankoski
3977e64fc7 don't dummy pack if we won't recode
Avoid packing the bitstream 2 times unless we need to.  For me this
at speed -5 was a 2% speed up.

Change-Id: I32205c98f55eedd4ff031ed5fb498c84bdaa855d
2014-01-15 15:30:13 -08:00
Yaowu Xu
056db03d17 Merge "Revert "Revert "SSSE3 convolution optimization""" 2014-01-15 15:03:25 -08:00
Yaowu Xu
293532f314 Merge "Add max burst bitrate control." 2014-01-15 14:40:59 -08:00
Deb Mukherjee
8ce5f68fe4 Merge "Rearranges the END_USAGE typedef" 2014-01-15 14:01:30 -08:00
Adrian Grange
a22b834eae Merge "Delete outdated comment & tidy-up others" 2014-01-15 13:55:14 -08:00
Dmitry Kovalev
d39485a776 Merge "calculate_modified_err() cleanup." 2014-01-15 12:56:32 -08:00
Dmitry Kovalev
b7465b3efb Replacing cpi->rc with rc.
Change-Id: I0fbb7615545861e26ebffe72bd44f3a0e8616df7
2014-01-15 12:46:18 -08:00
Dmitry Kovalev
8b5133fc4c Merge "Removing unused calc_partial_ssl_err() function." 2014-01-15 12:24:06 -08:00
Dmitry Kovalev
efdbd29928 calculate_modified_err() cleanup.
Change-Id: Ia24c9b1ff2d51dd9cb133722a041a615e1b8419f
2014-01-15 12:23:16 -08:00
Jim Bankoski
ae5b96d355 Merge "As you go mbmi->skip_coeff" 2014-01-15 12:20:14 -08:00
Dmitry Kovalev
a26899ada5 Merge "Removing intra_mode_stats." 2014-01-15 12:16:50 -08:00
hkuang
f2ef389256 Add vp9_tm_predictor_4x4 neon implementation
Change-Id: I10c423bde7ea5a3bac9f14f35c73b6bc31c8f3e3
2014-01-15 11:51:36 -08:00
Jim Bankoski
9adcc4d681 Merge "Save ~30% off tokenize_b" 2014-01-15 10:59:49 -08:00
Deb Mukherjee
f32106951a Rearranges the END_USAGE typedef
Rearranges the END_USAGE typedef to make it compatible with the
vpx user input.

Change-Id: Ic9fa9e9edbee7c0ad01e12e685b219582fcecd16
2014-01-15 10:10:23 -08:00
Adrian Grange
7a203301b7 Fix printf formatting
Change-Id: I37c5d6f4a0f09d48d3ee31eecdb68dfa11d30bd3
2014-01-15 09:58:01 -08:00
Adrian Grange
c3011e6f90 Delete outdated comment & tidy-up others
Change-Id: I83031180723ee59270ec8fb66b2f73c0796bee25
2014-01-15 09:53:03 -08:00
Dmitry Kovalev
69b684279c Merge "Cleaning up vp9_rdopt.c." 2014-01-15 00:00:33 -08:00
Dmitry Kovalev
0f008fbd2e Cleaning up first_pass_motion_search() function.
Change-Id: I4826a71c7f99db09e5362b16703d024939587f25
2014-01-14 18:07:23 -08:00
Jim Bankoski
73cd22f8d4 As you go mbmi->skip_coeff
Calculate the skip_coeff as part of the encode process, rather than
checking the eobs after the fact with another pass.

Change-Id: Ib41b139e96a97dee30e4b993b4cc53d86337128d
2014-01-14 17:58:25 -08:00
Dmitry Kovalev
433e5ea0e8 Fixing invalid block width/height calculation.
Change-Id: Ieaeb53902ce0ffd5b1b27a92583e98abfa791433
2014-01-14 17:53:32 -08:00
Dmitry Kovalev
70fe826d26 Cleaning up vp9_rdopt.c.
Change-Id: I5200bf68b43578eaadc4ea47b37f2633fa96d7bd
2014-01-14 17:46:14 -08:00
Dmitry Kovalev
a540f8a0b0 Cleaning up postproc code.
Change-Id: I7e53f6345a4cf89309262f50850c9ad08ed3c527
2014-01-14 15:49:19 -08:00
Jim Bankoski
da94b9be81 Save ~30% off tokenize_b
Refactoring for speed in the same vein as detokenize_b...

Change-Id: I90779aa46e3b13c22ddce9a42b60e1920ad97142
2014-01-14 15:19:43 -08:00
Dmitry Kovalev
f13b3d1e08 Merge "Making motion search code more compact." 2014-01-14 15:12:43 -08:00
Dmitry Kovalev
382470db42 Merge "Removing unnecessary casts + cleanup." 2014-01-14 14:47:48 -08:00
Dmitry Kovalev
970e945795 Merge changes I8eda5762,Ia2ffca07
* changes:
  Removing unused switchable_interp_count[] field from VP9_COMP.
  Using clamp() function instead of the same raw code.
2014-01-14 14:46:07 -08:00
Dmitry Kovalev
b53113c3ca Merge "Removing unused error_bins[] field from VP9_COMP." 2014-01-14 14:45:17 -08:00
Dmitry Kovalev
a8bb1ffd89 Merge "Reusing get_frame_new_buffer() function." 2014-01-14 14:40:48 -08:00
Dmitry Kovalev
f3728f20ea Merge "Cleaning up vp9_encodeframe.c." 2014-01-14 14:14:49 -08:00
Dmitry Kovalev
7da6422d63 Merge "Adding get_vp9_ref_frame_buffer() function." 2014-01-14 14:12:45 -08:00
Dmitry Kovalev
518a934f43 Merge "Converting int_mv to MV." 2014-01-14 14:11:49 -08:00
Deb Mukherjee
fc43938d5e Merge "Minor fix on an assert" 2014-01-14 13:57:17 -08:00
Deb Mukherjee
1699d6bd53 Minor fix on an assert
Fixes assert that fails occasionally on small values of
max-key frame intervals. Also, adds a small change on
updating frames_to_key for frame drops.

Change-Id: Icc2b33b25e3e4ced7e49f8db73e0a887ef9c99e0
2014-01-14 12:51:13 -08:00
Paul Wilkins
5c808ba13a Add max burst bitrate control.
Applies an upper limit on burst bitrate for any
frame. This is to insure that typical encodes for YT
do not produce frames that are so large that they
risk stalling HW implementations. Such frames
could also cause playback problems in SW.

For now the limit is set at 250 bits per MB for 1080P
and larger (with the 1080P limit used for smaller frames).

Setting maxQ, constant quality mode or targeting a
very high bandwidth will have precedence over this limit.

Change-Id: Ie6f776c38b06ac7cec043d034085f4b79ee46a38
2014-01-14 09:52:49 +00:00
Yaowu Xu
4f2a80f05f Merge "fix a div by zero issue" 2014-01-13 18:04:30 -08:00
Dmitry Kovalev
a8a5774ba9 Removing unused error_bins[] field from VP9_COMP.
Change-Id: I883eb9026b44cb354d5b01c0f1d34ecd71f942e4
2014-01-13 16:33:16 -08:00
Dmitry Kovalev
0a74236bd4 Removing unused switchable_interp_count[] field from VP9_COMP.
Change-Id: I8eda5762728d981ab7757388741b598c665c26ca
2014-01-13 16:30:40 -08:00
Dmitry Kovalev
46a951c846 Using clamp() function instead of the same raw code.
Change-Id: Ia2ffca072f5391b277ce1a0c4e5b4ece9ffc6831
2014-01-13 16:27:50 -08:00
Dmitry Kovalev
80aae67f44 Making motion search code more compact.
Change-Id: I04d6a006eaf2676f2d8d1d96b87f69e081969382
2014-01-13 15:24:06 -08:00
Dmitry Kovalev
9855b6e510 Reusing get_frame_new_buffer() function.
Change-Id: Iac5c5aeaef62a4095a60d91285d2c7ad717db0fb
2014-01-13 14:04:56 -08:00
Dmitry Kovalev
887984479c Removing unnecessary casts + cleanup.
Change-Id: I7298087426977e36b61ecf493949e9412842254c
2014-01-13 13:04:05 -08:00
Yunqing Wang
f9404f2406 Revert "Revert "SSSE3 convolution optimization""
This reverts commit b645257121.

Change-Id: I60d1bf57ae8e9eb6127f42f2d5a780124ac51b45
2014-01-13 12:29:55 -08:00
Dmitry Kovalev
dd31f2e4ae Merge "Adding mv_has_subpel() function." 2014-01-13 12:00:51 -08:00
Dmitry Kovalev
b9592fa0b3 Removing intra_mode_stats.
Change-Id: I6e0895f7f826b484ac86945e6abe3a706a6b0399
2014-01-13 11:40:33 -08:00
Dmitry Kovalev
62a2c2b15b Removing unused calc_partial_ssl_err() function.
Change-Id: Iad8b0208d3a3b0fc3d7fda3933b0fc007d4d2e9e
2014-01-13 11:26:16 -08:00