It's not that hard all things considered, but from a 90s PoV, it's a lot of work: you have to identify possible QR areas, deskew them, try the QR algorithm, see if it decodes to something, and then show a pop up on screen.
Yeah but... People write libraries in garbage collected byte code languages, I have seen zxing (java) run on phones from 10 years ago much less powerful than today, and it can still get a decent framerate processing the camera without any special tricks.
Compare that to the CueCat, which was made in 2000 and much more finicky about scanning: https://en.wikipedia.org/wiki/CueCat