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
88bcdf10
Commit
88bcdf10
authored
Aug 28, 2016
by
Paul B Mahol
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter: hflip,swapuv,vflip: add timeline support
parent
dc7e5adb
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
1 deletion
+34
-1
vf_hflip.c
libavfilter/vf_hflip.c
+10
-1
vf_swapuv.c
libavfilter/vf_swapuv.c
+14
-0
vf_vflip.c
libavfilter/vf_vflip.c
+10
-0
No files found.
libavfilter/vf_hflip.c
View file @
88bcdf10
...
...
@@ -26,6 +26,7 @@
#include <string.h>
#include "libavutil/opt.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
...
...
@@ -36,11 +37,18 @@
#include "libavutil/imgutils.h"
typedef
struct
FlipContext
{
const
AVClass
*
class
;
int
max_step
[
4
];
///< max pixel step for each plane, expressed as a number of bytes
int
planewidth
[
4
];
///< width of each plane
int
planeheight
[
4
];
///< height of each plane
}
FlipContext
;
static
const
AVOption
hflip_options
[]
=
{
{
NULL
}
};
AVFILTER_DEFINE_CLASS
(
hflip
);
static
int
query_formats
(
AVFilterContext
*
ctx
)
{
AVFilterFormats
*
pix_fmts
=
NULL
;
...
...
@@ -194,8 +202,9 @@ AVFilter ff_vf_hflip = {
.
name
=
"hflip"
,
.
description
=
NULL_IF_CONFIG_SMALL
(
"Horizontally flip the input video."
),
.
priv_size
=
sizeof
(
FlipContext
),
.
priv_class
=
&
hflip_class
,
.
query_formats
=
query_formats
,
.
inputs
=
avfilter_vf_hflip_inputs
,
.
outputs
=
avfilter_vf_hflip_outputs
,
.
flags
=
AVFILTER_FLAG_SLICE_THREADS
,
.
flags
=
AVFILTER_FLAG_SLICE_THREADS
|
AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
,
};
libavfilter/vf_swapuv.c
View file @
88bcdf10
...
...
@@ -23,6 +23,7 @@
* swap UV filter
*/
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/version.h"
#include "avfilter.h"
...
...
@@ -30,6 +31,16 @@
#include "internal.h"
#include "video.h"
typedef
struct
SwapUVContext
{
const
AVClass
*
class
;
}
SwapUVContext
;
static
const
AVOption
swapuv_options
[]
=
{
{
NULL
}
};
AVFILTER_DEFINE_CLASS
(
swapuv
);
static
void
do_swap
(
AVFrame
*
frame
)
{
FFSWAP
(
uint8_t
*
,
frame
->
data
[
1
],
frame
->
data
[
2
]);
...
...
@@ -110,6 +121,9 @@ AVFilter ff_vf_swapuv = {
.
name
=
"swapuv"
,
.
description
=
NULL_IF_CONFIG_SMALL
(
"Swap U and V components."
),
.
query_formats
=
query_formats
,
.
priv_size
=
sizeof
(
SwapUVContext
),
.
priv_class
=
&
swapuv_class
,
.
inputs
=
swapuv_inputs
,
.
outputs
=
swapuv_outputs
,
.
flags
=
AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
,
};
libavfilter/vf_vflip.c
View file @
88bcdf10
...
...
@@ -24,15 +24,23 @@
*/
#include "libavutil/internal.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "internal.h"
#include "video.h"
typedef
struct
FlipContext
{
const
AVClass
*
class
;
int
vsub
;
///< vertical chroma subsampling
}
FlipContext
;
static
const
AVOption
vflip_options
[]
=
{
{
NULL
}
};
AVFILTER_DEFINE_CLASS
(
vflip
);
static
int
config_input
(
AVFilterLink
*
link
)
{
FlipContext
*
flip
=
link
->
dst
->
priv
;
...
...
@@ -106,6 +114,8 @@ AVFilter ff_vf_vflip = {
.
name
=
"vflip"
,
.
description
=
NULL_IF_CONFIG_SMALL
(
"Flip the input video vertically."
),
.
priv_size
=
sizeof
(
FlipContext
),
.
priv_class
=
&
vflip_class
,
.
inputs
=
avfilter_vf_vflip_inputs
,
.
outputs
=
avfilter_vf_vflip_outputs
,
.
flags
=
AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
,
};
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