Browse Source

dnn: fix redefining typedefs and also refine naming with correct prefix

The prefix for symbols not exported from the library and not
local to one translation unit is ff_ (or FF for types).

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
tags/n4.4
Guo, Yejun 5 years ago
parent
commit
8e78d5d394
5 changed files with 83 additions and 83 deletions
  1. +16
    -16
      libavfilter/dnn/dnn_backend_openvino.c
  2. +33
    -33
      libavfilter/dnn/queue.c
  3. +10
    -10
      libavfilter/dnn/queue.h
  4. +17
    -17
      libavfilter/dnn/safe_queue.c
  5. +7
    -7
      libavfilter/dnn/safe_queue.h

+ 16
- 16
libavfilter/dnn/dnn_backend_openvino.c View File

@@ -53,8 +53,8 @@ typedef struct OVModel{
ie_infer_request_t *infer_request;

/* for async execution */
safe_queue *request_queue; // holds RequestItem
queue *task_queue; // holds TaskItem
FFSafeQueue *request_queue; // holds RequestItem
FFQueue *task_queue; // holds TaskItem
} OVModel;

typedef struct TaskItem {
@@ -208,7 +208,7 @@ static void infer_completion_callback(void *args)

if (task->async) {
request->task = NULL;
safe_queue_push_back(task->ov_model->request_queue, request);
ff_safe_queue_push_back(task->ov_model->request_queue, request);
}

task->done = 1;
@@ -417,7 +417,7 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options,
ctx->options.nireq = av_cpu_count() / 2 + 1;
}

ov_model->request_queue = safe_queue_create();
ov_model->request_queue = ff_safe_queue_create();
if (!ov_model->request_queue) {
goto err;
}
@@ -436,10 +436,10 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options,
item->infer_request = request;
item->callback.completeCallBackFunc = infer_completion_callback;
item->callback.args = item;
safe_queue_push_back(ov_model->request_queue, item);
ff_safe_queue_push_back(ov_model->request_queue, item);
}

ov_model->task_queue = queue_create();
ov_model->task_queue = ff_queue_create();
if (!ov_model->task_queue) {
goto err;
}
@@ -527,9 +527,9 @@ DNNReturnType ff_dnn_execute_model_async_ov(const DNNModel *model, const char *i
task->output_name = output_names[0];
task->out_frame = out_frame;
task->ov_model = ov_model;
queue_push_back(ov_model->task_queue, task);
ff_queue_push_back(ov_model->task_queue, task);

request = safe_queue_pop_front(ov_model->request_queue);
request = ff_safe_queue_pop_front(ov_model->request_queue);
if (!request) {
av_log(ctx, AV_LOG_ERROR, "unable to get infer request.\n");
return DNN_ERROR;
@@ -541,7 +541,7 @@ DNNReturnType ff_dnn_execute_model_async_ov(const DNNModel *model, const char *i
DNNAsyncStatusType ff_dnn_get_async_result_ov(const DNNModel *model, AVFrame **in, AVFrame **out)
{
OVModel *ov_model = (OVModel *)model->model;
TaskItem *task = queue_peek_front(ov_model->task_queue);
TaskItem *task = ff_queue_peek_front(ov_model->task_queue);

if (!task) {
return DAST_EMPTY_QUEUE;
@@ -553,7 +553,7 @@ DNNAsyncStatusType ff_dnn_get_async_result_ov(const DNNModel *model, AVFrame **i

*in = task->in_frame;
*out = task->out_frame;
queue_pop_front(ov_model->task_queue);
ff_queue_pop_front(ov_model->task_queue);
av_freep(&task);

return DAST_SUCCESS;
@@ -563,20 +563,20 @@ void ff_dnn_free_model_ov(DNNModel **model)
{
if (*model){
OVModel *ov_model = (OVModel *)(*model)->model;
while (safe_queue_size(ov_model->request_queue) != 0) {
RequestItem *item = safe_queue_pop_front(ov_model->request_queue);
while (ff_safe_queue_size(ov_model->request_queue) != 0) {
RequestItem *item = ff_safe_queue_pop_front(ov_model->request_queue);
if (item && item->infer_request) {
ie_infer_request_free(&item->infer_request);
}
av_freep(&item);
}
safe_queue_destroy(ov_model->request_queue);
ff_safe_queue_destroy(ov_model->request_queue);

while (queue_size(ov_model->task_queue) != 0) {
TaskItem *item = queue_pop_front(ov_model->task_queue);
while (ff_queue_size(ov_model->task_queue) != 0) {
TaskItem *item = ff_queue_pop_front(ov_model->task_queue);
av_freep(&item);
}
queue_destroy(ov_model->task_queue);
ff_queue_destroy(ov_model->task_queue);

if (ov_model->infer_request)
ie_infer_request_free(&ov_model->infer_request);


+ 33
- 33
libavfilter/dnn/queue.c View File

@@ -23,31 +23,31 @@
#include "libavutil/mem.h"
#include "libavutil/avassert.h"

typedef struct _queue_entry queue_entry;
typedef struct FFQueueEntry FFQueueEntry;

typedef struct _queue {
queue_entry *head;
queue_entry *tail;
size_t length;
}queue;

typedef struct _queue_entry {
struct FFQueueEntry {
void *value;
queue_entry *prev;
queue_entry *next;
} queue_entry;
FFQueueEntry *prev;
FFQueueEntry *next;
};

struct FFQueue {
FFQueueEntry *head;
FFQueueEntry *tail;
size_t length;
};

static inline queue_entry *create_entry(void *val)
static inline FFQueueEntry *create_entry(void *val)
{
queue_entry *entry = av_malloc(sizeof(*entry));
FFQueueEntry *entry = av_malloc(sizeof(*entry));
av_assert0(entry != NULL);
entry->value = val;
return entry;
}

queue* queue_create(void)
FFQueue* ff_queue_create(void)
{
queue *q = av_malloc(sizeof(*q));
FFQueue *q = av_malloc(sizeof(*q));
if (!q)
return NULL;

@@ -62,15 +62,15 @@ queue* queue_create(void)
return q;
}

void queue_destroy(queue *q)
void ff_queue_destroy(FFQueue *q)
{
queue_entry *entry;
FFQueueEntry *entry;
if (!q)
return;

entry = q->head;
while (entry != NULL) {
queue_entry *temp = entry;
FFQueueEntry *temp = entry;
entry = entry->next;
av_freep(&temp);
}
@@ -78,12 +78,12 @@ void queue_destroy(queue *q)
av_freep(&q);
}

size_t queue_size(queue *q)
size_t ff_queue_size(FFQueue *q)
{
return q ? q->length : 0;
}

void *queue_peek_front(queue *q)
void *ff_queue_peek_front(FFQueue *q)
{
if (!q || q->length == 0)
return NULL;
@@ -91,7 +91,7 @@ void *queue_peek_front(queue *q)
return q->head->next->value;
}

void *queue_peek_back(queue *q)
void *ff_queue_peek_back(FFQueue *q)
{
if (!q || q->length == 0)
return NULL;
@@ -99,10 +99,10 @@ void *queue_peek_back(queue *q)
return q->tail->prev->value;
}

void queue_push_front(queue *q, void *v)
void ff_queue_push_front(FFQueue *q, void *v)
{
queue_entry *new_entry;
queue_entry *original_next;
FFQueueEntry *new_entry;
FFQueueEntry *original_next;
if (!q)
return;

@@ -116,10 +116,10 @@ void queue_push_front(queue *q, void *v)
q->length++;
}

void queue_push_back(queue *q, void *v)
void ff_queue_push_back(FFQueue *q, void *v)
{
queue_entry *new_entry;
queue_entry *original_prev;
FFQueueEntry *new_entry;
FFQueueEntry *original_prev;
if (!q)
return;

@@ -133,10 +133,10 @@ void queue_push_back(queue *q, void *v)
q->length++;
}

void *queue_pop_front(queue *q)
void *ff_queue_pop_front(FFQueue *q)
{
queue_entry *front;
queue_entry *new_head_next;
FFQueueEntry *front;
FFQueueEntry *new_head_next;
void *ret;

if (!q || q->length == 0)
@@ -154,10 +154,10 @@ void *queue_pop_front(queue *q)
return ret;
}

void *queue_pop_back(queue *q)
void *ff_queue_pop_back(FFQueue *q)
{
queue_entry *back;
queue_entry *new_tail_prev;
FFQueueEntry *back;
FFQueueEntry *new_tail_prev;
void *ret;

if (!q || q->length == 0)


+ 10
- 10
libavfilter/dnn/queue.h View File

@@ -22,20 +22,20 @@
#ifndef AVFILTER_DNN_QUEUE_H
#define AVFILTER_DNN_QUEUE_H

typedef struct _queue queue;
typedef struct FFQueue FFQueue;

queue *queue_create(void);
void queue_destroy(queue *q);
FFQueue *ff_queue_create(void);
void ff_queue_destroy(FFQueue *q);

size_t queue_size(queue *q);
size_t ff_queue_size(FFQueue *q);

void *queue_peek_front(queue *q);
void *queue_peek_back(queue *q);
void *ff_queue_peek_front(FFQueue *q);
void *ff_queue_peek_back(FFQueue *q);

void queue_push_front(queue *q, void *v);
void queue_push_back(queue *q, void *v);
void ff_queue_push_front(FFQueue *q, void *v);
void ff_queue_push_back(FFQueue *q, void *v);

void *queue_pop_front(queue *q);
void *queue_pop_back(queue *q);
void *ff_queue_pop_front(FFQueue *q);
void *ff_queue_pop_back(FFQueue *q);

#endif

+ 17
- 17
libavfilter/dnn/safe_queue.c View File

@@ -25,19 +25,19 @@
#include "libavutil/avassert.h"
#include "libavutil/thread.h"

typedef struct _safe_queue {
queue *q;
struct FFSafeQueue {
FFQueue *q;
pthread_mutex_t mutex;
pthread_cond_t cond;
}safe_queue;
};

safe_queue *safe_queue_create(void)
FFSafeQueue *ff_safe_queue_create(void)
{
safe_queue *sq = av_malloc(sizeof(*sq));
FFSafeQueue *sq = av_malloc(sizeof(*sq));
if (!sq)
return NULL;

sq->q = queue_create();
sq->q = ff_queue_create();
if (!sq->q)
return NULL;

@@ -46,46 +46,46 @@ safe_queue *safe_queue_create(void)
return sq;
}

void safe_queue_destroy(safe_queue *sq)
void ff_safe_queue_destroy(FFSafeQueue *sq)
{
if (!sq)
return;

queue_destroy(sq->q);
ff_queue_destroy(sq->q);
pthread_mutex_destroy(&sq->mutex);
pthread_cond_destroy(&sq->cond);
av_freep(&sq);
}

size_t safe_queue_size(safe_queue *sq)
size_t ff_safe_queue_size(FFSafeQueue *sq)
{
return sq ? queue_size(sq->q) : 0;
return sq ? ff_queue_size(sq->q) : 0;
}

void safe_queue_push_front(safe_queue *sq, void *v)
void ff_safe_queue_push_front(FFSafeQueue *sq, void *v)
{
pthread_mutex_lock(&sq->mutex);
queue_push_front(sq->q, v);
ff_queue_push_front(sq->q, v);
pthread_cond_signal(&sq->cond);
pthread_mutex_unlock(&sq->mutex);
}

void safe_queue_push_back(safe_queue *sq, void *v)
void ff_safe_queue_push_back(FFSafeQueue *sq, void *v)
{
pthread_mutex_lock(&sq->mutex);
queue_push_back(sq->q, v);
ff_queue_push_back(sq->q, v);
pthread_cond_signal(&sq->cond);
pthread_mutex_unlock(&sq->mutex);
}

void *safe_queue_pop_front(safe_queue *sq)
void *ff_safe_queue_pop_front(FFSafeQueue *sq)
{
void *value;
pthread_mutex_lock(&sq->mutex);
while (queue_size(sq->q) == 0) {
while (ff_queue_size(sq->q) == 0) {
pthread_cond_wait(&sq->cond, &sq->mutex);
}
value = queue_pop_front(sq->q);
value = ff_queue_pop_front(sq->q);
pthread_cond_signal(&sq->cond);
pthread_mutex_unlock(&sq->mutex);
return value;


+ 7
- 7
libavfilter/dnn/safe_queue.h View File

@@ -21,16 +21,16 @@
#ifndef AVFILTER_DNN_SAFE_QUEUE_H
#define AVFILTER_DNN_SAFE_QUEUE_H

typedef struct _safe_queue safe_queue;
typedef struct FFSafeQueue FFSafeQueue;

safe_queue *safe_queue_create(void);
void safe_queue_destroy(safe_queue *sq);
FFSafeQueue *ff_safe_queue_create(void);
void ff_safe_queue_destroy(FFSafeQueue *sq);

size_t safe_queue_size(safe_queue *sq);
size_t ff_safe_queue_size(FFSafeQueue *sq);

void safe_queue_push_front(safe_queue *sq, void *v);
void safe_queue_push_back(safe_queue *sq, void *v);
void ff_safe_queue_push_front(FFSafeQueue *sq, void *v);
void ff_safe_queue_push_back(FFSafeQueue *sq, void *v);

void *safe_queue_pop_front(safe_queue *sq);
void *ff_safe_queue_pop_front(FFSafeQueue *sq);

#endif

Loading…
Cancel
Save