From 9a21bac21447ebba1648c6090d65a83af7bf0c76 Mon Sep 17 00:00:00 2001
From: Jean-Paul Saman <jpsaman@videolan.org>
Date: Wed, 5 Sep 2007 17:46:55 +0000
Subject: [PATCH] Add function to get a human readible string for a
 vlc_fourcc_t value.

---
 include/vlc_common.h   | 18 ++++++++++++++++++
 modules/codec/dvbsub.c |  7 +++++--
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/include/vlc_common.h b/include/vlc_common.h
index c91d74f4e832..55eceee91896 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -191,6 +191,24 @@ typedef uint32_t vlc_fourcc_t;
 
 #endif
 
+static inline void __vlc_fourcc_to_char( vlc_fourcc_t fcc, char *psz_fourcc )
+{
+#ifdef WORDS_BIGENDIAN
+    psz_fourcc[0] = (uint32_t) (fcc >> 24);
+    psz_fourcc[1] = (uint32_t) (fcc >> 16);
+    psz_fourcc[2] = (uint32_t) (fcc >> 8);
+    psz_fourcc[3] = (uint32_t) (fcc);
+#else
+    psz_fourcc[3] = (uint32_t) (fcc >> 24);
+    psz_fourcc[2] = (uint32_t) (fcc >> 16);
+    psz_fourcc[1] = (uint32_t) (fcc >> 8);
+    psz_fourcc[0] = (uint32_t) (fcc);
+#endif
+}
+
+#define vlc_fourcc_to_char( a, b ) \
+    __vlc_fourcc_to_char( (vlc_fourcc_t)(a), (char *)(b) )
+
 /*****************************************************************************
  * Classes declaration
  *****************************************************************************/
diff --git a/modules/codec/dvbsub.c b/modules/codec/dvbsub.c
index 5be10b6a5d8d..291494fe655f 100644
--- a/modules/codec/dvbsub.c
+++ b/modules/codec/dvbsub.c
@@ -1905,8 +1905,11 @@ static block_t *Encode( encoder_t *p_enc, subpicture_t *p_subpic )
     if( p_region->fmt.i_chroma != VLC_FOURCC('T','E','X','T') &&
         p_region->fmt.i_chroma != VLC_FOURCC('Y','U','V','P') )
     {
-         msg_Err( p_enc, "chroma not supported" );
-         return NULL;
+        char psz_fourcc[5];
+        memset( &psz_fourcc, 0, sizeof(char)*5 );
+        vlc_fourcc_to_char( p_region->fmt.i_chroma, &psz_fourcc ); 
+        msg_Err( p_enc, "chroma %4s not supported", &psz_fourcc );
+        return NULL;
     }
 
     if( p_region->fmt.p_palette )
-- 
GitLab