Re: [libav-devel] [PATCH 2/2] hevc: factor out a repeated condition

2016-10-18 Thread Vittorio Giovara
On Tue, Oct 18, 2016 at 3:24 PM, Anton Khirnov  wrote:
> ---
>  libavcodec/hevcdec.c | 20 
>  1 file changed, 8 insertions(+), 12 deletions(-)

ok i think
-- 
Vittorio
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


[libav-devel] [PATCH 2/2] hevc: factor out a repeated condition

2016-10-18 Thread Anton Khirnov
---
 libavcodec/hevcdec.c | 20 
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index db45608..e58d5f8 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -1684,6 +1684,8 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 struct MvField current_mv = {{{ 0 }}};
 
 int min_pu_width = s->ps.sps->min_pu_width;
+int weighted_pred = (s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
+(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag);
 
 MvField *tab_mvf = s->ref->tab_mvf;
 RefPicList  *refPicList = s->ref->refPicList;
@@ -1746,8 +1748,7 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 luma_mc(s, tmp, tmpstride, ref0->frame,
 ¤t_mv.mv[0], x0, y0, nPbW, nPbH, pred_idx);
 
-if ((s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
-(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag)) {
+if (weighted_pred) {
 s->hevcdsp.weighted_pred[pred_idx](s->sh.luma_log2_weight_denom,

s->sh.luma_weight_l0[current_mv.ref_idx[0]],

s->sh.luma_offset_l0[current_mv.ref_idx[0]],
@@ -1759,8 +1760,7 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 chroma_mc(s, tmp, tmp2, tmpstride, ref0->frame,
   ¤t_mv.mv[0], x0 / 2, y0 / 2, nPbW / 2, nPbH / 2, 
pred_idx);
 
-if ((s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
-(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag)) {
+if (weighted_pred) {
 
s->hevcdsp.weighted_pred_chroma[pred_idx](s->sh.chroma_log2_weight_denom,
   
s->sh.chroma_weight_l0[current_mv.ref_idx[0]][0],
   
s->sh.chroma_offset_l0[current_mv.ref_idx[0]][0],
@@ -1782,8 +1782,7 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 luma_mc(s, tmp, tmpstride, ref1->frame,
 ¤t_mv.mv[1], x0, y0, nPbW, nPbH, pred_idx);
 
-if ((s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
-(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag)) {
+if (weighted_pred) {
 s->hevcdsp.weighted_pred[pred_idx](s->sh.luma_log2_weight_denom,

s->sh.luma_weight_l1[current_mv.ref_idx[1]],

s->sh.luma_offset_l1[current_mv.ref_idx[1]],
@@ -1796,8 +1795,7 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 chroma_mc(s, tmp, tmp2, tmpstride, ref1->frame,
   ¤t_mv.mv[1], x0 / 2, y0 / 2, nPbW / 2, nPbH / 2, 
pred_idx);
 
-if ((s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
-(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag)) {
+if (weighted_pred) {
 
s->hevcdsp.weighted_pred_chroma[pred_idx](s->sh.chroma_log2_weight_denom,
   
s->sh.chroma_weight_l1[current_mv.ref_idx[1]][0],
   
s->sh.chroma_offset_l1[current_mv.ref_idx[1]][0],
@@ -1821,8 +1819,7 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 luma_mc(s, tmp2, tmpstride, ref1->frame,
 ¤t_mv.mv[1], x0, y0, nPbW, nPbH, pred_idx);
 
-if ((s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
-(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag)) {
+if (weighted_pred) {
 
s->hevcdsp.weighted_pred_avg[pred_idx](s->sh.luma_log2_weight_denom,

s->sh.luma_weight_l0[current_mv.ref_idx[0]],

s->sh.luma_weight_l1[current_mv.ref_idx[1]],
@@ -1840,8 +1837,7 @@ static void hls_prediction_unit(HEVCContext *s, int x0, 
int y0,
 chroma_mc(s, tmp3, tmp4, tmpstride, ref1->frame,
   ¤t_mv.mv[1], x0 / 2, y0 / 2, nPbW / 2, nPbH / 2, 
pred_idx);
 
-if ((s->sh.slice_type == HEVC_SLICE_P && 
s->ps.pps->weighted_pred_flag) ||
-(s->sh.slice_type == HEVC_SLICE_B && 
s->ps.pps->weighted_bipred_flag)) {
+if (weighted_pred) {
 
s->hevcdsp.weighted_pred_avg_chroma[pred_idx](s->sh.chroma_log2_weight_denom,
   
s->sh.chroma_weight_l0[current_mv.ref_idx[0]][0],
   
s->sh.chroma_weight_l1[current_mv.ref_idx[1]][0],
-- 
2.0.0

___
libav-devel ma