ige是什么| 春天像什么的比喻句| 1880年是什么朝代| 线性骨折是什么意思| chloe是什么牌子| 女人腰疼是什么妇科病| 涮菜都有什么菜| 2001年什么年| 阴虚内热吃什么中成药| 眼睛老跳是什么原因| 阴囊湿疹是什么原因造成的| 贪吃的动物是什么生肖| 银属于五行属什么| 高烧拉肚子是什么原因| 总是打嗝是什么原因| s是什么牌子| hcg稀释是什么意思| 心肌梗塞是什么症状| 杨琴是什么乐器| 螺蛳粉为什么叫螺蛳粉| 六月初一有什么讲究| 老马识途是什么意思| 朋友开业送什么礼物好| 因数是什么意思| 韭菜炒什么好吃| 咳嗽吃什么好的快偏方| 老年人补什么钙效果最好| 什么人群不适合吃阿胶糕| 孕妇梦见老鼠是什么意思| 皮肤经常痒是什么原因| ped是什么意思| 肺活量5000什么水平| 吃什么能润肠通便| 丁克是什么| 雕琢是什么意思| 12月23是什么星座| hib是什么疫苗| 睁一只眼闭一只眼是什么意思| lalpina是什么牌子| 什么人靠别人的脑袋生活| 不是经期有少量出血是什么原因| 抑制素b检测是什么意思| 什么样的眼睛形容词| 脱髓鞘疾病是什么病| 利率是什么| 新生儿拉肚子是什么原因引起的| gc是什么意思| 有利有弊是什么意思| 天妇罗是什么| 嘴唇痒边缘痒用什么药| 舌头发红是什么原因| 舌强语謇是什么意思| 一级法官是什么级别| 早孕试纸什么时候测最准确| 茶油是什么油| 尿道口有烧灼感为什么| 支原体是什么| 浑身酸痛什么原因| 性生活频繁有什么危害| 卡哇伊内是什么意思| 明亮的什么| 过敏是什么样的图片| 老婆子是什么意思| 什么样的头发| 忍冬是什么意思| 潮起潮落是什么意思| 什么是偏印| 多汗症吃什么药| 老人吃饭老是噎着是什么原因| 长期过敏是什么原因| 吃什么提高免疫力最好最快| 瑶浴spa是什么意思| 胃疼屁多是什么原因| 白芨有什么作用和功效| 牙齿抛光是什么意思| 什么东西补精子最快| 精囊腺囊肿是什么意思| 一件代发是什么意思| 子宫腺肌症吃什么药最有效| 前列腺有什么作用| 鼠和什么生肖最配| 吃什么能化解肾结石| 5像什么| 孕妇羊水少吃什么补的快| smr是什么意思| 过桥米线为什么叫过桥| 失眠可以吃什么药| 血压高的表现症状是什么| hpv检查前需要注意什么| 腺病毒吃什么药| 今天什么时辰立秋| 中性粒细胞偏低是什么原因| 婚检挂什么科| 耐药性什么意思| 什么是内卷| 嘴巴苦什么原因| 肌瘤和囊肿有什么区别| 甲状腺在人体什么位置| 骨质疏松是什么原因引起的| 黄金变黑是什么原因| 鼠是什么命| 五音不全是什么意思| 花开半夏是什么意思| 为什么会闰月| 乘字五行属什么| 8月10日是什么星座| 桑葚有什么功效| 同型半胱氨酸是什么意思| 解说是什么意思| 痔疮不能吃什么东西| 且慢是什么意思| 脸部浮肿是什么原因| 堂客是什么意思| 女人梦见蛇缠身是什么预兆| 女人右下巴有痣代表什么| 三点水加一个心读什么| 怀孕初期需要注意什么| 叶五行属什么| 喝茶心慌的人什么体质| sp是什么意思| 1月1号是什么星座| 胆小怕事是什么生肖| 韶关有什么特产| 牛奶和什么不能一起吃| 芥蒂是什么意思| lp0是什么意思| 条件致病菌是什么意思| 屁眼疼是什么原因| 嘴臭是什么原因| tmp是什么药| 什么时候做人流才是最佳时间| 中气是什么意思| 什么的云| 美团是干什么的| 醪糟是什么| 敛财什么意思| 尿检ph值偏高说明什么| 千里莺啼什么映什么| 张字五行属什么| 十月二十三号是什么星座| 女性去泰国要注意什么| 第一次查怀孕挂什么科| 夏季适合喝什么茶| 病符是什么意思| 布谷鸟长什么样| 头很容易出汗什么原因| 太平猴魁属于什么茶| 痛风能喝什么酒| 反清复明的组织叫什么| 什么红酒好喝| 司法警察是做什么的| 总是饿是什么原因| 专业术语是什么意思| 黑曼巴是什么意思| 月亮星座代表什么意思| 眼睛老是流眼泪是什么原因| 木可以加什么偏旁| 天梭手表属于什么档次| 卖淫是什么意思| 左肺结节是什么意思| 周星驰是什么星座| 汉武帝叫什么| 机能是什么意思| 鱼条念什么| 不以为然的意思是什么| 右上眼皮跳是什么预兆| 玫瑰花泡水喝有什么功效| 葡萄什么时候传入中国| 窦性心律过速吃什么药| mastercard是什么意思| 口吐白沫是什么病| 过三关 是什么意思| 男士感染霉菌用什么药| 痛风不能吃什么东西| 住院报销需要什么材料| 湿气重吃什么调理| 血压下午高是什么原因| 心肌酶是检查什么的| 晚上口渴是什么原因引起的| pvs是什么意思| 心脏上有个小洞是什么病| 马拉色菌毛囊炎用什么药治疗最好| 牙齿出血是什么病征兆| 贻字五行属什么| 佝偻病是缺什么| 拉血是什么原因| 什么的流水| 什么花适合室内养| 什么叫体位性低血压| 西瓜和什么不能一起吃| 上热下寒吃什么药| 皮卡丘站起来变成了什么| 梵克雅宝为什么那么贵| 血压低什么原因造成的| 吐口水有血是什么原因| 康熙是乾隆的什么人| 大熊猫为什么有黑眼圈| 鳝鱼吃什么| 托大是什么意思| 椰子水是什么味道| 云肖是什么生肖| 妇科炎症吃什么药| 荷花代表什么象征意义| 脸上不出汗是什么原因| 眼皮红肿是什么原因| 左边小腹痛什么原因女| 筋膜炎吃什么药好得快| 华丽转身什么意思| 疝气什么症状| 为什么经常打嗝| 什么精什么神| 咖啡是什么做的| 腋下发黑是什么原因| 西瓜禁忌和什么一起吃| 送行是什么意思| 太息是什么意思| 男性支原体阳性有什么症状| 咖喱块什么牌子的好| 复方板蓝根和板蓝根有什么区别| 叶黄素什么时间吃最好| 花生和什么不能一起吃| 心力衰竭是什么症状| 咖喱是什么材料做的| 石斛什么人不适合吃| 口干舌燥口苦吃什么药| 倒钩是什么意思| ml是什么单位| 缺血灶是什么意思| 内分泌代谢科是看什么病的| 宝宝积食发烧吃什么药| 梦见别人穿红衣服是什么意思| 丝瓜不能和什么一起吃| 血常规检查挂什么科| 看见蛇过马路什么征兆| 天蝎属于什么象星座| 什么是猥亵| 女人吃什么最补子宫| 精忠报国是什么意思| 2017属什么| 沙棘有什么作用| 扁桃体化脓是什么原因引起的| 躯体形式障碍是什么病| 总是想吐是什么原因| 月经前尿频是什么原因| s和m分别是什么意思| 双肺钙化灶是什么意思| 碟中谍是什么意思| 激素六项是查什么的| 否认是什么意思| 来苏水又叫什么名字| 苦瓜汤为什么要放黄豆| 咖啡与什么食物相克| 血清胃功能检测是什么| 什么人容易得帕金森| 梦见鹦鹉是什么征兆| 什么字永远写不好| 肾结石用什么药最好| 阑尾炎有什么症状表现| pcp是什么意思| 女人什么年龄性最旺| 17088a是什么尺码男装| 6月29什么星座| 风水宝地是什么意思| 表述是什么意思| 百度

批评管中闵 台大前国际长:已走向人身攻击


Directory: ../../../ffmpeg/
File: src/libavcodec/vdpau_mpeg12.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 0 57 0.0%
Functions: 0 4 0.0%
Branches: 0 10 0.0%

Line Branch Exec Source
1 /*
2 * MPEG-1/2 HW decode acceleration through VDPAU
3 *
4 * Copyright (c) 2008 NVIDIA
5 * Copyright (c) 2013 Rémi Denis-Courmont
6 *
7 * This file is part of FFmpeg.
8 *
9 * FFmpeg is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * FFmpeg is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with FFmpeg; if not, write to the Free Software Foundation,
21 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24 #include "config_components.h"
25
26 #include <vdpau/vdpau.h>
27
28 #include "avcodec.h"
29 #include "hwaccel_internal.h"
30 #include "mpegvideo.h"
31 #include "vdpau.h"
32 #include "vdpau_internal.h"
33
34 static int vdpau_mpeg_start_frame(AVCodecContext *avctx,
35 const AVBufferRef *buffer_ref,
36 const uint8_t *buffer, uint32_t size)
37 {
38 MpegEncContext * const s = avctx->priv_data;
39 MPVPicture *pic = s->cur_pic.ptr;
40 struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
41 VdpPictureInfoMPEG1Or2 *info = &pic_ctx->info.mpeg;
42 VdpVideoSurface ref;
43 int i;
44
45 /* fill VdpPictureInfoMPEG1Or2 struct */
46 info->forward_reference = VDP_INVALID_HANDLE;
47 info->backward_reference = VDP_INVALID_HANDLE;
48
49 switch (s->pict_type) {
50 case AV_PICTURE_TYPE_B:
51 ref = ff_vdpau_get_surface_id(s->next_pic.ptr->f);
52 assert(ref != VDP_INVALID_HANDLE);
53 info->backward_reference = ref;
54 /* fall through to forward prediction */
55 case AV_PICTURE_TYPE_P:
56 ref = ff_vdpau_get_surface_id(s->last_pic.ptr->f);
57 info->forward_reference = ref;
58 }
59
60 info->slice_count = 0;
61 info->picture_structure = s->picture_structure;
62 info->picture_coding_type = s->pict_type;
63 info->intra_dc_precision = s->intra_dc_precision;
64 info->frame_pred_frame_dct = s->frame_pred_frame_dct;
65 info->concealment_motion_vectors = s->concealment_motion_vectors;
66 info->intra_vlc_format = s->intra_vlc_format;
67 info->alternate_scan = s->alternate_scan;
68 info->q_scale_type = s->q_scale_type;
69 info->top_field_first = s->top_field_first;
70 // Both for MPEG-1 only, zero for MPEG-2:
71 info->full_pel_forward_vector = s->full_pel[0];
72 info->full_pel_backward_vector = s->full_pel[1];
73 // For MPEG-1 fill both horizontal & vertical:
74 info->f_code[0][0] = s->mpeg_f_code[0][0];
75 info->f_code[0][1] = s->mpeg_f_code[0][1];
76 info->f_code[1][0] = s->mpeg_f_code[1][0];
77 info->f_code[1][1] = s->mpeg_f_code[1][1];
78 for (i = 0; i < 64; ++i) {
79 int n = s->idsp.idct_permutation[i];
80 info->intra_quantizer_matrix[i] = s->intra_matrix[n];
81 info->non_intra_quantizer_matrix[i] = s->inter_matrix[n];
82 }
83
84 return ff_vdpau_common_start_frame(pic_ctx, buffer, size);
85 }
86
87 static int vdpau_mpeg_decode_slice(AVCodecContext *avctx,
88 const uint8_t *buffer, uint32_t size)
89 {
90 MpegEncContext * const s = avctx->priv_data;
91 MPVPicture *pic = s->cur_pic.ptr;
92 struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
93 int val;
94
95 val = ff_vdpau_add_buffer(pic_ctx, buffer, size);
96 if (val < 0)
97 return val;
98
99 pic_ctx->info.mpeg.slice_count++;
100 return 0;
101 }
102
103 #if CONFIG_MPEG1_VDPAU_HWACCEL
104 static av_cold int vdpau_mpeg1_init(AVCodecContext *avctx)
105 {
106 return ff_vdpau_common_init(avctx, VDP_DECODER_PROFILE_MPEG1,
107 VDP_DECODER_LEVEL_MPEG1_NA);
108 }
109
110 const FFHWAccel ff_mpeg1_vdpau_hwaccel = {
111 .p.name = "mpeg1_vdpau",
112 .p.type = AVMEDIA_TYPE_VIDEO,
113 .p.id = AV_CODEC_ID_MPEG1VIDEO,
114 .p.pix_fmt = AV_PIX_FMT_VDPAU,
115 .start_frame = vdpau_mpeg_start_frame,
116 .end_frame = ff_vdpau_mpeg_end_frame,
117 .decode_slice = vdpau_mpeg_decode_slice,
118 .frame_priv_data_size = sizeof(struct vdpau_picture_context),
119 .init = vdpau_mpeg1_init,
120 .uninit = ff_vdpau_common_uninit,
121 .priv_data_size = sizeof(VDPAUContext),
122 .caps_internal = HWACCEL_CAP_ASYNC_SAFE,
123 };
124 #endif
125
126 #if CONFIG_MPEG2_VDPAU_HWACCEL
127 static av_cold int vdpau_mpeg2_init(AVCodecContext *avctx)
128 {
129 VdpDecoderProfile profile;
130
131 switch (avctx->profile) {
132 case AV_PROFILE_MPEG2_MAIN:
133 profile = VDP_DECODER_PROFILE_MPEG2_MAIN;
134 break;
135 case AV_PROFILE_MPEG2_SIMPLE:
136 profile = VDP_DECODER_PROFILE_MPEG2_SIMPLE;
137 break;
138 default:
139 return AVERROR(EINVAL);
140 }
141
142 return ff_vdpau_common_init(avctx, profile, VDP_DECODER_LEVEL_MPEG2_HL);
143 }
144
145 const FFHWAccel ff_mpeg2_vdpau_hwaccel = {
146 .p.name = "mpeg2_vdpau",
147 .p.type = AVMEDIA_TYPE_VIDEO,
148 .p.id = AV_CODEC_ID_MPEG2VIDEO,
149 .p.pix_fmt = AV_PIX_FMT_VDPAU,
150 .start_frame = vdpau_mpeg_start_frame,
151 .end_frame = ff_vdpau_mpeg_end_frame,
152 .decode_slice = vdpau_mpeg_decode_slice,
153 .frame_priv_data_size = sizeof(struct vdpau_picture_context),
154 .init = vdpau_mpeg2_init,
155 .uninit = ff_vdpau_common_uninit,
156 .frame_params = ff_vdpau_common_frame_params,
157 .priv_data_size = sizeof(VDPAUContext),
158 .caps_internal = HWACCEL_CAP_ASYNC_SAFE,
159 };
160 #endif
161

副总经理是什么级别 狗狗吐黄水是什么原因 女性的排卵期是什么时候 为所当为什么意思 错构瘤是什么意思
遗精什么意思 仲夏什么意思 头发晕是什么病的征兆 为什么医院不推荐钡餐检查 常吃猪油有什么好处和坏处
2型糖尿病是什么意思 前列腺吃什么药见效快 什么是泡沫尿 做梦梦见狗是什么意思 吃什么食物能养肝护肝
64年出生属什么 hda是什么 小乌龟吃什么食物 退烧药吃多了有什么副作用 经常吃杏仁有什么好处
脚趾骨折是什么感觉hcv8jop6ns6r.cn 白带多什么原因hcv8jop9ns6r.cn 皮肤暗黄是什么原因hcv9jop4ns8r.cn fan是什么意思hcv7jop6ns3r.cn 白酒泡什么补肾壮阳最好hcv8jop6ns4r.cn
mk是什么牌子hcv9jop1ns3r.cn 唐僧属什么生肖hcv8jop5ns6r.cn 是什么数学符号hcv7jop9ns0r.cn 舌系带长有什么影响吗hcv8jop0ns8r.cn 摩羯男和什么星座最配hcv9jop2ns0r.cn
经期吃什么水果比较好hcv7jop9ns0r.cn hj是什么意思hcv9jop2ns1r.cn 唯美什么意思hcv8jop8ns5r.cn blazer是什么意思啊hcv8jop5ns0r.cn 教师节送什么礼品520myf.com
经常按摩头皮有什么好处hcv9jop0ns8r.cn 闭锁是什么意思hcv7jop5ns2r.cn 倾尽所有什么意思hcv9jop3ns9r.cn 均码是什么码hcv8jop7ns7r.cn 知交是什么意思hcv9jop0ns2r.cn
百度