[NON-BE][NON-IO] Complete OMASA EXT output implementation
- Related issues: #984 (closed) #724 (closed)
- Requested reviewers/relevant contributors: @paulusj @laitinenmik
Reason why this change is needed
- OMASA decoding to EXT output is currently supported only for the discrete object mode
ISM_MASA_MODE_DISC
. The support is missing for the other 3 modes and should be completed.
Description of the change
- All OMASA modes now support EXT output:
-
ISM_MODE_NONE
-> output MASA transports including the pre-rendered objects, MASA metadata, and a correct number of empty object signals and metadata files -
ISM_MASA_MODE_MASA_ONE_OBJ
-> render the separate object into the MASA with the other objects, output the MASA transports, MASA metadata, and a correct number of empty object signals and metadata files -
ISM_MASA_MODE_PARAM_ONE_OBJ
-> the objects mixed into MASA transports are separated, the output consists of the MASA transport, MASA metadata, the correct number of reconstructed objects and associated metadata -
ISM_MASA_MODE_DISC
-> unmodified: output MASA transports, MASA metadata, objects, and object metadata
-
Affected operating points
- OMASA bitstream in pre-rendering MASA-only mode
ISM_MODE_NONE
is non-BC because of the added signalling of the number of objects.- The added signalling of the number of objects in the
ISM_MODE_NONE
mode causes the bitstream in that mode to be non-interoperable between the codec versions with and without this MR. This is visible in interop tests at low bitrates or bitrate switching, both usingISM_MODE_NONE
.
- The added signalling of the number of objects in the
- Other bitstreams are BE compared to the previous state
- Decoding OMASA to non-EXT output is BE with the previous state
- Decoding OMASA to EXT output is now supported in all modes (earlier, no output)
Edited by Jouni Paulus