diff options
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux_mkv.c | 119 |
1 files changed, 58 insertions, 61 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c index c54b2d43ba..5eaa7bbb07 100644 --- a/demux/demux_mkv.c +++ b/demux/demux_mkv.c @@ -404,7 +404,7 @@ static int demux_mkv_read_info(demuxer_t *demuxer) stream_t *s = demuxer->stream; int res = 0; - MP_VERBOSE(demuxer, "|+ segment information...\n"); + MP_DBG(demuxer, "|+ segment information...\n"); mkv_d->tc_scale = 1000000; mkv_d->duration = 0; @@ -414,12 +414,12 @@ static int demux_mkv_read_info(demuxer_t *demuxer) if (ebml_read_element(s, &parse_ctx, &info, &ebml_info_desc) < 0) return -1; if (info.muxing_app) - MP_VERBOSE(demuxer, "| + muxing app: %s\n", info.muxing_app); + MP_DBG(demuxer, "| + muxing app: %s\n", info.muxing_app); if (info.writing_app) - MP_VERBOSE(demuxer, "| + writing app: %s\n", info.writing_app); + MP_DBG(demuxer, "| + writing app: %s\n", info.writing_app); if (info.n_timecode_scale) { mkv_d->tc_scale = info.timecode_scale; - MP_VERBOSE(demuxer, "| + timecode scale: %"PRId64"\n", mkv_d->tc_scale); + MP_DBG(demuxer, "| + timecode scale: %"PRId64"\n", mkv_d->tc_scale); if (mkv_d->tc_scale < 1 || mkv_d->tc_scale > INT_MAX) { res = -1; goto out; @@ -427,7 +427,7 @@ static int demux_mkv_read_info(demuxer_t *demuxer) } if (info.n_duration) { mkv_d->duration = info.duration * mkv_d->tc_scale / 1e9; - MP_VERBOSE(demuxer, "| + duration: %.3fs\n", + MP_DBG(demuxer, "| + duration: %.3fs\n", mkv_d->duration); demuxer->duration = mkv_d->duration; } @@ -441,11 +441,11 @@ static int demux_mkv_read_info(demuxer_t *demuxer) } else { memcpy(demuxer->matroska_data.uid.segment, info.segment_uid.start, len); - MP_VERBOSE(demuxer, "| + segment uid"); + MP_DBG(demuxer, "| + segment uid"); for (size_t i = 0; i < len; i++) - MP_VERBOSE(demuxer, " %02x", + MP_DBG(demuxer, " %02x", demuxer->matroska_data.uid.segment[i]); - MP_VERBOSE(demuxer, "\n"); + MP_DBG(demuxer, "\n"); } } if (demuxer->params && demuxer->params->matroska_wanted_uids) { @@ -539,23 +539,23 @@ static void parse_trackaudio(struct demuxer *demuxer, struct mkv_track *track, { if (audio->n_sampling_frequency) { track->a_sfreq = audio->sampling_frequency; - MP_VERBOSE(demuxer, "| + Sampling frequency: %f\n", track->a_sfreq); + MP_DBG(demuxer, "| + Sampling frequency: %f\n", track->a_sfreq); } else { track->a_sfreq = 8000; } if (audio->n_output_sampling_frequency) { track->a_osfreq = audio->output_sampling_frequency; - MP_VERBOSE(demuxer, "| + Output sampling frequency: %f\n", track->a_osfreq); + MP_DBG(demuxer, "| + Output sampling frequency: %f\n", track->a_osfreq); } else { track->a_osfreq = track->a_sfreq; } if (audio->n_bit_depth) { track->a_bps = audio->bit_depth; - MP_VERBOSE(demuxer, "| + Bit depth: %"PRIu32"\n", track->a_bps); + MP_DBG(demuxer, "| + Bit depth: %"PRIu32"\n", track->a_bps); } if (audio->n_channels) { track->a_channels = audio->channels; - MP_VERBOSE(demuxer, "| + Channels: %"PRIu32"\n", track->a_channels); + MP_DBG(demuxer, "| + Channels: %"PRIu32"\n", track->a_channels); } else { track->a_channels = 1; } @@ -569,27 +569,27 @@ static void parse_trackcolour(struct demuxer *demuxer, struct mkv_track *track, // so we can just re-use our avcol_ conversion functions. if (colour->n_matrix_coefficients) { track->color.space = avcol_spc_to_mp_csp(colour->matrix_coefficients); - MP_VERBOSE(demuxer, "| + Matrix: %s\n", + MP_DBG(demuxer, "| + Matrix: %s\n", m_opt_choice_str(mp_csp_names, track->color.space)); } if (colour->n_primaries) { track->color.primaries = avcol_pri_to_mp_csp_prim(colour->primaries); - MP_VERBOSE(demuxer, "| + Primaries: %s\n", + MP_DBG(demuxer, "| + Primaries: %s\n", m_opt_choice_str(mp_csp_prim_names, track->color.primaries)); } if (colour->n_transfer_characteristics) { track->color.gamma = avcol_trc_to_mp_csp_trc(colour->transfer_characteristics); - MP_VERBOSE(demuxer, "| + Gamma: %s\n", + MP_DBG(demuxer, "| + Gamma: %s\n", m_opt_choice_str(mp_csp_trc_names, track->color.gamma)); } if (colour->n_range) { track->color.levels = avcol_range_to_mp_csp_levels(colour->range); - MP_VERBOSE(demuxer, "| + Levels: %s\n", + MP_DBG(demuxer, "| + Levels: %s\n", m_opt_choice_str(mp_csp_levels_names, track->color.levels)); } if (colour->n_max_cll) { track->color.sig_peak = colour->max_cll / MP_REF_WHITE; - MP_VERBOSE(demuxer, "| + MaxCLL: %"PRIu64"\n", colour->max_cll); + MP_DBG(demuxer, "| + MaxCLL: %"PRIu64"\n", colour->max_cll); } // if MaxCLL is unavailable, try falling back to the mastering metadata if (!track->color.sig_peak && colour->n_mastering_metadata) { @@ -597,7 +597,7 @@ static void parse_trackcolour(struct demuxer *demuxer, struct mkv_track *track, if (mastering->n_luminance_max) { track->color.sig_peak = mastering->luminance_max / MP_REF_WHITE; - MP_VERBOSE(demuxer, "| + HDR peak: %f\n", track->color.sig_peak); + MP_DBG(demuxer, "| + HDR peak: %f\n", track->color.sig_peak); } } } @@ -606,39 +606,36 @@ static void parse_trackvideo(struct demuxer *demuxer, struct mkv_track *track, struct ebml_video *video) { if (video->n_frame_rate) { - MP_VERBOSE(demuxer, "| + Frame rate: %f (ignored)\n", video->frame_rate); + MP_DBG(demuxer, "| + Frame rate: %f (ignored)\n", video->frame_rate); } if (video->n_display_width) { track->v_dwidth = video->display_width; track->v_dwidth_set = true; - MP_VERBOSE(demuxer, "| + Display width: %"PRIu32"\n", - track->v_dwidth); + MP_DBG(demuxer, "| + Display width: %"PRIu32"\n", track->v_dwidth); } if (video->n_display_height) { track->v_dheight = video->display_height; track->v_dheight_set = true; - MP_VERBOSE(demuxer, "| + Display height: %"PRIu32"\n", - track->v_dheight); + MP_DBG(demuxer, "| + Display height: %"PRIu32"\n", track->v_dheight); } if (video->n_pixel_width) { track->v_width = video->pixel_width; - MP_VERBOSE(demuxer, "| + Pixel width: %"PRIu32"\n", track->v_width); + MP_DBG(demuxer, "| + Pixel width: %"PRIu32"\n", track->v_width); } if (video->n_pixel_height) { track->v_height = video->pixel_height; - MP_VERBOSE(demuxer, "| + Pixel height: %"PRIu32"\n", track->v_height); + MP_DBG(demuxer, "| + Pixel height: %"PRIu32"\n", track->v_height); } if (video->n_colour_space && video->colour_space.len == 4) { uint8_t *d = (uint8_t *)&video->colour_space.start[0]; track->colorspace = d[0] | (d[1] << 8) | (d[2] << 16) | (d[3] << 24); - MP_VERBOSE(demuxer, "| + Colorspace: %#"PRIx32"\n", - track->colorspace); + MP_DBG(demuxer, "| + Colorspace: %#"PRIx32"\n", track->colorspace); } if (video->n_stereo_mode) { const char *name = MP_STEREO3D_NAME(video->stereo_mode); if (name) { track->stereo_mode = video->stereo_mode; - MP_VERBOSE(demuxer, "| + StereoMode: %s\n", name); + MP_DBG(demuxer, "| + StereoMode: %s\n", name); } else { MP_WARN(demuxer, "Unknown StereoMode: %"PRIu64"\n", video->stereo_mode); @@ -668,7 +665,7 @@ static void parse_trackentry(struct demuxer *demuxer, track->tnum = entry->track_number; if (track->tnum) { - MP_VERBOSE(demuxer, "| + Track number: %d\n", track->tnum); + MP_DBG(demuxer, "| + Track number: %d\n", track->tnum); } else { MP_ERR(demuxer, "Missing track number!\n"); } @@ -676,39 +673,39 @@ static void parse_trackentry(struct demuxer *demuxer, if (entry->name) { track->name = talloc_strdup(track, entry->name); - MP_VERBOSE(demuxer, "| + Name: %s\n", track->name); + MP_DBG(demuxer, "| + Name: %s\n", track->name); } track->type = entry->track_type; - MP_VERBOSE(demuxer, "| + Track type: "); + MP_DBG(demuxer, "| + Track type: "); switch (track->type) { case MATROSKA_TRACK_AUDIO: - MP_VERBOSE(demuxer, "Audio\n"); + MP_DBG(demuxer, "Audio\n"); break; case MATROSKA_TRACK_VIDEO: - MP_VERBOSE(demuxer, "Video\n"); + MP_DBG(demuxer, "Video\n"); break; case MATROSKA_TRACK_SUBTITLE: - MP_VERBOSE(demuxer, "Subtitle\n"); + MP_DBG(demuxer, "Subtitle\n"); break; default: - MP_VERBOSE(demuxer, "unknown\n"); + MP_DBG(demuxer, "unknown\n"); break; } if (entry->n_audio) { - MP_VERBOSE(demuxer, "| + Audio track\n"); + MP_DBG(demuxer, "| + Audio track\n"); parse_trackaudio(demuxer, track, &entry->audio); } if (entry->n_video) { - MP_VERBOSE(demuxer, "| + Video track\n"); + MP_DBG(demuxer, "| + Video track\n"); parse_trackvideo(demuxer, track, &entry->video); } if (entry->codec_id) { track->codec_id = talloc_strdup(track, entry->codec_id); - MP_VERBOSE(demuxer, "| + Codec ID: %s\n", track->codec_id); + MP_DBG(demuxer, "| + Codec ID: %s\n", track->codec_id); } else { MP_ERR(demuxer, "Missing codec ID!\n"); track->codec_id = ""; @@ -719,36 +716,36 @@ static void parse_trackentry(struct demuxer *demuxer, track->private_data = talloc_size(track, len + AV_LZO_INPUT_PADDING); memcpy(track->private_data, entry->codec_private.start, len); track->private_size = len; - MP_VERBOSE(demuxer, "| + CodecPrivate, length %u\n", track->private_size); + MP_DBG(demuxer, "| + CodecPrivate, length %u\n", track->private_size); } if (entry->language) { track->language = talloc_strdup(track, entry->language); - MP_VERBOSE(demuxer, "| + Language: %s\n", track->language); + MP_DBG(demuxer, "| + Language: %s\n", track->language); } else { track->language = talloc_strdup(track, "eng"); } if (entry->n_flag_default) { track->default_track = entry->flag_default; - MP_VERBOSE(demuxer, "| + Default flag: %d\n", track->default_track); + MP_DBG(demuxer, "| + Default flag: %d\n", track->default_track); } else { track->default_track = 1; } if (entry->n_flag_forced) { track->forced_track = entry->flag_forced; - MP_VERBOSE(demuxer, "| + Forced flag: %d\n", track->forced_track); + MP_DBG(demuxer, "| + Forced flag: %d\n", track->forced_track); } if (entry->n_default_duration) { track->default_duration = entry->default_duration / 1e9; if (entry->default_duration == 0) { - MP_VERBOSE(demuxer, "| + Default duration: 0"); + MP_DBG(demuxer, "| + Default duration: 0"); } else { track->v_frate = 1e9 / entry->default_duration; - MP_VERBOSE(demuxer, "| + Default duration: %.3fms ( = %.3f fps)\n", - entry->default_duration / 1000000.0, track->v_frate); + MP_DBG(demuxer, "| + Default duration: %.3fms ( = %.3f fps)\n", + entry->default_duration / 1000000.0, track->v_frate); } } @@ -766,7 +763,7 @@ static int demux_mkv_read_tracks(demuxer_t *demuxer) mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv; stream_t *s = demuxer->stream; - MP_VERBOSE(demuxer, "|+ segment tracks...\n"); + MP_DBG(demuxer, "|+ segment tracks...\n"); struct ebml_tracks tracks = {0}; struct ebml_parse_ctx parse_ctx = {demuxer->log}; @@ -776,7 +773,7 @@ static int demux_mkv_read_tracks(demuxer_t *demuxer) mkv_d->tracks = talloc_zero_array(mkv_d, struct mkv_track*, tracks.n_track_entry); for (int i = 0; i < tracks.n_track_entry; i++) { - MP_VERBOSE(demuxer, "| + a track...\n"); + MP_DBG(demuxer, "| + a track...\n"); parse_trackentry(demuxer, &tracks.track_entry[i]); } talloc_free(parse_ctx.talloc_ctx); @@ -895,7 +892,7 @@ static int demux_mkv_read_chapters(struct demuxer *demuxer) if (wanted_edition_uid) wanted_edition = -1; - MP_VERBOSE(demuxer, "Parsing chapters...\n"); + MP_DBG(demuxer, "Parsing chapters...\n"); struct ebml_chapters file_chapters = {0}; struct ebml_parse_ctx parse_ctx = {demuxer->log}; if (ebml_read_element(s, &parse_ctx, &file_chapters, @@ -1001,15 +998,15 @@ static int demux_mkv_read_chapters(struct demuxer *demuxer) chapter.uid.edition = ca->chapter_segment_edition_uid; else chapter.uid.edition = 0; - MP_VERBOSE(demuxer, "Chapter segment uid "); + MP_DBG(demuxer, "Chapter segment uid "); for (int n = 0; n < len; n++) - MP_VERBOSE(demuxer, "%02x ", + MP_DBG(demuxer, "%02x ", chapter.uid.segment[n]); - MP_VERBOSE(demuxer, "\n"); + MP_DBG(demuxer, "\n"); } } - MP_VERBOSE(demuxer, "Chapter %u from %02d:%02d:%02d.%03d " + MP_DBG(demuxer, "Chapter %u from %02d:%02d:%02d.%03d " "to %02d:%02d:%02d.%03d, %s\n", i, (int) (chapter.start / 60 / 60 / 1000000000), (int) ((chapter.start / 60 / 1000000000) % 60), @@ -1116,7 +1113,7 @@ static int demux_mkv_read_attachments(demuxer_t *demuxer) { stream_t *s = demuxer->stream; - MP_VERBOSE(demuxer, "Parsing attachments...\n"); + MP_DBG(demuxer, "Parsing attachments...\n"); struct ebml_attachments attachments = {0}; struct ebml_parse_ctx parse_ctx = {demuxer->log}; @@ -1135,8 +1132,8 @@ static int demux_mkv_read_attachments(demuxer_t *demuxer) char *mime = attachment->file_mime_type; demuxer_add_attachment(demuxer, name, mime, attachment->file_data.start, attachment->file_data.len); - MP_VERBOSE(demuxer, "Attachment: %s, %s, %zu bytes\n", - name, mime, attachment->file_data.len); + MP_DBG(demuxer, "Attachment: %s, %s, %zu bytes\n", + name, mime, attachment->file_data.len); } talloc_free(parse_ctx.talloc_ctx); @@ -1191,7 +1188,7 @@ static int demux_mkv_read_seekhead(demuxer_t *demuxer) struct ebml_seek_head seekhead = {0}; struct ebml_parse_ctx parse_ctx = {demuxer->log}; - MP_VERBOSE(demuxer, "Parsing seek head...\n"); + MP_DBG(demuxer, "Parsing seek head...\n"); if (ebml_read_element(s, &parse_ctx, &seekhead, &ebml_seek_head_desc) < 0) { res = -1; goto out; @@ -1594,7 +1591,7 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track) // The private_data contains a WAVEFORMATEX struct if (track->private_size < 18) goto error; - MP_VERBOSE(demuxer, "track with MS compat audio.\n"); + MP_DBG(demuxer, "track with MS compat audio.\n"); unsigned char *h = track->private_data; sh_a->codec_tag = AV_RL16(h + 0); // wFormatTag if (track->a_channels == 0) @@ -1962,13 +1959,13 @@ static int read_mkv_segment_header(demuxer_t *demuxer, int64_t *segment_end) MP_VERBOSE(demuxer, "segment not found\n"); return 0; } - MP_VERBOSE(demuxer, "+ a segment...\n"); + MP_DBG(demuxer, "+ a segment...\n"); uint64_t len = ebml_read_length(s); *segment_end = (len == EBML_UINT_INVALID) ? 0 : stream_tell(s) + len; if (num_skip <= 0) return 1; num_skip--; - MP_VERBOSE(demuxer, " (skipping)\n"); + MP_DBG(demuxer, " (skipping)\n"); if (*segment_end <= 0) break; if (*segment_end >= stream_get_size(s)) @@ -2011,7 +2008,7 @@ static int demux_mkv_open(demuxer_t *demuxer, enum demux_check check) if (!read_ebml_header(demuxer)) return -1; - MP_VERBOSE(demuxer, "Found the head...\n"); + MP_DBG(demuxer, "Found the head...\n"); if (!read_mkv_segment_header(demuxer, &end_pos)) return -1; @@ -2038,7 +2035,7 @@ static int demux_mkv_open(demuxer_t *demuxer, enum demux_check check) break; } if (id == MATROSKA_ID_CLUSTER) { - MP_VERBOSE(demuxer, "|+ found cluster\n"); + MP_DBG(demuxer, "|+ found cluster\n"); mkv_d->cluster_start = start_pos; break; } |