summaryrefslogtreecommitdiff
path: root/vp10
AgeCommit message (Collapse)Author
2015-09-23Adjust rd calculation in choose_tx_size_from_rdhui su
Coding gain: derflr 0.142% hevclr 0.153% hevcmr 0.124% Change-Id: I63b56ae3a9002c3a266e10e2964135ed43b0ba53
2015-09-21Merge "remove static from fdct4/8/16/32"Angie Chiang
2015-09-21remove static from fdct4/8/16/32Angie Chiang
remove static from fdct4/8/16/32 in vp10/encoder/dct.c add prefix vp10_ to fdct4/8/16/32 add vp10/encoder/dct.h Change-Id: I644827a191c1a7761850ec0b1da705638b618c66
2015-09-18Create sub8x8 block inter prediction functionJingning Han
Change-Id: Ib161e6fb3eb081f7176a1d969fed16a7d1ffc320
2015-09-18Merge "Refactor mbmi_ext structure"Jingning Han
2015-09-17Refactor mbmi_ext structureJingning Han
This commit removes mbmi_ext_base pointer from MACROBLOCK struct. Its use case can be fully covered by cpi->mbmi_ext_base pointer. Change-Id: I155351609336cf5b6145ed13c21b105052727f30
2015-09-16vp10: do sub8x8 block reconstruction in full subblocks.Ronald S. Bultje
This means that we don't reconstruct in 4x4 dimensions, but in blocksize dimensions, e.g. 4x8 or 8x4. This may in some cases lead to performance improvements. Also, if we decide to re-introduce scalable coding support, this would fix the fact that you need to re-scale the MV halfway the block in sub8x8 non-4x4 blocks. See issue 1013. Change-Id: If39c890cad20dff96635720d8c75b910cafac495
2015-09-16vp10: fix 4:2:2 chroma MVs for 8x4/4x4 blocks.Ronald S. Bultje
In vp9, the bottom MV would be the average of the topright and bottomleft luma MV (instead of the bottomleft/bottomright luma MV). See issue 993. Change-Id: Ic91c0b195950e7b32fc26c84c04788a09321e391
2015-09-16vp10: remove double MV value check.Ronald S. Bultje
This has virtually no effect on coding efficiency, but it is more logical from a theoretical perspective (since it makes no sense to me that you would exclude a MV from a list just because it's sign- inversed value is identical to a value already in a list), and it also makes the code simpler (it removes a duplicate value check in cases where signbias is equal between the two MVs being compared). See issue 662. Change-Id: I23e607c6de150b9f11d1372fb2868b813c322d37
2015-09-16vp10: move coding of tx_mode element to the non-arithcoded header.Ronald S. Bultje
See issue 1040 point 3. Change-Id: If051b92c24a34d6a39861fb7d7180c5ca32f3d82
2015-09-16vp10: code sign bit before absolute value in non-arithcoded header.Ronald S. Bultje
For reading, this makes the operation branchless, although it still requires two shifts. For writing, this makes the operation as fast as writing an unsigned value, branchlessly. This is also how other codecs typically code signed, non-arithcoded bitstream elements. See issue 1039. Change-Id: I6a8182cc88a16842fb431688c38f6b52d7f24ead
2015-09-16vp10: don't reset contextual skip flag if block has no coefficients.Ronald S. Bultje
The implicitly changed value would be used for contextualizing future skip flags of neighbour blocks (bottom/right), which is certainly not what was intended. The original code stems from vp8, and was useful in cases where coding of the skip flag was disabled. In vp9, the skip flag is always coded. The result of this change is that for bitstream parsing purposes, decoding of the skip flag becomes independent of decoding of block coefficients. See issue 1014. Change-Id: I8629e6abe76f7c1d649f28cd6fe22a675ce4a15d
2015-09-16Add support for color-range.Ronald S. Bultje
In decoder, export (eventually) into vpx_image_t.range field. In encoder, use oxcf->color_range to set it (same way as for color_space). See issue 1059. Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
2015-09-16Merge "vp10: fix entropy counts for the hp bit."Ronald S. Bultje
2015-09-16Merge "fix implicit declaration"Angie Chiang
2015-09-15Merge changes from topic 'fix-vp9-bitstream-test'James Zern
* changes: vp9_encoder_parms_get_to_decoder: cosmetics vp9...parms_get_to_decoder: remove unneeded func vp9...parms_get_to_decoder: fix EXPECT param order vp9_encoder_parms_get_to_decoder: delete dead code fix BitstreamParms test vp9_encoder_parms_get_to_decoder: remove vp10 yuvconfig2image(): add explicit cast to avoid conv warning vp9/10 decoder_init: add missing alloc cast vp9/10: set color_space on preview frame vp10: add extern "C" to headers vp9: add extern "C" to headers
2015-09-14Remove leftover of "frame_parallel_decoding"Yaowu Xu
The variable has been removed by a previous commit, but missed this instance. Change-Id: Ia34474b0be4945cc6cb9191f0d7cd24a99a4c22e
2015-09-14vp10: fix entropy counts for the hp bit.Ronald S. Bultje
The counts didn't take usehp into account, which means that if the scope of the refmv is too large for the hp bit to be coded, the value (always 1) is still included in the stats. Therefore, the final counts will not reflect the entropy of the coded bits, but rather the entropy of the combination of coded bits and the implied value (which is always 1). Fix that by only including counts if the hp bit is actually coded. See issue 1060. Change-Id: I19a3adda4a8662a05f08a9e58d7e56ff979be11e
2015-09-14Merge "vp10: merge frame_parallel_decoding_mode and refresh_frame_context."Ronald S. Bultje
2015-09-12add range_check for fdct in vp10Angie Chiang
Unify the style of fdct4() fdct8() fdct16() Add fdct32() Add range_check() at each stage Add unit test at ../../test/vp10_dct_test.cc Change-Id: I13f76d9046c3ea473c82024b09a5bc8662e2c28e
2015-09-11vp10: merge frame_parallel_decoding_mode and refresh_frame_context.Ronald S. Bultje
See issue 1030. The value of frame_parallel_decoding_mode was ignored in vp9 if refresh_frame_context was 0, so instead make it a 3-member enum where the dependency is obviously stated. Change-Id: I37f0177e5759f54e2e6cc6217023d5681de92438
2015-09-11vp10: remove duplicate frame_parallel_decode field.Ronald S. Bultje
Keep the one in VP10_COMMON in favour of the one in VP10_DECODER. Change-Id: Ia81983ccc95d83829dc815e28d9b1143e16e27b1
2015-09-11fix implicit declarationAngie Chiang
include vpx_dsp_rtcd.h to avoid implicit declaration of vp10_highbd_fdct32x32_rd_c Change-Id: I0b9ad50381a302750138deab14d2d5ac31f286ee
2015-09-11Make reset_frame_context an enum.Ronald S. Bultje
In vp9, [0] and [1] had identical meaning, so merge them into a single value. Make it impossible to code RESET_FRAME_CONTEXT_NONE for intra_only frames, since that is a non-sensical combination. See issue 1030. Change-Id: If450c74162d35ca63a9d279beaa53ff9cdd6612b
2015-09-11Merge "Fix vp10 high bit-depth build"James Zern
2015-09-11Fix vp10 high bit-depth buildJingning Han
Change-Id: Ie3daed0b282b43ef81d2f8797ac1f6e8bde7d65e
2015-09-11Merge "Don't reset sign_bias fields in vp10_setup_past_independence()."Ronald S. Bultje
2015-09-11Merge "Isolate vp10's fwd_txfm from vp9"Angie Chiang
2015-09-10Merge "Take out reference_masking speed feature"Jingning Han
2015-09-10Merge "Take out skip_encode speed feature in vp10"Jingning Han
2015-09-10Merge "Remove speed features in vp10"Jingning Han
2015-09-10Merge "Isolate vp10's inv_txfm from vp9"Angie Chiang
2015-09-10Isolate vp10's fwd_txfm from vp9Angie Chiang
1) copy fw_txfm related files from vpx_dsp tp vp10 vpx_dsp/fwd_txfm.h → vp10/common/vp10_fwd_txfm.h vpx_dsp/fwd_txfm.c → vp10/common/vp10_fwd_txfm.c vpx_dsp/x86/fwd_dct32x32_impl_sse2.h → vp10/common/x86/vp10_fwd_dct32x32_impl_sse2.h vpx_dsp/x86/fwd_txfm_sse2.c → vp10/common/x86/vp10_fwd_txfm_sse2.c vpx_dsp/x86/fwd_txfm_impl_sse2.h → vp10/common/vp10_fwd_txfm_impl_sse2.h Change-Id: Ie9428b2ab1ffeb28e17981bb8a142ebe204f3bba
2015-09-10Isolate vp10's inv_txfm from vp9Angie Chiang
1) copy following files from vpx_dsp/ to vp10/common/ vp10_inv_txfm.c vp10_inv_txfm.h vp10_inv_txfm_sse2.c vp10_inv_txfm_sse2.h 2) change the function prefix "vpx_" to "vp10_" in above files 3) add unit test at vp10_inv_txfm_test.cc Change-Id: I206f10f60c8b27d872c84b7482c3bb1d1cb4b913
2015-09-10Take out reference_masking speed featureJingning Han
This condition is not effectively in use. The actual reference frame masking is done in other route. Change-Id: Ia59c843bcac7243dada92f0f67658d7ce43df5e8
2015-09-10Take out skip_encode speed feature in vp10Jingning Han
Change-Id: Ic39d4523e78863c816b0fc85f56ea5ae5e0b3310
2015-09-10Remove speed features in vp10Jingning Han
Take out speed features that affect the compression performance to simplify the coding route. This commit removes the motion field mode search used in speed 3. Change-Id: Ifdf6862cb1ece8261125a56d9d89bcef60758c00
2015-09-10yuvconfig2image(): add explicit cast to avoid conv warningJames Zern
prevents an int -> vpx_img_fmt_t conversion warning with high-bitdepth as it modifies the image format Change-Id: Ie3135d031565312613a036a1e6937abb59760a7e
2015-09-09vp9/10 decoder_init: add missing alloc castJames Zern
Change-Id: I1ba4400d67095f3a360fb7d97ee8d118d4f741fe
2015-09-09vp9/10: set color_space on preview frameJames Zern
Change-Id: If9176ce6ed3eb6c7ef8ffd1378456cb95b4aeb86
2015-09-09vp10: add extern "C" to headersJames Zern
Change-Id: Ie2e8b37fa01ce8d6b993684f431f3159d511cfb1
2015-09-08Don't reset sign_bias fields in vp10_setup_past_independence().Ronald S. Bultje
The fields are always coded in the frame itself, so there is never any dependency on past frames. In practice, this fixes sign_bias being ignored when error_resilient_mode=1. See issue 1011. Change-Id: I9d134ef6b445ced4d100fa735ce579855a0fa5af
2015-09-03Make update_map/temporal_update fields implicit for keyframes.Ronald S. Bultje
These frame types cannot make bitstream parsing depend on previous frames, so the hypothetical combinations of e.g. keyframe=1 and update_map=0 or keyframe=1 and temporal_update=1 are non-sensical. Therefore, make it impossible to code such combinations in the vp10 bitstream header. See issue 1044. Change-Id: I3f0a83d5c7e3989541a469a909471424a285239d
2015-09-03Unify coding order of MC filters between blocks and frame header.Ronald S. Bultje
In VP9, the order for frame header was: [0] smooth, [1] regular, [2] sharp, [3] bilinear. Per-block, the order was [0] regular, [1] smooth and [2] sharp. For VP10, swap smooth/regular in the frame header so that the block ordering and frame header ordering are interchangeable. See issue #1046. Change-Id: Ic9ec5964874375e40cd59bef50b489a76cbe4365
2015-09-03Merge "Revert "add range_check for fdct in vp10""James Zern
2015-09-03Revert "add range_check for fdct in vp10"James Zern
Tests fail to build. This reverts commit f78d6aa77245cea5cd7f630a20f4e6d576679e7f. Change-Id: Ia220270517ded273c65a7ab965d82edb696663c9
2015-09-02Merge "add range_check for fdct in vp10"Angie Chiang
2015-09-02add range_check for fdct in vp10Angie Chiang
Unify the style of fdct4() fdct8() fdct16() Add fdct32() Add range_check() at each stage Add unit test at ../../test/vp10_dct_test.cc Change-Id: I9e912b2c5683862e65c5a21abc3e1c260cca4576
2015-09-01Don't build calc_psnr for high bit depth.Johann
Change-Id: I63a7da7857534dcb4c69ed316c1feadea9ffb45b
2015-09-01Remove unused VP10 functions.Johann
Change-Id: I711135054f02883289cca2efb1f109637009ffbb