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

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

?? matroska.c

?? arm平臺下的H264編碼和解碼源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
            /* tracktype specific stuff for video */            case MATROSKA_ID_TRACKVIDEO: {                MatroskaVideoTrack *videotrack;                if (track->type != MATROSKA_TRACK_TYPE_VIDEO) {                    av_log(matroska->ctx, AV_LOG_INFO,                           "video data in non-video track - ignoring\n");                    res = AVERROR_INVALIDDATA;                    break;                } else if ((res = ebml_read_master(matroska, &id)) < 0)                    break;                videotrack = (MatroskaVideoTrack *)track;                while (res == 0) {                    if (!(id = ebml_peek_id(matroska, &matroska->level_up))) {                        res = AVERROR_IO;                        break;                    } else if (matroska->level_up > 0) {                        matroska->level_up--;                        break;                    }                    switch (id) {                        /* fixme, this should be one-up, but I get it here */                        case MATROSKA_ID_TRACKDEFAULTDURATION: {                            uint64_t num;                            if ((res = ebml_read_uint (matroska, &id,                                                       &num)) < 0)                                break;                            track->default_duration = num;                            break;                        }                        /* video framerate */                        case MATROSKA_ID_VIDEOFRAMERATE: {                            double num;                            if ((res = ebml_read_float(matroska, &id,                                                       &num)) < 0)                                break;                            track->default_duration = 1000000000 * (1. / num);                            break;                        }                        /* width of the size to display the video at */                        case MATROSKA_ID_VIDEODISPLAYWIDTH: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            videotrack->display_width = num;                            break;                        }                        /* height of the size to display the video at */                        case MATROSKA_ID_VIDEODISPLAYHEIGHT: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            videotrack->display_height = num;                            break;                        }                        /* width of the video in the file */                        case MATROSKA_ID_VIDEOPIXELWIDTH: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            videotrack->pixel_width = num;                            break;                        }                        /* height of the video in the file */                        case MATROSKA_ID_VIDEOPIXELHEIGHT: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            videotrack->pixel_height = num;                            break;                        }                        /* whether the video is interlaced */                        case MATROSKA_ID_VIDEOFLAGINTERLACED: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            if (num)                                track->flags |=                                    MATROSKA_VIDEOTRACK_INTERLACED;                            else                                track->flags &=                                    ~MATROSKA_VIDEOTRACK_INTERLACED;                            break;                        }                        /* stereo mode (whether the video has two streams,                         * where one is for the left eye and the other for                         * the right eye, which creates a 3D-like                         * effect) */                        case MATROSKA_ID_VIDEOSTEREOMODE: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            if (num != MATROSKA_EYE_MODE_MONO &&                                num != MATROSKA_EYE_MODE_LEFT &&                                num != MATROSKA_EYE_MODE_RIGHT &&                                num != MATROSKA_EYE_MODE_BOTH) {                                av_log(matroska->ctx, AV_LOG_INFO,                                       "Ignoring unknown eye mode 0x%x\n",                                       (uint32_t) num);                                break;                            }                            videotrack->eye_mode = num;                            break;                        }                        /* aspect ratio behaviour */                        case MATROSKA_ID_VIDEOASPECTRATIO: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            if (num != MATROSKA_ASPECT_RATIO_MODE_FREE &&                                num != MATROSKA_ASPECT_RATIO_MODE_KEEP &&                                num != MATROSKA_ASPECT_RATIO_MODE_FIXED) {                                av_log(matroska->ctx, AV_LOG_INFO,                                       "Ignoring unknown aspect ratio 0x%x\n",                                       (uint32_t) num);                                break;                            }                            videotrack->ar_mode = num;                            break;                        }                        /* colourspace (only matters for raw video)                         * fourcc */                        case MATROSKA_ID_VIDEOCOLOURSPACE: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            videotrack->fourcc = num;                            break;                        }                        default:                            av_log(matroska->ctx, AV_LOG_INFO,                                   "Unknown video track header entry "                                   "0x%x - ignoring\n", id);                            /* pass-through */                        case EBML_ID_VOID:                            res = ebml_read_skip(matroska);                            break;                    }                    if (matroska->level_up) {                        matroska->level_up--;                        break;                    }                }                break;            }            /* tracktype specific stuff for audio */            case MATROSKA_ID_TRACKAUDIO: {                MatroskaAudioTrack *audiotrack;                if (track->type != MATROSKA_TRACK_TYPE_AUDIO) {                    av_log(matroska->ctx, AV_LOG_INFO,                           "audio data in non-audio track - ignoring\n");                    res = AVERROR_INVALIDDATA;                    break;                } else if ((res = ebml_read_master(matroska, &id)) < 0)                    break;                audiotrack = (MatroskaAudioTrack *)track;                while (res == 0) {                    if (!(id = ebml_peek_id(matroska, &matroska->level_up))) {                        res = AVERROR_IO;                        break;                    } else if (matroska->level_up > 0) {                        matroska->level_up--;                        break;                    }                    switch (id) {                        /* samplerate */                        case MATROSKA_ID_AUDIOSAMPLINGFREQ: {                            double num;                            if ((res = ebml_read_float(matroska, &id,                                                       &num)) < 0)                                break;                            audiotrack->samplerate = num;                            break;                        }                            /* bitdepth */                        case MATROSKA_ID_AUDIOBITDEPTH: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            audiotrack->bitdepth = num;                            break;                        }                            /* channels */                        case MATROSKA_ID_AUDIOCHANNELS: {                            uint64_t num;                            if ((res = ebml_read_uint(matroska, &id,                                                      &num)) < 0)                                break;                            audiotrack->channels = num;                            break;                        }                        default:                            av_log(matroska->ctx, AV_LOG_INFO,                                   "Unknown audio track header entry "                                   "0x%x - ignoring\n", id);                            /* pass-through */                        case EBML_ID_VOID:                            res = ebml_read_skip(matroska);                            break;                    }                    if (matroska->level_up) {                        matroska->level_up--;                        break;                    }                }                break;            }                /* codec identifier */            case MATROSKA_ID_CODECID: {                char *text;                if ((res = ebml_read_ascii(matroska, &id, &text)) < 0)                    break;                track->codec_id = text;                break;            }                /* codec private data */            case MATROSKA_ID_CODECPRIVATE: {                uint8_t *data;                int size;                if ((res = ebml_read_binary(matroska, &id, &data, &size) < 0))                    break;                track->codec_priv = data;                track->codec_priv_size = size;                break;            }                /* name of the codec */            case MATROSKA_ID_CODECNAME: {                char *text;                if ((res = ebml_read_utf8(matroska, &id, &text)) < 0)                    break;                track->codec_name = text;                break;            }                /* name of this track */            case MATROSKA_ID_TRACKNAME: {                char *text;                if ((res = ebml_read_utf8(matroska, &id, &text)) < 0)                    break;                track->name = text;                break;            }                /* language (matters for audio/subtitles, mostly) */            case MATROSKA_ID_TRACKLANGUAGE: {                char *text;                if ((res = ebml_read_utf8(matroska, &id, &text)) < 0)                    break;                track->language = text;                break;            }                /* whether this is actually used */            case MATROSKA_ID_TRACKFLAGENABLED: {                uint64_t num;                if ((res = ebml_read_uint(matroska, &id, &num)) < 0)                    break;                if (num)                    track->flags |= MATROSKA_TRACK_ENABLED;                else                    track->flags &= ~MATROSKA_TRACK_ENABLED;                break;            }                /* whether it's the default for this track type */            case MATROSKA_ID_TRACKFLAGDEFAULT: {                uint64_t num;                if ((res = ebml_read_uint(matroska, &id, &num)) < 0)                    break;                if (num)                    track->flags |= MATROSKA_TRACK_DEFAULT;                else                    track->flags &= ~MATROSKA_TRACK_DEFAULT;                break;            }                /* lacing (like MPEG, where blocks don't end/start on frame                 * boundaries) */            case MATROSKA_ID_TRACKFLAGLACING: {                uint64_t num;                if ((res = ebml_read_uint(matroska, &id, &num)) < 0)                    break;                if (num)                    track->flags |= MATROSKA_TRACK_LACING;                else                    track->flags &= ~MATROSKA_TRACK_LACING;                break;            }                /* default length (in time) of one data block in this track */            case MATROSKA_ID_TRACKDEFAULTDURATION: {                uint64_t num;                if ((res = ebml_read_uint(matroska, &id, &num)) < 0)                    break;                track->default_duration = num;                break;            }            default:                av_log(matroska->ctx, AV_LOG_INFO,                       "Unknown track header entry 0x%x - ignoring\n", id);                /* pass-through */            case EBML_ID_VOID:            /* we ignore these because they're nothing useful. */            case MATROSKA_ID_CODECINFOURL:            case MATROSKA_ID_CODECDOWNLOADURL:            case MATROSKA_ID_TRACKMINCACHE:            case MATROSKA_ID_TRACKMAXCACHE:                res = ebml_read_skip(matroska);                break;        }        if (matroska->level_up) {            matroska->level_up--;            break;        }    }    return res;}static intmatroska_parse_tracks (MatroskaDemuxContext *matroska){    int res = 0;    uint32_t id;    av_log(matroska->ctx, AV_LOG_DEBUG, "parsing tracks...\n");    while (res == 0) {        if (!(id = ebml_peek_id(matroska, &matroska->level_up))) {            res = AVERROR_IO;            break;        } else if (matroska->level_up) {            matroska->level_up--;            break;        }        switch (id) {            /* one track within the "all-tracks" header */            case MATROSKA_ID_TRACKENTRY:                res = matroska_add_stream(matroska);                break;            default:                av_log(matroska->ctx, AV_LOG_INFO,                       "Unknown entry 0x%x in track header\n", id);                /* fall-through */            case EBML_ID_VOID:                res = ebml_read_skip(matroska);                break;        }        if (matroska->level_up) {            matroska->level_up--;            break;        }    }    return res;}static intmatroska_parse_index (MatroskaDemuxContext *matroska){    int res = 0;    uint32_t id;    MatroskaDemuxIndex idx;    av_log(matroska->ctx, AV_LOG_DEBUG, "parsing index...\n");    while (res == 0) {        if (!(id = ebml_peek_id(matroska, &matroska->level_up))) {            res = AVERROR_IO;            break;        } else if (matroska->level_up) {            matroska->level_up--;            break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费看`日韩一区二区| 国产精品久久久久7777按摩 | 亚洲女爱视频在线| 91精品欧美福利在线观看| 久久99久久久久久久久久久| 久久久99精品久久| 色吧成人激情小说| 国产不卡在线一区| 欧美96一区二区免费视频| 日韩一区有码在线| 精品日韩一区二区三区 | 91精品国产综合久久精品图片| 国产东北露脸精品视频| 日本麻豆一区二区三区视频| 亚洲乱码日产精品bd| 亚洲国产精品二十页| 日韩欧美国产一区二区三区| 欧美写真视频网站| 色悠久久久久综合欧美99| 国产精品99久久不卡二区| 老司机一区二区| 日日夜夜精品视频天天综合网| 亚洲美女屁股眼交3| 国产女人aaa级久久久级| 精品国产免费久久| 欧美一区午夜精品| 91精品欧美福利在线观看| 欧美日韩国产一区二区三区地区| 色综合亚洲欧洲| 91偷拍与自偷拍精品| av在线不卡电影| 99精品视频在线观看| 国产高清亚洲一区| 国产电影一区二区三区| 国产成人午夜99999| 国内精品在线播放| 国产一区美女在线| 国产精品白丝av| 国产**成人网毛片九色| 丰满亚洲少妇av| 成人美女视频在线看| 夫妻av一区二区| av高清久久久| 91美女视频网站| 色狠狠综合天天综合综合| 91在线视频免费91| 91麻豆精东视频| 欧美亚洲愉拍一区二区| 欧美日韩国产乱码电影| 在线综合+亚洲+欧美中文字幕| 欧美日韩综合在线免费观看| 91精品免费观看| 精品理论电影在线| 欧美高清一级片在线观看| 国产精品免费丝袜| 亚洲一区二区三区小说| 日韩av一区二区在线影视| 美脚の诱脚舐め脚责91| 国产伦精品一区二区三区免费| 国产精品亚洲一区二区三区在线| www..com久久爱| 精品视频免费在线| 日韩欧美在线1卡| 日韩高清在线观看| 国产精品一二一区| 91麻豆国产福利在线观看| 欧美美女直播网站| 精品国产凹凸成av人导航| 中文字幕av一区二区三区| 亚洲一区精品在线| 久久精品国产精品青草| 不卡av免费在线观看| 欧美日韩免费观看一区二区三区| 日韩欧美色电影| 日本vs亚洲vs韩国一区三区| 精品一区二区在线免费观看| www.亚洲激情.com| 91精品国产入口在线| 国产欧美精品在线观看| 亚洲综合成人在线| 国产一区二区三区日韩| 色综合久久天天| 日韩欧美视频一区| 亚洲精品你懂的| 国产综合色视频| 在线一区二区三区四区| 久久新电视剧免费观看| 亚洲国产另类精品专区| 国产精品91xxx| 欧美日韩一区二区在线观看视频 | 国产99精品视频| 777午夜精品视频在线播放| 久久久久99精品国产片| 午夜视频在线观看一区二区 | ...中文天堂在线一区| 日韩精品久久理论片| 国v精品久久久网| 91麻豆精品国产91久久久久久 | 日韩毛片在线免费观看| 毛片av一区二区三区| 色激情天天射综合网| 久久久精品人体av艺术| 日韩vs国产vs欧美| 欧美在线一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 在线看一区二区| 欧美日本一区二区三区| 国产欧美一区二区精品性色| 精品一区二区在线观看| 欧日韩精品视频| 亚洲欧美日韩成人高清在线一区| 成人免费高清在线| 国产亚洲一区二区三区| 久久99精品久久久久| 欧美一区二区精品| 日本中文字幕不卡| 日韩三级在线观看| 国产米奇在线777精品观看| 欧美精品一区二区不卡| 亚洲色图制服丝袜| 国产成人精品亚洲日本在线桃色| 欧美自拍偷拍午夜视频| 国产精品久久二区二区| 国产91丝袜在线播放九色| 欧美一区二区啪啪| 亚洲综合在线五月| www.综合网.com| 精品剧情v国产在线观看在线| 蜜臀国产一区二区三区在线播放| 91热门视频在线观看| 欧美激情综合在线| 极品销魂美女一区二区三区| 欧美日韩免费观看一区三区| 国产精品美女久久久久久久久久久| 奇米在线7777在线精品| 欧美日韩国产高清一区二区三区 | 国产日韩v精品一区二区| 日韩高清一级片| 欧美美女一区二区三区| 亚洲五月六月丁香激情| 一本久久精品一区二区| 综合欧美一区二区三区| 成人激情动漫在线观看| 亚洲图片另类小说| 91在线观看免费视频| 国产精品护士白丝一区av| 丁香六月综合激情| 欧美草草影院在线视频| 国产老女人精品毛片久久| 久久一二三国产| 韩国av一区二区三区在线观看| 91精品国产乱码| 日韩精品电影在线| 亚洲精品一区二区三区精华液 | ...av二区三区久久精品| 99久久久免费精品国产一区二区| 亚洲男人的天堂网| 色婷婷综合在线| 亚洲综合视频在线| 欧美麻豆精品久久久久久| 亚洲电影一区二区三区| 欧美一卡2卡3卡4卡| 久久99精品国产麻豆婷婷| 欧美岛国在线观看| 国产一区二区视频在线| 亚洲丝袜另类动漫二区| 97久久久精品综合88久久| 欧美不卡在线视频| 欧美v国产在线一区二区三区| 日韩一二在线观看| 亚洲情趣在线观看| 中文字幕一区免费在线观看| 精品国免费一区二区三区| 色88888久久久久久影院野外| av在线免费不卡| 国产ts人妖一区二区| 裸体一区二区三区| 亚洲网友自拍偷拍| 亚洲成人久久影院| 亚洲欧洲av另类| 九色porny丨国产精品| 欧美亚洲国产怡红院影院| 中文一区二区在线观看| 99精品久久免费看蜜臀剧情介绍| 一区二区三区精品久久久| 7777精品伊人久久久大香线蕉超级流畅 | 国模冰冰炮一区二区| 一区二区三区在线观看动漫| 91麻豆精品国产自产在线观看一区| 国产自产2019最新不卡| 亚洲欧美经典视频| 日韩欧美国产综合在线一区二区三区| 成人动漫中文字幕| 午夜电影网一区| 国产日韩欧美激情| 欧美日韩另类一区| 成人黄色av网站在线| 五月综合激情日本mⅴ| 中文字幕免费不卡| 欧美一区二区三区在线|