decoder support custom reader but size