summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Bankoski <jimbankoski@google.com>2012-10-26 19:49:44 -0700
committerJim Bankoski <jimbankoski@google.com>2012-10-26 19:49:44 -0700
commit65d73881f752d83e873c966be7e9d44bc7749577 (patch)
tree64fe50c9f929dd63f343e2bd0c0584fab6b94488
parent1fc3cc8e97c5fbd456abc741ad909f83b4c4fb7c (diff)
downloadlibvpx-65d73881f752d83e873c966be7e9d44bc7749577.tar
libvpx-65d73881f752d83e873c966be7e9d44bc7749577.tar.gz
libvpx-65d73881f752d83e873c966be7e9d44bc7749577.tar.bz2
libvpx-65d73881f752d83e873c966be7e9d44bc7749577.zip
Minor tweaks to video source frameworks
Fix the video source to close if file is open already and add a limit. Change-Id: I36ada4c609d027b6eaa9b447fe9ad4115532edc1
-rw-r--r--test/i420_video_source.h6
-rw-r--r--test/video_source.h5
2 files changed, 10 insertions, 1 deletions
diff --git a/test/i420_video_source.h b/test/i420_video_source.h
index 0fe9ca692..219bd3393 100644
--- a/test/i420_video_source.h
+++ b/test/i420_video_source.h
@@ -25,6 +25,7 @@ class I420VideoSource : public VideoSource {
int rate_numerator, int rate_denominator,
unsigned int start, int limit)
: file_name_(file_name),
+ input_file_(NULL),
img_(NULL),
start_(start),
limit_(limit),
@@ -45,10 +46,11 @@ class I420VideoSource : public VideoSource {
}
virtual void Begin() {
+ if (input_file_)
+ fclose(input_file_);
input_file_ = OpenTestDataFile(file_name_);
ASSERT_TRUE(input_file_) << "Input file open failed. Filename: "
<< file_name_;
-
if (start_) {
fseek(input_file_, raw_sz_ * start_, SEEK_SET);
}
@@ -76,6 +78,8 @@ class I420VideoSource : public VideoSource {
virtual unsigned int frame() const { return frame_; }
+ virtual unsigned int limit() const { return limit_; }
+
void SetSize(unsigned int width, unsigned int height) {
if (width != width_ || height != height_) {
vpx_img_free(img_);
diff --git a/test/video_source.h b/test/video_source.h
index ced0caed1..9772657d6 100644
--- a/test/video_source.h
+++ b/test/video_source.h
@@ -57,6 +57,9 @@ class VideoSource {
// Get the current frame counter, starting at 0.
virtual unsigned int frame() const = 0;
+
+ // Get the current file limit.
+ virtual unsigned int limit() const = 0;
};
@@ -94,6 +97,8 @@ class DummyVideoSource : public VideoSource {
virtual unsigned int frame() const { return frame_; }
+ virtual unsigned int limit() const { return limit_; }
+
void SetSize(unsigned int width, unsigned int height) {
if (width != width_ || height != height_) {
vpx_img_free(img_);