mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-12 02:19:35 +00:00
Move ff_dynarray_add to lavu and make it public.
This commit is contained in:
parent
9ac1bf88c0
commit
35ceaa7376
@ -13,6 +13,10 @@ libavutil: 2011-04-18
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2011-04-xx - xxxxxxx - lavu 51.2.0 - mem.h
|
||||||
|
Add av_dynarray_add function for adding
|
||||||
|
an element to a dynamic array.
|
||||||
|
|
||||||
2011-04-XX - bebe72f - lavu 51.1.0 - avutil.h
|
2011-04-XX - bebe72f - lavu 51.1.0 - avutil.h
|
||||||
Add AVPictureType enum and av_get_picture_type_char(), deprecate
|
Add AVPictureType enum and av_get_picture_type_char(), deprecate
|
||||||
FF_*_TYPE defines and av_get_pict_type_char() defined in
|
FF_*_TYPE defines and av_get_pict_type_char() defined in
|
||||||
|
@ -21,27 +21,6 @@
|
|||||||
#include "avformat.h"
|
#include "avformat.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
/* add one element to a dynamic array */
|
|
||||||
void ff_dynarray_add(intptr_t **tab_ptr, int *nb_ptr, intptr_t elem)
|
|
||||||
{
|
|
||||||
/* see similar ffmpeg.c:grow_array() */
|
|
||||||
int nb, nb_alloc;
|
|
||||||
intptr_t *tab;
|
|
||||||
|
|
||||||
nb = *nb_ptr;
|
|
||||||
tab = *tab_ptr;
|
|
||||||
if ((nb & (nb - 1)) == 0) {
|
|
||||||
if (nb == 0)
|
|
||||||
nb_alloc = 1;
|
|
||||||
else
|
|
||||||
nb_alloc = nb * 2;
|
|
||||||
tab = av_realloc(tab, nb_alloc * sizeof(intptr_t));
|
|
||||||
*tab_ptr = tab;
|
|
||||||
}
|
|
||||||
tab[nb++] = elem;
|
|
||||||
*nb_ptr = nb;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define ISLEAP(y) (((y) % 4 == 0) && (((y) % 100) != 0 || ((y) % 400) == 0))
|
#define ISLEAP(y) (((y) % 4 == 0) && (((y) % 100) != 0 || ((y) % 400) == 0))
|
||||||
#define LEAPS_COUNT(y) ((y)/4 - (y)/100 + (y)/400)
|
#define LEAPS_COUNT(y) ((y)/4 - (y)/100 + (y)/400)
|
||||||
|
|
||||||
|
@ -31,20 +31,18 @@ typedef struct AVCodecTag {
|
|||||||
unsigned int tag;
|
unsigned int tag;
|
||||||
} AVCodecTag;
|
} AVCodecTag;
|
||||||
|
|
||||||
void ff_dynarray_add(intptr_t **tab_ptr, int *nb_ptr, intptr_t elem);
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
#define dynarray_add(tab, nb_ptr, elem)\
|
#define dynarray_add(tab, nb_ptr, elem)\
|
||||||
do {\
|
do {\
|
||||||
__typeof__(tab) _tab = (tab);\
|
__typeof__(tab) _tab = (tab);\
|
||||||
__typeof__(elem) _elem = (elem);\
|
__typeof__(elem) _elem = (elem);\
|
||||||
(void)sizeof(**_tab == _elem); /* check that types are compatible */\
|
(void)sizeof(**_tab == _elem); /* check that types are compatible */\
|
||||||
ff_dynarray_add((intptr_t **)_tab, nb_ptr, (intptr_t)_elem);\
|
av_dynarray_add(_tab, nb_ptr, _elem);\
|
||||||
} while(0)
|
} while(0)
|
||||||
#else
|
#else
|
||||||
#define dynarray_add(tab, nb_ptr, elem)\
|
#define dynarray_add(tab, nb_ptr, elem)\
|
||||||
do {\
|
do {\
|
||||||
ff_dynarray_add((intptr_t **)(tab), nb_ptr, (intptr_t)(elem));\
|
av_dynarray_add((tab), nb_ptr, (elem));\
|
||||||
} while(0)
|
} while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
|
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 51
|
#define LIBAVUTIL_VERSION_MAJOR 51
|
||||||
#define LIBAVUTIL_VERSION_MINOR 1
|
#define LIBAVUTIL_VERSION_MINOR 2
|
||||||
#define LIBAVUTIL_VERSION_MICRO 0
|
#define LIBAVUTIL_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
|
@ -171,3 +171,23 @@ char *av_strdup(const char *s)
|
|||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* add one element to a dynamic array */
|
||||||
|
void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem)
|
||||||
|
{
|
||||||
|
/* see similar ffmpeg.c:grow_array() */
|
||||||
|
int nb, nb_alloc;
|
||||||
|
intptr_t *tab;
|
||||||
|
|
||||||
|
nb = *nb_ptr;
|
||||||
|
tab = *(intptr_t**)tab_ptr;
|
||||||
|
if ((nb & (nb - 1)) == 0) {
|
||||||
|
if (nb == 0)
|
||||||
|
nb_alloc = 1;
|
||||||
|
else
|
||||||
|
nb_alloc = nb * 2;
|
||||||
|
tab = av_realloc(tab, nb_alloc * sizeof(intptr_t));
|
||||||
|
*(intptr_t**)tab_ptr = tab;
|
||||||
|
}
|
||||||
|
tab[nb++] = (intptr_t)elem;
|
||||||
|
*nb_ptr = nb;
|
||||||
|
}
|
||||||
|
@ -123,4 +123,13 @@ char *av_strdup(const char *s) av_malloc_attrib;
|
|||||||
*/
|
*/
|
||||||
void av_freep(void *ptr);
|
void av_freep(void *ptr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an element to a dynamic array.
|
||||||
|
*
|
||||||
|
* @param tab_ptr Pointer to the array.
|
||||||
|
* @param nb_ptr Pointer to the number of elements in the array.
|
||||||
|
* @param elem Element to be added.
|
||||||
|
*/
|
||||||
|
void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);
|
||||||
|
|
||||||
#endif /* AVUTIL_MEM_H */
|
#endif /* AVUTIL_MEM_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user