Signed-off-by: Paul B Mahol <[email protected]>
---
libswscale/swscale.h | 24 ----------------
libswscale/swscale_unscaled.c | 61 +++++++++++++++++++++--------------------
2 files changed, 31 insertions(+), 54 deletions(-)
diff --git a/libswscale/swscale.h b/libswscale/swscale.h
index b5a6a57..49614ca 100644
--- a/libswscale/swscale.h
+++ b/libswscale/swscale.h
@@ -326,30 +326,6 @@ struct SwsContext *sws_getCachedContext(struct SwsContext
*context,
SwsFilter *dstFilter, const double
*param);
/**
- * Convert an 8-bit paletted frame into a frame with a color depth of 32 bits.
- *
- * The output frame will have the same packed format as the palette.
- *
- * @param src source frame buffer
- * @param dst destination frame buffer
- * @param num_pixels number of pixels to convert
- * @param palette array with [256] entries, which must match color
arrangement (RGB or BGR) of src
- */
-void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, int
num_pixels, const uint8_t *palette);
-
-/**
- * Convert an 8-bit paletted frame into a frame with a color depth of 24 bits.
- *
- * With the palette format "ABCD", the destination frame ends up with the
format "ABC".
- *
- * @param src source frame buffer
- * @param dst destination frame buffer
- * @param num_pixels number of pixels to convert
- * @param palette array with [256] entries, which must match color
arrangement (RGB or BGR) of src
- */
-void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, int
num_pixels, const uint8_t *palette);
-
-/**
* Get the AVClass for swsContext. It can be used in combination with
* AV_OPT_SEARCH_FAKE_OBJ for examining options.
*
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index 5fe2b14..1a45980 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -298,6 +298,31 @@ static int packed_16bpc_bswap(SwsContext *c, const uint8_t
*src[],
return srcSliceH;
}
+/* Convert the palette to the same packed 32-bit format as the palette */
+static void convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst,
+ int num_pixels, const uint8_t *palette)
+{
+ int i;
+
+ for (i = 0; i < num_pixels; i++)
+ ((uint32_t *) dst)[i] = ((const uint32_t *) palette)[src[i]];
+}
+
+/* Palette format: ABCD -> dst format: ABC */
+static void convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst,
+ int num_pixels, const uint8_t *palette)
+{
+ int i;
+
+ for (i = 0; i < num_pixels; i++) {
+ //FIXME slow?
+ dst[0] = palette[src[i] * 4 + 0];
+ dst[1] = palette[src[i] * 4 + 1];
+ dst[2] = palette[src[i] * 4 + 2];
+ dst += 3;
+ }
+}
+
static int palToRgbWrapper(SwsContext *c, const uint8_t *src[], int
srcStride[],
int srcSliceY, int srcSliceH, uint8_t *dst[],
int dstStride[])
@@ -321,12 +346,12 @@ static int palToRgbWrapper(SwsContext *c, const uint8_t
*src[], int srcStride[],
}
} else if (usePal(srcFormat)) {
switch (dstFormat) {
- case PIX_FMT_RGB32 : conv = sws_convertPalette8ToPacked32; break;
- case PIX_FMT_BGR32 : conv = sws_convertPalette8ToPacked32; break;
- case PIX_FMT_BGR32_1: conv = sws_convertPalette8ToPacked32; break;
- case PIX_FMT_RGB32_1: conv = sws_convertPalette8ToPacked32; break;
- case PIX_FMT_RGB24 : conv = sws_convertPalette8ToPacked24; break;
- case PIX_FMT_BGR24 : conv = sws_convertPalette8ToPacked24; break;
+ case PIX_FMT_RGB32 : conv = convertPalette8ToPacked32; break;
+ case PIX_FMT_BGR32 : conv = convertPalette8ToPacked32; break;
+ case PIX_FMT_BGR32_1: conv = convertPalette8ToPacked32; break;
+ case PIX_FMT_RGB32_1: conv = convertPalette8ToPacked32; break;
+ case PIX_FMT_RGB24 : conv = convertPalette8ToPacked24; break;
+ case PIX_FMT_BGR24 : conv = convertPalette8ToPacked24; break;
}
}
@@ -1042,27 +1067,3 @@ int attribute_align_arg sws_scale(struct SwsContext *c,
}
}
-/* Convert the palette to the same packed 32-bit format as the palette */
-void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst,
- int num_pixels, const uint8_t *palette)
-{
- int i;
-
- for (i = 0; i < num_pixels; i++)
- ((uint32_t *) dst)[i] = ((const uint32_t *) palette)[src[i]];
-}
-
-/* Palette format: ABCD -> dst format: ABC */
-void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst,
- int num_pixels, const uint8_t *palette)
-{
- int i;
-
- for (i = 0; i < num_pixels; i++) {
- //FIXME slow?
- dst[0] = palette[src[i] * 4 + 0];
- dst[1] = palette[src[i] * 4 + 1];
- dst[2] = palette[src[i] * 4 + 2];
- dst += 3;
- }
-}
--
1.7.7
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel