Dear authors and to whom it may concern,
I have been using this project for my research and I'd like to thank the authors for such a great contribution.
However, I have checked the FESTIVE algorithm and found out that there was a part in your FESTIVE.cc file that might have been misunderstood.
|
m_smooth.push_back (5); // after how many steps switch up is possible |
|
if (currentRepIndex < m_highestRepIndex && !decisionMade) |
|
{ |
|
int count = 0; |
|
for (unsigned _sd = m_playbackData.playbackIndex.size () - 1; _sd-- > 0; ) |
|
{ |
|
if (currentRepIndex == m_playbackData.playbackIndex.at (_sd)) |
|
{ |
|
count++; |
|
if (count >= m_smooth.at (0)) |
|
{ |
|
break; |
|
} |
|
} |
|
else |
|
{ |
|
break; |
|
} |
|
} |
|
if (count >= m_smooth.at (0) |
|
&& (double) m_videoData.averageBitrate.at (currentRepIndex + 1) <= thrptEstimation) |
|
{ |
|
refIndex = currentRepIndex + 1; |
|
answer.decisionCase = 1; |
|
decisionMade = true; |
|
} |
|
} |
According to the white paper of FESTIVE, bitrate at level k will remain the same for at least k chunks, before switching up to level k+1. Also in their paper, they've given an example where bitrate at 1130Kbps would switch up after 5 chunks, which I think might have led to this misunderstanding.
Therefore, the comparisons at line #130 and #140 should be if (count >= currentRepIndex), instead of the fixed value of 5.
Hope it helps.
Dear authors and to whom it may concern,
I have been using this project for my research and I'd like to thank the authors for such a great contribution.
However, I have checked the FESTIVE algorithm and found out that there was a part in your FESTIVE.cc file that might have been misunderstood.
dash/model/festive.cc
Line 39 in 3522e46
dash/model/festive.cc
Lines 122 to 147 in 3522e46
According to the white paper of FESTIVE, bitrate at level
kwill remain the same for at leastkchunks, before switching up to levelk+1. Also in their paper, they've given an example where bitrate at 1130Kbps would switch up after 5 chunks, which I think might have led to this misunderstanding.Therefore, the comparisons at line #130 and #140 should be
if (count >= currentRepIndex), instead of the fixed value of 5.Hope it helps.