Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1047)

Unified Diff: content/common/gpu/media/h264_decoder.cc

Issue 1318283007: H264 Decoder: move cut off logic from Construct to ModifyRefPicList(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/gpu/media/h264_decoder.cc
diff --git a/content/common/gpu/media/h264_decoder.cc b/content/common/gpu/media/h264_decoder.cc
index 9953ff21a593d28c9508f51715091f8b10f81203..7cb00f6868477323ae4c393c5f549d347a416ea0 100644
--- a/content/common/gpu/media/h264_decoder.cc
+++ b/content/common/gpu/media/h264_decoder.cc
@@ -362,9 +362,6 @@ void H264Decoder::ConstructReferencePicListsP(
dpb_.GetLongTermRefPicsAppending(&ref_pic_list_p0_);
std::sort(ref_pic_list_p0_.begin() + num_short_refs, ref_pic_list_p0_.end(),
LongTermPicNumAscCompare());
-
- // Cut off if we have more than requested in slice header.
- ref_pic_list_p0_.resize(slice_hdr->num_ref_idx_l0_active_minus1 + 1);
}
struct POCAscCompare {
@@ -436,12 +433,6 @@ void H264Decoder::ConstructReferencePicListsB(
std::equal(ref_pic_list_b0_.begin(), ref_pic_list_b0_.end(),
ref_pic_list_b1_.begin()))
std::swap(ref_pic_list_b1_[0], ref_pic_list_b1_[1]);
-
- // Per 8.2.4.2 it's possible for num_ref_idx_lX_active_minus1 to indicate
- // there should be more ref pics on list than we constructed.
- // Those superfluous ones should be treated as non-reference.
- ref_pic_list_b0_.resize(slice_hdr->num_ref_idx_l0_active_minus1 + 1);
- ref_pic_list_b1_.resize(slice_hdr->num_ref_idx_l1_active_minus1 + 1);
}
// See 8.2.4
@@ -499,11 +490,17 @@ bool H264Decoder::ModifyReferencePicList(media::H264SliceHeader* slice_hdr,
return true;
list_mod = slice_hdr->ref_list_l0_modifications;
+
+ // Cut off if we have more than requested in slice header.
Pawel Osciak 2015/09/01 11:00:36 It would be nice to keep the comment from l.440 an
hshi1 2015/09/01 13:16:55 I see. Would the verbatim comment from l.440 (slig
hshi1 2015/09/01 17:17:10 Done.
+ ref_pic_listx->resize(slice_hdr->num_ref_idx_l0_active_minus1 + 1);
Pawel Osciak 2015/09/01 11:00:36 Per spec we should be trimming the list regardless
hshi1 2015/09/01 17:17:10 Done.
} else {
if (!slice_hdr->ref_pic_list_modification_flag_l1)
return true;
list_mod = slice_hdr->ref_list_l1_modifications;
+
+ // Cut off if we have more than requested in slice header.
+ ref_pic_listx->resize(slice_hdr->num_ref_idx_l1_active_minus1 + 1);
}
num_ref_idx_lX_active_minus1 = ref_pic_listx->size() - 1;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698