Showing the changes to libavformat (1 of 1 file). Show all
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 | static void dump_sidedata(void *ctx, const AVStream *st, const char *indent, | 462 | static void dump_sidedata(void *ctx, const AVStream *st, const char *indent, |
| 446 | int log_level) | 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 | case AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT: | 533 | case AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT: |
| 517 | dump_ambient_viewing_environment_metadata(ctx, sd); | 534 | dump_ambient_viewing_environment_metadata(ctx, sd); |
| 518 | break; | 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 | default: | 540 | default: |
| 520 | av_log(ctx, log_level, "unknown side data type %d " | 541 | av_log(ctx, log_level, "unknown side data type %d " |
| 521 | "(%"SIZE_SPECIFIER" bytes)", sd->type, sd->size); | 542 | "(%"SIZE_SPECIFIER" bytes)", sd->type, sd->size); |