summaryrefslogtreecommitdiff
path: root/libavfilter/bbox.h
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2012-03-11 03:05:42 +0100
committerStefano Sabatini <stefasab@gmail.com>2012-03-17 11:21:49 +0100
commit3225bc37a361c1c02effebf4c981c837d8468a70 (patch)
tree35d86d4e3a09969463bf97a72702969c2267aacf /libavfilter/bbox.h
parent32a5775a9192ed9d88d50ed2ff602d3ef4e98c84 (diff)
downloadffmpeg-3225bc37a361c1c02effebf4c981c837d8468a70.tar.gz
lavfi: add bbox filter
Also add bbox.h and bbox.c files, based on the remove-logo filter by Robert Edele. These files are useful for sharing code with the pending removelogo port.
Diffstat (limited to 'libavfilter/bbox.h')
-rw-r--r--libavfilter/bbox.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/libavfilter/bbox.h b/libavfilter/bbox.h
new file mode 100644
index 0000000000..eb73154c14
--- /dev/null
+++ b/libavfilter/bbox.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2005 Robert Edele <yartrebo@earthlink.net>
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVFILTER_BBOX_H
+#define AVFILTER_BBOX_H
+
+#include <stdint.h>
+
+typedef struct {
+ int x1, x2, y1, y2;
+} FFBoundingBox;
+
+/**
+ * Calculate the smallest rectangle that will encompass the
+ * region with values > min_val.
+ *
+ * @param bbox bounding box structure which is updated with the found values.
+ * If no pixels could be found with value > min_val, the
+ * structure is not modified.
+ * @return 1 in case at least one pixel with value > min_val was found,
+ * 0 otherwise
+ */
+int ff_calculate_bounding_box(FFBoundingBox *bbox,
+ const uint8_t *data, int linesize,
+ int w, int h, int min_val);
+
+#endif /* AVFILTER_BBOX_H */