summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst-libs/gst/video/video-converter.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c
index 9dda88ef7..61c3ab574 100644
--- a/gst-libs/gst/video/video-converter.c
+++ b/gst-libs/gst/video/video-converter.c
@@ -1518,7 +1518,9 @@ setup_gamma_decode (GstVideoConverter * convert)
func = convert->in_info.colorimetry.transfer;
convert->gamma_dec.width = convert->current_width;
- if (convert->current_bits == 8) {
+ if (convert->gamma_dec.gamma_table) {
+ GST_DEBUG ("gamma decode already set up");
+ } else if (convert->current_bits == 8) {
GST_DEBUG ("gamma decode 8->16: %d", func);
convert->gamma_dec.gamma_func = gamma_convert_u8_u16;
t = convert->gamma_dec.gamma_table = g_malloc (sizeof (guint16) * 256);
@@ -1548,7 +1550,9 @@ setup_gamma_encode (GstVideoConverter * convert, gint target_bits)
func = convert->out_info.colorimetry.transfer;
convert->gamma_enc.width = convert->current_width;
- if (target_bits == 8) {
+ if (convert->gamma_enc.gamma_table) {
+ GST_DEBUG ("gamma encode already set up");
+ } else if (target_bits == 8) {
guint8 *t;
GST_DEBUG ("gamma encode 16->8: %d", func);