User Tools

Site Tools


mpeg4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mpeg4 [2011/02/24 06:38] suapapampeg4 [2013/08/03 05:04] (current) – external edit 127.0.0.1
Line 34: Line 34:
 </code> </code>
  
 +====== 인코딩시 화면 튀는 문제 ======
 +비디오 레코딩 사용 소스 cmds/stagefright를 사용하면 더미를 씀으로 테스트 할 수 있다.
 +  *./frameworks/base/cmds/stagefright/record.cpp
 +  *./frameworks/base/cmds/stagefright/stagefright.cpp
 +  *./frameworks/base/media/libmediaplayerservice/StagefrightRecorder.cpp
  
 +넥서스원 동영상
 +<code txt>
 +==========================================================================
 +Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
 +Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
 +==========================================================================
 +==========================================================================
 +Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
 +FAAD: compressed input bitrate missing, assuming 128kbit/s!
 +AUDIO: 32000 Hz, 2 ch, s16le, 128.0 kbit/12.50% (ratio: 16000->128000)
 +Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
 +==========================================================================
 +</code>
 +
 +zoom3 동영상
 +<code txt>
 +==========================================================================
 +Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
 +Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
 +==========================================================================
 +==========================================================================
 +Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
 +FAAD: compressed input bitrate missing, assuming 128kbit/s!
 +AUDIO: 16000 Hz, 2 ch, s16le, 128.0 kbit/25.00% (ratio: 16000->64000)
 +Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
 +==========================================================================
 +</code>
  
 ====== 비디오 rotation 정보 ====== ====== 비디오 rotation 정보 ======
-  비디오 트랙 헤더에 로테이트 정가 있는 경우 깨져서 재생됨omx_il 에 뭔가 빠진게 아닐까??+ liboverlay rotation 부분에 똥싸놨음. -_-; 프요와 비교해 똥싼 부분 찾아. 
 +  * [[http://gitorious.org/blazetablet/hardware-ti-omap3/trees/froyo/liboverlay]] 
 ===== encode ====== ===== encode ======
 frameworks/base/media/libstagefright/MPEG4Writer.cpp: writeCompositionMatrix()에서 받은 각도에 따른 composition matrix를 track header에 붙임.  frameworks/base/media/libstagefright/MPEG4Writer.cpp: writeCompositionMatrix()에서 받은 각도에 따른 composition matrix를 track header에 붙임. 
Line 46: Line 80:
  
 ===== decode ===== ===== decode =====
 +<code bash>
 +[~/workspace/cyanogenmod/frameworks/base/media/libstagefright]
 +suapapa $ git grep kKeyRotation
 +AwesomePlayer.cpp:                    kKeyRotation, &rotationDegrees)) {
 +AwesomePlayer.cpp:                        kKeyRotation, &rotationDegrees)) {
 +MPEG4Extractor.cpp:        mLastTrack->meta->setInt32(kKeyRotation, rotationDegrees);
 +MPEG4Writer.cpp:    if (!mIsAudio && params && params->findInt32(kKeyRotationDegree, &rotationDegrees)) {
 +StagefrightMetadataRetriever.cpp:    if (!trackMeta->findInt32(kKeyRotation, &rotationAngle)) {
 +</code>
 +
 +AwesomePlayer 에서 frameworks/base/media/libstagefright/AwesomePlayer.cpp
 +<code cpp>
 +        if (!strncmp("OMX.", component, 4)) {
 +            // Our OMX codecs allocate buffers on the media_server side
 +            // therefore they require a remote IOMXRenderer that knows how
 +            // to display them.
 +            mVideoRenderer = new AwesomeRemoteRenderer(
 +                mClient.interface()->createRenderer(
 +                        mISurface, component,
 +                        (OMX_COLOR_FORMATTYPE)format,
 +                        decodedWidth, decodedHeight,
 +                        mVideoWidth, mVideoHeight,
 +                        rotationDegrees));
 +        }
 +</code>        
mpeg4.1298529482.txt.gz · Last modified: 2013/08/03 05:04 (external edit)