media: fix issues with video profile levels

Support additional corner cases in level ordering:
- MPEG4Level1 only implies support for MPEG4Level0
- HEVC high tier levels are only supported by other high tier levels

H263 unusual level definitions:
- levels 45/50+ define minimum requirements that codecs can extend
- levels 10-45 define minimum size
- restrict to QCIF and CIF only if codecs only supports levels 10-40
  (or 45 in profiles 0 and 2)

MPEG4 max width/height/frame rate:
- Only specified for MPEG4Level0/0b
- Using arbitrary 2:1 aspect ratio and 60fps for other levels
  This is sure to include typical sizes for levels

Fix level limits:
- MPEG2LevelML max 25fps for D1 PAL
- H263Level20 max 30fps, but only 15fps for CIF
- H263Level45 max 15fps
- H263Level45+ min alignment is 4
- MPEG4Level0b max 15fps
- add support for VP9 HDR profiles
- fix HEVC overflow for Level62 calculations

Bug: 28671284
Change-Id: Ie75ae1d19f20d5c6eb40807d03c3b487854eb9a0
1 file changed