diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-02-01 08:22:59 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-02-01 08:22:59 +0100 |
commit | b5570c833d8b41100cbeca41bf3f08ce968f3441 (patch) | |
tree | 9be29b95f95c9ebb1a28e52e7cd5650a11619775 /src/util.c | |
parent | 77babe2d63b8f6cc49965b97b769479129b703f7 (diff) | |
download | advtime-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.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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) { |