mirror of https://gerrit.osmocom.org/asn1c
MHEG5
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@868 59561ff5-6e30-0410-9f3c-9617f08c8826
This commit is contained in:
parent
318bc270be
commit
df9d0beda3
|
@ -12,3 +12,6 @@ To compile the files using asn1c, try
|
|||
1. The ./sample.source.PKIX1 directory contains the X.509 Certificate decoder.
|
||||
2. The ./sample.source.TAP3 directory contains the GSM TAP3 decoder. Please
|
||||
read the README file in that directory first.
|
||||
3. The ./sample.source.MHEG5 directory contains the decoder for
|
||||
ISO 13522 MHEG-5/ITU-T T.172 (Multimedia Hypermedia Experts Group,
|
||||
Multimedia Presentations).
|
||||
|
|
|
@ -0,0 +1,479 @@
|
|||
ASN_MODULE_SOURCES= \
|
||||
InterchangedObject.c \
|
||||
RootClass.c \
|
||||
GroupClass.c \
|
||||
StandardIdentifier.c \
|
||||
GroupItem.c \
|
||||
ApplicationClass.c \
|
||||
DefaultAttribute.c \
|
||||
FontBody.c \
|
||||
SceneClass.c \
|
||||
SceneCoordinateSystem.c \
|
||||
AspectRatio.c \
|
||||
NextScene.c \
|
||||
IngredientClass.c \
|
||||
ContentBody.c \
|
||||
ReferencedContent.c \
|
||||
LinkClass.c \
|
||||
LinkCondition.c \
|
||||
EventType.c \
|
||||
EventData.c \
|
||||
ProgramClass.c \
|
||||
ResidentProgramClass.c \
|
||||
RemoteProgramClass.c \
|
||||
InterchangedProgramClass.c \
|
||||
PaletteClass.c \
|
||||
FontClass.c \
|
||||
CursorShapeClass.c \
|
||||
VariableClass.c \
|
||||
OriginalValue.c \
|
||||
BooleanVariableClass.c \
|
||||
IntegerVariableClass.c \
|
||||
OctetStringVariableClass.c \
|
||||
ObjectRefVariableClass.c \
|
||||
ContentRefVariableClass.c \
|
||||
PresentableClass.c \
|
||||
TokenManagerClass.c \
|
||||
Movement.c \
|
||||
TokenGroupClass.c \
|
||||
TokenGroupItem.c \
|
||||
ActionSlot.c \
|
||||
ListGroupClass.c \
|
||||
VisibleClass.c \
|
||||
OriginalBoxSize.c \
|
||||
BitmapClass.c \
|
||||
LineArtClass.c \
|
||||
RectangleClass.c \
|
||||
DynamicLineArtClass.c \
|
||||
TextClass.c \
|
||||
Justification.c \
|
||||
LineOrientation.c \
|
||||
StartCorner.c \
|
||||
StreamClass.c \
|
||||
StreamComponent.c \
|
||||
Storage.c \
|
||||
AudioClass.c \
|
||||
VideoClass.c \
|
||||
Termination.c \
|
||||
RTGraphicsClass.c \
|
||||
InteractibleClass.c \
|
||||
SliderClass.c \
|
||||
Orientation.c \
|
||||
SliderStyle.c \
|
||||
EntryFieldClass.c \
|
||||
InputType.c \
|
||||
HyperTextClass.c \
|
||||
ButtonClass.c \
|
||||
HotspotClass.c \
|
||||
PushButtonClass.c \
|
||||
SwitchButtonClass.c \
|
||||
ButtonStyle.c \
|
||||
ActionClass.c \
|
||||
ElementaryAction.c \
|
||||
Add.c \
|
||||
AddItem.c \
|
||||
Append.c \
|
||||
Call.c \
|
||||
CallActionSlot.c \
|
||||
Clone.c \
|
||||
CloseConnection.c \
|
||||
DelItem.c \
|
||||
DeselectItem.c \
|
||||
Divide.c \
|
||||
DrawArc.c \
|
||||
DrawLine.c \
|
||||
DrawOval.c \
|
||||
DrawPolygon.c \
|
||||
DrawPolyline.c \
|
||||
DrawRectangle.c \
|
||||
DrawSector.c \
|
||||
Fork.c \
|
||||
GetAvailabilityStatus.c \
|
||||
GetBoxSize.c \
|
||||
GetCellItem.c \
|
||||
GetCursorPosition.c \
|
||||
GetEngineSupport.c \
|
||||
GetEntryPoint.c \
|
||||
GetFillColour.c \
|
||||
GetFirstItem.c \
|
||||
GetHighlightStatus.c \
|
||||
GetInteractionStatus.c \
|
||||
GetItemStatus.c \
|
||||
GetLabel.c \
|
||||
GetLastAnchorFired.c \
|
||||
GetLineColour.c \
|
||||
GetLineStyle.c \
|
||||
GetLineWidth.c \
|
||||
GetListItem.c \
|
||||
GetListSize.c \
|
||||
GetOverwriteMode.c \
|
||||
GetPortion.c \
|
||||
GetPosition.c \
|
||||
GetRunningStatus.c \
|
||||
GetSelectionStatus.c \
|
||||
GetSliderValue.c \
|
||||
GetTextContent.c \
|
||||
GetTextData.c \
|
||||
GetTokenPosition.c \
|
||||
GetVolume.c \
|
||||
Modulo.c \
|
||||
Move.c \
|
||||
MoveTo.c \
|
||||
Multiply.c \
|
||||
OpenConnection.c \
|
||||
PutBefore.c \
|
||||
PutBehind.c \
|
||||
ReadPersistent.c \
|
||||
ScaleBitmap.c \
|
||||
ScaleVideo.c \
|
||||
ScrollItems.c \
|
||||
SelectItem.c \
|
||||
SendEvent.c \
|
||||
SetBoxSize.c \
|
||||
SetCachePriority.c \
|
||||
SetCounterEndPosition.c \
|
||||
SetCounterPosition.c \
|
||||
SetCounterTrigger.c \
|
||||
SetCursorPosition.c \
|
||||
SetCursorShape.c \
|
||||
SetData.c \
|
||||
SetEntryPoint.c \
|
||||
SetFillColour.c \
|
||||
SetFirstItem.c \
|
||||
SetFontRef.c \
|
||||
SetHighlightStatus.c \
|
||||
SetInteractionStatus.c \
|
||||
SetLabel.c \
|
||||
SetLineColour.c \
|
||||
SetLineStyle.c \
|
||||
SetLineWidth.c \
|
||||
SetOverwriteMode.c \
|
||||
SetPaletteRef.c \
|
||||
SetPortion.c \
|
||||
SetPosition.c \
|
||||
SetSliderValue.c \
|
||||
SetSpeed.c \
|
||||
SetTimer.c \
|
||||
NewTimer.c \
|
||||
SetTransparency.c \
|
||||
SetVariable.c \
|
||||
SetVolume.c \
|
||||
Step.c \
|
||||
StorePersistent.c \
|
||||
Subtract.c \
|
||||
TestVariable.c \
|
||||
ToggleItem.c \
|
||||
TransitionTo.c \
|
||||
ConnectionTagOrNull.c \
|
||||
ComparisonValue.c \
|
||||
EmulatedEventData.c \
|
||||
NewColour.c \
|
||||
NewContent.c \
|
||||
NewFont.c \
|
||||
NewReferencedContent.c \
|
||||
NewContentSize.c \
|
||||
NewVariableValue.c \
|
||||
Parameter.c \
|
||||
Point.c \
|
||||
Rational.c \
|
||||
ObjectReference.c \
|
||||
ExternalReference.c \
|
||||
IndirectReference.c \
|
||||
ContentReference.c \
|
||||
GenericObjectReference.c \
|
||||
GenericContentReference.c \
|
||||
GenericInteger.c \
|
||||
GenericBoolean.c \
|
||||
GenericOctetString.c \
|
||||
Colour.c \
|
||||
XYPosition.c
|
||||
|
||||
ASN_MODULE_HEADERS= \
|
||||
InterchangedObject.h \
|
||||
RootClass.h \
|
||||
GroupClass.h \
|
||||
StandardIdentifier.h \
|
||||
GroupItem.h \
|
||||
ApplicationClass.h \
|
||||
DefaultAttribute.h \
|
||||
FontBody.h \
|
||||
SceneClass.h \
|
||||
SceneCoordinateSystem.h \
|
||||
AspectRatio.h \
|
||||
NextScene.h \
|
||||
IngredientClass.h \
|
||||
ContentBody.h \
|
||||
ReferencedContent.h \
|
||||
LinkClass.h \
|
||||
LinkCondition.h \
|
||||
EventType.h \
|
||||
EventData.h \
|
||||
ProgramClass.h \
|
||||
ResidentProgramClass.h \
|
||||
RemoteProgramClass.h \
|
||||
InterchangedProgramClass.h \
|
||||
PaletteClass.h \
|
||||
FontClass.h \
|
||||
CursorShapeClass.h \
|
||||
VariableClass.h \
|
||||
OriginalValue.h \
|
||||
BooleanVariableClass.h \
|
||||
IntegerVariableClass.h \
|
||||
OctetStringVariableClass.h \
|
||||
ObjectRefVariableClass.h \
|
||||
ContentRefVariableClass.h \
|
||||
PresentableClass.h \
|
||||
TokenManagerClass.h \
|
||||
Movement.h \
|
||||
TokenGroupClass.h \
|
||||
TokenGroupItem.h \
|
||||
ActionSlot.h \
|
||||
ListGroupClass.h \
|
||||
VisibleClass.h \
|
||||
OriginalBoxSize.h \
|
||||
BitmapClass.h \
|
||||
LineArtClass.h \
|
||||
RectangleClass.h \
|
||||
DynamicLineArtClass.h \
|
||||
TextClass.h \
|
||||
Justification.h \
|
||||
LineOrientation.h \
|
||||
StartCorner.h \
|
||||
StreamClass.h \
|
||||
StreamComponent.h \
|
||||
Storage.h \
|
||||
AudioClass.h \
|
||||
VideoClass.h \
|
||||
Termination.h \
|
||||
RTGraphicsClass.h \
|
||||
InteractibleClass.h \
|
||||
SliderClass.h \
|
||||
Orientation.h \
|
||||
SliderStyle.h \
|
||||
EntryFieldClass.h \
|
||||
InputType.h \
|
||||
HyperTextClass.h \
|
||||
ButtonClass.h \
|
||||
HotspotClass.h \
|
||||
PushButtonClass.h \
|
||||
SwitchButtonClass.h \
|
||||
ButtonStyle.h \
|
||||
ActionClass.h \
|
||||
ElementaryAction.h \
|
||||
Add.h \
|
||||
AddItem.h \
|
||||
Append.h \
|
||||
Call.h \
|
||||
CallActionSlot.h \
|
||||
Clone.h \
|
||||
CloseConnection.h \
|
||||
DelItem.h \
|
||||
DeselectItem.h \
|
||||
Divide.h \
|
||||
DrawArc.h \
|
||||
DrawLine.h \
|
||||
DrawOval.h \
|
||||
DrawPolygon.h \
|
||||
DrawPolyline.h \
|
||||
DrawRectangle.h \
|
||||
DrawSector.h \
|
||||
Fork.h \
|
||||
GetAvailabilityStatus.h \
|
||||
GetBoxSize.h \
|
||||
GetCellItem.h \
|
||||
GetCursorPosition.h \
|
||||
GetEngineSupport.h \
|
||||
GetEntryPoint.h \
|
||||
GetFillColour.h \
|
||||
GetFirstItem.h \
|
||||
GetHighlightStatus.h \
|
||||
GetInteractionStatus.h \
|
||||
GetItemStatus.h \
|
||||
GetLabel.h \
|
||||
GetLastAnchorFired.h \
|
||||
GetLineColour.h \
|
||||
GetLineStyle.h \
|
||||
GetLineWidth.h \
|
||||
GetListItem.h \
|
||||
GetListSize.h \
|
||||
GetOverwriteMode.h \
|
||||
GetPortion.h \
|
||||
GetPosition.h \
|
||||
GetRunningStatus.h \
|
||||
GetSelectionStatus.h \
|
||||
GetSliderValue.h \
|
||||
GetTextContent.h \
|
||||
GetTextData.h \
|
||||
GetTokenPosition.h \
|
||||
GetVolume.h \
|
||||
Modulo.h \
|
||||
Move.h \
|
||||
MoveTo.h \
|
||||
Multiply.h \
|
||||
OpenConnection.h \
|
||||
PutBefore.h \
|
||||
PutBehind.h \
|
||||
ReadPersistent.h \
|
||||
ScaleBitmap.h \
|
||||
ScaleVideo.h \
|
||||
ScrollItems.h \
|
||||
SelectItem.h \
|
||||
SendEvent.h \
|
||||
SetBoxSize.h \
|
||||
SetCachePriority.h \
|
||||
SetCounterEndPosition.h \
|
||||
SetCounterPosition.h \
|
||||
SetCounterTrigger.h \
|
||||
SetCursorPosition.h \
|
||||
SetCursorShape.h \
|
||||
SetData.h \
|
||||
SetEntryPoint.h \
|
||||
SetFillColour.h \
|
||||
SetFirstItem.h \
|
||||
SetFontRef.h \
|
||||
SetHighlightStatus.h \
|
||||
SetInteractionStatus.h \
|
||||
SetLabel.h \
|
||||
SetLineColour.h \
|
||||
SetLineStyle.h \
|
||||
SetLineWidth.h \
|
||||
SetOverwriteMode.h \
|
||||
SetPaletteRef.h \
|
||||
SetPortion.h \
|
||||
SetPosition.h \
|
||||
SetSliderValue.h \
|
||||
SetSpeed.h \
|
||||
SetTimer.h \
|
||||
NewTimer.h \
|
||||
SetTransparency.h \
|
||||
SetVariable.h \
|
||||
SetVolume.h \
|
||||
Step.h \
|
||||
StorePersistent.h \
|
||||
Subtract.h \
|
||||
TestVariable.h \
|
||||
ToggleItem.h \
|
||||
TransitionTo.h \
|
||||
ConnectionTagOrNull.h \
|
||||
ComparisonValue.h \
|
||||
EmulatedEventData.h \
|
||||
NewColour.h \
|
||||
NewContent.h \
|
||||
NewFont.h \
|
||||
NewReferencedContent.h \
|
||||
NewContentSize.h \
|
||||
NewVariableValue.h \
|
||||
Parameter.h \
|
||||
Point.h \
|
||||
Rational.h \
|
||||
ObjectReference.h \
|
||||
ExternalReference.h \
|
||||
IndirectReference.h \
|
||||
ContentReference.h \
|
||||
GenericObjectReference.h \
|
||||
GenericContentReference.h \
|
||||
GenericInteger.h \
|
||||
GenericBoolean.h \
|
||||
GenericOctetString.h \
|
||||
Colour.h \
|
||||
XYPosition.h
|
||||
|
||||
ASN_MODULE_HEADERS+=BOOLEAN.h
|
||||
ASN_MODULE_SOURCES+=BOOLEAN.c
|
||||
ASN_MODULE_HEADERS+=ENUMERATED.h
|
||||
ASN_MODULE_SOURCES+=ENUMERATED.c
|
||||
ASN_MODULE_HEADERS+=INTEGER.h
|
||||
ASN_MODULE_SOURCES+=INTEGER.c
|
||||
ASN_MODULE_HEADERS+=NULL.h
|
||||
ASN_MODULE_SOURCES+=NULL.c
|
||||
ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
|
||||
ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
|
||||
ASN_MODULE_HEADERS+=asn_SET_OF.h
|
||||
ASN_MODULE_SOURCES+=asn_SET_OF.c
|
||||
ASN_MODULE_HEADERS+=constr_CHOICE.h
|
||||
ASN_MODULE_SOURCES+=constr_CHOICE.c
|
||||
ASN_MODULE_HEADERS+=constr_SEQUENCE.h
|
||||
ASN_MODULE_SOURCES+=constr_SEQUENCE.c
|
||||
ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
|
||||
ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
|
||||
ASN_MODULE_HEADERS+=constr_SET_OF.h
|
||||
ASN_MODULE_HEADERS+=constr_SET.h
|
||||
ASN_MODULE_SOURCES+=constr_SET.c
|
||||
ASN_MODULE_SOURCES+=constr_SET_OF.c
|
||||
ASN_MODULE_HEADERS+=asn_application.h
|
||||
ASN_MODULE_HEADERS+=asn_system.h
|
||||
ASN_MODULE_HEADERS+=asn_codecs.h
|
||||
ASN_MODULE_HEADERS+=asn_internal.h
|
||||
ASN_MODULE_HEADERS+=OCTET_STRING.h
|
||||
ASN_MODULE_SOURCES+=OCTET_STRING.c
|
||||
ASN_MODULE_HEADERS+=BIT_STRING.h
|
||||
ASN_MODULE_SOURCES+=BIT_STRING.c
|
||||
ASN_MODULE_SOURCES+=asn_codecs_prim.c
|
||||
ASN_MODULE_HEADERS+=asn_codecs_prim.h
|
||||
ASN_MODULE_HEADERS+=ber_tlv_length.h
|
||||
ASN_MODULE_SOURCES+=ber_tlv_length.c
|
||||
ASN_MODULE_HEADERS+=ber_tlv_tag.h
|
||||
ASN_MODULE_SOURCES+=ber_tlv_tag.c
|
||||
ASN_MODULE_HEADERS+=ber_decoder.h
|
||||
ASN_MODULE_SOURCES+=ber_decoder.c
|
||||
ASN_MODULE_HEADERS+=der_encoder.h
|
||||
ASN_MODULE_SOURCES+=der_encoder.c
|
||||
ASN_MODULE_HEADERS+=constr_TYPE.h
|
||||
ASN_MODULE_SOURCES+=constr_TYPE.c
|
||||
ASN_MODULE_HEADERS+=constraints.h
|
||||
ASN_MODULE_SOURCES+=constraints.c
|
||||
ASN_MODULE_HEADERS+=xer_support.h
|
||||
ASN_MODULE_SOURCES+=xer_support.c
|
||||
ASN_MODULE_HEADERS+=xer_decoder.h
|
||||
ASN_MODULE_SOURCES+=xer_decoder.c
|
||||
ASN_MODULE_HEADERS+=xer_encoder.h
|
||||
ASN_MODULE_SOURCES+=xer_encoder.c
|
||||
|
||||
|
||||
lib_LTLIBRARIES=libsomething.la
|
||||
libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
|
||||
|
||||
# This file may be used as an input for make(3)
|
||||
# Remove the lines below to convert it into a pure .am file
|
||||
TARGET = mheg5dump
|
||||
CFLAGS += -I. -DHAVE_CONFIG_H
|
||||
OBJS=${ASN_MODULE_SOURCES:.c=.o} $(TARGET).o
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): ${OBJS}
|
||||
$(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o
|
||||
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
rm -f $(OBJS)
|
||||
|
||||
regen: regenerate-from-asn1-source
|
||||
|
||||
regenerate-from-asn1-source:
|
||||
../../asn1c/asn1c -S ../../skeletons -fcompound-names ../ISO13522-MHEG-5.asn
|
||||
|
||||
|
||||
../ISO13522-MHEG-5.asn:
|
||||
@echo The ../ISO13522-MHEG-5.asn file is not yet present.
|
||||
@echo Please read the README file on how to obtain this file.
|
||||
@exit 42
|
||||
|
||||
InterchangedObject.c: ../ISO13522-MHEG-5.asn regenerate.Makefile
|
||||
./regenerate.Makefile
|
||||
@touch InterchangedObject.c
|
||||
make
|
||||
|
||||
ASN_DECODER_TEMPLATE=../../skeletons/asn-decoder-template.c
|
||||
$(TARGET).o: $(ASN_DECODER_TEMPLATE)
|
||||
$(CC) $(CFLAGS) -Dasn_DEF=asn_DEF_InterchangedObject -o $(TARGET).o -c $(ASN_DECODER_TEMPLATE)
|
||||
|
||||
distclean: clean
|
||||
rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
|
||||
rm -f Makefile.am.sample
|
|
@ -0,0 +1,48 @@
|
|||
|
||||
GENERAL INFORMATION
|
||||
===================
|
||||
|
||||
The ISO MHEG-5 (Multimedia Hypermedia Experts Group,
|
||||
Multimedia Presentations) decoder.
|
||||
|
||||
Invoking `make` will compile the ASN.1 specifications from the
|
||||
../ISO13522-MHEG-5.asn file.
|
||||
|
||||
THERE IS NO ISO13522-MHEG-5.asn FILE THERE YET!
|
||||
|
||||
OBTAINING THE MHEG-5 SPECIFICATION
|
||||
==================================
|
||||
|
||||
To obtain the MHEG-5 ASN.1 specification, you should go to
|
||||
http://www.itu.int/ITU-T/asn1/database/itu-t/t/t172
|
||||
and select the latest "Text" version of the corresponding ASN.1 module.
|
||||
|
||||
After obtaining the ISO13522-MHEG-5.asn, type `make` in the directory
|
||||
containing this README file.
|
||||
|
||||
mheg5dump USAGE
|
||||
===============
|
||||
|
||||
The mheg5dump utility may be used to dump the contents of the BER-encoded
|
||||
MHEG-5 data record file:
|
||||
|
||||
./mheg5dump -x tapfile.der # Print as XML (BASIC-XER)
|
||||
|
||||
If necessary, a straightforward modification of the
|
||||
../../skeletons/asn-decoder-template.c
|
||||
will allow you to build a converter from the XML (XER) MHEG-5 format
|
||||
back into binary (BER).
|
||||
|
||||
The full list of recognized command line options may be obtained with
|
||||
|
||||
> ./mheg5dump -h
|
||||
Usage: ./mheg5dump [options] <data.ber> ...
|
||||
Where options are:
|
||||
-b <size> Set the i/o buffer size (default is 8192)
|
||||
-c Check ASN.1 constraints after decoding
|
||||
-d Enable debugging (-dd is even better)
|
||||
-n <num> Process files <num> times
|
||||
-s <size> Set the stack usage limit
|
||||
-p Print out the decoded contents
|
||||
-x Print out as XML
|
||||
|
Loading…
Reference in New Issue