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
ac0fb593
Commit
ac0fb593
authored
Aug 02, 2011
by
Ronald S. Bultje
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swscale: use 15-bit intermediates for 9/10-bit scaling.
parent
18b131de
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
190 additions
and
88 deletions
+190
-88
swscale.c
libswscale/swscale.c
+118
-45
swscale_internal.h
libswscale/swscale_internal.h
+50
-25
utils.c
libswscale/utils.c
+8
-4
pixdesc
tests/ref/lavfi/pixdesc
+2
-2
pixfmts_copy
tests/ref/lavfi/pixfmts_copy
+2
-2
pixfmts_null
tests/ref/lavfi/pixfmts_null
+2
-2
pixfmts_scale
tests/ref/lavfi/pixfmts_scale
+6
-6
pixfmts_vflip
tests/ref/lavfi/pixfmts_vflip
+2
-2
No files found.
libswscale/swscale.c
View file @
ac0fb593
...
...
@@ -211,17 +211,9 @@ yuv2yuvX16_c_template(const int16_t *lumFilter, const int32_t **lumSrc,
#define output_pixel(pos, val) \
if (big_endian) { \
if (output_bits == 16) { \
AV_WB16(pos, av_clip_uint16(val >> shift)); \
} else { \
AV_WB16(pos, av_clip_uintp2(val >> shift, output_bits)); \
} \
AV_WB16(pos, av_clip_uint16(val >> shift)); \
} else { \
if (output_bits == 16) { \
AV_WL16(pos, av_clip_uint16(val >> shift)); \
} else { \
AV_WL16(pos, av_clip_uintp2(val >> shift, output_bits)); \
} \
AV_WL16(pos, av_clip_uint16(val >> shift)); \
}
for
(
i
=
0
;
i
<
dstW
;
i
++
)
{
int
val
=
1
<<
(
30
-
output_bits
-
1
);
...
...
@@ -263,7 +255,67 @@ yuv2yuvX16_c_template(const int16_t *lumFilter, const int32_t **lumSrc,
#undef output_pixel
}
#define yuv2NBPS(bits, BE_LE, is_be) \
static
av_always_inline
void
yuv2yuvX10_c_template
(
const
int16_t
*
lumFilter
,
const
int16_t
**
lumSrc
,
int
lumFilterSize
,
const
int16_t
*
chrFilter
,
const
int16_t
**
chrUSrc
,
const
int16_t
**
chrVSrc
,
int
chrFilterSize
,
const
int16_t
**
alpSrc
,
uint16_t
*
dest
[
4
],
int
dstW
,
int
chrDstW
,
int
big_endian
,
int
output_bits
)
{
//FIXME Optimize (just quickly written not optimized..)
int
i
;
uint16_t
*
yDest
=
dest
[
0
],
*
uDest
=
dest
[
1
],
*
vDest
=
dest
[
2
],
*
aDest
=
CONFIG_SWSCALE_ALPHA
?
dest
[
3
]
:
NULL
;
int
shift
=
15
+
16
-
output_bits
-
1
;
#define output_pixel(pos, val) \
if (big_endian) { \
AV_WB16(pos, av_clip_uintp2(val >> shift, output_bits)); \
} else { \
AV_WL16(pos, av_clip_uintp2(val >> shift, output_bits)); \
}
for
(
i
=
0
;
i
<
dstW
;
i
++
)
{
int
val
=
1
<<
(
30
-
output_bits
-
1
);
int
j
;
for
(
j
=
0
;
j
<
lumFilterSize
;
j
++
)
val
+=
(
lumSrc
[
j
][
i
]
*
lumFilter
[
j
])
>>
1
;
output_pixel
(
&
yDest
[
i
],
val
);
}
if
(
uDest
)
{
for
(
i
=
0
;
i
<
chrDstW
;
i
++
)
{
int
u
=
1
<<
(
30
-
output_bits
-
1
);
int
v
=
1
<<
(
30
-
output_bits
-
1
);
int
j
;
for
(
j
=
0
;
j
<
chrFilterSize
;
j
++
)
{
u
+=
(
chrUSrc
[
j
][
i
]
*
chrFilter
[
j
])
>>
1
;
v
+=
(
chrVSrc
[
j
][
i
]
*
chrFilter
[
j
])
>>
1
;
}
output_pixel
(
&
uDest
[
i
],
u
);
output_pixel
(
&
vDest
[
i
],
v
);
}
}
if
(
CONFIG_SWSCALE_ALPHA
&&
aDest
)
{
for
(
i
=
0
;
i
<
dstW
;
i
++
)
{
int
val
=
1
<<
(
30
-
output_bits
-
1
);
int
j
;
for
(
j
=
0
;
j
<
lumFilterSize
;
j
++
)
val
+=
(
alpSrc
[
j
][
i
]
*
lumFilter
[
j
])
>>
1
;
output_pixel
(
&
aDest
[
i
],
val
);
}
}
#undef output_pixel
}
#define yuv2NBPS(bits, BE_LE, is_be, yuv2yuvX_template_fn, typeX_t) \
static void yuv2yuvX ## bits ## BE_LE ## _c(SwsContext *c, const int16_t *lumFilter, \
const int16_t **_lumSrc, int lumFilterSize, \
const int16_t *chrFilter, const int16_t **_chrUSrc, \
...
...
@@ -271,21 +323,21 @@ static void yuv2yuvX ## bits ## BE_LE ## _c(SwsContext *c, const int16_t *lumFil
int chrFilterSize, const int16_t **_alpSrc, \
uint8_t *_dest[4], int dstW, int chrDstW) \
{ \
const
int32_t **lumSrc = (const int32
_t **) _lumSrc, \
**chrUSrc = (const
int32
_t **) _chrUSrc, \
**chrVSrc = (const
int32
_t **) _chrVSrc, \
**alpSrc = (const
int32
_t **) _alpSrc; \
yuv2yuvX
16_c_template
(lumFilter, lumSrc, lumFilterSize, \
chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
alpSrc, (uint16_t **) _dest, \
dstW, chrDstW, is_be, bits); \
}
yuv2NBPS
(
9
,
BE
,
1
);
yuv2NBPS
(
9
,
LE
,
0
);
yuv2NBPS
(
10
,
BE
,
1
);
yuv2NBPS
(
10
,
LE
,
0
);
yuv2NBPS
(
16
,
BE
,
1
);
yuv2NBPS
(
16
,
LE
,
0
);
const
typeX_t **lumSrc = (const typeX
_t **) _lumSrc, \
**chrUSrc = (const
typeX
_t **) _chrUSrc, \
**chrVSrc = (const
typeX
_t **) _chrVSrc, \
**alpSrc = (const
typeX
_t **) _alpSrc; \
yuv2yuvX
_template_fn
(lumFilter, lumSrc, lumFilterSize, \
chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
alpSrc, (uint16_t **) _dest, \
dstW, chrDstW, is_be, bits); \
}
yuv2NBPS
(
9
,
BE
,
1
,
yuv2yuvX10_c_template
,
int16_t
);
yuv2NBPS
(
9
,
LE
,
0
,
yuv2yuvX10_c_template
,
int16_t
);
yuv2NBPS
(
10
,
BE
,
1
,
yuv2yuvX10_c_template
,
int16_t
);
yuv2NBPS
(
10
,
LE
,
0
,
yuv2yuvX10_c_template
,
int16_t
);
yuv2NBPS
(
16
,
BE
,
1
,
yuv2yuvX16_c_template
,
int32_t
);
yuv2NBPS
(
16
,
LE
,
0
,
yuv2yuvX16_c_template
,
int32_t
);
static
void
yuv2yuvX_c
(
SwsContext
*
c
,
const
int16_t
*
lumFilter
,
const
int16_t
**
lumSrc
,
int
lumFilterSize
,
...
...
@@ -1880,6 +1932,27 @@ static void hScale16_c(SwsContext *c, int16_t *_dst, int dstW, const uint8_t *_s
}
}
static
void
hScale10_c
(
SwsContext
*
c
,
int16_t
*
dst
,
int
dstW
,
const
uint8_t
*
_src
,
const
int16_t
*
filter
,
const
int16_t
*
filterPos
,
int
filterSize
)
{
int
i
;
const
uint16_t
*
src
=
(
const
uint16_t
*
)
_src
;
int
sh
=
av_pix_fmt_descriptors
[
c
->
srcFormat
].
comp
[
0
].
depth_minus1
;
for
(
i
=
0
;
i
<
dstW
;
i
++
)
{
int
j
;
int
srcPos
=
filterPos
[
i
];
int
val
=
0
;
for
(
j
=
0
;
j
<
filterSize
;
j
++
)
{
val
+=
src
[
srcPos
+
j
]
*
filter
[
filterSize
*
i
+
j
];
}
// filter=14 bit, input=16 bit, output=30 bit, >> 11 makes 19 bit
dst
[
i
]
=
FFMIN
(
val
>>
sh
,
(
1
<<
15
)
-
1
);
}
}
// bilinear / bicubic scaling
static
void
hScale_c
(
SwsContext
*
c
,
int16_t
*
dst
,
int
dstW
,
const
uint8_t
*
src
,
const
int16_t
*
filter
,
const
int16_t
*
filterPos
,
...
...
@@ -2025,7 +2098,7 @@ static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth,
if
(
convertRange
)
convertRange
(
dst
,
dstWidth
);
if
(
av_pix_fmt_descriptors
[
c
->
dstFormat
].
comp
[
0
].
depth_minus1
<
8
&&
c
->
scalingBpp
==
16
)
{
if
(
av_pix_fmt_descriptors
[
c
->
dstFormat
].
comp
[
0
].
depth_minus1
<
10
&&
c
->
scalingBpp
==
16
)
{
c
->
scale19To15Fw
(
dst
,
(
int32_t
*
)
dst
,
dstWidth
);
}
}
...
...
@@ -2052,7 +2125,7 @@ static av_always_inline void hcscale(SwsContext *c, int16_t *dst1, int16_t *dst2
uint8_t
*
formatConvBuffer
,
uint32_t
*
pal
)
{
if
(
c
->
chrToYV12
)
{
uint8_t
*
buf2
=
formatConvBuffer
+
FFALIGN
(
srcW
*
c
->
scalingBpp
>>
3
,
16
);
uint8_t
*
buf2
=
formatConvBuffer
+
FFALIGN
(
srcW
*
FFALIGN
(
c
->
scalingBpp
,
8
)
>>
3
,
16
);
c
->
chrToYV12
(
formatConvBuffer
,
buf2
,
src1
,
src2
,
srcW
,
pal
);
src1
=
formatConvBuffer
;
src2
=
buf2
;
...
...
@@ -2076,7 +2149,7 @@ static av_always_inline void hcscale(SwsContext *c, int16_t *dst1, int16_t *dst2
if
(
c
->
chrConvertRange
)
c
->
chrConvertRange
(
dst1
,
dst2
,
dstWidth
);
if
(
av_pix_fmt_descriptors
[
c
->
dstFormat
].
comp
[
0
].
depth_minus1
<
8
&&
c
->
scalingBpp
==
16
)
{
if
(
av_pix_fmt_descriptors
[
c
->
dstFormat
].
comp
[
0
].
depth_minus1
<
10
&&
c
->
scalingBpp
==
16
)
{
c
->
scale19To15Fw
(
dst1
,
(
int32_t
*
)
dst1
,
dstWidth
);
c
->
scale19To15Fw
(
dst2
,
(
int32_t
*
)
dst2
,
dstWidth
);
}
...
...
@@ -2735,27 +2808,27 @@ static av_cold void sws_init_swScale_c(SwsContext *c)
}
if
(
c
->
scalingBpp
==
8
)
{
c
->
hScale
=
hScale_c
;
if
(
c
->
flags
&
SWS_FAST_BILINEAR
)
{
c
->
hyscale_fast
=
hyscale_fast_c
;
c
->
hcscale_fast
=
hcscale_fast_c
;
}
if
(
c
->
srcRange
!=
c
->
dstRange
&&
!
isAnyRGB
(
c
->
dstFormat
))
{
if
(
c
->
srcRange
)
{
c
->
lumConvertRange
=
lumRangeFromJpeg_c
;
c
->
chrConvertRange
=
chrRangeFromJpeg_c
;
}
else
{
c
->
lumConvertRange
=
lumRangeToJpeg_c
;
c
->
chrConvertRange
=
chrRangeToJpeg_c
;
c
->
hScale
=
hScale_c
;
if
(
c
->
flags
&
SWS_FAST_BILINEAR
)
{
c
->
hyscale_fast
=
hyscale_fast_c
;
c
->
hcscale_fast
=
hcscale_fast_c
;
}
}
}
else
{
c
->
hScale
=
hScale16
_c
;
c
->
hScale
=
c
->
scalingBpp
==
16
?
hScale16_c
:
hScale10
_c
;
c
->
scale19To15Fw
=
scale19To15Fw_c
;
c
->
scale8To16Rv
=
scale8To16Rv_c
;
}
if
(
c
->
srcRange
!=
c
->
dstRange
&&
!
isAnyRGB
(
c
->
dstFormat
))
{
if
(
c
->
srcRange
!=
c
->
dstRange
&&
!
isAnyRGB
(
c
->
dstFormat
))
{
if
(
c
->
scalingBpp
<=
10
)
{
if
(
c
->
srcRange
)
{
c
->
lumConvertRange
=
lumRangeFromJpeg_c
;
c
->
chrConvertRange
=
chrRangeFromJpeg_c
;
}
else
{
c
->
lumConvertRange
=
lumRangeToJpeg_c
;
c
->
chrConvertRange
=
chrRangeToJpeg_c
;
}
}
else
{
if
(
c
->
srcRange
)
{
c
->
lumConvertRange
=
lumRangeFromJpeg16_c
;
c
->
chrConvertRange
=
chrRangeFromJpeg16_c
;
...
...
libswscale/swscale_internal.h
View file @
ac0fb593
...
...
@@ -64,11 +64,16 @@ typedef int (*SwsFunc)(struct SwsContext *context, const uint8_t* src[],
* without any additional vertical scaling (or point-scaling).
*
* @param c SWS scaling context
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the 4 output planes (Y/U/V/A)
* @param lumSrc scaled luma (Y) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param alpSrc scaled alpha (A) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param dest pointer to the 4 output planes (Y/U/V/A). For >8bit
* output, this is in uint16_t
* @param dstW width of dest[0], dest[3], lumSrc and alpSrc in pixels
* @param chrDstW width of dest[1], dest[2], chrUSrc and chrVSrc
*/
...
...
@@ -82,14 +87,19 @@ typedef void (*yuv2planar1_fn) (struct SwsContext *c,
*
* @param c SWS scaling context
* @param lumFilter vertical luma/alpha scaling coefficients, 12bit [0,4096]
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param lumSrc scaled luma (Y) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param lumFilterSize number of vertical luma/alpha input lines to scale
* @param chrFilter vertical chroma scaling coefficients, 12bit [0,4096]
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrFilterSize number of vertical chroma input lines to scale
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the 4 output planes (Y/U/V/A)
* @param alpSrc scaled alpha (A) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param dest pointer to the 4 output planes (Y/U/V/A). For >8bit
* output, this is in uint16_t
* @param dstW width of dest[0], dest[3], lumSrc and alpSrc in pixels
* @param chrDstW width of dest[1], dest[2], chrUSrc and chrVSrc
*/
...
...
@@ -105,11 +115,16 @@ typedef void (*yuv2planarX_fn) (struct SwsContext *c, const int16_t *lumFilter,
* that this function may do chroma scaling, see the "uvalpha" argument.
*
* @param c SWS scaling context
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the output plane
* @param lumSrc scaled luma (Y) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param alpSrc scaled alpha (A) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param dest pointer to the output plane. For 16bit output, this is
* uint16_t
* @param dstW width of lumSrc and alpSrc in pixels, number of pixels
* to write into dest[]
* @param uvalpha chroma scaling coefficient for the second line of chroma
...
...
@@ -132,11 +147,16 @@ typedef void (*yuv2packed1_fn) (struct SwsContext *c, const int16_t *lumSrc,
* output by doing bilinear scaling between two input lines.
*
* @param c SWS scaling context
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the output plane
* @param lumSrc scaled luma (Y) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param alpSrc scaled alpha (A) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param dest pointer to the output plane. For 16bit output, this is
* uint16_t
* @param dstW width of lumSrc and alpSrc in pixels, number of pixels
* to write into dest[]
* @param yalpha luma/alpha scaling coefficients for the second input line.
...
...
@@ -160,14 +180,19 @@ typedef void (*yuv2packed2_fn) (struct SwsContext *c, const int16_t *lumSrc[2],
*
* @param c SWS scaling context
* @param lumFilter vertical luma/alpha scaling coefficients, 12bit [0,4096]
* @param lumSrc scaled luma (Y) source data, 15bit for 8bit output
* @param lumSrc scaled luma (Y) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param lumFilterSize number of vertical luma/alpha input lines to scale
* @param chrFilter vertical chroma scaling coefficients, 12bit [0,4096]
* @param chrUSrc scaled chroma (U) source data, 15bit for 8bit output
* @param chrVSrc scaled chroma (V) source data, 15bit for 8bit output
* @param chrUSrc scaled chroma (U) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrVSrc scaled chroma (V) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param chrFilterSize number of vertical chroma input lines to scale
* @param alpSrc scaled alpha (A) source data, 15bit for 8bit output
* @param dest pointer to the output plane
* @param alpSrc scaled alpha (A) source data, 15bit for 8-10bit output,
* 19-bit for 16bit output (in int32_t)
* @param dest pointer to the output plane. For 16bit output, this is
* uint16_t
* @param dstW width of lumSrc and alpSrc in pixels, number of pixels
* to write into dest[]
* @param y vertical line number for this output. This does not need
...
...
libswscale/utils.c
View file @
ac0fb593
...
...
@@ -896,11 +896,15 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
}
}
c
->
scalingBpp
=
FFMAX
(
av_pix_fmt_descriptors
[
srcFormat
].
comp
[
0
].
depth_minus1
,
av_pix_fmt_descriptors
[
dstFormat
].
comp
[
0
].
depth_minus1
)
>=
8
?
16
:
8
;
c
->
scalingBpp
=
1
+
FFMAX
(
av_pix_fmt_descriptors
[
srcFormat
].
comp
[
0
].
depth_minus1
,
av_pix_fmt_descriptors
[
dstFormat
].
comp
[
0
].
depth_minus1
);
if
(
c
->
scalingBpp
<=
8
)
c
->
scalingBpp
=
8
;
if
(
c
->
scalingBpp
==
16
)
dst_stride
<<=
1
;
FF_ALLOC_OR_GOTO
(
c
,
c
->
formatConvBuffer
,
FFALIGN
(
srcW
,
16
)
*
2
*
c
->
scalingBpp
>>
3
,
fail
);
FF_ALLOC_OR_GOTO
(
c
,
c
->
formatConvBuffer
,
FFALIGN
(
srcW
,
16
)
*
2
*
FFALIGN
(
c
->
scalingBpp
,
8
)
>>
3
,
fail
);
if
(
HAVE_MMX2
&&
cpu_flags
&
AV_CPU_FLAG_MMX2
&&
c
->
scalingBpp
==
8
)
{
c
->
canMMX2BeUsed
=
(
dstW
>=
srcW
&&
(
dstW
&
31
)
==
0
&&
(
srcW
&
15
)
==
0
)
?
1
:
0
;
if
(
!
c
->
canMMX2BeUsed
&&
dstW
>=
srcW
&&
(
srcW
&
15
)
==
0
&&
(
flags
&
SWS_FAST_BILINEAR
))
{
...
...
@@ -1055,7 +1059,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
c
->
lumPixBuf
[
i
]
=
c
->
lumPixBuf
[
i
+
c
->
vLumBufSize
];
}
// 64 / c->scalingBpp is the same as 16 / sizeof(scaling_intermediate)
c
->
uv_off_px
=
dst_stride_px
+
64
/
c
->
scalingBpp
;
c
->
uv_off_px
=
dst_stride_px
+
64
/
(
c
->
scalingBpp
&~
7
)
;
c
->
uv_off_byte
=
dst_stride
+
16
;
for
(
i
=
0
;
i
<
c
->
vChrBufSize
;
i
++
)
{
FF_ALLOC_OR_GOTO
(
c
,
c
->
chrUPixBuf
[
i
+
c
->
vChrBufSize
],
dst_stride
*
2
+
32
,
fail
);
...
...
tests/ref/lavfi/pixdesc
View file @
ac0fb593
...
...
@@ -38,8 +38,8 @@ yuv420p16le 2d59c4f1d0314a5a957a7cfc4b6fabcc
yuv420p9be ce880fa07830e5297c22acf6e20555ce
yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p10be
107c6e31a3d4d598bca1d8426aaa54f5
yuv422p10le
3f478be644add24b6cc77e718a6e2afa
yuv422p10be
a4a83d0811280eff7405d94a7de21596
yuv422p10le
23717b6c73a59912c605f27877ae2fb6
yuv422p16be dc9886f2fccf87cc54b27e071a2c251e
yuv422p16le f181c8d8436f1233ba566d9bc88005ec
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
...
...
tests/ref/lavfi/pixfmts_copy
View file @
ac0fb593
...
...
@@ -38,8 +38,8 @@ yuv420p16le 2d59c4f1d0314a5a957a7cfc4b6fabcc
yuv420p9be ce880fa07830e5297c22acf6e20555ce
yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p10be
107c6e31a3d4d598bca1d8426aaa54f5
yuv422p10le
3f478be644add24b6cc77e718a6e2afa
yuv422p10be
a4a83d0811280eff7405d94a7de21596
yuv422p10le
23717b6c73a59912c605f27877ae2fb6
yuv422p16be dc9886f2fccf87cc54b27e071a2c251e
yuv422p16le f181c8d8436f1233ba566d9bc88005ec
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
...
...
tests/ref/lavfi/pixfmts_null
View file @
ac0fb593
...
...
@@ -38,8 +38,8 @@ yuv420p16le 2d59c4f1d0314a5a957a7cfc4b6fabcc
yuv420p9be ce880fa07830e5297c22acf6e20555ce
yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p10be
107c6e31a3d4d598bca1d8426aaa54f5
yuv422p10le
3f478be644add24b6cc77e718a6e2afa
yuv422p10be
a4a83d0811280eff7405d94a7de21596
yuv422p10le
23717b6c73a59912c605f27877ae2fb6
yuv422p16be dc9886f2fccf87cc54b27e071a2c251e
yuv422p16le f181c8d8436f1233ba566d9bc88005ec
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
...
...
tests/ref/lavfi/pixfmts_scale
View file @
ac0fb593
...
...
@@ -31,15 +31,15 @@ uyvy422 314bd486277111a95d9369b944fa0400
yuv410p 7df8f6d69b56a8dcb6c7ee908e5018b5
yuv411p 1143e7c5cc28fe0922b051b17733bc4c
yuv420p fdad2d8df8985e3d17e73c71f713cb14
yuv420p10be
af5429f27b9f95bf955e795921c65cdc
yuv420p10le
d0b47e6a8a44e6b5ca0fe4349a4e393b
yuv420p10be
04663d400e44692fe8a622a067f838da
yuv420p10le
6171850f66df7a727b4bed1c87ef9188
yuv420p16be 9688e33e03b8c8275ab2fb1df0f06bee
yuv420p16le cba8b390ad5e7b8678e419b8ce79c008
yuv420p9be a
073b2d93b2a7dce2069ba252bc43175
yuv420p9le
b67233c3c7d93763d07d88f697c145e1
yuv420p9be a
b163dfef03c4d563aca99b24276b9fd
yuv420p9le
cd56c5a76ce74e504dd59d25a5e4389c
yuv422p 918e37701ee7377d16a8a6c119c56a40
yuv422p10be
533fd21e7943c20a1026b19069b3b867
yuv422p10le
59b20a4a8609f5da2dc54c78aea11e6c
yuv422p10be
e8e80fed7121f3afac994f2afac42cd2
yuv422p10le
370866666f4889ee0928345b16d68fb4
yuv422p16be 2cf502d7d386db1f1b3b946679d897b1
yuv422p16le 3002a4e47520731dcee5929aff49eb74
yuv440p 461503fdb9b90451020aa3b25ddf041c
...
...
tests/ref/lavfi/pixfmts_vflip
View file @
ac0fb593
...
...
@@ -38,8 +38,8 @@ yuv420p16le 0f609e588e5a258644ef85170d70e030
yuv420p9be be40ec975fb2873891643cbbbddbc3b0
yuv420p9le 7e606310d3f5ff12badf911e8f333471
yuv422p d7f5cb44d9b0210d66d6a8762640ab34
yuv422p10be
a28b051168af49435c04af5f58dce47b
yuv422p10le
35936ffff30df2697f47b9b8d2cb7dea
yuv422p10be
51d9ef13fe43ea9549b3792bfd449bf7
yuv422p10le
4b286a243ee0e715b2961bc1b469e629
yuv422p16be 51d9aa4e78d121c226d919ce97976fe4
yuv422p16le 12965c54bda8932ca72da194419a9908
yuv440p 876385e96165acf51271b20e5d85a416
...
...
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