diff options
author | povaddict <povaddict@users.sourceforge.net> | 2010-02-10 02:16:44 +0300 |
---|---|---|
committer | povaddict <povaddict@users.sourceforge.net> | 2010-02-10 02:16:44 +0300 |
commit | 726a91b12a7524e45e7a901c9e4883af5b1bffe6 (patch) | |
tree | f5d25e3b2e84c92f4901280c73d5d3d7e6c3cd19 /src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/mpc_helper.c | |
parent | 02183f6e47ad4ea1057de9950482f291f2ae4290 (diff) |
Rename several directories to use MixedCase instead of lowercase.
They now mostly match the case used in #includes,
and they're consistent with the names of the .h files they contain.
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1648 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/mpc_helper.c')
-rw-r--r-- | src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/mpc_helper.c | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/mpc_helper.c b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/mpc_helper.c new file mode 100644 index 000000000..e11a54606 --- /dev/null +++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/mpc_helper.c @@ -0,0 +1,93 @@ +/*
+ * This file is part of Media Player Classic HomeCinema.
+ *
+ * MPC-HC is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * MPC-HC is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avcodec.h"
+#include "internal.h"
+#include "ac3.h"
+#include "ac3_parser.h"
+#include "ac3dec.h"
+#include "ac3dec_data.h"
+
+#ifdef __GNUC__
+#define _aligned_malloc __mingw_aligned_malloc
+#define _aligned_realloc __mingw_aligned_realloc
+#define _aligned_free __mingw_aligned_free
+#endif
+
+int FFGetChannelMap(struct AVCodecContext * avctx)
+{
+ switch (avctx->codec_id)
+ {
+ case CODEC_ID_EAC3 :
+ case CODEC_ID_AC3 :
+ {
+ AC3DecodeContext *s = avctx->priv_data;
+
+ // Mapping index for s_scmap_ac3
+ switch (s->channel_mode)
+ {
+ case AC3_CHMODE_DUALMONO: return 0;
+ case AC3_CHMODE_MONO : return 1;
+ case AC3_CHMODE_STEREO : return 2;
+ case AC3_CHMODE_3F : return 3;
+ case AC3_CHMODE_2F1R : return 4;
+ case AC3_CHMODE_3F1R : return 5;
+ case AC3_CHMODE_2F2R : return 6;
+ case AC3_CHMODE_3F2R : return (s->lfe_on ? 8 : 7);
+ }
+ }
+ break;
+ case CODEC_ID_MLP :
+ {
+ // Mapping index for s_scmap_lpcm
+ if (avctx->channels<=8)
+ return avctx->channels-1;
+ else
+ return -1;
+ }
+ default :
+ return 2;
+ }
+ return -1;
+}
+
+
+void* FF_aligned_malloc(size_t size, size_t alignment)
+{
+ return _aligned_malloc(size,alignment);
+}
+
+void FF_aligned_free(void* mem_ptr)
+{
+ if (mem_ptr)
+ _aligned_free(mem_ptr);
+}
+
+void* FF_aligned_realloc(void *ptr,size_t size,size_t alignment)
+{
+ if (!ptr)
+ return FF_aligned_malloc(size,alignment);
+ else
+ if (size==0)
+ {
+ FF_aligned_free(ptr);
+ return NULL;
+ }
+ else
+ return _aligned_realloc(ptr,size,alignment);
+}
|