Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
c7d8dbad
Commit
c7d8dbad
authored
Sep 07, 2014
by
Clément Bœsch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avformat: remove FF_API_ASS_SSA dead code
parent
35a9959a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
168 deletions
+0
-168
matroska.c
libavformat/matroska.c
+0
-6
matroskadec.c
libavformat/matroskadec.c
+0
-80
matroskaenc.c
libavformat/matroskaenc.c
+0
-79
version.h
libavformat/version.h
+0
-3
No files found.
libavformat/matroska.c
View file @
c7d8dbad
...
@@ -68,12 +68,6 @@ const CodecTags ff_mkv_codec_tags[]={
...
@@ -68,12 +68,6 @@ const CodecTags ff_mkv_codec_tags[]={
{
"S_TEXT/UTF8"
,
AV_CODEC_ID_TEXT
},
{
"S_TEXT/UTF8"
,
AV_CODEC_ID_TEXT
},
{
"S_TEXT/UTF8"
,
AV_CODEC_ID_SRT
},
{
"S_TEXT/UTF8"
,
AV_CODEC_ID_SRT
},
{
"S_TEXT/ASCII"
,
AV_CODEC_ID_TEXT
},
{
"S_TEXT/ASCII"
,
AV_CODEC_ID_TEXT
},
#if FF_API_ASS_SSA
{
"S_TEXT/ASS"
,
AV_CODEC_ID_SSA
},
{
"S_TEXT/SSA"
,
AV_CODEC_ID_SSA
},
{
"S_ASS"
,
AV_CODEC_ID_SSA
},
{
"S_SSA"
,
AV_CODEC_ID_SSA
},
#endif
{
"S_TEXT/ASS"
,
AV_CODEC_ID_ASS
},
{
"S_TEXT/ASS"
,
AV_CODEC_ID_ASS
},
{
"S_TEXT/SSA"
,
AV_CODEC_ID_ASS
},
{
"S_TEXT/SSA"
,
AV_CODEC_ID_ASS
},
{
"S_ASS"
,
AV_CODEC_ID_ASS
},
{
"S_ASS"
,
AV_CODEC_ID_ASS
},
...
...
libavformat/matroskadec.c
View file @
c7d8dbad
...
@@ -1286,65 +1286,6 @@ failed:
...
@@ -1286,65 +1286,6 @@ failed:
return
result
;
return
result
;
}
}
#if FF_API_ASS_SSA
static
void
matroska_fix_ass_packet
(
MatroskaDemuxContext
*
matroska
,
AVPacket
*
pkt
,
uint64_t
display_duration
)
{
AVBufferRef
*
line
;
char
*
layer
,
*
ptr
=
pkt
->
data
,
*
end
=
ptr
+
pkt
->
size
;
for
(;
*
ptr
!=
','
&&
ptr
<
end
-
1
;
ptr
++
)
;
if
(
*
ptr
==
','
)
ptr
++
;
layer
=
ptr
;
for
(;
*
ptr
!=
','
&&
ptr
<
end
-
1
;
ptr
++
)
;
if
(
*
ptr
==
','
)
{
int64_t
end_pts
=
pkt
->
pts
+
display_duration
;
int
sc
=
matroska
->
time_scale
*
pkt
->
pts
/
10000000
;
int
ec
=
matroska
->
time_scale
*
end_pts
/
10000000
;
int
sh
,
sm
,
ss
,
eh
,
em
,
es
,
len
;
sh
=
sc
/
360000
;
sc
-=
360000
*
sh
;
sm
=
sc
/
6000
;
sc
-=
6000
*
sm
;
ss
=
sc
/
100
;
sc
-=
100
*
ss
;
eh
=
ec
/
360000
;
ec
-=
360000
*
eh
;
em
=
ec
/
6000
;
ec
-=
6000
*
em
;
es
=
ec
/
100
;
ec
-=
100
*
es
;
*
ptr
++
=
'\0'
;
len
=
50
+
end
-
ptr
+
FF_INPUT_BUFFER_PADDING_SIZE
;
if
(
!
(
line
=
av_buffer_alloc
(
len
)))
return
;
snprintf
(
line
->
data
,
len
,
"Dialogue: %s,%d:%02d:%02d.%02d,%d:%02d:%02d.%02d,%s
\r\n
"
,
layer
,
sh
,
sm
,
ss
,
sc
,
eh
,
em
,
es
,
ec
,
ptr
);
av_buffer_unref
(
&
pkt
->
buf
);
pkt
->
buf
=
line
;
pkt
->
data
=
line
->
data
;
pkt
->
size
=
strlen
(
line
->
data
);
}
}
static
int
matroska_merge_packets
(
AVPacket
*
out
,
AVPacket
*
in
)
{
int
ret
=
av_grow_packet
(
out
,
in
->
size
);
if
(
ret
<
0
)
return
ret
;
memcpy
(
out
->
data
+
out
->
size
-
in
->
size
,
in
->
data
,
in
->
size
);
av_free_packet
(
in
);
av_free
(
in
);
return
0
;
}
#endif
static
void
matroska_convert_tag
(
AVFormatContext
*
s
,
EbmlList
*
list
,
static
void
matroska_convert_tag
(
AVFormatContext
*
s
,
EbmlList
*
list
,
AVDictionary
**
metadata
,
char
*
prefix
)
AVDictionary
**
metadata
,
char
*
prefix
)
{
{
...
@@ -2044,12 +1985,7 @@ static int matroska_parse_tracks(AVFormatContext *s)
...
@@ -2044,12 +1985,7 @@ static int matroska_parse_tracks(AVFormatContext *s)
}
}
}
else
if
(
track
->
type
==
MATROSKA_TRACK_TYPE_SUBTITLE
)
{
}
else
if
(
track
->
type
==
MATROSKA_TRACK_TYPE_SUBTITLE
)
{
st
->
codec
->
codec_type
=
AVMEDIA_TYPE_SUBTITLE
;
st
->
codec
->
codec_type
=
AVMEDIA_TYPE_SUBTITLE
;
#if FF_API_ASS_SSA
if
(
st
->
codec
->
codec_id
==
AV_CODEC_ID_SSA
||
st
->
codec
->
codec_id
==
AV_CODEC_ID_ASS
)
#else
if
(
st
->
codec
->
codec_id
==
AV_CODEC_ID_ASS
)
if
(
st
->
codec
->
codec_id
==
AV_CODEC_ID_ASS
)
#endif
matroska
->
contains_ssa
=
1
;
matroska
->
contains_ssa
=
1
;
}
}
}
}
...
@@ -2719,24 +2655,8 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska,
...
@@ -2719,24 +2655,8 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska,
pkt
->
duration
=
lace_duration
;
pkt
->
duration
=
lace_duration
;
}
}
#if FF_API_ASS_SSA
if
(
st
->
codec
->
codec_id
==
AV_CODEC_ID_SSA
)
matroska_fix_ass_packet
(
matroska
,
pkt
,
lace_duration
);
if
(
matroska
->
prev_pkt
&&
timecode
!=
AV_NOPTS_VALUE
&&
matroska
->
prev_pkt
->
pts
==
timecode
&&
matroska
->
prev_pkt
->
stream_index
==
st
->
index
&&
st
->
codec
->
codec_id
==
AV_CODEC_ID_SSA
)
matroska_merge_packets
(
matroska
->
prev_pkt
,
pkt
);
else
{
dynarray_add
(
&
matroska
->
packets
,
&
matroska
->
num_packets
,
pkt
);
matroska
->
prev_pkt
=
pkt
;
}
#else
dynarray_add
(
&
matroska
->
packets
,
&
matroska
->
num_packets
,
pkt
);
dynarray_add
(
&
matroska
->
packets
,
&
matroska
->
num_packets
,
pkt
);
matroska
->
prev_pkt
=
pkt
;
matroska
->
prev_pkt
=
pkt
;
#endif
return
0
;
return
0
;
...
...
libavformat/matroskaenc.c
View file @
c7d8dbad
...
@@ -1445,71 +1445,6 @@ static int mkv_blockgroup_size(int pkt_size)
...
@@ -1445,71 +1445,6 @@ static int mkv_blockgroup_size(int pkt_size)
return
size
;
return
size
;
}
}
static
int
ass_get_duration
(
const
uint8_t
*
p
)
{
int
sh
,
sm
,
ss
,
sc
,
eh
,
em
,
es
,
ec
;
uint64_t
start
,
end
;
if
(
sscanf
(
p
,
"%*[^,],%d:%d:%d%*c%d,%d:%d:%d%*c%d"
,
&
sh
,
&
sm
,
&
ss
,
&
sc
,
&
eh
,
&
em
,
&
es
,
&
ec
)
!=
8
)
return
0
;
start
=
3600000LL
*
sh
+
60000LL
*
sm
+
1000LL
*
ss
+
10LL
*
sc
;
end
=
3600000LL
*
eh
+
60000LL
*
em
+
1000LL
*
es
+
10LL
*
ec
;
return
end
-
start
;
}
#if FF_API_ASS_SSA
/* Writes the contents of pkt to a block, using the data starting at *datap.
* If pkt corresponds to more than one block, this writes the contents of the first block
* (starting from *datap) and updates *datap so it points to the beginning of the data
* corresponding to the next block.
*/
static
int
mkv_write_ass_block
(
AVFormatContext
*
s
,
AVIOContext
*
pb
,
AVPacket
*
pkt
,
uint8_t
**
datap
)
{
MatroskaMuxContext
*
mkv
=
s
->
priv_data
;
int
i
,
layer
=
0
,
size
,
line_size
,
data_size
=
pkt
->
size
-
(
*
datap
-
pkt
->
data
);
uint8_t
*
start
,
*
end
,
*
data
=
*
datap
;
ebml_master
blockgroup
;
char
buffer
[
2048
];
int
duration
=
ass_get_duration
(
data
);
end
=
memchr
(
data
,
'\n'
,
data_size
);
size
=
line_size
=
end
?
end
-
data
+
1
:
data_size
;
size
-=
end
?
(
end
[
-
1
]
==
'\r'
)
+
1
:
0
;
start
=
data
;
for
(
i
=
0
;
i
<
3
;
i
++
,
start
++
)
if
(
!
(
start
=
memchr
(
start
,
','
,
size
-
(
start
-
data
))))
return
duration
;
size
-=
start
-
data
;
sscanf
(
data
,
"Dialogue: %d,"
,
&
layer
);
i
=
snprintf
(
buffer
,
sizeof
(
buffer
),
"%"
PRId64
",%d,"
,
s
->
streams
[
pkt
->
stream_index
]
->
nb_frames
,
layer
);
size
=
FFMIN
(
i
+
size
,
sizeof
(
buffer
));
memcpy
(
buffer
+
i
,
start
,
size
-
i
);
av_log
(
s
,
AV_LOG_DEBUG
,
"Writing block at offset %"
PRIu64
", size %d, "
"pts %"
PRId64
", duration %d
\n
"
,
avio_tell
(
pb
),
size
,
pkt
->
pts
,
duration
);
blockgroup
=
start_ebml_master
(
pb
,
MATROSKA_ID_BLOCKGROUP
,
mkv_blockgroup_size
(
size
));
put_ebml_id
(
pb
,
MATROSKA_ID_BLOCK
);
put_ebml_num
(
pb
,
size
+
4
,
0
);
// this assumes stream_index is less than 126
avio_w8
(
pb
,
0x80
|
(
pkt
->
stream_index
+
1
));
avio_wb16
(
pb
,
pkt
->
pts
-
mkv
->
cluster_pts
);
avio_w8
(
pb
,
0
);
avio_write
(
pb
,
buffer
,
size
);
put_ebml_uint
(
pb
,
MATROSKA_ID_BLOCKDURATION
,
duration
);
end_ebml_master
(
pb
,
blockgroup
);
*
datap
+=
line_size
;
return
duration
;
}
#endif
static
int
mkv_strip_wavpack
(
const
uint8_t
*
src
,
uint8_t
**
pdst
,
int
*
size
)
static
int
mkv_strip_wavpack
(
const
uint8_t
*
src
,
uint8_t
**
pdst
,
int
*
size
)
{
{
uint8_t
*
dst
;
uint8_t
*
dst
;
...
@@ -1780,7 +1715,6 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
...
@@ -1780,7 +1715,6 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
int
ret
;
int
ret
;
int64_t
ts
=
mkv
->
tracks
[
pkt
->
stream_index
].
write_dts
?
pkt
->
dts
:
pkt
->
pts
;
int64_t
ts
=
mkv
->
tracks
[
pkt
->
stream_index
].
write_dts
?
pkt
->
dts
:
pkt
->
pts
;
int64_t
relative_packet_pos
;
int64_t
relative_packet_pos
;
uint8_t
*
data_offset
=
pkt
->
data
;
int
dash_tracknum
=
mkv
->
is_dash
?
mkv
->
dash_track_number
:
pkt
->
stream_index
+
1
;
int
dash_tracknum
=
mkv
->
is_dash
?
mkv
->
dash_track_number
:
pkt
->
stream_index
+
1
;
if
(
ts
==
AV_NOPTS_VALUE
)
{
if
(
ts
==
AV_NOPTS_VALUE
)
{
...
@@ -1822,15 +1756,6 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
...
@@ -1822,15 +1756,6 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
ret
=
mkv_add_cuepoint
(
mkv
->
cues
,
pkt
->
stream_index
,
dash_tracknum
,
ts
,
mkv
->
cluster_pos
,
relative_packet_pos
,
-
1
);
ret
=
mkv_add_cuepoint
(
mkv
->
cues
,
pkt
->
stream_index
,
dash_tracknum
,
ts
,
mkv
->
cluster_pos
,
relative_packet_pos
,
-
1
);
if
(
ret
<
0
)
return
ret
;
if
(
ret
<
0
)
return
ret
;
}
}
#if FF_API_ASS_SSA
}
else
if
(
codec
->
codec_id
==
AV_CODEC_ID_SSA
)
{
while
(
data_offset
<
pkt
->
data
+
pkt
->
size
)
{
duration
=
mkv_write_ass_block
(
s
,
pb
,
pkt
,
&
data_offset
);
ret
=
mkv_add_cuepoint
(
mkv
->
cues
,
pkt
->
stream_index
,
dash_tracknum
,
ts
,
mkv
->
cluster_pos
,
relative_packet_pos
,
duration
);
if
(
ret
<
0
)
return
ret
;
relative_packet_pos
=
avio_tell
(
s
->
pb
)
-
mkv
->
cluster
.
pos
;
}
#endif
}
else
{
}
else
{
if
(
codec
->
codec_id
==
AV_CODEC_ID_SRT
)
{
if
(
codec
->
codec_id
==
AV_CODEC_ID_SRT
)
{
duration
=
mkv_write_srt_blocks
(
s
,
pb
,
pkt
);
duration
=
mkv_write_srt_blocks
(
s
,
pb
,
pkt
);
...
@@ -2122,11 +2047,7 @@ AVOutputFormat ff_matroska_muxer = {
...
@@ -2122,11 +2047,7 @@ AVOutputFormat ff_matroska_muxer = {
ff_codec_bmp_tags
,
ff_codec_wav_tags
,
ff_codec_bmp_tags
,
ff_codec_wav_tags
,
additional_audio_tags
,
additional_video_tags
,
0
additional_audio_tags
,
additional_video_tags
,
0
},
},
#if FF_API_ASS_SSA
.
subtitle_codec
=
AV_CODEC_ID_SSA
,
#else
.
subtitle_codec
=
AV_CODEC_ID_ASS
,
.
subtitle_codec
=
AV_CODEC_ID_ASS
,
#endif
.
query_codec
=
mkv_query_codec
,
.
query_codec
=
mkv_query_codec
,
.
priv_class
=
&
matroska_class
,
.
priv_class
=
&
matroska_class
,
};
};
...
...
libavformat/version.h
View file @
c7d8dbad
...
@@ -79,9 +79,6 @@
...
@@ -79,9 +79,6 @@
#ifndef FF_API_READ_PACKET
#ifndef FF_API_READ_PACKET
#define FF_API_READ_PACKET (LIBAVFORMAT_VERSION_MAJOR < 56)
#define FF_API_READ_PACKET (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#endif
#ifndef FF_API_ASS_SSA
#define FF_API_ASS_SSA (LIBAVFORMAT_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_R_FRAME_RATE
#ifndef FF_API_R_FRAME_RATE
#define FF_API_R_FRAME_RATE 1
#define FF_API_R_FRAME_RATE 1
#endif
#endif
...
...
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