lavc/hevc_ps: Fix default display window offsets for yuv422 and yuv444.

This commit is contained in:
Carl Eugen Hoyos 2016-03-13 13:15:17 +01:00
parent ed5d295a69
commit 4405ff2cae

View File

@ -596,11 +596,12 @@ static void decode_vui(GetBitContext *gb, AVCodecContext *avctx,
memcpy(&backup, gb, sizeof(backup));
if (vui->default_display_window_flag) {
//TODO: * 2 is only valid for 420
vui->def_disp_win.left_offset = get_ue_golomb_long(gb) * 2;
vui->def_disp_win.right_offset = get_ue_golomb_long(gb) * 2;
vui->def_disp_win.top_offset = get_ue_golomb_long(gb) * 2;
vui->def_disp_win.bottom_offset = get_ue_golomb_long(gb) * 2;
int vert_mult = 1 + (sps->chroma_format_idc < 2);
int horiz_mult = 1 + (sps->chroma_format_idc < 3);
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;
vui->def_disp_win.bottom_offset = get_ue_golomb_long(gb) * vert_mult;
if (apply_defdispwin &&
avctx->flags2 & AV_CODEC_FLAG2_IGNORE_CROP) {