[FFmpeg-cvslog] ffprobe: add writer_print_integers() to allow printing formated 1d and 2d arrays of integers
Michael Niedermayer
git at videolan.org
Sun May 3 00:59:50 CEST 2015
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat May 2 23:45:00 2015 +0200| [2a3270b66c3ce118e4a30afda5f9522bdc8906fd] | committer: Michael Niedermayer
ffprobe: add writer_print_integers() to allow printing formated 1d and 2d arrays of integers
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2a3270b66c3ce118e4a30afda5f9522bdc8906fd
---
ffprobe.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/ffprobe.c b/ffprobe.c
index 9ee2850..3d15d66 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -37,6 +37,7 @@
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/dict.h"
+#include "libavutil/intreadwrite.h"
#include "libavutil/libm.h"
#include "libavutil/parseutils.h"
#include "libavutil/timecode.h"
@@ -718,6 +719,32 @@ static void writer_print_data_hash(WriterContext *wctx, const char *name,
writer_print_string(wctx, name, buf, 0);
}
+static void writer_print_integers(WriterContext *wctx, const char *name,
+ uint8_t *data, int size, const char *format,
+ int columns, int bytes, int offset_add)
+{
+ AVBPrint bp;
+ int offset = 0, l, i;
+
+ av_bprint_init(&bp, 0, AV_BPRINT_SIZE_UNLIMITED);
+ av_bprintf(&bp, "\n");
+ while (size) {
+ av_bprintf(&bp, "%08x: ", offset);
+ l = FFMIN(size, columns);
+ for (i = 0; i < l; i++) {
+ if (bytes == 1) av_bprintf(&bp, format, *data);
+ else if (bytes == 2) av_bprintf(&bp, format, AV_RN16(data));
+ else if (bytes == 4) av_bprintf(&bp, format, AV_RN32(data));
+ data += bytes;
+ size --;
+ }
+ av_bprintf(&bp, "\n");
+ offset += offset_add;
+ }
+ writer_print_string(wctx, name, bp.str, 0);
+ av_bprint_finalize(&bp, NULL);
+}
+
#define MAX_REGISTERED_WRITERS_NB 64
static const Writer *registered_writers[MAX_REGISTERED_WRITERS_NB + 1];
More information about the ffmpeg-cvslog
mailing list