Kodi Community Forum

Full Version: A question about slices management in a H.264 video streams in xbmc.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all,

The question is quite simple: how are the slices managed on a H.264 video stream, in a VDPAU enabled environment?

I mean, giving the following stream start log:

09:04:04 T:139940191004608 M:3196997632 NOTICE: Starting XBMC, Platform: Linux (Ubuntu 10.04.2 LTS, 2.6.32-31-generic x86_64). Built on May 21 2011 (Git:20110520-e753cc3)
09:04:04 T:139940191004608 M:3196997632 NOTICE: special://xbmc/ is mapped to: /opt/xbmc-devel/share/xbmc
09:04:04 T:139940191004608 M:3196997632 NOTICE: special://xbmcbin/ is mapped to: /opt/xbmc-devel/lib/xbmc
09:04:04 T:139940191004608 M:3196997632 NOTICE: special://masterprofile/ is mapped to: /home/xbmc/.xbmc/userdata
09:04:04 T:139940191004608 M:3196997632 NOTICE: special://home/ is mapped to: /home/xbmc/.xbmc
09:04:04 T:139940191004608 M:3196997632 NOTICE: special://temp/ is mapped to: /home/xbmc/.xbmc/temp
09:04:04 T:139940191004608 M:3196997632 NOTICE: The executable running is: /opt/xbmc-devel/lib/xbmc/xbmc.bin
09:04:04 T:139940191004608 M:3196997632 NOTICE: Log File is located: /home/xbmc/.xbmc/temp/xbmc.log
09:04:04 T:139940191004608 M:3196997632 NOTICE: ---------------------------------------------------------------
...
09:06:43 T:139939744270080 M:3153580032 NOTICE: Creating video codec with codec id: 28
09:06:43 T:139939744270080 M:3152617472 NOTICE: CDVDVideoCodecFFmpeg::Open() Creating VDPAU(1920x1080, 28)
09:06:43 T:139939744270080 M:3149881344 NOTICE: vdp_device = 0x00000001 vdp_st = 0x00000000
09:06:43 T:139939744270080 M:3149881344 NOTICE: VDPAU Decoder capabilities:
09:06:43 T:139939744270080 M:3149881344 NOTICE: name level macbs width height
09:06:43 T:139939744270080 M:3149881344 NOTICE: ------------------------------------
09:06:43 T:139939744270080 M:3149881344 NOTICE: MPEG1 0 8192 2048 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: MPEG2_SIMPLE 3 8192 2048 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: MPEG2_MAIN 3 8192 2048 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: H264_MAIN 41 8190 2032 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: H264_HIGH 41 8190 2032 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: VC1_SIMPLE 1 8190 2048 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: VC1_MAIN 2 8190 2048 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: VC1_ADVANCED 4 8190 2048 2048
09:06:43 T:139939744270080 M:3149881344 NOTICE: ------------------------------------
09:06:43 T:139939744270080 M:3149881344 NOTICE: Mixer feature: VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION
09:06:43 T:139939744270080 M:3149881344 NOTICE: Mixer feature: VDP_VIDEO_MIXER_FEATURE_SHARPNESS
09:06:43 T:139939744270080 M:3149881344 NOTICE: Mixer feature: VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL
09:06:43 T:139939744270080 M:3149881344 NOTICE: Mixer feature: VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL
09:06:43 T:139939744270080 M:3149881344 NOTICE: Mixer feature: VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE
09:06:44 T:139939744270080 M:3147890688 NOTICE: Creating 1920x1080 pixmap
09:06:44 T:139939744270080 M:3145904128 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)
09:06:44 T:139939744270080 M:3145904128 NOTICE: Creating video thread
09:06:44 T:139939744270080 M:3145904128 NOTICE: Opening audio stream: 1 source: 256
09:06:44 T:139939744270080 M:3145904128 NOTICE: Finding audio codec for: 86020
09:06:44 T:139939421349632 M:3145904128 NOTICE: running thread: video_thread
09:06:44 T:139939744270080 M:3145678848 NOTICE: Creating audio thread
09:06:44 T:139939744270080 M:3145678848 NOTICE: Opening Subtitle stream: 4 source: 256
09:06:44 T:139939412956928 M:3145678848 NOTICE: running thread: CDVDPlayerAudio:Tonguerocess()
09:06:44 T:139939412956928 M:3145424896 NOTICE: Creating audio device with codec id: 86020, channels: 2, sample rate: 48000, pass-through
09:06:44 T:139939421349632 M:3141840896 NOTICE: (VDPAU) screenWidth:1920 vidWidth:1920
09:06:44 T:139939421349632 M:3141840896 NOTICE: (VDPAU) screenHeight:1080 vidHeight:1080
09:06:44 T:139939421349632 M:3091042304 NOTICE: (VDPAU) Total Output Surfaces Available: 2 of a max (tmp: 2 const: 4)
09:06:44 T:139939421349632 M:3082665984 NOTICE: (VDPAU) Creating the video mixer
09:06:44 T:139939421349632 M:3052171264 NOTICE: fps: 25.000000, pwidth: 1920, pheight: 1080, dwidth: 1920, dheight: 1080
09:06:44 T:139939421349632 M:3052171264 NOTICE: Display resolution DESKTOP : 1920x1080 @ 50.00 - Full Screen (12)
09:06:45 T:139940191004608 M:3051835392 NOTICE: Using GL_TEXTURE_2D

----

are the slices managed in software or is it the VDPAU level that takes care of that?

About the slices on H.264, this can give a hint of what I'm talking about:

http://mewiki.project357.com/wiki/X264_Settings#slices

Unfortuately I wasn't able to understand how the slices matter is carried out in the code, and ATM I don't have time to use GDB to look into that.

TIA
-----------
Kind regards,
Giuseppe Castagno (aka beppec56)