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
37814a21
Commit
37814a21
authored
Mar 25, 2017
by
Clément Bœsch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc/vp9: consistent use of typedef instead of struct
parent
875f6955
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
23 deletions
+22
-23
vp9.c
libavcodec/vp9.c
+7
-7
vp9.h
libavcodec/vp9.h
+7
-8
vp9block.c
libavcodec/vp9block.c
+2
-2
vp9mvs.c
libavcodec/vp9mvs.c
+6
-6
No files found.
libavcodec/vp9.c
View file @
37814a21
...
...
@@ -55,13 +55,13 @@ static int vp9_frame_alloc(AVCodecContext *avctx, VP9Frame *f)
return
ret
;
sz
=
64
*
s
->
sb_cols
*
s
->
sb_rows
;
f
->
extradata
=
av_buffer_allocz
(
sz
*
(
1
+
sizeof
(
struct
VP9mvrefPair
)));
f
->
extradata
=
av_buffer_allocz
(
sz
*
(
1
+
sizeof
(
VP9mvrefPair
)));
if
(
!
f
->
extradata
)
{
goto
fail
;
}
f
->
segmentation_map
=
f
->
extradata
->
data
;
f
->
mv
=
(
struct
VP9mvrefPair
*
)
(
f
->
extradata
->
data
+
sz
);
f
->
mv
=
(
VP9mvrefPair
*
)
(
f
->
extradata
->
data
+
sz
);
if
(
avctx
->
hwaccel
)
{
const
AVHWAccel
*
hwaccel
=
avctx
->
hwaccel
;
...
...
@@ -194,7 +194,7 @@ static int update_size(AVCodecContext *avctx, int w, int h)
assign
(
s
->
above_comp_ctx
,
uint8_t
*
,
8
);
assign
(
s
->
above_ref_ctx
,
uint8_t
*
,
8
);
assign
(
s
->
above_filter_ctx
,
uint8_t
*
,
8
);
assign
(
s
->
lflvl
,
struct
VP9Filter
*
,
1
);
assign
(
s
->
lflvl
,
VP9Filter
*
,
1
);
#undef assign
// these will be re-allocated a little later
...
...
@@ -924,7 +924,7 @@ static int decode_frame_header(AVCodecContext *avctx,
return
(
data2
-
data
)
+
size2
;
}
static
void
decode_sb
(
AVCodecContext
*
avctx
,
int
row
,
int
col
,
struct
VP9Filter
*
lflvl
,
static
void
decode_sb
(
AVCodecContext
*
avctx
,
int
row
,
int
col
,
VP9Filter
*
lflvl
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
,
enum
BlockLevel
bl
)
{
VP9Context
*
s
=
avctx
->
priv_data
;
...
...
@@ -1003,7 +1003,7 @@ static void decode_sb(AVCodecContext *avctx, int row, int col, struct VP9Filter
s
->
counts
.
partition
[
bl
][
c
][
bp
]
++
;
}
static
void
decode_sb_mem
(
AVCodecContext
*
avctx
,
int
row
,
int
col
,
struct
VP9Filter
*
lflvl
,
static
void
decode_sb_mem
(
AVCodecContext
*
avctx
,
int
row
,
int
col
,
VP9Filter
*
lflvl
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
,
enum
BlockLevel
bl
)
{
VP9Context
*
s
=
avctx
->
priv_data
;
...
...
@@ -1204,7 +1204,7 @@ static av_always_inline void filter_plane_rows(VP9Context *s, int row, int ss_h,
}
}
static
void
loopfilter_sb
(
AVCodecContext
*
avctx
,
struct
VP9Filter
*
lflvl
,
static
void
loopfilter_sb
(
AVCodecContext
*
avctx
,
VP9Filter
*
lflvl
,
int
row
,
int
col
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
)
{
VP9Context
*
s
=
avctx
->
priv_data
;
...
...
@@ -1449,7 +1449,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
for
(
row
=
s
->
tile_row_start
;
row
<
s
->
tile_row_end
;
row
+=
8
,
yoff
+=
ls_y
*
64
,
uvoff
+=
ls_uv
*
64
>>
s
->
ss_v
)
{
struct
VP9Filter
*
lflvl_ptr
=
s
->
lflvl
;
VP9Filter
*
lflvl_ptr
=
s
->
lflvl
;
ptrdiff_t
yoff2
=
yoff
,
uvoff2
=
uvoff
;
for
(
tile_col
=
0
;
tile_col
<
s
->
s
.
h
.
tiling
.
tile_cols
;
tile_col
++
)
{
...
...
libavcodec/vp9.h
View file @
37814a21
...
...
@@ -248,23 +248,22 @@ typedef struct VP9DSPContext {
vp9_scaled_mc_func
smc
[
5
][
4
][
2
];
}
VP9DSPContext
;
struct
VP9mvrefPair
{
typedef
struct
VP9mvrefPair
{
VP56mv
mv
[
2
];
int8_t
ref
[
2
];
};
}
VP9mvrefPair
;
struct
VP9Filter
{
typedef
struct
VP9Filter
{
uint8_t
level
[
8
*
8
];
uint8_t
/* bit=col */
mask
[
2
/* 0=y, 1=uv */
][
2
/* 0=col, 1=row */
]
[
8
/* rows */
][
4
/* 0=16, 1=8, 2=4, 3=inner4 */
];
};
}
VP9Filter
;
typedef
struct
VP9Frame
{
ThreadFrame
tf
;
AVBufferRef
*
extradata
;
uint8_t
*
segmentation_map
;
struct
VP9mvrefPair
*
mv
;
VP9mvrefPair
*
mv
;
int
uses_2pass
;
AVBufferRef
*
hwaccel_priv_buf
;
...
...
@@ -454,7 +453,7 @@ typedef struct VP9Context {
// whole-frame cache
uint8_t
*
intra_pred_data
[
3
];
struct
VP9Filter
*
lflvl
;
VP9Filter
*
lflvl
;
DECLARE_ALIGNED
(
32
,
uint8_t
,
edge_emu_buffer
)[
135
*
144
*
2
];
// block reconstruction intermediates
...
...
@@ -486,7 +485,7 @@ void ff_vp9_fill_mv(VP9Context *s, VP56mv *mv, int mode, int sb);
void
ff_vp9_adapt_probs
(
VP9Context
*
s
);
void
ff_vp9_decode_block
(
AVCodecContext
*
ctx
,
int
row
,
int
col
,
struct
VP9Filter
*
lflvl
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
,
VP9Filter
*
lflvl
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
,
enum
BlockLevel
bl
,
enum
BlockPartition
bp
);
#endif
/* AVCODEC_VP9_H */
libavcodec/vp9block.c
View file @
37814a21
...
...
@@ -785,7 +785,7 @@ static void decode_mode(AVCodecContext *avctx)
// FIXME kinda ugly
for
(
y
=
0
;
y
<
h4
;
y
++
)
{
int
x
,
o
=
(
row
+
y
)
*
s
->
sb_cols
*
8
+
col
;
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
o
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
o
];
if
(
b
->
intra
)
{
for
(
x
=
0
;
x
<
w4
;
x
++
)
{
...
...
@@ -1883,7 +1883,7 @@ static av_always_inline void mask_edges(uint8_t (*mask)[8][4], int ss_h, int ss_
}
void
ff_vp9_decode_block
(
AVCodecContext
*
avctx
,
int
row
,
int
col
,
struct
VP9Filter
*
lflvl
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
,
VP9Filter
*
lflvl
,
ptrdiff_t
yoff
,
ptrdiff_t
uvoff
,
enum
BlockLevel
bl
,
enum
BlockPartition
bp
)
{
VP9Context
*
s
=
avctx
->
priv_data
;
...
...
libavcodec/vp9mvs.c
View file @
37814a21
...
...
@@ -135,14 +135,14 @@ static void find_ref_mvs(VP9Context *s,
} while (0)
if
(
row
>
0
)
{
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[(
row
-
1
)
*
s
->
sb_cols
*
8
+
col
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[(
row
-
1
)
*
s
->
sb_cols
*
8
+
col
];
if
(
mv
->
ref
[
0
]
==
ref
)
RETURN_MV
(
s
->
above_mv_ctx
[
2
*
col
+
(
sb
&
1
)][
0
]);
else
if
(
mv
->
ref
[
1
]
==
ref
)
RETURN_MV
(
s
->
above_mv_ctx
[
2
*
col
+
(
sb
&
1
)][
1
]);
}
if
(
col
>
s
->
tile_col_start
)
{
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
row
*
s
->
sb_cols
*
8
+
col
-
1
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
row
*
s
->
sb_cols
*
8
+
col
-
1
];
if
(
mv
->
ref
[
0
]
==
ref
)
RETURN_MV
(
s
->
left_mv_ctx
[
2
*
row7
+
(
sb
>>
1
)][
0
]);
else
if
(
mv
->
ref
[
1
]
==
ref
)
...
...
@@ -159,7 +159,7 @@ static void find_ref_mvs(VP9Context *s,
if
(
c
>=
s
->
tile_col_start
&&
c
<
s
->
cols
&&
r
>=
0
&&
r
<
s
->
rows
)
{
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
r
*
s
->
sb_cols
*
8
+
c
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
r
*
s
->
sb_cols
*
8
+
c
];
if
(
mv
->
ref
[
0
]
==
ref
)
RETURN_MV
(
mv
->
mv
[
0
]);
...
...
@@ -170,7 +170,7 @@ static void find_ref_mvs(VP9Context *s,
// MV at this position in previous frame, using same reference frame
if
(
s
->
s
.
h
.
use_last_frame_mvs
)
{
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
REF_FRAME_MVPAIR
].
mv
[
row
*
s
->
sb_cols
*
8
+
col
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
REF_FRAME_MVPAIR
].
mv
[
row
*
s
->
sb_cols
*
8
+
col
];
if
(
!
s
->
s
.
frames
[
REF_FRAME_MVPAIR
].
uses_2pass
)
ff_thread_await_progress
(
&
s
->
s
.
frames
[
REF_FRAME_MVPAIR
].
tf
,
row
>>
3
,
0
);
...
...
@@ -195,7 +195,7 @@ static void find_ref_mvs(VP9Context *s,
int
c
=
p
[
i
][
0
]
+
col
,
r
=
p
[
i
][
1
]
+
row
;
if
(
c
>=
s
->
tile_col_start
&&
c
<
s
->
cols
&&
r
>=
0
&&
r
<
s
->
rows
)
{
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
r
*
s
->
sb_cols
*
8
+
c
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
CUR_FRAME
].
mv
[
r
*
s
->
sb_cols
*
8
+
c
];
if
(
mv
->
ref
[
0
]
!=
ref
&&
mv
->
ref
[
0
]
>=
0
)
RETURN_SCALE_MV
(
mv
->
mv
[
0
],
...
...
@@ -211,7 +211,7 @@ static void find_ref_mvs(VP9Context *s,
// MV at this position in previous frame, using different reference frame
if
(
s
->
s
.
h
.
use_last_frame_mvs
)
{
struct
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
REF_FRAME_MVPAIR
].
mv
[
row
*
s
->
sb_cols
*
8
+
col
];
VP9mvrefPair
*
mv
=
&
s
->
s
.
frames
[
REF_FRAME_MVPAIR
].
mv
[
row
*
s
->
sb_cols
*
8
+
col
];
// no need to await_progress, because we already did that above
if
(
mv
->
ref
[
0
]
!=
ref
&&
mv
->
ref
[
0
]
>=
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