亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? avisynth.c.svn-base

?? ffmpeg最新源碼
?? SVN-BASE
字號:
/* * AVISynth support for ffmpeg system * Copyright (c) 2006 DivX, Inc. * * 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 */#include "avformat.h"#include "riff.h"#include <windows.h>#include <vfw.h>typedef struct {  PAVISTREAM handle;  AVISTREAMINFO info;  DWORD read;  LONG chunck_size;  LONG chunck_samples;} AVISynthStream;typedef struct {  PAVIFILE file;  AVISynthStream *streams;  int nb_streams;  int next_stream;} AVISynthContext;static int avisynth_read_header(AVFormatContext *s, AVFormatParameters *ap){  AVISynthContext *avs = s->priv_data;  HRESULT res;  AVIFILEINFO info;  DWORD id;  AVStream *st;  AVISynthStream *stream;  AVIFileInit();  res = AVIFileOpen(&avs->file, s->filename, OF_READ|OF_SHARE_DENY_WRITE, NULL);  if (res != S_OK)    {      av_log(s, AV_LOG_ERROR, "AVIFileOpen failed with error %ld", res);      AVIFileExit();      return -1;    }  res = AVIFileInfo(avs->file, &info, sizeof(info));  if (res != S_OK)    {      av_log(s, AV_LOG_ERROR, "AVIFileInfo failed with error %ld", res);      AVIFileExit();      return -1;    }  avs->streams = av_mallocz(info.dwStreams * sizeof(AVISynthStream));  for (id=0; id<info.dwStreams; id++)    {      stream = &avs->streams[id];      stream->read = 0;      if (AVIFileGetStream(avs->file, &stream->handle, 0, id) == S_OK)        {          if (AVIStreamInfo(stream->handle, &stream->info, sizeof(stream->info)) == S_OK)            {              if (stream->info.fccType == streamtypeAUDIO)                {                  WAVEFORMATEX wvfmt;                  LONG struct_size = sizeof(WAVEFORMATEX);                  if (AVIStreamReadFormat(stream->handle, 0, &wvfmt, &struct_size) != S_OK)                    continue;                  st = av_new_stream(s, id);                  st->codec->codec_type = CODEC_TYPE_AUDIO;                  st->codec->block_align = wvfmt.nBlockAlign;                  st->codec->channels = wvfmt.nChannels;                  st->codec->sample_rate = wvfmt.nSamplesPerSec;                  st->codec->bit_rate = wvfmt.nAvgBytesPerSec * 8;                  st->codec->bits_per_sample = wvfmt.wBitsPerSample;                  stream->chunck_samples = wvfmt.nSamplesPerSec * (uint64_t)info.dwScale / (uint64_t)info.dwRate;                  stream->chunck_size = stream->chunck_samples * wvfmt.nChannels * wvfmt.wBitsPerSample / 8;                  st->codec->codec_tag = wvfmt.wFormatTag;                  st->codec->codec_id = wav_codec_get_id(wvfmt.wFormatTag, st->codec->bits_per_sample);                }              else if (stream->info.fccType == streamtypeVIDEO)                {                  BITMAPINFO imgfmt;                  LONG struct_size = sizeof(BITMAPINFO);                  stream->chunck_size = stream->info.dwSampleSize;                  stream->chunck_samples = 1;                  if (AVIStreamReadFormat(stream->handle, 0, &imgfmt, &struct_size) != S_OK)                    continue;                  st = av_new_stream(s, id);                  st->codec->codec_type = CODEC_TYPE_VIDEO;                  st->r_frame_rate.num = stream->info.dwRate;                  st->r_frame_rate.den = stream->info.dwScale;                  st->codec->width = imgfmt.bmiHeader.biWidth;                  st->codec->height = imgfmt.bmiHeader.biHeight;                  st->codec->bits_per_sample = imgfmt.bmiHeader.biBitCount;                  st->codec->bit_rate = (uint64_t)stream->info.dwSampleSize * (uint64_t)stream->info.dwRate * 8 / (uint64_t)stream->info.dwScale;                  st->codec->codec_tag = imgfmt.bmiHeader.biCompression;                  st->codec->codec_id = codec_get_id(codec_bmp_tags, imgfmt.bmiHeader.biCompression);                  st->duration = stream->info.dwLength;                }              else                {                  AVIStreamRelease(stream->handle);                  continue;                }              avs->nb_streams++;              st->codec->stream_codec_tag = stream->info.fccHandler;              av_set_pts_info(st, 64, info.dwScale, info.dwRate);              st->start_time = stream->info.dwStart;            }        }    }  return 0;}static int avisynth_read_packet(AVFormatContext *s, AVPacket *pkt){  AVISynthContext *avs = s->priv_data;  HRESULT res;  AVISynthStream *stream;  int stream_id = avs->next_stream;  LONG read_size;  // handle interleaving manually...  stream = &avs->streams[stream_id];  if (stream->read >= stream->info.dwLength)    return AVERROR(EIO);  if (av_new_packet(pkt, stream->chunck_size))    return AVERROR(EIO);  pkt->stream_index = stream_id;  pkt->pts = avs->streams[stream_id].read / avs->streams[stream_id].chunck_samples;  res = AVIStreamRead(stream->handle, stream->read, stream->chunck_samples, pkt->data, stream->chunck_size, &read_size, NULL);  pkt->pts = stream->read;  pkt->size = read_size;  stream->read += stream->chunck_samples;  // prepare for the next stream to read  do {    avs->next_stream = (avs->next_stream+1) % avs->nb_streams;  } while (avs->next_stream != stream_id && s->streams[avs->next_stream]->discard >= AVDISCARD_ALL);  return (res == S_OK) ? pkt->size : -1;}static int avisynth_read_close(AVFormatContext *s){  AVISynthContext *avs = s->priv_data;  int i;  for (i=0;i<avs->nb_streams;i++)    {      AVIStreamRelease(avs->streams[i].handle);    }  av_free(avs->streams);  AVIFileRelease(avs->file);  AVIFileExit();  return 0;}static int avisynth_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int flags){  AVISynthContext *avs = s->priv_data;  int stream_id;  for (stream_id = 0; stream_id < avs->nb_streams; stream_id++)    {      avs->streams[stream_id].read = pts * avs->streams[stream_id].chunck_samples;    }  return 0;}AVInputFormat avisynth_demuxer = {  "avs",  NULL_IF_CONFIG_SMALL("AVISynth"),  sizeof(AVISynthContext),  NULL,  avisynth_read_header,  avisynth_read_packet,  avisynth_read_close,  avisynth_read_seek,  NULL,  0,  "avs",};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人亚洲精品久久久久软件| 色综合欧美在线| 成人综合婷婷国产精品久久蜜臀| 欧美性受极品xxxx喷水| 国产精品天天看| 丝袜美腿成人在线| 日本久久一区二区三区| 国产午夜一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 成人高清在线视频| 欧美精品一区二区不卡 | 国产偷国产偷亚洲高清人白洁 | 一色桃子久久精品亚洲| 狠狠色丁香婷婷综合| 欧美另类一区二区三区| 亚洲线精品一区二区三区 | 亚洲男人的天堂av| 成人听书哪个软件好| 精品久久99ma| 日本不卡一区二区| 欧美三级三级三级| 亚洲欧美二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 9191久久久久久久久久久| 国产精品激情偷乱一区二区∴| 久久国产麻豆精品| 欧美一区二区人人喊爽| 水蜜桃久久夜色精品一区的特点| 色欧美88888久久久久久影院| **网站欧美大片在线观看| 粉嫩aⅴ一区二区三区四区五区 | 欧美国产日韩一二三区| 极品少妇xxxx精品少妇| 26uuu精品一区二区在线观看| 蜜桃一区二区三区四区| 精品入口麻豆88视频| 国产一区二区女| 国产欧美一区二区精品性色超碰| 成人一级片网址| 亚洲婷婷在线视频| 色综合久久久久久久| 亚洲一区二区免费视频| 欧美日韩视频在线第一区| 婷婷一区二区三区| 欧美不卡视频一区| 国产精品一区二区男女羞羞无遮挡| 久久久精品免费网站| 99精品视频免费在线观看| 亚洲欧美欧美一区二区三区| 色欧美乱欧美15图片| 毛片基地黄久久久久久天堂| 久久综合狠狠综合久久综合88| 一级日本不卡的影视| 欧美高清精品3d| 国产成人免费视频网站高清观看视频 | 日产国产高清一区二区三区 | 激情久久五月天| 国产精品乱码久久久久久| 99久久精品国产一区| 亚洲综合免费观看高清完整版在线| 欧美日韩国产bt| 国产福利一区二区三区视频 | 国产精品色眯眯| 欧美性大战久久久| 精品影视av免费| 亚洲天堂av老司机| 欧美一级高清大全免费观看| 成人综合婷婷国产精品久久免费| 亚州成人在线电影| 国产欧美日韩精品一区| 欧美色精品在线视频| 国产精品一二三在| 亚洲一区二区三区国产| www成人在线观看| 欧美亚洲国产怡红院影院| 精品一区二区三区视频| 亚洲一区中文在线| 国产亚洲精品bt天堂精选| 91黄色免费版| 成人美女视频在线观看18| 免费在线成人网| 亚洲精品日韩专区silk| 久久久精品tv| 欧美大尺度电影在线| 欧美丝袜丝nylons| 91亚洲永久精品| 国产精品一区二区久久精品爱涩 | 亚洲免费伊人电影| 久久午夜羞羞影院免费观看| 欧美日韩国产高清一区| eeuss鲁片一区二区三区在线看| 九色综合狠狠综合久久| 日韩国产欧美在线视频| 一区二区三区免费在线观看| 中文字幕av资源一区| 久久久一区二区三区捆绑**| 69精品人人人人| 欧美日韩黄色一区二区| 欧美性极品少妇| 色噜噜狠狠色综合欧洲selulu| 风间由美中文字幕在线看视频国产欧美| 亚洲综合在线观看视频| 1区2区3区欧美| 亚洲欧洲日韩av| 欧美国产日韩a欧美在线观看| 精品国产三级a在线观看| 欧美一级欧美三级| 欧美一区二区三区爱爱| 欧美一区二区三区成人| 欧美美女视频在线观看| 欧美日韩另类一区| 欧美日韩三级在线| 欧美日韩一区二区在线观看视频| 日本高清无吗v一区| 91国偷自产一区二区开放时间| 91美女在线观看| 色综合久久久久久久久| 欧美系列日韩一区| 欧美日韩大陆一区二区| 在线播放视频一区| 日韩免费视频一区| 欧美成人激情免费网| 国产清纯美女被跳蛋高潮一区二区久久w| 久久久久国产精品麻豆ai换脸| 欧美国产一区视频在线观看| 亚洲人123区| 亚洲国产精品久久人人爱| 日本亚洲最大的色成网站www| 青椒成人免费视频| 国产精品一区三区| 91论坛在线播放| 欧美色爱综合网| 日韩欧美一区二区不卡| 国产午夜精品一区二区三区嫩草 | 中文av字幕一区| 一区二区三区四区在线免费观看 | 日韩精品一二三区| 激情综合网天天干| 91蜜桃免费观看视频| 7777女厕盗摄久久久| 久久午夜电影网| 亚洲激情校园春色| 蜜臂av日日欢夜夜爽一区| 国产99一区视频免费| 欧美午夜寂寞影院| 久久久精品2019中文字幕之3| 国产精品久久久99| 麻豆成人久久精品二区三区小说| 成人妖精视频yjsp地址| 欧美日韩国产中文| 欧美极品少妇xxxxⅹ高跟鞋| 一区二区三区91| 国产精品一区在线观看乱码| 欧美亚一区二区| 中文字幕不卡的av| 免费精品视频最新在线| 99国产精品视频免费观看| 日韩小视频在线观看专区| 亚洲婷婷综合色高清在线| 久久99精品国产.久久久久久| 色综合天天综合网天天狠天天| 日韩欧美中文字幕精品| 亚洲欧美偷拍卡通变态| 国产精品99久久久久久久vr| 欧美午夜寂寞影院| 亚洲欧洲成人av每日更新| 天天综合日日夜夜精品| 91美女精品福利| 久久精品人人做人人爽人人| 亚洲成av人片在线观看| 成人美女在线视频| 久久久亚洲国产美女国产盗摄 | 日韩女同互慰一区二区| 亚洲h精品动漫在线观看| 成人成人成人在线视频| 久久综合网色—综合色88| 亚洲chinese男男1069| 在线一区二区三区四区五区| 国产精品每日更新在线播放网址 | 日韩**一区毛片| 欧美亚洲国产一区二区三区| 国产精品成人网| 大桥未久av一区二区三区中文| 欧美成人一区二区| 男人的j进女人的j一区| 欧美精品自拍偷拍动漫精品| 亚洲一区二区免费视频| 在线观看欧美精品| 一区二区三区免费观看| 色天使色偷偷av一区二区| 亚洲色欲色欲www在线观看| av电影在线观看不卡| 国产精品高清亚洲| 色综合亚洲欧洲| 一区二区三区**美女毛片| 色欧美乱欧美15图片| 一区二区三区四区在线播放| 日本二三区不卡| 亚洲黄一区二区三区| 欧美视频一二三区|