Michael Bradshaw | 1 Dec 2011 01:14
Favicon

BPP fix, YUVP9, 10, 16 support, make RGB24 default

ffmpeg | branch: master | Michael Bradshaw <mbradshaw <at> sorensonmedia.com> | Wed Nov 30 16:48:03 2011
-0700| [0275b75a7e705ef5a6bd6610f1450671f78000b6] | committer: Michael Bradshaw

BPP fix, YUVP9, 10, 16 support, make RGB24 default

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0275b75a7e705ef5a6bd6610f1450671f78000b6
---

 libavcodec/libopenjpegenc.c |  102 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 81 insertions(+), 21 deletions(-)

diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c
index 398339d..5215836 100644
--- a/libavcodec/libopenjpegenc.c
+++ b/libavcodec/libopenjpegenc.c
 <at>  <at>  -53,7 +53,7  <at>  <at>  static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p
     opj_image_cmptparm_t *cmptparm;
     opj_image_t *img;
     int i;
-    int bpp;
+    int bpp = 8;
     int sub_dx[4];
     int sub_dy[4];
     int numcomps = 0;
 <at>  <at>  -68,37 +68,51  <at>  <at>  static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p
     case PIX_FMT_GRAY8:
         color_space = CLRSPC_GRAY;
         numcomps = 1;
-        bpp = 8;
         break;
(Continue reading)

Anton Khirnov | 1 Dec 2011 03:02
Favicon

avconv: update InputStream.pts in the streamcopy case.

ffmpeg | branch: master | Anton Khirnov <anton <at> khirnov.net> | Mon Nov 28 11:47:02 2011 +0100|
[91b412e786055aec3c5b6529a0c9ecc70fde8a6d] | committer: Anton Khirnov

avconv: update InputStream.pts in the streamcopy case.

This was broken in 2a651b719c309c5e2fc663a5a9d6ca36153ab98f.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=91b412e786055aec3c5b6529a0c9ecc70fde8a6d
---

 avconv.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/avconv.c b/avconv.c
index 4c5498a..067678d 100644
--- a/avconv.c
+++ b/avconv.c
 <at>  <at>  -1906,6 +1906,7  <at>  <at>  static int output_packet(InputStream *ist,
     /* handle stream copy */
     if (!ist->decoding_needed) {
         rate_emu_sleep(ist);
+        ist->pts = ist->next_pts;
         switch (ist->st->codec->codec_type) {
         case AVMEDIA_TYPE_AUDIO:
             ist->next_pts += ((int64_t)AV_TIME_BASE * ist->st->codec->frame_size) /
Anton Khirnov | 1 Dec 2011 03:02
Favicon

lavf: estimate frame duration from r_frame_rate.

ffmpeg | branch: master | Anton Khirnov <anton <at> khirnov.net> | Mon Nov 28 10:02:21 2011 +0100|
[2092232581468e3d656805e2b0effd14092dc6f5] | committer: Anton Khirnov

lavf: estimate frame duration from r_frame_rate.

If r_frame_rate is set, it should be more reliable for this than either
codec or stream timebase.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2092232581468e3d656805e2b0effd14092dc6f5
---

 libavformat/utils.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 2b378ab..29eaf1b 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
 <at>  <at>  -826,7 +826,10  <at>  <at>  static void compute_frame_duration(int *pnum, int *pden, AVStream *st,
     *pden = 0;
     switch(st->codec->codec_type) {
     case AVMEDIA_TYPE_VIDEO:
-        if(st->time_base.num*1000LL > st->time_base.den){
+        if (st->r_frame_rate.num) {
+            *pnum = st->r_frame_rate.den;
+            *pden = st->r_frame_rate.num;
+        } else if(st->time_base.num*1000LL > st->time_base.den) {
             *pnum = st->time_base.num;
             *pden = st->time_base.den;
         }else if(st->codec->time_base.num*1000LL > st->codec->time_base.den){
(Continue reading)

Anton Khirnov | 1 Dec 2011 03:02
Favicon

avconv: compute next_pts from input packet duration when possible.

ffmpeg | branch: master | Anton Khirnov <anton <at> khirnov.net> | Mon Nov 28 11:15:06 2011 +0100|
[741a05a2936505476ec0ff484d1251276635af73] | committer: Anton Khirnov

avconv: compute next_pts from input packet duration when possible.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=741a05a2936505476ec0ff484d1251276635af73
---

 avconv.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/avconv.c b/avconv.c
index 067678d..ab0d4ec 100644
--- a/avconv.c
+++ b/avconv.c
 <at>  <at>  -1747,7 +1747,9  <at>  <at>  static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
     }
     ist->next_pts = ist->pts = guess_correct_pts(&ist->pts_ctx, decoded_frame->pkt_pts,
                                                  decoded_frame->pkt_dts);
-    if (ist->st->codec->time_base.num != 0) {
+    if (pkt->duration)
+        ist->next_pts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
+    else if (ist->st->codec->time_base.num != 0) {
         int ticks      = ist->st->parser ? ist->st->parser->repeat_pict + 1 :
                                            ist->st->codec->ticks_per_frame;
         ist->next_pts += ((int64_t)AV_TIME_BASE *
Anton Khirnov | 1 Dec 2011 03:02
Favicon

avconv: make copy_tb on by default.

ffmpeg | branch: master | Anton Khirnov <anton <at> khirnov.net> | Tue Nov 29 11:10:31 2011 +0100|
[7bb3e6259492c9923881f906be88b0c2eb5e071e] | committer: Anton Khirnov

avconv: make copy_tb on by default.

I.e. on streamcopy set output codec timebase from input stream timebase
(as opposed to input codec timebase). This should be more sane, because
since the stream is not decoded, the input codec tb has no relation to
the timestamps of the copied packets.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7bb3e6259492c9923881f906be88b0c2eb5e071e
---

 avconv.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/avconv.c b/avconv.c
index ab0d4ec..d6045b7 100644
--- a/avconv.c
+++ b/avconv.c
 <at>  <at>  -113,7 +113,7  <at>  <at>  static int video_sync_method= -1;
 static int audio_sync_method= 0;
 static float audio_drift_threshold= 0.1;
 static int copy_ts= 0;
-static int copy_tb;
+static int copy_tb = 1;
 static int opt_shortest = 0;
 static char *vstats_filename;
 static FILE *vstats_file;
 <at>  <at>  -2067,9 +2067,7  <at>  <at>  static int transcode_init(OutputFile *output_files,
(Continue reading)

Martin Storsjö | 1 Dec 2011 03:02
Favicon

rtpdec: Add an init function that can do custom codec context initialization

ffmpeg | branch: master | Martin Storsjö <martin <at> martin.st> | Tue Nov 29 16:51:26 2011 +0200|
[258366066479391aa998e3c8e87f70bec559db72] | committer: Martin Storsjö

rtpdec: Add an init function that can do custom codec context initialization

Signed-off-by: Martin Storsjö <martin <at> martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=258366066479391aa998e3c8e87f70bec559db72
---

 libavformat/rtpdec.h |    1 +
 libavformat/rtsp.c   |    6 ++++++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/libavformat/rtpdec.h b/libavformat/rtpdec.h
index eb1e62d..9e2bfd0 100644
--- a/libavformat/rtpdec.h
+++ b/libavformat/rtpdec.h
 <at>  <at>  -122,6 +122,7  <at>  <at>  struct RTPDynamicProtocolHandler_s {
                             * require any custom depacketization code. */

     // may be null
+    int (*init)(AVFormatContext *s, int st_index, PayloadContext *priv_data); ///< Initialize dynamic
protocol handler, called after the full rtpmap line is parsed
     int (*parse_sdp_a_line) (AVFormatContext *s,
                              int st_index,
                              PayloadContext *priv_data,
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index d0e9bbf..1f32050 100644
--- a/libavformat/rtsp.c
(Continue reading)

Miroslav Slugeň | 1 Dec 2011 03:02
Favicon

rtpdec: Add support for G726 audio

ffmpeg | branch: master | Miroslav Slugeň <Thunder.m <at> seznam.cz> | Mon Nov  7 12:13:55 2011 +0100|
[06d7325ab1fcc009f0183be3a0b0504f6d99edfb] | committer: Martin Storsjö

rtpdec: Add support for G726 audio

This requires using a separate init function, since there
isn't necessarily any fmtp lines for this codec, so
parse_sdp_a_line won't be called. Incorporating it with the
alloc function wouldn't do either, since it is called before
the full rtpmap line is parsed (where the sample rate is
extracted).

Signed-off-by: Martin Storsjö <martin <at> martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=06d7325ab1fcc009f0183be3a0b0504f6d99edfb
---

 libavformat/Makefile         |    1 +
 libavformat/rtpdec.c         |    5 ++
 libavformat/rtpdec_formats.h |    4 ++
 libavformat/rtpdec_g726.c    |  102 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 112 insertions(+), 0 deletions(-)

diff --git a/libavformat/Makefile b/libavformat/Makefile
index 64b2d82..f3f8679 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
 <at>  <at>  -247,6 +247,7  <at>  <at>  OBJS-$(CONFIG_RTPDEC)                    += rdt.o         \
                                             rtpdec.o      \
                                             rtpdec_amr.o  \
(Continue reading)

Anton Khirnov | 1 Dec 2011 03:02
Favicon

matroskadec: don't set codec timebase.

ffmpeg | branch: master | Anton Khirnov <anton <at> khirnov.net> | Mon Nov 28 09:38:32 2011 +0100|
[c98c1f434eed06390f4990dd23f7ec15dbe53703] | committer: Anton Khirnov

matroskadec: don't set codec timebase.

It's not supposed to be set outside of lavc.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c98c1f434eed06390f4990dd23f7ec15dbe53703
---

 libavformat/matroskadec.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index a40aa1c..b136bba 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
 <at>  <at>  -1519,10 +1519,6  <at>  <at>  static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
         if (track->flag_forced)
             st->disposition |= AV_DISPOSITION_FORCED;

-        if (track->default_duration)
-            av_reduce(&st->codec->time_base.num, &st->codec->time_base.den,
-                      track->default_duration, 1000000000, 30000);
-
         if (!st->codec->extradata) {
             if(extradata){
                 st->codec->extradata = extradata;
Janne Grunau | 1 Dec 2011 03:02
Favicon

rv40: move loop filter to rv34dsp context

ffmpeg | branch: master | Janne Grunau <janne-libav <at> jannau.net> | Wed Oct  5 09:29:38 2011 +0200|
[bb8a6e03cc641035b3fd4dc7c8c77f2dc92b41d5] | committer: Mans Rullgard

rv40: move loop filter to rv34dsp context

Signed-off-by: Mans Rullgard <mans <at> mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bb8a6e03cc641035b3fd4dc7c8c77f2dc92b41d5
---

 libavcodec/rv34dsp.h  |    7 ++
 libavcodec/rv40.c     |  158 +++---------------------------------------------
 libavcodec/rv40data.h |   14 ----
 libavcodec/rv40dsp.c  |  161 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 176 insertions(+), 164 deletions(-)

diff --git a/libavcodec/rv34dsp.h b/libavcodec/rv34dsp.h
index a2ab5f2..4ade050 100644
--- a/libavcodec/rv34dsp.h
+++ b/libavcodec/rv34dsp.h
 <at>  <at>  -36,6 +36,11  <at>  <at>  typedef void (*rv40_weight_func)(uint8_t *dst/*align width (8 or 16)*/,

 typedef void (*rv34_inv_transform_func)(DCTELEM *block);

+typedef void (*rv40_loop_filter_func)(uint8_t *src, int stride, int dmode,
+                                      int lim_q1, int lim_p1, int alpha,
+                                      int beta, int beta2, int chroma,
+                                      int edge);
+
 typedef struct RV34DSPContext {
(Continue reading)

Martin Storsjö | 1 Dec 2011 03:02
Favicon

rtpdec: Templatize the code for different g726 bitrate variants

ffmpeg | branch: master | Martin Storsjö <martin <at> martin.st> | Wed Nov 30 18:05:06 2011 +0200|
[c8f0e88b205208da0e74f9345d4c4eb6d725774b] | committer: Martin Storsjö

rtpdec: Templatize the code for different g726 bitrate variants

Signed-off-by: Martin Storsjö <martin <at> martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c8f0e88b205208da0e74f9345d4c4eb6d725774b
---

 libavformat/rtpdec_g726.c |  100 ++++++++++----------------------------------
 1 files changed, 23 insertions(+), 77 deletions(-)

diff --git a/libavformat/rtpdec_g726.c b/libavformat/rtpdec_g726.c
index 0b7b0f0..5735c2c 100644
--- a/libavformat/rtpdec_g726.c
+++ b/libavformat/rtpdec_g726.c
 <at>  <at>  -21,82 +21,28  <at>  <at> 
 #include "avformat.h"
 #include "rtpdec_formats.h"

-static int g726_16_init(AVFormatContext *s, int st_index, PayloadContext *data)
-{
-    AVStream *stream = s->streams[st_index];
-    AVCodecContext *codec = stream->codec;
-
-    codec->bit_rate = 16000;
-    if (codec->sample_rate)
-        codec->bits_per_coded_sample =
-            av_clip((codec->bit_rate + codec->sample_rate/2) / codec->sample_rate, 2, 5);
(Continue reading)


Gmane