Safe Haskell | None |
---|---|
Language | Haskell2010 |
Detailed visual sample description.
- newtype VideoSampleEntry c where
- VideoSampleEntry :: (U16 "pre_defined" :+ (Constant (U16 "reserved") 0 :+ (U16 "width" :+ (U16 "height" :+ (Template (U32 "horizresolution") 4718592 :+ (Template (U32 "vertresolution") 4718592 :+ (Constant (U32 "reserved") 0 :+ (Template (U16 "frame_count") 1 :+ (FixSizeText 32 "compressorname" :+ (Template (U16 "depth") 24 :+ (Template (I16 "pre_defined") 65535 :+ (Maybe (Box CleanAperture) :+ (Maybe (Box PixelAspectRatio) :+ ([Box SomeColourInformation] :+ c)))))))))))))) -> VideoSampleEntry c
- cleanAperture :: CleanAperture -> Box CleanAperture
- newtype CleanAperture where
- pixelAspectRatio :: PixelAspectRatio -> Box PixelAspectRatio
- newtype PixelAspectRatio where
- PixelAspectRatio :: (U32 "hSpacing" :+ U32 "vSpacing") -> PixelAspectRatio
- colourInformation :: ColourType p -> ColourInformation p
- onScreenColourInformation :: ColourType OnScreenColours -> ColourInformation OnScreenColours
- restrictedICCProfileColourInformation :: ColourType RestrictedICCProfile -> ColourInformation RestrictedICCProfile
- unrestrictedICCProfileColourInformation :: ColourType UnrestrictedICCProfile -> ColourInformation UnrestrictedICCProfile
- data SomeColourInformation where
- SomeColourInformation :: forall profile. IsBoxContent (ColourInformation profile) => !(ColourInformation profile) -> SomeColourInformation
- newtype ColourInformation profile where
- ColourInformation :: (Constant (U32Text "colour_type") (ColourTypeCode profile) :+ ColourType profile) -> ColourInformation profile
- data ColourTypeProfile
- type family ColourType (p :: ColourTypeProfile) where ...
- data FullRangeFlag
- type family ColourTypeCode (p :: ColourTypeProfile) :: Symbol where ...
Documentation
newtype VideoSampleEntry c where Source #
Fields if visual sample entries.
A depth
of 0x0018 means colour image with no alpha.
The horizresolution
and vertresolution
of 0x00480000 means 72 dpi.
The frame_count
indicates the number of video frames per sample.
VideoSampleEntry :: (U16 "pre_defined" :+ (Constant (U16 "reserved") 0 :+ (U16 "width" :+ (U16 "height" :+ (Template (U32 "horizresolution") 4718592 :+ (Template (U32 "vertresolution") 4718592 :+ (Constant (U32 "reserved") 0 :+ (Template (U16 "frame_count") 1 :+ (FixSizeText 32 "compressorname" :+ (Template (U16 "depth") 24 :+ (Template (I16 "pre_defined") 65535 :+ (Maybe (Box CleanAperture) :+ (Maybe (Box PixelAspectRatio) :+ ([Box SomeColourInformation] :+ c)))))))))))))) -> VideoSampleEntry c |
Default c => Default (VideoSampleEntry c) Source # | |
IsBoxContent c => IsBoxContent (VideoSampleEntry c) Source # | |
type GetHandlerType (VideoSampleEntry c) Source # | |
type BoxTypeSymbol * (VideoSampleEntry c) Source # | |
Clean Aperture sub box
cleanAperture :: CleanAperture -> Box CleanAperture Source #
Construct a CleanAperture
(sub-) Box
newtype CleanAperture where Source #
The clean aperture settings
Pixel aspect ratio sub box
pixelAspectRatio :: PixelAspectRatio -> Box PixelAspectRatio Source #
Construct a PixelAspectRatio
(sub-) Box
newtype PixelAspectRatio where Source #
The pixel aspect ratio.
PixelAspectRatio :: (U32 "hSpacing" :+ U32 "vSpacing") -> PixelAspectRatio |
Colour information sub box
colourInformation :: ColourType p -> ColourInformation p Source #
Construct a ColourInformation
(sub-) Box
onScreenColourInformation :: ColourType OnScreenColours -> ColourInformation OnScreenColours Source #
Construct a ColourInformation
(sub-) Box
from OnScreenColours
restrictedICCProfileColourInformation :: ColourType RestrictedICCProfile -> ColourInformation RestrictedICCProfile Source #
Construct a ColourInformation
(sub-) Box
from RestrictedICCProfile
unrestrictedICCProfileColourInformation :: ColourType UnrestrictedICCProfile -> ColourInformation UnrestrictedICCProfile Source #
Construct a ColourInformation
(sub-) Box
from UnrestrictedICCProfile
data SomeColourInformation where Source #
A wrapper that hides the concrete ColourTypeProfile
of a
ColourInformation
.
SomeColourInformation :: forall profile. IsBoxContent (ColourInformation profile) => !(ColourInformation profile) -> SomeColourInformation |
newtype ColourInformation profile where Source #
Profile dependent colour information
ColourInformation :: (Constant (U32Text "colour_type") (ColourTypeCode profile) :+ ColourType profile) -> ColourInformation profile |
Default (ColourType profile) => Default (ColourInformation profile) Source # | |
(KnownSymbol (ColourTypeCode profile), IsBoxContent (ColourType profile)) => IsBoxContent (ColourInformation profile) Source # | |
data ColourTypeProfile Source #
Colour type profiles
OnScreenColours | PTM_COLOR_INFO from A.7.2 of ISO/IEC 29199-2, mind the full range flag. |
RestrictedICCProfile | A restricted ICC.1 (2010) profile |
UnrestrictedICCProfile | An unrestricted IEC ISO-15076 part 1, ICC.1 (2010) profile |
type family ColourType (p :: ColourTypeProfile) where ... Source #
Profile dependent colour information family
ColourType OnScreenColours = U16 "colour_primaries" :+ (U16 "transfer_characteristics" :+ (U16 "matrix_coefficients" :+ FullRangeFlag)) | |
ColourType RestrictedICCProfile = Text | |
ColourType UnrestrictedICCProfile = Text |
data FullRangeFlag Source #
The full range flag, note the different bit layout compared to PTM_COLOR_INFO in ISO 29199-2.
type family ColourTypeCode (p :: ColourTypeProfile) :: Symbol where ... Source #
Return the color type four letter code for a ColourTypeProfile
.
ColourTypeCode OnScreenColours = "nclx" | |
ColourTypeCode RestrictedICCProfile = "rICC" | |
ColourTypeCode UnrestrictedICCProfile = "prof" |