2019-11-08 16:20:57 +00:00
|
|
|
0bgr: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {24:8} {16:8} {8:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {0, 3, 2, 1}
|
|
|
|
AVD: name=0bgr chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
0rgb: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {8:8} {16:8} {24:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {0, 1, 2, 3}
|
|
|
|
AVD: name=0rgb chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
abgr: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {24:8} {16:8} {8:8} {0:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {4, 3, 2, 1}
|
|
|
|
AVD: name=abgr chroma=0:0 flags=0xa0 [rgb][alpha]
|
|
|
|
0: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
3: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
argb: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {8:8} {16:8} {24:8} {0:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {4, 1, 2, 3}
|
|
|
|
AVD: name=argb chroma=0:0 flags=0xa0 [rgb][alpha]
|
|
|
|
0: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
3: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
ayuv64: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 64bits {16:16} {32:16} {48:16} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {4, 1, 2, 3}
|
|
|
|
AVD: name=ayuv64le chroma=0:0 flags=0x80 [alpha]
|
|
|
|
0: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=6 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
ayuv64be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 64bits endian_bytes=2 {16:16} {32:16} {48:16} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=ayuv64be chroma=0:0 flags=0x81 [be][alpha]
|
|
|
|
0: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=6 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=0 sh=0 d=16
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_bggr16: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_bggr16le chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_bggr16be: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_bggr16be chroma=0:0 flags=0x121 [be][rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_bggr8: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_bggr8 chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=2
|
|
|
|
1: p=0 st=1 o=0 sh=0 d=4
|
|
|
|
2: p=0 st=1 o=0 sh=0 d=2
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_gbrg16: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_gbrg16le chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_gbrg16be: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_gbrg16be chroma=0:0 flags=0x121 [be][rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_gbrg8: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_gbrg8 chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=2
|
|
|
|
1: p=0 st=1 o=0 sh=0 d=4
|
|
|
|
2: p=0 st=1 o=0 sh=0 d=2
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_grbg16: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_grbg16le chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_grbg16be: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_grbg16be chroma=0:0 flags=0x121 [be][rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_grbg8: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_grbg8 chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=2
|
|
|
|
1: p=0 st=1 o=0 sh=0 d=4
|
|
|
|
2: p=0 st=1 o=0 sh=0 d=2
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_rggb16: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_rggb16le chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_rggb16be: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_rggb16be chroma=0:0 flags=0x121 [be][rgb][bayer]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
2020-05-20 16:25:14 +00:00
|
|
|
bayer_rggb8: [GENERIC] fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][rgb][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bayer_rggb8 chroma=0:0 flags=0x120 [rgb][bayer]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=2
|
|
|
|
1: p=0 st=1 o=0 sh=0 d=4
|
|
|
|
2: p=0 st=1 o=0 sh=0 d=2
|
|
|
|
bgr0: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {16:8} {8:8} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1, 0}
|
|
|
|
AVD: name=bgr0 chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
bgr24: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{24/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 24bits {16:8} {8:8} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1}
|
|
|
|
AVD: name=bgr24 chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=3 o=2 sh=0 d=8
|
|
|
|
1: p=0 st=3 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=3 o=0 sh=0 d=8
|
|
|
|
bgr4: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=2:1
|
|
|
|
{4/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 4bits {3:1} {1:2} {0:1} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr4 chroma=0:0 flags=0x24 [bs][rgb]
|
|
|
|
0: p=0 st=4 o=3 sh=0 d=1
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=2
|
|
|
|
2: p=0 st=4 o=0 sh=0 d=1
|
|
|
|
bgr444: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:4} {4:4} {8:4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr444le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=4 d=4
|
|
|
|
2: p=0 st=2 o=1 sh=0 d=4
|
|
|
|
bgr444be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:4} {4:4} {8:4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr444be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=4 d=4
|
|
|
|
2: p=0 st=2 o=-1 sh=0 d=4
|
|
|
|
bgr48: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{48/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 48bits {32:16} {16:16} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1}
|
|
|
|
AVD: name=bgr48le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=6 o=4 sh=0 d=16
|
|
|
|
1: p=0 st=6 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=6 o=0 sh=0 d=16
|
|
|
|
bgr48be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{48/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 48bits endian_bytes=2 {32:16} {16:16} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr48be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=6 o=4 sh=0 d=16
|
|
|
|
1: p=0 st=6 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=6 o=0 sh=0 d=16
|
|
|
|
bgr4_byte: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:1} {1:2} {3:1} {}
|
2023-02-25 23:46:42 +00:00
|
|
|
AVD: name=bgr4_byte chroma=0:0 flags=0x20 [rgb]
|
2019-11-08 16:20:57 +00:00
|
|
|
0: p=0 st=1 o=0 sh=0 d=1
|
|
|
|
1: p=0 st=1 o=0 sh=1 d=2
|
|
|
|
2: p=0 st=1 o=0 sh=3 d=1
|
|
|
|
bgr555: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:5} {5:5} {10:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr555le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=5
|
|
|
|
2: p=0 st=2 o=1 sh=2 d=5
|
|
|
|
bgr555be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:5} {5:5} {10:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr555be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=5
|
|
|
|
2: p=0 st=2 o=-1 sh=2 d=5
|
|
|
|
bgr565: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:5} {5:6} {11:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr565le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=6
|
|
|
|
2: p=0 st=2 o=1 sh=3 d=5
|
|
|
|
bgr565be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:5} {5:6} {11:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgr565be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=6
|
|
|
|
2: p=0 st=2 o=-1 sh=3 d=5
|
|
|
|
bgr8: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:3} {3:3} {6:2} {}
|
2023-02-25 23:46:42 +00:00
|
|
|
AVD: name=bgr8 chroma=0:0 flags=0x20 [rgb]
|
2019-11-08 16:20:57 +00:00
|
|
|
0: p=0 st=1 o=0 sh=0 d=3
|
|
|
|
1: p=0 st=1 o=0 sh=3 d=3
|
|
|
|
2: p=0 st=1 o=0 sh=6 d=2
|
|
|
|
bgra: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {16:8} {8:8} {0:8} {24:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1, 4}
|
|
|
|
AVD: name=bgra chroma=0:0 flags=0xa0 [rgb][alpha]
|
|
|
|
0: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
3: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
bgra64: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 64bits {32:16} {16:16} {0:16} {48:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1, 4}
|
|
|
|
AVD: name=bgra64le chroma=0:0 flags=0xa0 [rgb][alpha]
|
|
|
|
0: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=6 sh=0 d=16
|
|
|
|
bgra64be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 64bits endian_bytes=2 {32:16} {16:16} {0:16} {48:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=bgra64be chroma=0:0 flags=0xa1 [be][rgb][alpha]
|
|
|
|
0: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=6 sh=0 d=16
|
2020-02-28 19:16:08 +00:00
|
|
|
cuda: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=cuda chroma=0:0 flags=0x8 [hw]
|
2020-02-28 19:16:08 +00:00
|
|
|
d3d11: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=d3d11 chroma=0:0 flags=0x8 [hw]
|
|
|
|
d3d11va_vld: [GENERIC] ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=1:1 align=2:2
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=d3d11va_vld chroma=1:1 flags=0x8 [hw]
|
2024-04-12 14:36:11 +00:00
|
|
|
d3d12: [GENERIC] ctype=unknown
|
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
|
|
|
AVD: name=d3d12 chroma=0:0 flags=0x8 [hw]
|
2019-11-08 16:20:57 +00:00
|
|
|
drm_prime: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=drm_prime chroma=0:0 flags=0x8 [hw]
|
|
|
|
dxva2_vld: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=1:1 align=2:2
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=dxva2_vld chroma=1:1 flags=0x8 [hw]
|
|
|
|
gbrap: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] 8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {0:8} {} {}
|
|
|
|
1: 8bits {} {} {0:8} {}
|
|
|
|
2: 8bits {0:8} {} {} {}
|
|
|
|
3: 8bits {} {} {} {0:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=gbrap chroma=0:0 flags=0xb0 [planar][rgb][alpha]
|
|
|
|
0: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
3: p=3 st=1 o=0 sh=0 d=8
|
|
|
|
gbrap10: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16/-6} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-6} {}
|
|
|
|
2: 16bits {0:16/-6} {} {} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=gbrap10le chroma=0:0 flags=0xb0 [planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
gbrap10be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrap10be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
gbrap12: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16/-4} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-4} {}
|
|
|
|
2: 16bits {0:16/-4} {} {} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-4}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=gbrap12le chroma=0:0 flags=0xb0 [planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=12
|
|
|
|
gbrap12be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-4}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrap12be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=12
|
2023-11-18 19:29:32 +00:00
|
|
|
gbrap14: [GENERIC] fcsp=rgb ctype=uint
|
|
|
|
Basic desc: [ba][bb][a][rgb][le][uint]
|
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
|
|
|
0: 16bits {} {0:16/-2} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-2} {}
|
|
|
|
2: 16bits {0:16/-2} {} {} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-2}
|
|
|
|
Regular: planes=4 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=gbrap14le chroma=0:0 flags=0xb0 [planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=14
|
|
|
|
gbrap14be: [GENERIC] fcsp=rgb ctype=uint
|
|
|
|
Basic desc: [ba][bb][a][rgb][be][uint]
|
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-2} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-2} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-2} {} {} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-2}
|
|
|
|
AVD: name=gbrap14be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=14
|
2019-11-08 16:20:57 +00:00
|
|
|
gbrap16: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16} {} {}
|
|
|
|
1: 16bits {} {} {0:16} {}
|
|
|
|
2: 16bits {0:16} {} {} {}
|
|
|
|
3: 16bits {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=gbrap16le chroma=0:0 flags=0xb0 [planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
gbrap16be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrap16be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
gbrapf32: [GENERIC] fcsp=rgb ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] 32/[0:0] 32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {} {0:32} {} {}
|
|
|
|
1: 32bits {} {} {0:32} {}
|
|
|
|
2: 32bits {0:32} {} {} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=gbrapf32le chroma=0:0 flags=0x2b0 [planar][rgb][alpha][float]
|
|
|
|
0: p=2 st=4 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=4 o=0 sh=0 d=32
|
|
|
|
2: p=1 st=4 o=0 sh=0 d=32
|
|
|
|
3: p=3 st=4 o=0 sh=0 d=32
|
|
|
|
gbrapf32be: [GENERIC] fcsp=rgb ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][be][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] 32/[0:0] 32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits endian_bytes=4 {} {0:32} {} {}
|
|
|
|
1: 32bits endian_bytes=4 {} {} {0:32} {}
|
|
|
|
2: 32bits endian_bytes=4 {0:32} {} {} {}
|
|
|
|
3: 32bits endian_bytes=4 {} {} {} {0:32}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrapf32be chroma=0:0 flags=0x2b1 [be][planar][rgb][alpha][float]
|
|
|
|
0: p=2 st=4 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=4 o=0 sh=0 d=32
|
|
|
|
2: p=1 st=4 o=0 sh=0 d=32
|
|
|
|
3: p=3 st=4 o=0 sh=0 d=32
|
|
|
|
gbrp: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {0:8} {} {}
|
|
|
|
1: 8bits {} {} {0:8} {}
|
|
|
|
2: 8bits {0:8} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrp chroma=0:0 flags=0x30 [planar][rgb]
|
|
|
|
0: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=1 st=1 o=0 sh=0 d=8
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
gbrp1: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {} {0:8/-7} {} {}
|
|
|
|
1: 8bits {} {} {0:8/-7} {}
|
|
|
|
2: 8bits {0:8/-7} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=-7 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
2019-11-08 16:20:57 +00:00
|
|
|
gbrp10: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16/-6} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-6} {}
|
|
|
|
2: 16bits {0:16/-6} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrp10le chroma=0:0 flags=0x30 [planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
gbrp10be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrp10be chroma=0:0 flags=0x31 [be][planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
gbrp12: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16/-4} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-4} {}
|
|
|
|
2: 16bits {0:16/-4} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrp12le chroma=0:0 flags=0x30 [planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
gbrp12be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrp12be chroma=0:0 flags=0x31 [be][planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
gbrp14: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16/-2} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-2} {}
|
|
|
|
2: 16bits {0:16/-2} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrp14le chroma=0:0 flags=0x30 [planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
gbrp14be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-2} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-2} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-2} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrp14be chroma=0:0 flags=0x31 [be][planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
gbrp16: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16} {} {}
|
|
|
|
1: 16bits {} {} {0:16} {}
|
|
|
|
2: 16bits {0:16} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrp16le chroma=0:0 flags=0x30 [planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
gbrp16be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrp16be chroma=0:0 flags=0x31 [be][planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=16
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
gbrp2: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {} {0:8/-6} {} {}
|
|
|
|
1: 8bits {} {} {0:8/-6} {}
|
|
|
|
2: 8bits {0:8/-6} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=-6 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
gbrp3: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {} {0:8/-5} {} {}
|
|
|
|
1: 8bits {} {} {0:8/-5} {}
|
|
|
|
2: 8bits {0:8/-5} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=-5 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
gbrp4: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {} {0:8/-4} {} {}
|
|
|
|
1: 8bits {} {} {0:8/-4} {}
|
|
|
|
2: 8bits {0:8/-4} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=-4 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
gbrp5: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {} {0:8/-3} {} {}
|
|
|
|
1: 8bits {} {} {0:8/-3} {}
|
|
|
|
2: 8bits {0:8/-3} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=-3 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
gbrp6: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {} {0:8/-2} {} {}
|
|
|
|
1: 8bits {} {} {0:8/-2} {}
|
|
|
|
2: 8bits {0:8/-2} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=-2 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
2019-11-08 16:20:57 +00:00
|
|
|
gbrp9: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {} {0:16/-7} {} {}
|
|
|
|
1: 16bits {} {} {0:16/-7} {}
|
|
|
|
2: 16bits {0:16/-7} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrp9le chroma=0:0 flags=0x30 [planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
gbrp9be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
|
|
|
2: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrp9be chroma=0:0 flags=0x31 [be][planar][rgb]
|
|
|
|
0: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
gbrpf32: [GENERIC] fcsp=rgb ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] 32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {} {0:32} {} {}
|
|
|
|
1: 32bits {} {} {0:32} {}
|
|
|
|
2: 32bits {0:32} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {2}
|
|
|
|
1: {3}
|
|
|
|
2: {1}
|
|
|
|
AVD: name=gbrpf32le chroma=0:0 flags=0x230 [planar][rgb][float]
|
|
|
|
0: p=2 st=4 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=4 o=0 sh=0 d=32
|
|
|
|
2: p=1 st=4 o=0 sh=0 d=32
|
|
|
|
gbrpf32be: [GENERIC] fcsp=rgb ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] 32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits endian_bytes=4 {} {0:32} {} {}
|
|
|
|
1: 32bits endian_bytes=4 {} {} {0:32} {}
|
|
|
|
2: 32bits endian_bytes=4 {0:32} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gbrpf32be chroma=0:0 flags=0x231 [be][planar][rgb][float]
|
|
|
|
0: p=2 st=4 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=4 o=0 sh=0 d=32
|
|
|
|
2: p=1 st=4 o=0 sh=0 d=32
|
|
|
|
gray: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
2023-02-25 23:46:42 +00:00
|
|
|
AVD: name=gray chroma=0:0 flags=0x0
|
2019-11-08 16:20:57 +00:00
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
gray10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
AVD: name=gray10le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
gray10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gray10be chroma=0:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
gray12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
AVD: name=gray12le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
gray12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gray12be chroma=0:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
gray14: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-2} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
AVD: name=gray14le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
gray14be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-2} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gray14be chroma=0:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
gray16: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
AVD: name=gray16le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
gray16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gray16be chroma=0:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
gray9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
AVD: name=gray9le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
gray9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][gray][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=gray9be chroma=0:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
grayaf32: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][gray][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=2 compbytes=4 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {4}
|
2019-11-08 16:20:57 +00:00
|
|
|
grayf32: [GENERIC] ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][gray][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=4 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
AVD: name=grayf32le chroma=0:0 flags=0x200 [float]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=32
|
|
|
|
grayf32be: [GENERIC] ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][gray][be][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits endian_bytes=4 {0:32} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=grayf32be chroma=0:0 flags=0x201 [be][float]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=32
|
2020-02-28 19:16:08 +00:00
|
|
|
mediacodec: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=mediacodec chroma=0:0 flags=0x8 [hw]
|
|
|
|
mmal: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=mmal chroma=0:0 flags=0x8 [hw]
|
|
|
|
monob: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [rgb][gray][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=8:1
|
|
|
|
{1/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 1bits {0:1} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=monob chroma=0:0 flags=0x4 [bs]
|
|
|
|
0: p=0 st=1 o=0 sh=7 d=1
|
2020-04-23 11:00:51 +00:00
|
|
|
monow: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [rgb][gray][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=8:1
|
|
|
|
{1/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 1bits {0:1} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=monow chroma=0:0 flags=0x4 [bs]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=1
|
|
|
|
nv12: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{8/[0:0] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 16bits {} {0:8} {8:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=nv12 chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=1 st=2 o=1 sh=0 d=8
|
|
|
|
nv16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{8/[0:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 16bits {} {0:8} {8:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=nv16 chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=1 st=2 o=1 sh=0 d=8
|
|
|
|
nv20: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 32bits {} {0:16/-6} {16:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=2 bitpad=-6 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=nv20le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=10
|
|
|
|
nv20be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/-6} {16:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=nv20be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=10
|
|
|
|
nv21: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{8/[0:0] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 16bits {} {8:8} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {3, 2}
|
|
|
|
AVD: name=nv21 chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=2 o=1 sh=0 d=8
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=8
|
2020-02-28 19:16:08 +00:00
|
|
|
nv24: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 16bits {} {0:8} {8:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=nv24 chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=8
|
|
|
|
2: p=1 st=2 o=1 sh=0 d=8
|
|
|
|
nv42: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 16bits {} {8:8} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {3, 2}
|
|
|
|
AVD: name=nv42 chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=2 o=1 sh=0 d=8
|
|
|
|
2: p=1 st=2 o=0 sh=0 d=8
|
|
|
|
opencl: [GENERIC] ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=opencl chroma=0:0 flags=0x8 [hw]
|
|
|
|
p010: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 32/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/6} {} {} {}
|
|
|
|
1: 32bits {} {0:16/6} {16:16/6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=2 bitpad=6 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p010le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=6 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=6 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=6 d=10
|
|
|
|
p010be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 32/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/6} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/6} {16:16/6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=p010be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=6 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=6 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=6 d=10
|
2023-03-14 20:51:40 +00:00
|
|
|
p012: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 32/[1:1] }
|
|
|
|
0: 16bits {0:16/4} {} {} {}
|
|
|
|
1: 32bits {} {0:16/4} {16:16/4} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=4 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p012le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=4 d=12
|
|
|
|
1: p=1 st=4 o=0 sh=4 d=12
|
|
|
|
2: p=1 st=4 o=2 sh=4 d=12
|
|
|
|
p012be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 32/[1:1] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16/4} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/4} {16:16/4} {}
|
|
|
|
AVD: name=p012be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=4 d=12
|
|
|
|
1: p=1 st=4 o=0 sh=4 d=12
|
|
|
|
2: p=1 st=4 o=2 sh=4 d=12
|
2019-11-08 16:20:57 +00:00
|
|
|
p016: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 32/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 32bits {} {0:16} {16:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=2 compbytes=2 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p016le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=16
|
|
|
|
p016be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 32/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16} {16:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=p016be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=16
|
2023-02-25 23:46:42 +00:00
|
|
|
p210: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
|
|
|
0: 16bits {0:16/6} {} {} {}
|
|
|
|
1: 32bits {} {0:16/6} {16:16/6} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=6 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p210le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=6 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=6 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=6 d=10
|
|
|
|
p210be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16/6} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/6} {16:16/6} {}
|
|
|
|
AVD: name=p210be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=6 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=6 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=6 d=10
|
2023-11-18 19:29:32 +00:00
|
|
|
p212: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
|
|
|
0: 16bits {0:16/4} {} {} {}
|
|
|
|
1: 32bits {} {0:16/4} {16:16/4} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=4 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p212le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=4 d=12
|
|
|
|
1: p=1 st=4 o=0 sh=4 d=12
|
|
|
|
2: p=1 st=4 o=2 sh=4 d=12
|
|
|
|
p212be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16/4} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/4} {16:16/4} {}
|
|
|
|
AVD: name=p212be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=4 d=12
|
|
|
|
1: p=1 st=4 o=0 sh=4 d=12
|
|
|
|
2: p=1 st=4 o=2 sh=4 d=12
|
2023-02-25 23:46:42 +00:00
|
|
|
p216: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 32bits {} {0:16} {16:16} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p216le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=16
|
|
|
|
p216be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 32/[1:0] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16} {16:16} {}
|
|
|
|
AVD: name=p216be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=16
|
|
|
|
p410: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 32/[0:0] }
|
|
|
|
0: 16bits {0:16/6} {} {} {}
|
|
|
|
1: 32bits {} {0:16/6} {16:16/6} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=6 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p410le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=6 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=6 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=6 d=10
|
|
|
|
p410be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 32/[0:0] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16/6} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/6} {16:16/6} {}
|
|
|
|
AVD: name=p410be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=6 d=10
|
|
|
|
1: p=1 st=4 o=0 sh=6 d=10
|
|
|
|
2: p=1 st=4 o=2 sh=6 d=10
|
2023-11-18 19:29:32 +00:00
|
|
|
p412: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 32/[0:0] }
|
|
|
|
0: 16bits {0:16/4} {} {} {}
|
|
|
|
1: 32bits {} {0:16/4} {16:16/4} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=4 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p412le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=4 d=12
|
|
|
|
1: p=1 st=4 o=0 sh=4 d=12
|
|
|
|
2: p=1 st=4 o=2 sh=4 d=12
|
|
|
|
p412be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 32/[0:0] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16/4} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16/4} {16:16/4} {}
|
|
|
|
AVD: name=p412be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=4 d=12
|
|
|
|
1: p=1 st=4 o=0 sh=4 d=12
|
|
|
|
2: p=1 st=4 o=2 sh=4 d=12
|
2023-02-25 23:46:42 +00:00
|
|
|
p416: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][le][uint]
|
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 32/[0:0] }
|
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 32bits {} {0:16} {16:16} {}
|
|
|
|
Regular: planes=2 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2, 3}
|
|
|
|
AVD: name=p416le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=16
|
|
|
|
p416be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][nv][yuv][be][uint]
|
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 32/[0:0] }
|
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 32bits endian_bytes=2 {} {0:16} {16:16} {}
|
|
|
|
AVD: name=p416be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=4 o=0 sh=0 d=16
|
|
|
|
2: p=1 st=4 o=2 sh=0 d=16
|
2020-05-20 16:25:14 +00:00
|
|
|
pal8: fcsp=rgb ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [ba][a][rgb][le][be][pal]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {} {} {} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=pal8 chroma=0:0 flags=0x82 [pal][alpha]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
qsv: [GENERIC] ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=qsv chroma=0:0 flags=0x8 [hw]
|
|
|
|
rgb0: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {0:8} {8:8} {16:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 2, 3, 0}
|
|
|
|
AVD: name=rgb0 chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
rgb24: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{24/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 24bits {0:8} {8:8} {16:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 2, 3}
|
|
|
|
AVD: name=rgb24 chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=3 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=3 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=3 o=2 sh=0 d=8
|
|
|
|
rgb30: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {20:10} {10:10} {0:10} {}
|
2020-06-17 14:20:37 +00:00
|
|
|
AVD: name=x2rgb10le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=4 o=2 sh=4 d=10
|
|
|
|
1: p=0 st=4 o=1 sh=2 d=10
|
|
|
|
2: p=0 st=4 o=0 sh=0 d=10
|
2019-11-08 16:20:57 +00:00
|
|
|
rgb4: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=2:1
|
|
|
|
{4/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 4bits {0:1} {1:2} {3:1} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb4 chroma=0:0 flags=0x24 [bs][rgb]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=1
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=2
|
|
|
|
2: p=0 st=4 o=3 sh=0 d=1
|
|
|
|
rgb444: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {8:4} {4:4} {0:4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb444le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=2 o=1 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=4 d=4
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
rgb444be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {8:4} {4:4} {0:4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb444be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=2 o=-1 sh=0 d=4
|
|
|
|
1: p=0 st=2 o=0 sh=4 d=4
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=4
|
|
|
|
rgb48: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{48/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 48bits {0:16} {16:16} {32:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 2, 3}
|
|
|
|
AVD: name=rgb48le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=6 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=6 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=6 o=4 sh=0 d=16
|
|
|
|
rgb48be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{48/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 48bits endian_bytes=2 {0:16} {16:16} {32:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb48be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=6 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=6 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=6 o=4 sh=0 d=16
|
|
|
|
rgb4_byte: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {3:1} {1:2} {0:1} {}
|
2023-02-25 23:46:42 +00:00
|
|
|
AVD: name=rgb4_byte chroma=0:0 flags=0x20 [rgb]
|
2019-11-08 16:20:57 +00:00
|
|
|
0: p=0 st=1 o=0 sh=3 d=1
|
|
|
|
1: p=0 st=1 o=0 sh=1 d=2
|
|
|
|
2: p=0 st=1 o=0 sh=0 d=1
|
|
|
|
rgb555: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {10:5} {5:5} {0:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb555le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=2 o=1 sh=2 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=5
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
rgb555be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {10:5} {5:5} {0:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb555be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=2 o=-1 sh=2 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=5
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
rgb565: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {11:5} {5:6} {0:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb565le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=2 o=1 sh=3 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=6
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
rgb565be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {11:5} {5:6} {0:5} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgb565be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=2 o=-1 sh=3 d=5
|
|
|
|
1: p=0 st=2 o=0 sh=5 d=6
|
|
|
|
2: p=0 st=2 o=0 sh=0 d=5
|
|
|
|
rgb8: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {5:3} {2:3} {0:2} {}
|
2023-02-25 23:46:42 +00:00
|
|
|
AVD: name=rgb8 chroma=0:0 flags=0x20 [rgb]
|
2024-04-12 14:36:11 +00:00
|
|
|
0: p=0 st=1 o=0 sh=5 d=3
|
|
|
|
1: p=0 st=1 o=0 sh=2 d=3
|
|
|
|
2: p=0 st=1 o=0 sh=0 d=2
|
2019-11-08 16:20:57 +00:00
|
|
|
rgba: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {0:8} {8:8} {16:8} {24:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 2, 3, 4}
|
|
|
|
AVD: name=rgba chroma=0:0 flags=0xa0 [rgb][alpha]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
3: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
rgba64: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 64bits {0:16} {16:16} {32:16} {48:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 2, 3, 4}
|
|
|
|
AVD: name=rgba64le chroma=0:0 flags=0xa0 [rgb][alpha]
|
|
|
|
0: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=6 sh=0 d=16
|
|
|
|
rgba64be: [GENERIC] fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][rgb][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 64bits endian_bytes=2 {0:16} {16:16} {32:16} {48:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=rgba64be chroma=0:0 flags=0xa1 [be][rgb][alpha]
|
|
|
|
0: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=6 sh=0 d=16
|
2023-03-14 20:51:40 +00:00
|
|
|
rgbaf16: [GENERIC] fcsp=rgb ctype=float
|
|
|
|
Basic desc: [ba][bb][a][rgb][le][float]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
|
|
|
0: 64bits {0:16} {16:16} {32:16} {48:16}
|
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {1, 2, 3, 4}
|
|
|
|
AVD: name=rgbaf16le chroma=0:0 flags=0x2a0 [rgb][alpha][float]
|
|
|
|
0: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=6 sh=0 d=16
|
|
|
|
rgbaf16be: [GENERIC] fcsp=rgb ctype=float
|
|
|
|
Basic desc: [ba][bb][a][rgb][be][float]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
|
|
|
0: 64bits endian_bytes=2 {0:16} {16:16} {32:16} {48:16}
|
|
|
|
AVD: name=rgbaf16be chroma=0:0 flags=0x2a1 [be][rgb][alpha][float]
|
|
|
|
0: p=0 st=8 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=8 o=2 sh=0 d=16
|
|
|
|
2: p=0 st=8 o=4 sh=0 d=16
|
|
|
|
3: p=0 st=8 o=6 sh=0 d=16
|
|
|
|
rgbaf32: [GENERIC] fcsp=rgb ctype=float
|
|
|
|
Basic desc: [ba][a][rgb][le][be][float]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{-128/[0:0] }
|
|
|
|
0: -128bits {} {} {} {}
|
|
|
|
[NOALLOC]
|
|
|
|
AVD: name=rgbaf32le chroma=0:0 flags=0x2a0 [rgb][alpha][float]
|
|
|
|
0: p=0 st=16 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=16 o=4 sh=0 d=32
|
|
|
|
2: p=0 st=16 o=8 sh=0 d=32
|
|
|
|
3: p=0 st=16 o=12 sh=0 d=32
|
|
|
|
rgbaf32be: [GENERIC] fcsp=rgb ctype=float
|
|
|
|
Basic desc: [ba][a][rgb][le][be][float]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{-128/[0:0] }
|
|
|
|
0: -128bits endian_bytes=4 {} {} {} {}
|
|
|
|
[NOALLOC]
|
|
|
|
AVD: name=rgbaf32be chroma=0:0 flags=0x2a1 [be][rgb][alpha][float]
|
|
|
|
0: p=0 st=16 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=16 o=4 sh=0 d=32
|
|
|
|
2: p=0 st=16 o=8 sh=0 d=32
|
|
|
|
3: p=0 st=16 o=12 sh=0 d=32
|
|
|
|
rgbf32: [GENERIC] fcsp=rgb ctype=float
|
|
|
|
Basic desc: [ba][rgb][le][be][float]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{96/[0:0] }
|
|
|
|
0: 96bits {} {} {} {}
|
|
|
|
AVD: name=rgbf32le chroma=0:0 flags=0x220 [rgb][float]
|
|
|
|
0: p=0 st=12 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=12 o=4 sh=0 d=32
|
|
|
|
2: p=0 st=12 o=8 sh=0 d=32
|
|
|
|
rgbf32be: [GENERIC] fcsp=rgb ctype=float
|
|
|
|
Basic desc: [ba][rgb][le][be][float]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{96/[0:0] }
|
|
|
|
0: 96bits endian_bytes=4 {} {} {} {}
|
|
|
|
AVD: name=rgbf32be chroma=0:0 flags=0x221 [be][rgb][float]
|
|
|
|
0: p=0 st=12 o=0 sh=0 d=32
|
|
|
|
1: p=0 st=12 o=4 sh=0 d=32
|
|
|
|
2: p=0 st=12 o=8 sh=0 d=32
|
2019-11-08 16:20:57 +00:00
|
|
|
uyvy422: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] }
|
2020-05-19 21:58:36 +00:00
|
|
|
0: 16bits {8:8} {0:8} {16:8} {}
|
|
|
|
luma_offsets=[ 8 24]
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=uyvy422 chroma=1:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=1 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
uyyvyy411: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [yuv][le][be][uint]
|
2020-05-18 17:29:25 +00:00
|
|
|
planes=1, chroma=2:0 align=4:1
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
{12/[0:0] }
|
2020-05-19 21:58:36 +00:00
|
|
|
0: 12bits {8:8} {0:8} {24:8} {}
|
|
|
|
luma_offsets=[ 8 16 32 40]
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=uyyvyy411 chroma=2:0 flags=0x0
|
|
|
|
0: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
1: p=0 st=6 o=0 sh=0 d=8
|
|
|
|
2: p=0 st=6 o=3 sh=0 d=8
|
|
|
|
vaapi: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=1:1 align=2:2
|
|
|
|
{}
|
2023-02-25 23:46:42 +00:00
|
|
|
AVD: name=vaapi chroma=1:1 flags=0x8 [hw]
|
2019-11-08 16:20:57 +00:00
|
|
|
vdpau: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=1:1 align=2:2
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=vdpau chroma=1:1 flags=0x8 [hw]
|
2020-05-20 16:25:14 +00:00
|
|
|
vdpau_output: fcsp=rgb ctype=unknown
|
|
|
|
Basic desc: [rgb][le][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
2020-05-17 12:57:13 +00:00
|
|
|
{}
|
2020-02-28 19:16:08 +00:00
|
|
|
videotoolbox: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=videotoolbox_vld chroma=0:0 flags=0x8 [hw]
|
2023-11-18 19:29:32 +00:00
|
|
|
vulkan: ctype=unknown
|
2020-05-17 12:57:13 +00:00
|
|
|
Basic desc: [le][be][hw]
|
|
|
|
planes=0, chroma=0:0 align=1:1
|
|
|
|
{}
|
2020-02-28 19:16:08 +00:00
|
|
|
AVD: name=vulkan chroma=0:0 flags=0x8 [hw]
|
2023-03-14 20:51:40 +00:00
|
|
|
vuya: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][a][yuv][le][be][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits {16:8} {8:8} {0:8} {24:8}
|
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1, 4}
|
|
|
|
AVD: name=vuya chroma=0:0 flags=0x80 [alpha]
|
|
|
|
0: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=0 sh=0 d=8
|
|
|
|
3: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
vuyx: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][yuv][le][be][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits {16:8} {8:8} {0:8} {}
|
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {3, 2, 1, 0}
|
|
|
|
AVD: name=vuyx chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=4 o=2 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=0 sh=0 d=8
|
2023-02-25 23:46:42 +00:00
|
|
|
x2bgr10: [GENERIC] fcsp=rgb ctype=uint
|
|
|
|
Basic desc: [ba][rgb][le][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits {0:10} {10:10} {20:10} {}
|
|
|
|
AVD: name=x2bgr10le chroma=0:0 flags=0x20 [rgb]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=10
|
|
|
|
1: p=0 st=4 o=1 sh=2 d=10
|
|
|
|
2: p=0 st=4 o=2 sh=4 d=10
|
|
|
|
x2bgr10be: [GENERIC] fcsp=rgb ctype=uint
|
|
|
|
Basic desc: [ba][rgb][be][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits endian_bytes=4 {0:10} {10:10} {20:10} {}
|
|
|
|
AVD: name=x2bgr10be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=4 o=2 sh=0 d=10
|
|
|
|
1: p=0 st=4 o=1 sh=2 d=10
|
|
|
|
2: p=0 st=4 o=0 sh=4 d=10
|
2020-06-17 14:20:37 +00:00
|
|
|
x2rgb10be: [GENERIC] fcsp=rgb ctype=uint
|
|
|
|
Basic desc: [ba][rgb][be][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits endian_bytes=4 {20:10} {10:10} {0:10} {}
|
|
|
|
AVD: name=x2rgb10be chroma=0:0 flags=0x21 [be][rgb]
|
|
|
|
0: p=0 st=4 o=0 sh=4 d=10
|
|
|
|
1: p=0 st=4 o=1 sh=2 d=10
|
|
|
|
2: p=0 st=4 o=2 sh=0 d=10
|
2023-03-14 20:51:40 +00:00
|
|
|
xv30: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][yuv][le][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits {10:10} {0:10} {20:10} {}
|
|
|
|
AVD: name=xv30le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=4 o=1 sh=2 d=10
|
|
|
|
1: p=0 st=4 o=0 sh=0 d=10
|
|
|
|
2: p=0 st=4 o=2 sh=4 d=10
|
|
|
|
xv30be: [GENERIC] ctype=unknown
|
|
|
|
Basic desc: [ba][yuv][le][be]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits endian_bytes=4 {} {} {} {}
|
|
|
|
AVD: name=xv30be chroma=0:0 flags=0x5 [be][bs]
|
|
|
|
0: p=0 st=32 o=10 sh=0 d=10
|
|
|
|
1: p=0 st=32 o=0 sh=0 d=10
|
|
|
|
2: p=0 st=32 o=20 sh=0 d=10
|
|
|
|
xv36: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][yuv][le][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
|
|
|
0: 64bits {16:16/4} {0:16/4} {32:16/4} {}
|
|
|
|
Regular: planes=1 compbytes=2 bitpad=4 chroma=1x1 ctype=uint
|
|
|
|
0: {2, 1, 3, 0}
|
|
|
|
AVD: name=xv36le chroma=0:0 flags=0x0
|
|
|
|
0: p=0 st=8 o=2 sh=4 d=12
|
|
|
|
1: p=0 st=8 o=0 sh=4 d=12
|
|
|
|
2: p=0 st=8 o=4 sh=4 d=12
|
|
|
|
xv36be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][bb][yuv][be][uint]
|
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{64/[0:0] }
|
|
|
|
0: 64bits endian_bytes=2 {16:16/4} {0:16/4} {32:16/4} {}
|
|
|
|
AVD: name=xv36be chroma=0:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=8 o=2 sh=4 d=12
|
|
|
|
1: p=0 st=8 o=0 sh=4 d=12
|
|
|
|
2: p=0 st=8 o=4 sh=4 d=12
|
2019-11-08 16:20:57 +00:00
|
|
|
xyz12: [GENERIC] fcsp=xyz ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][xyz][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{48/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 48bits {0:16/4} {16:16/4} {32:16/4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=4 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 2, 3}
|
2024-04-12 14:36:11 +00:00
|
|
|
AVD: name=xyz12le chroma=0:0 flags=0x400
|
2019-11-08 16:20:57 +00:00
|
|
|
0: p=0 st=6 o=0 sh=4 d=12
|
|
|
|
1: p=0 st=6 o=2 sh=4 d=12
|
|
|
|
2: p=0 st=6 o=4 sh=4 d=12
|
|
|
|
xyz12be: [GENERIC] fcsp=xyz ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][xyz][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{48/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 48bits endian_bytes=2 {0:16/4} {16:16/4} {32:16/4} {}
|
2024-04-12 14:36:11 +00:00
|
|
|
AVD: name=xyz12be chroma=0:0 flags=0x401 [be]
|
2019-11-08 16:20:57 +00:00
|
|
|
0: p=0 st=6 o=0 sh=4 d=12
|
|
|
|
1: p=0 st=6 o=2 sh=4 d=12
|
|
|
|
2: p=0 st=6 o=4 sh=4 d=12
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
y1: fcsp=rgb ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][rgb][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {0:8/-7} {} {} {}
|
img_format: add some mpv-only helper formats
Utterly useless, but the intention is to make dealing with corner case
pixel formats (forced upon us by FFmpeg, very rarely) less of a pain.
The zimg wrapper will use them. (It already supports these formats
automatically, but it will help with its internals.)
Y1 is considered RGB, even though gray formats are generally treated as
YUV for various reasons. mpv will default all YUV formats to limited
range internally, which makes no sense for a 1 bit format, so this is a
problem. I wanted to avoid that mp_image_params_guess_csp() (which
applies the default) explicitly checks for an image format, so although
a bit janky, this seems to be a good solution, especially because I
really don't give a shit about these formats, other than having to
handle them. It's notable that AV_PIX_FMT_MONOBLACK (also 1 bit gray,
just packed) already explicitly marked itself as RGB.
2020-04-23 10:47:13 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=-7 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
2020-02-28 19:16:08 +00:00
|
|
|
y210: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{32/[0:0] }
|
2020-05-19 21:58:36 +00:00
|
|
|
0: 32bits {0:16/6} {16:16/6} {48:16/6} {}
|
|
|
|
luma_offsets=[ 0 32]
|
2020-02-28 19:16:08 +00:00
|
|
|
AVD: name=y210le chroma=1:0 flags=0x0
|
|
|
|
0: p=0 st=4 o=0 sh=6 d=10
|
|
|
|
1: p=0 st=8 o=2 sh=6 d=10
|
|
|
|
2: p=0 st=8 o=6 sh=6 d=10
|
|
|
|
y210be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{32/[0:0] }
|
2020-05-19 21:58:36 +00:00
|
|
|
0: 32bits endian_bytes=2 {0:16/6} {16:16/6} {48:16/6} {}
|
|
|
|
luma_offsets=[ 0 32]
|
2020-02-28 19:16:08 +00:00
|
|
|
AVD: name=y210be chroma=1:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=4 o=0 sh=6 d=10
|
|
|
|
1: p=0 st=8 o=2 sh=6 d=10
|
|
|
|
2: p=0 st=8 o=6 sh=6 d=10
|
2023-03-14 20:51:40 +00:00
|
|
|
y212: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][yuv][le][uint]
|
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits {0:16/4} {16:16/4} {48:16/4} {}
|
|
|
|
luma_offsets=[ 0 32]
|
|
|
|
AVD: name=y212le chroma=1:0 flags=0x0
|
|
|
|
0: p=0 st=4 o=0 sh=4 d=12
|
|
|
|
1: p=0 st=8 o=2 sh=4 d=12
|
|
|
|
2: p=0 st=8 o=6 sh=4 d=12
|
|
|
|
y212be: [GENERIC] ctype=uint
|
|
|
|
Basic desc: [ba][yuv][be][uint]
|
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{32/[0:0] }
|
|
|
|
0: 32bits endian_bytes=2 {0:16/4} {16:16/4} {48:16/4} {}
|
|
|
|
luma_offsets=[ 0 32]
|
|
|
|
AVD: name=y212be chroma=1:0 flags=0x1 [be]
|
|
|
|
0: p=0 st=4 o=0 sh=4 d=12
|
|
|
|
1: p=0 st=8 o=2 sh=4 d=12
|
|
|
|
2: p=0 st=8 o=6 sh=4 d=12
|
2019-11-08 16:20:57 +00:00
|
|
|
ya16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits {0:16} {} {} {16:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 4}
|
|
|
|
AVD: name=ya16le chroma=0:0 flags=0x80 [alpha]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=4 o=2 sh=0 d=16
|
|
|
|
ya16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][gray][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 32bits endian_bytes=2 {0:16} {} {} {16:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=ya16be chroma=0:0 flags=0x81 [be][alpha]
|
|
|
|
0: p=0 st=4 o=0 sh=0 d=16
|
|
|
|
1: p=0 st=4 o=2 sh=0 d=16
|
|
|
|
ya8: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][gray][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:8} {} {} {8:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1, 4}
|
|
|
|
AVD: name=ya8 chroma=0:0 flags=0x80 [alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=2 o=1 sh=0 d=8
|
2020-02-10 16:38:54 +00:00
|
|
|
yap16: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {} {} {0:16}
|
2020-02-10 16:38:54 +00:00
|
|
|
Regular: planes=2 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {4}
|
|
|
|
yap8: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][gray][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=2, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {} {} {0:8}
|
2020-02-10 16:38:54 +00:00
|
|
|
Regular: planes=2 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {4}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuv410p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=2:2 align=4:4
|
|
|
|
{8/[0:0] 8/[2:2] 8/[2:2] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=4x4 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv410p chroma=2:2 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
2020-05-09 15:58:55 +00:00
|
|
|
yuv410pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=2:2 align=4:4
|
|
|
|
{32/[0:0] 32/[2:2] 32/[2:2] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=4x4 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuv411p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=2:0 align=4:1
|
|
|
|
{8/[0:0] 8/[2:0] 8/[2:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=4x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv411p chroma=2:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
2020-05-09 15:58:55 +00:00
|
|
|
yuv411pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=2:0 align=4:1
|
|
|
|
{32/[0:0] 32/[2:0] 32/[2:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=4x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuv420p: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{8/[0:0] 8/[1:1] 8/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv420p chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
Ambiguous alias: yuvj420p
|
|
|
|
yuv420p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-6 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv420p10le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv420p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv420p10be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv420p12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-4} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-4 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv420p12le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv420p12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv420p12be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv420p14: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-2} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-2} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-2} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-2 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv420p14le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
yuv420p14be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-2} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-2} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-2} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv420p14be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
yuv420p16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {0:16} {} {}
|
|
|
|
2: 16bits {} {} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv420p16le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
yuv420p16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv420p16be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
yuv420p9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-7} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-7} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-7 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv420p9le chroma=1:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
yuv420p9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv420p9be chroma=1:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
yuv420pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:1 align=2:2
|
|
|
|
{32/[0:0] 32/[1:1] 32/[1:1] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=2x2 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuv422p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{8/[0:0] 8/[1:0] 8/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv422p chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
yuv422p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-6 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv422p10le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv422p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv422p10be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv422p12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-4} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-4 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv422p12le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv422p12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv422p12be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv422p14: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-2} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-2} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-2} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-2 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv422p14le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
yuv422p14be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-2} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-2} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-2} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv422p14be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
yuv422p16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {0:16} {} {}
|
|
|
|
2: 16bits {} {} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv422p16le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
yuv422p16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv422p16be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
yuv422p9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-7} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-7} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-7 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv422p9le chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
yuv422p9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv422p9be chroma=1:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
yuv422pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{32/[0:0] 32/[1:0] 32/[1:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=2x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuv440p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{8/[0:0] 8/[0:1] 8/[0:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv440p chroma=0:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
yuv440p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{16/[0:0] 16/[0:1] 16/[0:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-6 chroma=1x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv440p10le chroma=0:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv440p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{16/[0:0] 16/[0:1] 16/[0:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv440p10be chroma=0:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv440p12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{16/[0:0] 16/[0:1] 16/[0:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-4} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-4 chroma=1x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv440p12le chroma=0:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv440p12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{16/[0:0] 16/[0:1] 16/[0:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv440p12be chroma=0:1 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
2020-05-09 15:58:55 +00:00
|
|
|
yuv440pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{32/[0:0] 32/[0:1] 32/[0:1] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=1x2 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuv444p: ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv444p chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
Ambiguous alias: yuvj444p
|
|
|
|
yuv444p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv444p10le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv444p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv444p10be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
yuv444p12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-4} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv444p12le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv444p12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv444p12be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
yuv444p14: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-2} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-2} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-2} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv444p14le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
yuv444p14be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-2} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-2} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-2} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv444p14be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=14
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=14
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=14
|
|
|
|
yuv444p16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {0:16} {} {}
|
|
|
|
2: 16bits {} {} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv444p16le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
yuv444p16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv444p16be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
yuv444p9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-7} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-7} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuv444p9le chroma=0:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
yuv444p9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuv444p9be chroma=0:0 flags=0x11 [be][planar]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
yuv444pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=3 compbytes=4 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
yuva410pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=2:2 align=4:4
|
|
|
|
{32/[0:0] 32/[2:2] 32/[2:2] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=4x4 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
yuva411pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=2:0 align=4:1
|
|
|
|
{32/[0:0] 32/[2:0] 32/[2:0] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=4x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuva420p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{8/[0:0] 8/[1:1] 8/[1:1] 8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
|
|
|
3: 8bits {} {} {} {0:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva420p chroma=1:1 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
3: p=3 st=1 o=0 sh=0 d=8
|
|
|
|
yuva420p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-6 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva420p10le chroma=1:1 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
yuva420p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva420p10be chroma=1:1 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
yuva420p16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {0:16} {} {}
|
|
|
|
2: 16bits {} {} {0:16} {}
|
|
|
|
3: 16bits {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=0 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva420p16le chroma=1:1 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
yuva420p16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva420p16be chroma=1:1 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
yuva420p9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-7} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-7} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-7}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-7 chroma=2x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva420p9le chroma=1:1 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=9
|
|
|
|
yuva420p9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-7}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva420p9be chroma=1:1 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
yuva420pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:1 align=2:2
|
|
|
|
{32/[0:0] 32/[1:1] 32/[1:1] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=2x2 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuva422p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{8/[0:0] 8/[1:0] 8/[1:0] 8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
|
|
|
3: 8bits {} {} {} {0:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva422p chroma=1:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
3: p=3 st=1 o=0 sh=0 d=8
|
|
|
|
yuva422p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-6 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva422p10le chroma=1:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
yuva422p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva422p10be chroma=1:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
yuva422p12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-4} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-4} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-4}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-4 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva422p12le chroma=1:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=12
|
|
|
|
yuva422p12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-4}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva422p12be chroma=1:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=12
|
|
|
|
yuva422p16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {0:16} {} {}
|
|
|
|
2: 16bits {} {} {0:16} {}
|
|
|
|
3: 16bits {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva422p16le chroma=1:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
yuva422p16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva422p16be chroma=1:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
yuva422p9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-7} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-7} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-7}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-7 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva422p9le chroma=1:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=9
|
|
|
|
yuva422p9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-7}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva422p9be chroma=1:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
yuva422pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=1:0 align=2:1
|
|
|
|
{32/[0:0] 32/[1:0] 32/[1:0] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=2x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
yuva440pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:1 align=1:2
|
|
|
|
{32/[0:0] 32/[0:1] 32/[0:1] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=1x2 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuva444p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{8/[0:0] 8/[0:0] 8/[0:0] 8/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
|
|
|
3: 8bits {} {} {} {0:8}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva444p chroma=0:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
3: p=3 st=1 o=0 sh=0 d=8
|
|
|
|
yuva444p10: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-6} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-6} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-6} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva444p10le chroma=0:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
yuva444p10be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-6} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-6} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-6} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-6}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva444p10be chroma=0:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=10
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=10
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=10
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=10
|
|
|
|
yuva444p12: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-4} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-4} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-4} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-4}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva444p12le chroma=0:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=12
|
|
|
|
yuva444p12be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-4} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-4} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-4} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-4}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva444p12be chroma=0:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=12
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=12
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=12
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=12
|
|
|
|
yuva444p16: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16} {} {} {}
|
|
|
|
1: 16bits {} {0:16} {} {}
|
|
|
|
2: 16bits {} {} {0:16} {}
|
|
|
|
3: 16bits {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva444p16le chroma=0:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
yuva444p16be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva444p16be chroma=0:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=16
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=16
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=16
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=16
|
|
|
|
yuva444p9: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][le][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits {0:16/-7} {} {} {}
|
|
|
|
1: 16bits {} {0:16/-7} {} {}
|
|
|
|
2: 16bits {} {} {0:16/-7} {}
|
|
|
|
3: 16bits {} {} {} {0:16/-7}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=4 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
|
|
|
AVD: name=yuva444p9le chroma=0:0 flags=0x90 [planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=9
|
|
|
|
yuva444p9be: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuvp][yuv][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 16bits endian_bytes=2 {0:16/-7} {} {} {}
|
|
|
|
1: 16bits endian_bytes=2 {} {0:16/-7} {} {}
|
|
|
|
2: 16bits endian_bytes=2 {} {} {0:16/-7} {}
|
|
|
|
3: 16bits endian_bytes=2 {} {} {} {0:16/-7}
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuva444p9be chroma=0:0 flags=0x91 [be][planar][alpha]
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=9
|
|
|
|
1: p=1 st=2 o=0 sh=0 d=9
|
|
|
|
2: p=2 st=2 o=0 sh=0 d=9
|
|
|
|
3: p=3 st=2 o=0 sh=0 d=9
|
2020-05-09 15:58:55 +00:00
|
|
|
yuva444pf: ctype=float
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][a][yuv][le][float]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=4, chroma=0:0 align=1:1
|
|
|
|
{32/[0:0] 32/[0:0] 32/[0:0] 32/[0:0] }
|
2020-05-20 16:25:14 +00:00
|
|
|
0: 32bits {0:32} {} {} {}
|
|
|
|
1: 32bits {} {0:32} {} {}
|
|
|
|
2: 32bits {} {} {0:32} {}
|
|
|
|
3: 32bits {} {} {} {0:32}
|
2020-05-09 15:58:55 +00:00
|
|
|
Regular: planes=4 compbytes=4 bitpad=0 chroma=1x1 ctype=float
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
3: {4}
|
2019-11-08 16:20:57 +00:00
|
|
|
yuvj411p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=2:0 align=4:1
|
|
|
|
{8/[0:0] 8/[2:0] 8/[2:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=4x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuvj411p chroma=2:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
yuvj422p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=1:0 align=2:1
|
|
|
|
{8/[0:0] 8/[1:0] 8/[1:0] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuvj422p chroma=1:0 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
yuvj440p: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][bb][yuvp][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=3, chroma=0:1 align=1:2
|
|
|
|
{8/[0:0] 8/[0:1] 8/[0:1] }
|
video: add pixel component location metadata
I thought I'd probably want something like this, so the hardcoded stuff
in repack.c can be removed eventually. Of course this has no purpose at
all, and will not have any. (For now, this provides only metadata, and
nothing uses it, apart from the "test" that dumps it as text.)
This adds full support for AV_PIX_FMT_UYYVYY411 (probably out of spite,
because the format is 100% useless). Support for some mpv-only formats
is missing, ironically.
The code goes through _lengths_ to try to make sense out of the FFmpeg
AVPixFmtDescriptor data. Which is even more amazing that the new
metadata basically mirrors pixdesc, and just adds to it. Considering
code complexity and speed issues (it takes time to crunch through all
this shit all the time), and especially the fact that pixdesc is very
_incomplete_, it would probably better to have our own table to all
formats. But then we'd not scramble every time FFmpeg adds a new format,
which would be annoying. On the other hand, by using pixdesc, we get the
excitement to see whether this code will work, or break everything in
catastrophic ways.
The data structure still sucks a lot. Maybe I'll redo it again. The text
dump is weirdly differently formatted than the C struct - because I'm
not happy with the representation. Maybe I'll redo it all over again.
In summary: this commit does nothing.
2020-05-17 22:24:31 +00:00
|
|
|
0: 8bits {0:8} {} {} {}
|
|
|
|
1: 8bits {} {0:8} {} {}
|
|
|
|
2: 8bits {} {} {0:8} {}
|
2019-11-08 16:20:57 +00:00
|
|
|
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x2 ctype=uint
|
|
|
|
0: {1}
|
|
|
|
1: {2}
|
|
|
|
2: {3}
|
|
|
|
AVD: name=yuvj440p chroma=0:1 flags=0x10 [planar]
|
|
|
|
0: p=0 st=1 o=0 sh=0 d=8
|
|
|
|
1: p=1 st=1 o=0 sh=0 d=8
|
|
|
|
2: p=2 st=1 o=0 sh=0 d=8
|
|
|
|
yuyv422: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] }
|
2020-05-19 21:58:36 +00:00
|
|
|
0: 16bits {0:8} {8:8} {24:8} {}
|
|
|
|
luma_offsets=[ 0 16]
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yuyv422 chroma=1:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=1 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
yvyu422: [GENERIC] ctype=uint
|
2020-05-20 16:25:14 +00:00
|
|
|
Basic desc: [ba][yuv][le][be][uint]
|
2020-05-17 12:57:13 +00:00
|
|
|
planes=1, chroma=1:0 align=2:1
|
|
|
|
{16/[0:0] }
|
2020-05-19 21:58:36 +00:00
|
|
|
0: 16bits {0:8} {24:8} {8:8} {}
|
|
|
|
luma_offsets=[ 0 16]
|
2019-11-08 16:20:57 +00:00
|
|
|
AVD: name=yvyu422 chroma=1:0 flags=0x0
|
|
|
|
0: p=0 st=2 o=0 sh=0 d=8
|
|
|
|
1: p=0 st=4 o=3 sh=0 d=8
|
|
|
|
2: p=0 st=4 o=1 sh=0 d=8
|