Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
2491f9ee
Commit
2491f9ee
authored
Feb 03, 2013
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
h264: remove a pointless if()
!encoding is always true, we do not have a H.264 encoder
parent
68f930d2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
65 deletions
+63
-65
h264.c
libavcodec/h264.c
+63
-65
No files found.
libavcodec/h264.c
View file @
2491f9ee
...
@@ -1796,77 +1796,75 @@ static av_always_inline void hl_decode_mb_predict_luma(H264Context *h,
...
@@ -1796,77 +1796,75 @@ static av_always_inline void hl_decode_mb_predict_luma(H264Context *h,
int
qscale
=
p
==
0
?
s
->
qscale
:
h
->
chroma_qp
[
p
-
1
];
int
qscale
=
p
==
0
?
s
->
qscale
:
h
->
chroma_qp
[
p
-
1
];
block_offset
+=
16
*
p
;
block_offset
+=
16
*
p
;
if
(
IS_INTRA4x4
(
mb_type
))
{
if
(
IS_INTRA4x4
(
mb_type
))
{
if
(
simple
||
!
s
->
encoding
)
{
if
(
IS_8x8DCT
(
mb_type
))
{
if
(
IS_8x8DCT
(
mb_type
))
{
if
(
transform_bypass
)
{
if
(
transform_bypass
)
{
idct_dc_add
=
idct_dc_add
=
idct_add
=
s
->
dsp
.
add_pixels8
;
idct_add
=
s
->
dsp
.
add_pixels8
;
}
else
{
idct_dc_add
=
h
->
h264dsp
.
h264_idct8_dc_add
;
idct_add
=
h
->
h264dsp
.
h264_idct8_add
;
}
for
(
i
=
0
;
i
<
16
;
i
+=
4
)
{
uint8_t
*
const
ptr
=
dest_y
+
block_offset
[
i
];
const
int
dir
=
h
->
intra4x4_pred_mode_cache
[
scan8
[
i
]];
if
(
transform_bypass
&&
h
->
sps
.
profile_idc
==
244
&&
dir
<=
1
)
{
h
->
hpc
.
pred8x8l_add
[
dir
](
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
}
else
{
}
else
{
idct_dc_add
=
h
->
h264dsp
.
h264_idct8_dc_add
;
const
int
nnz
=
h
->
non_zero_count_cache
[
scan8
[
i
+
p
*
16
]];
idct_add
=
h
->
h264dsp
.
h264_idct8_add
;
h
->
hpc
.
pred8x8l
[
dir
](
ptr
,
(
h
->
topleft_samples_available
<<
i
)
&
0x8000
,
}
(
h
->
topright_samples_available
<<
i
)
&
0x4000
,
linesize
);
for
(
i
=
0
;
i
<
16
;
i
+=
4
)
{
if
(
nnz
)
{
uint8_t
*
const
ptr
=
dest_y
+
block_offset
[
i
];
if
(
nnz
==
1
&&
dctcoef_get
(
h
->
mb
,
pixel_shift
,
i
*
16
+
p
*
256
))
const
int
dir
=
h
->
intra4x4_pred_mode_cache
[
scan8
[
i
]];
idct_dc_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
if
(
transform_bypass
&&
h
->
sps
.
profile_idc
==
244
&&
dir
<=
1
)
{
else
h
->
hpc
.
pred8x8l_add
[
dir
](
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
idct_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
}
else
{
const
int
nnz
=
h
->
non_zero_count_cache
[
scan8
[
i
+
p
*
16
]];
h
->
hpc
.
pred8x8l
[
dir
](
ptr
,
(
h
->
topleft_samples_available
<<
i
)
&
0x8000
,
(
h
->
topright_samples_available
<<
i
)
&
0x4000
,
linesize
);
if
(
nnz
)
{
if
(
nnz
==
1
&&
dctcoef_get
(
h
->
mb
,
pixel_shift
,
i
*
16
+
p
*
256
))
idct_dc_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
else
idct_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
}
}
}
}
}
}
}
else
{
if
(
transform_bypass
)
{
idct_dc_add
=
idct_add
=
s
->
dsp
.
add_pixels4
;
}
else
{
}
else
{
if
(
transform_bypass
)
{
idct_dc_add
=
h
->
h264dsp
.
h264_idct_dc_add
;
idct_dc_add
=
idct_add
=
h
->
h264dsp
.
h264_idct_add
;
idct_add
=
s
->
dsp
.
add_pixels4
;
}
}
else
{
for
(
i
=
0
;
i
<
16
;
i
++
)
{
idct_dc_add
=
h
->
h264dsp
.
h264_idct_dc_add
;
uint8_t
*
const
ptr
=
dest_y
+
block_offset
[
i
];
idct_add
=
h
->
h264dsp
.
h264_idct_add
;
const
int
dir
=
h
->
intra4x4_pred_mode_cache
[
scan8
[
i
]];
}
for
(
i
=
0
;
i
<
16
;
i
++
)
{
uint8_t
*
const
ptr
=
dest_y
+
block_offset
[
i
];
const
int
dir
=
h
->
intra4x4_pred_mode_cache
[
scan8
[
i
]];
if
(
transform_bypass
&&
h
->
sps
.
profile_idc
==
244
&&
dir
<=
1
)
{
if
(
transform_bypass
&&
h
->
sps
.
profile_idc
==
244
&&
dir
<=
1
)
{
h
->
hpc
.
pred4x4_add
[
dir
](
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
h
->
hpc
.
pred4x4_add
[
dir
](
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
}
else
{
}
else
{
uint8_t
*
topright
;
uint8_t
*
topright
;
int
nnz
,
tr
;
int
nnz
,
tr
;
uint64_t
tr_high
;
uint64_t
tr_high
;
if
(
dir
==
DIAG_DOWN_LEFT_PRED
||
dir
==
VERT_LEFT_PRED
)
{
if
(
dir
==
DIAG_DOWN_LEFT_PRED
||
dir
==
VERT_LEFT_PRED
)
{
const
int
topright_avail
=
(
h
->
topright_samples_available
<<
i
)
&
0x8000
;
const
int
topright_avail
=
(
h
->
topright_samples_available
<<
i
)
&
0x8000
;
assert
(
s
->
mb_y
||
linesize
<=
block_offset
[
i
]);
assert
(
s
->
mb_y
||
linesize
<=
block_offset
[
i
]);
if
(
!
topright_avail
)
{
if
(
!
topright_avail
)
{
if
(
pixel_shift
)
{
if
(
pixel_shift
)
{
tr_high
=
((
uint16_t
*
)
ptr
)[
3
-
linesize
/
2
]
*
0x0001000100010001ULL
;
tr_high
=
((
uint16_t
*
)
ptr
)[
3
-
linesize
/
2
]
*
0x0001000100010001ULL
;
topright
=
(
uint8_t
*
)
&
tr_high
;
topright
=
(
uint8_t
*
)
&
tr_high
;
}
else
{
}
else
{
tr
=
ptr
[
3
-
linesize
]
*
0x01010101u
;
tr
=
ptr
[
3
-
linesize
]
*
0x01010101u
;
topright
=
(
uint8_t
*
)
&
tr
;
topright
=
(
uint8_t
*
)
&
tr
;
}
}
}
else
topright
=
ptr
+
(
4
<<
pixel_shift
)
-
linesize
;
}
else
}
else
topright
=
NULL
;
topright
=
ptr
+
(
4
<<
pixel_shift
)
-
linesize
;
}
else
h
->
hpc
.
pred4x4
[
dir
](
ptr
,
topright
,
linesize
);
topright
=
NULL
;
nnz
=
h
->
non_zero_count_cache
[
scan8
[
i
+
p
*
16
]];
if
(
nnz
)
{
h
->
hpc
.
pred4x4
[
dir
](
ptr
,
topright
,
linesize
);
if
(
is_h264
)
{
nnz
=
h
->
non_zero_count_cache
[
scan8
[
i
+
p
*
16
]];
if
(
nnz
==
1
&&
dctcoef_get
(
h
->
mb
,
pixel_shift
,
i
*
16
+
p
*
256
))
if
(
nnz
)
{
idct_dc_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
if
(
is_h264
)
{
else
if
(
nnz
==
1
&&
dctcoef_get
(
h
->
mb
,
pixel_shift
,
i
*
16
+
p
*
256
))
idct_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
idct_dc_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
}
else
if
(
CONFIG_SVQ3_DECODER
)
else
ff_svq3_add_idct_c
(
ptr
,
h
->
mb
+
i
*
16
+
p
*
256
,
linesize
,
qscale
,
0
);
idct_add
(
ptr
,
h
->
mb
+
(
i
*
16
+
p
*
256
<<
pixel_shift
),
linesize
);
}
}
else
if
(
CONFIG_SVQ3_DECODER
)
ff_svq3_add_idct_c
(
ptr
,
h
->
mb
+
i
*
16
+
p
*
256
,
linesize
,
qscale
,
0
);
}
}
}
}
}
}
...
...
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