[FFmpeg-devel] [PATCH] spdifenc: update 482d98f69b2eb7a7b0b5054101a43db384e9432b to the latest patch

Anssi Hannula anssi.hannula
Mon Feb 14 18:21:31 CET 2011


On 13.02.2011 18:25, Janne Grunau wrote:
> for "spdifenc: IEC 61937 encapsulation of DTS-HD for HDMI"
> ---
> queued the wrong patch. following patch updates it to the latest version.

Looks right.

> Janne
> 
>  libavformat/spdifenc.c |   27 +++++++++------------------
>  1 files changed, 9 insertions(+), 18 deletions(-)
> 
> diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c
> index adc245a..da74dd8 100644
> --- a/libavformat/spdifenc.c
> +++ b/libavformat/spdifenc.c
> @@ -142,24 +142,15 @@ static int spdif_header_eac3(AVFormatContext *s, AVPacket *pkt)
>   * the outputted IEC 61937 stream is higher.
>   * The repetition period is measured in IEC 60958 frames (4 bytes).
>   */
> -enum {
> -    DTS4_REP_PER_512   = 0x0,
> -    DTS4_REP_PER_1024  = 0x1,
> -    DTS4_REP_PER_2048  = 0x2,
> -    DTS4_REP_PER_4096  = 0x3,
> -    DTS4_REP_PER_8192  = 0x4,
> -    DTS4_REP_PER_16384 = 0x5,
> -};
> -
>  static int spdif_dts4_subtype(int period)
>  {
>      switch (period) {
> -    case 512:   return DTS4_REP_PER_512;
> -    case 1024:  return DTS4_REP_PER_1024;
> -    case 2048:  return DTS4_REP_PER_2048;
> -    case 4096:  return DTS4_REP_PER_4096;
> -    case 8192:  return DTS4_REP_PER_8192;
> -    case 16384: return DTS4_REP_PER_16384;
> +    case 512:   return 0x0;
> +    case 1024:  return 0x1;
> +    case 2048:  return 0x2;
> +    case 4096:  return 0x3;
> +    case 8192:  return 0x4;
> +    case 16384: return 0x5;
>      }
>      return -1;
>  }
> @@ -212,7 +203,8 @@ static int spdif_header_dts4(AVFormatContext *s, AVPacket *pkt, int core_size,
>          if (ctx->dtshd_fallback > 0)
>              ctx->dtshd_skip = sample_rate * ctx->dtshd_fallback / (blocks << 5);
>          else
> -            /* skip permanently (-1) or just once (0) */
> +            /* skip permanently (dtshd_fallback == -1) or just once
> +             * (dtshd_fallback == 0) */
>              ctx->dtshd_skip = 1;
>      }
>      if (ctx->dtshd_skip && core_size) {
> @@ -224,8 +216,7 @@ static int spdif_header_dts4(AVFormatContext *s, AVPacket *pkt, int core_size,
>      ctx->out_bytes   = sizeof(dtshd_start_code) + 2 + pkt_size;
>      ctx->length_code = ctx->out_bytes;
>  
> -    ctx->hd_buf = av_fast_realloc(ctx->hd_buf, &ctx->hd_buf_size,
> -                                  ctx->out_bytes);
> +    av_fast_malloc(&ctx->hd_buf, &ctx->hd_buf_size, ctx->out_bytes);
>      if (!ctx->hd_buf)
>          return AVERROR(ENOMEM);
>  


-- 
Anssi Hannula



More information about the ffmpeg-devel mailing list