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



The following reply was made to PR pkg/53240; it has been noted by GNATS.

From: Roy Bixler <rcbixler%nyx.net@localhost>
To: pkg-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, pkgsrc-bugs%netbsd.org@localhost
Cc: 
Subject: Re: pkg/53240: build vlc -2.2.6 from pkgsrc 2018Q1 fails
Date: Sun, 20 May 2018 11:47:02 -0600

 --UlVJffcvxoiEqYs2
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 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
 
 --UlVJffcvxoiEqYs2
 Content-Type: text/x-diff; charset=us-ascii
 Content-Disposition: attachment; filename="x264.c.patch"
 
 --- 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;
 
 --UlVJffcvxoiEqYs2--
 


Home | Main Index | Thread Index | Old Index