diff options
author | Carl Eugen Hoyos | 2020-07-19 21:57:41 +0200 |
---|---|---|
committer | Carl Eugen Hoyos | 2020-07-19 21:57:41 +0200 |
commit | c4b6ee55c0a5dbf1a56c5be95eb19f86e762ddcb (patch) | |
tree | 91f07832de4b654d4ed165f1ac15b820ce7092b2 | |
parent | 12614a589f5135a2e66b9caf93c54b8b46ee9d0a (diff) |
lavc/sgienc: Fix default 16bit encoding.
Broken since 7c56b879
-rw-r--r-- | libavcodec/sgienc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/sgienc.c b/libavcodec/sgienc.c index 13756f1608..40771d4666 100644 --- a/libavcodec/sgienc.c +++ b/libavcodec/sgienc.c @@ -219,7 +219,15 @@ FF_ENABLE_DEPRECATION_WARNINGS bytestream2_put_be32(&taboff_pcb, bytestream2_tell_p(&pbc)); for (x = 0; x < width * bytes_per_channel; x += bytes_per_channel) - encode_buf[x] = in_buf[depth * x]; + if (bytes_per_channel == 1) { + encode_buf[x] = in_buf[depth * x]; + } else if (HAVE_BIGENDIAN ^ put_be) { + encode_buf[x + 1] = in_buf[depth * x]; + encode_buf[x] = in_buf[depth * x + 1]; + } else { + encode_buf[x] = in_buf[depth * x]; + encode_buf[x + 1] = in_buf[depth * x + 1]; + } length = sgi_rle_encode(&pbc, encode_buf, width, bytes_per_channel); |