Add back AsV4L2[H264/VP8/VP9]Picture function
These functions need to be overridden by V4L2[H264/VP8/VP9]Picture
implementation and shouldn't be removed.
Bug: 62360273
Test: mmm external/v4l2_codec2
Change-Id: I58908610fe473f4076568d11c74de605b6960c10
diff --git a/vda/h264_dpb.cc b/vda/h264_dpb.cc
index fb4a98d..0e1b411 100644
--- a/vda/h264_dpb.cc
+++ b/vda/h264_dpb.cc
@@ -46,6 +46,10 @@
H264Picture::~H264Picture() {}
+V4L2H264Picture* H264Picture::AsV4L2H264Picture() {
+ return nullptr;
+}
+
H264DPB::H264DPB() : max_num_pics_(0) {}
H264DPB::~H264DPB() {}
diff --git a/vda/h264_dpb.h b/vda/h264_dpb.h
index 703f5e3..6be9f21 100644
--- a/vda/h264_dpb.h
+++ b/vda/h264_dpb.h
@@ -18,6 +18,8 @@
namespace media {
+class V4L2H264Picture;
+
// A picture (a frame or a field) in the H.264 spec sense.
// See spec at http://www.itu.int/rec/T-REC-H.264
class H264Picture : public base::RefCounted<H264Picture> {
@@ -32,6 +34,8 @@
H264Picture();
+ virtual V4L2H264Picture* AsV4L2H264Picture();
+
// Values calculated per H.264 specification or taken from slice header.
// See spec for more details on each (some names have been converted from
// CamelCase in spec to Chromium-style names).
diff --git a/vda/vp8_picture.cc b/vda/vp8_picture.cc
index 7c01a11..59938aa 100644
--- a/vda/vp8_picture.cc
+++ b/vda/vp8_picture.cc
@@ -10,4 +10,8 @@
VP8Picture::~VP8Picture() {}
+V4L2VP8Picture* VP8Picture::AsV4L2VP8Picture() {
+ return nullptr;
+}
+
} // namespace media
diff --git a/vda/vp8_picture.h b/vda/vp8_picture.h
index b8e7417..eb253a4 100644
--- a/vda/vp8_picture.h
+++ b/vda/vp8_picture.h
@@ -10,10 +10,14 @@
namespace media {
+class V4L2VP8Picture;
+
class VP8Picture : public base::RefCounted<VP8Picture> {
public:
VP8Picture();
+ virtual V4L2VP8Picture* AsV4L2VP8Picture();
+
protected:
friend class base::RefCounted<VP8Picture>;
virtual ~VP8Picture();
diff --git a/vda/vp9_picture.cc b/vda/vp9_picture.cc
index ed3c65a..a99427f 100644
--- a/vda/vp9_picture.cc
+++ b/vda/vp9_picture.cc
@@ -10,4 +10,8 @@
VP9Picture::~VP9Picture() {}
+V4L2VP9Picture* VP9Picture::AsV4L2VP9Picture() {
+ return nullptr;
+}
+
} // namespace media
diff --git a/vda/vp9_picture.h b/vda/vp9_picture.h
index 2bd5bbc..23e299b 100644
--- a/vda/vp9_picture.h
+++ b/vda/vp9_picture.h
@@ -13,10 +13,14 @@
namespace media {
+class V4L2VP9Picture;
+
class VP9Picture : public base::RefCounted<VP9Picture> {
public:
VP9Picture();
+ virtual V4L2VP9Picture* AsV4L2VP9Picture();
+
std::unique_ptr<Vp9FrameHeader> frame_hdr;
protected: