Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
48ac4532
Commit
48ac4532
authored
Jun 08, 2016
by
Clément Bœsch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavf/img2dec: add pnm pipe demuxers
parent
99c3c323
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
148 additions
and
71 deletions
+148
-71
Makefile
libavformat/Makefile
+5
-0
allformats.c
libavformat/allformats.c
+5
-0
img2dec.c
libavformat/img2dec.c
+55
-0
version.h
libavformat/version.h
+2
-2
lavf-pbmpipe
tests/ref/seek/lavf-pbmpipe
+27
-23
lavf-pgmpipe
tests/ref/seek/lavf-pgmpipe
+27
-23
lavf-ppmpipe
tests/ref/seek/lavf-ppmpipe
+27
-23
No files found.
libavformat/Makefile
View file @
48ac4532
...
...
@@ -226,9 +226,14 @@ OBJS-$(CONFIG_IMAGE_EXR_PIPE_DEMUXER) += img2dec.o img2.o
OBJS-$(CONFIG_IMAGE_J2K_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_JPEG_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PAM_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PBM_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PCX_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PGM_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PICTOR_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PNG_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_PPM_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_QDRAW_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_SGI_PIPE_DEMUXER)
+=
img2dec.o
img2.o
OBJS-$(CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER)
+=
img2dec.o
img2.o
...
...
libavformat/allformats.c
View file @
48ac4532
...
...
@@ -356,9 +356,14 @@ void av_register_all(void)
REGISTER_DEMUXER
(
IMAGE_J2K_PIPE
,
image_j2k_pipe
);
REGISTER_DEMUXER
(
IMAGE_JPEG_PIPE
,
image_jpeg_pipe
);
REGISTER_DEMUXER
(
IMAGE_JPEGLS_PIPE
,
image_jpegls_pipe
);
REGISTER_DEMUXER
(
IMAGE_PAM_PIPE
,
image_pam_pipe
);
REGISTER_DEMUXER
(
IMAGE_PBM_PIPE
,
image_pbm_pipe
);
REGISTER_DEMUXER
(
IMAGE_PCX_PIPE
,
image_pcx_pipe
);
REGISTER_DEMUXER
(
IMAGE_PGMYUV_PIPE
,
image_pgmyuv_pipe
);
REGISTER_DEMUXER
(
IMAGE_PGM_PIPE
,
image_pgm_pipe
);
REGISTER_DEMUXER
(
IMAGE_PICTOR_PIPE
,
image_pictor_pipe
);
REGISTER_DEMUXER
(
IMAGE_PNG_PIPE
,
image_png_pipe
);
REGISTER_DEMUXER
(
IMAGE_PPM_PIPE
,
image_ppm_pipe
);
REGISTER_DEMUXER
(
IMAGE_QDRAW_PIPE
,
image_qdraw_pipe
);
REGISTER_DEMUXER
(
IMAGE_SGI_PIPE
,
image_sgi_pipe
);
REGISTER_DEMUXER
(
IMAGE_SUNRAST_PIPE
,
image_sunrast_pipe
);
...
...
libavformat/img2dec.c
View file @
48ac4532
...
...
@@ -862,6 +862,56 @@ static int webp_probe(AVProbeData *p)
return
0
;
}
static
int
pnm_magic_check
(
const
AVProbeData
*
p
,
int
magic
)
{
const
uint8_t
*
b
=
p
->
buf
;
return
b
[
0
]
==
'P'
&&
b
[
1
]
==
magic
+
'0'
;
}
static
inline
int
pnm_probe
(
const
AVProbeData
*
p
)
{
const
uint8_t
*
b
=
p
->
buf
;
while
(
b
[
2
]
==
'\r'
)
b
++
;
if
(
b
[
2
]
==
'\n'
&&
(
b
[
3
]
==
'#'
||
(
b
[
3
]
>=
'0'
&&
b
[
3
]
<=
'9'
)))
return
AVPROBE_SCORE_EXTENSION
+
2
;
return
0
;
}
static
int
pbm_probe
(
AVProbeData
*
p
)
{
return
pnm_magic_check
(
p
,
1
)
||
pnm_magic_check
(
p
,
4
)
?
pnm_probe
(
p
)
:
0
;
}
static
inline
int
pgmx_probe
(
AVProbeData
*
p
)
{
return
pnm_magic_check
(
p
,
2
)
||
pnm_magic_check
(
p
,
5
)
?
pnm_probe
(
p
)
:
0
;
}
static
int
pgm_probe
(
AVProbeData
*
p
)
{
int
ret
=
pgmx_probe
(
p
);
return
ret
&&
!
av_match_ext
(
p
->
filename
,
"pgmyuv"
)
?
ret
:
0
;
}
static
int
pgmyuv_probe
(
AVProbeData
*
p
)
// custom FFmpeg format recognized by file extension
{
int
ret
=
pgmx_probe
(
p
);
return
ret
&&
av_match_ext
(
p
->
filename
,
"pgmyuv"
)
?
ret
:
0
;
}
static
int
ppm_probe
(
AVProbeData
*
p
)
{
return
pnm_magic_check
(
p
,
3
)
||
pnm_magic_check
(
p
,
6
)
?
pnm_probe
(
p
)
:
0
;
}
static
int
pam_probe
(
AVProbeData
*
p
)
{
return
pnm_magic_check
(
p
,
7
)
?
pnm_probe
(
p
)
:
0
;
}
#define IMAGEAUTO_DEMUXER(imgname, codecid)\
static const AVClass imgname ## _class = {\
.class_name = AV_STRINGIFY(imgname) " demuxer",\
...
...
@@ -888,9 +938,14 @@ IMAGEAUTO_DEMUXER(exr, AV_CODEC_ID_EXR)
IMAGEAUTO_DEMUXER
(
j2k
,
AV_CODEC_ID_JPEG2000
)
IMAGEAUTO_DEMUXER
(
jpeg
,
AV_CODEC_ID_MJPEG
)
IMAGEAUTO_DEMUXER
(
jpegls
,
AV_CODEC_ID_JPEGLS
)
IMAGEAUTO_DEMUXER
(
pam
,
AV_CODEC_ID_PAM
)
IMAGEAUTO_DEMUXER
(
pbm
,
AV_CODEC_ID_PBM
)
IMAGEAUTO_DEMUXER
(
pcx
,
AV_CODEC_ID_PCX
)
IMAGEAUTO_DEMUXER
(
pgm
,
AV_CODEC_ID_PGM
)
IMAGEAUTO_DEMUXER
(
pgmyuv
,
AV_CODEC_ID_PGMYUV
)
IMAGEAUTO_DEMUXER
(
pictor
,
AV_CODEC_ID_PICTOR
)
IMAGEAUTO_DEMUXER
(
png
,
AV_CODEC_ID_PNG
)
IMAGEAUTO_DEMUXER
(
ppm
,
AV_CODEC_ID_PPM
)
IMAGEAUTO_DEMUXER
(
qdraw
,
AV_CODEC_ID_QDRAW
)
IMAGEAUTO_DEMUXER
(
sgi
,
AV_CODEC_ID_SGI
)
IMAGEAUTO_DEMUXER
(
sunrast
,
AV_CODEC_ID_SUNRAST
)
...
...
libavformat/version.h
View file @
48ac4532
...
...
@@ -32,8 +32,8 @@
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
// Also please add any ticket numbers that you belive might be affected here
#define LIBAVFORMAT_VERSION_MAJOR 57
#define LIBAVFORMAT_VERSION_MINOR 3
8
#define LIBAVFORMAT_VERSION_MICRO 10
2
#define LIBAVFORMAT_VERSION_MINOR 3
9
#define LIBAVFORMAT_VERSION_MICRO 10
0
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
...
...
tests/ref/seek/lavf-pbmpipe
View file @
48ac4532
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: -1 size:317075
ret:-1 st:-1 flags:0 ts:-1.000000
ret:-1 st:-1 flags:1 ts: 1.894167
ret:-1 st: 0 flags:0 ts: 0.800000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 12683
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 12683
ret:-EINVAL st:-1 flags:1 ts: 1.894167
ret:-EINVAL st: 0 flags:0 ts: 0.800000
ret:-1 st: 0 flags:1 ts:-0.320000
ret:-
1
st:-1 flags:0 ts: 2.576668
ret:-
1
st:-1 flags:1 ts: 1.470835
ret:-
1
st: 0 flags:0 ts: 0.360000
ret:-
EINVAL
st:-1 flags:0 ts: 2.576668
ret:-
EINVAL
st:-1 flags:1 ts: 1.470835
ret:-
EINVAL
st: 0 flags:0 ts: 0.360000
ret:-1 st: 0 flags:1 ts:-0.760000
ret:-1 st:-1 flags:0 ts: 2.153336
ret:-1 st:-1 flags:1 ts: 1.047503
ret:-1 st: 0 flags:0 ts:-0.040000
ret:-1 st: 0 flags:1 ts: 2.840000
ret:-1 st:-1 flags:0 ts: 1.730004
ret:-1 st:-1 flags:1 ts: 0.624171
ret:-1 st: 0 flags:0 ts:-0.480000
ret:-1 st: 0 flags:1 ts: 2.400000
ret:-1 st:-1 flags:0 ts: 1.306672
ret:-1 st:-1 flags:1 ts: 0.200839
ret:-1 st: 0 flags:0 ts:-0.920000
ret:-1 st: 0 flags:1 ts: 2.000000
ret:-1 st:-1 flags:0 ts: 0.883340
ret:-EINVAL st:-1 flags:0 ts: 2.153336
ret:-EINVAL st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:0 ts:-0.040000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 12683
ret:-EINVAL st: 0 flags:1 ts: 2.840000
ret:-EINVAL st:-1 flags:0 ts: 1.730004
ret:-EINVAL st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:0 ts:-0.480000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 12683
ret:-EINVAL st: 0 flags:1 ts: 2.400000
ret:-EINVAL st:-1 flags:0 ts: 1.306672
ret:-EINVAL st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:0 ts:-0.920000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 12683
ret:-EINVAL st: 0 flags:1 ts: 2.000000
ret:-EINVAL st:-1 flags:0 ts: 0.883340
ret:-1 st:-1 flags:1 ts:-0.222493
ret:-
1
st: 0 flags:0 ts: 2.680000
ret:-
1
st: 0 flags:1 ts: 1.560000
ret:-
1
st:-1 flags:0 ts: 0.460008
ret:-
EINVAL
st: 0 flags:0 ts: 2.680000
ret:-
EINVAL
st: 0 flags:1 ts: 1.560000
ret:-
EINVAL
st:-1 flags:0 ts: 0.460008
ret:-1 st:-1 flags:1 ts:-0.645825
tests/ref/seek/lavf-pgmpipe
View file @
48ac4532
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: -1 size:2534775
ret:-1 st:-1 flags:0 ts:-1.000000
ret:-1 st:-1 flags:1 ts: 1.894167
ret:-1 st: 0 flags:0 ts: 0.800000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:101391
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:101391
ret:-EINVAL st:-1 flags:1 ts: 1.894167
ret:-EINVAL st: 0 flags:0 ts: 0.800000
ret:-1 st: 0 flags:1 ts:-0.320000
ret:-
1
st:-1 flags:0 ts: 2.576668
ret:-
1
st:-1 flags:1 ts: 1.470835
ret:-
1
st: 0 flags:0 ts: 0.360000
ret:-
EINVAL
st:-1 flags:0 ts: 2.576668
ret:-
EINVAL
st:-1 flags:1 ts: 1.470835
ret:-
EINVAL
st: 0 flags:0 ts: 0.360000
ret:-1 st: 0 flags:1 ts:-0.760000
ret:-1 st:-1 flags:0 ts: 2.153336
ret:-1 st:-1 flags:1 ts: 1.047503
ret:-1 st: 0 flags:0 ts:-0.040000
ret:-1 st: 0 flags:1 ts: 2.840000
ret:-1 st:-1 flags:0 ts: 1.730004
ret:-1 st:-1 flags:1 ts: 0.624171
ret:-1 st: 0 flags:0 ts:-0.480000
ret:-1 st: 0 flags:1 ts: 2.400000
ret:-1 st:-1 flags:0 ts: 1.306672
ret:-1 st:-1 flags:1 ts: 0.200839
ret:-1 st: 0 flags:0 ts:-0.920000
ret:-1 st: 0 flags:1 ts: 2.000000
ret:-1 st:-1 flags:0 ts: 0.883340
ret:-EINVAL st:-1 flags:0 ts: 2.153336
ret:-EINVAL st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:0 ts:-0.040000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:101391
ret:-EINVAL st: 0 flags:1 ts: 2.840000
ret:-EINVAL st:-1 flags:0 ts: 1.730004
ret:-EINVAL st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:0 ts:-0.480000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:101391
ret:-EINVAL st: 0 flags:1 ts: 2.400000
ret:-EINVAL st:-1 flags:0 ts: 1.306672
ret:-EINVAL st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:0 ts:-0.920000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:101391
ret:-EINVAL st: 0 flags:1 ts: 2.000000
ret:-EINVAL st:-1 flags:0 ts: 0.883340
ret:-1 st:-1 flags:1 ts:-0.222493
ret:-
1
st: 0 flags:0 ts: 2.680000
ret:-
1
st: 0 flags:1 ts: 1.560000
ret:-
1
st:-1 flags:0 ts: 0.460008
ret:-
EINVAL
st: 0 flags:0 ts: 2.680000
ret:-
EINVAL
st: 0 flags:1 ts: 1.560000
ret:-
EINVAL
st:-1 flags:0 ts: 0.460008
ret:-1 st:-1 flags:1 ts:-0.645825
tests/ref/seek/lavf-ppmpipe
View file @
48ac4532
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: -1 size:7603575
ret:-1 st:-1 flags:0 ts:-1.000000
ret:-1 st:-1 flags:1 ts: 1.894167
ret:-1 st: 0 flags:0 ts: 0.800000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:304143
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:304143
ret:-EINVAL st:-1 flags:1 ts: 1.894167
ret:-EINVAL st: 0 flags:0 ts: 0.800000
ret:-1 st: 0 flags:1 ts:-0.320000
ret:-
1
st:-1 flags:0 ts: 2.576668
ret:-
1
st:-1 flags:1 ts: 1.470835
ret:-
1
st: 0 flags:0 ts: 0.360000
ret:-
EINVAL
st:-1 flags:0 ts: 2.576668
ret:-
EINVAL
st:-1 flags:1 ts: 1.470835
ret:-
EINVAL
st: 0 flags:0 ts: 0.360000
ret:-1 st: 0 flags:1 ts:-0.760000
ret:-1 st:-1 flags:0 ts: 2.153336
ret:-1 st:-1 flags:1 ts: 1.047503
ret:-1 st: 0 flags:0 ts:-0.040000
ret:-1 st: 0 flags:1 ts: 2.840000
ret:-1 st:-1 flags:0 ts: 1.730004
ret:-1 st:-1 flags:1 ts: 0.624171
ret:-1 st: 0 flags:0 ts:-0.480000
ret:-1 st: 0 flags:1 ts: 2.400000
ret:-1 st:-1 flags:0 ts: 1.306672
ret:-1 st:-1 flags:1 ts: 0.200839
ret:-1 st: 0 flags:0 ts:-0.920000
ret:-1 st: 0 flags:1 ts: 2.000000
ret:-1 st:-1 flags:0 ts: 0.883340
ret:-EINVAL st:-1 flags:0 ts: 2.153336
ret:-EINVAL st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:0 ts:-0.040000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:304143
ret:-EINVAL st: 0 flags:1 ts: 2.840000
ret:-EINVAL st:-1 flags:0 ts: 1.730004
ret:-EINVAL st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:0 ts:-0.480000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:304143
ret:-EINVAL st: 0 flags:1 ts: 2.400000
ret:-EINVAL st:-1 flags:0 ts: 1.306672
ret:-EINVAL st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:0 ts:-0.920000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size:304143
ret:-EINVAL st: 0 flags:1 ts: 2.000000
ret:-EINVAL st:-1 flags:0 ts: 0.883340
ret:-1 st:-1 flags:1 ts:-0.222493
ret:-
1
st: 0 flags:0 ts: 2.680000
ret:-
1
st: 0 flags:1 ts: 1.560000
ret:-
1
st:-1 flags:0 ts: 0.460008
ret:-
EINVAL
st: 0 flags:0 ts: 2.680000
ret:-
EINVAL
st: 0 flags:1 ts: 1.560000
ret:-
EINVAL
st:-1 flags:0 ts: 0.460008
ret:-1 st:-1 flags:1 ts:-0.645825
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