X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fdump.c;h=5e9a03185f16f2a79f00ba1c4df28e674f3cd023;hb=c5324d92c5f206dcdc2cf93ae237eaa7c1ad0a40;hp=bb8c72fc6088ec2336922522d7b1f217e166c331;hpb=f32d2939555706365ad1d39aadd5ee7ce1d9fa4f;p=ffmpeg diff --git a/libavformat/dump.c b/libavformat/dump.c index bb8c72fc608..5e9a03185f1 100644 --- a/libavformat/dump.c +++ b/libavformat/dump.c @@ -27,6 +27,7 @@ #include "libavutil/intreadwrite.h" #include "libavutil/log.h" #include "libavutil/mastering_display_metadata.h" +#include "libavutil/dovi_meta.h" #include "libavutil/mathematics.h" #include "libavutil/opt.h" #include "libavutil/avstring.h" @@ -210,7 +211,7 @@ static void dump_paramchange(void *ctx, AVPacketSideData *sd) return; fail: - av_log(ctx, AV_LOG_INFO, "unknown param"); + av_log(ctx, AV_LOG_ERROR, "unknown param"); } /* replaygain side data*/ @@ -239,7 +240,7 @@ static void dump_replaygain(void *ctx, AVPacketSideData *sd) AVReplayGain *rg; if (sd->size < sizeof(*rg)) { - av_log(ctx, AV_LOG_INFO, "invalid data"); + av_log(ctx, AV_LOG_ERROR, "invalid data"); return; } rg = (AVReplayGain*)sd->data; @@ -255,7 +256,7 @@ static void dump_stereo3d(void *ctx, AVPacketSideData *sd) AVStereo3D *stereo; if (sd->size < sizeof(*stereo)) { - av_log(ctx, AV_LOG_INFO, "invalid data"); + av_log(ctx, AV_LOG_ERROR, "invalid data"); return; } @@ -272,7 +273,7 @@ static void dump_audioservicetype(void *ctx, AVPacketSideData *sd) enum AVAudioServiceType *ast = (enum AVAudioServiceType *)sd->data; if (sd->size < sizeof(*ast)) { - av_log(ctx, AV_LOG_INFO, "invalid data"); + av_log(ctx, AV_LOG_ERROR, "invalid data"); return; } @@ -315,15 +316,22 @@ static void dump_cpb(void *ctx, AVPacketSideData *sd) AVCPBProperties *cpb = (AVCPBProperties *)sd->data; if (sd->size < sizeof(*cpb)) { - av_log(ctx, AV_LOG_INFO, "invalid data"); + av_log(ctx, AV_LOG_ERROR, "invalid data"); return; } av_log(ctx, AV_LOG_INFO, - "bitrate max/min/avg: %d/%d/%d buffer size: %d vbv_delay: %"PRId64, +#if FF_API_UNSANITIZED_BITRATES + "bitrate max/min/avg: %d/%d/%d buffer size: %d ", +#else + "bitrate max/min/avg: %"PRId64"/%"PRId64"/%"PRId64" buffer size: %d ", +#endif cpb->max_bitrate, cpb->min_bitrate, cpb->avg_bitrate, - cpb->buffer_size, - cpb->vbv_delay); + cpb->buffer_size); + if (cpb->vbv_delay == UINT64_MAX) + av_log(ctx, AV_LOG_INFO, "vbv_delay: N/A"); + else + av_log(ctx, AV_LOG_INFO, "vbv_delay: %"PRIu64"", cpb->vbv_delay); } static void dump_mastering_display_metadata(void *ctx, AVPacketSideData* sd) { @@ -357,7 +365,7 @@ static void dump_spherical(void *ctx, AVCodecParameters *par, AVPacketSideData * double yaw, pitch, roll; if (sd->size < sizeof(*spherical)) { - av_log(ctx, AV_LOG_INFO, "invalid data"); + av_log(ctx, AV_LOG_ERROR, "invalid data"); return; } @@ -380,6 +388,20 @@ static void dump_spherical(void *ctx, AVCodecParameters *par, AVPacketSideData * } } +static void dump_dovi_conf(void *ctx, AVPacketSideData* sd) +{ + AVDOVIDecoderConfigurationRecord *dovi = (AVDOVIDecoderConfigurationRecord *)sd->data; + + av_log(ctx, AV_LOG_INFO, "version: %d.%d, profile: %d, level: %d, " + "rpu flag: %d, el flag: %d, bl flag: %d, compatibility id: %d", + dovi->dv_version_major, dovi->dv_version_minor, + dovi->dv_profile, dovi->dv_level, + dovi->rpu_present_flag, + dovi->el_present_flag, + dovi->bl_present_flag, + dovi->dv_bl_signal_compatibility_id); +} + static void dump_sidedata(void *ctx, AVStream *st, const char *indent) { int i; @@ -439,6 +461,13 @@ static void dump_sidedata(void *ctx, AVStream *st, const char *indent) case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: dump_content_light_metadata(ctx, &sd); break; + case AV_PKT_DATA_ICC_PROFILE: + av_log(ctx, AV_LOG_INFO, "ICC Profile"); + break; + case AV_PKT_DATA_DOVI_CONF: + av_log(ctx, AV_LOG_INFO, "DOVI configuration record: "); + dump_dovi_conf(ctx, &sd); + break; default: av_log(ctx, AV_LOG_INFO, "unknown side data type %d (%d bytes)", sd.type, sd.size); @@ -547,8 +576,16 @@ static void dump_stream_format(AVFormatContext *ic, int i, av_log(NULL, AV_LOG_INFO, " (visual impaired)"); if (st->disposition & AV_DISPOSITION_CLEAN_EFFECTS) av_log(NULL, AV_LOG_INFO, " (clean effects)"); + if (st->disposition & AV_DISPOSITION_ATTACHED_PIC) + av_log(NULL, AV_LOG_INFO, " (attached pic)"); + if (st->disposition & AV_DISPOSITION_TIMED_THUMBNAILS) + av_log(NULL, AV_LOG_INFO, " (timed thumbnails)"); + if (st->disposition & AV_DISPOSITION_CAPTIONS) + av_log(NULL, AV_LOG_INFO, " (captions)"); if (st->disposition & AV_DISPOSITION_DESCRIPTIONS) av_log(NULL, AV_LOG_INFO, " (descriptions)"); + if (st->disposition & AV_DISPOSITION_METADATA) + av_log(NULL, AV_LOG_INFO, " (metadata)"); if (st->disposition & AV_DISPOSITION_DEPENDENT) av_log(NULL, AV_LOG_INFO, " (dependent)"); if (st->disposition & AV_DISPOSITION_STILL_IMAGE)