summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_entropymv.c
AgeCommit message (Collapse)Author
2018-01-18clang-format v5.0.0 vp9/Johann
Remove trailing commas to keep multiple elements on one line. Add blank lines to prevent comments from being treated as blocks. clang-format guards for struct with a comment in the middle. Change-Id: I3bcb8313ae8aaf69179249a13b4087b1272cdbc0
2016-08-02vp9/common: apply clang-formatclang-format
Change-Id: Ie0f150fdcfcbf7c4db52d3a08bc8238ed1c72e3b
2016-01-13VP9: inline vp9_use_mv_hp()Scott LaVarnway
Change-Id: Ib275bfc4c29c572d6c70e5ec6dbfc241590d3e3e
2015-07-20vpx_dsp/prob.h: vp9_ -> vpx_Yaowu Xu
change prefix vp9_ to vpx_ for non codec specific functions and data structures. Change-Id: I97c7e6422eceea99212b93f4942bc2187763a07c
2015-07-06vp9_entropymv: remove vp9_get_mv_mag()James Zern
inline the code directly in read_mv_component(), the only place where it was being used; this removes a function call in a hot function Change-Id: I66f99c0c9ce3bc310101dbca4a470f023cc6fb55
2015-01-23Replace divide with look-upYaowu Xu
This commit replaces an integer divide with a table-lookup. It is to improve decoding speed, and at the same time, to reduce possible complications with a bug in AMD Family 12h processors: "665 Integer Divide Instruction May Cause Unpredictable Behavior" Change-Id: I678b707a538798a923850bac467e66e847e6def7
2014-10-22vp9_ethread: allocate frame contexts outside VP9_COMMON structYunqing Wang
This patch allocated frame contexts outside VP9_COMMON. This allows multiple threads to share the same copy of frame contexts, and reduces the overhead. It also guarantees the correct update of these contexts during bitstream packing. This patch doesn't change encoding result. Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
2014-03-24Cleaning up vp9_entropymv.c.Dmitry Kovalev
Change-Id: I01b3530779da89acb84c71bac5ccac456f00c5ac
2014-03-18Fixing warnings/errors from c++ compiler.Dmitry Kovalev
Change-Id: Ia561dda53f2dd10e3a10a2df2adb8027ab19397a
2014-02-10Convert header static functions to inline or make them global.Jim Bankoski
Change-Id: Ib26fbfef3505299f754e5af6c437a85d7746fc28
2013-11-25Moving mv entropy encodings calculation to the encoder side.Dmitry Kovalev
Moved arrays: vp9_mv_joint_encodings vp9_mv_class_encodings vp9_mv_class0_encodings vp9_mv_fp_encodings Change-Id: Iaf5008c579fcbd6d77fdd81d1aef8c71b5f308b7
2013-11-05Localizing NEARESTMV special cases in the code.Dmitry Kovalev
Removing special case handling from vp9_tree_probs_from_distribution(), tree_merge_probs(), and vp9_tokens_from_tree_offset() functions. Replacing inter_mode_offset() function with macro INTER_OFFSET which is used now for vp9_inter_mode_tree definition. Change-Id: Iff75a1499d460beb949ece543389c8754deaf178
2013-11-04Unified approach for backward probability update.Dmitry Kovalev
Replacing update_mode_probs() and adapt_probs() with tree_merge_probs(). Change-Id: I50b2c968d67c9265f5216c700cbeba25fb014654
2013-11-01Removing 'new' probability calculation from convert_distribution().Dmitry Kovalev
We don't have to calculate 'new' probability in convert_distribution() because it is enough to calculate only 'new' counters which could be used to calculate probability if necessary. That's why removing a lot of unused temporary probability arrays and reducing number of get_binary_prob() calls. Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
2013-10-18vp9 dec/com: only update frame counts when necessaryJames Zern
don't update them when frame_parallel_mode is true Change-Id: I22ff131a6c6eea238415d10b729f195c7d6dc60d
2013-10-11Adding TREE_SIZE macro + cleanup.Dmitry Kovalev
Using TREE_SIZE for the following trees: vp9_intra_mode_tree vp9_inter_mode_tree vp9_partition_tree vp9_switchable_interp_tree vp9_mv_joint_tree vp9_mv_class_tree vp9_mv_class0_tree vp9_mv_fp_tree Change-Id: I0212bb4c1ee6648249f68517e28a67a56591ee1b
2013-10-09Adding const to several pointers.Dmitry Kovalev
Change-Id: I7231589bda71d0d23c730283febd5bb58585a0da
2013-09-29vp9_entropymv.c cpplint issues resolvedJim Bankoski
Change-Id: Ic5807152cc78127b3f84b5abb4c5f3ef6d06ce65
2013-09-04faster accounting of inc_mvJim Bankoski
Moves counting of mv branches to where we have a new mv, instead of after the whole frame is summed. Change-Id: I945d9f6d9199ba2443fe816c92d5849340d17bbd
2013-09-04speed up inc_mv_componentJim Bankoski
Convert mv_class if statements to look up. re order to avoid ifs... Change-Id: I76966a21bf517bb1f9a7957c08c476c7bb3e9a63
2013-08-02Cleanups around allow_high_precision_mv flag.Dmitry Kovalev
Change-Id: Ic07f5f8ffeaedd5b7513b464871f83afc82dcd5c
2013-07-25General cleanups.Dmitry Kovalev
Removing unused constants, macros, and function declarations. Using ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving #include from *.h to *.c. Merging for loops for motion vectors. Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
2013-07-25Merge "Removing duplicated code for merging two probabilities."Dmitry Kovalev
2013-07-24Removing duplicated code for merging two probabilities.Dmitry Kovalev
Adding common merge_probs and merge_probs2 functions. Changing ints to usigned ints in some places. Change-Id: Icf088ffdea7cf5b95284a128916409bdd53506b0
2013-07-24Inlining inc_mv_component_count function.Dmitry Kovalev
Change-Id: Ic99d07a56b1752ec49fc5074b1dd6804b17609a0
2013-07-23Moving counts from FRAME_CONTEXT to new struct FRAME_COUNTS.Dmitry Kovalev
Counts are separate from frame context. We have several frame contexts but need only one copy of all counts. Change-Id: I5279b0321cb450bbea7049adaa9275306a7cef7d
2013-07-19Removing pre probabilities from FRAME_CONTEXT.Dmitry Kovalev
Using cm->frame_contexts[cm->frame_context_idx] as source of previous probabilities. Change-Id: Ie03778acf0e7bebdc3a1f6a51854d4a0712f24a1
2013-07-17Merge changes Ieffea49e,Idf610746Dmitry Kovalev
* changes: Removing two unused arguments from vp9_inc_mv signature. Changing signature of vp9_get_pred_probs_tx_size.
2013-07-17Removing experimental code from vp9_entropymv.c.Dmitry Kovalev
Change-Id: I340d06e3bc32c78358654496503cccd4196cbe2e
2013-07-16Removing two unused arguments from vp9_inc_mv signature.Dmitry Kovalev
Change-Id: Ieffea49eb7a5e5092f21f8694c546aff69b07c6d
2013-07-10Making vp9_default_nmv_context static.Dmitry Kovalev
Change-Id: Ia3d5bd45adf288de11ab59c4728266c93c17e275
2013-07-10remove warnings when NDEBUG is setJim Bankoski
Change-Id: Ie0cb732fdcb98616a422c4463bff80642248d136
2013-07-08Inline vp9_get_mv_joint().Ronald S. Bultje
Encode time for first 50 frames of bus (speed 0) @ 1500kbps goes from 2min10.9 to 2min10.5, i.e. 0.3% faster overall, basically because we prevent the call overhead. Change-Id: I1eab1a95dd3eae282f9b866f1f0b3dcadff073d5
2013-06-25Merge "Move vp9_counts_to_nmv_context to encoder"John Koleszar
2013-06-25Renaming "nmv" to "mv".Dmitry Kovalev
Change-Id: I8299f55c3b930221e52c2237f2ddea65b94fd33b
2013-06-24Move vp9_counts_to_nmv_context to encoderJohn Koleszar
This function only used from within vp9_encodemv.c. Change-Id: Ib3fc7c30b1e2d27321397ac474cbc8976bc1f4b1
2013-06-18Renaming 'nmv' to 'mv' for several functions.Dmitry Kovalev
Change-Id: I183a38997a9d01e4a1b869e92509f6915216fa09
2013-06-10New probs for filters/tx_size and a few othersDeb Mukherjee
* New probs for subpel filters/tx_count * Makes a change to not reset to defaults for the tx_size probs if an intermediate frame reverts to using a fixed tx_size. * A few updates to the parameters for backward adaptation for mode/mv * some cosmetic cleanups derf300: +0.06% Change-Id: I22994d659bc31ca7a4fc8820fde24001e64a2920
2013-04-19Removal of CONFIG_NEW_MVREF experiment.Paul Wilkins
This experiment has failed to give much benefit but does add complexity so deprecated. Change-Id: Ic7b929ba706390b9907ef0b4f965bd401ca799a4
2013-04-17Changing argument type of vp9_get_mv_joint from MV to MV*.Dmitry Kovalev
Change-Id: I28c3026946fc1bde7074e6e0198da93bb0d75dfe
2013-04-15Adding mv_joint_vertical and mv_joint_horizontal functions.Dmitry Kovalev
Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d
2013-04-11Renaming vp9_token_struct to vp9_token and removing previous typedef.Dmitry Kovalev
Change-Id: If69c3d795f87af5cc7bfdfe70ef733c41b4d55c8
2013-04-01Code cleanup.Dmitry Kovalev
Adding multiple16 function, removing redundant code, better formatting. Change-Id: I50195b78ac8ab803e3d05c8fb05a7ca134fab386
2013-03-27General code cleanup.Dmitry Kovalev
Removing redundant code, lower case variable names, better indentation, better parameter names, adding const to readonly parameters. Change-Id: Ibfdee00f60316fdc5b3f024028c7aaa76a627483
2013-03-13Support +/-2048 motion vector codingJingning Han
Enable entropy coding of motion vectors up to +/-2048. Also extend the motion search range accordingly. Change-Id: Iac2bb015e8934521cef83a19edbe967d9f097436
2013-03-11Merge "Simplify vp9_adapt_nmv_probs" into experimentalJohn Koleszar
2013-03-11Simplify vp9_adapt_nmv_probsJohn Koleszar
Remove the temporary branch count arrays and build the adapted probabilities while walking the tree. Gives an additional 1.5% or so on CIF. Change-Id: I875d61e5e0ec778e5d2f7f9d0837b989a91cf3a3
2013-03-11Merge "Minor optimization in mv entropy adaptation" into experimentalDeb Mukherjee
2013-03-11Merge "Optimize vp9_tree_probs_from_distribution" into experimentalJohn Koleszar
2013-03-11Minor optimization in mv entropy adaptationDeb Mukherjee
Adds a check to exit from the increment_nmv_count function when the increment is 0. Change-Id: I99c1e342d351f7800e23590f9c2419881bf1d708