Announcement

Collapse
No announcement yet.

Improving Video Streaming With GTK+ 3D Surfaces

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • pixelpusher
    replied
    Originally posted by devius View Post
    I'm the one with the 2fps issue not popper. According to this: http://www.amd.com/us/products/deskt...tications.aspx it should be a PCI Express 2.0 x16 bus.
    I've just installed OProfile but I don't know what kind of arguments I should run it with, so if you can tell me that I can get you the data.
    I use OProfile from within Eclipse IDE - it also involves adding OProfile to sudoers, so it may be a bit extreme to set it up if you don't have a dev system up already. I'll have a look at the code and see if there's a change we can do to narrow the issue down.

    I'll be interested in seeing the non-KDE result...

    Regards,
    Jose.

    Leave a comment:


  • HokTar
    replied
    Originally posted by devius View Post
    Now we just need someone with a HD42xx series gpu that is NOT running KDE to see if it's a KDE or a GPU/driver issue.
    I will probably be able to do that on Friday.

    Leave a comment:


  • devius
    replied
    Now we just need someone with a HD42xx series gpu that is NOT running KDE to see if it's a KDE or a GPU/driver issue.

    Leave a comment:


  • eldar
    replied
    Just like devius I also have 2fps or something. My config is:

    radeon hd 4290
    catalyst 10.11
    kubuntu 10.10

    Leave a comment:


  • devius
    replied
    Originally posted by pixelpusher View Post
    As for the 2fps issue, my best guess (without OProfile information to hand on your setup) would be either a bottleneck in KDE's thread handoff or just plain slow texture transfer to the card. What bus is your HD4200 running on?
    I'm the one with the 2fps issue not popper. According to this: http://www.amd.com/us/products/deskt...tications.aspx it should be a PCI Express 2.0 x16 bus.
    I've just installed OProfile but I don't know what kind of arguments I should run it with, so if you can tell me that I can get you the data.

    Leave a comment:


  • unix_epoch
    replied
    The video on the cube runs at about half the framerate of the untransformed original video on the right (a 24fps xvid-encoded AVI file), though the cube's rotation is smooth.

    Ubuntu 10.10 running GNOME and Compiz with extra effects enabled
    Binary NVidia driver 260.19.06 with DynamicTwinView disabled
    Geforce 8800GT
    Core i7 920 @ 2.67GHz, 6GB RAM

    Leave a comment:


  • pixelpusher
    replied
    Originally posted by popper View Post
    Hi Jose, im curious and something i don't get, why are you Setting RGB when it's well known that all FFmpeg/'ffmpegcolorspace' indeed all video today are usually using YV12 as their output ?

    "* Because of varying decoder formats (and our native OpenGL textures are RGB24) we add the 'ffmpegcolorspace' converter to the
    * pipeline - this is not ideal when there is a GPU present that can perform the conversion much faster with fragement shaders.
    */
    theGStVideoConverter = gst_element_factory_make ("ffmpegcolorspace", NULL);
    gst_bin_add_many (GST_BIN (theGStVideoBin), theGStVideoConverter, theGStVideoSink, NULL);
    /* Tell the converter element that we want raw rgb video at the end point. */
    theGStCapsFilter = gst_caps_new_simple ("video/x-raw-rgb", NULL);
    gst_element_link_filtered (theGStVideoConverter, theGStVideoSink, theGStCapsFilter);
    gst_caps_unref (theGStCapsFilter);
    /* Add a 'ghost' pad that will act to link as a dynamic pad when the video format is determined. */
    theGStVideoPad = gst_element_get_static_pad (theGStVideoConverter, "sink");
    gst_element_add_pad (theGStVideoBin, gst_ghost_pad_new ("sink", theGStVideoPad));
    gst_object_unref (theGStVideoPad);
    gst_bin_add(GST_BIN (theGStPipeline), theGStVideoBin);
    "

    as i understand it , if you set a 'video/x-raw-yuv,format=(fourcc)YV12 as the output then This OpenGL extension supports texture images stored in these YCbCr format's directly

    http://www.opengl.org/registry/specs...cr_texture.txt

    "

    and have you profiled the example code to acually see where this "2fps of video playback" bottleneck is happening BTW ?
    Hi,
    The colour format you quote is not natively supported by the large majority of OpenGL cards as an internal hardware-based format. It's also a MESA - not OpenGL generic - extension. See this link for reliable internal texture formats.

    As for the 2fps issue, my best guess (without OProfile information to hand on your setup) would be either a bottleneck in KDE's thread handoff or just plain slow texture transfer to the card. What bus is your HD4200 running on?

    Regards,
    Jose.

    Leave a comment:


  • popper
    replied
    Originally posted by pixelpusher View Post
    Hey folks, the source code has been released:

    Source

    Regards,
    Jose.
    Hi Jose, im curious and something i don't get, why are you Setting RGB when it's well known that all FFmpeg/'ffmpegcolorspace' indeed all video today are usually using YV12 as their output ?

    "* Because of varying decoder formats (and our native OpenGL textures are RGB24) we add the 'ffmpegcolorspace' converter to the
    * pipeline - this is not ideal when there is a GPU present that can perform the conversion much faster with fragement shaders.
    */
    theGStVideoConverter = gst_element_factory_make ("ffmpegcolorspace", NULL);
    gst_bin_add_many (GST_BIN (theGStVideoBin), theGStVideoConverter, theGStVideoSink, NULL);
    /* Tell the converter element that we want raw rgb video at the end point. */
    theGStCapsFilter = gst_caps_new_simple ("video/x-raw-rgb", NULL);
    gst_element_link_filtered (theGStVideoConverter, theGStVideoSink, theGStCapsFilter);
    gst_caps_unref (theGStCapsFilter);
    /* Add a 'ghost' pad that will act to link as a dynamic pad when the video format is determined. */
    theGStVideoPad = gst_element_get_static_pad (theGStVideoConverter, "sink");
    gst_element_add_pad (theGStVideoBin, gst_ghost_pad_new ("sink", theGStVideoPad));
    gst_object_unref (theGStVideoPad);
    gst_bin_add(GST_BIN (theGStPipeline), theGStVideoBin);
    "

    as i understand it , if you set a 'video/x-raw-yuv,format=(fourcc)YV12 as the output then This OpenGL extension supports texture images stored in these YCbCr format's directly

    http://www.opengl.org/registry/specs...cr_texture.txt

    "

    and have you profiled the example code to acually see where this "2fps of video playback" bottleneck is happening BTW ?

    Leave a comment:


  • devius
    replied
    Originally posted by pixelpusher View Post
    This seems a common problem with the ATI drivers - with compositing disabled there is no flicker but speed is slow;
    I should have been more clear. It's always slow. With composite on or off, with high bitrate or low bitrate, it's always the same 2fps of video playback in both windows.

    Leave a comment:


  • HokTar
    replied
    Works flawlessly here with a Mobility Radeon HD4650 (rv730) and r600g.

    Leave a comment:

Working...
X