msvc/hdr_util: Silence double to float conversion warnings.

- Use float instead of double for Colour children in mkvparser.
- Add casts where appropriate.

Change-Id: Ia0f7e4dc25536cd43bc5e9439c58770dc3d79bc5
This commit is contained in:
Tom Finegan 2016-03-30 11:34:18 -07:00
parent 074456386e
commit 1f2432397f
2 changed files with 17 additions and 10 deletions

View File

@ -23,7 +23,7 @@
#include "common/webmids.h"
namespace mkvparser {
const double MasteringMetadata::kValueNotPresent = DBL_MAX;
const float MasteringMetadata::kValueNotPresent = FLT_MAX;
const long long Colour::kValueNotPresent = LLONG_MAX;
#ifdef MSC_COMPAT
@ -4994,10 +4994,13 @@ bool PrimaryChromaticity::Parse(IMkvReader* reader, long long read_pos,
if (!chromaticity_ptr.get())
return false;
double* value = is_x ? &chromaticity_ptr->x : &chromaticity_ptr->y;
float* value = is_x ? &chromaticity_ptr->x : &chromaticity_ptr->y;
double parser_value = 0;
const long long value_parse_status =
UnserializeFloat(reader, read_pos, value_size, *value);
UnserializeFloat(reader, read_pos, value_size, parser_value);
*value = static_cast<float>(parser_value);
if (value_parse_status < 0 || *value < 0.0 || *value > 1.0)
return false;
@ -5028,15 +5031,19 @@ bool MasteringMetadata::Parse(IMkvReader* reader, long long mm_start,
return false;
if (child_id == libwebm::kMkvLuminanceMax) {
double value = 0;
const long long value_parse_status =
UnserializeFloat(reader, read_pos, child_size, mm_ptr->luminance_max);
UnserializeFloat(reader, read_pos, child_size, value);
mm_ptr->luminance_max = static_cast<float>(value);
if (value_parse_status < 0 || mm_ptr->luminance_max < 0.0 ||
mm_ptr->luminance_max > 9999.99) {
return false;
}
} else if (child_id == libwebm::kMkvLuminanceMin) {
double value = 0;
const long long value_parse_status =
UnserializeFloat(reader, read_pos, child_size, mm_ptr->luminance_min);
UnserializeFloat(reader, read_pos, child_size, value);
mm_ptr->luminance_min = static_cast<float>(value);
if (value_parse_status < 0 || mm_ptr->luminance_min < 0.0 ||
mm_ptr->luminance_min > 999.9999) {
return false;

View File

@ -395,12 +395,12 @@ struct PrimaryChromaticity {
static bool Parse(IMkvReader* reader, long long read_pos,
long long value_size, bool is_x,
PrimaryChromaticity** chromaticity);
double x;
double y;
float x;
float y;
};
struct MasteringMetadata {
static const double kValueNotPresent;
static const float kValueNotPresent;
MasteringMetadata()
: r(NULL),
@ -424,8 +424,8 @@ struct MasteringMetadata {
PrimaryChromaticity* g;
PrimaryChromaticity* b;
PrimaryChromaticity* white_point;
double luminance_max;
double luminance_min;
float luminance_max;
float luminance_min;
};
struct Colour {