summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-24Fix crash in pick_inter_mode_sb().Ronald S. Bultje
It didn't handle rd_thresh == INT_MAX, which means the reference is unavailable. Change-Id: Ie6fa8b2577437411db81a8c24e8dcdfd856a0e8d
2012-11-23Restructure vp9_decode_mb_tokens_8x8() a bit.Ronald S. Bultje
Don't declare variables if they only ever have a single value and are used only as argument to another function call; instead, just hardcode the value in the function call directly. Split out UV and Y coefficient loops for clarity. Use xd->block[].qcoeff instead of xd->qcoeff + magic to remove use of magic offset variables. Change-Id: I5b17eda1bb666c69c2b7ea957d5525cd78192e33
2012-11-23Restructure vp9_decode_mb_tokens_16x16() a bit.Ronald S. Bultje
Don't declare variables if they only ever have a single value and are used only as argument to another function call; instead, just hardcode the value in the function call directly. Also remove unneeded brackets around a code block, and remove the magic offsets 64 and 256 for chroma values in the coefficient memory block. Change-Id: I14fc14120a81ea1d6fb862674e8bf8cf6ba3d114
2012-11-23Make get_eob() function static.Ronald S. Bultje
Change-Id: Idde3ab97960eda7022367c1f91a873a479bc9d7b
2012-11-23Rename "block_type" function argument to "txfm_size".Ronald S. Bultje
Also fix the type (TX_SIZE instead of int). Change-Id: Ib9b3f33835e58a6e758ed5f37bb64543e62b6a86
2012-11-21Merge "remove subpixel invoke functions" into experimentalJim Bankoski
2012-11-21Fix enc/dec mismatch with b_context_pred experiment enabled.Ronald S. Bultje
Change-Id: I1272ae3f0fdfb7ed8eb364ef0c6dd1818d3179d7
2012-11-21remove subpixel invoke functionsJim Bankoski
Removed the rtcd subpixel invoke functions. Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33
2012-11-21fixed const problemJim Bankoski
NEEDED FOR BUILD Change-Id: I56a3e68f15dff480b34de048e30231ba821b1ee2
2012-11-21Merge "clean out some of the rtcd code." into experimentalJim Bankoski
2012-11-20Merge "Pack invisible frames without lengths" into experimentalJohn Koleszar
2012-11-20Merge "make: fix dependency generation for flat build tree" into experimentalJohn Koleszar
2012-11-20Fix ref_stride in sad functionYunqing Wang
Used ref_stride. Change-Id: I31f0a3bb935520f54d11a1d87315627f162ae845
2012-11-20make: fix dependency generation for flat build treeJohn Koleszar
Update the fmt_deps function to use a new sed expression to convert the object file name generated by the compiler into the path-transformed name of the .o and .d files. Prior to this patch, changing a header file would not trigger an incremental build. Change-Id: I07f498a1d134577b89a72e3f1143c737b31a0636
2012-11-18clean out some of the rtcd code.Jim Bankoski
This removes functions that are no longer needed and cleans up some warnings. Change-Id: I292a4c3694e9c1d68ce99cea390905b198434719
2012-11-17Merge "Assign above/left context in decode_coefs() instead of in caller." ↵Ronald S. Bultje
into experimental
2012-11-17Merge "Remove unused argument from decode_coefs() function prototype." into ↵Ronald S. Bultje
experimental
2012-11-17Merge "Remove coef_bands_x[] array and related machinery in decode_coefs()." ↵Ronald S. Bultje
into experimental
2012-11-17Merge "Inline count_tokens() in decode_coefs()." into experimentalRonald S. Bultje
2012-11-17Merge "Merge various count_token() functions into a single one." into ↵Ronald S. Bultje
experimental
2012-11-17Assign above/left context in decode_coefs() instead of in caller.Ronald S. Bultje
this prevents duplicating the same line of code in each caller of decode_coefs(). Change-Id: Id7996ad394828bf77ef3d5e03002f577c9f79609
2012-11-17Remove unused argument from decode_coefs() function prototype.Ronald S. Bultje
Change-Id: I8d2539ba1046012c948520ac23a1f1978be921c5
2012-11-17Remove coef_bands_x[] array and related machinery in decode_coefs().Ronald S. Bultje
Change-Id: I0a36d1efb3bb81a54005b10316550ec67100559e
2012-11-17Inline count_tokens() in decode_coefs().Ronald S. Bultje
This prevents the relatively expensive token-from-coefficient lookup function get_token(), plus a duplicate loop.. Change-Id: Ibecd407b2a91d3593d439ec4646e43fa26d2ff91
2012-11-17Merge various count_token() functions into a single one.Ronald S. Bultje
Change-Id: I1970f43e2cb5f7d9744c7249099eed226f16f162
2012-11-17Merge "removal of temporal invoke" into experimentalJim Bankoski
2012-11-17Remove unused function count_tokens() in detokenize.c.Ronald S. Bultje
Change-Id: I178f250b1a4d41d5a9c1619091f5ae51cebffb10
2012-11-17removal of temporal invokeJim Bankoski
Change-Id: I18ca713b02a5241bdb20dddcde0216467b55b596
2012-11-16Remove special-case inline detokenization in b_pred reconstruction.Ronald S. Bultje
Just like for all other block modes, b_pred tokens can be read together before starting macroblock reconstruction. This removes special cases for b_pred in decode_macroblock() and allows to make decode_coefs_4x4() static in detokenize.c. While at it, remove the redundant handling and checking of plane_type and block_index (i) in decode_coefs_4x4(). Since the function is static, and is called only from decode_mb_tokens_4x4(), we don't need to worry that the arguments ever go out of sync. Change-Id: I2d415da0b51b89d0490a6b9e24cc86363c2090f7
2012-11-16Merge "Add const before the dequant(dq)" into experimentalYunqing Wang
2012-11-16Merge "Optimize 8x8 dequant and idct" into experimentalYunqing Wang
2012-11-16Add const before the dequant(dq)Yunqing Wang
Modified code to use const before dq. Change-Id: I6fa59c2ed9743ded33ad08df70e15c2fe1ae7b99
2012-11-16Merge "remove yasm.rules" into experimentalYaowu Xu
2012-11-16remove yasm.rulesYaowu Xu
As we changed the scripts to compile asm files using customized command for each file. Change-Id: I975713f3d0cce2238de3ee3fe44e3227385f0c64
2012-11-16Support 32x32 intra modes in non-keyframe superblocks.Ronald S. Bultje
Change-Id: Icf8ad313c543462e523bff89690e5daa8d49bcc0
2012-11-16Further experimentation with the mode contextPaul Wilkins
Experiments with a larger set of contexts and some clean up to replace magic numbers regarding the number of contexts. The starting values and rate of backwards adaption are still suspect and based on a small set of tests. Added forwards adjustment of probabilities. The net result of adding the new context and forward update is small compared to the old context from the legacy find_near function. (down a little on derf but up by a similar amount for HD) HOWEVER.... with the new context and forward update the impact of disabling the reverse update (which may be necessary in some use cases to facilitate parallel decoding) is hugely reduced. For the old context without forward update, the impact of turning off reverse update (Experiment was with SB off) was Derf - 0.9, Yt -1.89, ythd -2.75 and sthd -8.35. The impact was mainly at low data rates. With the new context and forward update enabled the impact for all the test sets was no more than 0.5-1% (again most at the low end). Change-Id: Ic751b414c8ce7f7f3ebc6f19a741d774d2b4b556
2012-11-16Merge "Don't write recon.yuv by default" into experimentalJohn Koleszar
2012-11-16Merge "Compound inter-intra experiment" into experimentalDeb Mukherjee
2012-11-16Merge "changed mv candidate search for superblocks" into experimentalYaowu Xu
2012-11-16changed mv candidate search for superblocksYaowu Xu
added additional motion vectors at close neighborhood of a superblock to the list of candiate motion vectors, and removed a couple that are further away. The change helped std-hd set about .8% (all metrics) and smaller gain for derf set. Change-Id: Iaa69b98614db43420ed3fd4738d0ca5587b90045
2012-11-16Compound inter-intra experimentDeb Mukherjee
A patch on compound inter-intra prediction. In compound inter-intra prediction, a new predictor for 16x16 inter coded MBs are obtained by combining a single inter predictor with a 16x16 intra predictor, in a manner that the weight varies with distance from the top/left boundary. The current search strategy is to combine the best inter mode with the best intra mode obtained independently. Results so far: derf +0.31% yt +0.32% std-hd +0.35% hd +0.42% It is conceivable that the results would improve somewhat with a more thorough search strategy where all intra modes are searched given the best mv, or even a joint search for the best mv and the best intra mode. Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
2012-11-16Merge "subpelrefmv for superblocks" into experimentalYaowu Xu
2012-11-15Pack invisible frames without lengthsJohn Koleszar
Modify the decoder to return the ending position of the bool decoder and use that as the starting position for the next frame. The constant-space algorithm for parsing the appended frame lengths is O(n^2), which is a potential DoS concern if n is unbounded. Revisit the appended lengths for use as partition lengths when multipartition support is added. In addition, this allows decoding of raw streams outside of a container without additional framing information, though it's insufficient to be able to remux said stream into a container. Change-Id: I71e801a9c3e37abe559a56a597635b0cbae1934b
2012-11-15webm: add support for V_VP9John Koleszar
Tags VP9 tracks with the V_VP9 video type when writing to .webm files, and supports decoding both from vpxdec without specifying --codec. Change-Id: I0ef61dee06f4db2a74032b142a4b4976c51faf6e
2012-11-15subpelrefmv for superblocksYaowu Xu
duplicate code clean-up and variable name corrections Change-Id: Ibc4703228e652ec425125de5e7bc038fa46595c5
2012-11-15changed asm obj output filenames in MSVC buildYaowu Xu
this commit changed the asm file compiling in MSVC to use individually customized build command line with object filename specified for each input file. This allows object filenames prefixed with path name, and avoid name collision in link time Change-Id: I996098643dcadc393af57035a04bef3877f45424
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-11-15make: flatten object file directoriesJohn Koleszar
Rather than building an object file directory heirarchy matching the source tree's layout, rename the object files so that the object file name contains the path in the source file tree. The intent here is to allow two files in different parts of the source tree to have the same name and still not collide when put into an ar archive. Change-Id: Id627737dc95ffc65b738501215f34a995148c5a2
2012-11-15detokenize: use SEG_LVL_EOB feature consistentlyJohn Koleszar
Update decode_coefs() to break when c >= eob, since it's possible that c starts the loop from 1 and eob is 0. The loop won't terminate in that case. Add new get_eob() function to consistently clamp the eob based on the segment level EOB and the block size. It's possible to code a segment level EOB that's greater than the block size, and that leads to an out of bounds access. Change-Id: I859563b30414615cf1b30dcc2aef8a1de358c42d
2012-11-15Merge changes I63348ae3,I658ea409 into experimentalpascal massimino
* changes: Segment mode coding bug. Silenced a few warnings.