Speed selection support for disabled reference frames
There was an implicit reference frame test order (typically LAST, GOLD, ARF) in the mode selection logic, but this doesn't provide the expected results when some reference frames are disabled. For instance, in real-time mode, the speed selection logic often disables the ARF modes. So if the user disables the LAST and GOLD frames, the encoder was always choosing INTRA, when in reality searching the ARF in this case has the same speed penalty as searching LAST would have had. Instead, introduce the notion of a reference frame search order. This patch preserves the former priorities, so if a frame is disabled, the other frames bump up a slot to take its place. This patch lays the groundwork for doing something smarter in the frame test order, for example considering temporal distance or looking at the frames used by nearby blocks. Change-Id: I1199149f8662a408537c653d2c021c7f1d29a700
Showing
- vp8/encoder/onyx_if.c 213 additions, 232 deletionsvp8/encoder/onyx_if.c
- vp8/encoder/onyx_int.h 15 additions, 15 deletionsvp8/encoder/onyx_int.h
- vp8/encoder/pickinter.c 20 additions, 13 deletionsvp8/encoder/pickinter.c
- vp8/encoder/ratectrl.c 0 additions, 1 deletionvp8/encoder/ratectrl.c
- vp8/encoder/rdopt.c 46 additions, 26 deletionsvp8/encoder/rdopt.c
Loading
Please register or sign in to comment