//[HlePspNotImplemented] public int sceMpegGetAvcAu(SceMpegPointer *SceMpegPointer, StreamId StreamId, out SceMpegAu MpegAccessUnit, int *DataAttributes) { if (DataAttributes != null) { *DataAttributes = 1; } var Mpeg = GetMpeg(SceMpegPointer); if (!Mpeg.HasData) { throw (new SceKernelException(SceKernelErrors.ERROR_MPEG_NO_DATA)); } MpegAccessUnit = Mpeg.GetAvcAu(StreamId); return(0); }
public int sceMpegAvcDecodeFlush(SceMpegPointer *SceMpegPointer) { var Mpeg = GetMpeg(SceMpegPointer); var SceMpegData = GetSceMpegData(SceMpegPointer); Mpeg.AvcFlush(); // Finish the Mpeg only if we are not at the start of a new video, // otherwise the analyzed video could be lost. if (SceMpegData->VideoFrameCount > 0 || SceMpegData->AudioFrameCount > 0) { _FinishMpeg(SceMpegData); } //throw(new NotImplementedException()); return(0); }
public int sceMpegAvcDecodeDetail(SceMpegPointer *SceMpegPointer, AvcDecodeDetailStruct *AvcDecodeDetail) { var Mpeg = GetMpeg(SceMpegPointer); var SceMpegData = GetSceMpegData(SceMpegPointer); //throw(new NotImplementedException()); AvcDecodeDetail->AvcDecodeResult = 0; AvcDecodeDetail->VideoFrameCount = 0; AvcDecodeDetail->AvcDetailFrameWidth = SceMpegData->FrameWidth; AvcDecodeDetail->AvcDetailFrameHeight = 272; AvcDecodeDetail->FrameCropRectLeft = 0; AvcDecodeDetail->FrameCropRectRight = 0; AvcDecodeDetail->FrameCropRectTop = 0; AvcDecodeDetail->FrameCropRectBottom = 0; AvcDecodeDetail->AvcFrameStatus = SceMpegData->AvcFrameStatus; return(0); }
public int sceMpegInitAu(SceMpegPointer *sceMpegPointer, int elementaryStreamBuffer, out SceMpegAu mpegAccessUnit) { var mpeg = GetMpeg(sceMpegPointer); mpegAccessUnit = default(SceMpegAu); mpegAccessUnit.EsBuffer = elementaryStreamBuffer; if (elementaryStreamBuffer >= 1 && elementaryStreamBuffer <= AbvEsBufAllocated.Length && AbvEsBufAllocated[elementaryStreamBuffer - 1]) { mpegAccessUnit.AuSize = MPEG_AVC_ES_SIZE; mpeg.AvcAu.SceMpegAu = mpegAccessUnit; } else { mpegAccessUnit.AuSize = MPEG_ATRAC_ES_SIZE; mpeg.AtracAu.SceMpegAu = mpegAccessUnit; } return(0); }
public int sceMpegAvcDecodeMode(SceMpegPointer *SceMpegPointer, SceMpegAvcMode *Mode) { var Mpeg = GetMpeg(SceMpegPointer); var SceMpegData = GetSceMpegData(SceMpegPointer); if (Mode != null) { switch (Mode->PixelFormat) { case Core.Types.GuPixelFormats.Rgba5650: case Core.Types.GuPixelFormats.Rgba5551: case Core.Types.GuPixelFormats.Rgba8888: SceMpegData->SceMpegAvcMode = *Mode; break; default: throw new Exception("Invalid PixelFormat in sceMpegAvcDecodeMode: " + Mode->Mode + ", " + Mode->PixelFormat); } } return(0); }
/// <summary> /// /// </summary> /// <param name="sceMpeg"></param> /// <returns></returns> public SceMpeg *GetSceMpegData(SceMpegPointer *sceMpeg) { return(sceMpeg->GetSceMpeg(Memory)); }
public void sceMpegUnRegistStream(SceMpegPointer *mpeg, int streamInfoId) { RegisteredStreams.Remove(streamInfoId); //throw(new NotImplementedException()); }
public int sceMpegDelete(SceMpegPointer *sceMpegPointer) { GetMpeg(sceMpegPointer).Delete(); return(0); }
public int sceMpegAvcDecodeYCbCr(SceMpegPointer *Mpeg, int au_addr, int buffer_addr, int init_addr) { //throw (new NotImplementedException()); return(-1); }
public int sceMpegAvcInitYCbCr(SceMpegPointer *Mpeg, int mode, int width, int height, int ycbcr_addr) { //throw (new NotImplementedException()); //return -1; return(0); }
public int sceMpegAvcCsc(SceMpegPointer *Mpeg, int source_addr, int range_addr, int frameWidth, int dest_addr) { throw new NotImplementedException(); }
public uint sceMpegFreeAvcEsBuf(SceMpegPointer *Mpeg, int ElementaryStream) { AbvEsBufAllocated[ElementaryStream - 1] = false; return(0); }
public int sceMpegQueryAtracEsSize(SceMpegPointer *Mpeg, out int ElementaryStreamSize, out int OutputSize) { ElementaryStreamSize = MPEG_ATRAC_ES_SIZE; OutputSize = MPEG_ATRAC_ES_OUTPUT_SIZE; return(0); }