[FFmpeg-cvslog] fate-api-h264-slice: use the heap for nal buffer

Peter Ross git at videolan.org
Wed Nov 21 01:35:26 EET 2018


ffmpeg | branch: master | Peter Ross <pross at xvid.org> | Wed Nov 21 01:31:44 2018 +1100| [3fc7b69496fd586a609f9c8a2f1ed17e46bf5fff] | committer: Michael Niedermayer

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

nal buffer is 512 kilobytes

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3fc7b69496fd586a609f9c8a2f1ed17e46bf5fff
---

 tests/api/api-h264-slice-test.c | 11 +++++++++--
 1 file 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);



More information about the ffmpeg-cvslog mailing list