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 _______________________________________________ Libva mailing list Libva@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libva