@libmedia/avutil 0.2.0
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/COPYING.LGPLv3 +165 -0
- package/README.md +13 -0
- package/dist/cjs/AVStream.d.ts +163 -0
- package/dist/cjs/AVStream.js +36 -0
- package/dist/cjs/AVStream.js.map +1 -0
- package/dist/cjs/audiosamplefmt.d.ts +225 -0
- package/dist/cjs/audiosamplefmt.js +6 -0
- package/dist/cjs/audiosamplefmt.js.map +1 -0
- package/dist/cjs/avformat.d.ts +51 -0
- package/dist/cjs/avformat.js +6 -0
- package/dist/cjs/avformat.js.map +1 -0
- package/dist/cjs/codec.d.ts +863 -0
- package/dist/cjs/codec.js +6 -0
- package/dist/cjs/codec.js.map +1 -0
- package/dist/cjs/codecs/aac.d.ts +115 -0
- package/dist/cjs/codecs/aac.js +131 -0
- package/dist/cjs/codecs/aac.js.map +1 -0
- package/dist/cjs/codecs/ac3.d.ts +73 -0
- package/dist/cjs/codecs/ac3.js +73 -0
- package/dist/cjs/codecs/ac3.js.map +1 -0
- package/dist/cjs/codecs/av1.d.ts +72 -0
- package/dist/cjs/codecs/av1.js +238 -0
- package/dist/cjs/codecs/av1.js.map +1 -0
- package/dist/cjs/codecs/dts.d.ts +17 -0
- package/dist/cjs/codecs/dts.js +40 -0
- package/dist/cjs/codecs/dts.js.map +1 -0
- package/dist/cjs/codecs/flac.d.ts +16 -0
- package/dist/cjs/codecs/flac.js +6 -0
- package/dist/cjs/codecs/flac.js.map +1 -0
- package/dist/cjs/codecs/h264.d.ts +137 -0
- package/dist/cjs/codecs/h264.js +374 -0
- package/dist/cjs/codecs/h264.js.map +1 -0
- package/dist/cjs/codecs/hevc.d.ts +163 -0
- package/dist/cjs/codecs/hevc.js +431 -0
- package/dist/cjs/codecs/hevc.js.map +1 -0
- package/dist/cjs/codecs/mp3.d.ts +13 -0
- package/dist/cjs/codecs/mp3.js +94 -0
- package/dist/cjs/codecs/mp3.js.map +1 -0
- package/dist/cjs/codecs/mpeg4.d.ts +7 -0
- package/dist/cjs/codecs/mpeg4.js +10 -0
- package/dist/cjs/codecs/mpeg4.js.map +1 -0
- package/dist/cjs/codecs/mpegvideo.d.ts +7 -0
- package/dist/cjs/codecs/mpegvideo.js +14 -0
- package/dist/cjs/codecs/mpegvideo.js.map +1 -0
- package/dist/cjs/codecs/opus.d.ts +23 -0
- package/dist/cjs/codecs/opus.js +53 -0
- package/dist/cjs/codecs/opus.js.map +1 -0
- package/dist/cjs/codecs/vp8.d.ts +27 -0
- package/dist/cjs/codecs/vp8.js +37 -0
- package/dist/cjs/codecs/vp8.js.map +1 -0
- package/dist/cjs/codecs/vp9.d.ts +42 -0
- package/dist/cjs/codecs/vp9.js +130 -0
- package/dist/cjs/codecs/vp9.js.map +1 -0
- package/dist/cjs/codecs/vvc.d.ts +178 -0
- package/dist/cjs/codecs/vvc.js +376 -0
- package/dist/cjs/codecs/vvc.js.map +1 -0
- package/dist/cjs/constant.d.ts +28 -0
- package/dist/cjs/constant.js +23 -0
- package/dist/cjs/constant.js.map +1 -0
- package/dist/cjs/error.d.ts +9 -0
- package/dist/cjs/error.js +9 -0
- package/dist/cjs/error.js.map +1 -0
- package/dist/cjs/function/analyzeAVFormat.d.ts +3 -0
- package/dist/cjs/function/analyzeAVFormat.js +34 -0
- package/dist/cjs/function/analyzeAVFormat.js.map +1 -0
- package/dist/cjs/function/analyzeUrlIOLoader.d.ts +7 -0
- package/dist/cjs/function/analyzeUrlIOLoader.js +89 -0
- package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -0
- package/dist/cjs/function/audioData2AVFrame.d.ts +2 -0
- package/dist/cjs/function/audioData2AVFrame.js +48 -0
- package/dist/cjs/function/audioData2AVFrame.js.map +1 -0
- package/dist/cjs/function/avframe2AudioData.d.ts +3 -0
- package/dist/cjs/function/avframe2AudioData.js +100 -0
- package/dist/cjs/function/avframe2AudioData.js.map +1 -0
- package/dist/cjs/function/avframe2VideoFrame.d.ts +6 -0
- package/dist/cjs/function/avframe2VideoFrame.js +114 -0
- package/dist/cjs/function/avframe2VideoFrame.js.map +1 -0
- package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +2 -0
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js +15 -0
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -0
- package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +2 -0
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js +15 -0
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -0
- package/dist/cjs/function/compileResource.d.ts +2 -0
- package/dist/cjs/function/compileResource.js +47 -0
- package/dist/cjs/function/compileResource.js.map +1 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.d.ts +2 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js +23 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -0
- package/dist/cjs/function/encodedVideoChunk2AVPacket.d.ts +7 -0
- package/dist/cjs/function/encodedVideoChunk2AVPacket.js +30 -0
- package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -0
- package/dist/cjs/function/getAudioCodec.d.ts +2 -0
- package/dist/cjs/function/getAudioCodec.js +13 -0
- package/dist/cjs/function/getAudioCodec.js.map +1 -0
- package/dist/cjs/function/getHardwarePreference.d.ts +1 -0
- package/dist/cjs/function/getHardwarePreference.js +16 -0
- package/dist/cjs/function/getHardwarePreference.js.map +1 -0
- package/dist/cjs/function/getVideoCodec.d.ts +2 -0
- package/dist/cjs/function/getVideoCodec.js +76 -0
- package/dist/cjs/function/getVideoCodec.js.map +1 -0
- package/dist/cjs/function/hasAlphaChannel.d.ts +2 -0
- package/dist/cjs/function/hasAlphaChannel.js +12 -0
- package/dist/cjs/function/hasAlphaChannel.js.map +1 -0
- package/dist/cjs/function/isHdr.d.ts +2 -0
- package/dist/cjs/function/isHdr.js +13 -0
- package/dist/cjs/function/isHdr.js.map +1 -0
- package/dist/cjs/function/videoFrame2AVFrame.d.ts +7 -0
- package/dist/cjs/function/videoFrame2AVFrame.js +111 -0
- package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -0
- package/dist/cjs/implement/AVFramePoolImpl.d.ts +10 -0
- package/dist/cjs/implement/AVFramePoolImpl.js +54 -0
- package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -0
- package/dist/cjs/implement/AVPCMBufferPoolImpl.d.ts +10 -0
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js +52 -0
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -0
- package/dist/cjs/implement/AVPacketPoolImpl.d.ts +10 -0
- package/dist/cjs/implement/AVPacketPoolImpl.js +54 -0
- package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -0
- package/dist/cjs/pixelFormatDescriptor.d.ts +100 -0
- package/dist/cjs/pixelFormatDescriptor.js +1075 -0
- package/dist/cjs/pixelFormatDescriptor.js.map +1 -0
- package/dist/cjs/pixfmt.d.ts +1294 -0
- package/dist/cjs/pixfmt.js +6 -0
- package/dist/cjs/pixfmt.js.map +1 -0
- package/dist/cjs/sampleFormatDescriptor.d.ts +6 -0
- package/dist/cjs/sampleFormatDescriptor.js +55 -0
- package/dist/cjs/sampleFormatDescriptor.js.map +1 -0
- package/dist/cjs/stringEnum.d.ts +105 -0
- package/dist/cjs/stringEnum.js +219 -0
- package/dist/cjs/stringEnum.js.map +1 -0
- package/dist/cjs/struct/audiosample.d.ts +64 -0
- package/dist/cjs/struct/audiosample.js +134 -0
- package/dist/cjs/struct/audiosample.js.map +1 -0
- package/dist/cjs/struct/avbuffer.d.ts +85 -0
- package/dist/cjs/struct/avbuffer.js +319 -0
- package/dist/cjs/struct/avbuffer.js.map +1 -0
- package/dist/cjs/struct/avcodecparameters.d.ts +163 -0
- package/dist/cjs/struct/avcodecparameters.js +380 -0
- package/dist/cjs/struct/avcodecparameters.js.map +1 -0
- package/dist/cjs/struct/avdict.d.ts +17 -0
- package/dist/cjs/struct/avdict.js +74 -0
- package/dist/cjs/struct/avdict.js.map +1 -0
- package/dist/cjs/struct/avframe.d.ts +559 -0
- package/dist/cjs/struct/avframe.js +720 -0
- package/dist/cjs/struct/avframe.js.map +1 -0
- package/dist/cjs/struct/avpacket.d.ts +125 -0
- package/dist/cjs/struct/avpacket.js +286 -0
- package/dist/cjs/struct/avpacket.js.map +1 -0
- package/dist/cjs/struct/avpcmbuffer.d.ts +44 -0
- package/dist/cjs/struct/avpcmbuffer.js +128 -0
- package/dist/cjs/struct/avpcmbuffer.js.map +1 -0
- package/dist/cjs/struct/avsubtitle.d.ts +30 -0
- package/dist/cjs/struct/avsubtitle.js +6 -0
- package/dist/cjs/struct/avsubtitle.js.map +1 -0
- package/dist/cjs/struct/rational.d.ts +15 -0
- package/dist/cjs/struct/rational.js +43 -0
- package/dist/cjs/struct/rational.js.map +1 -0
- package/dist/cjs/util/amf.d.ts +10 -0
- package/dist/cjs/util/amf.js +109 -0
- package/dist/cjs/util/amf.js.map +1 -0
- package/dist/cjs/util/av1syntax.d.ts +9 -0
- package/dist/cjs/util/av1syntax.js +53 -0
- package/dist/cjs/util/av1syntax.js.map +1 -0
- package/dist/cjs/util/avbuffer.d.ts +17 -0
- package/dist/cjs/util/avbuffer.js +147 -0
- package/dist/cjs/util/avbuffer.js.map +1 -0
- package/dist/cjs/util/avdict.d.ts +8 -0
- package/dist/cjs/util/avdict.js +69 -0
- package/dist/cjs/util/avdict.js.map +1 -0
- package/dist/cjs/util/avframe.d.ts +14 -0
- package/dist/cjs/util/avframe.js +233 -0
- package/dist/cjs/util/avframe.js.map +1 -0
- package/dist/cjs/util/avpacket.d.ts +22 -0
- package/dist/cjs/util/avpacket.js +171 -0
- package/dist/cjs/util/avpacket.js.map +1 -0
- package/dist/cjs/util/channel.d.ts +4 -0
- package/dist/cjs/util/channel.js +43 -0
- package/dist/cjs/util/channel.js.map +1 -0
- package/dist/cjs/util/codecparameters.d.ts +4 -0
- package/dist/cjs/util/codecparameters.js +69 -0
- package/dist/cjs/util/codecparameters.js.map +1 -0
- package/dist/cjs/util/common.d.ts +3 -0
- package/dist/cjs/util/common.js +16 -0
- package/dist/cjs/util/common.js.map +1 -0
- package/dist/cjs/util/crypto.d.ts +1 -0
- package/dist/cjs/util/crypto.js +8 -0
- package/dist/cjs/util/crypto.js.map +1 -0
- package/dist/cjs/util/expgolomb.d.ts +26 -0
- package/dist/cjs/util/expgolomb.js +35 -0
- package/dist/cjs/util/expgolomb.js.map +1 -0
- package/dist/cjs/util/intread.d.ts +9 -0
- package/dist/cjs/util/intread.js +36 -0
- package/dist/cjs/util/intread.js.map +1 -0
- package/dist/cjs/util/intwrite.d.ts +9 -0
- package/dist/cjs/util/intwrite.js +36 -0
- package/dist/cjs/util/intwrite.js.map +1 -0
- package/dist/cjs/util/mem.d.ts +5 -0
- package/dist/cjs/util/mem.js +48 -0
- package/dist/cjs/util/mem.js.map +1 -0
- package/dist/cjs/util/nalu.d.ts +12 -0
- package/dist/cjs/util/nalu.js +130 -0
- package/dist/cjs/util/nalu.js.map +1 -0
- package/dist/cjs/util/ntp.d.ts +1 -0
- package/dist/cjs/util/ntp.js +9 -0
- package/dist/cjs/util/ntp.js.map +1 -0
- package/dist/cjs/util/pcm.d.ts +4 -0
- package/dist/cjs/util/pcm.js +141 -0
- package/dist/cjs/util/pcm.js.map +1 -0
- package/dist/cjs/util/pixel.d.ts +11 -0
- package/dist/cjs/util/pixel.js +197 -0
- package/dist/cjs/util/pixel.js.map +1 -0
- package/dist/cjs/util/rational.d.ts +41 -0
- package/dist/cjs/util/rational.js +33 -0
- package/dist/cjs/util/rational.js.map +1 -0
- package/dist/cjs/util/sample.d.ts +7 -0
- package/dist/cjs/util/sample.js +46 -0
- package/dist/cjs/util/sample.js.map +1 -0
- package/dist/cjs/util/serialize.d.ts +64 -0
- package/dist/cjs/util/serialize.js +143 -0
- package/dist/cjs/util/serialize.js.map +1 -0
- package/dist/esm/AVStream.d.ts +163 -0
- package/dist/esm/AVStream.js +34 -0
- package/dist/esm/AVStream.js.map +1 -0
- package/dist/esm/audiosamplefmt.d.ts +225 -0
- package/dist/esm/audiosamplefmt.js +2 -0
- package/dist/esm/audiosamplefmt.js.map +1 -0
- package/dist/esm/avformat.d.ts +51 -0
- package/dist/esm/avformat.js +2 -0
- package/dist/esm/avformat.js.map +1 -0
- package/dist/esm/codec.d.ts +863 -0
- package/dist/esm/codec.js +2 -0
- package/dist/esm/codec.js.map +1 -0
- package/dist/esm/codecs/aac.d.ts +115 -0
- package/dist/esm/codecs/aac.js +132 -0
- package/dist/esm/codecs/aac.js.map +1 -0
- package/dist/esm/codecs/ac3.d.ts +73 -0
- package/dist/esm/codecs/ac3.js +63 -0
- package/dist/esm/codecs/ac3.js.map +1 -0
- package/dist/esm/codecs/av1.d.ts +72 -0
- package/dist/esm/codecs/av1.js +218 -0
- package/dist/esm/codecs/av1.js.map +1 -0
- package/dist/esm/codecs/dts.d.ts +17 -0
- package/dist/esm/codecs/dts.js +34 -0
- package/dist/esm/codecs/dts.js.map +1 -0
- package/dist/esm/codecs/flac.d.ts +16 -0
- package/dist/esm/codecs/flac.js +2 -0
- package/dist/esm/codecs/flac.js.map +1 -0
- package/dist/esm/codecs/h264.d.ts +137 -0
- package/dist/esm/codecs/h264.js +373 -0
- package/dist/esm/codecs/h264.js.map +1 -0
- package/dist/esm/codecs/hevc.d.ts +163 -0
- package/dist/esm/codecs/hevc.js +427 -0
- package/dist/esm/codecs/hevc.js.map +1 -0
- package/dist/esm/codecs/mp3.d.ts +13 -0
- package/dist/esm/codecs/mp3.js +95 -0
- package/dist/esm/codecs/mp3.js.map +1 -0
- package/dist/esm/codecs/mpeg4.d.ts +7 -0
- package/dist/esm/codecs/mpeg4.js +6 -0
- package/dist/esm/codecs/mpeg4.js.map +1 -0
- package/dist/esm/codecs/mpegvideo.d.ts +7 -0
- package/dist/esm/codecs/mpegvideo.js +10 -0
- package/dist/esm/codecs/mpegvideo.js.map +1 -0
- package/dist/esm/codecs/opus.d.ts +23 -0
- package/dist/esm/codecs/opus.js +49 -0
- package/dist/esm/codecs/opus.js.map +1 -0
- package/dist/esm/codecs/vp8.d.ts +27 -0
- package/dist/esm/codecs/vp8.js +30 -0
- package/dist/esm/codecs/vp8.js.map +1 -0
- package/dist/esm/codecs/vp9.d.ts +42 -0
- package/dist/esm/codecs/vp9.js +136 -0
- package/dist/esm/codecs/vp9.js.map +1 -0
- package/dist/esm/codecs/vvc.d.ts +178 -0
- package/dist/esm/codecs/vvc.js +369 -0
- package/dist/esm/codecs/vvc.js.map +1 -0
- package/dist/esm/constant.d.ts +28 -0
- package/dist/esm/constant.js +47 -0
- package/dist/esm/constant.js.map +1 -0
- package/dist/esm/error.d.ts +9 -0
- package/dist/esm/error.js +18 -0
- package/dist/esm/error.js.map +1 -0
- package/dist/esm/function/analyzeAVFormat.d.ts +3 -0
- package/dist/esm/function/analyzeAVFormat.js +30 -0
- package/dist/esm/function/analyzeAVFormat.js.map +1 -0
- package/dist/esm/function/analyzeUrlIOLoader.d.ts +7 -0
- package/dist/esm/function/analyzeUrlIOLoader.js +63 -0
- package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -0
- package/dist/esm/function/audioData2AVFrame.d.ts +2 -0
- package/dist/esm/function/audioData2AVFrame.js +51 -0
- package/dist/esm/function/audioData2AVFrame.js.map +1 -0
- package/dist/esm/function/avframe2AudioData.d.ts +3 -0
- package/dist/esm/function/avframe2AudioData.js +104 -0
- package/dist/esm/function/avframe2AudioData.js.map +1 -0
- package/dist/esm/function/avframe2VideoFrame.d.ts +6 -0
- package/dist/esm/function/avframe2VideoFrame.js +117 -0
- package/dist/esm/function/avframe2VideoFrame.js.map +1 -0
- package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +2 -0
- package/dist/esm/function/avpacket2EncodedAudioChunk.js +13 -0
- package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -0
- package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +2 -0
- package/dist/esm/function/avpacket2EncodedVideoChunk.js +13 -0
- package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -0
- package/dist/esm/function/compileResource.d.ts +2 -0
- package/dist/esm/function/compileResource.js +17 -0
- package/dist/esm/function/compileResource.js.map +1 -0
- package/dist/esm/function/encodedAudioChunk2AVPacket.d.ts +2 -0
- package/dist/esm/function/encodedAudioChunk2AVPacket.js +28 -0
- package/dist/esm/function/encodedAudioChunk2AVPacket.js.map +1 -0
- package/dist/esm/function/encodedVideoChunk2AVPacket.d.ts +7 -0
- package/dist/esm/function/encodedVideoChunk2AVPacket.js +35 -0
- package/dist/esm/function/encodedVideoChunk2AVPacket.js.map +1 -0
- package/dist/esm/function/getAudioCodec.d.ts +2 -0
- package/dist/esm/function/getAudioCodec.js +10 -0
- package/dist/esm/function/getAudioCodec.js.map +1 -0
- package/dist/esm/function/getHardwarePreference.d.ts +1 -0
- package/dist/esm/function/getHardwarePreference.js +6 -0
- package/dist/esm/function/getHardwarePreference.js.map +1 -0
- package/dist/esm/function/getVideoCodec.d.ts +2 -0
- package/dist/esm/function/getVideoCodec.js +64 -0
- package/dist/esm/function/getVideoCodec.js.map +1 -0
- package/dist/esm/function/hasAlphaChannel.d.ts +2 -0
- package/dist/esm/function/hasAlphaChannel.js +10 -0
- package/dist/esm/function/hasAlphaChannel.js.map +1 -0
- package/dist/esm/function/isHdr.d.ts +2 -0
- package/dist/esm/function/isHdr.js +10 -0
- package/dist/esm/function/isHdr.js.map +1 -0
- package/dist/esm/function/videoFrame2AVFrame.d.ts +7 -0
- package/dist/esm/function/videoFrame2AVFrame.js +111 -0
- package/dist/esm/function/videoFrame2AVFrame.js.map +1 -0
- package/dist/esm/implement/AVFramePoolImpl.d.ts +10 -0
- package/dist/esm/implement/AVFramePoolImpl.js +32 -0
- package/dist/esm/implement/AVFramePoolImpl.js.map +1 -0
- package/dist/esm/implement/AVPCMBufferPoolImpl.d.ts +10 -0
- package/dist/esm/implement/AVPCMBufferPoolImpl.js +28 -0
- package/dist/esm/implement/AVPCMBufferPoolImpl.js.map +1 -0
- package/dist/esm/implement/AVPacketPoolImpl.d.ts +10 -0
- package/dist/esm/implement/AVPacketPoolImpl.js +32 -0
- package/dist/esm/implement/AVPacketPoolImpl.js.map +1 -0
- package/dist/esm/pixelFormatDescriptor.d.ts +100 -0
- package/dist/esm/pixelFormatDescriptor.js +1071 -0
- package/dist/esm/pixelFormatDescriptor.js.map +1 -0
- package/dist/esm/pixfmt.d.ts +1294 -0
- package/dist/esm/pixfmt.js +2 -0
- package/dist/esm/pixfmt.js.map +1 -0
- package/dist/esm/sampleFormatDescriptor.d.ts +6 -0
- package/dist/esm/sampleFormatDescriptor.js +51 -0
- package/dist/esm/sampleFormatDescriptor.js.map +1 -0
- package/dist/esm/stringEnum.d.ts +105 -0
- package/dist/esm/stringEnum.js +242 -0
- package/dist/esm/stringEnum.js.map +1 -0
- package/dist/esm/struct/audiosample.d.ts +64 -0
- package/dist/esm/struct/audiosample.js +123 -0
- package/dist/esm/struct/audiosample.js.map +1 -0
- package/dist/esm/struct/avbuffer.d.ts +85 -0
- package/dist/esm/struct/avbuffer.js +309 -0
- package/dist/esm/struct/avbuffer.js.map +1 -0
- package/dist/esm/struct/avcodecparameters.d.ts +163 -0
- package/dist/esm/struct/avcodecparameters.js +387 -0
- package/dist/esm/struct/avcodecparameters.js.map +1 -0
- package/dist/esm/struct/avdict.d.ts +17 -0
- package/dist/esm/struct/avdict.js +65 -0
- package/dist/esm/struct/avdict.js.map +1 -0
- package/dist/esm/struct/avframe.d.ts +559 -0
- package/dist/esm/struct/avframe.js +723 -0
- package/dist/esm/struct/avframe.js.map +1 -0
- package/dist/esm/struct/avpacket.d.ts +125 -0
- package/dist/esm/struct/avpacket.js +281 -0
- package/dist/esm/struct/avpacket.js.map +1 -0
- package/dist/esm/struct/avpcmbuffer.d.ts +44 -0
- package/dist/esm/struct/avpcmbuffer.js +120 -0
- package/dist/esm/struct/avpcmbuffer.js.map +1 -0
- package/dist/esm/struct/avsubtitle.d.ts +30 -0
- package/dist/esm/struct/avsubtitle.js +2 -0
- package/dist/esm/struct/avsubtitle.js.map +1 -0
- package/dist/esm/struct/rational.d.ts +15 -0
- package/dist/esm/struct/rational.js +37 -0
- package/dist/esm/struct/rational.js.map +1 -0
- package/dist/esm/util/amf.d.ts +10 -0
- package/dist/esm/util/amf.js +84 -0
- package/dist/esm/util/amf.js.map +1 -0
- package/dist/esm/util/av1syntax.d.ts +9 -0
- package/dist/esm/util/av1syntax.js +54 -0
- package/dist/esm/util/av1syntax.js.map +1 -0
- package/dist/esm/util/avbuffer.d.ts +17 -0
- package/dist/esm/util/avbuffer.js +138 -0
- package/dist/esm/util/avbuffer.js.map +1 -0
- package/dist/esm/util/avdict.d.ts +8 -0
- package/dist/esm/util/avdict.js +77 -0
- package/dist/esm/util/avdict.js.map +1 -0
- package/dist/esm/util/avframe.d.ts +14 -0
- package/dist/esm/util/avframe.js +218 -0
- package/dist/esm/util/avframe.js.map +1 -0
- package/dist/esm/util/avpacket.d.ts +22 -0
- package/dist/esm/util/avpacket.js +161 -0
- package/dist/esm/util/avpacket.js.map +1 -0
- package/dist/esm/util/channel.d.ts +4 -0
- package/dist/esm/util/channel.js +25 -0
- package/dist/esm/util/channel.js.map +1 -0
- package/dist/esm/util/codecparameters.d.ts +4 -0
- package/dist/esm/util/codecparameters.js +73 -0
- package/dist/esm/util/codecparameters.js.map +1 -0
- package/dist/esm/util/common.d.ts +3 -0
- package/dist/esm/util/common.js +14 -0
- package/dist/esm/util/common.js.map +1 -0
- package/dist/esm/util/crypto.d.ts +1 -0
- package/dist/esm/util/crypto.js +4 -0
- package/dist/esm/util/crypto.js.map +1 -0
- package/dist/esm/util/expgolomb.d.ts +26 -0
- package/dist/esm/util/expgolomb.js +36 -0
- package/dist/esm/util/expgolomb.js.map +1 -0
- package/dist/esm/util/intread.d.ts +9 -0
- package/dist/esm/util/intread.js +38 -0
- package/dist/esm/util/intread.js.map +1 -0
- package/dist/esm/util/intwrite.d.ts +9 -0
- package/dist/esm/util/intwrite.js +38 -0
- package/dist/esm/util/intwrite.js.map +1 -0
- package/dist/esm/util/mem.d.ts +5 -0
- package/dist/esm/util/mem.js +34 -0
- package/dist/esm/util/mem.js.map +1 -0
- package/dist/esm/util/nalu.d.ts +12 -0
- package/dist/esm/util/nalu.js +113 -0
- package/dist/esm/util/nalu.js.map +1 -0
- package/dist/esm/util/ntp.d.ts +1 -0
- package/dist/esm/util/ntp.js +5 -0
- package/dist/esm/util/ntp.js.map +1 -0
- package/dist/esm/util/pcm.d.ts +4 -0
- package/dist/esm/util/pcm.js +139 -0
- package/dist/esm/util/pcm.js.map +1 -0
- package/dist/esm/util/pixel.d.ts +11 -0
- package/dist/esm/util/pixel.js +180 -0
- package/dist/esm/util/pixel.js.map +1 -0
- package/dist/esm/util/rational.d.ts +41 -0
- package/dist/esm/util/rational.js +33 -0
- package/dist/esm/util/rational.js.map +1 -0
- package/dist/esm/util/sample.d.ts +7 -0
- package/dist/esm/util/sample.js +48 -0
- package/dist/esm/util/sample.js.map +1 -0
- package/dist/esm/util/serialize.d.ts +64 -0
- package/dist/esm/util/serialize.js +136 -0
- package/dist/esm/util/serialize.js.map +1 -0
- package/include/audiosample.h +186 -0
- package/include/avbuffer.h +104 -0
- package/include/avcodec.h +585 -0
- package/include/avcodecparameters.h +189 -0
- package/include/avdict.h +23 -0
- package/include/avframe.h +1053 -0
- package/include/avpacket.h +498 -0
- package/include/avpcmbuffer.h +82 -0
- package/include/pixfmt.h +204 -0
- package/include/rational.h +10 -0
- package/package.json +386 -0
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
value: v
|
|
18
|
+
});
|
|
19
|
+
} : function(o, v) {
|
|
20
|
+
o.default = v;
|
|
21
|
+
}), __importStar = this && this.__importStar || function(mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
|
+
return __setModuleDefault(result, mod), result;
|
|
26
|
+
}, __importDefault = this && this.__importDefault || function(mod) {
|
|
27
|
+
return mod && mod.__esModule ? mod : {
|
|
28
|
+
default: mod
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
Object.defineProperty(exports, "__esModule", {
|
|
33
|
+
value: !0
|
|
34
|
+
}), exports.extradata2VpsSpsPps = extradata2VpsSpsPps, exports.vpsSpsPps2Extradata = vpsSpsPps2Extradata,
|
|
35
|
+
exports.annexbExtradata2AvccExtradata = annexbExtradata2AvccExtradata, exports.annexb2Avcc = function(data) {
|
|
36
|
+
let extradata, key = !1, nalus = (0, nalu_1.splitNaluByStartCode)(data);
|
|
37
|
+
if (nalus.length >= 2) {
|
|
38
|
+
const vpss = [], spss = [], ppss = [];
|
|
39
|
+
nalus.forEach((nalu => {
|
|
40
|
+
const type = nalu[1] >>> 3 & 31;
|
|
41
|
+
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type && ppss.push(nalu);
|
|
42
|
+
})), spss.length && ppss.length && (extradata = vpsSpsPps2Extradata(vpss, spss, ppss),
|
|
43
|
+
nalus = nalus.filter((nalu => {
|
|
44
|
+
const type = nalu[1] >>> 3 & 31;
|
|
45
|
+
return 14 !== type && 15 !== type && 16 !== type && 20 !== type;
|
|
46
|
+
})));
|
|
47
|
+
}
|
|
48
|
+
const length = nalus.reduce(((prev, nalu) => prev + NALULengthSizeMinusOne + 1 + nalu.length), 0), bufferPointer = (0,
|
|
49
|
+
mem_1.avMalloc)(length), buffer = (0, memory_1.mapUint8Array)(bufferPointer, length), bufferWriter = new BufferWriter_1.default(buffer);
|
|
50
|
+
return array.each(nalus, (nalu => {
|
|
51
|
+
3 === NALULengthSizeMinusOne ? bufferWriter.writeUint32(nalu.length) : 2 === NALULengthSizeMinusOne ? bufferWriter.writeUint24(nalu.length) : 1 === NALULengthSizeMinusOne ? bufferWriter.writeUint16(nalu.length) : bufferWriter.writeUint8(nalu.length),
|
|
52
|
+
bufferWriter.writeBuffer(nalu.subarray(0));
|
|
53
|
+
const type = nalu[1] >>> 3 & 31;
|
|
54
|
+
8 !== type && 7 !== type && 9 !== type && 10 !== type || (key = !0);
|
|
55
|
+
})), {
|
|
56
|
+
bufferPointer: bufferPointer,
|
|
57
|
+
length: length,
|
|
58
|
+
extradata: extradata,
|
|
59
|
+
key: key
|
|
60
|
+
};
|
|
61
|
+
}, exports.avcc2Annexb = function(data, extradata) {
|
|
62
|
+
const naluLengthSizeMinusOne = extradata ? extradata[0] >>> 1 & 3 : NALULengthSizeMinusOne;
|
|
63
|
+
let vpss = [], spss = [], ppss = [], key = !1;
|
|
64
|
+
if (extradata) {
|
|
65
|
+
const result = extradata2VpsSpsPps(extradata);
|
|
66
|
+
vpss = result.vpss, spss = result.spss, ppss = result.ppss, key = !0;
|
|
67
|
+
}
|
|
68
|
+
const nalus = [], bufferReader = new BufferReader_1.default(data);
|
|
69
|
+
for (;bufferReader.remainingSize() > 0; ) {
|
|
70
|
+
let length = 0;
|
|
71
|
+
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8(),
|
|
72
|
+
nalus.push(bufferReader.readBuffer(length));
|
|
73
|
+
}
|
|
74
|
+
let length = vpss.reduce(((prev, vps) => prev + 4 + vps.length), 0);
|
|
75
|
+
length = spss.reduce(((prev, sps) => prev + 4 + sps.length), length), length = ppss.reduce(((prev, pps) => prev + 4 + pps.length), length),
|
|
76
|
+
length = nalus.reduce(((prev, nalu, index) => prev + (index ? 3 : 4) + nalu.length), length);
|
|
77
|
+
const bufferPointer = (0, mem_1.avMalloc)(length + 7), buffer = (0, memory_1.mapUint8Array)(bufferPointer, length + 7), bufferWriter = new BufferWriter_1.default(buffer);
|
|
78
|
+
return bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
79
|
+
bufferWriter.writeUint8(1), bufferWriter.writeUint8(0), bufferWriter.writeUint8(160),
|
|
80
|
+
bufferWriter.writeUint8(240), array.each(vpss, (vps => {
|
|
81
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
82
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(vps);
|
|
83
|
+
})), array.each(spss, (sps => {
|
|
84
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
85
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sps);
|
|
86
|
+
})), array.each(ppss, (pps => {
|
|
87
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
88
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(pps);
|
|
89
|
+
})), array.each(nalus, ((nalu, index) => {
|
|
90
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), index || bufferWriter.writeUint8(0),
|
|
91
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(nalu);
|
|
92
|
+
const type = nalu[1] >>> 3 & 31;
|
|
93
|
+
8 !== type && 7 !== type && 9 !== type && 10 !== type || (key = !0);
|
|
94
|
+
})), {
|
|
95
|
+
bufferPointer: bufferPointer,
|
|
96
|
+
length: length + 7,
|
|
97
|
+
key: key
|
|
98
|
+
};
|
|
99
|
+
}, exports.parseAvccExtraData = function(avpacket, stream) {
|
|
100
|
+
if (!(1 & cheap__identifier__0.CTypeEnumRead[15](avpacket + 36))) return;
|
|
101
|
+
const data = (0, avpacket_1.getAVPacketData)(avpacket);
|
|
102
|
+
if ((0, nalu_1.isAnnexb)(data)) return;
|
|
103
|
+
const naluLengthSizeMinusOne = stream.metadata.naluLengthSizeMinusOne ?? NALULengthSizeMinusOne;
|
|
104
|
+
let vpss = [], spss = [], ppss = [];
|
|
105
|
+
const bufferReader = new BufferReader_1.default(data);
|
|
106
|
+
for (;bufferReader.remainingSize() > 0; ) {
|
|
107
|
+
let length = 0;
|
|
108
|
+
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
|
|
109
|
+
const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
|
|
110
|
+
bufferReader.skip(length);
|
|
111
|
+
const naluType = nalu[1] >>> 3 & 31;
|
|
112
|
+
15 === naluType ? spss.push(nalu) : 16 === naluType ? ppss.push(nalu) : 14 === naluType && vpss.push(nalu);
|
|
113
|
+
}
|
|
114
|
+
if (spss.length || ppss.length || vpss.length) {
|
|
115
|
+
const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = (0,
|
|
116
|
+
mem_1.avMalloc)(extradata.length);
|
|
117
|
+
(0, memory_1.memcpyFromUint8Array)(extradataPointer, extradata.length, extradata),
|
|
118
|
+
(0, avpacket_1.addAVPacketSideData)(avpacket, 1, extradataPointer, extradata.length);
|
|
119
|
+
}
|
|
120
|
+
}, exports.parseAnnexbExtraData = function(avpacket, force = !1) {
|
|
121
|
+
if (!(1 & cheap__identifier__0.CTypeEnumRead[15](avpacket + 36) || force)) return;
|
|
122
|
+
const data = (0, avpacket_1.getAVPacketData)(avpacket);
|
|
123
|
+
if (!(0, nalu_1.isAnnexb)(data)) return;
|
|
124
|
+
let nalus = (0, nalu_1.splitNaluByStartCode)(data);
|
|
125
|
+
if (nalus.length > 2) {
|
|
126
|
+
const vpss = [], spss = [], ppss = [];
|
|
127
|
+
if (nalus.forEach((nalu => {
|
|
128
|
+
const type = nalu[1] >>> 3 & 31;
|
|
129
|
+
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type && ppss.push(nalu);
|
|
130
|
+
})), vpss.length && spss.length && ppss.length) {
|
|
131
|
+
const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = (0,
|
|
132
|
+
mem_1.avMalloc)(extradata.length);
|
|
133
|
+
(0, memory_1.memcpyFromUint8Array)(extradataPointer, extradata.length, extradata),
|
|
134
|
+
(0, avpacket_1.addAVPacketSideData)(avpacket, 1, extradataPointer, extradata.length),
|
|
135
|
+
cheap__identifier__4.CTypeEnumWrite[15](avpacket + 36, 1 | cheap__identifier__0.CTypeEnumRead[15](avpacket + 36));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}, exports.parseAVCodecParametersBySps = parseAVCodecParametersBySps, exports.parseAVCodecParameters = function(stream, extradata) {
|
|
139
|
+
!extradata && stream.sideData[1] && (extradata = stream.sideData[1]);
|
|
140
|
+
if (extradata && extradata.length >= 6) {
|
|
141
|
+
stream.metadata.naluLengthSizeMinusOne = extradata[0] >>> 1 & 3;
|
|
142
|
+
const {spss: spss} = extradata2VpsSpsPps(extradata);
|
|
143
|
+
spss.length && parseAVCodecParametersBySps(stream, spss[0]);
|
|
144
|
+
}
|
|
145
|
+
}, exports.isIDR = function(avpacket, naluLengthSize = 4) {
|
|
146
|
+
if (2 === cheap__identifier__0.CTypeEnumRead[15](avpacket + 80)) {
|
|
147
|
+
return (0, nalu_1.splitNaluByStartCode)((0, memory_1.mapUint8Array)(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24), cheap__identifier__0.CTypeEnumRead[15](avpacket + 28))).some((nalu => {
|
|
148
|
+
const type = nalu[1] >>> 3 & 31;
|
|
149
|
+
return 8 === type || 7 === type;
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
{
|
|
153
|
+
const size = cheap__identifier__0.CTypeEnumRead[15](avpacket + 28);
|
|
154
|
+
let i = 0;
|
|
155
|
+
for (;i < size - naluLengthSize; ) {
|
|
156
|
+
const type = intread.r8(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24) + (i + naluLengthSize + 1)) >>> 3 & 31;
|
|
157
|
+
if (8 === type || 7 === type) return !0;
|
|
158
|
+
i += 4 === naluLengthSize ? intread.rb32(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24) + i) : 3 === naluLengthSize ? intread.rb24(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24) + i) : 2 === naluLengthSize ? intread.rb16(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24) + i) : intread.r8(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24) + i),
|
|
159
|
+
i += naluLengthSize;
|
|
160
|
+
}
|
|
161
|
+
return !1;
|
|
162
|
+
}
|
|
163
|
+
}, exports.parseSPS = parseSPS, exports.parseExtraData = function(extradata) {
|
|
164
|
+
0 === extradata[0] && 0 === extradata[1] && 0 === extradata[2] && 1 === extradata[3] && (extradata = annexbExtradata2AvccExtradata(extradata));
|
|
165
|
+
const bitReader = new BitReader_1.default;
|
|
166
|
+
bitReader.appendBuffer(extradata);
|
|
167
|
+
if (1 & bitReader.readU(8)) return parsePTL(bitReader);
|
|
168
|
+
return {};
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
const cheap__identifier__0 = require("@libmedia/cheap/ctypeEnumRead"), cheap__identifier__4 = require("@libmedia/cheap/ctypeEnumWrite"), array = __importStar(require("@libmedia/common/util/array")), BufferWriter_1 = __importDefault(require("@libmedia/common/io/BufferWriter")), BufferReader_1 = __importDefault(require("@libmedia/common/io/BufferReader")), BitReader_1 = __importDefault(require("@libmedia/common/io/BitReader")), memory_1 = require("@libmedia/cheap/std/memory"), nalu_1 = require("../util/nalu"), avpacket_1 = require("../util/avpacket"), mem_1 = require("../util/mem"), expgolomb = __importStar(require("../util/expgolomb")), BitWriter_1 = __importDefault(require("@libmedia/common/io/BitWriter")), intread = __importStar(require("../util/intread")), NALULengthSizeMinusOne = 3;
|
|
172
|
+
|
|
173
|
+
function parsePTL(bitReader) {
|
|
174
|
+
const olsIdx = bitReader.readU(9), numSublayers = bitReader.readU(3), constantFrameRate = bitReader.readU(2), chromaFormatIdc = bitReader.readU(2), bitDepthMinus8 = bitReader.readU(3);
|
|
175
|
+
bitReader.readU(5), bitReader.readU(2);
|
|
176
|
+
const num_bytes_constraint_info = bitReader.readU(6), generalProfileIdc = bitReader.readU(7), generalTierFlag = bitReader.readU(1), generalLevelIdc = bitReader.readU(8), ptlFrameOnlyConstraintFlag = bitReader.readU(1), ptlMultilayerEnabledFlag = bitReader.readU(1), generalConstraintInfo = [], sublayerLevelIdc = [];
|
|
177
|
+
if (num_bytes_constraint_info) {
|
|
178
|
+
for (let i = 0; i < num_bytes_constraint_info - 1; i++) generalConstraintInfo[i] = bitReader.readU(8);
|
|
179
|
+
generalConstraintInfo[num_bytes_constraint_info - 1] = bitReader.readU(6);
|
|
180
|
+
} else bitReader.readU(6);
|
|
181
|
+
if (numSublayers > 1) {
|
|
182
|
+
let ptl_sublayer_present_mask = 0;
|
|
183
|
+
for (let j = numSublayers - 2; j >= 0; --j) {
|
|
184
|
+
ptl_sublayer_present_mask |= bitReader.readU(1) << j;
|
|
185
|
+
}
|
|
186
|
+
for (let j = numSublayers; j <= 8 && numSublayers > 1; ++j) bitReader.readU(1);
|
|
187
|
+
for (let j = numSublayers - 2; j >= 0; --j) ptl_sublayer_present_mask & 1 << j && (sublayerLevelIdc[j] = bitReader.readU(8));
|
|
188
|
+
}
|
|
189
|
+
const ptl_num_sub_profiles = bitReader.readU(8), generalSubProfileIdc = [];
|
|
190
|
+
if (ptl_num_sub_profiles) for (let i = 0; i < ptl_num_sub_profiles; i++) generalSubProfileIdc.push(bitReader.readU(8));
|
|
191
|
+
return {
|
|
192
|
+
olsIdx: olsIdx,
|
|
193
|
+
numSublayers: numSublayers,
|
|
194
|
+
bitDepthMinus8: bitDepthMinus8,
|
|
195
|
+
chromaFormatIdc: chromaFormatIdc,
|
|
196
|
+
constantFrameRate: constantFrameRate,
|
|
197
|
+
generalProfileIdc: generalProfileIdc,
|
|
198
|
+
generalTierFlag: generalTierFlag,
|
|
199
|
+
generalLevelIdc: generalLevelIdc,
|
|
200
|
+
ptlFrameOnlyConstraintFlag: ptlFrameOnlyConstraintFlag,
|
|
201
|
+
ptlMultilayerEnabledFlag: ptlMultilayerEnabledFlag,
|
|
202
|
+
generalConstraintInfo: generalConstraintInfo,
|
|
203
|
+
sublayerLevelIdc: sublayerLevelIdc,
|
|
204
|
+
generalSubProfileIdc: generalSubProfileIdc,
|
|
205
|
+
maxPictureWidth: bitReader.readU(16),
|
|
206
|
+
maxPictureHeight: bitReader.readU(16),
|
|
207
|
+
avgFramerate: bitReader.readU(16)
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function extradata2VpsSpsPps(extradata) {
|
|
212
|
+
const bufferReader = new BufferReader_1.default(extradata, !0);
|
|
213
|
+
if (1 & bufferReader.readUint8()) {
|
|
214
|
+
const bitReader = new BitReader_1.default;
|
|
215
|
+
bitReader.appendBuffer(extradata.subarray(1)), parsePTL(bitReader), bufferReader.skip(bitReader.getPointer());
|
|
216
|
+
}
|
|
217
|
+
let vpss = [], spss = [], ppss = [];
|
|
218
|
+
const arrayLen = bufferReader.readUint8();
|
|
219
|
+
for (let i = 0; i < arrayLen; i++) {
|
|
220
|
+
const naluType = 31 & bufferReader.readUint8();
|
|
221
|
+
let count = 1;
|
|
222
|
+
13 !== naluType && 12 !== naluType && (count = bufferReader.readUint16());
|
|
223
|
+
const list = [];
|
|
224
|
+
for (let j = 0; j < count; j++) {
|
|
225
|
+
const len = bufferReader.readUint16();
|
|
226
|
+
list.push(bufferReader.readBuffer(len));
|
|
227
|
+
}
|
|
228
|
+
14 === naluType ? vpss = list : 15 === naluType ? spss = list : 16 === naluType && (ppss = list);
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
vpss: vpss,
|
|
232
|
+
spss: spss,
|
|
233
|
+
ppss: ppss
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
function vpsSpsPps2Extradata(vpss, spss, ppss) {
|
|
238
|
+
const sps = spss[0];
|
|
239
|
+
let ptl;
|
|
240
|
+
if (sps) {
|
|
241
|
+
const spsParams = parseSPS(sps);
|
|
242
|
+
let generalConstraintInfo = spsParams.generalConstraintInfo;
|
|
243
|
+
generalConstraintInfo.length || (generalConstraintInfo = new Array(12).fill(0));
|
|
244
|
+
const biWriter = new BitWriter_1.default;
|
|
245
|
+
if (biWriter.writeU(9, 0), biWriter.writeU(3, spsParams.spsMaxSublayersMinus1 + 1),
|
|
246
|
+
biWriter.writeU(2, 1), biWriter.writeU(2, spsParams.chromaFormatIdc), biWriter.writeU(3, spsParams.bitDepthMinus8),
|
|
247
|
+
biWriter.writeU(5, 31), biWriter.writeU(2, 0), biWriter.writeU(6, generalConstraintInfo.length),
|
|
248
|
+
biWriter.writeU(7, spsParams.profile), biWriter.writeU1(spsParams.tierFlag), biWriter.writeU(8, spsParams.level),
|
|
249
|
+
biWriter.writeU1(spsParams.ptlFrameOnlyConstraintFlag), biWriter.writeU1(spsParams.ptlMultilayerEnabledFlag),
|
|
250
|
+
generalConstraintInfo.length) {
|
|
251
|
+
for (let i = 0; i < generalConstraintInfo.length - 1; i++) biWriter.writeU(8, generalConstraintInfo[i]);
|
|
252
|
+
biWriter.writeU(6, generalConstraintInfo[generalConstraintInfo.length - 1]);
|
|
253
|
+
} else biWriter.writeU(6, 63);
|
|
254
|
+
if (spsParams.spsMaxSublayersMinus1 + 1 > 1) {
|
|
255
|
+
let ptlSubLayerLevelPresentFlags = 0;
|
|
256
|
+
for (let i = spsParams.spsMaxSublayersMinus1 - 1; i >= 0; i--) ptlSubLayerLevelPresentFlags = ptlSubLayerLevelPresentFlags << 1 | spsParams.ptlSublayerLevelPresentFlag[i];
|
|
257
|
+
biWriter.writeU(spsParams.spsMaxSublayersMinus1, ptlSubLayerLevelPresentFlags);
|
|
258
|
+
for (let j = spsParams.spsMaxSublayersMinus1 + 1; j <= 8 && spsParams.spsMaxSublayersMinus1 > 0; ++j) biWriter.writeU1(0);
|
|
259
|
+
for (let i = spsParams.spsMaxSublayersMinus1 - 1; i >= 0; i--) spsParams.ptlSublayerLevelPresentFlag[i] && biWriter.writeU(8, spsParams.sublayerLevelIdc[i]);
|
|
260
|
+
}
|
|
261
|
+
biWriter.writeU(8, spsParams.generalSubProfileIdc.length);
|
|
262
|
+
for (let i = 0; i < spsParams.generalSubProfileIdc.length; i++) biWriter.writeU(8, spsParams.sublayerLevelIdc[i]);
|
|
263
|
+
biWriter.writeU(16, spsParams.width), biWriter.writeU(16, spsParams.height), biWriter.writeU(16, 0),
|
|
264
|
+
biWriter.padding(), ptl = biWriter.getBuffer().subarray(0, biWriter.getPointer());
|
|
265
|
+
}
|
|
266
|
+
let length = 2 + (ptl ? ptl.length : 0);
|
|
267
|
+
vpss.length && (length += 3, length = vpss.reduce(((prev, value) => prev + 2 + value.length), length)),
|
|
268
|
+
spss.length && (length += 3, length = spss.reduce(((prev, value) => prev + 2 + value.length), length)),
|
|
269
|
+
ppss.length && (length += 3, length = ppss.reduce(((prev, value) => prev + 2 + value.length), length));
|
|
270
|
+
const buffer = new Uint8Array(length), bufferWriter = new BufferWriter_1.default(buffer, !0);
|
|
271
|
+
bufferWriter.writeUint8(NALULengthSizeMinusOne << 1 | (ptl ? 1 : 0) | 248), ptl && bufferWriter.writeBuffer(ptl);
|
|
272
|
+
let numOfArrays = 0;
|
|
273
|
+
return vpss.length && numOfArrays++, spss.length && numOfArrays++, ppss.length && numOfArrays++,
|
|
274
|
+
bufferWriter.writeUint8(numOfArrays), vpss.length && (bufferWriter.writeUint8(142),
|
|
275
|
+
bufferWriter.writeUint16(vpss.length), array.each(vpss, (vps => {
|
|
276
|
+
bufferWriter.writeUint16(vps.length), bufferWriter.writeBuffer(vps);
|
|
277
|
+
}))), spss.length && (bufferWriter.writeUint8(143), bufferWriter.writeUint16(spss.length),
|
|
278
|
+
array.each(spss, (sps => {
|
|
279
|
+
bufferWriter.writeUint16(sps.length), bufferWriter.writeBuffer(sps);
|
|
280
|
+
}))), ppss.length && (bufferWriter.writeUint8(144), bufferWriter.writeUint16(ppss.length),
|
|
281
|
+
array.each(ppss, (pps => {
|
|
282
|
+
bufferWriter.writeUint16(pps.length), bufferWriter.writeBuffer(pps);
|
|
283
|
+
}))), buffer;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
function annexbExtradata2AvccExtradata(data) {
|
|
287
|
+
let nalus = (0, nalu_1.splitNaluByStartCode)(data);
|
|
288
|
+
if (nalus.length >= 2) {
|
|
289
|
+
const vpss = [], spss = [], ppss = [];
|
|
290
|
+
if (nalus.forEach((nalu => {
|
|
291
|
+
const type = nalu[1] >>> 3 & 31;
|
|
292
|
+
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type && ppss.push(nalu);
|
|
293
|
+
})), spss.length && ppss.length) return vpsSpsPps2Extradata(vpss, spss, ppss);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
function parseAVCodecParametersBySps(stream, sps) {
|
|
298
|
+
const {profile: profile, level: level, width: width, height: height} = parseSPS(sps);
|
|
299
|
+
stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
|
|
300
|
+
stream.codecpar.height = height;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
function parseSPS(sps) {
|
|
304
|
+
if (!sps || sps.length < 3) return;
|
|
305
|
+
let offset = 0;
|
|
306
|
+
0 === sps[0] && 0 === sps[1] && 0 === sps[2] && 1 === sps[3] && (offset = 4);
|
|
307
|
+
let profile = 0, level = 0, width = 0, height = 0, bitDepthMinus8 = 0, chromaFormatIdc = 1, tierFlag = 0, ptlFrameOnlyConstraintFlag = 0, ptlMultilayerEnabledFlag = 0;
|
|
308
|
+
const generalConstraintInfo = [], ptlSublayerLevelPresentFlag = [], sublayerLevelIdc = [], generalSubProfileIdc = [], buffer = (0,
|
|
309
|
+
nalu_1.naluUnescape)(sps.subarray(offset)), bitReader = new BitReader_1.default(buffer.length);
|
|
310
|
+
bitReader.appendBuffer(buffer), bitReader.readU1(), bitReader.readU1(), bitReader.readU(6),
|
|
311
|
+
bitReader.readU(5), bitReader.readU(3), bitReader.readU(8);
|
|
312
|
+
const spsMaxSublayersMinus1 = bitReader.readU(3);
|
|
313
|
+
chromaFormatIdc = bitReader.readU(2);
|
|
314
|
+
const sps_log2_ctu_size_minus5 = bitReader.readU(2);
|
|
315
|
+
if (bitReader.readU(1)) {
|
|
316
|
+
profile = bitReader.readU(7), tierFlag = bitReader.readU(1), level = bitReader.readU(8),
|
|
317
|
+
ptlFrameOnlyConstraintFlag = bitReader.readU(1), ptlMultilayerEnabledFlag = bitReader.readU(1);
|
|
318
|
+
if (bitReader.readU(1)) {
|
|
319
|
+
for (let j = 0; j < 8; j++) generalConstraintInfo[j] = bitReader.readU(8);
|
|
320
|
+
generalConstraintInfo[8] = bitReader.readU(7);
|
|
321
|
+
const gci_num_reserved_bits = bitReader.readU(8);
|
|
322
|
+
bitReader.readU(gci_num_reserved_bits);
|
|
323
|
+
}
|
|
324
|
+
bitReader.skipPadding();
|
|
325
|
+
for (let i = spsMaxSublayersMinus1 - 1; i >= 0; i--) ptlSublayerLevelPresentFlag[i] = bitReader.readU(1);
|
|
326
|
+
bitReader.skipPadding();
|
|
327
|
+
for (let i = spsMaxSublayersMinus1 - 1; i >= 0; i--) ptlSublayerLevelPresentFlag[i] && (sublayerLevelIdc[i] = bitReader.readU(8));
|
|
328
|
+
const ptl_num_sub_profiles = bitReader.readU(8);
|
|
329
|
+
if (ptl_num_sub_profiles) for (let i = 0; i < ptl_num_sub_profiles; i++) generalSubProfileIdc[i] = bitReader.readU(32);
|
|
330
|
+
}
|
|
331
|
+
bitReader.readU1();
|
|
332
|
+
bitReader.readU1() && bitReader.readU1();
|
|
333
|
+
const sps_pic_width_max_in_luma_samples = width = expgolomb.readUE(bitReader), sps_pic_height_max_in_luma_samples = height = expgolomb.readUE(bitReader);
|
|
334
|
+
if (bitReader.readU1() && (expgolomb.readUE(bitReader), expgolomb.readUE(bitReader),
|
|
335
|
+
expgolomb.readUE(bitReader), expgolomb.readUE(bitReader)), bitReader.readU1()) {
|
|
336
|
+
const sps_num_subpics_minus1 = expgolomb.readUE(bitReader), ctb_log2_size_y = sps_log2_ctu_size_minus5 + 5, ctb_size_y = 1 << ctb_log2_size_y, tmp_width_val = sps_pic_width_max_in_luma_samples / (1 << ctb_log2_size_y), tmp_height_val = sps_pic_height_max_in_luma_samples / (1 << ctb_log2_size_y), wlen = Math.ceil(Math.log2(tmp_width_val)), hlen = Math.ceil(Math.log2(tmp_height_val));
|
|
337
|
+
let sps_subpic_id_len = 0, sps_subpic_same_size_flag = 0, sps_independent_subpics_flag = 0;
|
|
338
|
+
sps_num_subpics_minus1 > 0 && (sps_independent_subpics_flag = bitReader.readU1(),
|
|
339
|
+
sps_subpic_same_size_flag = bitReader.readU1());
|
|
340
|
+
for (let i = 0; sps_num_subpics_minus1 > 0 && i <= sps_num_subpics_minus1; i++) sps_subpic_same_size_flag && 0 != i || (i > 0 && sps_pic_width_max_in_luma_samples > ctb_size_y && bitReader.readU(wlen),
|
|
341
|
+
i > 0 && sps_pic_height_max_in_luma_samples > ctb_size_y && bitReader.readU(hlen),
|
|
342
|
+
i < sps_num_subpics_minus1 && sps_pic_width_max_in_luma_samples > ctb_size_y && bitReader.readU(wlen),
|
|
343
|
+
i < sps_num_subpics_minus1 && sps_pic_height_max_in_luma_samples > ctb_size_y && bitReader.readU(hlen)),
|
|
344
|
+
sps_independent_subpics_flag || bitReader.readU(2);
|
|
345
|
+
if (sps_subpic_id_len = expgolomb.readUE(bitReader) + 1, bitReader.readU(1) && bitReader.readU(1)) for (let i = 0; i <= sps_num_subpics_minus1; i++) bitReader.readU(sps_subpic_id_len);
|
|
346
|
+
}
|
|
347
|
+
bitDepthMinus8 = expgolomb.readUE(bitReader), bitReader.readU(1), bitReader.readU(1);
|
|
348
|
+
const sps_log2_max_pic_order_cnt_lsb_minus4 = bitReader.readU(4), sps_poc_msb_cycle_flag = bitReader.readU(1);
|
|
349
|
+
let sps_poc_msb_cycle_len_minus1 = 0;
|
|
350
|
+
sps_poc_msb_cycle_flag && (sps_poc_msb_cycle_len_minus1 = expgolomb.readUE(bitReader));
|
|
351
|
+
const sps_extra_ph_bit_present_flag = [], sps_num_extra_ph_bytes = bitReader.readU(2);
|
|
352
|
+
for (let i = 0; i < 8 * sps_num_extra_ph_bytes; i++) sps_extra_ph_bit_present_flag[i] = bitReader.readU(1);
|
|
353
|
+
return {
|
|
354
|
+
profile: profile,
|
|
355
|
+
level: level,
|
|
356
|
+
width: width,
|
|
357
|
+
height: height,
|
|
358
|
+
chromaFormatIdc: chromaFormatIdc,
|
|
359
|
+
bitDepthMinus8: bitDepthMinus8,
|
|
360
|
+
generalProfileSpace: 0,
|
|
361
|
+
tierFlag: tierFlag,
|
|
362
|
+
generalConstraintInfo: generalConstraintInfo,
|
|
363
|
+
generalSubProfileIdc: generalSubProfileIdc,
|
|
364
|
+
ptlFrameOnlyConstraintFlag: ptlFrameOnlyConstraintFlag,
|
|
365
|
+
ptlMultilayerEnabledFlag: ptlMultilayerEnabledFlag,
|
|
366
|
+
spsMaxSublayersMinus1: spsMaxSublayersMinus1,
|
|
367
|
+
ptlSublayerLevelPresentFlag: ptlSublayerLevelPresentFlag,
|
|
368
|
+
sublayerLevelIdc: sublayerLevelIdc,
|
|
369
|
+
sps_log2_max_pic_order_cnt_lsb_minus4: sps_log2_max_pic_order_cnt_lsb_minus4,
|
|
370
|
+
sps_poc_msb_cycle_flag: sps_poc_msb_cycle_flag,
|
|
371
|
+
sps_poc_msb_cycle_len_minus1: sps_poc_msb_cycle_len_minus1,
|
|
372
|
+
sps_num_extra_ph_bytes: sps_num_extra_ph_bytes,
|
|
373
|
+
sps_extra_ph_bit_present_flag: sps_extra_ph_bit_present_flag
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
//# sourceMappingURL=vvc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["exports","extradata2VpsSpsPps","vpsSpsPps2Extradata","annexbExtradata2AvccExtradata","annexb2Avcc","data","extradata","key","nalus","nalu_1","splitNaluByStartCode","length","vpss","spss","ppss","forEach","nalu","type","push","filter","reduce","prev","NALULengthSizeMinusOne","bufferPointer","mem_1","avMalloc","buffer","memory_1","mapUint8Array","bufferWriter","BufferWriter_1","default","array","each","writeUint32","writeUint24","writeUint16","writeUint8","writeBuffer","subarray","avcc2Annexb","naluLengthSizeMinusOne","result","bufferReader","BufferReader_1","remainingSize","readUint32","readUint24","readUint16","readUint8","readBuffer","vps","sps","pps","index","parseAvccExtraData","avpacket","stream","cheap__identifier__0","CTypeEnumRead","avpacket_1","getAVPacketData","isAnnexb","metadata","Number","BigInt","asIntN","getPos","skip","naluType","extradataPointer","memcpyFromUint8Array","addAVPacketSideData","parseAnnexbExtraData","force","cheap__identifier__4","CTypeEnumWrite","parseAVCodecParametersBySps","parseAVCodecParameters","sideData","isIDR","naluLengthSize","some","size","i","intread","r8","rb32","rb24","rb16","parseSPS","parseExtraData","bitReader","BitReader_1","appendBuffer","readU","parsePTL","__importStar","require","__importDefault","expgolomb","BitWriter_1","olsIdx","numSublayers","constantFrameRate","chromaFormatIdc","bitDepthMinus8","num_bytes_constraint_info","generalProfileIdc","generalTierFlag","generalLevelIdc","ptlFrameOnlyConstraintFlag","ptlMultilayerEnabledFlag","generalConstraintInfo","sublayerLevelIdc","ptl_sublayer_present_mask","j","ptl_num_sub_profiles","generalSubProfileIdc","maxPictureWidth","maxPictureHeight","avgFramerate","getPointer","arrayLen","count","list","len","ptl","spsParams","Array","fill","biWriter","writeU","spsMaxSublayersMinus1","profile","writeU1","tierFlag","level","ptlSubLayerLevelPresentFlags","ptlSublayerLevelPresentFlag","width","height","padding","getBuffer","value","Uint8Array","numOfArrays","codecpar","offset","naluUnescape","readU1","sps_log2_ctu_size_minus5","gci_num_reserved_bits","skipPadding","sps_pic_width_max_in_luma_samples","readUE","sps_pic_height_max_in_luma_samples","sps_num_subpics_minus1","ctb_log2_size_y","ctb_size_y","tmp_width_val","tmp_height_val","wlen","Math","ceil","log2","hlen","sps_subpic_id_len","sps_subpic_same_size_flag","sps_independent_subpics_flag","sps_log2_max_pic_order_cnt_lsb_minus4","sps_poc_msb_cycle_flag","sps_poc_msb_cycle_len_minus1","sps_extra_ph_bit_present_flag","sps_num_extra_ph_bytes","generalProfileSpace"],"sources":["../../../codecs/vvc.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Rational } from "./struct/rational";
|
|
2
|
+
export declare const NOPTS_VALUE_BIGINT: int64;
|
|
3
|
+
export declare const NOPTS_VALUE: int32;
|
|
4
|
+
export declare const AV_TIME_BASE: int32;
|
|
5
|
+
export declare const AV_MILLI_TIME_BASE: int32;
|
|
6
|
+
export declare const NTP_OFFSET = 2208988800n;
|
|
7
|
+
export declare const NTP_OFFSET_US: bigint;
|
|
8
|
+
/**
|
|
9
|
+
* 微秒时间基
|
|
10
|
+
*/
|
|
11
|
+
export declare const AV_TIME_BASE_Q: Rational;
|
|
12
|
+
/**
|
|
13
|
+
* 毫秒时间基
|
|
14
|
+
*/
|
|
15
|
+
export declare const AV_MILLI_TIME_BASE_Q: Rational;
|
|
16
|
+
/**
|
|
17
|
+
* 秒时间基
|
|
18
|
+
*/
|
|
19
|
+
export declare const AV_TIME_BASE1_Q: Rational;
|
|
20
|
+
export declare const INT8_MAX: int8;
|
|
21
|
+
export declare const INT16_MAX: int16;
|
|
22
|
+
export declare const INT32_MAX: int32;
|
|
23
|
+
export declare const INT8_MIN: int8;
|
|
24
|
+
export declare const INT16_MIN: int16;
|
|
25
|
+
export declare const INT32_MIN: int32;
|
|
26
|
+
export declare const UINT8_MAX: uint8;
|
|
27
|
+
export declare const UINT16_MAX: uint16;
|
|
28
|
+
export declare const UINT32_MAX: uint32;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.UINT32_MAX = exports.UINT16_MAX = exports.UINT8_MAX = exports.INT32_MIN = exports.INT16_MIN = exports.INT8_MIN = exports.INT32_MAX = exports.INT16_MAX = exports.INT8_MAX = exports.AV_TIME_BASE1_Q = exports.AV_MILLI_TIME_BASE_Q = exports.AV_TIME_BASE_Q = exports.NTP_OFFSET_US = exports.NTP_OFFSET = exports.AV_MILLI_TIME_BASE = exports.AV_TIME_BASE = exports.NOPTS_VALUE = exports.NOPTS_VALUE_BIGINT = void 0;
|
|
6
|
+
|
|
7
|
+
const rational_1 = require("./struct/rational");
|
|
8
|
+
|
|
9
|
+
exports.NOPTS_VALUE_BIGINT = -BigInt(1), exports.NOPTS_VALUE = -1, exports.AV_TIME_BASE = 1e6,
|
|
10
|
+
exports.AV_MILLI_TIME_BASE = 1e3, exports.NTP_OFFSET = BigInt(2208988800), exports.NTP_OFFSET_US = exports.NTP_OFFSET * BigInt(1e6),
|
|
11
|
+
exports.AV_TIME_BASE_Q = new rational_1.Rational({
|
|
12
|
+
den: exports.AV_TIME_BASE,
|
|
13
|
+
num: 1
|
|
14
|
+
}), exports.AV_MILLI_TIME_BASE_Q = new rational_1.Rational({
|
|
15
|
+
den: exports.AV_MILLI_TIME_BASE,
|
|
16
|
+
num: 1
|
|
17
|
+
}), exports.AV_TIME_BASE1_Q = new rational_1.Rational({
|
|
18
|
+
den: 1,
|
|
19
|
+
num: 1
|
|
20
|
+
}), exports.INT8_MAX = 127, exports.INT16_MAX = 32767, exports.INT32_MAX = 2147483647,
|
|
21
|
+
exports.INT8_MIN = -128, exports.INT16_MIN = -32768, exports.INT32_MIN = -exports.INT32_MAX - 1,
|
|
22
|
+
exports.UINT8_MAX = 255, exports.UINT16_MAX = 65535, exports.UINT32_MAX = 4294967295;
|
|
23
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["rational_1","require","exports","NOPTS_VALUE_BIGINT","BigInt","NOPTS_VALUE","AV_TIME_BASE","AV_MILLI_TIME_BASE","NTP_OFFSET","NTP_OFFSET_US","AV_TIME_BASE_Q","Rational","den","num","AV_MILLI_TIME_BASE_Q","AV_TIME_BASE1_Q","INT8_MAX","INT16_MAX","INT32_MAX","INT8_MIN","INT16_MIN","INT32_MIN","UINT8_MAX","UINT16_MAX","UINT32_MAX"],"sources":["../../constant.ts"],"mappings":";;;;;;AAyBA,MAAAA,aAAAC,QAAA;;AAEaC,QAAAC,sBAA4BC,OAAA,IAE5BF,QAAAG,eAAsB,GAEtBH,QAAAI,eAAsB;AAEtBJ,QAAAK,qBAA4B,KAE5BL,QAAAM,aAAUJ,OAAA,aACVF,QAAAO,gBAAiBP,QAAAM,aAAUJ,OAAA;AAK3BF,QAAAQ,iBAAiB,IAAIV,WAAAW,SAAS;IAACC,KAAKV,QAAAI;IAAcO,KAAK;IAKvDX,QAAAY,uBAAuB,IAAId,WAAAW,SAAS;IAACC,KAAKV,QAAAK;IAAoBM,KAAK;IAKnEX,QAAAa,kBAAkB,IAAIf,WAAAW,SAAS;IAACC,KAAK;IAAGC,KAAK;IAE7CX,QAAAc,WAAiB,KACjBd,QAAAe,YAAmB,OACnBf,QAAAgB,YAAmB;AAEnBhB,QAAAiB,YAAmB,KACnBjB,QAAAkB,aAAoB,OACpBlB,QAAAmB,aAAoBnB,QAAAgB,YAAY;AAEhChB,QAAAoB,YAAmB,KACnBpB,QAAAqB,aAAqB,OACrBrB,QAAAsB,aAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const FORMAT_NOT_SUPPORT = -1;
|
|
2
|
+
export declare const DATA_INVALID = -2;
|
|
3
|
+
export declare const INVALID_ARGUMENT = -3;
|
|
4
|
+
export declare const NO_MEMORY = -4;
|
|
5
|
+
export declare const INVALID_OPERATE = -5;
|
|
6
|
+
export declare const EAGAIN = -6;
|
|
7
|
+
export declare const EOF = -7;
|
|
8
|
+
export declare const CODEC_NOT_SUPPORT = -8;
|
|
9
|
+
export declare const OPERATE_NOT_SUPPORT = -9;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.OPERATE_NOT_SUPPORT = exports.CODEC_NOT_SUPPORT = exports.EOF = exports.EAGAIN = exports.INVALID_OPERATE = exports.NO_MEMORY = exports.INVALID_ARGUMENT = exports.DATA_INVALID = exports.FORMAT_NOT_SUPPORT = void 0,
|
|
6
|
+
exports.FORMAT_NOT_SUPPORT = -1, exports.DATA_INVALID = -2, exports.INVALID_ARGUMENT = -3,
|
|
7
|
+
exports.NO_MEMORY = -4, exports.INVALID_OPERATE = -5, exports.EAGAIN = -6, exports.EOF = -7,
|
|
8
|
+
exports.CODEC_NOT_SUPPORT = -8, exports.OPERATE_NOT_SUPPORT = -9;
|
|
9
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["exports","FORMAT_NOT_SUPPORT","DATA_INVALID","INVALID_ARGUMENT","NO_MEMORY","INVALID_OPERATE","EAGAIN","EOF","CODEC_NOT_SUPPORT","OPERATE_NOT_SUPPORT"],"sources":["../../error.ts"],"mappings":";;;;;AA0BaA,QAAAC,sBAAsB,GAEtBD,QAAAE,gBAAgB,GAEhBF,QAAAG,oBAAoB;AAEpBH,QAAAI,aAAa,GAEbJ,QAAAK,mBAAmB,GAEnBL,QAAAM,UAAU,GAEVN,QAAAO,OAAO;AAEPP,QAAAQ,qBAAqB,GAErBR,QAAAS,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.default = async function(ioReader, defaultFormat = -1) {
|
|
6
|
+
let signature = await ioReader.peekString(8);
|
|
7
|
+
if (/^FLV/.test(signature)) return 0;
|
|
8
|
+
if (/^DKIF/.test(signature)) return 5;
|
|
9
|
+
if (/^ftyp/.test(signature.slice(4, 8))) return 1;
|
|
10
|
+
if (/^OggS/.test(signature)) return 4;
|
|
11
|
+
if (/^ID3/.test(signature)) return 14;
|
|
12
|
+
if (/^fLaC/.test(signature)) return 17;
|
|
13
|
+
if (/^RIFF/.test(signature)) {
|
|
14
|
+
const dataType = (await ioReader.peekString(12)).slice(8);
|
|
15
|
+
if (/^WAVE/.test(dataType)) return 16;
|
|
16
|
+
} else {
|
|
17
|
+
if (/^ADIF/.test(signature)) return 15;
|
|
18
|
+
if (440786851 === await ioReader.peekUint32()) return 8;
|
|
19
|
+
{
|
|
20
|
+
const buf = await ioReader.peekBuffer(2);
|
|
21
|
+
switch (buf[0]) {
|
|
22
|
+
case 86:
|
|
23
|
+
if (!(224 & ~buf[1])) return 15;
|
|
24
|
+
break;
|
|
25
|
+
|
|
26
|
+
case 255:
|
|
27
|
+
if (240 == (246 & buf[1])) return 15;
|
|
28
|
+
if ([ 242, 244, 246, 250, 252 ].includes(254 & buf[1])) return 14;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return defaultFormat;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=analyzeAVFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["exports","default","async","ioReader","defaultFormat","signature","peekString","test","slice","dataType","peekUint32","buf","peekBuffer","includes"],"sources":["../../../function/analyzeAVFormat.ts"],"mappings":";;;;IA4BAA,QAAAC,UAAeC,eAA+BC,UAAoBC,iBAAA;IAChE,IAAIC,kBAAkBF,SAASG,WAAW;IAC1C,IAAI,OAAOC,KAAKF,YACd;IAEG,IAAI,QAAQE,KAAKF,YACpB;IAEG,IAAI,QAAQE,KAAKF,UAAUG,MAAM,GAAG,KACvC;IAEG,IAAI,QAAQD,KAAKF,YACpB;IAEG,IAAI,OAAOE,KAAKF,YACnB;IAEG,IAAI,QAAQE,KAAKF,YACpB;IAEG,IAAI,QAAQE,KAAKF,YAAY;QAChC,MAAMI,kBAAkBN,SAASG,WAAW,KAAKE,MAAM;QACvD,IAAI,QAAQD,KAAKE,WACf;AAEJ,WACK;QAAA,IAAI,QAAQF,KAAKF,YACpB;QAEG,IAAsC,oBAA3BF,SAASO,cACvB;QAEG;YACH,MAAMC,YAAYR,SAASS,WAAW;YACtC,QAAQD,IAAI;cACV,KAAK;gBACH,MAAwB,OAAnBA,IAAI,KACP;gBAEF;;cACF,KAAK;gBACH,IAAwB,QAAV,MAATA,IAAI,KACP;gBAEG,IAAI,EAAC,KAAM,KAAM,KAAM,KAAM,MAAME,SAAkB,MAATF,IAAI,KACnD;;AAIR;AAAA;IACA,OAAOP;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IOType } from "../avformat";
|
|
2
|
+
import { Data, HttpOptions } from "@libmedia/common/types/type";
|
|
3
|
+
export default function analyzeUrlIOLoader(source: string, defaultExt?: string, httpOptions?: HttpOptions): Promise<{
|
|
4
|
+
type: IOType;
|
|
5
|
+
ext: string;
|
|
6
|
+
info: Data;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
value: v
|
|
18
|
+
});
|
|
19
|
+
} : function(o, v) {
|
|
20
|
+
o.default = v;
|
|
21
|
+
}), __importStar = this && this.__importStar || function(mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
|
+
return __setModuleDefault(result, mod), result;
|
|
26
|
+
}, __importDefault = this && this.__importDefault || function(mod) {
|
|
27
|
+
return mod && mod.__esModule ? mod : {
|
|
28
|
+
default: mod
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
Object.defineProperty(exports, "__esModule", {
|
|
33
|
+
value: !0
|
|
34
|
+
}), exports.default = async function(source, defaultExt = "", httpOptions = {}) {
|
|
35
|
+
let type, ext = "", info = {
|
|
36
|
+
url: source
|
|
37
|
+
};
|
|
38
|
+
if (/^rtsp/.test(source) || /^rtmp/.test(source)) {
|
|
39
|
+
/^rtsp/.test(source) ? ext = "rtsp" : /^rtmp/.test(source) && (ext = "rtmp"), type = 2;
|
|
40
|
+
const subProtocol = urlUtils.parse(source).protocol.split("+")[1] || "wss";
|
|
41
|
+
"wss" === subProtocol || "ws" === subProtocol ? type = 2 : "webtransport" === subProtocol && (type = 3),
|
|
42
|
+
info.url = info.url.replace(/^\S+:\/\//, subProtocol + "://"), "rtmp" === ext && (info.subProtocol = type,
|
|
43
|
+
type = 6);
|
|
44
|
+
} else ext = defaultExt || urlUtils.parse(source).file.split(".").pop(), ext || (ext = await async function(url, httpOptions = {}) {
|
|
45
|
+
const params = {
|
|
46
|
+
method: "GET",
|
|
47
|
+
headers: {},
|
|
48
|
+
mode: "cors",
|
|
49
|
+
cache: "default",
|
|
50
|
+
referrerPolicy: "no-referrer-when-downgrade"
|
|
51
|
+
};
|
|
52
|
+
httpOptions.headers && object.each(httpOptions.headers, ((value, key) => {
|
|
53
|
+
params.headers[key] = value;
|
|
54
|
+
}));
|
|
55
|
+
httpOptions.credentials && (params.credentials = httpOptions.credentials);
|
|
56
|
+
httpOptions.referrerPolicy && (params.referrerPolicy = httpOptions.referrerPolicy);
|
|
57
|
+
let abortController;
|
|
58
|
+
"function" == typeof AbortController && (abortController = new AbortController,
|
|
59
|
+
params.signal = abortController.signal);
|
|
60
|
+
const res = await fetch(url, params);
|
|
61
|
+
if (res.ok && res.status >= 200 && res.status <= 299) {
|
|
62
|
+
const reader = res.body.getReader(), buffers = [];
|
|
63
|
+
let len = 0;
|
|
64
|
+
for (;;) {
|
|
65
|
+
let result = await reader.read();
|
|
66
|
+
if (result.done) break;
|
|
67
|
+
if (len += result.value.length, buffers.push(result.value), len >= 100) break;
|
|
68
|
+
}
|
|
69
|
+
if (abortController && abortController.abort(), buffers.length) {
|
|
70
|
+
const buffer = buffers.length > 1 ? (0, concatTypeArray_1.default)(Uint8Array, buffers) : buffers[0];
|
|
71
|
+
if (buffer.length) {
|
|
72
|
+
const context = text.decode(buffer.subarray(0, 100));
|
|
73
|
+
if (/<\?xml/.test(context)) {
|
|
74
|
+
if (context.indexOf("<MPD") > -1) return "mpd";
|
|
75
|
+
} else if (/#EXTM3U/.test(context)) return "m3u8";
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return "";
|
|
80
|
+
}(source, httpOptions)), type = stringEnum_1.Ext2IOLoader[ext] ?? 0;
|
|
81
|
+
return {
|
|
82
|
+
type: type,
|
|
83
|
+
ext: ext,
|
|
84
|
+
info: info
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const stringEnum_1 = require("../stringEnum"), concatTypeArray_1 = __importDefault(require("@libmedia/common/function/concatTypeArray")), object = __importStar(require("@libmedia/common/util/object")), text = __importStar(require("@libmedia/common/util/text")), urlUtils = __importStar(require("@libmedia/common/util/url"));
|
|
89
|
+
//# sourceMappingURL=analyzeUrlIOLoader.js.map
|