Dmitry Kovalev
6761872e49
Replacing (SWITCHABLE_FILTERS + 1) with SWITCHABLE_FILTER_CONTEXTS.
...
Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
2013-10-30 14:40:34 -07:00
Dmitry Kovalev
065972f959
Adding const to vp9_quantize_b_{32x32,} parameters.
...
Change-Id: I56f8c50ac382202f66040cd9cfaa05d889572fc7
2013-10-29 15:25:19 -07:00
Dmitry Kovalev
e6dcf2aeb6
Fixing wrongly initialized tx_type variable.
...
Wrong value was used in get_tx_type_4x4() function, so making
initialization before that call.
Change-Id: Ief30bb1e0c03b2f23d993bbf9ae18d7150ba9a83
2013-10-29 12:18:53 -07:00
Dmitry Kovalev
a8e31d624a
Merge "Cleaning up vp9_regular_quantize_b_4x4."
2013-10-29 10:49:52 -07:00
Dmitry Kovalev
fa1ac00aee
Making get_tx_counts() similar to get_tx_probs().
...
Change-Id: I5b17f40e515c4bcf9ebef5380270a214af4e0115
2013-10-28 19:52:38 -07:00
Dmitry Kovalev
19cf72eddc
Adding {read, write}_partition() instead of check_bsize_coverage().
...
Making partition read/write logic more clear.
Change-Id: I1981e90327257d37095567c62d72a103cda1da33
2013-10-28 15:14:45 -07:00
Dmitry Kovalev
8253532c2d
Cleaning up vp9_regular_quantize_b_4x4.
...
Passing scan & iscan as parameters, adding useful local variables.
Change-Id: Ia2a87906941db9557350d273669ce5c3cdb7235d
2013-10-28 14:28:28 -07:00
James Zern
58a0f6dbdd
vp9: add TileInfo
...
replaces use of cur_tile_mi_(row|col)_(start|end) by VP9_COMMON, making
it less stateful and more reusable for parallel tile decoding
Change-Id: I1df09382b4567a0e5f4434825d47c79afe2399be
2013-10-28 20:54:43 +01:00
James Zern
3ffa41aae3
Merge changes If9b16f7d,I75aab21c,I9cbb768c,If5cea3d3,I96940657,I025595d8,Ie0bc3935,I3ebb172d
...
* changes:
vp9: remove partition+entropy contexts from common
vp9: add above/left_context to MACROBLOCKD
vp9: add above/left_seg_context to MACROBLOCKD
vp9: add above/left_context to encoder
vp9: add above/left_seg_context to encoder
vp9: pass entropy context directly to set_skip_context
vp9: pass context directly to partition functions
vp9/decode: add alloc_tile_storage()
2013-10-28 12:45:11 -07:00
Dmitry Kovalev
b133cbf5f3
Merge "Adding fht{4x4, 8x8, 16x16} functions."
2013-10-26 03:03:27 -07:00
Dmitry Kovalev
ae2f732e8c
Adding fht{4x4, 8x8, 16x16} functions.
...
Adding these functions to encapsulate tx_type check. Changing TX_TYPE to
int to match the declaration in vo9_rtch.h.
Change-Id: I6f3a2df6e35595ca73b6aaa9e3909ee7bc3fd16f
2013-10-25 17:55:07 -07:00
Dmitry Kovalev
07502f1963
Merge "Adding get_frame_new_buffer() function to replace duplicated code."
2013-10-25 15:25:13 -07:00
Dmitry Kovalev
ddfc87c6f3
Merge "Making input pointer constant for all fdct/fht functions."
2013-10-25 15:14:49 -07:00
James Zern
ce2c337261
vp9: add above/left_context to encoder
...
Change-Id: If5cea3d389bb1135ee490d273e57cc2c43325d01
2013-10-25 22:01:14 +02:00
James Zern
d72dfab296
vp9: add above/left_seg_context to encoder
...
Change-Id: I969406574c6658936e9f6db5752f1b295025aab5
2013-10-25 22:01:14 +02:00
James Zern
d2bf696ee0
vp9: pass entropy context directly to set_skip_context
...
this will allow for separate storage to be used in tile decoding
Change-Id: I025595d83118bdc82a545dae69bc6602e8d2a6e3
2013-10-25 22:01:13 +02:00
James Zern
88d79eabdc
vp9: pass context directly to partition functions
...
update_partition_context / partition_plane_context: this will allow for
separate storage to be used in tile decoding
Change-Id: Ie0bc393531ab7e9d2ce35c95111849b294aad4ed
2013-10-25 22:01:13 +02:00
Dmitry Kovalev
d5ac877f7f
Adding COLOR_SPACE enum.
...
Change-Id: If5711eb166609cce0a88b3cb5b56b3afeebc4fb0
2013-10-25 12:35:20 -07:00
Jingning Han
39b6ab6a29
Merge "Separate encode_block for pass 1 and 2"
2013-10-24 21:39:27 -07:00
Dmitry Kovalev
237ce8724a
Adding get_frame_new_buffer() function to replace duplicated code.
...
Change-Id: I6e0e19231a48364c1de7dfab730b121ab227f111
2013-10-24 12:20:35 -07:00
Dmitry Kovalev
600a3860a4
Making input pointer constant for all fdct/fht functions.
...
Change-Id: I78f7012f967a777ddd39bae6671eb501df6bbfe8
2013-10-24 11:48:25 -07:00
Dmitry Kovalev
8001ed71ed
Merge "Renaming vp9_short_fdct4x4 and vp9_short_walsh4x4."
2013-10-24 10:08:42 -07:00
Dmitry Kovalev
710ca1fe36
Merge changes I1868fb75,I9ff504c6
...
* changes:
Renaming INTERPOLATIONFILTERTYPE to INTERPOLATION_TYPE.
Adding VP9_FRAME_MARKER constant.
2013-10-24 10:08:19 -07:00
Yunqing Wang
93ec31dff6
Merge "Improve scale_factors struct"
2013-10-24 09:13:41 -07:00
Dmitry Kovalev
ad867fe237
Renaming INTERPOLATIONFILTERTYPE to INTERPOLATION_TYPE.
...
Change-Id: I1868fb75ed88bfa65c1c2ca24677d65f2894d713
2013-10-23 17:45:52 -07:00
Dmitry Kovalev
a53075f7c5
Adding VP9_FRAME_MARKER constant.
...
Also renaming SYNC_CODE_* to VP9_SYNC_CODE_*.
Change-Id: I9ff504c6ebce6cd6673d7df2085d597b818f5960
2013-10-23 17:24:17 -07:00
Dmitry Kovalev
fd724f13b0
Renaming vp9_short_fdct4x4 and vp9_short_walsh4x4.
...
For consistency with idct function names. Renames:
vp9_short_fdct4x4 -> vp9_fdct4x4
vp9_short_walsh4x4 -> vp9_fwht4x4
Change-Id: Id15497cc1270acca626447d846f0ce9199770f58
2013-10-23 14:28:39 -07:00
Dmitry Kovalev
dea22b4bda
Merge "Renaming vp9_short_fdct32x32 to vp9_fdct32x32."
2013-10-23 14:18:57 -07:00
Jingning Han
ae0e747d6a
Merge "Use inter mode flag in super_block_yrd"
2013-10-23 13:52:05 -07:00
Dmitry Kovalev
a018988ce8
Renaming vp9_short_fdct32x32 to vp9_fdct32x32.
...
For consistency with idct function names.
Change-Id: Ie77b7178e0894c57cd5cb9243c949eb9224ece18
2013-10-23 13:41:40 -07:00
Dmitry Kovalev
5bdd4d9ccf
Merge "Renaming vp9_short_fdct16x16 to vp9_fdct16x16."
2013-10-23 13:37:09 -07:00
Jingning Han
4e2732c3c3
Separate encode_block for pass 1 and 2
...
The encode_block for pass 1 takes simpler functionalities and can
save a few branches. The main reason is to make encode_block only
used after running rate-distortion optimization search in pass 2,
hence allowing dual buffer stack approach later.
Change-Id: I9e549ffb758e554fe185e48a07d6e0e01e475bcf
2013-10-23 11:19:45 -07:00
Jingning Han
f3b31380fa
Use inter mode flag in super_block_yrd
...
Use a flag variable to determine if coded in inter mode, thus avoiding
multiple inter mode checks in super_block_yrd.
Change-Id: I0ef998b2811c38e185a2e0583f0f636cee45d2cf
2013-10-23 11:18:23 -07:00
Dmitry Kovalev
02feb63684
Renaming vp9_short_fdct16x16 to vp9_fdct16x16.
...
For consistency with idct function names.
Change-Id: I5ca355ba99fdba04f09254be95cf79808b534f71
2013-10-23 10:57:12 -07:00
Dmitry Kovalev
fa143dbc8e
Renaming vp9_short_fdct8x8 to vp9_fdct8x8.
...
For consistency with idct function names.
Change-Id: I7b6af2f92c66eff56f84ed29edc3a66af8dc421f
2013-10-23 10:52:33 -07:00
Yunqing Wang
175c313a12
Improve scale_factors struct
...
The ref's scale_factors are set at frame level, and then copied for
each partition block. Since the struct members are mostly constant,
this patch separated the constant and non-constant members, and
reduced struct copying. This gave 0.5% ~ 1.4% decoder speed gain.
Change-Id: I94043bf5a6995c8042da52e5c661818dfa6f6d4c
2013-10-22 13:10:22 -07:00
Dmitry Kovalev
ec414372e8
Removing quantize_b_4x4 function pointer.
...
The pointer was asigned only once with vp9_regular_quantize_b_4x4, calling
this function directly now. Also removing unused declarations:
prototype_quantize_block
prototype_quantize_block_pair
prototype_quantize_mb
vp9_regular_quantize_b_4x4_pair
vp9_regular_quantize_b_8x8
Change-Id: I14325bc2f082336820671eafbc06126651b79f73
2013-10-22 13:09:36 -07:00
Dmitry Kovalev
9f09618bd4
Merge "Using stride (# of elements) instead of pitch (bytes) in fdct4x4."
2013-10-22 13:05:24 -07:00
James Zern
64d94b4aa6
Merge "Revert "Merge "SVC improvements"""
2013-10-22 12:47:22 -07:00
Dmitry Kovalev
fa57135b2c
Merge "Removing NUM_ prefix from constant names."
2013-10-22 11:34:28 -07:00
Dmitry Kovalev
a767d10fa5
Merge "Using stride (# of elements) instead of pitch (bytes) in fdct8x8."
2013-10-22 11:34:17 -07:00
Dmitry Kovalev
0c10a94581
Merge "Using INTER_MODES constant instead of MB_MODE_COUNT - NEARESTMV."
2013-10-22 11:34:09 -07:00
Jingning Han
7b54556008
Merge "Prevent left_block_mode stepping into left tile"
2013-10-22 09:37:17 -07:00
Jingning Han
c807949408
Prevent left_block_mode stepping into left tile
...
This commit uses left_available flag to decide if the left mode_info
struct is available for left_block_mode. As discussed with James
Zern (jzern@), this prevents the codec from fetching mode_info from
blocks in the left tile, which although effectively not used might
present concerns for multi-threaded tile decoding.
This is NOT a bit-stream change.
Change-Id: I1dc8cf1bcbf056688eee27c7bc5706ac4b4e0125
2013-10-22 09:02:41 -07:00
James Zern
cd74a901a7
Revert "Merge "SVC improvements""
...
This reverts commit a82001b1cfd688601bbda9b08b3d20e9b46b14d4, reversing
changes made to f6d870f7ae6f968bdbc342af80c8f71fa98f2ac2.
This commit breaks windows builds and needs some work to fix those and
some additional comments.
Change-Id: Ic0b0228e36704b127e5e399ce59db26182cfffe7
2013-10-22 11:09:22 +02:00
Ivan Maltz
a82001b1cf
Merge "SVC improvements"
2013-10-21 16:28:31 -07:00
Dmitry Kovalev
190c2b4591
Using stride (# of elements) instead of pitch (bytes) in fdct4x4.
...
Just making fdct consistent with iht/idct/fht functions which all use
stride (# of elements) as input argument.
Change-Id: I0ba3c52513a5fdd194f1e7e2901092671398985b
2013-10-21 15:27:35 -07:00
Dmitry Kovalev
f6d870f7ae
Merge "Inlining set_partition_seg_context function."
2013-10-21 14:43:37 -07:00
Ivan Maltz
663916cea7
SVC improvements
...
These changes were originally made in the Stratacaster team-review repository
commit e114bffcd82ad74c3696ec58e13c0ac895d6c82d
Author: Charles 'Buck' Krasic <ckrasic@google.com>
Date: Mon Oct 14 16:52:13 2013 -0700
Make dummy frame handling a bit more explicit, fixing bug
with single layer encodes.
Squashed commit of the following:
commit 1ebbfd976c0fadb02bf1ea562a2d0e3f0206daad
Merge: ac468dd 54e88b7
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Fri Oct 11 17:29:58 2013 -0700
Move SVC code from vp9_spatial_scalable_encoder to libvpx module accessible from ffmpeg
commit 54e88b78b160becc9569fc3c6cb6b0a8c95dc357
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Tue Oct 8 09:08:40 2013 -0700
common svc encoding code for sample app and ffmpeg
added svc_encodeframe.c, svc_context.h, svc_test.cc
vp9_spatial_scalable_encoder uses vpx_svc_encode
commit 5616ec8e2e3d3e8d277333d8a9242f6c70151162
Merge: 4528014 e29137d
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Tue Oct 8 08:47:58 2013 -0700
Merge branch 'master' into stratacaster
commit 45280148450b1f3d61e390df8aadedf85cd5bce1
Merge: bb2b675 1ab60f7
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Fri Oct 4 10:22:31 2013 -0700
Merge branch 'master' into stratacaster
commit bb2b675e595dc9bfc8551e963edf56800c3aea61
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Wed Oct 2 12:37:26 2013 -0700
Track individual frame sizes and psnrs instead of averages.
commit c6d303b714795c81e7ceb4173967115c9f8ff5b7
Merge: fa87df9 3583087
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Fri Sep 27 10:05:35 2013 -0700
Merge branch 'master' into stratacaster
commit fa87df94fba923d9f7aeb8ae20c6e15f777e00b5
Merge: bf22d71 3c465af
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 26 16:10:31 2013 -0700
Merge branch 'master' into stratacaster
commit bf22d7144895a82e0c348ac177c8a261b9e2b88e
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 26 11:10:34 2013 -0700
Parameterized quantizer, 16th scalefactors, more logging, enabled single layer encodes to generate baseline.
commit ceffd7e6025b765f9886b5ea0f324248aa37e327
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 19 10:04:49 2013 -0700
- Include new mode for 3 layer I frame with 5 total layers.
- Refactor svc api.
Change-Id: Ie4d775e21e006fa597d884c59488dc999478e9b5
2013-10-21 14:34:37 -07:00
Dmitry Kovalev
1e05c9a7e6
Merge "Cleanup: using cm variable instead of cpi->common."
2013-10-21 14:30:01 -07:00