Commit 3fc7b694 authored by Peter Ross's avatar Peter Ross Committed by Michael Niedermayer

fate-api-h264-slice: use the heap for nal buffer

nal buffer is 512 kilobytes
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 7cda7d21
...@@ -117,9 +117,9 @@ int main(int argc, char **argv) ...@@ -117,9 +117,9 @@ int main(int argc, char **argv)
unsigned int threads; unsigned int threads;
AVPacket *pkt; AVPacket *pkt;
FILE *file = NULL; FILE *file = NULL;
char nal[MAX_SLICES * UINT16_MAX + AV_INPUT_BUFFER_PADDING_SIZE]; char * nal = NULL;
int nals = 0, ret = 0; int nals = 0, ret = 0;
char *p = nal; char *p;
if (argc < 4) { if (argc < 4) {
fprintf(stderr, "Usage: %s <threads> <input file> <output file>\n", argv[0]); fprintf(stderr, "Usage: %s <threads> <input file> <output file>\n", argv[0]);
...@@ -139,6 +139,11 @@ int main(int argc, char **argv) ...@@ -139,6 +139,11 @@ int main(int argc, char **argv)
return -1; 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))) { if (!(codec = avcodec_find_decoder(AV_CODEC_ID_H264))) {
fprintf(stderr, "Codec not found\n"); fprintf(stderr, "Codec not found\n");
ret = -1; ret = -1;
...@@ -223,6 +228,8 @@ int main(int argc, char **argv) ...@@ -223,6 +228,8 @@ int main(int argc, char **argv)
ret = decode(c, frame, NULL); ret = decode(c, frame, NULL);
err: err:
if (nal)
av_free(nal);
if (file) if (file)
fclose(file); fclose(file);
av_frame_free(&frame); av_frame_free(&frame);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment