Desempaquetar por bits en PHP

Quiero desempaquetar una cadena binaria en una matriz mediante una secuencia extraña de 8-8-8-7 bits.

Fácilmente podría hacer algo como esto, para una secuencia normal de 8-8-8-8:

$b=unpack('C*',$data);
for ($i=0,$count=sizeof($b); $i < $count; $i+=4) {
$out[]=array($b[$i+1],$b[$i+2],$b[$i+3],$b[$i+4]);
}

Eso me daría una matriz 2D de bytes, agrupados por 4.

Pero como el cuarto es de 7 bits, simplemente no puedo pensar en nada apropiado.

¿Tienes algunas ideas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta