Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
310f5a76
Commit
310f5a76
authored
Aug 22, 2014
by
Jingning Han
Committed by
Gerrit Code Review
Aug 22, 2014
Browse files
Merge "Move mv cost table to VP9_COMP"
parents
3c810ef7
2b1c6eac
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_block.h
View file @
310f5a76
...
...
@@ -76,16 +76,12 @@ struct macroblock {
int
pred_mv_sad
[
MAX_REF_FRAMES
];
int
nmvjointcost
[
MV_JOINTS
];
int
nmvcosts
[
2
][
MV_VALS
];
int
*
nmvcost
[
2
];
int
nmvcosts_hp
[
2
][
MV_VALS
];
int
*
nmvcost_hp
[
2
];
int
**
mvcost
;
int
nmvjointsadcost
[
MV_JOINTS
];
int
nmvsadcosts
[
2
][
MV_VALS
];
int
*
nmvsadcost
[
2
];
int
nmvsadcosts_hp
[
2
][
MV_VALS
];
int
*
nmvsadcost_hp
[
2
];
int
**
mvsadcost
;
...
...
vp9/encoder/vp9_encoder.c
View file @
310f5a76
...
...
@@ -167,6 +167,26 @@ static void dealloc_compressor_data(VP9_COMP *cpi) {
vpx_free
(
cpi
->
complexity_map
);
cpi
->
complexity_map
=
NULL
;
vpx_free
(
cpi
->
nmvcosts
[
0
]);
vpx_free
(
cpi
->
nmvcosts
[
1
]);
cpi
->
nmvcosts
[
0
]
=
NULL
;
cpi
->
nmvcosts
[
1
]
=
NULL
;
vpx_free
(
cpi
->
nmvcosts_hp
[
0
]);
vpx_free
(
cpi
->
nmvcosts_hp
[
1
]);
cpi
->
nmvcosts_hp
[
0
]
=
NULL
;
cpi
->
nmvcosts_hp
[
1
]
=
NULL
;
vpx_free
(
cpi
->
nmvsadcosts
[
0
]);
vpx_free
(
cpi
->
nmvsadcosts
[
1
]);
cpi
->
nmvsadcosts
[
0
]
=
NULL
;
cpi
->
nmvsadcosts
[
1
]
=
NULL
;
vpx_free
(
cpi
->
nmvsadcosts_hp
[
0
]);
vpx_free
(
cpi
->
nmvsadcosts_hp
[
1
]);
cpi
->
nmvsadcosts_hp
[
0
]
=
NULL
;
cpi
->
nmvsadcosts_hp
[
1
]
=
NULL
;
vp9_cyclic_refresh_free
(
cpi
->
cyclic_refresh
);
cpi
->
cyclic_refresh
=
NULL
;
...
...
@@ -212,8 +232,15 @@ static void save_coding_context(VP9_COMP *cpi) {
// intended for use in a re-code loop in vp9_compress_frame where the
// quantizer value is adjusted between loop iterations.
vp9_copy
(
cc
->
nmvjointcost
,
cpi
->
mb
.
nmvjointcost
);
vp9_copy
(
cc
->
nmvcosts
,
cpi
->
mb
.
nmvcosts
);
vp9_copy
(
cc
->
nmvcosts_hp
,
cpi
->
mb
.
nmvcosts_hp
);
vpx_memcpy
(
cc
->
nmvcosts
[
0
],
cpi
->
nmvcosts
[
0
],
MV_VALS
*
sizeof
(
*
cpi
->
nmvcosts
[
0
]));
vpx_memcpy
(
cc
->
nmvcosts
[
1
],
cpi
->
nmvcosts
[
1
],
MV_VALS
*
sizeof
(
*
cpi
->
nmvcosts
[
1
]));
vpx_memcpy
(
cc
->
nmvcosts_hp
[
0
],
cpi
->
nmvcosts_hp
[
0
],
MV_VALS
*
sizeof
(
*
cpi
->
nmvcosts_hp
[
0
]));
vpx_memcpy
(
cc
->
nmvcosts_hp
[
1
],
cpi
->
nmvcosts_hp
[
1
],
MV_VALS
*
sizeof
(
*
cpi
->
nmvcosts_hp
[
1
]));
vp9_copy
(
cc
->
segment_pred_probs
,
cm
->
seg
.
pred_probs
);
...
...
@@ -233,8 +260,15 @@ static void restore_coding_context(VP9_COMP *cpi) {
// Restore key state variables to the snapshot state stored in the
// previous call to vp9_save_coding_context.
vp9_copy
(
cpi
->
mb
.
nmvjointcost
,
cc
->
nmvjointcost
);
vp9_copy
(
cpi
->
mb
.
nmvcosts
,
cc
->
nmvcosts
);
vp9_copy
(
cpi
->
mb
.
nmvcosts_hp
,
cc
->
nmvcosts_hp
);
vpx_memcpy
(
cpi
->
nmvcosts
[
0
],
cc
->
nmvcosts
[
0
],
MV_VALS
*
sizeof
(
*
cc
->
nmvcosts
[
0
]));
vpx_memcpy
(
cpi
->
nmvcosts
[
1
],
cc
->
nmvcosts
[
1
],
MV_VALS
*
sizeof
(
*
cc
->
nmvcosts
[
1
]));
vpx_memcpy
(
cpi
->
nmvcosts_hp
[
0
],
cc
->
nmvcosts_hp
[
0
],
MV_VALS
*
sizeof
(
*
cc
->
nmvcosts_hp
[
0
]));
vpx_memcpy
(
cpi
->
nmvcosts_hp
[
1
],
cc
->
nmvcosts_hp
[
1
],
MV_VALS
*
sizeof
(
*
cc
->
nmvcosts_hp
[
1
]));
vp9_copy
(
cm
->
seg
.
pred_probs
,
cc
->
segment_pred_probs
);
...
...
@@ -734,6 +768,23 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf) {
CHECK_MEM_ERROR
(
cm
,
cpi
->
coding_context
.
last_frame_seg_map_copy
,
vpx_calloc
(
cm
->
mi_rows
*
cm
->
mi_cols
,
1
));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvcosts
[
0
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvcosts
[
0
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvcosts
[
1
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvcosts
[
1
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvcosts_hp
[
0
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvcosts_hp
[
0
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvcosts_hp
[
1
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvcosts_hp
[
1
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvsadcosts
[
0
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvsadcosts
[
0
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvsadcosts
[
1
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvsadcosts
[
1
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvsadcosts_hp
[
0
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvsadcosts_hp
[
0
])));
CHECK_MEM_ERROR
(
cm
,
cpi
->
nmvsadcosts_hp
[
1
],
vpx_calloc
(
MV_VALS
,
sizeof
(
*
cpi
->
nmvsadcosts_hp
[
1
])));
for
(
i
=
0
;
i
<
(
sizeof
(
cpi
->
mbgraph_stats
)
/
sizeof
(
cpi
->
mbgraph_stats
[
0
]));
i
++
)
{
CHECK_MEM_ERROR
(
cm
,
cpi
->
mbgraph_stats
[
i
].
mb_stats
,
...
...
@@ -814,16 +865,16 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf) {
cpi
->
first_time_stamp_ever
=
INT64_MAX
;
cal_nmvjointsadcost
(
cpi
->
mb
.
nmvjointsadcost
);
cpi
->
mb
.
nmvcost
[
0
]
=
&
cpi
->
mb
.
nmvcosts
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvcost
[
1
]
=
&
cpi
->
mb
.
nmvcosts
[
1
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost
[
0
]
=
&
cpi
->
mb
.
nmvsadcosts
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost
[
1
]
=
&
cpi
->
mb
.
nmvsadcosts
[
1
][
MV_MAX
];
cpi
->
mb
.
nmvcost
[
0
]
=
&
cpi
->
nmvcosts
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvcost
[
1
]
=
&
cpi
->
nmvcosts
[
1
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost
[
0
]
=
&
cpi
->
nmvsadcosts
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost
[
1
]
=
&
cpi
->
nmvsadcosts
[
1
][
MV_MAX
];
cal_nmvsadcosts
(
cpi
->
mb
.
nmvsadcost
);
cpi
->
mb
.
nmvcost_hp
[
0
]
=
&
cpi
->
mb
.
nmvcosts_hp
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvcost_hp
[
1
]
=
&
cpi
->
mb
.
nmvcosts_hp
[
1
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost_hp
[
0
]
=
&
cpi
->
mb
.
nmvsadcosts_hp
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost_hp
[
1
]
=
&
cpi
->
mb
.
nmvsadcosts_hp
[
1
][
MV_MAX
];
cpi
->
mb
.
nmvcost_hp
[
0
]
=
&
cpi
->
nmvcosts_hp
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvcost_hp
[
1
]
=
&
cpi
->
nmvcosts_hp
[
1
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost_hp
[
0
]
=
&
cpi
->
nmvsadcosts_hp
[
0
][
MV_MAX
];
cpi
->
mb
.
nmvsadcost_hp
[
1
]
=
&
cpi
->
nmvsadcosts_hp
[
1
][
MV_MAX
];
cal_nmvsadcosts_hp
(
cpi
->
mb
.
nmvsadcost_hp
);
#if CONFIG_VP9_TEMPORAL_DENOISING
...
...
vp9/encoder/vp9_encoder.h
View file @
310f5a76
...
...
@@ -274,6 +274,11 @@ typedef struct VP9_COMP {
CODING_CONTEXT
coding_context
;
int
*
nmvcosts
[
2
];
int
*
nmvcosts_hp
[
2
];
int
*
nmvsadcosts
[
2
];
int
*
nmvsadcosts_hp
[
2
];
int
zbin_mode_boost
;
int
zbin_mode_boost_enabled
;
...
...
Write
Preview
Supports
Markdown
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