Index: configure.ac =================================================================== --- configure.ac (revision 19443) +++ configure.ac (revision 19466) @@ -3531,5 +3531,5 @@ [ --enable-dirac experimental dirac codec (default disabled)]) if test "${enable_dirac}" = "yes"; then - PKG_CHECK_MODULES(DIRAC,dirac, [ + PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [ VLC_ADD_PLUGINS([dirac]) VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS]) Index: modules/codec/dirac.c =================================================================== --- modules/codec/dirac.c (revision 18062) +++ modules/codec/dirac.c (revision 19466) @@ -146,11 +146,13 @@ int i_plane; - p_dec->fmt_out.i_codec = - p_sys->p_dirac->seq_params.chroma == format411 ? - VLC_FOURCC('I','4','1','1') : - p_sys->p_dirac->seq_params.chroma == format420 ? - VLC_FOURCC('I','4','2','0') : - p_sys->p_dirac->seq_params.chroma == format422 ? - VLC_FOURCC('I','4','2','2') : 0; + switch( p_sys->p_dirac->seq_params.chroma ) + { + case format420: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','0'); break; + case format422: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','2'); break; + case format444: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','4','4'); break; // XXX 0.6 ? + default: + p_dec->fmt_out.i_codec = 0; + break; + } p_dec->fmt_out.video.i_visible_width = @@ -161,7 +163,7 @@ p_dec->fmt_out.video.i_frame_rate = - p_sys->p_dirac->seq_params.frame_rate.numerator; + p_sys->p_dirac->src_params.frame_rate.numerator; p_dec->fmt_out.video.i_frame_rate_base = - p_sys->p_dirac->seq_params.frame_rate.denominator; + p_sys->p_dirac->src_params.frame_rate.denominator; /* Get a new picture */ @@ -169,7 +171,7 @@ if( p_pic == NULL ) return NULL; - - p_pic->b_progressive = !p_sys->p_dirac->seq_params.interlace; - p_pic->b_top_field_first = p_sys->p_dirac->seq_params.topfieldfirst; + p_pic->b_progressive = !p_sys->p_dirac->src_params.interlace; + p_pic->b_top_field_first = p_sys->p_dirac->src_params.topfieldfirst; + p_pic->i_nb_fields = 2; @@ -253,6 +255,6 @@ p_sys->p_dirac->seq_params.height, p_sys->p_dirac->seq_params.chroma, - (float)p_sys->p_dirac->seq_params.frame_rate.numerator/ - p_sys->p_dirac->seq_params.frame_rate.denominator ); + (float)p_sys->p_dirac->src_params.frame_rate.numerator/ + p_sys->p_dirac->src_params.frame_rate.denominator ); FreeFrameBuffer( p_sys->p_dirac ); @@ -354,18 +356,16 @@ config_ChainParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg ); - /* Initialse the encoder context with the presets for SD576 - Standard - * Definition Digital (some parameters will be overwritten later on) */ - dirac_encoder_context_init( &p_sys->ctx, SD576 ); - - /* Override parameters if required */ + dirac_encoder_context_init( &p_sys->ctx, VIDEO_FORMAT_CUSTOM ); + /* */ p_sys->ctx.seq_params.width = p_enc->fmt_in.video.i_width; p_sys->ctx.seq_params.height = p_enc->fmt_in.video.i_height; p_sys->ctx.seq_params.chroma = format420; - p_sys->ctx.seq_params.frame_rate.numerator = + /* */ + p_sys->ctx.src_params.frame_rate.numerator = p_enc->fmt_in.video.i_frame_rate; - p_sys->ctx.seq_params.frame_rate.denominator = + p_sys->ctx.src_params.frame_rate.denominator = p_enc->fmt_in.video.i_frame_rate_base; - p_sys->ctx.seq_params.interlace = 0; - p_sys->ctx.seq_params.topfieldfirst = 0; + p_sys->ctx.src_params.interlace = 0; + p_sys->ctx.src_params.topfieldfirst = 0; var_Get( p_enc, ENC_CFG_PREFIX "quality", &val );