p_fmt->i_bmask );
}
-void video_format_Setup( video_format_t *p_fmt, vlc_fourcc_t i_chroma, int i_width, int i_height, int i_aspect )
+void video_format_Setup( video_format_t *p_fmt, vlc_fourcc_t i_chroma,
+ int i_width, int i_height,
+ int i_sar_num, int i_sar_den )
{
p_fmt->i_chroma = vlc_fourcc_GetCodec( VIDEO_ES, i_chroma );
p_fmt->i_width =
p_fmt->i_visible_height = i_height;
p_fmt->i_x_offset =
p_fmt->i_y_offset = 0;
- p_fmt->i_aspect = i_aspect;
+ vlc_ureduce( &p_fmt->i_sar_num, &p_fmt->i_sar_den,
+ i_sar_num, i_sar_den, 0 );
switch( p_fmt->i_chroma )
{
case VLC_CODEC_J420:
p_fmt->i_bits_per_pixel = 12;
break;
+ case VLC_CODEC_YV9:
case VLC_CODEC_I410:
p_fmt->i_bits_per_pixel = 9;
break;
v1.i_visible_height != v2.i_visible_height ||
v1.i_x_offset != v2.i_x_offset || v1.i_y_offset != v2.i_y_offset )
return false;
+ if( v1.i_sar_num * v2.i_sar_den != v2.i_sar_num * v1.i_sar_den )
+ return false;
if( v1.i_chroma == VLC_CODEC_RGB15 ||
v1.i_chroma == VLC_CODEC_RGB16 ||
}
return true;
}
+void video_format_Print( vlc_object_t *p_this,
+ const char *psz_text, const video_format_t *fmt )
+{
+ msg_Dbg( p_this,
+ "%s sz %ix%i, of (%i,%i), vsz %ix%i, 4cc %4.4s, sar %i:%i, msk r0x%x g0x%x b0x%x",
+ psz_text,
+ fmt->i_width, fmt->i_height, fmt->i_x_offset, fmt->i_y_offset,
+ fmt->i_visible_width, fmt->i_visible_height,
+ (char*)&fmt->i_chroma,
+ fmt->i_sar_num, fmt->i_sar_den,
+ fmt->i_rmask, fmt->i_gmask, fmt->i_bmask );
+}
void es_format_Init( es_format_t *fmt,
int i_cat, vlc_fourcc_t i_codec )
fmt->i_cat = i_cat;
fmt->i_codec = i_codec;
fmt->i_original_fourcc = 0;
+ fmt->i_profile = -1;
+ fmt->i_level = -1;
fmt->i_id = -1;
fmt->i_group = 0;
fmt->i_priority = 0;