[FFmpeg-devel] [PATCH 1/3] dnn/queue: fix redefining typedefs
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Wed Dec 30 15:03:02 EET 2020
Guo, Yejun:
>
>
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
>> Andreas Rheinhardt
>> Sent: 2020年12月30日 18:04
>> To: ffmpeg-devel at ffmpeg.org
>> Subject: Re: [FFmpeg-devel] [PATCH 1/3] dnn/queue: fix redefining typedefs
>>
>> Guo, Yejun:
>>> Signed-off-by: Guo, Yejun <yejun.guo at intel.com>
>>> ---
>>> libavfilter/dnn/queue.c | 8 ++++----
>>> libavfilter/dnn/safe_queue.c | 4 ++--
>>> 2 files changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/libavfilter/dnn/queue.c b/libavfilter/dnn/queue.c index
>>> 0a07c5473d..da0517968d 100644
>>> --- a/libavfilter/dnn/queue.c
>>> +++ b/libavfilter/dnn/queue.c
>>> @@ -25,17 +25,17 @@
>>>
>>> typedef struct _queue_entry queue_entry;
>>
>> There is no point in using different type names and struct tags; and both the
>> type name as well as the struct tag do not abide by our naming
>> conventions: We use CamelCase for them. Remember
>> 9beaf536fe5b52ed5af4d4dd5746277ee5ac9552? The deeper reason for this
>> was that the typedef name "thread_param" was masked by a variable of the
>> same name (of type thread_param *) and so sizeof(thread_param) referred to
>> the variable size (i.e. pointer size). Using sizeof with parentheses didn't change
>> this. If you had used our naming convention, this would have never happened.
> thanks, got it. I'll also change thread_param in another patch after this regression is fixed.
>
>>
>> And both the non-internal type as well as the function names need the correct
>> prefix.
> thanks, I'll add dnn_ as prefix for queue, safe_queue, and the relative functions.
>
The correct prefix for symbols not exported from the library and not
local to one translation unit is ff_ (or FF for types).
>>
>>>
>>> -typedef struct _queue {
>>> +struct _queue {
>>> queue_entry *head;
>>> queue_entry *tail;
>>> size_t length;
>>> -}queue;
>>> +};
>>
>> It is more logical to have this definition after the entry's definition.
> will change it, thanks.
>
>>
>>>
>>> -typedef struct _queue_entry {
>>> +struct _queue_entry {
>>> void *value;
>>> queue_entry *prev;
>>> queue_entry *next;
>>> -} queue_entry;
>>> +};
>>>
>>> static inline queue_entry *create_entry(void *val) { diff --git
>>> a/libavfilter/dnn/safe_queue.c b/libavfilter/dnn/safe_queue.c index
>>> dba2e0fbbc..4298048454 100644
>>> --- a/libavfilter/dnn/safe_queue.c
>>> +++ b/libavfilter/dnn/safe_queue.c
>>> @@ -25,11 +25,11 @@
>>> #include "libavutil/avassert.h"
>>> #include "libavutil/thread.h"
>>>
>>> -typedef struct _safe_queue {
>>> +struct _safe_queue {
>>> queue *q;
>>> pthread_mutex_t mutex;
>>> pthread_cond_t cond;
>>> -}safe_queue;
>>> +};
>>>
>>> safe_queue *safe_queue_create(void)
>>> {
>>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email ffmpeg-devel-request at ffmpeg.org
>> with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-devel
mailing list