Skip to content
Snippets Groups Projects
Commit ae72b048 authored by Lev Walkin's avatar Lev Walkin
Browse files

MHEG5

parent 75d76b40
No related branches found
No related tags found
No related merge requests found
......@@ -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).
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
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment