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
13a867a6
Commit
13a867a6
authored
May 19, 2012
by
Jordi Ortiz
Committed by
Diego Biurrun
May 21, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dwt: K&R prettyprinting cosmetics
Signed-off-by:
Diego Biurrun
<
diego@biurrun.de
>
parent
db9e00f4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
713 additions
and
553 deletions
+713
-553
dwt.c
libavcodec/dwt.c
+665
-527
dwt.h
libavcodec/dwt.h
+48
-26
No files found.
libavcodec/dwt.c
View file @
13a867a6
This diff is collapsed.
Click to expand it.
libavcodec/dwt.h
View file @
13a867a6
...
...
@@ -34,21 +34,27 @@ typedef struct {
int
y
;
}
DWTCompose
;
/** Used to minimize the amount of memory used in order to optimize cache performance. **/
/** Used to minimize the amount of memory used in order to
* optimize cache performance. **/
typedef
struct
slice_buffer_s
{
IDWTELEM
*
*
line
;
///< For use by idwt and predict_slices.
IDWTELEM
*
*
data_stack
;
///< Used for internal purposes.
IDWTELEM
*
*
line
;
///< For use by idwt and predict_slices.
IDWTELEM
*
*
data_stack
;
///< Used for internal purposes.
int
data_stack_top
;
int
line_count
;
int
line_width
;
int
data_count
;
IDWTELEM
*
base_buffer
;
///< Buffer that this structure is caching.
IDWTELEM
*
base_buffer
;
///< Buffer that this structure is caching.
}
slice_buffer
;
typedef
struct
DWTContext
{
void
(
*
vertical_compose97i
)(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
void
(
*
vertical_compose97i
)(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
void
(
*
horizontal_compose97i
)(
IDWTELEM
*
b
,
int
width
);
void
(
*
inner_add_yblock
)(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
*
*
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
void
(
*
inner_add_yblock
)(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
**
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
}
DWTContext
;
#define MAX_DECOMPOSITIONS 8
...
...
@@ -126,27 +132,43 @@ typedef struct DWTContext {
#define W_DS 9
#endif
#define slice_buffer_get_line(slice_buf, line_num) ((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] : ff_slice_buffer_load_line((slice_buf), (line_num)))
//#define slice_buffer_get_line(slice_buf, line_num) (ff_slice_buffer_load_line((slice_buf), (line_num)))
void
ff_slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
);
void
ff_slice_buffer_release
(
slice_buffer
*
buf
,
int
line
);
void
ff_slice_buffer_flush
(
slice_buffer
*
buf
);
void
ff_slice_buffer_destroy
(
slice_buffer
*
buf
);
IDWTELEM
*
ff_slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
);
void
ff_snow_vertical_compose97i
(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
#define slice_buffer_get_line(slice_buf, line_num) \
((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] \
: ff_slice_buffer_load_line((slice_buf), \
(line_num)))
void
ff_slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
);
void
ff_slice_buffer_release
(
slice_buffer
*
buf
,
int
line
);
void
ff_slice_buffer_flush
(
slice_buffer
*
buf
);
void
ff_slice_buffer_destroy
(
slice_buffer
*
buf
);
IDWTELEM
*
ff_slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
);
void
ff_snow_vertical_compose97i
(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
void
ff_snow_horizontal_compose97i
(
IDWTELEM
*
b
,
int
width
);
void
ff_snow_inner_add_yblock
(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
*
*
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
int
ff_w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
ff_w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
void
ff_spatial_dwt
(
int
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_init
(
DWTCompose
*
cs
,
slice_buffer
*
sb
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_slice
(
DWTContext
*
dsp
,
DWTCompose
*
cs
,
slice_buffer
*
slice_buf
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
,
int
y
);
void
ff_spatial_idwt
(
IDWTELEM
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_snow_inner_add_yblock
(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
**
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
int
ff_w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
ff_w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
void
ff_spatial_dwt
(
int
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_init
(
DWTCompose
*
cs
,
slice_buffer
*
sb
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_slice
(
DWTContext
*
dsp
,
DWTCompose
*
cs
,
slice_buffer
*
slice_buf
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
,
int
y
);
void
ff_spatial_idwt
(
IDWTELEM
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_dwt_init
(
DWTContext
*
c
);
void
ff_dwt_init_x86
(
DWTContext
*
c
);
...
...
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