}
static void print_pkt_side_data(WriterContext *w,
+ AVCodecParameters *par,
const AVPacketSideData *side_data,
int nb_side_data,
SectionID id_data_list,
writer_print_section_header(w, SECTION_ID_STREAM_SIDE_DATA);
print_str("side_data_type", name ? name : "unknown");
- print_int("side_data_size", sd->size);
if (sd->type == AV_PKT_DATA_DISPLAYMATRIX && sd->size >= 9*4) {
writer_print_integers(w, "displaymatrix", sd->data, 9, " %11d", 3, 4, 1);
print_int("rotation", av_display_rotation_get((int32_t *)sd->data));
const AVSphericalMapping *spherical = (AVSphericalMapping *)sd->data;
if (spherical->projection == AV_SPHERICAL_EQUIRECTANGULAR)
print_str("projection", "equirectangular");
- else if (spherical->projection == AV_SPHERICAL_CUBEMAP)
+ else if (spherical->projection == AV_SPHERICAL_CUBEMAP) {
print_str("projection", "cubemap");
- else
+ print_int("padding", spherical->padding);
+ } else if (spherical->projection == AV_SPHERICAL_EQUIRECTANGULAR_TILE) {
+ size_t l, t, r, b;
+ av_spherical_tile_bounds(spherical, par->width, par->height,
+ &l, &t, &r, &b);
+ print_str("projection", "tiled equirectangular");
+ print_int("bound_left", l);
+ print_int("bound_top", t);
+ print_int("bound_right", r);
+ print_int("bound_bottom", b);
+ } else
print_str("projection", "unknown");
print_int("yaw", (double) spherical->yaw / (1 << 16));
av_dict_free(&dict);
}
- print_pkt_side_data(w, pkt->side_data, pkt->side_data_elems,
+ print_pkt_side_data(w, st->codecpar, pkt->side_data, pkt->side_data_elems,
SECTION_ID_PACKET_SIDE_DATA_LIST,
SECTION_ID_PACKET_SIDE_DATA);
}
writer_print_section_header(w, SECTION_ID_FRAME_SIDE_DATA);
name = av_frame_side_data_name(sd->type);
print_str("side_data_type", name ? name : "unknown");
- print_int("side_data_size", sd->size);
if (sd->type == AV_FRAME_DATA_DISPLAYMATRIX && sd->size >= 9*4) {
writer_print_integers(w, "displaymatrix", sd->data, 9, " %11d", 3, 4, 1);
print_int("rotation", av_display_rotation_get((int32_t *)sd->data));
ret = show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);
if (stream->nb_side_data) {
- print_pkt_side_data(w, stream->side_data, stream->nb_side_data,
+ print_pkt_side_data(w, stream->codecpar, stream->side_data, stream->nb_side_data,
SECTION_ID_STREAM_SIDE_DATA_LIST,
SECTION_ID_STREAM_SIDE_DATA);
}
AVDictionary **opts;
int scan_all_pmts_set = 0;
+ fmt_ctx = avformat_alloc_context();
+ if (!fmt_ctx) {
+ print_error(filename, AVERROR(ENOMEM));
+ exit_program(1);
+ }
+
+ fmt_ctx->flags |= AVFMT_FLAG_KEEP_SIDE_DATA;
+
if (!av_dict_get(format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE)) {
av_dict_set(&format_opts, "scan_all_pmts", "1", AV_DICT_DONT_OVERWRITE);
scan_all_pmts_set = 1;
printf("\n");
show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM);
+ show_help_children(avcodec_get_class(), AV_OPT_FLAG_DECODING_PARAM);
}
/**