@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,427 @@
|
|
|
1
|
+
import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
|
|
2
|
+
|
|
3
|
+
import { CTypeEnumWrite as cheap__CTypeEnumWrite__4 } from "@libmedia/cheap/ctypeEnumWrite";
|
|
4
|
+
|
|
5
|
+
import * as array from "@libmedia/common/util/array";
|
|
6
|
+
|
|
7
|
+
import BufferWriter from "@libmedia/common/io/BufferWriter";
|
|
8
|
+
|
|
9
|
+
import BufferReader from "@libmedia/common/io/BufferReader";
|
|
10
|
+
|
|
11
|
+
import BitReader from "@libmedia/common/io/BitReader";
|
|
12
|
+
|
|
13
|
+
import { mapUint8Array, memcpyFromUint8Array } from "@libmedia/cheap/std/memory";
|
|
14
|
+
|
|
15
|
+
import { naluUnescape, splitNaluByStartCode, isAnnexb } from "../util/nalu";
|
|
16
|
+
|
|
17
|
+
import { addAVPacketSideData, getAVPacketData } from "../util/avpacket";
|
|
18
|
+
|
|
19
|
+
import { avMalloc } from "../util/mem";
|
|
20
|
+
|
|
21
|
+
import * as expgolomb from "../util/expgolomb";
|
|
22
|
+
|
|
23
|
+
import * as intread from "../util/intread";
|
|
24
|
+
|
|
25
|
+
export const HEVCProfile2Name = {
|
|
26
|
+
1: "Main",
|
|
27
|
+
2: "Main10",
|
|
28
|
+
3: "MainStillPicture",
|
|
29
|
+
4: "Main444"
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const LevelCapabilities = [ {
|
|
33
|
+
level: 10,
|
|
34
|
+
maxLumaSamplesPerSecond: 552960,
|
|
35
|
+
maxLumaPictureSize: 36864,
|
|
36
|
+
maxBitRate: {
|
|
37
|
+
main: 128,
|
|
38
|
+
main10: 150
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
level: 20,
|
|
42
|
+
maxLumaSamplesPerSecond: 3686400,
|
|
43
|
+
maxLumaPictureSize: 122880,
|
|
44
|
+
maxBitRate: {
|
|
45
|
+
main: 1500,
|
|
46
|
+
main10: 1875
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
level: 21,
|
|
50
|
+
maxLumaSamplesPerSecond: 7372800,
|
|
51
|
+
maxLumaPictureSize: 245760,
|
|
52
|
+
maxBitRate: {
|
|
53
|
+
main: 3e3,
|
|
54
|
+
main10: 3750
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
level: 30,
|
|
58
|
+
maxLumaSamplesPerSecond: 16588800,
|
|
59
|
+
maxLumaPictureSize: 552960,
|
|
60
|
+
maxBitRate: {
|
|
61
|
+
main: 6e3,
|
|
62
|
+
main10: 7500
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
level: 31,
|
|
66
|
+
maxLumaSamplesPerSecond: 33177600,
|
|
67
|
+
maxLumaPictureSize: 983040,
|
|
68
|
+
maxBitRate: {
|
|
69
|
+
main: 1e4,
|
|
70
|
+
main10: 12500
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
level: 40,
|
|
74
|
+
maxLumaSamplesPerSecond: 66846720,
|
|
75
|
+
maxLumaPictureSize: 2228224,
|
|
76
|
+
maxBitRate: {
|
|
77
|
+
main: 12e3,
|
|
78
|
+
main10: 15e3
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
level: 41,
|
|
82
|
+
maxLumaSamplesPerSecond: 133693440,
|
|
83
|
+
maxLumaPictureSize: 2228224,
|
|
84
|
+
maxBitRate: {
|
|
85
|
+
main: 2e4,
|
|
86
|
+
main10: 25e3
|
|
87
|
+
}
|
|
88
|
+
}, {
|
|
89
|
+
level: 50,
|
|
90
|
+
maxLumaSamplesPerSecond: 267386880,
|
|
91
|
+
maxLumaPictureSize: 8912896,
|
|
92
|
+
maxBitRate: {
|
|
93
|
+
main: 25e3,
|
|
94
|
+
main10: 4e4
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
level: 51,
|
|
98
|
+
maxLumaSamplesPerSecond: 534773760,
|
|
99
|
+
maxLumaPictureSize: 8912896,
|
|
100
|
+
maxBitRate: {
|
|
101
|
+
main: 4e4,
|
|
102
|
+
main10: 6e4
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
level: 52,
|
|
106
|
+
maxLumaSamplesPerSecond: 1069547520,
|
|
107
|
+
maxLumaPictureSize: 35651584,
|
|
108
|
+
maxBitRate: {
|
|
109
|
+
main: 6e4,
|
|
110
|
+
main10: 1e5
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
level: 60,
|
|
114
|
+
maxLumaSamplesPerSecond: 1069547520,
|
|
115
|
+
maxLumaPictureSize: 35651584,
|
|
116
|
+
maxBitRate: {
|
|
117
|
+
main: 6e4,
|
|
118
|
+
main10: 1e5
|
|
119
|
+
}
|
|
120
|
+
}, {
|
|
121
|
+
level: 61,
|
|
122
|
+
maxLumaSamplesPerSecond: 2139095040,
|
|
123
|
+
maxLumaPictureSize: 89128960,
|
|
124
|
+
maxBitRate: {
|
|
125
|
+
main: 12e4,
|
|
126
|
+
main10: 24e4
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
level: 62,
|
|
130
|
+
maxLumaSamplesPerSecond: 4278190080,
|
|
131
|
+
maxLumaPictureSize: 356515840,
|
|
132
|
+
maxBitRate: {
|
|
133
|
+
main: 24e4,
|
|
134
|
+
main10: 48e4
|
|
135
|
+
}
|
|
136
|
+
} ];
|
|
137
|
+
|
|
138
|
+
export function getLevelByResolution(profile, width, height, fps, bitrate) {
|
|
139
|
+
bitrate /= 1e3;
|
|
140
|
+
const selectedProfile = 1 === profile ? "main" : "main10", lumaSamplesPerSecond = width * height * fps;
|
|
141
|
+
for (const level of LevelCapabilities) if (lumaSamplesPerSecond <= level.maxLumaSamplesPerSecond && width * height <= level.maxLumaPictureSize && bitrate <= level.maxBitRate[selectedProfile]) return level.level;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export function extradata2VpsSpsPps(extradata) {
|
|
145
|
+
const bufferReader = new BufferReader(extradata, !0);
|
|
146
|
+
bufferReader.skip(22);
|
|
147
|
+
let vpss = [], spss = [], ppss = [];
|
|
148
|
+
const arrayLen = bufferReader.readUint8();
|
|
149
|
+
for (let i = 0; i < arrayLen; i++) {
|
|
150
|
+
const naluType = 63 & bufferReader.readUint8(), count = bufferReader.readUint16(), list = [];
|
|
151
|
+
for (let j = 0; j < count; j++) {
|
|
152
|
+
const len = bufferReader.readUint16();
|
|
153
|
+
list.push(bufferReader.readBuffer(len));
|
|
154
|
+
}
|
|
155
|
+
32 === naluType ? vpss = list : 33 === naluType ? spss = list : 34 === naluType && (ppss = list);
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
vpss: vpss,
|
|
159
|
+
spss: spss,
|
|
160
|
+
ppss: ppss
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export function vpsSpsPps2Extradata(vpss, spss, ppss) {
|
|
165
|
+
const sps = spss[0];
|
|
166
|
+
let length = 23;
|
|
167
|
+
vpss.length && (length += 3, length = vpss.reduce(((prev, value) => prev + 2 + value.length), length)),
|
|
168
|
+
spss.length && (length += 3, length = spss.reduce(((prev, value) => prev + 2 + value.length), length)),
|
|
169
|
+
ppss.length && (length += 3, length = ppss.reduce(((prev, value) => prev + 2 + value.length), length));
|
|
170
|
+
const buffer = new Uint8Array(length), bufferWriter = new BufferWriter(buffer, !0), spsData = parseSPS(sps);
|
|
171
|
+
bufferWriter.writeUint8(1), bufferWriter.writeUint8(sps[1]), bufferWriter.writeUint8(sps[2]),
|
|
172
|
+
bufferWriter.writeUint8(sps[3]), bufferWriter.writeUint8(sps[4]), bufferWriter.writeUint8(sps[5]),
|
|
173
|
+
bufferWriter.writeUint8(sps[6]), bufferWriter.writeUint8(sps[7]), bufferWriter.writeUint8(sps[8]),
|
|
174
|
+
bufferWriter.writeUint8(sps[9]), bufferWriter.writeUint8(sps[10]), bufferWriter.writeUint8(sps[11]),
|
|
175
|
+
bufferWriter.writeUint8(spsData.level), bufferWriter.writeUint8(1020), bufferWriter.writeUint8(0),
|
|
176
|
+
bufferWriter.writeUint8(16320), bufferWriter.writeUint8(16320 | spsData.chroma_format_idc),
|
|
177
|
+
bufferWriter.writeUint8(8160 | spsData.bit_depth_luma_minus8), bufferWriter.writeUint8(8160 | spsData.bit_depth_chroma_minus8),
|
|
178
|
+
bufferWriter.writeUint16(0), bufferWriter.writeUint8(11 | (1 & sps[0]) << 2);
|
|
179
|
+
let numOfArrays = 0;
|
|
180
|
+
return vpss.length && numOfArrays++, spss.length && numOfArrays++, ppss.length && numOfArrays++,
|
|
181
|
+
bufferWriter.writeUint8(numOfArrays), vpss.length && (bufferWriter.writeUint8(160),
|
|
182
|
+
bufferWriter.writeUint16(vpss.length), array.each(vpss, (vps => {
|
|
183
|
+
bufferWriter.writeUint16(vps.length), bufferWriter.writeBuffer(vps);
|
|
184
|
+
}))), spss.length && (bufferWriter.writeUint8(161), bufferWriter.writeUint16(spss.length),
|
|
185
|
+
array.each(spss, (sps => {
|
|
186
|
+
bufferWriter.writeUint16(sps.length), bufferWriter.writeBuffer(sps);
|
|
187
|
+
}))), ppss.length && (bufferWriter.writeUint8(162), bufferWriter.writeUint16(ppss.length),
|
|
188
|
+
array.each(ppss, (pps => {
|
|
189
|
+
bufferWriter.writeUint16(pps.length), bufferWriter.writeBuffer(pps);
|
|
190
|
+
}))), buffer;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export function annexbExtradata2AvccExtradata(data) {
|
|
194
|
+
let nalus = splitNaluByStartCode(data);
|
|
195
|
+
if (nalus.length >= 2) {
|
|
196
|
+
const vpss = [], spss = [], ppss = [];
|
|
197
|
+
if (nalus.forEach((nalu => {
|
|
198
|
+
const type = nalu[0] >>> 1 & 63;
|
|
199
|
+
32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
|
|
200
|
+
})), spss.length && ppss.length) return vpsSpsPps2Extradata(vpss, spss, ppss);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export function annexb2Avcc(data) {
|
|
205
|
+
let extradata, key = !1, nalus = splitNaluByStartCode(data);
|
|
206
|
+
if (nalus.length >= 2) {
|
|
207
|
+
const vpss = [], spss = [], ppss = [];
|
|
208
|
+
nalus.forEach((nalu => {
|
|
209
|
+
const type = nalu[0] >>> 1 & 63;
|
|
210
|
+
32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
|
|
211
|
+
})), spss.length && ppss.length && (extradata = vpsSpsPps2Extradata(vpss, spss, ppss),
|
|
212
|
+
nalus = nalus.filter((nalu => {
|
|
213
|
+
const type = nalu[0] >>> 1 & 63;
|
|
214
|
+
return 32 !== type && 33 !== type && 34 !== type && 35 !== type;
|
|
215
|
+
})));
|
|
216
|
+
}
|
|
217
|
+
const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length), bufferWriter = new BufferWriter(buffer);
|
|
218
|
+
return array.each(nalus, (nalu => {
|
|
219
|
+
bufferWriter.writeUint32(nalu.length), bufferWriter.writeBuffer(nalu.subarray(0));
|
|
220
|
+
const type = nalu[0] >>> 1 & 63;
|
|
221
|
+
19 !== type && 20 !== type && 21 !== type || (key = !0);
|
|
222
|
+
})), {
|
|
223
|
+
bufferPointer: bufferPointer,
|
|
224
|
+
length: length,
|
|
225
|
+
extradata: extradata,
|
|
226
|
+
key: key
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export function avcc2Annexb(data, extradata) {
|
|
231
|
+
const naluLengthSizeMinusOne = extradata ? 3 & extradata[21] : 3;
|
|
232
|
+
let vpss = [], spss = [], ppss = [], key = !1;
|
|
233
|
+
if (extradata) {
|
|
234
|
+
const result = extradata2VpsSpsPps(extradata);
|
|
235
|
+
vpss = result.vpss, spss = result.spss, ppss = result.ppss, key = !0;
|
|
236
|
+
}
|
|
237
|
+
const nalus = [], bufferReader = new BufferReader(data);
|
|
238
|
+
for (;bufferReader.remainingSize() > 0; ) {
|
|
239
|
+
let length = 0;
|
|
240
|
+
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8(),
|
|
241
|
+
nalus.push(bufferReader.readBuffer(length));
|
|
242
|
+
}
|
|
243
|
+
let length = vpss.reduce(((prev, vps) => prev + 4 + vps.length), 0);
|
|
244
|
+
length = spss.reduce(((prev, sps) => prev + 4 + sps.length), length), length = ppss.reduce(((prev, pps) => prev + 4 + pps.length), length),
|
|
245
|
+
length = nalus.reduce(((prev, nalu, index) => prev + (index ? 3 : 4) + nalu.length), length);
|
|
246
|
+
const bufferPointer = avMalloc(length + 7), buffer = mapUint8Array(bufferPointer, length + 7), bufferWriter = new BufferWriter(buffer);
|
|
247
|
+
return bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
248
|
+
bufferWriter.writeUint8(1), bufferWriter.writeUint8(70), bufferWriter.writeUint8(0),
|
|
249
|
+
bufferWriter.writeUint8(240), array.each(vpss, (vps => {
|
|
250
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
251
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(vps);
|
|
252
|
+
})), array.each(spss, (sps => {
|
|
253
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
254
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sps);
|
|
255
|
+
})), array.each(ppss, (pps => {
|
|
256
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
257
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(pps);
|
|
258
|
+
})), array.each(nalus, ((nalu, index) => {
|
|
259
|
+
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), index || bufferWriter.writeUint8(0),
|
|
260
|
+
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(nalu);
|
|
261
|
+
const type = nalu[0] >>> 1 & 63;
|
|
262
|
+
19 !== type && 20 !== type && 21 !== type || (key = !0);
|
|
263
|
+
})), {
|
|
264
|
+
bufferPointer: bufferPointer,
|
|
265
|
+
length: length + 7,
|
|
266
|
+
key: key
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export function parseAvccExtraData(avpacket, stream) {
|
|
271
|
+
if (!(1 & cheap__CTypeEnumRead__0[15](avpacket + 36))) return;
|
|
272
|
+
const data = getAVPacketData(avpacket);
|
|
273
|
+
if (isAnnexb(data)) return;
|
|
274
|
+
const naluLengthSizeMinusOne = stream.metadata.naluLengthSizeMinusOne ?? 3;
|
|
275
|
+
let vpss = [], spss = [], ppss = [];
|
|
276
|
+
const bufferReader = new BufferReader(data);
|
|
277
|
+
for (;bufferReader.remainingSize() > 0; ) {
|
|
278
|
+
let length = 0;
|
|
279
|
+
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
|
|
280
|
+
const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
|
|
281
|
+
bufferReader.skip(length);
|
|
282
|
+
const naluType = nalu[0] >>> 1 & 63;
|
|
283
|
+
33 === naluType ? spss.push(nalu) : 34 === naluType ? ppss.push(nalu) : 32 === naluType && vpss.push(nalu);
|
|
284
|
+
}
|
|
285
|
+
if (spss.length || ppss.length || vpss.length) {
|
|
286
|
+
const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = avMalloc(extradata.length);
|
|
287
|
+
memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export function parseAnnexbExtraData(avpacket, force = !1) {
|
|
292
|
+
if (!(1 & cheap__CTypeEnumRead__0[15](avpacket + 36) || force)) return;
|
|
293
|
+
const data = getAVPacketData(avpacket);
|
|
294
|
+
if (!isAnnexb(data)) return;
|
|
295
|
+
let nalus = splitNaluByStartCode(data);
|
|
296
|
+
if (nalus.length > 2) {
|
|
297
|
+
const vpss = [], spss = [], ppss = [];
|
|
298
|
+
if (nalus.forEach((nalu => {
|
|
299
|
+
const type = nalu[0] >>> 1 & 63;
|
|
300
|
+
32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
|
|
301
|
+
})), vpss.length && spss.length && ppss.length) {
|
|
302
|
+
const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = avMalloc(extradata.length);
|
|
303
|
+
memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length),
|
|
304
|
+
cheap__CTypeEnumWrite__4[15](avpacket + 36, 1 | cheap__CTypeEnumRead__0[15](avpacket + 36));
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
export function parseAVCodecParameters(stream, extradata) {
|
|
310
|
+
if (!extradata && stream.sideData[1] && (extradata = stream.sideData[1]), extradata && extradata.length >= 6) {
|
|
311
|
+
stream.metadata.naluLengthSizeMinusOne = 3 & extradata[21];
|
|
312
|
+
const {spss: spss} = extradata2VpsSpsPps(extradata);
|
|
313
|
+
if (spss.length) {
|
|
314
|
+
const {profile: profile, level: level, width: width, height: height} = parseSPS(spss[0]);
|
|
315
|
+
stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
|
|
316
|
+
stream.codecpar.height = height;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export function isIDR(avpacket, naluLengthSize = 4) {
|
|
322
|
+
if (2 === cheap__CTypeEnumRead__0[15](avpacket + 80)) {
|
|
323
|
+
return splitNaluByStartCode(mapUint8Array(cheap__CTypeEnumRead__0[20](avpacket + 24), cheap__CTypeEnumRead__0[15](avpacket + 28))).some((nalu => {
|
|
324
|
+
const type = nalu[0] >>> 1 & 63;
|
|
325
|
+
return 20 === type || 19 === type;
|
|
326
|
+
}));
|
|
327
|
+
}
|
|
328
|
+
{
|
|
329
|
+
const size = cheap__CTypeEnumRead__0[15](avpacket + 28);
|
|
330
|
+
let i = 0;
|
|
331
|
+
for (;i < size - naluLengthSize; ) {
|
|
332
|
+
const type = intread.r8(cheap__CTypeEnumRead__0[20](avpacket + 24) + (i + naluLengthSize)) >>> 1 & 63;
|
|
333
|
+
if (20 === type || 19 === type) return !0;
|
|
334
|
+
i += 4 === naluLengthSize ? intread.rb32(cheap__CTypeEnumRead__0[20](avpacket + 24) + i) : 3 === naluLengthSize ? intread.rb24(cheap__CTypeEnumRead__0[20](avpacket + 24) + i) : 2 === naluLengthSize ? intread.rb16(cheap__CTypeEnumRead__0[20](avpacket + 24) + i) : intread.r8(cheap__CTypeEnumRead__0[20](avpacket + 24) + i),
|
|
335
|
+
i += naluLengthSize;
|
|
336
|
+
}
|
|
337
|
+
return !1;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export function parseSPS(sps) {
|
|
342
|
+
if (!sps || sps.length < 3) return;
|
|
343
|
+
let offset = 0;
|
|
344
|
+
0 === sps[0] && 0 === sps[1] && 0 === sps[2] && 1 === sps[3] && (offset = 4);
|
|
345
|
+
let profile = 0, level = 0, width = 0, height = 0, bit_depth_luma_minus8 = 0, bit_depth_chroma_minus8 = 0, chroma_format_idc = 1, general_profile_space = 0, general_tier_flag = 0, general_profile_compatibility_flags = 0, constraint_flags = 0;
|
|
346
|
+
const buffer = naluUnescape(sps.subarray(offset)), bitReader = new BitReader(buffer.length);
|
|
347
|
+
bitReader.appendBuffer(buffer), bitReader.readU1(), bitReader.readU(6), bitReader.readU(6),
|
|
348
|
+
bitReader.readU(3), bitReader.readU(4);
|
|
349
|
+
const spsMaxSubLayersMinus1 = bitReader.readU(3);
|
|
350
|
+
bitReader.readU1();
|
|
351
|
+
let separate_colour_plane_flag = 0;
|
|
352
|
+
if (spsMaxSubLayersMinus1 <= 6) {
|
|
353
|
+
general_profile_space = bitReader.readU(2), general_tier_flag = bitReader.readU1(),
|
|
354
|
+
profile = bitReader.readU(5), general_profile_compatibility_flags = bitReader.readU(32),
|
|
355
|
+
constraint_flags = bitReader.readU(48), level = bitReader.readU(8);
|
|
356
|
+
const subLayerProfilePresentFlag = new Array(6), subLayerLevelPresentFlag = new Array(6);
|
|
357
|
+
for (let i = 0; i < spsMaxSubLayersMinus1; i++) subLayerProfilePresentFlag[i] = bitReader.readU1(),
|
|
358
|
+
subLayerLevelPresentFlag[i] = bitReader.readU1();
|
|
359
|
+
if (spsMaxSubLayersMinus1 > 0) for (let i = spsMaxSubLayersMinus1; i < 8; i++) bitReader.readU(2);
|
|
360
|
+
for (let i = 0; i < spsMaxSubLayersMinus1; i++) subLayerProfilePresentFlag[i] && (bitReader.readU(2),
|
|
361
|
+
bitReader.readU(1), bitReader.readU(5), bitReader.readU(32), bitReader.readU(1),
|
|
362
|
+
bitReader.readU(1), bitReader.readU(1), bitReader.readU(1), bitReader.readU(44)),
|
|
363
|
+
subLayerLevelPresentFlag[i] && bitReader.readU(8);
|
|
364
|
+
expgolomb.readUE(bitReader), chroma_format_idc = expgolomb.readUE(bitReader), 3 === chroma_format_idc && (separate_colour_plane_flag = bitReader.readU(1)),
|
|
365
|
+
width = expgolomb.readUE(bitReader), height = expgolomb.readUE(bitReader);
|
|
366
|
+
let confWinLeftOffset = 0, confWinRightOffset = 0, confWinTopOffset = 0, confWinBottomOffset = 0;
|
|
367
|
+
bitReader.readU1() && (confWinLeftOffset = expgolomb.readUE(bitReader), confWinRightOffset = expgolomb.readUE(bitReader),
|
|
368
|
+
confWinTopOffset = expgolomb.readUE(bitReader), confWinBottomOffset = expgolomb.readUE(bitReader)),
|
|
369
|
+
bit_depth_luma_minus8 = expgolomb.readUE(bitReader), bit_depth_chroma_minus8 = expgolomb.readUE(bitReader);
|
|
370
|
+
let SubWidthC = 2, SubHeightC = 2;
|
|
371
|
+
0 === chroma_format_idc ? SubWidthC = SubHeightC = 0 : 2 === chroma_format_idc ? (SubWidthC = 2,
|
|
372
|
+
SubHeightC = 1) : 3 === chroma_format_idc && (SubWidthC = SubHeightC = 1);
|
|
373
|
+
width -= SubWidthC * (1 << bit_depth_luma_minus8 + 1) * (confWinLeftOffset + confWinRightOffset),
|
|
374
|
+
height -= SubHeightC * (1 << bit_depth_luma_minus8 + 1) * (confWinTopOffset + confWinBottomOffset);
|
|
375
|
+
}
|
|
376
|
+
const log2_max_poc_lsb = expgolomb.readUE(bitReader) + 4;
|
|
377
|
+
for (let i = bitReader.readU1() ? 0 : spsMaxSubLayersMinus1; i < spsMaxSubLayersMinus1 + 1; i++) expgolomb.readUE(bitReader),
|
|
378
|
+
expgolomb.readUE(bitReader), expgolomb.readUE(bitReader);
|
|
379
|
+
const log2_min_cb_size = expgolomb.readUE(bitReader) + 3, log2_diff_max_min_coding_block_size = expgolomb.readUE(bitReader), log2_min_tb_size = expgolomb.readUE(bitReader) + 2, log2_diff_max_min_transform_block_size = expgolomb.readUE(bitReader), log2_ctb_size = log2_min_cb_size + log2_diff_max_min_coding_block_size, log2_min_pu_size = log2_min_cb_size - 1, ctb_width = width + (1 << log2_ctb_size) - 1 >> log2_ctb_size, ctb_height = height + (1 << log2_ctb_size) - 1 >> log2_ctb_size;
|
|
380
|
+
return {
|
|
381
|
+
profile: profile,
|
|
382
|
+
level: level,
|
|
383
|
+
width: width,
|
|
384
|
+
height: height,
|
|
385
|
+
chroma_format_idc: chroma_format_idc,
|
|
386
|
+
bit_depth_luma_minus8: bit_depth_luma_minus8,
|
|
387
|
+
bit_depth_chroma_minus8: bit_depth_chroma_minus8,
|
|
388
|
+
general_profile_space: general_profile_space,
|
|
389
|
+
general_tier_flag: general_tier_flag,
|
|
390
|
+
general_profile_compatibility_flags: general_profile_compatibility_flags,
|
|
391
|
+
constraint_flags: constraint_flags,
|
|
392
|
+
separate_colour_plane_flag: separate_colour_plane_flag,
|
|
393
|
+
log2_min_cb_size: log2_min_cb_size,
|
|
394
|
+
log2_diff_max_min_coding_block_size: log2_diff_max_min_coding_block_size,
|
|
395
|
+
log2_min_tb_size: log2_min_tb_size,
|
|
396
|
+
log2_diff_max_min_transform_block_size: log2_diff_max_min_transform_block_size,
|
|
397
|
+
log2_max_trafo_size: log2_diff_max_min_transform_block_size + log2_min_tb_size,
|
|
398
|
+
log2_ctb_size: log2_ctb_size,
|
|
399
|
+
log2_min_pu_size: log2_min_pu_size,
|
|
400
|
+
ctb_width: ctb_width,
|
|
401
|
+
ctb_height: ctb_height,
|
|
402
|
+
ctb_size: ctb_width * ctb_height,
|
|
403
|
+
min_cb_width: width >> log2_min_cb_size,
|
|
404
|
+
min_cb_height: height >> log2_min_cb_size,
|
|
405
|
+
min_tb_width: width >> log2_min_tb_size,
|
|
406
|
+
min_tb_height: height >> log2_min_tb_size,
|
|
407
|
+
min_pu_width: width >> log2_min_pu_size,
|
|
408
|
+
min_pu_height: height >> log2_min_pu_size,
|
|
409
|
+
log2_max_poc_lsb: log2_max_poc_lsb
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export function parsePPS(pps) {
|
|
414
|
+
if (!pps || pps.length < 3) return;
|
|
415
|
+
let offset = 0;
|
|
416
|
+
0 === pps[0] && 0 === pps[1] && 0 === pps[2] && 1 === pps[3] && (offset = 4);
|
|
417
|
+
const buffer = naluUnescape(pps.subarray(offset)), bitReader = new BitReader(buffer.length);
|
|
418
|
+
bitReader.appendBuffer(buffer);
|
|
419
|
+
return {
|
|
420
|
+
pps_pic_parameter_set_id: expgolomb.readUE(bitReader),
|
|
421
|
+
pps_seq_parameter_set_id: expgolomb.readUE(bitReader),
|
|
422
|
+
dependent_slice_segment_flag: bitReader.readU1(),
|
|
423
|
+
output_flag_present_flag: bitReader.readU1(),
|
|
424
|
+
num_extra_slice_header_bits: bitReader.readU(3)
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
//# sourceMappingURL=hevc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["array","BufferWriter","BufferReader","BitReader","mapUint8Array","memcpyFromUint8Array","naluUnescape","splitNaluByStartCode","isAnnexb","addAVPacketSideData","getAVPacketData","avMalloc","expgolomb","intread","HEVCProfile2Name","LevelCapabilities","level","maxLumaSamplesPerSecond","maxLumaPictureSize","maxBitRate","main","main10","getLevelByResolution","profile","width","height","fps","bitrate","selectedProfile","lumaSamplesPerSecond","extradata2VpsSpsPps","extradata","bufferReader","skip","vpss","spss","ppss","arrayLen","readUint8","i","naluType","count","readUint16","list","j","len","push","readBuffer","vpsSpsPps2Extradata","sps","length","reduce","prev","value","buffer","Uint8Array","bufferWriter","spsData","parseSPS","writeUint8","chroma_format_idc","bit_depth_luma_minus8","bit_depth_chroma_minus8","writeUint16","numOfArrays","each","vps","writeBuffer","pps","annexbExtradata2AvccExtradata","data","nalus","forEach","nalu","type","annexb2Avcc","key","filter","bufferPointer","writeUint32","subarray","avcc2Annexb","naluLengthSizeMinusOne","result","remainingSize","readUint32","readUint24","index","parseAvccExtraData","avpacket","stream","cheap__CTypeEnumRead__0","metadata","Number","BigInt","asIntN","getPos","extradataPointer","parseAnnexbExtraData","force","cheap__CTypeEnumWrite__4","parseAVCodecParameters","sideData","codecpar","isIDR","naluLengthSize","some","size","r8","rb32","rb24","rb16","offset","general_profile_space","general_tier_flag","general_profile_compatibility_flags","constraint_flags","bitReader","appendBuffer","readU1","readU","spsMaxSubLayersMinus1","separate_colour_plane_flag","subLayerProfilePresentFlag","Array","subLayerLevelPresentFlag","readUE","confWinLeftOffset","confWinRightOffset","confWinTopOffset","confWinBottomOffset","SubWidthC","SubHeightC","log2_max_poc_lsb","log2_min_cb_size","log2_diff_max_min_coding_block_size","log2_min_tb_size","log2_diff_max_min_transform_block_size","log2_ctb_size","log2_min_pu_size","ctb_width","ctb_height","log2_max_trafo_size","ctb_size","min_cb_width","min_cb_height","min_tb_width","min_tb_height","min_pu_width","min_pu_height","parsePPS","pps_pic_parameter_set_id","pps_seq_parameter_set_id","dependent_slice_segment_flag","output_flag_present_flag","num_extra_slice_header_bits"],"sources":["../../../codecs/hevc.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
|
|
2
|
+
import AVStream from "../AVStream";
|
|
3
|
+
export declare function getSampleRateByVersionIndex(version: number, samplingFreqIndex: number): number;
|
|
4
|
+
export declare function getFrameSizeByVersionLayer(version: number, layer: number): number;
|
|
5
|
+
export declare function getBitRateByVersionLayerIndex(version: number, layer: number, index: number): number;
|
|
6
|
+
export declare function getProfileByLayer(layer: number): 32 | int32 | 33 | 34;
|
|
7
|
+
export declare const enum MP3Profile {
|
|
8
|
+
Layer1 = 32,
|
|
9
|
+
Layer2 = 33,
|
|
10
|
+
Layer3 = 34
|
|
11
|
+
}
|
|
12
|
+
export declare const MP3Profile2Name: Record<MP3Profile, string>;
|
|
13
|
+
export declare function parseAVCodecParameters(stream: AVStream, buffer: Uint8ArrayInterface): void;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { NOPTS_VALUE } from "../constant";
|
|
2
|
+
|
|
3
|
+
const MpegAudioV10SampleRateTable = [ 44100, 48e3, 32e3, 0 ], MpegAudioV20SampleRateTable = [ 22050, 24e3, 16e3, 0 ], MpegAudioV25SampleRateTable = [ 11025, 12e3, 8e3, 0 ], MpegAudioV10FrameSizeTable = [ 0, 1152, 1152, 384 ], MpegAudioV20FrameSizeTable = [ 0, 576, 1152, 384 ], MpegAudioV25FrameSizeTable = [ 0, 576, 1152, 384 ], MpegAudioV1L1BitRateTable = [ 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1 ], MpegAudioV1L2BitRateTable = [ 0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, -1 ], MpegAudioV1L3BitRateTable = [ 0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1 ], MpegAudioV2L1BitRateTable = [ 0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, -1 ], MpegAudioV2L2L3BitRateTable = [ 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1 ];
|
|
4
|
+
|
|
5
|
+
export function getSampleRateByVersionIndex(version, samplingFreqIndex) {
|
|
6
|
+
switch (version) {
|
|
7
|
+
case 0:
|
|
8
|
+
return MpegAudioV25SampleRateTable[samplingFreqIndex];
|
|
9
|
+
|
|
10
|
+
case 2:
|
|
11
|
+
return MpegAudioV20SampleRateTable[samplingFreqIndex];
|
|
12
|
+
|
|
13
|
+
case 3:
|
|
14
|
+
return MpegAudioV10SampleRateTable[samplingFreqIndex];
|
|
15
|
+
}
|
|
16
|
+
return NOPTS_VALUE;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function getFrameSizeByVersionLayer(version, layer) {
|
|
20
|
+
switch (version) {
|
|
21
|
+
case 0:
|
|
22
|
+
return MpegAudioV25FrameSizeTable[layer];
|
|
23
|
+
|
|
24
|
+
case 2:
|
|
25
|
+
return MpegAudioV20FrameSizeTable[layer];
|
|
26
|
+
|
|
27
|
+
case 3:
|
|
28
|
+
return MpegAudioV10FrameSizeTable[layer];
|
|
29
|
+
}
|
|
30
|
+
return NOPTS_VALUE;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function getBitRateByVersionLayerIndex(version, layer, index) {
|
|
34
|
+
switch (layer) {
|
|
35
|
+
case 1:
|
|
36
|
+
switch (version) {
|
|
37
|
+
case 0:
|
|
38
|
+
case 2:
|
|
39
|
+
return MpegAudioV2L2L3BitRateTable[index];
|
|
40
|
+
|
|
41
|
+
case 3:
|
|
42
|
+
return MpegAudioV1L3BitRateTable[index];
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
|
|
46
|
+
case 2:
|
|
47
|
+
switch (version) {
|
|
48
|
+
case 0:
|
|
49
|
+
case 2:
|
|
50
|
+
return MpegAudioV2L2L3BitRateTable[index];
|
|
51
|
+
|
|
52
|
+
case 3:
|
|
53
|
+
return MpegAudioV1L2BitRateTable[index];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
case 3:
|
|
57
|
+
switch (version) {
|
|
58
|
+
case 0:
|
|
59
|
+
case 2:
|
|
60
|
+
return MpegAudioV2L1BitRateTable[index];
|
|
61
|
+
|
|
62
|
+
case 3:
|
|
63
|
+
return MpegAudioV1L1BitRateTable[index];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return NOPTS_VALUE;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function getProfileByLayer(layer) {
|
|
70
|
+
switch (layer) {
|
|
71
|
+
case 1:
|
|
72
|
+
return 34;
|
|
73
|
+
|
|
74
|
+
case 2:
|
|
75
|
+
return 33;
|
|
76
|
+
|
|
77
|
+
case 3:
|
|
78
|
+
return 32;
|
|
79
|
+
}
|
|
80
|
+
return NOPTS_VALUE;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export const MP3Profile2Name = {
|
|
84
|
+
32: "Layer1",
|
|
85
|
+
33: "Layer2",
|
|
86
|
+
34: "Layer3"
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export function parseAVCodecParameters(stream, buffer) {
|
|
90
|
+
if (buffer && buffer.length >= 4) {
|
|
91
|
+
const ver = buffer[1] >>> 3 & 3, layer = (6 & buffer[1]) >> 1, samplingFreqIndex = (12 & buffer[2]) >>> 2, channelCount = 3 !== (buffer[3] >>> 6 & 3) ? 2 : 1, profile = getProfileByLayer(layer), sampleRate = getSampleRateByVersionIndex(ver, samplingFreqIndex);
|
|
92
|
+
stream.codecpar.profile = profile, stream.codecpar.sampleRate = sampleRate, stream.codecpar.chLayout.nbChannels = channelCount;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=mp3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NOPTS_VALUE","MpegAudioV10SampleRateTable","MpegAudioV20SampleRateTable","MpegAudioV25SampleRateTable","MpegAudioV10FrameSizeTable","MpegAudioV20FrameSizeTable","MpegAudioV25FrameSizeTable","MpegAudioV1L1BitRateTable","MpegAudioV1L2BitRateTable","MpegAudioV1L3BitRateTable","MpegAudioV2L1BitRateTable","MpegAudioV2L2L3BitRateTable","getSampleRateByVersionIndex","version","samplingFreqIndex","getFrameSizeByVersionLayer","layer","getBitRateByVersionLayerIndex","index","getProfileByLayer","MP3Profile2Name","parseAVCodecParameters","stream","buffer","length","ver","channelCount","profile","sampleRate","codecpar","chLayout","nbChannels"],"sources":["../../../codecs/mp3.ts"],"mappings":"SA2BSA,mBAAa;;AAEtB,MAAMC,8BAA8B,EAAC,OAAO,MAAO,MAAO,KAEpDC,8BAA8B,EAAC,OAAO,MAAO,MAAO,KAEpDC,8BAA8B,EAAC,OAAO,MAAO,KAAM,KAEnDC,6BAA6B,EAAC,GAAG,MAAM,MAAM,OAE7CC,6BAA6B,EAAC,GAAG,KAAK,MAAM,OAE5CC,6BAA6B,EAAC,GAAG,KAAK,MAAM,OAE5CC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEpGC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEjGC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEhGC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEjGC,8BAA8B,EAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,MAAM;;OAE9F,SAAUC,4BAA4BC,SAAiBC;IAC3D,QAAQD;MACN,KAAK;QAEH,OAAOV,4BAA4BW;;MACrC,KAAK;QAEH,OAAOZ,4BAA4BY;;MACrC,KAAK;QAEH,OAAOb,4BAA4Ba;;IAEvC,OAAOd;AACT;;OAEM,SAAUe,2BAA2BF,SAAiBG;IAC1D,QAAQH;MACN,KAAK;QAEH,OAAOP,2BAA2BU;;MACpC,KAAK;QAEH,OAAOX,2BAA2BW;;MACpC,KAAK;QAEH,OAAOZ,2BAA2BY;;IAEtC,OAAOhB;AACT;;OAEM,SAAUiB,8BAA8BJ,SAAiBG,OAAeE;IAE5E,QAAQF;MAEN,KAAK;QACH,QAAQH;UACN,KAAK;UACL,KAAK;YACH,OAAOF,4BAA4BO;;UACrC,KAAK;YACH,OAAOT,0BAA0BS;;QAErC;;MAEF,KAAK;QACH,QAAQL;UACN,KAAK;UACL,KAAK;YACH,OAAOF,4BAA4BO;;UACrC,KAAK;YACH,OAAOV,0BAA0BU;;;MAGvC,KAAK;QACH,QAAQL;UACN,KAAK;UACL,KAAK;YACH,OAAOH,0BAA0BQ;;UACnC,KAAK;YACH,OAAOX,0BAA0BW;;;IAGzC,OAAOlB;AACT;;OAEM,SAAUmB,kBAAkBH;IAChC,QAAQA;MACN,KAAK;QAEH,OAAO;;MACT,KAAK;QAEH,OAAO;;MACT,KAAK;QAEH,OAAO;;IAEX,OAAOhB;AACT;;OAQO,MAAMoB,kBAA8C;IACzD,IAAqB;IACrB,IAAqB;IACrB,IAAqB;;;OAIjB,SAAUC,uBAAuBC,QAAkBC;IACvD,IAAIA,UAAUA,OAAOC,UAAU,GAAG;QAChC,MAAMC,MAAOF,OAAO,OAAO,IAAK,GAC1BP,SAAqB,IAAZO,OAAO,OAAc,GAE9BT,qBAAiC,KAAZS,OAAO,QAAe,GAI3CG,eAA+B,OAFhBH,OAAO,OAAO,IAAK,KAEC,IAAI,GACvCI,UAAUR,kBAAkBH,QAC5BY,aAAahB,4BAA4Ba,KAAKX;QAEpDQ,OAAOO,SAASF,UAAUA,SAC1BL,OAAOO,SAASD,aAAaA,YAC7BN,OAAOO,SAASC,SAASC,aAAaL;AACxC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isIDR","avpacket","cheap__CTypeEnumRead__0"],"sources":["../../../codecs/mpeg4.ts"],"mappings":";;OAiCM,SAAUA,MAAMC;IAEpB,OADUC,wBAAA,GAA6CA,wBAAA,IAAAD,WAAQ,MAAQ,OACtD,KAAE;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getAVPacketData } from "../util/avpacket";
|
|
2
|
+
|
|
3
|
+
export function isIDR(avpacket) {
|
|
4
|
+
const data = getAVPacketData(avpacket);
|
|
5
|
+
for (let i = 0; i < data.length - 6; i++) if (0 === data[i] && 0 === data[i + 1] && 1 === data[i + 2] && 0 === data[i + 3]) {
|
|
6
|
+
return 1 === (data[i + 5] >> 3 & 7);
|
|
7
|
+
}
|
|
8
|
+
return !1;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=mpegvideo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAVPacketData","isIDR","avpacket","data","i","length"],"sources":["../../../codecs/mpegvideo.ts"],"mappings":"SA0BSA,uBAAiB;;OAQpB,SAAUC,MAAMC;IACpB,MAAMC,OAAOH,gBAAgBE;IAE7B,KAAK,IAAIE,IAAI,GAAGA,IAAID,KAAKE,SAAS,GAAGD,KACnC,IAAgB,MAAZD,KAAKC,MACY,MAAhBD,KAAKC,IAAI,MACO,MAAhBD,KAAKC,IAAI,MACO,MAAhBD,KAAKC,IAAI,IACZ;QAEA,OAAc,OADGD,KAAKC,IAAI,MAAM,IAAK;AAEvC;IAEF,QAAO;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import AVStream from "../AVStream";
|
|
2
|
+
import AVCodecParameters from "../struct/avcodecparameters";
|
|
3
|
+
import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
|
|
4
|
+
export declare const durations: number[];
|
|
5
|
+
export declare function getBufferSamples(buffer: Uint8Array): number;
|
|
6
|
+
/**
|
|
7
|
+
* opus extradata
|
|
8
|
+
*
|
|
9
|
+
* - 8 bytes Magic Signature: OpusHead
|
|
10
|
+
* - 1 bytes unsigned, 对应值 0x01 version
|
|
11
|
+
* - 1 bytes unsigned, channels 它可能和编码声道数不一致, 它可能被修改成 packet-by-packet, 对应值 0x01
|
|
12
|
+
* - 2 bytes unsigned, preSkip 这是要从开始播放时的解码器输出, 从页面的颗粒位置减去以计算其 PCM 样本位置。
|
|
13
|
+
* - 4 bytes unsigned, sampleRate 原始输入采样率
|
|
14
|
+
* - 2 bytes signed, outputGain 这是解码时要应用的增益, 20 * log10 缩放解码器输出以实现所需的播放音量
|
|
15
|
+
* - 1 bytes unsigned, channelMappingFamily 指示输出渠道的顺序和语音含义。该八位位组的每个当前指定的值表示一个映射系列,它定义了一组允许的通道数,以及每个允许的通道数的通道名称的有序集合
|
|
16
|
+
* - channelMappingTable 可选, 当 Channel Mapping Family 为 0 时被省略。
|
|
17
|
+
* - 1 bytes, streamCount, unsigned ogg packet 里面编码了多少路 stream
|
|
18
|
+
* - 1 bytes, coupledStreamCount, unsigned 标识有多少路流是双声声道,必须小于 streamCount
|
|
19
|
+
* - C bytes, C 为总输出声道数 coupledStreamCount + streamCount
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
|
|
23
|
+
export declare function avCodecParameters2Extradata(codecpar: AVCodecParameters): Uint8Array;
|