X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Ftexturedspenc.c;h=3d68e0cf39d988a48397249710b6ea0045a31916;hb=4c0a8ff0610c15cb1ceeca037d6b7c8fd3b2420a;hp=8b2863033b6a502732c56a7921e2dfb87896ab65;hpb=85e2fe6281834ac7f16a12a332d9de4b2ec3cd29;p=ffmpeg diff --git a/libavcodec/texturedspenc.c b/libavcodec/texturedspenc.c index 8b2863033b6..3d68e0cf39d 100644 --- a/libavcodec/texturedspenc.c +++ b/libavcodec/texturedspenc.c @@ -647,9 +647,26 @@ static int dxt5ys_block(uint8_t *dst, ptrdiff_t stride, const uint8_t *block) return 16; } +/** + * Compress one block of RGBA pixels in a RGTC1U texture and store the + * resulting bytes in 'dst'. Use the alpha channel of the input image. + * + * @param dst output buffer. + * @param stride scanline in bytes. + * @param block block to compress. + * @return how much texture data has been written. + */ +static int rgtc1u_alpha_block(uint8_t *dst, ptrdiff_t stride, const uint8_t *block) +{ + compress_alpha(dst, stride, block); + + return 8; +} + av_cold void ff_texturedspenc_init(TextureDSPContext *c) { - c->dxt1_block = dxt1_block; - c->dxt5_block = dxt5_block; - c->dxt5ys_block = dxt5ys_block; + c->dxt1_block = dxt1_block; + c->dxt5_block = dxt5_block; + c->dxt5ys_block = dxt5ys_block; + c->rgtc1u_alpha_block = rgtc1u_alpha_block; }