summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2013-02-01 08:22:59 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2013-02-01 08:22:59 +0100
commitb5570c833d8b41100cbeca41bf3f08ce968f3441 (patch)
tree9be29b95f95c9ebb1a28e52e7cd5650a11619775 /src/util.c
parent77babe2d63b8f6cc49965b97b769479129b703f7 (diff)
downloadadvtime-b5570c833d8b41100cbeca41bf3f08ce968f3441.tar.gz
advtime-b5570c833d8b41100cbeca41bf3f08ce968f3441.tar.bz2
advtime-b5570c833d8b41100cbeca41bf3f08ce968f3441.zip
Also put frame_average into util
Not yet needed by other tools than cuttime, but its really just a utility function.
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
index e642762..ddd46d3 100644
--- a/src/util.c
+++ b/src/util.c
@@ -103,6 +103,26 @@ frame_diff(struct video_frame *frame_a, struct video_frame *frame_b)
return average / (frame_a->width * frame_a->height);
}
+double
+frame_average(struct video_frame *frame)
+{
+ double average = 0;
+ uint8_t *row = frame->data;
+ uint8_t *col = NULL;
+
+ for (int y = 0; y < frame->height; ++y) {
+ col = row;
+ for (int x = 0; x < frame->width; ++x) {
+ average += *col;
+ col++;
+ }
+ row += frame->stride;
+ }
+
+ return average / (frame->width * frame->height);
+}
+
+
/* print time in format: "hh:mm:ss.xxx" */
void
print_time(int64_t msec) {