mdc

Playing 1080p video on a 1080p panel

Discussion created by mdc Employee on Nov 15, 2011
Latest reply on Dec 2, 2011 by Wolfgang Wegner

Hi Folks,

 

Here's a tip if anyone's trying to play back 1080p video content on a 1080p (1920x1080) display or TV with the 11.09 Linux BSP release. Without the modification I describe below, playing 1080p video on a high resolution display would result in a kernel crash when playing the video full screen (although lower resolution video, or 1080p content played on a lower resolution display worked fine).

 

First if you're using the Ubuntu rootfs you'll want to update the using .deb files in the 11.09 images and codec releases available on the mx53 page on freescale.com. Just copy to the same directory on your rootfs and execute:

sudo dpkg --force-architecture -i *.deb
depmod

 

Note there was one of the codec packages I had issues with that wouldn't install until I removed the old version. Can't remember which one, but if you run into this, just remove the package using dpkg -r.

 

Next you'll need to rebuild the kernel to increase the DMA memory zone size used by the video decoder in the kernel config menu from 96 to 184.

 

[*] Configure the kernel

    System Type --->

    Then you will see (96) DMA memory zone size, click on that line and enter 184.

 

Note before you run ltib and select configure the kernel, you’ll need to edit one of the Kconfig files to increase the max size for the DMA zone, otherwise you’ll get an error in ltib when you try to increase to greater than 96.

 

If you don’t yet have the kernel source in your ltib directory (i.e. if a fresh install), do the following:

 

./ltib –m prep –p kernel

 

Then in rpm/BUILD/linux-2.6.35.3/arm/plat-mxc/Kconfig near line 88, modify the following lines:

 

config DMA_ZONE_SIZE

                int "DMA memory zone size"

                range 0 96

                default 24

                help

                  This is the size in MB for the DMA zone. The DMA zone is used for

                  dedicated memory for large contiguous video buffers

 

as follows:

 

config DMA_ZONE_SIZE

                int "DMA memory zone size"

                range 0 184

                default 24

                help

                  This is the size in MB for the DMA zone. The DMA zone is used for

                  dedicated memory for large contiguous video buffers

 

Then run ltib and configure the kernel as above.

 

After this, flash your new kernel to your SD card and you should be good to go.

 

Note I used the below kernel command line in u-boot for a 1080p television connected to the QSB using the HDMI adaptor:

 

console=ttymxc0,115200 video=mxcdi0fb:RGB24,1920x1080M@60 hdmi di0_primary dmfc=3 root=/dev/mmcblk0p1 rw rootwait gpu_memory=128M

Outcomes