Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
f344bb24
Commit
f344bb24
authored
May 06, 2019
by
Mark Thompson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc/h265_profile_level: Do not allow high tier at level < 4
parent
c1a43088
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
6 deletions
+12
-6
h265_profile_level.c
libavcodec/h265_profile_level.c
+12
-6
No files found.
libavcodec/h265_profile_level.c
View file @
f344bb24
...
...
@@ -175,7 +175,7 @@ const H265LevelDescriptor *ff_h265_guess_level(const H265RawProfileTierLevel *pt
int
max_dec_pic_buffering
)
{
const
H265ProfileDescriptor
*
profile
;
int
pic_size
,
lbr_flag
,
hbr_factor
;
int
pic_size
,
tier_flag
,
lbr_flag
,
hbr_factor
;
int
i
;
if
(
ptl
)
...
...
@@ -189,10 +189,13 @@ const H265LevelDescriptor *ff_h265_guess_level(const H265RawProfileTierLevel *pt
pic_size
=
width
*
height
;
if
(
ptl
)
lbr_flag
=
ptl
->
general_lower_bit_rate_constraint_flag
;
else
lbr_flag
=
profile
->
lower_bit_rate
>
0
;
if
(
ptl
)
{
tier_flag
=
ptl
->
general_tier_flag
;
lbr_flag
=
ptl
->
general_lower_bit_rate_constraint_flag
;
}
else
{
tier_flag
=
0
;
lbr_flag
=
profile
->
lower_bit_rate
>
0
;
}
if
(
profile
->
profile_idc
==
1
||
profile
->
profile_idc
==
2
)
{
hbr_factor
=
1
;
}
else
if
(
profile
->
high_throughput
)
{
...
...
@@ -208,6 +211,9 @@ const H265LevelDescriptor *ff_h265_guess_level(const H265RawProfileTierLevel *pt
const
H265LevelDescriptor
*
level
=
&
h265_levels
[
i
];
int
max_br
,
max_dpb_size
;
if
(
tier_flag
&&
!
level
->
max_br_high
)
continue
;
if
(
pic_size
>
level
->
max_luma_ps
)
continue
;
if
(
width
*
width
>
8
*
level
->
max_luma_ps
)
...
...
@@ -222,7 +228,7 @@ const H265LevelDescriptor *ff_h265_guess_level(const H265RawProfileTierLevel *pt
if
(
tile_cols
>
level
->
max_tile_cols
)
continue
;
if
(
ptl
&&
ptl
->
general_
tier_flag
)
if
(
tier_flag
)
max_br
=
level
->
max_br_high
;
else
max_br
=
level
->
max_br_main
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment