Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2017-03-24 18:42:33 +0300
committerHendrik Leppkes <h.leppkes@gmail.com>2017-04-11 01:30:56 +0300
commit2684f3e29fb072eb474f4ae061b001a36695ba0a (patch)
tree0c77552a0fd69e848e91e665a590d19df2c9ca70
parent74cf152eecf8b1f856f19a8bcc84873e9c6f2275 (diff)
Fix Y416 conversion to be in the right format.
Note: this change breaks compatibility with software that expects the old layout (ie. older madVR versions). madVR 0.91.8 or newer use the correct layout provided by this change.
-rw-r--r--decoder/LAVVideo/pixconv/convert_generic.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/decoder/LAVVideo/pixconv/convert_generic.cpp b/decoder/LAVVideo/pixconv/convert_generic.cpp
index f52d0f0d..c0937296 100644
--- a/decoder/LAVVideo/pixconv/convert_generic.cpp
+++ b/decoder/LAVVideo/pixconv/convert_generic.cpp
@@ -538,13 +538,15 @@ HRESULT CLAVPixFmtConverter::ConvertToY416(const uint8_t* const src[4], const pt
sourceStride = srcStride[0] / 2;
}
-#define YUV444_Y416_PACK \
- *idst++ = 0xFFFF | (vv << (16 + shift)); \
- *idst++ = (yv << shift) | (uv << (16 + shift));
-
BYTE *out = dst[0];
YUV444_PACKED_LOOP_HEAD_LE(width, height, y, u, v, out)
- YUV444_Y416_PACK
+ uint16_t *p = (uint16_t *)idst;
+ p[0] = (uv << shift);
+ p[1] = (yv << shift);
+ p[2] = (vv << shift);
+ p[3] = 0xFFFF;
+
+ idst += 2;
YUV444_PACKED_LOOP_END(y, u, v, out, sourceStride, dstStride[0])
av_freep(&pTmpBuffer);