mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 11:19:55 +00:00
On2 AVC decoder
This commit is contained in:
parent
d7eb8f9033
commit
e2834567d7
@ -22,6 +22,7 @@ version <next>:
|
||||
- Silicon Graphics RLE 8-bit video decoder
|
||||
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
|
||||
- Silicon Graphics Movie demuxer
|
||||
- On2 AVC (Audio for Video) decoder
|
||||
|
||||
|
||||
version 10:
|
||||
|
1
configure
vendored
1
configure
vendored
@ -1808,6 +1808,7 @@ mxpeg_decoder_select="mjpeg_decoder"
|
||||
nellymoser_decoder_select="mdct sinewin"
|
||||
nellymoser_encoder_select="audio_frame_queue mdct sinewin"
|
||||
nuv_decoder_select="dsputil lzo"
|
||||
on2avc_decoder_select="mdct"
|
||||
png_decoder_deps="zlib"
|
||||
png_encoder_deps="zlib"
|
||||
png_encoder_select="dsputil"
|
||||
|
@ -854,6 +854,7 @@ following image formats are supported:
|
||||
@item Musepack SV7 @tab @tab X
|
||||
@item Musepack SV8 @tab @tab X
|
||||
@item Nellymoser Asao @tab X @tab X
|
||||
@item On2 AVC (Audio for Video Codec) @tab @tab X
|
||||
@item Opus @tab E @tab E
|
||||
@tab supported through external library libopus
|
||||
@item PCM A-law @tab X @tab X
|
||||
|
@ -278,6 +278,7 @@ OBJS-$(CONFIG_MXPEG_DECODER) += mxpegdec.o
|
||||
OBJS-$(CONFIG_NELLYMOSER_DECODER) += nellymoserdec.o nellymoser.o
|
||||
OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o
|
||||
OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
|
||||
OBJS-$(CONFIG_ON2AVC_DECODER) += on2avc.o on2avcdata.o
|
||||
OBJS-$(CONFIG_PAF_VIDEO_DECODER) += paf.o
|
||||
OBJS-$(CONFIG_PAF_AUDIO_DECODER) += paf.o
|
||||
OBJS-$(CONFIG_PAM_DECODER) += pnmdec.o pnm.o
|
||||
|
@ -329,6 +329,7 @@ void avcodec_register_all(void)
|
||||
REGISTER_DECODER(MPC7, mpc7);
|
||||
REGISTER_DECODER(MPC8, mpc8);
|
||||
REGISTER_ENCDEC (NELLYMOSER, nellymoser);
|
||||
REGISTER_DECODER(ON2AVC, on2avc);
|
||||
REGISTER_DECODER(PAF_AUDIO, paf_audio);
|
||||
REGISTER_DECODER(QCELP, qcelp);
|
||||
REGISTER_DECODER(QDM2, qdm2);
|
||||
|
@ -443,6 +443,7 @@ enum AVCodecID {
|
||||
AV_CODEC_ID_TAK,
|
||||
AV_CODEC_ID_METASOUND,
|
||||
AV_CODEC_ID_PAF_AUDIO,
|
||||
AV_CODEC_ID_ON2AVC,
|
||||
|
||||
/* subtitle codecs */
|
||||
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
|
||||
|
@ -2285,6 +2285,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),
|
||||
.props = AV_CODEC_PROP_LOSSY,
|
||||
},
|
||||
{
|
||||
.id = AV_CODEC_ID_ON2AVC,
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.name = "avc",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
|
||||
.props = AV_CODEC_PROP_LOSSY,
|
||||
},
|
||||
|
||||
/* subtitle codecs */
|
||||
{
|
||||
|
1015
libavcodec/on2avc.c
Normal file
1015
libavcodec/on2avc.c
Normal file
File diff suppressed because it is too large
Load Diff
9383
libavcodec/on2avcdata.c
Normal file
9383
libavcodec/on2avcdata.c
Normal file
File diff suppressed because it is too large
Load Diff
82
libavcodec/on2avcdata.h
Normal file
82
libavcodec/on2avcdata.h
Normal file
@ -0,0 +1,82 @@
|
||||
/*
|
||||
* On2 Audio for Video Codec decoder
|
||||
*
|
||||
* Copyright (c) 2013 Konstantin Shishkov
|
||||
*
|
||||
* This file is part of Libav.
|
||||
*
|
||||
* Libav 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.
|
||||
*
|
||||
* Libav 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 Libav; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef AVCODEC_ON2AVC_DATA_H
|
||||
#define AVCODEC_ON2AVC_DATA_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define ON2AVC_MAX_BANDS 112
|
||||
#define ON2AVC_ESC_CB 15
|
||||
|
||||
typedef struct On2AVCMode {
|
||||
int num_windows;
|
||||
int num_bands;
|
||||
const int *band_start;
|
||||
} On2AVCMode;
|
||||
|
||||
extern const On2AVCMode ff_on2avc_modes_40[8];
|
||||
extern const On2AVCMode ff_on2avc_modes_44[8];
|
||||
|
||||
#define ON2AVC_SCALE_DIFFS 121
|
||||
extern const uint32_t ff_on2avc_scale_diff_codes[];
|
||||
extern const uint8_t ff_on2avc_scale_diff_bits[];
|
||||
|
||||
extern const uint32_t * const ff_on2avc_quad_cb_codes[];
|
||||
extern const uint8_t * const ff_on2avc_quad_cb_bits[];
|
||||
extern const uint16_t * const ff_on2avc_quad_cb_syms[];
|
||||
extern const int ff_on2avc_quad_cb_elems[];
|
||||
extern const uint16_t * const ff_on2avc_pair_cb_codes[];
|
||||
extern const uint8_t * const ff_on2avc_pair_cb_bits[];
|
||||
extern const uint16_t * const ff_on2avc_pair_cb_syms[];
|
||||
extern const int ff_on2avc_pair_cb_elems[];
|
||||
|
||||
extern const float ff_on2avc_window_long_32000[1024];
|
||||
extern const float ff_on2avc_window_long_24000[1024];
|
||||
extern const float ff_on2avc_window_short[128];
|
||||
|
||||
extern const double ff_on2avc_tab_10_1[];
|
||||
extern const double ff_on2avc_tab_10_2[];
|
||||
extern const double ff_on2avc_tab_20_1[];
|
||||
extern const double ff_on2avc_tab_20_2[];
|
||||
extern const double ff_on2avc_tab_40_1[];
|
||||
extern const double ff_on2avc_tab_40_2[];
|
||||
extern const double ff_on2avc_tab_84_1[];
|
||||
extern const double ff_on2avc_tab_84_2[];
|
||||
extern const double ff_on2avc_tab_84_3[];
|
||||
extern const double ff_on2avc_tab_84_4[];
|
||||
extern const double* ff_on2avc_tabs_4_10_1[4];
|
||||
extern const double* ff_on2avc_tabs_4_10_2[4];
|
||||
extern const double* ff_on2avc_tabs_9_20_1[9];
|
||||
extern const double* ff_on2avc_tabs_9_20_2[9];
|
||||
extern const double* ff_on2avc_tabs_19_40_1[19];
|
||||
extern const double* ff_on2avc_tabs_19_40_2[19];
|
||||
extern const double* ff_on2avc_tabs_20_84_1[20];
|
||||
extern const double* ff_on2avc_tabs_20_84_2[20];
|
||||
extern const double* ff_on2avc_tabs_20_84_3[20];
|
||||
extern const double* ff_on2avc_tabs_20_84_4[20];
|
||||
extern const float ff_on2avc_ctab_1[2048];
|
||||
extern const float ff_on2avc_ctab_2[2048];
|
||||
extern const float ff_on2avc_ctab_3[2048];
|
||||
extern const float ff_on2avc_ctab_4[2048];
|
||||
|
||||
#endif /* AVCODEC_ff_on2avc_DATA_H */
|
@ -29,7 +29,7 @@
|
||||
#include "libavutil/version.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 55
|
||||
#define LIBAVCODEC_VERSION_MINOR 48
|
||||
#define LIBAVCODEC_VERSION_MINOR 49
|
||||
#define LIBAVCODEC_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
|
@ -395,6 +395,8 @@ const AVCodecTag ff_codec_wav_tags[] = {
|
||||
{ AV_CODEC_ID_ADPCM_G722, 0x028F },
|
||||
{ AV_CODEC_ID_IMC, 0x0401 },
|
||||
{ AV_CODEC_ID_IAC, 0x0402 },
|
||||
{ AV_CODEC_ID_ON2AVC, 0x0500 },
|
||||
{ AV_CODEC_ID_ON2AVC, 0x0501 },
|
||||
{ AV_CODEC_ID_GSM_MS, 0x1500 },
|
||||
{ AV_CODEC_ID_TRUESPEECH, 0x1501 },
|
||||
/* ADTS AAC */
|
||||
|
Loading…
Reference in New Issue
Block a user