[vlc-devel] [PATCH 4/5] packetizer: h264: fill colour_desc

Thomas Guillem thomas at gllm.fr
Sat Apr 16 16:41:43 CEST 2016



On Sat, Apr 16, 2016, at 16:30, Thomas Guillem wrote:
> ---
>  modules/packetizer/h264_nal.c | 15 +++++++++++++--
>  modules/packetizer/h264_nal.h |  6 ++++++
>  modules/packetizer/hxxx_nal.h |  8 ++++----
>  3 files changed, 23 insertions(+), 6 deletions(-)
> 
> diff --git a/modules/packetizer/h264_nal.c
> b/modules/packetizer/h264_nal.c
> index 71d946f..a4cdf23 100644
> --- a/modules/packetizer/h264_nal.c
> +++ b/modules/packetizer/h264_nal.c
> @@ -427,11 +427,22 @@ static bool h264_parse_sequence_parameter_set_rbsp(
> bs_t *p_bs,
>          i_tmp = bs_read( p_bs, 1 );
>          if( i_tmp )
>          {
> -            bs_read( p_bs, 4 );
> +            bs_read( p_bs, 3 );
> +            p_sps->vui.colour_desc.b_full_range = bs_read( p_bs, 1 );
>              /* colour desc */
>              i_tmp = bs_read( p_bs, 1 );
>              if ( i_tmp )
> -                bs_read( p_bs, 24 );
> +            {
> +                p_sps->vui.colour_desc.i_colour_primaries = bs_read(
> p_bs, 8 );
> +                p_sps->vui.colour_desc.i_transfer_characteristics =
> bs_read( p_bs, 8 );
> +                p_sps->vui.colour_desc.i_matrix_coefficients = bs_read(
> p_bs, 8 );
> +            }
> +            else
> +            {
> +                p_sps->vui.colour_desc.i_colour_primaries =
> HXXX_PRIMARIES_UNSPECIFIED;
> +                p_sps->vui.colour_desc.i_transfer_characteristics =
> HXXX_TRANSFER_UNSPECIFIED;
> +                p_sps->vui.colour_desc.i_matrix_coefficients =
> HXXX_MATRIX_UNSPECIFIED;
> +            }
>          }
>  
>          /* chroma loc info */
> diff --git a/modules/packetizer/h264_nal.h
> b/modules/packetizer/h264_nal.h
> index f59148a..b9277e4 100644
> --- a/modules/packetizer/h264_nal.h
> +++ b/modules/packetizer/h264_nal.h
> @@ -112,6 +112,12 @@ struct h264_sequence_parameter_set_t
>      struct {
>          bool b_valid;
>          int i_sar_num, i_sar_den;
> +        struct {
> +            bool b_full_range;
> +            uint8_t i_colour_primaries;
> +            uint8_t i_transfer_characteristics;
> +            uint8_t i_matrix_coefficients;
> +        } colour_desc;
>          bool b_timing_info_present_flag;
>          uint32_t i_num_units_in_tick;
>          uint32_t i_time_scale;
> diff --git a/modules/packetizer/hxxx_nal.h
> b/modules/packetizer/hxxx_nal.h
> index 134bf8a..e437796 100644
> --- a/modules/packetizer/hxxx_nal.h
> +++ b/modules/packetizer/hxxx_nal.h
> @@ -88,9 +88,9 @@ enum hxxx_transfer_characteristics
>      HXXX_TRANSFER_IEC61966_2_4      = 11,
>      HXXX_TRANSFER_BT1361            = 12,
>      HXXX_TRANSFER_IEC61966_2_1      = 13,
> -    HXXX_TRANSFER_BT2020_V14        = 14
> -    HXXX_TRANSFER_BT2020_V15        = 15
> -    HXXX_TRANSFER_SMPTE_ST_2084     = 16
> +    HXXX_TRANSFER_BT2020_V14        = 14,
> +    HXXX_TRANSFER_BT2020_V15        = 15,
> +    HXXX_TRANSFER_SMPTE_ST_2084     = 16,
>      HXXX_TRANSFER_SMPTE_ST_428      = 17

Wrong squash
>  };
>  
> @@ -130,7 +130,7 @@ hxxx_transfer_characteristics_to_vlc( enum
> hxxx_transfer_characteristics i_trans
>  /* Annex E: Matrix coefficients */
>  enum hxxx_matrix_coeffs
>  {
> -    HXXX_MATRIX_IDENTIFY            = 0,
> +    HXXX_MATRIX_IDENTITY            = 0,
>      HXXX_MATRIX_BT709               = 1,
>      HXXX_MATRIX_UNSPECIFIED         = 2,
>      HXXX_MATRIX_RESERVED            = 3,
> -- 
> 2.8.0.rc3
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list