Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Releases
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Stefan Westerfeld
ffmpeg
Commits
0bf18db2
Commit
0bf18db2
authored
Jan 25, 2021
by
Nicolas Gaullier
Committed by
Paul B Mahol
Jan 25, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avcodec/dolby_e: Add a parser
parent
a2a06029
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
199 additions
and
99 deletions
+199
-99
Changelog
Changelog
+1
-0
dolby_e.c
libavcodec/dolby_e.c
+162
-92
dolby_e.h
libavcodec/dolby_e.h
+33
-5
parsers.c
libavcodec/parsers.c
+1
-0
version.h
libavcodec/version.h
+2
-2
No files found.
Changelog
View file @
0bf18db2
...
@@ -57,6 +57,7 @@ version <next>:
...
@@ -57,6 +57,7 @@ version <next>:
- tmidequalizer filter
- tmidequalizer filter
- estdif filter
- estdif filter
- epx filter
- epx filter
- Dolby E parser
version 4.3:
version 4.3:
...
...
libavcodec/dolby_e.c
View file @
0bf18db2
This diff is collapsed.
Click to expand it.
libavcodec/dolby_e.h
View file @
0bf18db2
...
@@ -75,16 +75,27 @@ typedef struct DBEChannel {
...
@@ -75,16 +75,27 @@ typedef struct DBEChannel {
}
DBEChannel
;
}
DBEChannel
;
typedef
struct
DBEContext
{
typedef
struct
DBEContext
{
AVCodecContext
*
avctx
;
void
*
avctx
;
GetBitContext
gb
;
GetBitContext
gb
;
uint8_t
*
input
;
const
uint8_t
*
input
;
int
input_size
;
int
input_size
;
int
word_bits
;
int
word_bits
;
int
word_bytes
;
int
word_bytes
;
int
key_present
;
int
key_present
;
uint8_t
buffer
[
1024
*
3
+
AV_INPUT_BUFFER_PADDING_SIZE
];
}
DBEContext
;
/**
* @struct DolbyEHeaderInfo
* Coded Dolby E header values up to end_gain element, plus derived values.
*/
typedef
struct
DolbyEHeaderInfo
{
/** @name Coded elements
* @{
*/
int
prog_conf
;
int
prog_conf
;
int
nb_channels
;
int
nb_channels
;
int
nb_programs
;
int
nb_programs
;
...
@@ -99,8 +110,27 @@ typedef struct DBEContext {
...
@@ -99,8 +110,27 @@ typedef struct DBEContext {
int
rev_id
[
MAX_CHANNELS
];
int
rev_id
[
MAX_CHANNELS
];
int
begin_gain
[
MAX_CHANNELS
];
int
begin_gain
[
MAX_CHANNELS
];
int
end_gain
[
MAX_CHANNELS
];
int
end_gain
[
MAX_CHANNELS
];
/** @} */
/** @name Derived values
* @{
*/
int
multi_prog_warned
;
int
multi_prog_warned
;
/** @} */
}
DolbyEHeaderInfo
;
typedef
struct
DBEParseContext
{
ParseContext
pc
;
DBEContext
dectx
;
DolbyEHeaderInfo
metadata
;
}
DBEParseContext
;
typedef
struct
DBEDecodeContext
{
AVCodecContext
*
avctx
;
DBEContext
dectx
;
DolbyEHeaderInfo
metadata
;
DBEChannel
channels
[
MAX_SEGMENTS
][
MAX_CHANNELS
];
DBEChannel
channels
[
MAX_SEGMENTS
][
MAX_CHANNELS
];
...
@@ -108,9 +138,7 @@ typedef struct DBEContext {
...
@@ -108,9 +138,7 @@ typedef struct DBEContext {
FFTContext
imdct
[
3
];
FFTContext
imdct
[
3
];
AVFloatDSPContext
*
fdsp
;
AVFloatDSPContext
*
fdsp
;
}
DBEDecodeContext
;
uint8_t
buffer
[
1024
*
3
+
AV_INPUT_BUFFER_PADDING_SIZE
];
}
DBEContext
;
static
const
uint8_t
nb_programs_tab
[
MAX_PROG_CONF
+
1
]
=
{
static
const
uint8_t
nb_programs_tab
[
MAX_PROG_CONF
+
1
]
=
{
2
,
3
,
2
,
3
,
4
,
5
,
4
,
5
,
6
,
7
,
8
,
1
,
2
,
3
,
3
,
4
,
5
,
6
,
1
,
2
,
3
,
4
,
1
,
1
2
,
3
,
2
,
3
,
4
,
5
,
4
,
5
,
6
,
7
,
8
,
1
,
2
,
3
,
3
,
4
,
5
,
6
,
1
,
2
,
3
,
4
,
1
,
1
...
...
libavcodec/parsers.c
View file @
0bf18db2
...
@@ -36,6 +36,7 @@ extern AVCodecParser ff_cook_parser;
...
@@ -36,6 +36,7 @@ extern AVCodecParser ff_cook_parser;
extern
AVCodecParser
ff_dca_parser
;
extern
AVCodecParser
ff_dca_parser
;
extern
AVCodecParser
ff_dirac_parser
;
extern
AVCodecParser
ff_dirac_parser
;
extern
AVCodecParser
ff_dnxhd_parser
;
extern
AVCodecParser
ff_dnxhd_parser
;
extern
AVCodecParser
ff_dolby_e_parser
;
extern
AVCodecParser
ff_dpx_parser
;
extern
AVCodecParser
ff_dpx_parser
;
extern
AVCodecParser
ff_dvaudio_parser
;
extern
AVCodecParser
ff_dvaudio_parser
;
extern
AVCodecParser
ff_dvbsub_parser
;
extern
AVCodecParser
ff_dvbsub_parser
;
...
...
libavcodec/version.h
View file @
0bf18db2
...
@@ -28,8 +28,8 @@
...
@@ -28,8 +28,8 @@
#include "libavutil/version.h"
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MINOR 11
7
#define LIBAVCODEC_VERSION_MINOR 11
8
#define LIBAVCODEC_VERSION_MICRO 10
1
#define LIBAVCODEC_VERSION_MICRO 10
0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
LIBAVCODEC_VERSION_MINOR, \
...
...
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