diff options
Diffstat (limited to 'libavcodec/avs.c')
-rw-r--r-- | libavcodec/avs.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libavcodec/avs.c b/libavcodec/avs.c index d4e2837212..76e8a9aae7 100644 --- a/libavcodec/avs.c +++ b/libavcodec/avs.c @@ -2,20 +2,20 @@ * AVS video decoder. * Copyright (c) 2006 Aurelien Jacobs <aurel@gnuage.org> * - * This file is part of Libav. + * This file is part of FFmpeg. * - * Libav is free software; you can redistribute it and/or + * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * - * Libav is distributed in the hope that it will be useful, + * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software + * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -63,7 +63,7 @@ avs_decode_frame(AVCodecContext * avctx, av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n"); return -1; } - p->reference = 1; + p->reference = 3; p->pict_type = AV_PICTURE_TYPE_P; p->key_frame = 0; @@ -85,8 +85,10 @@ avs_decode_frame(AVCodecContext * avctx, if (first >= 256 || last > 256 || buf_end - buf < 4 + 4 + 3 * (last - first)) return AVERROR_INVALIDDATA; buf += 4; - for (i=first; i<last; i++, buf+=3) + for (i=first; i<last; i++, buf+=3) { pal[i] = (buf[0] << 18) | (buf[1] << 10) | (buf[2] << 2); + pal[i] |= 0xFF << 24 | (pal[i] >> 6) & 0x30303; + } sub_type = buf[0]; type = buf[1]; @@ -157,7 +159,10 @@ avs_decode_frame(AVCodecContext * avctx, static av_cold int avs_decode_init(AVCodecContext * avctx) { + AvsContext *const avs = avctx->priv_data; avctx->pix_fmt = PIX_FMT_PAL8; + avcodec_get_frame_defaults(&avs->picture); + avcodec_set_dimensions(avctx, 318, 198); return 0; } |