1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-28 18:12:22 +00:00

vo_rpi: set aspect ratio

Otherwise, the MMAL output component will letter-box the video within
the specified dest_rect while keeping square pixels.
This commit is contained in:
wm4 2015-11-25 22:06:58 +01:00
parent 422ed42817
commit 19c1a208ec

View File

@ -171,17 +171,20 @@ static void resize(struct vo *vo)
vo_get_src_dst_rects(vo, &src, &dst, &p->osd_res);
int src_w = src.x1 - src.x0, src_h = src.y1 - src.y0,
dst_w = dst.x1 - dst.x0, dst_h = dst.y1 - dst.y0;
MMAL_DISPLAYREGION_T dr = {
.hdr = { .id = MMAL_PARAMETER_DISPLAYREGION,
.size = sizeof(MMAL_DISPLAYREGION_T), },
.src_rect = { .x = src.x0, .y = src.y0,
.width = src.x1 - src.x0, .height = src.y1 - src.y0, },
.dest_rect = { .x = dst.x0, .y = dst.y0,
.width = dst.x1 - dst.x0, .height = dst.y1 - dst.y0, },
.src_rect = { .x = src.x0, .y = src.y0, .width = src_w, .height = src_h },
.dest_rect = { .x = dst.x0, .y = dst.y0, .width = dst_w, .height = dst_h },
.layer = p->video_layer,
.display_num = p->display_nr,
.pixel_x = dst_w * src_h,
.pixel_y = src_w * dst_h,
.set = MMAL_DISPLAY_SET_SRC_RECT | MMAL_DISPLAY_SET_DEST_RECT |
MMAL_DISPLAY_SET_LAYER | MMAL_DISPLAY_SET_NUM,
MMAL_DISPLAY_SET_LAYER | MMAL_DISPLAY_SET_NUM |
MMAL_DISPLAY_SET_PIXEL,
};
if (mmal_port_parameter_set(input, &dr.hdr))