projects
/
nihav.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
h264: fix transform order
[nihav.git]
/
nihav-itu
/
src
/
codecs
/
h264
/
dsp
/
mod.rs
diff --git
a/nihav-itu/src/codecs/h264/dsp/mod.rs
b/nihav-itu/src/codecs/h264/dsp/mod.rs
index 69df7d6eede809e8733b0d015a76853d72b0acdd..fa091c60b5afa44baf4eb3eb8517af7ecc8e8584 100644
(file)
--- a/
nihav-itu/src/codecs/h264/dsp/mod.rs
+++ b/
nihav-itu/src/codecs/h264/dsp/mod.rs
@@
-156,11
+156,11
@@
pub fn idct(blk: &mut [i16; 16], qp: u8, quant_dc: bool) {
for (el, &idx) in blk.iter_mut().zip(BLK_INDEX.iter()).skip(start) {
*el = (*el * LEVEL_SCALE[idx][qidx]) << shift;
}
for (el, &idx) in blk.iter_mut().zip(BLK_INDEX.iter()).skip(start) {
*el = (*el * LEVEL_SCALE[idx][qidx]) << shift;
}
- for i in 0..4 {
- transform!(blk[i], blk[i + 4], blk[i + 8], blk[i + 12], 0);
- }
for row in blk.chunks_mut(4) {
for row in blk.chunks_mut(4) {
- transform!(row[0], row[1], row[2], row[3], 6);
+ transform!(row[0], row[1], row[2], row[3], 0);
+ }
+ for i in 0..4 {
+ transform!(blk[i], blk[i + 4], blk[i + 8], blk[i + 12], 6);
}
}
}
}