• 427 参考帧管理


    Ppt中介绍的大体过程

    1. 建立参考队列list0和list1

    P slice从list0中取参考帧做预测,b slice 从list1中取参考帧做预测

    List0中存储的是display顺序在poc顺序在当前帧之前的帧,顺序是从高到低

    List1中存储的是在当前帧poc之后的真。它的顺序是从低到高。

    1. 里面有一个函数x264_reference_check_reorder 用来检测是否list0有顺序和标准不符合的帧存在
    2.  

    X264_t中一些变量含义

    Int i_ref[2]  表示参考帧个数 i_ref[0]表示过去的帧 i_ref[1]表示以后的帧

    h->frames.fref[][] DPB表示的就是list0和list1 由第一个循环可以看出,通过poc顺序来存放reference

    h->i_ref 参考帧队列中的索引

    再次理一下自己思路

    下面两个函数一起作用,然后完成DPB的更新

    static inline int x264_reference_update( x264_t *h ) 

    x264_reference_build_list( h, h->fdec->i_poc );

    在 x264_reference_update函数中,首先对于unused里面做一些操作掠过

    然后再通过 x264_frame_push( h->frames.reference, h->fdec )中将编过码重建的帧放入h->frames.reference,通过看h->fdec->i_frame 是线性的(理解错误i_frame)递增,所以首先通过这个放入h->frames.reference数组然后再后面的x264_referecne_build_list中对于当前刚放进去的h->frames.reference放入dpb中,然后再进行排序等一系列操作

  • 相关阅读:
    使用pca/lda降维
    交叉验证
    各模型选择及工作流程
    岭回归
    线性回归
    K-临近算法(KNN)
    django中的中间件
    django中form组件
    javascript中的词法分析
    Django之Model操作
  • 原文地址:https://www.cnblogs.com/hatreds/p/2473882.html
Copyright © 2020-2023  润新知