HM中去方块滤波的禁用方法

在HM编码器中禁用去方块滤波器(Deblocking Filter, DBF)并非直接修改LoopFilterDisable参数即可。原因是DeblockingFilterControlPresent参数必须为1,才能使LoopFilterDisable生效。此设计旨在保证编解码一致性,节省码流。若仅在编码端测试,可直接注释掉相应执行滤波的代码段。" 113859166,10459827,Python爬虫:四种元素定位方法详解,"['Python', '网络爬虫', '数据抓取']
摘要由CSDN通过智能技术生成

     有时候我们想禁用掉HM的去方块滤波,测试下去方块滤波的效果,很容易就想到要修改配置文件,根据注释,容易找到:

       LoopFilterDisable             : 1           # Disable deblocking filter (0=Filter, 1=No Filter)

       但是运行完程序后就会发现,这个参数改为0或者改为1结果根本就是一样的(如果用过JM的也会发现相同的问题)。那么这到底是为什么呢?难道是程序的bug?其实不然,HM的编写者还不至于犯下这种低级错误。

       仔细分析代码后就能找到答案:我们可以找到配置文件LoopFilterDisable这个参数在HM中对应的变量被赋值的地方,在TEncSlice.initEncSlice中有这么一段:

 

  if ( m_pcCfg->getDeblockingFilterMetric() )
  {
    rpcSlice->setDeblockingFilterOverrideFlag(true);
    rpcSlice->setDeblockingFilterDisable(false);
    rpcSlice->setDeblockingFilterBetaOffsetDiv2( 0 );
    rpcSlice->setDeblockingFilterTcOffsetDiv2( 0 );
  } else
  if (rpcSlice-&g
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值