[FFmpeg-devel] [PATCH] lavc/hevc_ps: fix crop info for monochrome

Ronald S. Bultje rsbultje at gmail.com
Mon Aug 20 06:17:53 EEST 2018


Hi,

On Sun, Aug 19, 2018 at 10:01 PM, Zhao Zhili <quinkblack at foxmail.com> wrote:

> @@ -628,8 +636,8 @@ static void decode_vui(GetBitContext *gb,
> AVCodecContext *avctx,
>          vui->default_display_window_flag = get_bits1(gb);
>
>      if (vui->default_display_window_flag) {
> -        int vert_mult  = 1 + (sps->chroma_format_idc < 2);
> -        int horiz_mult = 1 + (sps->chroma_format_idc < 3);
> +        uint8_t vert_mult  = hevc_sub_height_c[sps->chroma_format_idc];
> +        uint8_t horiz_mult = hevc_sub_width_c[sps->chroma_format_idc];
>          vui->def_disp_win.left_offset   = get_ue_golomb_long(gb) *
> horiz_mult;
>          vui->def_disp_win.right_offset  = get_ue_golomb_long(gb) *
> horiz_mult;
>          vui->def_disp_win.top_offset    = get_ue_golomb_long(gb) *
> vert_mult;
> @@ -923,8 +931,8 @@ int ff_hevc_parse_sps(HEVCSPS *sps, GetBitContext *gb,
> unsigned int *sps_id,
>          return ret;
>
>      if (get_bits1(gb)) { // pic_conformance_flag
> -        int vert_mult  = 1 + (sps->chroma_format_idc < 2);
> -        int horiz_mult = 1 + (sps->chroma_format_idc < 3);
> +        uint8_t vert_mult  = hevc_sub_height_c[sps->chroma_format_idc];
> +        uint8_t horiz_mult = hevc_sub_width_c[sps->chroma_format_idc];
>          sps->pic_conf_win.left_offset   = get_ue_golomb_long(gb) *
> horiz_mult;
>          sps->pic_conf_win.right_offset  = get_ue_golomb_long(gb) *
> horiz_mult;
>          sps->pic_conf_win.top_offset    = get_ue_golomb_long(gb) *
> vert_mult;
>

Arrays should be uint8_t, scalars should be regular ints.

Ronald


More information about the ffmpeg-devel mailing list