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

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

Issue 813693006: Add accelerated video decoder interface, VP8 and H.264 implementations and hook up to V4L2SVDA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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
Index: content/common/gpu/media/vaapi_h264_dpb.cc
diff --git a/content/common/gpu/media/h264_dpb.cc b/content/common/gpu/media/vaapi_h264_dpb.cc
similarity index 64%
copy from content/common/gpu/media/h264_dpb.cc
copy to content/common/gpu/media/vaapi_h264_dpb.cc
index 371d61283139a4df1084b653d6e645ae9edd8a8e..7141618ce78433261ce5cc14b29893bacabce114 100644
--- a/content/common/gpu/media/h264_dpb.cc
+++ b/content/common/gpu/media/vaapi_h264_dpb.cc
@@ -6,25 +6,27 @@
#include "base/logging.h"
#include "base/stl_util.h"
-#include "content/common/gpu/media/h264_dpb.h"
+#include "content/common/gpu/media/vaapi_h264_dpb.h"
namespace content {
-H264DPB::H264DPB() : max_num_pics_(0) {}
-H264DPB::~H264DPB() {}
+VaapiH264DPB::VaapiH264DPB() : max_num_pics_(0) {
+}
+VaapiH264DPB::~VaapiH264DPB() {
+}
-void H264DPB::Clear() {
+void VaapiH264DPB::Clear() {
pics_.clear();
}
-void H264DPB::set_max_num_pics(size_t max_num_pics) {
+void VaapiH264DPB::set_max_num_pics(size_t max_num_pics) {
DCHECK_LE(max_num_pics, kDPBMaxSize);
max_num_pics_ = max_num_pics;
if (pics_.size() > max_num_pics_)
pics_.resize(max_num_pics_);
}
-void H264DPB::DeleteByPOC(int poc) {
+void VaapiH264DPB::DeleteByPOC(int poc) {
for (Pictures::iterator it = pics_.begin(); it != pics_.end(); ++it) {
if ((*it)->pic_order_cnt == poc) {
pics_.erase(it);
@@ -34,7 +36,7 @@ void H264DPB::DeleteByPOC(int poc) {
NOTREACHED() << "Missing POC: " << poc;
}
-void H264DPB::DeleteUnused() {
+void VaapiH264DPB::DeleteUnused() {
for (Pictures::iterator it = pics_.begin(); it != pics_.end(); ) {
if ((*it)->outputted && !(*it)->ref)
it = pics_.erase(it);
@@ -43,14 +45,14 @@ void H264DPB::DeleteUnused() {
}
}
-void H264DPB::StorePic(H264Picture* pic) {
+void VaapiH264DPB::StorePic(VaapiH264Picture* pic) {
DCHECK_LT(pics_.size(), max_num_pics_);
DVLOG(3) << "Adding PicNum: " << pic->pic_num << " ref: " << (int)pic->ref
<< " longterm: " << (int)pic->long_term << " to DPB";
pics_.push_back(pic);
}
-int H264DPB::CountRefPics() {
+int VaapiH264DPB::CountRefPics() {
int ret = 0;
for (size_t i = 0; i < pics_.size(); ++i) {
if (pics_[i]->ref)
@@ -59,14 +61,14 @@ int H264DPB::CountRefPics() {
return ret;
}
-void H264DPB::MarkAllUnusedForRef() {
+void VaapiH264DPB::MarkAllUnusedForRef() {
for (size_t i = 0; i < pics_.size(); ++i)
pics_[i]->ref = false;
}
-H264Picture* H264DPB::GetShortRefPicByPicNum(int pic_num) {
+VaapiH264Picture* VaapiH264DPB::GetShortRefPicByPicNum(int pic_num) {
for (size_t i = 0; i < pics_.size(); ++i) {
- H264Picture* pic = pics_[i];
+ VaapiH264Picture* pic = pics_[i];
if (pic->ref && !pic->long_term && pic->pic_num == pic_num)
return pic;
}
@@ -75,9 +77,9 @@ H264Picture* H264DPB::GetShortRefPicByPicNum(int pic_num) {
return NULL;
}
-H264Picture* H264DPB::GetLongRefPicByLongTermPicNum(int pic_num) {
+VaapiH264Picture* VaapiH264DPB::GetLongRefPicByLongTermPicNum(int pic_num) {
for (size_t i = 0; i < pics_.size(); ++i) {
- H264Picture* pic = pics_[i];
+ VaapiH264Picture* pic = pics_[i];
if (pic->ref && pic->long_term && pic->long_term_pic_num == pic_num)
return pic;
}
@@ -86,10 +88,10 @@ H264Picture* H264DPB::GetLongRefPicByLongTermPicNum(int pic_num) {
return NULL;
}
-H264Picture* H264DPB::GetLowestFrameNumWrapShortRefPic() {
- H264Picture* ret = NULL;
+VaapiH264Picture* VaapiH264DPB::GetLowestFrameNumWrapShortRefPic() {
+ VaapiH264Picture* ret = NULL;
for (size_t i = 0; i < pics_.size(); ++i) {
- H264Picture* pic = pics_[i];
+ VaapiH264Picture* pic = pics_[i];
if (pic->ref && !pic->long_term &&
(!ret || pic->frame_num_wrap < ret->frame_num_wrap))
ret = pic;
@@ -97,25 +99,28 @@ H264Picture* H264DPB::GetLowestFrameNumWrapShortRefPic() {
return ret;
}
-void H264DPB::GetNotOutputtedPicsAppending(H264Picture::PtrVector& out) {
+void VaapiH264DPB::GetNotOutputtedPicsAppending(
+ VaapiH264Picture::PtrVector& out) {
for (size_t i = 0; i < pics_.size(); ++i) {
- H264Picture* pic = pics_[i];
+ VaapiH264Picture* pic = pics_[i];
if (!pic->outputted)
out.push_back(pic);
}
}
-void H264DPB::GetShortTermRefPicsAppending(H264Picture::PtrVector& out) {
+void VaapiH264DPB::GetShortTermRefPicsAppending(
+ VaapiH264Picture::PtrVector& out) {
for (size_t i = 0; i < pics_.size(); ++i) {
- H264Picture* pic = pics_[i];
+ VaapiH264Picture* pic = pics_[i];
if (pic->ref && !pic->long_term)
out.push_back(pic);
}
}
-void H264DPB::GetLongTermRefPicsAppending(H264Picture::PtrVector& out) {
+void VaapiH264DPB::GetLongTermRefPicsAppending(
+ VaapiH264Picture::PtrVector& out) {
for (size_t i = 0; i < pics_.size(); ++i) {
- H264Picture* pic = pics_[i];
+ VaapiH264Picture* pic = pics_[i];
if (pic->ref && pic->long_term)
out.push_back(pic);
}
« no previous file with comments | « content/common/gpu/media/vaapi_h264_dpb.h ('k') | content/common/gpu/media/vaapi_video_encode_accelerator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698