uint32_t i_flags;
off_t i_pos;
uint32_t i_length;
- uint32_t i_lengthtotal;
+ int64_t i_lengthtotal;
} avi_entry_t;
tk->i_samplesize = tk->i_blocksize;
}
- if( tk->i_codec == VLC_FOURCC( 'v', 'o', 'r', 'b' ) )
+ if( tk->i_codec == VLC_CODEC_VORBIS )
{
tk->i_blocksize = 0; /* fix vorbis VBR decoding */
}
* - Size of the next packet, and so on ...
*/
- if( tk->i_codec == VLC_FOURCC( 'v', 'o', 'r', 'b' ) )
+ if( tk->i_codec == VLC_CODEC_VORBIS )
{
uint8_t *p_extra = fmt.p_extra;
size_t i_extra = fmt.i_extra;
tk->i_cat = VIDEO_ES;
tk->i_codec = AVI_FourccGetCodec( VIDEO_ES,
p_vids->p_bih->biCompression );
- if( p_vids->p_bih->biCompression == 0x00 )
+ if( p_vids->p_bih->biCompression == VLC_FOURCC( 'D', 'X', 'S', 'B' ) )
+ {
+ msg_Dbg( p_demux, "stream[%d] subtitles", i );
+ es_format_Init( &fmt, SPU_ES, p_vids->p_bih->biCompression );
+ break;
+ }
+ else if( p_vids->p_bih->biCompression == 0x00 )
{
switch( p_vids->p_bih->biBitCount )
{
case 32:
- tk->i_codec = VLC_FOURCC('R','V','3','2');
+ tk->i_codec = VLC_CODEC_RGB32;
break;
case 24:
- tk->i_codec = VLC_FOURCC('R','V','2','4');
+ tk->i_codec = VLC_CODEC_RGB24;
break;
case 16: /* Yes it is RV15 */
case 15:
- tk->i_codec = VLC_FOURCC('R','V','1','5');
+ tk->i_codec = VLC_CODEC_RGB15;
break;
case 9: /* <- TODO check that */
- tk->i_codec = VLC_FOURCC( 'Y', 'V', 'U', '9' );
+ tk->i_codec = VLC_CODEC_I410;
break;
case 8: /* <- TODO check that */
- tk->i_codec = VLC_FOURCC('Y','8','0','0');
+ tk->i_codec = VLC_CODEC_GREY;
break;
}
es_format_Init( &fmt, VIDEO_ES, tk->i_codec );
switch( tk->i_codec )
{
- case VLC_FOURCC('R','V','2','4'):
- case VLC_FOURCC('R','V','3','2'):
+ case VLC_CODEC_RGB24:
+ case VLC_CODEC_RGB32:
fmt.video.i_rmask = 0x00ff0000;
fmt.video.i_gmask = 0x0000ff00;
fmt.video.i_bmask = 0x000000ff;
break;
- case VLC_FOURCC('R','V','1','5'):
+ case VLC_CODEC_RGB15:
fmt.video.i_rmask = 0x7c00;
fmt.video.i_gmask = 0x03e0;
fmt.video.i_bmask = 0x001f;
else
{
es_format_Init( &fmt, VIDEO_ES, p_vids->p_bih->biCompression );
- if( tk->i_codec == FOURCC_mp4v &&
+ if( tk->i_codec == VLC_CODEC_MP4V &&
!strncasecmp( (char*)&p_strh->i_handler, "XVID", 4 ) )
{
- fmt.i_codec = VLC_FOURCC( 'X', 'V', 'I', 'D' );
+ fmt.i_codec =
+ fmt.i_original_fourcc = VLC_FOURCC( 'X', 'V', 'I', 'D' );
}
}
tk->i_samplesize = 0;
case( AVIFOURCC_txts):
tk->i_cat = SPU_ES;
- tk->i_codec = VLC_FOURCC( 's', 'u', 'b', 't' );
+ tk->i_codec = VLC_CODEC_SUBT;
msg_Dbg( p_demux, "stream[%d] subtitles", i );
es_format_Init( &fmt, SPU_ES, tk->i_codec );
break;
{
switch( i_fourcc )
{
- case FOURCC_DIV1:
+ case VLC_CODEC_DIV1:
/* we have:
* startcode: 0x00000100 32bits
* framenumber ? 5bits
}
return p_byte[4] & 0x06 ? 0 : AVIIF_KEYFRAME;
- case FOURCC_DIV2:
- case FOURCC_DIV3: /* wmv1 also */
+ case VLC_CODEC_DIV2:
+ case VLC_CODEC_DIV3:
+ case VLC_CODEC_WMV1:
/* we have
* picture type 0(I),1(P) 2bits
*/
return p_byte[0] & 0xC0 ? 0 : AVIIF_KEYFRAME;
- case FOURCC_mp4v:
+ case VLC_CODEC_MP4V:
/* we should find first occurrence of 0x000001b6 (32bits)
* startcode: 0x000001b6 32bits
* piture type 0(I),1(P) 2bits
case AUDIO_ES:
wf_tag_to_fourcc( i_codec, &i_codec, NULL );
return i_codec;
-
case VIDEO_ES:
- /* XXX DIV1 <- msmpeg4v1, DIV2 <- msmpeg4v2, DIV3 <- msmpeg4v3, mp4v for mpeg4 */
- switch( i_codec )
- {
- case FOURCC_1:
- return VLC_FOURCC('m','r','l','e');
- case FOURCC_DIV1:
- case FOURCC_div1:
- case FOURCC_MPG4:
- case FOURCC_mpg4:
- return FOURCC_DIV1;
- case FOURCC_DIV2:
- case FOURCC_div2:
- case FOURCC_MP42:
- case FOURCC_mp42:
- case FOURCC_MPG3:
- case FOURCC_mpg3:
- return FOURCC_DIV2;
- case FOURCC_div3:
- case FOURCC_MP43:
- case FOURCC_mp43:
- case FOURCC_DIV3:
- case FOURCC_DIV4:
- case FOURCC_div4:
- case FOURCC_DIV5:
- case FOURCC_div5:
- case FOURCC_DIV6:
- case FOURCC_div6:
- case FOURCC_AP41:
- case FOURCC_3IV1:
- case FOURCC_3iv1:
- case FOURCC_3IVD:
- case FOURCC_3ivd:
- case FOURCC_3VID:
- case FOURCC_3vid:
- return FOURCC_DIV3;
- case FOURCC_DIVX:
- case FOURCC_divx:
- case FOURCC_MP4S:
- case FOURCC_mp4s:
- case FOURCC_M4S2:
- case FOURCC_m4s2:
- case FOURCC_xvid:
- case FOURCC_XVID:
- case FOURCC_XviD:
- case FOURCC_DX50:
- case FOURCC_dx50:
- case FOURCC_mp4v:
- case FOURCC_4:
- case FOURCC_3IV2:
- case FOURCC_3iv2:
- return FOURCC_mp4v;
- }
+ return vlc_fourcc_GetCodec( i_cat, i_codec );
default:
return VLC_FOURCC( 'u', 'n', 'd', 'f' );
}
/* Only show dialog if AVI is > 10MB */
i_dialog_update = mdate();
if( stream_Size( p_demux->s ) > 10000000 )
- p_dialog = dialog_ProgressCreate( p_demux, NULL,
- _("Fixing AVI Index..."), _("Cancel") );
+ p_dialog = dialog_ProgressCreate( p_demux, _("Fixing AVI Index..."),
+ NULL, _("Cancel") );
for( ;; )
{
if( dialog_ProgressCancelled( p_dialog ) )
break;
- double f_pos = 100.0 * stream_Tell( p_demux->s ) /
- stream_Size( p_demux->s );
- dialog_ProgressSet( p_dialog, f_pos );
+ float f_pos = (float)stream_Tell( p_demux->s ) /
+ (float)stream_Size( p_demux->s );
+ dialog_ProgressSet( p_dialog, NULL, f_pos );
i_dialog_update = mdate();
}