Embedded Intel Atom® Processors
Technological Conversations about Intel Atom® Hardware, Software, Firmware, Graphics
1187 Discussions

Question about GMA500 and MPEG-4 Hardware acceleration

HWada1
Beginner
2,318 Views

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,&# 13; mplayer -va vaapi -vo vaapi movie_5/00_sea.mpg(play too slowly)&# 13; mplayer -va vaapi -vo xv movie_5/00_sea.mpg(play smoothly)&# 13;

0 Kudos
1 Solution
Kirk_B_Intel
Employee
1,355 Views

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.

View solution in original post

0 Kudos
2 Replies
Kirk_B_Intel
Employee
1,356 Views

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.

0 Kudos
HWada1
Beginner
1,355 Views

Hello,Kirk-san,

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

0 Kudos
Reply