summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst-libs/gst/riff/riff-media.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst-libs/gst/riff/riff-media.c b/gst-libs/gst/riff/riff-media.c
index ef56090d2..562733415 100644
--- a/gst-libs/gst/riff/riff-media.c
+++ b/gst-libs/gst/riff/riff-media.c
@@ -892,9 +892,11 @@ gst_riff_create_video_caps (guint32 codec_fcc,
}
if (strf != NULL) {
+ /* raw rgb data is stored topdown, but instead of inverting the buffer, */
+ /* some tools just negate the height field in the header (e.g. ffmpeg) */
gst_caps_set_simple (caps,
"width", G_TYPE_INT, strf->width,
- "height", G_TYPE_INT, strf->height, NULL);
+ "height", G_TYPE_INT, ABS ((gint) strf->height), NULL);
} else {
gst_caps_set_simple (caps,
"width", GST_TYPE_INT_RANGE, 1, G_MAXINT,