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
d9f272fe
Commit
d9f272fe
authored
Oct 11, 2014
by
Clément Bœsch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avcodec/ass_split: extend recognized fields in ASS splitter
This simplifies the logic for the fix in the next commit.
parent
40b9f286
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
1 deletion
+50
-1
ass_split.c
libavcodec/ass_split.c
+30
-1
ass_split.h
libavcodec/ass_split.h
+20
-0
No files found.
libavcodec/ass_split.c
View file @
d9f272fe
...
...
@@ -44,7 +44,7 @@ typedef struct {
int
size
;
int
offset
;
int
offset_count
;
ASSFields
fields
[
10
];
ASSFields
fields
[
24
];
}
ASSSection
;
static
const
ASSSection
ass_sections
[]
=
{
...
...
@@ -68,11 +68,25 @@ static const ASSSection ass_sections[] = {
{
"Fontname"
,
ASS_STR
,
offsetof
(
ASSStyle
,
font_name
)
},
{
"Fontsize"
,
ASS_INT
,
offsetof
(
ASSStyle
,
font_size
)
},
{
"PrimaryColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
primary_color
)},
{
"SecondaryColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
secondary_color
)},
{
"OutlineColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
outline_color
)},
{
"BackColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
back_color
)
},
{
"Bold"
,
ASS_INT
,
offsetof
(
ASSStyle
,
bold
)
},
{
"Italic"
,
ASS_INT
,
offsetof
(
ASSStyle
,
italic
)
},
{
"Underline"
,
ASS_INT
,
offsetof
(
ASSStyle
,
underline
)
},
{
"StrikeOut"
,
ASS_INT
,
offsetof
(
ASSStyle
,
strikeout
)
},
{
"ScaleX"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
scalex
)
},
{
"ScaleY"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
scaley
)
},
{
"Spacing"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
spacing
)
},
{
"Angle"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
angle
)
},
{
"BorderStyle"
,
ASS_INT
,
offsetof
(
ASSStyle
,
border_style
)
},
{
"Outline"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
outline
)
},
{
"Shadow"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
shadow
)
},
{
"Alignment"
,
ASS_INT
,
offsetof
(
ASSStyle
,
alignment
)
},
{
"MarginL"
,
ASS_INT
,
offsetof
(
ASSStyle
,
margin_l
)
},
{
"MarginR"
,
ASS_INT
,
offsetof
(
ASSStyle
,
margin_r
)
},
{
"MarginV"
,
ASS_INT
,
offsetof
(
ASSStyle
,
margin_v
)
},
{
"Encoding"
,
ASS_INT
,
offsetof
(
ASSStyle
,
encoding
)
},
{
0
},
}
},
...
...
@@ -86,10 +100,20 @@ static const ASSSection ass_sections[] = {
{
"Fontname"
,
ASS_STR
,
offsetof
(
ASSStyle
,
font_name
)
},
{
"Fontsize"
,
ASS_INT
,
offsetof
(
ASSStyle
,
font_size
)
},
{
"PrimaryColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
primary_color
)},
{
"SecondaryColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
secondary_color
)
},
{
"TertiaryColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
outline_color
)
},
{
"BackColour"
,
ASS_COLOR
,
offsetof
(
ASSStyle
,
back_color
)
},
{
"Bold"
,
ASS_INT
,
offsetof
(
ASSStyle
,
bold
)
},
{
"Italic"
,
ASS_INT
,
offsetof
(
ASSStyle
,
italic
)
},
{
"BorderStyle"
,
ASS_INT
,
offsetof
(
ASSStyle
,
border_style
)
},
{
"Outline"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
outline
)
},
{
"Shadow"
,
ASS_FLT
,
offsetof
(
ASSStyle
,
shadow
)
},
{
"Alignment"
,
ASS_ALGN
,
offsetof
(
ASSStyle
,
alignment
)
},
{
"MarginL"
,
ASS_INT
,
offsetof
(
ASSStyle
,
margin_l
)
},
{
"MarginR"
,
ASS_INT
,
offsetof
(
ASSStyle
,
margin_r
)
},
{
"MarginV"
,
ASS_INT
,
offsetof
(
ASSStyle
,
margin_v
)
},
{
"AlphaLevel"
,
ASS_INT
,
offsetof
(
ASSStyle
,
alpha_level
)
},
{
"Encoding"
,
ASS_INT
,
offsetof
(
ASSStyle
,
encoding
)
},
{
0
},
}
},
...
...
@@ -103,6 +127,11 @@ static const ASSSection ass_sections[] = {
{
"Start"
,
ASS_TIMESTAMP
,
offsetof
(
ASSDialog
,
start
)
},
{
"End"
,
ASS_TIMESTAMP
,
offsetof
(
ASSDialog
,
end
)
},
{
"Style"
,
ASS_STR
,
offsetof
(
ASSDialog
,
style
)
},
{
"Name"
,
ASS_STR
,
offsetof
(
ASSDialog
,
name
)
},
{
"MarginL"
,
ASS_INT
,
offsetof
(
ASSDialog
,
margin_l
)
},
{
"MarginR"
,
ASS_INT
,
offsetof
(
ASSDialog
,
margin_r
)
},
{
"MarginV"
,
ASS_INT
,
offsetof
(
ASSDialog
,
margin_v
)
},
{
"Effect"
,
ASS_STR
,
offsetof
(
ASSDialog
,
effect
)
},
{
"Text"
,
ASS_STR
,
offsetof
(
ASSDialog
,
text
)
},
{
0
},
}
...
...
libavcodec/ass_split.h
View file @
d9f272fe
...
...
@@ -41,13 +41,28 @@ typedef struct {
char
*
font_name
;
/**< font face (case sensitive) */
int
font_size
;
/**< font height */
int
primary_color
;
/**< color that a subtitle will normally appear in */
int
secondary_color
;
int
outline_color
;
/**< color for outline in ASS, called tertiary in SSA */
int
back_color
;
/**< color of the subtitle outline or shadow */
int
bold
;
/**< whether text is bold (1) or not (0) */
int
italic
;
/**< whether text is italic (1) or not (0) */
int
underline
;
/**< whether text is underlined (1) or not (0) */
int
strikeout
;
float
scalex
;
float
scaley
;
float
spacing
;
float
angle
;
int
border_style
;
float
outline
;
float
shadow
;
int
alignment
;
/**< position of the text (left, center, top...),
defined after the layout of the numpad
(1-3 sub, 4-6 mid, 7-9 top) */
int
margin_l
;
int
margin_r
;
int
margin_v
;
int
alpha_level
;
int
encoding
;
}
ASSStyle
;
/**
...
...
@@ -58,6 +73,11 @@ typedef struct {
int
start
;
/**< start time of the dialog in centiseconds */
int
end
;
/**< end time of the dialog in centiseconds */
char
*
style
;
/**< name of the ASSStyle to use with this dialog */
char
*
name
;
int
margin_l
;
int
margin_r
;
int
margin_v
;
char
*
effect
;
char
*
text
;
/**< actual text which will be displayed as a subtitle,
can include style override control codes (see
ff_ass_split_override_codes()) */
...
...
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