summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-04-14 17:08:14 +0200
committerKacper Michajłow <kasper93@gmail.com>2024-04-14 18:11:37 +0200
commit367d02e971bee27940da2f8629eb2a625d5e9bb1 (patch)
treeb5e19c9aea2f6c27422f8949946eb737388215f6 /demux
parent7bffdf3c7062a456c8ca6b63c9310955417a0fe7 (diff)
downloadmpv-367d02e971bee27940da2f8629eb2a625d5e9bb1.tar.bz2
mpv-367d02e971bee27940da2f8629eb2a625d5e9bb1.tar.xz
demux_mkv: don't warn if yaw/pitch projection is set to 0
This case will work fine, even if those are explicitly set.
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_mkv.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index 4cb9d88763..be606975bb 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -113,6 +113,8 @@ typedef struct mkv_track {
struct pl_color_repr repr;
struct pl_color_space color;
uint32_t v_crop_top, v_crop_left, v_crop_right, v_crop_bottom;
+ float v_projection_pose_yaw;
+ float v_projection_pose_pitch;
float v_projection_pose_roll;
uint32_t a_channels, a_bps;
@@ -657,14 +659,30 @@ static void parse_trackcolour(struct demuxer *demuxer, struct mkv_track *track,
static void parse_trackprojection(struct demuxer *demuxer, struct mkv_track *track,
struct ebml_projection *projection)
{
- if (projection->n_projection_pose_yaw || projection->n_projection_pose_pitch)
- MP_WARN(demuxer, "Projection pose yaw/pitch not supported!\n");
+ if (projection->n_projection_pose_yaw) {
+ track->v_projection_pose_yaw = projection->projection_pose_yaw;
+ MP_DBG(demuxer, "| + Projection pose yaw: %f\n",
+ track->v_projection_pose_yaw);
+ }
+
+ if (projection->n_projection_pose_pitch) {
+ track->v_projection_pose_pitch = projection->projection_pose_pitch;
+ MP_DBG(demuxer, "| + Projection pose pitch: %f\n",
+ track->v_projection_pose_pitch);
+ }
if (projection->n_projection_pose_roll) {
track->v_projection_pose_roll = projection->projection_pose_roll;
MP_DBG(demuxer, "| + Projection pose roll: %f\n",
track->v_projection_pose_roll);
}
+
+ if (track->v_projection_pose_yaw || track->v_projection_pose_pitch) {
+ MP_WARN(demuxer, "Not supported projection: yaw %f, pitch %f, roll %f\n",
+ track->v_projection_pose_yaw,
+ track->v_projection_pose_pitch,
+ track->v_projection_pose_roll);
+ }
}
static void parse_trackvideo(struct demuxer *demuxer, struct mkv_track *track,