summaryrefslogtreecommitdiff
path: root/vp9
Commit message (Collapse)AuthorAgeFilesLines
* Move TplFrameStats to public headerJerome Jiang2023-05-012-17/+2
| | | | | | | | | | | | | Get ready for changes to follow: - Custom reader/writer IO functions - Codec control to get TPL stats from the encoder Move the definition of TplFrameStats to public header so applications can use them directly. Bug: b/273736974 Change-Id: Ieb0db4560ddd966df1bc01f6a7e179cc97f9bac1
* Clean up a stale TODO in tplJerome Jiang2023-04-271-3/+0
| | | | Change-Id: Ieccaff1cc94cbb2c5a294d83f3080f7407267016
* Merge "vp9_highbd_iht16x16_add_neon: clear -Wshadow warning" into mainJames Zern2023-04-251-3/+3
|\
| * vp9_highbd_iht16x16_add_neon: clear -Wshadow warningJames Zern2023-04-211-3/+3
| | | | | | | | | | Bug: webm:1793 Change-Id: I4e79a4d7d41b6abf88e3e60c54ab48a92b0346d2
* | Merge "Reduce joint motion search iters based on bsize" into mainYunqing Wang2023-04-243-17/+49
|\ \
| * | Reduce joint motion search iters based on bsizeNeeraj Gadgil2023-04-243-17/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Joint motion search during compound mode eval is optimized by reducing the number of mv search iterations based on bsize. The sf 'comp_inter_joint_search_thresh' is renamed as 'comp_inter_joint_search_iter_level' and used to add the logic. cpu Testset Instr. Cnt BD Rate loss (%) Red (%) avg. psnr ovr.psnr ssim 0 LOWRES2 5.373 0.0917 0.1088 0.0294 0 MIDRES2 3.395 0.0239 0.0520 0.0783 0 HDRES2 2.291 0.0223 0.0301 0.0053 0 Average 3.686 0.0460 0.0636 0.0377 STATS_CHANGED Change-Id: I7ee8873ebc8af967382324ae8f5c70c26665d5e6
* | | Reland "Calculate recrf_dist and recrf_rate"Jerome Jiang2023-04-212-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of commit 3c59378e4eac2d241fba8b26e660318b850e5773 Addressed issues from the previous CL: - Both recon_error and rate_cost are scaled up - recon_error and rate_cost are not accumulated across ref frames, instead they are calculated with the best ref frame picked. - get_quantize_error() is put where it was, so there is no behavior change for vp9. Bug: b/273736974 Original change's description: > Calculate recrf_dist and recrf_rate > > Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9 Change-Id: I20e1f5543e83b576a074bd4e6b44d99da65f4b56
* | | Revert "Calculate recrf_dist and recrf_rate"Jerome Jiang2023-04-212-42/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3c59378e4eac2d241fba8b26e660318b850e5773. Reason for revert: recon_error and recon_rate is summed by mistake across reference frames, as pointed out by Angie. It could also cause vp9 behavior changes. Original change's description: > Calculate recrf_dist and recrf_rate > > Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9 Change-Id: I6106ce77cb0fe8c12b2bcf070d01513ffa8dc613 No-Presubmit: true No-Tree-Checks: true No-Try: true
* | | Calculate recrf_dist and recrf_rateJerome Jiang2023-04-202-12/+42
| | | | | | | | | | | | Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9
* | | Merge "Store tpl stats before propagation" into mainJerome Jiang2023-04-213-1/+59
|\ \ \ | |_|/ |/| |
| * | Store tpl stats before propagationJerome Jiang2023-04-203-1/+59
| |/ | | | | | | | | | | | | Add two new structs TplBlockStats and TplFrameStats to store tpl stats before propagation Change-Id: I903db99326b199ed8f2d8b19ccb973a8c8910501
* | Merge "vp9_tpl_model: clear -Wshadow warning" into mainJames Zern2023-04-201-17/+17
|\ \
| * | vp9_tpl_model: clear -Wshadow warningJames Zern2023-04-171-17/+17
| | | | | | | | | | | | | | | | | | | | | with --enable-experimental --enable-non-greedy-mv Bug: webm:1793 Change-Id: I19e38d7196291ae1ffbb5fb3daa70a4fefd54c55
* | | Merge "vp9_ratectrl,vp9_encodedframe_overshoot: rm unused var" into mainJames Zern2023-04-201-2/+0
|\ \ \
| * | | vp9_ratectrl,vp9_encodedframe_overshoot: rm unused varJames Zern2023-04-191-2/+0
| | |/ | |/| | | | | | | | | | | | | quiets -Wunused-but-set-variable with clang-17 Change-Id: I5212a20286d0252e45a8e8813d15cb780494b0ad
* | | vp9_encodeframe: rm unused varsJames Zern2023-04-191-5/+0
|/ / | | | | | | | | | | | | | | in get_rdmult_delta() and compute_frame_aq_offset(). quiets -Wunused-but-set-variable with clang-17 Change-Id: I726852f3bc42afa80a18475de910040a9436b0bb
* | Merge "vp9_rdcost: clear -Wshadow warnings" into mainJames Zern2023-04-181-80/+77
|\ \
| * | vp9_rdcost: clear -Wshadow warningsJames Zern2023-04-141-80/+77
| |/ | | | | | | | | Bug: webm:1793 Change-Id: I6d48038d74e510ecb5773dfffbdc4c10b765c2aa
* | Merge "Downsample SAD computation in motion search" into mainYunqing Wang2023-04-189-315/+468
|\ \ | |/ |/|
| * Downsample SAD computation in motion searchDeepa K G2023-04-119-315/+468
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a speed feature to skip every other row in SAD computation during motion search. Instruction Count BD-Rate Loss(%) cpu Resolution Reduction(%) avg.psnr ovr.psnr ssim 0 LOWRES2 0.958 0.0204 0.0095 0.0275 0 MIDRES2 1.891 -0.0636 0.0032 0.0247 0 HDRES2 2.869 0.0434 0.0345 0.0686 0 Average 1.905 0.0000 0.0157 0.0403 STATS_CHANGED Change-Id: I1a8692757ed0cbcb2259729b3ecfb0436cdf49ce
* | Merge "vp9_frame_scale_ssse3: clear -Wshadow warnings" into mainJames Zern2023-04-131-12/+12
|\ \
| * | vp9_frame_scale_ssse3: clear -Wshadow warningsJames Zern2023-04-121-12/+12
| | | | | | | | | | | | | | | Bug: webm:1793 Change-Id: I85608ac7bb6d3a61649ba342c13c3bf6a39a5dea
* | | Merge "vp9_pickmode: clear -Wshadow warnings" into mainJames Zern2023-04-131-15/+19
|\ \ \
| * | | vp9_pickmode: clear -Wshadow warningsJames Zern2023-04-121-15/+19
| |/ / | | | | | | | | | | | | Bug: webm:1793 Change-Id: I26c063818144d11c4c91165c3fcbf6f258453cc7
* | | vp9_temporal_filter: clear -Wshadow warningsJames Zern2023-04-121-2/+2
| | | | | | | | | | | | | | | Bug: webm:1793 Change-Id: Ia681ce636ae99f95b875ee1b0189bc6fa66a7608
* | | vp9_svc_layercontext: clear -Wshadow warningsJames Zern2023-04-121-10/+9
|/ / | | | | | | | | Bug: webm:1793 Change-Id: I63669de9835713ec70dafa88ca8f2c2459e59698
* | vp9_speed_features: clear -Wshadow warningJames Zern2023-04-111-1/+0
| | | | | | | | | | Bug: webm:1793 Change-Id: I9f509c4461631e358f80b98afbb745ce88e9d7a2
* | vp9_ratectrl: clear -Wshadow warningsJames Zern2023-04-111-9/+12
| | | | | | | | | | Bug: webm:1793 Change-Id: I2476a9d8e1d62414fdbe6feee87d5167058f499b
* | vp9_mbgraph: clear -Wshadow warningsJames Zern2023-04-111-2/+1
| | | | | | | | | | Bug: webm:1793 Change-Id: Ibffb62775f09922d37f7d0460aa2751e74c36738
* | Merge "vp9_quantize_avx2,highbd_get_max_lane_eob: fix mask" into mainJames Zern2023-04-111-1/+2
|\ \
| * | vp9_quantize_avx2,highbd_get_max_lane_eob: fix maskJames Zern2023-04-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pack nz_mask with zero. After the result is permuted this has the effect of ignoring the upper half of the iscan register which is only loaded with 128-bits. Depending on the optimization level and the load used the upper half of the ymm register may contain undefined values which can produce an incorrect eob. If this is large enough it can cause a crash. Bug: chromium:1431729 Change-Id: I4ebae9fa39f228bdd29dcc19935f3f07759d75f5
* | | Merge "Add assert to ensure NEARESTMV or NEWMV modes are not skipped" into mainYunqing Wang2023-04-111-1/+7
|\ \ \
| * | | Add assert to ensure NEARESTMV or NEWMV modes are not skippedCherma Rajan A2023-04-111-1/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | Added an assert for prune_single_mode_based_on_mv_diff_mode_rate speed feature. This ensures NEARMV or ZEROMV modes are pruned only when NEARESTMV and NEWMV modes are not early terminated. Change-Id: Id8b03eef6d1ef3f16714a9cbfde0c171c0c6fe0b
* | | Merge "Avoid redundant start MV SAD calculation" into mainYunqing Wang2023-04-117-106/+82
|\ \ \ | |/ / |/| / | |/
| * Avoid redundant start MV SAD calculationDeepa K G2023-04-117-106/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoided repeated calculation of start MV SAD during full pixel motion search. Instruction Count cpu Resolution Reduction(%) 0 LOWRES2 0.162 0 MIDRES2 0.246 0 HDRES2 0.325 0 Average 0.245 Change-Id: I2b4786901f254ce32ee8ca8a3d56f1c9f112f1d4
* | Merge "Prune single ref modes based on mv difference and mode rate" into mainYunqing Wang2023-04-103-5/+79
|\ \
| * | Prune single ref modes based on mv difference and mode rateCherma Rajan A2023-03-303-5/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a speed feature to prune single reference modes - NEARMV and ZEROMV based on motion vector difference and mode rate w.r.t previously evaluated single reference modes corresponding to the same reference frame. Instruction Count BD-Rate Loss(%) cpu Resolution Reduction(%) avg.psnr ovr.psnr ssim 0 LOWRES2 1.686 -0.0039 -0.0105 -0.0098 0 MIDRES2 1.026 -0.0234 0.0029 0.0120 0 HDRES2 0.000 0.0000 0.0000 0.0000 0 Average 0.889 -0.0091 -0.0025 0.0007 STATS_CHANGED Change-Id: I387acd3a73d8256904a7ce684b198d251cf3dd04
* | | vp9_dx_iface: clear -Wshadow warningsJames Zern2023-04-061-4/+2
| | | | | | | | | | | | | | | Bug: webm:1793 Change-Id: Ice6cd08f145e5813e24345d03e0913e5eda5289f
* | | vp9_encoder: clear -Wshadow warningJames Zern2023-04-061-6/+6
| |/ |/| | | | | | | Bug: webm:1793 Change-Id: Id390c61f82b9f15063d0310a2c252b02b479d9c5
* | Merge changes Idaf49de6,I6d7d96ff,I0d64c923 into mainJames Zern2023-03-302-28/+28
|\ \ | | | | | | | | | | | | | | | | | | * changes: svc_datarate_test: clear -Wshadow warning vp9_mcomp.c: clear -Wshadow warnings vp9_rc_get_second_pass_params: clear -Wshadow warning
| * | vp9_mcomp.c: clear -Wshadow warningsJames Zern2023-03-241-27/+28
| | | | | | | | | | | | | | | Bug: webm:1793 Change-Id: I6d7d96ffb3e388eac94d1d41563f7079a8297c85
| * | vp9_rc_get_second_pass_params: clear -Wshadow warningJames Zern2023-03-241-1/+0
| |/ | | | | | | | | Bug: webm:1793 Change-Id: I0d64c9234b4bdcfb49a06566dc41df26f5862c1f
* | svc: Fix a case where target bandwidth is 0Jerome Jiang2023-03-291-1/+3
| | | | | | | | | | Bug: webrtc:15033 Change-Id: Iea2997c2ce8982f106a1eed3ec4f7dd1c6e83666
* | svc: Fix a case where target bandwidth is 0Jerome Jiang2023-03-281-1/+3
| | | | | | | | | | Bug: webrtc:15033 Change-Id: I28636de66842671b03284408186c4c18254109a5
* | vp9_rdopt,block_rd_txfm: fix clang-tidy warningJames Zern2023-03-271-3/+3
|/ | | | | | | | | | | | | | argument name 'recon' in comment does not match parameter name 'out_recon'. https://clang.llvm.org/extra/clang-tidy/checks/bugprone/argument-comment.html + normalize similar calls, using /*var=*/NULL to better match the style guidelines https://google.github.io/styleguide/cppguide.html#Function_Argument_Comments Change-Id: I089591317f7138965735f737c1536a8b16fcd4e4
* vp9_scan.h: rename scan_order struct to ScanOrderJames Zern2023-03-2410-35/+33
| | | | | | | | | | This matches the style guide and fixes some -Wshadow warnings related to variables with the same name. Something similar was done in libaom in: 03f6fdcfca Fix warnings reported by -Wshadow: Part1b: scan_order struct and variable Bug: webm:1793 Change-Id: Ide5127886b7fd7778e6d8a983bfba6edda21ff28
* vp9_encodeframe.c: clear -Wshadow warningsJames Zern2023-03-231-24/+21
| | | | | Bug: webm:1793 Change-Id: I77c7abae7bbb1e1f4972cd31e3a67d62477b896e
* Merge "Revert "Add codec control to get tpl stats"" into mainJerome Jiang2023-03-221-23/+0
|\
| * Revert "Add codec control to get tpl stats"Jerome Jiang2023-03-221-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9c15fb62b3dfe1c698dc28f9efedb022b0ef8eb8. Reason for revert: vpxenc should only use public interface Original change's description: > Add codec control to get tpl stats > > Add command line flag to vpxenc to export tpl stats > > Bug: b/273736974 > Change-Id: I6980096531b0c12fbf7a307fdef4c562d0c29e32 Bug: b/273736974 Change-Id: Ifa8951bb34e5936bbfc33086b22e9fc36d379bc9
* | Merge "Change UpdateRateControl() to return bool" into mainWan-Teh Chang2023-03-222-14/+21
|\ \