mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-24 03:48:42 +00:00
swscale: remove unused U/V arguments from yuv2rgb_write().
Also document the function somewhat.
This commit is contained in:
parent
dff4af448d
commit
2ba65879b5
@ -884,9 +884,17 @@ YUV2PACKED16WRAPPER(yuv2, rgb48, rgb48le, PIX_FMT_RGB48LE)
|
|||||||
YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48be, PIX_FMT_BGR48BE)
|
YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48be, PIX_FMT_BGR48BE)
|
||||||
YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48le, PIX_FMT_BGR48LE)
|
YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48le, PIX_FMT_BGR48LE)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Write out 2 RGB pixels in the target pixel format. This function takes a
|
||||||
|
* R/G/B LUT as generated by ff_yuv2rgb_c_init_tables(), which takes care of
|
||||||
|
* things like endianness conversion and shifting. The caller takes care of
|
||||||
|
* setting the correct offset in these tables from the chroma (U/V) values.
|
||||||
|
* This function then uses the luminance (Y1/Y2) values to write out the
|
||||||
|
* correct RGB values into the destination buffer.
|
||||||
|
*/
|
||||||
static av_always_inline void
|
static av_always_inline void
|
||||||
yuv2rgb_write(uint8_t *_dest, int i, unsigned Y1, unsigned Y2,
|
yuv2rgb_write(uint8_t *_dest, int i, unsigned Y1, unsigned Y2,
|
||||||
unsigned U, unsigned V, unsigned A1, unsigned A2,
|
unsigned A1, unsigned A2,
|
||||||
const void *_r, const void *_g, const void *_b, int y,
|
const void *_r, const void *_g, const void *_b, int y,
|
||||||
enum PixelFormat target, int hasAlpha)
|
enum PixelFormat target, int hasAlpha)
|
||||||
{
|
{
|
||||||
@ -1053,7 +1061,7 @@ yuv2rgb_X_c_template(SwsContext *c, const int16_t *lumFilter,
|
|||||||
g = (c->table_gU[U] + c->table_gV[V]);
|
g = (c->table_gU[U] + c->table_gV[V]);
|
||||||
b = c->table_bU[U];
|
b = c->table_bU[U];
|
||||||
|
|
||||||
yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
||||||
r, g, b, y, target, hasAlpha);
|
r, g, b, y, target, hasAlpha);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1089,7 +1097,7 @@ yuv2rgb_2_c_template(SwsContext *c, const int16_t *buf[2],
|
|||||||
A2 = (abuf0[i * 2 + 1] * yalpha1 + abuf1[i * 2 + 1] * yalpha) >> 19;
|
A2 = (abuf0[i * 2 + 1] * yalpha1 + abuf1[i * 2 + 1] * yalpha) >> 19;
|
||||||
}
|
}
|
||||||
|
|
||||||
yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
||||||
r, g, b, y, target, hasAlpha);
|
r, g, b, y, target, hasAlpha);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1121,7 +1129,7 @@ yuv2rgb_1_c_template(SwsContext *c, const int16_t *buf0,
|
|||||||
A2 = abuf0[i * 2 + 1] >> 7;
|
A2 = abuf0[i * 2 + 1] >> 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
||||||
r, g, b, y, target, hasAlpha);
|
r, g, b, y, target, hasAlpha);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -1140,7 +1148,7 @@ yuv2rgb_1_c_template(SwsContext *c, const int16_t *buf0,
|
|||||||
A2 = abuf0[i * 2 + 1] >> 7;
|
A2 = abuf0[i * 2 + 1] >> 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
|
||||||
r, g, b, y, target, hasAlpha);
|
r, g, b, y, target, hasAlpha);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user