summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/api/api-h264-slice-test.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/api/api-h264-slice-test.c b/tests/api/api-h264-slice-test.c
index c6614da34d..b893737bca 100644
--- a/tests/api/api-h264-slice-test.c
+++ b/tests/api/api-h264-slice-test.c
@@ -117,9 +117,9 @@ int main(int argc, char **argv)
unsigned int threads;
AVPacket *pkt;
FILE *file = NULL;
- char nal[MAX_SLICES * UINT16_MAX + AV_INPUT_BUFFER_PADDING_SIZE];
+ char * nal = NULL;
int nals = 0, ret = 0;
- char *p = nal;
+ char *p;
if (argc < 4) {
fprintf(stderr, "Usage: %s <threads> <input file> <output file>\n", argv[0]);
@@ -139,6 +139,11 @@ int main(int argc, char **argv)
return -1;
}
+ nal = av_malloc(MAX_SLICES * UINT16_MAX + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!nal)
+ goto err;
+ p = nal;
+
if (!(codec = avcodec_find_decoder(AV_CODEC_ID_H264))) {
fprintf(stderr, "Codec not found\n");
ret = -1;
@@ -223,6 +228,8 @@ int main(int argc, char **argv)
ret = decode(c, frame, NULL);
err:
+ if (nal)
+ av_free(nal);
if (file)
fclose(file);
av_frame_free(&frame);