• R/O
  • HTTP
  • SSH
  • HTTPS

List of commits

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

frameworks/av


RSS
Rev. Time Author
4900ae2 2019-11-16 10:35:27 Harish Mahendrakar

C2SoftMpeg4Enc: Handle yStride not equal to aligned width

mpeg4 encoder doesn't support a stride that is not equal to align(width, 16)
In such cases copy the input to an intermediate buffer and use that for
encoding

Bug: 143506888
Bug: 136962421
Bug: 139921039
Test: tested few nv12 and i420 encoding

Change-Id: I5a8adfc48aff79f52852be94bb46c10e7f9a0469
(cherry picked from commit a6dfef8a44d95f2cc049ee0cb83501605c38ac64)

d19313d 2019-11-15 02:03:49 Wonsik Kim

vpxdec: handle non-display frames

Bug: 143115066
Bug: 144427423
Test: bug repro steps
Merged-In: I4c581b229b83a555d6214075f0e5367d17461cc9
Change-Id: I4c581b229b83a555d6214075f0e5367d17461cc9
(cherry picked from commit ddd7a80f5bb936f1d4c26f1dcc5e7b4564a26c9e)

e5d51bf 2019-11-14 13:36:18 Steve Kondik

stagefright: Trivial FFMPEG fixes

* Ensure our codecs are never touched for encoders
* Don't duplicate InitOMXParams, use utility class

Change-Id: Icde45b4d8b844fdb52b4f11a862ecb57059d17c0

b13c29c 2019-11-14 13:36:18 Steve Kondik

stagefright: Copy the thumbnail time

* In case we do a conversion, we need this to seek the extractor
to the right position for extracting a thumbnail.

Change-Id: I003a599c15890aeeb6d2494b219f170ba5b278d8

b6236b6 2019-11-14 13:36:18 Jesse Chan

stagefright: allow multiple custom OMXPlugins

* Separated by comma(,)
* Example: media.sf.omx-plugin=libffmpeg_omx.so,libsomxcore.so

Change-Id: I15556a48df282b01f54ca864317eafff5468e739
Signed-off-by: Jesse Chan <jc@lineageos.org>

f24356b 2019-11-14 13:36:18 Steve Kondik

stagefright: Add support for loading a custom OMXPlugin

* To facilitate moving the stagefright-plugins glue out of the
framework, support is added to OMXMaster to load multiple
external plugins besides internal/vendor versions.
* This is currently limited to one plugin, defined by the
"mm.sf.omx-plugin" system property. The code will allow any
number of libraries to be loaded, though.
* Should also be useful for nonstandard vendor implementations too.

Change-Id: I27d7e16ad56baa17754d8ea47a8c608a0d73d6f1

a60eb35 2019-11-14 13:36:18 Michael Goffioul

libstagefright: Extended media support via FFMPEG

* Original work by Michael Chen - https://github.com/omxcodec
* Original Kitkat port by Chih-Wei Huang / Android X86 project
* Additional work up to Nougat by:
- Steve Kondik
- Ricardo Cerqueira
- Keith Mok
- Scott Mertz
- Ethan Chen
- Diogo Ferreira
* Additional work up to Oreo/Pie by:
- Michael Goffioul

Change-Id: Ie871b56f6f6d895a87de8c8920e9e8692382b420

fc9a46f 2019-11-14 13:36:18 Chih-Wei Huang

nuplayer: skip bad SAR values

Historically there are two definitions of SAR:

1. Storage Aspect Ratio
2. Sample Aspect Ratio

The first one is used in MPEG2 terminology, while the second is used
in MPEG4-AVC terminology.

The MPEG2 terminology actually means the real frame dimension (w:h),
while the MPEG4-AVC terminology means the shape of individual pixels.
It's called PAR (Pixel Aspect Ratio) in MPEG2 terminology.

Android apparently uses the second definition as comments in the code.
However, some video files include SAR tags in MPEG2 terminology sense.
For example,

08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t width = 856
08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t height = 480
08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t sar-width = 852
08-14 18:13:45.212 2841 4769 I NuPlayer: int32_t sar-height = 480

That makes Android calculate the DAR (Display Aspect Ratio)
incorrectly, where DAR = FAR (Frame Aspect Ratio) x SAR.
As a result the video is stretched strangely.

To workaround it, skip the SAR tags if they look like the
Storage Aspect Ratio.

e0285ac 2019-11-14 13:36:18 Chih-Wei Huang

media: enable dithering for RGB565 conversion

This seems to improve video playback quality.

Inspired by a patch from WuZhen.

635a3a7 2019-11-14 13:36:18 Paulo Sergio Travaglia

Allow screenrecord usage on Android-x86

Selects a supported color format for screenrecord (
OMX_COLOR_FormatYUV420Planar instead of OMX_COLOR_FormatAndroidOpaque)
and removes a check on SoftVideoEncoderOMXComponent.cpp
in order to make screenrecord work on Android-x86.

fdae1ba 2019-11-14 13:36:17 Chih-Wei Huang

Don't use YV12 color format for video decoding

YV12 is not supported by Mesa yet. This has to be reverted
when we can enable h/w decoder.

110e3d9 2019-11-14 13:36:17 Hua Wang

CameraSource: set up right frame rate

If camera recorder uses HW codec, the capabilities of the codec
are from media_profile.xml; If using SW codec, it is invisible
to the applications, In other words, the applications won't be
able to use the codec or query the capabilities of the codec
at all, it only gives some ranges. StagefrightRecorder will
use default parameters to configure camera, as for framerate,
it should be from camera HAL feedback.

Issue:AXIA-1446
Change-Id: I77bf41239a19d26e2da1c28258288fdaa1c98297
Signed-off-by: Hua Wang <Hua.Wang@windriver.com>

eb77aa6 2019-11-14 13:36:17 Billy

FLACExtractor: Add more sample rates support

In FLACExtractor.cpp, it has function to check file's sample rate.
If the input sample rate is not in its list, it will return "unsupported
sample rate" issue. Modify code to make other sample rates (100,1k,42k,46k)
pass the check

Issue: AXIA-1441
Change-Id: I48f91119275560ec6d00feb0dedc70d10aa55262
Signed-off-by: Xiaobing Feng <xiaobing.feng@windriver.com>
Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com>

95fa813 2019-11-14 13:36:17 Daniel Charles

Change max width and height supported by H.263 decoder.

Currently this is set to CIF PAL resolution (352x288) which
won't calculate the actual output buffer size for higher resolutions

The h.263 decoder needs the max width and height supported to be able
to decode

H.263 decoders supports: QCIF, CIF, D1 and 16CIF; all PAL.

Change-Id: If5e44c522cb3cb56bb6235ec2992e2544b1737e9
Original-Change-Id: I7f8d2ae4263925ac4cf9250404ef92fc819ca33a
Signed-off-by: Daniel Charles <daniel.charles@intel.com>

410db53 2019-11-14 13:36:17 Robert Crabtree

SW encode: Fix output buffer size

The output buffer size needs to be updated if the resolution is updated.
The output buffer was configured for QCIF resolution when the actual
resolution was VGA. Buffer overflow was resulting.

Change-Id: Ieca3943d8d67bfcfcf49fed95d17be712f4b14b5
Signed-off-by: Robert Crabtree <robertx.l.crabtree@intel.com>

db6526d 2019-11-13 11:09:12 android-build-team Robot

Snap for 6004191 from c4e90131d8cdb2bef34bc1edea784efe36bd3c86 to qt-qpr2-release

Change-Id: I2f6702ab609a00387608f66a549dd830d873e6ea

c4e9013 2019-11-12 02:10:42 Kevin Rocard

Fix secondary output under&over run

There were three issues with the implementation
of Audio Playback Capture patches on secondary outputs.

1) Patch tracks were always forced to be ready, even if there were not
enough audio to be played. That led to playing partial buffers if the
source output had smaller (time wise) buffer than the secondary output.

This is fixed by avoiding setting CBLK_FORCEREADY on every buffer push
from the primary output thread.

2) After 1 is fixed, the patch tracks now behave like regular (non fast)
tracks. This means that the track only starts when it is full.
That leads to overrun on startup as the primary and secondary outputs
usually do not have the same write period.

What makes the issue worst is that Remote submix has a fixed buffer in bytes,
so its write period changes depending on sample rate contrary to the
primary HAL which pulls with fixed time periods (usually 20/40ms).

This patch solution is to introduce a ready threshold. The track will be
considered ready to be active if there are more than frames in its buffer.

To avoid changing previous latency behaviour except for APC,
legacy tracks have this threshold set to their buffer size and
non APC patch tracks have it set to 1, similar to setting
CBLK_FORCEREADY.

3) The patch track buffer size calculation of the patch track did not take
into account primary and secondary output could be of different sampling
rate.
This mean that the patch track buffer was usually too small as the
secondary output usually had smaller sampling rate (Live caption
requests 16kHz) than the track (music usually plays in 48kHz).
This made the two problems even worst.

This was easily fixed by scaling the buffer size with each side sample rate.

Bug: 136691300
Test: play audio
adb shell audiorecorder --target /data/file1.raw
# Check that the recorded file has no underrun
Change-Id: Ib2846b2827afd1b953d4a25acb18c7cadf57cd3e
Signed-off-by: Kevin Rocard <krocard@google.com>
(cherry picked from commit 01c7d9ee1b170a516e20b9c7aad3f9d1db982c55)

f5801d2 2019-11-10 09:21:05 android-build-team Robot

Snap for 5998981 from 4333c308afa4a695fd8f444d308b794cad656a6e to qt-qpr2-release

Change-Id: I5afb4f18f89fcd38524dbd46a6e368cc8173b3e9

f2ae75d 2019-11-09 03:57:31 Michael Gonzalez

Camera: Heic: Wait for output TS before dequeuing output buffers

During testHeicExif, the codec output buffer timestamp may rarely arrive
after the first codec output tiles arrive.

Test: vendor testing
Bug: 141169323
Change-Id: Iba1c82b087533cb87a32d69f7d6908e2c925b807
Merged-In: Iba1c82b087533cb87a32d69f7d6908e2c925b807
(cherry picked from commit 5c103f2962cd41a948dca4f2156c6efdf506bef1)

0017f0d 2019-11-09 03:57:02 Michael Gonzalez

Camera: Heic: Handle out-of-order buffer outputs

During reprocess usecases, the Camera HAL may return JPEG Appsegment
frames out of order. This leads to a scenario where
mAppSegmentConsumer->lockNextBuffer may not refer to the currently muxed
frame.

To work around this, the number of lockable appsegment buffers has been
increased.

Test: Vendor testing
Bug: 141169323
Change-Id: Ia498f6ddaba588b66cbaeee94fe8bdd7314bb90c
Merged-In: Ia498f6ddaba588b66cbaeee94fe8bdd7314bb90c
(cherry picked from commit b5986a36b2913ec100b110720c3e24e26fd0d1dd)

983f814 2019-11-09 03:54:15 Shuzhen Wang

Camera: Heic: Wait for first output tile callback before muxer start

In order for muxer to start writing any track, the format returned from
onFormatChanged must first be available. By waiting for first output
tile callback, we are guaranteed to have received onFormatChanged, which
means a valid format is available for muxer to use.

This change also makes it such that no multiple muxers are inflight, avoiding
dequeueBuffer failure because right now we only support maximum dequeued
buffer count to be 1.

Add more verbose logs for ease of debugging.

Test: Vendor testing
Bug: 141169323
Change-Id: I16fd11f5558e525ceae59df00533553e4b4e7589
Merged-In: I16fd11f5558e525ceae59df00533553e4b4e7589
(cherry picked from commit 3d00ee51a207d15718fcac4fefc72306532d68af)

4333c30 2019-11-08 00:33:44 Akshay Thakker

Merge "DO NOT MERGE Set module versions to 299900000 Dev branch modules need to have a super high version code so that they can be sideloaded on any device running any version of modules." into qt-qpr1-dev

0a6b792 2019-11-03 08:04:01 android-build-team Robot

Snap for 5983947 from aa700c13def7b34945bc48cd2706707178adbb5a to qt-qpr2-release

Change-Id: I8b5029b1cef21fbaed3218b3f9785334403445bd

e508370 2019-11-02 00:44:54 Ray Essick

g711 channel count limits

correct 'default to 6 channels' to 'default 1; max 6 channels'

Bug: 143163373
Test: vts-tradefed run vts --module VtsHalMediaC2V1_0Host
(cherry picked from commit 7a34a8bd9e15ea2b19b08087600bedf6806b8300)

Change-Id: Ifb6aa33f9f277883325f0b233d32aae53a429c5f

aa700c1 2019-11-01 08:29:11 Sungtak Lee

Merge "bufferpool@2.0 tune eviction params" into qt-qpr1-dev

8d9d3c0 2019-10-30 10:18:07 android-build-team Robot

Snap for 5974819 from e3032ea219db3a818c900cef35ce1e2db75cc334 to qt-qpr2-release

Change-Id: I414338c667a37e3cf906cb1e7bb833ab685723c6

e3032ea 2019-10-30 05:03:14 TreeHugger Robot

Merge "aacenc: fix possible shift in remainder" into qt-qpr1-dev

5dd3ecb 2019-10-30 03:35:35 Wonsik Kim

aacenc: fix possible shift in remainder

Bug: 142699551
Test: modified EncoderTest
Merged-In: I45f6a0a6666fa6177e0d47931055d2aa3ddd0b3d
Change-Id: I45f6a0a6666fa6177e0d47931055d2aa3ddd0b3d

30dbaa2 2019-10-30 03:05:12 Sungtak Lee

bufferpool@2.0 tune eviction params

bufferpool tries to manage memory consumption as low as 15MB usually.
Since it is too harsh for graphic input buffer use cases, if # of
buffers are under certain threshold make bufferpool ignore total memory
consumption.

Bug: 141605804
Change-Id: I20bd0438fede018e26984e0e3bc9a2007b0bc29b

6112a9c 2019-10-29 05:12:01 Jayant Chowdhary

Merge "cameraserver: Avoiding deadlocks while calling isPublicallyHiddenSecureCamera()." into qt-qpr1-dev