From e481458bc308ee838deaeacac51929514762e7a7 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 21 Mar 2016 16:14:31 +0100 Subject: h264: factor out pred weight table parsing into a separate file This will allow decoupling the parser from the decoder. --- libavcodec/dxva2_h264.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'libavcodec/dxva2_h264.c') diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c index eceb956dcf..2d6fa79152 100644 --- a/libavcodec/dxva2_h264.c +++ b/libavcodec/dxva2_h264.c @@ -230,8 +230,8 @@ static void fill_slice_long(AVCodecContext *avctx, DXVA_Slice_H264_Long *slice, slice->slice_type = ff_h264_get_slice_type(sl); if (sl->slice_type_fixed) slice->slice_type += 5; - slice->luma_log2_weight_denom = sl->luma_log2_weight_denom; - slice->chroma_log2_weight_denom = sl->chroma_log2_weight_denom; + slice->luma_log2_weight_denom = sl->pwt.luma_log2_weight_denom; + slice->chroma_log2_weight_denom = sl->pwt.chroma_log2_weight_denom; if (sl->list_count > 0) slice->num_ref_idx_l0_active_minus1 = sl->ref_count[0] - 1; if (sl->list_count > 1) @@ -255,15 +255,15 @@ static void fill_slice_long(AVCodecContext *avctx, DXVA_Slice_H264_Long *slice, r->reference == PICT_BOTTOM_FIELD); for (plane = 0; plane < 3; plane++) { int w, o; - if (plane == 0 && sl->luma_weight_flag[list]) { - w = sl->luma_weight[i][list][0]; - o = sl->luma_weight[i][list][1]; - } else if (plane >= 1 && sl->chroma_weight_flag[list]) { - w = sl->chroma_weight[i][list][plane-1][0]; - o = sl->chroma_weight[i][list][plane-1][1]; + if (plane == 0 && sl->pwt.luma_weight_flag[list]) { + w = sl->pwt.luma_weight[i][list][0]; + o = sl->pwt.luma_weight[i][list][1]; + } else if (plane >= 1 && sl->pwt.chroma_weight_flag[list]) { + w = sl->pwt.chroma_weight[i][list][plane-1][0]; + o = sl->pwt.chroma_weight[i][list][plane-1][1]; } else { - w = 1 << (plane == 0 ? sl->luma_log2_weight_denom : - sl->chroma_log2_weight_denom); + w = 1 << (plane == 0 ? sl->pwt.luma_log2_weight_denom : + sl->pwt.chroma_log2_weight_denom); o = 0; } slice->Weights[list][i][plane][0] = w; -- cgit v1.2.3