实例介绍
本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。 是最简单的FFmpeg视频解码方面的教程。 通过学习本例子可以了解FFmpeg的解码流程。 项目包含6个工程: simplest_ffmpeg_player:标准版,FFmpeg学习的开始。 simplest_ffmpeg_player_su:SU(SDL Update)版,加入了简单的SDL的Event。 simplest_ffmpeg_decoder:一个包含了封装格式处理功能的解码器。使用了libavcodec和libavformat。 simplest_ffmpeg_decoder_pure:一个纯净的解码器。只使用libavcodec(没有使用libavformat)。 simplest_video_play_sdl2:使用SDL2播放YUV的例子。 simplest_ffmpeg_helloworld:输出FFmpeg类库的信息。
【实例截图】
【核心代码】
4744300845372017282.zip
├── Readme.txt
├── simplest_ffmpeg_decoder
│ ├── avcodec-55.dll
│ ├── avdevice-55.dll
│ ├── avfilter-4.dll
│ ├── avformat-55.dll
│ ├── avutil-52.dll
│ ├── bigbuckbunny_480x272.h265
│ ├── compile_cl.bat
│ ├── compile_gcc.sh
│ ├── compile_mingw.sh
│ ├── include
│ │ ├── inttypes.h
│ │ ├── libavcodec
│ │ │ ├── avcodec.h
│ │ │ ├── avfft.h
│ │ │ ├── dxva2.h
│ │ │ ├── old_codec_ids.h
│ │ │ ├── vaapi.h
│ │ │ ├── vda.h
│ │ │ ├── vdpau.h
│ │ │ ├── version.h
│ │ │ └── xvmc.h
│ │ ├── libavdevice
│ │ │ ├── avdevice.h
│ │ │ └── version.h
│ │ ├── libavfilter
│ │ │ ├── asrc_abuffer.h
│ │ │ ├── avcodec.h
│ │ │ ├── avfiltergraph.h
│ │ │ ├── avfilter.h
│ │ │ ├── buffersink.h
│ │ │ ├── buffersrc.h
│ │ │ └── version.h
│ │ ├── libavformat
│ │ │ ├── avformat.h
│ │ │ ├── avio.h
│ │ │ └── version.h
│ │ ├── libavutil
│ │ │ ├── adler32.h
│ │ │ ├── aes.h
│ │ │ ├── attributes.h
│ │ │ ├── audioconvert.h
│ │ │ ├── audio_fifo.h
│ │ │ ├── avassert.h
│ │ │ ├── avconfig.h
│ │ │ ├── avstring.h
│ │ │ ├── avutil.h
│ │ │ ├── base64.h
│ │ │ ├── blowfish.h
│ │ │ ├── bprint.h
│ │ │ ├── bswap.h
│ │ │ ├── buffer.h
│ │ │ ├── channel_layout.h
│ │ │ ├── common.h
│ │ │ ├── cpu.h
│ │ │ ├── crc.h
│ │ │ ├── dict.h
│ │ │ ├── downmix_info.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── ffversion.h
│ │ │ ├── fifo.h
│ │ │ ├── file.h
│ │ │ ├── frame.h
│ │ │ ├── hmac.h
│ │ │ ├── imgutils.h
│ │ │ ├── intfloat.h
│ │ │ ├── intfloat_readwrite.h
│ │ │ ├── intreadwrite.h
│ │ │ ├── lfg.h
│ │ │ ├── log.h
│ │ │ ├── lzo.h
│ │ │ ├── macros.h
│ │ │ ├── mathematics.h
│ │ │ ├── md5.h
│ │ │ ├── mem.h
│ │ │ ├── murmur3.h
│ │ │ ├── old_pix_fmts.h
│ │ │ ├── opt.h
│ │ │ ├── parseutils.h
│ │ │ ├── pixdesc.h
│ │ │ ├── pixfmt.h
│ │ │ ├── random_seed.h
│ │ │ ├── rational.h
│ │ │ ├── replaygain.h
│ │ │ ├── ripemd.h
│ │ │ ├── samplefmt.h
│ │ │ ├── sha512.h
│ │ │ ├── sha.h
│ │ │ ├── stereo3d.h
│ │ │ ├── timecode.h
│ │ │ ├── time.h
│ │ │ ├── timestamp.h
│ │ │ ├── version.h
│ │ │ └── xtea.h
│ │ ├── libpostproc
│ │ │ ├── postprocess.h
│ │ │ └── version.h
│ │ ├── libswresample
│ │ │ ├── swresample.h
│ │ │ └── version.h
│ │ ├── libswscale
│ │ │ ├── swscale.h
│ │ │ └── version.h
│ │ ├── _mingw.h
│ │ └── stdint.h
│ ├── lib
│ │ ├── avcodec.lib
│ │ ├── avdevice.lib
│ │ ├── avfilter.lib
│ │ ├── avformat.lib
│ │ ├── avutil.lib
│ │ ├── postproc.lib
│ │ ├── swresample.lib
│ │ └── swscale.lib
│ ├── postproc-52.dll
│ ├── Readme.txt
│ ├── simplest_ffmpeg_decoder.cpp
│ ├── simplest_ffmpeg_decoder.vcxproj
│ ├── simplest_ffmpeg_decoder.vcxproj.filters
│ ├── simplest_ffmpeg_decoder.vcxproj.user
│ ├── swresample-0.dll
│ ├── swscale-2.dll
│ └── Titanic.mkv
├── simplest_ffmpeg_decoder_pure
│ ├── avcodec-55.dll
│ ├── avutil-52.dll
│ ├── bigbuckbunny_480x272.h264
│ ├── bigbuckbunny_480x272.hevc
│ ├── bigbuckbunny_480x272.m2v
│ ├── compile_cl.bat
│ ├── compile_gcc.sh
│ ├── compile_mingw.sh
│ ├── include
│ │ ├── inttypes.h
│ │ ├── libavcodec
│ │ │ ├── avcodec.h
│ │ │ ├── avfft.h
│ │ │ ├── dxva2.h
│ │ │ ├── old_codec_ids.h
│ │ │ ├── vaapi.h
│ │ │ ├── vda.h
│ │ │ ├── vdpau.h
│ │ │ ├── version.h
│ │ │ └── xvmc.h
│ │ ├── libavutil
│ │ │ ├── adler32.h
│ │ │ ├── aes.h
│ │ │ ├── attributes.h
│ │ │ ├── audioconvert.h
│ │ │ ├── audio_fifo.h
│ │ │ ├── avassert.h
│ │ │ ├── avconfig.h
│ │ │ ├── avstring.h
│ │ │ ├── avutil.h
│ │ │ ├── base64.h
│ │ │ ├── blowfish.h
│ │ │ ├── bprint.h
│ │ │ ├── bswap.h
│ │ │ ├── buffer.h
│ │ │ ├── channel_layout.h
│ │ │ ├── common.h
│ │ │ ├── cpu.h
│ │ │ ├── crc.h
│ │ │ ├── dict.h
│ │ │ ├── downmix_info.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── ffversion.h
│ │ │ ├── fifo.h
│ │ │ ├── file.h
│ │ │ ├── frame.h
│ │ │ ├── hmac.h
│ │ │ ├── imgutils.h
│ │ │ ├── intfloat.h
│ │ │ ├── intfloat_readwrite.h
│ │ │ ├── intreadwrite.h
│ │ │ ├── lfg.h
│ │ │ ├── log.h
│ │ │ ├── lzo.h
│ │ │ ├── macros.h
│ │ │ ├── mathematics.h
│ │ │ ├── md5.h
│ │ │ ├── mem.h
│ │ │ ├── murmur3.h
│ │ │ ├── old_pix_fmts.h
│ │ │ ├── opt.h
│ │ │ ├── parseutils.h
│ │ │ ├── pixdesc.h
│ │ │ ├── pixfmt.h
│ │ │ ├── random_seed.h
│ │ │ ├── rational.h
│ │ │ ├── replaygain.h
│ │ │ ├── ripemd.h
│ │ │ ├── samplefmt.h
│ │ │ ├── sha512.h
│ │ │ ├── sha.h
│ │ │ ├── stereo3d.h
│ │ │ ├── timecode.h
│ │ │ ├── time.h
│ │ │ ├── timestamp.h
│ │ │ ├── version.h
│ │ │ └── xtea.h
│ │ ├── libswscale
│ │ │ ├── swscale.h
│ │ │ └── version.h
│ │ ├── _mingw.h
│ │ └── stdint.h
│ ├── lib
│ │ ├── avcodec.lib
│ │ ├── avutil.lib
│ │ └── swscale.lib
│ ├── readme.txt
│ ├── simplest_ffmpeg_decoder_pure.cpp
│ ├── simplest_ffmpeg_decoder_pure.vcxproj
│ ├── simplest_ffmpeg_decoder_pure.vcxproj.filters
│ ├── simplest_ffmpeg_decoder_pure.vcxproj.user
│ └── swscale-2.dll
├── simplest_ffmpeg_decoder_pure.jpg
├── simplest_ffmpeg_helloworld
│ ├── avcodec-55.dll
│ ├── avdevice-55.dll
│ ├── avfilter-4.dll
│ ├── avformat-55.dll
│ ├── avutil-52.dll
│ ├── include
│ │ ├── inttypes.h
│ │ ├── libavcodec
│ │ │ ├── avcodec.h
│ │ │ ├── avfft.h
│ │ │ ├── dxva2.h
│ │ │ ├── old_codec_ids.h
│ │ │ ├── vaapi.h
│ │ │ ├── vda.h
│ │ │ ├── vdpau.h
│ │ │ ├── version.h
│ │ │ └── xvmc.h
│ │ ├── libavdevice
│ │ │ ├── avdevice.h
│ │ │ └── version.h
│ │ ├── libavfilter
│ │ │ ├── asrc_abuffer.h
│ │ │ ├── avcodec.h
│ │ │ ├── avfiltergraph.h
│ │ │ ├── avfilter.h
│ │ │ ├── buffersink.h
│ │ │ ├── buffersrc.h
│ │ │ └── version.h
│ │ ├── libavformat
│ │ │ ├── avformat.h
│ │ │ ├── avio.h
│ │ │ └── version.h
│ │ ├── libavutil
│ │ │ ├── adler32.h
│ │ │ ├── aes.h
│ │ │ ├── attributes.h
│ │ │ ├── audioconvert.h
│ │ │ ├── audio_fifo.h
│ │ │ ├── avassert.h
│ │ │ ├── avconfig.h
│ │ │ ├── avstring.h
│ │ │ ├── avutil.h
│ │ │ ├── base64.h
│ │ │ ├── blowfish.h
│ │ │ ├── bprint.h
│ │ │ ├── bswap.h
│ │ │ ├── buffer.h
│ │ │ ├── channel_layout.h
│ │ │ ├── common.h
│ │ │ ├── cpu.h
│ │ │ ├── crc.h
│ │ │ ├── dict.h
│ │ │ ├── downmix_info.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── ffversion.h
│ │ │ ├── fifo.h
│ │ │ ├── file.h
│ │ │ ├── frame.h
│ │ │ ├── hmac.h
│ │ │ ├── imgutils.h
│ │ │ ├── intfloat.h
│ │ │ ├── intfloat_readwrite.h
│ │ │ ├── intreadwrite.h
│ │ │ ├── lfg.h
│ │ │ ├── log.h
│ │ │ ├── lzo.h
│ │ │ ├── macros.h
│ │ │ ├── mathematics.h
│ │ │ ├── md5.h
│ │ │ ├── mem.h
│ │ │ ├── murmur3.h
│ │ │ ├── old_pix_fmts.h
│ │ │ ├── opt.h
│ │ │ ├── parseutils.h
│ │ │ ├── pixdesc.h
│ │ │ ├── pixfmt.h
│ │ │ ├── random_seed.h
│ │ │ ├── rational.h
│ │ │ ├── replaygain.h
│ │ │ ├── ripemd.h
│ │ │ ├── samplefmt.h
│ │ │ ├── sha512.h
│ │ │ ├── sha.h
│ │ │ ├── stereo3d.h
│ │ │ ├── timecode.h
│ │ │ ├── time.h
│ │ │ ├── timestamp.h
│ │ │ ├── version.h
│ │ │ └── xtea.h
│ │ ├── libpostproc
│ │ │ ├── postprocess.h
│ │ │ └── version.h
│ │ ├── libswresample
│ │ │ ├── swresample.h
│ │ │ └── version.h
│ │ ├── libswscale
│ │ │ ├── swscale.h
│ │ │ └── version.h
│ │ ├── _mingw.h
│ │ └── stdint.h
│ ├── lib
│ │ ├── avcodec.lib
│ │ ├── avdevice.lib
│ │ ├── avfilter.lib
│ │ ├── avformat.lib
│ │ ├── avutil.lib
│ │ ├── postproc.lib
│ │ ├── swresample.lib
│ │ └── swscale.lib
│ ├── postproc-52.dll
│ ├── ReadMe.txt
│ ├── simplest_ffmpeg_helloworld.cpp
│ ├── simplest_ffmpeg_helloworld.vcxproj
│ ├── simplest_ffmpeg_helloworld.vcxproj.filters
│ ├── simplest_ffmpeg_helloworld.vcxproj.user
│ ├── swresample-0.dll
│ └── swscale-2.dll
├── simplest_ffmpeg_player
│ ├── avcodec-55.dll
│ ├── avdevice-55.dll
│ ├── avfilter-4.dll
│ ├── avformat-55.dll
│ ├── avutil-52.dll
│ ├── bigbuckbunny_480x272.h265
│ ├── compile_cl.bat
│ ├── compile_gcc.sh
│ ├── compile_mingw.sh
│ ├── cuc_ieschool.flv
│ ├── include
│ │ ├── inttypes.h
│ │ ├── libavcodec
│ │ │ ├── avcodec.h
│ │ │ ├── avfft.h
│ │ │ ├── dxva2.h
│ │ │ ├── old_codec_ids.h
│ │ │ ├── vaapi.h
│ │ │ ├── vda.h
│ │ │ ├── vdpau.h
│ │ │ ├── version.h
│ │ │ └── xvmc.h
│ │ ├── libavdevice
│ │ │ ├── avdevice.h
│ │ │ └── version.h
│ │ ├── libavfilter
│ │ │ ├── asrc_abuffer.h
│ │ │ ├── avcodec.h
│ │ │ ├── avfiltergraph.h
│ │ │ ├── avfilter.h
│ │ │ ├── buffersink.h
│ │ │ ├── buffersrc.h
│ │ │ └── version.h
│ │ ├── libavformat
│ │ │ ├── avformat.h
│ │ │ ├── avio.h
│ │ │ └── version.h
│ │ ├── libavutil
│ │ │ ├── adler32.h
│ │ │ ├── aes.h
│ │ │ ├── attributes.h
│ │ │ ├── audioconvert.h
│ │ │ ├── audio_fifo.h
│ │ │ ├── avassert.h
│ │ │ ├── avconfig.h
│ │ │ ├── avstring.h
│ │ │ ├── avutil.h
│ │ │ ├── base64.h
│ │ │ ├── blowfish.h
│ │ │ ├── bprint.h
│ │ │ ├── bswap.h
│ │ │ ├── buffer.h
│ │ │ ├── channel_layout.h
│ │ │ ├── common.h
│ │ │ ├── cpu.h
│ │ │ ├── crc.h
│ │ │ ├── dict.h
│ │ │ ├── downmix_info.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── ffversion.h
│ │ │ ├── fifo.h
│ │ │ ├── file.h
│ │ │ ├── frame.h
│ │ │ ├── hmac.h
│ │ │ ├── imgutils.h
│ │ │ ├── intfloat.h
│ │ │ ├── intfloat_readwrite.h
│ │ │ ├── intreadwrite.h
│ │ │ ├── lfg.h
│ │ │ ├── log.h
│ │ │ ├── lzo.h
│ │ │ ├── macros.h
│ │ │ ├── mathematics.h
│ │ │ ├── md5.h
│ │ │ ├── mem.h
│ │ │ ├── murmur3.h
│ │ │ ├── old_pix_fmts.h
│ │ │ ├── opt.h
│ │ │ ├── parseutils.h
│ │ │ ├── pixdesc.h
│ │ │ ├── pixfmt.h
│ │ │ ├── random_seed.h
│ │ │ ├── rational.h
│ │ │ ├── replaygain.h
│ │ │ ├── ripemd.h
│ │ │ ├── samplefmt.h
│ │ │ ├── sha512.h
│ │ │ ├── sha.h
│ │ │ ├── stereo3d.h
│ │ │ ├── timecode.h
│ │ │ ├── time.h
│ │ │ ├── timestamp.h
│ │ │ ├── version.h
│ │ │ └── xtea.h
│ │ ├── libpostproc
│ │ │ ├── postprocess.h
│ │ │ └── version.h
│ │ ├── libswresample
│ │ │ ├── swresample.h
│ │ │ └── version.h
│ │ ├── libswscale
│ │ │ ├── swscale.h
│ │ │ └── version.h
│ │ ├── _mingw.h
│ │ ├── sdl2
│ │ │ ├── begin_code.h
│ │ │ ├── close_code.h
│ │ │ ├── SDL_assert.h
│ │ │ ├── SDL_atomic.h
│ │ │ ├── SDL_audio.h
│ │ │ ├── SDL_bits.h
│ │ │ ├── SDL_blendmode.h
│ │ │ ├── SDL_clipboard.h
│ │ │ ├── SDL_config.h
│ │ │ ├── SDL_cpuinfo.h
│ │ │ ├── SDL_endian.h
│ │ │ ├── SDL_error.h
│ │ │ ├── SDL_events.h
│ │ │ ├── SDL_filesystem.h
│ │ │ ├── SDL_gamecontroller.h
│ │ │ ├── SDL_gesture.h
│ │ │ ├── SDL.h
│ │ │ ├── SDL_haptic.h
│ │ │ ├── SDL_hints.h
│ │ │ ├── SDL_joystick.h
│ │ │ ├── SDL_keyboard.h
│ │ │ ├── SDL_keycode.h
│ │ │ ├── SDL_loadso.h
│ │ │ ├── SDL_log.h
│ │ │ ├── SDL_main.h
│ │ │ ├── SDL_messagebox.h
│ │ │ ├── SDL_mouse.h
│ │ │ ├── SDL_mutex.h
│ │ │ ├── SDL_name.h
│ │ │ ├── SDL_opengles2.h
│ │ │ ├── SDL_opengles.h
│ │ │ ├── SDL_opengl.h
│ │ │ ├── SDL_pixels.h
│ │ │ ├── SDL_platform.h
│ │ │ ├── SDL_power.h
│ │ │ ├── SDL_quit.h
│ │ │ ├── SDL_rect.h
│ │ │ ├── SDL_render.h
│ │ │ ├── SDL_revision.h
│ │ │ ├── SDL_rwops.h
│ │ │ ├── SDL_scancode.h
│ │ │ ├── SDL_shape.h
│ │ │ ├── SDL_stdinc.h
│ │ │ ├── SDL_surface.h
│ │ │ ├── SDL_system.h
│ │ │ ├── SDL_syswm.h
│ │ │ ├── SDL_test_assert.h
│ │ │ ├── SDL_test_common.h
│ │ │ ├── SDL_test_compare.h
│ │ │ ├── SDL_test_crc32.h
│ │ │ ├── SDL_test_font.h
│ │ │ ├── SDL_test_fuzzer.h
│ │ │ ├── SDL_test.h
│ │ │ ├── SDL_test_harness.h
│ │ │ ├── SDL_test_images.h
│ │ │ ├── SDL_test_log.h
│ │ │ ├── SDL_test_md5.h
│ │ │ ├── SDL_test_random.h
│ │ │ ├── SDL_thread.h
│ │ │ ├── SDL_timer.h
│ │ │ ├── SDL_touch.h
│ │ │ ├── SDL_types.h
│ │ │ ├── SDL_version.h
│ │ │ └── SDL_video.h
│ │ ├── SDL2
│ │ │ ├── begin_code.h
│ │ │ ├── close_code.h
│ │ │ ├── SDL_assert.h
│ │ │ ├── SDL_atomic.h
│ │ │ ├── SDL_audio.h
│ │ │ ├── SDL_bits.h
│ │ │ ├── SDL_blendmode.h
│ │ │ ├── SDL_clipboard.h
│ │ │ ├── SDL_config.h
│ │ │ ├── SDL_cpuinfo.h
│ │ │ ├── SDL_endian.h
│ │ │ ├── SDL_error.h
│ │ │ ├── SDL_events.h
│ │ │ ├── SDL_filesystem.h
│ │ │ ├── SDL_gamecontroller.h
│ │ │ ├── SDL_gesture.h
│ │ │ ├── SDL.h
│ │ │ ├── SDL_haptic.h
│ │ │ ├── SDL_hints.h
│ │ │ ├── SDL_joystick.h
│ │ │ ├── SDL_keyboard.h
│ │ │ ├── SDL_keycode.h
│ │ │ ├── SDL_loadso.h
│ │ │ ├── SDL_log.h
│ │ │ ├── SDL_main.h
│ │ │ ├── SDL_messagebox.h
│ │ │ ├── SDL_mouse.h
│ │ │ ├── SDL_mutex.h
│ │ │ ├── SDL_name.h
│ │ │ ├── SDL_opengles2.h
│ │ │ ├── SDL_opengles.h
│ │ │ ├── SDL_opengl.h
│ │ │ ├── SDL_pixels.h
│ │ │ ├── SDL_platform.h
│ │ │ ├── SDL_power.h
│ │ │ ├── SDL_quit.h
│ │ │ ├── SDL_rect.h
│ │ │ ├── SDL_render.h
│ │ │ ├── SDL_revision.h
│ │ │ ├── SDL_rwops.h
│ │ │ ├── SDL_scancode.h
│ │ │ ├── SDL_shape.h
│ │ │ ├── SDL_stdinc.h
│ │ │ ├── SDL_surface.h
│ │ │ ├── SDL_system.h
│ │ │ ├── SDL_syswm.h
│ │ │ ├── SDL_test_assert.h
│ │ │ ├── SDL_test_common.h
│ │ │ ├── SDL_test_compare.h
│ │ │ ├── SDL_test_crc32.h
│ │ │ ├── SDL_test_font.h
│ │ │ ├── SDL_test_fuzzer.h
│ │ │ ├── SDL_test.h
│ │ │ ├── SDL_test_harness.h
│ │ │ ├── SDL_test_images.h
│ │ │ ├── SDL_test_log.h
│ │ │ ├── SDL_test_md5.h
│ │ │ ├── SDL_test_random.h
│ │ │ ├── SDL_thread.h
│ │ │ ├── SDL_timer.h
│ │ │ ├── SDL_touch.h
│ │ │ ├── SDL_types.h
│ │ │ ├── SDL_version.h
│ │ │ └── SDL_video.h
│ │ └── stdint.h
│ ├── lib
│ │ ├── avcodec.lib
│ │ ├── avdevice.lib
│ │ ├── avfilter.lib
│ │ ├── avformat.lib
│ │ ├── avutil.lib
│ │ ├── postproc.lib
│ │ ├── SDL2.lib
│ │ ├── SDL2main.lib
│ │ ├── swresample.lib
│ │ └── swscale.lib
│ ├── Makefile
│ ├── postproc-52.dll
│ ├── Readme.txt
│ ├── SDL2.dll
│ ├── simplest_ffmpeg_player.cpp
│ ├── simplest_ffmpeg_player.vcxproj
│ ├── simplest_ffmpeg_player.vcxproj.filters
│ ├── simplest_ffmpeg_player.vcxproj.user
│ ├── swresample-0.dll
│ └── swscale-2.dll
├── simplest_ffmpeg_player2.sln
├── simplest_ffmpeg_player2.suo
├── simplest_ffmpeg_player.jpg
├── simplest_ffmpeg_player_su
│ ├── avcodec-55.dll
│ ├── avdevice-55.dll
│ ├── avfilter-4.dll
│ ├── avformat-55.dll
│ ├── avutil-52.dll
│ ├── bigbuckbunny_480x272.h265
│ ├── compile_cl.bat
│ ├── compile_gcc.sh
│ ├── compile_mingw.sh
│ ├── include
│ │ ├── inttypes.h
│ │ ├── libavcodec
│ │ │ ├── avcodec.h
│ │ │ ├── avfft.h
│ │ │ ├── dxva2.h
│ │ │ ├── old_codec_ids.h
│ │ │ ├── vaapi.h
│ │ │ ├── vda.h
│ │ │ ├── vdpau.h
│ │ │ ├── version.h
│ │ │ └── xvmc.h
│ │ ├── libavdevice
│ │ │ ├── avdevice.h
│ │ │ └── version.h
│ │ ├── libavfilter
│ │ │ ├── asrc_abuffer.h
│ │ │ ├── avcodec.h
│ │ │ ├── avfiltergraph.h
│ │ │ ├── avfilter.h
│ │ │ ├── buffersink.h
│ │ │ ├── buffersrc.h
│ │ │ └── version.h
│ │ ├── libavformat
│ │ │ ├── avformat.h
│ │ │ ├── avio.h
│ │ │ └── version.h
│ │ ├── libavutil
│ │ │ ├── adler32.h
│ │ │ ├── aes.h
│ │ │ ├── attributes.h
│ │ │ ├── audioconvert.h
│ │ │ ├── audio_fifo.h
│ │ │ ├── avassert.h
│ │ │ ├── avconfig.h
│ │ │ ├── avstring.h
│ │ │ ├── avutil.h
│ │ │ ├── base64.h
│ │ │ ├── blowfish.h
│ │ │ ├── bprint.h
│ │ │ ├── bswap.h
│ │ │ ├── buffer.h
│ │ │ ├── channel_layout.h
│ │ │ ├── common.h
│ │ │ ├── cpu.h
│ │ │ ├── crc.h
│ │ │ ├── dict.h
│ │ │ ├── downmix_info.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── ffversion.h
│ │ │ ├── fifo.h
│ │ │ ├── file.h
│ │ │ ├── frame.h
│ │ │ ├── hmac.h
│ │ │ ├── imgutils.h
│ │ │ ├── intfloat.h
│ │ │ ├── intfloat_readwrite.h
│ │ │ ├── intreadwrite.h
│ │ │ ├── lfg.h
│ │ │ ├── log.h
│ │ │ ├── lzo.h
│ │ │ ├── macros.h
│ │ │ ├── mathematics.h
│ │ │ ├── md5.h
│ │ │ ├── mem.h
│ │ │ ├── murmur3.h
│ │ │ ├── old_pix_fmts.h
│ │ │ ├── opt.h
│ │ │ ├── parseutils.h
│ │ │ ├── pixdesc.h
│ │ │ ├── pixfmt.h
│ │ │ ├── random_seed.h
│ │ │ ├── rational.h
│ │ │ ├── replaygain.h
│ │ │ ├── ripemd.h
│ │ │ ├── samplefmt.h
│ │ │ ├── sha512.h
│ │ │ ├── sha.h
│ │ │ ├── stereo3d.h
│ │ │ ├── timecode.h
│ │ │ ├── time.h
│ │ │ ├── timestamp.h
│ │ │ ├── version.h
│ │ │ └── xtea.h
│ │ ├── libpostproc
│ │ │ ├── postprocess.h
│ │ │ └── version.h
│ │ ├── libswresample
│ │ │ ├── swresample.h
│ │ │ └── version.h
│ │ ├── libswscale
│ │ │ ├── swscale.h
│ │ │ └── version.h
│ │ ├── _mingw.h
│ │ ├── sdl2
│ │ │ ├── begin_code.h
│ │ │ ├── close_code.h
│ │ │ ├── SDL_assert.h
│ │ │ ├── SDL_atomic.h
│ │ │ ├── SDL_audio.h
│ │ │ ├── SDL_bits.h
│ │ │ ├── SDL_blendmode.h
│ │ │ ├── SDL_clipboard.h
│ │ │ ├── SDL_config.h
│ │ │ ├── SDL_cpuinfo.h
│ │ │ ├── SDL_endian.h
│ │ │ ├── SDL_error.h
│ │ │ ├── SDL_events.h
│ │ │ ├── SDL_filesystem.h
│ │ │ ├── SDL_gamecontroller.h
│ │ │ ├── SDL_gesture.h
│ │ │ ├── SDL.h
│ │ │ ├── SDL_haptic.h
│ │ │ ├── SDL_hints.h
│ │ │ ├── SDL_joystick.h
│ │ │ ├── SDL_keyboard.h
│ │ │ ├── SDL_keycode.h
│ │ │ ├── SDL_loadso.h
│ │ │ ├── SDL_log.h
│ │ │ ├── SDL_main.h
│ │ │ ├── SDL_messagebox.h
│ │ │ ├── SDL_mouse.h
│ │ │ ├── SDL_mutex.h
│ │ │ ├── SDL_name.h
│ │ │ ├── SDL_opengles2.h
│ │ │ ├── SDL_opengles.h
│ │ │ ├── SDL_opengl.h
│ │ │ ├── SDL_pixels.h
│ │ │ ├── SDL_platform.h
│ │ │ ├── SDL_power.h
│ │ │ ├── SDL_quit.h
│ │ │ ├── SDL_rect.h
│ │ │ ├── SDL_render.h
│ │ │ ├── SDL_revision.h
│ │ │ ├── SDL_rwops.h
│ │ │ ├── SDL_scancode.h
│ │ │ ├── SDL_shape.h
│ │ │ ├── SDL_stdinc.h
│ │ │ ├── SDL_surface.h
│ │ │ ├── SDL_system.h
│ │ │ ├── SDL_syswm.h
│ │ │ ├── SDL_test_assert.h
│ │ │ ├── SDL_test_common.h
│ │ │ ├── SDL_test_compare.h
│ │ │ ├── SDL_test_crc32.h
│ │ │ ├── SDL_test_font.h
│ │ │ ├── SDL_test_fuzzer.h
│ │ │ ├── SDL_test.h
│ │ │ ├── SDL_test_harness.h
│ │ │ ├── SDL_test_images.h
│ │ │ ├── SDL_test_log.h
│ │ │ ├── SDL_test_md5.h
│ │ │ ├── SDL_test_random.h
│ │ │ ├── SDL_thread.h
│ │ │ ├── SDL_timer.h
│ │ │ ├── SDL_touch.h
│ │ │ ├── SDL_types.h
│ │ │ ├── SDL_version.h
│ │ │ └── SDL_video.h
│ │ ├── SDL2
│ │ │ ├── begin_code.h
│ │ │ ├── close_code.h
│ │ │ ├── SDL_assert.h
│ │ │ ├── SDL_atomic.h
│ │ │ ├── SDL_audio.h
│ │ │ ├── SDL_bits.h
│ │ │ ├── SDL_blendmode.h
│ │ │ ├── SDL_clipboard.h
│ │ │ ├── SDL_config.h
│ │ │ ├── SDL_cpuinfo.h
│ │ │ ├── SDL_endian.h
│ │ │ ├── SDL_error.h
│ │ │ ├── SDL_events.h
│ │ │ ├── SDL_filesystem.h
│ │ │ ├── SDL_gamecontroller.h
│ │ │ ├── SDL_gesture.h
│ │ │ ├── SDL.h
│ │ │ ├── SDL_haptic.h
│ │ │ ├── SDL_hints.h
│ │ │ ├── SDL_joystick.h
│ │ │ ├── SDL_keyboard.h
│ │ │ ├── SDL_keycode.h
│ │ │ ├── SDL_loadso.h
│ │ │ ├── SDL_log.h
│ │ │ ├── SDL_main.h
│ │ │ ├── SDL_messagebox.h
│ │ │ ├── SDL_mouse.h
│ │ │ ├── SDL_mutex.h
│ │ │ ├── SDL_name.h
│ │ │ ├── SDL_opengles2.h
│ │ │ ├── SDL_opengles.h
│ │ │ ├── SDL_opengl.h
│ │ │ ├── SDL_pixels.h
│ │ │ ├── SDL_platform.h
│ │ │ ├── SDL_power.h
│ │ │ ├── SDL_quit.h
│ │ │ ├── SDL_rect.h
│ │ │ ├── SDL_render.h
│ │ │ ├── SDL_revision.h
│ │ │ ├── SDL_rwops.h
│ │ │ ├── SDL_scancode.h
│ │ │ ├── SDL_shape.h
│ │ │ ├── SDL_stdinc.h
│ │ │ ├── SDL_surface.h
│ │ │ ├── SDL_system.h
│ │ │ ├── SDL_syswm.h
│ │ │ ├── SDL_test_assert.h
│ │ │ ├── SDL_test_common.h
│ │ │ ├── SDL_test_compare.h
│ │ │ ├── SDL_test_crc32.h
│ │ │ ├── SDL_test_font.h
│ │ │ ├── SDL_test_fuzzer.h
│ │ │ ├── SDL_test.h
│ │ │ ├── SDL_test_harness.h
│ │ │ ├── SDL_test_images.h
│ │ │ ├── SDL_test_log.h
│ │ │ ├── SDL_test_md5.h
│ │ │ ├── SDL_test_random.h
│ │ │ ├── SDL_thread.h
│ │ │ ├── SDL_timer.h
│ │ │ ├── SDL_touch.h
│ │ │ ├── SDL_types.h
│ │ │ ├── SDL_version.h
│ │ │ └── SDL_video.h
│ │ └── stdint.h
│ ├── lib
│ │ ├── avcodec.lib
│ │ ├── avdevice.lib
│ │ ├── avfilter.lib
│ │ ├── avformat.lib
│ │ ├── avutil.lib
│ │ ├── postproc.lib
│ │ ├── SDL2.lib
│ │ ├── SDL2main.lib
│ │ ├── swresample.lib
│ │ └── swscale.lib
│ ├── postproc-52.dll
│ ├── ReadMe.txt
│ ├── SDL2.dll
│ ├── simplest_ffmpeg_player_su.cpp
│ ├── simplest_ffmpeg_player_su.vcxproj
│ ├── simplest_ffmpeg_player_su.vcxproj.filters
│ ├── simplest_ffmpeg_player_su.vcxproj.user
│ ├── swresample-0.dll
│ └── swscale-2.dll
└── simplest_video_play_sdl2
├── compile_cl.bat
├── compile_gcc.sh
├── compile_mingw.sh
├── include
│ └── sdl
│ ├── begin_code.h
│ ├── close_code.h
│ ├── SDL_assert.h
│ ├── SDL_atomic.h
│ ├── SDL_audio.h
│ ├── SDL_bits.h
│ ├── SDL_blendmode.h
│ ├── SDL_clipboard.h
│ ├── SDL_config.h
│ ├── SDL_cpuinfo.h
│ ├── SDL_endian.h
│ ├── SDL_error.h
│ ├── SDL_events.h
│ ├── SDL_filesystem.h
│ ├── SDL_gamecontroller.h
│ ├── SDL_gesture.h
│ ├── SDL.h
│ ├── SDL_haptic.h
│ ├── SDL_hints.h
│ ├── SDL_joystick.h
│ ├── SDL_keyboard.h
│ ├── SDL_keycode.h
│ ├── SDL_loadso.h
│ ├── SDL_log.h
│ ├── SDL_main.h
│ ├── SDL_messagebox.h
│ ├── SDL_mouse.h
│ ├── SDL_mutex.h
│ ├── SDL_name.h
│ ├── SDL_opengles2.h
│ ├── SDL_opengles.h
│ ├── SDL_opengl.h
│ ├── SDL_pixels.h
│ ├── SDL_platform.h
│ ├── SDL_power.h
│ ├── SDL_quit.h
│ ├── SDL_rect.h
│ ├── SDL_render.h
│ ├── SDL_revision.h
│ ├── SDL_rwops.h
│ ├── SDL_scancode.h
│ ├── SDL_shape.h
│ ├── SDL_stdinc.h
│ ├── SDL_surface.h
│ ├── SDL_system.h
│ ├── SDL_syswm.h
│ ├── SDL_test_assert.h
│ ├── SDL_test_common.h
│ ├── SDL_test_compare.h
│ ├── SDL_test_crc32.h
│ ├── SDL_test_font.h
│ ├── SDL_test_fuzzer.h
│ ├── SDL_test.h
│ ├── SDL_test_harness.h
│ ├── SDL_test_images.h
│ ├── SDL_test_log.h
│ ├── SDL_test_md5.h
│ ├── SDL_test_random.h
│ ├── SDL_thread.h
│ ├── SDL_timer.h
│ ├── SDL_touch.h
│ ├── SDL_types.h
│ ├── SDL_version.h
│ └── SDL_video.h
├── lib
│ ├── SDL2.lib
│ └── SDL2main.lib
├── ReadMe.txt
├── SDL2.dll
├── simplest_video_play_sdl2.cpp
├── simplest_video_play_sdl2.vcxproj
├── simplest_video_play_sdl2.vcxproj.filters
└── simplest_video_play_sdl2.vcxproj.user
58 directories, 877 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论