[Libva] [PATCH 0/4] add RGBX<-->NV12 conversion in post-processing

Xiang, Haihao haihao.xiang at intel.com
Sun Jul 15 17:59:48 PDT 2012


On Fri, 2012-07-13 at 08:41 +0300, Zhao Halley wrote: 
> add RGB to NV12 and NV12 to RGB conversion
>     - either is implemented in 2 ways: 8.8 fix point or float point
>       however, it doesn't show performance difference in my test
>     - RGB to NV12 conversion can be used to load video frames for futhure processing
>     - NV12 to RGB conversion can be used for fine control of video rendering:
>       for example: RGB565 support, color correction
>     - for RGBX layout, we follows BMP image, that is: |B|G|R|X| in memory layout

So it should be BGRX<-->NV12 conversion.

> 
> Zhao Halley (4):
>   add GPU shader for RGB->NV12 conversion
>   add rgbx->nv12 conversion in post-processing
>   add GPU shader for NV12->RGBX conversion
>   add nv12->rgbx conversion in post-processing
> 
>  src/i965_drv_video.c                               |   78 ++-
>  src/i965_post_processing.c                         |  161 +++++-
>  src/i965_post_processing.h                         |    4 +-
>  .../gen5_6/Common/NV12_Load_8x4.asm                |   32 +-
>  .../post_processing/gen5_6/Common/PL2_Load.inc     |    3 +
>  .../gen5_6/Common/RGBX_Load_16x8.asm               |   57 ++
>  .../gen5_6/Common/RGBX_Load_16x8.inc               |   48 ++
>  .../gen5_6/Common/RGBX_Save_YUV_Fix.asm            |  115 ++++
>  .../gen5_6/Common/RGBX_Save_YUV_Float.asm          |  152 ++++
>  .../gen5_6/Common/RGBX_to_YUV_Coef.asm             |   43 ++
>  .../gen5_6/Common/YUVX_Save_RGBX_Fix.asm           |  178 +++++
>  .../gen5_6/Common/YUVX_Save_RGBX_Float.asm         |  287 ++++++++
>  .../gen5_6/Common/YUV_to_RGBX_Coef.asm             |   65 ++
>  src/shaders/post_processing/gen5_6/Makefile.am     |   14 +
>  .../post_processing/gen5_6/nv12_load_save_rgbx.asm |   25 +
>  .../gen5_6/nv12_load_save_rgbx.g4b.gen5            |  648 ++++++++++++++++++
>  .../post_processing/gen5_6/nv12_load_save_rgbx.g6b |  721 ++++++++++++++++++++
>  .../post_processing/gen5_6/rgbx_load_save_nv12.asm |   26 +
>  .../gen5_6/rgbx_load_save_nv12.g4b.gen5            |  562 +++++++++++++++
>  .../post_processing/gen5_6/rgbx_load_save_nv12.g6b |  635 +++++++++++++++++
>  20 files changed, 3840 insertions(+), 14 deletions(-)
>  mode change 100644 => 100755 src/shaders/post_processing/gen5_6/Common/NV12_Load_8x4.asm
>  mode change 100644 => 100755 src/shaders/post_processing/gen5_6/Common/PL2_Load.inc
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/YUVX_Save_RGBX_Fix.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/YUVX_Save_RGBX_Float.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/Common/YUV_to_RGBX_Coef.asm
>  create mode 100755 src/shaders/post_processing/gen5_6/nv12_load_save_rgbx.asm
>  create mode 100644 src/shaders/post_processing/gen5_6/nv12_load_save_rgbx.g4b.gen5
>  create mode 100644 src/shaders/post_processing/gen5_6/nv12_load_save_rgbx.g6b
>  create mode 100755 src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm
>  create mode 100644 src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5
>  create mode 100644 src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b
> 




More information about the Libva mailing list