Browse Source

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

tags/n3.1
Carl Eugen Hoyos 10 years ago
parent
commit
4405ff2cae
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      libavcodec/hevc_ps.c

+ 6
- 5
libavcodec/hevc_ps.c 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) {


Loading…
Cancel
Save