Merge "Make ext-refs respect encoding flags." into nextgenv2

This commit is contained in:
Zoe Liu
2016-04-13 19:31:30 +00:00
committed by Gerrit Code Review
3 changed files with 19 additions and 4 deletions

View File

@@ -164,6 +164,7 @@ class ErrorResilienceTestLarge : public ::libvpx_test::EncoderTest,
mismatch_psnr_ += mismatch_psnr;
++mismatch_nframes_;
// std::cout << "Mismatch frame psnr: " << mismatch_psnr << "\n";
ASSERT_TRUE(0) << "Encode/Decode mismatch found";
}
void SetErrorFrames(int num, unsigned int *list) {

View File

@@ -194,9 +194,11 @@ typedef enum {
VP9_LAST4_FLAG = 1 << 3,
VP9_GOLD_FLAG = 1 << 4,
VP9_ALT_FLAG = 1 << 5,
VP9_REFFRAME_ALL = (1 << 6) - 1
#else
VP9_GOLD_FLAG = 1 << 1,
VP9_ALT_FLAG = 1 << 2,
VP9_REFFRAME_ALL = (1 << 3) - 1
#endif // CONFIG_EXT_REFS
} VP9_REFFRAME;

View File

@@ -5137,10 +5137,16 @@ int vp10_get_quantizer(VP10_COMP *cpi) {
void vp10_apply_encoding_flags(VP10_COMP *cpi, vpx_enc_frame_flags_t flags) {
if (flags & (VP8_EFLAG_NO_REF_LAST | VP8_EFLAG_NO_REF_GF |
VP8_EFLAG_NO_REF_ARF)) {
int ref = 7;
int ref = VP9_REFFRAME_ALL;
if (flags & VP8_EFLAG_NO_REF_LAST)
if (flags & VP8_EFLAG_NO_REF_LAST) {
ref ^= VP9_LAST_FLAG;
#if CONFIG_EXT_REFS
ref ^= VP9_LAST2_FLAG;
ref ^= VP9_LAST3_FLAG;
ref ^= VP9_LAST4_FLAG;
#endif // CONFIG_EXT_REFS
}
if (flags & VP8_EFLAG_NO_REF_GF)
ref ^= VP9_GOLD_FLAG;
@@ -5154,10 +5160,16 @@ void vp10_apply_encoding_flags(VP10_COMP *cpi, vpx_enc_frame_flags_t flags) {
if (flags & (VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_GF |
VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_FORCE_GF |
VP8_EFLAG_FORCE_ARF)) {
int upd = 7;
int upd = VP9_REFFRAME_ALL;
if (flags & VP8_EFLAG_NO_UPD_LAST)
if (flags & VP8_EFLAG_NO_UPD_LAST) {
upd ^= VP9_LAST_FLAG;
#if CONFIG_EXT_REFS
upd ^= VP9_LAST2_FLAG;
upd ^= VP9_LAST3_FLAG;
upd ^= VP9_LAST4_FLAG;
#endif // CONFIG_EXT_REFS
}
if (flags & VP8_EFLAG_NO_UPD_GF)
upd ^= VP9_GOLD_FLAG;