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
9b30f8dd
Commit
9b30f8dd
authored
Mar 22, 2016
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
h264: remove the svq3-specific code
parent
e42ca48a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
86 additions
and
127 deletions
+86
-127
h264.c
libavcodec/h264.c
+0
-1
h264_mb.c
libavcodec/h264_mb.c
+65
-85
h264_mb_template.c
libavcodec/h264_mb_template.c
+21
-41
No files found.
libavcodec/h264.c
View file @
9b30f8dd
...
...
@@ -46,7 +46,6 @@
#include "mpegutils.h"
#include "profiles.h"
#include "rectangle.h"
#include "svq3.h"
#include "thread.h"
#include <assert.h>
...
...
libavcodec/h264_mb.c
View file @
9b30f8dd
This diff is collapsed.
Click to expand it.
libavcodec/h264_mb_template.c
View file @
9b30f8dd
...
...
@@ -19,8 +19,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "svq3.h"
#undef FUNC
#undef PIXEL_SHIFT
...
...
@@ -51,8 +49,6 @@ static av_noinline void FUNC(hl_decode_mb)(const H264Context *h, H264SliceContex
int
i
,
j
;
const
int
*
block_offset
=
&
h
->
block_offset
[
0
];
const
int
transform_bypass
=
!
SIMPLE
&&
(
sl
->
qscale
==
0
&&
h
->
sps
.
transform_bypass
);
/* is_h264 should always be true if SVQ3 is disabled. */
const
int
is_h264
=
!
CONFIG_SVQ3_DECODER
||
SIMPLE
||
h
->
avctx
->
codec_id
==
AV_CODEC_ID_H264
;
void
(
*
idct_add
)(
uint8_t
*
dst
,
int16_t
*
block
,
int
stride
);
const
int
block_h
=
16
>>
h
->
chroma_y_shift
;
const
int
chroma422
=
CHROMA422
(
h
);
...
...
@@ -167,14 +163,14 @@ static av_noinline void FUNC(hl_decode_mb)(const H264Context *h, H264SliceContex
h
->
hpc
.
pred8x8
[
sl
->
chroma_pred_mode
](
dest_cr
,
uvlinesize
);
}
hl_decode_mb_predict_luma
(
h
,
sl
,
mb_type
,
is_h264
,
SIMPLE
,
hl_decode_mb_predict_luma
(
h
,
sl
,
mb_type
,
SIMPLE
,
transform_bypass
,
PIXEL_SHIFT
,
block_offset
,
linesize
,
dest_y
,
0
);
if
(
sl
->
deblocking_filter
)
xchg_mb_border
(
h
,
sl
,
dest_y
,
dest_cb
,
dest_cr
,
linesize
,
uvlinesize
,
0
,
0
,
SIMPLE
,
PIXEL_SHIFT
);
}
else
if
(
is_h264
)
{
}
else
{
if
(
chroma422
)
{
FUNC
(
hl_motion_422
)(
h
,
sl
,
dest_y
,
dest_cb
,
dest_cr
,
h
->
qpel_put
,
h
->
h264chroma
.
put_h264_chroma_pixels_tab
,
...
...
@@ -190,7 +186,7 @@ static av_noinline void FUNC(hl_decode_mb)(const H264Context *h, H264SliceContex
}
}
hl_decode_mb_idct_luma
(
h
,
sl
,
mb_type
,
is_h264
,
SIMPLE
,
transform_bypass
,
hl_decode_mb_idct_luma
(
h
,
sl
,
mb_type
,
SIMPLE
,
transform_bypass
,
PIXEL_SHIFT
,
block_offset
,
linesize
,
dest_y
,
0
);
if
((
SIMPLE
||
!
CONFIG_GRAY
||
!
(
h
->
flags
&
AV_CODEC_FLAG_GRAY
))
&&
...
...
@@ -228,39 +224,23 @@ static av_noinline void FUNC(hl_decode_mb)(const H264Context *h, H264SliceContex
}
}
}
else
{
if
(
is_h264
)
{
int
qp
[
2
];
if
(
chroma422
)
{
qp
[
0
]
=
sl
->
chroma_qp
[
0
]
+
3
;
qp
[
1
]
=
sl
->
chroma_qp
[
1
]
+
3
;
}
else
{
qp
[
0
]
=
sl
->
chroma_qp
[
0
];
qp
[
1
]
=
sl
->
chroma_qp
[
1
];
}
if
(
sl
->
non_zero_count_cache
[
scan8
[
CHROMA_DC_BLOCK_INDEX
+
0
]])
h
->
h264dsp
.
h264_chroma_dc_dequant_idct
(
sl
->
mb
+
(
16
*
16
*
1
<<
PIXEL_SHIFT
),
h
->
dequant4_coeff
[
IS_INTRA
(
mb_type
)
?
1
:
4
][
qp
[
0
]][
0
]);
if
(
sl
->
non_zero_count_cache
[
scan8
[
CHROMA_DC_BLOCK_INDEX
+
1
]])
h
->
h264dsp
.
h264_chroma_dc_dequant_idct
(
sl
->
mb
+
(
16
*
16
*
2
<<
PIXEL_SHIFT
),
h
->
dequant4_coeff
[
IS_INTRA
(
mb_type
)
?
2
:
5
][
qp
[
1
]][
0
]);
h
->
h264dsp
.
h264_idct_add8
(
dest
,
block_offset
,
sl
->
mb
,
uvlinesize
,
sl
->
non_zero_count_cache
);
}
else
if
(
CONFIG_SVQ3_DECODER
)
{
h
->
h264dsp
.
h264_chroma_dc_dequant_idct
(
sl
->
mb
+
16
*
16
*
1
,
h
->
dequant4_coeff
[
IS_INTRA
(
mb_type
)
?
1
:
4
][
sl
->
chroma_qp
[
0
]][
0
]);
h
->
h264dsp
.
h264_chroma_dc_dequant_idct
(
sl
->
mb
+
16
*
16
*
2
,
h
->
dequant4_coeff
[
IS_INTRA
(
mb_type
)
?
2
:
5
][
sl
->
chroma_qp
[
1
]][
0
]);
for
(
j
=
1
;
j
<
3
;
j
++
)
{
for
(
i
=
j
*
16
;
i
<
j
*
16
+
4
;
i
++
)
if
(
sl
->
non_zero_count_cache
[
scan8
[
i
]]
||
sl
->
mb
[
i
*
16
])
{
uint8_t
*
const
ptr
=
dest
[
j
-
1
]
+
block_offset
[
i
];
ff_svq3_add_idct_c
(
ptr
,
sl
->
mb
+
i
*
16
,
uvlinesize
,
ff_h264_chroma_qp
[
0
][
sl
->
qscale
+
12
]
-
12
,
2
);
}
}
int
qp
[
2
];
if
(
chroma422
)
{
qp
[
0
]
=
sl
->
chroma_qp
[
0
]
+
3
;
qp
[
1
]
=
sl
->
chroma_qp
[
1
]
+
3
;
}
else
{
qp
[
0
]
=
sl
->
chroma_qp
[
0
];
qp
[
1
]
=
sl
->
chroma_qp
[
1
];
}
if
(
sl
->
non_zero_count_cache
[
scan8
[
CHROMA_DC_BLOCK_INDEX
+
0
]])
h
->
h264dsp
.
h264_chroma_dc_dequant_idct
(
sl
->
mb
+
(
16
*
16
*
1
<<
PIXEL_SHIFT
),
h
->
dequant4_coeff
[
IS_INTRA
(
mb_type
)
?
1
:
4
][
qp
[
0
]][
0
]);
if
(
sl
->
non_zero_count_cache
[
scan8
[
CHROMA_DC_BLOCK_INDEX
+
1
]])
h
->
h264dsp
.
h264_chroma_dc_dequant_idct
(
sl
->
mb
+
(
16
*
16
*
2
<<
PIXEL_SHIFT
),
h
->
dequant4_coeff
[
IS_INTRA
(
mb_type
)
?
2
:
5
][
qp
[
1
]][
0
]);
h
->
h264dsp
.
h264_idct_add8
(
dest
,
block_offset
,
sl
->
mb
,
uvlinesize
,
sl
->
non_zero_count_cache
);
}
}
}
...
...
@@ -347,7 +327,7 @@ static av_noinline void FUNC(hl_decode_mb_444)(const H264Context *h, H264SliceCo
linesize
,
1
,
1
,
SIMPLE
,
PIXEL_SHIFT
);
for
(
p
=
0
;
p
<
plane_count
;
p
++
)
hl_decode_mb_predict_luma
(
h
,
sl
,
mb_type
,
1
,
SIMPLE
,
hl_decode_mb_predict_luma
(
h
,
sl
,
mb_type
,
SIMPLE
,
transform_bypass
,
PIXEL_SHIFT
,
block_offset
,
linesize
,
dest
[
p
],
p
);
...
...
@@ -363,7 +343,7 @@ static av_noinline void FUNC(hl_decode_mb_444)(const H264Context *h, H264SliceCo
}
for
(
p
=
0
;
p
<
plane_count
;
p
++
)
hl_decode_mb_idct_luma
(
h
,
sl
,
mb_type
,
1
,
SIMPLE
,
transform_bypass
,
hl_decode_mb_idct_luma
(
h
,
sl
,
mb_type
,
SIMPLE
,
transform_bypass
,
PIXEL_SHIFT
,
block_offset
,
linesize
,
dest
[
p
],
p
);
}
...
...
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