Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
ffmpeg
Commits
bac47ae6
Commit
bac47ae6
authored
Apr 01, 2008
by
Baptiste Coudurier
Browse files
use mpeg4audio common code in aac parser
Originally committed as revision 12665 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
83edd509
Changes
2
Hide whitespace changes
Inline
Side-by-side
libavcodec/Makefile
View file @
bac47ae6
...
...
@@ -326,7 +326,7 @@ OBJS-$(CONFIG_LIBX264) += libx264.o
OBJS-$(CONFIG_LIBXVID)
+=
libxvidff.o libxvid_rc.o
OBJS-$(CONFIG_AAC_PARSER)
+=
aac_parser.o aac_ac3_parser.o
OBJS-$(CONFIG_AAC_PARSER)
+=
aac_parser.o aac_ac3_parser.o
mpeg4audio.o
OBJS-$(CONFIG_AC3_PARSER)
+=
ac3_parser.o ac3tab.o aac_ac3_parser.o
OBJS-$(CONFIG_CAVSVIDEO_PARSER)
+=
cavs_parser.o
OBJS-$(CONFIG_DCA_PARSER)
+=
dca_parser.o
...
...
libavcodec/aac_parser.c
View file @
bac47ae6
...
...
@@ -23,21 +23,10 @@
#include "parser.h"
#include "aac_ac3_parser.h"
#include "bitstream.h"
#include "mpeg4audio.h"
#define AAC_HEADER_SIZE 7
static
const
int
aac_sample_rates
[
16
]
=
{
96000
,
88200
,
64000
,
48000
,
44100
,
32000
,
24000
,
22050
,
16000
,
12000
,
11025
,
8000
,
7350
};
static
const
int
aac_channels
[
8
]
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
8
};
static
int
aac_sync
(
AACAC3ParseContext
*
hdr_info
,
AACAC3FrameFlag
*
flag
)
{
GetBitContext
bits
;
...
...
@@ -53,11 +42,11 @@ static int aac_sync(AACAC3ParseContext *hdr_info, AACAC3FrameFlag *flag)
skip_bits1
(
&
bits
);
/* protection_absent */
skip_bits
(
&
bits
,
2
);
/* profile_objecttype */
sr
=
get_bits
(
&
bits
,
4
);
/* sample_frequency_index */
if
(
!
aac
_sample_rates
[
sr
])
if
(
!
ff_mpeg4audio
_sample_rates
[
sr
])
return
0
;
skip_bits1
(
&
bits
);
/* private_bit */
ch
=
get_bits
(
&
bits
,
3
);
/* channel_configuration */
if
(
!
aac
_channels
[
ch
])
if
(
!
ff_mpeg4audio
_channels
[
ch
])
return
0
;
skip_bits1
(
&
bits
);
/* original/copy */
skip_bits1
(
&
bits
);
/* home */
...
...
@@ -72,8 +61,8 @@ static int aac_sync(AACAC3ParseContext *hdr_info, AACAC3FrameFlag *flag)
skip_bits
(
&
bits
,
11
);
/* adts_buffer_fullness */
rdb
=
get_bits
(
&
bits
,
2
);
/* number_of_raw_data_blocks_in_frame */
hdr_info
->
channels
=
aac
_channels
[
ch
];
hdr_info
->
sample_rate
=
aac
_sample_rates
[
sr
];
hdr_info
->
channels
=
ff_mpeg4audio
_channels
[
ch
];
hdr_info
->
sample_rate
=
ff_mpeg4audio
_sample_rates
[
sr
];
hdr_info
->
samples
=
(
rdb
+
1
)
*
1024
;
hdr_info
->
bit_rate
=
size
*
8
*
hdr_info
->
sample_rate
/
hdr_info
->
samples
;
*
flag
=
FRAME_COMPLETE
;
...
...
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