예제 #1
0
static TX_SIZE read_tx_size(VP9_COMMON *cm, MACROBLOCKD *xd, TX_MODE tx_mode,
                            BLOCK_SIZE bsize, int allow_select, vp9_reader *r) {
  const TX_SIZE max_tx_size = max_txsize_lookup[bsize];
  if (allow_select && tx_mode == TX_MODE_SELECT && bsize >= BLOCK_8X8)
    return read_selected_tx_size(cm, xd, max_tx_size, r);
  else
    return MIN(max_tx_size, tx_mode_to_biggest_tx_size[tx_mode]);
}
예제 #2
0
static TX_SIZE read_tx_size(VP10_COMMON *cm, MACROBLOCKD *xd,
                            int allow_select, vpx_reader *r) {
  TX_MODE tx_mode = cm->tx_mode;
  BLOCK_SIZE bsize = xd->mi[0]->mbmi.sb_type;
  const TX_SIZE max_tx_size = max_txsize_lookup[bsize];
  if (allow_select && tx_mode == TX_MODE_SELECT && bsize >= BLOCK_8X8)
    return read_selected_tx_size(cm, xd, max_tx_size, r);
  else
    return VPXMIN(max_tx_size, tx_mode_to_biggest_tx_size[tx_mode]);
}
예제 #3
0
static TX_SIZE read_tx_size(VP9_COMMON *const cm, MACROBLOCKD *const xd,
                            TX_MODE tx_mode, BLOCK_SIZE bsize, int allow_select,
                            vp9_reader *r) {
    if (allow_select && tx_mode == TX_MODE_SELECT && bsize >= BLOCK_8X8) {
        return read_selected_tx_size(cm, xd, bsize, r);
    } else {
        const TX_SIZE max_tx_size_block = max_txsize_lookup[bsize];
        const TX_SIZE max_tx_size_txmode = tx_mode_to_biggest_tx_size[tx_mode];
        return MIN(max_tx_size_block, max_tx_size_txmode);
    }
}