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

Zhao Halley halley.zhao at intel.com
Thu Jul 12 22:41:41 PDT 2012


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

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

-- 
1.7.4.1



More information about the Libva mailing list