• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/minidlna/ffmpeg-0.5.1/libavformat/

Lines Matching defs:syntax

702                            EbmlSyntax *syntax, void *data);
704 static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
708 for (i=0; syntax[i].id; i++)
709 if (id == syntax[i].id)
711 if (!syntax[i].id && id != EBML_ID_VOID && id != EBML_ID_CRC32)
713 return ebml_parse_elem(matroska, &syntax[i], data);
716 static int ebml_parse(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
722 return res < 0 ? res : ebml_parse_id(matroska, syntax, id, data);
725 static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
730 for (i=0; syntax[i].id; i++)
731 switch (syntax[i].type) {
733 *(uint64_t *)((char *)data+syntax[i].data_offset) = syntax[i].def.u;
736 *(double *)((char *)data+syntax[i].data_offset) = syntax[i].def.f;
740 *(char **)((char *)data+syntax[i].data_offset) = av_strdup(syntax[i].def.s);
745 res = ebml_parse(matroska, syntax, data);
751 EbmlSyntax *syntax, void *data)
754 uint32_t id = syntax->id;
758 data = (char *)data + syntax->data_offset;
759 if (syntax->list_elem_size) {
761 list->elem = av_realloc(list->elem, (list->nb_elem+1)*syntax->list_elem_size);
762 data = (char*)list->elem + list->nb_elem*syntax->list_elem_size;
763 memset(data, 0, syntax->list_elem_size);
767 if (syntax->type != EBML_PASS && syntax->type != EBML_STOP)
771 switch (syntax->type) {
781 return ebml_parse_nest(matroska, syntax->def.n, data);
782 case EBML_PASS: return ebml_parse_id(matroska, syntax->def.n, id, data);
793 static void ebml_free(EbmlSyntax *syntax, void *data)
796 for (i=0; syntax[i].id; i++) {
797 void *data_off = (char *)data + syntax[i].data_offset;
798 switch (syntax[i].type) {
803 if (syntax[i].list_elem_size) {
806 for (j=0; j<list->nb_elem; j++, ptr+=syntax[i].list_elem_size)
807 ebml_free(syntax[i].def.n, ptr);
810 ebml_free(syntax[i].def.n, data_off);