rbultje | 1 Dec 2008 01:08
Picon

r15966 - trunk/libavformat/rdt.c

Author: rbultje
Date: Mon Dec  1 01:08:42 2008
New Revision: 15966

Log:
Implement rule-number parsing, the initial step in stream (and bitrate)
selection. See discussion in ML thread "[PATCH] RDT/Realmedia patches #2".

Modified:
   trunk/libavformat/rdt.c

Modified: trunk/libavformat/rdt.c
==============================================================================
--- trunk/libavformat/rdt.c	(original)
+++ trunk/libavformat/rdt.c	Mon Dec  1 01:08:42 2008
 <at>  <at>  -47,7 +47,7  <at>  <at>  struct RDTDemuxContext {
     void *dynamic_protocol_context;
     DynamicPayloadPacketHandlerProc parse_packet;
     uint32_t prev_timestamp;
-    int prev_set_id;
+    int prev_set_id, prev_stream_id;
 };

 RDTDemuxContext *
 <at>  <at>  -65,6 +65,7  <at>  <at>  ff_rdt_parse_open(AVFormatContext *ic, i
     } while (first_stream_of_set_idx + s->n_streams < ic->nb_streams &&
              s->streams[s->n_streams]->priv_data == s->streams[0]->priv_data);
     s->prev_set_id    = -1;
+    s->prev_stream_id = -1;
     s->prev_timestamp = -1;
(Continue reading)

kostya | 1 Dec 2008 07:36
Picon

r15967 - in trunk/libavcodec: dsputil.c dsputil.h rv40dsp.c

Author: kostya
Date: Mon Dec  1 07:36:22 2008
New Revision: 15967

Log:
RV40 MC functions

Added:
   trunk/libavcodec/rv40dsp.c
Modified:
   trunk/libavcodec/dsputil.c
   trunk/libavcodec/dsputil.h

Modified: trunk/libavcodec/dsputil.c
==============================================================================
--- trunk/libavcodec/dsputil.c	(original)
+++ trunk/libavcodec/dsputil.c	Mon Dec  1 07:36:22 2008
 <at>  <at>  -2743,6 +2743,23  <at>  <at>  void ff_intrax8dsp_init(DSPContext* c, A
 /* H264 specific */
 void ff_h264dspenc_init(DSPContext* c, AVCodecContext *avctx);

+#if defined(CONFIG_RV40_DECODER)
+static void put_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){
+    put_pixels16_xy2_c(dst, src, stride, 16);
+}
+static void avg_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){
+    avg_pixels16_xy2_c(dst, src, stride, 16);
+}
+static void put_rv40_qpel8_mc33_c(uint8_t *dst, uint8_t *src, int stride){
+    put_pixels8_xy2_c(dst, src, stride, 8);
(Continue reading)

kostya | 1 Dec 2008 07:40
Picon

r15968 - in trunk: Changelog doc/general.texi libavcodec/Makefile libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/dsputil.h

Author: kostya
Date: Mon Dec  1 07:40:36 2008
New Revision: 15968

Log:
enable RV40 decoder

Modified:
   trunk/Changelog
   trunk/doc/general.texi
   trunk/libavcodec/Makefile
   trunk/libavcodec/allcodecs.c
   trunk/libavcodec/avcodec.h
   trunk/libavcodec/dsputil.h

Modified: trunk/Changelog
==============================================================================
--- trunk/Changelog	(original)
+++ trunk/Changelog	Mon Dec  1 07:40:36 2008
 <at>  <at>  -140,6 +140,7  <at>  <at>  version <next>
 - liba52 wrapper removed
 - Speex decoding via libspeex
 - Electronic Arts TGQ decoder
+- RV40 decoder

 version 0.4.9-pre1:

Modified: trunk/doc/general.texi
==============================================================================
--- trunk/doc/general.texi	(original)
(Continue reading)

stefano | 1 Dec 2008 09:27
Picon

r15969 - trunk/doc/ffmpeg-doc.texi

Author: stefano
Date: Mon Dec  1 09:27:53 2008
New Revision: 15969

Log:
Improve documentation for the -pass and -passlog options. Add mention
to how the log file is used and specify the default log file name.

Modified:
   trunk/doc/ffmpeg-doc.texi

Modified: trunk/doc/ffmpeg-doc.texi
==============================================================================
--- trunk/doc/ffmpeg-doc.texi	(original)
+++ trunk/doc/ffmpeg-doc.texi	Mon Dec  1 09:27:53 2008
 <at>  <at>  -439,10 +439,11  <at>  <at>  tell that the raw codec data must be cop
 Use same video quality as source (implies VBR).

  <at> item -pass  <at> var{n}
-Select the pass number (1 or 2). It is useful to do two pass
-encoding. The statistics of the video are recorded in the first
-pass and the video is generated at the exact requested bitrate
-in the second pass.
+Select the pass number (1 or 2). It is used to do two-pass
+video encoding. The statistics of the video are recorded in the first
+pass into a log file (see also the option -passlogfile),
+and in the second pass that log file is used to generate the video
+at the exact requested bitrate.
 On pass 1, you may just deactivate audio and set output to null,
 examples for Windows and Unix:
(Continue reading)

Diego Biurrun | 1 Dec 2008 09:31
Picon
Gravatar

Re: r15968 - in trunk: Changelog doc/general.texi libavcodec/Makefile libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/dsputil.h

On Mon, Dec 01, 2008 at 07:40:37AM +0100, kostya wrote:
> 
> Log:
> enable RV40 decoder

I think the following can be removed now:

libavcodec/h264pred.c:201: warning: 'pred4x4_down_left_rv40_notop_c' defined but not used

It is apparently unused...

Diego
stefano | 1 Dec 2008 09:35
Picon

r15970 - trunk/ffmpeg.c

Author: stefano
Date: Mon Dec  1 09:35:07 2008
New Revision: 15970

Log:
Make more informative the error messages regarding the access to the
2-pass log file.

Modified:
   trunk/ffmpeg.c

Modified: trunk/ffmpeg.c
==============================================================================
--- trunk/ffmpeg.c	(original)
+++ trunk/ffmpeg.c	Mon Dec  1 09:35:07 2008
 <at>  <at>  -1841,7 +1841,7  <at>  <at>  static int av_encode(AVFormatContext **o
                 if (codec->flags & CODEC_FLAG_PASS1) {
                     f = fopen(logfilename, "w");
                     if (!f) {
-                        perror(logfilename);
+                        fprintf(stderr, "Cannot write log file '%s' for pass-1 encoding: %s\n", logfilename, strerror(errno));
                         av_exit(1);
                     }
                     ost->logfile = f;
 <at>  <at>  -1849,7 +1849,7  <at>  <at>  static int av_encode(AVFormatContext **o
                     /* read the log file */
                     f = fopen(logfilename, "r");
                     if (!f) {
-                        perror(logfilename);
+                        fprintf(stderr, "Cannot read log file '%s' for pass-2 encoding: %s\n", logfilename, strerror(errno));
(Continue reading)

michael | 1 Dec 2008 17:04
Picon

r15971 - trunk/libavcodec/h264.c

Author: michael
Date: Mon Dec  1 17:04:03 2008
New Revision: 15971

Log:
Allocate parameter sets sanely instead of using alloc_parameter_set().
Avoids ending up with half initialized parameter sets.
Fixes issue282.

Modified:
   trunk/libavcodec/h264.c

Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c	(original)
+++ trunk/libavcodec/h264.c	Mon Dec  1 17:04:03 2008
 <at>  <at>  -6977,26 +6977,6  <at>  <at>  static void decode_scaling_matrices(H264
     }
 }

-/**
- * Returns and optionally allocates SPS / PPS structures in the supplied array 'vec'
- */
-static void *
-alloc_parameter_set(H264Context *h, void **vec, const unsigned int id, const unsigned int max,
-                    const size_t size, const char *name)
-{
-    if(id>=max) {
-        av_log(h->s.avctx, AV_LOG_ERROR, "%s_id (%d) out of range\n", name, id);
-        return NULL;
(Continue reading)

michael | 1 Dec 2008 17:24
Picon

r15972 - trunk/libavcodec/h264.c

Author: michael
Date: Mon Dec  1 17:24:19 2008
New Revision: 15972

Log:
Get rid of now unneeded pps/sps correctness code as pps/sps will not
be used at all when anything fails sanity checks.

Modified:
   trunk/libavcodec/h264.c

Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c	(original)
+++ trunk/libavcodec/h264.c	Mon Dec  1 17:24:19 2008
 <at>  <at>  -6913,21 +6913,18  <at>  <at>  static inline int decode_vui_parameters(

     sps->bitstream_restriction_flag = get_bits1(&s->gb);
     if(sps->bitstream_restriction_flag){
-        unsigned int num_reorder_frames;
         get_bits1(&s->gb);     /* motion_vectors_over_pic_boundaries_flag */
         get_ue_golomb(&s->gb); /* max_bytes_per_pic_denom */
         get_ue_golomb(&s->gb); /* max_bits_per_mb_denom */
         get_ue_golomb(&s->gb); /* log2_max_mv_length_horizontal */
         get_ue_golomb(&s->gb); /* log2_max_mv_length_vertical */
-        num_reorder_frames= get_ue_golomb(&s->gb);
+        sps->num_reorder_frames= get_ue_golomb(&s->gb);
         get_ue_golomb(&s->gb); /*max_dec_frame_buffering*/

-        if(num_reorder_frames > 16 /*max_dec_frame_buffering || max_dec_frame_buffering > 16*/){
(Continue reading)

vitor | 1 Dec 2008 21:43
Picon

r15973 - trunk/libavcodec/qcelpdata.h

Author: vitor
Date: Mon Dec  1 21:43:22 2008
New Revision: 15973

Log:
More OKed parts of the QCELP decoder
patch by Kenan Gillet, kenan.gillet gmail com

Modified:
   trunk/libavcodec/qcelpdata.h

Modified: trunk/libavcodec/qcelpdata.h
==============================================================================
--- trunk/libavcodec/qcelpdata.h	(original)
+++ trunk/libavcodec/qcelpdata.h	Mon Dec  1 21:43:22 2008
 <at>  <at>  -58,6 +58,10  <at>  <at>  typedef struct {
      */
     uint8_t lspv[10];

+    /**
+     * reserved bits only present in bitrate 1, 1/4 and 1/8 packets
+     */
+    uint8_t reserved;
 } QCELPFrame;

 /**
vitor | 1 Dec 2008 21:45
Picon

r15974 - trunk/libavcodec/qcelpdata.h

Author: vitor
Date: Mon Dec  1 21:45:29 2008
New Revision: 15974

Log:
Remove hack added to make "make checkheaders" pass, it is unneeded now

Modified:
   trunk/libavcodec/qcelpdata.h

Modified: trunk/libavcodec/qcelpdata.h
==============================================================================
--- trunk/libavcodec/qcelpdata.h	(original)
+++ trunk/libavcodec/qcelpdata.h	Mon Dec  1 21:45:29 2008
 <at>  <at>  -80,8 +80,6  <at>  <at>  typedef struct {

 #define QCELP_OF(variable, bit, len) {offsetof(QCELPFrame, variable), bit, len}

-/* Disable the below code for now to allow 'make checkheaders' to pass. */
-#if 0
 /**
  * bitmap unpacking tables for RATE_FULL
  *
 <at>  <at>  -281,7 +279,6  <at>  <at>  static const uint16_t qcelp_unpacking_bi
     FF_ARRAY_ELEMS(qcelp_rate_half_bitmap),
     FF_ARRAY_ELEMS(qcelp_rate_full_bitmap),
 };
-#endif

 typedef uint16_t qcelp_vector[2];
(Continue reading)


Gmane