431 static const struct {
464 return bitmap < 0x40000 ? bitmap : 0;
467 channels = tag & 0xFFFF;
470 layout_map = mov_ch_layout_map[channels];
473 for (i = 0; layout_map[i].
tag != 0; i++) {
474 if (layout_map[i].tag == tag)
477 return layout_map[i].
layout;
485 return 1
U << (label - 1);
494 uint64_t channel_layout,
517 layout_map = mov_ch_layout_map[channels];
520 for (i = 0; layouts[i] != 0; i++) {
521 if ((layouts[i] & 0xFFFF) != channels)
523 for (j = 0; layout_map[j].
tag != 0; j++) {
524 if (layout_map[j].tag == layouts[i] &&
525 layout_map[j].
layout == channel_layout)
528 if (layout_map[j].tag)
535 if (tag == 0 && channel_layout > 0 && channel_layout < 0x40000) {
537 *bitmap = (uint32_t)channel_layout;
549 uint32_t layout_tag, bitmap, num_descr, label_mask;
559 av_dlog(s,
"chan: layout=%u bitmap=%u num_descr=%u\n",
560 layout_tag, bitmap, num_descr);
562 if (size < 12ULL + num_descr * 20ULL)
566 for (i = 0; i < num_descr; i++) {
574 if (layout_tag == 0) {
576 if (mask_incr == 0) {
580 label_mask |= mask_incr;
583 if (layout_tag == 0) {