[NEW] Figured out codec controller class structure
[NEW] Separate class for codec options
[CHG] Class and enum name changes
[Note] This commit cannot be build because of syntax error.
[NEW] Find the best intermediate raw sample format
[NEW] Get number of valid containers supported by the decoder or encoder
[CHG] unique_ptr does not need = nullptr because it is initialize to null
[CHG] valid_containers in Encoder and Decoder base classes are now non-static variables
[CHG] Comments changes