Unified · Split
| @@ -442,6 +442,23 @@ static void dump_s12m_timecode(void *ctx, const AVStream *st, const AVPacketSide · 441 unmodified lines | ||
| 442 | 442 | } |
| 443 | 443 | } |
| 444 | 444 | |
| 445 | +static void dump_cropping(void *ctx, const AVPacketSideData *sd) | |
| 446 | +{ | |
| 447 | + uint32_t top, bottom, left, right; | |
| 448 | + | |
| 449 | + if (sd->size < sizeof(uint32_t) * 4) { | |
| 450 | + av_log(ctx, AV_LOG_ERROR, "invalid data\n"); | |
| 451 | + return; | |
| 452 | + } | |
| 453 | + | |
| 454 | + top = AV_RL32(sd->data + 0); | |
| 455 | + bottom = AV_RL32(sd->data + 4); | |
| 456 | + left = AV_RL32(sd->data + 8); | |
| 457 | + right = AV_RL32(sd->data + 12); | |
| 458 | + | |
| 459 | + av_log(ctx, AV_LOG_INFO, "%d/%d/%d/%d", left, right, top, bottom); | |
| 460 | +} | |
| 461 | + | |
| 445 | 462 | static void dump_sidedata(void *ctx, const AVStream *st, const char *indent, |
| 446 | 463 | int log_level) |
| 447 | 464 | { |
| @@ -516,6 +533,10 @@ static void dump_sidedata(void *ctx, const AVStream *st, const char *indent, · 68 unmodified lines | ||
| 516 | 533 | case AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT: |
| 517 | 534 | dump_ambient_viewing_environment_metadata(ctx, sd); |
| 518 | 535 | break; |
| 536 | + case AV_PKT_DATA_FRAME_CROPPING: | |
| 537 | + av_log(ctx, AV_LOG_INFO, "Frame cropping: "); | |
| 538 | + dump_cropping(ctx, sd); | |
| 539 | + break; | |
| 519 | 540 | default: |
| 520 | 541 | av_log(ctx, log_level, "unknown side data type %d " |
| 521 | 542 | "(%"SIZE_SPECIFIER" bytes)", sd->type, sd->size); |