import type { AVIFormatContext } from "../AVFormatContext.ts"; import IFormat from "./IFormat.ts"; import { AVFormat, type AVPacket, type AVStream, type AVRational } from "@libmedia/avutil"; export interface IVvcFormatOptions { /** * 显示帧率 */ framerate?: AVRational; } export default class IHevcFormat extends IFormat { type: AVFormat; private options; private currentDts; private currentPts; private step; private slices; private naluPos; private queue; private bitReader; private sliceType; private naluType; private poc; private pocTid0; private sps; private naluReader; constructor(options?: IVvcFormatOptions); init(formatContext: AVIFormatContext): void; destroy(formatContext: AVIFormatContext): Promise; private isFrameNalu; private readNaluFrame; readHeader(formatContext: AVIFormatContext): Promise; private computePoc; private readAVPacket_; readAVPacket(formatContext: AVIFormatContext, avpacket: pointer): Promise; seek(formatContext: AVIFormatContext, stream: AVStream, timestamp: int64, flags: int32): Promise; getAnalyzeStreamsCount(): number; }