| 1018 | } |
| 1019 | |
| 1020 | static void put_frame_header(DCAEncContext *c) |
| 1021 | { |
| 1022 | /* SYNC */ |
| 1023 | put_bits(&c->pb, 16, 0x7ffe); |
| 1024 | put_bits(&c->pb, 16, 0x8001); |
| 1025 | |
| 1026 | /* Frame type: normal */ |
| 1027 | put_bits(&c->pb, 1, 1); |
| 1028 | |
| 1029 | /* Deficit sample count: none */ |
| 1030 | put_bits(&c->pb, 5, 31); |
| 1031 | |
| 1032 | /* CRC is not present */ |
| 1033 | put_bits(&c->pb, 1, 0); |
| 1034 | |
| 1035 | /* Number of PCM sample blocks */ |
| 1036 | put_bits(&c->pb, 7, SUBBAND_SAMPLES - 1); |
| 1037 | |
| 1038 | /* Primary frame byte size */ |
| 1039 | put_bits(&c->pb, 14, c->frame_size - 1); |
| 1040 | |
| 1041 | /* Audio channel arrangement */ |
| 1042 | put_bits(&c->pb, 6, c->channel_config); |
| 1043 | |
| 1044 | /* Core audio sampling frequency */ |
| 1045 | put_bits(&c->pb, 4, bitstream_sfreq[c->samplerate_index]); |
| 1046 | |
| 1047 | /* Transmission bit rate */ |
| 1048 | put_bits(&c->pb, 5, c->bitrate_index); |
| 1049 | |
| 1050 | /* Embedded down mix: disabled */ |
| 1051 | put_bits(&c->pb, 1, 0); |
| 1052 | |
| 1053 | /* Embedded dynamic range flag: not present */ |
| 1054 | put_bits(&c->pb, 1, 0); |
| 1055 | |
| 1056 | /* Embedded time stamp flag: not present */ |
| 1057 | put_bits(&c->pb, 1, 0); |
| 1058 | |
| 1059 | /* Auxiliary data flag: not present */ |
| 1060 | put_bits(&c->pb, 1, 0); |
| 1061 | |
| 1062 | /* HDCD source: no */ |
| 1063 | put_bits(&c->pb, 1, 0); |
| 1064 | |
| 1065 | /* Extension audio ID: N/A */ |
| 1066 | put_bits(&c->pb, 3, 0); |
| 1067 | |
| 1068 | /* Extended audio data: not present */ |
| 1069 | put_bits(&c->pb, 1, 0); |
| 1070 | |
| 1071 | /* Audio sync word insertion flag: after each sub-frame */ |
| 1072 | put_bits(&c->pb, 1, 0); |
| 1073 | |
| 1074 | /* Low frequency effects flag: not present or 64x subsampling */ |
| 1075 | put_bits(&c->pb, 2, c->lfe_channel ? 2 : 0); |
| 1076 | |
| 1077 | /* Predictor history switch flag: on */ |
no test coverage detected