Example #1
0
        //[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);
        }
Example #2
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);
        }
Example #3
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);
        }
Example #4
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);
        }
Example #5
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);
        }
Example #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sceMpeg"></param>
 /// <returns></returns>
 public SceMpeg *GetSceMpegData(SceMpegPointer *sceMpeg)
 {
     return(sceMpeg->GetSceMpeg(Memory));
 }
Example #7
0
 public void sceMpegUnRegistStream(SceMpegPointer *mpeg, int streamInfoId)
 {
     RegisteredStreams.Remove(streamInfoId);
     //throw(new NotImplementedException());
 }
Example #8
0
        public int sceMpegDelete(SceMpegPointer *sceMpegPointer)
        {
            GetMpeg(sceMpegPointer).Delete();

            return(0);
        }
Example #9
0
 public int sceMpegAvcDecodeYCbCr(SceMpegPointer *Mpeg, int au_addr, int buffer_addr, int init_addr)
 {
     //throw (new NotImplementedException());
     return(-1);
 }
Example #10
0
 public int sceMpegAvcInitYCbCr(SceMpegPointer *Mpeg, int mode, int width, int height, int ycbcr_addr)
 {
     //throw (new NotImplementedException());
     //return -1;
     return(0);
 }
Example #11
0
 public int sceMpegAvcCsc(SceMpegPointer *Mpeg, int source_addr, int range_addr, int frameWidth, int dest_addr)
 {
     throw new NotImplementedException();
 }
Example #12
0
 public uint sceMpegFreeAvcEsBuf(SceMpegPointer *Mpeg, int ElementaryStream)
 {
     AbvEsBufAllocated[ElementaryStream - 1] = false;
     return(0);
 }
Example #13
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);
 }