Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
libvpx
Commits
4ef1d35a
Commit
4ef1d35a
authored
Jul 23, 2013
by
Jingning Han
Committed by
Gerrit Code Review
Jul 23, 2013
Browse files
Merge "Skip inverse transform when eob is zero"
parents
c3871f8f
0359ad7f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
4 deletions
+6
-4
vp9/encoder/vp9_encodemb.c
vp9/encoder/vp9_encodemb.c
+6
-4
No files found.
vp9/encoder/vp9_encodemb.c
View file @
4ef1d35a
...
@@ -533,6 +533,8 @@ static void encode_block(int plane, int block, BLOCK_SIZE_TYPE bsize,
...
@@ -533,6 +533,8 @@ static void encode_block(int plane, int block, BLOCK_SIZE_TYPE bsize,
if
(
x
->
skip_encode
)
if
(
x
->
skip_encode
)
return
;
return
;
if
(
pd
->
eobs
[
block
]
==
0
)
return
;
switch
(
ss_txfrm_size
/
2
)
{
switch
(
ss_txfrm_size
/
2
)
{
case
TX_32X32
:
case
TX_32X32
:
...
@@ -657,7 +659,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
...
@@ -657,7 +659,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
vp9_quantize_b_32x32
(
coeff
,
1024
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
vp9_quantize_b_32x32
(
coeff
,
1024
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
p
->
quant
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
if
(
!
x
->
skip_encode
)
if
(
!
x
->
skip_encode
&&
*
eob
)
vp9_short_idct32x32_add
(
dqcoeff
,
dst
,
pd
->
dst
.
stride
);
vp9_short_idct32x32_add
(
dqcoeff
,
dst
,
pd
->
dst
.
stride
);
break
;
break
;
case
TX_16X16
:
case
TX_16X16
:
...
@@ -682,7 +684,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
...
@@ -682,7 +684,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
vp9_quantize_b
(
coeff
,
256
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
vp9_quantize_b
(
coeff
,
256
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
if
(
!
x
->
skip_encode
)
{
if
(
!
x
->
skip_encode
&&
*
eob
)
{
if
(
tx_type
==
DCT_DCT
)
if
(
tx_type
==
DCT_DCT
)
vp9_short_idct16x16_add
(
dqcoeff
,
dst
,
pd
->
dst
.
stride
);
vp9_short_idct16x16_add
(
dqcoeff
,
dst
,
pd
->
dst
.
stride
);
else
else
...
@@ -711,7 +713,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
...
@@ -711,7 +713,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
vp9_quantize_b
(
coeff
,
64
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
vp9_quantize_b
(
coeff
,
64
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
if
(
!
x
->
skip_encode
)
{
if
(
!
x
->
skip_encode
&&
*
eob
)
{
if
(
tx_type
==
DCT_DCT
)
if
(
tx_type
==
DCT_DCT
)
vp9_short_idct8x8_add
(
dqcoeff
,
dst
,
pd
->
dst
.
stride
);
vp9_short_idct8x8_add
(
dqcoeff
,
dst
,
pd
->
dst
.
stride
);
else
else
...
@@ -743,7 +745,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
...
@@ -743,7 +745,7 @@ void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
vp9_quantize_b
(
coeff
,
16
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
vp9_quantize_b
(
coeff
,
16
,
x
->
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
p
->
quant_shift
,
qcoeff
,
dqcoeff
,
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
pd
->
dequant
,
p
->
zbin_extra
,
eob
,
scan
,
iscan
);
if
(
!
x
->
skip_encode
)
{
if
(
!
x
->
skip_encode
&&
*
eob
)
{
if
(
tx_type
==
DCT_DCT
)
if
(
tx_type
==
DCT_DCT
)
// this is like vp9_short_idct4x4 but has a special case around eob<=1
// this is like vp9_short_idct4x4 but has a special case around eob<=1
// which is significant (not just an optimization) for the lossless
// which is significant (not just an optimization) for the lossless
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment