Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Deviation from MPEG-4 14496-3 bitstream syntax (Read 3134 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Deviation from MPEG-4 14496-3 bitstream syntax

Hai,

        Recently I saw a deviation from  MPEG-4 14496-3 bitstream
syntax in reference codes like ISO and FAAD2.
According to the specification in individual_channel_stream() function,
if tns_data_present, then tns_data() is called irrespective of the
object type.  But in the reference codes, for Error Resilient
stream(object_type >= 17) this is not the case. They first check 
tns_data_present bit and then without reading tns_data() (if
tns_data_present is 1) they check the next flag bit, which is
gain_control_data_present. Then they check for
aacSpectralDataResilienceFlag, do reordered_spectral_data() and only
after then read tns_data.

When I encoded my bitstream according to the spec, its not getting
decoded. But now when I changed it in the order in which bits are read
as I mentioned above, its correctly decoding.

Why is it so?? Such bitstream syntax is not mentioned in specification.
Please clarify my doubt.

Regards
Pratheek