comparison dvdata.h @ 2967:ef2149182f1c libavcodec

COSMETICS: Remove all trailing whitespace.
author diego
date Sat, 17 Dec 2005 18:14:38 +0000
parents f9411c92f7e6
children 0b546eab515d
comparison
equal deleted inserted replaced
2966:564788471dd4 2967:ef2149182f1c
20 /** 20 /**
21 * @file dvdata.h 21 * @file dvdata.h
22 * Constants for DV codec. 22 * Constants for DV codec.
23 */ 23 */
24 24
25 /* 25 /*
26 * DVprofile is used to express the differences between various 26 * DVprofile is used to express the differences between various
27 * DV flavors. For now it's primarily used for differentiating 27 * DV flavors. For now it's primarily used for differentiating
28 * 525/60 and 625/50, but the plans are to use it for various 28 * 525/60 and 625/50, but the plans are to use it for various
29 * DV specs as well (e.g. SMPTE314M vs. IEC 61834). 29 * DV specs as well (e.g. SMPTE314M vs. IEC 61834).
30 */ 30 */
31 typedef struct DVprofile { 31 typedef struct DVprofile {
32 int dsf; /* value of the dsf in the DV header */ 32 int dsf; /* value of the dsf in the DV header */
33 int frame_size; /* total size of one frame in bytes */ 33 int frame_size; /* total size of one frame in bytes */
34 int difseg_size; /* number of DIF segments */ 34 int difseg_size; /* number of DIF segments */
35 int frame_rate; 35 int frame_rate;
36 int frame_rate_base; 36 int frame_rate_base;
37 int ltc_divisor; /* FPS from the LTS standpoint */ 37 int ltc_divisor; /* FPS from the LTS standpoint */
38 int height; /* picture height in pixels */ 38 int height; /* picture height in pixels */
39 int width; /* picture width in pixels */ 39 int width; /* picture width in pixels */
40 AVRational sar[2]; /* sample aspect ratios for 4:3 and 16:9 */ 40 AVRational sar[2]; /* sample aspect ratios for 4:3 and 16:9 */
41 const uint16_t *video_place; /* positions of all DV macro blocks */ 41 const uint16_t *video_place; /* positions of all DV macro blocks */
42 enum PixelFormat pix_fmt; /* picture pixel format */ 42 enum PixelFormat pix_fmt; /* picture pixel format */
43 43
44 int audio_stride; /* size of audio_shuffle table */ 44 int audio_stride; /* size of audio_shuffle table */
45 int audio_min_samples[3];/* min ammount of audio samples */ 45 int audio_min_samples[3];/* min ammount of audio samples */
46 /* for 48Khz, 44.1Khz and 32Khz */ 46 /* for 48Khz, 44.1Khz and 32Khz */
47 int audio_samples_dist[5];/* how many samples are supposed to be */ 47 int audio_samples_dist[5];/* how many samples are supposed to be */
48 /* in each frame in a 5 frames window */ 48 /* in each frame in a 5 frames window */
49 const uint16_t (*audio_shuffle)[9]; /* PCM shuffling table */ 49 const uint16_t (*audio_shuffle)[9]; /* PCM shuffling table */
50 } DVprofile; 50 } DVprofile;
51 51
52 #define NB_DV_VLC 409 52 #define NB_DV_VLC 409
53 53
54 /* 54 /*
55 * There's a catch about the following three tables: the mapping they establish 55 * There's a catch about the following three tables: the mapping they establish
56 * between (run, level) and vlc is not 1-1. So you have to watch out for that 56 * between (run, level) and vlc is not 1-1. So you have to watch out for that
57 * when building misc. tables. E.g. (1, 0) can be either 0x7cf or 0x1f82. 57 * when building misc. tables. E.g. (1, 0) can be either 0x7cf or 0x1f82.
58 */ 58 */
59 static const uint16_t dv_vlc_bits[409] = { 59 static const uint16_t dv_vlc_bits[409] = {
60 0x0000, 0x0002, 0x0007, 0x0008, 0x0009, 0x0014, 0x0015, 0x0016, 60 0x0000, 0x0002, 0x0007, 0x0008, 0x0009, 0x0014, 0x0015, 0x0016,
61 0x0017, 0x0030, 0x0031, 0x0032, 0x0033, 0x0068, 0x0069, 0x006a, 61 0x0017, 0x0030, 0x0031, 0x0032, 0x0033, 0x0068, 0x0069, 0x006a,
62 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x00e0, 0x00e1, 0x00e2, 62 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x00e0, 0x00e1, 0x00e2,
298 1,2,2,2,3,3,3,3, 298 1,2,2,2,3,3,3,3,
299 1,2,2,3,3,3,3,3, 299 1,2,2,3,3,3,3,3,
300 }; 300 };
301 301
302 static const uint8_t dv_quant_shifts[22][4] = { 302 static const uint8_t dv_quant_shifts[22][4] = {
303 { 3,3,4,4 }, 303 { 3,3,4,4 },
304 { 3,3,4,4 }, 304 { 3,3,4,4 },
305 { 2,3,3,4 },
306 { 2,3,3,4 }, 305 { 2,3,3,4 },
307 { 2,2,3,3 }, 306 { 2,3,3,4 },
308 { 2,2,3,3 }, 307 { 2,2,3,3 },
309 { 1,2,2,3 }, 308 { 2,2,3,3 },
310 { 1,2,2,3 }, 309 { 1,2,2,3 },
311 { 1,1,2,2 }, 310 { 1,2,2,3 },
312 { 1,1,2,2 }, 311 { 1,1,2,2 },
313 { 0,1,1,2 }, 312 { 1,1,2,2 },
314 { 0,1,1,2 }, 313 { 0,1,1,2 },
315 { 0,0,1,1 }, 314 { 0,1,1,2 },
316 { 0,0,1,1 }, 315 { 0,0,1,1 },
317 { 0,0,0,1 }, 316 { 0,0,1,1 },
318 { 0,0,0,0 }, 317 { 0,0,0,1 },
319 { 0,0,0,0 }, 318 { 0,0,0,0 },
320 { 0,0,0,0 }, 319 { 0,0,0,0 },
321 { 0,0,0,0 }, 320 { 0,0,0,0 },
322 { 0,0,0,0 }, 321 { 0,0,0,0 },
323 { 0,0,0,0 }, 322 { 0,0,0,0 },
323 { 0,0,0,0 },
324 { 0,0,0,0 }, 324 { 0,0,0,0 },
325 }; 325 };
326 326
327 static const uint8_t dv_quant_offset[4] = { 6, 3, 0, 1 }; 327 static const uint8_t dv_quant_offset[4] = { 6, 3, 0, 1 };
328 328
655 0x0834, 0x2022, 0x2c46, 0x4410, 0x1458, 655 0x0834, 0x2022, 0x2c46, 0x4410, 0x1458,
656 0x0a34, 0x2222, 0x2e46, 0x4610, 0x1658, 656 0x0a34, 0x2222, 0x2e46, 0x4610, 0x1658,
657 }; 657 };
658 658
659 static const uint16_t dv_place_411P[1620] = { 659 static const uint16_t dv_place_411P[1620] = {
660 0x0c24, 0x2710, 0x3334, 0x0000, 0x1848, 660 0x0c24, 0x2710, 0x3334, 0x0000, 0x1848,
661 0x0d24, 0x2810, 0x3434, 0x0100, 0x1948, 661 0x0d24, 0x2810, 0x3434, 0x0100, 0x1948,
662 0x0e24, 0x2910, 0x3534, 0x0200, 0x1a48, 662 0x0e24, 0x2910, 0x3534, 0x0200, 0x1a48,
663 0x0f24, 0x2914, 0x3538, 0x0300, 0x1b48, 663 0x0f24, 0x2914, 0x3538, 0x0300, 0x1b48,
664 0x1024, 0x2814, 0x3438, 0x0400, 0x1c48, 664 0x1024, 0x2814, 0x3438, 0x0400, 0x1c48,
665 0x1124, 0x2714, 0x3338, 0x0500, 0x1d48, 665 0x1124, 0x2714, 0x3338, 0x0500, 0x1d48,
666 0x1128, 0x2614, 0x3238, 0x0504, 0x1d4c, 666 0x1128, 0x2614, 0x3238, 0x0504, 0x1d4c,
667 0x1028, 0x2514, 0x3138, 0x0404, 0x1c4c, 667 0x1028, 0x2514, 0x3138, 0x0404, 0x1c4c,
668 0x0f28, 0x2414, 0x3038, 0x0304, 0x1b4c, 668 0x0f28, 0x2414, 0x3038, 0x0304, 0x1b4c,
669 0x0e28, 0x2418, 0x303c, 0x0204, 0x1a4c, 669 0x0e28, 0x2418, 0x303c, 0x0204, 0x1a4c,
670 0x0d28, 0x2518, 0x313c, 0x0104, 0x194c, 670 0x0d28, 0x2518, 0x313c, 0x0104, 0x194c,
671 0x0c28, 0x2618, 0x323c, 0x0004, 0x184c, 671 0x0c28, 0x2618, 0x323c, 0x0004, 0x184c,
672 0x0c2c, 0x2718, 0x333c, 0x0008, 0x1850, 672 0x0c2c, 0x2718, 0x333c, 0x0008, 0x1850,
673 0x0d2c, 0x2818, 0x343c, 0x0108, 0x1950, 673 0x0d2c, 0x2818, 0x343c, 0x0108, 0x1950,
674 0x0e2c, 0x2918, 0x353c, 0x0208, 0x1a50, 674 0x0e2c, 0x2918, 0x353c, 0x0208, 0x1a50,
675 0x0f2c, 0x291c, 0x3540, 0x0308, 0x1b50, 675 0x0f2c, 0x291c, 0x3540, 0x0308, 0x1b50,
676 0x102c, 0x281c, 0x3440, 0x0408, 0x1c50, 676 0x102c, 0x281c, 0x3440, 0x0408, 0x1c50,
677 0x112c, 0x271c, 0x3340, 0x0508, 0x1d50, 677 0x112c, 0x271c, 0x3340, 0x0508, 0x1d50,
678 0x1130, 0x261c, 0x3240, 0x050c, 0x1d54, 678 0x1130, 0x261c, 0x3240, 0x050c, 0x1d54,
679 0x1030, 0x251c, 0x3140, 0x040c, 0x1c54, 679 0x1030, 0x251c, 0x3140, 0x040c, 0x1c54,
680 0x0f30, 0x241c, 0x3040, 0x030c, 0x1b54, 680 0x0f30, 0x241c, 0x3040, 0x030c, 0x1b54,
681 0x0e30, 0x2420, 0x3044, 0x020c, 0x1a54, 681 0x0e30, 0x2420, 0x3044, 0x020c, 0x1a54,
682 0x0d30, 0x2520, 0x3144, 0x010c, 0x1954, 682 0x0d30, 0x2520, 0x3144, 0x010c, 0x1954,
683 0x0c30, 0x2620, 0x3244, 0x000c, 0x1854, 683 0x0c30, 0x2620, 0x3244, 0x000c, 0x1854,
684 0x0c34, 0x2720, 0x3344, 0x0010, 0x1858, 684 0x0c34, 0x2720, 0x3344, 0x0010, 0x1858,
685 0x0d34, 0x2820, 0x3444, 0x0110, 0x1a58, 685 0x0d34, 0x2820, 0x3444, 0x0110, 0x1a58,
686 0x0e34, 0x2920, 0x3544, 0x0210, 0x1c58, 686 0x0e34, 0x2920, 0x3544, 0x0210, 0x1c58,
687 0x1224, 0x2d10, 0x3934, 0x0600, 0x1e48, 687 0x1224, 0x2d10, 0x3934, 0x0600, 0x1e48,
688 0x1324, 0x2e10, 0x3a34, 0x0700, 0x1f48, 688 0x1324, 0x2e10, 0x3a34, 0x0700, 0x1f48,
689 0x1424, 0x2f10, 0x3b34, 0x0800, 0x2048, 689 0x1424, 0x2f10, 0x3b34, 0x0800, 0x2048,
690 0x1524, 0x2f14, 0x3b38, 0x0900, 0x2148, 690 0x1524, 0x2f14, 0x3b38, 0x0900, 0x2148,
691 0x1624, 0x2e14, 0x3a38, 0x0a00, 0x2248, 691 0x1624, 0x2e14, 0x3a38, 0x0a00, 0x2248,
692 0x1724, 0x2d14, 0x3938, 0x0b00, 0x2348, 692 0x1724, 0x2d14, 0x3938, 0x0b00, 0x2348,
693 0x1728, 0x2c14, 0x3838, 0x0b04, 0x234c, 693 0x1728, 0x2c14, 0x3838, 0x0b04, 0x234c,
694 0x1628, 0x2b14, 0x3738, 0x0a04, 0x224c, 694 0x1628, 0x2b14, 0x3738, 0x0a04, 0x224c,
695 0x1528, 0x2a14, 0x3638, 0x0904, 0x214c, 695 0x1528, 0x2a14, 0x3638, 0x0904, 0x214c,
696 0x1428, 0x2a18, 0x363c, 0x0804, 0x204c, 696 0x1428, 0x2a18, 0x363c, 0x0804, 0x204c,
697 0x1328, 0x2b18, 0x373c, 0x0704, 0x1f4c, 697 0x1328, 0x2b18, 0x373c, 0x0704, 0x1f4c,
698 0x1228, 0x2c18, 0x383c, 0x0604, 0x1e4c, 698 0x1228, 0x2c18, 0x383c, 0x0604, 0x1e4c,
699 0x122c, 0x2d18, 0x393c, 0x0608, 0x1e50, 699 0x122c, 0x2d18, 0x393c, 0x0608, 0x1e50,
700 0x132c, 0x2e18, 0x3a3c, 0x0708, 0x1f50, 700 0x132c, 0x2e18, 0x3a3c, 0x0708, 0x1f50,
701 0x142c, 0x2f18, 0x3b3c, 0x0808, 0x2050, 701 0x142c, 0x2f18, 0x3b3c, 0x0808, 0x2050,
702 0x152c, 0x2f1c, 0x3b40, 0x0908, 0x2150, 702 0x152c, 0x2f1c, 0x3b40, 0x0908, 0x2150,
703 0x162c, 0x2e1c, 0x3a40, 0x0a08, 0x2250, 703 0x162c, 0x2e1c, 0x3a40, 0x0a08, 0x2250,
704 0x172c, 0x2d1c, 0x3940, 0x0b08, 0x2350, 704 0x172c, 0x2d1c, 0x3940, 0x0b08, 0x2350,
705 0x1730, 0x2c1c, 0x3840, 0x0b0c, 0x2354, 705 0x1730, 0x2c1c, 0x3840, 0x0b0c, 0x2354,
706 0x1630, 0x2b1c, 0x3740, 0x0a0c, 0x2254, 706 0x1630, 0x2b1c, 0x3740, 0x0a0c, 0x2254,
707 0x1530, 0x2a1c, 0x3640, 0x090c, 0x2154, 707 0x1530, 0x2a1c, 0x3640, 0x090c, 0x2154,
708 0x1430, 0x2a20, 0x3644, 0x080c, 0x2054, 708 0x1430, 0x2a20, 0x3644, 0x080c, 0x2054,
709 0x1330, 0x2b20, 0x3744, 0x070c, 0x1f54, 709 0x1330, 0x2b20, 0x3744, 0x070c, 0x1f54,
710 0x1230, 0x2c20, 0x3844, 0x060c, 0x1e54, 710 0x1230, 0x2c20, 0x3844, 0x060c, 0x1e54,
711 0x1234, 0x2d20, 0x3944, 0x0610, 0x1e58, 711 0x1234, 0x2d20, 0x3944, 0x0610, 0x1e58,
712 0x1334, 0x2e20, 0x3a44, 0x0710, 0x2058, 712 0x1334, 0x2e20, 0x3a44, 0x0710, 0x2058,
713 0x1434, 0x2f20, 0x3b44, 0x0810, 0x2258, 713 0x1434, 0x2f20, 0x3b44, 0x0810, 0x2258,
714 0x1824, 0x3310, 0x3f34, 0x0c00, 0x2448, 714 0x1824, 0x3310, 0x3f34, 0x0c00, 0x2448,
715 0x1924, 0x3410, 0x4034, 0x0d00, 0x2548, 715 0x1924, 0x3410, 0x4034, 0x0d00, 0x2548,
716 0x1a24, 0x3510, 0x4134, 0x0e00, 0x2648, 716 0x1a24, 0x3510, 0x4134, 0x0e00, 0x2648,
717 0x1b24, 0x3514, 0x4138, 0x0f00, 0x2748, 717 0x1b24, 0x3514, 0x4138, 0x0f00, 0x2748,
718 0x1c24, 0x3414, 0x4038, 0x1000, 0x2848, 718 0x1c24, 0x3414, 0x4038, 0x1000, 0x2848,
719 0x1d24, 0x3314, 0x3f38, 0x1100, 0x2948, 719 0x1d24, 0x3314, 0x3f38, 0x1100, 0x2948,
720 0x1d28, 0x3214, 0x3e38, 0x1104, 0x294c, 720 0x1d28, 0x3214, 0x3e38, 0x1104, 0x294c,
721 0x1c28, 0x3114, 0x3d38, 0x1004, 0x284c, 721 0x1c28, 0x3114, 0x3d38, 0x1004, 0x284c,
722 0x1b28, 0x3014, 0x3c38, 0x0f04, 0x274c, 722 0x1b28, 0x3014, 0x3c38, 0x0f04, 0x274c,
723 0x1a28, 0x3018, 0x3c3c, 0x0e04, 0x264c, 723 0x1a28, 0x3018, 0x3c3c, 0x0e04, 0x264c,
724 0x1928, 0x3118, 0x3d3c, 0x0d04, 0x254c, 724 0x1928, 0x3118, 0x3d3c, 0x0d04, 0x254c,
725 0x1828, 0x3218, 0x3e3c, 0x0c04, 0x244c, 725 0x1828, 0x3218, 0x3e3c, 0x0c04, 0x244c,
726 0x182c, 0x3318, 0x3f3c, 0x0c08, 0x2450, 726 0x182c, 0x3318, 0x3f3c, 0x0c08, 0x2450,
727 0x192c, 0x3418, 0x403c, 0x0d08, 0x2550, 727 0x192c, 0x3418, 0x403c, 0x0d08, 0x2550,
728 0x1a2c, 0x3518, 0x413c, 0x0e08, 0x2650, 728 0x1a2c, 0x3518, 0x413c, 0x0e08, 0x2650,
729 0x1b2c, 0x351c, 0x4140, 0x0f08, 0x2750, 729 0x1b2c, 0x351c, 0x4140, 0x0f08, 0x2750,
730 0x1c2c, 0x341c, 0x4040, 0x1008, 0x2850, 730 0x1c2c, 0x341c, 0x4040, 0x1008, 0x2850,
731 0x1d2c, 0x331c, 0x3f40, 0x1108, 0x2950, 731 0x1d2c, 0x331c, 0x3f40, 0x1108, 0x2950,
732 0x1d30, 0x321c, 0x3e40, 0x110c, 0x2954, 732 0x1d30, 0x321c, 0x3e40, 0x110c, 0x2954,
733 0x1c30, 0x311c, 0x3d40, 0x100c, 0x2854, 733 0x1c30, 0x311c, 0x3d40, 0x100c, 0x2854,
734 0x1b30, 0x301c, 0x3c40, 0x0f0c, 0x2754, 734 0x1b30, 0x301c, 0x3c40, 0x0f0c, 0x2754,
735 0x1a30, 0x3020, 0x3c44, 0x0e0c, 0x2654, 735 0x1a30, 0x3020, 0x3c44, 0x0e0c, 0x2654,
736 0x1930, 0x3120, 0x3d44, 0x0d0c, 0x2554, 736 0x1930, 0x3120, 0x3d44, 0x0d0c, 0x2554,
737 0x1830, 0x3220, 0x3e44, 0x0c0c, 0x2454, 737 0x1830, 0x3220, 0x3e44, 0x0c0c, 0x2454,
738 0x1834, 0x3320, 0x3f44, 0x0c10, 0x2458, 738 0x1834, 0x3320, 0x3f44, 0x0c10, 0x2458,
739 0x1934, 0x3420, 0x4044, 0x0d10, 0x2658, 739 0x1934, 0x3420, 0x4044, 0x0d10, 0x2658,
740 0x1a34, 0x3520, 0x4144, 0x0e10, 0x2858, 740 0x1a34, 0x3520, 0x4144, 0x0e10, 0x2858,
741 0x1e24, 0x3910, 0x4534, 0x1200, 0x2a48, 741 0x1e24, 0x3910, 0x4534, 0x1200, 0x2a48,
742 0x1f24, 0x3a10, 0x4634, 0x1300, 0x2b48, 742 0x1f24, 0x3a10, 0x4634, 0x1300, 0x2b48,
743 0x2024, 0x3b10, 0x4734, 0x1400, 0x2c48, 743 0x2024, 0x3b10, 0x4734, 0x1400, 0x2c48,
744 0x2124, 0x3b14, 0x4738, 0x1500, 0x2d48, 744 0x2124, 0x3b14, 0x4738, 0x1500, 0x2d48,
745 0x2224, 0x3a14, 0x4638, 0x1600, 0x2e48, 745 0x2224, 0x3a14, 0x4638, 0x1600, 0x2e48,
746 0x2324, 0x3914, 0x4538, 0x1700, 0x2f48, 746 0x2324, 0x3914, 0x4538, 0x1700, 0x2f48,
747 0x2328, 0x3814, 0x4438, 0x1704, 0x2f4c, 747 0x2328, 0x3814, 0x4438, 0x1704, 0x2f4c,
748 0x2228, 0x3714, 0x4338, 0x1604, 0x2e4c, 748 0x2228, 0x3714, 0x4338, 0x1604, 0x2e4c,
749 0x2128, 0x3614, 0x4238, 0x1504, 0x2d4c, 749 0x2128, 0x3614, 0x4238, 0x1504, 0x2d4c,
750 0x2028, 0x3618, 0x423c, 0x1404, 0x2c4c, 750 0x2028, 0x3618, 0x423c, 0x1404, 0x2c4c,
751 0x1f28, 0x3718, 0x433c, 0x1304, 0x2b4c, 751 0x1f28, 0x3718, 0x433c, 0x1304, 0x2b4c,
752 0x1e28, 0x3818, 0x443c, 0x1204, 0x2a4c, 752 0x1e28, 0x3818, 0x443c, 0x1204, 0x2a4c,
753 0x1e2c, 0x3918, 0x453c, 0x1208, 0x2a50, 753 0x1e2c, 0x3918, 0x453c, 0x1208, 0x2a50,
754 0x1f2c, 0x3a18, 0x463c, 0x1308, 0x2b50, 754 0x1f2c, 0x3a18, 0x463c, 0x1308, 0x2b50,
755 0x202c, 0x3b18, 0x473c, 0x1408, 0x2c50, 755 0x202c, 0x3b18, 0x473c, 0x1408, 0x2c50,
756 0x212c, 0x3b1c, 0x4740, 0x1508, 0x2d50, 756 0x212c, 0x3b1c, 0x4740, 0x1508, 0x2d50,
757 0x222c, 0x3a1c, 0x4640, 0x1608, 0x2e50, 757 0x222c, 0x3a1c, 0x4640, 0x1608, 0x2e50,
758 0x232c, 0x391c, 0x4540, 0x1708, 0x2f50, 758 0x232c, 0x391c, 0x4540, 0x1708, 0x2f50,
759 0x2330, 0x381c, 0x4440, 0x170c, 0x2f54, 759 0x2330, 0x381c, 0x4440, 0x170c, 0x2f54,
760 0x2230, 0x371c, 0x4340, 0x160c, 0x2e54, 760 0x2230, 0x371c, 0x4340, 0x160c, 0x2e54,
761 0x2130, 0x361c, 0x4240, 0x150c, 0x2d54, 761 0x2130, 0x361c, 0x4240, 0x150c, 0x2d54,
762 0x2030, 0x3620, 0x4244, 0x140c, 0x2c54, 762 0x2030, 0x3620, 0x4244, 0x140c, 0x2c54,
763 0x1f30, 0x3720, 0x4344, 0x130c, 0x2b54, 763 0x1f30, 0x3720, 0x4344, 0x130c, 0x2b54,
764 0x1e30, 0x3820, 0x4444, 0x120c, 0x2a54, 764 0x1e30, 0x3820, 0x4444, 0x120c, 0x2a54,
765 0x1e34, 0x3920, 0x4544, 0x1210, 0x2a58, 765 0x1e34, 0x3920, 0x4544, 0x1210, 0x2a58,
766 0x1f34, 0x3a20, 0x4644, 0x1310, 0x2c58, 766 0x1f34, 0x3a20, 0x4644, 0x1310, 0x2c58,
767 0x2034, 0x3b20, 0x4744, 0x1410, 0x2e58, 767 0x2034, 0x3b20, 0x4744, 0x1410, 0x2e58,
768 0x2424, 0x3f10, 0x0334, 0x1800, 0x3048, 768 0x2424, 0x3f10, 0x0334, 0x1800, 0x3048,
769 0x2524, 0x4010, 0x0434, 0x1900, 0x3148, 769 0x2524, 0x4010, 0x0434, 0x1900, 0x3148,
770 0x2624, 0x4110, 0x0534, 0x1a00, 0x3248, 770 0x2624, 0x4110, 0x0534, 0x1a00, 0x3248,
771 0x2724, 0x4114, 0x0538, 0x1b00, 0x3348, 771 0x2724, 0x4114, 0x0538, 0x1b00, 0x3348,
772 0x2824, 0x4014, 0x0438, 0x1c00, 0x3448, 772 0x2824, 0x4014, 0x0438, 0x1c00, 0x3448,
773 0x2924, 0x3f14, 0x0338, 0x1d00, 0x3548, 773 0x2924, 0x3f14, 0x0338, 0x1d00, 0x3548,
774 0x2928, 0x3e14, 0x0238, 0x1d04, 0x354c, 774 0x2928, 0x3e14, 0x0238, 0x1d04, 0x354c,
775 0x2828, 0x3d14, 0x0138, 0x1c04, 0x344c, 775 0x2828, 0x3d14, 0x0138, 0x1c04, 0x344c,
776 0x2728, 0x3c14, 0x0038, 0x1b04, 0x334c, 776 0x2728, 0x3c14, 0x0038, 0x1b04, 0x334c,
777 0x2628, 0x3c18, 0x003c, 0x1a04, 0x324c, 777 0x2628, 0x3c18, 0x003c, 0x1a04, 0x324c,
778 0x2528, 0x3d18, 0x013c, 0x1904, 0x314c, 778 0x2528, 0x3d18, 0x013c, 0x1904, 0x314c,
779 0x2428, 0x3e18, 0x023c, 0x1804, 0x304c, 779 0x2428, 0x3e18, 0x023c, 0x1804, 0x304c,
780 0x242c, 0x3f18, 0x033c, 0x1808, 0x3050, 780 0x242c, 0x3f18, 0x033c, 0x1808, 0x3050,
781 0x252c, 0x4018, 0x043c, 0x1908, 0x3150, 781 0x252c, 0x4018, 0x043c, 0x1908, 0x3150,
782 0x262c, 0x4118, 0x053c, 0x1a08, 0x3250, 782 0x262c, 0x4118, 0x053c, 0x1a08, 0x3250,
783 0x272c, 0x411c, 0x0540, 0x1b08, 0x3350, 783 0x272c, 0x411c, 0x0540, 0x1b08, 0x3350,
784 0x282c, 0x401c, 0x0440, 0x1c08, 0x3450, 784 0x282c, 0x401c, 0x0440, 0x1c08, 0x3450,
785 0x292c, 0x3f1c, 0x0340, 0x1d08, 0x3550, 785 0x292c, 0x3f1c, 0x0340, 0x1d08, 0x3550,
786 0x2930, 0x3e1c, 0x0240, 0x1d0c, 0x3554, 786 0x2930, 0x3e1c, 0x0240, 0x1d0c, 0x3554,
787 0x2830, 0x3d1c, 0x0140, 0x1c0c, 0x3454, 787 0x2830, 0x3d1c, 0x0140, 0x1c0c, 0x3454,
788 0x2730, 0x3c1c, 0x0040, 0x1b0c, 0x3354, 788 0x2730, 0x3c1c, 0x0040, 0x1b0c, 0x3354,
789 0x2630, 0x3c20, 0x0044, 0x1a0c, 0x3254, 789 0x2630, 0x3c20, 0x0044, 0x1a0c, 0x3254,
790 0x2530, 0x3d20, 0x0144, 0x190c, 0x3154, 790 0x2530, 0x3d20, 0x0144, 0x190c, 0x3154,
791 0x2430, 0x3e20, 0x0244, 0x180c, 0x3054, 791 0x2430, 0x3e20, 0x0244, 0x180c, 0x3054,
792 0x2434, 0x3f20, 0x0344, 0x1810, 0x3058, 792 0x2434, 0x3f20, 0x0344, 0x1810, 0x3058,
793 0x2534, 0x4020, 0x0444, 0x1910, 0x3258, 793 0x2534, 0x4020, 0x0444, 0x1910, 0x3258,
794 0x2634, 0x4120, 0x0544, 0x1a10, 0x3458, 794 0x2634, 0x4120, 0x0544, 0x1a10, 0x3458,
795 0x2a24, 0x4510, 0x0934, 0x1e00, 0x3648, 795 0x2a24, 0x4510, 0x0934, 0x1e00, 0x3648,
796 0x2b24, 0x4610, 0x0a34, 0x1f00, 0x3748, 796 0x2b24, 0x4610, 0x0a34, 0x1f00, 0x3748,
797 0x2c24, 0x4710, 0x0b34, 0x2000, 0x3848, 797 0x2c24, 0x4710, 0x0b34, 0x2000, 0x3848,
798 0x2d24, 0x4714, 0x0b38, 0x2100, 0x3948, 798 0x2d24, 0x4714, 0x0b38, 0x2100, 0x3948,
799 0x2e24, 0x4614, 0x0a38, 0x2200, 0x3a48, 799 0x2e24, 0x4614, 0x0a38, 0x2200, 0x3a48,
800 0x2f24, 0x4514, 0x0938, 0x2300, 0x3b48, 800 0x2f24, 0x4514, 0x0938, 0x2300, 0x3b48,
801 0x2f28, 0x4414, 0x0838, 0x2304, 0x3b4c, 801 0x2f28, 0x4414, 0x0838, 0x2304, 0x3b4c,
802 0x2e28, 0x4314, 0x0738, 0x2204, 0x3a4c, 802 0x2e28, 0x4314, 0x0738, 0x2204, 0x3a4c,
803 0x2d28, 0x4214, 0x0638, 0x2104, 0x394c, 803 0x2d28, 0x4214, 0x0638, 0x2104, 0x394c,
804 0x2c28, 0x4218, 0x063c, 0x2004, 0x384c, 804 0x2c28, 0x4218, 0x063c, 0x2004, 0x384c,
805 0x2b28, 0x4318, 0x073c, 0x1f04, 0x374c, 805 0x2b28, 0x4318, 0x073c, 0x1f04, 0x374c,
806 0x2a28, 0x4418, 0x083c, 0x1e04, 0x364c, 806 0x2a28, 0x4418, 0x083c, 0x1e04, 0x364c,
807 0x2a2c, 0x4518, 0x093c, 0x1e08, 0x3650, 807 0x2a2c, 0x4518, 0x093c, 0x1e08, 0x3650,
808 0x2b2c, 0x4618, 0x0a3c, 0x1f08, 0x3750, 808 0x2b2c, 0x4618, 0x0a3c, 0x1f08, 0x3750,
809 0x2c2c, 0x4718, 0x0b3c, 0x2008, 0x3850, 809 0x2c2c, 0x4718, 0x0b3c, 0x2008, 0x3850,
810 0x2d2c, 0x471c, 0x0b40, 0x2108, 0x3950, 810 0x2d2c, 0x471c, 0x0b40, 0x2108, 0x3950,
811 0x2e2c, 0x461c, 0x0a40, 0x2208, 0x3a50, 811 0x2e2c, 0x461c, 0x0a40, 0x2208, 0x3a50,
812 0x2f2c, 0x451c, 0x0940, 0x2308, 0x3b50, 812 0x2f2c, 0x451c, 0x0940, 0x2308, 0x3b50,
813 0x2f30, 0x441c, 0x0840, 0x230c, 0x3b54, 813 0x2f30, 0x441c, 0x0840, 0x230c, 0x3b54,
814 0x2e30, 0x431c, 0x0740, 0x220c, 0x3a54, 814 0x2e30, 0x431c, 0x0740, 0x220c, 0x3a54,
815 0x2d30, 0x421c, 0x0640, 0x210c, 0x3954, 815 0x2d30, 0x421c, 0x0640, 0x210c, 0x3954,
816 0x2c30, 0x4220, 0x0644, 0x200c, 0x3854, 816 0x2c30, 0x4220, 0x0644, 0x200c, 0x3854,
817 0x2b30, 0x4320, 0x0744, 0x1f0c, 0x3754, 817 0x2b30, 0x4320, 0x0744, 0x1f0c, 0x3754,
818 0x2a30, 0x4420, 0x0844, 0x1e0c, 0x3654, 818 0x2a30, 0x4420, 0x0844, 0x1e0c, 0x3654,
819 0x2a34, 0x4520, 0x0944, 0x1e10, 0x3658, 819 0x2a34, 0x4520, 0x0944, 0x1e10, 0x3658,
820 0x2b34, 0x4620, 0x0a44, 0x1f10, 0x3858, 820 0x2b34, 0x4620, 0x0a44, 0x1f10, 0x3858,
821 0x2c34, 0x4720, 0x0b44, 0x2010, 0x3a58, 821 0x2c34, 0x4720, 0x0b44, 0x2010, 0x3a58,
822 0x3024, 0x0310, 0x0f34, 0x2400, 0x3c48, 822 0x3024, 0x0310, 0x0f34, 0x2400, 0x3c48,
823 0x3124, 0x0410, 0x1034, 0x2500, 0x3d48, 823 0x3124, 0x0410, 0x1034, 0x2500, 0x3d48,
824 0x3224, 0x0510, 0x1134, 0x2600, 0x3e48, 824 0x3224, 0x0510, 0x1134, 0x2600, 0x3e48,
825 0x3324, 0x0514, 0x1138, 0x2700, 0x3f48, 825 0x3324, 0x0514, 0x1138, 0x2700, 0x3f48,
826 0x3424, 0x0414, 0x1038, 0x2800, 0x4048, 826 0x3424, 0x0414, 0x1038, 0x2800, 0x4048,
827 0x3524, 0x0314, 0x0f38, 0x2900, 0x4148, 827 0x3524, 0x0314, 0x0f38, 0x2900, 0x4148,
828 0x3528, 0x0214, 0x0e38, 0x2904, 0x414c, 828 0x3528, 0x0214, 0x0e38, 0x2904, 0x414c,
829 0x3428, 0x0114, 0x0d38, 0x2804, 0x404c, 829 0x3428, 0x0114, 0x0d38, 0x2804, 0x404c,
830 0x3328, 0x0014, 0x0c38, 0x2704, 0x3f4c, 830 0x3328, 0x0014, 0x0c38, 0x2704, 0x3f4c,
831 0x3228, 0x0018, 0x0c3c, 0x2604, 0x3e4c, 831 0x3228, 0x0018, 0x0c3c, 0x2604, 0x3e4c,
832 0x3128, 0x0118, 0x0d3c, 0x2504, 0x3d4c, 832 0x3128, 0x0118, 0x0d3c, 0x2504, 0x3d4c,
833 0x3028, 0x0218, 0x0e3c, 0x2404, 0x3c4c, 833 0x3028, 0x0218, 0x0e3c, 0x2404, 0x3c4c,
834 0x302c, 0x0318, 0x0f3c, 0x2408, 0x3c50, 834 0x302c, 0x0318, 0x0f3c, 0x2408, 0x3c50,
835 0x312c, 0x0418, 0x103c, 0x2508, 0x3d50, 835 0x312c, 0x0418, 0x103c, 0x2508, 0x3d50,
836 0x322c, 0x0518, 0x113c, 0x2608, 0x3e50, 836 0x322c, 0x0518, 0x113c, 0x2608, 0x3e50,
837 0x332c, 0x051c, 0x1140, 0x2708, 0x3f50, 837 0x332c, 0x051c, 0x1140, 0x2708, 0x3f50,
838 0x342c, 0x041c, 0x1040, 0x2808, 0x4050, 838 0x342c, 0x041c, 0x1040, 0x2808, 0x4050,
839 0x352c, 0x031c, 0x0f40, 0x2908, 0x4150, 839 0x352c, 0x031c, 0x0f40, 0x2908, 0x4150,
840 0x3530, 0x021c, 0x0e40, 0x290c, 0x4154, 840 0x3530, 0x021c, 0x0e40, 0x290c, 0x4154,
841 0x3430, 0x011c, 0x0d40, 0x280c, 0x4054, 841 0x3430, 0x011c, 0x0d40, 0x280c, 0x4054,
842 0x3330, 0x001c, 0x0c40, 0x270c, 0x3f54, 842 0x3330, 0x001c, 0x0c40, 0x270c, 0x3f54,
843 0x3230, 0x0020, 0x0c44, 0x260c, 0x3e54, 843 0x3230, 0x0020, 0x0c44, 0x260c, 0x3e54,
844 0x3130, 0x0120, 0x0d44, 0x250c, 0x3d54, 844 0x3130, 0x0120, 0x0d44, 0x250c, 0x3d54,
845 0x3030, 0x0220, 0x0e44, 0x240c, 0x3c54, 845 0x3030, 0x0220, 0x0e44, 0x240c, 0x3c54,
846 0x3034, 0x0320, 0x0f44, 0x2410, 0x3c58, 846 0x3034, 0x0320, 0x0f44, 0x2410, 0x3c58,
847 0x3134, 0x0420, 0x1044, 0x2510, 0x3e58, 847 0x3134, 0x0420, 0x1044, 0x2510, 0x3e58,
848 0x3234, 0x0520, 0x1144, 0x2610, 0x4058, 848 0x3234, 0x0520, 0x1144, 0x2610, 0x4058,
849 0x3624, 0x0910, 0x1534, 0x2a00, 0x4248, 849 0x3624, 0x0910, 0x1534, 0x2a00, 0x4248,
850 0x3724, 0x0a10, 0x1634, 0x2b00, 0x4348, 850 0x3724, 0x0a10, 0x1634, 0x2b00, 0x4348,
851 0x3824, 0x0b10, 0x1734, 0x2c00, 0x4448, 851 0x3824, 0x0b10, 0x1734, 0x2c00, 0x4448,
852 0x3924, 0x0b14, 0x1738, 0x2d00, 0x4548, 852 0x3924, 0x0b14, 0x1738, 0x2d00, 0x4548,
853 0x3a24, 0x0a14, 0x1638, 0x2e00, 0x4648, 853 0x3a24, 0x0a14, 0x1638, 0x2e00, 0x4648,
854 0x3b24, 0x0914, 0x1538, 0x2f00, 0x4748, 854 0x3b24, 0x0914, 0x1538, 0x2f00, 0x4748,
855 0x3b28, 0x0814, 0x1438, 0x2f04, 0x474c, 855 0x3b28, 0x0814, 0x1438, 0x2f04, 0x474c,
856 0x3a28, 0x0714, 0x1338, 0x2e04, 0x464c, 856 0x3a28, 0x0714, 0x1338, 0x2e04, 0x464c,
857 0x3928, 0x0614, 0x1238, 0x2d04, 0x454c, 857 0x3928, 0x0614, 0x1238, 0x2d04, 0x454c,
858 0x3828, 0x0618, 0x123c, 0x2c04, 0x444c, 858 0x3828, 0x0618, 0x123c, 0x2c04, 0x444c,
859 0x3728, 0x0718, 0x133c, 0x2b04, 0x434c, 859 0x3728, 0x0718, 0x133c, 0x2b04, 0x434c,
860 0x3628, 0x0818, 0x143c, 0x2a04, 0x424c, 860 0x3628, 0x0818, 0x143c, 0x2a04, 0x424c,
861 0x362c, 0x0918, 0x153c, 0x2a08, 0x4250, 861 0x362c, 0x0918, 0x153c, 0x2a08, 0x4250,
862 0x372c, 0x0a18, 0x163c, 0x2b08, 0x4350, 862 0x372c, 0x0a18, 0x163c, 0x2b08, 0x4350,
863 0x382c, 0x0b18, 0x173c, 0x2c08, 0x4450, 863 0x382c, 0x0b18, 0x173c, 0x2c08, 0x4450,
864 0x392c, 0x0b1c, 0x1740, 0x2d08, 0x4550, 864 0x392c, 0x0b1c, 0x1740, 0x2d08, 0x4550,
865 0x3a2c, 0x0a1c, 0x1640, 0x2e08, 0x4650, 865 0x3a2c, 0x0a1c, 0x1640, 0x2e08, 0x4650,
866 0x3b2c, 0x091c, 0x1540, 0x2f08, 0x4750, 866 0x3b2c, 0x091c, 0x1540, 0x2f08, 0x4750,
867 0x3b30, 0x081c, 0x1440, 0x2f0c, 0x4754, 867 0x3b30, 0x081c, 0x1440, 0x2f0c, 0x4754,
868 0x3a30, 0x071c, 0x1340, 0x2e0c, 0x4654, 868 0x3a30, 0x071c, 0x1340, 0x2e0c, 0x4654,
869 0x3930, 0x061c, 0x1240, 0x2d0c, 0x4554, 869 0x3930, 0x061c, 0x1240, 0x2d0c, 0x4554,
870 0x3830, 0x0620, 0x1244, 0x2c0c, 0x4454, 870 0x3830, 0x0620, 0x1244, 0x2c0c, 0x4454,
871 0x3730, 0x0720, 0x1344, 0x2b0c, 0x4354, 871 0x3730, 0x0720, 0x1344, 0x2b0c, 0x4354,
872 0x3630, 0x0820, 0x1444, 0x2a0c, 0x4254, 872 0x3630, 0x0820, 0x1444, 0x2a0c, 0x4254,
873 0x3634, 0x0920, 0x1544, 0x2a10, 0x4258, 873 0x3634, 0x0920, 0x1544, 0x2a10, 0x4258,
874 0x3734, 0x0a20, 0x1644, 0x2b10, 0x4458, 874 0x3734, 0x0a20, 0x1644, 0x2b10, 0x4458,
875 0x3834, 0x0b20, 0x1744, 0x2c10, 0x4658, 875 0x3834, 0x0b20, 0x1744, 0x2c10, 0x4658,
876 0x3c24, 0x0f10, 0x1b34, 0x3000, 0x0048, 876 0x3c24, 0x0f10, 0x1b34, 0x3000, 0x0048,
877 0x3d24, 0x1010, 0x1c34, 0x3100, 0x0148, 877 0x3d24, 0x1010, 0x1c34, 0x3100, 0x0148,
878 0x3e24, 0x1110, 0x1d34, 0x3200, 0x0248, 878 0x3e24, 0x1110, 0x1d34, 0x3200, 0x0248,
879 0x3f24, 0x1114, 0x1d38, 0x3300, 0x0348, 879 0x3f24, 0x1114, 0x1d38, 0x3300, 0x0348,
880 0x4024, 0x1014, 0x1c38, 0x3400, 0x0448, 880 0x4024, 0x1014, 0x1c38, 0x3400, 0x0448,
881 0x4124, 0x0f14, 0x1b38, 0x3500, 0x0548, 881 0x4124, 0x0f14, 0x1b38, 0x3500, 0x0548,
882 0x4128, 0x0e14, 0x1a38, 0x3504, 0x054c, 882 0x4128, 0x0e14, 0x1a38, 0x3504, 0x054c,
883 0x4028, 0x0d14, 0x1938, 0x3404, 0x044c, 883 0x4028, 0x0d14, 0x1938, 0x3404, 0x044c,
884 0x3f28, 0x0c14, 0x1838, 0x3304, 0x034c, 884 0x3f28, 0x0c14, 0x1838, 0x3304, 0x034c,
885 0x3e28, 0x0c18, 0x183c, 0x3204, 0x024c, 885 0x3e28, 0x0c18, 0x183c, 0x3204, 0x024c,
886 0x3d28, 0x0d18, 0x193c, 0x3104, 0x014c, 886 0x3d28, 0x0d18, 0x193c, 0x3104, 0x014c,
887 0x3c28, 0x0e18, 0x1a3c, 0x3004, 0x004c, 887 0x3c28, 0x0e18, 0x1a3c, 0x3004, 0x004c,
888 0x3c2c, 0x0f18, 0x1b3c, 0x3008, 0x0050, 888 0x3c2c, 0x0f18, 0x1b3c, 0x3008, 0x0050,
889 0x3d2c, 0x1018, 0x1c3c, 0x3108, 0x0150, 889 0x3d2c, 0x1018, 0x1c3c, 0x3108, 0x0150,
890 0x3e2c, 0x1118, 0x1d3c, 0x3208, 0x0250, 890 0x3e2c, 0x1118, 0x1d3c, 0x3208, 0x0250,
891 0x3f2c, 0x111c, 0x1d40, 0x3308, 0x0350, 891 0x3f2c, 0x111c, 0x1d40, 0x3308, 0x0350,
892 0x402c, 0x101c, 0x1c40, 0x3408, 0x0450, 892 0x402c, 0x101c, 0x1c40, 0x3408, 0x0450,
893 0x412c, 0x0f1c, 0x1b40, 0x3508, 0x0550, 893 0x412c, 0x0f1c, 0x1b40, 0x3508, 0x0550,
894 0x4130, 0x0e1c, 0x1a40, 0x350c, 0x0554, 894 0x4130, 0x0e1c, 0x1a40, 0x350c, 0x0554,
895 0x4030, 0x0d1c, 0x1940, 0x340c, 0x0454, 895 0x4030, 0x0d1c, 0x1940, 0x340c, 0x0454,
896 0x3f30, 0x0c1c, 0x1840, 0x330c, 0x0354, 896 0x3f30, 0x0c1c, 0x1840, 0x330c, 0x0354,
897 0x3e30, 0x0c20, 0x1844, 0x320c, 0x0254, 897 0x3e30, 0x0c20, 0x1844, 0x320c, 0x0254,
898 0x3d30, 0x0d20, 0x1944, 0x310c, 0x0154, 898 0x3d30, 0x0d20, 0x1944, 0x310c, 0x0154,
899 0x3c30, 0x0e20, 0x1a44, 0x300c, 0x0054, 899 0x3c30, 0x0e20, 0x1a44, 0x300c, 0x0054,
900 0x3c34, 0x0f20, 0x1b44, 0x3010, 0x0058, 900 0x3c34, 0x0f20, 0x1b44, 0x3010, 0x0058,
901 0x3d34, 0x1020, 0x1c44, 0x3110, 0x0258, 901 0x3d34, 0x1020, 0x1c44, 0x3110, 0x0258,
902 0x3e34, 0x1120, 0x1d44, 0x3210, 0x0458, 902 0x3e34, 0x1120, 0x1d44, 0x3210, 0x0458,
903 0x4224, 0x1510, 0x2134, 0x3600, 0x0648, 903 0x4224, 0x1510, 0x2134, 0x3600, 0x0648,
904 0x4324, 0x1610, 0x2234, 0x3700, 0x0748, 904 0x4324, 0x1610, 0x2234, 0x3700, 0x0748,
905 0x4424, 0x1710, 0x2334, 0x3800, 0x0848, 905 0x4424, 0x1710, 0x2334, 0x3800, 0x0848,
906 0x4524, 0x1714, 0x2338, 0x3900, 0x0948, 906 0x4524, 0x1714, 0x2338, 0x3900, 0x0948,
907 0x4624, 0x1614, 0x2238, 0x3a00, 0x0a48, 907 0x4624, 0x1614, 0x2238, 0x3a00, 0x0a48,
908 0x4724, 0x1514, 0x2138, 0x3b00, 0x0b48, 908 0x4724, 0x1514, 0x2138, 0x3b00, 0x0b48,
909 0x4728, 0x1414, 0x2038, 0x3b04, 0x0b4c, 909 0x4728, 0x1414, 0x2038, 0x3b04, 0x0b4c,
910 0x4628, 0x1314, 0x1f38, 0x3a04, 0x0a4c, 910 0x4628, 0x1314, 0x1f38, 0x3a04, 0x0a4c,
911 0x4528, 0x1214, 0x1e38, 0x3904, 0x094c, 911 0x4528, 0x1214, 0x1e38, 0x3904, 0x094c,
912 0x4428, 0x1218, 0x1e3c, 0x3804, 0x084c, 912 0x4428, 0x1218, 0x1e3c, 0x3804, 0x084c,
913 0x4328, 0x1318, 0x1f3c, 0x3704, 0x074c, 913 0x4328, 0x1318, 0x1f3c, 0x3704, 0x074c,
914 0x4228, 0x1418, 0x203c, 0x3604, 0x064c, 914 0x4228, 0x1418, 0x203c, 0x3604, 0x064c,
915 0x422c, 0x1518, 0x213c, 0x3608, 0x0650, 915 0x422c, 0x1518, 0x213c, 0x3608, 0x0650,
916 0x432c, 0x1618, 0x223c, 0x3708, 0x0750, 916 0x432c, 0x1618, 0x223c, 0x3708, 0x0750,
917 0x442c, 0x1718, 0x233c, 0x3808, 0x0850, 917 0x442c, 0x1718, 0x233c, 0x3808, 0x0850,
918 0x452c, 0x171c, 0x2340, 0x3908, 0x0950, 918 0x452c, 0x171c, 0x2340, 0x3908, 0x0950,
919 0x462c, 0x161c, 0x2240, 0x3a08, 0x0a50, 919 0x462c, 0x161c, 0x2240, 0x3a08, 0x0a50,
920 0x472c, 0x151c, 0x2140, 0x3b08, 0x0b50, 920 0x472c, 0x151c, 0x2140, 0x3b08, 0x0b50,
921 0x4730, 0x141c, 0x2040, 0x3b0c, 0x0b54, 921 0x4730, 0x141c, 0x2040, 0x3b0c, 0x0b54,
922 0x4630, 0x131c, 0x1f40, 0x3a0c, 0x0a54, 922 0x4630, 0x131c, 0x1f40, 0x3a0c, 0x0a54,
923 0x4530, 0x121c, 0x1e40, 0x390c, 0x0954, 923 0x4530, 0x121c, 0x1e40, 0x390c, 0x0954,
924 0x4430, 0x1220, 0x1e44, 0x380c, 0x0854, 924 0x4430, 0x1220, 0x1e44, 0x380c, 0x0854,
925 0x4330, 0x1320, 0x1f44, 0x370c, 0x0754, 925 0x4330, 0x1320, 0x1f44, 0x370c, 0x0754,
926 0x4230, 0x1420, 0x2044, 0x360c, 0x0654, 926 0x4230, 0x1420, 0x2044, 0x360c, 0x0654,
927 0x4234, 0x1520, 0x2144, 0x3610, 0x0658, 927 0x4234, 0x1520, 0x2144, 0x3610, 0x0658,
928 0x4334, 0x1620, 0x2244, 0x3710, 0x0858, 928 0x4334, 0x1620, 0x2244, 0x3710, 0x0858,
929 0x4434, 0x1720, 0x2344, 0x3810, 0x0a58, 929 0x4434, 0x1720, 0x2344, 0x3810, 0x0a58,
930 0x0024, 0x1b10, 0x2734, 0x3c00, 0x0c48, 930 0x0024, 0x1b10, 0x2734, 0x3c00, 0x0c48,
931 0x0124, 0x1c10, 0x2834, 0x3d00, 0x0d48, 931 0x0124, 0x1c10, 0x2834, 0x3d00, 0x0d48,
932 0x0224, 0x1d10, 0x2934, 0x3e00, 0x0e48, 932 0x0224, 0x1d10, 0x2934, 0x3e00, 0x0e48,
933 0x0324, 0x1d14, 0x2938, 0x3f00, 0x0f48, 933 0x0324, 0x1d14, 0x2938, 0x3f00, 0x0f48,
934 0x0424, 0x1c14, 0x2838, 0x4000, 0x1048, 934 0x0424, 0x1c14, 0x2838, 0x4000, 0x1048,
935 0x0524, 0x1b14, 0x2738, 0x4100, 0x1148, 935 0x0524, 0x1b14, 0x2738, 0x4100, 0x1148,
936 0x0528, 0x1a14, 0x2638, 0x4104, 0x114c, 936 0x0528, 0x1a14, 0x2638, 0x4104, 0x114c,
937 0x0428, 0x1914, 0x2538, 0x4004, 0x104c, 937 0x0428, 0x1914, 0x2538, 0x4004, 0x104c,
938 0x0328, 0x1814, 0x2438, 0x3f04, 0x0f4c, 938 0x0328, 0x1814, 0x2438, 0x3f04, 0x0f4c,
939 0x0228, 0x1818, 0x243c, 0x3e04, 0x0e4c, 939 0x0228, 0x1818, 0x243c, 0x3e04, 0x0e4c,
940 0x0128, 0x1918, 0x253c, 0x3d04, 0x0d4c, 940 0x0128, 0x1918, 0x253c, 0x3d04, 0x0d4c,
941 0x0028, 0x1a18, 0x263c, 0x3c04, 0x0c4c, 941 0x0028, 0x1a18, 0x263c, 0x3c04, 0x0c4c,
942 0x002c, 0x1b18, 0x273c, 0x3c08, 0x0c50, 942 0x002c, 0x1b18, 0x273c, 0x3c08, 0x0c50,
943 0x012c, 0x1c18, 0x283c, 0x3d08, 0x0d50, 943 0x012c, 0x1c18, 0x283c, 0x3d08, 0x0d50,
944 0x022c, 0x1d18, 0x293c, 0x3e08, 0x0e50, 944 0x022c, 0x1d18, 0x293c, 0x3e08, 0x0e50,
945 0x032c, 0x1d1c, 0x2940, 0x3f08, 0x0f50, 945 0x032c, 0x1d1c, 0x2940, 0x3f08, 0x0f50,
946 0x042c, 0x1c1c, 0x2840, 0x4008, 0x1050, 946 0x042c, 0x1c1c, 0x2840, 0x4008, 0x1050,
947 0x052c, 0x1b1c, 0x2740, 0x4108, 0x1150, 947 0x052c, 0x1b1c, 0x2740, 0x4108, 0x1150,
948 0x0530, 0x1a1c, 0x2640, 0x410c, 0x1154, 948 0x0530, 0x1a1c, 0x2640, 0x410c, 0x1154,
949 0x0430, 0x191c, 0x2540, 0x400c, 0x1054, 949 0x0430, 0x191c, 0x2540, 0x400c, 0x1054,
950 0x0330, 0x181c, 0x2440, 0x3f0c, 0x0f54, 950 0x0330, 0x181c, 0x2440, 0x3f0c, 0x0f54,
951 0x0230, 0x1820, 0x2444, 0x3e0c, 0x0e54, 951 0x0230, 0x1820, 0x2444, 0x3e0c, 0x0e54,
952 0x0130, 0x1920, 0x2544, 0x3d0c, 0x0d54, 952 0x0130, 0x1920, 0x2544, 0x3d0c, 0x0d54,
953 0x0030, 0x1a20, 0x2644, 0x3c0c, 0x0c54, 953 0x0030, 0x1a20, 0x2644, 0x3c0c, 0x0c54,
954 0x0034, 0x1b20, 0x2744, 0x3c10, 0x0c58, 954 0x0034, 0x1b20, 0x2744, 0x3c10, 0x0c58,
955 0x0134, 0x1c20, 0x2844, 0x3d10, 0x0e58, 955 0x0134, 0x1c20, 0x2844, 0x3d10, 0x0e58,
956 0x0234, 0x1d20, 0x2944, 0x3e10, 0x1058, 956 0x0234, 0x1d20, 0x2944, 0x3e10, 0x1058,
957 0x0624, 0x2110, 0x2d34, 0x4200, 0x1248, 957 0x0624, 0x2110, 0x2d34, 0x4200, 0x1248,
958 0x0724, 0x2210, 0x2e34, 0x4300, 0x1348, 958 0x0724, 0x2210, 0x2e34, 0x4300, 0x1348,
959 0x0824, 0x2310, 0x2f34, 0x4400, 0x1448, 959 0x0824, 0x2310, 0x2f34, 0x4400, 0x1448,
960 0x0924, 0x2314, 0x2f38, 0x4500, 0x1548, 960 0x0924, 0x2314, 0x2f38, 0x4500, 0x1548,
961 0x0a24, 0x2214, 0x2e38, 0x4600, 0x1648, 961 0x0a24, 0x2214, 0x2e38, 0x4600, 0x1648,
962 0x0b24, 0x2114, 0x2d38, 0x4700, 0x1748, 962 0x0b24, 0x2114, 0x2d38, 0x4700, 0x1748,
963 0x0b28, 0x2014, 0x2c38, 0x4704, 0x174c, 963 0x0b28, 0x2014, 0x2c38, 0x4704, 0x174c,
964 0x0a28, 0x1f14, 0x2b38, 0x4604, 0x164c, 964 0x0a28, 0x1f14, 0x2b38, 0x4604, 0x164c,
965 0x0928, 0x1e14, 0x2a38, 0x4504, 0x154c, 965 0x0928, 0x1e14, 0x2a38, 0x4504, 0x154c,
966 0x0828, 0x1e18, 0x2a3c, 0x4404, 0x144c, 966 0x0828, 0x1e18, 0x2a3c, 0x4404, 0x144c,
967 0x0728, 0x1f18, 0x2b3c, 0x4304, 0x134c, 967 0x0728, 0x1f18, 0x2b3c, 0x4304, 0x134c,
968 0x0628, 0x2018, 0x2c3c, 0x4204, 0x124c, 968 0x0628, 0x2018, 0x2c3c, 0x4204, 0x124c,
969 0x062c, 0x2118, 0x2d3c, 0x4208, 0x1250, 969 0x062c, 0x2118, 0x2d3c, 0x4208, 0x1250,
970 0x072c, 0x2218, 0x2e3c, 0x4308, 0x1350, 970 0x072c, 0x2218, 0x2e3c, 0x4308, 0x1350,
971 0x082c, 0x2318, 0x2f3c, 0x4408, 0x1450, 971 0x082c, 0x2318, 0x2f3c, 0x4408, 0x1450,
972 0x092c, 0x231c, 0x2f40, 0x4508, 0x1550, 972 0x092c, 0x231c, 0x2f40, 0x4508, 0x1550,
973 0x0a2c, 0x221c, 0x2e40, 0x4608, 0x1650, 973 0x0a2c, 0x221c, 0x2e40, 0x4608, 0x1650,
974 0x0b2c, 0x211c, 0x2d40, 0x4708, 0x1750, 974 0x0b2c, 0x211c, 0x2d40, 0x4708, 0x1750,
975 0x0b30, 0x201c, 0x2c40, 0x470c, 0x1754, 975 0x0b30, 0x201c, 0x2c40, 0x470c, 0x1754,
976 0x0a30, 0x1f1c, 0x2b40, 0x460c, 0x1654, 976 0x0a30, 0x1f1c, 0x2b40, 0x460c, 0x1654,
977 0x0930, 0x1e1c, 0x2a40, 0x450c, 0x1554, 977 0x0930, 0x1e1c, 0x2a40, 0x450c, 0x1554,
978 0x0830, 0x1e20, 0x2a44, 0x440c, 0x1454, 978 0x0830, 0x1e20, 0x2a44, 0x440c, 0x1454,
979 0x0730, 0x1f20, 0x2b44, 0x430c, 0x1354, 979 0x0730, 0x1f20, 0x2b44, 0x430c, 0x1354,
980 0x0630, 0x2020, 0x2c44, 0x420c, 0x1254, 980 0x0630, 0x2020, 0x2c44, 0x420c, 0x1254,
981 0x0634, 0x2120, 0x2d44, 0x4210, 0x1258, 981 0x0634, 0x2120, 0x2d44, 0x4210, 0x1258,
982 0x0734, 0x2220, 0x2e44, 0x4310, 0x1458, 982 0x0734, 0x2220, 0x2e44, 0x4310, 0x1458,
983 0x0834, 0x2320, 0x2f44, 0x4410, 0x1658, 983 0x0834, 0x2320, 0x2f44, 0x4410, 0x1658,
984 }; 984 };
985 985
986 static const uint16_t dv_place_411[1350] = { 986 static const uint16_t dv_place_411[1350] = {
987 0x0c24, 0x2710, 0x3334, 0x0000, 0x1848, 987 0x0c24, 0x2710, 0x3334, 0x0000, 0x1848,
1260 { 0, 30, 60, 20, 50, 80, 10, 40, 70 }, /* 1st channel */ 1260 { 0, 30, 60, 20, 50, 80, 10, 40, 70 }, /* 1st channel */
1261 { 6, 36, 66, 26, 56, 86, 16, 46, 76 }, 1261 { 6, 36, 66, 26, 56, 86, 16, 46, 76 },
1262 { 12, 42, 72, 2, 32, 62, 22, 52, 82 }, 1262 { 12, 42, 72, 2, 32, 62, 22, 52, 82 },
1263 { 18, 48, 78, 8, 38, 68, 28, 58, 88 }, 1263 { 18, 48, 78, 8, 38, 68, 28, 58, 88 },
1264 { 24, 54, 84, 14, 44, 74, 4, 34, 64 }, 1264 { 24, 54, 84, 14, 44, 74, 4, 34, 64 },
1265 1265
1266 { 1, 31, 61, 21, 51, 81, 11, 41, 71 }, /* 2nd channel */ 1266 { 1, 31, 61, 21, 51, 81, 11, 41, 71 }, /* 2nd channel */
1267 { 7, 37, 67, 27, 57, 87, 17, 47, 77 }, 1267 { 7, 37, 67, 27, 57, 87, 17, 47, 77 },
1268 { 13, 43, 73, 3, 33, 63, 23, 53, 83 }, 1268 { 13, 43, 73, 3, 33, 63, 23, 53, 83 },
1269 { 19, 49, 79, 9, 39, 69, 29, 59, 89 }, 1269 { 19, 49, 79, 9, 39, 69, 29, 59, 89 },
1270 { 25, 55, 85, 15, 45, 75, 5, 35, 65 }, 1270 { 25, 55, 85, 15, 45, 75, 5, 35, 65 },
1273 static const uint16_t dv_audio_shuffle625[12][9] = { 1273 static const uint16_t dv_audio_shuffle625[12][9] = {
1274 { 0, 36, 72, 26, 62, 98, 16, 52, 88}, /* 1st channel */ 1274 { 0, 36, 72, 26, 62, 98, 16, 52, 88}, /* 1st channel */
1275 { 6, 42, 78, 32, 68, 104, 22, 58, 94}, 1275 { 6, 42, 78, 32, 68, 104, 22, 58, 94},
1276 { 12, 48, 84, 2, 38, 74, 28, 64, 100}, 1276 { 12, 48, 84, 2, 38, 74, 28, 64, 100},
1277 { 18, 54, 90, 8, 44, 80, 34, 70, 106}, 1277 { 18, 54, 90, 8, 44, 80, 34, 70, 106},
1278 { 24, 60, 96, 14, 50, 86, 4, 40, 76}, 1278 { 24, 60, 96, 14, 50, 86, 4, 40, 76},
1279 { 30, 66, 102, 20, 56, 92, 10, 46, 82}, 1279 { 30, 66, 102, 20, 56, 92, 10, 46, 82},
1280 1280
1281 { 1, 37, 73, 27, 63, 99, 17, 53, 89}, /* 2nd channel */ 1281 { 1, 37, 73, 27, 63, 99, 17, 53, 89}, /* 2nd channel */
1282 { 7, 43, 79, 33, 69, 105, 23, 59, 95}, 1282 { 7, 43, 79, 33, 69, 105, 23, 59, 95},
1283 { 13, 49, 85, 3, 39, 75, 29, 65, 101}, 1283 { 13, 49, 85, 3, 39, 75, 29, 65, 101},
1284 { 19, 55, 91, 9, 45, 81, 35, 71, 107}, 1284 { 19, 55, 91, 9, 45, 81, 35, 71, 107},
1285 { 25, 61, 97, 15, 51, 87, 5, 41, 77}, 1285 { 25, 61, 97, 15, 51, 87, 5, 41, 77},
1286 { 31, 67, 103, 21, 57, 93, 11, 47, 83}, 1286 { 31, 67, 103, 21, 57, 93, 11, 47, 83},
1287 }; 1287 };
1288 1288
1289 static const __attribute__((unused)) int dv_audio_frequency[3] = { 1289 static const __attribute__((unused)) int dv_audio_frequency[3] = {
1290 48000, 44100, 32000, 1290 48000, 44100, 32000,
1291 }; 1291 };
1292 1292
1293 static const DVprofile dv_profiles[] = { 1293 static const DVprofile dv_profiles[] = {
1294 { .dsf = 0, 1294 { .dsf = 0,
1295 .frame_size = 120000, /* IEC 61834, SMPTE-314M - 525/60 (NTSC) */ 1295 .frame_size = 120000, /* IEC 61834, SMPTE-314M - 525/60 (NTSC) */
1296 .difseg_size = 10, 1296 .difseg_size = 10,
1297 .frame_rate = 30000, 1297 .frame_rate = 30000,
1304 .pix_fmt = PIX_FMT_YUV411P, 1304 .pix_fmt = PIX_FMT_YUV411P,
1305 .audio_stride = 90, 1305 .audio_stride = 90,
1306 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32Khz */ 1306 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32Khz */
1307 .audio_samples_dist = { 1602, 1601, 1602, 1601, 1602 }, 1307 .audio_samples_dist = { 1602, 1601, 1602, 1601, 1602 },
1308 .audio_shuffle = dv_audio_shuffle525, 1308 .audio_shuffle = dv_audio_shuffle525,
1309 }, 1309 },
1310 { .dsf = 1, 1310 { .dsf = 1,
1311 .frame_size = 144000, /* IEC 61834 - 625/50 (PAL) */ 1311 .frame_size = 144000, /* IEC 61834 - 625/50 (PAL) */
1312 .difseg_size = 12, 1312 .difseg_size = 12,
1313 .frame_rate = 25, 1313 .frame_rate = 25,
1314 .frame_rate_base = 1, 1314 .frame_rate_base = 1,
1347 return &dv_profiles[0]; 1347 return &dv_profiles[0];
1348 } 1348 }
1349 else if ((frame[5] & 0x07) == 0) { /* APT flag */ 1349 else if ((frame[5] & 0x07) == 0) { /* APT flag */
1350 return &dv_profiles[1]; 1350 return &dv_profiles[1];
1351 } 1351 }
1352 else 1352 else
1353 return &dv_profiles[2]; 1353 return &dv_profiles[2];
1354 } 1354 }
1355 1355
1356 static inline const DVprofile* dv_codec_profile(AVCodecContext* codec) 1356 static inline const DVprofile* dv_codec_profile(AVCodecContext* codec)
1357 { 1357 {
1358 if (codec->width != 720) { 1358 if (codec->width != 720) {
1359 return NULL; 1359 return NULL;
1360 } 1360 }
1361 else if (codec->height == 480) { 1361 else if (codec->height == 480) {
1362 return &dv_profiles[0]; 1362 return &dv_profiles[0];
1363 } 1363 }
1364 else 1364 else
1365 return &dv_profiles[1]; 1365 return &dv_profiles[1];
1366 } 1366 }