pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/53240: build vlc -2.2.6 from pkgsrc 2018Q1 fails



I see the same problem.  I also saw a posting in pkgsrc-users

https://mail-index.netbsd.org/pkgsrc-users/2018/04/07/msg026466.html

which includes a patch.  There's a follow-up which suggests another
patch.  I couldn't get the latter patch to apply so I made my own
version of it, attached.  vlc now builds for me and the build works
for my normal use case, but I haven't tested the x264 bits.

-- 
Roy Bixler <rcbixler%nyx.net@localhost>
"The fundamental principle of science, the definition almost, is this: the
sole test of the validity of any idea is experiment."
-- Richard P. Feynman
--- x264.c	2015-04-13 19:54:35.000000000 +0000
+++ x264.c.patched	2018-05-20 16:35:38.538783495 +0000
@@ -83,13 +83,7 @@
     "I-frames, but do not start a new GOP." )
 
 #define OPENGOP_TEXT N_("Use recovery points to close GOPs")
-#if X264_BUILD < 115
-#define OPENGOP_LONGTEXT N_("none: use closed GOPs only\n"\
-    "normal: use standard open GOPs\n" \
-    "bluray: use Blu-ray compatible open GOPs" )
-#else
 #define OPENGOP_LONGTEXT N_("use open GOP, for bluray compatibility use also bluray-compat option")
-#endif
 
 #define BLURAY_TEXT N_("Enable compatibility hacks for Blu-ray support")
 #define BLURAY_LONGTEXT N_("Enable hacks for Blu-ray support, this doesn't enforce every aspect of Blu-ray compatibility\n" \
@@ -471,16 +465,10 @@
     add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT,
                  MIN_KEYINT_LONGTEXT, true )
 
-#if X264_BUILD >= 102 && X264_BUILD <= 114
-    add_string( SOUT_CFG_PREFIX "opengop", "none", OPENGOP_TEXT,
-               OPENGOP_LONGTEXT, true )
-        change_string_list( x264_open_gop_names, x264_open_gop_names )
-#elif X264_BUILD > 114
     add_bool( SOUT_CFG_PREFIX "opengop", false, OPENGOP_TEXT,
                OPENGOP_LONGTEXT, true )
     add_bool( SOUT_CFG_PREFIX "bluray-compat", false, BLURAY_TEXT,
                BLURAY_LONGTEXT, true )
-#endif
 
     add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT,
                  SCENE_LONGTEXT, true )
@@ -500,13 +488,8 @@
                  B_BIAS_LONGTEXT, true )
         change_integer_range( -100, 100 )
 
-#if X264_BUILD >= 87
     add_string( SOUT_CFG_PREFIX "bpyramid", "normal", BPYRAMID_TEXT,
               BPYRAMID_LONGTEXT, true )
-#else
-    add_string( SOUT_CFG_PREFIX "bpyramid", "none", BPYRAMID_TEXT,
-              BPYRAMID_LONGTEXT, true )
-#endif
         change_string_list( bpyramid_list, bpyramid_list )
 
     add_bool( SOUT_CFG_PREFIX "cabac", true, CABAC_TEXT, CABAC_LONGTEXT,
@@ -543,22 +526,18 @@
     add_bool( SOUT_CFG_PREFIX "interlaced", false, INTERLACED_TEXT, INTERLACED_LONGTEXT,
               true )
 
-#if X264_BUILD >= 111
     add_integer( SOUT_CFG_PREFIX "frame-packing", -1, FRAMEPACKING_TEXT, FRAMEPACKING_LONGTEXT, true )
         change_integer_list( framepacking_list, framepacking_list_text )
         change_integer_range( -1, 5)
-#endif
 
     add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true )
     add_integer( SOUT_CFG_PREFIX "slice-max-size", 0, SLICE_MAX_SIZE, SLICE_MAX_SIZE_LONGTEXT, true )
     add_integer( SOUT_CFG_PREFIX "slice-max-mbs", 0, SLICE_MAX_MBS, SLICE_MAX_MBS_LONGTEXT, true )
 
-#if X264_BUILD >= 89
     add_string( SOUT_CFG_PREFIX "hrd", "none", HRD_TEXT, HRD_TEXT, true )
         vlc_config_set (VLC_CONFIG_LIST,
             (sizeof(x264_nal_hrd_names) / sizeof (char*)) - 1,
             x264_nal_hrd_names, x264_nal_hrd_names);
-#endif
 
 
 /* Ratecontrol */
@@ -843,20 +822,14 @@
     fullrange = var_GetBool( p_enc, SOUT_CFG_PREFIX "fullrange" );
     p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420;
     p_sys->i_colorspace = X264_CSP_I420;
-#if X264_BUILD >= 118
     char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" );
-    if( psz_profile )
-    {
-        const int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0;
-
-
 # ifdef MODULE_NAME_IS_x26410b
-        if( mask == 0)
-        {
-            msg_Err( p_enc, "Only high bith depth encoding supported, bit depth:%d", x264_bit_depth);
-            return VLC_EGENERIC;
-        }
+    const int mask = X264_CSP_HIGH_DEPTH;
+# else
+    const int mask = 0;
 # endif
+    if( psz_profile )
+    {
 
         if( !strcmp( psz_profile, "high10" ) )
         {
@@ -879,7 +852,6 @@
             msg_Err( p_enc, "Only high-profiles and 10-bit are supported");
             return VLC_EGENERIC;
         }
-
 # endif
     }
 # ifdef MODULE_NAME_IS_x26410b
@@ -890,7 +862,6 @@
     }
 # endif
     free( psz_profile );
-#endif //X264_BUILD
 
     p_enc->pf_encode_video = Encode;
     p_enc->pf_encode_audio = NULL;
@@ -913,6 +884,10 @@
 #else
     x264_param_default( &p_sys->param );
     x264_param_default_preset( &p_sys->param, psz_preset, psz_tune );
+# if X264_BUILD > 152
+    if( mask )
+        p_sys->param.i_bitdepth = 10;
+# endif
 #endif
     free( psz_preset );
     free( psz_tune );
@@ -1045,10 +1020,8 @@
     if( fabs( var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ) - 1.0) > 0.005 )
        p_sys->param.rc.f_aq_strength = var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" );
 
-#if X264_BUILD >= 111
     if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ) > -1 )
        p_sys->param.i_frame_packing = var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" );
-#endif
 
     if( var_GetBool( p_enc, SOUT_CFG_PREFIX "verbose" ) )
         p_sys->param.i_log_level = X264_LOG_DEBUG;
@@ -1064,26 +1037,14 @@
 
     i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "keyint" );
     if( i_val > 0 && i_val != 250 ) p_sys->param.i_keyint_max = i_val;
-#if X264_BUILD >= 102
     if( i_val == -1 ) p_sys->param.i_keyint_max = X264_KEYINT_MAX_INFINITE;
-#endif
 
     i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "min-keyint" );
     if( i_val > 0 && i_val != 25 ) p_sys->param.i_keyint_min = i_val;
 
-#if X264_BUILD >= 102 && X264_BUILD <= 114
-    psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "opengop" );
-    if( !strcmp( psz_val, "none" ) )
-        p_sys->param.i_open_gop = X264_OPEN_GOP_NONE;
-    else if( !strcmp( psz_val, "normal" ) )
-        p_sys->param.i_open_gop = X264_OPEN_GOP_NORMAL;
-    else if( !strcmp( psz_val, "bluray" ) )
-        p_sys->param.i_open_gop = X264_OPEN_GOP_BLURAY;
-    free( psz_val );
-#elif X264_BUILD >= 115
     p_sys->param.b_open_gop = var_GetBool( p_enc, SOUT_CFG_PREFIX "opengop" );
     p_sys->param.b_bluray_compat = var_GetBool( p_enc, SOUT_CFG_PREFIX "bluray-compat" );
-#endif
+
     i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "bframes" );
     if( i_val >= 0 && i_val <= 16 && i_val != 3 )
         p_sys->param.i_bframe = i_val;
@@ -1121,14 +1082,12 @@
     if( i_val >= 1 && i_val != 7 )
         p_sys->param.analyse.i_subpel_refine = i_val;
 
-#if X264_BUILD >= 89
     psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "hrd");
     if( !strcmp( psz_val, "vbr" ) )
         p_sys->param.i_nal_hrd = X264_NAL_HRD_VBR;
     else if( !strcmp( psz_val, "cbr" ) )
         p_sys->param.i_nal_hrd = X264_NAL_HRD_CBR;
     free( psz_val );
-#endif
 
     //TODO: psz_val == NULL ?
     psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "me" );
@@ -1486,11 +1445,7 @@
     int i_nal=0, i_out=0, i=0;
 
     /* init pic */
-#if X264_BUILD >= 98
     x264_picture_init( &pic );
-#else
-    memset( &pic, 0, sizeof( x264_picture_t ) );
-#endif
     if( likely(p_pict) ) {
        pic.i_pts = p_pict->date;
        pic.img.i_csp = p_sys->i_colorspace;


Home | Main Index | Thread Index | Old Index