How to use an object method as a callback function
From PHP Manual on Callbacks:
A method of an instantiated object is passed as an array containing an object at index 0 and the method name at index 1.
So try
return array_map(array($this, 'encode'), $inp);