Fix speed feature skip_intra_in_interframe Since all intra modes in inter frames has been collected together to calculate their RD cost after other inter modes. The setting and checking of skip_intra_in_interframe are mis-matched. All checkings are done before settings. This CL adds a new check in the intra modes' loop to enable this speed feature. For encoder, about 1.3% faster shows by encoding 20 frame of BasketballDrill_832x480_50.y4m target 800kbps, and according to AWCY test the average PSNR drops 0.01%. ( 276388 ms -> 272822 ms) STATS_CHANGED expected Change-Id: I5a0913cfbd0beb5aaaa1a53bdb5e92f569734e32
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 679e8ba..44e3861 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -11581,9 +11581,8 @@ const MV_REFERENCE_FRAME second_ref_frame = av1_mode_order[mode_index].ref_frame[1]; assert(ref_frame == INTRA_FRAME); - + if (sf->skip_intra_in_interframe && search_state.skip_intra_modes) break; init_mbmi(mbmi, mode_index, cm); - x->skip = 0; set_ref_ptrs(cm, xd, ref_frame, second_ref_frame);