From 070c2cb24ce1ff32a538346c7c1dbbe83fc7e171 Mon Sep 17 00:00:00 2001 From: trav90 Date: Sat, 20 Oct 2018 14:50:33 -0500 Subject: Downsample av1 images unconditionally Adding partial support for 10/12-bit video images seems to have broken the native pixel-stride support we were using to pass 8-bit AV1 frame data formatted in 16-bit pixel values, resulting in vertical green lines. Revert to the earlier behavior of always downsampling to 8 bit data. This is slower, but at least displays correctly. --- dom/media/platforms/agnostic/AOMDecoder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'dom/media/platforms/agnostic/AOMDecoder.cpp') diff --git a/dom/media/platforms/agnostic/AOMDecoder.cpp b/dom/media/platforms/agnostic/AOMDecoder.cpp index 7a5fba052..b5d21375e 100644 --- a/dom/media/platforms/agnostic/AOMDecoder.cpp +++ b/dom/media/platforms/agnostic/AOMDecoder.cpp @@ -164,8 +164,8 @@ AOMDecoder::DoDecode(MediaRawData* aSample) while ((img = aom_codec_get_frame(&mCodec, &iter))) { // Track whether the underlying buffer is 8 or 16 bits per channel. bool highbd = bool(img->fmt & AOM_IMG_FMT_HIGHBITDEPTH); - if (img->bit_depth > 8) { - // Downsample images with more than 8 significant bits per channel. + if (highbd) { + // Downsample images with more than 8 bits per channel. aom_img_fmt_t fmt8 = static_cast(img->fmt ^ AOM_IMG_FMT_HIGHBITDEPTH); img8.reset(aom_img_alloc(NULL, fmt8, img->d_w, img->d_h, 16)); if (img8 == nullptr) { -- cgit v1.2.3