Skip to content

Add PPM and PAM screenshot file formats#5348

Open
olehkuznetsov wants to merge 2 commits intogoogle:mainfrom
olehkuznetsov:scr-ppm-pam
Open

Add PPM and PAM screenshot file formats#5348
olehkuznetsov wants to merge 2 commits intogoogle:mainfrom
olehkuznetsov:scr-ppm-pam

Conversation

@olehkuznetsov
Copy link
Copy Markdown
Contributor

Those formats are without compression. The goal is to be able to have as low CPU overhead as possbile.

pam_image - The PAM (Portable Arbitrary Map) file format.

ppm_image - The PPM (Portable Pixmap) file format.

Those formats are without compression. The goal is to be able to have as
low CPU overhead as possbile.

pam_image - The PAM (Portable Arbitrary Map) file format.
ppm_image - The PPM (Portable Pixmap) file format.
@LalitMaganti
Copy link
Copy Markdown
Member

  1. You'll need to run tools/gen_all out/linux_clang_release --protos as this will almost certainly need changes in autogenerated protos
  2. I would have also expected to see the trace processor and UI code for this as well in this CL. Are they coming in followups?

@olehkuznetsov olehkuznetsov requested a review from a team as a code owner March 30, 2026 16:04
@olehkuznetsov
Copy link
Copy Markdown
Contributor Author

  1. You'll need to run tools/gen_all out/linux_clang_release --protos as this will almost certainly need changes in autogenerated protos
  2. I would have also expected to see the trace processor and UI code for this as well in this CL. Are they coming in followups?
  1. Done.
  2. Seems as trace processor changes are not required as SQL uses args.key = "screenshot.jpg_image" and seems as it is auto populated.
  3. UI code I plan to check/update after we will have Vulkan layer code updated to write data.

@LalitMaganti
Copy link
Copy Markdown
Member

Seems as trace processor changes are not required as SQL uses args.key = "screenshot.jpg_image" and seems as it is auto populated.

That... uhh.. doesn't make sense. It would appear under screenshot.ppm_image or screenshot.pam_image.

@olehkuznetsov
Copy link
Copy Markdown
Contributor Author

Seems as trace processor changes are not required as SQL uses args.key = "screenshot.jpg_image" and seems as it is auto populated.

That... uhh.. doesn't make sense. It would appear under screenshot.ppm_image or screenshot.pam_image.

I mean similar to args.key = "screenshot.jpg_image" it will be args.key = "screenshot.ppm_image" and args.key = "screenshot.pam_image"

But seems as code which adds it to args is already exists in trace processor

@olehkuznetsov
Copy link
Copy Markdown
Contributor Author

Don't we need to update: https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/src/trace_processor/perfetto_sql/stdlib/android/screenshots.sql;l=38?q=src%2Ftrace_processor%2Fperfetto_sql%2Fstdlib%2Fandroid%2Fscreenshots.sql&ss=chromium

That one I plan to update during perfetto UI updates as for test I can get new images from:
slice.name = "Screenshot"
AND slice.category = "android_screenshot"
AND args.key = "screenshot.pam_image";

@LalitMaganti LalitMaganti requested a review from aMayzner March 30, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants