James Zern
3b47e05908
Merge "vp9/decode: add get_tile()"
2013-10-29 17:34:56 -07:00
James Zern
fb484524bd
vp9: add multi-threaded tile decoder
...
tiles are decoded in parallel within a single frame
Change-Id: I7aca87cb1c239b74eceef72bdc9f672faebac373
2013-10-30 01:00:20 +01:00
James Zern
6b00202f1b
vp9/decode: add get_tile()
...
factorizes the code in decode_tiles(). reading the offsets backwards
wasn't doing anything to prove tile independence
Change-Id: I0395d3c77205852ebdc55efedc68291e93cef85c
2013-10-30 01:00:07 +01:00
Dmitry Kovalev
1bea58e4a8
Merge "Adding const to vp9_quantize_b_{32x32,} parameters."
2013-10-29 16:57:52 -07:00
Erik Niemeyer
27b8040c76
Merge "CL for adding AVX-AVX2 support in libvpx."
2013-10-29 15:55:54 -07:00
Dmitry Kovalev
065972f959
Adding const to vp9_quantize_b_{32x32,} parameters.
...
Change-Id: I56f8c50ac382202f66040cd9cfaa05d889572fc7
2013-10-29 15:25:19 -07:00
Erik Niemeyer
e6863ef318
CL for adding AVX-AVX2 support in libvpx.
...
Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29
2013-10-29 15:11:16 -07:00
Dmitry Kovalev
cd94eee45f
Fixing clang warning.
...
Warning was: "implicit conversion from enumeration type 'VPX_SCALING_MODE'
(aka 'enum vpx_scaling_mode_1d') to different enumeration type
'VPX_SCALING'".
Change-Id: I45689e439a8775bc1e7534d0ea1ff7c729f2c7f5
2013-10-29 14:50:27 -07:00
Dmitry Kovalev
b4139d582d
Merge "Fixing wrongly initialized tx_type variable."
2013-10-29 14:07:16 -07:00
Johann
dc799a875b
vp9_decodframe.c: use vpx_memset instead of cast
...
Fix warning with -Wstrict-aliasing=1
Change-Id: Idfac09be1ab328923883e63436577f1018c895b8
2013-10-29 13:52:48 -07:00
Johann
47613d071c
idct_blk_mmx.c: use vpx_memset instead of cast
...
Fix warning with -Wstrict-aliasing=1
Change-Id: Ic37013e6477cf213925830d0bd8e6f17364ff7cc
2013-10-29 13:51:56 -07:00
Johann
0f20c839d7
decodframe.c: use vpx_memset instead of cast
...
Fix warning with -Wstrict-aliasing=1
Change-Id: Ic4e511af924247800e87d5f990636565f3dd91d2
2013-10-29 13:51:51 -07:00
Johann
7e5f5e26ba
threading.c: use vpx_memset instead of cast
...
Fix warning with -Wstrict-aliasing=1
Change-Id: I43df2781656dd7b3f4c0ec6daa283d7a78928a0c
2013-10-29 13:51:13 -07:00
Johann
1fb7a735dc
idct_blk.c: use vpx_memset instead of cast
...
Fix warning with -Wstrict-aliasing=1
Change-Id: Ibf4af991f2c82b8ccbdc20362da64be669564333
2013-10-29 13:50:15 -07:00
Yaowu Xu
cb035614d0
Merge "changed to comply with strict aliasing rule"
2013-10-29 13:44:07 -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
86ef5a0689
Merge "Correct handling of show_bit in uncompressed header."
2013-10-29 12:10:43 -07:00
Dmitry Kovalev
156de9c3ef
Correct handling of show_bit in uncompressed header.
...
"keyframe" variable in the current code actually means that previous
frame is a keyframe because cm->frame_type has not been initialized
in read_uncompressed_header.
Change-Id: I5645b0816c70abdef5dfc70113018d06276dac77
2013-10-29 11:24:08 -07:00
Yaowu Xu
502912de3a
changed to comply with strict aliasing rule
...
The clamp operation may not affect the values of the final assigned mv
where compiler may make use of strict aliasing rule to optimize out the
clamp operation. This change made the code segments to better comply
the strict aliasing rule.
Change-Id: I24502ff18bd4f9e62507a879cc8760a91a0fd07e
2013-10-29 11:11:35 -07:00
Johann
a8bbe7d808
Merge "Disable aliasing when building with Clang"
2013-10-29 11:05:45 -07:00
Dmitry Kovalev
a8e31d624a
Merge "Cleaning up vp9_regular_quantize_b_4x4."
2013-10-29 10:49:52 -07:00
Dmitry Kovalev
e5956258dd
Merge "Making get_tx_counts() similar to get_tx_probs()."
2013-10-29 10:48:50 -07:00
Adrian Grange
038b26c312
Merge "Resolved Doxygen warnings."
2013-10-29 10:43:33 -07:00
Yunqing Wang
c634ec6a56
Merge "Rewrite loop_filter_info_n struct"
2013-10-29 09:49:36 -07:00
Adrian Grange
f58eca9020
Resolved Doxygen warnings.
...
Added comments to make the codebase build cleanly in Doxygen.
Change-Id: I01e000ceac57dbafa04342858c8f1be250ba20d1
2013-10-29 09:38:31 -07:00
James Zern
7795c1911e
Merge "vp9_decode_frame: group assignments/setup calls"
2013-10-29 03:34:10 -07:00
James Zern
d39f279daa
vp9_decode_frame: group assignments/setup calls
...
group error checking at the top followed by allocations, setup then
decode.
Change-Id: I877d21326bb767885520511ecea70e5fd1e28054
2013-10-29 11:03:50 +01:00
Dmitry Kovalev
aa76cd1e49
Removing is_intra_mode() function.
...
It is enough to check just block type: intra or inter. Intra block implies
intra prediction mode, and inter block implies inter mode.
Change-Id: I3cf98731a3935f670a3cd8e2b2443483eb944be4
2013-10-28 20:00:55 -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
Johann
8b47e1cfe1
Disable aliasing when building with Clang
...
When building with new versions of Clang we encounter some issues. Work
around them by adding -fno-strict-aliasing when we detect Clang.
https://code.google.com/p/webm/issues/detail?id=603
Change-Id: I8e945a18a7215bcc627e7a1ee110078413259cc7
2013-10-28 15:46:57 -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
080150d96f
Merge "add tile test vectors"
2013-10-28 13:32:45 -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
f0eabfd432
vp9_decodframe: limit scope of private function params (2)
...
replace VP9D_COMP usage with the (slightly) more targeted
VP9_COMMON/MACROBLCKD structures.
Change-Id: Ifdd9034f44d69eb94e232dd03c922de763b96a30
2013-10-28 20:48:59 +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
ded951793c
Merge "Replacing is_inter_mode with is_inter_block."
2013-10-28 10:07:06 -07:00
James Zern
ea9b2c0312
add tile test vectors
...
1920x1080
vp90-2-08-tile_1x2_frame_parallel.webm
vp90-2-08-tile_1x2.webm
vp90-2-08-tile_1x4_frame_parallel.webm
vp90-2-08-tile_1x4.webm
vpxenc blue_sky_1080p25.y4m \
--codec=vp9 -p 2 \
--frame-parallel=${fpm} \
--tile-columns=${tc} \
--limit=10 \
--auto-alt-ref=1 \
--lag-in-frames=5 \
--target-bitrate=2500
Change-Id: Id9c94b722cc553a6865d443a94e8482c78b038bb
2013-10-28 17:53:20 +01:00
James Zern
50c4026e93
Merge "vp9 decode: defer loop filter allocation"
2013-10-28 08:00:59 -07:00
James Zern
e5edad3dc7
Merge "vp9_thread_test: quiet some msvc int->bool warnings"
2013-10-28 07:58:04 -07:00
James Zern
7b9ca3caa7
vp9: remove partition+entropy contexts from common
...
these are now handled separately by the encoder and decoder
Change-Id: If9b16f7d734e992fb94a510a6d88f2690d7fb7cb
2013-10-28 11:34:20 +01:00
James Zern
e571d3badc
vp9: add above/left_context to MACROBLOCKD
...
Change-Id: I75aab21c1692cbad717564cbb436578fddbc348d
2013-10-28 11:34:18 +01:00
James Zern
d9a317c8b2
vp9: add above/left_seg_context to MACROBLOCKD
...
Change-Id: I9cbb768c5f857a096cf6c29d6755d0e5e6728435
2013-10-28 11:32:16 +01:00
Dmitry Kovalev
b133cbf5f3
Merge "Adding fht{4x4, 8x8, 16x16} functions."
2013-10-26 03:03:27 -07:00
James Zern
8f177bb0b6
vp9 decode: defer loop filter allocation
...
wait until do_loopfilter_inline is true before committing the resources
Change-Id: I01661bd40599b47362bb3fb534668471f2a9d8d7
2013-10-26 11:57:44 +02:00
James Zern
00053aa6c4
vp9_thread_test: quiet some msvc int->bool warnings
...
Change-Id: I2ed1cb537831c8b595c74ec641296d13d38ef622
2013-10-26 11:08:28 +02: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
Yunqing Wang
00dbd369c7
Rewrite loop_filter_info_n struct
...
Restructured the storing of loopfilter information. Deleted
loop_filter_info struct and reduced copying happened in every
superblock.
Tests showed a 0.5% ~ 0.8% decoder speed gain.
Change-Id: Ie6a8e46bae71dc3a3cd8c6054f5de540b8e0ef5e
2013-10-25 14:56:28 -07:00