summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTing Fu <ting.fu@intel.com>2021-05-06 16:46:07 +0800
committerGuo, Yejun <yejun.guo@intel.com>2021-05-11 10:28:35 +0800
commitf02928eb5a75b2ee20dd94c30304f44a7d6f8de1 (patch)
treebdd39cedf9df9cc2d6cc066d21bfddd59e0f0641
parent7fac6efa970aace3f2f874a7cdf9551c3f969638 (diff)
dnn: add DCO_RGB color order to enum DNNColorOrder
Adding DCO_RGB color order to DNNColorOrder, since tensorflow model needs this kind of color oder as input. Signed-off-by: Ting Fu <ting.fu@intel.com>
-rw-r--r--libavfilter/dnn/dnn_backend_tf.c1
-rw-r--r--libavfilter/dnn/dnn_io_proc.c14
-rw-r--r--libavfilter/dnn_interface.h1
3 files changed, 13 insertions, 3 deletions
diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c
index 03fe310b03..45da29ae70 100644
--- a/libavfilter/dnn/dnn_backend_tf.c
+++ b/libavfilter/dnn/dnn_backend_tf.c
@@ -143,6 +143,7 @@ static DNNReturnType get_input_tf(void *model, DNNData *input, const char *input
tf_output.index = 0;
input->dt = TF_OperationOutputType(tf_output);
+ input->order = DCO_RGB;
status = TF_NewStatus();
TF_GraphGetTensorShape(tf_model->graph, tf_output, dims, 4, status);
diff --git a/libavfilter/dnn/dnn_io_proc.c b/libavfilter/dnn/dnn_io_proc.c
index 5f60d68078..1e2bef3f9a 100644
--- a/libavfilter/dnn/dnn_io_proc.c
+++ b/libavfilter/dnn/dnn_io_proc.c
@@ -168,11 +168,19 @@ static DNNReturnType proc_from_frame_to_dnn_frameprocessing(AVFrame *frame, DNND
static enum AVPixelFormat get_pixel_format(DNNData *data)
{
- if (data->dt == DNN_UINT8 && data->order == DCO_BGR) {
- return AV_PIX_FMT_BGR24;
+ if (data->dt == DNN_UINT8) {
+ switch (data->order) {
+ case DCO_BGR:
+ return AV_PIX_FMT_BGR24;
+ case DCO_RGB:
+ return AV_PIX_FMT_RGB24;
+ default:
+ av_assert0(!"unsupported data pixel format.\n");
+ return AV_PIX_FMT_BGR24;
+ }
}
- av_assert0(!"not supported yet.\n");
+ av_assert0(!"unsupported data type.\n");
return AV_PIX_FMT_BGR24;
}
diff --git a/libavfilter/dnn_interface.h b/libavfilter/dnn_interface.h
index 799244ee14..5e9ffeb077 100644
--- a/libavfilter/dnn_interface.h
+++ b/libavfilter/dnn_interface.h
@@ -39,6 +39,7 @@ typedef enum {DNN_FLOAT = 1, DNN_UINT8 = 4} DNNDataType;
typedef enum {
DCO_NONE,
DCO_BGR,
+ DCO_RGB,
} DNNColorOrder;
typedef enum {