summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
2011-05-28Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ie2a4927754a9c220b30a84fc7e1372e565fe9eec
2011-05-27Merge "bug fix check frame buffer index before copy"John Koleszar
2011-05-27bug fix check frame buffer index before copyJames Berry
in onyx_if.c update_reference_frames() make sure that frame buffer indexes are not equal before preforming a buffer copy. If two frames share the same buffer the flags will already be set correctly. Change-Id: Ida9b5516d08e3435c90f131d2dc19d842cfb536e
2011-05-27Use hex search for realtime mode speed>4Yunqing Wang
Test showed using hex search in realtime mode largely speed up encoding process, and still achieves similar quality like the diamond search we have. Therefore, removed the diamond search option. Change-Id: I975767d0ec0539f9f6ed7fdfc09506e39761b66c
2011-05-27Merge "Remove unused code"Yunqing Wang
2011-05-27Remove unused codeYunqing Wang
Hex search is not called in rdopt.c Change-Id: I67347f03e13684147a7c77fb9e9147e440bb5e8e
2011-05-27Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I6d6692418eecf54e23e00a08394b0b37d6e7682b
2011-05-26Merge "Do not copy data between encoder reference buffers."John Koleszar
2011-05-26Merge "fix the mix use of errorperbit and sadperbit"Yaowu Xu
2011-05-26Merge "Use int_mv instead of MV in vp8_mv_cont"Scott LaVarnway
2011-05-26Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ica721b36ffaa6c4c02e1cf82850496c7063ce577
2011-05-25fix the mix use of errorperbit and sadperbitYaowu Xu
error_per_bit and sad_per_bit were designed as estimates of a bit worth of sum squared error and sum absolute difference respectively. Under this assumption, error_per_bit should be used in combination with 2nd order errors (variance or sum squared error) while sad_per_bit should be used in combination with 1st order SADs in motion estimation. There were a few places where sad_per_bit has been misused with variances, this commit changes to use error_per_bit for those places, also changes parameter names to properly indicate which constant is being used. On cif set, the change has a universal gain by all metrics: 0.13% by average/overall psnr and 0.1% by ssim. Change-Id: I4850fdcc3fd6886b30f784bd843f13dd401215fb
2011-05-25Merge " Use var8x8 instead of get8x8var in VP8_UVSSE"Yunqing Wang
2011-05-25Merge "Return sse value in vp8_variance SSE2 functions"Yunqing Wang
2011-05-25remove code not in useYaowu Xu
Change-Id: I6e5e86235d341cce3b02abda26dbeb71940ed955
2011-05-25Return sse value in vp8_variance SSE2 functionsYunqing Wang
Minor modification. Change-Id: I09511d38fd1451d5c4106a48acdb3f766ce59cb7
2011-05-25 Use var8x8 instead of get8x8var in VP8_UVSSEAttila Nagy
'sum' returned by get8x8var is not used and var8x8 has optimizations for more platforms. Change-Id: I4a907fb1a05f285669fb0b95dc71d42182c980f6
2011-05-25Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I9e5c28f898d92091e39f62193f6329b593968819
2011-05-24Fix a bug happening while encoding at profile=3Yunqing Wang
While profile=3, there is no sub-pixel search. Distortion and SSE have to calculated using get_inter_mbpred_error(). Change-Id: Ifb36e17eef7750af93efa7d0e2870142ef540184
2011-05-24Use int_mv instead of MV in vp8_mv_contScott LaVarnway
Less operations. Change-Id: Ibb9cd5ae66b8c7c681c9a654d551c8729c31c3ae
2011-05-24Removed unused variable warningsScott LaVarnway
Change-Id: I6e5e921f03dc15a72da89a457848d519647677a3
2011-05-24Merge "MODE_INFO size reduction"Scott LaVarnway
2011-05-24MODE_INFO size reductionScott LaVarnway
Declared the bmi in MODE_INFO as a union instead of B_MODE_INFO. This reduced the memory footprint by 518,400 bytes for 1080 resolutions. The decoder performance improved by ~4% for the clip used and the encoder showed very small improvements. (0.5%) This reduction was first mentioned to me by John K. and in a later discussion by Yaowu. This is WIP. Change-Id: I8e175fdbc46d28c35277302a04bee4540efc8d29
2011-05-24Merge "Rewrite hex search function"Yunqing Wang
2011-05-24Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I56a5665a5d4e2ed590d75a5ad49e8feb54393f6e
2011-05-23Merge "use get8x8var directly for non-subpixel motion case in VP8_UVSSE"Yaowu Xu
2011-05-23Rewrite hex search functionYunqing Wang
Reduced some bound checks in hex search function. Change-Id: Ie5f73a6c227590341c960a74dc508cff80f8aa06
2011-05-23use get8x8var directly for non-subpixel motion case in VP8_UVSSEYaowu Xu
VP8_UVSSE mistakenly used subpixvar8x8 to calculate SSE for non-subpixl motion cases. Change-Id: I4a5398bb9ef39c211039f6af4540546d4972e6a9
2011-05-21Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I90a1d0095712e0474b0c03773b57376911027fc6
2011-05-20Merge "bug fix active_worst_quality set below active_best_quality"John Koleszar
2011-05-20Merge "cleanup: collect twopass variables"John Koleszar
2011-05-20Merge "revise two function definitions with less parameters"Yaowu Xu
2011-05-20Merge "Remove unused members of VP8_COMP"John Koleszar
2011-05-20Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: configure Change-Id: I91b9059e5b724a96368c7765c147fdf5a5ce03f2
2011-05-19revise two function definitions with less parametersYaowu Xu
Change-Id: Ia96e5bf915e4d3c0ac9c1795114bd9e5dd07327a
2011-05-19Merge "disable trellis optimization for first pass"Yaowu Xu
2011-05-19disable trellis optimization for first passYaowu Xu
also remove 2 #defines and 1 function declaration that are not in use. Change-Id: I8f743d0e3dd9ebf1de24a8b0c30ff09f29b00c53
2011-05-19bug fix active_worst_quality set below active_best_qualityJames Berry
fixed a bug where active_worst_quality could be set below active_best_quality which could result in an infinite loop. Change-Id: I93c229c3bc5bff2a82b4c33f41f8acf4dd194039
2011-05-19cleanup: collect twopass variablesJohn Koleszar
This patch collects the twopass specific memebers of VP8_COMP into a dedicated struct. This is a first step towards isolating the two pass rate control and aids readability by decorating these variables with the 'twopass.' namespace. This makes it clear to the reader in what contexts the variable will be valid, and is a hint that a section of code might be a good candidate to move to firstpass.c in later refactoring. There likely will be other rate control modes that need their own specific data as well. This notation is probably overly verbose in firstpass.c, so an alternative would be to access this struct through a pointer like 'rc->' instead of 'cpi->firstpass.' in that file. Feel free to make a review comment to that effect if you prefer. Change-Id: I0ab8254647cb4b493a77c16b5d236d0d4a94ca4d
2011-05-19Merge "Using partition_info instead of blockd info for splitmv"Scott LaVarnway
2011-05-19Remove unused members of VP8_COMPJohn Koleszar
Various members that were either completely unreferenced or written and not read. Change-Id: Ie41ebac0ff0364a76f287586e4fe09a68907806e
2011-05-19Using partition_info instead of blockd info for splitmvScott LaVarnway
The partition_info struct contains info just for SPLITMV, so it should be used instead of BLOCKD. Eventually, I want to reduce the size of B_MODE_INFO struct found in BLOCKD, so this is the first step toward that goal. Also, since SPLITMV is not supported in vp8_pick_inter_mode(), the unnecessary mem copies and checks were removed. For rt encodes, this gave a slight performance improvement. Change-Id: I5585c98fa9d5acbde1c7e0f452a01d9ecc080574
2011-05-19Merge "changed configure option name to reduce confusion"John Koleszar
2011-05-19Make activity masking functions staticJohn Koleszar
These don't need extern linkage. Change-Id: I21220ada926380a75ff654f24df84376ccc49323
2011-05-19Move quantizer init functions to quantize.cJohn Koleszar
Group related functions together. Change-Id: I92fd779225b75a7204650f1decb713142c655d71
2011-05-19Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I2f9fd68d7fd52e0aebc57e561c77ebe99e9c33e4
2011-05-18Merge "Modify MVcount in pick_inter_mode to eliminate calling of ↵Yunqing Wang
vp8_find_near_mvs"
2011-05-18Fix a bug in vp8_clamp_mv functionYunqing Wang
Scott fixed the bug in MV clamping function in encoder, which could cause artifacts. Change-Id: Id05f2794c43c31cdd45e66179c8811f3ee452cb9
2011-05-17Modify MVcount in pick_inter_mode to eliminate calling of vp8_find_near_mvsYunqing Wang
Moved MVcount modification in pick_inter_mode, and eliminated calling of vp8_find_near_mvs. Change-Id: Icd47448a1dfc8fdf526f86757d0e5a7f218cb5e8
2011-05-16Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/encoder/rdopt.c Change-Id: I85275aab07625bd30bbef16a752b08b18f4451ab