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
9446d759
Commit
9446d759
authored
Jun 16, 2011
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ffmpeg: merge output_codecs array into AVOutputStream members.
There's no point in keeping them separate.
parent
1d076f46
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
11 deletions
+7
-11
ffmpeg.c
ffmpeg.c
+7
-11
No files found.
ffmpeg.c
View file @
9446d759
...
...
@@ -113,9 +113,7 @@ static int nb_input_codecs = 0;
static
int
nb_input_files_ts_scale
[
MAX_FILES
]
=
{
0
};
static
AVFormatContext
*
output_files
[
MAX_FILES
];
static
AVCodec
**
output_codecs
=
NULL
;
static
int
nb_output_files
=
0
;
static
int
nb_output_codecs
=
0
;
static
AVStreamMap
*
stream_maps
=
NULL
;
static
int
nb_stream_maps
;
...
...
@@ -264,6 +262,8 @@ typedef struct AVOutputStream {
struct
AVInputStream
*
sync_ist
;
/* input stream to sync against */
int64_t
sync_opts
;
/* output frame counter, could be changed to some true timestamp */
//FIXME look at frame_number
AVBitStreamFilterContext
*
bitstream_filters
;
AVCodec
*
enc
;
/* video only */
int
video_resample
;
AVFrame
pict_tmp
;
/* temporary image for resampling */
...
...
@@ -480,7 +480,6 @@ static int ffmpeg_exit(int ret)
av_free
(
streamid_map
);
av_free
(
input_codecs
);
av_free
(
output_codecs
);
av_free
(
stream_maps
);
av_free
(
meta_data_maps
);
...
...
@@ -2296,7 +2295,7 @@ static int transcode(AVFormatContext **output_files,
for
(
i
=
0
;
i
<
nb_ostreams
;
i
++
)
{
ost
=
ost_table
[
i
];
if
(
ost
->
encoding_needed
)
{
AVCodec
*
codec
=
i
<
nb_output_codecs
?
output_codecs
[
i
]
:
NULL
;
AVCodec
*
codec
=
ost
->
enc
;
AVCodecContext
*
dec
=
input_streams
[
ost
->
source_index
].
st
->
codec
;
if
(
!
codec
)
codec
=
avcodec_find_encoder
(
ost
->
st
->
codec
->
codec_id
);
...
...
@@ -3418,13 +3417,12 @@ static void new_video_stream(AVFormatContext *oc, int file_idx)
}
ost
=
new_output_stream
(
oc
,
file_idx
);
output_codecs
=
grow_array
(
output_codecs
,
sizeof
(
*
output_codecs
),
&
nb_output_codecs
,
nb_output_codecs
+
1
);
if
(
!
video_stream_copy
){
if
(
video_codec_name
)
{
codec_id
=
find_codec_or_die
(
video_codec_name
,
AVMEDIA_TYPE_VIDEO
,
1
,
avcodec_opts
[
AVMEDIA_TYPE_VIDEO
]
->
strict_std_compliance
);
codec
=
avcodec_find_encoder_by_name
(
video_codec_name
);
o
utput_codecs
[
nb_output_codecs
-
1
]
=
codec
;
o
st
->
enc
=
codec
;
}
else
{
codec_id
=
av_guess_codec
(
oc
->
oformat
,
NULL
,
oc
->
filename
,
NULL
,
AVMEDIA_TYPE_VIDEO
);
codec
=
avcodec_find_encoder
(
codec_id
);
...
...
@@ -3561,13 +3559,12 @@ static void new_audio_stream(AVFormatContext *oc, int file_idx)
}
ost
=
new_output_stream
(
oc
,
file_idx
);
output_codecs
=
grow_array
(
output_codecs
,
sizeof
(
*
output_codecs
),
&
nb_output_codecs
,
nb_output_codecs
+
1
);
if
(
!
audio_stream_copy
){
if
(
audio_codec_name
)
{
codec_id
=
find_codec_or_die
(
audio_codec_name
,
AVMEDIA_TYPE_AUDIO
,
1
,
avcodec_opts
[
AVMEDIA_TYPE_AUDIO
]
->
strict_std_compliance
);
codec
=
avcodec_find_encoder_by_name
(
audio_codec_name
);
o
utput_codecs
[
nb_output_codecs
-
1
]
=
codec
;
o
st
->
enc
=
codec
;
}
else
{
codec_id
=
av_guess_codec
(
oc
->
oformat
,
NULL
,
oc
->
filename
,
NULL
,
AVMEDIA_TYPE_AUDIO
);
codec
=
avcodec_find_encoder
(
codec_id
);
...
...
@@ -3633,7 +3630,6 @@ static void new_data_stream(AVFormatContext *oc, int file_idx)
}
new_output_stream
(
oc
,
file_idx
);
data_enc
=
st
->
codec
;
output_codecs
=
grow_array
(
output_codecs
,
sizeof
(
*
output_codecs
),
&
nb_output_codecs
,
nb_output_codecs
+
1
);
if
(
!
data_stream_copy
)
{
fprintf
(
stderr
,
"Data stream encoding not supported yet (only streamcopy)
\n
"
);
ffmpeg_exit
(
1
);
...
...
@@ -3673,12 +3669,12 @@ static void new_subtitle_stream(AVFormatContext *oc, int file_idx)
}
ost
=
new_output_stream
(
oc
,
file_idx
);
subtitle_enc
=
st
->
codec
;
output_codecs
=
grow_array
(
output_codecs
,
sizeof
(
*
output_codecs
),
&
nb_output_codecs
,
nb_output_codecs
+
1
);
if
(
!
subtitle_stream_copy
){
if
(
subtitle_codec_name
)
{
codec_id
=
find_codec_or_die
(
subtitle_codec_name
,
AVMEDIA_TYPE_SUBTITLE
,
1
,
avcodec_opts
[
AVMEDIA_TYPE_SUBTITLE
]
->
strict_std_compliance
);
codec
=
output_codecs
[
nb_output_codecs
-
1
]
=
avcodec_find_encoder_by_name
(
subtitle_codec_name
);
codec
=
avcodec_find_encoder_by_name
(
subtitle_codec_name
);
ost
->
enc
=
codec
;
}
else
{
codec_id
=
av_guess_codec
(
oc
->
oformat
,
NULL
,
oc
->
filename
,
NULL
,
AVMEDIA_TYPE_SUBTITLE
);
codec
=
avcodec_find_encoder
(
codec_id
);
...
...
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