Simplify glob() check.
line source
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 /*
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * GIF file parser
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * Copyright (C) 2003 Joey Parrish
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 *
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * This file is part of MPlayer.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 *
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * MPlayer is free software; you can redistribute it and/or modify
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * it under the terms of the GNU General Public License as published by
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * the Free Software Foundation; either version 2 of the License, or
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * (at your option) any later version.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 *
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * MPlayer 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 General Public License for more details.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 *
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * You should have received a copy of the GNU General Public License along
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 */
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include <stdio.h>
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include <stdlib.h>
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include <unistd.h>
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "config.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "mp_msg.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "help_mp.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "stream/stream.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "demuxer.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "stheader.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include <gif_lib.h>
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "libvo/fastmemcpy.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 typedef struct {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int current_pts;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 unsigned char *palette;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 GifFileType *gif;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int w, h;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int useref;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 uint8_t *refimg;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } gif_priv_t;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #define GIF_SIGNATURE (('G' << 16) | ('I' << 8) | 'F')
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifndef CONFIG_GIF_TVT_HACK
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // not supported by certain versions of the library
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 static int my_read_gif(GifFileType *gif, uint8_t *buf, int len)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return stream_read(gif->UserData, buf, len);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 static int gif_check_file(demuxer_t *demuxer)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (stream_read_int24(demuxer->stream) == GIF_SIGNATURE)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return DEMUXER_TYPE_GIF;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 static void memcpy_transp_pic(uint8_t *dst, uint8_t *src, int w, int h,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int dstride, int sstride, int transp, uint8_t trans_col) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (transp) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dstride -= w;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sstride -= w;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 while (h-- > 0) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int wleft = w;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 while (wleft-- > 0) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (*src != trans_col)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 *dst = *src;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dst++; src++;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dst += dstride;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 src += sstride;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } else
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_pic(dst, src, w, h, dstride, sstride);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 gif_priv_t *priv = demuxer->priv;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 GifFileType *gif = priv->gif;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 GifRecordType type = UNDEFINED_RECORD_TYPE;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int len = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demux_packet_t *dp = NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ColorMapObject *effective_map = NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 uint8_t *buf = NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int refmode = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int transparency = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 uint8_t transparent_col;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 while (type != IMAGE_DESC_RECORD_TYPE) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetRecordType(gif, &type) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (type == TERMINATE_RECORD_TYPE)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // eof
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (type == SCREEN_DESC_RECORD_TYPE) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetScreenDesc(gif) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (type == EXTENSION_RECORD_TYPE) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int code;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 unsigned char *p = NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetExtension(gif, &code, &p) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (code == 0xF9) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int frametime = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (p[0] == 4) // is the length correct?
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparency = p[1] & 1;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 refmode = (p[1] >> 2) & 3;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // HACK: specification says
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // > 0 - No disposal specified. The decoder is not required to take any action.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // but browsers treat it the same way as
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // > 1 - Do not dispose. The graphic is to be left in place.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // Some broken files rely on this, e.g.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // http://samples.mplayerhq.hu/GIF/broken-gif/CLAIRE.GIF
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (refmode == 0) refmode = 1;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 frametime = (p[3] << 8) | p[2]; // set the time, centiseconds
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparent_col = p[4];
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->current_pts += frametime;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } else if ((code == 0xFE) && (verbose)) { // comment extension
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // print iff verbose
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 printf("GIF comment: ");
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 while (p != NULL) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int length = p[0];
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 char *comments = p + 1;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 comments[length] = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 printf("%s", comments);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 printf("\n");
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 while (p != NULL) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetImageDesc(gif) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 len = gif->Image.Width * gif->Image.Height;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dp = new_demux_packet(priv->w * priv->h);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 buf = calloc(gif->Image.Width, gif->Image.Height);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (priv->useref)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 fast_memcpy(dp->buffer, priv->refimg, priv->w * priv->h);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 else
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memset(dp->buffer, gif->SBackGroundColor, priv->w * priv->h);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (DGifGetLine(gif, buf, len) == GIF_ERROR) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 0; // oops
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 effective_map = gif->Image.ColorMap;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (effective_map == NULL) effective_map = gif->SColorMap;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int y;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int cnt = FFMIN(effective_map->ColorCount, 256);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int l = av_clip(gif->Image.Left, 0, priv->w);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int t = av_clip(gif->Image.Top, 0, priv->h);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int w = av_clip(gif->Image.Width, 0, priv->w - l);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int h = av_clip(gif->Image.Height, 0, priv->h - t);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 unsigned char *dest = dp->buffer + priv->w * t + l;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // copy the palette
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 for (y = 0; y < cnt; y++) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->palette[(y * 4) + 0] = effective_map->Colors[y].Blue;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->palette[(y * 4) + 1] = effective_map->Colors[y].Green;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->palette[(y * 4) + 2] = effective_map->Colors[y].Red;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->palette[(y * 4) + 3] = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (gif->Image.Interlace) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 uint8_t *s = buf;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ih = (h - 0 + 7) >> 3;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_transp_pic(dest, s, w, ih,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->w << 3, gif->Image.Width,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparency, transparent_col);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 s += ih * w;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ih = (h - 4 + 7) >> 3;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_transp_pic(dest + (priv->w << 2), s, w, ih,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->w << 3, gif->Image.Width,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparency, transparent_col);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 s += ih * w;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ih = (h - 2 + 3) >> 2;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_transp_pic(dest + (priv->w << 1), s, w, ih,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->w << 2, gif->Image.Width,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparency, transparent_col);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 s += ih * w;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ih = (h - 1 + 1) >> 1;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_transp_pic(dest + priv->w, s, w, ih,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->w << 1, gif->Image.Width,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparency, transparent_col);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } else
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_transp_pic(dest, buf, w, h, priv->w, gif->Image.Width,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 transparency, transparent_col);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (refmode == 1) fast_memcpy(priv->refimg, dp->buffer, priv->w * priv->h);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (refmode == 2 && priv->useref) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dest = priv->refimg + priv->w * t + l;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memset(buf, gif->SBackGroundColor, len);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 memcpy_pic(dest, buf, w, h, priv->w, gif->Image.Width);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (!(refmode & 2)) priv->useref = refmode & 1;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 free(buf);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demuxer->video->dpos++;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dp->pts = ((float)priv->current_pts) / 100;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 dp->pos = stream_tell(demuxer->stream);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ds_add_packet(demuxer->video, dp);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return 1;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 static demuxer_t* demux_open_gif(demuxer_t* demuxer)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 gif_priv_t *priv = calloc(1, sizeof(gif_priv_t));
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video_t *sh_video = NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 GifFileType *gif = NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->current_pts = 0;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demuxer->seekable = 0; // FIXME
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // go back to the beginning
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 stream_seek(demuxer->stream,demuxer->stream->start_pos);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_GIF_TVT_HACK
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // without the TVT functionality of libungif, a hard seek must be
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // done to the beginning of the file. this is because libgif is
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // unable to use mplayer's cache, and without this lseek libgif will
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // not read from the beginning of the file and the command will fail.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // with this hack enabled, you will lose the ability to stream a GIF.
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 lseek(demuxer->stream->fd, 0, SEEK_SET);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 gif = DGifOpenFileHandle(demuxer->stream->fd);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #else
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 gif = DGifOpen(demuxer->stream, my_read_gif);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (!gif) {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return NULL;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // create a new video stream header
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video = new_sh_video(demuxer, 0);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // make sure the demuxer knows about the new video stream header
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // (even though new_sh_video() ought to take care of it)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demuxer->video->sh = sh_video;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // make sure that the video demuxer stream header knows about its
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // parent video demuxer stream (this is getting wacky), or else
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 // video_read_properties() will choke
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->ds = demuxer->video;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->format = mmioFOURCC(8, 'R', 'G', 'B');
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->fps = 5.0f;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->frametime = 1.0f / sh_video->fps;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->bih = malloc(sizeof(*sh_video->bih) + (256 * 4));
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->bih->biCompression = sh_video->format;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->bih->biWidth = priv->w = (uint16_t)gif->SWidth;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->bih->biHeight = priv->h = (uint16_t)gif->SHeight;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->bih->biBitCount = 8;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 sh_video->bih->biPlanes = 2;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->palette = (unsigned char *)(sh_video->bih + 1);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->refimg = malloc(priv->w * priv->h);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 priv->gif = gif;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demuxer->priv = priv;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 return demuxer;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 static void demux_close_gif(demuxer_t* demuxer)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 gif_priv_t *priv = demuxer->priv;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (!priv) return;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 if (priv->gif && DGifCloseFile(priv->gif) == GIF_ERROR)
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 PrintGifError();
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 free(priv->refimg);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 free(priv);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 }
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 const demuxer_desc_t demuxer_desc_gif = {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 "GIF demuxer",
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 "gif",
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 "GIF",
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 "Joey Parrish",
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 "",
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 DEMUXER_TYPE_GIF,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 0, // unsafe autodetect
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 gif_check_file,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demux_gif_fill_buffer,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demux_open_gif,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 demux_close_gif,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 NULL,
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 NULL
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃醇�鐃緒申��申鐃醇柑鐃緒��鰹申薜合�渇��膩��渇����鐃緒申鐃緒申��膩��鰹申鐃順�渇����鐃初��膩��鰹申鐃順�渇����紮�鐃醇�鐃緒申��申鐃醇�鐃緒申鐃緒申��膩��渇��膩��鰹申鐃処��申鐃初姐�渇����鐃醇�鐃緒申鐃緒申膣�申����鐃初��膩��渇��膩��鰹申鐃緒申鐃初����鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 };