H265 2.0代码存在BUG



  • rtl/rec/rec_tq/mod.v:
    此模块输入qp,计算qp % 6,并进一步按照公式计算量化中需要的参数
    如果输入qp=6,正确的计算应该为6 % 6 = 0。但是此模块计算6 % 6 = 6,
    这会导致后续参数计算全部为0,量化后系数也全部为0。

    问题原因:
    always@(*) begin
    next_state=IDLE;
    case(state)
    IDLE:
    if((qp_r != qp)&&(qp>6))
    next_state=MODE_STATE;
    else
    next_state=IDLE;
    MODE_STATE:
    if(opi<6+6)
    next_state=IDLE;
    else
    next_state=MODE_STATE;
    endcase
    end

    此always块中的“if((qp_r != qp)&&(qp>6))”语句有误,当qp=6时不会进行mod操作以及状态跳转,建议修改。



  • 非常感谢!!
    近期我们会将2.0版本代码放到github托管,到时候一并更新!



  • 我发了pull request,请查收