webcodecs-node 0.7.2 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -16
- package/dist/backends/node-av/HardwarePipeline.d.ts +36 -0
- package/dist/backends/node-av/HardwarePipeline.d.ts.map +1 -0
- package/dist/backends/node-av/HardwarePipeline.js +203 -0
- package/dist/backends/node-av/HardwarePipeline.js.map +1 -0
- package/dist/backends/node-av/audio/NodeAvAudioDecoder.d.ts +46 -0
- package/dist/backends/node-av/audio/NodeAvAudioDecoder.d.ts.map +1 -0
- package/dist/backends/node-av/audio/NodeAvAudioDecoder.js +277 -0
- package/dist/backends/node-av/audio/NodeAvAudioDecoder.js.map +1 -0
- package/dist/backends/node-av/audio/NodeAvAudioEncoder.d.ts +47 -0
- package/dist/backends/node-av/audio/NodeAvAudioEncoder.d.ts.map +1 -0
- package/dist/backends/node-av/audio/NodeAvAudioEncoder.js +363 -0
- package/dist/backends/node-av/audio/NodeAvAudioEncoder.js.map +1 -0
- package/dist/backends/node-av/audio/decoder/channel-layout.d.ts +12 -0
- package/dist/backends/node-av/audio/decoder/channel-layout.d.ts.map +1 -0
- package/dist/backends/node-av/audio/decoder/channel-layout.js +24 -0
- package/dist/backends/node-av/audio/decoder/channel-layout.js.map +1 -0
- package/dist/backends/node-av/audio/decoder/codec-mapping.d.ts +9 -0
- package/dist/backends/node-av/audio/decoder/codec-mapping.d.ts.map +1 -0
- package/dist/backends/node-av/audio/decoder/codec-mapping.js +40 -0
- package/dist/backends/node-av/audio/decoder/codec-mapping.js.map +1 -0
- package/dist/backends/node-av/audio/decoder/constants.d.ts +6 -0
- package/dist/backends/node-av/audio/decoder/constants.d.ts.map +1 -0
- package/dist/backends/node-av/audio/decoder/constants.js +6 -0
- package/dist/backends/node-av/audio/decoder/constants.js.map +1 -0
- package/dist/backends/node-av/audio/decoder/index.d.ts +8 -0
- package/dist/backends/node-av/audio/decoder/index.d.ts.map +1 -0
- package/dist/backends/node-av/audio/decoder/index.js +8 -0
- package/dist/backends/node-av/audio/decoder/index.js.map +1 -0
- package/dist/backends/node-av/audio/decoder/sample-format.d.ts +14 -0
- package/dist/backends/node-av/audio/decoder/sample-format.d.ts.map +1 -0
- package/dist/backends/node-av/audio/decoder/sample-format.js +54 -0
- package/dist/backends/node-av/audio/decoder/sample-format.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/channel-layout.d.ts +12 -0
- package/dist/backends/node-av/audio/encoder/channel-layout.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/channel-layout.js +24 -0
- package/dist/backends/node-av/audio/encoder/channel-layout.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/codec-description.d.ts +33 -0
- package/dist/backends/node-av/audio/encoder/codec-description.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/codec-description.js +137 -0
- package/dist/backends/node-av/audio/encoder/codec-description.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/codec-mapping.d.ts +12 -0
- package/dist/backends/node-av/audio/encoder/codec-mapping.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/codec-mapping.js +61 -0
- package/dist/backends/node-av/audio/encoder/codec-mapping.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/constants.d.ts +6 -0
- package/dist/backends/node-av/audio/encoder/constants.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/constants.js +6 -0
- package/dist/backends/node-av/audio/encoder/constants.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/drain.d.ts +32 -0
- package/dist/backends/node-av/audio/encoder/drain.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/drain.js +51 -0
- package/dist/backends/node-av/audio/encoder/drain.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/index.d.ts +20 -0
- package/dist/backends/node-av/audio/encoder/index.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/index.js +20 -0
- package/dist/backends/node-av/audio/encoder/index.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/options.d.ts +40 -0
- package/dist/backends/node-av/audio/encoder/options.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/options.js +127 -0
- package/dist/backends/node-av/audio/encoder/options.js.map +1 -0
- package/dist/backends/node-av/audio/encoder/sample-format-convert.d.ts +40 -0
- package/dist/backends/node-av/audio/encoder/sample-format-convert.d.ts.map +1 -0
- package/dist/backends/node-av/audio/encoder/sample-format-convert.js +152 -0
- package/dist/backends/node-av/audio/encoder/sample-format-convert.js.map +1 -0
- package/dist/backends/node-av/hardware-pipeline/capabilities.d.ts +10 -0
- package/dist/backends/node-av/hardware-pipeline/capabilities.d.ts.map +1 -0
- package/dist/backends/node-av/hardware-pipeline/capabilities.js +45 -0
- package/dist/backends/node-av/hardware-pipeline/capabilities.js.map +1 -0
- package/dist/backends/node-av/hardware-pipeline/index.d.ts +6 -0
- package/dist/backends/node-av/hardware-pipeline/index.d.ts.map +1 -0
- package/dist/backends/node-av/hardware-pipeline/index.js +5 -0
- package/dist/backends/node-av/hardware-pipeline/index.js.map +1 -0
- package/dist/backends/node-av/hardware-pipeline/types.d.ts +13 -0
- package/dist/backends/node-av/hardware-pipeline/types.d.ts.map +1 -0
- package/dist/backends/node-av/hardware-pipeline/types.js +5 -0
- package/dist/backends/node-av/hardware-pipeline/types.js.map +1 -0
- package/dist/backends/node-av/image/NodeAvImageDecoder.d.ts +95 -0
- package/dist/backends/node-av/image/NodeAvImageDecoder.d.ts.map +1 -0
- package/dist/backends/node-av/image/NodeAvImageDecoder.js +383 -0
- package/dist/backends/node-av/image/NodeAvImageDecoder.js.map +1 -0
- package/dist/backends/node-av/image/WebPImageDecoder.d.ts +57 -0
- package/dist/backends/node-av/image/WebPImageDecoder.d.ts.map +1 -0
- package/dist/backends/node-av/image/WebPImageDecoder.js +178 -0
- package/dist/backends/node-av/image/WebPImageDecoder.js.map +1 -0
- package/dist/backends/node-av/image/decoder/constants.d.ts +14 -0
- package/dist/backends/node-av/image/decoder/constants.d.ts.map +1 -0
- package/dist/backends/node-av/image/decoder/constants.js +24 -0
- package/dist/backends/node-av/image/decoder/constants.js.map +1 -0
- package/dist/backends/node-av/image/decoder/index.d.ts +7 -0
- package/dist/backends/node-av/image/decoder/index.d.ts.map +1 -0
- package/dist/backends/node-av/image/decoder/index.js +6 -0
- package/dist/backends/node-av/image/decoder/index.js.map +1 -0
- package/dist/backends/node-av/image/decoder/probe.d.ts +12 -0
- package/dist/backends/node-av/image/decoder/probe.d.ts.map +1 -0
- package/dist/backends/node-av/image/decoder/probe.js +57 -0
- package/dist/backends/node-av/image/decoder/probe.js.map +1 -0
- package/dist/backends/node-av/image/decoder/types.d.ts +25 -0
- package/dist/backends/node-av/image/decoder/types.d.ts.map +1 -0
- package/dist/backends/node-av/image/decoder/types.js +5 -0
- package/dist/backends/node-av/image/decoder/types.js.map +1 -0
- package/dist/backends/node-av/video/NodeAvVideoDecoder.d.ts +44 -0
- package/dist/backends/node-av/video/NodeAvVideoDecoder.d.ts.map +1 -0
- package/dist/backends/node-av/video/NodeAvVideoDecoder.js +326 -0
- package/dist/backends/node-av/video/NodeAvVideoDecoder.js.map +1 -0
- package/dist/backends/node-av/video/NodeAvVideoEncoder.d.ts +49 -0
- package/dist/backends/node-av/video/NodeAvVideoEncoder.d.ts.map +1 -0
- package/dist/backends/node-av/video/NodeAvVideoEncoder.js +317 -0
- package/dist/backends/node-av/video/NodeAvVideoEncoder.js.map +1 -0
- package/dist/backends/node-av/video/decoder/codec-mapping.d.ts +9 -0
- package/dist/backends/node-av/video/decoder/codec-mapping.d.ts.map +1 -0
- package/dist/backends/node-av/video/decoder/codec-mapping.js +25 -0
- package/dist/backends/node-av/video/decoder/codec-mapping.js.map +1 -0
- package/dist/backends/node-av/video/decoder/constants.d.ts +13 -0
- package/dist/backends/node-av/video/decoder/constants.d.ts.map +1 -0
- package/dist/backends/node-av/video/decoder/constants.js +13 -0
- package/dist/backends/node-av/video/decoder/constants.js.map +1 -0
- package/dist/backends/node-av/video/decoder/index.d.ts +7 -0
- package/dist/backends/node-av/video/decoder/index.d.ts.map +1 -0
- package/dist/backends/node-av/video/decoder/index.js +7 -0
- package/dist/backends/node-av/video/decoder/index.js.map +1 -0
- package/dist/backends/node-av/video/decoder/pixel-format.d.ts +13 -0
- package/dist/backends/node-av/video/decoder/pixel-format.d.ts.map +1 -0
- package/dist/backends/node-av/video/decoder/pixel-format.js +88 -0
- package/dist/backends/node-av/video/decoder/pixel-format.js.map +1 -0
- package/dist/backends/node-av/video/encoder/codec-description.d.ts +26 -0
- package/dist/backends/node-av/video/encoder/codec-description.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/codec-description.js +86 -0
- package/dist/backends/node-av/video/encoder/codec-description.js.map +1 -0
- package/dist/backends/node-av/video/encoder/drain.d.ts +34 -0
- package/dist/backends/node-av/video/encoder/drain.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/drain.js +51 -0
- package/dist/backends/node-av/video/encoder/drain.js.map +1 -0
- package/dist/backends/node-av/video/encoder/filters.d.ts +37 -0
- package/dist/backends/node-av/video/encoder/filters.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/filters.js +71 -0
- package/dist/backends/node-av/video/encoder/filters.js.map +1 -0
- package/dist/backends/node-av/video/encoder/gpu-filters.d.ts +9 -0
- package/dist/backends/node-av/video/encoder/gpu-filters.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/gpu-filters.js +26 -0
- package/dist/backends/node-av/video/encoder/gpu-filters.js.map +1 -0
- package/dist/backends/node-av/video/encoder/hardware-constraints.d.ts +12 -0
- package/dist/backends/node-av/video/encoder/hardware-constraints.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/hardware-constraints.js +31 -0
- package/dist/backends/node-av/video/encoder/hardware-constraints.js.map +1 -0
- package/dist/backends/node-av/video/encoder/index.d.ts +28 -0
- package/dist/backends/node-av/video/encoder/index.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/index.js +28 -0
- package/dist/backends/node-av/video/encoder/index.js.map +1 -0
- package/dist/backends/node-av/video/encoder/options.d.ts +39 -0
- package/dist/backends/node-av/video/encoder/options.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/options.js +195 -0
- package/dist/backends/node-av/video/encoder/options.js.map +1 -0
- package/dist/backends/node-av/video/encoder/pixel-format-config.d.ts +42 -0
- package/dist/backends/node-av/video/encoder/pixel-format-config.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/pixel-format-config.js +122 -0
- package/dist/backends/node-av/video/encoder/pixel-format-config.js.map +1 -0
- package/dist/backends/node-av/video/encoder/pixel-format.d.ts +13 -0
- package/dist/backends/node-av/video/encoder/pixel-format.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/pixel-format.js +68 -0
- package/dist/backends/node-av/video/encoder/pixel-format.js.map +1 -0
- package/dist/backends/node-av/video/encoder/setup.d.ts +33 -0
- package/dist/backends/node-av/video/encoder/setup.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/setup.js +62 -0
- package/dist/backends/node-av/video/encoder/setup.js.map +1 -0
- package/dist/backends/node-av/video/encoder/software-encoders.d.ts +8 -0
- package/dist/backends/node-av/video/encoder/software-encoders.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/software-encoders.js +17 -0
- package/dist/backends/node-av/video/encoder/software-encoders.js.map +1 -0
- package/dist/backends/node-av/video/encoder/timestamp.d.ts +34 -0
- package/dist/backends/node-av/video/encoder/timestamp.d.ts.map +1 -0
- package/dist/backends/node-av/video/encoder/timestamp.js +39 -0
- package/dist/backends/node-av/video/encoder/timestamp.js.map +1 -0
- package/dist/backends/types.d.ts +44 -0
- package/dist/backends/types.d.ts.map +1 -1
- package/dist/backends/types.js.map +1 -1
- package/dist/codec-utils/formats.d.ts.map +1 -1
- package/dist/codec-utils/formats.js +78 -0
- package/dist/codec-utils/formats.js.map +1 -1
- package/dist/codec-utils/types.d.ts +1 -1
- package/dist/codecs/aac.d.ts +10 -0
- package/dist/codecs/aac.d.ts.map +1 -0
- package/dist/codecs/aac.js +10 -0
- package/dist/codecs/aac.js.map +1 -0
- package/dist/codecs/avc.d.ts +11 -0
- package/dist/codecs/avc.d.ts.map +1 -0
- package/dist/codecs/avc.js +11 -0
- package/dist/codecs/avc.js.map +1 -0
- package/dist/codecs/hevc.d.ts +11 -0
- package/dist/codecs/hevc.d.ts.map +1 -0
- package/dist/codecs/hevc.js +11 -0
- package/dist/codecs/hevc.js.map +1 -0
- package/dist/codecs/index.d.ts +10 -0
- package/dist/codecs/index.d.ts.map +1 -0
- package/dist/codecs/index.js +14 -0
- package/dist/codecs/index.js.map +1 -0
- package/dist/codecs/validation/audio.d.ts +19 -0
- package/dist/codecs/validation/audio.d.ts.map +1 -0
- package/dist/codecs/validation/audio.js +111 -0
- package/dist/codecs/validation/audio.js.map +1 -0
- package/dist/codecs/validation/config.d.ts +27 -0
- package/dist/codecs/validation/config.d.ts.map +1 -0
- package/dist/codecs/validation/config.js +154 -0
- package/dist/codecs/validation/config.js.map +1 -0
- package/dist/codecs/validation/index.d.ts +9 -0
- package/dist/codecs/validation/index.d.ts.map +1 -0
- package/dist/codecs/validation/index.js +12 -0
- package/dist/codecs/validation/index.js.map +1 -0
- package/dist/codecs/validation/video.d.ts +24 -0
- package/dist/codecs/validation/video.d.ts.map +1 -0
- package/dist/codecs/validation/video.js +196 -0
- package/dist/codecs/validation/video.js.map +1 -0
- package/dist/config/webcodecs-config.d.ts +58 -0
- package/dist/config/webcodecs-config.d.ts.map +1 -0
- package/dist/config/webcodecs-config.js +187 -0
- package/dist/config/webcodecs-config.js.map +1 -0
- package/dist/containers/Demuxer.d.ts +3 -1
- package/dist/containers/Demuxer.d.ts.map +1 -1
- package/dist/containers/Demuxer.js +26 -19
- package/dist/containers/Demuxer.js.map +1 -1
- package/dist/containers/FFmpegMuxer.d.ts +42 -0
- package/dist/containers/FFmpegMuxer.d.ts.map +1 -0
- package/dist/containers/FFmpegMuxer.js +311 -0
- package/dist/containers/FFmpegMuxer.js.map +1 -0
- package/dist/containers/Muxer.d.ts +75 -107
- package/dist/containers/Muxer.d.ts.map +1 -1
- package/dist/containers/Muxer.js +184 -243
- package/dist/containers/Muxer.js.map +1 -1
- package/dist/containers/NodeAvMuxer.d.ts +125 -0
- package/dist/containers/NodeAvMuxer.d.ts.map +1 -0
- package/dist/containers/NodeAvMuxer.js +458 -0
- package/dist/containers/NodeAvMuxer.js.map +1 -0
- package/dist/containers/extract.d.ts.map +1 -1
- package/dist/containers/extract.js +3 -1
- package/dist/containers/extract.js.map +1 -1
- package/dist/containers/index.d.ts +20 -14
- package/dist/containers/index.d.ts.map +1 -1
- package/dist/containers/index.js +21 -14
- package/dist/containers/index.js.map +1 -1
- package/dist/containers/muxer-types.d.ts +117 -0
- package/dist/containers/muxer-types.d.ts.map +1 -0
- package/dist/containers/muxer-types.js +45 -0
- package/dist/containers/muxer-types.js.map +1 -0
- package/dist/containers/transcode.d.ts.map +1 -1
- package/dist/containers/transcode.js +171 -150
- package/dist/containers/transcode.js.map +1 -1
- package/dist/core/AudioData.d.ts.map +1 -1
- package/dist/core/AudioData.js +54 -12
- package/dist/core/AudioData.js.map +1 -1
- package/dist/core/EncodedAudioChunk.d.ts.map +1 -1
- package/dist/core/EncodedAudioChunk.js +74 -6
- package/dist/core/EncodedAudioChunk.js.map +1 -1
- package/dist/core/EncodedVideoChunk.d.ts +2 -0
- package/dist/core/EncodedVideoChunk.d.ts.map +1 -1
- package/dist/core/EncodedVideoChunk.js +70 -2
- package/dist/core/EncodedVideoChunk.js.map +1 -1
- package/dist/core/VideoFrame.d.ts +27 -2
- package/dist/core/VideoFrame.d.ts.map +1 -1
- package/dist/core/VideoFrame.js +245 -125
- package/dist/core/VideoFrame.js.map +1 -1
- package/dist/core/video-frame/layout.d.ts +10 -0
- package/dist/core/video-frame/layout.d.ts.map +1 -0
- package/dist/core/video-frame/layout.js +97 -0
- package/dist/core/video-frame/layout.js.map +1 -0
- package/dist/core/video-frame/orientation.d.ts +23 -0
- package/dist/core/video-frame/orientation.d.ts.map +1 -0
- package/dist/core/video-frame/orientation.js +49 -0
- package/dist/core/video-frame/orientation.js.map +1 -0
- package/dist/core/video-frame/transfer.d.ts +19 -0
- package/dist/core/video-frame/transfer.d.ts.map +1 -0
- package/dist/core/video-frame/transfer.js +78 -0
- package/dist/core/video-frame/transfer.js.map +1 -0
- package/dist/core/video-frame/validation.d.ts +28 -0
- package/dist/core/video-frame/validation.d.ts.map +1 -0
- package/dist/core/video-frame/validation.js +76 -0
- package/dist/core/video-frame/validation.js.map +1 -0
- package/dist/decoders/AudioDecoder.d.ts +2 -19
- package/dist/decoders/AudioDecoder.d.ts.map +1 -1
- package/dist/decoders/AudioDecoder.js +27 -11
- package/dist/decoders/AudioDecoder.js.map +1 -1
- package/dist/decoders/ImageDecoder.d.ts +34 -41
- package/dist/decoders/ImageDecoder.d.ts.map +1 -1
- package/dist/decoders/ImageDecoder.js +158 -266
- package/dist/decoders/ImageDecoder.js.map +1 -1
- package/dist/decoders/VideoDecoder.d.ts +3 -38
- package/dist/decoders/VideoDecoder.d.ts.map +1 -1
- package/dist/decoders/VideoDecoder.js +126 -124
- package/dist/decoders/VideoDecoder.js.map +1 -1
- package/dist/decoders/audio/config.d.ts +23 -0
- package/dist/decoders/audio/config.d.ts.map +1 -0
- package/dist/decoders/audio/config.js +112 -0
- package/dist/decoders/audio/config.js.map +1 -0
- package/dist/decoders/audio/constants.d.ts +6 -0
- package/dist/decoders/audio/constants.d.ts.map +1 -0
- package/dist/decoders/audio/constants.js +6 -0
- package/dist/decoders/audio/constants.js.map +1 -0
- package/dist/decoders/audio/types.d.ts +21 -0
- package/dist/decoders/audio/types.d.ts.map +1 -0
- package/dist/decoders/audio/types.js +5 -0
- package/dist/decoders/audio/types.js.map +1 -0
- package/dist/decoders/image/orientation.d.ts +16 -0
- package/dist/decoders/image/orientation.d.ts.map +1 -0
- package/dist/decoders/image/orientation.js +170 -0
- package/dist/decoders/image/orientation.js.map +1 -0
- package/dist/decoders/image/stream.d.ts +12 -0
- package/dist/decoders/image/stream.d.ts.map +1 -0
- package/dist/decoders/image/stream.js +41 -0
- package/dist/decoders/image/stream.js.map +1 -0
- package/dist/decoders/image/tracks.d.ts +76 -0
- package/dist/decoders/image/tracks.d.ts.map +1 -0
- package/dist/decoders/image/tracks.js +136 -0
- package/dist/decoders/image/tracks.js.map +1 -0
- package/dist/decoders/image/types.d.ts +36 -0
- package/dist/decoders/image/types.d.ts.map +1 -0
- package/dist/decoders/image/types.js +5 -0
- package/dist/decoders/image/types.js.map +1 -0
- package/dist/decoders/video/codec-specific.d.ts +19 -0
- package/dist/decoders/video/codec-specific.d.ts.map +1 -0
- package/dist/decoders/video/codec-specific.js +62 -0
- package/dist/decoders/video/codec-specific.js.map +1 -0
- package/dist/decoders/video/config.d.ts +17 -0
- package/dist/decoders/video/config.d.ts.map +1 -0
- package/dist/decoders/video/config.js +91 -0
- package/dist/decoders/video/config.js.map +1 -0
- package/dist/decoders/video/constants.d.ts +8 -0
- package/dist/decoders/video/constants.d.ts.map +1 -0
- package/dist/decoders/video/constants.js +13 -0
- package/dist/decoders/video/constants.js.map +1 -0
- package/dist/decoders/video/queue.d.ts +9 -0
- package/dist/decoders/video/queue.d.ts.map +1 -0
- package/dist/decoders/video/queue.js +17 -0
- package/dist/decoders/video/queue.js.map +1 -0
- package/dist/decoders/video/types.d.ts +41 -0
- package/dist/decoders/video/types.d.ts.map +1 -0
- package/dist/decoders/video/types.js +5 -0
- package/dist/decoders/video/types.js.map +1 -0
- package/dist/demos/demo-audio-visualizer.js +74 -48
- package/dist/demos/demo-audio-visualizer.js.map +1 -1
- package/dist/demos/demo-dvd-logo.js +26 -23
- package/dist/demos/demo-dvd-logo.js.map +1 -1
- package/dist/demos/demo-flow-field.d.ts +11 -0
- package/dist/demos/demo-flow-field.d.ts.map +1 -0
- package/dist/demos/demo-flow-field.js +305 -0
- package/dist/demos/demo-flow-field.js.map +1 -0
- package/dist/demos/demo-four-corners.js +56 -120
- package/dist/demos/demo-four-corners.js.map +1 -1
- package/dist/demos/demo-image.js +24 -19
- package/dist/demos/demo-image.js.map +1 -1
- package/dist/demos/demo-matrix-rain.d.ts +11 -0
- package/dist/demos/demo-matrix-rain.d.ts.map +1 -0
- package/dist/demos/demo-matrix-rain.js +246 -0
- package/dist/demos/demo-matrix-rain.js.map +1 -0
- package/dist/demos/demo-pipeline.js +56 -51
- package/dist/demos/demo-pipeline.js.map +1 -1
- package/dist/demos/demo-samples.js +56 -402
- package/dist/demos/demo-samples.js.map +1 -1
- package/dist/encoders/AudioEncoder.d.ts +4 -28
- package/dist/encoders/AudioEncoder.d.ts.map +1 -1
- package/dist/encoders/AudioEncoder.js +83 -20
- package/dist/encoders/AudioEncoder.js.map +1 -1
- package/dist/encoders/VideoEncoder.d.ts +25 -46
- package/dist/encoders/VideoEncoder.d.ts.map +1 -1
- package/dist/encoders/VideoEncoder.js +180 -88
- package/dist/encoders/VideoEncoder.js.map +1 -1
- package/dist/encoders/audio/config.d.ts +30 -0
- package/dist/encoders/audio/config.d.ts.map +1 -0
- package/dist/encoders/audio/config.js +169 -0
- package/dist/encoders/audio/config.js.map +1 -0
- package/dist/encoders/audio/constants.d.ts +8 -0
- package/dist/encoders/audio/constants.d.ts.map +1 -0
- package/dist/encoders/audio/constants.js +8 -0
- package/dist/encoders/audio/constants.js.map +1 -0
- package/dist/encoders/audio/types.d.ts +70 -0
- package/dist/encoders/audio/types.d.ts.map +1 -0
- package/dist/encoders/audio/types.js +5 -0
- package/dist/encoders/audio/types.js.map +1 -0
- package/dist/encoders/video/config.d.ts +25 -0
- package/dist/encoders/video/config.d.ts.map +1 -0
- package/dist/encoders/video/config.js +132 -0
- package/dist/encoders/video/config.js.map +1 -0
- package/dist/encoders/video/constants.d.ts +8 -0
- package/dist/encoders/video/constants.d.ts.map +1 -0
- package/dist/encoders/video/constants.js +8 -0
- package/dist/encoders/video/constants.js.map +1 -0
- package/dist/encoders/video/queue.d.ts +9 -0
- package/dist/encoders/video/queue.d.ts.map +1 -0
- package/dist/encoders/video/queue.js +17 -0
- package/dist/encoders/video/queue.js.map +1 -0
- package/dist/encoders/video/types.d.ts +104 -0
- package/dist/encoders/video/types.d.ts.map +1 -0
- package/dist/encoders/video/types.js +5 -0
- package/dist/encoders/video/types.js.map +1 -0
- package/dist/formats/color-space/convert.d.ts +27 -0
- package/dist/formats/color-space/convert.d.ts.map +1 -0
- package/dist/formats/color-space/convert.js +91 -0
- package/dist/formats/color-space/convert.js.map +1 -0
- package/dist/formats/color-space/extract.d.ts +32 -0
- package/dist/formats/color-space/extract.d.ts.map +1 -0
- package/dist/formats/color-space/extract.js +116 -0
- package/dist/formats/color-space/extract.js.map +1 -0
- package/dist/formats/color-space/index.d.ts +10 -0
- package/dist/formats/color-space/index.d.ts.map +1 -0
- package/dist/formats/color-space/index.js +14 -0
- package/dist/formats/color-space/index.js.map +1 -0
- package/dist/formats/color-space/maps.d.ts +70 -0
- package/dist/formats/color-space/maps.d.ts.map +1 -0
- package/dist/formats/color-space/maps.js +70 -0
- package/dist/formats/color-space/maps.js.map +1 -0
- package/dist/formats/color-space/types.d.ts +68 -0
- package/dist/formats/color-space/types.d.ts.map +1 -0
- package/dist/formats/color-space/types.js +49 -0
- package/dist/formats/color-space/types.js.map +1 -0
- package/dist/formats/color-space.d.ts +4 -124
- package/dist/formats/color-space.d.ts.map +1 -1
- package/dist/formats/color-space.js +5 -108
- package/dist/formats/color-space.js.map +1 -1
- package/dist/formats/conversions/frame-converter.d.ts +8 -3
- package/dist/formats/conversions/frame-converter.d.ts.map +1 -1
- package/dist/formats/conversions/frame-converter.js +16 -12
- package/dist/formats/conversions/frame-converter.js.map +1 -1
- package/dist/formats/pixel-format/helpers.d.ts +49 -0
- package/dist/formats/pixel-format/helpers.d.ts.map +1 -0
- package/dist/formats/pixel-format/helpers.js +117 -0
- package/dist/formats/pixel-format/helpers.js.map +1 -0
- package/dist/formats/pixel-format/index.d.ts +9 -0
- package/dist/formats/pixel-format/index.d.ts.map +1 -0
- package/dist/formats/pixel-format/index.js +10 -0
- package/dist/formats/pixel-format/index.js.map +1 -0
- package/dist/formats/pixel-format/sizes.d.ts +17 -0
- package/dist/formats/pixel-format/sizes.d.ts.map +1 -0
- package/dist/formats/pixel-format/sizes.js +159 -0
- package/dist/formats/pixel-format/sizes.js.map +1 -0
- package/dist/formats/pixel-format/types.d.ts +13 -0
- package/dist/formats/pixel-format/types.d.ts.map +1 -0
- package/dist/formats/pixel-format/types.js +5 -0
- package/dist/formats/pixel-format/types.js.map +1 -0
- package/dist/formats/pixel-formats.d.ts +4 -53
- package/dist/formats/pixel-formats.d.ts.map +1 -1
- package/dist/formats/pixel-formats.js +5 -179
- package/dist/formats/pixel-formats.js.map +1 -1
- package/dist/hardware/decoder-args.d.ts.map +1 -1
- package/dist/hardware/decoder-args.js +35 -14
- package/dist/hardware/decoder-args.js.map +1 -1
- package/dist/hardware/detection.d.ts.map +1 -1
- package/dist/hardware/detection.js +39 -0
- package/dist/hardware/detection.js.map +1 -1
- package/dist/hardware/encoder-args.d.ts.map +1 -1
- package/dist/hardware/encoder-args.js +43 -5
- package/dist/hardware/encoder-args.js.map +1 -1
- package/dist/hardware/types.d.ts.map +1 -1
- package/dist/hardware/types.js +36 -28
- package/dist/hardware/types.js.map +1 -1
- package/dist/node-av/NodeAvVideoEncoder.d.ts +5 -0
- package/dist/node-av/NodeAvVideoEncoder.d.ts.map +1 -1
- package/dist/node-av/NodeAvVideoEncoder.js +76 -23
- package/dist/node-av/NodeAvVideoEncoder.js.map +1 -1
- package/dist/transfer/detach.d.ts +42 -0
- package/dist/transfer/detach.d.ts.map +1 -0
- package/dist/transfer/detach.js +93 -0
- package/dist/transfer/detach.js.map +1 -0
- package/dist/transfer/index.d.ts +9 -0
- package/dist/transfer/index.d.ts.map +1 -0
- package/dist/transfer/index.js +11 -0
- package/dist/transfer/index.js.map +1 -0
- package/dist/transfer/validate.d.ts +45 -0
- package/dist/transfer/validate.d.ts.map +1 -0
- package/dist/transfer/validate.js +98 -0
- package/dist/transfer/validate.js.map +1 -0
- package/dist/types/video.d.ts +16 -0
- package/dist/types/video.d.ts.map +1 -1
- package/dist/utils/avc.d.ts +2 -0
- package/dist/utils/avc.d.ts.map +1 -1
- package/dist/utils/avc.js +36 -8
- package/dist/utils/avc.js.map +1 -1
- package/dist/utils/codec-validation.d.ts +3 -28
- package/dist/utils/codec-validation.d.ts.map +1 -1
- package/dist/utils/codec-validation.js +4 -238
- package/dist/utils/codec-validation.js.map +1 -1
- package/dist/utils/hevc.d.ts +2 -0
- package/dist/utils/hevc.d.ts.map +1 -1
- package/dist/utils/hevc.js +42 -8
- package/dist/utils/hevc.js.map +1 -1
- package/docs/api.md +24 -4
- package/docs/architecture-refactor-plan.md +149 -0
- package/docs/architecture.md +258 -0
- package/docs/configuration.md +10 -7
- package/package.json +6 -4
- package/dist/config/ffmpeg-quality.d.ts +0 -14
- package/dist/config/ffmpeg-quality.d.ts.map +0 -1
- package/dist/config/ffmpeg-quality.js +0 -41
- package/dist/config/ffmpeg-quality.js.map +0 -1
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.d.ts +0 -72
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.d.ts.map +0 -1
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.js +0 -293
- package/dist/polyfills/CanvasRenderingContext2DPolyfill.js.map +0 -1
- package/dist/polyfills/ImageDataPolyfill.d.ts +0 -12
- package/dist/polyfills/ImageDataPolyfill.d.ts.map +0 -1
- package/dist/polyfills/ImageDataPolyfill.js +0 -22
- package/dist/polyfills/ImageDataPolyfill.js.map +0 -1
- package/dist/polyfills/OffscreenCanvasPolyfill.d.ts +0 -16
- package/dist/polyfills/OffscreenCanvasPolyfill.d.ts.map +0 -1
- package/dist/polyfills/OffscreenCanvasPolyfill.js +0 -46
- package/dist/polyfills/OffscreenCanvasPolyfill.js.map +0 -1
- package/dist/polyfills/VideoFramePolyfill.d.ts +0 -44
- package/dist/polyfills/VideoFramePolyfill.d.ts.map +0 -1
- package/dist/polyfills/VideoFramePolyfill.js +0 -98
- package/dist/polyfills/VideoFramePolyfill.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/encoders/video/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space conversion utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { ColorMatrix, SmpteSt2086Metadata, ContentLightLevelInfo } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get color matrix from VideoColorSpaceInit
|
|
7
|
+
*/
|
|
8
|
+
export declare function getColorMatrix(matrix?: string | null): ColorMatrix;
|
|
9
|
+
/**
|
|
10
|
+
* Convert RGBA pixel to YUV
|
|
11
|
+
* @returns [Y, U, V] values in range 0-255
|
|
12
|
+
*/
|
|
13
|
+
export declare function rgbaToYuv(r: number, g: number, b: number, matrix?: ColorMatrix): [number, number, number];
|
|
14
|
+
/**
|
|
15
|
+
* Convert YUV to RGBA
|
|
16
|
+
* @returns [R, G, B, A] values in range 0-255
|
|
17
|
+
*/
|
|
18
|
+
export declare function yuvToRgba(y: number, u: number, v: number, matrix?: ColorMatrix): [number, number, number, number];
|
|
19
|
+
/**
|
|
20
|
+
* Create a typical HDR10 mastering display metadata
|
|
21
|
+
*/
|
|
22
|
+
export declare function createHdr10MasteringMetadata(maxLuminance: number, minLuminance?: number): SmpteSt2086Metadata;
|
|
23
|
+
/**
|
|
24
|
+
* Create content light level info
|
|
25
|
+
*/
|
|
26
|
+
export declare function createContentLightLevel(maxCLL: number, maxFALL: number): ContentLightLevelInfo;
|
|
27
|
+
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/formats/color-space/convert.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAa1F;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAclE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,WAAqB,GAC5B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAa1B;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,WAAqB,GAC5B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAkBlC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAAe,GAC5B,mBAAmB,CAarB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,qBAAqB,CAEvB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space conversion utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* YUV to RGB conversion coefficients for different standards
|
|
6
|
+
*/
|
|
7
|
+
const YUV_TO_RGB_COEFFICIENTS = {
|
|
8
|
+
bt601: { kr: 0.299, kb: 0.114 },
|
|
9
|
+
smpte170m: { kr: 0.299, kb: 0.114 },
|
|
10
|
+
bt470bg: { kr: 0.299, kb: 0.114 },
|
|
11
|
+
bt709: { kr: 0.2126, kb: 0.0722 },
|
|
12
|
+
bt2020: { kr: 0.2627, kb: 0.0593 },
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Get color matrix from VideoColorSpaceInit
|
|
16
|
+
*/
|
|
17
|
+
export function getColorMatrix(matrix) {
|
|
18
|
+
switch (matrix) {
|
|
19
|
+
case 'bt601':
|
|
20
|
+
case 'smpte170m':
|
|
21
|
+
case 'bt470bg':
|
|
22
|
+
return 'bt601';
|
|
23
|
+
case 'bt2020-ncl':
|
|
24
|
+
case 'bt2020':
|
|
25
|
+
return 'bt2020';
|
|
26
|
+
case 'bt709':
|
|
27
|
+
case 'rgb':
|
|
28
|
+
default:
|
|
29
|
+
return 'bt709';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert RGBA pixel to YUV
|
|
34
|
+
* @returns [Y, U, V] values in range 0-255
|
|
35
|
+
*/
|
|
36
|
+
export function rgbaToYuv(r, g, b, matrix = 'bt709') {
|
|
37
|
+
const { kr, kb } = YUV_TO_RGB_COEFFICIENTS[matrix];
|
|
38
|
+
const kg = 1 - kr - kb;
|
|
39
|
+
const y = kr * r + kg * g + kb * b;
|
|
40
|
+
const u = (b - y) / (2 * (1 - kb)) + 128;
|
|
41
|
+
const v = (r - y) / (2 * (1 - kr)) + 128;
|
|
42
|
+
return [
|
|
43
|
+
Math.max(0, Math.min(255, Math.round(y))),
|
|
44
|
+
Math.max(0, Math.min(255, Math.round(u))),
|
|
45
|
+
Math.max(0, Math.min(255, Math.round(v))),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Convert YUV to RGBA
|
|
50
|
+
* @returns [R, G, B, A] values in range 0-255
|
|
51
|
+
*/
|
|
52
|
+
export function yuvToRgba(y, u, v, matrix = 'bt709') {
|
|
53
|
+
const { kr, kb } = YUV_TO_RGB_COEFFICIENTS[matrix];
|
|
54
|
+
const kg = 1 - kr - kb;
|
|
55
|
+
const c = y;
|
|
56
|
+
const d = u - 128;
|
|
57
|
+
const e = v - 128;
|
|
58
|
+
const r = c + (2 * (1 - kr)) * e;
|
|
59
|
+
const g = c - (2 * kb * (1 - kb) / kg) * d - (2 * kr * (1 - kr) / kg) * e;
|
|
60
|
+
const b = c + (2 * (1 - kb)) * d;
|
|
61
|
+
return [
|
|
62
|
+
Math.max(0, Math.min(255, Math.round(r))),
|
|
63
|
+
Math.max(0, Math.min(255, Math.round(g))),
|
|
64
|
+
Math.max(0, Math.min(255, Math.round(b))),
|
|
65
|
+
255,
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Create a typical HDR10 mastering display metadata
|
|
70
|
+
*/
|
|
71
|
+
export function createHdr10MasteringMetadata(maxLuminance, minLuminance = 0.0001) {
|
|
72
|
+
return {
|
|
73
|
+
primaryRChromaticityX: 0.708,
|
|
74
|
+
primaryRChromaticityY: 0.292,
|
|
75
|
+
primaryGChromaticityX: 0.170,
|
|
76
|
+
primaryGChromaticityY: 0.797,
|
|
77
|
+
primaryBChromaticityX: 0.131,
|
|
78
|
+
primaryBChromaticityY: 0.046,
|
|
79
|
+
whitePointChromaticityX: 0.3127,
|
|
80
|
+
whitePointChromaticityY: 0.3290,
|
|
81
|
+
maxLuminance,
|
|
82
|
+
minLuminance,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create content light level info
|
|
87
|
+
*/
|
|
88
|
+
export function createContentLightLevel(maxCLL, maxFALL) {
|
|
89
|
+
return { maxCLL, maxFALL };
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/formats/color-space/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space extraction utilities
|
|
3
|
+
*
|
|
4
|
+
* Convert FFmpeg color space values to WebCodecs format
|
|
5
|
+
*/
|
|
6
|
+
import type { VideoColorSpaceInit } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Convert FFmpeg AVColorPrimaries to WebCodecs primaries string
|
|
9
|
+
*/
|
|
10
|
+
export declare function avColorPrimariesToWebCodecs(primaries: number): VideoColorSpaceInit['primaries'] | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Convert FFmpeg AVColorTransferCharacteristic to WebCodecs transfer string
|
|
13
|
+
*/
|
|
14
|
+
export declare function avColorTransferToWebCodecs(transfer: number): VideoColorSpaceInit['transfer'] | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Convert FFmpeg AVColorSpace (matrix) to WebCodecs matrix string
|
|
17
|
+
*/
|
|
18
|
+
export declare function avColorSpaceToWebCodecs(colorSpace: number): VideoColorSpaceInit['matrix'] | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Convert FFmpeg AVColorRange to WebCodecs fullRange boolean
|
|
21
|
+
*/
|
|
22
|
+
export declare function avColorRangeToWebCodecs(range: number): boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Extract VideoColorSpaceInit from FFmpeg frame color properties
|
|
25
|
+
*/
|
|
26
|
+
export declare function extractColorSpaceFromFrame(frame: {
|
|
27
|
+
colorPrimaries?: number;
|
|
28
|
+
colorTrc?: number;
|
|
29
|
+
colorSpace?: number;
|
|
30
|
+
colorRange?: number;
|
|
31
|
+
}): VideoColorSpaceInit | undefined;
|
|
32
|
+
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/formats/color-space/extract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQtD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,GAAG,SAAS,CAgB3G;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAoBxG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAiBrG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAS1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,mBAAmB,GAAG,SAAS,CA0BlC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space extraction utilities
|
|
3
|
+
*
|
|
4
|
+
* Convert FFmpeg color space values to WebCodecs format
|
|
5
|
+
*/
|
|
6
|
+
import { AVCOL_PRI_VALUES, AVCOL_TRC_VALUES, AVCOL_SPC_VALUES, AVCOL_RANGE_VALUES, } from './maps.js';
|
|
7
|
+
/**
|
|
8
|
+
* Convert FFmpeg AVColorPrimaries to WebCodecs primaries string
|
|
9
|
+
*/
|
|
10
|
+
export function avColorPrimariesToWebCodecs(primaries) {
|
|
11
|
+
switch (primaries) {
|
|
12
|
+
case AVCOL_PRI_VALUES.BT709:
|
|
13
|
+
return 'bt709';
|
|
14
|
+
case AVCOL_PRI_VALUES.BT470BG:
|
|
15
|
+
return 'bt470bg';
|
|
16
|
+
case AVCOL_PRI_VALUES.SMPTE170M:
|
|
17
|
+
case AVCOL_PRI_VALUES.SMPTE240M:
|
|
18
|
+
return 'smpte170m';
|
|
19
|
+
case AVCOL_PRI_VALUES.BT2020:
|
|
20
|
+
return 'bt2020';
|
|
21
|
+
case AVCOL_PRI_VALUES.SMPTE432:
|
|
22
|
+
return 'smpte432';
|
|
23
|
+
default:
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Convert FFmpeg AVColorTransferCharacteristic to WebCodecs transfer string
|
|
29
|
+
*/
|
|
30
|
+
export function avColorTransferToWebCodecs(transfer) {
|
|
31
|
+
switch (transfer) {
|
|
32
|
+
case AVCOL_TRC_VALUES.BT709:
|
|
33
|
+
case AVCOL_TRC_VALUES.BT2020_10:
|
|
34
|
+
case AVCOL_TRC_VALUES.BT2020_12:
|
|
35
|
+
return 'bt709';
|
|
36
|
+
case AVCOL_TRC_VALUES.SMPTE170M:
|
|
37
|
+
case AVCOL_TRC_VALUES.SMPTE240M:
|
|
38
|
+
return 'smpte170m';
|
|
39
|
+
case AVCOL_TRC_VALUES.IEC61966_2_1:
|
|
40
|
+
return 'iec61966-2-1';
|
|
41
|
+
case AVCOL_TRC_VALUES.LINEAR:
|
|
42
|
+
return 'linear';
|
|
43
|
+
case AVCOL_TRC_VALUES.SMPTE2084:
|
|
44
|
+
return 'pq';
|
|
45
|
+
case AVCOL_TRC_VALUES.ARIB_STD_B67:
|
|
46
|
+
return 'hlg';
|
|
47
|
+
default:
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Convert FFmpeg AVColorSpace (matrix) to WebCodecs matrix string
|
|
53
|
+
*/
|
|
54
|
+
export function avColorSpaceToWebCodecs(colorSpace) {
|
|
55
|
+
switch (colorSpace) {
|
|
56
|
+
case AVCOL_SPC_VALUES.RGB:
|
|
57
|
+
return 'rgb';
|
|
58
|
+
case AVCOL_SPC_VALUES.BT709:
|
|
59
|
+
return 'bt709';
|
|
60
|
+
case AVCOL_SPC_VALUES.BT470BG:
|
|
61
|
+
return 'bt470bg';
|
|
62
|
+
case AVCOL_SPC_VALUES.SMPTE170M:
|
|
63
|
+
case AVCOL_SPC_VALUES.SMPTE240M:
|
|
64
|
+
return 'smpte170m';
|
|
65
|
+
case AVCOL_SPC_VALUES.BT2020_NCL:
|
|
66
|
+
case AVCOL_SPC_VALUES.BT2020_CL:
|
|
67
|
+
return 'bt2020-ncl';
|
|
68
|
+
default:
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Convert FFmpeg AVColorRange to WebCodecs fullRange boolean
|
|
74
|
+
*/
|
|
75
|
+
export function avColorRangeToWebCodecs(range) {
|
|
76
|
+
switch (range) {
|
|
77
|
+
case AVCOL_RANGE_VALUES.JPEG:
|
|
78
|
+
return true;
|
|
79
|
+
case AVCOL_RANGE_VALUES.MPEG:
|
|
80
|
+
return false;
|
|
81
|
+
default:
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Extract VideoColorSpaceInit from FFmpeg frame color properties
|
|
87
|
+
*/
|
|
88
|
+
export function extractColorSpaceFromFrame(frame) {
|
|
89
|
+
const primaries = frame.colorPrimaries !== undefined
|
|
90
|
+
? avColorPrimariesToWebCodecs(frame.colorPrimaries)
|
|
91
|
+
: undefined;
|
|
92
|
+
const transfer = frame.colorTrc !== undefined
|
|
93
|
+
? avColorTransferToWebCodecs(frame.colorTrc)
|
|
94
|
+
: undefined;
|
|
95
|
+
const matrix = frame.colorSpace !== undefined
|
|
96
|
+
? avColorSpaceToWebCodecs(frame.colorSpace)
|
|
97
|
+
: undefined;
|
|
98
|
+
const fullRange = frame.colorRange !== undefined
|
|
99
|
+
? avColorRangeToWebCodecs(frame.colorRange)
|
|
100
|
+
: undefined;
|
|
101
|
+
if (primaries === undefined && transfer === undefined &&
|
|
102
|
+
matrix === undefined && fullRange === undefined) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
const result = {};
|
|
106
|
+
if (primaries !== undefined)
|
|
107
|
+
result.primaries = primaries;
|
|
108
|
+
if (transfer !== undefined)
|
|
109
|
+
result.transfer = transfer;
|
|
110
|
+
if (matrix !== undefined)
|
|
111
|
+
result.matrix = matrix;
|
|
112
|
+
if (fullRange !== undefined)
|
|
113
|
+
result.fullRange = fullRange;
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/formats/color-space/extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space module
|
|
3
|
+
*
|
|
4
|
+
* Provides color space types and conversion utilities for WebCodecs.
|
|
5
|
+
*/
|
|
6
|
+
export { VideoColorSpace, HDR10_DISPLAY_PRIMARIES, type ColorMatrix, type SmpteSt2086Metadata, type ContentLightLevelInfo, type HdrMetadata, type VideoColorSpaceInit, } from './types.js';
|
|
7
|
+
export { getColorMatrix, rgbaToYuv, yuvToRgba, createHdr10MasteringMetadata, createContentLightLevel, } from './convert.js';
|
|
8
|
+
export { AVCOL_PRI_VALUES, AVCOL_TRC_VALUES, AVCOL_SPC_VALUES, AVCOL_RANGE_VALUES, } from './maps.js';
|
|
9
|
+
export { avColorPrimariesToWebCodecs, avColorTransferToWebCodecs, avColorSpaceToWebCodecs, avColorRangeToWebCodecs, extractColorSpaceFromFrame, } from './extract.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formats/color-space/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space module
|
|
3
|
+
*
|
|
4
|
+
* Provides color space types and conversion utilities for WebCodecs.
|
|
5
|
+
*/
|
|
6
|
+
// Types
|
|
7
|
+
export { VideoColorSpace, HDR10_DISPLAY_PRIMARIES, } from './types.js';
|
|
8
|
+
// Conversion utilities
|
|
9
|
+
export { getColorMatrix, rgbaToYuv, yuvToRgba, createHdr10MasteringMetadata, createContentLightLevel, } from './convert.js';
|
|
10
|
+
// FFmpeg color space mappings
|
|
11
|
+
export { AVCOL_PRI_VALUES, AVCOL_TRC_VALUES, AVCOL_SPC_VALUES, AVCOL_RANGE_VALUES, } from './maps.js';
|
|
12
|
+
// Extraction utilities
|
|
13
|
+
export { avColorPrimariesToWebCodecs, avColorTransferToWebCodecs, avColorSpaceToWebCodecs, avColorRangeToWebCodecs, extractColorSpaceFromFrame, } from './extract.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formats/color-space/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,OAAO,EACL,eAAe,EACf,uBAAuB,GAMxB,MAAM,YAAY,CAAC;AAEpB,uBAAuB;AACvB,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,8BAA8B;AAC9B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,uBAAuB;AACvB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FFmpeg color space enum value mappings
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* FFmpeg AVColorPrimaries enum values
|
|
6
|
+
*/
|
|
7
|
+
export declare const AVCOL_PRI_VALUES: {
|
|
8
|
+
readonly RESERVED0: 0;
|
|
9
|
+
readonly BT709: 1;
|
|
10
|
+
readonly UNSPECIFIED: 2;
|
|
11
|
+
readonly RESERVED: 3;
|
|
12
|
+
readonly BT470M: 4;
|
|
13
|
+
readonly BT470BG: 5;
|
|
14
|
+
readonly SMPTE170M: 6;
|
|
15
|
+
readonly SMPTE240M: 7;
|
|
16
|
+
readonly FILM: 8;
|
|
17
|
+
readonly BT2020: 9;
|
|
18
|
+
readonly SMPTE428: 10;
|
|
19
|
+
readonly SMPTE431: 11;
|
|
20
|
+
readonly SMPTE432: 12;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* FFmpeg AVColorTransferCharacteristic enum values
|
|
24
|
+
*/
|
|
25
|
+
export declare const AVCOL_TRC_VALUES: {
|
|
26
|
+
readonly RESERVED0: 0;
|
|
27
|
+
readonly BT709: 1;
|
|
28
|
+
readonly UNSPECIFIED: 2;
|
|
29
|
+
readonly RESERVED: 3;
|
|
30
|
+
readonly GAMMA22: 4;
|
|
31
|
+
readonly GAMMA28: 5;
|
|
32
|
+
readonly SMPTE170M: 6;
|
|
33
|
+
readonly SMPTE240M: 7;
|
|
34
|
+
readonly LINEAR: 8;
|
|
35
|
+
readonly LOG: 9;
|
|
36
|
+
readonly LOG_SQRT: 10;
|
|
37
|
+
readonly IEC61966_2_4: 11;
|
|
38
|
+
readonly BT1361_ECG: 12;
|
|
39
|
+
readonly IEC61966_2_1: 13;
|
|
40
|
+
readonly BT2020_10: 14;
|
|
41
|
+
readonly BT2020_12: 15;
|
|
42
|
+
readonly SMPTE2084: 16;
|
|
43
|
+
readonly SMPTE428: 17;
|
|
44
|
+
readonly ARIB_STD_B67: 18;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* FFmpeg AVColorSpace enum values (matrix coefficients)
|
|
48
|
+
*/
|
|
49
|
+
export declare const AVCOL_SPC_VALUES: {
|
|
50
|
+
readonly RGB: 0;
|
|
51
|
+
readonly BT709: 1;
|
|
52
|
+
readonly UNSPECIFIED: 2;
|
|
53
|
+
readonly RESERVED: 3;
|
|
54
|
+
readonly FCC: 4;
|
|
55
|
+
readonly BT470BG: 5;
|
|
56
|
+
readonly SMPTE170M: 6;
|
|
57
|
+
readonly SMPTE240M: 7;
|
|
58
|
+
readonly YCGCO: 8;
|
|
59
|
+
readonly BT2020_NCL: 9;
|
|
60
|
+
readonly BT2020_CL: 10;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* FFmpeg AVColorRange enum values
|
|
64
|
+
*/
|
|
65
|
+
export declare const AVCOL_RANGE_VALUES: {
|
|
66
|
+
readonly UNSPECIFIED: 0;
|
|
67
|
+
readonly MPEG: 1;
|
|
68
|
+
readonly JPEG: 2;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=maps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps.d.ts","sourceRoot":"","sources":["../../../src/formats/color-space/maps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAcnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAoBnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAYnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FFmpeg color space enum value mappings
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* FFmpeg AVColorPrimaries enum values
|
|
6
|
+
*/
|
|
7
|
+
export const AVCOL_PRI_VALUES = {
|
|
8
|
+
RESERVED0: 0,
|
|
9
|
+
BT709: 1,
|
|
10
|
+
UNSPECIFIED: 2,
|
|
11
|
+
RESERVED: 3,
|
|
12
|
+
BT470M: 4,
|
|
13
|
+
BT470BG: 5,
|
|
14
|
+
SMPTE170M: 6,
|
|
15
|
+
SMPTE240M: 7,
|
|
16
|
+
FILM: 8,
|
|
17
|
+
BT2020: 9,
|
|
18
|
+
SMPTE428: 10,
|
|
19
|
+
SMPTE431: 11,
|
|
20
|
+
SMPTE432: 12,
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* FFmpeg AVColorTransferCharacteristic enum values
|
|
24
|
+
*/
|
|
25
|
+
export const AVCOL_TRC_VALUES = {
|
|
26
|
+
RESERVED0: 0,
|
|
27
|
+
BT709: 1,
|
|
28
|
+
UNSPECIFIED: 2,
|
|
29
|
+
RESERVED: 3,
|
|
30
|
+
GAMMA22: 4,
|
|
31
|
+
GAMMA28: 5,
|
|
32
|
+
SMPTE170M: 6,
|
|
33
|
+
SMPTE240M: 7,
|
|
34
|
+
LINEAR: 8,
|
|
35
|
+
LOG: 9,
|
|
36
|
+
LOG_SQRT: 10,
|
|
37
|
+
IEC61966_2_4: 11,
|
|
38
|
+
BT1361_ECG: 12,
|
|
39
|
+
IEC61966_2_1: 13,
|
|
40
|
+
BT2020_10: 14,
|
|
41
|
+
BT2020_12: 15,
|
|
42
|
+
SMPTE2084: 16,
|
|
43
|
+
SMPTE428: 17,
|
|
44
|
+
ARIB_STD_B67: 18,
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* FFmpeg AVColorSpace enum values (matrix coefficients)
|
|
48
|
+
*/
|
|
49
|
+
export const AVCOL_SPC_VALUES = {
|
|
50
|
+
RGB: 0,
|
|
51
|
+
BT709: 1,
|
|
52
|
+
UNSPECIFIED: 2,
|
|
53
|
+
RESERVED: 3,
|
|
54
|
+
FCC: 4,
|
|
55
|
+
BT470BG: 5,
|
|
56
|
+
SMPTE170M: 6,
|
|
57
|
+
SMPTE240M: 7,
|
|
58
|
+
YCGCO: 8,
|
|
59
|
+
BT2020_NCL: 9,
|
|
60
|
+
BT2020_CL: 10,
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* FFmpeg AVColorRange enum values
|
|
64
|
+
*/
|
|
65
|
+
export const AVCOL_RANGE_VALUES = {
|
|
66
|
+
UNSPECIFIED: 0,
|
|
67
|
+
MPEG: 1,
|
|
68
|
+
JPEG: 2,
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=maps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/formats/color-space/maps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;CACR,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,CAAC;IACR,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,EAAE;CACL,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space type definitions
|
|
3
|
+
*/
|
|
4
|
+
export type ColorMatrix = 'bt601' | 'bt709' | 'bt2020' | 'smpte170m' | 'bt470bg';
|
|
5
|
+
/**
|
|
6
|
+
* SMPTE ST 2086 Mastering Display Metadata
|
|
7
|
+
* Describes the color volume of the mastering display
|
|
8
|
+
*/
|
|
9
|
+
export interface SmpteSt2086Metadata {
|
|
10
|
+
primaryRChromaticityX: number;
|
|
11
|
+
primaryRChromaticityY: number;
|
|
12
|
+
primaryGChromaticityX: number;
|
|
13
|
+
primaryGChromaticityY: number;
|
|
14
|
+
primaryBChromaticityX: number;
|
|
15
|
+
primaryBChromaticityY: number;
|
|
16
|
+
whitePointChromaticityX: number;
|
|
17
|
+
whitePointChromaticityY: number;
|
|
18
|
+
maxLuminance: number;
|
|
19
|
+
minLuminance: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Content Light Level Information
|
|
23
|
+
*/
|
|
24
|
+
export interface ContentLightLevelInfo {
|
|
25
|
+
maxCLL: number;
|
|
26
|
+
maxFALL: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* HDR Metadata combining mastering display and content light level info
|
|
30
|
+
*/
|
|
31
|
+
export interface HdrMetadata {
|
|
32
|
+
smpteSt2086?: SmpteSt2086Metadata;
|
|
33
|
+
contentLightLevel?: ContentLightLevelInfo;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Video color space initialization options
|
|
37
|
+
*/
|
|
38
|
+
export interface VideoColorSpaceInit {
|
|
39
|
+
primaries?: 'bt709' | 'bt470bg' | 'smpte170m' | 'bt2020' | 'smpte432';
|
|
40
|
+
transfer?: 'bt709' | 'smpte170m' | 'iec61966-2-1' | 'linear' | 'pq' | 'hlg';
|
|
41
|
+
matrix?: 'rgb' | 'bt709' | 'bt470bg' | 'smpte170m' | 'bt2020-ncl';
|
|
42
|
+
fullRange?: boolean;
|
|
43
|
+
hdrMetadata?: HdrMetadata;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* VideoColorSpace - describes the color space of video content
|
|
47
|
+
*/
|
|
48
|
+
export declare class VideoColorSpace {
|
|
49
|
+
readonly primaries: string | null;
|
|
50
|
+
readonly transfer: string | null;
|
|
51
|
+
readonly matrix: string | null;
|
|
52
|
+
readonly fullRange: boolean | null;
|
|
53
|
+
readonly hdrMetadata: HdrMetadata | null;
|
|
54
|
+
constructor(init?: VideoColorSpaceInit);
|
|
55
|
+
get isHdr(): boolean;
|
|
56
|
+
get hasHdrMetadata(): boolean;
|
|
57
|
+
toJSON(): {
|
|
58
|
+
primaries: string | null;
|
|
59
|
+
transfer: string | null;
|
|
60
|
+
matrix: string | null;
|
|
61
|
+
fullRange: boolean | null;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Common HDR10 display primaries (BT.2020 primaries with D65 white point)
|
|
66
|
+
*/
|
|
67
|
+
export declare const HDR10_DISPLAY_PRIMARIES: Pick<SmpteSt2086Metadata, 'primaryRChromaticityX' | 'primaryRChromaticityY' | 'primaryGChromaticityX' | 'primaryGChromaticityY' | 'primaryBChromaticityX' | 'primaryBChromaticityY' | 'whitePointChromaticityX' | 'whitePointChromaticityY'>;
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/formats/color-space/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAEjF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;IAC5E,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;gBAE7B,IAAI,CAAC,EAAE,mBAAmB;IAQtC,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,cAAc,IAAI,OAAO,CAK5B;IAED,MAAM,IAAI;QACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;KAC3B;CAQF;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,IAAI,CACxC,mBAAmB,EACnB,uBAAuB,GAAG,uBAAuB,GACjD,uBAAuB,GAAG,uBAAuB,GACjD,uBAAuB,GAAG,uBAAuB,GACjD,yBAAyB,GAAG,yBAAyB,CAUtD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color space type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* VideoColorSpace - describes the color space of video content
|
|
6
|
+
*/
|
|
7
|
+
export class VideoColorSpace {
|
|
8
|
+
primaries;
|
|
9
|
+
transfer;
|
|
10
|
+
matrix;
|
|
11
|
+
fullRange;
|
|
12
|
+
hdrMetadata;
|
|
13
|
+
constructor(init) {
|
|
14
|
+
this.primaries = init?.primaries ?? null;
|
|
15
|
+
this.transfer = init?.transfer ?? null;
|
|
16
|
+
this.matrix = init?.matrix ?? null;
|
|
17
|
+
this.fullRange = init?.fullRange ?? null;
|
|
18
|
+
this.hdrMetadata = init?.hdrMetadata ?? null;
|
|
19
|
+
}
|
|
20
|
+
get isHdr() {
|
|
21
|
+
return this.transfer === 'pq' || this.transfer === 'hlg';
|
|
22
|
+
}
|
|
23
|
+
get hasHdrMetadata() {
|
|
24
|
+
return this.hdrMetadata !== null && (this.hdrMetadata.smpteSt2086 !== undefined ||
|
|
25
|
+
this.hdrMetadata.contentLightLevel !== undefined);
|
|
26
|
+
}
|
|
27
|
+
toJSON() {
|
|
28
|
+
return {
|
|
29
|
+
primaries: this.primaries,
|
|
30
|
+
transfer: this.transfer,
|
|
31
|
+
matrix: this.matrix,
|
|
32
|
+
fullRange: this.fullRange,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Common HDR10 display primaries (BT.2020 primaries with D65 white point)
|
|
38
|
+
*/
|
|
39
|
+
export const HDR10_DISPLAY_PRIMARIES = {
|
|
40
|
+
primaryRChromaticityX: 0.708,
|
|
41
|
+
primaryRChromaticityY: 0.292,
|
|
42
|
+
primaryGChromaticityX: 0.170,
|
|
43
|
+
primaryGChromaticityY: 0.797,
|
|
44
|
+
primaryBChromaticityX: 0.131,
|
|
45
|
+
primaryBChromaticityY: 0.046,
|
|
46
|
+
whitePointChromaticityX: 0.3127,
|
|
47
|
+
whitePointChromaticityY: 0.3290,
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/formats/color-space/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgDH;;GAEG;AACH,MAAM,OAAO,eAAe;IACjB,SAAS,CAAgB;IACzB,QAAQ,CAAgB;IACxB,MAAM,CAAgB;IACtB,SAAS,CAAiB;IAC1B,WAAW,CAAqB;IAEzC,YAAY,IAA0B;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;IAC3D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,CAClC,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS;YAC1C,IAAI,CAAC,WAAW,CAAC,iBAAiB,KAAK,SAAS,CACjD,CAAC;IACJ,CAAC;IAED,MAAM;QAMJ,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAMhC;IACF,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,uBAAuB,EAAE,MAAM;IAC/B,uBAAuB,EAAE,MAAM;CAChC,CAAC"}
|