X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fdirac.c;h=50b29e8b715cc7bc5a66e9c162f39b5746d55f9c;hb=7c8b9f8671d5056824e7ba7f4d047d3d723eadd5;hp=b7a300e4a985d0292f8e1b962b270f95312491f3;hpb=1c76d96f74fe8703a5bae8ae36b8a9e01d3f9996;p=vlc diff --git a/modules/codec/dirac.c b/modules/codec/dirac.c index b7a300e4a9..50b29e8b71 100644 --- a/modules/codec/dirac.c +++ b/modules/codec/dirac.c @@ -35,12 +35,12 @@ #endif #include +#include #include #include #include #include -#include #include @@ -208,105 +208,105 @@ vlc_module_begin() set_callbacks( OpenEncoder, CloseEncoder ) add_float( ENC_CFG_PREFIX ENC_QUALITY_FACTOR, 5.5, NULL, - ENC_QUALITY_FACTOR_TEXT, ENC_QUALITY_FACTOR_LONGTEXT, false ); + ENC_QUALITY_FACTOR_TEXT, ENC_QUALITY_FACTOR_LONGTEXT, false ) change_float_range(0., 10.); add_integer( ENC_CFG_PREFIX ENC_TARGETRATE, -1, NULL, - ENC_TARGETRATE_TEXT, ENC_TARGETRATE_LONGTEXT, false ); + ENC_TARGETRATE_TEXT, ENC_TARGETRATE_LONGTEXT, false ) change_integer_range(-1, INT_MAX); add_bool( ENC_CFG_PREFIX ENC_LOSSLESS, false, NULL, - ENC_LOSSLESS_TEXT, ENC_LOSSLESS_LONGTEXT, false ); + ENC_LOSSLESS_TEXT, ENC_LOSSLESS_LONGTEXT, false ) add_string( ENC_CFG_PREFIX ENC_PREFILTER, "diaglp", NULL, - ENC_PREFILTER_TEXT, ENC_PREFILTER_LONGTEXT, false ); + ENC_PREFILTER_TEXT, ENC_PREFILTER_LONGTEXT, false ) change_string_list( enc_prefilter_list, enc_prefilter_list_text, 0 ); add_integer( ENC_CFG_PREFIX ENC_PREFILTER_STRENGTH, 1, NULL, - ENC_PREFILTER_STRENGTH_TEXT, ENC_PREFILTER_STRENGTH_LONGTEXT, false ); + ENC_PREFILTER_STRENGTH_TEXT, ENC_PREFILTER_STRENGTH_LONGTEXT, false ) change_integer_range(0, 10); add_string( ENC_CFG_PREFIX ENC_CHROMAFMT, "420", NULL, - ENC_CHROMAFMT_TEXT, ENC_CHROMAFMT_LONGTEXT, false ); + ENC_CHROMAFMT_TEXT, ENC_CHROMAFMT_LONGTEXT, false ) change_string_list( enc_chromafmt_list, enc_chromafmt_list_text, 0 ); add_integer( ENC_CFG_PREFIX ENC_L1SEP, -1, NULL, - ENC_L1SEP_TEXT, ENC_L1SEP_LONGTEXT, false ); + ENC_L1SEP_TEXT, ENC_L1SEP_LONGTEXT, false ) change_integer_range(-1, INT_MAX); add_integer( ENC_CFG_PREFIX ENC_L1NUM, -1, NULL, - ENC_L1NUM_TEXT, ENC_L1NUM_LONGTEXT, false ); + ENC_L1NUM_TEXT, ENC_L1NUM_LONGTEXT, false ) change_integer_range(-1, INT_MAX); add_string( ENC_CFG_PREFIX ENC_CODINGMODE, "auto", NULL, - ENC_CODINGMODE_TEXT, ENC_CODINGMODE_LONGTEXT, false ); + ENC_CODINGMODE_TEXT, ENC_CODINGMODE_LONGTEXT, false ) change_string_list( enc_codingmode_list, enc_codingmode_list_text, 0 ); add_string( ENC_CFG_PREFIX ENC_MVPREC, "1/2", NULL, - ENC_MVPREC_TEXT, ENC_MVPREC_LONGTEXT, false ); + ENC_MVPREC_TEXT, ENC_MVPREC_LONGTEXT, false ) change_string_list( enc_mvprec_list, enc_mvprec_list, 0 ); add_integer( ENC_CFG_PREFIX ENC_MCBLK_WIDTH, -1, NULL, - ENC_MCBLK_WIDTH_TEXT, ENC_MCBLK_WIDTH_LONGTEXT, false ); + ENC_MCBLK_WIDTH_TEXT, ENC_MCBLK_WIDTH_LONGTEXT, false ) add_deprecated_alias( ENC_CFG_PREFIX ENC_MCBLK_XBLEN ); change_integer_range(-1, INT_MAX); add_integer( ENC_CFG_PREFIX ENC_MCBLK_HEIGHT, -1, NULL, - ENC_MCBLK_HEIGHT, ENC_MCBLK_HEIGHT_LONGTEXT, false ); + ENC_MCBLK_HEIGHT, ENC_MCBLK_HEIGHT_LONGTEXT, false ) add_deprecated_alias( ENC_CFG_PREFIX ENC_MCBLK_YBLEN ); change_integer_range(-1, INT_MAX); add_integer( ENC_CFG_PREFIX ENC_MCBLK_OVERLAP, -1, NULL, - ENC_MCBLK_OVERLAP_TEXT, ENC_MCBLK_OVERLAP_LONGTEXT, false ); + ENC_MCBLK_OVERLAP_TEXT, ENC_MCBLK_OVERLAP_LONGTEXT, false ) change_integer_range(-1, 100); /* advanced option only */ add_integer( ENC_CFG_PREFIX ENC_MCBLK_XBLEN, -1, NULL, - ENC_MCBLK_XBLEN_TEXT, ENC_MCBLK_XBLEN_LONGTEXT, true ); + ENC_MCBLK_XBLEN_TEXT, ENC_MCBLK_XBLEN_LONGTEXT, true ) change_integer_range(-1, INT_MAX); /* advanced option only */ add_integer( ENC_CFG_PREFIX ENC_MCBLK_YBLEN, -1, NULL, - ENC_MCBLK_YBLEN_TEXT, ENC_MCBLK_YBLEN_LONGTEXT, true ); + ENC_MCBLK_YBLEN_TEXT, ENC_MCBLK_YBLEN_LONGTEXT, true ) change_integer_range(-1, INT_MAX); add_string( ENC_CFG_PREFIX ENC_ME_SIMPLESEARCH, "", NULL, - ENC_ME_SIMPLESEARCH_TEXT, ENC_ME_SIMPLESEARCH_LONGTEXT, false ); + ENC_ME_SIMPLESEARCH_TEXT, ENC_ME_SIMPLESEARCH_LONGTEXT, false ) #if DIRAC_RESEARCH_VERSION_ATLEAST(1,0,1) add_bool( ENC_CFG_PREFIX ENC_ME_COMBINED, true, NULL, - ENC_ME_COMBINED_TEXT, ENC_ME_COMBINED_LONGTEXT, false ); + ENC_ME_COMBINED_TEXT, ENC_ME_COMBINED_LONGTEXT, false ) #endif add_integer( ENC_CFG_PREFIX ENC_DWTINTRA, -1, NULL, - ENC_DWTINTRA_TEXT, ENC_DWTINTRA_LONGTEXT, false ); + ENC_DWTINTRA_TEXT, ENC_DWTINTRA_LONGTEXT, false ) change_integer_range(-1, 6); add_integer( ENC_CFG_PREFIX ENC_DWTINTER, -1, NULL, - ENC_DWTINTER_TEXT, ENC_DWTINTER_LONGTEXT, false ); + ENC_DWTINTER_TEXT, ENC_DWTINTER_LONGTEXT, false ) change_integer_range(-1, 6); add_integer( ENC_CFG_PREFIX ENC_DWTDEPTH, -1, NULL, - ENC_DWTDEPTH_TEXT, ENC_DWTDEPTH_LONGTEXT, false ); + ENC_DWTDEPTH_TEXT, ENC_DWTDEPTH_LONGTEXT, false ) change_integer_range(-1, 4); /* advanced option only */ /* NB, unforunately vlc doesn't have a concept of 'dont care' */ add_integer( ENC_CFG_PREFIX ENC_MULTIQUANT, -1, NULL, - ENC_MULTIQUANT_TEXT, ENC_MULTIQUANT_LONGTEXT, true ); + ENC_MULTIQUANT_TEXT, ENC_MULTIQUANT_LONGTEXT, true ) change_integer_range(-1, 1); /* advanced option only */ /* NB, unforunately vlc doesn't have a concept of 'dont care' */ add_integer( ENC_CFG_PREFIX ENC_SPARTITION, -1, NULL, - ENC_SPARTITION_TEXT, ENC_SPARTITION_LONGTEXT, true ); + ENC_SPARTITION_TEXT, ENC_SPARTITION_LONGTEXT, true ) change_integer_range(-1, 1); add_bool( ENC_CFG_PREFIX ENC_NOAC, false, NULL, - ENC_NOAC_TEXT, ENC_NOAC_LONGTEXT, false ); + ENC_NOAC_TEXT, ENC_NOAC_LONGTEXT, false ) /* advanced option only */ add_float( ENC_CFG_PREFIX ENC_CPD, -1, NULL, - ENC_CPD_TEXT, ENC_CPD_LONGTEXT, true ); + ENC_CPD_TEXT, ENC_CPD_LONGTEXT, true ) change_integer_range(-1, INT_MAX); vlc_module_end() @@ -442,7 +442,7 @@ static int OpenEncoder( vlc_object_t *p_this ) float f_tmp; char *psz_tmp; - if( p_enc->fmt_out.i_codec != VLC_FOURCC('d','r','a','c') && + if( p_enc->fmt_out.i_codec != VLC_CODEC_DIRAC && !p_enc->b_force ) { return VLC_EGENERIC; @@ -461,7 +461,7 @@ static int OpenEncoder( vlc_object_t *p_this ) p_enc->p_sys = p_sys; p_enc->pf_encode_video = Encode; - p_enc->fmt_out.i_codec = VLC_FOURCC('d','r','a','c'); + p_enc->fmt_out.i_codec = VLC_CODEC_DIRAC; p_enc->fmt_out.i_cat = VIDEO_ES; if( ( p_sys->p_dts_fifo = block_FifoNew() ) == NULL ) @@ -506,9 +506,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; @@ -518,19 +517,19 @@ static int OpenEncoder( vlc_object_t *p_this ) if( !psz_tmp ) goto error; else if( !strcmp( psz_tmp, "420" ) ) { - p_enc->fmt_in.i_codec = VLC_FOURCC('I','4','2','0'); + p_enc->fmt_in.i_codec = VLC_CODEC_I420; p_enc->fmt_in.video.i_bits_per_pixel = 12; p_sys->ctx.src_params.chroma = format420; p_sys->i_buffer_in = p_enc->fmt_in.video.i_width * p_enc->fmt_in.video.i_height * 3 / 2; } else if( !strcmp( psz_tmp, "422" ) ) { - p_enc->fmt_in.i_codec = VLC_FOURCC('I','4','2','2'); + p_enc->fmt_in.i_codec = VLC_CODEC_I422; p_enc->fmt_in.video.i_bits_per_pixel = 16; p_sys->ctx.src_params.chroma = format422; p_sys->i_buffer_in = p_enc->fmt_in.video.i_width * p_enc->fmt_in.video.i_height * 2; } else if( !strcmp( psz_tmp, "444" ) ) { - p_enc->fmt_in.i_codec = VLC_FOURCC('I','4','4','4'); + p_enc->fmt_in.i_codec = VLC_CODEC_I444; p_enc->fmt_in.video.i_bits_per_pixel = 24; p_sys->ctx.src_params.chroma = format444; p_sys->i_buffer_in = p_enc->fmt_in.video.i_width * p_enc->fmt_in.video.i_height * 3; @@ -799,13 +798,13 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pic ) p_sys->p_dirac = dirac_encoder_init( &p_sys->ctx, 0 ); if( !p_sys->p_dirac ) { - msg_Err( p_enc, "Failed to initialize dirac encoder\n" ); + 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 ); #if DIRAC_RESEARCH_VERSION_ATLEAST(1,0,2) - int i_delayinpics = dirac_encoder_ptsoffset( p_sys->p_dirac ); + int i_delayinpics = dirac_encoder_pts_offset( p_sys->p_dirac ); i_delayinpics /= p_sys->ctx.enc_params.picture_coding_mode + 1; date_Increment( &date, i_delayinpics ); #else