[automerger skipped] hwc2: add locks for callback functions am: 9bac9d39bb -s ours
am skip reason: Change-Id I3b29c2e17f3a8968348d0d0a29feaca287d4c72c with SHA-1 ccf7cd3bf2 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/qcom/display/+/11902570
Change-Id: I70a2cbe7abb89a1653df2c04e872fe6af303e7ce
diff --git a/msm8909/gpu_tonemapper/Android.mk b/msm8909/gpu_tonemapper/Android.mk
index 8b7a866..8da0628 100644
--- a/msm8909/gpu_tonemapper/Android.mk
+++ b/msm8909/gpu_tonemapper/Android.mk
@@ -17,7 +17,7 @@
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps) $(kernel_deps)
LOCAL_CFLAGS := $(version_flag) -Wno-missing-field-initializers -Wall \
- -Wno-unused-parameter -std=c++11 -DLOG_TAG=\"GPU_TONEMAPPER\"
+ -Wno-unused-parameter -DLOG_TAG=\"GPU_TONEMAPPER\"
LOCAL_SRC_FILES := TonemapFactory.cpp \
glengine.cpp \
diff --git a/msm8909/libdisplayconfig/Android.mk b/msm8909/libdisplayconfig/Android.mk
index 3d44444..de8b260 100644
--- a/msm8909/libdisplayconfig/Android.mk
+++ b/msm8909/libdisplayconfig/Android.mk
@@ -6,7 +6,7 @@
LOCAL_C_INCLUDES := $(common_includes)
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_SRC_FILES := DisplayConfig.cpp
-LOCAL_SHARED_LIBRARIES := libhidlbase libhidltransport libutils \
+LOCAL_SHARED_LIBRARIES := libhidlbase libutils \
vendor.display.config@1.0
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
diff --git a/msm8909/sdm/libs/hwc/Android.mk b/msm8909/sdm/libs/hwc/Android.mk
index 11495b9..6b7aa6c 100644
--- a/msm8909/sdm/libs/hwc/Android.mk
+++ b/msm8909/sdm/libs/hwc/Android.mk
@@ -11,7 +11,7 @@
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_CFLAGS := $(common_flags) -Wno-missing-field-initializers -Wno-unused-parameter \
- -std=c++11 -fcolor-diagnostics -Wno-sign-conversion -DLOG_TAG=\"SDM\"
+ -fcolor-diagnostics -Wno-sign-conversion -DLOG_TAG=\"SDM\"
LOCAL_CLANG := true
LOCAL_SHARED_LIBRARIES := libsdmcore libqservice libbinder libhardware libhardware_legacy \
@@ -20,7 +20,7 @@
libdrmutils libui
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_display.cpp \
diff --git a/msm8909/sdm/libs/hwc2/Android.mk b/msm8909/sdm/libs/hwc2/Android.mk
index b2d0078..22e101b 100644
--- a/msm8909/sdm/libs/hwc2/Android.mk
+++ b/msm8909/sdm/libs/hwc2/Android.mk
@@ -12,7 +12,7 @@
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_CFLAGS := -Wno-missing-field-initializers -Wno-unused-parameter \
- -std=c++11 -fcolor-diagnostics\
+ -fcolor-diagnostics\
-DLOG_TAG=\"SDM\" $(common_flags) \
-I $(display_top)/sdm/libs/hwc
ifeq ($(TARGET_EXCLUDES_DISPLAY_PP), true)
@@ -28,7 +28,7 @@
LOCAL_SHARED_LIBRARIES := libsdmcore libqservice libbinder libhardware libhardware_legacy \
libutils libcutils libsync libqdutils libqdMetaData libdl libdrmutils \
libsdmutils libc++ liblog libgrallocutils libdl \
- vendor.display.config@1.0 libhidlbase libhidltransport \
+ vendor.display.config@1.0 libhidlbase \
libui libgpu_tonemapper
ifneq ($(TARGET_USES_GRALLOC1), true)
@@ -40,7 +40,7 @@
endif
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_session_services.cpp \
diff --git a/msm8909w_3100/gpu_tonemapper/Android.mk b/msm8909w_3100/gpu_tonemapper/Android.mk
index a2471e5..20e86b1 100644
--- a/msm8909w_3100/gpu_tonemapper/Android.mk
+++ b/msm8909w_3100/gpu_tonemapper/Android.mk
@@ -15,7 +15,7 @@
LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps) $(kernel_deps)
LOCAL_CFLAGS := $(version_flag) -Wno-missing-field-initializers -Wall \
- -Wno-unused-parameter -std=c++11 -DLOG_TAG=\"GPU_TONEMAPPER\"
+ -Wno-unused-parameter -DLOG_TAG=\"GPU_TONEMAPPER\"
LOCAL_SRC_FILES := TonemapFactory.cpp \
glengine.cpp \
diff --git a/msm8909w_3100/libdisplayconfig/Android.mk b/msm8909w_3100/libdisplayconfig/Android.mk
index f6f1d3e..40b96e6 100644
--- a/msm8909w_3100/libdisplayconfig/Android.mk
+++ b/msm8909w_3100/libdisplayconfig/Android.mk
@@ -7,7 +7,7 @@
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_COPY_HEADERS := DisplayConfig.h
LOCAL_SRC_FILES := DisplayConfig.cpp
-LOCAL_SHARED_LIBRARIES := libhidlbase libhidltransport libutils \
+LOCAL_SHARED_LIBRARIES := libhidlbase libutils \
vendor.display.config@1.0
include $(BUILD_SHARED_LIBRARY)
diff --git a/msm8909w_3100/sdm/libs/hwc/Android.mk b/msm8909w_3100/sdm/libs/hwc/Android.mk
index 11495b9..6b7aa6c 100644
--- a/msm8909w_3100/sdm/libs/hwc/Android.mk
+++ b/msm8909w_3100/sdm/libs/hwc/Android.mk
@@ -11,7 +11,7 @@
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_CFLAGS := $(common_flags) -Wno-missing-field-initializers -Wno-unused-parameter \
- -std=c++11 -fcolor-diagnostics -Wno-sign-conversion -DLOG_TAG=\"SDM\"
+ -fcolor-diagnostics -Wno-sign-conversion -DLOG_TAG=\"SDM\"
LOCAL_CLANG := true
LOCAL_SHARED_LIBRARIES := libsdmcore libqservice libbinder libhardware libhardware_legacy \
@@ -20,7 +20,7 @@
libdrmutils libui
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_display.cpp \
diff --git a/msm8909w_3100/sdm/libs/hwc2/Android.mk b/msm8909w_3100/sdm/libs/hwc2/Android.mk
index ff16de5..beec1a8 100644
--- a/msm8909w_3100/sdm/libs/hwc2/Android.mk
+++ b/msm8909w_3100/sdm/libs/hwc2/Android.mk
@@ -12,7 +12,7 @@
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_CFLAGS := -Wno-missing-field-initializers -Wno-unused-parameter \
- -std=c++11 -fcolor-diagnostics\
+ -fcolor-diagnostics\
-DLOG_TAG=\"SDM\" $(common_flags) \
-I $(display_top)/sdm/libs/hwc
@@ -25,7 +25,7 @@
LOCAL_SHARED_LIBRARIES := libsdmcore libqservice libbinder libhardware libhardware_legacy \
libutils libcutils libsync libqdutils libqdMetaData libdl libdrmutils \
libsdmutils libc++ liblog libgrallocutils libdl \
- vendor.display.config@1.0 libhidlbase libhidltransport \
+ vendor.display.config@1.0 libhidlbase \
libui libgpu_tonemapper
ifneq ($(TARGET_USES_GRALLOC1), true)
@@ -33,7 +33,7 @@
endif
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_session_services.cpp \
diff --git a/msm8996/sdm/libs/hwc/Android.mk b/msm8996/sdm/libs/hwc/Android.mk
index 154b16b..a34e9c8 100644
--- a/msm8996/sdm/libs/hwc/Android.mk
+++ b/msm8996/sdm/libs/hwc/Android.mk
@@ -19,7 +19,7 @@
libpowermanager libsdmutils libc++
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_display.cpp \
diff --git a/msm8996/sdm/libs/hwc2/Android.mk b/msm8996/sdm/libs/hwc2/Android.mk
index f4150b1..a581ab6 100644
--- a/msm8996/sdm/libs/hwc2/Android.mk
+++ b/msm8996/sdm/libs/hwc2/Android.mk
@@ -11,7 +11,7 @@
LOCAL_C_INCLUDES := $(common_includes)
LOCAL_CFLAGS := -Wno-missing-field-initializers -Wno-unused-parameter \
- -std=c++11 -fcolor-diagnostics\
+ -fcolor-diagnostics\
-DLOG_TAG=\"SDM\" $(common_flags) \
-I $(display_top)/sdm/libs/hwc
@@ -26,7 +26,7 @@
endif
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_display.cpp \
diff --git a/msm8998/common.mk b/msm8998/common.mk
index 8c4ea2e..1427261 100644
--- a/msm8998/common.mk
+++ b/msm8998/common.mk
@@ -3,7 +3,7 @@
#Common C flags
common_flags := -DDEBUG_CALC_FPS -Wno-missing-field-initializers
-common_flags += -Wconversion -Wall -Werror -std=c++14
+common_flags += -Wconversion -Wall -Werror
common_flags += -DUSE_GRALLOC1
ifneq ($(TARGET_IS_HEADLESS), true)
common_flags += -DCOMPILE_DRM
diff --git a/msm8998/gpu_tonemapper/Android.mk b/msm8998/gpu_tonemapper/Android.mk
index fcb66cb..ea1d2e9 100644
--- a/msm8998/gpu_tonemapper/Android.mk
+++ b/msm8998/gpu_tonemapper/Android.mk
@@ -17,7 +17,7 @@
LOCAL_SHARED_LIBRARIES := libEGL libGLESv2 libGLESv3 libui libutils liblog
LOCAL_CFLAGS := $(version_flag) -Wno-missing-field-initializers -Wall \
- -Wno-unused-parameter -std=c++11 -DLOG_TAG=\"GPU_TONEMAPPER\"
+ -Wno-unused-parameter -DLOG_TAG=\"GPU_TONEMAPPER\"
LOCAL_SRC_FILES := TonemapFactory.cpp \
glengine.cpp \
diff --git a/msm8998/libqdutils/profiler.cpp b/msm8998/libqdutils/profiler.cpp
index 810b019..83f549d 100644
--- a/msm8998/libqdutils/profiler.cpp
+++ b/msm8998/libqdutils/profiler.cpp
@@ -185,7 +185,7 @@
}
else if (debug_fps_metadata_t::DFM_TIME == debug_fps_metadata.type) {
debug_fps_metadata.time_elapsed += (float)((float)diff/1000.0);
- if (debug_fps_metadata.time_elapsed >= debug_fps_metadata.time_period) {
+ if (debug_fps_metadata.time_elapsed >= (float)debug_fps_metadata.time_period) {
float fps = float(1000.0 * debug_fps_metadata.curr_frame/
debug_fps_metadata.time_elapsed);
print_fps(fps);
diff --git a/msm8998/sdm/libs/core/display_base.cpp b/msm8998/sdm/libs/core/display_base.cpp
index 6f2966f..257d462 100644
--- a/msm8998/sdm/libs/core/display_base.cpp
+++ b/msm8998/sdm/libs/core/display_base.cpp
@@ -201,8 +201,8 @@
auto gpu_target_layer_dst_xpixels = out_rect.right - out_rect.left;
auto gpu_target_layer_dst_ypixels = out_rect.bottom - out_rect.top;
- if (gpu_target_layer_dst_xpixels > mixer_attributes_.width ||
- gpu_target_layer_dst_ypixels > mixer_attributes_.height) {
+ if (gpu_target_layer_dst_xpixels > layer_mixer_width ||
+ gpu_target_layer_dst_ypixels > layer_mixer_height) {
DLOGE("GPU target layer dst rect is not with in limits gpu wxh %fx%f, mixer wxh %dx%d",
gpu_target_layer_dst_xpixels, gpu_target_layer_dst_ypixels,
mixer_attributes_.width, mixer_attributes_.height);
@@ -1179,7 +1179,7 @@
// Align the width and height according to fb's aspect ratio
*new_mixer_width = FloorToMultipleOf(UINT32((FLOAT(fb_width) / FLOAT(fb_height)) *
- layer_height), align_x);
+ FLOAT(layer_height)), align_x);
*new_mixer_height = FloorToMultipleOf(layer_height, align_y);
LayerRect dst_domain = {0.0f, 0.0f, FLOAT(*new_mixer_width), FLOAT(*new_mixer_height)};
diff --git a/msm8998/sdm/libs/core/display_primary.cpp b/msm8998/sdm/libs/core/display_primary.cpp
index 572dd00..35fdfb0 100644
--- a/msm8998/sdm/libs/core/display_primary.cpp
+++ b/msm8998/sdm/libs/core/display_primary.cpp
@@ -94,8 +94,8 @@
if (needs_hv_flip) {
DisplayBase::GetFrameBufferConfig(&variable_info);
- src_domain.right = variable_info.x_pixels;
- src_domain.bottom = variable_info.y_pixels;
+ src_domain.right = static_cast<float>(variable_info.x_pixels);
+ src_domain.bottom = static_cast<float>(variable_info.y_pixels);
panel_transform.flip_horizontal = hw_panel_info_.panel_orientation.flip_horizontal;
panel_transform.flip_vertical = hw_panel_info_.panel_orientation.flip_vertical;
diff --git a/msm8998/sdm/libs/core/drm/hw_device_drm.cpp b/msm8998/sdm/libs/core/drm/hw_device_drm.cpp
index 4bbd0f6..f8bf762 100644
--- a/msm8998/sdm/libs/core/drm/hw_device_drm.cpp
+++ b/msm8998/sdm/libs/core/drm/hw_device_drm.cpp
@@ -414,10 +414,10 @@
// In case of rotation, rotator handles flips
if (!needs_rotation) {
if (layer.transform.flip_horizontal) {
- rot_bit_mask |= 1 << DRM_REFLECT_X;
+ rot_bit_mask |= DRM_MODE_REFLECT_X;
}
if (layer.transform.flip_vertical) {
- rot_bit_mask |= 1 << DRM_REFLECT_Y;
+ rot_bit_mask |= DRM_MODE_REFLECT_Y;
}
}
@@ -760,7 +760,7 @@
float scale_x = FLOAT(display_attributes_.x_pixels) / FLOAT(mixer_attributes.width);
float scale_y = FLOAT(display_attributes_.y_pixels) / FLOAT(mixer_attributes.height);
- float max_scale_up = hw_resource_.hw_dest_scalar_info.max_scale_up;
+ float max_scale_up = FLOAT(hw_resource_.hw_dest_scalar_info.max_scale_up);
if (scale_x > max_scale_up || scale_y > max_scale_up) {
DLOGW(
"Up scaling ratio exceeds for destination scalar upscale limit scale_x %f scale_y %f "
diff --git a/msm8998/sdm/libs/core/fb/hw_device.cpp b/msm8998/sdm/libs/core/fb/hw_device.cpp
index 92dd826..c62917d 100644
--- a/msm8998/sdm/libs/core/fb/hw_device.cpp
+++ b/msm8998/sdm/libs/core/fb/hw_device.cpp
@@ -1333,7 +1333,7 @@
float scale_x = FLOAT(display_attributes_.x_pixels) / FLOAT(mixer_attributes.width);
float scale_y = FLOAT(display_attributes_.y_pixels) / FLOAT(mixer_attributes.height);
- float max_scale_up = hw_resource_.hw_dest_scalar_info.max_scale_up;
+ float max_scale_up = FLOAT(hw_resource_.hw_dest_scalar_info.max_scale_up);
if (scale_x > max_scale_up || scale_y > max_scale_up) {
DLOGW_IF(kTagDriverConfig, "Up scaling ratio exceeds for destination scalar upscale " \
"limit scale_x %f scale_y %f max_scale_up %f", scale_x, scale_y, max_scale_up);
diff --git a/msm8998/sdm/libs/core/resource_default.cpp b/msm8998/sdm/libs/core/resource_default.cpp
index 31d8704..bf06153 100644
--- a/msm8998/sdm/libs/core/resource_default.cpp
+++ b/msm8998/sdm/libs/core/resource_default.cpp
@@ -469,7 +469,7 @@
float dst_width = dst_rect.right - dst_rect.left;
// Layer cannot qualify for SrcSplit if source or destination width exceeds max pipe width.
- if ((src_width > hw_res_info_.max_pipe_width) || (dst_width > hw_res_info_.max_pipe_width)) {
+ if ((src_width > FLOAT(hw_res_info_.max_pipe_width)) || (dst_width > FLOAT(hw_res_info_.max_pipe_width))) {
SplitRect(src_rect, dst_rect, &left_pipe->src_roi, &left_pipe->dst_roi, &right_pipe->src_roi,
&right_pipe->dst_roi);
left_pipe->valid = true;
diff --git a/msm8998/sdm/libs/core/strategy.cpp b/msm8998/sdm/libs/core/strategy.cpp
index 8398bbd..6cf40b8 100644
--- a/msm8998/sdm/libs/core/strategy.cpp
+++ b/msm8998/sdm/libs/core/strategy.cpp
@@ -174,8 +174,8 @@
return;
}
- float layer_mixer_width = mixer_attributes_.width;
- float layer_mixer_height = mixer_attributes_.height;
+ float layer_mixer_width = FLOAT(mixer_attributes_.width);
+ float layer_mixer_height = FLOAT(mixer_attributes_.height);
if (!hw_resource_info_.is_src_split && display_attributes_.is_device_split) {
split_display = true;
diff --git a/msm8998/sdm/libs/hwc2/Android.mk b/msm8998/sdm/libs/hwc2/Android.mk
index bfba7b6..7014564 100644
--- a/msm8998/sdm/libs/hwc2/Android.mk
+++ b/msm8998/sdm/libs/hwc2/Android.mk
@@ -12,7 +12,7 @@
LOCAL_HEADER_LIBRARIES := display_headers
LOCAL_CFLAGS := -Wno-missing-field-initializers -Wno-unused-parameter \
- -std=c++11 -fcolor-diagnostics\
+ -fcolor-diagnostics\
-DLOG_TAG=\"SDM\" $(common_flags)
LOCAL_CLANG := true
@@ -21,7 +21,7 @@
libsdmutils libc++ liblog libdrmutils libui libgpu_tonemapper
# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
+LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_SRC_FILES := hwc_session.cpp \
hwc_display.cpp \
@@ -38,9 +38,6 @@
hwc_socket_handler.cpp \
hwc_buffer_allocator.cpp
-# Allow implicit fallthroughs in hwc_display.cpp until they are fixed.
-LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
-
ifeq ($(TARGET_HAS_WIDE_COLOR_DISPLAY), true)
LOCAL_CFLAGS += -DFEATURE_WIDE_COLOR
endif
diff --git a/msm8998/sdm/libs/hwc2/hwc_display.cpp b/msm8998/sdm/libs/hwc2/hwc_display.cpp
index 498c05d..46abc14 100644
--- a/msm8998/sdm/libs/hwc2/hwc_display.cpp
+++ b/msm8998/sdm/libs/hwc2/hwc_display.cpp
@@ -545,8 +545,8 @@
layer_buffer->release_fence_fd = -1;
layer->src_rect.left = 0;
layer->src_rect.top = 0;
- layer->src_rect.right = layer_buffer->width;
- layer->src_rect.bottom = layer_buffer->height;
+ layer->src_rect.right = FLOAT(layer_buffer->width);
+ layer->src_rect.bottom = FLOAT(layer_buffer->height);
}
if (layer->frame_rate > metadata_refresh_rate_) {
@@ -1715,8 +1715,8 @@
LayerRect rect;
rect.top = 0; rect.left = 0;
- rect.right = primary_width;
- rect.bottom = primary_height;
+ rect.right = FLOAT(primary_width);
+ rect.bottom = FLOAT(primary_height);
solid_fill_layer_->composition = kCompositionGPU;
solid_fill_layer_->src_rect = rect;
diff --git a/msm8998/sdm/libs/hwc2/hwc_display_external.cpp b/msm8998/sdm/libs/hwc2/hwc_display_external.cpp
index f4878c8..14a5dd8 100644
--- a/msm8998/sdm/libs/hwc2/hwc_display_external.cpp
+++ b/msm8998/sdm/libs/hwc2/hwc_display_external.cpp
@@ -154,8 +154,8 @@
return;
}
- uint32_t new_mixer_width = UINT32(mixer_width * FLOAT(1.0f - width_ratio));
- uint32_t new_mixer_height = UINT32(mixer_height * FLOAT(1.0f - height_ratio));
+ uint32_t new_mixer_width = UINT32(FLOAT(mixer_width) * (1.0f - width_ratio));
+ uint32_t new_mixer_height = UINT32(FLOAT(mixer_height) * (1.0f - height_ratio));
int x_offset = INT((FLOAT(mixer_width) * width_ratio) / 2.0f);
int y_offset = INT((FLOAT(mixer_height) * height_ratio) / 2.0f);
diff --git a/msm8998/sdm/libs/hwc2/hwc_layers.cpp b/msm8998/sdm/libs/hwc2/hwc_layers.cpp
index ea8841b..ee145f5 100644
--- a/msm8998/sdm/libs/hwc2/hwc_layers.cpp
+++ b/msm8998/sdm/libs/hwc2/hwc_layers.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2017, 2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2017, 2019-2020, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright 2015 The Android Open Source Project
@@ -592,6 +592,7 @@
format = kFormatYCrCb420PlanarStride16;
break;
case HAL_PIXEL_FORMAT_YCrCb_420_SP:
+ case HAL_PIXEL_FORMAT_NV21_ZSL:
format = kFormatYCrCb420SemiPlanar;
break;
case HAL_PIXEL_FORMAT_YCbCr_420_SP:
@@ -679,7 +680,7 @@
uint32_t fps = 0;
uint32_t frame_rate = layer->frame_rate;
if (getMetaData(handle, GET_REFRESH_RATE, &fps) == 0) {
- frame_rate = RoundToStandardFPS(fps);
+ frame_rate = RoundToStandardFPS(FLOAT(fps));
}
int32_t interlaced = 0;