Fix full stagefright build in master, various warnings/errors in omx_jpeg_decoder
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
using namespace android;
|
||||
|
||||
SkOmxPixelRef::SkOmxPixelRef(SkColorTable* ctable, MediaBuffer* buffer,
|
||||
sp<OMXCodec> decoder) {
|
||||
sp<MediaSource> decoder) {
|
||||
mBuffer = buffer;
|
||||
mDecoder = decoder;
|
||||
mSize = buffer->size();
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace android {
|
||||
class SkOmxPixelRef : public SkPixelRef {
|
||||
public:
|
||||
SkOmxPixelRef(SkColorTable* ctable, MediaBuffer* buffer,
|
||||
sp<OMXCodec> decoder);
|
||||
sp<MediaSource> decoder);
|
||||
virtual ~SkOmxPixelRef();
|
||||
|
||||
//! Return the allocation size for the pixels
|
||||
@@ -40,7 +40,7 @@ protected:
|
||||
|
||||
private:
|
||||
MediaBuffer* mBuffer;
|
||||
sp<OMXCodec> mDecoder;
|
||||
sp<MediaSource> mDecoder;
|
||||
size_t mSize;
|
||||
SkColorTable* mCTable;
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ int testDecodePixels(SkImageDecoder* decoder, SkStream* stream,
|
||||
} else {
|
||||
int64_t delay = getNowUs() - startTime;
|
||||
printf("Decoding Time in PixelsMode %.1f msec.\n", delay / 1000.0f);
|
||||
char* filename = "/sdcard/omxJpegDecodedBitmap.rgba";
|
||||
const char* filename = "/sdcard/omxJpegDecodedBitmap.rgba";
|
||||
return storeBitmapToFile(bitmap, filename);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
using namespace android;
|
||||
|
||||
static void getJpegOutput(MediaBuffer* buffer, char* filename) {
|
||||
static void getJpegOutput(MediaBuffer* buffer, const char* filename) {
|
||||
int size = buffer->range_length();
|
||||
int offset = buffer->range_offset();
|
||||
FILE *pFile = fopen(filename, "w+");
|
||||
@@ -59,9 +59,9 @@ static void getJpegOutput(MediaBuffer* buffer, char* filename) {
|
||||
return;
|
||||
}
|
||||
|
||||
extern int storeBitmapToFile(SkBitmap* bitmap, char* filename) {
|
||||
extern int storeBitmapToFile(SkBitmap* bitmap, const char* filename) {
|
||||
bitmap->lockPixels();
|
||||
void* data = bitmap->getPixels();
|
||||
uint8_t* data = (uint8_t *)bitmap->getPixels();
|
||||
int size = bitmap->getSize();
|
||||
FILE* fp = fopen(filename, "w+");
|
||||
|
||||
@@ -113,11 +113,11 @@ bool OmxJpegImageDecoder::onDecode(SkStream* stream,
|
||||
|
||||
// mode == DecodePixels
|
||||
if (!this->allocPixelRef(bm, NULL)) {
|
||||
LOGI(LOG_TAG, "Cannot allocPixelRef()!");
|
||||
LOGI("Cannot allocPixelRef()!");
|
||||
return false;
|
||||
}
|
||||
|
||||
sp<OMXCodec> decoder = getDecoder(&mClient, source);
|
||||
sp<MediaSource> decoder = getDecoder(&mClient, source);
|
||||
return decodeSource(decoder, source, bm);
|
||||
}
|
||||
|
||||
@@ -127,21 +127,21 @@ JPEGSource* OmxJpegImageDecoder::prepareMediaSource(SkStream* stream) {
|
||||
return new JPEGSource(dataSource);
|
||||
}
|
||||
|
||||
sp<OMXCodec> OmxJpegImageDecoder::getDecoder(
|
||||
sp<MediaSource> OmxJpegImageDecoder::getDecoder(
|
||||
OMXClient *client, const sp<MediaSource>& source) {
|
||||
sp<MetaData> meta = source->getFormat();
|
||||
sp<OMXCodec> decoder = OMXCodec::Create(
|
||||
sp<MediaSource> decoder = OMXCodec::Create(
|
||||
client->interface(), meta, false /* createEncoder */, source);
|
||||
|
||||
CHECK(decoder != NULL);
|
||||
return decoder;
|
||||
}
|
||||
|
||||
bool OmxJpegImageDecoder::decodeSource(sp<OMXCodec> decoder,
|
||||
bool OmxJpegImageDecoder::decodeSource(sp<MediaSource> decoder,
|
||||
const sp<MediaSource>& source, SkBitmap* bm) {
|
||||
status_t rt = decoder->start();
|
||||
if (rt != OK) {
|
||||
LOGE(LOG_TAG, "Cannot start OMX Decoder!");
|
||||
LOGE("Cannot start OMX Decoder!");
|
||||
return false;
|
||||
}
|
||||
int64_t startTime = getNowUs();
|
||||
@@ -171,7 +171,7 @@ bool OmxJpegImageDecoder::decodeSource(sp<OMXCodec> decoder,
|
||||
return true;
|
||||
}
|
||||
|
||||
void OmxJpegImageDecoder::installPixelRef(MediaBuffer *buffer, sp<OMXCodec> decoder,
|
||||
void OmxJpegImageDecoder::installPixelRef(MediaBuffer *buffer, sp<MediaSource> decoder,
|
||||
SkBitmap* bm) {
|
||||
|
||||
// set bm's pixelref based on the data in buffer.
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
using namespace android;
|
||||
|
||||
extern int storeBitmapToFile(SkBitmap* bitmap, char* filename);
|
||||
extern int storeBitmapToFile(SkBitmap* bitmap, const char* filename);
|
||||
|
||||
class OmxJpegImageDecoder : public SkImageDecoder {
|
||||
public:
|
||||
@@ -47,10 +47,10 @@ protected:
|
||||
|
||||
private:
|
||||
JPEGSource* prepareMediaSource(SkStream* stream);
|
||||
sp<OMXCodec> getDecoder(OMXClient* client, const sp<MediaSource>& source);
|
||||
bool decodeSource(sp<OMXCodec> decoder, const sp<MediaSource>& source,
|
||||
sp<MediaSource> getDecoder(OMXClient* client, const sp<MediaSource>& source);
|
||||
bool decodeSource(sp<MediaSource> decoder, const sp<MediaSource>& source,
|
||||
SkBitmap* bm);
|
||||
void installPixelRef(MediaBuffer* buffer, sp<OMXCodec> decoder,
|
||||
void installPixelRef(MediaBuffer* buffer, sp<MediaSource> decoder,
|
||||
SkBitmap* bm);
|
||||
void configBitmapSize(SkBitmap* bm, SkBitmap::Config pref, int width,
|
||||
int height);
|
||||
|
||||
Reference in New Issue
Block a user