vlc_fourcc: add a define for "undf" (unidentified codec)

Technically it could be set to 0

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
This commit is contained in:
Steve Lhomme 2017-07-07 09:33:17 +02:00 committed by Jean-Baptiste Kempf
parent 30e0b39341
commit f16fcc1776
8 changed files with 19 additions and 19 deletions

View File

@ -381,7 +381,7 @@ wave_format_tag_to_fourcc[] =
{ WAVE_FORMAT_ON2_AVC, VLC_CODEC_ON2AVC, "On2 Audio for Video Codec (VP7)" }, { WAVE_FORMAT_ON2_AVC, VLC_CODEC_ON2AVC, "On2 Audio for Video Codec (VP7)" },
{ WAVE_FORMAT_ON2_AVC_2, VLC_CODEC_ON2AVC, "On2 Audio for Video Codec (VP6)" }, { WAVE_FORMAT_ON2_AVC_2, VLC_CODEC_ON2AVC, "On2 Audio for Video Codec (VP6)" },
{ WAVE_FORMAT_UNKNOWN, VLC_FOURCC( 'u', 'n', 'd', 'f' ), "Unknown" } { WAVE_FORMAT_UNKNOWN, VLC_CODEC_UNKNOWN, "Unknown" }
}; };
static inline void wf_tag_to_fourcc( uint16_t i_tag, vlc_fourcc_t *fcc, static inline void wf_tag_to_fourcc( uint16_t i_tag, vlc_fourcc_t *fcc,
@ -421,7 +421,7 @@ sub_format_tag_to_fourcc[] =
{ VLC_AMBISONIC_SUBTYPE_PCM, VLC_FOURCC( 'a', 'r', 'a', 'w' ), "Ambisonic B format (PCM)" }, { VLC_AMBISONIC_SUBTYPE_PCM, VLC_FOURCC( 'a', 'r', 'a', 'w' ), "Ambisonic B format (PCM)" },
{ VLC_AMBISONIC_SUBTYPE_IEEE_FLOAT, VLC_FOURCC( 'a', 'f', 'l', 't' ), "Ambisonic B format (IEEE float)" }, { VLC_AMBISONIC_SUBTYPE_IEEE_FLOAT, VLC_FOURCC( 'a', 'f', 'l', 't' ), "Ambisonic B format (IEEE float)" },
{ VLC_KSDATAFORMAT_SUBTYPE_ATRAC3P, VLC_CODEC_ATRAC3P, "Sony Atrac3+" }, { VLC_KSDATAFORMAT_SUBTYPE_ATRAC3P, VLC_CODEC_ATRAC3P, "Sony Atrac3+" },
{ VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN, VLC_FOURCC( 'u', 'n', 'd', 'f' ), "Unknown" } { VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN, VLC_CODEC_UNKNOWN, "Unknown" }
}; };
static inline int guidcmpbase( const GUID *s1, const GUID *s2 ) static inline int guidcmpbase( const GUID *s1, const GUID *s2 )

View File

@ -24,6 +24,8 @@
#ifndef VLC_FOURCC_H #ifndef VLC_FOURCC_H
#define VLC_FOURCC_H 1 #define VLC_FOURCC_H 1
#define VLC_CODEC_UNKNOWN VLC_FOURCC('u','n','d','f')
/* Video codec */ /* Video codec */
#define VLC_CODEC_MPGV VLC_FOURCC('m','p','g','v') #define VLC_CODEC_MPGV VLC_FOURCC('m','p','g','v')
#define VLC_CODEC_MP4V VLC_FOURCC('m','p','4','v') #define VLC_CODEC_MP4V VLC_FOURCC('m','p','4','v')

View File

@ -854,7 +854,7 @@ static int SessionsSetup( demux_t *p_demux )
/* Value taken from mplayer */ /* Value taken from mplayer */
if( !strcmp( sub->mediumName(), "audio" ) ) if( !strcmp( sub->mediumName(), "audio" ) )
{ {
es_format_Init( &tk->fmt, AUDIO_ES, VLC_FOURCC('u','n','d','f') ); es_format_Init( &tk->fmt, AUDIO_ES, VLC_CODEC_UNKNOWN );
tk->fmt.audio.i_channels = sub->numChannels(); tk->fmt.audio.i_channels = sub->numChannels();
tk->fmt.audio.i_rate = sub->rtpTimestampFrequency(); tk->fmt.audio.i_rate = sub->rtpTimestampFrequency();
@ -1001,7 +1001,7 @@ static int SessionsSetup( demux_t *p_demux )
} }
else if( !strcmp( sub->mediumName(), "video" ) ) else if( !strcmp( sub->mediumName(), "video" ) )
{ {
es_format_Init( &tk->fmt, VIDEO_ES, VLC_FOURCC('u','n','d','f') ); es_format_Init( &tk->fmt, VIDEO_ES, VLC_CODEC_UNKNOWN );
if( !strcmp( sub->codecName(), "MPV" ) ) if( !strcmp( sub->codecName(), "MPV" ) )
{ {
tk->fmt.i_codec = VLC_CODEC_MPGV; tk->fmt.i_codec = VLC_CODEC_MPGV;
@ -1149,7 +1149,7 @@ static int SessionsSetup( demux_t *p_demux )
} }
else if( !strcmp( sub->mediumName(), "text" ) ) else if( !strcmp( sub->mediumName(), "text" ) )
{ {
es_format_Init( &tk->fmt, SPU_ES, VLC_FOURCC('u','n','d','f') ); es_format_Init( &tk->fmt, SPU_ES, VLC_CODEC_UNKNOWN );
if( !strcmp( sub->codecName(), "T140" ) ) if( !strcmp( sub->codecName(), "T140" ) )
{ {

View File

@ -360,7 +360,7 @@ int OpenDemux( vlc_object_t *p_this )
const char *psz_type = "unknown"; const char *psz_type = "unknown";
vlc_fourcc_t fcc = GetVlcFourcc( cp->codec_id ); vlc_fourcc_t fcc = GetVlcFourcc( cp->codec_id );
if( !fcc ) if( !fcc )
fcc = VLC_FOURCC( 'u', 'n', 'd', 'f' ); fcc = VLC_CODEC_UNKNOWN;
/* Do not use the cover art as a stream */ /* Do not use the cover art as a stream */
if( s->disposition == AV_DISPOSITION_ATTACHED_PIC ) if( s->disposition == AV_DISPOSITION_ATTACHED_PIC )

View File

@ -2141,7 +2141,7 @@ vlc_fourcc_t AVI_FourccGetCodec( unsigned int i_cat, vlc_fourcc_t i_codec )
case VIDEO_ES: case VIDEO_ES:
return vlc_fourcc_GetCodec( i_cat, i_codec ); return vlc_fourcc_GetCodec( i_cat, i_codec );
default: default:
return VLC_FOURCC( 'u', 'n', 'd', 'f' ); return VLC_CODEC_UNKNOWN;
} }
} }

View File

@ -1335,7 +1335,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
if( p_tk->codec.empty() ) if( p_tk->codec.empty() )
{ {
msg_Err( &sys.demuxer, "Empty codec id" ); msg_Err( &sys.demuxer, "Empty codec id" );
p_tk->fmt.i_codec = VLC_FOURCC( 'u', 'n', 'd', 'f' ); p_tk->fmt.i_codec = VLC_CODEC_UNKNOWN;
return 0; return 0;
} }
@ -1356,7 +1356,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
if( vars.p_tk->i_extra_data < (int)sizeof( VLC_BITMAPINFOHEADER ) ) if( vars.p_tk->i_extra_data < (int)sizeof( VLC_BITMAPINFOHEADER ) )
{ {
msg_Err(vars.p_demuxer, "missing/invalid VLC_BITMAPINFOHEADER" ); msg_Err(vars.p_demuxer, "missing/invalid VLC_BITMAPINFOHEADER" );
vars.p_fmt->i_codec = VLC_FOURCC( 'u', 'n', 'd', 'f' ); vars.p_fmt->i_codec = VLC_CODEC_UNKNOWN;
} }
else else
{ {
@ -1511,7 +1511,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
if( p_tk->i_extra_data < (int)sizeof( WAVEFORMATEX ) ) if( p_tk->i_extra_data < (int)sizeof( WAVEFORMATEX ) )
{ {
msg_Err( vars.p_demuxer, "missing/invalid WAVEFORMATEX" ); msg_Err( vars.p_demuxer, "missing/invalid WAVEFORMATEX" );
p_tk->fmt.i_codec = VLC_FOURCC( 'u', 'n', 'd', 'f' ); p_tk->fmt.i_codec = VLC_CODEC_UNKNOWN;
} }
else else
{ {
@ -1541,7 +1541,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
/* FIXME should we use Samples */ /* FIXME should we use Samples */
if( p_tk->fmt.audio.i_channels > 2 && if( p_tk->fmt.audio.i_channels > 2 &&
( p_tk->fmt.i_codec != VLC_FOURCC( 'u', 'n', 'd', 'f' ) ) ) ( p_tk->fmt.i_codec != VLC_CODEC_UNKNOWN ) )
{ {
uint32_t wfextcm = GetDWLE( &p_wext->dwChannelMask ); uint32_t wfextcm = GetDWLE( &p_wext->dwChannelMask );
int match; int match;
@ -1575,7 +1575,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
} }
} }
if( p_tk->fmt.i_codec == VLC_FOURCC( 'u', 'n', 'd', 'f' ) ) if( p_tk->fmt.i_codec == VLC_CODEC_UNKNOWN )
msg_Err( vars.p_demuxer, "Unrecognized wf tag: 0x%x", GetWLE( &p_wf->wFormatTag ) ); msg_Err( vars.p_demuxer, "Unrecognized wf tag: 0x%x", GetWLE( &p_wf->wFormatTag ) );
} }
p_fmt->b_packetized = !p_fmt->audio.i_blockalign; p_fmt->b_packetized = !p_fmt->audio.i_blockalign;
@ -1743,7 +1743,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
if( memcmp( p, ".ra", 3 ) ) { if( memcmp( p, ".ra", 3 ) ) {
msg_Err( vars.p_demuxer, "Invalid Real ExtraData 0x%4.4s", (char *)p ); msg_Err( vars.p_demuxer, "Invalid Real ExtraData 0x%4.4s", (char *)p );
vars.p_tk->fmt.i_codec = VLC_FOURCC( 'u', 'n', 'd', 'f' ); vars.p_tk->fmt.i_codec = VLC_CODEC_UNKNOWN;
return false; return false;
} }
@ -1923,7 +1923,7 @@ int32_t matroska_segment_c::TrackInit( mkv_track_t * p_tk )
} }
S_CASE_DEFAULT(str) { S_CASE_DEFAULT(str) {
msg_Err( vars.p_demuxer, "unknown codec id=`%s'", str ); msg_Err( vars.p_demuxer, "unknown codec id=`%s'", str );
vars.p_tk->fmt.i_codec = VLC_FOURCC( 'u', 'n', 'd', 'f' ); vars.p_tk->fmt.i_codec = VLC_CODEC_UNKNOWN;
} }
}; };

View File

@ -1851,8 +1851,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
wf_tag_to_fourcc( i_format_tag, wf_tag_to_fourcc( i_format_tag,
&p_stream->fmt.i_codec, 0 ); &p_stream->fmt.i_codec, 0 );
if( p_stream->fmt.i_codec == if( p_stream->fmt.i_codec == VLC_CODEC_UNKNOWN )
VLC_FOURCC('u','n','d','f') )
{ {
p_stream->fmt.i_codec = VLC_FOURCC( 'm', 's', p_stream->fmt.i_codec = VLC_FOURCC( 'm', 's',
( i_format_tag >> 8 ) & 0xff, ( i_format_tag >> 8 ) & 0xff,
@ -1986,8 +1985,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
wf_tag_to_fourcc( i_format_tag, wf_tag_to_fourcc( i_format_tag,
&p_stream->fmt.i_codec, 0 ); &p_stream->fmt.i_codec, 0 );
if( p_stream->fmt.i_codec == if( p_stream->fmt.i_codec == VLC_CODEC_UNKNOWN )
VLC_FOURCC('u','n','d','f') )
{ {
p_stream->fmt.i_codec = VLC_FOURCC( 'm', 's', p_stream->fmt.i_codec = VLC_FOURCC( 'm', 's',
( i_format_tag >> 8 ) & 0xff, ( i_format_tag >> 8 ) & 0xff,

View File

@ -1872,7 +1872,7 @@ static void DeleteDecoder( decoder_t * p_dec )
/* */ /* */
static void DecoderUnsupportedCodec( decoder_t *p_dec, const es_format_t *fmt, bool b_decoding ) static void DecoderUnsupportedCodec( decoder_t *p_dec, const es_format_t *fmt, bool b_decoding )
{ {
if (fmt->i_codec != VLC_FOURCC('u','n','d','f') && fmt->i_codec) { if (fmt->i_codec != VLC_CODEC_UNKNOWN && fmt->i_codec) {
const char *desc = vlc_fourcc_GetDescription(fmt->i_cat, fmt->i_codec); const char *desc = vlc_fourcc_GetDescription(fmt->i_cat, fmt->i_codec);
if (!desc || !*desc) if (!desc || !*desc)
desc = N_("No description for this codec"); desc = N_("No description for this codec");