#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"
av_log(ctx, AV_LOG_INFO,
#if FF_API_UNSANITIZED_BITRATES
- "bitrate max/min/avg: %d/%d/%d buffer size: %d vbv_delay: %"PRIu64,
+ "bitrate max/min/avg: %d/%d/%d buffer size: %d ",
#else
- "bitrate max/min/avg: %"PRId64"/%"PRId64"/%"PRId64" buffer size: %d vbv_delay: %"PRIu64,
+ "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) {
}
}
+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;
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);