mirror of
https://github.com/AsahiLinux/m1n1
synced 2024-11-22 22:53:04 +00:00
prores: add a big fat hack so we can actually look at the output
Signed-off-by: R <rqou@berkeley.edu>
This commit is contained in:
parent
baf5ebcde9
commit
6fff4af32f
1 changed files with 14 additions and 6 deletions
|
@ -76,9 +76,8 @@ apr.REG_0x370 = apr.REG_0x370.val & ~0x800F3FFF | 0x800604FF
|
||||||
apr.REG_0x374 = apr.REG_0x374.val & ~0x07FF07FF | 0x06C000A0
|
apr.REG_0x374 = apr.REG_0x374.val & ~0x07FF07FF | 0x06C000A0
|
||||||
print("Applied tunables")
|
print("Applied tunables")
|
||||||
|
|
||||||
# XXX macos allocates extra, do we have to?
|
# XXX test wrap around behavior
|
||||||
# XXX try changing this at some point
|
DESC_RING_SZ = 0x4000
|
||||||
DESC_RING_SZ = 0x20000
|
|
||||||
desc_ring_phys = u.heap.memalign(0x4000, DESC_RING_SZ)
|
desc_ring_phys = u.heap.memalign(0x4000, DESC_RING_SZ)
|
||||||
desc_ring_iova = dart.iomap(0, desc_ring_phys, DESC_RING_SZ)
|
desc_ring_iova = dart.iomap(0, desc_ring_phys, DESC_RING_SZ)
|
||||||
print(f"Descriptor ring @ phys {desc_ring_phys:016X} iova {desc_ring_iova:016X}")
|
print(f"Descriptor ring @ phys {desc_ring_phys:016X} iova {desc_ring_iova:016X}")
|
||||||
|
@ -551,9 +550,9 @@ desc = EncodeNotRawDescriptor(
|
||||||
flags=0x3629,
|
flags=0x3629,
|
||||||
flags2=0,
|
flags2=0,
|
||||||
output_iova=out_buf_iova,
|
output_iova=out_buf_iova,
|
||||||
unk_0x10_=0xb8ccc,
|
unk_0x10_=0xb8ccc, # controlled
|
||||||
unk_0x14_=0,
|
unk_0x14_=0, # controlled
|
||||||
unk_0x16_=0,
|
unk_0x16_=0, # controlled
|
||||||
pix_surface_w_2_=1920,
|
pix_surface_w_2_=1920,
|
||||||
pix_surface_h_2_=1080,
|
pix_surface_h_2_=1080,
|
||||||
pix_surface_w=1920,
|
pix_surface_w=1920,
|
||||||
|
@ -658,3 +657,12 @@ chexdump(dr_memory_new)
|
||||||
out_buf_new = iface.readmem(out_buf_phys, OUT_SZ)
|
out_buf_new = iface.readmem(out_buf_phys, OUT_SZ)
|
||||||
with open('prores.bin', 'wb') as f:
|
with open('prores.bin', 'wb') as f:
|
||||||
f.write(out_buf_new)
|
f.write(out_buf_new)
|
||||||
|
|
||||||
|
outlen = struct.unpack(">I", out_buf_new[:4])[0]
|
||||||
|
if outlen <= len(out_buf_new):
|
||||||
|
with open('prores.mov', 'wb') as f:
|
||||||
|
f.write(b'\x00\x00\x00\x14\x66\x74\x79\x70\x71\x74\x20\x20\x00\x00\x02\x00\x71\x74\x20\x20\x00\x00\x00\x08\x77\x69\x64\x65')
|
||||||
|
f.write(struct.pack(">I", outlen + 8))
|
||||||
|
f.write(b'mdat')
|
||||||
|
f.write(out_buf_new[:outlen])
|
||||||
|
f.write(b'\x00\x00\x03\x1e\x6d\x6f\x6f\x76\x00\x00\x00\x6c\x6d\x76\x68\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe8\x00\x00\x00\x11\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x02\x89\x74\x72\x61\x6b\x00\x00\x00\x5c\x74\x6b\x68\x64\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x07\x80\x00\x00\x04\x38\x00\x00\x00\x00\x00\x24\x65\x64\x74\x73\x00\x00\x00\x1c\x65\x6c\x73\x74\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x11\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x02\x01\x6d\x64\x69\x61\x00\x00\x00\x20\x6d\x64\x68\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x01\x00\x7f\xff\x00\x00\x00\x00\x00\x2d\x68\x64\x6c\x72\x00\x00\x00\x00\x6d\x68\x6c\x72\x76\x69\x64\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x56\x69\x64\x65\x6f\x48\x61\x6e\x64\x6c\x65\x72\x00\x00\x01\xac\x6d\x69\x6e\x66\x00\x00\x00\x14\x76\x6d\x68\x64\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x68\x64\x6c\x72\x00\x00\x00\x00\x64\x68\x6c\x72\x75\x72\x6c\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x44\x61\x74\x61\x48\x61\x6e\x64\x6c\x65\x72\x00\x00\x00\x24\x64\x69\x6e\x66\x00\x00\x00\x1c\x64\x72\x65\x66\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x0c\x75\x72\x6c\x20\x00\x00\x00\x01\x00\x00\x01\x40\x73\x74\x62\x6c\x00\x00\x00\xdc\x73\x74\x73\x64\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xcc\x61\x70\x63\x6e\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x46\x46\x4d\x50\x00\x00\x02\x00\x00\x00\x02\x00\x07\x80\x04\x38\x00\x48\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x01\x1f\x4c\x61\x76\x63\x35\x39\x2e\x32\x35\x2e\x31\x30\x30\x20\x70\x72\x6f\x72\x65\x73\x5f\x76\x69\x64\x65\x6f\x74\x6f\x6f\x6c\x62\x00\x18\xff\xff\x00\x00\x00\x6c\x67\x6c\x62\x6c\x00\x00\x00\x64\x61\x70\x63\x6e\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\x07\x80\x04\x38\x00\x48\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x01\x10\x41\x70\x70\x6c\x65\x20\x50\x72\x6f\x52\x65\x73\x20\x34\x32\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\xff\xff\x00\x00\x00\x0a\x66\x69\x65\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x66\x69\x65\x6c\x01\x00\x00\x00\x00\x18\x73\x74\x74\x73\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x1c\x73\x74\x73\x63\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x14\x73\x74\x73\x7a\x00\x00\x00\x00\x00\x03\x8a\x08\x00\x00\x00\x01\x00\x00\x00\x14\x73\x74\x63\x6f\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x21\x75\x64\x74\x61\x00\x00\x00\x19\xa9\x73\x77\x72\x00\x0d\x55\xc4\x4c\x61\x76\x66\x35\x39\x2e\x32\x30\x2e\x31\x30\x31')
|
||||||
|
|
Loading…
Reference in a new issue