Commit 7c92c03b authored by Michael Bradshaw's avatar Michael Bradshaw

Added support for J2K encoding with libopenjpeg

Note: Some of the previous patches have had two bugs that have been fixed
in this patch.
parent 32aa9590
...@@ -241,6 +241,7 @@ version 0.8: ...@@ -241,6 +241,7 @@ version 0.8:
- lut, lutrgb, and lutyuv filters added - lut, lutrgb, and lutyuv filters added
- buffersink libavfilter sink added - buffersink libavfilter sink added
- Bump libswscale for recently reported ABI break - Bump libswscale for recently reported ABI break
- New J2K encoder (via OpenJPEG)
version 0.7: version 0.7:
......
...@@ -157,6 +157,7 @@ Codecs: ...@@ -157,6 +157,7 @@ Codecs:
libgsm.c Michel Bardiaux libgsm.c Michel Bardiaux
libdirac* David Conrad libdirac* David Conrad
libopenjpeg.c Jaikrishnan Menon libopenjpeg.c Jaikrishnan Menon
libopenjpegenc.c Michael Bradshaw
libschroedinger* David Conrad libschroedinger* David Conrad
libspeexdec.c Justin Ruggles libspeexdec.c Justin Ruggles
libtheoraenc.c David Conrad libtheoraenc.c David Conrad
......
...@@ -183,7 +183,7 @@ External library support: ...@@ -183,7 +183,7 @@ External library support:
--enable-libmp3lame enable MP3 encoding via libmp3lame [no] --enable-libmp3lame enable MP3 encoding via libmp3lame [no]
--enable-libnut enable NUT (de)muxing via libnut, --enable-libnut enable NUT (de)muxing via libnut,
native (de)muxer exists [no] native (de)muxer exists [no]
--enable-libopenjpeg enable JPEG 2000 decoding via OpenJPEG [no] --enable-libopenjpeg enable JPEG 2000 encoding/decoding via OpenJPEG [no]
--enable-librtmp enable RTMP[E] support via librtmp [no] --enable-librtmp enable RTMP[E] support via librtmp [no]
--enable-libschroedinger enable Dirac support via libschroedinger [no] --enable-libschroedinger enable Dirac support via libschroedinger [no]
--enable-libspeex enable Speex support via libspeex [no] --enable-libspeex enable Speex support via libspeex [no]
...@@ -1519,6 +1519,7 @@ libopencore_amrnb_decoder_deps="libopencore_amrnb" ...@@ -1519,6 +1519,7 @@ libopencore_amrnb_decoder_deps="libopencore_amrnb"
libopencore_amrnb_encoder_deps="libopencore_amrnb" libopencore_amrnb_encoder_deps="libopencore_amrnb"
libopencore_amrwb_decoder_deps="libopencore_amrwb" libopencore_amrwb_decoder_deps="libopencore_amrwb"
libopenjpeg_decoder_deps="libopenjpeg" libopenjpeg_decoder_deps="libopenjpeg"
libopenjpeg_encoder_deps="libopenjpeg"
libschroedinger_decoder_deps="libschroedinger" libschroedinger_decoder_deps="libschroedinger"
libschroedinger_encoder_deps="libschroedinger" libschroedinger_encoder_deps="libschroedinger"
libspeex_decoder_deps="libspeex" libspeex_decoder_deps="libspeex"
......
...@@ -15,6 +15,14 @@ FFmpeg can be hooked up with a number of external libraries to add support ...@@ -15,6 +15,14 @@ FFmpeg can be hooked up with a number of external libraries to add support
for more formats. None of them are used by default, their use has to be for more formats. None of them are used by default, their use has to be
explicitly requested by passing the appropriate flags to @file{./configure}. explicitly requested by passing the appropriate flags to @file{./configure}.
@section OpenJPEG
FFmpeg can use the OpenJPEG libraries for encoding/decoding J2K videos. Go to
@url{http://www.openjpeg.org/} to get the libraries and follow the installation
instructions. To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjpeg} to
@file{./configure}.
@section OpenCORE AMR @section OpenCORE AMR
FFmpeg can make use of the OpenCORE libraries for AMR-NB FFmpeg can make use of the OpenCORE libraries for AMR-NB
...@@ -447,6 +455,7 @@ following image formats are supported: ...@@ -447,6 +455,7 @@ following image formats are supported:
@tab Used in the game Cyberia from Interplay. @tab Used in the game Cyberia from Interplay.
@item Interplay MVE video @tab @tab X @item Interplay MVE video @tab @tab X
@tab Used in Interplay .MVE files. @tab Used in Interplay .MVE files.
@item J2K @tab X @tab X
@item Karl Morton's video codec @tab @tab X @item Karl Morton's video codec @tab @tab X
@tab Codec used in Worms games. @tab Codec used in Worms games.
@item Kega Game Video (KGV1) @tab @tab X @item Kega Game Video (KGV1) @tab @tab X
......
...@@ -606,6 +606,7 @@ OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o ...@@ -606,6 +606,7 @@ OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o
OBJS-$(CONFIG_LIBOPENJPEG_ENCODER) += libopenjpegenc.o
OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o \ OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o \
libschroedinger.o \ libschroedinger.o \
libdirac_libschro.o libdirac_libschro.o
......
...@@ -391,7 +391,7 @@ void avcodec_register_all(void) ...@@ -391,7 +391,7 @@ void avcodec_register_all(void)
REGISTER_ENCODER (LIBMP3LAME, libmp3lame); REGISTER_ENCODER (LIBMP3LAME, libmp3lame);
REGISTER_ENCDEC (LIBOPENCORE_AMRNB, libopencore_amrnb); REGISTER_ENCDEC (LIBOPENCORE_AMRNB, libopencore_amrnb);
REGISTER_DECODER (LIBOPENCORE_AMRWB, libopencore_amrwb); REGISTER_DECODER (LIBOPENCORE_AMRWB, libopencore_amrwb);
REGISTER_DECODER (LIBOPENJPEG, libopenjpeg); REGISTER_ENCDEC (LIBOPENJPEG, libopenjpeg);
REGISTER_ENCDEC (LIBSCHROEDINGER, libschroedinger); REGISTER_ENCDEC (LIBSCHROEDINGER, libschroedinger);
REGISTER_ENCDEC (LIBSPEEX, libspeex); REGISTER_ENCDEC (LIBSPEEX, libspeex);
REGISTER_DECODER (LIBSTAGEFRIGHT_H264, libstagefright_h264); REGISTER_DECODER (LIBSTAGEFRIGHT_H264, libstagefright_h264);
......
This diff is collapsed.
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#define AVCODEC_VERSION_H #define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 53 #define LIBAVCODEC_VERSION_MAJOR 53
#define LIBAVCODEC_VERSION_MINOR 34 #define LIBAVCODEC_VERSION_MINOR 35
#define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment