mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-09 14:14:39 +02:00
jpeg2000/j2k: merge getsigctxno()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
69b9773980
commit
b67fe48f34
@ -107,43 +107,43 @@ static int getsigctxno(int flag, int bandno)
|
|||||||
{
|
{
|
||||||
int h, v, d;
|
int h, v, d;
|
||||||
|
|
||||||
h = ((flag & JPEG2000_T1_SIG_E) ? 1:0)+
|
h = ((flag & JPEG2000_T1_SIG_E) ? 1 : 0) +
|
||||||
((flag & JPEG2000_T1_SIG_W) ? 1:0);
|
((flag & JPEG2000_T1_SIG_W) ? 1 : 0);
|
||||||
v = ((flag & JPEG2000_T1_SIG_N) ? 1:0);
|
v = ((flag & JPEG2000_T1_SIG_N) ? 1 : 0) +
|
||||||
v = v + ((flag & JPEG2000_T1_SIG_S) ? 1:0);
|
((flag & JPEG2000_T1_SIG_S) ? 1 : 0);
|
||||||
d = ((flag & JPEG2000_T1_SIG_NE) ? 1:0)+
|
d = ((flag & JPEG2000_T1_SIG_NE) ? 1 : 0) +
|
||||||
((flag & JPEG2000_T1_SIG_NW) ? 1:0);
|
((flag & JPEG2000_T1_SIG_NW) ? 1 : 0) +
|
||||||
d = d + ((flag & JPEG2000_T1_SIG_SE) ? 1:0)+
|
((flag & JPEG2000_T1_SIG_SE) ? 1 : 0) +
|
||||||
((flag & JPEG2000_T1_SIG_SW) ? 1:0);
|
((flag & JPEG2000_T1_SIG_SW) ? 1 : 0);
|
||||||
|
|
||||||
if (bandno < 3){
|
if (bandno < 3){
|
||||||
if (bandno == 1)
|
if (bandno == 1)
|
||||||
FFSWAP(int, h, v);
|
FFSWAP(int, h, v);
|
||||||
if (h == 2) return 8;
|
if (h == 2) return 8;
|
||||||
if (h == 1){
|
if (h == 1){
|
||||||
if (v >= 1) return 7;
|
if (v >= 1) return 7;
|
||||||
if (d >= 1) return 6;
|
if (d >= 1) return 6;
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
if (v == 2) return 4;
|
if (v == 2) return 4;
|
||||||
if (v == 1) return 3;
|
if (v == 1) return 3;
|
||||||
if (d >= 2) return 2;
|
if (d >= 2) return 2;
|
||||||
if (d == 1) return 1;
|
if (d == 1) return 1;
|
||||||
return 0;
|
|
||||||
} else{
|
} else{
|
||||||
if (d >= 3) return 8;
|
if (d >= 3) return 8;
|
||||||
if (d == 2){
|
if (d == 2){
|
||||||
if (h+v >= 1) return 7;
|
if (h+v >= 1) return 7;
|
||||||
return 6;
|
return 6;
|
||||||
}
|
}
|
||||||
if (d == 1){
|
if (d == 1){
|
||||||
if (h+v >= 2) return 5;
|
if (h+v >= 2) return 5;
|
||||||
if (h+v == 1) return 4;
|
if (h+v == 1) return 4;
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (h+v >= 2) return 2;
|
if (h+v >= 2) return 2;
|
||||||
if (h+v == 1) return 1;
|
if (h+v == 1) return 1;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getsgnctxno(int flag, uint8_t *xorbit)
|
static int getsgnctxno(int flag, uint8_t *xorbit)
|
||||||
|
@ -95,47 +95,33 @@ static int getsigctxno(int flag, int bandno)
|
|||||||
((flag & JPEG2000_T1_SIG_NW) ? 1 : 0) +
|
((flag & JPEG2000_T1_SIG_NW) ? 1 : 0) +
|
||||||
((flag & JPEG2000_T1_SIG_SE) ? 1 : 0) +
|
((flag & JPEG2000_T1_SIG_SE) ? 1 : 0) +
|
||||||
((flag & JPEG2000_T1_SIG_SW) ? 1 : 0);
|
((flag & JPEG2000_T1_SIG_SW) ? 1 : 0);
|
||||||
if (bandno < 3) {
|
|
||||||
|
if (bandno < 3){
|
||||||
if (bandno == 1)
|
if (bandno == 1)
|
||||||
FFSWAP(int, h, v);
|
FFSWAP(int, h, v);
|
||||||
if (h == 2)
|
if (h == 2) return 8;
|
||||||
return 8;
|
if (h == 1){
|
||||||
if (h == 1) {
|
if (v >= 1) return 7;
|
||||||
if (v >= 1)
|
if (d >= 1) return 6;
|
||||||
return 7;
|
|
||||||
if (d >= 1)
|
|
||||||
return 6;
|
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
if (v == 2)
|
if (v == 2) return 4;
|
||||||
return 4;
|
if (v == 1) return 3;
|
||||||
if (v == 1)
|
if (d >= 2) return 2;
|
||||||
return 3;
|
if (d == 1) return 1;
|
||||||
if (d >= 2)
|
} else{
|
||||||
return 2;
|
if (d >= 3) return 8;
|
||||||
if (d == 1)
|
if (d == 2){
|
||||||
return 1;
|
if (h+v >= 1) return 7;
|
||||||
return 0;
|
|
||||||
} else {
|
|
||||||
if (d >= 3)
|
|
||||||
return 8;
|
|
||||||
if (d == 2) {
|
|
||||||
if (h + v >= 1)
|
|
||||||
return 7;
|
|
||||||
return 6;
|
return 6;
|
||||||
}
|
}
|
||||||
if (d == 1) {
|
if (d == 1){
|
||||||
if (h + v >= 2)
|
if (h+v >= 2) return 5;
|
||||||
return 5;
|
if (h+v == 1) return 4;
|
||||||
if (h + v == 1)
|
|
||||||
return 4;
|
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
if (h + v >= 2)
|
if (h+v >= 2) return 2;
|
||||||
return 2;
|
if (h+v == 1) return 1;
|
||||||
if (h + v == 1)
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user