VideoHelp Forum




+ Reply to Thread
Results 1 to 3 of 3
  1. Member
    Join Date
    Jan 2006
    Location
    Italy
    Search Comp PM
    Ok... that's the problem: I'd like to display a video stream on a RGB screen. Video stream is composed by YUV images. This job is done and works well (see previous thread).

    I've tried to scale now. I thought to scale YUV images (due the minor data size because chrominance and because pixel data semplicity (only 1 byte, instead of masking and shifting RGB components)).

    I did it. It work also. But now I need some opinion. At the moment I scale YUV image on a temporary buffer, wich will be used to obtain the final RGB image, wich should be displayed.

    This works... but is optimal? I mean: maybe it's better to scale/convert in one pass (determining the YUV values, and writing directly the RGB value in the final image). In this way I don't have to store scaled YUV value, and read then to calculate RGB values... is it correct?

    Any suggestion?
    Quote Quote  
  2. on a RGB screen
    Are we talking about windows or something else? If windows:
    - the libmpeg2.dll can deliver RGB values as well as YUV
    - to scale the image you can use system functions (like StretchBlt) which are usually already optimized/hardware accelerated
    Quote Quote  
  3. Member
    Join Date
    Jan 2006
    Location
    Italy
    Search Comp PM
    Originally Posted by borax
    - to scale the image you can use system functions (like StretchBlt) which are usually already optimized/hardware accelerated
    I'm working on Linux (of course ), with Xlibs (Xfree 4.3). Actually I'm using X-Video extension: with it YUV->RGB conversion and up/down scaling are done via hardware; but I don't have any control over the scaled/converted image.

    Probably in near future I will understand how scale a picture with MMX, SSE... SIMD instructions... But before to start I want to understand how to reach the best performance. 8)

    If there are some method to use hardware accelerations (but control all process, I. e. intermediate processed (scaled, converted) video frames)?

    Actually scaling a video 720x576 to 800x600 using the nearest neightboor method (also converting to RGB with quasi null overhead), takes me a 40-50% of CPU (if I rember ) I'd like to have the same performance using bilinear interpolation.

    Definitely, I want to understand wich is the best approach (via software preferably, via hardware if it can meet my needs). (wow )
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!