[FFmpeg-devel] [PATCH v2 1/4] avutil/internal: add FF_ALLOC_TYPED_ARRAY_OR_GOTO & FF_ALLOCZ_TYPED_ARRAY_OR_GOTO
lance.lmwang at gmail.com
lance.lmwang at gmail.com
Mon May 11 18:52:20 EEST 2020
From: Limin Wang <lance.lmwang at gmail.com>
These are similar to the existing FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTO,
but the elsize is calcuated by sizeof(*p)
Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
---
libavutil/internal.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/libavutil/internal.h b/libavutil/internal.h
index 4acbcf5..1be9001 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -173,6 +173,24 @@
}\
}
+#define FF_ALLOC_TYPED_ARRAY_OR_GOTO(ctx, p, nelem, label)\
+{\
+ p = av_malloc_array(nelem, sizeof(*p));\
+ if (!p) {\
+ av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\
+ goto label;\
+ }\
+}
+
+#define FF_ALLOCZ_TYPED_ARRAY_OR_GOTO(ctx, p, nelem, label)\
+{\
+ p = av_mallocz_array(nelem, sizeof(*p));\
+ if (!p) {\
+ av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\
+ goto label;\
+ }\
+}
+
#include "libm.h"
/**
--
1.8.3.1
More information about the ffmpeg-devel
mailing list