X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fdirac.c;h=23cfecf117e85c2618e440e06a2914a2e42efcd4;hb=97e5f060705b87f0465da8b845d0142470639d54;hp=7e11878783e4dd34dda667c7601d419064954ff6;hpb=89b6530d8abd99b96b9f33af022022241fe97ee2;p=vlc diff --git a/modules/codec/dirac.c b/modules/codec/dirac.c index 7e11878783..23cfecf117 100644 --- a/modules/codec/dirac.c +++ b/modules/codec/dirac.c @@ -41,7 +41,6 @@ #include #include #include -#include #include @@ -205,6 +204,7 @@ vlc_module_begin() set_category( CAT_INPUT ) set_subcategory( SUBCAT_INPUT_VCODEC ) set_description( N_("Dirac video encoder using dirac-research library") ) + set_shortname( "Dirac" ) set_capability( "encoder", 100 ) set_callbacks( OpenEncoder, CloseEncoder ) @@ -507,9 +507,8 @@ static int OpenEncoder( vlc_object_t *p_this ) p_sys->ctx.src_params.frame_rate.denominator = p_enc->fmt_in.video.i_frame_rate_base; unsigned u_asr_num, u_asr_den; vlc_ureduce( &u_asr_num, &u_asr_den, - p_enc->fmt_in.video.i_height * p_enc->fmt_in.video.i_aspect, - p_enc->fmt_in.video.i_width * VOUT_ASPECT_FACTOR, - 0 ); + p_enc->fmt_in.video.i_sar_num, + p_enc->fmt_in.video.i_sar_den, 0 ); p_sys->ctx.src_params.pix_asr.numerator = u_asr_num; p_sys->ctx.src_params.pix_asr.denominator = u_asr_den; @@ -801,7 +800,6 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pic ) if( !p_sys->p_dirac ) { msg_Err( p_enc, "Failed to initialize dirac encoder" ); - p_enc->b_error = 1; return NULL; } date_Init( &date, p_enc->fmt_in.video.i_frame_rate, p_enc->fmt_in.video.i_frame_rate_base ); @@ -860,10 +858,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pic ) * coded order */ p_block = block_New( p_enc, 1 ); if( !p_block ) - { - p_enc->b_error = 1; return NULL; - } p_block->i_dts = p_pic->date - p_sys->i_pts_offset; block_FifoPut( p_sys->p_dts_fifo, p_block ); p_block = NULL; @@ -878,10 +873,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pic ) p_block = block_New( p_enc, 1 ); if( !p_block ) - { - p_enc->b_error = 1; return NULL; - } p_block->i_dts = p_pic->date - p_sys->i_pts_offset + p_sys->i_field_time; block_FifoPut( p_sys->p_dts_fifo, p_block ); p_block = NULL; @@ -902,10 +894,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pic ) /* extract data from encoder temporary buffer. */ p_block = block_New( p_enc, p_sys->p_dirac->enc_buf.size ); if( !p_block ) - { - p_enc->b_error = 1; return NULL; - } memcpy( p_block->p_buffer, p_sys->p_dirac->enc_buf.buffer, p_sys->p_dirac->enc_buf.size ); @@ -934,10 +923,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pic ) /* XXX, should this be done using the packetizer ? */ p_enc->fmt_out.p_extra = malloc( len + sizeof(eos) ); if( !p_enc->fmt_out.p_extra ) - { - p_enc->b_error = 1; return NULL; - } memcpy( p_enc->fmt_out.p_extra, p_block->p_buffer, len); memcpy( (uint8_t*)p_enc->fmt_out.p_extra + len, eos, sizeof(eos) ); SetDWBE( (uint8_t*)p_enc->fmt_out.p_extra + len + 10, len );