| 454 | #define print_val(k, v, u) avtext_print_unit_integer(tfc, k, v, u) |
| 455 | |
| 456 | static void print_integers(AVTextFormatContext *tfc, const char *key, |
| 457 | const void *data, int size, const char *format, |
| 458 | int columns, int bytes, int offset_add) |
| 459 | { |
| 460 | AVBPrint bp; |
| 461 | unsigned offset = 0; |
| 462 | |
| 463 | av_bprint_init(&bp, 0, AV_BPRINT_SIZE_AUTOMATIC); |
| 464 | av_bprint_chars(&bp, '\n', 1); |
| 465 | while (size) { |
| 466 | av_bprintf(&bp, "%08x: ", offset); |
| 467 | for (int i = 0, l = FFMIN(size, columns); i < l; i++) { |
| 468 | if (bytes == 1) av_bprintf(&bp, format, *(const uint8_t*)data); |
| 469 | else if (bytes == 2) av_bprintf(&bp, format, AV_RN16(data)); |
| 470 | else if (bytes == 4) av_bprintf(&bp, format, AV_RN32(data)); |
| 471 | data = (const char*)data + bytes; |
| 472 | size--; |
| 473 | } |
| 474 | av_bprint_chars(&bp, '\n', 1); |
| 475 | offset += offset_add; |
| 476 | } |
| 477 | avtext_print_string(tfc, key, bp.str, 0); |
| 478 | } |
| 479 | |
| 480 | #define REALLOCZ_ARRAY_STREAM(ptr, cur_n, new_n) \ |
| 481 | { \ |
no test coverage detected