On Wed, Sep 03, 2014 at 10:14:06PM +0200, Thomas Volkert wrote:
> --- a/Changelog
> +++ b/Changelog
> @@ -32,7 +32,7 @@ version <next>:
> - request icecast metadata by default
> - support for using metadata in stream specifiers in avtools
> - Aliases and defaults for Ogg subtypes (opus, spx)
> -
> +- H.261 RTP payload format (RFC 4587)
>
> version 10:
> - av_strnstr
Keep the double empty line. This should now be moved to "version <next>".
> --- a/libavcodec/mpegvideo_enc.c
> +++ b/libavcodec/mpegvideo_enc.c
> @@ -2607,6 +2607,9 @@ static int encode_thread(AVCodecContext *c, void *arg){
>
> switch(s->codec_id){
> + case AV_CODEC_ID_H261:
> + is_gob_start=0;//FIXME
FIXME - what?
spaces around =
> --- /dev/null
> +++ b/libavformat/rtpdec_h261.c
> @@ -0,0 +1,205 @@
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with Libav; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
> USA
> + *
> + */
nit: stray empty line
> +static av_cold void h261_free_context(PayloadContext *pl_ctx)
> +{
> + /* return if context is invalid */
> + if (!pl_ctx)
> + return;
> +
> + /* free buffer if it is valid */
> + if (pl_ctx->buf) {
> + h261_free_dyn_buffer(&pl_ctx->buf);
> + }
nit: drop {}
> + /* free context */
> + av_free(pl_ctx);
> +}
All comments in this function are redundant.
> + /* drop data of previous packets in case of non-continuous (loss) packet
> stream */
lossy?
> + if (data->buf && data->timestamp != *timestamp) {
> + h261_free_dyn_buffer(&data->buf);
> + }
nit: drop {}
> + /*
> + * decode the H.261 payload header according to section 4.1 of RFC 4587:
> + * (uses 4 bytes between RTP header and H.261 stream per packet)
> + *
> + * 0 1 2 3
> + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> + * |SBIT |EBIT |I|V| GOBN | MBAP | QUANT | HMVD | VMVD |
> + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> + *
> + * Start bit position (SBIT): 3 bits
> + * End bit position (EBIT): 3 bits
> + * INTRA-frame encoded data (I): 1 bit
> + * Motion Vector flag (V): 1 bit
> + * GOB number (GOBN): 4 bits
> + * Macroblock address predictor (MBAP): 5 bits
> + * Quantizer (QUANT): 5 bits
> + * Horizontal motion vector data (HMVD): 5 bits
> + * Vertical motion vector data (VMVD): 5 bits
> + *
> + */
nit: stray empty line
> --- /dev/null
> +++ b/libavformat/rtpenc_h261.c
> @@ -0,0 +1,58 @@
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with Libav; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
> USA
> + *
> + */
nit: stray empty line
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel