Dmitry Kovalev [Thu, 14 Nov 2013 23:04:14 +0000 (15:04 -0800)]
Cleaning up vp9_loopfilter.c file.
Change-Id: Ic6770072f80dfb54d2725ed96370d4f243a9f474
Dmitry Kovalev [Thu, 14 Nov 2013 21:37:18 +0000 (13:37 -0800)]
Removing unused coefband_trans_8x8plus array from VP9Decompressor.
Change-Id: Ic1367d767705377402ebfec0705f9f553a834400
Joshua Litt [Thu, 14 Nov 2013 00:30:31 +0000 (16:30 -0800)]
Tweaks to vpx_test android make file
* Change from thumb mode to arm mode improves test time significantly
* Direct inclusion of test.mk allows for unit test configuration via
configure script
Change-Id: Id58d3ba8289374528756a672459d8334afe20e2a
Dmitry Kovalev [Thu, 14 Nov 2013 18:12:54 +0000 (10:12 -0800)]
Merge "Eliminating usage of txfrm_block_to_raster_block() from encode_block()."
Jingning Han [Thu, 14 Nov 2013 17:26:33 +0000 (09:26 -0800)]
Merge "Enable 4x4 DCT/ADST transform unit test"
Marco Paniconi [Thu, 14 Nov 2013 16:11:42 +0000 (08:11 -0800)]
Merge "For CBR, keep rate-correction damping factor to 2."
Deb Mukherjee [Thu, 14 Nov 2013 00:02:06 +0000 (16:02 -0800)]
Simplifies band-getting with a static array
Simplifies the code by implementing band mapping with static arrays.
A lot of the code complexity introduced in a previous patch
disappears.
Change-Id: Ia3fac36e594fb5ad2d55ae141c58bba4c55c2d28
Dmitry Kovalev [Thu, 14 Nov 2013 03:33:12 +0000 (19:33 -0800)]
Eliminating usage of txfrm_block_to_raster_block() from encode_block().
Change-Id: I7d11f1b6075a1115cdc2dcd605225b9c9c9b39c7
Dmitry Kovalev [Thu, 14 Nov 2013 02:39:14 +0000 (18:39 -0800)]
Merge "Cleaning up decode_coefs() function."
Jingning Han [Tue, 12 Nov 2013 20:47:32 +0000 (12:47 -0800)]
Enable 4x4 DCT/ADST transform unit test
This commit enables the unit tests for 4x4 DCT and ADST transforms.
It covers tests of round-trip error check, coefficient match check,
coefficient overflow check, and inverse accuracy check.
Change-Id: Ibfea928ee48f0ebc088b7fdb0bf2d89a14161299
Dmitry Kovalev [Thu, 14 Nov 2013 00:46:21 +0000 (16:46 -0800)]
Cleaning up decode_coefs() function.
Removing vp9_read_and_apply_sign macro which was used only once.
Change-Id: I6a1625b720d89fc1291c99deccd6638b705f9b06
Marco Paniconi [Thu, 14 Nov 2013 00:02:54 +0000 (16:02 -0800)]
For CBR, keep rate-correction damping factor to 2.
The switch to the rate-correction damping factor
in https://gerrit.chromium.org/gerrit/#/c/67536/ was not conditioned on CBR mode.
Change-Id: I2326704e8ac030a4f7b592dd3fedb94c7dd0644d
Jingning Han [Wed, 13 Nov 2013 23:43:00 +0000 (15:43 -0800)]
Merge "Dual buffer encoding for intra modes"
Jingning Han [Wed, 13 Nov 2013 22:48:38 +0000 (14:48 -0800)]
Fix an overflow issue in SSE2 forward ADST
The step that sums three input samples could potentially cause the
intermediate result go beyond 16 bit limit, when operating as the
second 1-D transform. This commit fixes the issue.
Change-Id: Iaf512449ac2d25ddd8a806d760afab362c62a516
Dmitry Kovalev [Wed, 13 Nov 2013 22:14:27 +0000 (14:14 -0800)]
Merge "Replacing raster_block with block in the encoder."
Johann [Wed, 13 Nov 2013 22:08:03 +0000 (14:08 -0800)]
Merge "Split macro strings on whitespace"
Dmitry Kovalev [Wed, 13 Nov 2013 21:54:15 +0000 (13:54 -0800)]
Merge "Removing function pointers from inter prediction."
Jingning Han [Thu, 7 Nov 2013 22:56:58 +0000 (14:56 -0800)]
Dual buffer encoding for intra modes
Overall change (using dual buffer scheme for superblocks of both inter
and intra modes) reduces speed 2 runtime:
bluesky_1080p at 6000kbps: 263553ms -> 257441ms
riverbed_1080p at 8000kbps: 233230ms -> 225308ms.
Change-Id: Idf8d70f768a4b0d97b2a8506372c57b7b4022119
Dmitry Kovalev [Wed, 13 Nov 2013 18:47:46 +0000 (10:47 -0800)]
Merge "Syncing write_modes_{b, sb} implementation with decode_modes_{b, sb}."
Dmitry Kovalev [Wed, 13 Nov 2013 18:01:05 +0000 (10:01 -0800)]
Merge "Optimizing set_contexts() function."
Yunqing Wang [Wed, 13 Nov 2013 17:40:14 +0000 (09:40 -0800)]
Merge "Use 1D array to store super block filter levels"
Johann [Wed, 13 Nov 2013 17:00:09 +0000 (09:00 -0800)]
Merge "mips dsp-ase r2 vp9 decoder intra module optimizations (rebase)"
Parag Salasakar [Wed, 13 Nov 2013 05:47:14 +0000 (11:17 +0530)]
mips dsp-ase r2 vp9 decoder intra module optimizations (rebase)
Change-Id: Ib27fc4f3dbe01fe8adfa04a61aaba21b3480e75c
Parag Salasakar [Wed, 13 Nov 2013 05:23:16 +0000 (10:53 +0530)]
mips dsp-ase r2 vp9 decoder loopfilter module optimizations (rebase)
Change-Id: Ia7f640ca395e8deaac5986f19d11ab18d85eec2d
Dmitry Kovalev [Wed, 13 Nov 2013 01:28:27 +0000 (17:28 -0800)]
Moving q_index from MACROBLOCKD to MACROBLOCK.
Moving because q_index is used only by encoder.
Change-Id: I0b96175614ed4fd3d76ee56a0ba36258e1e896f6
Jingning Han [Wed, 13 Nov 2013 02:11:41 +0000 (18:11 -0800)]
Merge "Enable dual buffer rd search and encoding scheme"
Jingning Han [Wed, 13 Nov 2013 02:11:34 +0000 (18:11 -0800)]
Merge "Add test vector for row/col tile decoding"
Dmitry Kovalev [Wed, 13 Nov 2013 00:57:30 +0000 (16:57 -0800)]
Merge "Calculating transform block offsets (x and y) only once."
Dmitry Kovalev [Wed, 13 Nov 2013 00:54:30 +0000 (16:54 -0800)]
Merge "Using max_tx_size instead of bsize when possible."
Dmitry Kovalev [Tue, 12 Nov 2013 23:59:28 +0000 (15:59 -0800)]
Merge "Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK."
Dmitry Kovalev [Tue, 12 Nov 2013 23:48:07 +0000 (15:48 -0800)]
Merge "Adding const to tree pointer inside vp9_extra_bit struct."
Johann [Tue, 12 Nov 2013 23:30:00 +0000 (15:30 -0800)]
Merge "Added optimized vp9_idct32x32_34_add_dspr2"
Johann [Tue, 12 Nov 2013 20:26:45 +0000 (12:26 -0800)]
Split macro strings on whitespace
Match any whitespace instead of individual spaces. The macro
definitions in vp9/common/arm/neon/vp9_short_idct32x32_1_add_neon.asm
triggered this and treated spaces as arguments leading to lines like:
$8vld1$8.$88$8 {$8q8$8}, [$$89$8], $$8stride$8
Change-Id: I2d5718aba4614e4fd7b702e15c2a1bd80e656bd2
Dmitry Kovalev [Tue, 12 Nov 2013 22:21:15 +0000 (14:21 -0800)]
Adding const to tree pointer inside vp9_extra_bit struct.
Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
Joshua Litt [Mon, 11 Nov 2013 20:31:42 +0000 (12:31 -0800)]
Android.mk file for vpx unittests
These changes are to support automated regressions of vpx on android
new file: test/android/Android.mk
new file: test/android/README
new file: test/android/get_files.py
Change-Id: I52c8e9daf3676a3561badbe710ec3a16fed72abd
Dmitry Kovalev [Mon, 11 Nov 2013 22:54:01 +0000 (14:54 -0800)]
Calculating transform block offsets (x and y) only once.
Change-Id: I4b5106bdc08fd4551339b968c13428a8f43122e2
Yunqing Wang [Tue, 12 Nov 2013 20:01:25 +0000 (12:01 -0800)]
Use 1D array to store super block filter levels
As Jim suggested, 1D array was used to store filter levels instead
of 2D array. This used shift_y in setup_mask directly, and saved
few cycles.
Change-Id: If61ab298784861f1806b1cd396d4e4e2e0f097b9
Jingning Han [Mon, 11 Nov 2013 18:39:32 +0000 (10:39 -0800)]
Add test vector for row/col tile decoding
1920x1080
vp90-2-08-tile-4x4.webm
vp90-2-08-tile-4x4.webm.md5
vpxenc blue_sky_1080p25 --frame-parallel=0 \
--tile-columns=2 --tile-rows=2 \
--lossless=0 --error-resilient=0 \
--min-q=0 --max-q=30 --kf-min-dist=0 --kf-max-dist=9999 \
--cpu-used=0 --codec=vp9 -p 2 --good --fps=25/1 --limit=5
vp90-2-08-tile-4x1.webm
vp90-2-08-tile-4x1.webm.md5
vpxenc blue_sky_1080p25 --frame-parallel=0 \
--tile-columns=0 --tile-rows=2 \
--lossless=0 --error-resilient=0 \
--min-q=0 --max-q=30 --kf-min-dist=0 --kf-max-dist=9999 \
--cpu-used=0 --codec=vp9 -p 2 --good --fps=25/1 --limit=5
Change-Id: I77d0ccf9b721ae5cfa72781fe0d3c534ea43b756
Deb Mukherjee [Tue, 12 Nov 2013 19:22:21 +0000 (11:22 -0800)]
Merge "Removes conditional statements from band getting"
Johann [Tue, 12 Nov 2013 18:41:06 +0000 (10:41 -0800)]
Use lowercase 'b' to branch
iOS doesn't recognize B:
bad instruction `B idct32_pass_loop'
Change-Id: I3cf6aede4639f1d9efa97f7962fa287ba6feaaef
Yunqing Wang [Tue, 12 Nov 2013 18:20:49 +0000 (10:20 -0800)]
Merge "Rewrite filter_selectively_horiz for parallel loopfiltering"
Yunqing Wang [Tue, 12 Nov 2013 18:19:56 +0000 (10:19 -0800)]
Merge "Improve loopfilter function"
Deb Mukherjee [Wed, 6 Nov 2013 01:25:38 +0000 (17:25 -0800)]
Removes conditional statements from band getting
Implements scan order to band map with arrays in both the encoder
and decoder to remove conditional statements.
Encoding seems to be about 1% faster at speed 0, tested on football.
Decoding seems to be about 0.5-1% faster on a set of 25 videos.
Change-Id: Idb233ca0b9e0efd790e30880642e8717e1c5c8dd
Dmitry Kovalev [Tue, 12 Nov 2013 02:37:22 +0000 (18:37 -0800)]
Merge "Removing redundant assignment."
Dmitry Kovalev [Tue, 12 Nov 2013 02:37:00 +0000 (18:37 -0800)]
Removing function pointers from inter prediction.
Removing foreach_predicted_block_visitor and calling build_inter_predictors
directly.
Change-Id: I11bb3c872b99b47c2680b01b0dbcc01c558c4a2b
Jingning Han [Wed, 6 Nov 2013 05:07:08 +0000 (21:07 -0800)]
Enable dual buffer rd search and encoding scheme
This commit enables the dual buffer rate-distortion optimization
and encoding scheme. It stacks the original transform coefficients,
quantized levels, and reconstructed coefficients, in the rate-
distortion optimization search process, hence eliminates the need
to re-run residual generation, forward transform, and quantization
in the encoding stage.
Change-Id: I011bfad3a59a380a869ee552e91dae0394ec492e
Jingning Han [Tue, 12 Nov 2013 02:00:57 +0000 (18:00 -0800)]
Merge "Allocate dual buffer sets for encoding"
Dmitry Kovalev [Tue, 12 Nov 2013 01:39:43 +0000 (17:39 -0800)]
Removing redundant assignment.
xd->mi_8x8 is assigned inside set_offsets() for each prediction block.
Change-Id: I20e5974a9eaf105e5a04fc7f99b7a93bd50e3d0a
Dmitry Kovalev [Tue, 12 Nov 2013 01:29:31 +0000 (17:29 -0800)]
Syncing write_modes_{b, sb} implementation with decode_modes_{b, sb}.
Change-Id: Iaee740ec3bfb2b5328c24f4641c285e5a4a046dc
Yunqing Wang [Sat, 9 Nov 2013 00:12:04 +0000 (16:12 -0800)]
Rewrite filter_selectively_horiz for parallel loopfiltering
Added loop filter mask checking, and made the caller function
ready for implementation of parallel loopfiltering in horizontal
direction.
Next, we need to go through the loopfilter functions (both c and
optimized versions), and provide 16-byte wide loopfiltering for
each filter type.
Change-Id: Ifef47e7ef9086ebc2fd6ca7ede8f27c9bbf79e66
Tom Finegan [Tue, 12 Nov 2013 01:01:57 +0000 (17:01 -0800)]
Merge "vpxenc: clean up; move stats code out of vpxenc.c"
Dmitry Kovalev [Tue, 12 Nov 2013 00:34:39 +0000 (16:34 -0800)]
Merge "Cleaning up joint_motion_search function."
Tom Finegan [Fri, 8 Nov 2013 05:28:45 +0000 (21:28 -0800)]
vpxenc: clean up; move stats code out of vpxenc.c
Change-Id: I6b245ef5017c49373ba33e30f8fbf3d1b97409b5
Jingning Han [Fri, 1 Nov 2013 19:53:37 +0000 (12:53 -0700)]
Allocate dual buffer sets for encoding
Allocate memory space of dual buffer sets that store the coeff, qcoeff,
dqcoeff, and eobs. Connect the pointers of macroblock_plane and
macroblockd_plane to the actual buffer in use accordingly.
Change-Id: I2f0b5f482ca879fae39095013eaf8901db20a5a4
Jingning Han [Tue, 12 Nov 2013 00:09:16 +0000 (16:09 -0800)]
Merge "Decouple macroblockd_plane buffer usage"
Dmitry Kovalev [Tue, 12 Nov 2013 00:04:02 +0000 (16:04 -0800)]
Cleaning up joint_motion_search function.
Change-Id: I70a0878b23bda0ac3ff8733b4c96d5c636bc551c
Dmitry Kovalev [Mon, 11 Nov 2013 23:58:57 +0000 (15:58 -0800)]
Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK.
We use {sb, mb, b, ab}_index only inside encoder, so moving them into
appropriate data structure.
Change-Id: Ib5c1036716354d9d321e11a60c1634c1cb8f9716
Ivan Maltz [Mon, 11 Nov 2013 23:52:42 +0000 (15:52 -0800)]
Merge "Fixed memory leak with svc_test.cc"
Jingning Han [Thu, 31 Oct 2013 19:21:49 +0000 (12:21 -0700)]
Decouple macroblockd_plane buffer usage
Make the macroblockd_plane contain dynamic buffer pointers instead
static pointers to the memory space allocated therein. The decoder
uses the buffer allocated in pbi, while encoder will use a dual
buffer approach for rate-distortion optimization search.
Change-Id: Ie6f24be2dcda35df7c15b4014e5ccf236fb3f76c
Ivan Maltz [Mon, 11 Nov 2013 21:55:34 +0000 (13:55 -0800)]
Fixed memory leak with svc_test.cc
was not calling vpx_codec_destroy and delete(decoder_) in TearDown
Change-Id: Iff4fd24a260223d224b3ea3287cdf0227405492f
Dmitry Kovalev [Mon, 11 Nov 2013 23:18:48 +0000 (15:18 -0800)]
Replacing raster_block with block in the encoder.
We only used "ib" to call get_scan() function, which in turn calls
get_tx_type_4x4() function. The latter one only needs block index if
bsize < BLOCK_8X8 -- under that condition raster_block == block.
Change-Id: I697306a0c3cf937acdd4f5e623d4367c5acc0b2f
hkuang [Mon, 11 Nov 2013 20:49:12 +0000 (12:49 -0800)]
Fix a bug in the assembly code.
Change-Id: Ic416e3f8a11e82ee298e6f709b2119a9ddf1e2f8
Dmitry Kovalev [Mon, 11 Nov 2013 20:27:42 +0000 (12:27 -0800)]
Merge "Replacing (raster_block >> tx_size) with (block >> (tx_size << 1))."
Tom Finegan [Mon, 11 Nov 2013 19:53:33 +0000 (11:53 -0800)]
Merge "vpx[dec|enc]: Clean up target OS based IO focused preproc abuse."
Tom Finegan [Mon, 11 Nov 2013 14:48:18 +0000 (06:48 -0800)]
vpx[dec|enc]: Clean up target OS based IO focused preproc abuse.
Relocate it to tools_common.h so we can stop duping this code
everywhere.
BUG=https://code.google.com/p/webm/issues/detail?id=660
Change-Id: If8aa49b74d297273cd9fd7006b2767837055a359
Dmitry Kovalev [Mon, 11 Nov 2013 19:12:06 +0000 (11:12 -0800)]
Merge "Localizing NEARESTMV special cases in the code."
Dmitry Kovalev [Mon, 11 Nov 2013 19:02:32 +0000 (11:02 -0800)]
Merge "Cleaning up vp9_quantize_b_c() function."
Dmitry Kovalev [Mon, 11 Nov 2013 19:01:35 +0000 (11:01 -0800)]
Merge "Cleaning up read_mv_probs() function."
Dmitry Kovalev [Mon, 11 Nov 2013 19:00:51 +0000 (11:00 -0800)]
Merge "Adding read_reference_mode() function."
Tom Finegan [Mon, 11 Nov 2013 15:57:42 +0000 (07:57 -0800)]
Merge "vpxenc: Remove support for IVF input."
Yaowu Xu [Sat, 9 Nov 2013 21:59:19 +0000 (13:59 -0800)]
Merge "[BITSTREAM]Fix row tile mode_info pointer setup"
Yaowu Xu [Fri, 8 Nov 2013 21:04:08 +0000 (13:04 -0800)]
[BITSTREAM]Fix row tile mode_info pointer setup
This commit fixes the assignment of mode_info pointer per tile. It
makes recognition of tiles in both row and column formats and properly
arrange the use of mode_info.
The bug was first introduced in
I6226456dd11f275fa991e4a7a930549da6675915
https://gerrit.chromium.org/gerrit/#/c/67492/
Change-Id: Ie12cd209f53241513728c461ee3d7b9599ddb860
Yaowu Xu [Sat, 9 Nov 2013 00:17:38 +0000 (16:17 -0800)]
Merge "Correct a couple of typos"
Tom Finegan [Fri, 8 Nov 2013 19:32:23 +0000 (11:32 -0800)]
vpxenc: Remove support for IVF input.
Change-Id: Ida0e1b2df89e992b8140672b70517d8623cf9ede
Dmitry Kovalev [Fri, 8 Nov 2013 20:44:56 +0000 (12:44 -0800)]
Optimizing set_contexts() function.
Inlining set_contexts_on_border() into set_contexts(). The only difference
is the additional check that "has_eob != 0" in addition to
"xd->mb_to_right_edge < 0" and "xd->mb_to_right_edge < 0". If has_eob == 0
then memset does the right thing and works faster.
Change-Id: I5206f767d729f758b14c667592b7034df4837d0e
Yaowu Xu [Fri, 8 Nov 2013 20:43:51 +0000 (12:43 -0800)]
Correct a couple of typos
Change-Id: Ic470c6c9ce27b615c9645b9cb0d67526417bc374
Yunqing Wang [Fri, 8 Nov 2013 20:00:36 +0000 (12:00 -0800)]
Merge "Improve vp9_idct4x4_1_add_sse2"
Yunqing Wang [Fri, 1 Nov 2013 21:08:54 +0000 (14:08 -0700)]
Improve loopfilter function
This patch continued the work done in "Rewrite loop_filter_info_n
struct"(commit:
00dbd369c70270428d56da6d15ea5486fc821c52) to further
improve loopfilter function.
1. Instead of storing pointers to thresholds, store loopfilter
levels within 64x64 SB;
2. Since loopfilter levels are already calculated in setup_mask,
we don't need call build_lfi to look up them again. Just save
loopfilter levels in setup_mask.
3. Reorganized and simplified filter_block_plane().
Tests showed a ~0.8% decoder speedup.
Change-Id: I723c7779738bbc2afcb9afa2c6f78580ee6c3af7
Yaowu Xu [Fri, 8 Nov 2013 19:11:39 +0000 (11:11 -0800)]
Merge "Disable zeroblock forcing for lossless coding mode"
Dmitry Kovalev [Fri, 8 Nov 2013 18:59:02 +0000 (10:59 -0800)]
Merge "Unifying tile decoding for both direct and inverse tile order."
Yaowu Xu [Fri, 8 Nov 2013 17:49:08 +0000 (09:49 -0800)]
Disable zeroblock forcing for lossless coding mode
This to make sure that prediction residue always get coded in lossless
mode.
This commit also fixed lossless unit test
Change-Id: I537726ee55328d4e4cf0a0196393a67e12bfcde1
Yunqing Wang [Fri, 8 Nov 2013 16:26:30 +0000 (08:26 -0800)]
Merge "Remove TEXTREL from 32bit encoder"
Paul Wilkins [Fri, 8 Nov 2013 12:24:51 +0000 (04:24 -0800)]
Merge "Removed unused rate parameter."
Dmitry Kovalev [Thu, 7 Nov 2013 02:51:01 +0000 (18:51 -0800)]
Replacing (raster_block >> tx_size) with (block >> (tx_size << 1)).
The new expression is much more logical than previous one. Surprisingly
both expressions give exactly the same set of dependent values
-- have_top, have_left, have_right -- in vp9_predict_intra_block.
Change-Id: I63eb1b592b8c37883b3a0dbb1f3daa271e446109
hkuang [Thu, 7 Nov 2013 22:42:29 +0000 (14:42 -0800)]
Merge "Add back vp9_short_idct32x32_1_add_neon which is deleted in cleanup I63df79a13cf62aa2c9360a7a26933c100f9ebda3."
Yunqing Wang [Wed, 6 Nov 2013 19:06:21 +0000 (11:06 -0800)]
Remove TEXTREL from 32bit encoder
This patch fixed the issue reported in "Issue 655: remove textrel's
from 32-bit vp9 encoder". The set of vp9_subpel_variance functions
that used x86inc.asm ABI didn't build correctly for 32bit PIC. The
fix was carefully done under the situation that there was not
enough registers.
After the change, we got
$ eu-findtextrel libvpx.so
eu-findtextrel: no text relocations reported in 'libvpx.so'
Change-Id: I1b176311dedaf48eaee0a1e777588043c97cea82
Jingning Han [Thu, 7 Nov 2013 19:39:04 +0000 (11:39 -0800)]
Merge "Fix the variable naming in encode_block"
Deb Mukherjee [Thu, 7 Nov 2013 17:40:07 +0000 (09:40 -0800)]
Merge "Miscelleneous changes in detokenize for speed"
Yaowu Xu [Thu, 7 Nov 2013 17:29:31 +0000 (09:29 -0800)]
Merge "disable avx/avx2 for old versions of MSVC"
Jingning Han [Wed, 6 Nov 2013 19:34:06 +0000 (11:34 -0800)]
Fix the variable naming in encode_block
The term x represents macroblock pointer across encode_block. Change
the two local variable names to avoid confusion.
Change-Id: Ic732e73023525d673c0a678ed2708ac1edf5a3f9
Paul Wilkins [Wed, 23 Oct 2013 14:10:59 +0000 (15:10 +0100)]
Removed unused rate parameter.
Change-Id: I6e4a266fdbad1d222eb45d45b67bbb82d091821a
Dmitry Kovalev [Thu, 7 Nov 2013 02:15:33 +0000 (18:15 -0800)]
Unifying tile decoding for both direct and inverse tile order.
Now tile decoding consists of two stages:
1. Find tile buffer start and its size, put this info into tile_buffers.
2. Decode each tile based on information from tile_buffers.
It seems that stage 1 can also be reused by multithreaded tile decoder.
Change-Id: If0cdaefdd6d10bb41c63561346c9ae4cfac081dd
Ivan Maltz [Thu, 7 Nov 2013 01:24:05 +0000 (17:24 -0800)]
Merge "Move SVC per-frame loop from sample app into libvpx proper"
Dmitry Kovalev [Thu, 7 Nov 2013 00:59:57 +0000 (16:59 -0800)]
Merge "Using pd->dqcoeff instead of pd->qcoeff in the decoder."
Dmitry Kovalev [Thu, 7 Nov 2013 00:14:45 +0000 (16:14 -0800)]
Using pd->dqcoeff instead of pd->qcoeff in the decoder.
It is more logical to use dqcoeff buffer to put there *dequantized*
transform coefficients (inside inverse_transform_block and
decode_coefs functions). Dequantization happens inside WRITE_COEF_CONTINUE
macro.
qcoeff buffer should be only used in the encoder for *quantized*
transform coefficients.
Change-Id: Ifd54bef272bbf5311ced6669c4f1079f998af5d7
Ivan Maltz [Wed, 23 Oct 2013 18:53:37 +0000 (11:53 -0700)]
Move SVC per-frame loop from sample app into libvpx proper
SVC multiple layer per frame encoding is invoked with vpx_svc_init and
vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg.
Additional improvements:
- make dummy frame handling a bit more explicit
- fixed bug with single layer encodes
- track individual frame sizes and psnrs instead of averages
- parameterized quantizer, 16th scalefactors, more logging,
- enabled single layer encodes to generate baseline
- include new mode for 3 layer I frame with 5 total layers
Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
Dmitry Kovalev [Wed, 6 Nov 2013 22:18:33 +0000 (14:18 -0800)]
Merge "Replacing mi_{width,height}_log2 with num_8x8_blocks_{wide,high}_lookup."
Joshua Litt [Wed, 6 Nov 2013 21:37:19 +0000 (13:37 -0800)]
Merge "Allow test data path to be set by preprocessor symbol"
Dmitry Kovalev [Wed, 6 Nov 2013 21:34:23 +0000 (13:34 -0800)]
Replacing mi_{width,height}_log2 with num_8x8_blocks_{wide,high}_lookup.
Change-Id: I04c55daef89bca2b85cb7db0850f9b052abc5a7c
Deb Mukherjee [Wed, 6 Nov 2013 21:12:47 +0000 (13:12 -0800)]
Merge "Removes stack allocation of token_cache"