mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-08-27 20:01:50 +02:00
hevc: fix offset for sao temporary frame
fixes fate on alpha cherry picked from commit 0a8ce1cbdaff7cd026bcf95ee3787bc7b4c063ee Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
28f31e78eb
commit
950a4f8326
@ -276,7 +276,7 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_buffer_sao(HEVCContext *s, AVFrame *frame)
|
||||
static int get_buffer_sao(HEVCContext *s, AVFrame *frame, HEVCSPS *sps)
|
||||
{
|
||||
int ret, i;
|
||||
|
||||
@ -285,7 +285,7 @@ static int get_buffer_sao(HEVCContext *s, AVFrame *frame)
|
||||
if ((ret = ff_get_buffer(s->avctx, frame, AV_GET_BUFFER_FLAG_REF)) < 0)
|
||||
return ret;
|
||||
for (i = 0; frame->data[i]; i++) {
|
||||
int offset = frame->linesize[i] + 1;
|
||||
int offset = frame->linesize[i] + (1 << sps->pixel_shift);
|
||||
frame->data[i] += offset;
|
||||
}
|
||||
frame->width = s->avctx->width;
|
||||
@ -335,7 +335,7 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps)
|
||||
|
||||
if (sps->sao_enabled) {
|
||||
av_frame_unref(s->tmp_frame);
|
||||
ret = get_buffer_sao(s, s->tmp_frame);
|
||||
ret = get_buffer_sao(s, s->tmp_frame, sps);
|
||||
s->sao_frame = s->tmp_frame;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user