[x265] [PATCH] dpb: Allow two L1 refs when b-pyramid is enabled [CHANGES OUTPUTS]
gopu at multicorewareinc.com
gopu at multicorewareinc.com
Wed Apr 2 10:38:21 CEST 2014
# HG changeset patch
# User Gopu Govindaswamy
# Date 1396427874 -19800
# Wed Apr 02 14:07:54 2014 +0530
# Node ID d168ffde7d312a3fb332c1a2fc81b6737fba4bfa
# Parent 931b4cd4da91dc667efd16d26b4e9ea834007623
dpb: Allow two L1 refs when b-pyramid is enabled [CHANGES OUTPUTS]
Consider this common case: if we have 5 consecutive (display order frames) that are determined to be P1-B1-B2-B3-P2 by the lookahead.
When b-pyramid is enabled, the middle B will be encoded first and used as a reference by the two following B frames (in encode order);
P1-P2-B2ref-B1-B3
frame L0 L1
P1
P2 P1
B2ref P1 P2
B1 P1 P2 B2ref
B3 B2ref P1 P2
When B1 is encoded, both B2ref and P2 should be available as L1 references,
this will improve the encode compression efficiency when b-pyramid is enabled
diff -r 931b4cd4da91 -r d168ffde7d31 source/encoder/dpb.h
--- a/source/encoder/dpb.h Wed Apr 02 11:21:34 2014 +0530
+++ b/source/encoder/dpb.h Wed Apr 02 14:07:54 2014 +0530
@@ -52,7 +52,7 @@
m_pocCRA = 0;
m_bRefreshPending = false;
m_maxRefL0 = cfg->param->maxNumReferences;
- m_maxRefL1 = 1;
+ m_maxRefL1 = cfg->param->bBPyramid ? 2 : 1;
m_bOpenGOP = cfg->param->bOpenGOP;
}
More information about the x265-devel
mailing list