2 Replies Latest reply on Mar 25, 2011 6:04 PM by FirmJp

    Question about GMA500 and MPEG-4 Hardware acceleration

    Green Belt

      I played a MPEG-4 format video file with using mplayer-vaapi.
      But the video file was playing too slowly and CPU usage field is about 60%.
      The mplayer's logging is below,
          Playing resources/movie_5/00_sea.mpg.
          libavformat file format detected.
          [mov,mp4,m4a,3gp,3g2,mj2 @ 0x9058c20] max_analyze_duration reached
          [lavf] stream 0: video (mpeg4), -vid 0
          VIDEO:  [MP4V]  800x600  24bpp  8.000 fps  6363.5 kbps (776.8 kbyte/s)
          Clip info:
           major_brand: mp42
           minor_version: 1
           compatible_brands: mp42mp41
           creation_time: 2011-03-04 02:58:03
          Load subtitles in resources/movie_5/
          libva: libva version 0.31.0-sds4
          libva: va_getDriverName() returns 0
          libva: Trying to open /usr/lib/xorg/modules/drivers/iegd_drv_video.so
          Intel(r) Embedded Graphics Driver 10.3 Build 1550
          Using XCB based dispatch table.
          libva: va_openDriver() returns 0
          Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
          [VD_FFMPEG] VA API accelerated codec.
          Unsupported PixelFormat 61
          [VD_FFMPEG] Trying pixfmt=1.
          Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
          VO: [vaapi] 800x600 => 800x600 MPEG-4 VA-API Acceleration
          [VD_FFMPEG] XVMC-accelerated MPEG-2.
          [VD_FFMPEG] XVMC-accelerated MPEG-2.
          Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
          Audio: no sound
          Starting playback...
          [VD_FFMPEG] XVMC-accelerated MPEG-2.
          Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
          VO: [vaapi] 800x600 => 800x600 MPEG-4 VA-API Acceleration
          V:  29.8   0/  0 74%  1%  0.0% 0 0

          Exiting... (End of file)


      By the way, using the following command, the video file was playing smoothly and CPU usage was about less than 10%.

      Why is the video file playing smoothly with using "-vo xv" ?
      Does GMA500 support MPEG-4 hardware acceleration?


      I confirmed that the video file is a MPEG-4 format file by using "file" command.
          -bash-3.2$ file movie_5/00_sea.mpg
          movie_5/00_sea.mpg: ISO Media, MPEG v4 system, version 2


      My system is,

          CPU: ATOM Z510

          Memory: 1GByte

          OS: Wind River Linux 4.0


      Best Regards,

      Hiroshi Wada


      I used the following mplayer command, mplayer -va vaapi -vo vaapi movie_5/00_sea.mpg(play too slowly) mplayer -va vaapi -vo xv movie_5/00_sea.mpg(play smoothly)

        • Re: Question about GMA500 and MPEG-4 Hardware acceleration
          Kirk Brown Belt

          To be clear, the chipset may be a GMA500 style chipset, but you are using the embedded graphics drivers.IEGD v10.3.  It can cause confusion when you use the non-embedded driver's name.


          The hardware, per the data sheet, supports h.264 AVC, MPEG-2, MPEG-4, and VC-1 hardware acclerated decode of the appropriate bit rate and format source files.

          Somehow, with the way you invoked FFMPEG, the format was NOT recognized by the VA API accelerated portion of the code ("Unsupported PixelFormat 61") and that caused FFMPEG to fall back to totally software only decode. I would bet whatever codec encoded that file had an issue and likely had invalid information in the file. We see a LOT of bad source files created by dubious encoders.


          When you invoked it the second time, you managed to use a command structure and source file that WAS recognized as able to accelerate and you got low CPU utilization and good playback. There could be an issue with the codec used, or more likely the source file itself is not good (that is difficult to determine here)

          Sounds like you are on the right track. Please be aware that we try to make the code understand as wide of range of source data as possible but we cannot comprehend it all as there are too many good and bad source files out there


          Hope this helps.

            • Re: Question about GMA500 and MPEG-4 Hardware acceleration
              Green Belt



              Thank you for your response.

              I've investigated the video file format and found that the bitrate of the video file was bastared size.

              Now I am referering to "Hardware-Accelerated Video Decode on the Intel ATOM Processor with the Intel System Controller Hub US15W Chipset Platform". There is a detailed specification of the video file in this document. I need to leran about the video format specification.


              Best Regards,

              Hiroshi Wada