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
ad263847
Commit
ad263847
authored
Jan 24, 2020
by
Jai Luthra
Committed by
Paul B Mahol
Feb 04, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mlpenc: clean up
Signed-off-by:
Jai Luthra
<
me@jailuthra.in
>
parent
bc0ed176
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
16 deletions
+13
-16
mlpenc.c
libavcodec/mlpenc.c
+13
-16
No files found.
libavcodec/mlpenc.c
View file @
ad263847
...
...
@@ -94,8 +94,8 @@ typedef struct BestOffset {
int16_t
max
;
}
BestOffset
;
#define HUFF_OFFSET_MIN
-16384
#define HUFF_OFFSET_MAX
16383
#define HUFF_OFFSET_MIN
(-16384)
#define HUFF_OFFSET_MAX
( 16383)
/** Number of possible codebooks (counting "no codebooks") */
#define NUM_CODEBOOKS 4
...
...
@@ -808,7 +808,7 @@ static void write_major_sync(MLPEncodeContext *ctx, uint8_t *buf, int buf_size)
static
void
write_restart_header
(
MLPEncodeContext
*
ctx
,
PutBitContext
*
pb
)
{
RestartHeader
*
rh
=
ctx
->
cur_restart_header
;
int32
_t
lossless_check
=
xor_32_to_8
(
rh
->
lossless_check_data
);
uint8
_t
lossless_check
=
xor_32_to_8
(
rh
->
lossless_check_data
);
unsigned
int
start_count
=
put_bits_count
(
pb
);
PutBitContext
tmpb
;
uint8_t
checksum
;
...
...
@@ -1017,12 +1017,10 @@ static void write_block_data(MLPEncodeContext *ctx, PutBitContext *pb)
codebook_index
[
ch
]
=
cp
->
codebook
-
1
;
sign_huff_offset
[
ch
]
=
cp
->
huff_offset
;
sign_shift
=
lsb_bits
[
ch
]
-
1
;
sign_shift
=
lsb_bits
[
ch
]
+
(
cp
->
codebook
?
2
-
cp
->
codebook
:
-
1
)
;
if
(
cp
->
codebook
>
0
)
{
if
(
cp
->
codebook
>
0
)
sign_huff_offset
[
ch
]
-=
7
<<
lsb_bits
[
ch
];
sign_shift
+=
3
-
cp
->
codebook
;
}
/* Unsign if needed. */
if
(
sign_shift
>=
0
)
...
...
@@ -1032,7 +1030,6 @@ static void write_block_data(MLPEncodeContext *ctx, PutBitContext *pb)
for
(
i
=
0
;
i
<
dp
->
blocksize
;
i
++
)
{
for
(
ch
=
rh
->
min_channel
;
ch
<=
rh
->
max_channel
;
ch
++
)
{
int32_t
sample
=
*
sample_buffer
++
>>
dp
->
quant_step_size
[
ch
];
sample
-=
sign_huff_offset
[
ch
];
if
(
codebook_index
[
ch
]
>=
0
)
{
...
...
@@ -1252,7 +1249,7 @@ static void input_data_internal(MLPEncodeContext *ctx, const uint8_t *samples,
uint32_t
abs_sample
;
int32_t
sample
;
sample
=
is24
?
*
samples_32
++
>>
8
:
*
samples_16
++
<<
8
;
sample
=
is24
?
*
samples_32
++
>>
8
:
*
samples_16
++
*
256U
;
/* TODO Find out if number_sbits can be used for negative values. */
abs_sample
=
FFABS
(
sample
);
...
...
@@ -1795,7 +1792,7 @@ static void determine_bits(MLPEncodeContext *ctx)
#define SAMPLE_MAX(bitdepth) ((1 << (bitdepth - 1)) - 1)
#define SAMPLE_MIN(bitdepth) (~SAMPLE_MAX(bitdepth))
#define MSB_MASK(bits) (-
1u << bits
)
#define MSB_MASK(bits) (-
(1u << (bits))
)
/** Applies the filter to the current samples, and saves the residual back
* into the samples buffer. If the filter is too bad and overflows the
...
...
@@ -1899,8 +1896,8 @@ static void generate_2_noise_channels(MLPEncodeContext *ctx)
for
(
i
=
0
;
i
<
ctx
->
number_of_samples
;
i
++
)
{
uint16_t
seed_shr7
=
seed
>>
7
;
*
sample_buffer
++
=
((
int8_t
)(
seed
>>
15
))
<<
rh
->
noise_shift
;
*
sample_buffer
++
=
((
int8_t
)
seed_shr7
)
<<
rh
->
noise_shift
;
*
sample_buffer
++
=
((
int8_t
)(
seed
>>
15
))
*
(
1
<<
rh
->
noise_shift
)
;
*
sample_buffer
++
=
((
int8_t
)
seed_shr7
)
*
(
1
<<
rh
->
noise_shift
)
;
seed
=
(
seed
<<
16
)
^
seed_shr7
^
(
seed_shr7
<<
5
);
...
...
@@ -2071,9 +2068,9 @@ static void set_best_codebook(MLPEncodeContext *ctx)
best_codebook
=
*
best_path
++
-
ZERO_PATH
;
cur_bo
=
&
ctx
->
best_offset
[
index
][
channel
][
best_codebook
];
cp
->
huff_offset
=
cur_bo
->
offset
;
cp
->
huff_lsbs
=
cur_bo
->
lsb_bits
+
dp
->
quant_step_size
[
channel
];
cp
->
codebook
=
best_codebook
;
cp
->
huff_offset
=
cur_bo
->
offset
;
cp
->
huff_lsbs
=
cur_bo
->
lsb_bits
+
dp
->
quant_step_size
[
channel
];
cp
->
codebook
=
best_codebook
;
}
}
}
...
...
@@ -2275,7 +2272,7 @@ static int mlp_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
if
(
restart_frame
)
{
set_major_params
(
ctx
);
if
(
ctx
->
min_restart_interval
!=
ctx
->
max_restart_interval
)
process_major_frame
(
ctx
);
process_major_frame
(
ctx
);
}
if
(
ctx
->
min_restart_interval
==
ctx
->
max_restart_interval
)
...
...
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