[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