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