Mercurial > libavcodec.hg
view mpeg4video_parser.h @ 10619:d930f99edbf9 libavcodec
Use a list to track which fragments coded in this frame still have
outstanding coefficients yet to be decoded from the bitstream. Once a
fragment reaches end-of-block, remove it from this new list. This change
makes the VP3/Theora entropy decode process dramatically faster due to
not having to iterate incessantly over fragments which have already been
fully decoded.
author | melanson |
---|---|
date | Wed, 02 Dec 2009 02:30:15 +0000 |
parents | 04423b2f6e0b |
children |
line wrap: on
line source
/* * MPEG4 video parser prototypes * Copyright (c) 2003 Fabrice Bellard * Copyright (c) 2003 Michael Niedermayer * * This file is part of FFmpeg. * * 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. * * 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 FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef AVCODEC_MPEG4VIDEO_PARSER_H #define AVCODEC_MPEG4VIDEO_PARSER_H #include "parser.h" /** * finds the end of the current frame in the bitstream. * @return the position of the first byte of the next frame, or -1 */ int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size); #endif /* AVCODEC_MPEG4VIDEO_PARSER_H */