diff options
author | Kacper Michajłow <kasper93@gmail.com> | 2023-09-01 12:25:27 +0200 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2023-09-08 02:27:08 +0000 |
commit | 4d853c55454481c60d3d096a9bc4205e8adec766 (patch) | |
tree | 8021481018d323899f706ad76b8130782ada5f6d /video/mp_image.c | |
parent | 37d0deadd40d57b43bd8020f0143be46f3bf998a (diff) | |
download | mpv-4d853c55454481c60d3d096a9bc4205e8adec766.tar.bz2 mpv-4d853c55454481c60d3d096a9bc4205e8adec766.tar.xz |
mp_image: add missing crop initialization
This enabled cropping of container signaled rect.
Diffstat (limited to 'video/mp_image.c')
-rw-r--r-- | video/mp_image.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/video/mp_image.c b/video/mp_image.c index f04854586e..b12588e7c2 100644 --- a/video/mp_image.c +++ b/video/mp_image.c @@ -522,6 +522,7 @@ void mp_image_copy_attributes(struct mp_image *dst, struct mp_image *src) dst->params.color = src->params.color; dst->params.chroma_location = src->params.chroma_location; dst->params.alpha = src->params.alpha; + dst->params.crop = src->params.crop; dst->nominal_fps = src->nominal_fps; // ensure colorspace consistency @@ -1011,6 +1012,11 @@ struct mp_image *mp_image_from_av_frame(struct AVFrame *src) dst->pict_type = src->pict_type; + dst->params.crop.x0 = src->crop_left; + dst->params.crop.y0 = src->crop_top; + dst->params.crop.x1 = src->width - src->crop_right; + dst->params.crop.y1 = src->height - src->crop_bottom; + dst->fields = 0; #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(58, 7, 100) if (src->flags & AV_FRAME_FLAG_INTERLACED) @@ -1042,6 +1048,7 @@ struct mp_image *mp_image_from_av_frame(struct AVFrame *src) // Might be incorrect if colorspace changes. dst->params.color.light = p->color.light; dst->params.alpha = p->alpha; + dst->params.crop = p->crop; } sd = av_frame_get_side_data(src, AV_FRAME_DATA_DISPLAYMATRIX); |