demux_mkv: don't warn if yaw/pitch projection is set to 0

This case will work fine, even if those are explicitly set.
This commit is contained in:
Kacper Michajłow 2024-04-14 17:08:14 +02:00
parent 7bffdf3c70
commit 367d02e971
1 changed files with 20 additions and 2 deletions

View File

@ -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,