- switch (spherical->projection) {
- case AV_SPHERICAL_EQUIRECTANGULAR:
- put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONTYPE,
- MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
- break;
- case AV_SPHERICAL_EQUIRECTANGULAR_TILE:
- {
- AVIOContext b;
- uint8_t private[20];
- ffio_init_context(&b, private, sizeof(private),
- 1, NULL, NULL, NULL, NULL);
- put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONTYPE,
- MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
- avio_wb32(&b, 0); // version + flags
- avio_wb32(&b, spherical->bound_top);
- avio_wb32(&b, spherical->bound_bottom);
- avio_wb32(&b, spherical->bound_left);
- avio_wb32(&b, spherical->bound_right);
- put_ebml_binary(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONPRIVATE, private, sizeof(private));
- break;
- }
- case AV_SPHERICAL_CUBEMAP:
- {
- AVIOContext b;
- uint8_t private[12];
- ffio_init_context(&b, private, sizeof(private),
- 1, NULL, NULL, NULL, NULL);
- put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONTYPE,
- MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP);
- avio_wb32(&b, 0); // version + flags
- avio_wb32(&b, 0); // layout
- avio_wb32(&b, spherical->padding);
- put_ebml_binary(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONPRIVATE, private, sizeof(private));
- break;
- }
- default:
- av_log(s, AV_LOG_WARNING, "Unknown projection type\n");
- goto end;
- }
+ switch (spherical->projection) {
+ case AV_SPHERICAL_EQUIRECTANGULAR:
+ put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONTYPE,
+ MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
+ break;
+ case AV_SPHERICAL_EQUIRECTANGULAR_TILE:
+ ffio_init_context(&b, private, 20, 1, NULL, NULL, NULL, NULL);
+ put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONTYPE,
+ MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
+ avio_wb32(&b, 0); // version + flags
+ avio_wb32(&b, spherical->bound_top);
+ avio_wb32(&b, spherical->bound_bottom);
+ avio_wb32(&b, spherical->bound_left);
+ avio_wb32(&b, spherical->bound_right);
+ put_ebml_binary(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
+ private, avio_tell(&b));
+ break;
+ case AV_SPHERICAL_CUBEMAP:
+ ffio_init_context(&b, private, 12, 1, NULL, NULL, NULL, NULL);
+ put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONTYPE,
+ MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP);
+ avio_wb32(&b, 0); // version + flags
+ avio_wb32(&b, 0); // layout
+ avio_wb32(&b, spherical->padding);
+ put_ebml_binary(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
+ private, avio_tell(&b));
+ break;
+ default:
+ av_log(s, AV_LOG_WARNING, "Unknown projection type\n");
+ goto end;
+ }