Merge commit '2fc85fe96e7e0e5fc433b98eacebf4d3511d2d58'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 6 Jul 2014 21:43:37 +0000 (23:43 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 6 Jul 2014 21:43:37 +0000 (23:43 +0200)
* commit '2fc85fe96e7e0e5fc433b98eacebf4d3511d2d58':
  bmv: Split audio and video decoder

Conflicts:
libavcodec/bmvvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/Makefile
libavcodec/bmvaudio.c
libavcodec/bmvvideo.c

diff --combined libavcodec/Makefile
@@@ -1,11 -1,8 +1,11 @@@
 +include $(SUBDIR)../config.mak
 +
  NAME = avcodec
  
  HEADERS = avcodec.h                                                     \
            avfft.h                                                       \
            dxva2.h                                                       \
 +          old_codec_ids.h                                               \
            vaapi.h                                                       \
            vda.h                                                         \
            vdpau.h                                                       \
@@@ -13,7 -10,6 +13,7 @@@
            xvmc.h                                                        \
  
  OBJS = allcodecs.o                                                      \
 +       audioconvert.o                                                   \
         avpacket.o                                                       \
         avpicture.o                                                      \
         bitstream.o                                                      \
         codec_desc.o                                                     \
         fmtconvert.o                                                     \
         imgconvert.o                                                     \
 -       log2_tab.o                                                       \
         mathtables.o                                                     \
         options.o                                                        \
         parser.o                                                         \
         raw.o                                                            \
 +       resample.o                                                       \
 +       resample2.o                                                      \
         utils.o                                                          \
  
  # parts needed for many different codecs
@@@ -37,21 -32,18 +37,21 @@@ OBJS-$(CONFIG_AUDIODSP)                
  OBJS-$(CONFIG_BLOCKDSP)                += blockdsp.o
  OBJS-$(CONFIG_BSWAPDSP)                += bswapdsp.o
  OBJS-$(CONFIG_CABAC)                   += cabac.o
 +OBJS-$(CONFIG_CRYSTALHD)               += crystalhd.o
  OBJS-$(CONFIG_DCT)                     += dct.o dct32_fixed.o dct32_float.o
  OBJS-$(CONFIG_DSPUTIL)                 += dsputil.o
  OBJS-$(CONFIG_DXVA2)                   += dxva2.o
  OBJS-$(CONFIG_ENCODERS)                += faandct.o jfdctfst.o jfdctint.o
  OBJS-$(CONFIG_ERROR_RESILIENCE)        += error_resilience.o
 +OBJS-$(CONFIG_EXIF)                    += exif.o tiff_common.o
  FFT-OBJS-$(CONFIG_HARDCODED_TABLES)    += cos_tables.o cos_fixed_tables.o
  OBJS-$(CONFIG_FFT)                     += avfft.o fft_fixed.o fft_float.o \
 +                                          fft_fixed_32.o fft_init_table.o \
                                            $(FFT-OBJS-yes)
  OBJS-$(CONFIG_GOLOMB)                  += golomb.o
  OBJS-$(CONFIG_H263DSP)                 += h263dsp.o
  OBJS-$(CONFIG_H264CHROMA)              += h264chroma.o
 -OBJS-$(CONFIG_H264DSP)                 += h264dsp.o h264idct.o
 +OBJS-$(CONFIG_H264DSP)                 += h264dsp.o h264idct.o startcode.o
  OBJS-$(CONFIG_H264PRED)                += h264pred.o
  OBJS-$(CONFIG_H264QPEL)                += h264qpel.o
  OBJS-$(CONFIG_HPELDSP)                 += hpeldsp.o
@@@ -62,11 -54,9 +62,11 @@@ OBJS-$(CONFIG_IDCTDSP)                 
                                            simple_idct.o jrevdct.o
  OBJS-$(CONFIG_INTRAX8)                 += intrax8.o intrax8dsp.o
  OBJS-$(CONFIG_LIBXVID)                 += libxvid_rc.o
 +OBJS-$(CONFIG_LLAUDDSP)                += lossless_audiodsp.o
 +OBJS-$(CONFIG_LLVIDDSP)                += lossless_videodsp.o
  OBJS-$(CONFIG_LPC)                     += lpc.o
  OBJS-$(CONFIG_LSP)                     += lsp.o
 -OBJS-$(CONFIG_MDCT)                    += mdct_fixed.o mdct_float.o
 +OBJS-$(CONFIG_MDCT)                    += mdct_fixed.o mdct_float.o mdct_fixed_32.o
  OBJS-$(CONFIG_MPEG_ER)                 += mpeg_er.o
  OBJS-$(CONFIG_MPEGAUDIO)               += mpegaudio.o mpegaudiodata.o   \
                                            mpegaudiodecheader.o
@@@ -82,7 -72,6 +82,7 @@@ OBJS-$(CONFIG_QPELDSP)                 
  OBJS-$(CONFIG_RANGECODER)              += rangecoder.o
  RDFT-OBJS-$(CONFIG_HARDCODED_TABLES)   += sin_tables.o
  OBJS-$(CONFIG_RDFT)                    += rdft.o $(RDFT-OBJS-yes)
 +OBJS-$(CONFIG_SHARED)                  += log2_tab.o
  OBJS-$(CONFIG_SINEWIN)                 += sinewin.o
  OBJS-$(CONFIG_TPELDSP)                 += tpeldsp.o
  OBJS-$(CONFIG_VAAPI)                   += vaapi.o
@@@ -92,7 -81,6 +92,7 @@@ OBJS-$(CONFIG_VIDEODSP)                
  OBJS-$(CONFIG_VP3DSP)                  += vp3dsp.o
  
  # decoders/encoders
 +OBJS-$(CONFIG_ZERO12V_DECODER)         += 012v.o
  OBJS-$(CONFIG_A64MULTI_ENCODER)        += a64multienc.o elbg.o
  OBJS-$(CONFIG_A64MULTI5_ENCODER)       += a64multienc.o elbg.o
  OBJS-$(CONFIG_AAC_DECODER)             += aacdec.o aactab.o aacsbr.o aacps.o \
@@@ -103,8 -91,7 +103,8 @@@ OBJS-$(CONFIG_AAC_ENCODER)             
                                            psymodel.o iirfilter.o \
                                            mpeg4audio.o kbdwin.o
  OBJS-$(CONFIG_AASC_DECODER)            += aasc.o msrledec.o
 -OBJS-$(CONFIG_AC3_DECODER)             += ac3dec.o ac3dec_data.o ac3.o kbdwin.o
 +OBJS-$(CONFIG_AC3_DECODER)             += ac3dec_float.o ac3dec_data.o ac3.o kbdwin.o
 +OBJS-$(CONFIG_AC3_FIXED_DECODER)       += ac3dec_fixed.o ac3dec_data.o ac3.o kbdwin.o
  OBJS-$(CONFIG_AC3_ENCODER)             += ac3enc_float.o ac3enc.o ac3tab.o \
                                            ac3.o kbdwin.o
  OBJS-$(CONFIG_AC3_FIXED_ENCODER)       += ac3enc_fixed.o ac3enc.o ac3tab.o ac3.o
@@@ -122,16 -109,10 +122,16 @@@ OBJS-$(CONFIG_AMRWB_DECODER)           
                                            celp_math.o acelp_filters.o \
                                            acelp_vectors.o             \
                                            acelp_pitch_delay.o
 +OBJS-$(CONFIG_AMV_ENCODER)             += mjpegenc.o mjpeg.o mjpegenc_common.o \
 +                                          mpegvideo_enc.o motion_est.o \
 +                                          ratecontrol.o mpeg12data.o   \
 +                                          mpegvideo.o
  OBJS-$(CONFIG_ANM_DECODER)             += anm.o
  OBJS-$(CONFIG_ANSI_DECODER)            += ansi.o cga_data.o
  OBJS-$(CONFIG_APE_DECODER)             += apedec.o
 -OBJS-$(CONFIG_ASS_DECODER)             += assdec.o ass.o
 +OBJS-$(CONFIG_SSA_DECODER)             += assdec.o ass.o ass_split.o
 +OBJS-$(CONFIG_SSA_ENCODER)             += assenc.o ass.o
 +OBJS-$(CONFIG_ASS_DECODER)             += assdec.o ass.o ass_split.o
  OBJS-$(CONFIG_ASS_ENCODER)             += assenc.o ass.o
  OBJS-$(CONFIG_ASV1_DECODER)            += asvdec.o asv.o mpeg12data.o
  OBJS-$(CONFIG_ASV1_ENCODER)            += asvenc.o asv.o mpeg12data.o
@@@ -143,24 -124,16 +143,24 @@@ OBJS-$(CONFIG_ATRAC3P_DECODER)         
                                            atrac3plusdsp.o atrac.o
  OBJS-$(CONFIG_AURA_DECODER)            += cyuv.o
  OBJS-$(CONFIG_AURA2_DECODER)           += aura.o
 +OBJS-$(CONFIG_AVRN_DECODER)            += avrndec.o mjpegdec.o mjpeg.o
 +OBJS-$(CONFIG_AVRP_DECODER)            += r210dec.o
 +OBJS-$(CONFIG_AVRP_ENCODER)            += r210enc.o
  OBJS-$(CONFIG_AVS_DECODER)             += avs.o
 +OBJS-$(CONFIG_AVUI_DECODER)            += avuidec.o
 +OBJS-$(CONFIG_AVUI_ENCODER)            += avuienc.o
 +OBJS-$(CONFIG_AYUV_DECODER)            += v408dec.o
 +OBJS-$(CONFIG_AYUV_ENCODER)            += v408enc.o
  OBJS-$(CONFIG_BETHSOFTVID_DECODER)     += bethsoftvideo.o
  OBJS-$(CONFIG_BFI_DECODER)             += bfi.o
  OBJS-$(CONFIG_BINK_DECODER)            += bink.o binkdsp.o
  OBJS-$(CONFIG_BINKAUDIO_DCT_DECODER)   += binkaudio.o wma.o wma_common.o
  OBJS-$(CONFIG_BINKAUDIO_RDFT_DECODER)  += binkaudio.o wma.o wma_common.o
 +OBJS-$(CONFIG_BINTEXT_DECODER)         += bintext.o cga_data.o
  OBJS-$(CONFIG_BMP_DECODER)             += bmp.o msrledec.o
  OBJS-$(CONFIG_BMP_ENCODER)             += bmpenc.o
- OBJS-$(CONFIG_BMV_VIDEO_DECODER)       += bmv.o
- OBJS-$(CONFIG_BMV_AUDIO_DECODER)       += bmv.o
+ OBJS-$(CONFIG_BMV_AUDIO_DECODER)       += bmvaudio.o
+ OBJS-$(CONFIG_BMV_VIDEO_DECODER)       += bmvvideo.o
  OBJS-$(CONFIG_BRENDER_PIX_DECODER)     += brenderpix.o
  OBJS-$(CONFIG_C93_DECODER)             += c93.o
  OBJS-$(CONFIG_CAVS_DECODER)            += cavs.o cavsdec.o cavsdsp.o \
  OBJS-$(CONFIG_CDGRAPHICS_DECODER)      += cdgraphics.o
  OBJS-$(CONFIG_CDXL_DECODER)            += cdxl.o
  OBJS-$(CONFIG_CINEPAK_DECODER)         += cinepak.o
 +OBJS-$(CONFIG_CINEPAK_ENCODER)         += cinepakenc.o elbg.o
  OBJS-$(CONFIG_CLJR_DECODER)            += cljrdec.o
  OBJS-$(CONFIG_CLJR_ENCODER)            += cljrenc.o
  OBJS-$(CONFIG_CLLC_DECODER)            += cllc.o
  OBJS-$(CONFIG_COOK_DECODER)            += cook.o
  OBJS-$(CONFIG_COMFORTNOISE_DECODER)    += cngdec.o celp_filters.o
  OBJS-$(CONFIG_COMFORTNOISE_ENCODER)    += cngenc.o
 +OBJS-$(CONFIG_CPIA_DECODER)            += cpia.o
  OBJS-$(CONFIG_CSCD_DECODER)            += cscd.o
  OBJS-$(CONFIG_CYUV_DECODER)            += cyuv.o
  OBJS-$(CONFIG_DCA_DECODER)             += dcadec.o dca.o dcadsp.o      \
                                            synth_filter.o
 +OBJS-$(CONFIG_DCA_ENCODER)             += dcaenc.o dca.o
 +OBJS-$(CONFIG_DIRAC_DECODER)           += diracdec.o dirac.o diracdsp.o \
 +                                          dirac_arith.o mpeg12data.o dirac_dwt.o
  OBJS-$(CONFIG_DFA_DECODER)             += dfa.o
  OBJS-$(CONFIG_DNXHD_DECODER)           += dnxhddec.o dnxhddata.o
  OBJS-$(CONFIG_DNXHD_ENCODER)           += dnxhdenc.o dnxhddata.o
  OBJS-$(CONFIG_DPX_DECODER)             += dpx.o
  OBJS-$(CONFIG_DPX_ENCODER)             += dpxenc.o
 +OBJS-$(CONFIG_DSD_LSBF_DECODER)        += dsddec.o
 +OBJS-$(CONFIG_DSD_MSBF_DECODER)        += dsddec.o
 +OBJS-$(CONFIG_DSD_LSBF_PLANAR_DECODER) += dsddec.o
 +OBJS-$(CONFIG_DSD_MSBF_PLANAR_DECODER) += dsddec.o
  OBJS-$(CONFIG_DSICINAUDIO_DECODER)     += dsicinav.o
  OBJS-$(CONFIG_DSICINVIDEO_DECODER)     += dsicinav.o
  OBJS-$(CONFIG_DVBSUB_DECODER)          += dvbsubdec.o
@@@ -215,17 -179,14 +215,17 @@@ OBJS-$(CONFIG_EIGHTSVX_EXP_DECODER)    
  OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER)    += 8svx.o
  OBJS-$(CONFIG_ESCAPE124_DECODER)       += escape124.o
  OBJS-$(CONFIG_ESCAPE130_DECODER)       += escape130.o
 +OBJS-$(CONFIG_EVRC_DECODER)            += evrcdec.o acelp_vectors.o lsp.o
  OBJS-$(CONFIG_EXR_DECODER)             += exr.o
  OBJS-$(CONFIG_FFV1_DECODER)            += ffv1dec.o ffv1.o
  OBJS-$(CONFIG_FFV1_ENCODER)            += ffv1enc.o ffv1.o
 +OBJS-$(CONFIG_FFWAVESYNTH_DECODER)     += ffwavesynth.o
  OBJS-$(CONFIG_FIC_DECODER)             += fic.o
  OBJS-$(CONFIG_FLAC_DECODER)            += flacdec.o flacdata.o flac.o flacdsp.o
 -OBJS-$(CONFIG_FLAC_ENCODER)            += flacenc.o flacdata.o flac.o flacdsp.o
 +OBJS-$(CONFIG_FLAC_ENCODER)            += flacenc.o flacdata.o flac.o flacdsp.o vorbis_data.o
  OBJS-$(CONFIG_FLASHSV_DECODER)         += flashsv.o
  OBJS-$(CONFIG_FLASHSV_ENCODER)         += flashsvenc.o
 +OBJS-$(CONFIG_FLASHSV2_ENCODER)        += flashsv2enc.o
  OBJS-$(CONFIG_FLASHSV2_DECODER)        += flashsv.o
  OBJS-$(CONFIG_FLIC_DECODER)            += flicvideo.o
  OBJS-$(CONFIG_FOURXM_DECODER)          += 4xm.o
@@@ -233,9 -194,7 +233,9 @@@ OBJS-$(CONFIG_FRAPS_DECODER)           
  OBJS-$(CONFIG_FRWU_DECODER)            += frwu.o
  OBJS-$(CONFIG_G2M_DECODER)             += g2meet.o mjpeg.o
  OBJS-$(CONFIG_G723_1_DECODER)          += g723_1.o acelp_vectors.o \
 -                                          celp_filters.o
 +                                          celp_filters.o celp_math.o
 +OBJS-$(CONFIG_G723_1_ENCODER)          += g723_1.o acelp_vectors.o celp_math.o
 +OBJS-$(CONFIG_G729_DECODER)            += g729dec.o lsp.o celp_math.o acelp_filters.o acelp_pitch_delay.o acelp_vectors.o g729postfilter.o
  OBJS-$(CONFIG_GIF_DECODER)             += gifdec.o lzw.o
  OBJS-$(CONFIG_GIF_ENCODER)             += gif.o lzwenc.o
  OBJS-$(CONFIG_GSM_DECODER)             += gsmdec.o gsmdec_data.o msgsmdec.o
@@@ -251,7 -210,6 +251,7 @@@ OBJS-$(CONFIG_H264_DECODER)            
                                            h264_direct.o h264_loopfilter.o  \
                                            h264_mb.o h264_picture.o h264_ps.o \
                                            h264_refs.o h264_sei.o h264_slice.o
 +OBJS-$(CONFIG_H264_VDA_DECODER)        += vda_h264_dec.o
  OBJS-$(CONFIG_HEVC_DECODER)            += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \
                                            hevc_cabac.o hevc_refs.o hevcpred.o    \
                                            hevcdsp.o hevc_filter.o
@@@ -259,7 -217,6 +259,7 @@@ OBJS-$(CONFIG_HNM4_VIDEO_DECODER)      
  OBJS-$(CONFIG_HUFFYUV_DECODER)         += huffyuv.o huffyuvdec.o
  OBJS-$(CONFIG_HUFFYUV_ENCODER)         += huffyuv.o huffyuvenc.o
  OBJS-$(CONFIG_IDCIN_DECODER)           += idcinvideo.o
 +OBJS-$(CONFIG_IDF_DECODER)             += bintext.o cga_data.o
  OBJS-$(CONFIG_IFF_BYTERUN1_DECODER)    += iff.o
  OBJS-$(CONFIG_IFF_ILBM_DECODER)        += iff.o
  OBJS-$(CONFIG_IMC_DECODER)             += imc.o
@@@ -269,9 -226,6 +269,9 @@@ OBJS-$(CONFIG_INDEO4_DECODER)          
  OBJS-$(CONFIG_INDEO5_DECODER)          += indeo5.o ivi_common.o ivi_dsp.o
  OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER)  += dpcm.o
  OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
 +OBJS-$(CONFIG_JACOSUB_DECODER)         += jacosubdec.o ass.o
 +OBJS-$(CONFIG_JPEG2000_ENCODER)        += j2kenc.o mqcenc.o mqc.o jpeg2000.o \
 +                                          jpeg2000dwt.o
  OBJS-$(CONFIG_JPEG2000_DECODER)        += jpeg2000dec.o jpeg2000.o      \
                                            jpeg2000dwt.o mqcdec.o mqc.o
  OBJS-$(CONFIG_JPEGLS_DECODER)          += jpeglsdec.o jpegls.o
@@@ -287,7 -241,6 +287,7 @@@ OBJS-$(CONFIG_MACE6_DECODER)           
  OBJS-$(CONFIG_MDEC_DECODER)            += mdec.o mpeg12.o mpeg12data.o
  OBJS-$(CONFIG_METASOUND_DECODER)       += metasound.o metasound_data.o \
                                            twinvq.o
 +OBJS-$(CONFIG_MICRODVD_DECODER)        += microdvddec.o ass.o
  OBJS-$(CONFIG_MIMIC_DECODER)           += mimic.o
  OBJS-$(CONFIG_MJPEG_DECODER)           += mjpegdec.o mjpeg.o
  OBJS-$(CONFIG_MJPEG_ENCODER)           += mjpegenc.o mjpeg.o mjpegenc_common.o
@@@ -295,14 -248,10 +295,14 @@@ OBJS-$(CONFIG_MJPEGB_DECODER)          
  OBJS-$(CONFIG_MLP_DECODER)             += mlpdec.o mlpdsp.o
  OBJS-$(CONFIG_MMVIDEO_DECODER)         += mmvideo.o
  OBJS-$(CONFIG_MOTIONPIXELS_DECODER)    += motionpixels.o
 +OBJS-$(CONFIG_MOVTEXT_DECODER)         += movtextdec.o ass.o
 +OBJS-$(CONFIG_MOVTEXT_ENCODER)         += movtextenc.o ass_split.o
  OBJS-$(CONFIG_MP1_DECODER)             += mpegaudiodec_fixed.o
  OBJS-$(CONFIG_MP1FLOAT_DECODER)        += mpegaudiodec_float.o
  OBJS-$(CONFIG_MP2_DECODER)             += mpegaudiodec_fixed.o
 -OBJS-$(CONFIG_MP2_ENCODER)             += mpegaudioenc.o mpegaudio.o \
 +OBJS-$(CONFIG_MP2_ENCODER)             += mpegaudioenc_float.o mpegaudio.o \
 +                                          mpegaudiodata.o mpegaudiodsp_data.o
 +OBJS-$(CONFIG_MP2FIXED_ENCODER)        += mpegaudioenc_fixed.o mpegaudio.o \
                                            mpegaudiodata.o mpegaudiodsp_data.o
  OBJS-$(CONFIG_MP2FLOAT_DECODER)        += mpegaudiodec_float.o
  OBJS-$(CONFIG_MP3_DECODER)             += mpegaudiodec_fixed.o
@@@ -313,13 -262,11 +313,13 @@@ OBJS-$(CONFIG_MP3ON4_DECODER)          
  OBJS-$(CONFIG_MP3ON4FLOAT_DECODER)     += mpegaudiodec_float.o mpeg4audio.o
  OBJS-$(CONFIG_MPC7_DECODER)            += mpc7.o mpc.o
  OBJS-$(CONFIG_MPC8_DECODER)            += mpc8.o mpc.o
 -OBJS-$(CONFIG_MPEG_XVMC_DECODER)       += mpegvideo_xvmc.o
 +OBJS-$(CONFIG_MPEGVIDEO_DECODER)       += mpeg12.o mpeg12data.o \
 +                                          mpegvideo.o error_resilience.o
  OBJS-$(CONFIG_MPEG1VIDEO_DECODER)      += mpeg12dec.o mpeg12.o mpeg12data.o
  OBJS-$(CONFIG_MPEG1VIDEO_ENCODER)      += mpeg12enc.o mpeg12.o
  OBJS-$(CONFIG_MPEG2VIDEO_DECODER)      += mpeg12dec.o mpeg12.o mpeg12data.o
  OBJS-$(CONFIG_MPEG2VIDEO_ENCODER)      += mpeg12enc.o mpeg12.o
 +OBJS-$(CONFIG_MPL2_DECODER)            += mpl2dec.o ass.o
  OBJS-$(CONFIG_MSMPEG4V1_DECODER)       += msmpeg4dec.o msmpeg4.o msmpeg4data.o
  OBJS-$(CONFIG_MSMPEG4V2_DECODER)       += msmpeg4dec.o msmpeg4.o msmpeg4data.o
  OBJS-$(CONFIG_MSMPEG4V2_ENCODER)       += msmpeg4enc.o msmpeg4.o msmpeg4data.o
@@@ -330,7 -277,6 +330,7 @@@ OBJS-$(CONFIG_MSA1_DECODER)            
  OBJS-$(CONFIG_MSS1_DECODER)            += mss1.o mss12.o
  OBJS-$(CONFIG_MSS2_DECODER)            += mss2.o mss12.o mss2dsp.o
  OBJS-$(CONFIG_MSVIDEO1_DECODER)        += msvideo1.o
 +OBJS-$(CONFIG_MSVIDEO1_ENCODER)        += msvideo1enc.o elbg.o
  OBJS-$(CONFIG_MSZH_DECODER)            += lcldec.o
  OBJS-$(CONFIG_MTS2_DECODER)            += mss4.o mss34dsp.o
  OBJS-$(CONFIG_MVC1_DECODER)            += mvcdec.o
@@@ -357,16 -303,12 +357,16 @@@ OBJS-$(CONFIG_PGMYUV_DECODER)          
  OBJS-$(CONFIG_PGMYUV_ENCODER)          += pnmenc.o
  OBJS-$(CONFIG_PGSSUB_DECODER)          += pgssubdec.o
  OBJS-$(CONFIG_PICTOR_DECODER)          += pictordec.o cga_data.o
 +OBJS-$(CONFIG_PJS_DECODER)             += textdec.o ass.o
  OBJS-$(CONFIG_PNG_DECODER)             += png.o pngdec.o pngdsp.o
  OBJS-$(CONFIG_PNG_ENCODER)             += png.o pngenc.o
  OBJS-$(CONFIG_PPM_DECODER)             += pnmdec.o pnm.o
  OBJS-$(CONFIG_PPM_ENCODER)             += pnmenc.o
 -OBJS-$(CONFIG_PRORES_DECODER)          += proresdec.o proresdata.o proresdsp.o
 -OBJS-$(CONFIG_PRORES_ENCODER)          += proresenc.o proresdata.o
 +OBJS-$(CONFIG_PRORES_DECODER)          += proresdec2.o proresdsp.o proresdata.o
 +OBJS-$(CONFIG_PRORES_LGPL_DECODER)     += proresdec_lgpl.o proresdsp.o proresdata.o
 +OBJS-$(CONFIG_PRORES_ENCODER)          += proresenc_anatoliy.o
 +OBJS-$(CONFIG_PRORES_AW_ENCODER)       += proresenc_anatoliy.o
 +OBJS-$(CONFIG_PRORES_KS_ENCODER)       += proresenc_kostya.o proresdata.o
  OBJS-$(CONFIG_PTX_DECODER)             += ptx.o
  OBJS-$(CONFIG_QCELP_DECODER)           += qcelpdec.o                     \
                                            celp_filters.o acelp_vectors.o \
@@@ -377,16 -319,13 +377,16 @@@ OBJS-$(CONFIG_QPEG_DECODER)            
  OBJS-$(CONFIG_QTRLE_DECODER)           += qtrle.o
  OBJS-$(CONFIG_QTRLE_ENCODER)           += qtrleenc.o
  OBJS-$(CONFIG_R10K_DECODER)            += r210dec.o
 +OBJS-$(CONFIG_R10K_ENCODER)            += r210enc.o
  OBJS-$(CONFIG_R210_DECODER)            += r210dec.o
 +OBJS-$(CONFIG_R210_ENCODER)            += r210enc.o
  OBJS-$(CONFIG_RA_144_DECODER)          += ra144dec.o ra144.o celp_filters.o
  OBJS-$(CONFIG_RA_144_ENCODER)          += ra144enc.o ra144.o celp_filters.o
  OBJS-$(CONFIG_RA_288_DECODER)          += ra288.o celp_filters.o
  OBJS-$(CONFIG_RALF_DECODER)            += ralf.o
  OBJS-$(CONFIG_RAWVIDEO_DECODER)        += rawdec.o
  OBJS-$(CONFIG_RAWVIDEO_ENCODER)        += rawenc.o
 +OBJS-$(CONFIG_REALTEXT_DECODER)        += realtextdec.o ass.o
  OBJS-$(CONFIG_RL2_DECODER)             += rl2.o
  OBJS-$(CONFIG_ROQ_DECODER)             += roqvideodec.o roqvideo.o
  OBJS-$(CONFIG_ROQ_ENCODER)             += roqvideoenc.o roqvideo.o elbg.o
@@@ -399,9 -338,7 +399,9 @@@ OBJS-$(CONFIG_RV20_DECODER)            
  OBJS-$(CONFIG_RV20_ENCODER)            += rv20enc.o
  OBJS-$(CONFIG_RV30_DECODER)            += rv30.o rv34.o rv30dsp.o rv34dsp.o
  OBJS-$(CONFIG_RV40_DECODER)            += rv40.o rv34.o rv34dsp.o rv40dsp.o
 +OBJS-$(CONFIG_SAMI_DECODER)            += samidec.o ass.o
  OBJS-$(CONFIG_S302M_DECODER)           += s302m.o
 +OBJS-$(CONFIG_S302M_ENCODER)           += s302menc.o
  OBJS-$(CONFIG_SANM_DECODER)            += sanm.o
  OBJS-$(CONFIG_SGI_DECODER)             += sgidec.o
  OBJS-$(CONFIG_SGI_ENCODER)             += sgienc.o rle.o
@@@ -414,45 -351,29 +414,45 @@@ OBJS-$(CONFIG_SIPR_DECODER)            
  OBJS-$(CONFIG_SMACKAUD_DECODER)        += smacker.o
  OBJS-$(CONFIG_SMACKER_DECODER)         += smacker.o
  OBJS-$(CONFIG_SMC_DECODER)             += smc.o
 +OBJS-$(CONFIG_SMVJPEG_DECODER)         += smvjpegdec.o
 +OBJS-$(CONFIG_SNOW_DECODER)            += snowdec.o snow.o snow_dwt.o
 +OBJS-$(CONFIG_SNOW_ENCODER)            += snowenc.o snow.o snow_dwt.o             \
 +                                          h263.o ituh263enc.o
  OBJS-$(CONFIG_SOL_DPCM_DECODER)        += dpcm.o
 +OBJS-$(CONFIG_SONIC_DECODER)           += sonic.o
 +OBJS-$(CONFIG_SONIC_ENCODER)           += sonic.o
 +OBJS-$(CONFIG_SONIC_LS_ENCODER)        += sonic.o
  OBJS-$(CONFIG_SP5X_DECODER)            += sp5xdec.o
  OBJS-$(CONFIG_SRT_DECODER)             += srtdec.o ass.o
 +OBJS-$(CONFIG_SRT_ENCODER)             += srtenc.o ass_split.o
 +OBJS-$(CONFIG_SUBRIP_DECODER)          += srtdec.o ass.o
 +OBJS-$(CONFIG_SUBRIP_ENCODER)          += srtenc.o ass_split.o
 +OBJS-$(CONFIG_SUBVIEWER1_DECODER)      += textdec.o ass.o
 +OBJS-$(CONFIG_SUBVIEWER_DECODER)       += subviewerdec.o ass.o
  OBJS-$(CONFIG_SUNRAST_DECODER)         += sunrast.o
  OBJS-$(CONFIG_SUNRAST_ENCODER)         += sunrastenc.o
  OBJS-$(CONFIG_SVQ1_DECODER)            += svq1dec.o svq1.o svq13.o h263.o
  OBJS-$(CONFIG_SVQ1_ENCODER)            += svq1enc.o svq1.o    \
                                            h263.o ituh263enc.o
  OBJS-$(CONFIG_SVQ3_DECODER)            += svq3.o svq13.o mpegutils.o
 +OBJS-$(CONFIG_TEXT_DECODER)            += textdec.o ass.o
  OBJS-$(CONFIG_TAK_DECODER)             += takdec.o tak.o
  OBJS-$(CONFIG_TARGA_DECODER)           += targa.o
  OBJS-$(CONFIG_TARGA_ENCODER)           += targaenc.o rle.o
 +OBJS-$(CONFIG_TARGA_Y216_DECODER)      += targa_y216dec.o
  OBJS-$(CONFIG_THEORA_DECODER)          += xiph.o
  OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
 -OBJS-$(CONFIG_TIFF_DECODER)            += tiff.o lzw.o faxcompr.o
 -OBJS-$(CONFIG_TIFF_ENCODER)            += tiffenc.o rle.o lzwenc.o
 +OBJS-$(CONFIG_TIFF_DECODER)            += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o
 +OBJS-$(CONFIG_TIFF_ENCODER)            += tiffenc.o rle.o lzwenc.o tiff_data.o
  OBJS-$(CONFIG_TMV_DECODER)             += tmv.o cga_data.o
 +OBJS-$(CONFIG_TRUEHD_DECODER)          += mlpdec.o mlpdsp.o
  OBJS-$(CONFIG_TRUEMOTION1_DECODER)     += truemotion1.o
  OBJS-$(CONFIG_TRUEMOTION2_DECODER)     += truemotion2.o
  OBJS-$(CONFIG_TRUESPEECH_DECODER)      += truespeech.o
  OBJS-$(CONFIG_TSCC_DECODER)            += tscc.o msrledec.o
  OBJS-$(CONFIG_TSCC2_DECODER)           += tscc2.o
 -OBJS-$(CONFIG_TTA_DECODER)             += tta.o
 +OBJS-$(CONFIG_TTA_DECODER)             += tta.o ttadata.o ttadsp.o
 +OBJS-$(CONFIG_TTA_ENCODER)             += ttaenc.o ttadata.o
  OBJS-$(CONFIG_TWINVQ_DECODER)          += twinvqdec.o twinvq.o
  OBJS-$(CONFIG_TXD_DECODER)             += txd.o s3tc.o
  OBJS-$(CONFIG_ULTI_DECODER)            += ulti.o
@@@ -460,18 -381,13 +460,18 @@@ OBJS-$(CONFIG_UTVIDEO_DECODER)         
  OBJS-$(CONFIG_UTVIDEO_ENCODER)         += utvideoenc.o utvideo.o
  OBJS-$(CONFIG_V210_DECODER)            += v210dec.o
  OBJS-$(CONFIG_V210_ENCODER)            += v210enc.o
 +OBJS-$(CONFIG_V308_DECODER)            += v308dec.o
 +OBJS-$(CONFIG_V308_ENCODER)            += v308enc.o
 +OBJS-$(CONFIG_V408_DECODER)            += v408dec.o
 +OBJS-$(CONFIG_V408_ENCODER)            += v408enc.o
  OBJS-$(CONFIG_V410_DECODER)            += v410dec.o
  OBJS-$(CONFIG_V410_ENCODER)            += v410enc.o
  OBJS-$(CONFIG_V210X_DECODER)           += v210x.o
  OBJS-$(CONFIG_VB_DECODER)              += vb.o
  OBJS-$(CONFIG_VBLE_DECODER)            += vble.o
  OBJS-$(CONFIG_VC1_DECODER)             += vc1dec.o vc1.o vc1data.o vc1dsp.o \
 -                                          msmpeg4dec.o msmpeg4.o msmpeg4data.o
 +                                          msmpeg4dec.o msmpeg4.o msmpeg4data.o \
 +                                          wmv2dsp.o startcode.o
  OBJS-$(CONFIG_VCR1_DECODER)            += vcr1.o
  OBJS-$(CONFIG_VMDAUDIO_DECODER)        += vmdav.o
  OBJS-$(CONFIG_VMDVIDEO_DECODER)        += vmdav.o
@@@ -487,15 -403,11 +487,15 @@@ OBJS-$(CONFIG_VP6_DECODER)             
                                            vp6dsp.o vp56rac.o
  OBJS-$(CONFIG_VP7_DECODER)             += vp8.o vp8dsp.o vp56rac.o
  OBJS-$(CONFIG_VP8_DECODER)             += vp8.o vp8dsp.o vp56rac.o
 -OBJS-$(CONFIG_VP9_DECODER)             += vp9.o vp9data.o vp9dsp.o \
 -                                          vp9block.o vp9prob.o vp9mvs.o vp56rac.o
 +OBJS-$(CONFIG_VP9_DECODER)             += vp9.o vp9dsp.o vp56rac.o
 +OBJS-$(CONFIG_VPLAYER_DECODER)         += textdec.o ass.o
  OBJS-$(CONFIG_VQA_DECODER)             += vqavideo.o
  OBJS-$(CONFIG_WAVPACK_DECODER)         += wavpack.o
 -OBJS-$(CONFIG_WEBP_DECODER)            += webp.o
 +OBJS-$(CONFIG_WAVPACK_ENCODER)         += wavpackenc.o
 +OBJS-$(CONFIG_WEBP_DECODER)            += vp8.o vp8dsp.o vp56rac.o
 +OBJS-$(CONFIG_WEBP_DECODER)            += webp.o exif.o tiff_common.o
 +OBJS-$(CONFIG_WEBVTT_DECODER)          += webvttdec.o
 +OBJS-$(CONFIG_WEBVTT_ENCODER)          += webvttenc.o ass_split.o
  OBJS-$(CONFIG_WMALOSSLESS_DECODER)     += wmalosslessdec.o wma_common.o
  OBJS-$(CONFIG_WMAPRO_DECODER)          += wmaprodec.o wma.o wma_common.o
  OBJS-$(CONFIG_WMAV1_DECODER)           += wmadec.o wma.o wma_common.o aactab.o
@@@ -515,21 -427,14 +515,21 @@@ OBJS-$(CONFIG_WS_SND1_DECODER)         
  OBJS-$(CONFIG_XAN_DPCM_DECODER)        += dpcm.o
  OBJS-$(CONFIG_XAN_WC3_DECODER)         += xan.o
  OBJS-$(CONFIG_XAN_WC4_DECODER)         += xxan.o
 +OBJS-$(CONFIG_XBIN_DECODER)            += bintext.o cga_data.o
  OBJS-$(CONFIG_XBM_DECODER)             += xbmdec.o
  OBJS-$(CONFIG_XBM_ENCODER)             += xbmenc.o
 +OBJS-$(CONFIG_XFACE_DECODER)           += xfacedec.o xface.o
 +OBJS-$(CONFIG_XFACE_ENCODER)           += xfaceenc.o xface.o
  OBJS-$(CONFIG_XL_DECODER)              += xl.o
  OBJS-$(CONFIG_XSUB_DECODER)            += xsubdec.o
  OBJS-$(CONFIG_XSUB_ENCODER)            += xsubenc.o
  OBJS-$(CONFIG_XWD_DECODER)             += xwddec.o
  OBJS-$(CONFIG_XWD_ENCODER)             += xwdenc.o
 +OBJS-$(CONFIG_Y41P_DECODER)            += y41pdec.o
 +OBJS-$(CONFIG_Y41P_ENCODER)            += y41penc.o
  OBJS-$(CONFIG_YOP_DECODER)             += yop.o
 +OBJS-$(CONFIG_YUV4_DECODER)            += yuv4dec.o
 +OBJS-$(CONFIG_YUV4_ENCODER)            += yuv4enc.o
  OBJS-$(CONFIG_ZEROCODEC_DECODER)       += zerocodec.o
  OBJS-$(CONFIG_ZLIB_DECODER)            += lcldec.o
  OBJS-$(CONFIG_ZLIB_ENCODER)            += lclenc.o
@@@ -554,16 -459,12 +554,16 @@@ OBJS-$(CONFIG_PCM_MULAW_DECODER
  OBJS-$(CONFIG_PCM_MULAW_ENCODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S8_DECODER)             += pcm.o
  OBJS-$(CONFIG_PCM_S8_ENCODER)             += pcm.o
 -OBJS-$(CONFIG_PCM_S8_PLANAR_DECODER)      += 8svx.o
 +OBJS-$(CONFIG_PCM_S8_PLANAR_DECODER)      += pcm.o
 +OBJS-$(CONFIG_PCM_S8_PLANAR_ENCODER)      += pcm.o
  OBJS-$(CONFIG_PCM_S16BE_DECODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S16BE_ENCODER)          += pcm.o
 +OBJS-$(CONFIG_PCM_S16BE_PLANAR_DECODER)   += pcm.o
 +OBJS-$(CONFIG_PCM_S16BE_PLANAR_ENCODER)   += pcm.o
  OBJS-$(CONFIG_PCM_S16LE_DECODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S16LE_ENCODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S16LE_PLANAR_DECODER)   += pcm.o
 +OBJS-$(CONFIG_PCM_S16LE_PLANAR_ENCODER)   += pcm.o
  OBJS-$(CONFIG_PCM_S24BE_DECODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S24BE_ENCODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S24DAUD_DECODER)        += pcm.o
@@@ -571,13 -472,11 +571,13 @@@ OBJS-$(CONFIG_PCM_S24DAUD_ENCODER
  OBJS-$(CONFIG_PCM_S24LE_DECODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S24LE_ENCODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S24LE_PLANAR_DECODER)   += pcm.o
 +OBJS-$(CONFIG_PCM_S24LE_PLANAR_ENCODER)   += pcm.o
  OBJS-$(CONFIG_PCM_S32BE_DECODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S32BE_ENCODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S32LE_DECODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S32LE_ENCODER)          += pcm.o
  OBJS-$(CONFIG_PCM_S32LE_PLANAR_DECODER)   += pcm.o
 +OBJS-$(CONFIG_PCM_S32LE_PLANAR_ENCODER)   += pcm.o
  OBJS-$(CONFIG_PCM_U8_DECODER)             += pcm.o
  OBJS-$(CONFIG_PCM_U8_ENCODER)             += pcm.o
  OBJS-$(CONFIG_PCM_U16BE_DECODER)          += pcm.o
@@@ -597,9 -496,7 +597,9 @@@ OBJS-$(CONFIG_PCM_ZORK_DECODER
  OBJS-$(CONFIG_ADPCM_4XM_DECODER)          += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_ADX_DECODER)          += adxdec.o adx.o
  OBJS-$(CONFIG_ADPCM_ADX_ENCODER)          += adxenc.o adx.o
 +OBJS-$(CONFIG_ADPCM_AFC_DECODER)          += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_CT_DECODER)           += adpcm.o adpcm_data.o
 +OBJS-$(CONFIG_ADPCM_DTK_DECODER)          += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_EA_DECODER)           += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_EA_MAXIS_XA_DECODER)  += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_EA_R1_DECODER)        += adpcm.o adpcm_data.o
@@@ -610,7 -507,6 +610,7 @@@ OBJS-$(CONFIG_ADPCM_G722_DECODER
  OBJS-$(CONFIG_ADPCM_G722_ENCODER)         += g722.o g722enc.o
  OBJS-$(CONFIG_ADPCM_G726_DECODER)         += g726.o
  OBJS-$(CONFIG_ADPCM_G726_ENCODER)         += g726.o
 +OBJS-$(CONFIG_ADPCM_G726LE_DECODER)       += g726.o
  OBJS-$(CONFIG_ADPCM_IMA_AMV_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_APC_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_DK3_DECODER)      += adpcm.o adpcm_data.o
@@@ -618,10 -514,8 +618,10 @@@ OBJS-$(CONFIG_ADPCM_IMA_DK4_DECODER
  OBJS-$(CONFIG_ADPCM_IMA_EA_EACS_DECODER)  += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_EA_SEAD_DECODER)  += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_ISS_DECODER)      += adpcm.o adpcm_data.o
 +OBJS-$(CONFIG_ADPCM_IMA_OKI_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_QT_DECODER)       += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_QT_ENCODER)       += adpcmenc.o adpcm_data.o
 +OBJS-$(CONFIG_ADPCM_IMA_RAD_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_SMJPEG_DECODER)   += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_WAV_DECODER)      += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_IMA_WAV_ENCODER)      += adpcmenc.o adpcm_data.o
@@@ -638,25 -532,22 +638,25 @@@ OBJS-$(CONFIG_ADPCM_VIMA_DECODER
  OBJS-$(CONFIG_ADPCM_XA_DECODER)           += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_YAMAHA_DECODER)       += adpcm.o adpcm_data.o
  OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER)       += adpcmenc.o adpcm_data.o
 +OBJS-$(CONFIG_VIMA_DECODER)               += vima.o adpcm_data.o
  
  # hardware accelerators
 -OBJS-$(CONFIG_H263_VAAPI_HWACCEL)         += vaapi_mpeg4.o
 +OBJS-$(CONFIG_H263_VAAPI_HWACCEL)         += vaapi_mpeg4.o vaapi_mpeg.o
  OBJS-$(CONFIG_H263_VDPAU_HWACCEL)         += vdpau_mpeg4.o
  OBJS-$(CONFIG_H264_DXVA2_HWACCEL)         += dxva2_h264.o
  OBJS-$(CONFIG_H264_VAAPI_HWACCEL)         += vaapi_h264.o
  OBJS-$(CONFIG_H264_VDA_HWACCEL)           += vda_h264.o
  OBJS-$(CONFIG_H264_VDPAU_HWACCEL)         += vdpau_h264.o
  OBJS-$(CONFIG_MPEG1_VDPAU_HWACCEL)        += vdpau_mpeg12.o
 +OBJS-$(CONFIG_MPEG1_XVMC_HWACCEL)         += mpegvideo_xvmc.o
  OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL)        += dxva2_mpeg2.o
 -OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL)        += vaapi_mpeg2.o
 +OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL)        += vaapi_mpeg2.o vaapi_mpeg.o
  OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL)        += vdpau_mpeg12.o
 -OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL)        += vaapi_mpeg4.o
 +OBJS-$(CONFIG_MPEG2_XVMC_HWACCEL)         += mpegvideo_xvmc.o
 +OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL)        += vaapi_mpeg4.o vaapi_mpeg.o
  OBJS-$(CONFIG_MPEG4_VDPAU_HWACCEL)        += vdpau_mpeg4.o
  OBJS-$(CONFIG_VC1_DXVA2_HWACCEL)          += dxva2_vc1.o
 -OBJS-$(CONFIG_VC1_VAAPI_HWACCEL)          += vaapi_vc1.o
 +OBJS-$(CONFIG_VC1_VAAPI_HWACCEL)          += vaapi_vc1.o vaapi_mpeg.o
  OBJS-$(CONFIG_VC1_VDPAU_HWACCEL)          += vdpau_vc1.o
  
  # libavformat dependencies
@@@ -666,50 -557,41 +666,50 @@@ OBJS-$(CONFIG_CAF_DEMUXER)             
                                            ac3tab.o
  OBJS-$(CONFIG_DV_DEMUXER)              += dv_profile.o
  OBJS-$(CONFIG_DV_MUXER)                += dv_profile.o
 -OBJS-$(CONFIG_FLAC_DEMUXER)            += flac.o flacdata.o             \
 +OBJS-$(CONFIG_FLAC_DEMUXER)            += flac.o flacdata.o vorbis_data.o \
                                            vorbis_parser.o xiph.o
 -OBJS-$(CONFIG_FLAC_MUXER)              += flac.o flacdata.o
 +OBJS-$(CONFIG_FLAC_MUXER)              += flac.o flacdata.o vorbis_data.o
  OBJS-$(CONFIG_FLV_DEMUXER)             += mpeg4audio.o
  OBJS-$(CONFIG_GXF_DEMUXER)             += mpeg12data.o
  OBJS-$(CONFIG_IFF_DEMUXER)             += iff.o
  OBJS-$(CONFIG_ISMV_MUXER)              += mpeg4audio.o mpegaudiodata.o
  OBJS-$(CONFIG_LATM_MUXER)              += mpeg4audio.o
 -OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)    += xiph.o mpeg4audio.o           \
 +OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)    += xiph.o mpeg4audio.o vorbis_data.o \
                                            flac.o flacdata.o
  OBJS-$(CONFIG_MATROSKA_DEMUXER)        += mpeg4audio.o mpegaudiodata.o  \
                                            vorbis_parser.o xiph.o
  OBJS-$(CONFIG_MATROSKA_MUXER)          += mpeg4audio.o mpegaudiodata.o  \
 -                                          flac.o flacdata.o xiph.o
 +                                          flac.o flacdata.o vorbis_data.o xiph.o
  OBJS-$(CONFIG_MP2_MUXER)               += mpegaudiodata.o mpegaudiodecheader.o
  OBJS-$(CONFIG_MP3_MUXER)               += mpegaudiodata.o mpegaudiodecheader.o
  OBJS-$(CONFIG_MOV_DEMUXER)             += mpeg4audio.o mpegaudiodata.o ac3tab.o
  OBJS-$(CONFIG_MOV_MUXER)               += mpeg4audio.o mpegaudiodata.o
  OBJS-$(CONFIG_MPEGTS_MUXER)            += mpeg4audio.o
  OBJS-$(CONFIG_MPEGTS_DEMUXER)          += mpeg4audio.o mpegaudiodata.o
 +OBJS-$(CONFIG_MXF_MUXER)               += dnxhddata.o
  OBJS-$(CONFIG_NUT_MUXER)               += mpegaudiodata.o
 +OBJS-$(CONFIG_OGA_MUXER)               += xiph.o flac.o flacdata.o
  OBJS-$(CONFIG_OGG_DEMUXER)             += xiph.o flac.o flacdata.o     \
                                            mpeg12data.o vorbis_parser.o \
 -                                          dirac.o
 -OBJS-$(CONFIG_OGG_MUXER)               += xiph.o flac.o flacdata.o
 +                                          dirac.o vorbis_data.o
 +OBJS-$(CONFIG_OGG_MUXER)               += xiph.o flac.o flacdata.o \
 +                                          vorbis_data.o
  OBJS-$(CONFIG_RTP_MUXER)               += mpeg4audio.o xiph.o
  OBJS-$(CONFIG_RTPDEC)                  += mjpeg.o
  OBJS-$(CONFIG_SPDIF_DEMUXER)           += aacadtsdec.o mpeg4audio.o
  OBJS-$(CONFIG_SPDIF_MUXER)             += dca.o
  OBJS-$(CONFIG_TAK_DEMUXER)             += tak.o
  OBJS-$(CONFIG_WEBM_MUXER)              += mpeg4audio.o mpegaudiodata.o  \
 -                                          xiph.o flac.o flacdata.o
 +                                          xiph.o flac.o flacdata.o \
 +                                          vorbis_data.o
  OBJS-$(CONFIG_WTV_DEMUXER)             += mpeg4audio.o mpegaudiodata.o
  
 +# libavfilter dependencies
 +OBJS-$(CONFIG_ELBG_FILTER)             += elbg.o
 +
  # external codec libraries
 +OBJS-$(CONFIG_LIBAACPLUS_ENCODER)         += libaacplus.o
 +OBJS-$(CONFIG_LIBCELT_DECODER)            += libcelt_dec.o
  OBJS-$(CONFIG_LIBFAAC_ENCODER)            += libfaac.o
  OBJS-$(CONFIG_LIBFDK_AAC_DECODER)         += libfdk-aacdec.o
  OBJS-$(CONFIG_LIBFDK_AAC_ENCODER)         += libfdk-aacenc.o
@@@ -733,19 -615,14 +733,19 @@@ OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER
                                               libschroedinger.o
  OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER)    += libschroedingerenc.o \
                                               libschroedinger.o
 +OBJS-$(CONFIG_LIBSHINE_ENCODER)           += libshine.o
  OBJS-$(CONFIG_LIBSPEEX_DECODER)           += libspeexdec.o
  OBJS-$(CONFIG_LIBSPEEX_ENCODER)           += libspeexenc.o
 +OBJS-$(CONFIG_LIBSTAGEFRIGHT_H264_DECODER)+= libstagefright.o
  OBJS-$(CONFIG_LIBTHEORA_ENCODER)          += libtheoraenc.o
  OBJS-$(CONFIG_LIBTWOLAME_ENCODER)         += libtwolame.o
 +OBJS-$(CONFIG_LIBUTVIDEO_DECODER)         += libutvideodec.o
 +OBJS-$(CONFIG_LIBUTVIDEO_ENCODER)         += libutvideoenc.o
  OBJS-$(CONFIG_LIBVO_AACENC_ENCODER)       += libvo-aacenc.o mpeg4audio.o
  OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER)     += libvo-amrwbenc.o
 -OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbis.o \
 -                                             vorbis_data.o vorbis_parser.o
 +OBJS-$(CONFIG_LIBVORBIS_DECODER)          += libvorbisdec.o
 +OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbisenc.o \
 +                                             vorbis_data.o vorbis_parser.o xiph.o
  OBJS-$(CONFIG_LIBVPX_VP8_DECODER)         += libvpxdec.o
  OBJS-$(CONFIG_LIBVPX_VP8_ENCODER)         += libvpxenc.o
  OBJS-$(CONFIG_LIBVPX_VP9_DECODER)         += libvpxdec.o libvpx.o
@@@ -756,7 -633,6 +756,7 @@@ OBJS-$(CONFIG_LIBX264_ENCODER
  OBJS-$(CONFIG_LIBX265_ENCODER)            += libx265.o
  OBJS-$(CONFIG_LIBXAVS_ENCODER)            += libxavs.o
  OBJS-$(CONFIG_LIBXVID_ENCODER)            += libxvid.o
 +OBJS-$(CONFIG_LIBZVBI_TELETEXT_DECODER)   += libzvbi-teletextdec.o
  
  # parsers
  OBJS-$(CONFIG_AAC_PARSER)              += aac_parser.o aac_ac3_parser.o \
@@@ -771,12 -647,9 +771,12 @@@ OBJS-$(CONFIG_COOK_PARSER)             
  OBJS-$(CONFIG_DCA_PARSER)              += dca_parser.o dca.o
  OBJS-$(CONFIG_DIRAC_PARSER)            += dirac_parser.o
  OBJS-$(CONFIG_DNXHD_PARSER)            += dnxhd_parser.o
 +OBJS-$(CONFIG_DPX_PARSER)              += dpx_parser.o
  OBJS-$(CONFIG_DVBSUB_PARSER)           += dvbsub_parser.o
 +OBJS-$(CONFIG_DVD_NAV_PARSER)          += dvd_nav_parser.o
  OBJS-$(CONFIG_DVDSUB_PARSER)           += dvdsub_parser.o
 -OBJS-$(CONFIG_FLAC_PARSER)             += flac_parser.o flacdata.o flac.o
 +OBJS-$(CONFIG_FLAC_PARSER)             += flac_parser.o flacdata.o flac.o \
 +                                          vorbis_data.o
  OBJS-$(CONFIG_GSM_PARSER)              += gsm_parser.o
  OBJS-$(CONFIG_H261_PARSER)             += h261_parser.o
  OBJS-$(CONFIG_H263_PARSER)             += h263_parser.o
@@@ -787,7 -660,6 +787,7 @@@ OBJS-$(CONFIG_MLP_PARSER)              
  OBJS-$(CONFIG_MPEG4VIDEO_PARSER)       += mpeg4video_parser.o h263.o \
                                            mpeg4videodec.o mpeg4video.o \
                                            ituh263dec.o h263dec.o
 +OBJS-$(CONFIG_PNG_PARSER)              += png_parser.o
  OBJS-$(CONFIG_MPEGAUDIO_PARSER)        += mpegaudio_parser.o \
                                            mpegaudiodecheader.o mpegaudiodata.o
  OBJS-$(CONFIG_MPEGVIDEO_PARSER)        += mpegvideo_parser.o    \
@@@ -798,13 -670,12 +798,13 @@@ OBJS-$(CONFIG_PNM_PARSER)              
  OBJS-$(CONFIG_RV30_PARSER)             += rv34_parser.o
  OBJS-$(CONFIG_RV40_PARSER)             += rv34_parser.o
  OBJS-$(CONFIG_TAK_PARSER)              += tak_parser.o tak.o
 -OBJS-$(CONFIG_VC1_PARSER)              += vc1_parser.o vc1.o vc1data.o \
 +OBJS-$(CONFIG_VC1_PARSER)              += vc1_parser.o vc1.o vc1data.o vc1dsp.o \
                                            msmpeg4.o msmpeg4data.o mpeg4video.o \
 -                                          h263.o
 +                                          h263.o startcode.o
  OBJS-$(CONFIG_VORBIS_PARSER)           += vorbis_parser.o xiph.o
  OBJS-$(CONFIG_VP3_PARSER)              += vp3_parser.o
  OBJS-$(CONFIG_VP8_PARSER)              += vp8_parser.o
 +OBJS-$(CONFIG_VP9_PARSER)              += vp9_parser.o
  
  # bitstream filters
  OBJS-$(CONFIG_AAC_ADTSTOASC_BSF)          += aac_adtstoasc_bsf.o aacadtsdec.o \
@@@ -816,8 -687,6 +816,8 @@@ OBJS-$(CONFIG_IMX_DUMP_HEADER_BSF
  OBJS-$(CONFIG_MJPEG2JPEG_BSF)             += mjpeg2jpeg_bsf.o mjpeg.o
  OBJS-$(CONFIG_MJPEGA_DUMP_HEADER_BSF)     += mjpega_dump_header_bsf.o
  OBJS-$(CONFIG_MOV2TEXTSUB_BSF)            += movsub_bsf.o
 +OBJS-$(CONFIG_MP3_HEADER_DECOMPRESS_BSF)  += mp3_header_decompress_bsf.o \
 +                                             mpegaudiodata.o
  OBJS-$(CONFIG_NOISE_BSF)                  += noise_bsf.o
  OBJS-$(CONFIG_REMOVE_EXTRADATA_BSF)       += remove_extradata_bsf.o
  OBJS-$(CONFIG_TEXT2MOVSUB_BSF)            += movsub_bsf.o
  OBJS-$(HAVE_LIBC_MSVCRT)               += file_open.o
  OBJS-$(HAVE_THREADS)                   += pthread.o pthread_slice.o pthread_frame.o
  
 +OBJS-$(CONFIG_FRAME_THREAD_ENCODER)    += frame_thread_encoder.o
 +
 +# Windows resource file
 +SLIBOBJS-$(HAVE_GNU_WINDRES)           += avcodecres.o
 +
  SKIPHEADERS                            += %_tablegen.h                  \
                                            %_tables.h                    \
                                            aac_tablegen_decl.h           \
                                            fft-internal.h                \
 +                                          libutvideo.h                  \
 +                                          old_codec_ids.h               \
                                            tableprint.h                  \
                                            $(ARCH)/vp56_arith.h          \
  
  SKIPHEADERS-$(CONFIG_DXVA2)            += dxva2.h dxva2_internal.h
  SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER)  += libschroedinger.h
 -SKIPHEADERS-$(CONFIG_MPEG_XVMC_DECODER) += xvmc.h
 +SKIPHEADERS-$(CONFIG_LIBUTVIDEO)       += libutvideo.h
 +SKIPHEADERS-$(CONFIG_XVMC)             += xvmc.h
  SKIPHEADERS-$(CONFIG_VAAPI)            += vaapi_internal.h
  SKIPHEADERS-$(CONFIG_VDA)              += vda.h vda_internal.h
  SKIPHEADERS-$(CONFIG_VDPAU)            += vdpau.h vdpau_internal.h
  
 -TESTPROGS = dct                                                         \
 +TESTPROGS = cabac                                                       \
              fft                                                         \
              fft-fixed                                                   \
 +            fft-fixed32                                                 \
              golomb                                                      \
              iirfilter                                                   \
 +            imgconvert                                                  \
              rangecoder                                                  \
 +            snowenc                                                     \
  
 +TESTPROGS-$(CONFIG_DCT) += dct
 +TESTPROGS-$(HAVE_MMX) += motion
  TESTOBJS = dctref.o
  
 +TOOLS = fourcc2pixfmt
 +
  HOSTPROGS = aac_tablegen                                                \
              aacps_tablegen                                              \
              cbrt_tablegen                                               \
              cos_tablegen                                                \
 +            dsd_tablegen                                                \
              dv_tablegen                                                 \
              motionpixels_tablegen                                       \
              mpegaudio_tablegen                                          \
@@@ -893,7 -746,7 +893,7 @@@ els
  $(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=0
  endif
  
 -GEN_HEADERS = cbrt_tables.h aacps_tables.h aac_tables.h dv_tables.h     \
 +GEN_HEADERS = cbrt_tables.h aacps_tables.h aac_tables.h dsd_tables.h dv_tables.h     \
                sinewin_tables.h mpegaudio_tables.h motionpixels_tables.h \
                pcm_tables.h qdm2_tables.h
  GEN_HEADERS := $(addprefix $(SUBDIR), $(GEN_HEADERS))
@@@ -905,7 -758,6 +905,7 @@@ ifdef CONFIG_HARDCODED_TABLE
  $(SUBDIR)aacdec.o: $(SUBDIR)cbrt_tables.h
  $(SUBDIR)aacps.o: $(SUBDIR)aacps_tables.h
  $(SUBDIR)aactab.o: $(SUBDIR)aac_tables.h
 +$(SUBDIR)dsddec.o: $(SUBDIR)dsd_tables.h
  $(SUBDIR)dvenc.o: $(SUBDIR)dv_tables.h
  $(SUBDIR)sinewin.o: $(SUBDIR)sinewin_tables.h
  $(SUBDIR)mpegaudiodec_fixed.o: $(SUBDIR)mpegaudio_tables.h
diff --combined libavcodec/bmvaudio.c
index 0000000,0f8c224..0e473df
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,91 +1,89 @@@
 - * This file is part of Libav.
+ /*
+  * Discworld II BMV audio decoder
+  * Copyright (c) 2011 Konstantin Shishkov
+  *
 - * Libav is free software; you can redistribute it and/or
++ * This file is part of FFmpeg.
+  *
 - * Libav is distributed in the hope that it will be useful,
++ * FFmpeg 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.
+  *
 - * License along with Libav; if not, write to the Free Software
++ * FFmpeg 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
 -    if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
 -        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
++ * License along with FFmpeg; if not, write to the Free Software
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ #include "libavutil/channel_layout.h"
+ #include "libavutil/common.h"
+ #include "avcodec.h"
+ #include "internal.h"
+ static const int bmv_aud_mults[16] = {
+     16512, 8256, 4128, 2064, 1032, 516, 258, 192, 129, 88, 64, 56, 48, 40, 36, 32
+ };
+ static av_cold int bmv_aud_decode_init(AVCodecContext *avctx)
+ {
+     avctx->channels       = 2;
+     avctx->channel_layout = AV_CH_LAYOUT_STEREO;
+     avctx->sample_fmt     = AV_SAMPLE_FMT_S16;
+     return 0;
+ }
+ static int bmv_aud_decode_frame(AVCodecContext *avctx, void *data,
+                                 int *got_frame_ptr, AVPacket *avpkt)
+ {
+     AVFrame *frame     = data;
+     const uint8_t *buf = avpkt->data;
+     int buf_size = avpkt->size;
+     int blocks = 0, total_blocks, i;
+     int ret;
+     int16_t *output_samples;
+     int scale[2];
+     total_blocks = *buf++;
+     if (buf_size < total_blocks * 65 + 1) {
+         av_log(avctx, AV_LOG_ERROR, "expected %d bytes, got %d\n",
+                total_blocks * 65 + 1, buf_size);
+         return AVERROR_INVALIDDATA;
+     }
+     /* get output buffer */
+     frame->nb_samples = total_blocks * 32;
 -    }
++    if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
+         return ret;
+     output_samples = (int16_t *)frame->data[0];
+     for (blocks = 0; blocks < total_blocks; blocks++) {
+         uint8_t code = *buf++;
+         code = (code >> 1) | (code << 7);
+         scale[0] = bmv_aud_mults[code & 0xF];
+         scale[1] = bmv_aud_mults[code >> 4];
+         for (i = 0; i < 32; i++) {
+             *output_samples++ = av_clip_int16((scale[0] * (int8_t)*buf++) >> 5);
+             *output_samples++ = av_clip_int16((scale[1] * (int8_t)*buf++) >> 5);
+         }
+     }
+     *got_frame_ptr = 1;
+     return buf_size;
+ }
+ AVCodec ff_bmv_audio_decoder = {
+     .name           = "bmv_audio",
+     .long_name      = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
+     .type           = AVMEDIA_TYPE_AUDIO,
+     .id             = AV_CODEC_ID_BMV_AUDIO,
+     .init           = bmv_aud_decode_init,
+     .decode         = bmv_aud_decode_frame,
+     .capabilities   = CODEC_CAP_DR1,
+ };
diff --combined libavcodec/bmvvideo.c
@@@ -1,26 -1,26 +1,27 @@@
  /*
-  * Discworld II BMV video and audio decoder
+  * Discworld II BMV video decoder
   * Copyright (c) 2011 Konstantin Shishkov
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg 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,
 + * FFmpeg 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
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
- #include "libavutil/channel_layout.h"
 +#include "libavutil/avassert.h"
+ #include "libavutil/common.h"
  #include "avcodec.h"
  #include "bytestream.h"
  #include "internal.h"
@@@ -100,8 -100,6 +101,8 @@@ static int decode_bmv_frame(const uint8
          }
          if (!(val & 0xC)) {
              for (;;) {
 +                if(shift>22)
 +                    return -1;
                  if (!read_two_nibbles) {
                      if (src < source || src >= source_end)
                          return AVERROR_INVALIDDATA;
          }
          advance_mode = val & 1;
          len = (val >> 1) - 1;
 +        av_assert0(len>0);
          mode += 1 + advance_mode;
          if (mode >= 4)
              mode -= 3;
                  memset(dst, val, len);
              }
              break;
 -        default:
 -            break;
          }
          if (dst == dst_end)
              return 0;
@@@ -228,7 -227,7 +229,7 @@@ static int decode_frame(AVCodecContext 
              return AVERROR_INVALIDDATA;
          }
          for (i = 0; i < 256; i++)
 -            c->pal[i] = bytestream_get_be24(&c->stream);
 +            c->pal[i] = 0xFFU << 24 | bytestream_get_be24(&c->stream);
      }
      if (type & BMV_SCROLL) {
          if (c->stream - pkt->data > pkt->size - 2) {
          scr_off = 0;
      }
  
 -    if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
 -        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
 +    if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
          return ret;
 -    }
  
      if (decode_bmv_frame(c->stream, pkt->size - (c->stream - pkt->data), c->frame, scr_off)) {
          av_log(avctx, AV_LOG_ERROR, "Error decoding frame data\n");
@@@ -275,69 -276,11 +276,16 @@@ static av_cold int decode_init(AVCodecC
      c->avctx = avctx;
      avctx->pix_fmt = AV_PIX_FMT_PAL8;
  
 +    if (avctx->width != SCREEN_WIDE || avctx->height != SCREEN_HIGH) {
 +        av_log(avctx, AV_LOG_ERROR, "Invalid dimension %dx%d\n", avctx->width, avctx->height);
 +        return AVERROR_INVALIDDATA;
 +    }
 +
      c->frame = c->frame_base + 640;
  
      return 0;
  }
  
- static const int bmv_aud_mults[16] = {
-     16512, 8256, 4128, 2064, 1032, 516, 258, 192, 129, 88, 64, 56, 48, 40, 36, 32
- };
- static av_cold int bmv_aud_decode_init(AVCodecContext *avctx)
- {
-     avctx->channels       = 2;
-     avctx->channel_layout = AV_CH_LAYOUT_STEREO;
-     avctx->sample_fmt     = AV_SAMPLE_FMT_S16;
-     return 0;
- }
- static int bmv_aud_decode_frame(AVCodecContext *avctx, void *data,
-                                 int *got_frame_ptr, AVPacket *avpkt)
- {
-     AVFrame *frame     = data;
-     const uint8_t *buf = avpkt->data;
-     int buf_size = avpkt->size;
-     int blocks = 0, total_blocks, i;
-     int ret;
-     int16_t *output_samples;
-     int scale[2];
-     total_blocks = *buf++;
-     if (buf_size < total_blocks * 65 + 1) {
-         av_log(avctx, AV_LOG_ERROR, "expected %d bytes, got %d\n",
-                total_blocks * 65 + 1, buf_size);
-         return AVERROR_INVALIDDATA;
-     }
-     /* get output buffer */
-     frame->nb_samples = total_blocks * 32;
-     if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
-         return ret;
-     output_samples = (int16_t *)frame->data[0];
-     for (blocks = 0; blocks < total_blocks; blocks++) {
-         uint8_t code = *buf++;
-         code = (code >> 1) | (code << 7);
-         scale[0] = bmv_aud_mults[code & 0xF];
-         scale[1] = bmv_aud_mults[code >> 4];
-         for (i = 0; i < 32; i++) {
-             *output_samples++ = av_clip_int16((scale[0] * (int8_t)*buf++) >> 5);
-             *output_samples++ = av_clip_int16((scale[1] * (int8_t)*buf++) >> 5);
-         }
-     }
-     *got_frame_ptr = 1;
-     return buf_size;
- }
  AVCodec ff_bmv_video_decoder = {
      .name           = "bmv_video",
      .long_name      = NULL_IF_CONFIG_SMALL("Discworld II BMV video"),
      .decode         = decode_frame,
      .capabilities   = CODEC_CAP_DR1,
  };
- AVCodec ff_bmv_audio_decoder = {
-     .name           = "bmv_audio",
-     .long_name      = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
-     .type           = AVMEDIA_TYPE_AUDIO,
-     .id             = AV_CODEC_ID_BMV_AUDIO,
-     .init           = bmv_aud_decode_init,
-     .decode         = bmv_aud_decode_frame,
-     .capabilities   = CODEC_CAP_DR1,
- };