Commit 8d9fe141 authored by Ilkka Ollakka's avatar Ilkka Ollakka

x264.c: add support for 8 and 10 bit encoding for all high10, high442 and high444 profiles

parent 0c56024b
...@@ -770,20 +770,25 @@ static int Open ( vlc_object_t *p_this ) ...@@ -770,20 +770,25 @@ static int Open ( vlc_object_t *p_this )
char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" ); char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" );
if( psz_profile ) if( psz_profile )
{ {
#if X264_CSP_HIGH_DEPTH
int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0;
#else
int mask = 0;
#endif
if( !strcmp( psz_profile, "high10" ) ) if( !strcmp( psz_profile, "high10" ) )
{ {
p_enc->fmt_in.i_codec = VLC_CODEC_I420_10L; p_enc->fmt_in.i_codec = mask ? VLC_CODEC_I420_10L : VLC_CODEC_I420;
p_sys->i_colorspace = X264_CSP_I420 | X264_CSP_HIGH_DEPTH; p_sys->i_colorspace = X264_CSP_I420 | mask;
} }
if( !strcmp( psz_profile, "high422" ) ) if( !strcmp( psz_profile, "high422" ) )
{ {
p_enc->fmt_in.i_codec = VLC_CODEC_I422; p_enc->fmt_in.i_codec = mask ? VLC_CODEC_I422_10L : VLC_CODEC_I422;
p_sys->i_colorspace = X264_CSP_I422; p_sys->i_colorspace = X264_CSP_I422 | mask;
} }
if( !strcmp( psz_profile, "high444" ) ) if( !strcmp( psz_profile, "high444" ) )
{ {
p_enc->fmt_in.i_codec = VLC_CODEC_I444; p_enc->fmt_in.i_codec = mask ? VLC_CODEC_I444_10L : VLC_CODEC_I444;
p_sys->i_colorspace = X264_CSP_I444; p_sys->i_colorspace = X264_CSP_I444 | mask;
} }
} }
free( psz_profile ); free( psz_profile );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment