Android ICS中录制视频和播放视频的角度问题

MPEG4Writer.cpp 
void MPEG4Writer::writeCompositionMatrix(int degrees)

MPEG4Extractor.cpp
status_t MPEG4Extractor::parseTrackHeader(off64_t data_offset, off64_t data_size) 

{

    ......

    uint32_t rotationDegrees;

    static const int32_t kFixedOne = 0x10000;
    if (a00 == kFixedOne && a01 == 0 && a10 == 0 && a11 == kFixedOne) {
        // Identity, no rotation
        rotationDegrees = 0;
    } else if (a00 == 0 && a01 == kFixedOne && a10 == -kFixedOne && a11 == 0) {
        rotationDegrees = 90;
    } else if (a00 == 0 && a01 == -kFixedOne && a10 == kFixedOne && a11 == 0) {
        rotationDegrees = 270;
    } else if (a00 == -kFixedOne && a01 == 0 && a10 == 0 && a11 == -kFixedOne) {
        rotationDegrees = 180;
    } else {
        LOGW("We only support 0,90,180,270 degree rotation matrices");
        rotationDegrees = 0;
    }


    if (rotationDegrees != 0) {
        mLastTrack->meta->setInt32(kKeyRotation, rotationDegrees);
    }

    ......
}

原文地址:https://www.cnblogs.com/eustoma/p/2415800.html