summaryrefslogtreecommitdiffstats
path: root/libhb
diff options
context:
space:
mode:
Diffstat (limited to 'libhb')
-rw-r--r--libhb/common.h9
-rw-r--r--libhb/hb.c16
2 files changed, 12 insertions, 13 deletions
diff --git a/libhb/common.h b/libhb/common.h
index 2882bdf37..ef10fff41 100644
--- a/libhb/common.h
+++ b/libhb/common.h
@@ -63,11 +63,10 @@
#define HB_DEBUG_ASSERT(x, y) { if ((x)) { hb_error("ASSERT: %s", y); exit(1); } }
#endif
-#define EVEN( a ) ( (a) + ( (a) & 1 ) )
-#define MULTIPLE_16( a ) ( 16 * ( ( (a) + 8 ) / 16 ) )
-#define MULTIPLE_MOD( a, b ) ((b==1)?a:( b * ( ( (a) + (b / 2) - 1) / b ) ))
-#define MULTIPLE_MOD_UP( a, b ) ((b==1)?a:( b * ( ( (a) + (b) - 1) / b ) ))
-#define MULTIPLE_MOD_DOWN( a, b ) ((b==1)?a:( b * ( (a) / b ) ))
+#define EVEN( a ) ((a) + ((a) & 1))
+#define MULTIPLE_MOD(a, b) (((b) * (int)(((a) + ((b) / 2)) / (b))))
+#define MULTIPLE_MOD_UP(a, b) (((b) * (int)(((a) + ((b) - 1)) / (b))))
+#define MULTIPLE_MOD_DOWN(a, b) (((b) * (int)((a) / (b))))
#define HB_DVD_READ_BUFFER_SIZE 2048
diff --git a/libhb/hb.c b/libhb/hb.c
index e7c9c22bf..1ba78d774 100644
--- a/libhb/hb.c
+++ b/libhb/hb.c
@@ -1079,12 +1079,12 @@ void hb_set_anamorphic_size2(hb_geometry_t *src_geo,
if (!keep_height)
{
width = MULTIPLE_MOD_UP(ui_geo->width, mod);
- height = MULTIPLE_MOD((int)(width / dar), mod);
+ height = MULTIPLE_MOD(width / dar, mod);
}
else
{
height = MULTIPLE_MOD_UP(ui_geo->height, mod);
- width = MULTIPLE_MOD((int)(height * dar), mod);
+ width = MULTIPLE_MOD(height * dar, mod);
}
}
else
@@ -1095,12 +1095,12 @@ void hb_set_anamorphic_size2(hb_geometry_t *src_geo,
if (maxWidth && (width > maxWidth))
{
width = maxWidth;
- height = MULTIPLE_MOD((int)(width / dar), mod);
+ height = MULTIPLE_MOD(width / dar, mod);
}
if (maxHeight && (height > maxHeight))
{
height = maxHeight;
- width = MULTIPLE_MOD((int)(height * dar), mod);
+ width = MULTIPLE_MOD(height * dar, mod);
}
dst_par_num = dst_par_den = 1;
} break;
@@ -1141,24 +1141,24 @@ void hb_set_anamorphic_size2(hb_geometry_t *src_geo,
if (!keep_height)
{
width = MULTIPLE_MOD_UP(ui_geo->width, mod);
- height = MULTIPLE_MOD_UP((int)(width / storage_aspect + 0.5), mod);
+ height = MULTIPLE_MOD_UP(width / storage_aspect + 0.5, mod);
}
else
{
height = MULTIPLE_MOD_UP(ui_geo->height, mod);
- width = MULTIPLE_MOD_UP((int)(height * storage_aspect + 0.5), mod);
+ width = MULTIPLE_MOD_UP(height * storage_aspect + 0.5, mod);
}
if (maxWidth && (maxWidth < width))
{
width = maxWidth;
- height = MULTIPLE_MOD((int)(width / storage_aspect + 0.5), mod);
+ height = MULTIPLE_MOD(width / storage_aspect + 0.5, mod);
}
if (maxHeight && (maxHeight < height))
{
height = maxHeight;
- width = MULTIPLE_MOD((int)(height * storage_aspect + 0.5), mod);
+ width = MULTIPLE_MOD(height * storage_aspect + 0.5, mod);
}
/* Adjust the output PAR for new width/height