All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/vlc: fix build with updated x264
@ 2018-05-01  6:23 Bernd Kuhls
  2018-05-01 20:40 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: Bernd Kuhls @ 2018-05-01  6:23 UTC (permalink / raw)
  To: buildroot

Fixes
http://autobuild.buildroot.net/results/909/909d4c1b4bf8b3135607025e12363db1b2196011/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/vlc/0013-x264.patch | 208 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 208 insertions(+)
 create mode 100644 package/vlc/0013-x264.patch

diff --git a/package/vlc/0013-x264.patch b/package/vlc/0013-x264.patch
new file mode 100644
index 0000000000..a19887ac63
--- /dev/null
+++ b/package/vlc/0013-x264.patch
@@ -0,0 +1,208 @@
+From: Ilkka Ollakka <ileoo@videolan.org>
+Date: Sat, 24 Mar 2018 11:23:33 +0000 (+0200)
+Subject: x264: drop <148 build support and fix 10bit support
+X-Git-Url: http://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8
+
+x264: drop <148 build support and fix 10bit support
+
+Drop old #if as 148 is not that recent anymore.
+
+fixes #19581
+
+Rebased upstream commit
+http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+
+diff --git a/modules/codec/x264.c b/modules/codec/x264.c
+index e02048f075..bcf3c89a10 100644
+--- a/modules/codec/x264.c
++++ b/modules/codec/x264.c
+@@ -84,13 +84,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list );
+     "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" \
+@@ -469,16 +463,10 @@ vlc_module_begin ()
+     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 )
+@@ -498,13 +486,8 @@ vlc_module_begin ()
+                  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,
+@@ -541,22 +524,18 @@ vlc_module_begin ()
+     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 */
+@@ -842,20 +821,14 @@ static int  Open ( vlc_object_t *p_this )
+     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" ) )
+         {
+@@ -878,7 +851,6 @@ static int  Open ( vlc_object_t *p_this )
+             msg_Err( p_enc, "Only high-profiles and 10-bit are supported");
+             return VLC_EGENERIC;
+         }
+-
+ # endif
+     }
+ # ifdef MODULE_NAME_IS_x26410b
+@@ -889,7 +861,6 @@ static int  Open ( vlc_object_t *p_this )
+     }
+ # endif
+     free( psz_profile );
+-#endif //X264_BUILD
+ 
+     p_enc->pf_encode_video = Encode;
+     p_enc->pf_encode_audio = NULL;
+@@ -912,6 +883,10 @@ static int  Open ( vlc_object_t *p_this )
+ #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 );
+@@ -1089,10 +1064,8 @@ static int  Open ( vlc_object_t *p_this )
+     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;
+@@ -1108,26 +1081,14 @@ static int  Open ( vlc_object_t *p_this )
+ 
+     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;
+@@ -1165,14 +1126,12 @@ static int  Open ( vlc_object_t *p_this )
+     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" );
+@@ -1531,11 +1490,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
+     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;
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [PATCH 1/1] package/vlc: fix build with updated x264
  2018-05-01  6:23 [Buildroot] [PATCH 1/1] package/vlc: fix build with updated x264 Bernd Kuhls
@ 2018-05-01 20:40 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2018-05-01 20:40 UTC (permalink / raw)
  To: buildroot

Hello Bernd,

On Tue,  1 May 2018 08:23:45 +0200, Bernd Kuhls wrote:
> Fixes
> http://autobuild.buildroot.net/results/909/909d4c1b4bf8b3135607025e12363db1b2196011/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/vlc/0013-x264.patch | 208 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 208 insertions(+)
>  create mode 100644 package/vlc/0013-x264.patch

I've applied, and then pushed a commit that changes all VLC patches to
be Git formatted. Please always use Git formatted patches for packages
that use Git as their upstream version control system.

For VLC, the repository at
https://git.videolan.org/?p=vlc/vlc-2.2.git;a=summary has a 2.2.8 tag,
and the new stack of patches applies on this Git tag.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-05-01 20:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-01  6:23 [Buildroot] [PATCH 1/1] package/vlc: fix build with updated x264 Bernd Kuhls
2018-05-01 20:40 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.