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
Xiph.Org
aom-rav1e
Commits
95d99ae1
Commit
95d99ae1
authored
Jun 23, 2016
by
Jingning Han
Committed by
Gerrit Code Review
Jun 23, 2016
Browse files
Merge "Refactor reference frame type defs" into nextgenv2
parents
85059674
b605de07
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp10/common/blockd.h
View file @
95d99ae1
...
...
@@ -90,49 +90,8 @@ typedef struct {
#endif // CONFIG_EXT_INTER
}
b_mode_info
;
// Note that the rate-distortion optimization loop, bit-stream writer, and
// decoder implementation modules critically rely on the defined entry values
// specified herein. They should be refactored concurrently.
#define NONE -1
#define INTRA_FRAME 0
#define LAST_FRAME 1
#if CONFIG_EXT_REFS
#define LAST2_FRAME 2
#define LAST3_FRAME 3
#define GOLDEN_FRAME 4
#define BWDREF_FRAME 5
#define ALTREF_FRAME 6
#define MAX_REF_FRAMES 7
#define LAST_REF_FRAMES (LAST3_FRAME - LAST_FRAME + 1)
#else
#define GOLDEN_FRAME 2
#define ALTREF_FRAME 3
#define MAX_REF_FRAMES 4
#endif // CONFIG_EXT_REFS
typedef
int8_t
MV_REFERENCE_FRAME
;
#define FWD_REF_FRAMES (GOLDEN_FRAME - LAST_FRAME + 1)
#define FWD_RF_OFFSET(ref) (ref - LAST_FRAME)
#if CONFIG_EXT_REFS
#define BWD_REF_FRAMES (ALTREF_FRAME - BWDREF_FRAME + 1)
#define BWD_RF_OFFSET(ref) (ref - BWDREF_FRAME)
#else
#define BWD_REF_FRAMES 1
#define BWD_RF_OFFSET(ref) (ref - ALTREF_FRAME)
#endif
#if CONFIG_REF_MV
#define MODE_CTX_REF_FRAMES (MAX_REF_FRAMES + FWD_REF_FRAMES * BWD_REF_FRAMES)
#else
#define MODE_CTX_REF_FRAMES MAX_REF_FRAMES
#endif
typedef
struct
{
// Number of base colors for Y (0) and UV (1)
uint8_t
palette_size
[
2
];
...
...
vp10/common/enums.h
View file @
95d99ae1
...
...
@@ -381,17 +381,46 @@ typedef enum {
typedef
TX_SIZE
TXFM_CONTEXT
;
#endif
#define NONE -1
#define INTRA_FRAME 0
#define LAST_FRAME 1
#if CONFIG_EXT_REFS
#define FWD_REFS 4
#define BWD_REFS 2
#define SINGLE_REFS (FWD_REFS + BWD_REFS)
// NOTE(zoeliu): Following parameter is currently not being used
// #define COMP_REFS (FWD_REFS * BWD_REFS)
#define LAST2_FRAME 2
#define LAST3_FRAME 3
#define GOLDEN_FRAME 4
#define BWDREF_FRAME 5
#define ALTREF_FRAME 6
#define MAX_REF_FRAMES 7
#define LAST_REF_FRAMES (LAST3_FRAME - LAST_FRAME + 1)
#else
#define SINGLE_REFS 3
#define COMP_REFS 2
#define GOLDEN_FRAME 2
#define ALTREF_FRAME 3
#define MAX_REF_FRAMES 4
#endif // CONFIG_EXT_REFS
#define FWD_REFS (GOLDEN_FRAME - LAST_FRAME + 1)
#define FWD_RF_OFFSET(ref) (ref - LAST_FRAME)
#if CONFIG_EXT_REFS
#define BWD_REFS (ALTREF_FRAME - BWDREF_FRAME + 1)
#define BWD_RF_OFFSET(ref) (ref - BWDREF_FRAME)
#else
#define BWD_REFS 1
#define BWD_RF_OFFSET(ref) (ref - ALTREF_FRAME)
#endif
#define SINGLE_REFS (FWD_REFS + BWD_REFS)
#define COMP_REFS (FWD_REFS * BWD_REFS)
#if CONFIG_REF_MV
#define MODE_CTX_REF_FRAMES (MAX_REF_FRAMES + COMP_REFS)
#else
#define MODE_CTX_REF_FRAMES MAX_REF_FRAMES
#endif
#if CONFIG_SUPERTX
#define PARTITION_SUPERTX_CONTEXTS 2
#define MAX_SUPERTX_BLOCK_SIZE BLOCK_32X32
...
...
vp10/common/mvref_common.h
View file @
95d99ae1
...
...
@@ -263,13 +263,13 @@ static INLINE int vp10_nmv_ctx(const uint8_t ref_mv_count,
static
INLINE
int8_t
vp10_ref_frame_type
(
const
MV_REFERENCE_FRAME
*
const
rf
)
{
if
(
rf
[
1
]
>
INTRA_FRAME
)
{
return
MAX_REF_FRAMES
+
FWD_RF_OFFSET
(
rf
[
0
])
+
BWD_RF_OFFSET
(
rf
[
1
])
*
FWD_REF
_FRAME
S
;
BWD_RF_OFFSET
(
rf
[
1
])
*
FWD_REFS
;
}
return
rf
[
0
];
}
static
MV_REFERENCE_FRAME
ref_frame_map
[
FWD_REF_FRAMES
*
BWD_REF_FRAME
S
][
2
]
=
{
static
MV_REFERENCE_FRAME
ref_frame_map
[
COMP_REF
S
][
2
]
=
{
#if CONFIG_EXT_REFS
{
LAST_FRAME
,
BWDREF_FRAME
},
{
LAST2_FRAME
,
BWDREF_FRAME
},
...
...
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