John Koleszar [Wed, 8 May 2013 23:19:56 +0000 (16:19 -0700)]
Fix 4:2:0 assumptions in debug plane output
Fixes some debugging code to be able to write out frames with
chroma other than 4:2:0.
Change-Id: I5ee3d29e584db1f52d2de344db249e927eff10b7
John Koleszar [Wed, 8 May 2013 23:07:38 +0000 (16:07 -0700)]
vpxenc: fix mismatch check for non-4:2:0
Change-Id: Iffe7c2e6c6cb14b637420ffc368a5003f5db42fa
John Koleszar [Mon, 6 May 2013 22:52:06 +0000 (15:52 -0700)]
Subsampling aware allocs and bitstream
Make framebuffer allocations according to the chroma subsamping
factors in use. A bit is placed in the raw part of the frame header for
each of the two subsampling factors. This will be moved in a future
commit to make them part of the TBD feature set bits, probably only set
on keyframes, etc.
Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
John Koleszar [Thu, 9 May 2013 03:42:58 +0000 (20:42 -0700)]
Change test image format to VPX_IMG_FMT_I420
Code was previously using VPX_IMG_FMT_VPXI420, which was intended to be the
"vpx" non-YUV colorspace variant.
Change-Id: Icf8771eeefeb574055ed638a93450c3d0ed5b9f5
John Koleszar [Tue, 7 May 2013 21:44:12 +0000 (14:44 -0700)]
Use common get_uv_tx_size()
Use a single method for calculating the transform size of
non-luma planes.
Change-Id: I16ebd10e7944d7b9075ab79d15e6a5b5f9bab775
Dmitry Kovalev [Wed, 8 May 2013 23:39:43 +0000 (16:39 -0700)]
Removing LOOPFILTER_TYPE and corresponding bit in bitstream.
We don't have two loopfilter types anymore.
Change-Id: I53c0137361342c7d00887ad03be3490f0dfa3532
Dmitry Kovalev [Wed, 8 May 2013 23:37:34 +0000 (16:37 -0700)]
Merge "Using 4-iteration loop for extra_mb_col inside loopfilter function." into experimental
Dmitry Kovalev [Wed, 8 May 2013 23:36:42 +0000 (16:36 -0700)]
Merge "Removing unused YV12_BUFFER_CONFIG arguments from motion search functions." into experimental
Dmitry Kovalev [Wed, 8 May 2013 23:36:24 +0000 (16:36 -0700)]
Merge "Eliminating several YV12_BUFFER_CONFIG usages." into experimental
Dmitry Kovalev [Wed, 8 May 2013 23:35:35 +0000 (16:35 -0700)]
Merge "Renaming 'Speed' to 'speed' inside VP9_COMP struct." into experimental
Dmitry Kovalev [Wed, 8 May 2013 23:35:28 +0000 (16:35 -0700)]
Merge "Removing y_to_uv_block_size and y_bsizet_to_block_size functions." into experimental
Jingning Han [Wed, 8 May 2013 23:33:25 +0000 (16:33 -0700)]
Merge "Extend left/above partition context to per mi(8x8)" into experimental
Dmitry Kovalev [Wed, 8 May 2013 22:23:42 +0000 (15:23 -0700)]
Removing y_to_uv_block_size and y_bsizet_to_block_size functions.
Change-Id: I49527ff8dd8bef1074c18a964fed2a575f0b118a
Dmitry Kovalev [Wed, 8 May 2013 21:35:42 +0000 (14:35 -0700)]
Renaming 'Speed' to 'speed' inside VP9_COMP struct.
Change-Id: I4374b5af40ee9082ddf7956a9756a15ad9ad5436
Dmitry Kovalev [Wed, 8 May 2013 21:12:37 +0000 (14:12 -0700)]
Removing unused YV12_BUFFER_CONFIG arguments from motion search functions.
Also doing a little bit of cleanup inside vp9_mbgraph.c.
Change-Id: I9c6711b73810969d2d8fdb19f8edf9ed6e49d1e3
Dmitry Kovalev [Wed, 8 May 2013 21:11:47 +0000 (14:11 -0700)]
Eliminating several YV12_BUFFER_CONFIG usages.
Change-Id: Ia85b987c935d545920dcae5a6f44136b1a08a008
Dmitry Kovalev [Wed, 8 May 2013 20:39:16 +0000 (13:39 -0700)]
Using loop to iterate through YV12_BUFFER_CONFIG planes.
Change-Id: I22f1066eb0022c8d75f65a78435ee4ffecdfe0c9
Dmitry Kovalev [Wed, 8 May 2013 18:24:10 +0000 (11:24 -0700)]
Merge "Replacing vp9_{write, write_literal, bit} macros with functions." into experimental
Dmitry Kovalev [Wed, 8 May 2013 18:23:14 +0000 (11:23 -0700)]
Merge "Removing unused code + little cleanup." into experimental
Jingning Han [Tue, 7 May 2013 22:36:30 +0000 (15:36 -0700)]
Extend left/above partition context to per mi(8x8)
Update and buffer left/above partition information context per 8x8
block. This allows to further enable recursive partition down to
4x4 block size, and hence deprecating I4X4_PRED and SPLITMV.
This commit also fixes a context buffer swap/restore issue in 32x32
partition type search. This gives 0.1% performance gain for derf/yt.
Will refactor the superblock partition type search into recursion
form.
Change-Id: Ib61975aca5f12b78d8018481d7fa1393d085689b
John Koleszar [Tue, 7 May 2013 18:49:21 +0000 (11:49 -0700)]
Make switchable filter search subsampling-aware
Makes the temporary storage of the filtered data agnostic to
the number of planes and how they're subsampled.
Change-Id: I12f352cd69a47ebe1ac622af30db29b49becb7f4
John Koleszar [Wed, 8 May 2013 04:53:31 +0000 (21:53 -0700)]
Merge "Make setup_pred_block subsampling-aware." into experimental
Dmitry Kovalev [Wed, 8 May 2013 01:19:50 +0000 (18:19 -0700)]
Replacing vp9_{write, write_literal, bit} macros with functions.
Also removing BOOL_CODER and using vp9_writer instead.
Change-Id: I31d1ec661872f7eb1fe869607b6ed0ebfbb03e01
Dmitry Kovalev [Wed, 8 May 2013 00:18:57 +0000 (17:18 -0700)]
Using 4-iteration loop for extra_mb_col inside loopfilter function.
Change-Id: I3a4f456035628a9397bdc57c19cdb03439ab1ed3
Dmitry Kovalev [Wed, 8 May 2013 00:16:41 +0000 (17:16 -0700)]
Merge "Renaming Y1 and UV quant prefixes to y_ and uv_." into experimental
Dmitry Kovalev [Wed, 8 May 2013 00:10:48 +0000 (17:10 -0700)]
Merge "Adding get_switchable_rate function." into experimental
John Koleszar [Wed, 8 May 2013 00:09:38 +0000 (17:09 -0700)]
Merge "Deprecate code_zerogroup experiment." into experimental
Dmitry Kovalev [Wed, 8 May 2013 00:02:38 +0000 (17:02 -0700)]
Merge "Removing vp9_swap_yv12_buffer function and corresponding files." into experimental
Dmitry Kovalev [Sat, 27 Apr 2013 00:21:15 +0000 (17:21 -0700)]
Renaming Y1 and UV quant prefixes to y_ and uv_.
Change-Id: If57e360c187a475fc90edb8c7170f498efcb31a5
Dmitry Kovalev [Tue, 7 May 2013 18:56:26 +0000 (11:56 -0700)]
Removing unused code + little cleanup.
Change-Id: I81c19a8f19cfb5c7183609656ade833d72feb500
Paul Wilkins [Tue, 7 May 2013 16:24:21 +0000 (17:24 +0100)]
Deprecate code_zerogroup experiment.
Delete code under the CONFIG_CODE_ZEROGROUP flag.
Change-Id: I5fe6c7b42a5da9b73118e33594301da4129f320a
Dmitry Kovalev [Tue, 7 May 2013 19:23:14 +0000 (12:23 -0700)]
Adding get_switchable_rate function.
Change-Id: I71311a14f8d7f48508b250f25d1d0914c6a1ac72
Dmitry Kovalev [Tue, 7 May 2013 22:40:18 +0000 (15:40 -0700)]
Removing vp9_swap_yv12_buffer function and corresponding files.
Adding static swap_yv12 function to vp9_firstpass.c.
Change-Id: I7da9caab9720498db4a74c627901bf37816ed06c
Paul Wilkins [Tue, 7 May 2013 15:42:21 +0000 (16:42 +0100)]
Deprecate comp_interintra_pred experiment.
Delete code under the CONFIG_COMP_INTERINTRA_PRED
flag.
Change-Id: I3d1079cf46305c08f7e11d738596ea112e7b547f
Paul Wilkins [Tue, 7 May 2013 15:19:25 +0000 (16:19 +0100)]
Remove enable_6tap filter experiment.
Clean out code under CONFIG_ENABLE_6TAP flag.
Change-Id: Ic45b624081181027d6ba24d55dd644c3197f9830
Paul Wilkins [Tue, 7 May 2013 12:58:36 +0000 (13:58 +0100)]
Deprecate the newbintramode experiment.
Clean out code relating to newbintramode.
Change-Id: Ie91f4f156cdf60ce0da8ca407c1c9cb00c7d0705
Paul Wilkins [Thu, 4 Apr 2013 16:40:39 +0000 (17:40 +0100)]
Adjust q range
Skip Q values between the q.0 mode and a real q of
2.0 as these are not valuable from an RD perspective.
Change-Id: I110c4858c57f97315953f4d88a2596d4764360df
John Koleszar [Tue, 7 May 2013 22:33:53 +0000 (15:33 -0700)]
Merge "Partially disable error resilience test" into experimental
Jingning Han [Tue, 7 May 2013 22:33:20 +0000 (15:33 -0700)]
Merge "Add building blocks for partition down to 4x4" into experimental
Jingning Han [Tue, 7 May 2013 22:33:12 +0000 (15:33 -0700)]
Merge "Cosmetic changes in handle_inter_mode_" into experimental
John Koleszar [Tue, 7 May 2013 22:17:14 +0000 (15:17 -0700)]
Merge "Revert "Adjust error resilience test data rate."" into experimental
Dmitry Kovalev [Tue, 7 May 2013 22:04:28 +0000 (15:04 -0700)]
Merge "General code cleanup inside treewriter-related files." into experimental
John Koleszar [Tue, 7 May 2013 20:02:45 +0000 (13:02 -0700)]
Partially disable error resilience test
Disables the part of the error-resilient test that tests the
quality after dropping undroppable frames. It's not clear how
to set the threshold for this correctly at the moment.
Change-Id: I3ee4a0d475498f44711fdef05749f305e8d08591
Dmitry Kovalev [Tue, 7 May 2013 19:59:12 +0000 (12:59 -0700)]
Merge "Adding encode_loopfilter function." into experimental
John Koleszar [Tue, 7 May 2013 19:58:32 +0000 (12:58 -0700)]
Revert "Adjust error resilience test data rate."
This reverts commit
b24735c622cefe3a03633edd69dff65d2a6ee0dd
since the adjusted threshold doesn't allow the existing tests
to pass. Will disable the failing test in a separate commit.
Change-Id: I26d41cf6175f300bbad493cecdc96e6b0dd6f2fe
Jingning Han [Tue, 7 May 2013 17:45:31 +0000 (10:45 -0700)]
Add building blocks for partition down to 4x4
Macro ab4x4 contains experiments for recursive partition down to
4x4 block size.
Change-Id: Ic727842fa98a4df9fd51e0025a545dc76a5c76c1
Jingning Han [Tue, 7 May 2013 18:22:07 +0000 (11:22 -0700)]
Cosmetic changes in handle_inter_mode_
Use unified function pointers to variance_.
Change-Id: I78891bede56e73306851808d96f09dc0d3d8074e
John Koleszar [Tue, 7 May 2013 18:31:12 +0000 (11:31 -0700)]
Make setup_pred_block subsampling-aware.
Code previously set up the pointers by scaling by MI_UV_SIZE, which
is 4:2:0 only.
Change-Id: Ic13a92895cff018ec1345736746ed84cb31e6e31
John Koleszar [Tue, 7 May 2013 18:44:12 +0000 (11:44 -0700)]
Merge "Use common setup_dst_planes function" into experimental
Paul Wilkins [Tue, 7 May 2013 17:50:39 +0000 (18:50 +0100)]
Adjust error resilience test data rate.
Note that the pass fail criteria for this test seems a bit
arbitrary to me.
Change-Id: Idc695c39dd7542e851a7732b2810b45e0bdf91ae
John Koleszar [Tue, 7 May 2013 17:09:57 +0000 (10:09 -0700)]
Use common setup_dst_planes function
Previous code assumed 4:2:0 subsampling.
Change-Id: Ie0814e45d099e84d0ded880b62e7bc98f85b7f0c
Jingning Han [Tue, 7 May 2013 16:23:47 +0000 (09:23 -0700)]
Merge "Merge SB8X8 into the codebase" into experimental
Jingning Han [Sun, 5 May 2013 05:09:43 +0000 (22:09 -0700)]
Merge SB8X8 into the codebase
Pull sb8x8 out of experimental list. verified via borg run tests.
Fixed unit test failures.
Change-Id: I12a4bbd17395930580c048ab68becad1ffe46e76
Scott LaVarnway [Tue, 7 May 2013 15:24:26 +0000 (08:24 -0700)]
Merge "Removed vp9_setup_intra_recon()" into experimental
John Koleszar [Tue, 7 May 2013 05:36:40 +0000 (22:36 -0700)]
Merge "encode_test_driver: make ~Encoder virtual" into experimental
Jingning Han [Tue, 7 May 2013 05:28:04 +0000 (22:28 -0700)]
Merge "Fix tile independency issue in sb8x8" into experimental
John Koleszar [Tue, 7 May 2013 05:20:11 +0000 (22:20 -0700)]
Merge "Remove heap alloc of FIRSTPASS_STATS" into experimental
John Koleszar [Tue, 7 May 2013 05:20:00 +0000 (22:20 -0700)]
Merge "Y4M input support for 4:2:2, 4:4:4, 4:4:4:4" into experimental
Jingning Han [Tue, 7 May 2013 04:53:00 +0000 (21:53 -0700)]
Fix tile independency issue in sb8x8
Resolved the unit test failure on tile independence when sb8x8
enabled.
Change-Id: I23ca86c88170e49ca160e8e897d913905e6080ce
Dmitry Kovalev [Tue, 7 May 2013 00:17:18 +0000 (17:17 -0700)]
Merge "Adding model_rd_for_sb function." into experimental
John Koleszar [Mon, 6 May 2013 21:42:47 +0000 (14:42 -0700)]
Merge "Removing 3 unused bits from bitstream." into experimental
John Koleszar [Mon, 6 May 2013 21:07:18 +0000 (14:07 -0700)]
Remove heap alloc of FIRSTPASS_STATS
There is only one instance of these structures, no need for them
to be allocated separately on the heap.
Change-Id: I1333cc92d06bbe21be643c2b2f0e3936f0264cac
John Koleszar [Mon, 6 May 2013 18:01:35 +0000 (11:01 -0700)]
Y4M input support for 4:2:2, 4:4:4, 4:4:4:4
Adds a new experiment CONFIG_NON420 that allows other chroma subsamplings
to be passed to the codec. This commit allows the data to be passed from
a y4m input file through vpxenc to the codec, where they're currently
rejected. Later commits will finish support for this inside the codec.
Change-Id: Ib3aac604d8cad9e24cef395fa1067f16ba7e8e43
Dmitry Kovalev [Mon, 6 May 2013 21:00:58 +0000 (14:00 -0700)]
Removing 3 unused bits from bitstream.
Change-Id: I9cd21c5c9107d6197caab6949700b29c51658af3
Scott LaVarnway [Mon, 6 May 2013 20:13:06 +0000 (16:13 -0400)]
Removed vp9_setup_intra_recon()
This setup is now handled by vp9_build_intra_predictors()
when left_available and/or up_available is zero.
Change-Id: I59cec0ab95f8be69ce885fd20727510e4deef8a0
Dmitry Kovalev [Mon, 6 May 2013 19:42:53 +0000 (12:42 -0700)]
Adding model_rd_for_sb function.
Iterating over all planes in the loop instead of custom y,uv code inside
handle_inter_mode function.
Change-Id: I301f9276d6d544c2fd7203d84f1318ac80ea625d
James Zern [Mon, 6 May 2013 18:45:03 +0000 (11:45 -0700)]
test/tile_independence_test: check decode return
abort on failure
Change-Id: I52882613e466ae57e1ed7f10ca64e25b9724fb61
Johann [Mon, 6 May 2013 18:04:04 +0000 (11:04 -0700)]
Merge "Automatically flag intrinsic files" into experimental
Jingning Han [Mon, 6 May 2013 17:25:38 +0000 (10:25 -0700)]
Fix a unit test failure of sb8x8 on scaling ref
Disable the use of scaled reference frame for motion search in
SPLITMV mode. This fixes the unit test failure issue triggered
when merging sb8x8 from experimental list.
Change-Id: I02ac25fd8db8d5762f8fee29513b947189875fa0
Ronald S. Bultje [Sat, 4 May 2013 22:49:41 +0000 (15:49 -0700)]
Fix first-pass intra4x4 for sb8x8 experiment.
Change-Id: I1df17f45721c690d157800daa6a0b377e3d32bc2
James Zern [Sat, 4 May 2013 02:08:08 +0000 (19:08 -0700)]
encode_test_driver: make ~Encoder virtual
+ some quick lint fixes
Change-Id: I95b6c32454c17d7fc717f1daa2376eb4d5418ee3
James Zern [Sat, 4 May 2013 02:01:44 +0000 (19:01 -0700)]
Merge "fix permissions on cpplint.py (0644->0755)" into experimental
James Zern [Sat, 4 May 2013 01:59:37 +0000 (18:59 -0700)]
fix permissions on cpplint.py (0644->0755)
Change-Id: Ief419d894efbd89b6aa2451e47d8ed03cb9fb21e
Ronald S. Bultje [Sat, 4 May 2013 01:03:06 +0000 (18:03 -0700)]
Merge "Fix overflow in RD error calculation code." into experimental
John Koleszar [Sat, 4 May 2013 00:29:55 +0000 (17:29 -0700)]
Merge "Remove old_block_idx_4x4" into experimental
John Koleszar [Sat, 4 May 2013 00:23:56 +0000 (17:23 -0700)]
Merge "update cpplint" into experimental
John Koleszar [Fri, 3 May 2013 17:24:11 +0000 (10:24 -0700)]
Remove old_block_idx_4x4
Removes several instances where the old block numbering was
still in use.
Change-Id: Id35130591455a4abe6844613e45c0b70c1220c08
John Koleszar [Sat, 4 May 2013 00:19:01 +0000 (17:19 -0700)]
Merge "Separate transform and quant from vp9_encode_sb" into experimental
James Zern [Fri, 3 May 2013 23:28:27 +0000 (16:28 -0700)]
Merge "configure: special case flag test for clang" into experimental
Johann [Wed, 1 May 2013 01:22:10 +0000 (18:22 -0700)]
Automatically flag intrinsic files
Change-Id: Iee9894615265d42aa23c43a4183924953aedb0c6
James Zern [Fri, 3 May 2013 21:34:13 +0000 (14:34 -0700)]
configure: use .cc as c++ extension
clang++ will warn causing flag check failures when using -Werror
Change-Id: Ib7157140a7af2cf5bc41f86ea9ff8d9527f30414
James Zern [Fri, 3 May 2013 21:00:33 +0000 (14:00 -0700)]
configure: special case flag test for clang
(while still abusing the gcc targets)
Change-Id: I40f33f619ed1ee760caf23f5598587b30cf8a9ed
James Zern [Fri, 3 May 2013 19:54:50 +0000 (12:54 -0700)]
update cpplint
latest from (r103):
http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py
Change-Id: I474bf11e0f08115d5e579c92f43577978960d4ed
John Koleszar [Fri, 3 May 2013 00:05:14 +0000 (17:05 -0700)]
Separate transform and quant from vp9_encode_sb
This allows removing a large number of transform size specific functions,
as well as supporting 444/alpha by routing all code through the
subsampling-aware path.
Change-Id: Ieb085cebe9f37f24fc24de179898b22abfda08a4
James Zern [Fri, 3 May 2013 18:27:45 +0000 (11:27 -0700)]
Merge "vp9/count_segs: fix out of bounds read" into experimental
Ronald S. Bultje [Fri, 3 May 2013 17:33:07 +0000 (10:33 -0700)]
Fix overflow in RD error calculation code.
Change-Id: I61ef1f198c876f9f79787ea7d7385a862cfbae19
John Koleszar [Fri, 3 May 2013 17:26:53 +0000 (10:26 -0700)]
Merge "Create common vp9_encode_sb{,y}" into experimental
Adrian Grange [Fri, 3 May 2013 16:59:54 +0000 (09:59 -0700)]
Merge "Extend number of reference buffers to 8." into experimental
Adrian Grange [Thu, 2 May 2013 23:41:19 +0000 (16:41 -0700)]
Extend number of reference buffers to 8.
The number of reference buffers is extended to 8 and
a reference sign-bias added for the LAST_FRAME.
Whilst the number of reference buffers used by an
individual frame remains unchanged at 3, these may
now be selected from 8 possible buffers.
Change-Id: I2d247b9c1c2b3a339d6c9fac125e81ba373f75a7
Scott LaVarnway [Fri, 3 May 2013 14:34:29 +0000 (07:34 -0700)]
Merge "Removed is_inter_mode() check" into experimental
Scott LaVarnway [Fri, 3 May 2013 14:30:31 +0000 (07:30 -0700)]
Merge "Reduced y_dequant, uv_dequant size" into experimental
Ronald S. Bultje [Fri, 3 May 2013 04:03:38 +0000 (21:03 -0700)]
Fix use of wrong rate/distortion variables in 16x8 r/d check.
Change-Id: Ib5961b4c8ca84d54c84b2651a4e0317c72fe7da4
Dmitry Kovalev [Fri, 3 May 2013 03:48:36 +0000 (20:48 -0700)]
Merge "Removing MAXF macro and using MAX instead." into experimental
James Zern [Fri, 3 May 2013 02:32:03 +0000 (19:32 -0700)]
Merge changes Ifea8618a,I014b832a into experimental
* changes:
convolve_test: cosmetics
convolve_test: remove unnecessary memset
James Zern [Thu, 2 May 2013 20:08:19 +0000 (13:08 -0700)]
convolve_test: cosmetics
fix indent, whitespace, casts
Change-Id: Ifea8618a90f9da263a8955dd242bb3aa7fc59ae5
James Zern [Fri, 3 May 2013 02:11:28 +0000 (19:11 -0700)]
vp9/count_segs: fix out of bounds read
don't access mi until mi_{row,col} validation has been done
Change-Id: Ie1be052612cfccb2730dff9281c222bca28bf2c6
John Koleszar [Fri, 3 May 2013 01:53:27 +0000 (18:53 -0700)]
Merge "superframe_test: use delete[] where appropriate" into experimental
James Zern [Fri, 3 May 2013 01:14:38 +0000 (18:14 -0700)]
superframe_test: use delete[] where appropriate
Change-Id: Id374267c93a7e14e985b8079833364c8eff5248b
Ronald S. Bultje [Thu, 2 May 2013 23:40:57 +0000 (16:40 -0700)]
Fix 16x16-iteration indexing bug in main encode_sb_row loop.
With this, encoder/decoder appear to match with sb8x8 experiment.
Needs some larger-scale testing.
Change-Id: I44d3cac37b3c98264985ed0a0fc763c30089aa64
Jingning Han [Thu, 2 May 2013 21:38:01 +0000 (14:38 -0700)]
Fix state update in sb8x8 rate-distortion loop
Update mode_info of 8x8 blocks within the scope of current block.
Change-Id: I110c599e60664a5acde6afd919b107cea8419a0d