Hi, this change is actually from openhevc. I just changed the type, not the order used. The values are casted to int by the sao functions anyway.
-- Christophe
From 79ece6bf3e8fe541761220b452bb6c1a2813bd61 Mon Sep 17 00:00:00 2001 From: Christophe Gisquet <christophe.gisq...@gmail.com> Date: Wed, 23 Jul 2014 13:39:40 +0200 Subject: [PATCH 02/10] hevcdsp: change types of SAO parameters --- libavcodec/hevcdsp.h | 4 ++-- libavcodec/hevcdsp_template.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/hevcdsp.h b/libavcodec/hevcdsp.h index 8564deb..ba42984 100644 --- a/libavcodec/hevcdsp.h +++ b/libavcodec/hevcdsp.h @@ -31,11 +31,11 @@ typedef struct SAOParams { int offset_abs[3][4]; ///< sao_offset_abs int offset_sign[3][4]; ///< sao_offset_sign - int band_position[3]; ///< sao_band_position + uint8_t band_position[3]; ///< sao_band_position int eo_class[3]; ///< sao_eo_class - int offset_val[3][5]; ///<SaoOffsetVal + int16_t offset_val[3][5]; ///<SaoOffsetVal uint8_t type_idx[3]; ///< sao_type_idx } SAOParams; diff --git a/libavcodec/hevcdsp_template.c b/libavcodec/hevcdsp_template.c index 8ebe8d4..03a1c68 100644 --- a/libavcodec/hevcdsp_template.c +++ b/libavcodec/hevcdsp_template.c @@ -338,7 +338,7 @@ static void FUNC(sao_band_filter_0)(uint8_t *_dst, uint8_t *_src, int offset_table[32] = { 0 }; int k, y, x; int shift = BIT_DEPTH - 5; - int *sao_offset_val = sao->offset_val[c_idx]; + int16_t *sao_offset_val = sao->offset_val[c_idx]; int sao_left_class = sao->band_position[c_idx]; stride_dst /= sizeof(pixel); @@ -368,7 +368,7 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, uint8_t *_src, { { -1, -1 }, { 1, 1 } }, // 45 degree { { 1, -1 }, { -1, 1 } }, // 135 degree }; - int *sao_offset_val = sao->offset_val[c_idx]; + int16_t *sao_offset_val = sao->offset_val[c_idx]; int sao_eo_class = sao->eo_class[c_idx]; pixel *dst = (pixel *)_dst; pixel *src = (pixel *)_src; @@ -406,7 +406,7 @@ static void FUNC(sao_edge_filter_0)(uint8_t *_dst, uint8_t *_src, int x, y; pixel *dst = (pixel *)_dst; pixel *src = (pixel *)_src; - int *sao_offset_val = sao->offset_val[c_idx]; + int16_t *sao_offset_val = sao->offset_val[c_idx]; int sao_eo_class = sao->eo_class[c_idx]; int init_x = 0, init_y = 0, width = _width, height = _height; @@ -459,7 +459,7 @@ static void FUNC(sao_edge_filter_1)(uint8_t *_dst, uint8_t *_src, int x, y; pixel *dst = (pixel *)_dst; pixel *src = (pixel *)_src; - int *sao_offset_val = sao->offset_val[c_idx]; + int16_t *sao_offset_val = sao->offset_val[c_idx]; int sao_eo_class = sao->eo_class[c_idx]; int init_x = 0, init_y = 0, width = _width, height = _height; -- 1.9.2.msysgit.0
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel