Skip to content

Confusing data names, pmv vs cmv  #1186

Open
@ycho

Description

@ycho

At higher level, ex in encode_tile(), frame_pmv[ ] stores the coarse initial MVs, which serves as search center (or seed) for ME.
However, later in subsequent functions, like motion_estimation(), it is the ref_mv specified by AV1 spec and stored atmv_stack[ ].

The cmv is used as search center (or seed) for ME.

To eliminate any confusions, let's not use pmv for the context of coarse MVs for ME search center or seed. For ex, we probably need to avoid sth line this in in rdo_mode_decision() :

if !mv_stack.is_empty() { pmv[0] = mv_stack[0].this_mv; }  --> pmv[ ] corresponds to av1 spec
if mv_stack.len() > 1 { pmv[1] = mv_stack[1].this_mv; }
...
let cmv = pmvs[ref_slot].unwrap(); --> pmvs[ ] propagate from initial coarse M Vs in encode_tile()
let b_me = motion_estimation(fi, fs, bsize, bo, ref_frames[0], cmv, pmv);

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions