Commit Graph

7044 Commits

Author SHA1 Message Date
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
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
James Zern
71097d9cf2 vp9/decode: add alloc_tile_storage()
Change-Id: I3ebb172d4f2ae7db73b72fb42eb93833a295fb55
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
Dmitry Kovalev
9f528ce057 Updating gtest from 1.6.0 to 1.7.0.
This is required in order to build libvpx on OS X Mavericks where gcc
compiler is deleted, clang (3.3) is the default now.

Using unmodified source files from gtest-1.7.0/fused-src folder.

Change-Id: I3d5f7278149c904e48737327daf7097a8bb0b390
2013-10-25 10:58:09 -07:00
Yunqing Wang
47665452f0 Merge "Add 32x32 idct function for eob<=34 case" 2013-10-25 09:34:46 -07:00
Jingning Han
39b6ab6a29 Merge "Separate encode_block for pass 1 and 2" 2013-10-24 21:39:27 -07:00
Yunqing Wang
f88315cb29 Add 32x32 idct function for eob<=34 case
When only upper-left 8x8 area has non-zero dct coefficients, we
could skip 1D IDCT for 9th to 32th rows to save operations. This
function is called when eob <= 34.

Change-Id: I9684b75947bdde346cfe3720f08a953aa7a13fb5
2013-10-24 16:13:21 -07:00
Johann
35c4437bf5 Merge "mips dsp-ase r2 vp9 decoder idct module optimizations (rebase)" 2013-10-24 15:49:31 -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