nevermind I didn't do the correct parenthesing and the extra (row) at the end wasn't necessary. Here is the final call :
QFuture<void> future= QtConcurrent::map(tasks,
boost::bind(&VideoEngine::meta_engine_recursive,
dynamic_cast<Node*>(input),
output,_1));