diff options
author | Roman Nurik <romannurik@google.com> | 2011-04-06 14:52:00 -0700 |
---|---|---|
committer | Roman Nurik <romannurik@google.com> | 2011-04-06 16:25:26 -0700 |
commit | c8754f3479ce7c6354c3b04a1f5e3db0ecee95bf (patch) | |
tree | 58756482c53fea89ab36fc42a3cac44df029051c | |
parent | 5a41a8a0fda21d5332f1355832550fcfffbb9975 (diff) | |
download | frameworks_base-c8754f3479ce7c6354c3b04a1f5e3db0ecee95bf.zip frameworks_base-c8754f3479ce7c6354c3b04a1f5e3db0ecee95bf.tar.gz frameworks_base-c8754f3479ce7c6354c3b04a1f5e3db0ecee95bf.tar.bz2 |
Add moov/mdat and 500KB max A/V drift recommendations to Supported Media Formats doc. Also reformat encoding parameter recommendations into a single table.
Change-Id: I2a1a4b31fe546eddfb8d6e8b8ab5f4a3900734d4
-rw-r--r-- | docs/html/guide/appendix/media-formats.jd | 132 |
1 files changed, 57 insertions, 75 deletions
diff --git a/docs/html/guide/appendix/media-formats.jd b/docs/html/guide/appendix/media-formats.jd index 7f77b5f..e128a1c 100644 --- a/docs/html/guide/appendix/media-formats.jd +++ b/docs/html/guide/appendix/media-formats.jd @@ -50,6 +50,8 @@ page.title=Android Supported Media Formats <p class="note"><strong>Note:</strong> Media codecs that are not guaranteed to be available on all Android platform versions are accordingly noted in parentheses—for example "(Android 3.0+)".</p> +<p class="table-caption" id="formats-table"><strong>Table 1.</strong> Core media format and codec support.</p> + <table> <tbody> @@ -218,81 +220,61 @@ no dither applied for 24-bit. <h2 id="recommendations">Video Encoding Recommendations</h2> -<p>Below are examples of video encoding profiles and parameters that the Android media framework supports for playback.</p> +<p>Table 2, below, lists examples of video encoding profiles and parameters that the Android media framework supports for playback. In addition to these encoding parameter recommendations, a device's available video recording profiles can be used as a proxy for media playback capabilities. These profiles can be inspected using the {@link android.media.CamcorderProfile CamcorderProfile} class, which is available since API level 8.</p> + +<p class="table-caption" id="encoding-recommendations-table"><strong>Table 2.</strong> Examples of supported video encoding parameters.</p> + +<table> + <thead> + <tr> + <th> </th> + <th style="background-color:#f3f3f3;font-weight:normal">Lower quality</th> + <th style="background-color:#f3f3f3;font-weight:normal">Higher quality</th> + </tr> + </thead> + <tbody> + <tr> + <th>Video codec</th> + <td>H.264 Baseline Profile</th> + <td>H.264 Baseline Profile</th> + </tr> + <tr> + <th>Video resolution</th> + <td>176 x 144 px</th> + <td>480 x 360 px</th> + </tr> + <tr> + <th>Video frame rate</th> + <td>12 fps</th> + <td>30 fps</th> + </tr> + <tr> + <th>Video bitrate</th> + <td>56 Kbps</th> + <td>500 Kbps</th> + </tr> + <tr> + <th>Audio codec</th> + <td>AAC-LC</th> + <td>AAC-LC</th> + </tr> + <tr> + <th>Audio channels</th> + <td>1 (mono)</th> + <td>2 (stereo)</th> + </tr> + <tr> + <th>Audio bitrate</th> + <td>24 Kbps</th> + <td>128 Kbps</th> + </tr> + </tbody> +</table> + +<p style="margin-top: 2em">For video content that is streamed over HTTP or RTSP, there are additional requirements:</p> <ul> - <li><strong>Lower quality video</strong><br> - - <table style="margin-top: 4px"> - <tbody> - <tr> - <th>Video codec</th> - <td>H.264 Baseline Profile</th> - </tr> - <tr> - <th>Video resolution</th> - <td>176 x 144 px</th> - </tr> - <tr> - <th>Video frame rate</th> - <td>12 fps</th> - </tr> - <tr> - <th>Video bitrate</th> - <td>56 Kbps</th> - </tr> - <tr> - <th>Audio codec</th> - <td>AAC-LC</th> - </tr> - <tr> - <th>Audio channels</th> - <td>1 (mono)</th> - </tr> - <tr> - <th>Audio bitrate</th> - <td>24 Kbps</th> - </tr> - </tbody> - </table> - </li> - - <li><strong>Higher quality video</strong><br> - - <table style="margin-top: 4px"> - <tbody> - <tr> - <th>Video codec</th> - <td>H.264 Baseline Profile</th> - </tr> - <tr> - <th>Video resolution</th> - <td>480 x 360 px</th> - </tr> - <tr> - <th>Video frame rate</th> - <td>30 fps</th> - </tr> - <tr> - <th>Video bitrate</th> - <td>500 Kbps</th> - </tr> - <tr> - <th>Audio codec</th> - <td>AAC-LC</th> - </tr> - <tr> - <th>Audio channels</th> - <td>2 (stereo)</th> - </tr> - <tr> - <th>Audio bitrate</th> - <td>128 Kbps</th> - </tr> - </tbody> - </table> - - </li> + <li>For 3GPP and MPEG-4 containers, the <code>moov</code> atom must precede any <code>mdat</code> atoms.</li> + <li>For 3GPP, MPEG-4, and WebM containers, audio and video samples corresponding to the same time offset may be no more than 500 KB apart. + To minimize this audio/video drift, consider interleaving audio and video in smaller chunk sizes.</li> </ul> - -<p>In addition to the encoding parameters above, a device's available video recording profiles can be used as a proxy for media playback capabilities. These profiles can be inspected using the {@link android.media.CamcorderProfile CamcorderProfile} class, which is available since API level 8.</p> |