summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2014-04-09Merge "Converting set_prev_mi() to get_prev_mi()."Dmitry Kovalev
2014-04-09Merge "Use source frame difference to make partition decision"Yunqing Wang
2014-04-09Merge "Applying q_trans[] inside set_encoder_config()."Dmitry Kovalev
2014-04-09Merge "Select prediction filter type in non-RD mode decision"Jingning Han
2014-04-08Merge "High-level hooks for Profile 2 (10/12 bit)"Deb Mukherjee
2014-04-08Applying q_trans[] inside set_encoder_config().Dmitry Kovalev
Change-Id: Ib64edeb58b3e25488fb85bbe85c9decb15b4d0a1
2014-04-08Merge "Cleaning up encode_frame_internal()."Dmitry Kovalev
2014-04-08Merge "Cleaning up vp9_firstpass.c"Dmitry Kovalev
2014-04-08Use source frame difference to make partition decisionYunqing Wang
Calculate the difference variance between last source frame and current source frame. The variance is calculated at 16x16 block level. The variances are compared to several thresholds to decide final partition sizes. An adaptive strategy is implemented to decide using SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions in the video. The switching test is done once every search_type_check_frequency frames. The selection of source_var_thresh needs to be investigated further later. RTC set Borg test showed 0.424% overall psnr gain, and 0.357% ssim gain. For clips with large enough static area, the encoding speedup is around 2% to 15%. Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
2014-04-08Select prediction filter type in non-RD mode decisionJingning Han
This commit allows the non-RD mode decision flow to select prediction filter type in NEWMV mode. It provides 8.14% compression performance gains in both settings of AQ=0 and 3. The current speed impact is about 5% to 10% slower. Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42
2014-04-08High-level hooks for Profile 2 (10/12 bit)Deb Mukherjee
Adds some high-level hooks for profile 2 before further progress on the implementation. According to the definitiion in this patch: 1. Profile 2 only supports 10 or 12 bit color but not 8 2. Profile 2 supports all color sampling modes: 444, 422 and 420, and alpha plane. 3. Profile 3 is currently undefined. Please consider the definition carefully and suggest modifications to the definition as needed. Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995
2014-04-08Adding vp9_ssim.h file.Dmitry Kovalev
Change-Id: Ib3b3864a6018c62ac1ea18e30795af74464596cd
2014-04-08Cleaning up vp9_firstpass.cDmitry Kovalev
Change-Id: Ie5723690f7c0bfa29a7ccef5da0c6c6326600ee6
2014-04-08Merge "Cleaning up vp9_ratectrl.c file."Dmitry Kovalev
2014-04-08Merge "Cleaning up vp9_diamond_search_sad_c() function."Dmitry Kovalev
2014-04-08Merge "Moving init_rate_control() to vp9_ratectrl.{c, h}."Dmitry Kovalev
2014-04-08Cleaning up vp9_ratectrl.c file.Dmitry Kovalev
Change-Id: If8044d9c71afe02ed1e6c94487344e143bdfcd74
2014-04-08Merge "vp9_ratectrl: change ARF overlays rate correction factor"Yaowu Xu
2014-04-08Merge "Replace imprecise 32 bits calculations by 64 bits calculations"Yaowu Xu
2014-04-08Merge "vp9_firstpass: Get rid of magic number in bits per MB calculation"Yaowu Xu
2014-04-07Merge "Moving compute_qdelta functions into vp9_ratectrl.{h, c}."Dmitry Kovalev
2014-04-07Moving compute_qdelta functions into vp9_ratectrl.{h, c}.Dmitry Kovalev
Change-Id: I512f2a287dd8765879a2d1144e2f028dc65f71ff
2014-04-07Cleaning up vp9_diamond_search_sad_c() function.Dmitry Kovalev
Change-Id: I0816ec12ec0a6f21d0f25f10c214b5fd327afc6c
2014-04-07Converting set_prev_mi() to get_prev_mi().Dmitry Kovalev
Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
2014-04-07Cleaning up encode_frame_internal().Dmitry Kovalev
Change-Id: I9c5f7edc2d5d1ec5aee396b87bdfc99ee21c435a
2014-04-07Add constrained-copy partition to speed features.Marco Paniconi
Copy up to a certain bsize, otherwise set to a fixed bsize. This helsp to reduce artifact near moving boundary caused by full partition copy without checking motion of super-block. This artifact can occur at speeds 3,4 in real-time mode. Issue: https://code.google.com/p/webm/issues/detail?id=738. Change-Id: I05812521fd38816a467f72eb6a951cae4c227931
2014-04-07Merge "Rewriting calc_plane_error() function."Dmitry Kovalev
2014-04-07Merge "General vp9_encodeframe.c cleanup."Dmitry Kovalev
2014-04-07Moving init_rate_control() to vp9_ratectrl.{c, h}.Dmitry Kovalev
Change-Id: Iab3effc39064f265426c82b455ef38d37dcce5a8
2014-04-07Merge "Cleaning up vp9_speed_features.c."Dmitry Kovalev
2014-04-07Merge "Removing unused seg0_* vars."Dmitry Kovalev
2014-04-07Merge "Moving {restore, save}_coding_context to vp9_onyx_if.c"Dmitry Kovalev
2014-04-07Cleaning up vp9_speed_features.c.Dmitry Kovalev
Change-Id: I7b2b690d2d51d55daa642be4131e5febd78cbe0a
2014-04-07Adding temp svc variable.Dmitry Kovalev
Change-Id: Ic68caec1bcb8a88f443c3e40ce9770eade5bd320
2014-04-07Moving {restore, save}_coding_context to vp9_onyx_if.cDmitry Kovalev
These functions do nothing about rate control. Change-Id: I714e80b1c1f4f9aa157a56df705247fce6db138d
2014-04-07vp9_ratectrl: change ARF overlays rate correction factorGuillaume Martres
ARF overlays now use the same rate correction factor as regular inter frames, further testing would be needed to see if it makes sense to use a completely separate rate correction factor for ARF overlays. $ vpxenc --cpu-used=5 --fps=50/1 --target-bitrate=2000 parkjoy.y4m -o out.webm => Before: 3356 kb/s => After: 2271 kb/s Change-Id: I73e4defa615ba7a8a2bdb845864f4b1721cbbffe
2014-04-07Replace imprecise 32 bits calculations by 64 bits calculationsGuillaume Martres
Change-Id: If1b0a2d6603ce24f5dd99855e8dfe459e7a2835a
2014-04-07vp9_firstpass: Get rid of magic number in bits per MB calculationGuillaume Martres
Change-Id: Ib3886cb7cafc211581f4f9e7f76782d9d1984434
2014-04-07Merge "Cleaning up vp9_refining_search_sadx4() function."Dmitry Kovalev
2014-04-07Merge "Moving all RATE_CONTROL initialization to init_rate_control()."Dmitry Kovalev
2014-04-06Merge "Set up early RD cost check for NEWMV in non-RD mode decision flow"Jingning Han
2014-04-04Set up early RD cost check for NEWMV in non-RD mode decision flowJingning Han
This commit estimates the motion vector rate cost right after full pixel motion search. It combines this and the mode cost and compares the corresponding rate-distortion cost. If it is already above the current best one, skip the rest sub-pixel motion search and modeling process. For pedestrian_area 1080p at 4000 kpbs, the speed -5 runtime goes down from 39425 ms -> 38399 ms. Change-Id: If4cd7119fd6c266798d5cf1d19d19ab425e52a26
2014-04-04Moving all RATE_CONTROL initialization to init_rate_control().Dmitry Kovalev
Change-Id: I4685706b816dd1c45500e1387c9f63edb2fa1962
2014-04-04General vp9_encodeframe.c cleanup.Dmitry Kovalev
Change-Id: Ie364fe837002de96923da2c1c0ff8bb4b8d469a7
2014-04-04Adding FAST_COEFF_UPDATE enum.Dmitry Kovalev
Change-Id: I75ad328c6d719df81cc24f3ae21c152af4ebdacc
2014-04-04Merge "Reinstating the DISABLE_RC_LONG_TERM_MEM macro"Paul Wilkins
2014-04-03Merge "Removing interp_kernel from MACROBLOCKD."Dmitry Kovalev
2014-04-03Merge "Add codec control function for enabling frame_periodic_boost."Marco Paniconi
2014-04-03Merge "Fix complexity Aq mode."Yaowu Xu
2014-04-03Merge "Replacing magic constants with expressions."Dmitry Kovalev