From: Seven Du Date: Mon, 4 Aug 2014 07:23:12 +0000 (+0800) Subject: FS-7500: update yuv codec X-Git-Tag: v1.6.2~614^2~612 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3ad699526c00cd2d83e85d5d716ae0bf0565e98;p=thirdparty%2Ffreeswitch.git FS-7500: update yuv codec --- diff --git a/src/mod/codecs/mod_yuv/mod_yuv.c b/src/mod/codecs/mod_yuv/mod_yuv.c index db8d9718e6..6748e61f12 100644 --- a/src/mod/codecs/mod_yuv/mod_yuv.c +++ b/src/mod/codecs/mod_yuv/mod_yuv.c @@ -51,10 +51,8 @@ static switch_status_t switch_yuv_init(switch_codec_t *codec, switch_codec_flag_ } static switch_status_t switch_yuv_encode(switch_codec_t *codec, - switch_codec_t *other_codec, - void *decoded_data, - uint32_t decoded_data_len, - uint32_t decoded_rate, void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate, + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag) { /* yuv encode is unclear, so return 0 for now */ @@ -64,18 +62,13 @@ static switch_status_t switch_yuv_encode(switch_codec_t *codec, } static switch_status_t switch_yuv_decode(switch_codec_t *codec, - switch_codec_t *other_codec, - void *encoded_data, - uint32_t encoded_data_len, - uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, + switch_frame_t *frame, + switch_image_t **img, unsigned int *flag) { - if (*decoded_data_len < encoded_data_len) return SWITCH_STATUS_FALSE; + switch_assert(frame); - codec->dec_picture.width = codec->enc_picture.width; - codec->dec_picture.height = codec->enc_picture.height; - memcpy(decoded_data, encoded_data, encoded_data_len); - *decoded_data_len = encoded_data_len; + *img = (switch_image_t *)frame->user_data; return SWITCH_STATUS_SUCCESS; }