I am doing some 2d barcodes for a clothing company for a marketing campaign. The barcode should be read with a mobile phone.

Does anyone know how I determine what size the barcode should be for the phone to read it?

I assume that the megapixel of the camera determine how small the barcode can be, but are there other things that matter? Like software, etc?

As I understand the standard for the nokia code is datamatrixes, if I use a QR code will this matter on the readability?