心三联是指什么| 女人左手麻要注意什么| 大葱和小葱有什么区别| 手指关节肿胀是什么原因| 唔该是什么意思| 炎性改变是什么意思| 胃酸反酸水吃什么药| 用进废退是什么意思| 乙状结肠是什么意思| 尿潴留吃什么药| 皮肤发黄是什么原因| 劲仔小鱼是什么鱼做的| 什么是ph值| 南京大屠杀是什么时候| 吃什么对牙齿好| 腹主动脉壁钙化是什么意思| 秋天开什么花| 儿保是什么| 脊髓病变是什么病| 觊觎是什么意思| 小厨宝是什么东西| 出虚恭是什么意思| 二拇指比大拇指长代表什么| 南瓜和什么不能一起吃| 切除脾脏对身体有什么影响| 老树盘根是什么意思| 玉髓什么颜色最贵| 一家之主是什么意思| 中国国鸟是什么| 杞子配什么增强性功能| 太平天国失败的根本原因是什么| 香蕉皮擦脸有什么作用与功效| 抹茶是什么做的| 7月17号是什么星座| 脖子红是什么原因| 吊什么意思| 梦见摘黄瓜是什么意思| 右腿麻木是什么征兆| 山竹什么人不能吃| 空亡是什么意思| 牛肉丸子配什么菜好吃| 梦见鸡是什么意思| 嗜酸性粒细胞偏低是什么意思| 什么叫白内障| 心态崩了什么意思| 氨是什么| 什么是多巴胺| 牙肿了吃什么消炎药| 小便很臭是什么原因| 看病人送什么| 秦二世为什么姓胡| 早年晚岁总无长是什么意思| 肚脐有分泌物还发臭是什么原因| 灵芝长什么样子图片| 子宫内膜增厚吃什么药| 肉桂是什么味道| 经常呕吐是什么原因| 南瓜是什么形状| 儿童扁桃体发炎吃什么药| cmv病毒是什么病毒| 经常抽筋是什么原因| 什么字笔画最多| 釜底抽薪是什么意思| adivon是什么牌子| 吃什么长得高| 鼻梁歪的男人说明什么| 过敏擦什么药膏好得快| 莲字五行属什么| 激素六项是查什么的| 脚底干裂起硬皮是什么原因怎么治| 吃了火龙果小便红色是什么原因| 怀孕了尿液是什么颜色| 桂花什么时候开花| 明天属什么生肖| 大便干硬是什么原因| 金匮肾气丸有什么功效| 陛下的陛是什么意思| 脚底板痒是什么原因| 大人是什么意思| 不撞南墙不回头是什么意思| hpv什么症状| 为什么做梦| 附骨疽在现代叫什么病| 意大利用什么货币| 皮脂腺囊肿是什么原因引起的| 什么是动物奶油| 正太什么意思| 吃菠萝有什么好处| 老人头晕吃什么药效果好| 别人梦见我死了是什么意思| 什么的梦| 白萝卜煮水喝有什么功效| 倒三角是什么意思| 曼巴是什么意思| 不经意间是什么意思| 腿胖是什么原因引起的| 水痘疫苗第二针什么时候打| 呼吸不顺畅是什么原因| 五常大米是什么意思| 掉是什么意思| 肾结石有什么症状表现| 渗透压低是什么原因| 免冠照什么意思| g50是什么高速| 农历五月的别称是什么| 手足口病是什么| 护照免签是什么意思| tct检查是什么检查| 耳朵发热是什么原因| 骑马标志是什么牌子| 牙冠什么材质的好| 骨盐量偏高代表什么| 崖柏手串有什么功效| 脸上皮肤痒是什么原因| 无国界医生是什么意思| 胃热口干口苦口臭吃什么药好| 医院五行属什么| 体力不支是什么意思| cache是什么意思| 新生儿上户口需要什么资料| 梦见蛇吃人代表什么预兆| 嘴巴长疱疹是什么原因| 关节炎有什么症状| 狐臭用什么药最好| 胎停是什么意思| 女生下边长痘痘是什么病| 什么鱼最好养不容易死| 二聚体测定是什么| 被草是什么感觉| 1952年属什么生肖| 大小休是什么意思| 追什么| 上当是什么意思| 鲱鱼罐头为什么这么臭| epo是什么意思| 手背有痣代表什么意思| 减脂喝什么茶最有效| 微信被拉黑后显示什么| 长期熬夜吃什么可以补回来| 5月30是什么星座| 什么的口罩| 时光静好是什么意思| 什么水| 川字属于五行属什么| 球蛋白有什么作用和功效| 早搏心律不齐吃什么药| 割掉胆对人有什么影响| 尿素高不能吃什么| 榴莲树长什么样子| 傻瓜是什么意思| 癫疯病早期有什么症状| 五十八岁属什么生肖| 尿白细胞十一是什么意思| 怀孕白细胞高是什么原因| 儿童鼻窦炎吃什么药| 月经结束一周后又出血是什么原因| gcp是什么意思| ear什么意思| 一月7日是什么星座| 眼睛痒什么原因| 人间尤物什么意思| 438是什么意思| 女人脖子后面有痣代表什么| 经常头疼什么原因| 结节是什么原因引起的| 打下手什么意思| 又热又冷是什么原因| 手麻是什么病的前兆| 地接是什么意思| 慢性肾炎吃什么药| 全麦是什么| 解脲支原体阳性是什么意思| 芝士和奶酪有什么区别| 失信人是什么意思| 水逆是什么| 夏至是什么意思| 未分类结晶偏高是什么意思| 喝酒为什么会吐| 老人身上痒是什么原因| 内膜薄是什么意思| 脚怕冷是什么原因引起的| 囊肿有什么症状| 残局是什么意思| 中将是什么级别的干部| 低血压挂什么科| sk是什么牌子| 没事找事是什么意思| 披萨用什么面粉| 上梁不正下梁歪是什么意思| 睾丸变小了是什么原因| 心电图逆钟向转位什么意思| 人为什么怕死| 木行念什么| 什么叫捞女| 香蕉吃多了有什么坏处| 南京有什么玩的| 马镫什么时候发明的| 厥阴是什么意思| 从容面对是什么意思| 胃溃疡适合吃什么水果| 经常吃紧急避孕药有什么危害| 礼部尚书是什么官| 陈赫是什么星座的| 手术后能吃什么| 非农业户口是什么意思| 薄荷泡水喝有什么好处| 荷兰猪是什么动物| 梦见老公有外遇预示什么| 尿比重是什么意思| 肠炎吃什么消炎药| 冶阳萎什么药最有效| 声嘶力竭是什么意思| 手指关节疼痛是什么原因| 23年属什么| 什么是原则性问题| 艾条什么牌子好用| 神经官能症有什么症状表现| 什么是心梗| 做包子用什么面粉| 什么水果含维生素d| 三个水读什么| 相手蟹吃什么| 曹操的父亲叫什么名字| poems综合征是什么病| 求婚什么意思| 弥补是什么意思| 什么是基因| 尿红细胞阳性什么意思| 结膜出血用什么眼药水| 什么不生| 什么的微风填空| 手指经常抽筋是什么原因| 韬的意思是什么| 11月12日是什么星座| 乏力没精神容易疲劳是什么原因| 女儿茶属于什么茶| 草字头一个见念什么| 心机boy什么意思| 什么颜色显白| 一个车一个罔是什么字| 全职太太是什么意思| 辅酶q10的作用是什么| 阳萎吃什么药| 灌肠是什么| 晚上咳嗽是什么原因| 亚瑟士和鬼冢虎的区别是什么| 瘘管是什么| 依波手表什么档次| 子宫肌瘤变性是什么意思| 解脲脲原体阳性是什么病| 杞人忧天是什么故事| 气血不足吃什么好| 为什么腹水会很快死亡| 摇头是什么病| 马蹄粉是什么粉| 90年属什么| 孬种是什么意思| 荨麻疹要注意什么| 晕车吃什么| 喜上眉梢是什么意思| 经常掉头发是什么原因| 大腿后侧肌肉叫什么| 许久是什么意思| 梦见前男友死了是什么意思| 百度

原来,雄安新区是用来抗衡北京的,这里还有更


Directory: ../../../ffmpeg/
File: src/libavcodec/vdpau_vc1.c
Date: 2025-08-05 11:35:17
Exec Total Coverage
Lines: 0 72 0.0%
Functions: 0 3 0.0%
Branches: 0 17 0.0%

Line Branch Exec Source
1 /*
2 * VC-1 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 "vc1.h"
31 #include "vdpau.h"
32 #include "vdpau_internal.h"
33
34 static int vdpau_vc1_start_frame(AVCodecContext *avctx,
35 const AVBufferRef *buffer_ref,
36 const uint8_t *buffer, uint32_t size)
37 {
38 VC1Context * const v = avctx->priv_data;
39 MpegEncContext * const s = &v->s;
40 MPVPicture *pic = s->cur_pic.ptr;
41 struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
42 VdpPictureInfoVC1 *info = &pic_ctx->info.vc1;
43 VdpVideoSurface ref;
44
45 /* fill LvPictureInfoVC1 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 if (s->next_pic.ptr) {
52 ref = ff_vdpau_get_surface_id(s->next_pic.ptr->f);
53 assert(ref != VDP_INVALID_HANDLE);
54 info->backward_reference = ref;
55 }
56 /* fall-through */
57 case AV_PICTURE_TYPE_P:
58 if (s->last_pic.ptr) {
59 ref = ff_vdpau_get_surface_id(s->last_pic.ptr->f);
60 assert(ref != VDP_INVALID_HANDLE);
61 info->forward_reference = ref;
62 }
63 }
64
65 info->slice_count = 0;
66 if (v->bi_type)
67 info->picture_type = 4;
68 else
69 info->picture_type = s->pict_type - 1 + s->pict_type / 3;
70
71 info->frame_coding_mode = v->fcm ? (v->fcm + 1) : 0;
72 info->postprocflag = v->postprocflag;
73 info->pulldown = v->broadcast;
74 info->interlace = v->interlace;
75 info->tfcntrflag = v->tfcntrflag;
76 info->finterpflag = v->finterpflag;
77 info->psf = v->psf;
78 info->dquant = v->dquant;
79 info->panscan_flag = v->panscanflag;
80 info->refdist_flag = v->refdist_flag;
81 info->quantizer = v->quantizer_mode;
82 info->extended_mv = v->extended_mv;
83 info->extended_dmv = v->extended_dmv;
84 info->overlap = v->overlap;
85 info->vstransform = v->vstransform;
86 info->loopfilter = v->loop_filter;
87 info->fastuvmc = v->fastuvmc;
88 info->range_mapy_flag = v->range_mapy_flag;
89 info->range_mapy = v->range_mapy;
90 info->range_mapuv_flag = v->range_mapuv_flag;
91 info->range_mapuv = v->range_mapuv;
92 /* Specific to simple/main profile only */
93 info->multires = v->multires;
94 info->syncmarker = v->resync_marker;
95 info->rangered = v->rangered | (v->rangeredfrm << 1);
96 info->maxbframes = v->max_b_frames;
97 info->deblockEnable = v->postprocflag & 1;
98 info->pquant = v->pq;
99
100 return ff_vdpau_common_start_frame(pic_ctx, buffer, size);
101 }
102
103 static int vdpau_vc1_decode_slice(AVCodecContext *avctx,
104 const uint8_t *buffer, uint32_t size)
105 {
106 VC1Context * const v = avctx->priv_data;
107 MpegEncContext * const s = &v->s;
108 MPVPicture *pic = s->cur_pic.ptr;
109 struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
110 int val;
111
112 val = ff_vdpau_add_buffer(pic_ctx, buffer, size);
113 if (val < 0)
114 return val;
115
116 pic_ctx->info.vc1.slice_count++;
117 return 0;
118 }
119
120 static av_cold int vdpau_vc1_init(AVCodecContext *avctx)
121 {
122 VdpDecoderProfile profile;
123
124 switch (avctx->profile) {
125 case AV_PROFILE_VC1_SIMPLE:
126 profile = VDP_DECODER_PROFILE_VC1_SIMPLE;
127 break;
128 case AV_PROFILE_VC1_MAIN:
129 profile = VDP_DECODER_PROFILE_VC1_MAIN;
130 break;
131 case AV_PROFILE_VC1_ADVANCED:
132 profile = VDP_DECODER_PROFILE_VC1_ADVANCED;
133 break;
134 default:
135 return AVERROR(ENOTSUP);
136 }
137
138 return ff_vdpau_common_init(avctx, profile, avctx->level);
139 }
140
141 #if CONFIG_WMV3_VDPAU_HWACCEL
142 const FFHWAccel ff_wmv3_vdpau_hwaccel = {
143 .p.name = "wm3_vdpau",
144 .p.type = AVMEDIA_TYPE_VIDEO,
145 .p.id = AV_CODEC_ID_WMV3,
146 .p.pix_fmt = AV_PIX_FMT_VDPAU,
147 .start_frame = vdpau_vc1_start_frame,
148 .end_frame = ff_vdpau_mpeg_end_frame,
149 .decode_slice = vdpau_vc1_decode_slice,
150 .frame_priv_data_size = sizeof(struct vdpau_picture_context),
151 .init = vdpau_vc1_init,
152 .uninit = ff_vdpau_common_uninit,
153 .frame_params = ff_vdpau_common_frame_params,
154 .priv_data_size = sizeof(VDPAUContext),
155 .caps_internal = HWACCEL_CAP_ASYNC_SAFE,
156 };
157 #endif
158
159 const FFHWAccel ff_vc1_vdpau_hwaccel = {
160 .p.name = "vc1_vdpau",
161 .p.type = AVMEDIA_TYPE_VIDEO,
162 .p.id = AV_CODEC_ID_VC1,
163 .p.pix_fmt = AV_PIX_FMT_VDPAU,
164 .start_frame = vdpau_vc1_start_frame,
165 .end_frame = ff_vdpau_mpeg_end_frame,
166 .decode_slice = vdpau_vc1_decode_slice,
167 .frame_priv_data_size = sizeof(struct vdpau_picture_context),
168 .init = vdpau_vc1_init,
169 .uninit = ff_vdpau_common_uninit,
170 .frame_params = ff_vdpau_common_frame_params,
171 .priv_data_size = sizeof(VDPAUContext),
172 .caps_internal = HWACCEL_CAP_ASYNC_SAFE,
173 };
174

鹌鹑蛋是什么动物的蛋 狗为什么不能吃洋葱 加德纳菌阳性是什么意思 本田的高端品牌是什么 黄历冲生肖是什么意思
樱桃什么时候成熟 坐月子可以吃什么蔬菜 地皮菜是什么菜 孩子咳嗽能吃什么水果 父亲节送什么
妙赞是什么意思 吃什么容易得胆结石 0.8是什么意思 平光镜是什么意思 水银是什么
红枣和灰枣有什么区别 淼是什么意思 手指甲发紫是什么原因 三分三是什么药 小腿出汗是什么原因
fs是什么单位hcv8jop7ns7r.cn 性疾病都有什么症状hcv8jop9ns4r.cn 转呼啦圈有什么好处hcv9jop3ns1r.cn 吃什么可以降血脂fenrenren.com 八败是什么意思hcv8jop2ns4r.cn
为什么小便是红色的尿hcv7jop5ns2r.cn 恐惧感是什么意思hcv9jop4ns8r.cn 世界上最大的数是什么cj623037.com 4月13日是什么星座hcv7jop6ns5r.cn 骨关节炎是什么原因引起的hcv9jop2ns4r.cn
小孩子隔三差五流鼻血什么原因hcv8jop7ns5r.cn 尿是褐色的是什么原因hcv8jop5ns7r.cn 大枣枸杞泡水喝有什么好处hcv9jop6ns6r.cn 姓名字号是什么意思hcv9jop0ns2r.cn 高大上的意思是什么hcv8jop0ns9r.cn
夜未央是什么意思hcv8jop1ns4r.cn 5月17日是什么星座hcv8jop2ns4r.cn mom是什么意思hcv9jop6ns3r.cn 输卵管不通有什么症状hcv9jop1ns0r.cn 过是什么结构hcv7jop5ns5r.cn
百度