summaryrefslogtreecommitdiffstats
path: root/video/decode
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2016-06-29 09:16:13 +0200
committerwm4 <wm4@nowhere>2016-07-03 19:42:52 +0200
commitd81fb97f4587f73f62a760b99f686139f9b8d966 (patch)
treef97ec972e64160e1a479c1b31daf73af32ca54e1 /video/decode
parent3abf9c9204e2fcbc1910deb102efab4ab9d8c149 (diff)
downloadmpv-d81fb97f4587f73f62a760b99f686139f9b8d966.tar.bz2
mpv-d81fb97f4587f73f62a760b99f686139f9b8d966.tar.xz
mp_image: split colorimetry metadata into its own struct
This has two reasons: 1. I tend to add new fields to this metadata, and every time I've done so I've consistently forgotten to update all of the dozens of places in which this colorimetry metadata might end up getting used. While most usages don't really care about most of the metadata, sometimes the intend was simply to “copy” the colorimetry metadata from one struct to another. With this being inside a substruct, those lines of code can now simply read a.color = b.color without having to care about added or removed fields. 2. It makes the type definitions nicer for upcoming refactors. In going through all of the usages, I also expanded a few where I felt that omitting the “young” fields was a bug.
Diffstat (limited to 'video/decode')
-rw-r--r--video/decode/vd_lavc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index be6aceb662..62fc4ff280 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -578,10 +578,12 @@ static void update_image_params(struct dec_video *vd, AVFrame *frame,
.h = frame->height,
.p_w = frame->sample_aspect_ratio.num,
.p_h = frame->sample_aspect_ratio.den,
- .colorspace = avcol_spc_to_mp_csp(ctx->avctx->colorspace),
- .colorlevels = avcol_range_to_mp_csp_levels(ctx->avctx->color_range),
- .primaries = avcol_pri_to_mp_csp_prim(ctx->avctx->color_primaries),
- .gamma = avcol_trc_to_mp_csp_trc(ctx->avctx->color_trc),
+ .color = {
+ .space = avcol_spc_to_mp_csp(ctx->avctx->colorspace),
+ .levels = avcol_range_to_mp_csp_levels(ctx->avctx->color_range),
+ .primaries = avcol_pri_to_mp_csp_prim(ctx->avctx->color_primaries),
+ .gamma = avcol_trc_to_mp_csp_trc(ctx->avctx->color_trc),
+ },
.chroma_location =
avchroma_location_to_mp(ctx->avctx->chroma_sample_location),
.rotate = vd->codec->rotate,