| 1073 | |
| 1074 | |
| 1075 | static int dca_subframe_footer(DCAContext * s) |
| 1076 | { |
| 1077 | int aux_data_count = 0, i; |
| 1078 | int lfe_samples; |
| 1079 | |
| 1080 | /* |
| 1081 | * Unpack optional information |
| 1082 | */ |
| 1083 | |
| 1084 | if (s->timestamp) |
| 1085 | get_bits(&s->gb, 32); |
| 1086 | |
| 1087 | if (s->aux_data) |
| 1088 | aux_data_count = get_bits(&s->gb, 6); |
| 1089 | |
| 1090 | for (i = 0; i < aux_data_count; i++) |
| 1091 | get_bits(&s->gb, 8); |
| 1092 | |
| 1093 | if (s->crc_present && (s->downmix || s->dynrange)) |
| 1094 | get_bits(&s->gb, 16); |
| 1095 | |
| 1096 | lfe_samples = 2 * s->lfe * s->subsubframes; |
| 1097 | for (i = 0; i < lfe_samples; i++) { |
| 1098 | s->lfe_data[i] = s->lfe_data[i + lfe_samples]; |
| 1099 | } |
| 1100 | |
| 1101 | return 0; |
| 1102 | } |
| 1103 | |
| 1104 | /** |
| 1105 | * Decode a dca frame block |
no test coverage detected