]> git.sesse.net Git - vlc/blobdiff - modules/codec/omxil/utils.c
omxil: Signal the right AMR frame format
[vlc] / modules / codec / omxil / utils.c
index 9e11fa42525b694bccb29cad2f1bd1b61e4d2770..7f93dc784666f9cc2c75d5d1464d8ab2c0c22400 100644 (file)
@@ -188,7 +188,6 @@ int IgnoreOmxDecoderPadding(const char *name)
     // since that is the default, but keep it here for reference. (This is
     // only relevant for manufacturers that are known to have decoders with
     // this kind of bug.)
-    // Unknown: OMX.SEC.vc1.dec (wmv9/vc1 - lack of samples that have cropping)
 /*
     static const char *padding_decoders[] = {
         "OMX.SEC.AVC.Decoder",
@@ -202,6 +201,7 @@ int IgnoreOmxDecoderPadding(const char *name)
         "OMX.SEC.avcdec",
         "OMX.SEC.MPEG4.Decoder",
         "OMX.SEC.mpeg4.dec",
+        "OMX.SEC.vc1.dec",
         NULL
     };
     for (const char **ptr = nopadding_decoders; *ptr; ptr++) {
@@ -303,8 +303,8 @@ static const struct
     { VLC_CODEC_MP4V, OMX_VIDEO_CodingMPEG4, "video_decoder.mpeg4" },
     { VLC_CODEC_H264, OMX_VIDEO_CodingAVC,   "video_decoder.avc"   },
     { VLC_CODEC_H263, OMX_VIDEO_CodingH263,  "video_decoder.h263"  },
-    { VLC_CODEC_WMV1, OMX_VIDEO_CodingWMV,   "video_decoder.wmv  },
-    { VLC_CODEC_WMV2, OMX_VIDEO_CodingWMV,   "video_decoder.wmv  },
+    { VLC_CODEC_WMV1, OMX_VIDEO_CodingWMV,   "video_decoder.wmv1"  },
+    { VLC_CODEC_WMV2, OMX_VIDEO_CodingWMV,   "video_decoder.wmv2"  },
     { VLC_CODEC_WMV3, OMX_VIDEO_CodingWMV,   "video_decoder.wmv"   },
     { VLC_CODEC_VC1,  OMX_VIDEO_CodingWMV,   "video_decoder.wmv"   },
     { VLC_CODEC_MJPG, OMX_VIDEO_CodingMJPEG, "video_decoder.jpeg"  },
@@ -324,17 +324,11 @@ static const struct
 
 } audio_format_table[] =
 {
-    { VLC_CODEC_AMR_NB, OMX_AUDIO_CodingAMR, "audio_decoder.amr" },
-    { VLC_CODEC_AMR_WB, OMX_AUDIO_CodingAMR, "audio_decoder.amr" },
+    { VLC_CODEC_AMR_NB, OMX_AUDIO_CodingAMR, "audio_decoder.amrnb" },
+    { VLC_CODEC_AMR_WB, OMX_AUDIO_CodingAMR, "audio_decoder.amrwb" },
     { VLC_CODEC_MP4A,   OMX_AUDIO_CodingAAC, "audio_decoder.aac" },
     { VLC_CODEC_S16N,   OMX_AUDIO_CodingPCM, "audio_decoder.pcm" },
     { VLC_CODEC_MP3,    OMX_AUDIO_CodingMP3, "audio_decoder.mp3" },
-    { VLC_CODEC_MPGA,   OMX_AUDIO_CodingMP3, "audio_decoder.mp3" },
-    { VLC_CODEC_VORBIS, OMX_AUDIO_CodingVORBIS, "audio_decoder.vorbis" },
-    { VLC_CODEC_WMA1,   OMX_AUDIO_CodingWMA, "audio_decoder.wma" },
-    { VLC_CODEC_WMA2,   OMX_AUDIO_CodingWMA, "audio_decoder.wma" },
-    { VLC_CODEC_WMAP,   OMX_AUDIO_CodingWMA, "audio_decoder.wma" },
-    { VLC_CODEC_WMAL,   OMX_AUDIO_CodingWMA, "audio_decoder.wma" },
     { 0, 0, 0 }
 };
 
@@ -369,8 +363,8 @@ static const struct
 
 } audio_enc_format_table[] =
 {
-    { VLC_CODEC_AMR_NB, OMX_AUDIO_CodingAMR, "audio_encoder.amr" },
-    { VLC_CODEC_AMR_WB, OMX_AUDIO_CodingAMR, "audio_encoder.amr" },
+    { VLC_CODEC_AMR_NB, OMX_AUDIO_CodingAMR, "audio_encoder.amrnb" },
+    { VLC_CODEC_AMR_WB, OMX_AUDIO_CodingAMR, "audio_encoder.amrwb" },
     { VLC_CODEC_MP4A,   OMX_AUDIO_CodingAAC, "audio_encoder.aac" },
     { VLC_CODEC_S16N,   OMX_AUDIO_CodingPCM, "audio_encoder.pcm" },
     { 0, 0, 0 }
@@ -665,7 +659,7 @@ OMX_ERRORTYPE SetAudioParameters(OMX_HANDLETYPE handle,
         param->amr.nBitRate = i_bitrate;
         param->amr.eAMRBandMode = OMX_AUDIO_AMRBandModeUnused;
         param->amr.eAMRDTXMode = OMX_AUDIO_AMRDTXModeOff;
-        param->amr.eAMRFrameFormat = OMX_AUDIO_AMRFrameFormatConformance;
+        param->amr.eAMRFrameFormat = OMX_AUDIO_AMRFrameFormatFSF;
         break;
     case OMX_AUDIO_CodingG723:
         OMX_INIT_STRUCTURE(param->g723);