They will be used for filters such as detect and classify. Signed-off-by: Guo, Yejun <yejun....@intel.com> --- libavfilter/bbox.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+)
diff --git a/libavfilter/bbox.h b/libavfilter/bbox.h index 116158d59e..7c63dfa727 100644 --- a/libavfilter/bbox.h +++ b/libavfilter/bbox.h @@ -22,6 +22,51 @@ #define AVFILTER_BBOX_H #include <stdint.h> +#include "libavutil/rational.h" + +typedef struct BoundingBoxHeader { + /* + * Information about how the bounding box is generated. + * for example, the DNN model name. + */ + char source[128]; + + /* Must be set to the size of BoundingBox (that is, + * sizeof(BoundingBox)). + */ + uint32_t bbox_size; +} BoundingBoxHeader; + +typedef struct BoundingBox { + /** + * Distance in pixels from the top edge of the frame to top + * and bottom, and from the left edge of the frame to left and + * right, defining the bounding box. + */ + int top; + int left; + int bottom; + int right; + +#define BBOX_LABEL_NAME_MAX_LENGTH 32 + + /** + * Detect result with confidence + */ + char detect_label[BBOX_LABEL_NAME_MAX_LENGTH+1]; + AVRational detect_confidence; + + /** + * At most 4 classifications based on the detected bounding box. + * For example, we can get max 4 different attributes with 4 different + * DNN models on one bounding box. + * classify_count is zero if no classification. + */ +#define AV_NUM_BBOX_CLASSIFY 4 + uint32_t classify_count; + char classify_labels[AV_NUM_BBOX_CLASSIFY][BBOX_LABEL_NAME_MAX_LENGTH+1]; + AVRational classify_confidences[AV_NUM_BBOX_CLASSIFY]; +} BoundingBox; typedef struct FFBoundingBox { int x1, x2, y1, y2; -- 2.17.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".