It's not possible to seek in pipes, so if we want to skip frames we have to read and discard unused ones. It's pointless to do bit-depth upconversions in those frames.
It was used as a workaround for a bug that only existed in the GPAC repository for a few weeks back in 2010. There's no reason to keep it anymore.
If only a static library is built, the user of the library that just tries to link to the lib using the flags provided by pkg-config might not know that only a static lib exists and that he'd have to pass --static to pkg-config to get the internal dependencies to be able to link the library. For a shared build, the internal dependencies are kept in Libs.private as before. This matches how libav's pkg-config files are generated.