I
would like to have some P-pictures and B-pictures (by B-pictures I
mean that some blocks during motion estimation can be used either in
one reference frame or in the other, not compounding). It looks like
a frame can reference 3 other frames for prediction in VPX, so it
seems I can disable altref frames and then set reference for
VP8_LAST_FRAME and for VP8_GOLD_FRAME as in the example
vp9cx_set_ref.c using vpx_codec_controls' VP8_SET_REFERENCE. But for
that I would need to get already decoded (quantized/dequantized)
versions for the reference frames plus it seems it is not going to
work out of the box on the decoder side.
I
have my frames already reordered and what I really would like to do
is simply to tell VPX:
here
is frame 1;
here
is frame 3, use frame 1 as a reference;
here
is frame 2, use frames 1 and 3 as references;
Is
there a way to do it ?
Hello,Since there is no reordering option in VP9, VPx generally uses ALT_REF for bi-prediction.In this case, ALT_REF is copied from a future frame in the GOP and coded as ALT_REF.Because ALT_REF is not displayed, it works likes bi-prediction without reordering.For more details, Please refer "5. The Alternate (or Constructed) Reference Frame" in https://www.webmproject.org/docs/encoder-parameters/