diff options
author | wm4 <wm4@nowhere> | 2020-05-09 17:57:24 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-05-09 18:02:57 +0200 |
commit | 4019c113140ff4841607c84598f2ce5912464f9b (patch) | |
tree | a8705fd3a1ed7e8b9311988bc390934f396d5e79 /video | |
parent | d8002f1dde94771952b301f4ebe331c52bc71871 (diff) | |
download | mpv-4019c113140ff4841607c84598f2ce5912464f9b.tar.bz2 mpv-4019c113140ff4841607c84598f2ce5912464f9b.tar.xz |
video: fix rgb30 component order
Was broken with a zimg wrapper refucktor before the previous commit. In
addition, it seems this didn't match the vo_drm format, or the format
naming convention. So the order actually changes, and the format is
redefined. (The img_format.h comment was probably wrong.)
Change vo_gpu to the new format as well, so we can still test it.
Diffstat (limited to 'video')
-rw-r--r-- | video/img_format.h | 2 | ||||
-rw-r--r-- | video/out/opengl/ra_gl.c | 2 | ||||
-rw-r--r-- | video/repack.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/video/img_format.h b/video/img_format.h index b0fdef8a50..489b0e88db 100644 --- a/video/img_format.h +++ b/video/img_format.h @@ -213,7 +213,7 @@ enum mp_imgfmt { IMGFMT_YAP16, // Accessed with bit-shifts, uint32_t units. - IMGFMT_RGB30, // 2pad 10r 10g 10b (MSG to LSB) + IMGFMT_RGB30, // 2pad 10r 10g 10b (MSB to LSB) // Fringe formats for fringe RGB format repacking. IMGFMT_Y1, // gray with 1 bit per pixel diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c index 9b409ccb71..b7deba9fbe 100644 --- a/video/out/opengl/ra_gl.c +++ b/video/out/opengl/ra_gl.c @@ -190,7 +190,7 @@ static int ra_init_gl(struct ra *ra, GL *gl) desc->num_planes = 1; desc->planes[0] = fmt; for (int i = 0; i < 3; i++) - desc->components[0][i] = i + 1; + desc->components[0][i] = 3 - i; desc->chroma_w = desc->chroma_h = 1; } if (strcmp(fmt->name, "appleyp") == 0) { diff --git a/video/repack.c b/video/repack.c index 359e32996d..a2877390da 100644 --- a/video/repack.c +++ b/video/repack.c @@ -234,7 +234,7 @@ PA_WORD_3(pa_ccc8z8, uint32_t, uint8_t, 0, 8, 16, 0) UN_WORD_3(un_x8ccc8, uint32_t, uint8_t, 8, 16, 24, 0xFFu) PA_WORD_3(pa_z8ccc8, uint32_t, uint8_t, 8, 16, 24, 0) UN_WORD_3(un_ccc10x2, uint32_t, uint16_t, 0, 10, 20, 0x3FFu) -PA_WORD_3(pa_ccc10z2, uint32_t, uint16_t, 20, 10, 0, 0) +PA_WORD_3(pa_ccc10z2, uint32_t, uint16_t, 0, 10, 20, 0) #define PA_WORD_2(name, packed_t, plane_t, sh_c0, sh_c1, pad) \ static void name(void *dst, void *src[], int w) { \ @@ -598,7 +598,7 @@ static void setup_misc_packer(struct mp_repack *rp) rp->imgfmt_b = planar_fmt; rp->repack = packed_repack; rp->packed_repack_scanline = rp->pack ? pa_ccc10z2 : un_ccc10x2; - static int c_order[] = {3, 2, 1}; + static int c_order[] = {2, 1, 3}; for (int n = 0; n < 3; n++) rp->components[n] = c_order[n] - 1; } else if (rp->imgfmt_a == IMGFMT_PAL8 && !rp->pack) { |