MCPcopy
hub / github.com/babysor/MockingBird / encodeSideInfo2

Function encodeSideInfo2

web/static/js/mp3-engine.js:2625–2785  ·  view source on GitHub ↗
(gfp, bitsPerFrame)

Source from the content-addressed store, hash-verified

2623 };
2624
2625 function encodeSideInfo2(gfp, bitsPerFrame) {
2626 var gfc = gfp.internal_flags;
2627 var l3_side;
2628 var gr, ch;
2629
2630 l3_side = gfc.l3_side;
2631 gfc.header[gfc.h_ptr].ptr = 0;
2632 Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);
2633 if (gfp.out_samplerate < 16000)
2634 writeheader(gfc, 0xffe, 12);
2635 else
2636 writeheader(gfc, 0xfff, 12);
2637 writeheader(gfc, (gfp.version), 1);
2638 writeheader(gfc, 4 - 3, 2);
2639 writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);
2640 writeheader(gfc, (gfc.bitrate_index), 4);
2641 writeheader(gfc, (gfc.samplerate_index), 2);
2642 writeheader(gfc, (gfc.padding), 1);
2643 writeheader(gfc, (gfp.extension), 1);
2644 writeheader(gfc, (gfp.mode.ordinal()), 2);
2645 writeheader(gfc, (gfc.mode_ext), 2);
2646 writeheader(gfc, (gfp.copyright), 1);
2647 writeheader(gfc, (gfp.original), 1);
2648 writeheader(gfc, (gfp.emphasis), 2);
2649 if (gfp.error_protection) {
2650 writeheader(gfc, 0, 16);
2651 /* dummy */
2652 }
2653
2654 if (gfp.version == 1) {
2655 /* MPEG1 */
2656 writeheader(gfc, (l3_side.main_data_begin), 9);
2657
2658 if (gfc.channels_out == 2)
2659 writeheader(gfc, l3_side.private_bits, 3);
2660 else
2661 writeheader(gfc, l3_side.private_bits, 5);
2662
2663 for (ch = 0; ch < gfc.channels_out; ch++) {
2664 var band;
2665 for (band = 0; band < 4; band++) {
2666 writeheader(gfc, l3_side.scfsi[ch][band], 1);
2667 }
2668 }
2669
2670 for (gr = 0; gr < 2; gr++) {
2671 for (ch = 0; ch < gfc.channels_out; ch++) {
2672 var gi = l3_side.tt[gr][ch];
2673 writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);
2674 writeheader(gfc, gi.big_values / 2, 9);
2675 writeheader(gfc, gi.global_gain, 8);
2676 writeheader(gfc, gi.scalefac_compress, 4);
2677
2678 if (gi.block_type != Encoder.NORM_TYPE) {
2679 writeheader(gfc, 1, 1);
2680 /* window_switching_flag */
2681 writeheader(gfc, gi.block_type, 2);
2682 writeheader(gfc, gi.mixed_block_flag, 1);

Callers 1

BitStreamFunction · 0.85

Calls 1

writeheaderFunction · 0.85

Tested by

no test coverage detected