From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winegstreamer/h264_decoder.c | 2 +- dlls/winegstreamer/mfplat.c | 24 ++++++++++++------------ dlls/winegstreamer/quartz_parser.c | 4 ++-- dlls/winegstreamer/unixlib.h | 4 ++-- dlls/winegstreamer/wg_format.c | 28 ++++++++++++++-------------- dlls/winegstreamer/wg_transform.c | 4 ++-- dlls/winegstreamer/wm_reader.c | 8 ++++---- 7 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/dlls/winegstreamer/h264_decoder.c b/dlls/winegstreamer/h264_decoder.c index 44c6d992b55..7fbe46c22a4 100644 --- a/dlls/winegstreamer/h264_decoder.c +++ b/dlls/winegstreamer/h264_decoder.c @@ -698,7 +698,7 @@ HRESULT h264_decoder_create(REFIID riid, void **ret) .height = 1080, }, }; - static const struct wg_format input_format = {.major_type = WG_MAJOR_TYPE_H264}; + static const struct wg_format input_format = {.major_type = WG_MAJOR_TYPE_VIDEO_H264}; struct wg_transform *transform; struct h264_decoder *decoder; HRESULT hr; diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c index 1c8b2ebfc6d..7e83d570f06 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -489,8 +489,8 @@ IMFMediaType *mf_media_type_from_wg_format(const struct wg_format *format) { case WG_MAJOR_TYPE_AUDIO_MPEG1: case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: case WG_MAJOR_TYPE_VIDEO_CINEPAK: + case WG_MAJOR_TYPE_VIDEO_H264: FIXME("Format %u not implemented!\n", format->major_type); /* fallthrough */ case WG_MAJOR_TYPE_UNKNOWN: @@ -663,36 +663,36 @@ static void mf_media_type_to_wg_format_audio_wma(IMFMediaType *type, const GUID memcpy(format->u.audio_wma.codec_data, codec_data, codec_data_len); }
-static void mf_media_type_to_wg_format_h264(IMFMediaType *type, struct wg_format *format) +static void mf_media_type_to_wg_format_video_h264(IMFMediaType *type, struct wg_format *format) { UINT64 frame_rate, frame_size; UINT32 profile, level;
memset(format, 0, sizeof(*format)); - format->major_type = WG_MAJOR_TYPE_H264; + format->major_type = WG_MAJOR_TYPE_VIDEO_H264;
if (SUCCEEDED(IMFMediaType_GetUINT64(type, &MF_MT_FRAME_SIZE, &frame_size))) { - format->u.h264.width = frame_size >> 32; - format->u.h264.height = (UINT32)frame_size; + format->u.video_h264.width = frame_size >> 32; + format->u.video_h264.height = (UINT32)frame_size; }
if (SUCCEEDED(IMFMediaType_GetUINT64(type, &MF_MT_FRAME_RATE, &frame_rate)) && (UINT32)frame_rate) { - format->u.h264.fps_n = frame_rate >> 32; - format->u.h264.fps_d = (UINT32)frame_rate; + format->u.video_h264.fps_n = frame_rate >> 32; + format->u.video_h264.fps_d = (UINT32)frame_rate; } else { - format->u.h264.fps_n = 1; - format->u.h264.fps_d = 1; + format->u.video_h264.fps_n = 1; + format->u.video_h264.fps_d = 1; }
if (SUCCEEDED(IMFMediaType_GetUINT32(type, &MF_MT_MPEG2_PROFILE, &profile))) - format->u.h264.profile = profile; + format->u.video_h264.profile = profile;
if (SUCCEEDED(IMFMediaType_GetUINT32(type, &MF_MT_MPEG2_LEVEL, &level))) - format->u.h264.level = level; + format->u.video_h264.level = level; }
void mf_media_type_to_wg_format(IMFMediaType *type, struct wg_format *format) @@ -725,7 +725,7 @@ void mf_media_type_to_wg_format(IMFMediaType *type, struct wg_format *format) else if (IsEqualGUID(&major_type, &MFMediaType_Video)) { if (IsEqualGUID(&subtype, &MFVideoFormat_H264)) - mf_media_type_to_wg_format_h264(type, format); + mf_media_type_to_wg_format_video_h264(type, format); else mf_media_type_to_wg_format_video(type, &subtype, format); } diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c index d9248f81d81..55e5988e880 100644 --- a/dlls/winegstreamer/quartz_parser.c +++ b/dlls/winegstreamer/quartz_parser.c @@ -360,7 +360,7 @@ unsigned int wg_format_get_max_size(const struct wg_format *format) break;
case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: + case WG_MAJOR_TYPE_VIDEO_H264: FIXME("Format %u not implemented!\n", format->major_type); return 0;
@@ -529,7 +529,7 @@ bool amt_from_wg_format(AM_MEDIA_TYPE *mt, const struct wg_format *format, bool switch (format->major_type) { case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: + case WG_MAJOR_TYPE_VIDEO_H264: FIXME("Format %u not implemented!\n", format->major_type); /* fallthrough */ case WG_MAJOR_TYPE_UNKNOWN: diff --git a/dlls/winegstreamer/unixlib.h b/dlls/winegstreamer/unixlib.h index 31e7d8359cd..9ec992368b9 100644 --- a/dlls/winegstreamer/unixlib.h +++ b/dlls/winegstreamer/unixlib.h @@ -37,10 +37,10 @@ struct wg_format WG_MAJOR_TYPE_UNKNOWN, WG_MAJOR_TYPE_VIDEO, WG_MAJOR_TYPE_VIDEO_CINEPAK, + WG_MAJOR_TYPE_VIDEO_H264, WG_MAJOR_TYPE_AUDIO, WG_MAJOR_TYPE_AUDIO_MPEG1, WG_MAJOR_TYPE_AUDIO_WMA, - WG_MAJOR_TYPE_H264, } major_type;
union @@ -117,7 +117,7 @@ struct wg_format uint32_t fps_n, fps_d; uint32_t profile; uint32_t level; - } h264; + } video_h264; } u; };
diff --git a/dlls/winegstreamer/wg_format.c b/dlls/winegstreamer/wg_format.c index 261dc9a03e8..b67c820dd71 100644 --- a/dlls/winegstreamer/wg_format.c +++ b/dlls/winegstreamer/wg_format.c @@ -460,7 +460,7 @@ static GstCaps *wg_format_to_caps_audio_wma(const struct wg_format *format) return caps; }
-static GstCaps *wg_format_to_caps_h264(const struct wg_format *format) +static GstCaps *wg_format_to_caps_video_h264(const struct wg_format *format) { const char *profile, *level; GstCaps *caps; @@ -470,20 +470,20 @@ static GstCaps *wg_format_to_caps_h264(const struct wg_format *format) gst_caps_set_simple(caps, "stream-format", G_TYPE_STRING, "byte-stream", NULL); gst_caps_set_simple(caps, "alignment", G_TYPE_STRING, "au", NULL);
- if (format->u.h264.width) - gst_caps_set_simple(caps, "width", G_TYPE_INT, format->u.h264.width, NULL); - if (format->u.h264.height) - gst_caps_set_simple(caps, "height", G_TYPE_INT, format->u.h264.height, NULL); - if (format->u.h264.fps_n || format->u.h264.fps_d) - gst_caps_set_simple(caps, "framerate", GST_TYPE_FRACTION, format->u.h264.fps_n, format->u.h264.fps_d, NULL); + if (format->u.video_h264.width) + gst_caps_set_simple(caps, "width", G_TYPE_INT, format->u.video_h264.width, NULL); + if (format->u.video_h264.height) + gst_caps_set_simple(caps, "height", G_TYPE_INT, format->u.video_h264.height, NULL); + if (format->u.video_h264.fps_n || format->u.video_h264.fps_d) + gst_caps_set_simple(caps, "framerate", GST_TYPE_FRACTION, format->u.video_h264.fps_n, format->u.video_h264.fps_d, NULL);
- switch (format->u.h264.profile) + switch (format->u.video_h264.profile) { case eAVEncH264VProfile_Main: profile = "main"; break; case eAVEncH264VProfile_High: profile = "high"; break; case eAVEncH264VProfile_444: profile = "high-4:4:4"; break; default: - GST_FIXME("H264 profile attribute %u not implemented.", format->u.h264.profile); + GST_FIXME("H264 profile attribute %u not implemented.", format->u.video_h264.profile); /* fallthrough */ case eAVEncH264VProfile_unknown: profile = NULL; @@ -492,7 +492,7 @@ static GstCaps *wg_format_to_caps_h264(const struct wg_format *format) if (profile) gst_caps_set_simple(caps, "profile", G_TYPE_STRING, profile, NULL);
- switch (format->u.h264.level) + switch (format->u.video_h264.level) { case eAVEncH264VLevel1: level = "1"; break; case eAVEncH264VLevel1_1: level = "1.1"; break; @@ -511,7 +511,7 @@ static GstCaps *wg_format_to_caps_h264(const struct wg_format *format) case eAVEncH264VLevel5_1: level = "5.1"; break; case eAVEncH264VLevel5_2: level = "5.2"; break; default: - GST_FIXME("H264 level attribute %u not implemented.", format->u.h264.level); + GST_FIXME("H264 level attribute %u not implemented.", format->u.video_h264.level); /* fallthrough */ case 0: level = NULL; @@ -529,8 +529,6 @@ GstCaps *wg_format_to_caps(const struct wg_format *format) { case WG_MAJOR_TYPE_UNKNOWN: return gst_caps_new_any(); - case WG_MAJOR_TYPE_H264: - return wg_format_to_caps_h264(format); case WG_MAJOR_TYPE_AUDIO: return wg_format_to_caps_audio(format); case WG_MAJOR_TYPE_AUDIO_MPEG1: @@ -541,6 +539,8 @@ GstCaps *wg_format_to_caps(const struct wg_format *format) return wg_format_to_caps_video(format); case WG_MAJOR_TYPE_VIDEO_CINEPAK: return wg_format_to_caps_video_cinepak(format); + case WG_MAJOR_TYPE_VIDEO_H264: + return wg_format_to_caps_video_h264(format); } assert(0); return NULL; @@ -555,7 +555,7 @@ bool wg_format_compare(const struct wg_format *a, const struct wg_format *b) { case WG_MAJOR_TYPE_AUDIO_MPEG1: case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: + case WG_MAJOR_TYPE_VIDEO_H264: GST_FIXME("Format %u not implemented!", a->major_type); /* fallthrough */ case WG_MAJOR_TYPE_UNKNOWN: diff --git a/dlls/winegstreamer/wg_transform.c b/dlls/winegstreamer/wg_transform.c index 8a590a042a0..486562fdff6 100644 --- a/dlls/winegstreamer/wg_transform.c +++ b/dlls/winegstreamer/wg_transform.c @@ -411,7 +411,7 @@ NTSTATUS wg_transform_create(void *args)
switch (input_format.major_type) { - case WG_MAJOR_TYPE_H264: + case WG_MAJOR_TYPE_VIDEO_H264: /* Call of Duty: Black Ops 3 doesn't care about the ProcessInput/ProcessOutput * return values, it calls them in a specific order and expects the decoder * transform to be able to queue its input buffers. We need to use a buffer list @@ -475,8 +475,8 @@ NTSTATUS wg_transform_create(void *args)
case WG_MAJOR_TYPE_AUDIO_MPEG1: case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: case WG_MAJOR_TYPE_VIDEO_CINEPAK: + case WG_MAJOR_TYPE_VIDEO_H264: case WG_MAJOR_TYPE_UNKNOWN: GST_FIXME("Format %u not implemented!", output_format.major_type); goto out; diff --git a/dlls/winegstreamer/wm_reader.c b/dlls/winegstreamer/wm_reader.c index ba3bff79761..f4210379a30 100644 --- a/dlls/winegstreamer/wm_reader.c +++ b/dlls/winegstreamer/wm_reader.c @@ -1517,10 +1517,10 @@ static const char *get_major_type_string(enum wg_major_type type) return "video"; case WG_MAJOR_TYPE_VIDEO_CINEPAK: return "cinepak"; + case WG_MAJOR_TYPE_VIDEO_H264: + return "h264"; case WG_MAJOR_TYPE_UNKNOWN: return "unknown"; - case WG_MAJOR_TYPE_H264: - return "h264"; } assert(0); return NULL; @@ -1976,8 +1976,8 @@ static HRESULT WINAPI reader_GetOutputFormat(IWMSyncReader2 *iface,
case WG_MAJOR_TYPE_AUDIO_MPEG1: case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: case WG_MAJOR_TYPE_VIDEO_CINEPAK: + case WG_MAJOR_TYPE_VIDEO_H264: FIXME("Format %u not implemented!\n", format.major_type); break; case WG_MAJOR_TYPE_UNKNOWN: @@ -2015,8 +2015,8 @@ static HRESULT WINAPI reader_GetOutputFormatCount(IWMSyncReader2 *iface, DWORD o
case WG_MAJOR_TYPE_AUDIO_MPEG1: case WG_MAJOR_TYPE_AUDIO_WMA: - case WG_MAJOR_TYPE_H264: case WG_MAJOR_TYPE_VIDEO_CINEPAK: + case WG_MAJOR_TYPE_VIDEO_H264: FIXME("Format %u not implemented!\n", format.major_type); /* fallthrough */ case WG_MAJOR_TYPE_AUDIO: