男人梦见鱼是什么征兆| 属蛇的五行属什么| 吃什么食物能补钾| hp值是什么意思| 胸口疼痛是什么原因| 智齿冠周炎吃什么药| 女人胃寒吃什么好得快| 客厅挂钟放在什么位置好| 甲鱼什么人不能吃| 后脑勺出汗多是什么原因| 乙肝五项145阳性是什么意思| 文理分科什么时候开始| 高血压为什么不能献血| 文采是什么意思| 哈工大全称是什么| 什么是白茶| 酒精胶是粘什么的| 荔枝吃了有什么好处| 日久见人心是什么意思| 血液由什么组成| 戴银镯子对身体有什么好处| 是什么品牌| 人参不能和什么一起吃| 嚭是什么意思| 常务理事是什么职位| 促甲状腺素高是什么意思| 小孩经常肚子疼是什么原因| 小便尿不出来什么原因| 日本旅游买什么东西最划算| 口水分泌过多是什么原因| 鸡精是什么做的| 宋朝之前是什么朝代| 什么是双| 什么鱼最好养不容易死| 什么得什么| 单身公寓是什么意思| 尿液中有血是什么原因| 体育精神是什么| 龙生九子下一句是什么| 最后一个出场叫什么| 20岁属什么的生肖| 痱子用什么药| ffa是什么意思| 钟点房是什么意思| 家庭长期饮用什么水最好| 自然流产是什么症状| 脖子上长小肉粒是什么| 五朵金花是什么意思| 不显怀的人有什么特点| 穿堂风是什么意思| 梦见上楼梯是什么意思| 什么是螨虫| 百年老枞属于什么茶| 开诚布公是什么意思| 今年养殖什么最挣钱| 突然流鼻血是什么征兆| 大体重减肥做什么运动| 10月7日是什么星座| 什么照片看不出照的是谁| 牙龈萎缩 用什么牙膏好| 回声欠均匀是什么意思| 心是什么意思| 中国的国果是什么| 元旦吃什么| 南京市长是什么级别| 伤心的反义词是什么| 甲状腺结节什么引起的| apm是什么牌子| 为什么做完爱下面会疼| 用牛奶敷脸有什么好处和坏处| 开门见什么最吉利| 蜈蚣吃什么| 9月8号是什么星座| 92年是什么命| 降龙十八掌最后一掌叫什么| 辩证法是什么| 198什么意思| 捷字五行属什么| 蝉喜欢吃什么| 手指甲紫色是什么原因| 黛是什么颜色| 1992属什么| 什么是唐氏儿| 什么是法定节假日| 属鼠的和什么属相最配| 梅毒螺旋体抗体阴性是什么意思| 什么啤酒劲最大| 头晕想吐吃什么药| 饵丝是什么| 纳豆是什么东西| 大小脸去医院挂什么科| 红楼梦是什么朝代| 润喉咙什么东西最合适| sds是什么意思| 肚子左边是什么器官| 什么头十足| 自信过头叫什么| 紫外线过敏用什么药| 古早是什么意思| 什么是孽缘| 两肺散在小结节是什么意思| 看是什么意思| 人绒毛膜促性腺激素是什么| 吃什么补叶酸最快| 晚上睡觉咬牙齿是什么原因| 脸上长湿疹是什么原因| 6月17日什么星座| 为什么右眼皮一直跳| eee是什么牌子的鞋| 小鸟为什么会飞| 你喜欢我什么| 肚脐眼疼是什么原因| 颈椎病挂什么科最好| 甲亢都有什么症状| 子宫后壁低回声是什么意思| 教师节送什么礼物好| 甲醛对人体有什么危害| 木字旁的有什么字| 肠胃紊乱吃什么药| slogan是什么意思| 粟米是什么米| 吃什么药可以减肥| 准备的近义词是什么| 小孩嘴唇发红是什么原因| 萧敬腾为什么叫雨神| 什么是易孕体质| 造影手术是什么意思| 小猫感冒吃什么药| 应届毕业生是什么意思| 10015是什么电话| 胰腺不好有什么症状| 机翻是什么意思| 什么样的伤口需要缝针| 湿气太重吃什么排湿最快| 生殖科检查什么| 梦见吃核桃是什么意思| p代表什么| 吃什么补身体| 感冒发烧挂什么科| 景色奇异的异是什么意思| 早起嘴巴苦什么原因| 3月27是什么星座| 苦瓜泡水喝有什么功效和作用| 素面朝天什么生肖| 尿结石是什么引起的| 88年属龙是什么命| 五指毛桃根有什么功效| move什么意思| 子宫复旧不良有什么症状| 钊字五行属什么| 嘴巴麻是什么原因| 左卵巢囊性回声什么意思| 慧根是什么意思| 宠物医院需要什么资质| 精卫填海是什么意思| 肺部疼痛是什么原因| 至死不渝是什么意思| 女孩学什么专业好就业| 手牵手我们一起走是什么歌| 搞怪是什么意思| 莴笋不能和什么一起吃| 月经量少吃什么药| 5.6是什么星座| 加湿器用什么水比较好| 摩尔每升是什么单位| 颈椎曲度变直有什么症状| 早餐吃什么最营养| lch是什么病| 颅脑平扫是检查什么| 扔枕头有什么忌讳吗| 冻结账户需要什么条件| 7月中旬是什么时候| opo是什么| 什么是碱| 风尘是什么意思| 彩金是什么| 芒种是什么季节| 柴鸡是什么鸡| 无什么什么什么| 老鸨是什么| 眼睛疼吃什么药| 隐血弱阳性是什么意思| 妈宝女是什么意思| 牙齿为什么会松动| 什么叫梅毒| 头大适合什么发型| 梦见对象出轨什么征兆| anello是什么牌子| 丿是什么字| 蜥蜴人是什么| 什么是铅| 胃潴留是什么病| 没字去掉三点水念什么| s是什么化学元素| m是什么品牌| 路征和景甜什么关系| 五十知天命什么意思| singing是什么意思| 乙酰磺胺酸钾是什么| hpv跟tct有什么区别| 女性寒性体质喝什么茶| 生理盐水是什么东西| 常熟有什么好玩的地方| 为什么说金克木生财| 脚为什么会痒越抓越痒| 静脉曲张吃什么中成药| lmp医学上什么意思| 九月份是什么季节| 财神爷供奉什么供品| 数不胜数的胜是什么意思| 孕妇有狐臭擦什么最好| 什么是黑色星期五| 眼袋重是什么原因| 肝纤维化是什么意思| 脉搏跳得快是什么原因| 电动伐木锯什么牌子好| 什么生意好做又赚钱| 一个石一个夕念什么| 二阴指的是什么| 手背上长痣代表什么| 甲减饮食需要注意什么| 观音菩萨属什么生肖| 同房后需要注意什么| 包皮红肿用什么药| 头晕恶心什么原因| 美国的国鸟是什么| 今年农历是什么年号| 江团鱼又叫什么鱼| 专硕和学硕有什么区别| 拉肚子拉稀水吃什么药| 火代表什么数字| 什么是性激素| 支气管哮喘是什么原因引起的| 高温什么时候结束| 月经期间可以喝什么汤比较好| 纸可以做什么| 晚睡早起是什么原因| 什么叫白眼狼| 葛根粉吃了有什么作用| 对称是什么意思| 亿五行属什么| 为什么印度人叫阿三| 小猫吃什么| 12月6日什么星座| p什么意思| 疼和痛有什么区别| 狗狗吐是什么原因| 什么玉好| cross是什么牌子| 奇经八脉指的是什么| 梦见给死人烧纸钱是什么意思| 马蜂泡酒有什么功效| 嫦娥奔月是什么节日| 摧枯拉朽是什么意思| 党按照什么的原则选拔干部| 予五行属什么| 什么头十足| 猫咪感冒吃什么药| 苯三酚注射有什么用| 什么是早教机| 控制欲强的人最怕什么| 梦见别人给钱是什么意思| 抚摸是什么意思| 喝葡萄汁有什么好处| 百度

《爱我你敢吗》公布演员阵容!王晓晨搭档韩庚引期待


Directory: ../../../ffmpeg/
File: src/libavcodec/dv_profile.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 24 42 57.1%
Functions: 3 5 60.0%
Branches: 29 60 48.3%

Line Branch Exec Source
1 /*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19 #include "config.h"
20
21 #include <stddef.h>
22 #include <stdint.h>
23
24 #include "libavutil/intreadwrite.h"
25 #include "libavutil/log.h"
26 #include "libavutil/macros.h"
27 #include "libavutil/pixdesc.h"
28
29 #include "avcodec.h"
30 #include "dv_profile.h"
31 #include "dv_profile_internal.h"
32
33 #if CONFIG_DVPROFILE
34
35 static const uint8_t dv_audio_shuffle525[10][9] = {
36 { 0, 30, 60, 20, 50, 80, 10, 40, 70 }, /* 1st channel */
37 { 6, 36, 66, 26, 56, 86, 16, 46, 76 },
38 { 12, 42, 72, 2, 32, 62, 22, 52, 82 },
39 { 18, 48, 78, 8, 38, 68, 28, 58, 88 },
40 { 24, 54, 84, 14, 44, 74, 4, 34, 64 },
41
42 { 1, 31, 61, 21, 51, 81, 11, 41, 71 }, /* 2nd channel */
43 { 7, 37, 67, 27, 57, 87, 17, 47, 77 },
44 { 13, 43, 73, 3, 33, 63, 23, 53, 83 },
45 { 19, 49, 79, 9, 39, 69, 29, 59, 89 },
46 { 25, 55, 85, 15, 45, 75, 5, 35, 65 },
47 };
48
49 static const uint8_t dv_audio_shuffle625[12][9] = {
50 { 0, 36, 72, 26, 62, 98, 16, 52, 88 }, /* 1st channel */
51 { 6, 42, 78, 32, 68, 104, 22, 58, 94 },
52 { 12, 48, 84, 2, 38, 74, 28, 64, 100 },
53 { 18, 54, 90, 8, 44, 80, 34, 70, 106 },
54 { 24, 60, 96, 14, 50, 86, 4, 40, 76 },
55 { 30, 66, 102, 20, 56, 92, 10, 46, 82 },
56
57 { 1, 37, 73, 27, 63, 99, 17, 53, 89 }, /* 2nd channel */
58 { 7, 43, 79, 33, 69, 105, 23, 59, 95 },
59 { 13, 49, 85, 3, 39, 75, 29, 65, 101 },
60 { 19, 55, 91, 9, 45, 81, 35, 71, 107 },
61 { 25, 61, 97, 15, 51, 87, 5, 41, 77 },
62 { 31, 67, 103, 21, 57, 93, 11, 47, 83 },
63 };
64
65 /* macroblock bit budgets */
66 static const uint8_t block_sizes_dv2550[8] = {
67 112, 112, 112, 112, 80, 80, 0, 0,
68 };
69
70 static const uint8_t block_sizes_dv100[8] = {
71 80, 80, 80, 80, 80, 80, 64, 64,
72 };
73
74 static const AVDVProfile dv_profiles[] = {
75 { .dsf = 0,
76 .video_stype = 0x0,
77 .frame_size = 120000, /* IEC 61834, SMPTE-314M - 525/60 (NTSC) */
78 .difseg_size = 10,
79 .n_difchan = 1,
80 .time_base = { 1001, 30000 },
81 .ltc_divisor = 30,
82 .height = 480,
83 .width = 720,
84 .sar = { { 8, 9 }, { 32, 27 } },
85 .pix_fmt = AV_PIX_FMT_YUV411P,
86 .bpm = 6,
87 .block_sizes = block_sizes_dv2550,
88 .audio_stride = 90,
89 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */
90 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */
91 .audio_shuffle = dv_audio_shuffle525, },
92 { .dsf = 1,
93 .video_stype = 0x0,
94 .frame_size = 144000, /* IEC 61834 - 625/50 (PAL) */
95 .difseg_size = 12,
96 .n_difchan = 1,
97 .time_base = { 1, 25 },
98 .ltc_divisor = 25,
99 .height = 576,
100 .width = 720,
101 .sar = { { 16, 15 }, { 64, 45 } },
102 .pix_fmt = AV_PIX_FMT_YUV420P,
103 .bpm = 6,
104 .block_sizes = block_sizes_dv2550,
105 .audio_stride = 108,
106 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */
107 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
108 .audio_shuffle = dv_audio_shuffle625, },
109 { .dsf = 1,
110 .video_stype = 0x0,
111 .frame_size = 144000, /* SMPTE-314M - 625/50 (PAL) */
112 .difseg_size = 12,
113 .n_difchan = 1,
114 .time_base = { 1, 25 },
115 .ltc_divisor = 25,
116 .height = 576,
117 .width = 720,
118 .sar = { { 16, 15 }, { 64, 45 } },
119 .pix_fmt = AV_PIX_FMT_YUV411P,
120 .bpm = 6,
121 .block_sizes = block_sizes_dv2550,
122 .audio_stride = 108,
123 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */
124 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
125 .audio_shuffle = dv_audio_shuffle625, },
126 { .dsf = 0,
127 .video_stype = 0x4,
128 .frame_size = 240000, /* SMPTE-314M - 525/60 (NTSC) 50 Mbps */
129 .difseg_size = 10, /* also known as "DVCPRO50" */
130 .n_difchan = 2,
131 .time_base = { 1001, 30000 },
132 .ltc_divisor = 30,
133 .height = 480,
134 .width = 720,
135 .sar = { { 8, 9 }, { 32, 27 } },
136 .pix_fmt = AV_PIX_FMT_YUV422P,
137 .bpm = 6,
138 .block_sizes = block_sizes_dv2550,
139 .audio_stride = 90,
140 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */
141 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */
142 .audio_shuffle = dv_audio_shuffle525, },
143 { .dsf = 1,
144 .video_stype = 0x4,
145 .frame_size = 288000, /* SMPTE-314M - 625/50 (PAL) 50 Mbps */
146 .difseg_size = 12, /* also known as "DVCPRO50" */
147 .n_difchan = 2,
148 .time_base = { 1, 25 },
149 .ltc_divisor = 25,
150 .height = 576,
151 .width = 720,
152 .sar = { { 16, 15 }, { 64, 45 } },
153 .pix_fmt = AV_PIX_FMT_YUV422P,
154 .bpm = 6,
155 .block_sizes = block_sizes_dv2550,
156 .audio_stride = 108,
157 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */
158 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
159 .audio_shuffle = dv_audio_shuffle625, },
160 { .dsf = 0,
161 .video_stype = 0x14,
162 .frame_size = 480000, /* SMPTE-370M - 1080i60 100 Mbps */
163 .difseg_size = 10, /* also known as "DVCPRO HD" */
164 .n_difchan = 4,
165 .time_base = { 1001, 30000 },
166 .ltc_divisor = 30,
167 .height = 1080,
168 .width = 1280,
169 .sar = { { 1, 1 }, { 3, 2 } },
170 .pix_fmt = AV_PIX_FMT_YUV422P,
171 .bpm = 8,
172 .block_sizes = block_sizes_dv100,
173 .audio_stride = 90,
174 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */
175 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */
176 .audio_shuffle = dv_audio_shuffle525, },
177 { .dsf = 1,
178 .video_stype = 0x14,
179 .frame_size = 576000, /* SMPTE-370M - 1080i50 100 Mbps */
180 .difseg_size = 12, /* also known as "DVCPRO HD" */
181 .n_difchan = 4,
182 .time_base = { 1, 25 },
183 .ltc_divisor = 25,
184 .height = 1080,
185 .width = 1440,
186 .sar = { { 1, 1 }, { 4, 3 } },
187 .pix_fmt = AV_PIX_FMT_YUV422P,
188 .bpm = 8,
189 .block_sizes = block_sizes_dv100,
190 .audio_stride = 108,
191 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */
192 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
193 .audio_shuffle = dv_audio_shuffle625, },
194 { .dsf = 0,
195 .video_stype = 0x18,
196 .frame_size = 240000, /* SMPTE-370M - 720p60 100 Mbps */
197 .difseg_size = 10, /* also known as "DVCPRO HD" */
198 .n_difchan = 2,
199 .time_base = { 1001, 60000 },
200 .ltc_divisor = 60,
201 .height = 720,
202 .width = 960,
203 .sar = { { 1, 1 }, { 4, 3 } },
204 .pix_fmt = AV_PIX_FMT_YUV422P,
205 .bpm = 8,
206 .block_sizes = block_sizes_dv100,
207 .audio_stride = 90,
208 .audio_min_samples = { 1580, 1452, 1053 }, /* for 48, 44.1 and 32kHz */
209 .audio_samples_dist = { 1600, 1602, 1602, 1602, 1602 }, /* per SMPTE-314M */
210 .audio_shuffle = dv_audio_shuffle525, },
211 { .dsf = 1,
212 .video_stype = 0x18,
213 .frame_size = 288000, /* SMPTE-370M - 720p50 100 Mbps */
214 .difseg_size = 12, /* also known as "DVCPRO HD" */
215 .n_difchan = 2,
216 .time_base = { 1, 50 },
217 .ltc_divisor = 50,
218 .height = 720,
219 .width = 960,
220 .sar = { { 1, 1 }, { 4, 3 } },
221 .pix_fmt = AV_PIX_FMT_YUV422P,
222 .bpm = 8,
223 .block_sizes = block_sizes_dv100,
224 .audio_stride = 90,
225 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */
226 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
227 .audio_shuffle = dv_audio_shuffle625, },
228 { .dsf = 1,
229 .video_stype = 0x1,
230 .frame_size = 144000, /* IEC 61883-5 - 625/50 (PAL) */
231 .difseg_size = 12,
232 .n_difchan = 1,
233 .time_base = { 1, 25 },
234 .ltc_divisor = 25,
235 .height = 576,
236 .width = 720,
237 .sar = { { 16, 15 }, { 64, 45 } },
238 .pix_fmt = AV_PIX_FMT_YUV420P,
239 .bpm = 6,
240 .block_sizes = block_sizes_dv2550,
241 .audio_stride = 108,
242 .audio_min_samples = { 1896, 1742, 1264 }, /* for 48, 44.1 and 32kHz */
243 .audio_samples_dist = { 1920, 1920, 1920, 1920, 1920 },
244 .audio_shuffle = dv_audio_shuffle625, }
245 };
246
247 void ff_dv_print_profiles(void *logctx, int loglevel)
248 {
249 int i;
250 for (i = 0; i < FF_ARRAY_ELEMS(dv_profiles); i++) {
251 const AVDVProfile *p = &dv_profiles[i];
252 av_log(logctx, loglevel,
253 "Frame size: %dx%d; pixel format: %s, framerate: %d/%d\n",
254 p->width, p->height, av_get_pix_fmt_name(p->pix_fmt),
255 p->time_base.den, p->time_base.num);
256 }
257 }
258
259 #endif /* CONFIG_DVPROFILE */
260
261 2241 const AVDVProfile* ff_dv_frame_profile(AVCodecContext* codec, const AVDVProfile *sys,
262 const uint8_t *frame, unsigned buf_size)
263 {
264 #if CONFIG_DVPROFILE
265 int i, dsf, stype, pal;
266
267
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2241 times.
2241 if(buf_size < DV_PROFILE_BYTES)
268 return NULL;
269
270 2241 dsf = (frame[3] & 0x80) >> 7;
271 2241 stype = frame[80 * 5 + 48 + 3] & 0x1f;
272 2241 pal = !!(frame[80 * 5 + 48 + 3] & 0x20);
273
274 /* 576i50 25Mbps 4:1:1 is a special case */
275
7/8
✓ Branch 0 taken 2171 times.
✓ Branch 1 taken 70 times.
✓ Branch 2 taken 949 times.
✓ Branch 3 taken 1222 times.
✓ Branch 4 taken 580 times.
✓ Branch 5 taken 369 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1872 times.
2241 if ((dsf == 1 && stype == 0 && frame[4] & 0x07 /* the APT field */) ||
276 (stype == 31 && codec && codec->codec_tag==AV_RL32("SL25") && codec->coded_width==720 && codec->coded_height==576))
277 369 return &dv_profiles[2];
278
279 /* hack for trac issues #8333 and #2177, PAL DV files with dsf flag 0 - detect via pal flag and buf_size */
280
3/8
✓ Branch 0 taken 70 times.
✓ Branch 1 taken 1802 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 70 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1872 if (dsf == 0 && pal == 1 && stype == dv_profiles[1].video_stype && buf_size == dv_profiles[1].frame_size)
281 return &dv_profiles[1];
282
283
1/2
✓ Branch 0 taken 9844 times.
✗ Branch 1 not taken.
9844 for (i = 0; i < FF_ARRAY_ELEMS(dv_profiles); i++)
284
4/4
✓ Branch 0 taken 5568 times.
✓ Branch 1 taken 4276 times.
✓ Branch 2 taken 1872 times.
✓ Branch 3 taken 3696 times.
9844 if (dsf == dv_profiles[i].dsf && stype == dv_profiles[i].video_stype)
285 1872 return &dv_profiles[i];
286
287 /* check if old sys matches and assumes corrupted input */
288 if (sys && buf_size == sys->frame_size)
289 return sys;
290
291 /* hack for trac issue #217, dv files created with QuickTime 3 */
292 if ((frame[3] & 0x7f) == 0x3f && frame[80 * 5 + 48 + 3] == 0xff)
293 return &dv_profiles[dsf];
294 #endif
295
296 return NULL;
297 }
298
299 1172 const AVDVProfile *av_dv_frame_profile(const AVDVProfile *sys,
300 const uint8_t *frame, unsigned buf_size)
301 {
302 1172 return ff_dv_frame_profile(NULL, sys, frame, buf_size);
303 }
304
305 const AVDVProfile *av_dv_codec_profile(int width, int height,
306 enum AVPixelFormat pix_fmt)
307 {
308 #if CONFIG_DVPROFILE
309 return av_dv_codec_profile2(width, height, pix_fmt, (AVRational){0, 0});
310 #endif
311
312 return NULL;
313 }
314
315 43 const AVDVProfile *av_dv_codec_profile2(int width, int height,
316 enum AVPixelFormat pix_fmt,
317 AVRational frame_rate)
318 {
319 43 const AVDVProfile *p = NULL;
320 #if CONFIG_DVPROFILE
321 int i;
322 /* frame rate is necessary to select between 720p50 and 720p60 profiles */
323
2/4
✓ Branch 0 taken 43 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 43 times.
43 int invalid_framerate = frame_rate.num == 0 || frame_rate.den == 0;
324
325
1/2
✓ Branch 0 taken 212 times.
✗ Branch 1 not taken.
212 for (i = 0; i < FF_ARRAY_ELEMS(dv_profiles); i++)
326
2/2
✓ Branch 0 taken 80 times.
✓ Branch 1 taken 132 times.
212 if (height == dv_profiles[i].height &&
327
2/2
✓ Branch 0 taken 60 times.
✓ Branch 1 taken 20 times.
80 pix_fmt == dv_profiles[i].pix_fmt &&
328
2/2
✓ Branch 0 taken 51 times.
✓ Branch 1 taken 9 times.
60 width == dv_profiles[i].width)
329 {
330
3/4
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 43 times.
✓ Branch 3 taken 8 times.
51 if( invalid_framerate || av_div_q(dv_profiles[i].time_base, frame_rate).num == 1 )
331 43 return &dv_profiles[i];
332
333
1/2
✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
8 if(!p)
334 8 p = &dv_profiles[i];
335 }
336 #endif
337
338 return p;
339 }
340

水瓜有什么作用和功效 口腔溃疡用什么药最好 腊肠和什么菜炒最佳 近亲为什么不能结婚 妈宝女是什么意思
胃轻度肠化是什么意思 煮牛骨头放什么调料 测骨龄去医院挂什么科 吃葛根粉有什么好处 输卵管发炎有什么症状表现
钦点是什么意思 喉咙痒咳嗽吃什么药 宫颈机能不全是什么原因造成的 丁字是什么意思 土字旁的有什么字
翻糖是什么 一什么木屋 婴儿打嗝是什么原因引起的 阴险表情什么意思 此刻朋友这杯酒最珍贵是什么歌
八字伏吟是什么意思xinmaowt.com 回族为什么不能吃猪肉luyiluode.com 水瓶女喜欢什么样的男生hcv7jop5ns4r.cn 阿斯顿马丁什么档次hcv9jop7ns5r.cn 燕窝是什么东西做成的hcv8jop0ns5r.cn
男人身体怕冷是什么原因如何调理hcv7jop9ns1r.cn 上腹疼是什么原因hcv7jop5ns4r.cn 酚氨咖敏片的别名叫什么hcv8jop9ns0r.cn 高血压变成低血压是什么原因hcv8jop3ns2r.cn 怎么吃都不胖是什么原因hcv9jop6ns0r.cn
自古红颜多薄命是什么意思hcv7jop9ns7r.cn 捆鸡是什么做的hcv9jop2ns0r.cn 尿葡萄糖是什么意思hcv8jop3ns1r.cn 为什么晚上不能晾衣服hcv9jop4ns8r.cn 20岁长白头发是什么原因造成的hcv7jop4ns6r.cn
吃饱就犯困是什么原因hcv9jop4ns9r.cn 改善是什么意思hcv8jop5ns3r.cn 男人为什么喜欢胸weuuu.com 刺瘊子是什么原因造成的hcv9jop8ns3r.cn 94年什么命hcv8jop0ns3r.cn
百度