Lines Matching refs:va

134 static int getratecode(const struct vobgroup *va)  in getratecode()  argument
137 if (va->vd.vframerate != 0) in getratecode()
138 return va->vd.vframerate; in getratecode()
139 else if (va->vd.vformat != VF_NONE || default_video_format != VF_NONE) in getratecode()
142 …return (va->vd.vformat != VF_NONE ? va->vd.vformat : default_video_format) == VF_PAL ? VR_PAL : VR… in getratecode()
161 int getratedenom(const struct vobgroup *va) in getratedenom() argument
164 return ratedenom[getratecode(va)]; in getratedenom()
167 pts_t getframepts(const struct vobgroup *va) in getframepts() argument
170 const int rc = getratecode(va); in getframepts()
181 static unsigned int buildtimehelper(const struct vobgroup *va, int64_t num, int64_t denom) in buildtimehelper() argument
218 unsigned int buildtimeeven(const struct vobgroup *va, int64_t num) in buildtimeeven() argument
226 const int rc = getratecode(va); in buildtimeeven()
228 buildtimehelper(va, num, ratedenom[rc]); in buildtimeeven()
231 int getaudch(const struct vobgroup *va, int a) in getaudch() argument
235 if (!va->ad[a].aid) in getaudch()
239 va->ad[a].aid - 1 + (va->ad[a].aformat - 1) * 8; in getaudch()
356 int vobgroup_set_video_framerate(struct vobgroup *va, int rate /* [0 .. 15] */) in vobgroup_set_video_framerate() argument
360 if (!va->vd.vframerate && rate != VR_PAL && rate != VR_NTSC) in vobgroup_set_video_framerate()
365 return warnupdate(&va->vd.vframerate, rate, &va->vdwarn.vframerate, "frame rate", vratedesc); in vobgroup_set_video_framerate()
371 int vobgroup_set_video_attr(struct vobgroup *va,int attr,const char *s) in vobgroup_set_video_attr() argument
379 w=scanandwarnupdate(&va->vd.vmpeg,s,&va->vdwarn.vmpeg,"mpeg format",vmpegdesc); in vobgroup_set_video_attr()
384 w=scanandwarnupdate(&va->vd.vformat,s,&va->vdwarn.vformat,"tv format",vformatdesc); in vobgroup_set_video_attr()
389 w=scanandwarnupdate(&va->vd.vaspect,s,&va->vdwarn.vaspect,"aspect ratio",vaspectdesc); in vobgroup_set_video_attr()
394 …w=scanandwarnupdate(&va->vd.vwidescreen,s,&va->vdwarn.vwidescreen,"widescreen conversion",vwidescr… in vobgroup_set_video_attr()
400 w = va->vd.vcaption; in vobgroup_set_video_attr()
402 va->vd.vcaption |= 1; in vobgroup_set_video_attr()
404 va->vd.vcaption |= 2; in vobgroup_set_video_attr()
436 w = warnupdate(&va->vd.vres, r, &va->vdwarn.vres, "resolution", vresdesc); in vobgroup_set_video_attr()
438 if (va->vd.vformat == VF_NONE) in vobgroup_set_video_attr()
441 va->vd.vformat = VF_NTSC; in vobgroup_set_video_attr()
443 va->vd.vformat = VF_PAL; in vobgroup_set_video_attr()
511 static int vobgroup_set_audio_attr(struct vobgroup *va,int attr,const char *s,int ch) in vobgroup_set_audio_attr() argument
513 if (ch >= va->numaudiotracks) /* assert ch = va->numaudiotracks + 1 */ in vobgroup_set_audio_attr()
514 va->numaudiotracks = ch + 1; /* new audio track */ in vobgroup_set_audio_attr()
516 audiodesc_set_audio_attr(&va->ad[ch], &va->adwarn[ch], attr, s); in vobgroup_set_audio_attr()
519 static int vobgroup_set_subpic_attr(struct vobgroup *va,int attr,const char *s,int ch) in vobgroup_set_subpic_attr() argument
526 if (ch >= va->numsubpicturetracks) /* assert ch = va->numsubpicturetracks + 1 */ in vobgroup_set_subpic_attr()
527 va->numsubpicturetracks = ch + 1; in vobgroup_set_subpic_attr()
530 …w=scanandwarnupdate(&va->sp[ch].slangpresent,s,&va->spwarn[ch].slangpresent,"subpicture language",… in vobgroup_set_subpic_attr()
537 …w=warnupdate(&va->sp[ch].slangpresent,AL_LANG,&va->spwarn[ch].slangpresent,"subpicture language",a… in vobgroup_set_subpic_attr()
539 if(va->sp[ch].lang[0] || va->sp[ch].lang[1]) in vobgroup_set_subpic_attr()
541 va->sp[ch].lang[0]=tolower(s[0]); /* note I don't actually validate the language code */ in vobgroup_set_subpic_attr()
542 va->sp[ch].lang[1]=tolower(s[1]); in vobgroup_set_subpic_attr()
548 …w = scanandwarnupdate(&va->sp[ch].scontent, s, &va->spwarn[ch].scontent, "subpicture content type"… in vobgroup_set_subpic_attr()
556 static int vobgroup_set_subpic_stream(struct vobgroup *va, int ch, const char *m, int id) in vobgroup_set_subpic_stream() argument
561 if (ch >= va->numsubpicturetracks) /* assert ch = va->numsubpicturetracks + 1 */ in vobgroup_set_subpic_stream()
562 va->numsubpicturetracks = ch + 1; in vobgroup_set_subpic_stream()
569 if (va->sp[ch].idmap[mid] && va->sp[ch].idmap[mid] != 128 + id) in vobgroup_set_subpic_stream()
574 va->sp[ch].idmap[mid] = 128 + id; in vobgroup_set_subpic_stream()
619 struct vobgroup * va, in set_video_format_attr() argument
625 inferattr(&va->vd.vformat, default_video_format || VF_NTSC); in set_video_format_attr()
627 inferattr(&va->vd.vformat, default_video_format || VF_PAL); in set_video_format_attr()
630 inferattr(&va->vd.vformat, default_video_format); in set_video_format_attr()
631 if (va->vd.vformat == 0) in set_video_format_attr()
641 struct vobgroup * va, in setattr() argument
650 if (va->vd.vmpeg == VM_NONE) in setattr()
652 if (va->vd.vres == VS_NONE) in setattr()
654 if (va->vd.vformat == VF_NONE) in setattr()
656 if (va->vd.vaspect == VA_NONE) in setattr()
659 inferattr(&va->vd.vmpeg, VM_MPEG2); in setattr()
660 inferattr(&va->vd.vres, VS_720H); in setattr()
661 set_video_format_attr(va, pstype); in setattr()
662 inferattr(&va->vd.vaspect, VA_4x3); in setattr()
664 if (va->vd.vaspect == VA_4x3) in setattr()
666 if (va->vd.vwidescreen == VW_NOLETTERBOX || va->vd.vwidescreen == VW_NOPANSCAN) in setattr()
679 if (va->vd.vwidescreen == VW_CROP) in setattr()
704 for (j = 0; j < va->numvobs; j++) in setattr()
706 fad = &va->vobs[j]->audch[id - 1 + (afmt - 1) * 8]; in setattr()
718 for (j = 0; j < va->numaudiotracks; j++) in setattr()
719 if (va->ad[j].aformat == afmt && va->ad[j].aid == id) in setattr()
730 for (j = 0; j < va->numaudiotracks; j++) in setattr()
731 if (va->ad[j].aid == 0) in setattr()
736 if (va->ad[j].setting != 0 && val != 0 && va->ad[j].setting != val) \ in setattr()
738 if (va->ad[j].setting == val) \ in setattr()
758 j = va->numaudiotracks++; /* new entry */ in setattr()
762 va->ad[j].aformat = afmt; in setattr()
763 va->ad[j].aid = id; in setattr()
764 (void)warnupdate(&va->ad[j].aquant, in setattr()
766 &va->adwarn[j].aquant, in setattr()
769 (void)warnupdate(&va->ad[j].adolby, in setattr()
771 &va->adwarn[j].adolby, in setattr()
774 (void)warnupdate(&va->ad[j].achannels, in setattr()
776 &va->adwarn[j].achannels, in setattr()
779 (void)warnupdate(&va->ad[j].asample, in setattr()
781 &va->adwarn[j].asample, in setattr()
785 for (i = 0; i < va->numaudiotracks; i++) in setattr()
788 if (va->ad[i].aformat == AF_NONE) in setattr()
792 inferattr(&va->ad[i].aformat, AF_MP2); in setattr()
793 switch(va->ad[i].aformat) in setattr()
797 inferattr(&va->ad[i].aquant, AQ_DRC); in setattr()
798 inferattr(&va->ad[i].achannels, 6); in setattr()
801 inferattr(&va->ad[i].aquant, AQ_20); in setattr()
802 inferattr(&va->ad[i].achannels, 2); in setattr()
805 inferattr(&va->ad[i].achannels, 2); in setattr()
806 inferattr(&va->ad[i].aquant, AQ_16); in setattr()
809 inferattr(&va->ad[i].asample, AS_48KHZ); in setattr()
812 for (i = 0; i < va->numallpgcs; i++) in setattr()
816 struct pgc * const pgc = va->allpgcs[i]; in setattr()
818 mask = getsubpmask(&va->vd); in setattr()
844 for (l = 0; l < va->numsubpicturetracks; l++) in setattr()
846 if (va->sp[l].idmap[m] == 128 + k && pgc->subpmap[l][m] == 0) in setattr()
857 if (l < va->numsubpicturetracks) in setattr()
860 if (va->sp[l].idmap[m]) in setattr()
942 for (j = 0; j < va->numallpgcs; j++) in setattr()
944 if (va->allpgcs[j]->subpmap[i][k]) in setattr()
949 if (i >= va->numsubpicturetracks) in setattr()
950 va->numsubpicturetracks = i + 1; in setattr()
953 if (va->numsubpicturetracks > 1 && pstype != VTYPE_VTS) in setattr()
961 va->numsubpicturetracks in setattr()
966 fprintf(stderr, "INFO: MPEG version: %s\n", vmpegdesc[va->vd.vmpeg]); in setattr()
967 fprintf(stderr, "INFO: TV standard: %s\n", vformatdesc[va->vd.vformat]); in setattr()
968 fprintf(stderr, "INFO: Aspect ratio: %s\n", vaspectdesc[va->vd.vaspect]); in setattr()
970 va->vd.vres != VS_720H ? (va->vd.vres == VS_704H ? 704 : 352) : 720, in setattr()
971 (va->vd.vres == VS_352L ? 240 : 480) * (va->vd.vformat == VF_PAL ? 6 : 5) / 5); in setattr()
972 for (i = 0; i < va->numaudiotracks; i++) in setattr()
979 aformatdesc[va->ad[i].aformat], in setattr()
980 achanneldesc[va->ad[i].achannels], in setattr()
981 asampledesc[va->ad[i].asample], in setattr()
982 aquantdesc[va->ad[i].aquant] in setattr()
984 if (va->ad[i].adolby == AD_SURROUND) in setattr()
986 if (va->ad[i].alangpresent == AL_LANG) in setattr()
987 fprintf(stderr, ", '%c%c'", va->ad[i].lang[0], va->ad[i].lang[1]); in setattr()
989 if (!va->ad[i].aid) in setattr()
994 int findcellvobu(const struct vob *va,int cellid) in findcellvobu() argument
997 int l=0,h=va->numvobus-1; in findcellvobu()
1000 cellid=(cellid&255)|(va->vobid*256); in findcellvobu()
1001 if( cellid<va->vobu[0].vobcellid ) in findcellvobu()
1003 if( cellid>va->vobu[h].vobcellid ) in findcellvobu()
1007 if( cellid<=va->vobu[m].vobcellid ) in findcellvobu()
1015 pts_t getcellpts(const struct vob *va,int cellid) in getcellpts() argument
1018 int s=findcellvobu(va,cellid),e=findcellvobu(va,cellid+1); in getcellpts()
1020 return va->vobu[e-1].sectpts[1]-va->vobu[s].sectpts[0]; in getcellpts()
1023 int findvobu(const struct vob *va,pts_t pts,int l,int h) in findvobu() argument
1030 if( pts<va->vobu[l].sectpts[0] ) in findvobu()
1032 if( pts>=va->vobu[h].sectpts[1] ) in findvobu()
1036 if( pts < va->vobu[m].sectpts[0] ) in findvobu()
1142 static void forceaddentry(struct pgcgroup *va, int entry) in forceaddentry() argument
1145 if (!va->numpgcs && !jumppad) in forceaddentry()
1147 if (!(va->allentries & entry)) /* entry not already present */ in forceaddentry()
1149 if (va->numpgcs) in forceaddentry()
1150 va->pgcs[0]->entries |= entry; in forceaddentry()
1151 va->allentries |= entry; in forceaddentry()
1152 va->numentries++; in forceaddentry()
1156 static void checkaddentry(struct pgcgroup *va, int entry) in checkaddentry() argument
1160 if (va->numpgcs) in checkaddentry()
1161 forceaddentry(va, entry); in checkaddentry()
1422 static void validatesummary(struct pgcgroup *va) in validatesummary() argument
1428 switch (va->pstype) in validatesummary()
1442 for( i=0; i<va->numpgcs; i++ ) { in validatesummary()
1443 struct pgc *p=va->pgcs[i]; in validatesummary()
1449 if( va->allentries & p->entries ) { in validatesummary()
1454 if( va->allentries & p->entries & (1<<j) ) in validatesummary()
1458 if (va->pstype != VTYPE_VTS && (p->entries & ~allowedentries) != 0) in validatesummary()
1469 pstypes[va->pstype] in validatesummary()
1473 va->allentries|=p->entries; in validatesummary()
1492 if( va->allentries&i ) in validatesummary()
1493 va->numentries++; in validatesummary()
1759 int pgcgroup_set_video_attr(struct pgcgroup *va,int attr,const char *s) in pgcgroup_set_video_attr() argument
1761 return vobgroup_set_video_attr(va->pg_vg,attr,s); in pgcgroup_set_video_attr()
1764 int pgcgroup_set_audio_attr(struct pgcgroup *va,int attr,const char *s,int ch) in pgcgroup_set_audio_attr() argument
1766 return vobgroup_set_audio_attr(va->pg_vg,attr,s,ch); in pgcgroup_set_audio_attr()
1769 int pgcgroup_set_subpic_attr(struct pgcgroup *va,int attr,const char *s,int ch) in pgcgroup_set_subpic_attr() argument
1771 return vobgroup_set_subpic_attr(va->pg_vg,attr,s,ch); in pgcgroup_set_subpic_attr()
1774 int pgcgroup_set_subpic_stream(struct pgcgroup *va,int ch,const char *m,int id) in pgcgroup_set_subpic_stream() argument
1776 return vobgroup_set_subpic_stream(va->pg_vg,ch,m,id); in pgcgroup_set_subpic_stream()
1819 int menugroup_set_video_attr(struct menugroup *va,int attr,const char *s) in menugroup_set_video_attr() argument
1821 return vobgroup_set_video_attr(va->mg_vg,attr,s); in menugroup_set_video_attr()
1824 int menugroup_set_audio_attr(struct menugroup *va,int attr,const char *s,int ch) in menugroup_set_audio_attr() argument
1826 return vobgroup_set_audio_attr(va->mg_vg,attr,s,ch); in menugroup_set_audio_attr()
1829 int menugroup_set_subpic_attr(struct menugroup *va,int attr,const char *s,int ch) in menugroup_set_subpic_attr() argument
1831 return vobgroup_set_subpic_attr(va->mg_vg,attr,s,ch); in menugroup_set_subpic_attr()
1834 int menugroup_set_subpic_stream(struct menugroup *va,int ch,const char *m,int id) in menugroup_set_subpic_stream() argument
1836 return vobgroup_set_subpic_stream(va->mg_vg,ch,m,id); in menugroup_set_subpic_stream()