@libmedia/avutil 0.11.0 → 1.0.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/dist/cjs/AVStream.cjs +66 -0
- package/dist/cjs/AVStream.js.map +1 -1
- package/dist/cjs/audiosamplefmt.js.map +1 -1
- package/dist/cjs/avformat.js.map +1 -1
- package/dist/cjs/codec.js.map +1 -1
- package/dist/cjs/codecs/{aac.js → aac.cjs} +2 -8
- package/dist/cjs/codecs/aac.js.map +1 -1
- package/dist/cjs/codecs/{ac3.js → ac3.cjs} +2 -8
- package/dist/cjs/codecs/ac3.js.map +1 -1
- package/dist/cjs/codecs/{av1.js → av1.cjs} +6 -10
- package/dist/cjs/codecs/av1.js.map +1 -1
- package/dist/cjs/codecs/{dts.js → dts.cjs} +3 -9
- package/dist/cjs/codecs/dts.js.map +1 -1
- package/dist/cjs/codecs/{flac.js → flac.cjs} +2 -8
- package/dist/cjs/codecs/flac.js.map +1 -1
- package/dist/cjs/codecs/{h264.js → h264.cjs} +22 -26
- package/dist/cjs/codecs/h264.js.map +1 -1
- package/dist/cjs/codecs/{hevc.js → hevc.cjs} +25 -26
- package/dist/cjs/codecs/hevc.js.map +1 -1
- package/dist/cjs/codecs/{mp3.js → mp3.cjs} +1 -1
- package/dist/cjs/codecs/mp3.js.map +1 -1
- package/dist/cjs/codecs/{mpeg4.js → mpeg4.cjs} +1 -1
- package/dist/cjs/codecs/mpeg4.js.map +1 -1
- package/dist/cjs/codecs/{mpegvideo.js → mpegvideo.cjs} +1 -1
- package/dist/cjs/codecs/mpegvideo.js.map +1 -1
- package/dist/cjs/codecs/{opus.js → opus.cjs} +3 -9
- package/dist/cjs/codecs/opus.js.map +1 -1
- package/dist/cjs/codecs/ttml.cjs +51 -0
- package/dist/cjs/codecs/ttml.js.map +1 -1
- package/dist/cjs/codecs/{vp8.js → vp8.cjs} +2 -8
- package/dist/cjs/codecs/vp8.js.map +1 -1
- package/dist/cjs/codecs/{vp9.js → vp9.cjs} +4 -10
- package/dist/cjs/codecs/vp9.js.map +1 -1
- package/dist/cjs/codecs/{vvc.js → vvc.cjs} +27 -28
- package/dist/cjs/codecs/vvc.js.map +1 -1
- package/dist/cjs/constant.cjs +27 -0
- package/dist/cjs/constant.js.map +1 -1
- package/dist/cjs/{enum.js → enum.cjs} +39 -24
- package/dist/cjs/enum.js.map +1 -1
- package/dist/cjs/error.js.map +1 -1
- package/dist/cjs/function/analyzeAVFormat.js.map +1 -1
- package/dist/cjs/function/analyzeUrlIOLoader.cjs +66 -0
- package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
- package/dist/cjs/function/{audioData2AVFrame.js → audioData2AVFrame.cjs} +9 -9
- package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
- package/dist/cjs/function/{avPCMBuffer2AVFrame.js → avPCMBuffer2AVFrame.cjs} +22 -22
- package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -1
- package/dist/cjs/function/{avframe2AudioData.js → avframe2AudioData.cjs} +7 -7
- package/dist/cjs/function/avframe2AudioData.js.map +1 -1
- package/dist/cjs/function/avframe2VideoFrame.cjs +48 -0
- package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
- package/dist/cjs/function/avpacket2EncodedAudioChunk.cjs +19 -0
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
- package/dist/cjs/function/avpacket2EncodedVideoChunk.cjs +19 -0
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
- package/dist/cjs/function/compileResource.cjs +19 -0
- package/dist/cjs/function/compileResource.js.map +1 -1
- package/dist/cjs/function/constant/webcodecs.cjs +50 -0
- package/dist/cjs/function/constant/webcodecs.js.map +1 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.cjs +23 -0
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
- package/dist/cjs/function/encodedVideoChunk2AVPacket.cjs +62 -0
- package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
- package/dist/cjs/function/{getAudioCodec.js → getAudioCodec.cjs} +1 -1
- package/dist/cjs/function/getAudioCodec.js.map +1 -1
- package/dist/cjs/function/getAudioMimeType.cjs +19 -0
- package/dist/cjs/function/getAudioMimeType.js.map +1 -0
- package/dist/cjs/function/getHardwarePreference.cjs +10 -0
- package/dist/cjs/function/getHardwarePreference.js.map +1 -1
- package/dist/cjs/function/{getVideoCodec.js → getVideoCodec.cjs} +12 -12
- package/dist/cjs/function/getVideoCodec.js.map +1 -1
- package/dist/cjs/function/getVideoMimeType.cjs +18 -0
- package/dist/cjs/function/getVideoMimeType.js.map +1 -0
- package/dist/cjs/function/{getWasmUrl.js → getWasmUrl.cjs} +17 -3
- package/dist/cjs/function/getWasmUrl.js.map +1 -1
- package/dist/cjs/function/{hasAlphaChannel.js → hasAlphaChannel.cjs} +1 -1
- package/dist/cjs/function/hasAlphaChannel.js.map +1 -1
- package/dist/cjs/function/{isHdr.js → isHdr.cjs} +1 -1
- package/dist/cjs/function/isHdr.js.map +1 -1
- package/dist/cjs/function/videoFrame2AVFrame.cjs +51 -0
- package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
- package/dist/cjs/implement/AVFramePoolImpl.cjs +28 -0
- package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
- package/dist/cjs/implement/AVPCMBufferPoolImpl.cjs +27 -0
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
- package/dist/cjs/implement/AVPacketPoolImpl.cjs +29 -0
- package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
- package/dist/cjs/index.cjs +840 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal.cjs +283 -0
- package/dist/cjs/internal.js.map +1 -0
- package/dist/cjs/{pixelFormatDescriptor.js → pixelFormatDescriptor.cjs} +19 -4
- package/dist/cjs/pixelFormatDescriptor.js.map +1 -1
- package/dist/cjs/pixfmt.js.map +1 -1
- package/dist/cjs/sampleFormatDescriptor.js.map +1 -1
- package/dist/cjs/{stringEnum.js → stringEnum.cjs} +40 -6
- package/dist/cjs/stringEnum.js.map +1 -1
- package/dist/cjs/struct/{audiosample.js → audiosample.cjs} +13 -13
- package/dist/cjs/struct/audiosample.js.map +1 -1
- package/dist/cjs/struct/{avbuffer.js → avbuffer.cjs} +18 -18
- package/dist/cjs/struct/avbuffer.js.map +1 -1
- package/dist/cjs/struct/{avcodecparameters.js → avcodecparameters.cjs} +11 -11
- package/dist/cjs/struct/avcodecparameters.js.map +1 -1
- package/dist/cjs/struct/{avdict.js → avdict.cjs} +9 -9
- package/dist/cjs/struct/avdict.js.map +1 -1
- package/dist/cjs/struct/{avframe.js → avframe.cjs} +34 -36
- package/dist/cjs/struct/avframe.js.map +1 -1
- package/dist/cjs/struct/{avpacket.js → avpacket.cjs} +19 -19
- package/dist/cjs/struct/avpacket.js.map +1 -1
- package/dist/cjs/struct/{avpcmbuffer.js → avpcmbuffer.cjs} +9 -9
- package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
- package/dist/cjs/struct/avsubtitle.js.map +1 -1
- package/dist/cjs/struct/{encryption.js → encryption.cjs} +13 -13
- package/dist/cjs/struct/encryption.js.map +1 -1
- package/dist/cjs/struct/rational.cjs +43 -0
- package/dist/cjs/struct/rational.js.map +1 -1
- package/dist/cjs/util/{amf.js → amf.cjs} +7 -38
- package/dist/cjs/util/amf.js.map +1 -1
- package/dist/cjs/util/av1syntax.js.map +1 -1
- package/dist/cjs/util/avbuffer.cjs +122 -0
- package/dist/cjs/util/avbuffer.js.map +1 -1
- package/dist/cjs/util/avdict.cjs +75 -0
- package/dist/cjs/util/avdict.js.map +1 -1
- package/dist/cjs/util/{avframe.js → avframe.cjs} +85 -90
- package/dist/cjs/util/avframe.js.map +1 -1
- package/dist/cjs/util/{avpacket.js → avpacket.cjs} +58 -58
- package/dist/cjs/util/avpacket.js.map +1 -1
- package/dist/cjs/util/{channel.js → channel.cjs} +7 -7
- package/dist/cjs/util/channel.js.map +1 -1
- package/dist/cjs/util/codecparameters.cjs +95 -0
- package/dist/cjs/util/codecparameters.js.map +1 -1
- package/dist/cjs/util/common.js.map +1 -1
- package/dist/cjs/util/{encryption.js → encryption.cjs} +5 -11
- package/dist/cjs/util/encryption.js.map +1 -1
- package/dist/cjs/util/expgolomb.js.map +1 -1
- package/dist/cjs/util/{intread.js → intread.cjs} +1 -1
- package/dist/cjs/util/intread.js.map +1 -1
- package/dist/cjs/util/{intwrite.js → intwrite.cjs} +1 -1
- package/dist/cjs/util/intwrite.js.map +1 -1
- package/dist/cjs/util/mem.cjs +23 -0
- package/dist/cjs/util/mem.js.map +1 -1
- package/dist/cjs/util/{nalu.js → nalu.cjs} +7 -42
- package/dist/cjs/util/nalu.js.map +1 -1
- package/dist/cjs/util/ntp.js.map +1 -1
- package/dist/cjs/util/pcm.js.map +1 -1
- package/dist/cjs/util/{pixel.js → pixel.cjs} +26 -30
- package/dist/cjs/util/pixel.js.map +1 -1
- package/dist/cjs/util/{rational.js → rational.cjs} +5 -11
- package/dist/cjs/util/rational.js.map +1 -1
- package/dist/cjs/util/{sample.js → sample.cjs} +6 -12
- package/dist/cjs/util/sample.js.map +1 -1
- package/dist/cjs/util/{serialize.js → serialize.cjs} +40 -42
- package/dist/cjs/util/serialize.js.map +1 -1
- package/dist/esm/AVStream.d.ts +258 -15
- package/dist/esm/AVStream.js +39 -11
- package/dist/esm/AVStream.js.map +1 -1
- package/dist/esm/audiosamplefmt.js.map +1 -1
- package/dist/esm/avformat.d.ts +4 -1
- package/dist/esm/avformat.js.map +1 -1
- package/dist/esm/codec.d.ts +65 -1
- package/dist/esm/codec.js.map +1 -1
- package/dist/esm/codecs/aac.d.ts +10 -5
- package/dist/esm/codecs/aac.js +2 -2
- package/dist/esm/codecs/aac.js.map +1 -1
- package/dist/esm/codecs/ac3.d.ts +1 -1
- package/dist/esm/codecs/ac3.js +1 -1
- package/dist/esm/codecs/ac3.js.map +1 -1
- package/dist/esm/codecs/av1.d.ts +3 -3
- package/dist/esm/codecs/av1.js +4 -6
- package/dist/esm/codecs/av1.js.map +1 -1
- package/dist/esm/codecs/dts.d.ts +1 -1
- package/dist/esm/codecs/dts.js +2 -2
- package/dist/esm/codecs/dts.js.map +1 -1
- package/dist/esm/codecs/flac.d.ts +3 -3
- package/dist/esm/codecs/flac.js +1 -1
- package/dist/esm/codecs/flac.js.map +1 -1
- package/dist/esm/codecs/h264.d.ts +6 -6
- package/dist/esm/codecs/h264.js +15 -21
- package/dist/esm/codecs/h264.js.map +1 -1
- package/dist/esm/codecs/hevc.d.ts +6 -6
- package/dist/esm/codecs/hevc.js +18 -18
- package/dist/esm/codecs/hevc.js.map +1 -1
- package/dist/esm/codecs/mp3.d.ts +4 -4
- package/dist/esm/codecs/mp3.js +1 -1
- package/dist/esm/codecs/mp3.js.map +1 -1
- package/dist/esm/codecs/mpeg4.d.ts +1 -1
- package/dist/esm/codecs/mpeg4.js +1 -1
- package/dist/esm/codecs/mpeg4.js.map +1 -1
- package/dist/esm/codecs/mpegvideo.d.ts +1 -1
- package/dist/esm/codecs/mpegvideo.js +1 -1
- package/dist/esm/codecs/mpegvideo.js.map +1 -1
- package/dist/esm/codecs/opus.d.ts +3 -3
- package/dist/esm/codecs/opus.js +2 -4
- package/dist/esm/codecs/opus.js.map +1 -1
- package/dist/esm/codecs/ttml.js +5 -11
- package/dist/esm/codecs/ttml.js.map +1 -1
- package/dist/esm/codecs/vp8.d.ts +4 -4
- package/dist/esm/codecs/vp8.js +2 -2
- package/dist/esm/codecs/vp8.js.map +1 -1
- package/dist/esm/codecs/vp9.d.ts +4 -4
- package/dist/esm/codecs/vp9.js +8 -10
- package/dist/esm/codecs/vp9.js.map +1 -1
- package/dist/esm/codecs/vvc.d.ts +6 -6
- package/dist/esm/codecs/vvc.js +18 -20
- package/dist/esm/codecs/vvc.js.map +1 -1
- package/dist/esm/constant.d.ts +6 -7
- package/dist/esm/constant.js +7 -9
- package/dist/esm/constant.js.map +1 -1
- package/dist/esm/enum.d.ts +147 -13
- package/dist/esm/enum.js +39 -24
- package/dist/esm/enum.js.map +1 -1
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/function/analyzeAVFormat.d.ts +2 -2
- package/dist/esm/function/analyzeAVFormat.js.map +1 -1
- package/dist/esm/function/analyzeUrlIOLoader.d.ts +2 -2
- package/dist/esm/function/analyzeUrlIOLoader.js +2 -10
- package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
- package/dist/esm/function/audioData2AVFrame.d.ts +1 -1
- package/dist/esm/function/audioData2AVFrame.js +6 -6
- package/dist/esm/function/audioData2AVFrame.js.map +1 -1
- package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +2 -2
- package/dist/esm/function/avPCMBuffer2AVFrame.js +9 -9
- package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -1
- package/dist/esm/function/avframe2AudioData.d.ts +1 -1
- package/dist/esm/function/avframe2AudioData.js +6 -8
- package/dist/esm/function/avframe2AudioData.js.map +1 -1
- package/dist/esm/function/avframe2VideoFrame.d.ts +3 -3
- package/dist/esm/function/avframe2VideoFrame.js +14 -79
- package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
- package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
- package/dist/esm/function/avpacket2EncodedAudioChunk.js +6 -7
- package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
- package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
- package/dist/esm/function/avpacket2EncodedVideoChunk.js +6 -7
- package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
- package/dist/esm/function/compileResource.d.ts +1 -1
- package/dist/esm/function/compileResource.js +2 -4
- package/dist/esm/function/compileResource.js.map +1 -1
- package/dist/esm/function/constant/webcodecs.d.ts +5 -0
- package/dist/esm/function/constant/webcodecs.js +51 -0
- package/dist/esm/function/constant/webcodecs.js.map +1 -0
- package/dist/esm/function/encodedAudioChunk2AVPacket.d.ts +1 -1
- package/dist/esm/function/encodedAudioChunk2AVPacket.js +7 -7
- package/dist/esm/function/encodedAudioChunk2AVPacket.js.map +1 -1
- package/dist/esm/function/encodedVideoChunk2AVPacket.d.ts +1 -1
- package/dist/esm/function/encodedVideoChunk2AVPacket.js +12 -9
- package/dist/esm/function/encodedVideoChunk2AVPacket.js.map +1 -1
- package/dist/esm/function/getAudioCodec.d.ts +1 -1
- package/dist/esm/function/getAudioCodec.js +2 -2
- package/dist/esm/function/getAudioCodec.js.map +1 -1
- package/dist/esm/function/getAudioMimeType.d.ts +2 -0
- package/dist/esm/function/getAudioMimeType.js +12 -0
- package/dist/esm/function/getAudioMimeType.js.map +1 -0
- package/dist/esm/function/getHardwarePreference.js +1 -1
- package/dist/esm/function/getHardwarePreference.js.map +1 -1
- package/dist/esm/function/getVideoCodec.d.ts +1 -1
- package/dist/esm/function/getVideoCodec.js +11 -13
- package/dist/esm/function/getVideoCodec.js.map +1 -1
- package/dist/esm/function/getVideoMimeType.d.ts +2 -0
- package/dist/esm/function/getVideoMimeType.js +8 -0
- package/dist/esm/function/getVideoMimeType.js.map +1 -0
- package/dist/esm/function/getWasmUrl.d.ts +1 -1
- package/dist/esm/function/getWasmUrl.js +17 -2
- package/dist/esm/function/getWasmUrl.js.map +1 -1
- package/dist/esm/function/hasAlphaChannel.d.ts +1 -1
- package/dist/esm/function/hasAlphaChannel.js +2 -2
- package/dist/esm/function/hasAlphaChannel.js.map +1 -1
- package/dist/esm/function/isHdr.d.ts +1 -1
- package/dist/esm/function/isHdr.js +2 -2
- package/dist/esm/function/isHdr.js.map +1 -1
- package/dist/esm/function/videoFrame2AVFrame.d.ts +6 -6
- package/dist/esm/function/videoFrame2AVFrame.js +13 -74
- package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
- package/dist/esm/implement/AVFramePoolImpl.d.ts +3 -3
- package/dist/esm/implement/AVFramePoolImpl.js +5 -7
- package/dist/esm/implement/AVFramePoolImpl.js.map +1 -1
- package/dist/esm/implement/AVPCMBufferPoolImpl.d.ts +3 -3
- package/dist/esm/implement/AVPCMBufferPoolImpl.js +4 -6
- package/dist/esm/implement/AVPCMBufferPoolImpl.js.map +1 -1
- package/dist/esm/implement/AVPacketPoolImpl.d.ts +3 -3
- package/dist/esm/implement/AVPacketPoolImpl.js +5 -7
- package/dist/esm/implement/AVPacketPoolImpl.js.map +1 -1
- package/dist/esm/index.d.ts +54 -0
- package/dist/esm/index.js +98 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.d.ts +26 -0
- package/dist/esm/internal.js +52 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/pixelFormatDescriptor.d.ts +2 -1
- package/dist/esm/pixelFormatDescriptor.js +15 -0
- package/dist/esm/pixelFormatDescriptor.js.map +1 -1
- package/dist/esm/pixfmt.d.ts +9 -1
- package/dist/esm/pixfmt.js.map +1 -1
- package/dist/esm/sampleFormatDescriptor.d.ts +1 -1
- package/dist/esm/sampleFormatDescriptor.js.map +1 -1
- package/dist/esm/stringEnum.d.ts +30 -5
- package/dist/esm/stringEnum.js +43 -5
- package/dist/esm/stringEnum.js.map +1 -1
- package/dist/esm/struct/audiosample.d.ts +1 -1
- package/dist/esm/struct/audiosample.js +2 -2
- package/dist/esm/struct/audiosample.js.map +1 -1
- package/dist/esm/struct/avbuffer.d.ts +1 -1
- package/dist/esm/struct/avbuffer.js +4 -4
- package/dist/esm/struct/avbuffer.js.map +1 -1
- package/dist/esm/struct/avcodecparameters.d.ts +14 -9
- package/dist/esm/struct/avcodecparameters.js +14 -16
- package/dist/esm/struct/avcodecparameters.js.map +1 -1
- package/dist/esm/struct/avdict.js +2 -2
- package/dist/esm/struct/avdict.js.map +1 -1
- package/dist/esm/struct/avframe.d.ts +12 -12
- package/dist/esm/struct/avframe.js +21 -27
- package/dist/esm/struct/avframe.js.map +1 -1
- package/dist/esm/struct/avpacket.d.ts +4 -4
- package/dist/esm/struct/avpacket.js +7 -9
- package/dist/esm/struct/avpacket.js.map +1 -1
- package/dist/esm/struct/avpcmbuffer.d.ts +1 -1
- package/dist/esm/struct/avpcmbuffer.js +2 -2
- package/dist/esm/struct/avpcmbuffer.js.map +1 -1
- package/dist/esm/struct/avsubtitle.d.ts +2 -2
- package/dist/esm/struct/avsubtitle.js.map +1 -1
- package/dist/esm/struct/encryption.js +2 -2
- package/dist/esm/struct/encryption.js.map +1 -1
- package/dist/esm/struct/rational.d.ts +1 -1
- package/dist/esm/struct/rational.js +4 -4
- package/dist/esm/struct/rational.js.map +1 -1
- package/dist/esm/util/amf.d.ts +1 -4
- package/dist/esm/util/amf.js +1 -5
- package/dist/esm/util/amf.js.map +1 -1
- package/dist/esm/util/av1syntax.d.ts +1 -1
- package/dist/esm/util/av1syntax.js.map +1 -1
- package/dist/esm/util/avbuffer.d.ts +2 -1
- package/dist/esm/util/avbuffer.js +7 -15
- package/dist/esm/util/avbuffer.js.map +1 -1
- package/dist/esm/util/avdict.d.ts +2 -1
- package/dist/esm/util/avdict.js +12 -16
- package/dist/esm/util/avdict.js.map +1 -1
- package/dist/esm/util/avframe.d.ts +2 -1
- package/dist/esm/util/avframe.js +22 -24
- package/dist/esm/util/avframe.js.map +1 -1
- package/dist/esm/util/avpacket.d.ts +3 -3
- package/dist/esm/util/avpacket.js +11 -13
- package/dist/esm/util/avpacket.js.map +1 -1
- package/dist/esm/util/channel.d.ts +1 -1
- package/dist/esm/util/channel.js +6 -6
- package/dist/esm/util/channel.js.map +1 -1
- package/dist/esm/util/codecparameters.d.ts +3 -1
- package/dist/esm/util/codecparameters.js +16 -12
- package/dist/esm/util/codecparameters.js.map +1 -1
- package/dist/esm/util/common.js.map +1 -1
- package/dist/esm/util/encryption.d.ts +2 -2
- package/dist/esm/util/encryption.js +1 -3
- package/dist/esm/util/encryption.js.map +1 -1
- package/dist/esm/util/expgolomb.d.ts +1 -2
- package/dist/esm/util/expgolomb.js.map +1 -1
- package/dist/esm/util/intread.js +1 -1
- package/dist/esm/util/intread.js.map +1 -1
- package/dist/esm/util/intwrite.js +1 -1
- package/dist/esm/util/intwrite.js.map +1 -1
- package/dist/esm/util/mem.js +7 -7
- package/dist/esm/util/mem.js.map +1 -1
- package/dist/esm/util/nalu.d.ts +1 -1
- package/dist/esm/util/nalu.js +3 -5
- package/dist/esm/util/nalu.js.map +1 -1
- package/dist/esm/util/ntp.js.map +1 -1
- package/dist/esm/util/pcm.d.ts +1 -1
- package/dist/esm/util/pcm.js.map +1 -1
- package/dist/esm/util/pixel.d.ts +1 -1
- package/dist/esm/util/pixel.js +8 -10
- package/dist/esm/util/pixel.js.map +1 -1
- package/dist/esm/util/rational.d.ts +10 -10
- package/dist/esm/util/rational.js +4 -4
- package/dist/esm/util/rational.js.map +1 -1
- package/dist/esm/util/sample.d.ts +1 -1
- package/dist/esm/util/sample.js +7 -7
- package/dist/esm/util/sample.js.map +1 -1
- package/dist/esm/util/serialize.d.ts +9 -9
- package/dist/esm/util/serialize.js +6 -6
- package/dist/esm/util/serialize.js.map +1 -1
- package/package.json +23 -390
- package/src/AVStream.ts +677 -0
- package/src/audiosamplefmt.ts +302 -0
- package/src/avformat.ts +96 -0
- package/src/codec.ts +1016 -0
- package/src/codecs/aac.ts +429 -0
- package/src/codecs/ac3.ts +309 -0
- package/src/codecs/av1.ts +503 -0
- package/src/codecs/dts.ts +100 -0
- package/src/codecs/flac.ts +118 -0
- package/src/codecs/h264.ts +1013 -0
- package/src/codecs/hevc.ts +1049 -0
- package/src/codecs/mp3.ts +172 -0
- package/src/codecs/mpeg4.ts +37 -0
- package/src/codecs/mpegvideo.ts +49 -0
- package/src/codecs/opus.ts +148 -0
- package/src/codecs/ttml.ts +158 -0
- package/src/codecs/vp8.ts +91 -0
- package/src/codecs/vp9.ts +213 -0
- package/src/codecs/vvc.ts +1086 -0
- package/src/constant.ts +72 -0
- package/src/enum.ts +47 -0
- package/src/error.ts +45 -0
- package/src/function/analyzeAVFormat.ts +94 -0
- package/src/function/analyzeUrlIOLoader.ts +166 -0
- package/src/function/audioData2AVFrame.ts +82 -0
- package/src/function/avPCMBuffer2AVFrame.ts +111 -0
- package/src/function/avframe2AudioData.ts +131 -0
- package/src/function/avframe2VideoFrame.ts +88 -0
- package/src/function/avpacket2EncodedAudioChunk.ts +39 -0
- package/src/function/avpacket2EncodedVideoChunk.ts +39 -0
- package/src/function/compileResource.ts +57 -0
- package/src/function/constant/webcodecs.ts +81 -0
- package/src/function/encodedAudioChunk2AVPacket.ts +62 -0
- package/src/function/encodedVideoChunk2AVPacket.ts +86 -0
- package/src/function/getAudioCodec.ts +45 -0
- package/src/function/getAudioMimeType.ts +44 -0
- package/src/function/getHardwarePreference.ts +45 -0
- package/src/function/getVideoCodec.ts +244 -0
- package/src/function/getVideoMimeType.ts +35 -0
- package/src/function/getWasmUrl.ts +190 -0
- package/src/function/hasAlphaChannel.ts +37 -0
- package/src/function/isHdr.ts +44 -0
- package/src/function/videoFrame2AVFrame.ts +95 -0
- package/src/implement/AVFramePoolImpl.ts +83 -0
- package/src/implement/AVPCMBufferPoolImpl.ts +79 -0
- package/src/implement/AVPacketPoolImpl.ts +82 -0
- package/src/index.ts +264 -0
- package/src/internal.ts +71 -0
- package/src/pixelFormatDescriptor.ts +819 -0
- package/src/pixfmt.ts +1400 -0
- package/src/sampleFormatDescriptor.ts +57 -0
- package/src/stringEnum.ts +366 -0
- package/src/struct/audiosample.ts +95 -0
- package/src/struct/avbuffer.ts +139 -0
- package/src/struct/avcodecparameters.ts +243 -0
- package/src/struct/avdict.ts +44 -0
- package/src/struct/avframe.ts +663 -0
- package/src/struct/avpacket.ts +178 -0
- package/src/struct/avpcmbuffer.ts +77 -0
- package/src/struct/avsubtitle.ts +59 -0
- package/src/struct/encryption.ts +180 -0
- package/src/struct/rational.ts +43 -0
- package/src/util/amf.ts +178 -0
- package/src/util/av1syntax.ts +112 -0
- package/src/util/avbuffer.ts +294 -0
- package/src/util/avdict.ts +171 -0
- package/src/util/avframe.ts +520 -0
- package/src/util/avpacket.ts +313 -0
- package/src/util/channel.ts +66 -0
- package/src/util/codecparameters.ts +148 -0
- package/src/util/common.ts +42 -0
- package/src/util/encryption.ts +154 -0
- package/src/util/expgolomb.ts +170 -0
- package/src/util/intread.ts +60 -0
- package/src/util/intwrite.ts +71 -0
- package/src/util/mem.ts +60 -0
- package/src/util/nalu.ts +297 -0
- package/src/util/ntp.ts +32 -0
- package/src/util/pcm.ts +161 -0
- package/src/util/pixel.ts +381 -0
- package/src/util/rational.ts +152 -0
- package/src/util/sample.ts +136 -0
- package/src/util/serialize.ts +268 -0
- package/dist/cjs/AVStream.d.ts +0 -334
- package/dist/cjs/AVStream.js +0 -37
- package/dist/cjs/audiosamplefmt.d.ts +0 -248
- package/dist/cjs/avformat.d.ts +0 -63
- package/dist/cjs/codec.d.ts +0 -863
- package/dist/cjs/codecs/aac.d.ts +0 -121
- package/dist/cjs/codecs/ac3.d.ts +0 -72
- package/dist/cjs/codecs/av1.d.ts +0 -75
- package/dist/cjs/codecs/dts.d.ts +0 -17
- package/dist/cjs/codecs/flac.d.ts +0 -46
- package/dist/cjs/codecs/h264.d.ts +0 -188
- package/dist/cjs/codecs/hevc.d.ts +0 -220
- package/dist/cjs/codecs/mp3.d.ts +0 -17
- package/dist/cjs/codecs/mpeg4.d.ts +0 -7
- package/dist/cjs/codecs/mpegvideo.d.ts +0 -7
- package/dist/cjs/codecs/opus.d.ts +0 -26
- package/dist/cjs/codecs/ttml.d.ts +0 -9
- package/dist/cjs/codecs/ttml.js +0 -87
- package/dist/cjs/codecs/vp8.d.ts +0 -31
- package/dist/cjs/codecs/vp9.d.ts +0 -45
- package/dist/cjs/codecs/vvc.d.ts +0 -235
- package/dist/cjs/constant.d.ts +0 -35
- package/dist/cjs/constant.js +0 -27
- package/dist/cjs/enum.d.ts +0 -3159
- package/dist/cjs/error.d.ts +0 -10
- package/dist/cjs/function/analyzeAVFormat.d.ts +0 -3
- package/dist/cjs/function/analyzeUrlIOLoader.d.ts +0 -7
- package/dist/cjs/function/analyzeUrlIOLoader.js +0 -101
- package/dist/cjs/function/audioData2AVFrame.d.ts +0 -2
- package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +0 -3
- package/dist/cjs/function/avframe2AudioData.d.ts +0 -2
- package/dist/cjs/function/avframe2VideoFrame.d.ts +0 -5
- package/dist/cjs/function/avframe2VideoFrame.js +0 -146
- package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +0 -2
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js +0 -17
- package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +0 -2
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js +0 -17
- package/dist/cjs/function/compileResource.d.ts +0 -2
- package/dist/cjs/function/compileResource.js +0 -53
- package/dist/cjs/function/encodedAudioChunk2AVPacket.d.ts +0 -2
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js +0 -23
- package/dist/cjs/function/encodedVideoChunk2AVPacket.d.ts +0 -7
- package/dist/cjs/function/encodedVideoChunk2AVPacket.js +0 -30
- package/dist/cjs/function/getAudioCodec.d.ts +0 -2
- package/dist/cjs/function/getHardwarePreference.d.ts +0 -1
- package/dist/cjs/function/getHardwarePreference.js +0 -16
- package/dist/cjs/function/getVideoCodec.d.ts +0 -2
- package/dist/cjs/function/getWasmUrl.d.ts +0 -2
- package/dist/cjs/function/hasAlphaChannel.d.ts +0 -2
- package/dist/cjs/function/isHdr.d.ts +0 -2
- package/dist/cjs/function/videoFrame2AVFrame.d.ts +0 -7
- package/dist/cjs/function/videoFrame2AVFrame.js +0 -113
- package/dist/cjs/implement/AVFramePoolImpl.d.ts +0 -10
- package/dist/cjs/implement/AVFramePoolImpl.js +0 -59
- package/dist/cjs/implement/AVPCMBufferPoolImpl.d.ts +0 -10
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js +0 -57
- package/dist/cjs/implement/AVPacketPoolImpl.d.ts +0 -10
- package/dist/cjs/implement/AVPacketPoolImpl.js +0 -60
- package/dist/cjs/pixelFormatDescriptor.d.ts +0 -99
- package/dist/cjs/pixfmt.d.ts +0 -1293
- package/dist/cjs/sampleFormatDescriptor.d.ts +0 -6
- package/dist/cjs/stringEnum.d.ts +0 -136
- package/dist/cjs/struct/audiosample.d.ts +0 -64
- package/dist/cjs/struct/avbuffer.d.ts +0 -85
- package/dist/cjs/struct/avcodecparameters.d.ts +0 -176
- package/dist/cjs/struct/avdict.d.ts +0 -17
- package/dist/cjs/struct/avframe.d.ts +0 -559
- package/dist/cjs/struct/avpacket.d.ts +0 -124
- package/dist/cjs/struct/avpcmbuffer.d.ts +0 -49
- package/dist/cjs/struct/avsubtitle.d.ts +0 -30
- package/dist/cjs/struct/encryption.d.ts +0 -137
- package/dist/cjs/struct/rational.d.ts +0 -15
- package/dist/cjs/struct/rational.js +0 -43
- package/dist/cjs/util/amf.d.ts +0 -10
- package/dist/cjs/util/av1syntax.d.ts +0 -9
- package/dist/cjs/util/avbuffer.d.ts +0 -17
- package/dist/cjs/util/avbuffer.js +0 -153
- package/dist/cjs/util/avdict.d.ts +0 -8
- package/dist/cjs/util/avdict.js +0 -111
- package/dist/cjs/util/avframe.d.ts +0 -20
- package/dist/cjs/util/avpacket.d.ts +0 -24
- package/dist/cjs/util/channel.d.ts +0 -5
- package/dist/cjs/util/codecparameters.d.ts +0 -4
- package/dist/cjs/util/codecparameters.js +0 -70
- package/dist/cjs/util/common.d.ts +0 -3
- package/dist/cjs/util/crypto.d.ts +0 -1
- package/dist/cjs/util/crypto.js +0 -8
- package/dist/cjs/util/crypto.js.map +0 -1
- package/dist/cjs/util/encryption.d.ts +0 -6
- package/dist/cjs/util/expgolomb.d.ts +0 -26
- package/dist/cjs/util/intread.d.ts +0 -9
- package/dist/cjs/util/intwrite.d.ts +0 -9
- package/dist/cjs/util/mem.d.ts +0 -5
- package/dist/cjs/util/mem.js +0 -54
- package/dist/cjs/util/nalu.d.ts +0 -32
- package/dist/cjs/util/ntp.d.ts +0 -1
- package/dist/cjs/util/pcm.d.ts +0 -4
- package/dist/cjs/util/pixel.d.ts +0 -11
- package/dist/cjs/util/rational.d.ts +0 -58
- package/dist/cjs/util/sample.d.ts +0 -7
- package/dist/cjs/util/serialize.d.ts +0 -63
- package/dist/esm/util/crypto.d.ts +0 -1
- package/dist/esm/util/crypto.js +0 -4
- package/dist/esm/util/crypto.js.map +0 -1
- /package/dist/cjs/{audiosamplefmt.js → audiosamplefmt.cjs} +0 -0
- /package/dist/cjs/{avformat.js → avformat.cjs} +0 -0
- /package/dist/cjs/{codec.js → codec.cjs} +0 -0
- /package/dist/cjs/{error.js → error.cjs} +0 -0
- /package/dist/cjs/function/{analyzeAVFormat.js → analyzeAVFormat.cjs} +0 -0
- /package/dist/cjs/{pixfmt.js → pixfmt.cjs} +0 -0
- /package/dist/cjs/{sampleFormatDescriptor.js → sampleFormatDescriptor.cjs} +0 -0
- /package/dist/cjs/struct/{avsubtitle.js → avsubtitle.cjs} +0 -0
- /package/dist/cjs/util/{av1syntax.js → av1syntax.cjs} +0 -0
- /package/dist/cjs/util/{common.js → common.cjs} +0 -0
- /package/dist/cjs/util/{expgolomb.js → expgolomb.cjs} +0 -0
- /package/dist/cjs/util/{ntp.js → ntp.cjs} +0 -0
- /package/dist/cjs/util/{pcm.js → pcm.cjs} +0 -0
package/src/AVStream.ts
ADDED
|
@@ -0,0 +1,677 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* libmedia AVStream defined
|
|
3
|
+
*
|
|
4
|
+
* 版权所有 (C) 2024 赵高兴
|
|
5
|
+
* Copyright (C) 2024 Gaoxing Zhao
|
|
6
|
+
*
|
|
7
|
+
* 此文件是 libmedia 的一部分
|
|
8
|
+
* This file is part of libmedia.
|
|
9
|
+
*
|
|
10
|
+
* libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
|
|
11
|
+
* 或任何其更新的版本条款重新分发或修改它
|
|
12
|
+
* libmedia is free software; you can redistribute it and/or
|
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
* License as published by the Free Software Foundation; either
|
|
15
|
+
* version 3.1 of the License, or (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
|
|
18
|
+
* 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
|
|
19
|
+
* libmedia is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
22
|
+
* Lesser General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import type { Data } from '@libmedia/common'
|
|
27
|
+
import AVCodecParameters from './struct/avcodecparameters'
|
|
28
|
+
import type { AVPacketSideDataType } from './codec'
|
|
29
|
+
import { NOPTS_VALUE, NOPTS_VALUE_BIGINT } from './constant'
|
|
30
|
+
import type { AVRational } from './struct/rational'
|
|
31
|
+
import type AVPacket from './struct/avpacket'
|
|
32
|
+
import { destroyAVPacket } from './util/avpacket'
|
|
33
|
+
|
|
34
|
+
export const enum AVStreamMetadataKey {
|
|
35
|
+
/**
|
|
36
|
+
* 表演者(歌手、乐队等)
|
|
37
|
+
*/
|
|
38
|
+
ARTIST = 'artist',
|
|
39
|
+
/**
|
|
40
|
+
* 自由文本评论
|
|
41
|
+
*/
|
|
42
|
+
COMMENT = 'comment',
|
|
43
|
+
/**
|
|
44
|
+
* 版权声明
|
|
45
|
+
*/
|
|
46
|
+
COPYRIGHT = 'copyright',
|
|
47
|
+
/**
|
|
48
|
+
* 发行年份(通常为 YYYY 格式)
|
|
49
|
+
*/
|
|
50
|
+
DATE = 'date',
|
|
51
|
+
/**
|
|
52
|
+
* 音乐流派
|
|
53
|
+
*/
|
|
54
|
+
GENRE = 'genre',
|
|
55
|
+
/**
|
|
56
|
+
* 语言
|
|
57
|
+
*/
|
|
58
|
+
LANGUAGE = 'language',
|
|
59
|
+
/**
|
|
60
|
+
* 歌曲或作品的标题
|
|
61
|
+
*/
|
|
62
|
+
TITLE = 'title',
|
|
63
|
+
/**
|
|
64
|
+
* 专辑名称
|
|
65
|
+
*/
|
|
66
|
+
ALBUM = 'album',
|
|
67
|
+
/**
|
|
68
|
+
* 曲目编号
|
|
69
|
+
*/
|
|
70
|
+
TRACK = 'track',
|
|
71
|
+
/**
|
|
72
|
+
* 用于编码音频文件的软件信息
|
|
73
|
+
*/
|
|
74
|
+
ENCODER = 'encoder',
|
|
75
|
+
/**
|
|
76
|
+
* 时间参数
|
|
77
|
+
*/
|
|
78
|
+
TIME_CODE = 'timecode',
|
|
79
|
+
/**
|
|
80
|
+
* 发行商
|
|
81
|
+
*/
|
|
82
|
+
VENDOR = 'vendor',
|
|
83
|
+
/**
|
|
84
|
+
* 发行商标识
|
|
85
|
+
*/
|
|
86
|
+
VENDOR_ID = 'vendorId',
|
|
87
|
+
/**
|
|
88
|
+
* 海报
|
|
89
|
+
*/
|
|
90
|
+
POSTER = 'poster',
|
|
91
|
+
/**
|
|
92
|
+
* 歌词
|
|
93
|
+
*/
|
|
94
|
+
LYRICS = 'lyrics',
|
|
95
|
+
/**
|
|
96
|
+
* 专辑的主要艺术家(与 ARTIST 区分开,适用于合集专辑)
|
|
97
|
+
*/
|
|
98
|
+
ALBUM_ARTIST = 'albumArtist',
|
|
99
|
+
/**
|
|
100
|
+
* 如果是多张 CD 的专辑,标识当前曲目所在的 CD
|
|
101
|
+
*/
|
|
102
|
+
DISC = 'disc',
|
|
103
|
+
/**
|
|
104
|
+
* 具体的演奏者或表演者
|
|
105
|
+
*/
|
|
106
|
+
PERFORMER = 'performer',
|
|
107
|
+
/**
|
|
108
|
+
* 发行者
|
|
109
|
+
*/
|
|
110
|
+
PUBLISHER = 'publisher',
|
|
111
|
+
/**
|
|
112
|
+
* 作曲者
|
|
113
|
+
*/
|
|
114
|
+
COMPOSER = 'composer',
|
|
115
|
+
/**
|
|
116
|
+
* 编曲者
|
|
117
|
+
*/
|
|
118
|
+
COMPILATION = 'compilation',
|
|
119
|
+
/**
|
|
120
|
+
* 创建时间
|
|
121
|
+
*/
|
|
122
|
+
CREATION_TIME = 'creationTime',
|
|
123
|
+
/**
|
|
124
|
+
* 最后更改时间
|
|
125
|
+
*/
|
|
126
|
+
MODIFICATION_TIME = 'modificationTime',
|
|
127
|
+
/**
|
|
128
|
+
* 专辑表演者排序
|
|
129
|
+
*/
|
|
130
|
+
ALBUM_ARTIST_SORT = 'albumArtistSort',
|
|
131
|
+
/**
|
|
132
|
+
* 专辑排序
|
|
133
|
+
*/
|
|
134
|
+
ALBUM_SORT = 'albumSort',
|
|
135
|
+
/**
|
|
136
|
+
* 表演者排序
|
|
137
|
+
*/
|
|
138
|
+
ARTIST_SORT = 'artistSort',
|
|
139
|
+
/**
|
|
140
|
+
* 标题排序
|
|
141
|
+
*/
|
|
142
|
+
TITLE_SORT = 'titleSort',
|
|
143
|
+
/**
|
|
144
|
+
* 作曲者排序
|
|
145
|
+
*/
|
|
146
|
+
COMPOSER_SORT = 'composerSort',
|
|
147
|
+
/**
|
|
148
|
+
* 分组
|
|
149
|
+
*/
|
|
150
|
+
GROUPING = 'grouping',
|
|
151
|
+
/**
|
|
152
|
+
* 额外的描述信息
|
|
153
|
+
*/
|
|
154
|
+
DESCRIPTION = 'description',
|
|
155
|
+
/**
|
|
156
|
+
* 许可信息
|
|
157
|
+
*/
|
|
158
|
+
LICENSE = 'license',
|
|
159
|
+
/**
|
|
160
|
+
* 国际标准录音代码
|
|
161
|
+
*/
|
|
162
|
+
ISRC = 'isrc',
|
|
163
|
+
/**
|
|
164
|
+
* 情绪标签,如 Happy、Sad
|
|
165
|
+
*/
|
|
166
|
+
MOOD = 'mood',
|
|
167
|
+
/**
|
|
168
|
+
* mp4 的 elst box 内容
|
|
169
|
+
*/
|
|
170
|
+
ELST = 'elst',
|
|
171
|
+
/**
|
|
172
|
+
* mp4 的旋转矩阵
|
|
173
|
+
*/
|
|
174
|
+
MATRIX = 'matrix',
|
|
175
|
+
/**
|
|
176
|
+
* 某些媒体的样式(如 webvtt)
|
|
177
|
+
*/
|
|
178
|
+
STYLES = 'styles',
|
|
179
|
+
/**
|
|
180
|
+
* 媒体的 mime
|
|
181
|
+
*/
|
|
182
|
+
MIME = 'mime',
|
|
183
|
+
/**
|
|
184
|
+
* mp4 的 handlerName
|
|
185
|
+
*/
|
|
186
|
+
HANDLER_NAME = 'handlerName',
|
|
187
|
+
/**
|
|
188
|
+
* DRM 系统支持信息
|
|
189
|
+
*/
|
|
190
|
+
ENCRYPTION = 'encryption'
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export const enum AVDisposition {
|
|
194
|
+
NONE = 0,
|
|
195
|
+
/**
|
|
196
|
+
* The stream should be chosen by default among other streams of the same type,
|
|
197
|
+
* unless the user has explicitly specified otherwise.
|
|
198
|
+
*/
|
|
199
|
+
DEFAULT = 1 << 0,
|
|
200
|
+
/**
|
|
201
|
+
* The stream is not in original language.
|
|
202
|
+
*
|
|
203
|
+
* @note AV_DISPOSITION_ORIGINAL is the inverse of this disposition. At most
|
|
204
|
+
* one of them should be set in properly tagged streams.
|
|
205
|
+
* @note This disposition may apply to any stream type, not just audio.
|
|
206
|
+
*/
|
|
207
|
+
DUB = 1 << 1,
|
|
208
|
+
/**
|
|
209
|
+
* The stream is in original language.
|
|
210
|
+
*
|
|
211
|
+
* @see the notes for AV_DISPOSITION_DUB
|
|
212
|
+
*/
|
|
213
|
+
ORIGINAL = 1 << 2,
|
|
214
|
+
/**
|
|
215
|
+
* The stream is a commentary track.
|
|
216
|
+
*/
|
|
217
|
+
COMMENT = 1 << 3,
|
|
218
|
+
/**
|
|
219
|
+
* The stream contains song lyrics.
|
|
220
|
+
*/
|
|
221
|
+
LYRICS = 1 << 4,
|
|
222
|
+
/**
|
|
223
|
+
* The stream contains karaoke audio.
|
|
224
|
+
*/
|
|
225
|
+
KARAOKE = 1 << 5,
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Track should be used during playback by default.
|
|
229
|
+
* Useful for subtitle track that should be displayed
|
|
230
|
+
* even when user did not explicitly ask for subtitles.
|
|
231
|
+
*/
|
|
232
|
+
FORCED = 1 << 6,
|
|
233
|
+
/**
|
|
234
|
+
* stream for hearing impaired audiences
|
|
235
|
+
*/
|
|
236
|
+
HEARING_IMPAIRED = 1 << 7,
|
|
237
|
+
/**
|
|
238
|
+
* stream for visual impaired audiences
|
|
239
|
+
*/
|
|
240
|
+
VISUAL_IMPAIRED = 1 << 8,
|
|
241
|
+
/**
|
|
242
|
+
* stream without voice
|
|
243
|
+
*/
|
|
244
|
+
CLEAN_EFFECTS = 1 << 9,
|
|
245
|
+
/**
|
|
246
|
+
* The stream is stored in the file as an attached picture/"cover art" (e.g.
|
|
247
|
+
* APIC frame in ID3v2). The first (usually only) packet associated with it
|
|
248
|
+
* will be returned among the first few packets read from the file unless
|
|
249
|
+
* seeking takes place. It can also be accessed at any time in
|
|
250
|
+
* AVStream.attached_pic.
|
|
251
|
+
*/
|
|
252
|
+
ATTACHED_PIC = 1 << 10,
|
|
253
|
+
/**
|
|
254
|
+
* The stream is sparse, and contains thumbnail images, often corresponding
|
|
255
|
+
* to chapter markers. Only ever used with AV_DISPOSITION_ATTACHED_PIC.
|
|
256
|
+
*/
|
|
257
|
+
TIMED_THUMBNAILS = 1 << 11,
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* The stream is intended to be mixed with a spatial audio track. For example,
|
|
261
|
+
* it could be used for narration or stereo music, and may remain unchanged by
|
|
262
|
+
* listener head rotation.
|
|
263
|
+
*/
|
|
264
|
+
NON_DIEGETIC = 1 << 12,
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* The stream is sparse, thumbnail images for other stream in picture format like heif
|
|
268
|
+
*/
|
|
269
|
+
THUMBNAIL = 1 << 13,
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* The subtitle stream contains captions, providing a transcription and possibly
|
|
273
|
+
* a translation of audio. Typically intended for hearing-impaired audiences.
|
|
274
|
+
*/
|
|
275
|
+
CAPTIONS = 1 << 16,
|
|
276
|
+
/**
|
|
277
|
+
* The subtitle stream contains a textual description of the video content.
|
|
278
|
+
* Typically intended for visually-impaired audiences or for the cases where the
|
|
279
|
+
* video cannot be seen.
|
|
280
|
+
*/
|
|
281
|
+
DESCRIPTIONS = 1 << 17,
|
|
282
|
+
/**
|
|
283
|
+
* The subtitle stream contains time-aligned metadata that is not intended to be
|
|
284
|
+
* directly presented to the user.
|
|
285
|
+
*/
|
|
286
|
+
METADATA = 1 << 18,
|
|
287
|
+
/**
|
|
288
|
+
* The stream is intended to be mixed with another stream before presentation.
|
|
289
|
+
* Used for example to signal the stream contains an image part of a HEIF grid,
|
|
290
|
+
* or for mix_type=0 in mpegts.
|
|
291
|
+
*/
|
|
292
|
+
DEPENDENT = 1 << 19,
|
|
293
|
+
/**
|
|
294
|
+
* still images in video stream (still_picture_flag=1 in mpegts
|
|
295
|
+
*/
|
|
296
|
+
STILL_IMAGE = 1 << 20,
|
|
297
|
+
/**
|
|
298
|
+
* still images in video stream (still_picture_flag=1 in mpegts
|
|
299
|
+
*/
|
|
300
|
+
MULTILAYER = 1 << 21
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export const enum AVDiscard {
|
|
304
|
+
/* We leave some space between them for extensions (drop some
|
|
305
|
+
* keyframes for intra-only or drop just some bidir frames). */
|
|
306
|
+
// /< discard nothing
|
|
307
|
+
AVDISCARD_NONE = -16,
|
|
308
|
+
// /< discard useless packets like 0 size packets in avi
|
|
309
|
+
AVDISCARD_DEFAULT = 0,
|
|
310
|
+
// /< discard all non reference
|
|
311
|
+
AVDISCARD_NONREF = 8,
|
|
312
|
+
// /< discard all bidirectional frames
|
|
313
|
+
AVDISCARD_BIDIR = 16,
|
|
314
|
+
// /< discard all non intra frames
|
|
315
|
+
AVDISCARD_NONINTRA = 24,
|
|
316
|
+
// /< discard all frames except keyframes
|
|
317
|
+
AVDISCARD_NONKEY = 32,
|
|
318
|
+
// /< discard all
|
|
319
|
+
AVDISCARD_ALL = 48
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
export const enum AVStreamGroupParamsType {
|
|
323
|
+
NONE,
|
|
324
|
+
IAMF_AUDIO_ELEMENT,
|
|
325
|
+
IAMF_MIX_PRESENTATION,
|
|
326
|
+
TILE_GRID,
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* from FFmpeg
|
|
331
|
+
*
|
|
332
|
+
*/
|
|
333
|
+
export default class AVStream {
|
|
334
|
+
/**
|
|
335
|
+
* stream index in AVFormatContext
|
|
336
|
+
*/
|
|
337
|
+
index: int32 = NOPTS_VALUE
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Format-specific stream ID.
|
|
341
|
+
* decoding: set by libavformat
|
|
342
|
+
* encoding: set by the user, replaced by libavformat if left unset
|
|
343
|
+
*/
|
|
344
|
+
id: int32 = NOPTS_VALUE
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* format private data
|
|
348
|
+
*/
|
|
349
|
+
privData: Data = null
|
|
350
|
+
/**
|
|
351
|
+
* demuxer or muxer's private data
|
|
352
|
+
*/
|
|
353
|
+
privateData2: Data = null
|
|
354
|
+
|
|
355
|
+
codecpar: AVCodecParameters = make<AVCodecParameters>(new AVCodecParameters())
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* An array of side data that applies to the whole stream (i.e. the
|
|
359
|
+
* container does not allow it to change between packets).
|
|
360
|
+
*
|
|
361
|
+
* There may be no overlap between the side data in this array and side data
|
|
362
|
+
* in the packets. I.e. a given side data is either exported by the muxer
|
|
363
|
+
* (demuxing) / set by the caller (muxing) in this array, then it never
|
|
364
|
+
* appears in the packets, or the side data is exported / sent through
|
|
365
|
+
* the packets (always in the first packet where the value becomes known or
|
|
366
|
+
* changes), then it does not appear in this array.
|
|
367
|
+
*
|
|
368
|
+
* - demuxing: Set by libavformat when the stream is created.
|
|
369
|
+
* - muxing: May be set by the caller before write_header().
|
|
370
|
+
*
|
|
371
|
+
*/
|
|
372
|
+
sideData: Partial<Record<AVPacketSideDataType, Uint8Array>> = {}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* number of frames in this stream if known or 0
|
|
376
|
+
*/
|
|
377
|
+
nbFrames: int64 = 0n
|
|
378
|
+
|
|
379
|
+
metadata: Data = {}
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Decoding: duration of the stream, in stream time base.
|
|
383
|
+
* If a source file does not specify a duration, but does specify
|
|
384
|
+
* a bitrate, this value will be estimated from bitrate and file size.
|
|
385
|
+
*
|
|
386
|
+
* Encoding: May be set by the caller before avformat_write_header() to
|
|
387
|
+
* provide a hint to the muxer about the estimated duration.
|
|
388
|
+
*/
|
|
389
|
+
duration: int64 = NOPTS_VALUE_BIGINT
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Decoding: pts of the first frame of the stream in presentation order, in stream time base.
|
|
393
|
+
* Only set this if you are absolutely 100% sure that the value you set
|
|
394
|
+
* it to really is the pts of the first frame.
|
|
395
|
+
* This may be undefined (AV_NOPTS_VALUE).
|
|
396
|
+
* @note The ASF header does NOT contain a correct start_time the ASF
|
|
397
|
+
* demuxer must NOT set this.
|
|
398
|
+
*/
|
|
399
|
+
startTime: int64 = NOPTS_VALUE_BIGINT
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* 第一个 packet 的 dts
|
|
403
|
+
*/
|
|
404
|
+
firstDTS: int64 = NOPTS_VALUE_BIGINT
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* AV_DISPOSITION_* bit field
|
|
408
|
+
*/
|
|
409
|
+
disposition: AVDisposition = AVDisposition.NONE
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Selects which packets can be discarded at will and do not need to be demuxed.
|
|
413
|
+
*/
|
|
414
|
+
discard: AVDiscard = AVDiscard.AVDISCARD_NONE
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
*
|
|
418
|
+
* 封装时间基
|
|
419
|
+
*
|
|
420
|
+
* decoding: set by libavformat
|
|
421
|
+
* encoding: May be set by the caller before avformat_write_header() to
|
|
422
|
+
* provide a hint to the muxer about the desired timebase. In
|
|
423
|
+
* avformat_write_header(), the muxer will overwrite this field
|
|
424
|
+
* with the timebase that will actually be used for the timestamps
|
|
425
|
+
* written into the file (which may or may not be related to the
|
|
426
|
+
* user-provided one, depending on the format).
|
|
427
|
+
*/
|
|
428
|
+
timeBase: AVRational = make<AVRational>()
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* 帧索引,可用于 seek
|
|
432
|
+
*/
|
|
433
|
+
sampleIndexes: {
|
|
434
|
+
dts: int64
|
|
435
|
+
pts: int64
|
|
436
|
+
pos: int64
|
|
437
|
+
size: int32
|
|
438
|
+
duration: int64
|
|
439
|
+
flags: int32
|
|
440
|
+
}[] = []
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* pos 到 sample index 的映射
|
|
444
|
+
*/
|
|
445
|
+
sampleIndexesPosMap: Map<int64, int32> = new Map()
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet
|
|
449
|
+
* will contain the attached picture.
|
|
450
|
+
*
|
|
451
|
+
* decoding: set by libavformat, must not be modified by the caller.
|
|
452
|
+
* encoding: unused
|
|
453
|
+
*/
|
|
454
|
+
attachedPic: pointer<AVPacket> = nullptr
|
|
455
|
+
|
|
456
|
+
public destroy() {
|
|
457
|
+
if (this.codecpar) {
|
|
458
|
+
this.codecpar.destroy()
|
|
459
|
+
unmake(this.codecpar)
|
|
460
|
+
this.codecpar = null
|
|
461
|
+
}
|
|
462
|
+
if (this.timeBase) {
|
|
463
|
+
unmake(this.timeBase)
|
|
464
|
+
this.timeBase = null
|
|
465
|
+
}
|
|
466
|
+
if (this.attachedPic) {
|
|
467
|
+
destroyAVPacket(this.attachedPic)
|
|
468
|
+
this.attachedPic = nullptr
|
|
469
|
+
}
|
|
470
|
+
this.sampleIndexes.length = 0
|
|
471
|
+
this.sampleIndexesPosMap.clear()
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export class AVStreamGroupTileGrid {
|
|
476
|
+
/**
|
|
477
|
+
* Width of the canvas.
|
|
478
|
+
*
|
|
479
|
+
* Must be > 0.
|
|
480
|
+
*/
|
|
481
|
+
codedWidth: int32 = 0
|
|
482
|
+
/**
|
|
483
|
+
* Width of the canvas.
|
|
484
|
+
*
|
|
485
|
+
* Must be > 0.
|
|
486
|
+
*/
|
|
487
|
+
codedHeight: int32 = 0
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* An @ref nb_tiles sized array of offsets in pixels from the topleft edge
|
|
491
|
+
* of the canvas, indicating where each stream should be placed.
|
|
492
|
+
* It must be allocated with the av_malloc() family of functions.
|
|
493
|
+
*
|
|
494
|
+
* - demuxing: set by libavformat, must not be modified by the caller.
|
|
495
|
+
* - muxing: set by the caller before avformat_write_header().
|
|
496
|
+
*
|
|
497
|
+
* Freed by libavformat in avformat_free_context().
|
|
498
|
+
*/
|
|
499
|
+
offsets: {
|
|
500
|
+
/**
|
|
501
|
+
* Index of the stream in the group this tile references.
|
|
502
|
+
*
|
|
503
|
+
* Must be < @ref AVStreamGroup.nb_streams "nb_streams".
|
|
504
|
+
*/
|
|
505
|
+
idx: int32
|
|
506
|
+
/**
|
|
507
|
+
* Offset in pixels from the left edge of the canvas where the tile
|
|
508
|
+
* should be placed.
|
|
509
|
+
*/
|
|
510
|
+
horizontal: int32
|
|
511
|
+
/**
|
|
512
|
+
* Offset in pixels from the top edge of the canvas where the tile
|
|
513
|
+
* should be placed.
|
|
514
|
+
*/
|
|
515
|
+
vertical: int32
|
|
516
|
+
}[] = []
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* The pixel value per channel in RGBA format used if no pixel of any tile
|
|
520
|
+
* is located at a particular pixel location.
|
|
521
|
+
*
|
|
522
|
+
* @see av_image_fill_color().
|
|
523
|
+
* @see av_parse_color().
|
|
524
|
+
*/
|
|
525
|
+
background: uint8[] = null
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Offset in pixels from the left edge of the canvas where the actual image
|
|
529
|
+
* meant for presentation starts.
|
|
530
|
+
*
|
|
531
|
+
* This field must be >= 0 and < @ref coded_width.
|
|
532
|
+
*/
|
|
533
|
+
horizontalOffset: int32 = NOPTS_VALUE
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* Offset in pixels from the top edge of the canvas where the actual image
|
|
537
|
+
* meant for presentation starts.
|
|
538
|
+
*
|
|
539
|
+
* This field must be >= 0 and < @ref coded_height.
|
|
540
|
+
*/
|
|
541
|
+
verticalOffset: int32 = NOPTS_VALUE
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* Width of the final image for presentation.
|
|
545
|
+
*
|
|
546
|
+
* Must be > 0 and <= (@ref coded_width - @ref horizontal_offset).
|
|
547
|
+
* When it's not equal to (@ref coded_width - @ref horizontal_offset), the
|
|
548
|
+
* result of (@ref coded_width - width - @ref horizontal_offset) is the
|
|
549
|
+
* amount amount of pixels to be cropped from the right edge of the
|
|
550
|
+
* final image before presentation.
|
|
551
|
+
*/
|
|
552
|
+
width: int32 = 0
|
|
553
|
+
|
|
554
|
+
/**
|
|
555
|
+
* Height of the final image for presentation.
|
|
556
|
+
*
|
|
557
|
+
* Must be > 0 and <= (@ref coded_height - @ref vertical_offset).
|
|
558
|
+
* When it's not equal to (@ref coded_height - @ref vertical_offset), the
|
|
559
|
+
* result of (@ref coded_height - height - @ref vertical_offset) is the
|
|
560
|
+
* amount amount of pixels to be cropped from the bottom edge of the
|
|
561
|
+
* final image before presentation.
|
|
562
|
+
*/
|
|
563
|
+
height: int32 = 0
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* Additional data associated with the grid.
|
|
567
|
+
*
|
|
568
|
+
* Should be allocated with av_packet_side_data_new() or
|
|
569
|
+
* av_packet_side_data_add(), and will be freed by avformat_free_context().
|
|
570
|
+
*/
|
|
571
|
+
sideData: Partial<Record<AVPacketSideDataType, Uint8Array>> = {}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
export class AVStreamGroup {
|
|
575
|
+
/**
|
|
576
|
+
* format private data
|
|
577
|
+
*/
|
|
578
|
+
privData: Data = null
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* Group index in AVFormatContext.
|
|
582
|
+
*/
|
|
583
|
+
index: int32 = NOPTS_VALUE
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Group type-specific group ID.
|
|
587
|
+
*
|
|
588
|
+
* decoding: set by libavformat
|
|
589
|
+
* encoding: may set by the user
|
|
590
|
+
*/
|
|
591
|
+
id: int32 = NOPTS_VALUE
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Group type
|
|
595
|
+
*
|
|
596
|
+
* decoding: set by libavformat on group creation
|
|
597
|
+
* encoding: set by avformat_stream_group_create()
|
|
598
|
+
*/
|
|
599
|
+
type: AVStreamGroupParamsType = AVStreamGroupParamsType.NONE
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Group type-specific parameters
|
|
603
|
+
*/
|
|
604
|
+
params: AVStreamGroupTileGrid = null
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* Metadata that applies to the whole group.
|
|
608
|
+
*
|
|
609
|
+
* - demuxing: set by libavformat on group creation
|
|
610
|
+
* - muxing: may be set by the caller before avformat_write_header()
|
|
611
|
+
*
|
|
612
|
+
* Freed by libavformat in avformat_free_context().
|
|
613
|
+
*/
|
|
614
|
+
metadata: Data = {}
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* A list of streams in the group. New entries are created with
|
|
618
|
+
* avformat_stream_group_add_stream().
|
|
619
|
+
*
|
|
620
|
+
* - demuxing: entries are created by libavformat on group creation.
|
|
621
|
+
* If AVFMTCTX_NOHEADER is set in ctx_flags, then new entries may also
|
|
622
|
+
* appear in av_read_frame().
|
|
623
|
+
* - muxing: entries are created by the user before avformat_write_header().
|
|
624
|
+
*
|
|
625
|
+
* Freed by libavformat in avformat_free_context().
|
|
626
|
+
*/
|
|
627
|
+
streams: AVStream[] = []
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* Stream group disposition - a combination of AV_DISPOSITION_* flags.
|
|
631
|
+
* This field currently applies to all defined AVStreamGroupParamsType.
|
|
632
|
+
*
|
|
633
|
+
* - demuxing: set by libavformat when creating the group or in
|
|
634
|
+
* avformat_find_stream_info().
|
|
635
|
+
* - muxing: may be set by the caller before avformat_write_header().
|
|
636
|
+
*/
|
|
637
|
+
disposition: int32 = 0
|
|
638
|
+
|
|
639
|
+
destroy() {
|
|
640
|
+
this.streams.length = 0
|
|
641
|
+
this.params = null
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
export interface AVStreamInterface {
|
|
646
|
+
index: int32
|
|
647
|
+
id: int32
|
|
648
|
+
codecpar: pointer<AVCodecParameters>
|
|
649
|
+
nbFrames: int64
|
|
650
|
+
metadata: Data
|
|
651
|
+
duration: int64
|
|
652
|
+
startTime: int64
|
|
653
|
+
disposition: int32
|
|
654
|
+
timeBase: AVRational
|
|
655
|
+
attachedPic: pointer<AVPacket>
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
export interface AVStreamGroupInterface {
|
|
659
|
+
index: int32
|
|
660
|
+
id: int32
|
|
661
|
+
type: AVStreamGroupParamsType
|
|
662
|
+
params: AVStreamGroupTileGrid
|
|
663
|
+
metadata: Data
|
|
664
|
+
streams: AVStreamInterface[]
|
|
665
|
+
disposition: int32
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
export interface AVStreamMetadataEncryption {
|
|
669
|
+
schemeType: number
|
|
670
|
+
schemeVersion: number
|
|
671
|
+
cryptByteBlock?: number
|
|
672
|
+
skipByteBlock?: number
|
|
673
|
+
perSampleIVSize: number
|
|
674
|
+
kid: Uint8Array
|
|
675
|
+
constantIV?: Uint8Array
|
|
676
|
+
pattern?: boolean
|
|
677
|
+
}
|